/* Softer slate surfaces with readable inverse text. */
:root{--dark-surface:#435866;--dark-raised:#536b79;--dark-border:#8094a1;--tint:var(--dark-surface);--surface-border:var(--dark-border);--surface-accent:var(--dark-surface);--ink:#202020;--muted:#626262;--line:#e4e4e4;--on-dark:#ffffff;--on-dark-muted:#e3e9ed;--on-dark-link:#ffe4dc}

/* Scope inverse text tokens to filled panels, never to the white page. */
:is(.trip-search,.filter-bar,.form-panel,.quote-card,.enquiry-aside,.package-route-heading,.package-route,.package-quote,.package-closing,.package-page .related .tour-card>div){
  --ink:var(--on-dark);--muted:var(--on-dark-muted);--accent-ink:var(--on-dark-link);--line:var(--dark-border);
  background:var(--dark-surface);color:var(--on-dark);border-color:var(--dark-border);
}
:is(.trip-search,.form-panel,.quote-card,.enquiry-aside,.package-quote,.package-closing,.package-page .related .tour-card>div) :is(.text-link,.phone-link,.reset-button){color:var(--on-dark-link)}
:is(.form-panel,.quote-card,.enquiry-aside,.package-quote,.package-closing) .eyebrow{color:var(--on-dark-link)}
:is(.trip-search,.form-panel,.filter-bar) :is(input,select,textarea):focus-visible{outline:3px solid #fff;outline-offset:3px}

/* Search fields invert; the calendar popover retains its own light palette. */
.trip-search :is(svg,b){color:#fff}
.trip-search .search-field select{background:transparent;color:#fff;color-scheme:dark}
.trip-search .search-field option{background:var(--dark-raised);color:#fff}
.trip-search>label.search-field,.trip-search .when-picker{border-color:var(--dark-border)}
.when-picker[open] summary{background:var(--dark-raised)}
.when-panel{--ink:#202020;--muted:#626262;--accent-ink:#be3215;--line:#ddd;background:#fff;color:#202020;border-color:#bbb}
.when-options{background:#f1f1f1}
.trip-search .when-panel :is(input,select){color:#202020;border-color:#999;color-scheme:light}
.trip-search .when-panel :is(input,select,button):focus-visible{outline-color:#be3215}
.when-actions #when-clear{color:#333}
.icon-circle,.step{background:var(--dark-surface);color:#fff}
.route-chips a:hover,.card-meta span{background:#f4f4f4}

/* High-contrast form fields, errors and the review draft inside slate panels. */
.form-panel :is(input,select,textarea),.filter-bar select{--ink:#202020;background:#fff;color:#202020;border-color:#777;color-scheme:light}
.form-panel :is(input,textarea)::placeholder{color:#6b6b6b;opacity:1}
.form-panel pre{--ink:#202020;background:#fff;color:#202020;border-color:#777}
.form-panel .form-error{color:#ffd4c8}
.form-panel .button.secondary{background:transparent;color:#fff;border-color:#909090}
.form-panel .button.secondary:hover{background:var(--dark-raised);border-color:#fff;color:#fff}
.form-panel .form-help a{color:var(--on-dark-link)}
.enquiry-aside hr,.quote-card dl>div{border-color:var(--dark-border)}

/* Package tabs, route, quote, related cards and closing banner. */
.package-page{--package-panel:var(--dark-surface);--package-rule:#ddd}
.package-nav :is(a,button){background:var(--dark-surface);border-color:var(--dark-surface);color:#fff}
.package-nav button[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
@media(hover:hover){.package-nav :is(a,button):not([aria-selected="true"]):hover{background:var(--dark-raised);border-color:var(--dark-raised);color:#fff}}
.package-section[role="tabpanel"]:focus-visible{outline-color:#555}
.package-route>li:not(:last-child):before{background:#777}
.route-number{background:var(--dark-raised);border-color:#777;color:#fff}
.package-note{border-left-color:#999}
.coverage-symbol{background:var(--dark-surface);color:#fff}
.package-excluded .coverage-symbol{background:#f2f2f2;color:#626262}
.package-coverage li::marker{color:#666}
.package-quote{border-color:var(--dark-border);box-shadow:0 14px 45px #00000012}
.package-quote dl>div{border-color:var(--dark-border)}
.package-gallery-button:hover{background:var(--dark-surface);color:#fff;border-color:#fff}
.package-page .related .card-meta span{background:var(--dark-raised);border-color:#555;color:var(--on-dark-muted)}
.package-lightbox{background:var(--dark-raised)}
.package-lightbox::backdrop{background:#15212bec}
.package-gallery-item:after{background:linear-gradient(180deg,#0005,transparent 38%,transparent)}

/* Tour collection: keep white cards, with slate planning and selection surfaces. */
.tours-page{color:#202020}
.tours-page :is(.listing-intro-photo,.listing-card-photo){background:var(--dark-surface)}
.tours-page .listing-intro-photo:after{background:linear-gradient(transparent,#000a)}
.tours-page .listing-intro-link{border-color:#bbb}
.tours-page :is(.listing-intro-copy>p:not(.eyebrow),.listing-section-title p,.listing-clear,#month-note,.listing-card-meta,.listing-card-meta>span:last-child,.listing-description,.listing-places>span,.listing-travel-note){color:#626262}
.tours-page .listing-clear:hover{color:#be3215}
.tours-page .listing-filters{background:var(--dark-surface);border-color:var(--dark-surface);color:#fff}
.tours-page .listing-filters label{color:#fff}
.tours-page .listing-filters select{color:#202020;border-color:#777;color-scheme:light}
.tours-page .listing-filters select:hover{border-color:#bbb}
.tours-page .listing-filters select:focus-visible{outline:3px solid #fff;outline-offset:3px}
.tours-page .listing-filter-chip{background:var(--dark-surface);border-color:var(--dark-surface);color:#fff}
.tours-page .listing-filter-chip:hover{background:var(--dark-raised);border-color:var(--dark-raised);color:#fff}
.tours-page .listing-period{border-color:#888}
.tours-page .listing-tour-card{border-color:#e1e1e1}
.tours-page .listing-tour-card:hover{border-color:#b5b5b5;box-shadow:0 14px 30px #0000000d}
.tours-page .listing-region{color:#333}
.tours-page .listing-places p{color:#444}
.tours-page .listing-card-action{background:var(--accent);color:#fff}
.tours-page .listing-card-arrow{background:transparent;color:#fff}
.tours-page :is(.listing-empty,.listing-personal){background:var(--dark-surface);border-color:var(--dark-surface);color:#fff}
.tours-page .listing-empty-icon{background:var(--dark-raised);color:#fff}
.tours-page .listing-empty p,.tours-page .listing-personal p:not(.eyebrow){color:var(--on-dark-muted)}
.tours-page .listing-empty .text-link,.tours-page .listing-personal .eyebrow{color:var(--on-dark-link)}

/* Printable trip documents should not rely on printed background fills. */
@media print{.package-page :is(.package-route-heading,.package-route,.package-closing,.related .tour-card>div){--ink:#202020;--muted:#626262;--accent-ink:#be3215;background:#fff;color:#202020;border-color:#aaa}.route-number{background:#fff;color:#202020;border-color:#777}}
