/* Minimal presentation layer. Loaded last: it removes duplicated chrome and
   quiets what remains, without changing playback, routing or credits. */

/* Sidebar: the day list is the navigation; its heading repeated the brand. */
.nav-heading{display:none}

/* Map chrome: one row of small round icon buttons. Zoom stays in MapLibre's
   own control; manual dragging pauses following and Replay resumes it. */
.map-top>div{display:flex;gap:6px}
.map-top>div>button{width:36px;height:36px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:0;gap:0}
.map-top>div>button i{font-size:17px}
#replay[hidden],#map-mode[hidden]{display:none}
.terrain-controls [data-terrain-tilt],
.terrain-controls [data-terrain-north],
.terrain-controls [data-terrain-follow],
.terrain-distance{display:none!important}
/* The 3D toggle only speaks up when 3D is not running, so a flat or loading
   map is still labelled and retryable. */
.map-shell:has(#terrain-map[data-terrain="true"]) [data-terrain-toggle]{display:none}
.terrain-controls:not(:has(>:not([hidden]):not(.terrain-distance):not([data-terrain-tilt]):not([data-terrain-north]):not([data-terrain-follow])))
{display:none!important}
.map-shell:has(#terrain-map[data-terrain="true"]) .terrain-controls:not(:has(.terrain-approximation:not([hidden]))){display:none!important}
.route-endpoints{display:none!important}
#terrain-map .maplibregl-ctrl-group{border-radius:18px;box-shadow:0 2px 10px #09282024}
#terrain-map .maplibregl-ctrl-group button{width:32px;height:32px}

/* Credits stay readable but recede. */
.terrain-attribution,.terrain-attribution .maplibregl-ctrl-attrib{font-size:11px;line-height:16px;opacity:.78;background:none!important;padding-left:0!important}
.terrain-surface-note{background:none;padding:2px 0;font-size:12px;opacity:.85}
.media-actions .map-attribution{font-size:11px;opacity:.7}

/* Travel notes: title, time, one meta line, legs, notes. */
.journey-complexity{display:none!important}
.scene-copy:has(.journey-legs) .tags{display:none}
.scene-copy .practical{display:flex;flex-direction:column;gap:2px;margin:14px 0;padding:0;border:0;font-size:14px;color:inherit;background:none}
.scene-copy .practical b{font-weight:600}
.scene-copy .practical span{opacity:.7}

/* Links read as quiet text, not a row of pills. */
.scene-copy .links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px}
.scene-copy .links a,.scene-copy .links button{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0;font-size:13px;color:inherit;opacity:.72;text-decoration:underline;text-decoration-color:#0003;text-underline-offset:3px}
.scene-copy .links a:hover,.scene-copy .links button:hover{opacity:1}
.scene-copy .links i{display:none}

/* Media actions under photos: same quiet text treatment. */
.media-actions{gap:6px 18px}
.media-actions button,.media-actions a{background:none!important;border:0!important;box-shadow:none!important;padding:4px 0!important;font-size:13px;opacity:.75;color:inherit}
.media-actions button:hover,.media-actions a:hover{opacity:1}

/* Reviews: one line of scores and a single quote. */
.place-reviews{display:block;margin:0 0 14px;padding:0;background:none;border:0;box-shadow:none}
.place-reviews .place-score{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:0;background:none;border:0;box-shadow:none}
.place-reviews .review-sources{display:flex;flex-wrap:wrap;gap:6px 16px}
.place-reviews .review-rating{display:inline-flex!important;align-items:center;justify-content:flex-start;width:auto!important;grid-template-columns:none!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;gap:6px;font-size:13px}
.place-reviews .review-brand{width:16px;height:16px}
.place-reviews .review-rating>span,.place-reviews .review-rating>i{opacity:.6;font-size:12px}
.place-reviews .review-stars{font-size:12px}
.place-reviews .review-number{font-size:14px}
.place-reviews .review-scope{font-size:12px;opacity:.6}
.place-reviews .review-quote{margin:8px 0 0;font-size:14px;font-style:italic;opacity:.8}

@media (prefers-color-scheme:dark){.scene-copy .links a,.scene-copy .links button{text-decoration-color:#fff4}}

/* Start and destination pins carry a pointer label: the town in bold when the
   ends are in different towns, the place beneath. Near the map's side the
   label slides (--shift) while its pointer stays on the pin. */
.route-pin{overflow:visible}
.maplibregl-marker.route-pin[data-role]{z-index:5}
.route-label{position:absolute;left:50%;bottom:calc(100% + 11px);display:grid;justify-items:center;gap:1px;padding:6px 12px 7px;border-radius:12px;background:#fffdf6;color:#173d34;font:500 11px/1.25 'Inter',system-ui,sans-serif;white-space:nowrap;text-align:center;transform:translate(calc(-50% + var(--shift,0px)),var(--lift,0px));box-shadow:0 3px 14px #0928203d,0 0 0 1px #09282012;pointer-events:none}
.route-label b{font-size:13px;font-weight:650;letter-spacing:.005em}
.route-label small{font-size:11px;opacity:.72}
.route-label::after{content:"";position:absolute;left:calc(50% - var(--shift,0px));top:100%;width:10px;height:10px;background:inherit;border-radius:0 0 2px 0;transform:translate(-50%,-55%) rotate(45deg);box-shadow:2px 2px 3px #09282014}
.route-pin[data-role="destination"] .route-label{background:#173d34;color:#fffdf6}

