/* A clear, self-contained view of the river keeps the nearby-location story visual without compromising copy. */
.walkability-river{margin:32px 0 0;overflow:hidden;height:clamp(180px,25vw,315px);border:1px solid rgba(83,64,46,.3);box-shadow:0 14px 28px rgba(54,40,27,.14)}
.walkability-river img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 57%}
.guide-beach-image{height:clamp(220px,31vw,365px);margin:34px 0 0;overflow:hidden;border:1px solid rgba(83,64,46,.28);box-shadow:0 14px 28px rgba(54,40,27,.13)}
.guide-beach-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 56%}
.calendar-beach-image{width:min(250px,100%);height:142px;margin:0 0 24px;overflow:hidden;border:1px solid rgba(244,232,210,.55);box-shadow:0 12px 26px rgba(0,0,0,.22)}
.calendar-beach-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 62%}

/* A more compact editorial rhythm on larger screens: generous, without empty bands. */
@media(min-width:781px){
  .intro{padding:96px 0}
  .guest-love{padding:88px 0}
  .rooftop-rituals{padding:88px 0}
  .five-minutes{padding:82px 0}
  .walkability-river{height:250px;margin-top:26px}
  .details-section{margin-top:78px;padding:92px 0}
  .agde{padding:96px 0}
  .aerial-inner{padding:68px 0}
  .local-guide-inner{padding:68px 0}
  .availability{padding:92px 0}
  .before-booking-inner{padding:70px 0}
  .closing{padding:92px 0}
}

@media(max-width:780px){
  .site-header{min-height:64px;height:auto;padding:10px 20px;gap:10px}
  .site-header .brand{font-size:1.12rem}
  .header-actions{margin-left:auto;gap:7px}
  .header-actions [data-booking-options]{display:none}
  .language select{max-width:112px;font-size:.72rem}
  .theme-toggle{height:32px;width:32px;flex:0 0 32px}

  .hero{min-height:680px}
  .hero-image{background-position:center 58%}
  .hero-content{padding:78px 0 188px}
  .hero-buttons{align-items:flex-start;flex-direction:column;gap:18px}
  .hero-buttons .booking-platforms{gap:8px}
  .hero-facts{display:grid;grid-template-columns:repeat(2,1fr)}
  .hero-facts div{padding:12px 14px}
  .hero-facts strong{font-size:1.35rem}
  .hero-facts span{font-size:.58rem;line-height:1.25}

  .gallery{gap:8px}
  .gallery-large{height:300px}
  .gallery figure{min-height:155px}
  .five-minutes{padding:78px 0}
  .walkability-river{height:185px;margin-top:24px}
  .guide-beach-image{height:190px;margin-top:25px}
  .calendar-beach-image{width:100%;height:175px;margin-bottom:22px}
  .minutes-grid{margin-top:30px}
  .minutes-grid a{padding:17px 10px 14px}
  .minutes-grid strong{font-size:1.34rem;line-height:1.05}
  .minutes-grid span{font-size:.72rem;line-height:1.25}
  .availability,.closing{padding:78px 0}
  .calendar-key{flex-wrap:wrap;column-gap:7px;row-gap:6px}
  .calendar-key strong{font-size:.68rem!important}
  .closing h2{margin-bottom:24px}
  .closing .booking-platforms{justify-content:center}
  .booking-platform{padding:9px 11px}

  .guide-hero{padding:76px 0}
  .guide-hero h1{font-size:clamp(2.8rem,13vw,4.4rem)}
  .locale-header{padding-top:17px;padding-bottom:17px;gap:12px}
  .locale-nav{gap:8px}
  .locale-nav a{font-size:.78rem}
  .locale-hero{padding:58px 0 50px}
}

@media(max-width:380px){
  .site-header{padding-left:14px;padding-right:14px}
  .site-header .brand{font-size:1.02rem}
  .language select{max-width:96px;font-size:.68rem}
  .hero h1{font-size:2.85rem}
  .hero-facts div{padding-left:10px;padding-right:10px}
  .booking-platform{font-size:.73rem}
}

html[data-theme="dark"] .five-minutes{background:#2c2631!important}
html[data-theme="dark"] .walkability-river{border-color:#c9ab78;box-shadow:none}
html[data-theme="dark"] .five-minutes h2{color:#fff8ee!important}
html[data-theme="dark"] .minutes-grid{border-top-color:#c9ab78!important}
html[data-theme="dark"] .minutes-grid a{color:#fff8ee!important;border-color:#c9ab78!important}
html[data-theme="dark"] .minutes-grid strong{color:#efd19b!important}
html[data-theme="dark"] .minutes-grid span{color:#fff8ee!important}
