
html, body { width: 100%; max-width: 100%; overflow-x: hidden; overflow-x: clip; }
html { scroll-behavior: smooth; }
body { font-family: Arial, Helvetica, sans-serif; }
img { max-width: 100%; height: auto; }
section { scroll-margin-top: 96px; }
.site-chevron { display: inline-flex; align-items: center; justify-content: center; font-family: Arial, Helvetica, sans-serif; font-size: 1.4rem; line-height: 1; transition: transform .2s ease; }
.panel-title[aria-expanded="true"] .site-chevron { transform: rotate(180deg); }
.site-slider-arrow { font-family: Arial, Helvetica, sans-serif; font-size: 2.4rem; line-height: 1; display: inline-block; }
.google-map { overflow: hidden; }
.google-map img { width: 100%; min-height: 320px; height: 100%; object-fit: cover; display: block; }
.site-legal-info { color: #fff; text-align: left; max-width: 1100px; margin-left: auto; margin-right: auto; }
.site-legal-title { margin: 0 0 1rem; text-align: center; opacity: .95; }
.site-legal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1.5rem; padding: 1.25rem; border: 1px solid rgba(255,255,255,.2); border-radius: 1rem; }
.site-legal-grid span { min-width: 0; overflow-wrap: anywhere; }
.site-age-gate[hidden], .site-cookie-banner[hidden] { display: none !important; }
.site-age-gate { position: fixed; inset: 0; z-index: 2000; background: rgba(10, 12, 12, .72); display: grid; place-items: center; padding: 1rem; backdrop-filter: blur(8px); }
.site-age-panel { width: min(560px, 100%); background: #fff; color: #111; padding: 2rem; border-radius: 1.5rem; box-shadow: 0 24px 80px rgba(0,0,0,.3); text-align: center; }
.site-age-panel h2 { margin: 0 0 1rem; }
.site-age-mark { width: 64px; height: 64px; border: 2px solid currentColor; border-radius: 50%; display: grid; place-items: center; font-weight: 700; margin: 0 auto 1rem; font-size: 1.35rem; }
.site-age-link { display: inline-block; margin: 1rem 0 0 1rem; color: inherit; text-decoration: underline; }
.site-cookie-banner { position: fixed; z-index: 1900; left: 1rem; right: 1rem; bottom: 1rem; max-width: 980px; margin: auto; background: #fff; color: #111; padding: 1rem 1.25rem; border-radius: 1.25rem; box-shadow: 0 18px 48px rgba(0,0,0,.22); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.site-cookie-banner p { margin: 0; }
.site-cookie-banner a { color: inherit; text-decoration: underline; }
.site-cookie-actions { display: flex; gap: .5rem; flex: 0 0 auto; }
.legal-main { padding: 8rem 1rem 5rem; background: #eaedef; min-height: 60vh; }
.legal-shell { max-width: 980px; margin: 0 auto; background: #fff; padding: clamp(1.5rem, 4vw, 3.5rem); border-radius: 2rem; }
.legal-shell h1 { margin-bottom: 1rem; }
.legal-shell h2 { margin-top: 2rem; font-size: clamp(1.45rem, 3vw, 2rem); }
.legal-shell p, .legal-shell li { font-size: 1.05rem; line-height: 1.7; }
.legal-shell a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.legal-meta { padding: .9rem 1rem; background: #f2f4f5; border-radius: 1rem; margin: 1rem 0 2rem; }
.legal-back { display: inline-block; margin-bottom: 1.5rem; }
@media (max-width: 991px) {
  #site-header .navbar-collapse { z-index: 1050 !important; position: absolute; top: calc(100% + .4rem); left: 2.5%; width: 95%; max-height: calc(100vh - 90px); overflow-y: auto; padding: 1rem; border-radius: 1.25rem; background: rgba(255,255,255,.98) !important; box-shadow: 0 20px 50px rgba(0,0,0,.12); }
  #site-header .navbar-collapse:not(.show) { display: none !important; }
  #site-header .navbar-collapse.show { display: block !important; }
  #site-header .navbar-toggler { display: block !important; position: relative; z-index: 1060; flex: 0 0 31px; }
  #site-header .navbar-buttons { margin-top: .65rem; }
  #site-header .navbar-nav { align-items: stretch; }
  #site-header .nav-item, #site-header .nav-link { width: 100%; }
  #site-header .nav-link { justify-content: flex-start; padding: .55rem .75rem !important; }
  .site-legal-grid { grid-template-columns: 1fr; }
  .site-cookie-banner { flex-direction: column; align-items: stretch; }
  .site-cookie-actions { flex-wrap: wrap; }
}
@media (max-width: 575px) {
  #site-header .container { width: calc(100% - 1rem) !important; padding-left: .75rem !important; padding-right: .75rem !important; }
  #site-header .navbar-brand { max-width: calc(100% - 56px); }
  #site-header .navbar-caption { font-size: 1rem !important; }
  #site-header .navbar-logo img { max-width: 44px; }
  .site-age-panel { padding: 1.4rem; }
  .site-age-link { display: block; margin: 1rem 0 0; }
  .site-cookie-actions .btn { flex: 1 1 140px; }
  .legal-main { padding-top: 6rem; }
}
