/* RIO FLIGHT EXPERIENCE — Midnight / champagne-gold edition.
   This layer changes colour and finish only; layout and booking behaviour stay in their owners. */
html:has(body.dark-theme) {
  color-scheme: dark;
  scrollbar-color: #59647a #07111f;
  scrollbar-width: thin;
}
body.dark-theme,
body.dark-theme * {
  scrollbar-color: #59647a #07111f;
  scrollbar-width: thin;
}
html:has(body.dark-theme)::-webkit-scrollbar,
body.dark-theme::-webkit-scrollbar,
body.dark-theme *::-webkit-scrollbar { width: 7px; height: 7px; }
html:has(body.dark-theme)::-webkit-scrollbar-track,
body.dark-theme::-webkit-scrollbar-track,
body.dark-theme *::-webkit-scrollbar-track { background: #07111f; }
html:has(body.dark-theme)::-webkit-scrollbar-thumb,
body.dark-theme::-webkit-scrollbar-thumb,
body.dark-theme *::-webkit-scrollbar-thumb {
  background: #59647a;
  border: 2px solid #07111f;
  border-radius: 8px;
}
html:has(body.dark-theme)::-webkit-scrollbar-thumb:hover,
body.dark-theme::-webkit-scrollbar-thumb:hover,
body.dark-theme *::-webkit-scrollbar-thumb:hover { background: #9c8968; }
html:has(body.dark-theme)::-webkit-scrollbar-corner,
body.dark-theme::-webkit-scrollbar-corner,
body.dark-theme *::-webkit-scrollbar-corner { background: #07111f; }
body.dark-theme {
  --ink: #f2eee6;
  --paper: #07111f;
  --muted: #a8b4c4;
  --line: #29394d;
  --gold: #c6a56b;
  --navy: #081525;
  --surface: #0e2034;
  --surface-raised: #10243a;
  color-scheme: dark;
  color: var(--ink);
  background: var(--paper);
  scrollbar-color: #59647a #07111f;
}
body.dark-theme ::selection { background: #c6a56b55; color: #fff9eb; }
body.dark-theme :is(button,a,input,select):focus-visible { outline-color: #d8b779; }
body.dark-theme .skip { background: var(--gold); color: #081525; }
body.dark-theme .header {
  background: #081525;
  border-bottom: 1px solid #c6a56b2b;
  box-shadow: 0 8px 35px #02081222;
}
body.dark-theme .brand strong { color: #f2eee6; }
body.dark-theme .brand small,
body.dark-theme .brand-icon { color: var(--gold); }
body.dark-theme .desktop-nav { color: #a8b4c4; }
body.dark-theme .desktop-nav .active { color: #e0c18b; }
body.dark-theme .desktop-nav a:hover,
body.dark-theme .desktop-nav button:hover { color: #e7cb99; }
body.dark-theme .language,
body.dark-theme .language button { color: #a4afbf; }
body.dark-theme .language .selected { color: #e0c18b; }
body.dark-theme .trips-button { border-color: #b5945d66; color: #e5cb9c; background: #c6a56b08; }
body.dark-theme .trips-button:hover { background: #c6a56b18; border-color: #c6a56b; }

body.dark-theme .hero { background: #0e2339; color: #fff9ee; }
body.dark-theme .hero-photo { filter: saturate(.82) brightness(.83); }
body.dark-theme .hero-shade {
  background: linear-gradient(90deg,#051021d9 0%,#07172b8c 42%,#09172b19 76%),
    linear-gradient(0deg,#07111f9c,transparent 55%);
}
body.dark-theme .hero-eyebrow { color: #dbc293; }
body.dark-theme .hero h1 { color: #fff9ee; text-shadow: 0 2px 30px #04102233; }
body.dark-theme .hero p { color: #d5dce5; }
body.dark-theme .hero-link { color: #eddec4; border-color: #c6a56b88; }
body.dark-theme .hero-link:hover { color: #fff1d6; border-color: #e9c991; }
body.dark-theme .hero-caption { color: #e4dfd5; }
body.dark-theme .hero-counter { color: #ddd3be; }
body.dark-theme .hero-counter i { background: #c6a56b; }

body.dark-theme .search-bar {
  background: linear-gradient(115deg,#102237,#0c1b2d);
  border-color: #b997603b;
  box-shadow: 0 16px 44px #0208156b,inset 0 1px 0 #fff3da08;
}
body.dark-theme .search-field { border-color: #334054; }
body.dark-theme .search-field label>span { color: #a8b4c4; }
body.dark-theme .search-field input,
body.dark-theme .search-field select { color: #f0e9dc; background-color: transparent; color-scheme: dark; }
body.dark-theme .search-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23c6a56b'/%3E%3C/svg%3E");
}
body.dark-theme select option { background: #0d2035; color: #f2eee6; }
body.dark-theme input::-webkit-calendar-picker-indicator { opacity: .82; }
body.dark-theme .primary {
  color: #081525;
  background: linear-gradient(115deg,#dbbd85,#bf9d61);
  border-color: #d0ad72;
  box-shadow: 0 4px 18px #c6a56b0d;
  font-weight: 600;
}
body.dark-theme .primary:hover { color: #061121; background: #e3c68f; border-color: #e8ca92; }
body.dark-theme .search-error { color: #eab5a4; background: transparent; }
body.dark-theme .benefits { color: #a8b4c4; border-color: #26364b; }
body.dark-theme .eyebrow,
body.dark-theme .field-icon,
body.dark-theme .benefits i { color: var(--gold); }
body.dark-theme .heading-description { color: #a8b4c4; }
body.dark-theme .tab,
body.dark-theme .filter-button { background: #0d1c2e; border-color: #2c3b50; color: #c0c9d4; }
body.dark-theme .tab.active { background: #c6a56b; color: #071526; border-color: #c6a56b; font-weight: 600; }
body.dark-theme .tab:hover:not(.active),
body.dark-theme .filter-button:hover { background: #182b43; border-color: #7e6d50; }
body.dark-theme .filter-right>span { color: #a4afbf; }
body.dark-theme .filter-panel { background: #0d1f33; border: 1px solid #293b50; }
body.dark-theme .filter-panel label { color: #b9c2ce; }
body.dark-theme .filter-panel select { background: #081728; color: #f2eee6; border-color: #374760; }
body.dark-theme .text-button { color: #d4b67e; }
body.dark-theme .text-button:hover { color: #efd3a0; }
body.dark-theme .active-search { color: #b3bfce; }
body.dark-theme .active-search button { color: #d4b67e; }

body.dark-theme .experience-card {
  background: linear-gradient(155deg,#102238,#0b1a2c);
  border-color: #2a3a50;
  box-shadow: 0 12px 26px #0107101c;
}
body.dark-theme .experience-card:hover { border-color: #b9965b99; box-shadow: 0 16px 40px #02091599; }
body.dark-theme .card-photo img { filter: saturate(.9); }
body.dark-theme .card-tag { background: #091626e8; color: #eed6ad; border: 1px solid #b294614f; backdrop-filter: blur(8px); }
body.dark-theme .favorite { color: #e5d2ad; background: #081626dd; border: 1px solid #c6a56b55; }
body.dark-theme .favorite.is-favorite { color: #f0cd83; background: #1b283aee; }
body.dark-theme .favorite.is-favorite .icon { fill: #c6a56b66; }
body.dark-theme .photo-label { color: #fff7e9; }
body.dark-theme .card-category { color: #c6a56b; }
body.dark-theme .card-body h3 { color: #f4eee4; }
body.dark-theme .card-description { color: #b1bdcc; }
body.dark-theme .card-meta { color: #b5c0cd; }
body.dark-theme .card-meta .icon { color: #c6a56b; }
body.dark-theme .card-footer { border-color: #2a3a4e; }
body.dark-theme .price-from,
body.dark-theme .price-line small,
body.dark-theme .card-price-context { color: #a5b2c3; }
body.dark-theme .price-line strong { color: #efdab2; }
body.dark-theme .card-cta { background: #c6a56b12; border-color: #bb995d77; color: #e3c58e; }
body.dark-theme .card-cta:hover { background: #c6a56b; color: #081525; border-color: #d7b67a; }
body.dark-theme .price-footnote { color: #a7b2c1; }
body.dark-theme .empty-state { background: #0c1b2c; border-color: #46536b; }
body.dark-theme .empty-state>svg { color: #c6a56b; }
body.dark-theme .empty-state p { color: #a8b4c4; }
body.dark-theme .favorite-view-heading { color: #f2eee6; }
body.dark-theme .favorite-view-heading button { color: #d6b77f; }

body.dark-theme .signature { background: #102239; border: 1px solid #b4945c44; }
body.dark-theme .signature-copy { background: linear-gradient(135deg,#10243b,#0a192b); }
body.dark-theme .signature-copy p { color: #bac4d1; }
body.dark-theme .signature-copy h2 { color: #f1e8d8; }
body.dark-theme .signature-note { color: #a3b1c3; }
body.dark-theme .signature-image:after { background: linear-gradient(0deg,#07152599,transparent 80%); }
body.dark-theme .signature-stamp { color: #fbf0db; }
body.dark-theme .step-number { color: #c6a56b; }
body.dark-theme .steps p { color: #a8b4c4; }
body.dark-theme .demo-note { background: #c6a56b08; border-color: #ab8b532e; color: #b1bbca; }
body.dark-theme .faq details { border-color: #29394d; }
body.dark-theme .faq details p { color: #b0bdcc; }
body.dark-theme footer { background: #050e1a; border-top: 1px solid #b5945d33; color: #ede5d6; }
body.dark-theme .footer-top p { color: #d8c8aa; }
body.dark-theme .footer-top>div { color: #b2bdcb; }
body.dark-theme .footer-bottom { border-color: #223147; color: #a7b4c4; }
body.dark-theme .mobile-nav { background: #081626f2; border-color: #b5945d44; }
body.dark-theme .mobile-nav>a,
body.dark-theme .mobile-nav>button { color: #dfc18a; }
body.dark-theme .toast { background: #152b42; color: #f2e3c7; border: 1px solid #ac8c5566; box-shadow: 0 10px 40px #0009; }

/* Experience and reference dialogs. */
body.dark-theme dialog { color: #f2eee6; box-shadow: 0 24px 100px #010610d9; }
body.dark-theme dialog::backdrop { background: #020916c9; backdrop-filter: blur(7px); }
body.dark-theme .detail-dialog,
body.dark-theme .info-dialog { background: #0c1b2e; border: 1px solid #c6a56b40; }
body.dark-theme .dialog-close { background: #0a192ce8; border-color: #a48a5b70; color: #e4c78f; }
body.dark-theme .dialog-close:hover { background: #1b2e45; }
body.dark-theme .detail-visual:after { background: linear-gradient(0deg,#061526d6,transparent 70%); }
body.dark-theme .detail-caption { color: #f7ead1; }
body.dark-theme .detail-caption small { color: #d3d8de; }
body.dark-theme .detail-content>p,
body.dark-theme .detail-facts span,
body.dark-theme .route,
body.dark-theme .includes li,
body.dark-theme .detail-book small,
body.dark-theme .detail-demo { color: #b0bdcd; }
body.dark-theme .detail-facts,
body.dark-theme .detail-book { border-color: #2b3c53; }
body.dark-theme .detail-notes { background: #13263c; border: 1px solid #31445b; }
body.dark-theme .detail-book strong { color: #ead1a2; }
body.dark-theme .info-dialog p { color: #b0bdcd; }
body.dark-theme .info-dialog h3 { color: #e6c992; }
body.dark-theme .source-list li { border-color: #293b51; color: #d3dbe4; }
body.dark-theme .source-list a { color: #d2b77f; }

/* Reservation module is injected later; body scope deliberately wins its defaults. */
body.dark-theme .booking-dialog {
  background: #0c1c2e;
  color: #f2eee6;
  border: 1px solid #a68b594d;
  box-shadow: 0 28px 100px #010610dd;
}
body.dark-theme .booking-dialog::backdrop { background: #020916c9; }
body.dark-theme .rb-top { border-color: #2a3b50; background: linear-gradient(110deg,#11253c,#0c1c2e); }
body.dark-theme .rb-eyebrow { color: #c6a56b; }
body.dark-theme .rb-heading,
body.dark-theme .rb-item-title,
body.dark-theme .rb-trip-name { color: #f2eada; }
body.dark-theme .rb-close { background: #1a2d44; color: #dfc18b; border: 1px solid #826e4e66; }
body.dark-theme .rb-close:hover { background: #273b53; }
body.dark-theme .rb-demo { color: #b6bfca; }
body.dark-theme .rb-demo:before { background: #c6a56b; }
body.dark-theme .rb-steps { color: #a8b4c4; }
body.dark-theme .rb-step-number { border-color: #4a566a; }
body.dark-theme .rb-step.active { color: #e3c792; }
body.dark-theme .rb-step.active .rb-step-number { background: #c6a56b; border-color: #c6a56b; color: #071526; }
body.dark-theme .rb-image,
body.dark-theme .rb-trip-image { border: 1px solid #c6a56b26; }
body.dark-theme .rb-small,
body.dark-theme .rb-description,
body.dark-theme .rb-route p,
body.dark-theme .rb-hint { color: #a8b6c7; }
body.dark-theme .rb-meta { color: #d1ba90; }
body.dark-theme .rb-meta span { background: #c6a56b12; border: 1px solid #b799602b; }
body.dark-theme .rb-route { border-color: #2d3d51; }
body.dark-theme .rb-route strong { color: #e2d7c4; }
body.dark-theme .rb-label { color: #d9dfE7; }
body.dark-theme .rb-input,
body.dark-theme .rb-select { color: #f3ebde; background: #071729; border-color: #3b4a60; color-scheme: dark; }
body.dark-theme .rb-input::placeholder { color: #91a1b6; opacity: 1; }
body.dark-theme .rb-input:focus,
body.dark-theme .rb-select:focus { border-color: #c6a56b; box-shadow: 0 0 0 3px #c6a56b1a; }
body.dark-theme .rb-guests { background: #071729; border-color: #3b4a60; }
body.dark-theme .rb-guests button { color: #e4c68d; background: #1b2e44; }
body.dark-theme .rb-guests button:hover:not(:disabled) { background: #314359; }
body.dark-theme .rb-guests input { color: #f2eee6; }
body.dark-theme .rb-mode span { background: #08182b; border-color: #3b4b61; color: #b5c2d2; }
body.dark-theme .rb-mode input:checked+span { background: #c6a56b18; border-color: #c6a56b; color: #ecd2a1; }
body.dark-theme .rb-mode input:focus-visible+span { outline-color: #d6b57b; }
body.dark-theme .rb-single-mode { background: #142a41; color: #e2c38b; }
body.dark-theme .rb-summary-box { background: #10243a; border-color: #3a4a5f; }
body.dark-theme .rb-row span:first-child { color: #adbacb; }
body.dark-theme .rb-row strong { color: #f1eadf; }
body.dark-theme .rb-price-row { border-color: #3a485b; }
body.dark-theme .rb-price-row strong { color: #edd1a0; }
body.dark-theme .rb-source { color: #d4b67d; }
body.dark-theme .rb-source:hover { color: #f0d5a5; }
body.dark-theme .rb-note { background: #c6a56b0e; color: #d0c2a7; border: 1px solid #b99a5f33; }
body.dark-theme .rb-footer { background: #0a192b; border-color: #334057; box-shadow: 0 -10px 20px #03102038; }
body.dark-theme .rb-total-label,
body.dark-theme .rb-total-unit { color: #aab9cb; }
body.dark-theme .rb-total-value { color: #f0d3a0; }
body.dark-theme .rb-button { background: linear-gradient(115deg,#dbbd85,#bf9d61); color: #081525; border-color: #c6a56b; font-weight: 600; }
body.dark-theme .rb-button:hover { background: #e2c68f; color: #081525; }
body.dark-theme .rb-button.secondary { background: #c6a56b09; color: #e0c38f; border-color: #9d845b99; }
body.dark-theme .rb-button.secondary:hover { background: #c6a56b1a; color: #f2d9ac; }
body.dark-theme .rb-button.text { color: #c3cddb; background: transparent; border-color: transparent; }
body.dark-theme .rb-button.text:hover { color: #eed4a5; background: transparent; }
body.dark-theme .rb-button.danger { color: #fff3e9; background: #884d48; border-color: #b67468; }
body.dark-theme .rb-button.danger:hover { background: #a26157; }
body.dark-theme .rb-error { background: #552d2c40; color: #f1b6a4; border-color: #9e655c77; }
body.dark-theme .rb-success-mark { background: #c6a56b1a; color: #dec18a; border: 1px solid #c6a56b55; }
body.dark-theme .rb-success>p { color: #b6c3d2; }
body.dark-theme .rb-saved-badge { background: #c6a56b19; color: #e4c58d; border: 1px solid #c6a56b40; }
body.dark-theme .rb-trip { border-color: #2c3e54; }
body.dark-theme .rb-trip-line { color: #aebed0; }
body.dark-theme .rb-delete-confirm { background: #9d6b4517; color: #e0bd97; border: 1px solid #a980554d; }
body.dark-theme .rb-empty p,
body.dark-theme .rb-modal-hint,
body.dark-theme .rb-optional,
body.dark-theme .rb-name-row { color: #a6b4c6; }

@media (max-width: 620px) {
  body.dark-theme .hero-shade { background: linear-gradient(90deg,#041023de,#07172b40),linear-gradient(0deg,#07111f99,transparent 70%); }
  body.dark-theme .search-field:nth-child(1),
  body.dark-theme .search-field:nth-child(2) { border-color: #334054; }
}
/* A clear way back when the app is opened outside the device presentation. */
body.dark-theme .presentation-return{background:#060e1a;border-bottom:1px solid #243349;padding:7px 48px;font-size:10px;color:#c6a56b;letter-spacing:.3px}
body.dark-theme .presentation-return a{display:inline-flex;gap:9px;align-items:center}
body.dark-theme.is-embedded .presentation-return{display:none}
@media(max-width:620px){body.dark-theme .presentation-return{padding:7px 20px;font-size:9px}}
