/* Shared native forms. Elementor widgets retain their explicit style controls. */
:root {
    --jaygah-form-radius: var(--jaygah-radius-lg, 24px);
    --jaygah-control-radius: var(--jds-radius-control);
    --jaygah-control-group-radius: var(--jds-radius-group);
    --jaygah-control-height: var(--jds-control-height);
    --jaygah-control-font-size: var(--jds-type-small);
    --jaygah-control-border: var(--jds-color-border, var(--shkrn-var-color-light-dark-border, #dce7e8));
    --jaygah-control-bg: var(--jds-color-surface-soft, var(--jaygah-card-bg, #fff));
}

:is(.jaygah-checkout-shell, .jaygah-unified-settings, .jaygah-certificate-profile,
    .jaygah-auth-card, .form-login-pnlt, form.login, .woocommerce form,
    .comment-respond, .jaygah-discussion-form-card, .jaygah-notes,
    .jaygah-lesson-questions, .jaygah-teacher-questions, .jaygah-assessment-form,
    .jaygah-grading-list, .jaygah-override-form, .jaygah-instructor-filter,
    .jaygah-course-start, .jaygah-course-content-search, .jaygah-reply-editor,
    .jaygah-student-unlock, .jaygah-course-selector, .jaygah-portal-curriculum-filters,
    .jaygah-certificate-search)
:is(input:not([type]), input[type=text], input[type=email], input[type=tel],
    input[type=password], input[type=search], input[type=url], input[type=number],
    input[type=date], textarea, select):not(.elementor-widget *):not(.jaygah-otp-cells input):not(.jaygah-otp-input) {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    min-height: var(--jaygah-control-height);
    border: 1px solid var(--jaygah-control-border);
    border-radius: var(--jaygah-control-radius);
    padding: 10px 14px;
    background: var(--jaygah-control-bg);
    color: var(--jaygah-text);
    font-family: var(--jaygah-font, inherit);
    font-size: var(--jaygah-control-font-size);
    line-height: 1.6;
    transition: border-color var(--jds-duration-fast) var(--jds-ease), box-shadow var(--jds-duration-fast) var(--jds-ease);
}

:is(.jaygah-checkout-shell, .jaygah-unified-settings, .jaygah-assessment-form,
    .jaygah-notes, .jaygah-lesson-questions, .jaygah-teacher-questions, .comment-respond,
    .jaygah-discussion-form-card, .jaygah-reply-editor) textarea:not(.elementor-widget *) {
    width: 100%;
    min-height: 112px;
    resize: vertical;
}

:is(.jaygah-checkout-shell, .jaygah-unified-settings, .woocommerce form)
.select2-container .select2-selection {
    min-height: var(--jaygah-control-height);
    border: 1px solid var(--jaygah-control-border);
    border-radius: var(--jaygah-control-radius);
    background: var(--jaygah-control-bg);
}
:is(.jaygah-checkout-shell, .jaygah-unified-settings, .woocommerce form)
.select2-selection--single { height: var(--jaygah-control-height); padding-block: 9px; }
:is(.jaygah-checkout-shell, .jaygah-unified-settings, .woocommerce form)
.select2-selection--single .select2-selection__rendered { line-height: 28px; }

:is(.jaygah-checkout-shell, .jaygah-unified-settings, .jaygah-auth-card,
    .form-login-pnlt, form.login, .woocommerce form, .comment-respond,
    .jaygah-assessment-form, .jaygah-notes, .jaygah-lesson-questions,
    .jaygah-teacher-questions, .jaygah-reply-editor)
:is(input, textarea, select):not(.elementor-widget *):not(.jaygah-otp-input):focus-visible {
    outline: var(--jds-focus-width) solid var(--jds-focus-color);
    outline-offset: 2px;
}
:is(.jaygah-checkout-shell, .jaygah-unified-settings, .jaygah-assessment-form,
    .jaygah-notes, .jaygah-lesson-questions, .form-login-pnlt, form.login)
:is(input, textarea, select):disabled {
    opacity: .65;
    cursor: not-allowed;
}
.woocommerce form .woocommerce-invalid :is(input, select, textarea) {
    border-color: var(--jaygah-danger, #b42338);
}

/* Buttons in native forms share the field geometry, without changing tab/switch shapes. */
:is(.jaygah-checkout-shell, .jaygah-unified-settings, .jaygah-certificate-profile,
    .jaygah-auth-card, .form-login-pnlt, form.login, .woocommerce form,
    .comment-respond, .jaygah-notes, .jaygah-lesson-questions, .jaygah-teacher-questions,
    .jaygah-assessment-form, .jaygah-grading-list, .jaygah-reply-editor)
:is(button[type=submit], input[type=submit], .button, .btn-panel, .jaygah-button):not(.elementor-widget *) {
    box-sizing: border-box;
    min-height: var(--jaygah-control-height);
    border-radius: var(--jaygah-control-radius);
    padding: 10px 18px;
    font-family: var(--jaygah-font, inherit);
    line-height: 1.6;
}
.jaygah-checkout-shell .box-focus-coupon-shkrn { align-items: stretch; }
.jaygah-unified-settings #label-profile-image {
    min-height: var(--jaygah-control-height);
    border-radius: var(--jaygah-control-radius);
    padding: 10px 18px;
}
.jaygah-checkout-shell .box-focus-coupon-shkrn input { min-width: 0; }
.jaygah-checkout-shell .box-focus-coupon-shkrn button {
    min-height: var(--jaygah-control-height);
    border-radius: var(--jaygah-control-radius);
}

/* The existing login shell is already a card; avoid nesting another card inside it. */
.form-structor > form.login:has(.otp-mobile-pnlt) {
    width: calc(100% - 40px);
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: inherit;
    box-shadow: none;
}

@media (max-width: 600px) {
    :root { --jaygah-control-font-size: var(--jds-type-body); }
}
body.jaygah-reduced-motion :is(input, textarea, select, #label-profile-image) { transition: none; }
@media (prefers-reduced-motion: reduce) {
    .jaygah-unified-settings #label-profile-image { transition: none; }
    :is(.jaygah-checkout-shell, .jaygah-unified-settings, .form-login-pnlt, form.login,
        .jaygah-assessment-form, .jaygah-notes, .jaygah-lesson-questions)
    :is(input, textarea, select) { transition: none; }
}
