/* Targeted usability repairs without changing the desktop design palette. */
html,body{max-width:100%;}
main{display:block;min-width:0}
img{max-width:100%;height:auto}
img[width][height]{height:auto}
.navigation-section{position:sticky;top:0;z-index:1000}
.navigation-dropdown-trigger{font:inherit;border:0;background:transparent;padding:0;cursor:pointer}
.navigation-dropdown.is-open .navigation-dropdown-list{display:flex;flex-direction:column}
.navigation-dropdown-list{flex-direction:column}
.navigation-dropdown.is-open .navigation-dropdown-icon{transform:translateY(2px)}
.navigation-dropdown-trigger:focus-visible,.navigation-hamburger:focus-visible,.navigation-close-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:4px;border-radius:4px}
.navigation-hamburger,.navigation-close-btn{border:0;background:transparent;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}
.navigation-mobile-overlay{height:100dvh;max-height:100dvh;overscroll-behavior:contain;overflow-y:auto;background:var(--color-primary)}
.navigation-mobile-overlay .navigation-cta-mobile{display:flex;min-height:48px;color:var(--color-on-secondary);background:var(--color-secondary)}
.navigation-mobile-overlay .navigation-cta-mobile:hover{background:var(--color-accent)}
.navigation-mobile-overlay.is-open{display:flex}
.navigation-overlay-header{flex:0 0 auto}
.navigation-overlay-content{min-height:0}
.navigation-overlay-link{overflow-wrap:anywhere}
body.menu-open{overflow:hidden}
.navigation-mobile-overlay .navigation-close-btn{display:flex;flex:0 0 auto}
.vessara-footer-contact{color:color-mix(in srgb,#fff 65%,transparent);font-size:var(--font-size-xs);line-height:1.65;display:flex;flex-wrap:wrap;gap:.4rem .75rem;align-items:baseline;min-width:0}
.vessara-footer-contact [data-address]{overflow-wrap:anywhere}
.vessara-footer-legal{gap:var(--spacing-lg);flex-wrap:wrap}
.vessara-footer-policy-links{flex-wrap:wrap;row-gap:.35rem}
.vessara-footer-policy-links a:hover,.vessara-footer-policy-links a:focus-visible{color:#fff}
:is(.tours-gallery-strip-container,.walking-showcase-strip-wrapper){scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;touch-action:pan-x;scrollbar-width:thin}
:is(.tours-gallery-item,.walking-showcase-tile){scroll-snap-align:start}
:is(.tours-gallery-strip-container,.walking-showcase-strip-wrapper).is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
:is(.tours-gallery-strip-container,.walking-showcase-strip-wrapper):focus-visible{outline:2px solid var(--color-secondary);outline-offset:-3px}
@media(max-width:1023px){
  .navigation-links-group{display:none}
  .navigation-actions > a {display:none}
  .navigation-hamburger{display:inline-flex;position:relative;z-index:2}
  .navigation-bar{min-width:0;gap:10px}
  .navigation-brand-container{min-width:0;max-width:calc(100% - 65px)}
  .navigation-actions{flex-shrink:0}
  .navigation-overlay-header{gap:12px}
  .navigation-overlay-header .navigation-logo-link{min-width:0;max-width:100%}
}
@media(max-width:767px){
  .navigation-bar{padding-inline:clamp(12px,4vw,24px);height:4.5rem}
  .navigation-overlay-header{padding:12px clamp(14px,5vw,24px)}
  .navigation-overlay-content{padding:clamp(20px,6vw,32px) clamp(16px,5vw,24px)}
  :is(.pv-hero-inner,.pv-brand-intro-container,.pv-experiences-inner,.pv-highlights-container,.pv-overview-container,.about-hero-container,.about-gallery-container,.tours-hero-container,.walking-hero-container){min-width:0}
  :where(.pv-experience-card,.pv-duo-card,.pv-commitment-card,.walking-theme-card,.tours-experience-card){min-width:0;max-width:100%}
  .tours-gallery-item{flex-shrink:0}
  .vessara-footer-contact{justify-content:center;text-align:center}
  .vessara-footer-policy-links{justify-content:center}
}
@media(max-width:375px){
  .navigation-logo-link{height:auto;min-height:2rem}
  .company-logo-brand{font-size:clamp(.7rem,3.6vw,.92rem)}
  .company-logo-tagline{font-size:clamp(.52rem,2.5vw,.72rem)}
  .navigation-overlay-link{font-size:clamp(1.32rem,7vw,1.65rem)}
  .vessara-footer-inner{padding-inline:clamp(12px,4vw,24px)}
}
