/* site.css — port fixes on top of lantern.css (designer's file stays untouched). Each rule: why. */

/* FAQ: "Collapse all" must not wrap next to a long H2 */
.faq__toggle { white-space: nowrap; flex: none; }

/* Road track title: left part is one unit, water figure on the right (template text nodes were spread by space-between) */
.road-track__title > .road-track__name { min-width: 0; }

/* Long-text pages: a section heading needs air above it when it follows prose */
.article p + .h2, .article ul + .h2, .article ol + .h2, .article div + .h2, .article .tldr + .h2 { margin-top: var(--s7); }
.page[data-page="compare"] main .h2 { margin-top: var(--s7); }
.page[data-page="compare"] main .h2:first-of-type { margin-top: var(--s5); }

/* Google map facade: nothing from Google loads until the visitor asks */
.map[data-map="facade"] { display: grid; place-items: center; }
.map__load { position: relative; z-index: 2; min-height: 48px; padding: 0 22px; border: 0; border-radius: var(--r-control); background: var(--surface-light); color: var(--ink); font: 650 var(--fs-ui)/1 var(--font-text); cursor: pointer; }
.map__load:hover { background: var(--moon); }
.map[data-map="loaded"] .map__load { display: none; }

/* GetYourGuide availability widget sits inside the designer's frame */
.partner-widget__frame [data-gyg-href] { min-height: 320px; }
@media (max-width: 899px) { .map[data-map="facade"] { place-items: start center; padding-top: 16px; } }
/* consent banner: fixed overlay (no layout shift), above the sticky bar */
.consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1000; max-width: 720px; margin: 0 auto; display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 16px 18px; border-radius: var(--r-panel, 16px); background: var(--surface, #13263A); color: var(--text, #E9EDF0); box-shadow: 0 12px 40px rgba(0,0,0,.45); border: 1px solid rgba(233,237,240,.12); }
.consent__text { margin: 0; font-size: 15px; line-height: 1.45; }
.consent__text a { color: var(--moon, #F1E3B5); }
.consent__actions { display: flex; gap: 8px; flex: none; }
.consent__btn { min-height: 44px; padding: 0 18px; border-radius: var(--r-control, 10px); font: 650 15px/1 var(--font-text, sans-serif); cursor: pointer; border: 1px solid rgba(233,237,240,.35); background: transparent; color: var(--text, #E9EDF0); }
.consent__btn--accept { background: var(--surface-light, #E9EDF0); color: var(--ink, #0C1824); border-color: transparent; }
@media (max-width: 599px) { .consent { flex-direction: column; align-items: stretch; } .consent__actions { justify-content: stretch; } .consent__btn { flex: 1; } }
