/* Shared responsive behavior for every public page. */
[hidden]{display:none!important}
.menu-toggle{display:none}
main,section,article,aside,figure,form,.footer-top>*,.about-city>*,.city-editorial>*,.arrangements>*,.contact-layout>*{min-width:0}
p,h1,h2,h3,a,strong{overflow-wrap:break-word}
.editorial-copy h3{margin-top:26px;margin-bottom:12px}
.editorial-copy h3+p{margin-top:0}
@media(max-width:1100px) and (min-width:801px){.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){
  html{scroll-padding-top:24px}
  .site-header,.inner-header .header-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 16px;padding-block:18px}
  .site-header{margin-bottom:22px}
  .site-header .logo,.inner-header .logo{width:140px}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:88px;min-height:46px;margin-left:auto;padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:#181a14;color:var(--gold-light);font-size:14px;cursor:pointer}
  .menu-toggle-icon{position:relative;display:block;width:20px;height:16px}
  .menu-toggle-icon span{position:absolute;left:0;width:20px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s,top .2s}
  .menu-toggle-icon span:nth-child(1){top:0}.menu-toggle-icon span:nth-child(2){top:7px}.menu-toggle-icon span:nth-child(3){top:14px}
  .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1){top:7px;transform:rotate(45deg)}
  .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3){top:7px;transform:rotate(-45deg)}
  .site-header>#primary-navigation,.inner-header #primary-navigation{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex-basis:100%;width:100%;gap:4px;padding:14px;margin-top:18px;background:#151710;border:1px solid var(--line);border-radius:12px}
  #primary-navigation>.nav-link,#primary-navigation>.button,#primary-navigation .cities-menu>summary{width:100%;justify-content:space-between;text-align:left;min-height:48px;padding:12px 14px;font-size:16px;border-radius:6px}
  #primary-navigation>.button{margin-top:8px;justify-content:center}
  #primary-navigation .cities-menu{width:100%}
  #primary-navigation .city-dropdown{position:static;display:block;width:100%;margin:4px 0 8px;padding:5px 8px;background:#0c0e09;border:0;border-left:1px solid var(--line);border-radius:0 6px 6px 0;box-shadow:none}
  #primary-navigation .city-dropdown a{padding:11px 16px;min-height:46px;font-size:15px}
  .footer-navigation .nav{justify-content:flex-start;gap:4px}
  .footer-navigation .nav-link,.footer-cities a,.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
  .footer-navigation .city-dropdown{left:0;right:auto}
  .footer-bottom{align-items:center}
}
@media(max-width:800px){
  body,.city-landing{font-size:16px}
  .page-shell{width:calc(100% - 32px)}
  .inner-container{width:calc(100% - 32px)}
  .lead,.section-intro,.banner-intro,.editorial-copy,.feature-card p,.city-faq p{font-size:16px;line-height:1.8}
  .contact-actions>p,.contact-note>p:not(.eyebrow){font-size:15px}
  #reservationForm input,#reservationForm textarea{font-size:16px;max-width:100%}
  .contact-layout{gap:28px}
  .feature-grid,.reviews-grid,.faq-grid{grid-template-columns:1fr}
  .review-card:first-child{grid-column:auto}
  .review-card p{font-size:1.25rem}
  .section-heading{margin-bottom:25px}
  .about-copy h2,.city-editorial h2,.arrangement-title h2{max-width:100%}
  .values-panel>div{font-size:14px;gap:12px}
  .city-faq summary{min-height:52px;font-size:15px;line-height:1.6}
  .city-faq summary span{flex-shrink:0}
  .enquiry-row .button{max-width:100%;white-space:normal}
  .banner-facts{max-width:100%;gap:12px;flex-wrap:wrap}
  .banner-facts li{font-size:12px;line-height:1.5}
  #cookie-bar{max-height:45vh!important;overflow-y:auto!important}
}
@media(max-width:600px){
  .hero-copy{padding:30px 24px}
  .hero h1{font-size:clamp(2rem,8.4vw,2.8rem);line-height:1.08}
  .hero h1,.destination-banner h1{overflow-wrap:normal}
  .hero-actions{width:100%;gap:12px}
  .hero-actions .button{white-space:normal;min-height:48px}
  .rates-section{padding:28px 18px}
  .rate-card{padding:22px 12px}
  .rate-card strong{font-size:clamp(1.7rem,7vw,2.2rem)}
  .profile-item{padding:20px 14px}
  .profile-item strong{font-size:15px}
  .profile-grid,.rates-grid,.city-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-actions{align-items:stretch;flex-direction:column;gap:16px}
  .contact-actions>p:first-of-type{flex-basis:auto}
  .whatsapp-button{max-width:100%;justify-content:center}
  .contact-note{padding:0}
  .contact-note h3{font-size:2.6rem}
  .contact-note h3 br{display:none}
  .destination-heading{padding:35px 0}
  .destination-heading h1{font-size:clamp(2.5rem,10vw,3.5rem)}
  .destination-grid{grid-template-columns:1fr}
  .destination-card{padding:28px;min-height:220px}
  .destination-banner{padding-top:280px;min-height:0}
  .banner-photo{inset:0 0 auto;height:320px}
  .destination-banner::after{background:linear-gradient(180deg,transparent 200px,#0b0b0a 320px)}
  .banner-content{padding-top:20px;padding-bottom:26px}
  .destination-banner h1{font-size:clamp(2.1rem,9vw,3.2rem);line-height:1.08;max-width:100%}
  .destination-banner h1 br{display:none}
  .banner-intro{max-width:100%;margin-top:20px}
  .destination-banner .hero-actions{gap:22px}
  .destination-banner .hero-actions .button{flex:none}
  .banner-facts{margin-top:25px;padding:14px 12px;gap:12px;background:#171811}
  .banner-facts li{padding:0;border:0;gap:6px}
  .banner-facts .line-icon{font-size:20px}
  .city-landing h2{font-size:clamp(2rem,8.8vw,2.8rem)}
  .city-rate{padding:20px 10px}
  .city-rate h3{font-size:1.5rem}
  .city-rate strong{font-size:clamp(1.8rem,7.5vw,2.4rem)}
  .city-rate:last-child strong{font-size:1.5rem;white-space:normal}
  .qualities{gap:16px;flex-wrap:wrap}
  .qualities li{font-size:12px;white-space:normal}
  .values-panel{padding:22px 16px;gap:20px 14px}
  .values-panel>div{align-items:flex-start}
  .footer-top,.city-landing .footer-top{gap:28px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:4px;font-size:12px}
  .footer-cities{gap:4px 20px}
}
@media(max-width:359px){.page-shell,.inner-container{width:calc(100% - 24px)}.hero-copy{padding:26px 20px}.hero-actions .button{flex-basis:100%}.banner-facts{flex-direction:column;align-items:flex-start}.values-panel{grid-template-columns:1fr}.profile-item{padding:18px 12px}.city-gallery{gap:10px}.gallery{gap:16px}.menu-toggle{min-width:80px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.menu-toggle-icon span{transition:none}}
