/* Site-specific finishing styles; original section layout lives in site-additional.css. */
html { scroll-behavior: smooth; overflow-x: clip; }
body { max-width: 100%; overflow-x: clip; }
img { max-width: 100%; height: auto; }
main { display: block; }
main section, main [id] { scroll-margin-top: 6.5rem; }
#gallery .gallery-wrapper, #gallery .grid-container { max-width: 100%; }
#gallery .grid-container-3 { max-width: none; }
.faq-chevron { display: inline-block; width: .7rem; height: .7rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.navbar-dropdown { z-index: 1100 !important; }
@media(max-width:991px) {
  .cid-vweRBwzk5V .navbar-toggler { display: block !important; z-index: 3; position: relative; flex: 0 0 auto; }
  .cid-vweRBwzk5V .navbar-collapse { z-index: 2 !important; top: 100%; left: 0; right: 0; width: 100%; max-height: calc(100dvh - 5.5rem); overflow-y: auto; overflow-x: hidden; box-shadow: 0 12px 32px rgba(0,0,0,.14); }
  .cid-vweRBwzk5V .navbar-collapse:not(.show):not(.collapsing) { display: none !important; }
  .cid-vweRBwzk5V .navbar-collapse.show { display: block !important; }
  .cid-vweRBwzk5V .navbar-brand { min-width: 0; }
  .cid-vweRBwzk5V .navbar-caption-wrap { overflow-wrap: anywhere; }
  .cid-vweRBwzk5V .navbar-nav .nav-item, .cid-vweRBwzk5V .navbar-buttons { width: 100%; }
}
.legal-info { margin-top: 2rem; border-top: 1px solid rgba(255,255,255,.25); padding: 2rem 1rem .5rem; color: #fff; }
.legal-info__title { font-size: 1.35rem; font-weight: 700; color: #fff; text-align: center; margin-bottom: .75rem; }
.legal-info__notice { color: #d4ddd5; text-align: center; max-width: 55rem; margin: 0 auto 1.25rem; line-height: 1.5; }
.legal-info__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.15rem 2rem; margin: 0 auto; max-width: 70rem; }
.legal-info__grid > div { min-width: 0; overflow-wrap: anywhere; }
.legal-info__grid dt { color: #bfdac5; font-size: .85rem; margin-bottom: .2rem; }
.legal-info__grid dd { margin: 0; color: #fff; line-height: 1.45; }
.legal-links { display: flex; justify-content: center; gap: .8rem 1.6rem; flex-wrap: wrap; margin-top: 2rem; }
.legal-links a, .legal-page a, .cookie-banner a { color: #d6efdc; text-decoration: underline; text-underline-offset: 3px; }
.legal-links a:hover, .legal-page a:hover, .cookie-banner a:hover { color: #fff; }
.legal-page { min-height: 65vh; padding: 8.5rem 1rem 5rem; background: #102017; color: #f4f8f4; }
.legal-page__inner { max-width: 860px; }
.legal-page h1 { font-size: clamp(2.4rem,5vw,4.5rem); margin: 1.5rem 0 2rem; line-height: 1.1; }
.legal-page h2 { font-size: clamp(1.3rem,2.2vw,1.8rem); margin: 2.2rem 0 .65rem; }
.legal-page p { line-height: 1.7; }
.legal-page__back { display: inline-block; }
.cookie-banner { position: fixed; z-index: 1200; bottom: 1rem; left: 1rem; right: 1rem; max-width: 780px; margin: auto; padding: 1rem 1.2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #fff; background: #172c20; border: 1px solid #a5c3a9; box-shadow: 0 8px 28px #0005; }
.cookie-banner[hidden] { display: none; }
.cookie-banner p { margin: 0; line-height: 1.4; }
.cookie-banner button { border: 1px solid #fff; background: #e6f3e8; color: #102017; padding: .55rem 1rem; white-space: nowrap; cursor: pointer; }
.contact-note { text-align: center; width: 100%; margin-top: .7rem; }
@media(max-width:767px) { .legal-info__grid { grid-template-columns: 1fr; } .cookie-banner { flex-wrap: wrap; } .legal-page { padding-top: 7rem; } }
