:root {
    --bg: #101113;
    --overscroll-bg: #101113;
    --page-bg: radial-gradient(circle at 50% -18%, #2b2f35 0%, #17191d 42%, #101113 100%);
    --surface: rgba(218, 223, 230, 0.12);
    --ink: #eef2f6;
    --muted: #b8c0c9;
    --accent: #e6ebf2;
    --dark: #0d0f12;
    --border: rgba(238, 242, 246, 0.24);
    --shadow: 0 18px 42px rgba(0, 0, 0, 0.42);
}

html,
body {
    color: var(--ink);
}

.topbar {
    background: transparent;
    border-bottom: 0;
    backdrop-filter: none;
}

.brand,
.topbar-link,
.topbar-action,
.topbar-back-button,
.topbar-menu-button,
.topbar-auth-button,
.lang-menu-trigger,
.topbar-menu-close {
    color: #f2f5f8;
}

.topbar-link:hover,
.topbar-action:hover,
.topbar-back-button:hover,
.topbar-menu-button:hover,
.topbar-auth-button:hover,
.lang-menu-trigger:hover,
.topbar-menu-close:hover {
    color: #ffffff;
}

.topbar-menu-panel,
.lang-switch,
.cart-drawer,
.content-library-player,
.content-library-card,
.review-card,
.why-card,
.hero-hours,
.hours-card,
.map-card,
.info-card,
.service-card {
    background: rgba(220, 225, 232, 0.12);
    border-color: rgba(236, 240, 245, 0.2);
    box-shadow: var(--shadow);
}

.topbar-menu-panel {
    background: rgba(12, 14, 17, 0.96);
    border-color: rgba(236, 240, 245, 0.14);
}

.topbar-auth-panel {
    padding: 20px;
    gap: 14px;
    background: rgba(14, 16, 19, 0.96);
    border: 1px solid rgba(236, 240, 245, 0.18);
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.46);
}

.topbar-auth-status {
    color: #f1f4f8;
    font-size: 1rem;
    line-height: 1.55;
}

.topbar-auth-form {
    gap: 12px;
}

.topbar-auth-email {
    min-height: 50px;
    padding: 0 14px;
    font-size: 1rem;
    background: rgba(236, 240, 245, 0.08);
    border: 1px solid rgba(236, 240, 245, 0.18);
    color: #f2f5f8;
}

.topbar-auth-password {
    min-height: 50px;
    padding: 0 14px;
    font-size: 1rem;
    background: rgba(236, 240, 245, 0.08);
    border: 1px solid rgba(236, 240, 245, 0.18);
    color: #f2f5f8;
}

.topbar-auth-email::placeholder {
    color: rgba(242, 245, 248, 0.56);
}

.topbar-auth-password::placeholder {
    color: rgba(242, 245, 248, 0.56);
}

.topbar-auth-mode-button,
.topbar-auth-secondary-action {
    border-radius: 8px;
}

.topbar-auth-submit {
    min-height: 48px;
    font-size: 0.98rem;
}

.hero-full-shade {
    background: linear-gradient(120deg, rgba(7, 8, 10, 0.58), rgba(7, 8, 10, 0.12) 42%, rgba(7, 8, 10, 0.62));
}

.hero-fullbleed.is-personal-portrait .hero-full-shade {
    background:
        radial-gradient(circle at 74% 40%, rgba(255, 255, 255, 0.08), transparent 24%),
        linear-gradient(180deg, rgba(8, 9, 11, 0.18), rgba(8, 9, 11, 0.72));
}

.hero-fullbleed.is-personal-portrait .hero-copy h1,
.hero-fullbleed.is-personal-portrait .hero-copy > p[data-i18n="subtitle"] {
    color: #f3f6f9;
}

.hero-fullbleed.is-personal-portrait .hero-quote {
    color: #e7edf5;
    text-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

.social-link,
.btn-outline,
.lang-btn,
.topbar-link,
.topbar-menu-button,
.topbar-auth-button,
.lang-menu-trigger,
.topbar-menu-close {
    border-color: rgba(234, 239, 245, 0.22);
    background: rgba(229, 234, 240, 0.08);
    color: #f1f4f8;
}

.social-link:hover,
.btn-outline:hover,
.lang-btn:hover,
.topbar-link:hover,
.topbar-menu-button:hover,
.topbar-auth-button:hover,
.lang-menu-trigger:hover,
.topbar-menu-close:hover {
    background: rgba(236, 240, 245, 0.16);
}

.btn-cta,
.fab-cart {
    background: linear-gradient(135deg, rgba(245, 211, 103, 0.98), rgba(196, 145, 38, 0.94));
    color: #18130a;
    border-color: rgba(255, 220, 122, 0.4);
}

.btn-cta:hover,
.fab-cart:hover {
    filter: brightness(1.02);
}

.fab-cart-count {
    background: rgba(245, 211, 103, 0.92);
    color: #18130a;
}

.content-library-chip,
.content-library-chip {
    background: rgba(236, 240, 245, 0.1);
    color: #f1f4f8;
    border: 1px solid rgba(236, 240, 245, 0.16);
}

.content-library-chip.is-accent,
.content-library-chip.is-membership-chip,
.content-library-duration.is-membership-note {
    background: rgba(245, 211, 103, 0.14);
    color: #f4d367;
    border: 1px solid rgba(245, 211, 103, 0.3);
}

.content-library-duration.is-membership-note {
    display: inline-flex;
    align-items: center;
    padding: 7px 11px;
    border-radius: 999px;
}

.is-library-cta {
    box-shadow: 0 16px 34px rgba(196, 145, 38, 0.22);
}

.about-section {
    background:
        radial-gradient(circle at 8% 18%, rgba(231, 237, 245, 0.08), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0));
}

.about-copy::before {
    background: linear-gradient(90deg, rgba(231, 237, 245, 0.95), rgba(231, 237, 245, 0.22));
}

.about-media-caption {
    background: rgba(11, 12, 15, 0.62);
    border-color: rgba(231, 237, 245, 0.18);
}

.highlighted-products-section {
    background:
        radial-gradient(circle at 86% 18%, rgba(231, 237, 245, 0.08), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0));
}

.faq-section {
    background:
        radial-gradient(circle at 50% 0%, rgba(231, 237, 245, 0.05), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0));
}

.highlighted-product-card {
    background: rgba(220, 225, 232, 0.12);
    border-color: rgba(236, 240, 245, 0.2);
    box-shadow: var(--shadow);
}

.highlighted-product-meta {
    color: rgba(231, 237, 245, 0.72);
}

.about-achievement-index {
    background: rgba(231, 237, 245, 0.08);
}
