:root {
  --pq-bg: #f9f6f3;
  --pq-ink: #1a1817;
  --pq-accent: #b69a9f;
  --pq-panel: #ffffff;
}
html { scroll-behavior: smooth; }
body { font-family: Arial, Helvetica, sans-serif; overflow-x: hidden; }
section[id] { scroll-margin-top: 90px; }
img { max-width: 100%; }
img:not(.h-100) { height: auto; }
a { text-underline-offset: 0.18em; }
#site-header .navbar-logo img { object-fit: cover; }
#site-header .navbar-toggler { position: relative; z-index: 1102; }
#site-header .navbar-toggler:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
#site-header .nav-link:focus-visible,
.btn:focus-visible,
a:focus-visible { outline: 3px solid #6d4f57; outline-offset: 3px; }
.cid-vrp5SavK7o .image-wrapper > img { width: 100%; height: 100%; object-fit: cover; }
.local-map-card { position: relative; min-height: 480px; overflow: hidden; border-radius: 2rem; }
.local-map-card > img { width: 100%; height: 480px !important; object-fit: cover; filter: saturate(.65) brightness(.72); }
.local-map-card__content { position: absolute; inset: auto auto 2rem 2rem; max-width: min(540px, calc(100% - 4rem)); padding: 1.5rem; border-radius: 1.5rem; background: rgba(255,255,255,.94); color: #1a1817; box-shadow: 0 1rem 2.5rem rgba(0,0,0,.18); text-align: left; }
.local-map-card__content h4 { margin: 0 0 .75rem; }
.local-map-card__content p { margin: 0 0 1rem; }
#gallery-contact-form .alert { margin-bottom: 1rem; }
#contact-details a { color: inherit; }
.site-legal-info { width: 100%; padding: 2rem 1rem 1rem; }
.site-legal-info__inner { max-width: 1200px; margin: 0 auto; text-align: left; }
.site-legal-info__title { margin: 0 0 1rem; font-size: clamp(1.35rem, 2vw, 2rem); }
.site-legal-info__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem 2rem; }
.site-legal-info__grid p { margin: 0; font-size: .98rem; line-height: 1.55; }
.site-legal-info a, .site-policy-links a { color: inherit; }
.site-policy-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; padding-top: 1.4rem; margin-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.28); }
.cookie-notice { position: fixed; z-index: 3000; left: 1rem; right: 1rem; bottom: 1rem; max-width: 980px; margin: 0 auto; padding: 1rem 1.2rem; background: #fff; color: #1a1817; border: 1px solid rgba(0,0,0,.15); border-radius: 1.2rem; box-shadow: 0 .8rem 2.5rem rgba(0,0,0,.2); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cookie-notice[hidden] { display: none !important; }
.cookie-notice p { margin: 0; line-height: 1.5; }
.cookie-notice__actions { display: flex; gap: .7rem; flex: 0 0 auto; }
@media (max-width: 991.98px) {
  #site-header .navbar-toggler { display: flex !important; align-items: center; justify-content: center; }
  #site-header .navbar-collapse { position: absolute; top: calc(100% + .5rem); left: 1rem; right: 1rem; z-index: 1101; padding: 1.2rem; background: #fff; border-radius: 1.25rem; box-shadow: 0 1rem 2.5rem rgba(0,0,0,.16); max-height: calc(100vh - 100px); overflow-y: auto; }
  #site-header .navbar-collapse:not(.show) { display: none !important; }
  #site-header .navbar-collapse.show { display: block !important; }
  #site-header .navbar-nav { align-items: stretch !important; }
  #site-header .nav-item, #site-header .nav-link { width: 100%; }
  #site-header .nav-link { padding: .75rem .5rem !important; }
  #site-header .icons-menu { padding-top: .5rem; }
  .site-legal-info__grid { grid-template-columns: 1fr; }
  .cookie-notice { align-items: stretch; flex-direction: column; }
  .cookie-notice__actions { width: 100%; }
  .cookie-notice__actions .btn { flex: 1; }
}
@media (max-width: 575.98px) {
  .local-map-card, .local-map-card > img { min-height: 420px; height: 420px !important; }
  .local-map-card__content { inset: auto 1rem 1rem; max-width: none; padding: 1rem; }
  .site-policy-links { flex-direction: column; }
  .cookie-notice__actions { flex-direction: column-reverse; }
}
