/* Shared UX corrections; preserve the approved visual identity. */
.hero-catalog-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;margin-top:18px;border-radius:24px;background:#ed951c;color:#191919;font-size:15px;font-weight:600;text-decoration:none}
.hero-catalog-link:focus-visible{outline:3px solid #244f50;outline-offset:4px}
.journey-navigation>summary[aria-current="page"]{color:#a44d00;text-decoration:underline;text-underline-offset:12px}
.activity-price strong{font-size:clamp(25px,2.2vw,35px)}
.activity-mobile-booking strong{font-size:21px}
#detail .popup-gallery-dots{gap:0;min-height:48px}
#detail .popup-gallery-dots button{flex:0 0 44px;width:44px;height:44px}
#detail .popup-gallery-dots button[hidden]{display:none}
#detail .popup-gallery-status{position:static;display:block;width:auto;height:auto;margin:0;padding:0 0 8px;overflow:visible;clip-path:none;white-space:normal;text-align:center;font-size:12px;color:#595550}
@media(max-width:600px){
 header.header .topbar{height:58px;min-height:58px;padding-block:4px}
 header.header .topbar .brand{width:110px}
 header.header .simple-navigation{padding-block:0!important;row-gap:0!important;min-height:0;height:auto}
 header.header .simple-navigation>a,header.header .simple-navigation>.journey-navigation>summary{min-height:40px;padding-block:10px;font-size:13px}
 header.header .simple-navigation>.social-links{height:36px;min-height:36px}
 header.header .simple-navigation>.social-links .social-link{height:36px}
 .hero{grid-template-rows:auto 220px 130px!important;gap:8px!important}
 .hero-copy{padding-block:12px 16px!important}
 .hero-catalog-link{margin-top:14px;font-size:14px}
 .cards:not(.list){grid-template-columns:minmax(0,1fr)!important;gap:22px}
 .cards .card{aspect-ratio:4/5!important;min-height:400px}
 .cards .card h3{font-size:20px!important;line-height:1.25}
 .cards .card p{font-size:15px!important;line-height:1.55;min-height:0}
 .cards .card-info{left:16px;right:16px;bottom:16px;padding:16px}
 .cards .card .price{font-size:15px!important;padding:12px 8px}
 .cards .card .badge{font-size:11px;padding:6px 9px}
 .cards .card .badges{left:60px;top:14px}
 .activity-mobile-booking strong{font-size:18px}
 .activity-mobile-booking .activity-reserve-button{min-width:0;white-space:normal}
}

body:has(.activity-page-wrap) .journey-navigation>summary[aria-current="page"]{border-bottom-color:#ed951c}

header.header .simple-navigation>.journey-navigation>summary[aria-current="page"]{border-bottom:2px solid #ed951c!important;text-decoration:none!important;color:#191919!important}

/* UX08/UX09: retain readable cards without intrinsic aspect-ratio overflow. */
@media(max-width:767px){
 .cards .card{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
}
@media(min-width:601px) and (max-width:767px){
 .cards .card h3{font-size:18px!important;line-height:1.25}
 .cards .card p{font-size:14px!important;line-height:1.55;min-height:0}
 .cards .card-info{padding:14px;left:12px;right:12px;bottom:12px}
 .cards .card .price{font-size:14px!important;padding:10px 6px}
}

@media(max-width:767px){
 header.header .simple-navigation>a,
 header.header .simple-navigation>.journey-navigation>summary{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;box-sizing:border-box;padding-inline:2px;white-space:normal}
 header.header .simple-navigation>.journey-navigation{min-width:0;width:100%}
 header.header .simple-navigation>.journey-navigation>summary::after{flex-shrink:0}
 header.header .simple-navigation>.social-links{grid-column:1/-1;justify-self:center;justify-content:center;width:max-content;max-width:100%;margin-inline:auto}
}

/* The catalogue CTA is not a photo link: isolate it from the old hero overlay. */
.hero .hero-catalog-link{position:relative}
.hero .hero-catalog-link::after{content:none}
@media(min-width:768px){.hero .hero-catalog-link{align-self:flex-start;width:fit-content;max-width:100%}}
