/* ==========================================================================
   Aurora - locked glassmorphism theme (loaded AFTER vanilla).
   A fixed aurora gradient canvas behind frosted "glass" surfaces: a floating
   blurred pill navbar, glass cards/asides, gradient primary buttons.
   Space Grotesk headings + Inter body, vivid indigo/violet accent.
     accent #5b4ee6   bright #7c6cff   bands #1c1b2e
   ========================================================================== */

.theme-aurora {
    --font-heading: 'Space Grotesk', system-ui, -apple-system, sans-serif;
    --font-body: 'Inter', system-ui, -apple-system, sans-serif;

    --color-accent: #5b4ee6;         /* solid indigo (white text passes) */
    --color-accent-hover: #4a3ed1;
    --aurora-bright: #7c6cff;        /* violet used in gradients/glows */

    --color-bg: #f4f3fb;             /* base under the gradient */
    --color-surface: #ffffff;
    --color-surface-dark: #1c1b2e;   /* deep indigo bands */
    --color-border: #e7e4f5;

    --color-text: #1c1b2e;
    --color-text-secondary: #595677;
    --color-text-muted: #36334d;
    --color-text-on-dark: #ffffff;
    --color-text-on-dark-muted: #b3afd6;

    --radius-sm: 3px;
    --radius-md: 5px;
    --radius-lg: 8px;

    /* Reusable glass recipe. */
    --glass-bg: rgba(255, 255, 255, 0.55);
    --glass-border: rgba(255, 255, 255, 0.65);
    --glass-blur: blur(16px) saturate(140%);
    --glass-shadow: 0 8px 32px rgba(28, 27, 46, 0.12);
}

/* ===== AURORA CANVAS: a fixed multi-radial gradient behind everything ===== */
body.theme-aurora { background: var(--color-bg); }
body.theme-aurora::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(45% 45% at 15% 18%, rgba(124, 108, 255, 0.40), transparent 70%),
        radial-gradient(45% 45% at 85% 12%, rgba(255, 122, 190, 0.34), transparent 70%),
        radial-gradient(50% 50% at 60% 88%, rgba(72, 196, 247, 0.32), transparent 70%),
        var(--color-bg);
}

/* Modern geometric headings; sentence-case nav. */
.theme-aurora h1,
.theme-aurora h2,
.theme-aurora h3,
.theme-aurora h4 { font-weight: 700; letter-spacing: -0.02em; }
.theme-aurora .c-nav__link,
.theme-aurora .c-nav__mobile a { letter-spacing: normal; text-transform: none; font-weight: 600; }
.theme-aurora .c-nav__logo { font-weight: 700; }

/* ===== GLASS NAV: a floating, blurred, translucent pill ===== */
.theme-aurora .c-nav {
    top: 14px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: calc(100% - 2 * var(--space-m));
    max-width: var(--max-width);
    min-height: 62px;
    padding: 9px 0;
    border-radius: var(--radius-lg);
    border: 1px solid var(--glass-border);
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    box-shadow: var(--glass-shadow);
}
/* Clear the floating nav (it sits 14px below the top). */
body.theme-aurora { padding-top: calc(var(--nav-height) + 14px); }
.theme-aurora .c-nav__link--button {
    background: linear-gradient(135deg, var(--aurora-bright), var(--color-accent));
    color: #fff;
}
.theme-aurora .c-nav__link--button:hover { opacity: 0.92; background: linear-gradient(135deg, var(--aurora-bright), var(--color-accent)); }
.theme-aurora .c-nav__mobile {
    background: rgba(244, 243, 251, 0.7);
    backdrop-filter: blur(22px) saturate(140%);
    -webkit-backdrop-filter: blur(22px) saturate(140%);
}

/* ===== GRADIENT PRIMARY BUTTONS ===== */
.theme-aurora .btn-primary,
.theme-aurora .btn--primary {
    background: linear-gradient(135deg, var(--aurora-bright), var(--color-accent));
    color: #fff;
    letter-spacing: normal;
    text-transform: none;
    font-weight: 600;
    box-shadow: 0 6px 20px rgba(91, 78, 230, 0.28);
}
.theme-aurora .btn-primary:hover,
.theme-aurora .btn--primary:hover { opacity: 0.94; }
.theme-aurora .btn-secondary,
.theme-aurora .btn--secondary { letter-spacing: normal; text-transform: none; font-weight: 600; }

/* Eyebrows in the indigo accent. */
.theme-aurora .c-hero__label,
.theme-aurora .c-section-head__label,
.theme-aurora .c-services__label,
.theme-aurora .c-label { color: var(--color-accent); }
.theme-aurora .c-hero--image .c-hero__label { color: rgba(255, 255, 255, 0.9); }

/* ===== Let the gradient show: light section bands go transparent ===== */
.theme-aurora .c-services,
.theme-aurora .c-tabs,
.theme-aurora .c-cta { background: transparent; }

/* ===== GLASS CARDS / ASIDES ===== */
.theme-aurora .c-service-card,
.theme-aurora .c-pricing-index__card,
.theme-aurora .c-detail__aside,
.theme-aurora .c-service-detail__aside .c-price-card,
.theme-aurora .c-price-card,
.theme-aurora .c-step-panel,
.theme-aurora .c-sidebar__aside,
.theme-aurora .oh-dept {
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
}
.theme-aurora .c-service-card__image { background: rgba(255, 255, 255, 0.4); }
.theme-aurora .c-service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(91, 78, 230, 0.20);
    border-color: rgba(255, 255, 255, 0.85);
}
.theme-aurora .c-pricing-index__card:hover { border-color: var(--aurora-bright); }

/* ===== GLASS FORM FIELDS + indigo focus glow ===== */
.theme-aurora .field input,
.theme-aurora .field select,
.theme-aurora .field textarea,
.theme-aurora .bk-search input {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.theme-aurora .field input:focus,
.theme-aurora .field select:focus,
.theme-aurora .field textarea:focus,
.theme-aurora .bk-search input:focus {
    border-color: var(--aurora-bright);
    box-shadow: 0 0 0 3px rgba(124, 108, 255, 0.22);
}
.theme-aurora .slot-btn { background: rgba(255, 255, 255, 0.6); }
.theme-aurora .slot-btn.is-selected { background: var(--color-accent); color: #fff; border-color: var(--color-accent); }

/* Glass booking cards. */
.theme-aurora .bk-card,
.theme-aurora .bk-upsell { background: rgba(255, 255, 255, 0.6); }

/* ===== HERO: gradient "banner" - white text, white button ===== */
.theme-aurora .c-hero--banner {
    background: linear-gradient(120deg, var(--aurora-bright) 0%, var(--color-accent) 60%, #3a2fb0 100%);
    color: #fff;
}
.theme-aurora .c-hero--banner .c-hero__title,
.theme-aurora .c-hero--banner .c-hero__desc { color: #fff; }
.theme-aurora .c-hero--banner .c-hero__label { color: rgba(255, 255, 255, 0.88); }
.theme-aurora .c-hero--banner .btn-primary,
.theme-aurora .c-hero--banner .btn--primary { background: #fff; color: var(--color-accent); box-shadow: none; }
.theme-aurora .c-hero--banner .btn-primary:hover,
.theme-aurora .c-hero--banner .btn--primary:hover { background: rgba(255, 255, 255, 0.9); opacity: 1; }
