/* Public light theme. Scoped surfaces preserve photo overlays, games and seat states. */
@font-face {
    font-family: "TicketSystem Armenian";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/noto-sans-armenian-variable.woff2") format("woff2");
    unicode-range: U+0308, U+0530-058F, U+2010, U+2024, U+25CC, U+FB13-FB17;
}

html.white-mode {
    --ts-light-brand: var(--ts-accent, #234baf);
    --ts-light-brand-hover: var(--ts-accent-deep, #193a8b);
    --ts-light-soft: var(--ts-accent-soft, #e9effa);
    --ts-light-line: #b6c9e7;
    --ts-light-shadow: 0 8px 24px rgba(30, 64, 128, .12);
}

/* Catalogue cards get one surface rather than borders around every nested block. */
html.white-mode .event-section #eventsListReco {
    row-gap: 24px;
}

html.white-mode .event-section #eventsListReco > .col-sm-4 {
    margin-bottom: 0 !important;
    padding-inline: 12px !important;
}

html.white-mode #eventsListReco > .col-sm-12 > .left > .title {
    margin: 0;
    padding-block: 0;
}

html.white-mode #eventsListReco > .col-sm-12 > .left > br { display: none; }

html.white-mode .event-section .event-grid {
    background: #dee9fc !important;
    border: 1px solid var(--ts-light-line);
    border-radius: 18px;
    box-shadow: var(--ts-light-shadow) !important;
}

html.white-mode .event-section .event-grid .movie-content {
    background: linear-gradient(145deg, #e8f0ff, #d7e5fa) !important;
    border-color: var(--ts-light-line) !important;
    margin-bottom: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
}

html.white-mode .event-section .event-grid .movie-content .th_name {
    color: #334a70 !important;
    font-size: 12px;
    font-weight: 600;
}

html.white-mode .event-section .event-grid .place-icon-spacer {
    filter: brightness(0) saturate(100%) invert(25%) sepia(20%) saturate(1200%) hue-rotate(180deg);
}

html.white-mode .event-section .event-grid:is(:hover,:focus-within) {
    border-color: #779bd8;
    box-shadow: 0 10px 28px rgba(30, 64, 128, .18) !important;
}

html.white-mode .event-section .event-grid .movie-content .event-date-title {
    color: var(--ts-accent-deep) !important;
}

html.white-mode .event-section .event-grid .movie-content .event-date-title :is(.date-s,.expiry_date:not(.is-weekend),.expiry_date_i) {
    color: inherit !important;
}

html.white-mode .event-section .event-grid .movie-content :is(.title, a, p, span) {
    font-family: "TicketSystem Armenian", "Open Sans", Arial, sans-serif !important;
}

html.white-mode .event-section .event-grid .movie-content .title {
    border-bottom-style: solid;
    border-bottom-color: var(--ts-light-line);
}

html.white-mode .event-section .event-grid .movie-content .event-date-title {
    border-bottom: 0;
}

html.white-mode .event-section .event-grid .movie-thumb {
    border-radius: 18px 18px 0 0;
    overflow: hidden;
}

html.white-mode :is(.event-section, .ts-web-page, .ts-contact-page)
:is(.custom-button, .ts-card-buy, .ts-web-buy-btn, .ts-submit-btn):not(:disabled):not(.disabled):not([aria-disabled="true"]):not([data-sale-timer]),
html.white-mode .header-wrapper .menu li.header-button > a {
    background: var(--ts-light-brand) !important;
    border-color: var(--ts-light-brand) !important;
    color: #fff !important;
}

html.white-mode :is(.event-section, .ts-web-page, .ts-contact-page)
:is(.custom-button, .ts-card-buy, .ts-web-buy-btn, .ts-submit-btn):not(:disabled):not(.disabled):not([aria-disabled="true"]):not([data-sale-timer]):hover,
html.white-mode .header-wrapper .menu li.header-button > a:hover {
    background: var(--ts-light-brand-hover) !important;
    color: #fff !important;
}

/* Informational pages share typography, rhythm and readable light surfaces. */
html.white-mode :is(.partner-hero, .partner-section, .partner-cta, .faq-page, .pick-page) {
    color: var(--ts-text);
    font-family: "TicketSystem Armenian", "Segoe UI", Arial, sans-serif;
}

html.white-mode :is(.partner-hero, .partner-section, .partner-cta, .faq-page, .pick-page)
:is(h1, h2, h3, p, button, a, label, span, small, strong, input, textarea) {
    font-family: inherit !important;
}

html.white-mode :is(.partner-hero, .partner-section, .partner-cta, .faq-page, .pick-page) :is(h1, h2, h3) {
    letter-spacing: -.025em;
    line-height: 1.2;
}

html.white-mode .partner-hero {
    background: radial-gradient(ellipse at 90% 10%, #dbe8fb 0, transparent 56%),
        linear-gradient(120deg, #fff 15%, #f2f6fc 100%) !important;
    border-bottom: 1px solid var(--ts-light-line);
    padding-block: 96px 80px;
    padding-top: calc(var(--ts-header-height, 120px) + 40px);
}

html.white-mode .partner-hero h1 {
    max-width: 900px;
    font-size: clamp(32px, 4vw, 56px);
    font-weight: 750;
}

html.white-mode :is(.partner-hero p, .partner-section p, .partner-cta p, .partner-compare__item span) {
    color: var(--ts-muted) !important;
}

html.white-mode :is(.partner-badge, .about-tags span) {
    background: var(--ts-light-soft) !important;
    border-color: #c6d6f1 !important;
    color: var(--ts-accent-deep) !important;
}

html.white-mode .partner-section {
    background: #fff !important;
    padding-block: 64px;
}

html.white-mode :is(.partner-section--gray, .partner-section--dark) {
    background: var(--ts-bg) !important;
}

html.white-mode :is(.partner-card, .partner-compare__item, .about-stat, .about-company__fact, .about-app-card) {
    background: #fff !important;
    border: 1px solid var(--ts-light-line);
    box-shadow: var(--ts-light-shadow) !important;
}

html.white-mode :is(.partner-compare__item strong, .about-company__fact span) {
    color: var(--ts-text) !important;
}

html.white-mode .partner-cta {
    background: var(--ts-light-soft) !important;
}

html.white-mode .partner-btn--primary {
    background: var(--ts-light-brand) !important;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(35, 75, 175, .16);
}

html.white-mode .partner-btn--primary:hover {
    background: var(--ts-light-brand-hover) !important;
}

html.white-mode .partner-btn--secondary {
    background: #fff !important;
    color: var(--ts-text) !important;
    box-shadow: inset 0 0 0 1px #ccd4e2;
}

html.white-mode .company-info-card small {
    color: var(--ts-muted) !important;
}

/* FAQ: open and closed questions remain equally readable. */
html.white-mode .faq-page {
    padding-block: 64px 88px;
    padding-top: calc(var(--ts-header-height, 120px) + 48px);
}

html.white-mode .faq-hero {
    max-width: 780px;
    margin-bottom: 40px;
}

html.white-mode .faq-hero h1 {
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.15;
}

html.white-mode :is(.faq-hero h1 span, .faq-hero p, .faq-answer > div, .faq-contact p) {
    color: var(--ts-muted) !important;
}

html.white-mode .faq-hero h1 span {
    font-size: .5em;
    line-height: 1.5;
    margin-top: 12px;
}

html.white-mode .faq-card {
    background: #fff;
    border-color: var(--ts-light-line);
    box-shadow: 0 3px 12px rgba(24, 40, 62, .025);
    border-radius: 16px;
}

html.white-mode .faq-card:is(:hover, .is-open) {
    background: #fff;
    border-color: #8fa9df;
}

html.white-mode .faq-question {
    color: var(--ts-text);
    min-height: 72px;
    font-weight: 650;
    line-height: 1.6;
}

html.white-mode .faq-plus {
    background: var(--ts-light-soft);
    color: var(--ts-light-brand);
}

html.white-mode .faq-card.is-open .faq-plus {
    background: var(--ts-light-brand);
    color: #fff;
}

html.white-mode .faq-contact {
    background: linear-gradient(145deg, #fff 20%, #e9effa);
    border-color: var(--ts-light-line);
    box-shadow: var(--ts-light-shadow);
    top: calc(var(--ts-header-height, 120px) + 24px);
}

html.white-mode .faq-contact-phone {
    color: var(--ts-text);
}

html.white-mode .faq-contact-btn {
    min-height: 52px;
    background: var(--ts-light-brand);
    color: #fff;
    align-items: center;
}

html.white-mode .faq-contact-btn:hover {
    background: var(--ts-light-brand-hover);
    color: #fff;
    opacity: 1;
}

/* Discovery uses pale selection states, with both a border and a check mark. */
html.white-mode .pick-page {
    background: radial-gradient(ellipse at 50% 0, #e9effa, transparent 55%), var(--ts-bg);
    padding-block: 64px 96px;
    padding-top: calc(var(--ts-header-height, 120px) + 48px);
}

html.white-mode .pick-card {
    background: #fff;
    border-color: var(--ts-light-line);
    padding: clamp(24px, 4vw, 40px);
    box-shadow: var(--ts-light-shadow);
}

html.white-mode .pick-step p {
    color: var(--ts-muted);
    line-height: 1.7;
}

html.white-mode .pick-progress span {
    background: #e7eaf1;
}

html.white-mode .pick-progress span.active {
    background: var(--ts-light-brand);
}

html.white-mode .pick-box {
    color: var(--ts-text);
    background: #fafbfe;
    border-color: #ccd4e2;
    font-weight: 600;
}

html.white-mode .pick-box:hover {
    background: #f2f6fc;
    border-color: #8fa9df;
}

html.white-mode .pick-option input:checked + .pick-box {
    background: var(--ts-light-soft);
    border-color: var(--ts-light-brand);
    box-shadow: 0 0 0 1px var(--ts-light-brand);
}

html.white-mode .pick-option input:checked + .pick-box::after {
    color: var(--ts-light-brand);
}

html.white-mode :is(.pick-next, .pick-submit) {
    background: var(--ts-light-brand);
    color: #fff;
}

html.white-mode :is(.pick-next, .pick-submit):hover {
    background: var(--ts-light-brand-hover);
}

html.white-mode .pick-prev {
    background: #edf0f7;
    color: var(--ts-text);
}

html.white-mode .discover-page .discover-hero {
    background: linear-gradient(120deg, #fff, #e9effa) !important;
    border-color: var(--ts-light-line);
}

html.white-mode .discover-page :is(.discover-pill.active, .discover-pill:hover) {
    color: var(--ts-accent-deep) !important;
    background: var(--ts-light-soft);
    border-color: #8fa9df;
}

html.white-mode .discover-page :is(.discover-card, .discover-chip-card) {
    background: #fff !important;
    border-color: var(--ts-light-line) !important;
    box-shadow: var(--ts-light-shadow) !important;
}

html.white-mode .discover-page .discover-arrow {
    background: var(--ts-light-soft);
    color: var(--ts-accent-deep) !important;
}

html.white-mode .ts-contact-page :is(.ts-panel, .ts-action-card, .ts-help-card) {
    background: #fff !important;
    border-color: var(--ts-light-line) !important;
    box-shadow: var(--ts-light-shadow) !important;
}

html.white-mode .ts-contact-info span {
    color: var(--ts-muted);
}

/* Legacy international details need the same contrast as newer event pages. */
html.white-mode .ts-international-details .details-banner .tags :is(a, span),
html.white-mode .ts-international-details .book-section .item-header p {
    color: var(--ts-muted) !important;
}

html.white-mode .ts-international-details .book-section .item-header p[style*="#ff4343"] {
    color: #b42332 !important;
}

html.white-mode .ts-international-details .tab-menu li.active {
    color: var(--ts-light-brand) !important;
    border-color: var(--ts-light-brand) !important;
}

html.white-mode :is(.event-section, .movie-section) .clear-check {
    color: #a53a23 !important;
}

@media (max-width: 991px) {
    /* The legacy mobile layout already offsets the document by 68px. */
    html.white-mode :is(.faq-page, .pick-page, .partner-hero) {
        padding-top: calc(var(--ts-header-height, 172px) - 36px);
    }

    html.white-mode .faq-contact {
        top: auto;
    }
}

@media (max-width: 767px) {
    html.white-mode .partner-hero {
        padding-bottom: 48px;
    }

    html.white-mode :is(.faq-page, .pick-page) {
        padding-bottom: 88px;
    }

    html.white-mode .partner-section {
        padding-block: 44px;
    }

    html.white-mode .partner-actions .partner-btn {
        flex: 1 1 100%;
    }

    html.white-mode .pick-card {
        padding: 22px 18px;
    }

    html.white-mode .pick-btn {
        min-height: 56px;
        height: auto;
        white-space: normal;
        line-height: 1.5;
        padding-block: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html.white-mode :is(.faq-card, .faq-answer, .faq-plus, .pick-box, .partner-btn, .ts-action-card) {
        transition: none;
    }

    html.white-mode :is(.partner-btn, .ts-action-card):hover {
        transform: none;
    }
}
