/* Topli Mediteran: shared public presentation, including embedded planner and
   dialogs adopted by the parent/fullscreen document. No layout or map rules. */
@media (forced-colors: none) {
  :is(body:has(.site-header), body.stacked-choice) {
    --montis-page: #f7f4ee;
    --montis-paper: #fffcf7;
    --montis-band: #efe3d1;
    --montis-ink: #193f49;
    --montis-muted: #5b6968;
    --montis-line: #dcd4c7;
    --montis-field: #918675;
    --montis-action: #236b58;
    --montis-action-hover: #195443;
    --montis-coffee: #76502c;
    --montis-selection: #edf2e9;
    --montis-font: Arial, Helvetica, sans-serif;
    --background: var(--montis-page);
    --foreground: var(--montis-ink);
    --card: var(--montis-paper);
    --card-foreground: var(--montis-ink);
    --popover: var(--montis-paper);
    --popover-foreground: var(--montis-ink);
    --primary: var(--montis-action);
    --primary-foreground: #fff;
    --secondary: var(--montis-band);
    --secondary-foreground: var(--montis-ink);
    --muted: var(--montis-band);
    --muted-foreground: var(--montis-muted);
    --accent: var(--montis-selection);
    --accent-foreground: var(--montis-ink);
    --border: var(--montis-line);
    --input: var(--montis-field);
    --ring: var(--montis-action);
    --green: var(--montis-action);
    background-color: var(--montis-page);
    color: var(--montis-ink);
    font-family: var(--montis-font);
  }

  /* The standalone planner uses --muted for text, while React uses it for a surface. */
  body.stacked-choice {
    --muted: var(--montis-muted);
  }

  :is(body:has(.site-header), body.stacked-choice) :is(button, input, select, textarea, summary) {
    font-family: var(--montis-font);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(h1, h2, h3, h4) {
    font-family: var(--montis-font);
    font-weight: 700;
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.site-header, .site-navigation, .site-partner-options, .site-language-options) {
    background-color: var(--montis-paper);
    border-color: var(--montis-line);
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.site-language-toggle, .site-menu-toggle) {
    color: var(--montis-ink);
    border-color: var(--montis-line);
  }
  :is(body:has(.site-header), body.stacked-choice) .site-language-toggle {
    background-color: var(--montis-band);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.site-language-option[aria-checked=true], .site-nav-links>a:hover, .site-partner-options>a:hover, .site-language-option:hover) {
    background-color: var(--montis-band);
    color: var(--montis-ink);
  }

  /* One heading family throughout the public pages and request journey. */
  :is(body:has(.site-header), body.stacked-choice) :is(.home-proposal-section-header h1, .home-proposal-section-header h2, .content-page>h1, .content-directory-heading>h1, .content-info>h1, .content-creator-intro>h1, .transfer-page-intro>h1) {
    font-family: var(--montis-font);
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) .tour-booking-inline .tour-request-main>h2,
  :is(body:has(.site-header), body.stacked-choice) .tour-request-flow[data-stage="2"] .tour-request-main>h2 {
    font: 700 24px/1.25 var(--montis-font);
    letter-spacing: -.5px;
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.tour-inline-price h3, .tour-inline-pickup>h3) {
    font: 700 18px/1.35 var(--montis-font) !important;
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) .tour-review-contact h3 {
    font: 700 18px/1.35 var(--montis-font);
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.montis-place-dialog h2, .montis-gospa-access h2, dialog[data-montis-itinerary] h2, dialog[data-montis-boat-details]>.inline-boat-dialog-header>h2) {
    font: 700 23px/1.25 var(--montis-font);
    letter-spacing: -.4px;
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(dialog[data-montis-itinerary] .journey-stop>strong, dialog[data-montis-boat-details] .inline-boat-dialog-stop>div>h3) {
    font-family: var(--montis-font);
    font-weight: 700;
    color: var(--montis-ink);
  }

  /* Calm surfaces replace the unrelated blue/green near-whites. */
  :is(body:has(.site-header), body.stacked-choice) :is(.panel, .content-contact-options>a, .content-call-group, .content-plan-card, .tour-request-summary, .tour-request-flow .tour-request-main, .tour-booking-inline[data-stage="0"] .tour-request-main, .tour-request-flow[data-stage="2"] .tour-request-main, .tour-inline-price, .date-panel, .time-panel, .departure-time-panel, .montis-place-dialog, .montis-gospa-access, dialog[data-montis-itinerary], dialog[data-montis-boat-details], .montis-photo-preview, .options-panel) {
    background-color: var(--montis-paper);
    border-color: var(--montis-line);
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.home-proposal-tour, .home-proposal-tour-body, .content-directory .content-tour-card, .content-directory .content-card-body, .content-about-layout figcaption, .tour-review-price, .mpd-summary, .montis-place-dialog .mpd-summary, .montis-place-dialog .mpd-x, .montis-gospa-access .gad-close, .montis-gospa-access .gad-details, .map-legend) {
    background-color: var(--montis-band);
    border-color: var(--montis-line);
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.home-proposal-stack>section+section)::before {
    background-color: var(--montis-line);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.home-proposal-section-header, .compact-site-footer, .tour-review-contact, .tour-review-itinerary, .journey-extra-section, .montis-place-dialog .mpd-head, .montis-place-dialog .mpd-footer, .montis-gospa-access .gad-head, .montis-gospa-access .gad-footer, .inline-boat-dialog-header, .montis-itinerary-heading) {
    border-color: var(--montis-line);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.montis-place-dialog .mpd-head, .montis-place-dialog .mpd-footer, .montis-gospa-access .gad-footer, .inline-boat-dialog-header, .montis-itinerary-heading, .map-presentation-header) {
    background-color: var(--montis-paper);
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.compact-site-footer, .content-page p, .tour-quote-prompt, .tour-inline-price>p, .tour-review-price-label, .tour-review-price [aria-live]>small, .tour-review-extras dt, .tour-request-progress li, .montis-place-dialog .mpd-description, .montis-place-dialog .mpd-note, .montis-place-dialog .mpd-fixed, .montis-place-dialog .mpd-row small, .montis-gospa-access small, .montis-gospa-access .gad-note, .montis-gospa-access .gad-detail-body p) {
    color: var(--montis-muted);
  }

  /* Inputs keep their current compact geometry, autocomplete and native pickers. */
  :is(body:has(.site-header), body.stacked-choice) :is(.field input, .field textarea, .field select, .location-search input, .location-search-box, .inset-picker-trigger, .tour-request-passengers, .tour-request-main .tour-request-service select, .montis-place-dialog select, .montis-place-dialog input[type=number], .montis-place-dialog .mpd-time-stepper button, [data-slot=select-trigger]) {
    background-color: var(--montis-paper);
    border-color: var(--montis-field);
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.tour-request-service>span, .tour-request-passengers .inset-picker-label, .inset-picker-label, .location-link, .locate-link, .inset-location-label) {
    color: var(--montis-muted);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.place-results, .place-results button, [data-slot=select-content], [data-slot=popover-content], [data-slot=dropdown-menu-content]) {
    background-color: var(--montis-paper);
    border-color: var(--montis-line);
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.place-results button:hover, [data-slot=select-item][data-state=checked], .choice:has([data-state=checked]), .montis-place-dialog .mpd-programme-choice[data-selected=true], .montis-place-dialog .mpd-option-action[aria-pressed=true], .montis-place-dialog .mpd-option-action[aria-checked=true], .montis-gospa-access .gad-choice.is-active) {
    background-color: var(--montis-selection);
    border-color: var(--montis-action);
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(input[type=checkbox], input[type=radio]) {
    accent-color: var(--montis-action);
  }

  /* Small secondary actions stay small; only primary actions carry green. */
  :is(body:has(.site-header), body.stacked-choice) :is(button.secondary, a.secondary, .tour-request-dock>.secondary, .selection-selected-toggle, .montis-place-dialog .mpd-footer :where(button:not(.mpd-remove-place):not(.mpd-apply)), .montis-place-dialog .mpd-option-action, .montis-gospa-access .gad-state, .montis-gospa-access .gad-all, .montis-gospa-access .gad-remove, .montis-photo-preview-close, .map-presentation-close, .map-presentation-skip) {
    background-color: var(--montis-paper);
    border-color: var(--montis-line);
    color: var(--montis-action);
  }
  :is(body:has(.site-header), body.stacked-choice) .tour-review-actions #review-return,
  :is(body:has(.site-header), body.stacked-choice) .selection-footer #review-return {
    background-color: var(--montis-paper);
    border-color: var(--montis-line);
    color: var(--montis-action);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.primary, .tour-booking-inline .actions>.primary, .tour-request-dock>.primary, .montis-place-dialog .mpd-footer .mpd-apply, .montis-gospa-access .is-active .gad-state, .departure-time-confirm) {
    background-color: var(--montis-action);
    border-color: var(--montis-action);
    color: #fff;
  }
  :is(body:has(.site-header), body.stacked-choice) .montis-gospa-access .gad-save {
    background-color: var(--montis-action) !important;
    border-color: var(--montis-action) !important;
    color: #fff !important;
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.primary, .tour-request-dock>.primary, .montis-place-dialog .mpd-footer .mpd-apply):hover:not(:disabled) {
    background-color: var(--montis-action-hover);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.home-proposal-tour-card-price .prepared-starting-figure, .home-proposal-tour-card-price .prepared-starting-amount, .content-directory .content-card-price .prepared-starting-figure, .content-directory .content-card-price .prepared-starting-amount, .tour-inline-price [aria-live]>strong, .tour-inline-price [aria-live]>b, .tour-review-price strong, .tour-request-duration, .montis-place-dialog .mpd-current-total) {
    color: var(--montis-action);
  }

  /* Preserve the approved photo-first cards and their unobtrusive beige strips. */
  :is(body:has(.site-header), body.stacked-choice) :is(.home-proposal-tour, .content-directory .content-tour-card, .place-card) {
    border-color: var(--montis-line);
  }
  body.stacked-choice.catalogue-browsing #map-panel .place-card .picker-copy {
    background-color: var(--montis-band);
  }
  body.stacked-choice.catalogue-browsing #map-panel .place-card .picker-button::after {
    background-color: var(--montis-band);
    border-color: var(--montis-line);
    color: var(--montis-coffee);
  }
  body.stacked-choice .review-plan-frame .review-itinerary .journey-stop.has-inline-visit::after,
  body.stacked-choice .review-plan-frame .review-itinerary .inline-boat-stage.is-watercolor>.inline-boat-map-actions {
    background-color: var(--montis-band);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.inline-place-details>summary, .inline-visit-duration, .inline-boat-details, .inline-boat-trip-action, .inline-boat-total, .inline-place-total, .montis-photo-preview-activities) {
    color: var(--montis-coffee);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.montis-photo-preview-header, .montis-photo-preview-activities) {
    background-color: var(--montis-band);
  }
  :is(body:has(.site-header), body.stacked-choice) .montis-photo-preview-image-area {
    background-color: var(--montis-paper);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.departure-time-title, .departure-time-column>span, .departure-time-step, .departure-time-colon, .departure-time-wheel>button[aria-selected=true]) {
    color: var(--montis-coffee);
  }
  :is(body:has(.site-header), body.stacked-choice) .departure-time-wheel {
    background: linear-gradient(to bottom, var(--montis-paper) 0 44px, var(--montis-band) 44px 88px, var(--montis-paper) 88px);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.calendar-heading button, .calendar-days button) {
    background-color: var(--montis-paper);
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) .calendar-days button:not(:disabled):hover {
    background-color: var(--montis-selection);
    color: var(--montis-ink);
  }
  :is(body:has(.site-header), body.stacked-choice) .calendar-days button[aria-pressed=true] {
    background-color: var(--montis-action);
    color: #fff;
  }
  :is(body:has(.site-header), body.stacked-choice) :is(button, a, input, select, textarea, summary):focus-visible {
    outline-color: var(--montis-action);
  }
  @media(max-width:700px) {
    :is(body:has(.site-header), body.stacked-choice) .tour-booking-inline .tour-request-main>h2,
    :is(body:has(.site-header), body.stacked-choice) .tour-request-flow[data-stage="2"] .tour-request-main>h2 { font-size:23px; }
    :is(body:has(.site-header), body.stacked-choice) :is(.montis-place-dialog h2, .montis-gospa-access h2) { font-size:22px; }
  }
  /* Preserve the option editor's existing compact header in a tight map viewport. */
  :is(body:has(.site-header), body.stacked-choice) .montis-place-dialog[data-tight=true] h2 { font-size:17px; }

  /* The same selection dock is adopted by either public document. */
  :is(body:has(.site-header), body.stacked-choice) :is(.montis-selected-panel, .montis-selected-toggle, .montis-floating-back, .montis-floating-add) {
    background-color: var(--montis-paper);
    border-color: var(--montis-line);
    color: var(--montis-action);
  }
  :is(body:has(.site-header), body.stacked-choice) .montis-floating-review:not(:disabled) {
    background-color: var(--montis-action);
    border-color: var(--montis-action);
    color: #fff;
  }
  :is(body:has(.site-header), body.stacked-choice) .montis-floating-review:not(:disabled):hover {
    background-color: var(--montis-action-hover);
  }
  :is(body:has(.site-header), body.stacked-choice) .montis-selected-name { color:var(--montis-action); }
  :is(body:has(.site-header), body.stacked-choice) :is(.montis-selected-remove, .montis-selected-name:hover) {
    background-color: var(--montis-band);
    color: var(--montis-action);
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.montis-selected-footer, .montis-selected-list li) { border-color:var(--montis-line); }

  /* Utility navigation reads as links, with no painted box around the text. */
  :is(body:has(.site-header), body.stacked-choice) :is(.home-proposal-all, .home-sights-all, .home-sights-review, .home-sights-reset, .content-info-actions a) {
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    width:fit-content;
    max-width:100%;
    min-height:36px;
    padding:6px 0;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
    color:var(--montis-action);
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.home-proposal-all, .home-sights-all, .home-sights-review, .content-info-actions a)::after {
    content:'→';
    text-decoration:none;
  }
  :is(body:has(.site-header), body.stacked-choice) :is(.home-proposal-all, .home-sights-all, .home-sights-review, .home-sights-reset, .content-info-actions a):hover:not(:disabled) {
    background:transparent;
    color:var(--montis-action-hover);
  }
  :is(body:has(.site-header), body.stacked-choice) .duration-breakdown {
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  :is(body:has(.site-header), body.stacked-choice) .duration-breakdown>summary {
    display:inline-flex;
    justify-content:flex-start;
    gap:6px;
    width:fit-content;
    max-width:100%;
    min-height:44px;
    padding:8px 0;
    border:0;
    background:transparent;
    color:var(--montis-action);
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
  }
  :is(body:has(.site-header), body.stacked-choice) .duration-breakdown>summary::after { font-size:16px; }
  :is(body:has(.site-header), body.stacked-choice) .duration-breakdown>summary:hover { color:var(--montis-action-hover); }
  :is(body:has(.site-header), body.stacked-choice) :is(.home-proposal-all, .home-sights-all, .home-sights-review, .home-sights-reset, .content-info-actions a, .duration-breakdown>summary):focus-visible {
    outline:2px solid var(--montis-action);
    outline-offset:3px;
  }
}
