/* Arab Dance Hub consolidated brand/CTA layer.
   Purposefully targets CTA families rather than every <button> so LMS controls keep their native behavior. */
:root {
    --adh-brand-purple: #660033;
    --adh-brand-sand: #EDE9DF;
    --adh-brand-periwinkle: #8191EA;
    --adh-brand-lime: #D6CE2B;
    --adh-brand-black: #000000;
    --adh-cta-bg: var(--adh-brand-lime);
    --adh-cta-text: var(--adh-brand-black);
    --adh-cta-border: var(--adh-brand-lime);
    --adh-cta-hover-bg: var(--adh-brand-purple);
    --adh-cta-hover-text: var(--adh-brand-sand);
    --adh-cta-hover-border: var(--adh-brand-purple);
}

/* Primary CTA families already used by Choreo, Elementor and our custom modules. */
:is(
    a.sc_button:not(.sc_button_bordered):not(.sc_button_simple),
    a.elementor-button,
    a.wp-element-button,
    .adhpm-button:not(.adhpm-button--secondary),
    .adhpm-login-submit,
    .adhpm-provider-form input[type="submit"],
    .adhpm-provider-form button[type="submit"],
    .adhpm-instructor-application input[type="submit"],
    .adhpm-instructor-application button[type="submit"],
    .adh-button--primary
) {
    background-color: var(--adh-cta-bg) !important;
    border-color: var(--adh-cta-border) !important;
    color: var(--adh-cta-text) !important;
}

:is(
    a.sc_button:not(.sc_button_bordered):not(.sc_button_simple),
    a.elementor-button,
    a.wp-element-button,
    .adhpm-button:not(.adhpm-button--secondary),
    .adhpm-login-submit,
    .adhpm-provider-form input[type="submit"],
    .adhpm-provider-form button[type="submit"],
    .adhpm-instructor-application input[type="submit"],
    .adhpm-instructor-application button[type="submit"],
    .adh-button--primary
):is(:hover, :focus-visible) {
    background-color: var(--adh-cta-hover-bg) !important;
    border-color: var(--adh-cta-hover-border) !important;
    color: var(--adh-cta-hover-text) !important;
}

/* Explicit detail-page coverage fixes the previous missing Dancer/Instructor hover scopes. */
body[class*="adhpm-dancer"] :is(.sc_button, .elementor-button, .adhpm-button):not(.adhpm-button--secondary),
body[class*="adh-instructor"] :is(.sc_button, .elementor-button, .adh-button--primary),
body[class*="adhpm-studio"] :is(.sc_button, .elementor-button, .adhpm-button):not(.adhpm-button--secondary),
body:is(.single-cpt_team, .single-cpt_portfolio, .single-stm-courses) :is(.sc_button, .elementor-button, .wp-element-button) {
    background-color: var(--adh-cta-bg) !important;
    border-color: var(--adh-cta-border) !important;
    color: var(--adh-cta-text) !important;
}

body[class*="adhpm-dancer"] :is(.sc_button, .elementor-button, .adhpm-button):not(.adhpm-button--secondary):is(:hover, :focus-visible),
body[class*="adh-instructor"] :is(.sc_button, .elementor-button, .adh-button--primary):is(:hover, :focus-visible),
body[class*="adhpm-studio"] :is(.sc_button, .elementor-button, .adhpm-button):not(.adhpm-button--secondary):is(:hover, :focus-visible),
body:is(.single-cpt_team, .single-cpt_portfolio, .single-stm-courses) :is(.sc_button, .elementor-button, .wp-element-button):is(:hover, :focus-visible) {
    background-color: var(--adh-cta-hover-bg) !important;
    border-color: var(--adh-cta-hover-border) !important;
    color: var(--adh-cta-hover-text) !important;
}

/* Secondary CTAs keep the established purple outline treatment. */
:is(.sc_button_bordered, .sc_button_simple, .adhpm-button--secondary, .adh-button--secondary) {
    background: transparent !important;
    border-color: var(--adh-brand-purple) !important;
    color: var(--adh-brand-purple) !important;
}

:is(.sc_button_bordered, .sc_button_simple, .adhpm-button--secondary, .adh-button--secondary):is(:hover, :focus-visible) {
    background: var(--adh-brand-purple) !important;
    border-color: var(--adh-brand-purple) !important;
    color: var(--adh-brand-sand) !important;
}

/* Text and SVGs share one state color. We avoid forcing filled artwork that explicitly declares fill="none". */
:is(.sc_button, .elementor-button, .wp-element-button, .adhpm-button, .adh-button) svg {
    color: inherit !important;
}
:is(.sc_button, .elementor-button, .wp-element-button, .adhpm-button, .adh-button) svg [stroke]:not([stroke="none"]) {
    stroke: currentColor !important;
}
:is(.sc_button, .elementor-button, .wp-element-button, .adhpm-button, .adh-button) svg [fill]:not([fill="none"]) {
    fill: currentColor !important;
}

/* The supplied light-link override was intentionally used for privacy-policy/help links on dark forms.
   Keep that behavior, but scope it to the dark registration/booking components rather than every page-content link. */
.premium-dance-form a:not(.sc_button):not(.elementor-button),
.studio-booking-form a:not(.sc_button):not(.elementor-button),
.instructor-live-booking-form a:not(.sc_button):not(.elementor-button),
.page-id-17928 .elementor-element-6bafa00c a:not(.sc_button):not(.elementor-button),
.page-id-21136 .elementor-element-533d8fdc a:not(.sc_button):not(.elementor-button) {
    color: var(--adh-brand-sand) !important;
}

.premium-dance-form a:not(.sc_button):not(.elementor-button):hover,
.studio-booking-form a:not(.sc_button):not(.elementor-button):hover,
.instructor-live-booking-form a:not(.sc_button):not(.elementor-button):hover,
.page-id-17928 .elementor-element-6bafa00c a:not(.sc_button):not(.elementor-button):hover,
.page-id-21136 .elementor-element-533d8fdc a:not(.sc_button):not(.elementor-button):hover {
    color: #ffffff !important;
}

/* Preserve the established CF7-specific periwinkle hover exception. */
:is(.premium-dance-form, .studio-booking-form, .instructor-live-booking-form) .wpcf7-submit:is(:hover, :focus-visible) {
    background-color: var(--adh-brand-periwinkle) !important;
    border-color: var(--adh-brand-periwinkle) !important;
    color: var(--adh-brand-black) !important;
}

/* =========================================================
   v1.0.4 frontend consistency layer
   ========================================================= */
:root {
    --adh-course-container: 1240px;
    --adh-font-display: "Coconat", serif;
    --adh-font-body: "Montserrat", sans-serif;
}

/* MasterStudy single-course pages should use the normal site reading width,
   not a narrow nested Bootstrap/theme container. */
body.single-stm-courses .page_content_wrap > .content_wrap,
body.single-stm-courses .page_content_wrap .content,
body.single-stm-courses .stm-lms-wrapper,
body.single-stm-courses .stm-lms-wrapper > .container,
body.single-stm-courses .masterstudy-single-course-full-width {
    width: min(var(--adh-course-container), calc(100% - 48px)) !important;
    max-width: var(--adh-course-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.single-stm-courses .page_content_wrap .content,
body.single-stm-courses .stm-lms-wrapper,
body.single-stm-courses .masterstudy-single-course-full-width {
    width: 100% !important;
}

/* Instructor detail pages already contain an ADH breadcrumb/hero. Remove the
   duplicate Choreo title-banner row under the site navigation. */
body.adhpm-provider-detail--instructor .top_panel .elementor-element-a2649b3 {
    display: none !important;
}

/* Managed Studio details use the same plugin-managed breadcrumb pattern as Dancers.
   Remove the Choreo title/breadcrumb banner entirely so there is one canonical trail. */
body.adhpm-provider-detail--studio .top_panel .elementor-element-a2649b3 {
    display: none !important;
}

.adhpm-detail-breadcrumb--standalone,
.adhpm-detail-breadcrumb--studio {
    width: min(1180px, calc(100% - 48px));
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Keep the site's display/body typography authoritative on ADH-owned pages.
   This deliberately overrides legacy plugin declarations such as font-family: inherit. */
body:is(.page-id-21136, .page-id-17928, .page-id-17947) :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title, .sc_item_title, .sc_title, .sc_title_title),
body.adhpm-provider-detail :is(h1, h2, h3, h4, h5, h6, .page_title, .post_title, .entry-title, .sc_item_title, .sc_title_title),
body.adh-instructor-public-page :is(h1, h2, h3, h4, h5, h6, .adh-magazine-script),
body.single-stm-courses :is(.masterstudy-single-course-title, .masterstudy-related-courses__title) {
    font-family: "Coconat", serif !important;
}

body:is(.page-id-21136, .page-id-17928, .page-id-17947) :is(input, select, textarea, button),
body.adhpm-provider-detail :is(input, select, textarea, button),
body.single-stm-courses :is(input, select, textarea, button) {
    font-family: var(--adh-font-body) !important;
}

/* One dark-form system for the legacy archive forms and the newer ADH booking
   forms. Keep the brand maroon surface; normalize fields, icons and actions. */
:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) {
    color: var(--adh-brand-sand) !important;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), select, textarea) {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(237, 233, 223, .82) !important;
    border-radius: 0 !important;
    color: var(--adh-brand-sand) !important;
    box-shadow: none !important;
    outline: 0 !important;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) :is(input, textarea)::placeholder {
    color: rgba(237, 233, 223, .92) !important;
    opacity: 1 !important;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) .style-line[class*="icon-"]::before,
:is(.premium-dance-form, .studio-booking-form, .instructor-live-booking-form) .pdf-field::before {
    color: var(--adh-brand-sand) !important;
    background: transparent !important;
    opacity: 1 !important;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) :is(.style-line .line, .select_container::before) {
    background: transparent !important;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) :is(select, .select_container::after) {
    color: var(--adh-brand-sand) !important;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) select option {
    background: var(--adh-brand-sand) !important;
    color: var(--adh-brand-black) !important;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(1.25);
    opacity: .95;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) input[type="checkbox"] {
    -webkit-appearance: checkbox !important;
    appearance: checkbox !important;
    display: inline-block !important;
    position: static !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin: 2px 10px 0 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
    vertical-align: top !important;
    accent-color: var(--adh-brand-lime);
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) :is(.wpcf7-list-item-label, .wpcf7-list-item-label a) {
    color: var(--adh-brand-sand) !important;
}


:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) .wpcf7-acceptance .wpcf7-list-item label {
    display: inline-flex !important;
    align-items: flex-start !important;
    gap: 0 !important;
    cursor: pointer;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) .wpcf7-acceptance .wpcf7-list-item {
    margin: 0 !important;
}

/* Remove Choreo's decorative submit wrapper so the button has one predictable state. */
:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) .wpcf7-submit-style {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) :is(.wpcf7-submit-style::before, .wpcf7-submit-style::after, .submit-style-in) {
    display: none !important;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) .wpcf7-submit:not(:disabled) {
    background-color: var(--adh-brand-lime) !important;
    border: 1px solid var(--adh-brand-lime) !important;
    color: var(--adh-brand-black) !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) .wpcf7-submit:not(:disabled):is(:hover, :focus-visible) {
    background-color: var(--adh-brand-periwinkle) !important;
    border-color: var(--adh-brand-periwinkle) !important;
    color: var(--adh-brand-black) !important;
    box-shadow: none !important;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5,
    .premium-dance-form,
    .studio-booking-form,
    .instructor-live-booking-form
) .wpcf7-submit:disabled {
    background-color: rgba(237, 233, 223, .16) !important;
    border: 1px solid rgba(237, 233, 223, .72) !important;
    color: rgba(237, 233, 223, .72) !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

@media (max-width: 767px) {
    body.single-stm-courses .page_content_wrap > .content_wrap,
    body.single-stm-courses .stm-lms-wrapper > .container {
        width: calc(100% - 24px) !important;
    }
    body.adhpm-provider-detail--studio .top_panel .elementor-element-a2649b3 .sc_layouts_title_breadcrumbs,
    body.adhpm-provider-detail--studio .top_panel .elementor-element-a2649b3 .breadcrumbs {
        width: calc(100% - 32px);
    }
}

/* Legacy ThemeREX form wrappers must not paint white/gray blocks over the maroon section. */
:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5
) .style-line {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5
) input[type="file"]::file-selector-button {
    margin-right: 12px;
    padding: 7px 12px;
    border: 1px solid rgba(237, 233, 223, .72);
    border-radius: 0;
    background: transparent;
    color: var(--adh-brand-sand);
    font: inherit;
    cursor: pointer;
}

:is(
    .page-id-17947 .form-style-3,
    .page-id-17928 .form-style-5,
    .page-id-21136 .form-style-5
) input[type="file"]::file-selector-button:hover {
    border-color: var(--adh-brand-lime);
    color: var(--adh-brand-lime);
}

/* =========================================================
   v1.0.6 contact, breadcrumb and global TikTok consistency
   ========================================================= */

/* Match the canonical Nadia Dancer breadcrumb typography/colors on the
   Instructor and Studio detail trails, which live outside the Dancer brand wrapper. */
.adhpm-detail-breadcrumb--standalone,
.adhpm-detail-breadcrumb--studio {
    color: rgba(0, 0, 0, .58) !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

.adhpm-detail-breadcrumb--standalone a,
.adhpm-detail-breadcrumb--studio a {
    color: var(--adh-brand-purple) !important;
    font: inherit !important;
    text-decoration: none !important;
}

.adhpm-detail-breadcrumb--standalone > span[aria-current="page"],
.adhpm-detail-breadcrumb--studio > span[aria-current="page"],
.adhpm-detail-breadcrumb--standalone > span[aria-hidden="true"],
.adhpm-detail-breadcrumb--studio > span[aria-hidden="true"] {
    color: rgba(0, 0, 0, .58) !important;
    font: inherit !important;
}

.adhpm-detail-breadcrumb--standalone a:is(:hover, :focus-visible),
.adhpm-detail-breadcrumb--studio a:is(:hover, :focus-visible) {
    color: var(--adh-brand-purple) !important;
}

/* Contact page: a late Customizer rule intentionally makes links light on dark
   forms, but page 1453 is a light/sand contact layout. Keep phone/email exactly
   in the same text system as the non-link address instead of letting link styles
   make them disappear. */
body.page-id-1453 .sc_icons_item {
    color: var(--adh-brand-black) !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

body.page-id-1453 .sc_icons_item :is(
    .sc_icons_item_details,
    .sc_icons_item_title,
    .sc_icons_item_description,
    .sc_icons_item_more_link,
    a
) {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

body.page-id-1453 .sc_icons_item a:is(:hover, :focus-visible) {
    color: var(--adh-brand-purple) !important;
}

/* Contact page CF7 is a light form, unlike the maroon registration/booking
   forms. Give it one clean sand-page treatment and explicit states. */
body.page-id-1453 .wpcf7 form {
    color: var(--adh-brand-black) !important;
    font-family: "Montserrat", Arial, sans-serif !important;
}

body.page-id-1453 .wpcf7 :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="number"],
    input[type="date"],
    select,
    textarea
) {
    width: 100% !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(102, 0, 51, .34) !important;
    border-radius: 0 !important;
    color: var(--adh-brand-black) !important;
    box-shadow: none !important;
    outline: 0 !important;
    font-family: "Montserrat", Arial, sans-serif !important;
}

body.page-id-1453 .wpcf7 :is(input, textarea)::placeholder {
    color: rgba(0, 0, 0, .58) !important;
    opacity: 1 !important;
}

body.page-id-1453 .wpcf7 :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="number"],
    input[type="date"],
    select,
    textarea
):focus {
    border-bottom-color: var(--adh-brand-purple) !important;
}

body.page-id-1453 .wpcf7 input[type="checkbox"] {
    -webkit-appearance: checkbox !important;
    appearance: checkbox !important;
    display: inline-block !important;
    position: static !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin: 2px 9px 0 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    vertical-align: top !important;
    accent-color: var(--adh-brand-lime);
}

body.page-id-1453 .wpcf7 label,
body.page-id-1453 .wpcf7 .wpcf7-list-item-label {
    color: var(--adh-brand-black) !important;
    font-family: "Montserrat", Arial, sans-serif !important;
}

/* ThemeREX draws a checkbox with pseudo-elements while Core restores the native
   control. Keep one accessible native checkbox and suppress only the duplicate
   decorative marks on the Contact acceptance row. */
body.page-id-1453 .wpcf7-acceptance label::before,
body.page-id-1453 .wpcf7-acceptance label::after,
body.page-id-1453 .wpcf7-acceptance .wpcf7-list-item-label::before,
body.page-id-1453 .wpcf7-acceptance .wpcf7-list-item-label::after {
    content: none !important;
    display: none !important;
}

body.page-id-1453 .wpcf7 a:not(.sc_button):not(.elementor-button) {
    color: var(--adh-brand-purple) !important;
}

body.page-id-1453 .wpcf7 input[type="submit"] {
    background-color: var(--adh-brand-lime) !important;
    border: 1px solid var(--adh-brand-lime) !important;
    border-radius: 0 !important;
    color: var(--adh-brand-black) !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-weight: 600 !important;
}

body.page-id-1453 .wpcf7 input[type="submit"]:is(:hover, :focus-visible) {
    background-color: var(--adh-brand-purple) !important;
    border-color: var(--adh-brand-purple) !important;
    color: var(--adh-brand-sand) !important;
}

/* Beat the legacy late Customizer selector that colors all ordinary page links sand. */
body.page-id-1453 .page_content_wrap .sc_icons_item a:not(.sc_button):not(.elementor-button) {
    color: var(--adh-brand-black) !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

body.page-id-1453 .page_content_wrap .sc_icons_item a:not(.sc_button):not(.elementor-button):is(:hover, :focus-visible) {
    color: var(--adh-brand-purple) !important;
}

body.page-id-1453 .page_content_wrap .wpcf7 a:not(.sc_button):not(.elementor-button) {
    color: var(--adh-brand-purple) !important;
}
