/* Shared colour palette. Geometry and semantic statuses stay in their own stylesheets. */
@layer inclusive-palette {
  #palette-rail-tooltip {
    position: fixed !important; z-index: 500000 !important; pointer-events: none !important;
    max-width: min(280px,calc(100vw - 24px)) !important; padding: 8px 11px !important;
    border: 1px solid #41413e !important; border-radius: 9px !important;
    background: #292928 !important; color: #ffffff !important;
    box-shadow: 0 4px 16px rgba(41,41,40,.1) !important; font-size: 12px !important;
    line-height: 1.5 !important; white-space: normal !important;
  }
  #palette-rail-tooltip[hidden] { display: none !important; }
  #palette-rail-tooltip::before {
    content: '' !important; position: absolute !important;
    left: -6px !important; top: var(--rail-hint-arrow-y,50%) !important;
    width: 10px !important; height: 10px !important;
    background: #292928 !important; border-left: 1px solid #41413e !important;
    border-bottom: 1px solid #41413e !important;
    transform: translateY(-50%) rotate(45deg) !important;
  }
  :root {
    --palette-map-style: light-v11 !important;
    --palette-single-pane: 1 !important;
    --palette-ink: #292928 !important;
    --palette-muted: #70706d !important;
    --palette-paper: #ffffff !important;
    --palette-surface: #f8f8f8 !important;
    --palette-hover: #eeeeec !important;
    --palette-line: #e7e7e4 !important;
    --palette-lime: #c3f832 !important;
    --palette-lime-soft: #f2fbdc !important;
    --palette-lavender: #e4c1f9 !important;
    --palette-lavender-soft: #f6effb !important;
    --palette-purple-ink: #67407e !important;
    --primary: #292928 !important;
    --primary-dark: #171716 !important;
    --secondary: #292928 !important;
    --background: #f8f8f8 !important;
    --card-bg: #ffffff !important;
    --header-bg: rgba(255,255,255,.96) !important;
    --text: #292928 !important;
    --heading: #292928 !important;
    --text-light: #70706d !important;
    --border: #e7e7e4 !important;
    --shadow-sm: 0 2px 8px rgba(41,41,40,.04) !important;
    --shadow-md: 0 8px 24px rgba(41,41,40,.06) !important;
    --cp-ink: #292928 !important;
    --cp-blue: #292928 !important;
    --cp-paper: #ffffff !important;
    --action-button-bg: #292928 !important;
    --action-button-hover: #41413e !important;
  }

  body.dark-theme {
    --palette-ink: #f5f5f2 !important;
    --palette-muted: #b5b5ae !important;
    --palette-paper: #20201f !important;
    --palette-surface: #292928 !important;
    --palette-hover: #373735 !important;
    --palette-line: #40403b !important;
    --palette-lime-soft: #343e20 !important;
    --palette-lavender-soft: #372c40 !important;
    --palette-purple-ink: #e4c1f9 !important;
    --primary: #edede8 !important;
    --primary-dark: #ffffff !important;
    --secondary: #f5f5f2 !important;
    --background: #191918 !important;
    --card-bg: #20201f !important;
    --card-bg-elevated: #292928 !important;
    --header-bg: rgba(32,32,31,.96) !important;
    --text: #f5f5f2 !important;
    --heading: #f5f5f2 !important;
    --text-light: #b5b5ae !important;
    --border: #40403b !important;
  }

  body :is(.apple-desktop-rail,.desktop-left-column,.drawer-view,.drawer-view-scroll,
    .mobile-nav-bar,.active-mobile-map-header,.mobile-window-bar,.mobile-active-header,
    .place-details-card,.place-details-content,.modal-content,.cs-monitor,#map-pin-hints-panel) {
    background-color: var(--palette-paper) !important;
    color: var(--palette-ink) !important;
    border-color: var(--palette-line) !important;
  }

  body :is(.drawer-close-btn,.drawer-expand-btn,.mobile-window-close,.mobile-window-expand,
    .apple-rail-toggle-btn,.apple-rail-theme-btn,.place-details-back,.place-details-close,
    .tm-sheet-handle,.cp-search,.cp-tabs,.cs-stat,.drawer-comp-benefit-box,
    .tm-card,.cp-card,.place-category-card,#drawer-saved-places-list .place-card) {
    background: var(--palette-surface) !important;
    color: var(--palette-ink) !important;
    border-color: var(--palette-line) !important;
    box-shadow: none !important;
  }

  body :is(.apple-rail-item,.apple-rail-auth-menu-item,.apple-rail-user-card,
    .apple-rail-auth-btn,.apple-rail-lang-btn,.apple-rail-chat-btn,.apple-rail-logout-btn,
    .mobile-nav-item,.dock-btn) {
    color: var(--palette-ink) !important;
  }
  body :is(.apple-rail-item-icon,.apple-rail-item-label,.mobile-nav-label,.mobile-nav-icon) {
    color: inherit !important;
  }
  body .apple-rail-item-icon { background: var(--palette-surface) !important; }
  body :is(.apple-rail-item-icon,.mobile-nav-icon) :is(svg,.material-symbols-rounded,.imv-hugeicon) {
    color: inherit !important;
  }
  body :is(.apple-rail-item,.apple-rail-auth-menu-item,.apple-rail-user-card,
    .apple-rail-lang-btn,.apple-rail-theme-btn,.apple-rail-chat-btn,.apple-rail-logout-btn):hover {
    background: var(--palette-hover) !important;
  }
  body :is(.apple-rail-item.active,.mobile-nav-item.active,.dock-btn.active),
  body .apple-rail-item.active .apple-rail-item-icon {
    background: var(--palette-hover) !important;
    color: var(--palette-ink) !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }
  body :is(.drawer-nav-mode-btn.active,.drawer-cabinet-nav-tab.active,.drawer-auth-tab.active,
    .apple-role-tile.active,.cp-tabs button.active,
    .tm-chip[aria-pressed="true"],[role="tab"][aria-selected="true"]) {
    background: #292928 !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }
  body :is(.cp-tabs button.active,.drawer-cabinet-nav-tab.active,[role="tab"][aria-selected="true"])::after {
    background: #292928 !important;
  }

  body :is(.btn-primary,.drawer-btn-primary,.btn-auth-submit,.btn-submit,
    .cp-button-dark,.tm-tour-entry,.tm-journey .tm-suggest,
    #btn-request-companion,.place-details-companion-btn,
    .apple-rail-about-btn,.apple-rail-auth-btn,#cookie-accept,#btn-share-copy-inline) {
    background: #292928 !important;
    color: #ffffff !important;
    border-color: #292928 !important;
    box-shadow: none !important;
  }
  body :is(.btn-primary,.drawer-btn-primary,.btn-auth-submit,.btn-submit,
    .cp-button-dark,.tm-tour-entry,.tm-journey .tm-suggest,.apple-rail-about-btn,
    .apple-rail-auth-btn,#rail-about-card) :is(span,svg,i) { color: inherit !important; }
  body :is(.btn-primary,.drawer-btn-primary,.cp-button-dark,.tm-tour-entry,
    .apple-rail-about-btn,.apple-rail-auth-btn):hover { background: #41413e !important; }

  body :is(.drawer-btn-secondary,.place-list-companion,.tm-tour-show-facilities,
    .place-details-visited-btn,.cp-text-link,.cs-monitor button) {
    background: var(--palette-surface) !important;
    color: var(--palette-ink) !important;
    border-color: var(--palette-line) !important;
    box-shadow: none !important;
  }
  body :is(.drawer-btn-secondary,.place-list-companion,.cs-monitor button):hover {
    background: var(--palette-hover) !important;
  }

  body :is(.drawer-view,.modal-content,.cs-monitor,.tm-integrated-controls,.tm-journey,.cp-toolbar)
    :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) {
    background-color: var(--palette-surface) !important;
    color: var(--palette-ink) !important;
    border-color: var(--palette-line) !important;
  }
  body :is(button,a,input,textarea,select,summary):focus-visible {
    outline-color: var(--palette-ink) !important;
    box-shadow: 0 0 0 3px var(--palette-lime-soft) !important;
  }
  body :is(input[type="checkbox"],input[type="radio"],progress) { accent-color: #668615 !important; }

  /* Lavender is reserved for informational accents, never warning or access statuses. */
  body :is(.cs-eyebrow,.drawer-comp-card-badge,.cp-card .cp-kicker,.tm-card-category) {
    background: var(--palette-lavender-soft) !important;
    color: var(--palette-purple-ink) !important;
    border-color: var(--palette-lavender) !important;
  }
  body :is(.cs-eyebrow,.cp-card .cp-kicker) {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 6px;
  }
  body .apple-rail-badge {
    background: var(--palette-lime) !important;
    color: #292928 !important;
  }
  body progress::-webkit-progress-value { background: var(--palette-lime) !important; }
  body progress::-moz-progress-bar { background: var(--palette-lime) !important; }
  body :is(.volunteer-mission-card,.mission-compact,.mobile-volunteer-preview-footer)
    :is(button[onclick*="openAcceptRequestModal"],button[data-request-help]) {
    background: var(--palette-lime) !important;
    color: #292928 !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }
  body :is(.volunteer-mission-card,.mission-compact,.mobile-volunteer-preview-footer)
    :is(button[onclick*="openAcceptRequestModal"],button[data-request-help]):hover {
    background: #b3e623 !important;
  }

  body .cp-hero { background: #ffffff !important; box-shadow: none !important; border-color: #e7e7e4 !important; }
  body .cp-card { border-color: #e7e7e4 !important; }
  body .cp-hero h1,body .cp-section-top h2,body .cp-card h3 { color: #292928 !important; }
  body .cp-card-foot a,body .cp-text-link { color: #292928 !important; }
  body .cp-card-roles span { background: #f6effb !important; color: #67407e !important; }
  body .cp-card-foot a:hover { text-decoration: underline; }
  body .cp-hero-copy>p { color: #70706d !important; }
  body #drawer-view-cabinet .drawer-cabinet-social-tabs button {
    background: transparent !important;
    color: var(--palette-muted) !important;
    box-shadow: none !important;
  }
  body #drawer-view-cabinet .drawer-cabinet-social-tabs button[aria-selected="true"] {
    background: transparent !important;
    color: var(--palette-ink) !important;
  }
  body #drawer-view-cabinet .drawer-cabinet-social-tabs button[aria-selected="true"]::after {
    background: var(--palette-ink) !important;
  }
  body :is(.imv-notify-button.has-unread,.imv-notice-tools button.active,.imv-notice-item.unread,.imv-notice-icon) {
    background: #e7f7b7 !important; color: #292928 !important;
  }
  body .imv-notify-button { color: var(--palette-ink) !important; }
  body .imv-notify-button b { background: var(--palette-lime) !important; color: #292928 !important; }
  body .imv-notice-copy small { color: var(--palette-muted) !important; }
  body .imv-notice-item i { background: #87a82e !important; }
  body #places-list :is(.place-category-card,.place-card) {
    border: 0 !important;
    box-shadow: none !important;
  }
  body #places-list :is(.place-category-card,.place-card):is(.active,[aria-current="true"]) {
    background: var(--palette-hover) !important;
  }
  body .place-details-tabs .place-details-tab {
    background: transparent !important;
    color: var(--palette-muted) !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }
  body .place-details-tabs .place-details-tab:is(.active,[aria-selected="true"]) {
    background: transparent !important;
    color: var(--palette-ink) !important;
    border-bottom-color: var(--palette-ink) !important;
  }
  body #rail-about-card {
    background: var(--palette-surface) !important;
    color: var(--palette-ink) !important;
    border-color: var(--palette-line) !important;
    box-shadow: none !important;
  }
  body #rail-about-card:hover { background: var(--palette-hover) !important; }
  body .cs-feature-bar { background-color: var(--palette-line) !important; }
  body #map-pin-hints-panel :is(h4,p,div,button) { color: var(--palette-ink) !important; }
  body :is(.drawer-comp-guest-title,.drawer-comp-benefit-title,.place-title,.place-category-card-title,
    .place-details-title,.tm-integrated-title,.drawer-view h2,.drawer-view h3) { color: var(--palette-ink) !important; }
  body :is(.drawer-comp-guest-sub,.drawer-comp-benefit-desc,.place-address,.place-category-card-address,
    .tm-integrated-intro p) { color: var(--palette-muted) !important; }
  body.dark-theme :is(.drawer-btn-primary,.btn-primary,.apple-rail-auth-btn,.apple-rail-about-btn) {
    background: #edede8 !important;
    color: #292928 !important;
    border-color: #edede8 !important;
  }
  body.dark-theme :is(.drawer-nav-mode-btn.active,.drawer-cabinet-nav-tab.active,
    .drawer-auth-tab.active,.apple-role-tile.active,.cp-tabs button.active,
    .tm-chip[aria-pressed="true"],[role="tab"][aria-selected="true"]):not(.place-details-tab) {
    background: #edede8 !important;
    color: #292928 !important;
  }
  body :is(#drawer-reg-role-selector,#modal-reg-role-selector) .apple-role-tile.active {
    background: #e7f7b7 !important;
    color: #292928 !important;
    border-color: #cfe49b !important;
    box-shadow: none !important;
  }
  body .apple-role-tile.active[data-role] :is(.apple-role-tile-title,.apple-role-tile-desc,
    .apple-role-tile-check,.apple-role-tile-icon-wrap,.material-symbols-rounded,.a11y-icon) {
    color: #292928 !important;
  }
  body .apple-role-tile.active[data-role] .apple-role-tile-icon-wrap {
    background: transparent !important;
  }
  /* Floating icon rail belongs to this optional theme only. */
  @media(min-width:769px) {
    body :is(#chat-list-modal,#chat-modal).palette-chat-callout {
      background: transparent !important; backdrop-filter: none !important;
      pointer-events: none !important;
    }
    body :is(#chat-list-modal,#chat-modal).palette-chat-callout>.scanner-modal-content {
      position: fixed !important; margin: 0 !important; transform: none !important; box-sizing: border-box !important;
      left: var(--chat-callout-left) !important; top: var(--chat-callout-top) !important;
      right: auto !important; bottom: auto !important;
      width: var(--chat-callout-width,440px) !important; max-width: calc(100vw - 32px) !important;
      height: var(--chat-callout-height,calc((100dvh - 32px)/2)) !important;
      max-height: var(--chat-callout-height,calc((100dvh - 32px)/2)) !important;
      padding: 16px !important; border: 1px solid var(--palette-line) !important;
      border-radius: 20px !important; background: var(--palette-paper) !important;
      box-shadow: 0 10px 32px rgba(41,41,40,.13) !important;
      overflow: visible !important; pointer-events: auto !important;
    }
    body :is(#chat-list-modal,#chat-modal).palette-chat-callout>.scanner-modal-content::before {
      content: ''; position: absolute; left: -6px; top: var(--chat-arrow-y,30px);
      width: 10px; height: 10px; background: var(--palette-paper);
      border-left: 1px solid var(--palette-line); border-bottom: 1px solid var(--palette-line);
      transform: translateY(-50%) rotate(45deg);
    }
    body :is(#chat-list-modal,#chat-modal).palette-chat-callout #chat-list-container {
      min-height: 0 !important; padding: 12px 0 0 !important; gap: 10px !important;
    }
    body :is(#chat-list-modal,#chat-modal).palette-chat-callout .scanner-header { flex: none !important; }
    body :is(#chat-list-modal,#chat-modal).palette-chat-callout .chat-list-item {
      background: var(--palette-surface) !important; border-color: var(--palette-line) !important;
    }
    body :is(#chat-list-modal,#chat-modal).palette-chat-callout .chat-list-item.unread {
      background: #e7f7b7 !important;
    }
    body #apple-desktop-rail {
      left: 16px !important;
      top: 16px !important;
      bottom: 16px !important;
      width: 96px !important;
      height: calc(100dvh - 32px) !important;
      padding: 16px 10px 12px !important;
      border: 0 !important;
      border-radius: 22px !important;
      box-shadow: 0 6px 24px rgba(41,41,40,.07) !important;
    }
    body #apple-desktop-rail :is(.apple-rail-item-label,.auth-menu-label,.apple-rail-auth-text,
      .apple-rail-user-info,.apple-rail-user-chevron,.apple-rail-group-label,
      .rail-info-promo,.apple-rail-toggle-btn,.rail-weather-card) { display: none !important; }
    body #apple-desktop-rail .apple-rail-top { justify-content: center !important; padding-inline: 0 !important; }
    body #apple-desktop-rail .apple-rail-top { border-bottom: 0 !important; }
    body #apple-desktop-rail .apple-rail-top::after { display: none !important; }
    body #apple-desktop-rail .apple-rail-brand { display: flex !important; justify-content: center !important; }
    body #apple-desktop-rail .apple-rail-user-details { display: none !important; }
    body #apple-desktop-rail .apple-rail-user-avatar {
      width: 32px !important; height: 32px !important; flex: 0 0 32px !important; margin: 0 !important;
    }
    body #apple-desktop-rail .imv-notify-button {
      width: 48px !important; min-width: 48px !important; height: 42px !important; min-height: 42px !important;
      padding: 8px !important; margin: 0 auto !important; justify-content: center !important;
      align-self: center !important; border-radius: 12px !important;
    }
    body #apple-desktop-rail .imv-notify-button>span {
      display: block !important; position: absolute !important; width: 1px !important; height: 1px !important;
      padding: 0 !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important;
    }
    body #apple-desktop-rail .imv-notify-button b { left: auto !important; right: 3px !important; top: 3px !important; }
    body .imv-notification-panel {
      box-sizing: border-box !important;
      width: var(--notice-width,440px) !important;
      height: var(--notice-height,calc((100dvh - 32px)/2)) !important;
      max-height: var(--notice-height,calc((100dvh - 32px)/2)) !important;
      overflow: visible !important; background: var(--palette-paper) !important;
      border-color: var(--palette-line) !important; box-shadow: 0 10px 32px rgba(41,41,40,.13) !important;
    }
    body .imv-notice-header { padding: 18px 18px 14px !important; }
    body .imv-notice-header h3 { font-size: 15px !important; }
    body .imv-notice-tools { padding: 0 18px 14px !important; gap: 12px !important; }
    body .imv-notice-list { max-height: none !important; min-height: 0 !important; flex: 1 !important; padding: 12px !important; }
    body #chat-modal.palette-chat-callout .chat-return-list { display: inline-flex !important; align-items: center; gap: 3px; flex: none; min-height: 36px; padding: 5px 7px; margin-right: 8px; border: 0; border-radius: 9px; background: var(--palette-surface); color: var(--palette-ink); font: inherit; font-size: 12px; cursor: pointer; }
    body #chat-modal.palette-chat-callout .chat-return-list .material-symbols-rounded { font-size: 19px; }
    body #chat-modal.palette-chat-callout .scanner-modal-content>div:has(#chat-title)>div { min-width: 0; flex: 1; }
    body #chat-modal.palette-chat-callout #chat-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    body #chat-modal.palette-chat-callout #chat-messages-container { min-height: 0 !important; }
    body #chat-modal.palette-chat-callout #chat-composer-form { flex: none !important; }
    body .imv-notice-item { padding: 14px 10px !important; margin-bottom: 10px !important; gap: 14px !important; }
    body .imv-notice-copy { gap: 7px !important; }
    body .imv-notice-copy strong { line-height: 1.7 !important; }
    body .imv-notice-copy>span { line-height: 1.75 !important; }
    body .imv-notification-panel[data-rail-callout]::before {
      content: '' !important; position: absolute !important; left: -6px !important;
      top: var(--notice-arrow-y,30px) !important; width: 10px !important; height: 10px !important;
      background: var(--palette-paper) !important; border-left: 1px solid var(--palette-line) !important;
      border-bottom: 1px solid var(--palette-line) !important; transform: translateY(-50%) rotate(45deg) !important;
    }
    body #apple-desktop-rail .apple-rail-logo-img {
      content: url('/images/logo-mobile-heart-20261014-opt.webp');
      display: block !important; width: 36px !important; min-width: 36px !important;
      height: 36px !important; max-width: 36px !important; object-fit: contain !important;
    }
    body #apple-desktop-rail .apple-rail-nav {
      align-items: center !important; min-height: 0 !important; overflow-y: auto !important;
      scrollbar-width: none !important; padding-inline: 0 !important;
    }
    body #apple-desktop-rail #rail-btn-places { margin-top: auto !important; }
    body #apple-desktop-rail #rail-btn-statistics { margin-top: auto !important; }
    body #apple-desktop-rail #rail-btn-add-place { margin-top: 0 !important; }
    body #apple-desktop-rail :is(.apple-rail-item,.apple-rail-auth-menu-item,.apple-rail-auth-btn,.apple-rail-user-card) {
      justify-content: center !important; gap: 0 !important; width: 48px !important;
      min-width: 48px !important; min-height: 42px !important; height: 42px !important;
      padding: 8px !important; margin-inline: auto !important; border-radius: 12px !important;
    }
    body #apple-desktop-rail :is(.apple-rail-item-icon,.auth-menu-icon) {
      width: 24px !important; height: 24px !important; flex: 0 0 24px !important;
      background: transparent !important; border-radius: 0 !important;
    }
    body #apple-desktop-rail .apple-rail-item.active .apple-rail-item-icon {
      background: transparent !important; color: var(--palette-ink) !important;
      border-radius: 8px !important; box-shadow: none !important;
    }
    body #apple-desktop-rail .apple-rail-bottom { align-items: center !important; padding-inline: 0 !important; }
    body #apple-desktop-rail .apple-rail-settings-bar { flex-direction: column !important; gap: 7px !important; }
    body #apple-desktop-rail .apple-rail-lang-group {
      display: flex !important; flex-direction: row !important; align-items: center !important;
      width: 72px !important; height: 38px !important; flex: none !important;
      gap: 2px !important; padding: 3px !important; border-radius: 11px !important;
      background: var(--palette-surface) !important;
    }
    body #apple-desktop-rail .apple-rail-lang-btn {
      display: grid !important; place-items: center !important; flex: 1 1 0 !important;
      width: 32px !important; min-width: 0 !important; height: 32px !important;
      padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 8px !important;
      background: transparent !important; color: var(--palette-muted) !important;
      font-size: 10px !important; line-height: 1 !important; box-shadow: none !important;
    }
    body #apple-desktop-rail .apple-rail-lang-btn:hover { background: var(--palette-hover) !important; }
    body #apple-desktop-rail .apple-rail-lang-btn.active {
      background: #e7f7b7 !important; color: #292928 !important;
    }
    body.dark-theme #apple-desktop-rail .apple-rail-lang-btn.active {
      background: #e7f7b7 !important; color: #292928 !important;
    }
    body #rail-volunteer-training { width: 64px !important; max-width: 64px !important; padding: 6px !important; margin-inline: auto !important; }
    body #rail-volunteer-training .rail-training-label { display: none !important; }
    body .desktop-left-column {
      left: 112px !important; top: 16px !important; bottom: 16px !important;
      height: calc(100dvh - 32px) !important; max-width: calc(100vw - 128px) !important;
      border-radius: 0 22px 22px 0 !important;
      border: 0 !important; box-shadow: none !important;
    }
    body #place-details-overlay .place-details-panel {
      top: 16px !important; bottom: 16px !important;
      height: calc(100dvh - 32px) !important;
      min-height: 0 !important; max-height: calc(100dvh - 32px) !important;
      margin-block: 0 !important; border: 0 !important; box-shadow: none !important;
      border-radius: 0 22px 22px 0 !important;
    }
    body:has(.desktop-left-column:not(.drawer-closed)) #apple-desktop-rail,
    body.place-details-open #apple-desktop-rail {
      border-radius: 22px 0 0 22px !important;
      border-right: 1px solid var(--palette-line) !important;
      box-shadow: none !important;
    }
    body.place-details-open .desktop-left-column:not(.drawer-closed) {
      border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important;
    }
    body #place-details-overlay .place-details-panel {
      animation: palette-detail-from-list .28s cubic-bezier(.22,.61,.36,1) both !important;
    }
  }
  @keyframes palette-detail-from-list {
    from { opacity: 0; transform: translateX(-20px); clip-path: inset(0 100% 0 0); }
    to { opacity: 1; transform: translateX(0); clip-path: inset(0); }
  }
  @media(prefers-reduced-motion:reduce) {
    body #place-details-overlay .place-details-panel { animation: none !important; }
  }
  @media(max-width:768px) {
    body .mobile-nav-item.active:not(.dock-visual-active) {
      background: transparent !important;
      color: var(--palette-ink) !important;
    }
    body .mobile-nav-item.dock-visual-active {
      background: var(--palette-hover) !important;
      color: var(--palette-ink) !important;
    }
    body .mobile-nav-item.dock-visual-active .mobile-nav-icon {
      background: transparent !important; color: var(--palette-ink) !important;
      border-radius: 7px !important; box-shadow: none !important;
    }
    body #drawer-companion-guest-card .drawer-comp-benefit-box {
      border-radius: 14px !important;
      margin-bottom: 14px !important;
    }
  }

  /* Theme-only outline vectors; original menu icons return when the theme is disabled. */
  @media(min-width:769px) {
    body #rail-btn-places { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2210.5%22%20cy%3D%2210.5%22%20r%3D%226.5%22%2F%3E%3Cpath%20d%3D%22m16%2016%204%204%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-btn-saved { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%204h12v17l-6-4-6%204z%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-btn-navigator { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%226%22%20cy%3D%225%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2219%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M6%207v3a4%204%200%200%200%204%204h4a4%204%200%200%201%204%203M16%203h5v5m0-5-6%206%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-btn-outings { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%225%22%20cy%3D%225%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2219%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%205h8a4%204%200%200%201%200%208H9a4%204%200%200%200%200%208h8%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-btn-companion { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2013h3v8H3zM6%2019l7%202%207-5a2%202%200%200%200-2-3l-4%202H9m-3-1%203-2h4a2%202%200%200%201%200%204h-2M12%205c0-3%204-4%205-1%201-3%205-2%205%201%200%202-5%205-5%205s-5-3-5-5z%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-btn-projects { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M6%2021v-3a6%206%200%200%201%2012%200v3M5%205a3%203%200%200%200%200%206m14-6a3%203%200%200%201%200%206M2%2020v-2a5%205%200%200%201%203-4m17%206v-2a5%205%200%200%200-3-4%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-btn-tourism { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m16%208-2.5%205.5L8%2016l2.5-5.5z%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-btn-scanner { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%203H3v5m13-5h5v5M3%2016v5h5m13-5v5h-5M7%208h10M7%2012h10M7%2016h6%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-btn-assistant { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%205h16v12H9l-5%204zM9%209h6m-6%204h4%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-btn-messages { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%204h16v13H9l-5%204z%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-btn-add-place { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%209%205%203h14l2%206M4%2010v11h16V10M3%209a3%203%200%200%200%206%200%203%203%200%200%200%206%200%203%203%200%200%200%206%200M9%2021v-7h6v7%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-btn-statistics { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2021h17M6%2017v-6m6%206V4m6%2013V8%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-auth-menu-messages { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%204h16v13H9l-5%204z%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-auth-menu-missions { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%204H5v17h14V4h-4M9%203h6v4H9zM8%2014l3%203%205-6%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-auth-menu-saved { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%204h12v17l-6-4-6%204z%22%2F%3E%3C%2Fsvg%3E"); }
    body #rail-auth-menu-logout { --rail-original-icon-display: none; --rail-outline-content: ''; --rail-line-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%203H4v18h5m5-14%205%205-5%205M8%2012h12%22%2F%3E%3C%2Fsvg%3E"); }
    body #apple-desktop-rail :is(.apple-rail-item-icon,.auth-menu-icon)>:is(svg,.material-symbols-rounded) { display: var(--rail-original-icon-display,inline-block) !important; }
    body #apple-desktop-rail :is(.apple-rail-item-icon,.auth-menu-icon)::before {
      content: var(--rail-outline-content,none); display: block; width: 22px; height: 22px; flex: none;
      background: currentColor; mask-image: var(--rail-line-icon); -webkit-mask-image: var(--rail-line-icon);
      mask-size: contain; -webkit-mask-size: contain; mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat;
      mask-position: center; -webkit-mask-position: center;
    }
    body #apple-desktop-rail :is(.apple-rail-auth-btn,.apple-rail-theme-btn) svg { stroke-width: 1.6 !important; }
    body #apple-desktop-rail #rail-btn-auth svg { width: 18px !important; height: 18px !important; flex: 0 0 18px !important; }
  }
}

@layer inclusive-palette {
  @media(min-width:769px) {
    body { --palette-rail-width: 96px; }
    body.palette-rail-expanded { --palette-rail-width: 216px; }
    body #apple-desktop-rail { width: var(--palette-rail-width) !important; transition: width .34s cubic-bezier(.22,.61,.36,1) !important; }
    body .desktop-left-column { left: calc(16px + var(--palette-rail-width)) !important; max-width: calc(100vw - var(--palette-rail-width) - 32px) !important; transition: left .34s cubic-bezier(.22,.61,.36,1),width .3s cubic-bezier(.2,.8,.2,1),transform .28s ease,opacity .28s ease !important; }
    body #apple-desktop-rail .apple-rail-top { flex-direction: column !important; gap: 12px !important; flex: none !important; }
    body #apple-desktop-rail .apple-rail-toggle-btn { display: flex !important; position: static !important; flex: none !important; align-items: center !important; justify-content: center !important; width: 48px !important; height: 36px !important; margin: 0 auto !important; padding: 8px !important; border: 0 !important; border-radius: 10px !important; background: var(--palette-surface) !important; color: var(--palette-ink) !important; cursor: pointer; }
    body #apple-desktop-rail .apple-rail-toggle-btn:hover { background: var(--palette-hover) !important; }
    body #apple-desktop-rail .apple-rail-toggle-btn svg { transition: transform .34s ease; }
    body #apple-desktop-rail.palette-rail-expanded .apple-rail-toggle-btn svg { transform: scaleX(-1); }
    body #apple-desktop-rail :is(.apple-rail-item-label,.auth-menu-label,.apple-rail-auth-text) { display: block !important; position: static !important; width: auto !important; max-width: 0; opacity: 0; overflow: hidden !important; white-space: nowrap !important; pointer-events: none; transform: translateX(-8px); transition: max-width .34s cubic-bezier(.22,.61,.36,1),opacity .2s ease,transform .34s ease; }
    body #apple-desktop-rail.palette-rail-expanded :is(.apple-rail-item,.apple-rail-auth-menu-item,.apple-rail-auth-btn,.apple-rail-user-card) { width: 184px !important; justify-content: flex-start !important; padding-inline: 12px !important; gap: 12px !important; }
    body #apple-desktop-rail.palette-rail-expanded :is(.apple-rail-item-label,.auth-menu-label,.apple-rail-auth-text) { max-width: 168px !important; opacity: 1 !important; transform: translateX(0) !important; font-size: 13px !important; font-weight: 400 !important; visibility: visible !important; }
    body #apple-desktop-rail.palette-rail-expanded .apple-rail-user-details { display: block !important; min-width: 0; text-align: left; }
    body #apple-desktop-rail.palette-rail-expanded .apple-rail-user-name { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    body #apple-desktop-rail.palette-rail-expanded .imv-notify-button { width: 184px !important; justify-content: flex-start !important; gap: 12px !important; padding-inline: 12px !important; }
    body #apple-desktop-rail.palette-rail-expanded .imv-notify-button>span { position: static !important; width: auto !important; height: auto !important; overflow: visible !important; clip-path: none !important; font-size: 13px !important; }
    body #apple-desktop-rail.palette-rail-expanded #rail-volunteer-training { width: 184px !important; max-width: 184px !important; }
    body #apple-desktop-rail.palette-rail-expanded #rail-volunteer-training .rail-training-label { display: block !important; }
    body #apple-desktop-rail.palette-rail-expanded .apple-rail-auth-menu { width: 100% !important; }
    body #apple-desktop-rail.palette-rail-expanded .apple-rail-logo-img { content: url('/images/logo-desktop-heart-20261014-opt.webp'); width: 184px !important; min-width: 184px !important; max-width: 184px !important; height: 46px !important; }
    body #apple-desktop-rail.palette-rail-expanded .apple-rail-nav { gap: 0 !important; }
    body #apple-desktop-rail.palette-rail-expanded .apple-rail-nav>.apple-rail-item { position: relative; }
    body #apple-desktop-rail.palette-rail-expanded .apple-rail-nav>.apple-rail-item:not(:last-child)::after { content: ''; position: absolute; pointer-events: none; left: 8px; right: 8px; bottom: 0; height: 1px; background: linear-gradient(to right,transparent,var(--palette-line) 25%,var(--palette-line) 75%,transparent); }

  }
  @media(prefers-reduced-motion:reduce) {
    body #apple-desktop-rail,body .desktop-left-column,body #apple-desktop-rail :is(.apple-rail-item-label,.auth-menu-label,.apple-rail-auth-text) { transition: none !important; }
  }
}

@layer inclusive-palette {
  @media(min-width:769px){
    body #apple-desktop-rail .apple-rail-top { height: auto !important; min-height: 84px !important; }
    body #apple-desktop-rail .apple-rail-brand { flex: 0 0 auto !important; height: 36px !important; min-height: 36px !important; }
    body #apple-desktop-rail.palette-rail-expanded .apple-rail-brand { height: 46px !important; min-height: 46px !important; }
    body #apple-desktop-rail .apple-rail-nav { justify-content: flex-start !important; padding-top: 12px !important; }
    body #apple-desktop-rail :is(#rail-btn-places,#rail-btn-statistics,#rail-btn-add-place) { margin-top: 0 !important; }
    body #apple-desktop-rail:not(.palette-rail-expanded) :is(.apple-rail-item-label,.auth-menu-label,.apple-rail-auth-text) { max-width: 0 !important; opacity: 0 !important; visibility: hidden !important; }
    body #rail-collapsed-tooltip { display: none !important; }
  }
}

@layer inclusive-palette {
  @media(min-width:769px){
    body #apple-desktop-rail .apple-rail-auth-menu { border:0 !important; margin-block:0 !important; padding-block:0 !important; }
  }
}

@layer inclusive-palette {@media(min-width:769px){body #map-floating-filter-bar{border-radius:22px!important}}}

@layer inclusive-palette {@media(min-width:769px){body #apple-desktop-rail #rail-btn-saved{display:none!important}}}
