/* Shared palette: original dark design is retained; light is the default. */
:root{--theme-bg:#fbfaf7;--theme-panel:#fff;--theme-subtle:#f1eee8;--theme-ink:#292332;--theme-muted:#62596d;--theme-line:#b8adbF;--theme-link:#775113;--theme-accent:#edc56e}
html[data-theme=dark]{color-scheme:dark;--theme-bg:#100e15;--theme-panel:#211a2b;--theme-subtle:#15101d;--theme-ink:#f3eddf;--theme-muted:#c4b8cf;--theme-line:#71557e;--theme-link:#f0ca78}
html:not([data-theme=dark]){color-scheme:light;background:var(--theme-bg);color:var(--theme-ink);--ink:#292332;--forest:#33233e;--paper:#fbfaf7;--muted:#62596d;--line:#b8adbf;--gold:#775113}
html:not([data-theme=dark]) body{background:var(--theme-bg);color:var(--theme-ink)}
html:not([data-theme=dark]) :is(header.header,.card,.recipient,.airport-card,.review-card,.public-review,.program-choices article,.kk-cookie-panel,.kk-contact-dialog){background:var(--theme-panel);color:var(--theme-ink);border-color:var(--theme-line)}
html:not([data-theme=dark]) :is(.fleet-section,.contact-section,.how-section,.tour-banner,.family,.scene-disclaimer,.preview-notice,.test-note,.status,.kk-chat-panel,.kk-chat-messages,.kk-chat-box){background:var(--theme-subtle);color:var(--theme-ink);border-color:var(--theme-line)}
html:not([data-theme=dark]) :is(h1,h2,h3,label,.brand,.brand small,.eyebrow,.steps span,.door,.rate-row strong,.selected-place,.service-languages a[aria-current],#admin-state,#price-state,#feedback){color:var(--theme-ink)}
html:not([data-theme=dark]) :is(.muted,footer,.intro,.hero-foot,.signature span,.section-heading>p,.rate-row small,.tour-banner p,.how-note,.review-policy,.contact-links small,.fleet-grid figcaption,.media-credit,.seo-intro p,.creator-credit,.policy-grid p,.policies,.place-suggestions p,.place-suggestions small){color:var(--theme-muted)}
html:not([data-theme=dark]) :is(input,select,textarea,pre,.place-suggestions,.place-suggestions button){background:var(--theme-panel);color:var(--theme-ink);border-color:var(--theme-line)}
html:not([data-theme=dark]) :is(.primary,.button.gold,.tour-banner .button,.kk-cookie-actions button){background:var(--theme-accent);color:#292332;border-color:#94701f}
html:not([data-theme=dark]) :is(.secondary,.subtle,.count-control button){background:var(--theme-subtle);color:var(--theme-ink);border-color:var(--theme-line)}
html:not([data-theme=dark]) :is(.actions a,.map-credit a,.kk-privacy-links a,.kk-privacy-links button,#privacy-root a,.kk-cookie-panel a,.review-stars){color:var(--theme-link)}
html:not([data-theme=dark]) :is(.rate-row,.steps>div,.policy-grid details,section[id],.child-row,.admin-row,.owner,th,td){border-color:var(--theme-line)}
html:not([data-theme=dark]) .policies .airport-timing{background:#fff0c9;color:#513a0d;border-color:#94701f}
html:not([data-theme=dark]) .hero-visual>img{background:#eee9df}
html:not([data-theme=dark]) .price-stamp{background:#33233e;border-color:var(--theme-bg);color:#fff}
html:not([data-theme=dark]) .price-stamp strong{color:#f0ca78}
html:not([data-theme=dark]) :focus-visible{outline-color:#775113}
html[data-theme=dark] .public-review{background:var(--theme-panel);color:var(--theme-ink);border-color:var(--theme-line)}
.theme-toggle{flex:0 0 32px;width:32px;height:36px;min-height:36px;padding:7px;border:0;border-radius:6px;background:transparent;color:var(--theme-ink);cursor:pointer;margin-left:0}.theme-toggle svg{display:block;width:18px;height:18px}.theme-toggle:hover{background:var(--theme-subtle)}
.water-note{color:var(--theme-ink);font-size:1rem;font-weight:600;line-height:1.6;flex-basis:100%;margin:0 0 18px}
.password-field{display:flex;gap:8px;align-items:center;width:100%}.password-field input{flex:1;min-width:0;margin:0}.password-eye{flex:0 0 44px;min-height:44px;border:1px solid var(--theme-line);border-radius:6px;background:var(--theme-subtle);color:var(--theme-ink);font-size:21px;cursor:pointer}
#password-state,#login-state,#reset-state{color:var(--theme-link);font-weight:700;overflow-wrap:anywhere;margin-block:12px}#temporary-output{padding:16px;border:2px solid var(--theme-line);overflow-wrap:anywhere}#temporary-output code{font-size:1.1rem;user-select:all}#messenger-hint{display:block;align-self:center;color:var(--theme-muted);line-height:1.6;flex:1 1 100%}
@media(max-width:650px){header.header{flex-wrap:wrap;gap:8px}.theme-toggle{width:32px;flex-basis:32px}.header .brand{margin-right:auto}.header .lang-label,.header label{margin-left:0}.header .kk-quick-contact{margin-left:0}}
html:not([data-theme=dark]) :is(header,#panel section,.kk-card,.trip-card,.place-panel){background:var(--theme-panel);color:var(--theme-ink);border-color:var(--theme-line)}
html:not([data-theme=dark]) :is(header strong,#kk-root,#kk-chat,.kk-field){color:var(--theme-ink)}
html:not([data-theme=dark]) :is(#kk-chat,.kk-bubble,.kk-bubble.user,.kk-notice,.kk-status,.notice){background:var(--theme-subtle);color:var(--theme-ink);border-color:var(--theme-line)}
html:not([data-theme=dark]) :is(.kk-btn,.kk-tabs button,.trip-controls button){background:var(--theme-subtle);color:var(--theme-ink);border-color:var(--theme-line)}
html:not([data-theme=dark]) :is(.kk-btn.primary,.kk-tabs button[aria-selected=true]){background:var(--theme-accent);color:#292332}
html:not([data-theme=dark]) :is(.kk-muted,.kk-bubble small,.trip-invitation,.trip-card p,.trip-controls span,.trip-lead,.trip-note,#price-note){color:var(--theme-muted)}
html:not([data-theme=dark]) :is(#kk-chat textarea,.kk-field input,.kk-field select,.kk-field textarea){background:var(--theme-panel);color:var(--theme-ink);border-color:var(--theme-line)}
html[data-theme=dark] .test-label{color:#f0ca78}

/* v60: compact controls and explicit contrast for photographic overlays. */
.header :is(.lang-label,label)>select{border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-panel);color:var(--theme-ink);min-height:36px;padding:8px 10px;margin-top:0;box-shadow:0 1px 3px #0001;cursor:pointer;font-size:13px}
html .scene-caption{background:linear-gradient(transparent,#100d12ed 30%,#100d12);text-shadow:0 1px 3px #000}
html .scene-caption :is(h2,p,span){color:#fff}
html .scene-caption>strong{color:#f3ca73}
html:not([data-theme=dark]) :is(.trip-room,.trip-collage,.signature,.showcase){background:var(--theme-subtle)}
html:not([data-theme=dark]) :is(.trip-photo-caption,.signature p,.activity-choices legend,.kk-tour-link,#kk-chat summary,#kk-chat .kk-chat-status,.kk-contact-help){color:var(--theme-ink)}
html:not([data-theme=dark]) :is(.kk-bot-intro,.kk-contact-option,.kk-contact-close,.kk-message){background:var(--theme-panel);color:var(--theme-ink);border-color:var(--theme-line)}
html:not([data-theme=dark]) :is(.kk-message.error,.field-error-text,#feedback.form-feedback-error){background:#fff0f2;color:#812339;border-color:#a63850}
html:not([data-theme=dark]) label.field-error>span{color:#812339}
html:not([data-theme=dark]) :is(input,textarea)::placeholder{color:var(--theme-muted);opacity:1}
html:not([data-theme=dark]) #kk-chat a:focus-visible,html:not([data-theme=dark]) #kk-chat button:focus-visible{outline-color:#775113}
html:not([data-theme=dark]) .kk-contact-wa{background:#106c38;color:#fff;border-color:#106c38}
html .kk-quick-contact{background:#106c38;color:#fff}
html[data-theme=dark] .kk-contact-option:not(.kk-contact-wa){background:var(--theme-panel);color:var(--theme-ink);border-color:var(--theme-line)}
html[data-theme=dark] .kk-contact-help{color:var(--theme-muted)}
html:not([data-theme=dark]) :is(.reply-page section,.reply-page details){background:var(--theme-panel);color:var(--theme-ink);border-color:var(--theme-line)}
html:not([data-theme=dark]) body:has(script[src*="reply"]) :is(section,details){background:var(--theme-panel);color:var(--theme-ink);border-color:var(--theme-line)}
html[data-theme=dark] .review-stars{color:#f0ca78}
html:not([data-theme=dark]) :is(.kk-cookie-panel button,.kk-cookie-panel input):focus-visible{outline-color:#775113}
html:not([data-theme=dark]) :is(.place-dismiss,.place-panel>small,.kk-intro-close){color:var(--theme-ink)}
html:not([data-theme=dark]) .kk-chat-toggle{background:var(--theme-accent);color:#292332}

/* Explicit specificity keeps overlay captions readable in both themes. */
html[data-theme] .showcase #scene-title,html:not([data-theme]) .showcase #scene-title,html .showcase #scene-basis,html .showcase #scene-count{color:#fff;text-shadow:0 1px 4px #000,0 2px 10px #000a}
html .showcase #scene-price,html .showcase #scene-tag{color:#f3ca73;text-shadow:0 1px 4px #000,0 2px 10px #000a}
html .showcase .scene-caption{background:linear-gradient(transparent,#100d12ed 30%,#100d12);text-shadow:0 1px 4px #000}

html .showcase #scene-title a{color:inherit;text-decoration:underline;text-underline-offset:.15em}
