/*
 * WOW1 Education canonical brand system.
 * Source of truth: docs/brand-colors.md
 * Loaded after Astra, Elementor, Tutor LMS, and WooCommerce styles.
 */

:root {
    --wow1-brand-orange: #F15A26;
    --wow1-brand-blue: #2756A7;
    --wow1-orange-strong: #C74618;
    --wow1-orange-soft: #FFF1EB;
    --wow1-blue-dark: #1D4387;
    --wow1-blue-soft: #EDF3FB;
    --wow1-ink: #212327;
    --wow1-text: #4B4F58;
    --wow1-muted: #667085;
    --wow1-border: #D8E0E7;
    --wow1-surface: #F3F6F8;
    --wow1-surface-subtle: #FAFBFC;
    --wow1-white: #FFFFFF;
    --wow1-success: #15803D;
    --wow1-warning: #B45309;
    --wow1-danger: #B42318;
    --wow1-info: var(--wow1-brand-blue);

    /* Astra global palette. */
    --ast-global-color-0: var(--wow1-brand-blue);
    --ast-global-color-1: var(--wow1-blue-dark);
    --ast-global-color-2: var(--wow1-ink);
    --ast-global-color-3: var(--wow1-text);
    --ast-global-color-4: var(--wow1-surface);
    --ast-global-color-5: var(--wow1-white);
    --ast-global-color-6: var(--wow1-muted);
    --ast-global-color-7: var(--wow1-ink);
    --ast-global-color-8: #000000;

    /* Astra mirrors its palette into Elementor variables. */
    --e-global-color-astglobalcolor0: var(--wow1-brand-blue);
    --e-global-color-astglobalcolor1: var(--wow1-blue-dark);
    --e-global-color-astglobalcolor2: var(--wow1-ink);
    --e-global-color-astglobalcolor3: var(--wow1-text);
    --e-global-color-astglobalcolor4: var(--wow1-surface);
    --e-global-color-astglobalcolor5: var(--wow1-white);
    --e-global-color-astglobalcolor6: var(--wow1-muted);
    --e-global-color-astglobalcolor7: var(--wow1-ink);
    --e-global-color-astglobalcolor8: #000000;
}

body {
    color: var(--wow1-text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.entry-title a,
.page-title,
.woocommerce-products-header__title {
    color: var(--wow1-ink);
}

a {
    color: var(--wow1-brand-blue);
}

a:hover,
a:focus {
    color: var(--wow1-blue-dark);
}

::selection {
    color: var(--wow1-white);
    background: var(--wow1-brand-blue);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--wow1-brand-orange);
    outline-offset: 2px;
}

input:focus,
select:focus,
textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus {
    border-color: var(--wow1-brand-blue);
    box-shadow: 0 0 0 2px rgba(39, 86, 167, 0.16);
}

/* Header and navigation. */
.site-header .main-header-menu > .menu-item > .menu-link,
.site-header .ast-builder-menu .main-navigation > ul > .menu-item > .menu-link {
    color: var(--wow1-ink);
}

.site-header .main-header-menu > .menu-item:hover > .menu-link,
.site-header .main-header-menu > .menu-item.focus > .menu-link,
.site-header .main-header-menu > .current-menu-item > .menu-link,
.site-header .main-header-menu > .current-menu-ancestor > .menu-link {
    color: var(--wow1-brand-blue);
}

.site-header .main-header-menu > .current-menu-item > .menu-link::after,
.site-header .main-header-menu > .current-menu-ancestor > .menu-link::after {
    background-color: var(--wow1-brand-orange);
}

.ast-theme-transparent-header .site-header .main-header-menu > .menu-item > .menu-link,
.ast-theme-transparent-header .site-header .ast-builder-menu .main-navigation > ul > .menu-item > .menu-link {
    color: var(--wow1-white);
}

.ast-theme-transparent-header .site-header .main-header-menu {
    color: var(--wow1-white);
}

.ast-theme-transparent-header .site-header .main-header-menu > .menu-item:hover > .menu-link,
.ast-theme-transparent-header .site-header .main-header-menu > .menu-item.focus > .menu-link,
.ast-theme-transparent-header .site-header .main-header-menu > .current-menu-item > .menu-link,
.ast-theme-transparent-header .site-header .main-header-menu > .current-menu-ancestor > .menu-link {
    color: var(--wow1-white);
}

.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu,
.ast-header-break-point .ast-mobile-header-content .main-header-menu {
    background: var(--wow1-white);
}

.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-link,
body.ast-header-break-point .site-header .ast-mobile-header-content .ast-builder-menu .main-navigation .main-header-menu > .menu-item > .menu-link,
body.ast-header-break-point .site-header .ast-mobile-header-content .ast-builder-menu .main-navigation .main-header-menu > .menu-item > .ast-menu-toggle {
    color: var(--wow1-ink);
}

body.ast-header-break-point .site-header .ast-mobile-header-content .ast-builder-menu .main-navigation .main-header-menu > .menu-item > .ast-menu-toggle .ast-arrow-svg {
    fill: var(--wow1-ink);
}

.ast-header-break-point .ast-builder-menu-mobile .main-navigation .current-menu-item > .menu-link,
.ast-header-break-point .ast-builder-menu-mobile .main-navigation .menu-item:hover > .menu-link,
body.ast-header-break-point .site-header .ast-mobile-header-content .ast-builder-menu .main-navigation .main-header-menu > .current-menu-item > .menu-link,
body.ast-header-break-point .site-header .ast-mobile-header-content .ast-builder-menu .main-navigation .main-header-menu > .menu-item:hover > .menu-link,
body.ast-header-break-point .site-header .ast-mobile-header-content .ast-builder-menu .main-navigation .main-header-menu > .menu-item:hover > .ast-menu-toggle {
    color: var(--wow1-brand-blue);
    background: var(--wow1-blue-soft);
}

body:not(.home) .ast-button-wrap .menu-toggle.main-header-menu-toggle {
    color: var(--wow1-white);
    background: var(--wow1-brand-blue);
    border-color: var(--wow1-brand-blue);
}

body:not(.home) .ast-button-wrap .menu-toggle.main-header-menu-toggle:hover,
body:not(.home) .ast-button-wrap .menu-toggle.main-header-menu-toggle:focus {
    background: var(--wow1-blue-dark);
    border-color: var(--wow1-blue-dark);
}

.site-footer a {
    color: var(--wow1-brand-blue);
}

.site-footer a:hover,
.site-footer a:focus {
    color: var(--wow1-blue-dark);
}

.site-footer .site-below-footer-wrap {
    border-color: var(--wow1-border) !important;
}

/* Elementor global kit and buttons. */
.elementor-kit-714 {
    --e-global-color-primary: var(--wow1-brand-blue);
    --e-global-color-secondary: var(--wow1-brand-orange);
    --e-global-color-text: var(--wow1-text);
    --e-global-color-accent: var(--wow1-brand-orange);
}

.elementor-button,
.elementor .e-button-base {
    color: var(--wow1-white);
    background-color: var(--wow1-brand-blue);
}

.elementor-button:hover,
.elementor-button:focus {
    color: var(--wow1-white);
    background-color: var(--wow1-blue-dark);
}

/* Homepage: official blue field with an accessible orange CTA. */
body.home .elementor-element-8005f6b {
    background: linear-gradient(135deg, var(--wow1-blue-dark) 0%, var(--wow1-brand-blue) 100%);
}

body.home .elementor-element-57a484e .elementor-icon-list-icon i {
    color: var(--wow1-brand-orange);
}

body.home .elementor-element-57a484e .elementor-icon-list-icon svg {
    fill: var(--wow1-brand-orange);
}

body.home .elementor-element-57a484e .elementor-icon-list-text {
    color: rgba(255, 255, 255, 0.84);
}

body.home .elementor.elementor-850 .elementor-element-91dfb09 .elementor-button {
    color: var(--wow1-white);
    background: var(--wow1-orange-strong);
}

body.home .elementor.elementor-850 .elementor-element-91dfb09 .elementor-button:hover,
body.home .elementor.elementor-850 .elementor-element-91dfb09 .elementor-button:focus {
    color: var(--wow1-white);
    background: var(--wow1-blue-dark);
}

/* Tutor LMS tokens and components. */
.tutor-wrap,
.tutor-dashboard,
.tutor-course-single-content-wrapper,
.tutor-login-wrap,
body.single-lesson,
body.single-courses {
    --tutor-color-primary: var(--wow1-brand-blue);
    --tutor-color-primary-hover: var(--wow1-blue-dark);
    --tutor-color-primary-rgb: 39, 86, 167;
    --tutor-body-color: var(--wow1-ink);
    --tutor-color-secondary: var(--wow1-text);
    --tutor-color-subdued: var(--wow1-muted);
    --tutor-color-hints: var(--wow1-muted);
    --tutor-color-muted: var(--wow1-muted);
    --tutor-border-color: var(--wow1-border);
    --tutor-color-gray: var(--wow1-border);
    --tutor-color-gray-10: var(--wow1-surface);
}

.tutor-btn-primary,
.tutor-wrap .tutor-btn-primary,
.tutor-dashboard .tutor-btn-primary {
    color: var(--wow1-white);
    background-color: var(--wow1-brand-blue);
    border-color: var(--wow1-brand-blue);
}

.tutor-btn-primary:hover,
.tutor-btn-primary:focus,
.tutor-wrap .tutor-btn-primary:hover,
.tutor-wrap .tutor-btn-primary:focus {
    color: var(--wow1-white);
    background-color: var(--wow1-blue-dark);
    border-color: var(--wow1-blue-dark);
}

.tutor-btn-outline-primary {
    color: var(--wow1-brand-blue);
    background: transparent;
    border-color: var(--wow1-brand-blue);
}

.tutor-btn-outline-primary:hover,
.tutor-btn-outline-primary:focus {
    color: var(--wow1-white);
    background: var(--wow1-brand-blue);
    border-color: var(--wow1-brand-blue);
}

.tutor-accordion-item-header.is-active,
.tutor-nav-link.is-active,
.tutor-course-topic-item.is-active > a {
    color: var(--wow1-brand-blue);
    background-color: var(--wow1-blue-soft);
    border-color: var(--wow1-brand-blue);
}

.tutor-color-muted,
.tutor-color-subdued,
.tutor-color-hints {
    color: var(--wow1-muted);
}

.tutor-color-secondary,
.tutor-course-details-content,
.tutor-course-details-content p,
.tutor-course-details-content li {
    color: var(--wow1-text);
}

.tutor-btn-show-more,
.tutor-btn-show-more .tutor-toggle-btn-icon,
.tutor-btn-show-more .tutor-toggle-btn-text {
    color: var(--wow1-muted);
}

.tutor-accordion-item,
.tutor-accordion-item-body-content {
    border-color: var(--wow1-border);
}

.tutor-accordion-item-header:not(.is-active) {
    color: var(--wow1-text);
    background: var(--wow1-surface-subtle);
}

.tutor-card,
.tutor-course-details-instructors,
.tutor-single-course-sidebar .tutor-card {
    border-color: var(--wow1-border);
}

.wow1-course-activation-note {
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    color: var(--wow1-orange-strong);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
}

.wow1-course-activation-note .tutor-icon-purchase-mark {
    flex: 0 0 auto;
    color: var(--wow1-brand-orange);
    font-size: 16px;
}

body.single-lesson .tutor-course-single-content-wrapper #tutor-single-entry-content .tutor-course-topic-single-header,
body.single-lesson .tutor-course-single-content-wrapper #tutor-single-entry-content .tutor-course-topic-single-footer {
    background: linear-gradient(135deg, var(--wow1-blue-dark) 0%, var(--wow1-brand-blue) 100%);
}

/* WooCommerce storefront, account, cart, and checkout. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-block-components-button:not(.is-link) {
    color: var(--wow1-white);
    background-color: var(--wow1-brand-blue);
    border-color: var(--wow1-brand-blue);
}

.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.woocommerce a.button.alt:hover,
.woocommerce a.button.alt:focus,
.woocommerce button.button.alt:hover,
.woocommerce button.button.alt:focus,
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-button:not(.is-link):focus {
    color: var(--wow1-white);
    background-color: var(--wow1-blue-dark);
    border-color: var(--wow1-blue-dark);
}

.woocommerce span.onsale,
.wc-block-grid__product .wc-block-grid__product-onsale {
    color: var(--wow1-ink);
    background: var(--wow1-brand-orange);
}

.woocommerce-message,
.woocommerce-info {
    border-top-color: var(--wow1-brand-blue);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    color: var(--wow1-brand-blue);
}

.woocommerce-error {
    border-top-color: var(--wow1-danger);
}

.woocommerce-error::before,
.woocommerce form .required,
.woocommerce form .form-row .required {
    color: var(--wow1-danger);
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a {
    color: var(--wow1-muted) !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    color: var(--wow1-text);
    background: var(--wow1-surface-subtle);
}

/* WooCommerce focuses notices after cart updates; avoid outlining the entire notice box. */
.woocommerce-message:focus,
.woocommerce-message:focus-visible,
.woocommerce-info:focus,
.woocommerce-info:focus-visible,
.woocommerce-error:focus,
.woocommerce-error:focus-visible {
    outline: none;
}

.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
    border-color: var(--wow1-border);
}

.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"] {
    color: var(--wow1-muted);
    border-color: var(--wow1-border);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form select {
    color: var(--wow1-ink);
    background: var(--wow1-white);
    border-color: var(--wow1-border);
}

/* Semantic utilities for custom notices. */
.wow1-status-success {
    color: var(--wow1-success);
}

.wow1-status-warning {
    color: var(--wow1-warning);
}

.wow1-status-danger,
.wow1-status-error {
    color: var(--wow1-danger);
}

.wow1-status-info {
    color: var(--wow1-info);
}

/* WordPress login reached from legacy account/instructor routes. */
body.login {
    color: var(--wow1-text);
    background: var(--wow1-surface);
}

.login h1 a {
    width: 208px;
    height: 59px;
    background-image: url("logo-wow1.png");
    background-size: 208px 59px;
}

.login form {
    border-color: var(--wow1-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(33, 35, 39, 0.08);
}

.login input[type="text"],
.login input[type="password"],
.login input[type="email"],
.login select {
    color: var(--wow1-ink);
    border-color: var(--wow1-border);
}

.wp-core-ui .button-primary,
.login .button-primary {
    color: var(--wow1-white);
    background: var(--wow1-brand-blue);
    border-color: var(--wow1-brand-blue);
}

.wp-core-ui .button-primary:hover,
.wp-core-ui .button-primary:focus,
.login .button-primary:hover,
.login .button-primary:focus {
    color: var(--wow1-white);
    background: var(--wow1-blue-dark);
    border-color: var(--wow1-blue-dark);
}

.login .button.wp-hide-pw,
.login #nav a,
.login #backtoblog a,
.login .privacy-policy-page-link a,
.login .language-switcher .button {
    color: var(--wow1-brand-blue);
}

.login .button.wp-hide-pw:hover,
.login .button.wp-hide-pw:focus,
.login #nav a:hover,
.login #nav a:focus,
.login #backtoblog a:hover,
.login #backtoblog a:focus,
.login .privacy-policy-page-link a:hover,
.login .privacy-policy-page-link a:focus,
.login .language-switcher .button:hover,
.login .language-switcher .button:focus {
    color: var(--wow1-blue-dark);
}

@media (max-width: 767px) {
    body.home .elementor-element-8005f6b {
        background: linear-gradient(145deg, var(--wow1-blue-dark) 0%, var(--wow1-brand-blue) 100%);
    }
}
