@media(max-width:767px){
  .elementor-location-header.wc300-mobile-map-header { position: relative; min-height:var(--wc300-mode-height,68px); }
  .wc300-mobile-mode-slot { position:absolute; top:0; bottom:0; left:70px; right:60px; display:flex; align-items:center; z-index:1000; pointer-events:none; }
  .wc300-mobile-mode-slot .wc300-mode-switch { pointer-events:auto; display:flex; width:100%; max-width:330px; margin:auto; padding:3px; border-radius:999px; background:#173f3d; position:relative; isolation:isolate; }
  .wc300-mobile-mode-slot .wc300-mode-switch button { flex:1; min-height:44px; font:600 12px/1.2 Roboto,Arial,sans-serif; padding:7px 5px; white-space:normal; border:0; border-radius:999px; background:transparent!important; color:#fff; position:relative; z-index:1; }
  .wc300-mobile-mode-slot .wc300-mode-switch button.is-active { color:#173f3d; background:#fffdf8!important; }
  .wc300-mobile-mode-slot .wc300-mode-switch::before { display:none; }
  .wc300-map-experience.is-ahead .wc300-map-header { display:none; }
}
@media all {
  .wc300-map-experience.is-ahead .wc300-map-panel [data-role='panel'] { padding:8px 16px 20px; }
  .wc300-map-experience.is-ahead .wc300-sheet-toggle { min-height:36px; padding:5px 16px; }
  .wc300-cua-mobile-title { margin:2px 0 8px!important; font-size:26px!important; }
  .wc300-cua-mobile-status,.wc300-cua-mobile-test-note { font-size:12px!important; margin:0 0 3px!important; }
  .wc300-cua-journey-options,.wc300-cua-interest-disclosure { margin:5px 0; border-bottom:1px solid #173f3d20; padding:3px 0; }
  .wc300-cua-journey-options summary,.wc300-cua-interest-disclosure summary,.wc300-cua-test-disclosure summary { min-height:44px; box-sizing:border-box; cursor:pointer; font:600 13px/1.4 Roboto,Arial,sans-serif; display:list-item; padding:8px 0; }
  .wc300-cua-option-actions { display:flex; flex-wrap:wrap; gap:12px; }
  .wc300-cua-option-actions button { min-height:44px; }
  .wc300-cua-place-discovery.wc300-places-explorer { --wc300-rail-card-width: clamp(210px,calc(100vw - 150px),240px); --wc300-rail-gap:12px; --wc300-place-card-media-height:130px; padding:0; margin:0; width:100%; max-width:100%; }
  .wc300-cua-place-discovery .wc300-cua-rail { width:calc(100% + 16px); margin:0 -8px; padding:8px 8px 16px; scroll-padding-inline:8px; scroll-snap-type:x mandatory; }
  .wc300-cua-rail::after { content:''; flex:0 0 max(0px,calc(100% - var(--wc300-rail-card-width) - 12px)); }
  .wc300-cua-rail.is-single::after { display:none; }
  .wc300-cua-rail .wc300-place-card { min-height:0; width:100%; flex:0 0 100%; min-width:0; margin:0; }
  .wc300-cua-rail .wc300-place-card__description-wrap { margin-bottom:8px; }
  .wc300-cua-rail .wc300-place-card__media { flex:0 0 130px; min-height:130px; }
  .wc300-cua-rail .wc300-place-card__body { padding:10px; }
  .wc300-map-experience .wc300-cua-rail .wc300-place-card__title { font-size:18px; line-height:1.2; margin:0 0 6px; }
  .wc300-map-experience .wc300-cua-rail .wc300-place-card__meta { font-size:11px; line-height:1.35; margin:0 0 5px; }
  .wc300-map-experience .wc300-cua-rail .wc300-place-card__description { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; line-height:1.4; margin:0; }
  .wc300-cua-rail .wc300-place-card__description-toggle { display:none!important; }
  .wc300-cua-card-position { font:500 11px/1.3 Roboto,Arial,sans-serif; margin:0 0 4px; color:#667367; }
  .wc300-map-experience .wc300-cua-rail .wc300-place-card__actions { margin-top:auto; gap:6px; flex-direction:row; flex-wrap:wrap; padding-top:4px; }
  .wc300-map-experience .wc300-cua-rail .wc300-place-card__actions a,.wc300-map-experience .wc300-cua-rail .wc300-place-card__actions button { min-height:44px; min-width:0; width:auto; flex:1 1 auto; font-size:12px; padding:6px 8px; }
  .wc300-map-experience .wc300-cua-rail .wc300-place-card__save { position:static; width:auto; height:auto; padding:8px 10px; border:1px solid #315b67; border-radius:999px; box-shadow:none; background:transparent; color:#315b67; font-size:13px; }
  .wc300-map-experience .wc300-cua-rail:focus { outline:none; }
  .wc300-map-experience .wc300-cua-rail:focus-visible { outline:2px solid #174f5f!important; outline-offset:-2px; }
  .wc300-cua-rail a:focus-visible,.wc300-cua-rail button:focus-visible { outline:3px solid #f2b84b!important; outline-offset:2px; }
  .wc300-map-experience.is-ahead [data-role='panel']:focus { outline:none; }
  .wc300-map-experience.is-ahead [data-role='panel']:focus-visible { outline:2px solid #174f5f; outline-offset:-2px; }
  .wc300-map-experience.is-ahead .wc300-cua-tracking-status { font-size:12px; margin:0 0 4px; }
}

/* One existing drawer: setup controls yield to the arriving-place rail. */
.wc300-cua-arrival-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; font:600 13px/1.3 Roboto,Arial,sans-serif; }
.wc300-cua-arrival-toolbar button { min-height:44px; font-size:12px!important; }
.wc300-cua-start { margin:8px 0 12px; min-height:44px; }
.wc300-map-experience.is-cua-discovery [data-role='panel'] > :not(.wc300-cua-arrival-toolbar):not(.wc300-cua-place-discovery) { display:none; }
.wc300-map-experience.is-cua-discovery .wc300-map-panel { transition:transform 300ms cubic-bezier(.22,.75,.25,1); }
.wc300-map-experience.is-cua-discovery.is-sheet-collapsed .wc300-map-panel { transform:translateY(calc(100% - 52px)); }
.wc300-map-experience.is-cua-discovery.is-sheet-collapsed [data-role='panel'] { visibility:hidden; }
@media(max-width:767px){
  .wc300-map-experience.is-cua-discovery .wc300-map-panel { height:min(460px,calc(var(--wc300-mobile-height,100dvh) - 100px))!important; overflow:hidden; }
  .wc300-map-experience.is-cua-discovery.is-sheet-collapsed [data-role='panel'] { display:block; }
  .wc300-map-experience.is-cua-discovery .wc300-sheet-toggle { min-height:52px!important; height:52px; padding:8px 16px!important; }
}
@media(min-width:768px){
  .wc300-map-experience.is-cua-results .wc300-map-panel { padding:14px; }
  .wc300-map-experience.is-cua-results [data-role='panel'] { overflow-y:auto; max-height:calc(100vh - 290px); }
  .wc300-map-experience.is-cua-discovery .wc300-map-panel { top:auto; bottom:16px; left:0; right:0; width:100%; max-width:none; height:470px; max-height:calc(100% - 100px); padding:0; overflow:hidden; }
  .wc300-map-experience.is-cua-discovery .wc300-sheet-toggle { display:flex; width:100%; min-height:52px; align-items:center; justify-content:space-between; padding:10px 16px; background:#fffdf8; color:#173f3d; border:0; border-bottom:1px solid #173f3d20; border-radius:0; box-shadow:none; }
  .wc300-map-experience.is-cua-discovery [data-role='panel'] { padding:0 16px 12px; max-height:calc(100% - 52px); overflow-y:auto; }
  .wc300-map-experience.is-cua-discovery .wc300-cua-place-discovery { --wc300-rail-card-width:240px; }
}
@media(prefers-reduced-motion:reduce){
  .wc300-map-experience.is-cua-discovery .wc300-map-panel { transition:none; }
}

/* Arrival cards float over the map; only setup retains a panel surface. */
.wc300-map-experience.is-cua-discovery .wc300-map-panel {
  background:transparent!important; border:0!important; border-radius:0!important;
  box-shadow:none!important; backdrop-filter:none!important; pointer-events:none;
}
.wc300-map-experience.is-cua-discovery .wc300-map-panel::before,
.wc300-map-experience.is-cua-discovery .wc300-sheet-toggle::before { display:none; }
.wc300-map-experience.is-cua-discovery [data-role='panel'] { background:transparent; pointer-events:none; }
.wc300-map-experience.is-cua-discovery .wc300-sheet-toggle {
  width:max-content; max-width:calc(100% - 32px); margin:4px 16px 4px auto;
  min-height:44px!important; height:44px; padding:8px 12px!important;
  border:1px solid #173f3d20!important; border-radius:999px!important; background:#fffdf8!important;
  color:#173f3d!important; box-shadow:0 3px 10px #123c3926!important; pointer-events:auto;
}
.wc300-map-experience.is-cua-discovery .wc300-sheet-summary { display:none; }
.wc300-map-experience.is-cua-discovery .wc300-cua-arrival-toolbar {
  position:absolute; top:auto; bottom:calc(12px + env(safe-area-inset-bottom,0px)); left:16px; min-height:44px; pointer-events:auto; z-index:20;
}
.wc300-map-experience:not(.is-cua-discovery) > .wc300-cua-arrival-toolbar { display:none; }
.wc300-map-experience.is-cua-discovery .wc300-map-panel { bottom:calc(52px + env(safe-area-inset-bottom,0px)); }
.wc300-cua-card-arriving { animation:wc300-card-arrival 510ms cubic-bezier(.22,.75,.25,1) var(--wc300-arrival-delay,0ms) both; }
.wc300-map-experience .wc300-cua-card-arriving * { visibility:inherit!important; }
@keyframes wc300-card-arrival { from { visibility:hidden; transform:translateY(var(--wc300-arrival-distance,100vh)); } 0.01% { visibility:visible; } to { visibility:visible; transform:translateY(0); } }
.wc300-map-experience .wc300-cua-card-exit {
  position:absolute; z-index:19; margin:0; padding:0!important; pointer-events:none!important;
  overflow:visible; mask-image:none; -webkit-mask-image:none;
  animation:wc300-card-exit 510ms cubic-bezier(.4,0,.75,.4) both;
}
.wc300-cua-card-exit * { pointer-events:none!important; }
.wc300-map-experience:not(.is-cua-discovery) .wc300-cua-card-exit { display:none; }
@keyframes wc300-card-exit { to { transform:translateY(var(--wc300-exit-distance,400px)); } }
@media(prefers-reduced-motion:reduce){ .wc300-cua-card-exit { display:none!important; } }
@media(prefers-reduced-motion:reduce){ .wc300-cua-card-arriving { animation:none; } }
.wc300-map-experience.is-cua-discovery .wc300-cua-arrival-toolbar > span { display:none; }
.wc300-map-experience.is-cua-discovery .wc300-cua-arrival-toolbar button {
  padding:8px 12px; border:1px solid #95c11f; border-radius:999px;
  background:#95c11f!important; color:#fff!important; text-decoration:none!important; box-shadow:0 3px 10px #123c3926;
}
.wc300-map-experience.is-cua-discovery .wc300-cua-rail { pointer-events:auto; padding-bottom:24px; }
.wc300-map-experience.is-cua-discovery .wc300-place-card {
  background:#fffdf8; box-shadow:0 8px 18px rgba(10,40,37,.312),0 2px 5px rgba(10,40,37,.144);
}
.wc300-map-experience.is-cua-discovery .wc300-sheet-toggle { display:none!important; }
.wc300-map-experience.is-cua-discovery .wc300-map-panel {
  height:auto!important; max-height:calc(100% - 140px); display:flex; flex-direction:column;
}
.wc300-map-experience.is-cua-discovery [data-role='panel'] {
  flex:0 1 auto; max-height:100%; padding:0 16px!important; overflow-y:auto; touch-action:auto;
}
.wc300-map-experience.is-cua-discovery .wc300-cua-arrival-toolbar button { border:2px solid #fff!important; }
.wc300-map-experience.is-cua-discovery .wc300-cua-rail .wc300-places-explorer__item { touch-action:pan-x; }
.wc300-map-experience .wc300-cua-card-dismiss {
  position:absolute; top:6px; right:6px; width:44px; height:44px; min-height:44px;
  padding:0; border:1px solid #173f3d30; border-radius:50%; background:#fffdf8!important;
  color:#173f3d!important; font:24px/1 Arial,sans-serif; box-shadow:0 2px 8px #123c3930; z-index:4;
}
.wc300-map-experience .wc300-cua-card-dismiss:focus-visible { outline:2px solid #173f3d; outline-offset:2px; }
.wc300-map-experience .mapboxgl-ctrl-top-right { top:64px; right:2px; }
.wc300-map-experience .mapboxgl-ctrl-top-right .mapboxgl-ctrl-group { display:block; }
@media(max-width:767px) {
  .wc300-map-experience .wc300-tool-button.wc300-tools-trigger { min-height:38px; padding:5px 10px; border-radius:999px; }
  .wc300-map-experience .mapboxgl-ctrl-top-right { top:54px; }
}
/* Match the shared rail's 56px edge fade, mirrored when content remains left. */
.wc300-cua-rail.has-scroll-left { mask-image:linear-gradient(to right,transparent,#000 56px,#000); -webkit-mask-image:linear-gradient(to right,transparent,#000 56px,#000); }
.wc300-cua-rail.has-scroll-right { mask-image:linear-gradient(to right,#000,#000 calc(100% - 56px),transparent); -webkit-mask-image:linear-gradient(to right,#000,#000 calc(100% - 56px),transparent); }
.wc300-cua-rail.has-scroll-left.has-scroll-right { mask-image:linear-gradient(to right,transparent,#000 56px,#000 calc(100% - 56px),transparent); -webkit-mask-image:linear-gradient(to right,transparent,#000 56px,#000 calc(100% - 56px),transparent); }
/* Extend the scrollport below the window without changing the resting card layout.
   This keeps horizontal clipping/fades while allowing the full vertical entrance. */
.wc300-map-experience.is-cua-discovery .wc300-map-panel,
.wc300-map-experience.is-cua-discovery [data-role='panel'] { overflow:visible; }
.wc300-map-experience.is-cua-discovery .wc300-cua-place-discovery .wc300-cua-rail {
  padding-bottom:calc(24px + 100vh); margin-bottom:-100vh; overscroll-behavior-x:contain;
}
@media(min-width:768px) {
  .wc300-map-experience.is-cua-discovery .wc300-map-disclaimer {
    left:160px; right:16px; max-width:calc(100% - 176px);
  }
}
