/* Two genuine palettes; photographs and image-overlay captions keep their colors. */
:root[data-o59-color-mode] {
    color-scheme: dark;
    --color-bg: #07121a;
    --color-bg-alt: #031016;
    --color-bg-card: #0c1b25;
    --color-text-main: #eef3f6;
    --color-text-muted: #b0bdc7;
    --color-text-light: #a8b7c2;
    --color-border: #293d49;
    --color-border-dark: #293d49;
    --color-surface-card-dark: #0c1b25;
    --color-surface-hover-dark: #132632;
    --color-accent-gold: #dfac64;
    --color-accent-gold-hover: #f4c68c;
    --o59-mode-heading: #f4c68c;
    --o59-mode-coral: #ff947b;
    --o59-mode-line: rgba(180,205,215,.2);
    --o59-mode-panel: #0c1b25;
    --o59-mode-ad: linear-gradient(145deg,#061722,#030c12);
}
:root[data-o59-color-mode="light"] {
    color-scheme: light;
    --color-bg: #ffffff;
    --color-bg-alt: #faf8f5;
    --color-bg-card: #ffffff;
    --color-text-main: #192b38;
    --color-text-muted: #52616e;
    --color-text-light: #5e6b76;
    --color-border: #d8dfe2;
    --color-border-dark: #d8dfe2;
    --color-surface-card-dark: #ffffff;
    --color-surface-hover-dark: #f0eee9;
    --color-accent-gold: #895921;
    --color-accent-gold-hover: #744313;
    --o59-mode-heading: #80511d;
    --o59-mode-coral: #b6412c;
    --o59-mode-line: rgba(37,66,81,.18);
    --o59-mode-panel: #ffffff;
    --o59-mode-ad: linear-gradient(145deg,#f4f0e8,#ffffff);
}

/* Fixed, thumb-only animation: switching does not wait for animation or a request. */
.o59-color-mode {
    position: fixed;
    right: calc(18px + env(safe-area-inset-right,0px));
    bottom: calc(18px + env(safe-area-inset-bottom,0px));
    z-index: 998;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    width: 144px;
    height: 52px;
    padding: 4px;
    border: 1px solid var(--o59-mode-line,#384b56);
    border-radius: 999px;
    background: var(--o59-mode-panel,#0c1b25);
    color: var(--color-text-muted,#b0bdc7);
    box-shadow: 0 6px 22px rgba(0,0,0,.22);
    font-family: Arial,Helvetica,sans-serif;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
.o59-color-mode[hidden] { display: none !important; }
.o59-color-mode__thumb {
    position: absolute;
    top: 5px;
    bottom: 5px;
    left: 5px;
    width: calc(50% - 6px);
    border-radius: inherit;
    background: linear-gradient(135deg,#ffc5a7,#e6b875);
    box-shadow: 0 2px 7px rgba(0,0,0,.16);
    transition: transform .2s cubic-bezier(.2,.8,.2,1);
}
[data-o59-color-mode="dark"] .o59-color-mode__thumb { transform: translateX(calc(100% + 2px)); }
.o59-color-mode__choice { position: relative; z-index: 1; display:flex; align-items:center; justify-content:center; gap:5px; font-size:11px; font-weight:700; line-height:1; pointer-events:none; }
.o59-color-mode__choice svg { flex-shrink:0; }
[data-o59-color-mode="dark"] .o59-color-mode__dark,
[data-o59-color-mode="light"] .o59-color-mode__light { color:#17232b; }
.o59-color-mode:focus-visible { outline:3px solid var(--o59-mode-coral,#ff947b); outline-offset:4px; }
@media(max-width:600px) { .o59-color-mode { right:calc(12px + env(safe-area-inset-right,0px)); bottom:calc(12px + env(safe-area-inset-bottom,0px)); } }
@media(prefers-reduced-motion:reduce) { .o59-color-mode__thumb { transition:none; } }
@media(forced-colors:active) { .o59-color-mode { border:2px solid ButtonText; } .o59-color-mode__thumb { background:Highlight; forced-color-adjust:none; } }

/* Page surfaces, article text, cards, comments and forms. */
[data-o59-color-mode] :is(.mag-card,.widget,.page-numbers,.single-article,.static-page-card,.category-header-banner,.archive-header-banner,.search-header-banner,.error-404-card) { background-color:var(--color-bg-card); }
[data-o59-color-mode] :is(.entry-title,.entry-content h2,.entry-content h3,.entry-content h4,.page-title,.category-heading,.archive-title,.search-heading,.section-title,.widget-title,.mag-card-title,.tv-title,.newsletter-title,.error-title,.author-box-name,.comments-title,.byline strong,.section-view-all:hover) { color:var(--color-text-main); }
[data-o59-color-mode] :is(.entry-content,.entry-content blockquote,.entry-content table,.entry-content pre,.entry-content code) { color:var(--color-text-main); }
[data-o59-color-mode] :is(.entry-content table,.entry-content th,.entry-content td) { border-color:var(--color-border); }
[data-o59-color-mode] .entry-content :is(pre,code) { background:var(--color-bg-alt); }
[data-o59-color-mode] .entry-content a { color:var(--color-accent-gold); text-decoration:underline; text-underline-offset:3px; }
[data-o59-color-mode] .entry-content .wp-block-button__link { color:#fff; }
[data-o59-color-mode] :is(.trending-item,.entry-content hr) { border-color:var(--color-border); }
[data-o59-color-mode] .topic-count { background:var(--color-bg-alt); color:var(--color-text-muted); }
[data-o59-color-mode] :is(.bc-sep,.trending-rank,.trending-item:nth-child(2) .trending-rank) { color:var(--color-text-muted); }
[data-o59-color-mode] :is(.comment-form,.post-password-form) :is(input:not([type=submit]):not([type=checkbox]),textarea,select) { background:var(--color-bg-alt); color:var(--color-text-main); border:1px solid var(--color-border); border-radius:6px; padding:10px; max-width:100%; }
[data-o59-color-mode] :is(.comment-form,.post-password-form) :is(input,textarea):focus-visible { outline:2px solid var(--color-accent-gold); outline-offset:2px; }

/* Shared surfaces that were previously fixed to the dark palette. */
[data-o59-color-mode] :is(.site-header-luxury,.hero-lux-section,.hero-section,.banner-100-section,.banner1-ad-wrapper) { background:var(--color-bg-alt); border-color:var(--o59-mode-line); }
[data-o59-color-mode] .site-header-luxury { color:var(--color-text-main); box-shadow:0 3px 16px rgba(0,0,0,.12); }
[data-o59-color-mode] :is(.brand-title,.brand-sub,.tagline-phrase,.top-utility-nav a,.social-icon-btn,.luxury-nav-list li a) { color:var(--color-text-main); }
[data-o59-color-mode] :is(.coral-59,.footer-lux-brand .coral-59,.footer-lux-heading) { color:var(--o59-mode-coral); }
[data-o59-color-mode] :is(.luxury-nav-list li.current-menu-item>a,.luxury-nav-list li.current-category-ancestor>a,.luxury-nav-list li.current_page_item>a,.luxury-nav-list li.active>a,.luxury-search-trigger,.hero-cal-icon) { color:var(--color-accent-gold); }
[data-o59-color-mode] .mobile-nav-toggle .bar { background:var(--color-accent-gold); }
[data-o59-color-mode] :is(.luxury-nav-list .sub-menu,.header-primary-nav.mobile-open) { background:var(--color-bg-card); border-color:var(--color-border); }
[data-o59-color-mode] .luxury-nav-list li { border-color:var(--o59-mode-line); }
[data-o59-color-mode] .luxury-nav-list li a:hover,
[data-o59-color-mode] :is(.top-utility-nav a,.social-icon-btn):hover { color:var(--color-accent-gold); }
[data-o59-color-mode] :is(.top-v-divider,.feed-sep,.footer-legal-sep) { color:var(--color-text-muted); }
[data-o59-color-mode] :is(.hero-lux-feed-card,.hero-sub-card,.banner1-ad-code-container) { background:var(--color-bg-card); border-color:var(--color-border); }
[data-o59-color-mode] .hero-lux-main-col { min-width:0; }
[data-o59-color-mode] .hero-lux-pill-badge { max-width:100%; white-space:normal; }
[data-o59-color-mode] :is(.hero-lux-feed-title a,.hero-sub-title a,.fallback-headline,.search-modal-title) { color:var(--color-text-main); }
[data-o59-color-mode] :is(.hero-lux-feed-meta,.banner1-ad-label,.fallback-subline,.popular-search-tags,.search-modal-close) { color:var(--color-text-muted); }
[data-o59-color-mode] .fallback-kicker { color:var(--color-accent-gold); }
[data-o59-color-mode] .banner1-ad-editorial-fallback { background:var(--o59-mode-ad); border-color:var(--color-border); }
[data-o59-color-mode] :is(.search-form input[type=search],.newsletter-input,.lux-newsletter-input,.popular-search-tags a) { color:var(--color-text-main); }
[data-o59-color-mode] :is(.search-form input[type=search],.newsletter-input,.lux-newsletter-input)::placeholder { color:var(--color-text-muted); opacity:1; }
[data-o59-color-mode] .search-modal-close:hover { color:var(--color-text-main); }
[data-o59-color-mode] :is(.newsletter-card,.tv-banner-card) { background:var(--color-bg-card); color:var(--color-text-main); border-color:var(--color-border); }
[data-o59-color-mode] :is(.newsletter-sub,.tv-desc) { color:var(--color-text-muted); }
[data-o59-color-mode] :is(.search-form button[type=submit],.search-form input[type=submit],.tv-cta-btn,.newsletter-btn-gold,.submit-comment-btn) { background:linear-gradient(135deg,#dfac64,#f4c68c); color:#17232b; }
[data-o59-color-mode] .page-numbers.current,
[data-o59-color-mode] .page-numbers:hover { background:#172b38; color:#f4c68c; }

/* All nine homepage sections use the same palette, with readable photo captions. */
[data-o59-color-mode] .o59ai { --o59ai-gold:var(--color-accent-gold); --o59ai-coral:var(--o59-mode-coral); --o59ai-muted:var(--color-text-muted); --o59ai-line:var(--o59-mode-line); background:var(--color-bg-alt); color:var(--color-text-main); }
[data-o59-color-mode] .o59ai :is(.o59ai-heading-wrap h2) { color:var(--o59-mode-heading); }
[data-o59-color-mode] .o59ai :is(.o59ai-heading-wrap p,.o59ai-side-copy h3,.o59ai-card h3) { color:var(--color-text-main); }
[data-o59-color-mode] .o59ai-ad { background:var(--o59-mode-ad); border-color:var(--color-border); }
[data-o59-color-mode] .o59ai-feature-copy :is(.o59ai-meta,.o59ai-calendar) { color:#dce5eb; }

/* Footer switches fully; branding and newsletter controls retain contrast. */
[data-o59-color-mode] .site-footer-luxury { color:var(--color-text-main); border-color:var(--color-border); }
[data-o59-color-mode="light"] .site-footer-luxury { background:linear-gradient(180deg,#f1ede5,#faf8f5); box-shadow:0 -4px 24px rgba(0,0,0,.06); }
[data-o59-color-mode] :is(.footer-lux-tagline,.footer-lux-brand .brand-sub,.footer-lux-nav a,.footer-lux-newsletter-desc,.footer-lux-bottom-inner,.footer-copyright-text,.footer-legal-nav a) { color:var(--color-text-main); }
[data-o59-color-mode] .footer-lux-nav a:hover,
[data-o59-color-mode] .footer-legal-nav a:hover { color:var(--color-accent-gold); }
[data-o59-color-mode] :is(.lux-social-btn,.footer-lux-newsletter-box) { background:var(--color-bg-card); color:var(--color-text-main); border-color:var(--color-border); }
[data-o59-color-mode] .lux-newsletter-input { min-width:0; }
[data-o59-color-mode] :is(.footer-lux-heading-line,.footer-brand-underline) { background-color:var(--color-accent-gold); }
[data-o59-color-mode] .lux-newsletter-submit { color:#17232b; background:linear-gradient(135deg,#ffb19c,#ff947b); }
@media print { .o59-color-mode { display:none !important; } }
