/* Opt-in colour overrides. Keep layout, poster images and seat status colours intact. */
html.white-mode {
    color-scheme: light;
    --ts-bg: #f5f7fb;
    --ts-bg-glass: rgba(255, 255, 255, .96);
    --ts-white: #fff;
    --ts-text: #18283e;
    --ts-muted: #52627a;
    --ts-border: #c6cfdd;
    --ts-border-active: #3157be;
    --ts-card-hover: #e9effa;
    --ts-accent: #126b56;
    --ts-accent-deep: #0b5745;
    background-color: #f5f7fb;
}

html.white-mode body {
    background-color: var(--ts-bg) !important;
    color: var(--ts-text) !important;
}

/* Shared surfaces, including responsive navigation and modal content. */
html.white-mode :where(.header-section, .header-section.header-active, .footer-section,
    .footer-top, .footer-bottom, .footer-navbar, .navbar_custom, .menu, .submenu,
    .mobile-lang-menu, .ts-autocomplete, .ts-autocomplete__item, .dropdown-menu,
    .modal-content, .modal-header, .modal-footer, .mfp-content .white-popup,
    .bg-one, .bg-two, .bg-three, .event-grid, .movie-grid, .widget, .widget-1,
    .widget-1-body, .card, .card-header, .card-body, .auth-card, .profile-card,
    .dashboard-widget, .dashboard-content, .dashboard-card, .loyalty-box, .ticket-item, .ticket-card,
    .ts-web-card, .ts-web-buy-box, .discover-hero, .discover-card, .discover-chip-card,
    .mood-card, .actor-card, .actors-tools, .modal-body, .ts-panel, .ts-action-card,
    .ts-help-card, .company-hero, .company-location,
    .ts-web-movie-card, .ts-top-movie, .ts-modern-search-panel, .ts-picker-modal,
    .movie-hero, .movie-sessions, .cinema-block, .session-card,
    .nice-select, .nice-select .list, .ui-datepicker, .ui-datepicker-header,
    .main-sidebar, .layout-slide__inner, .desktop-hallplan-foooter) {
    background: #fff !important;
    color: var(--ts-text) !important;
    border-color: var(--ts-border) !important;
    box-shadow: none !important;
}


/* Elevation belongs to outer containers, not every nested heading/content block. */
html.white-mode :is(.event-grid, .auth-card, .profile-card, .dashboard-card,
    .ts-web-card, .discover-card, .actor-card, .ts-panel, .widget-1) {
    background: #ffffff00 !important;
    box-shadow: 0 2px 8px rgb(24 40 62 / 0%) !important;
}
html.white-mode :is(.modal-content, .ts-picker-modal, .dropdown-menu,
    .submenu, .mobile-lang-menu, .ts-autocomplete, .nice-select .list) {
    box-shadow: 0 12px 36px rgba(24, 40, 62, .14) !important;
}
html.white-mode :is(.header-section, .header-section.header-active, .footer-navbar) {
    box-shadow: 0 1px 8px rgba(24, 40, 62, .07) !important;
}
html.white-mode :is(.ts-top-movie, .ts-modern-search) {
    background: transparent !important;
    box-shadow: none !important;
}
html.white-mode .ts-top-movie-poster { border-color: #d9e0ea !important; }

html.white-mode :is(.auth-page, .profile-page, .movie-page, .event-section, .dashboard-page,
    .bg-four, .bg-six, .ts-web-page, .ts-web-hero, .discover-page, .actors-page,
    .ts-contact-page, .company-page,
    .account-section, .contact-section, .movie-section, .ts-top-movies) {
    background: var(--ts-bg) !important;
    color: var(--ts-text) !important;
}

html.white-mode :is(h1, h2, h3, h4, h5, h6, label, legend,
    .auth-title, .profile-title, .profile-section-title, .profile-label,
    .ts-session-time, .ts-session-title a, .ts-top-movie-title,
    .ts-search-header, .ts-filter-section-title, .ts-picker-title, .ts-picker-name,
    .movie-title, .movie-sessions-title, .movie-month, .cinema-name,
    .session-time, .ts-autocomplete__name, .event_title, .place_a,
    .ts-web-description, .ts-web-place, .ts-web-price, .ts-web-side-row,
    .discover-card-content, .discover-pill, .discover-arrow, .actor-card-name,
    .ts-contact-info a, .ts-action-card strong) {
    color: var(--ts-text) !important;
    text-shadow: none !important;
}

html.white-mode :is(.menu a, .submenu a, .mobile-lang a, .mobile-lang-menu a,
    .navbar_custom a, .footer-navbar a, .footer-section a, .dropdown-item,
    .movie-content a:not(.ts-card-buy), .event-content a, .auth-option a,
    .nice-select .current, .nice-select .option, .ui-datepicker a) {
    color: var(--ts-text) !important;
}

html.white-mode :is(.text-muted, .auth-subtitle, .profile-subtitle, .profile-help,
    .ts-session-date, .ts-session-venue, .ts-autocomplete__meta,
    .movie-description, .movie-sessions-subtitle, .cinema-subtext,
    .movie-meta-item, .session-language, .ts-see-all, .expiry_date, .th_name,
    .footer-section p, .footer-section span, .event-content p, .movie-content p,
    .discover-venue, .actors-subtitle, .actor-card-content p, .homepage-seo-text,
    .ts-contact-hero p, .ts-panel-title p, .ts-help-card p, .ts-action-card span,
    .loyalty-box p, .auth-option, .company-address-inline) {
    color: var(--ts-muted) !important;
}

/* Fields retain their existing geometry and validation behaviour. */
html.white-mode :is(input:where(:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color])),
    textarea, select, .form-control, .auth-input, .profile-input, .ts-search,
    .ts-picker-option, .ts-picker-close, .movie-date-btn,
    .ts-picker-cinema-option, .ts-picker-city-option) {
    background: #fff !important;
    color: var(--ts-text) !important;
    border-color: var(--ts-border) !important;
    caret-color: var(--ts-text);
}
html.white-mode :is(input, textarea)::placeholder { color: #64748b !important; opacity: 1; }
html.white-mode :is(input, textarea, select):focus {
    border-color: #3157be !important;
    box-shadow: 0 0 0 3px rgba(49, 87, 190, .18) !important;
}
html.white-mode :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid #3157be !important;
    outline-offset: 2px;
}
html.white-mode input:-webkit-autofill {
    -webkit-text-fill-color: #18283e !important;
    caret-color: #18283e;
    box-shadow: 0 0 0 1000px #fff inset !important;
}
html.white-mode :is(input, textarea, select):disabled,
html.white-mode input[readonly] {
    background: #e9edf3 !important;
    color: #52627a !important;
}
html.white-mode :is(input, textarea, select).is-invalid,
html.white-mode :is(input, textarea, select)[aria-invalid="true"] {
    border-color: #b42332 !important;
}
html.white-mode :is(.invalid-feedback, .text-danger, label.error, .error-message, .ts-error) {
    color: #b42332 !important;
}
html.white-mode :is(.alert-danger, .profile-alert-error) {
    background: #fff0f1 !important; color: #951b2a !important; border-color: #d67a85 !important;
}
html.white-mode :is(.alert-success, .profile-alert-success) {
    background: #e8f6ee !important; color: #145c39 !important; border-color: #78af90 !important;
}
html.white-mode .alert-warning {
    background: #fff5d9 !important; color: #714900 !important; border-color: #c7a248 !important;
}

html.white-mode :is(.submenu a, .dropdown-item, .ts-autocomplete__item,
    .nice-select .option, .ts-picker-option, .ts-picker-cinema-option,
    .ts-picker-city-option, .movie-date-btn):hover {
    background: #e9effa !important; color: #18283e !important;
}
html.white-mode :is(.menu a.active, .navbar_custom .active, .footer-navbar .active,
    .ts-session-title a:hover, .ts-session-venue:hover) { color: #126b56 !important; }
html.white-mode :is(.ts-picker-option.selected, .ts-picker-option.active,
    .ts-picker-cinema-option.active, .ts-picker-city-option.active,
    .movie-date-btn.active, .ts-picker-option.is-selected,
    .nice-select .option.selected, .ui-state-active) {
    background: #dbe8fb !important; color: #163c80 !important; border-color: #3157be !important;
}
html.white-mode :is(.custom-button, .auth-submit, .profile-save-btn, .ts-card-buy,
    .ts-search-btn, .ts-web-buy-btn, .ts-submit-btn, .btn-primary, .success-btn-primary) {
    background: #234baf !important; color: #fff !important; border-color: #234baf !important;
}
html.white-mode :is(.custom-button, .auth-submit, .profile-save-btn, .ts-card-buy,
    .ts-search-btn, .ts-web-buy-btn, .ts-submit-btn, .btn-primary, .success-btn-primary):hover {
    background: #193a8b !important; color: #fff !important;
}
html.white-mode :is(.ts-search button, .ts-theme-toggle, .auth-input-wrap i,
    .close, .mfp-close, .ts-picker-close) { color: #18283e !important; }
html.white-mode .header-bar span { background: #18283e !important; }
html.white-mode :is(.nice-select, .nice-select:after, hr, .modal-header, .modal-footer,
    .ts-picker-head, .profile-section, th, td) { border-color: var(--ts-border) !important; }
html.white-mode .table { color: var(--ts-text) !important; }
html.white-mode .table-striped tbody tr:nth-of-type(odd) { background: #edf1f8 !important; }
html.white-mode .table-hover tbody tr:hover { background: #e2eafa !important; }
html.white-mode .ui-state-default { background: #edf1f8 !important; color: #18283e !important; }
html.white-mode .ui-state-active { background: #234baf !important; color: #fff !important; }

/* Keep intentional photo overlays and status/price colours legible. No SVG seat fill overrides. */
html.white-mode :is(.banner-section, .banner-section .title, .banner-section p,
    .banner-section h1, .banner-section h2, .success-card, .success-card h1,
    .success-card p, .actors-featured h2, .actors-featured p) { color: #fff !important; }
html.white-mode .ts-modern-search :is(.dow, .date, .weekday) { color: #52627a !important; }
html.white-mode .ts-top-movie-badge { background: #126b56 !important; color: #fff !important; }
html.white-mode .ts-top-movie-rank { color: #fff !important; }
html.white-mode .event-section .ts-web-movie-card .ts-session-title a { color: #18283e !important; }
html.white-mode .event-section .ts-web-movie-card .ts-session-title a:hover { color: #126b56 !important; }
html.white-mode .event-section .ts-web-movie-card .ts-session-time { color: #18283e !important; }
html.white-mode .event-section .ts-web-movie-card :is(.ts-session-date, .ts-session-venue) { color: #52627a !important; }
html.white-mode .event-section .ts-web-movie-card .ts-card-buy { background: #234baf !important; color: #fff !important; }
html.white-mode .event-section .ts-web-movie-card .ts-card-buy:hover { background: #193a8b !important; }
html.white-mode .movie-bg::after { background: linear-gradient(180deg, rgba(245,247,251,.75), #f5f7fb) !important; }
html.white-mode ::selection { background: #c7dcff; color: #18283e; }

/* Navigation actions must not inherit ordinary dark link text. */
html.white-mode .header-wrapper .menu li.header-button > a {
    background: #234baf !important;
    color: #fff !important;
    border-color: #234baf !important;
}
html.white-mode .header-wrapper .menu li.header-button > a:hover {
    background: #193a8b !important;
    color: #fff !important;
}
html.white-mode .mobile-lang > a { background: #edf1f8 !important; border-color: #c6cfdd !important; }
html.white-mode .header-wrapper .menu li > a { border-color: #e1e6ee !important; }
@media (min-width: 992px) {
    html.white-mode .header-wrapper > .menu { background: transparent !important; }
}
@media (max-width: 991px) {
    /* main.js opens every .menu. The second row already contains contact/login;
       keep the utility row from appearing underneath that navigation drawer. */
    html.white-mode .header-wrapper.mb-2 > .menu.active { display: none !important; }
    html.white-mode .header-wrapper > .menu.active { background: #fff !important; }
}

/* Visible unselected controls and an unambiguous selected state. */
html.white-mode .ts-picker-check { border-color: #7a8ba3 !important; background: #fff !important; }
html.white-mode .ts-picker-option.is-selected .ts-picker-check {
    background: #234baf !important; border-color: #234baf !important; color: #fff !important;
}
html.white-mode .widget-1.widget-check .form-group label::before {
    border-color: #7a8ba3 !important; background: #fff !important;
}
html.white-mode .widget-1.widget-check .form-group input:checked ~ label::before {
    background: #234baf !important; border-color: #234baf !important; color: #fff !important;
}
html.white-mode .widget-1.widget-check .form-group input:focus-visible ~ label::before {
    outline: 2px solid #3157be; outline-offset: 2px;
}
html.white-mode .ts-modern-search :is(.states .item, .cities .item, .months .day) {
    background: #fff !important; color: #18283e !important; border-color: #c6cfdd !important; box-shadow: none !important;
}
html.white-mode .ts-modern-search :is(.states .item:hover, .cities .item:hover, .months .day:hover) {
    background: #e9effa !important; border-color: #7a8ba3 !important;
}
html.white-mode .ts-modern-search :is(.states .item.selected, .cities .item.selected, .months .day.selected) {
    background: #234baf !important; border-color: #234baf !important; color: #fff !important;
}
html.white-mode .ts-modern-search .months .day.selected > div { color: #fff !important; }
html.white-mode .ts-modern-search .months .day > div:nth-child(3) { color: #52627a; }
html.white-mode .pagination-area a { color: #52627a !important; }
html.white-mode .pagination-area a:hover { background: #e9effa !important; color: #18283e !important; }
html.white-mode .pagination-area a.active { background: #234baf !important; color: #fff !important; }

/* The current footer uses ts-footer, not the legacy footer-section component. */
html.white-mode .ts-footer { background: #edf1f7 !important; border-color: #c6cfdd !important; }
html.white-mode .ts-footer :is(.ts-footer-logo, h4, .ts-footer-col a) { color: #18283e !important; }
html.white-mode .ts-footer :is(.ts-footer-text, .ts-footer-bottom p) { color: #52627a !important; }
html.white-mode .ts-footer .ts-footer-bottom { border-color: #c6cfdd !important; }
html.white-mode .ts-footer .ts-footer-col a:hover { color: #234baf !important; }
html.white-mode .ts-footer .ts-footer-socials a { background: #fff !important; color: #234baf !important; border-color: #c6cfdd !important; }
html.white-mode .ts-footer .ts-footer-socials a:hover,
html.white-mode .ts-footer .ts-footer-discover-btn { background: #234baf !important; color: #fff !important; }

/* Navigation labels and currentColor icons share the same state colour. */
html.white-mode .footer-navbar a { color: #18283e !important; }
html.white-mode .footer-navbar a :is(span, svg, i) { color: inherit !important; }
html.white-mode .footer-navbar a:is(.active, :hover, :focus-visible) {
    color: #126b56 !important; background: #e8f3ef !important;
}
html.white-mode :is(.navbar_custom, .navbar_custom_category) a {
    color: #18283e !important; background: #fff !important;
    border-color: #c6cfdd !important; box-shadow: none !important;
}
html.white-mode :is(.navbar_custom, .navbar_custom_category) a:is(.active, :hover, :focus-visible) {
    color: #126b56 !important; background: #e8f3ef !important; border-color: #126b56 !important;
}
html.white-mode :is(.navbar_custom, .navbar_custom_category) a.international-link {
    background: #234baf !important; color: #fff !important;
}
html.white-mode :is(.navbar_custom, .navbar_custom_category) a.international-link:is(.active, :hover, :focus-visible) {
    background: #193a8b !important; color: #fff !important;
}
/* Event overview: desktop purchase card and the separate mobile date strip. */
html.white-mode .ts-web-content { background: var(--ts-bg) !important; }
html.white-mode .session-price-value { color: var(--ts-text) !important; }
html.white-mode .company-page .bg-one { background: white !important;}
/*html.white-mode .ts-web-hero-bg { opacity: .06 !important; }*/
html.white-mode .ts-web-poster { box-shadow: 0 12px 32px rgba(24, 40, 62, .14) !important; }
html.white-mode .ts-web-buy-card {
    background: #fff !important; color: var(--ts-text) !important;
    border-color: var(--ts-border) !important;
    box-shadow: 0 8px 24px rgba(24, 40, 62, .08) !important;
}
html.white-mode .ts-web-date-day { background: #edf1f8 !important; color: var(--ts-text) !important; }
html.white-mode .ts-web-date-meta strong { color: var(--ts-text) !important; }
html.white-mode .ts-web-date-meta span { color: var(--ts-muted) !important; }
html.white-mode .ts-web-tag {
    background: #e9effa !important; color: var(--ts-muted) !important;
    border-color: var(--ts-border) !important;
}
html.white-mode .ts-web-side-row { border-color: var(--ts-border) !important; }
html.white-mode .ts-web-buy-btn { box-shadow: 0 6px 16px rgba(35, 75, 175, .16) !important; }
html.white-mode .ts-web-buy-btn[data-sale-timer] {
    background: #e1e6ee !important; color: var(--ts-muted) !important;
    border-color: var(--ts-border) !important; box-shadow: none !important;
}
html.white-mode :is(.ts-sale-title, .ts-sale-date) { color: var(--ts-text) !important; }
html.white-mode .details-banner .duration-area .item { color: var(--ts-muted) !important; }
html.white-mode .details-banner .place-icon-spacer { filter: brightness(0) opacity(.65); }
html.white-mode .event-list-section-header .inline :is(.date-s, p) { color: var(--ts-text) !important; }
html.white-mode .event-list-section-header .inline :is(p[style*="#ff4343"], .is-weekend) { color: #b42332 !important; }
html.white-mode .movie-details-section .read-more-btn { color: #126b56 !important; }
html.white-mode .movie-details-section .read-more-btn:hover { color: #0b5745 !important; }

/* Account pages: orders, individual tickets, loyalty and referral balances. */
html.white-mode :is(.dashboard-page, .profile-page) .widget-facility a {
    color: #18283e !important;
}
html.white-mode :is(.dashboard-page, .profile-page) .widget-facility a:is(:hover, :focus-visible) {
    color: #126b56 !important;
}
html.white-mode :is(.dashboard-page, .profile-page) .widget-facility a[style*="#f1481f"] {
    color: #b42332 !important;
}
html.white-mode :is(.dashboard-page, .profile-page) .widget-facility li { border-color: #c6cfdd !important; }
html.white-mode .dashboard-page :is(.order-card, .ticket-order-block, .summary-card, .referral-item) {
    background: #fff !important; border-color: #c6cfdd !important;
}
html.white-mode .dashboard-page .order-card:hover { background: #edf1f8 !important; }
html.white-mode .dashboard-page :is(.order-title a, .ticket-event-title, .ticket-info, .summary-value, .referral-name) {
    color: #18283e !important;
}
html.white-mode .dashboard-page :is(.order-location, .ticket-event-place, .empty-orders, .empty-tickets, .summary-label, .empty-referrals) {
    color: #52627a !important;
}
html.white-mode .dashboard-page :is(.loyalty-label, .order-event-date, .ticket-event-date, .summary-value.accent, .order-title a:hover) {
    color: #126b56 !important;
}
html.white-mode .dashboard-page :is(.order-badge, .ticket-badge, .referral-badge) {
    background: #e8f3ef !important; color: #126b56 !important;
}
html.white-mode .dashboard-page .ticket-price { background: #edf1f8 !important; color: #18283e !important; }
html.white-mode .dashboard-page .tickets-tabs .tab-menu li {
    background: #fff !important; color: #52627a !important; border-color: #c6cfdd !important;
}
html.white-mode .dashboard-page .tickets-tabs .tab-menu li span {
    background: #edf1f8 !important; color: #18283e !important;
}
html.white-mode .dashboard-page .tickets-tabs .tab-menu li:is(.active, :hover) {
    background: #234baf !important; color: #fff !important; border-color: #234baf !important;
}
html.white-mode .dashboard-page .tickets-tabs .tab-menu li:is(.active, :hover) span {
    background: #193a8b !important; color: #fff !important;
}
