/* Layout stability fixes: responsive grids, review embeds, contact page, header overflow */
html,body{width:100%;max-width:100%;overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
body{min-width:0}
main,section,header,footer,.container,.container-wide{min-width:0}
a{overflow-wrap:break-word}.footer a,.contact-card a,.google-review-actions a{word-break:break-word}
iframe{max-width:100%}

/* Header: stop logo/nav/actions from colliding on laptop widths */
.header__inner{grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto;gap:clamp(14px,2vw,28px)}
.logo,.anu-logo{min-width:0}.anu-logo{min-width:220px}.brand-mark{min-width:0}.brand-mark b{white-space:nowrap}.nav{min-width:0;gap:clamp(14px,2vw,32px)}.header-actions{min-width:max-content;gap:16px}.icon-link::before,.with-icon::before,.inline-symbol::before{flex:0 0 18px}
@media (max-width:1240px){.header__inner{grid-template-columns:minmax(210px,auto) minmax(0,1fr) auto}.nav{gap:16px}.header-actions .hide-sm{display:none!important}}
@media (max-width:1100px){.header__inner{display:flex;justify-content:space-between}.menu-btn{display:grid}.nav{position:absolute;left:21px;right:21px;top:78px;display:none;flex-direction:column;align-items:flex-start;gap:0;padding:14px;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 25px 60px rgba(0,0,0,.2)}.nav.is-open{display:flex}.nav a{width:100%;padding:12px 10px}.header-actions{gap:10px}.header-actions .login-btn{height:42px;padding-inline:16px}.header-actions .currency{display:none!important}}
@media (max-width:520px){.anu-logo{min-width:0}.brand-mark b{font-size:16px}.brand-mark small{display:none}.header-actions .login-btn{display:none!important}.header{height:76px}.nav{top:76px}}

/* Hero and CTA wrapping */
.hero{min-height:clamp(680px,78vh,860px)}.hero__content{padding-top:clamp(185px,24vh,285px)}.hero h1{font-size:clamp(42px,6.2vw,80px)}.hero__actions{max-width:100%}.hero__actions .btn-primary,.hero__actions .btn-ghost{max-width:100%;text-align:center;white-space:normal}.btn-primary,.btn-outline,.btn-ghost,.card-cta{min-width:0;text-align:center}.hero__pager{width:auto;max-width:calc(100% - 32px);justify-content:center;flex-wrap:wrap}

/* Safer grids */
.destination-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.tour-grid,.tour-grid--best,.article-grid{grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}.activity-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.brand-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:36px}.footer-top,.footer-bottom{flex-wrap:wrap}.socials{flex-wrap:wrap}.tour-card__body{min-width:0}.tour-card__body h3{min-height:0}.rating{flex-wrap:wrap}.price{justify-content:flex-start}.card-cta{padding:0 14px}.article-card,.tour-card,.external-review-card,.platform-card{min-width:0}
@media (min-width:1201px){.tour-grid{grid-template-columns:repeat(3,1fr)}#featured .tour-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1480px){.tour-grid{grid-template-columns:repeat(4,1fr)}#featured .tour-grid{grid-template-columns:repeat(3,1fr)}}

/* Quote/contact forms */
.quick-quote__inner,.contact-layout,.tour-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.quote-form,.contact-form,.field-grid{min-width:0}.quote-form input,.quote-form textarea,.contact-form input,.contact-form textarea{min-width:0}.quote-form .btn-primary,.contact-form .btn-primary{white-space:normal}.form-status{min-width:0}
@media (max-width:960px){.quick-quote__inner,.contact-choice-grid,.contact-layout,.tour-layout,.why__inner{grid-template-columns:1fr}.booking-box{position:static}.quote-form{grid-template-columns:1fr}.quote-form textarea{grid-column:auto}.contact-panel{padding:28px}.field-grid{grid-template-columns:1fr}.contact-form .btn-primary{width:100%}}

/* Google/Tripadvisor proof: one large embed + tidy cards */
.review-proof__inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,60px)}.proof-summary,.proof-content{min-width:0}.platform-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.platform-card{grid-template-columns:48px minmax(0,1fr)}.google-reviews-embed{max-width:100%;margin-bottom:22px}.google-reviews-embed iframe{height:clamp(320px,42vw,430px)}.google-review-actions a{flex:1 1 180px}.review-media-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-auto-flow:dense}.review-map-link-card{display:grid;align-content:center;gap:8px;min-height:220px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#fff9ef);box-shadow:var(--shadow);color:var(--ink)}.review-map-link-card .platform-logo{margin-bottom:4px}.review-map-link-card b,.review-map-link-card small{display:block}.review-map-link-card small{color:#717171;line-height:1.55}.review-snippets{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
@media (max-width:1100px){.review-proof__inner{grid-template-columns:1fr}.review-media-grid{grid-template-columns:1fr 1fr}.review-photo--large{grid-row:auto}}
@media (max-width:720px){.review-media-grid{grid-template-columns:1fr;grid-template-rows:auto}.review-photo,.review-map-link-card{min-height:240px}.review-photo--large{grid-row:auto}.google-reviews-embed__head{align-items:flex-start}.proof-summary h2{font-size:clamp(28px,8vw,34px)}}

/* Contact map embed: remove inherited fixed-height clipping */
.contact-map--embed{height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:stretch;margin-top:0;margin-bottom:80px;border-radius:18px;overflow:hidden}.contact-map--embed iframe{display:block;width:100%;height:auto;min-height:410px}.contact-map--embed div{max-width:none!important;min-width:0;padding:clamp(24px,4vw,42px)!important}.contact-map--embed h2{font-size:clamp(26px,3vw,34px)}
@media (max-width:900px){.contact-map--embed{grid-template-columns:1fr}.contact-map--embed iframe{min-height:340px}.contact-map--embed div{text-align:left}}

/* Detail pages */
.tour-hero h1{font-size:clamp(36px,5vw,58px)}.tour-main-img{width:100%;object-fit:cover}.tour-meta{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.booking-box .btn-primary,.booking-box .btn-outline{width:100%;white-space:normal}.review-mini-proof__inner{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.review-mini-proof a{min-width:0}.review-mini-proof span{text-align:left}

/* Mobile polish */
@media (max-width:620px){.container,.container-wide{width:calc(100% - 28px)}.section{padding:64px 0}.hero{min-height:660px}.hero__content{padding-top:172px}.hero__copy{line-height:1.65}.hero__actions{display:grid;grid-template-columns:1fr}.hero__actions .btn-primary,.hero__actions .btn-ghost{width:100%;height:auto;min-height:54px;padding:13px 18px}.conversion-strip{margin-top:-18px}.conversion-strip__inner{grid-template-columns:1fr;padding:12px}.conversion-strip__inner div{border-right:0!important;border-bottom:1px solid var(--line)}.conversion-strip__inner div:last-child{border-bottom:0}.quick-quote h2,.section-head h2{font-size:30px}.quote-form{padding:16px}.destination-grid{grid-auto-rows:auto}.destination-card{min-height:220px}.footer{padding-bottom:86px}.footer-top p{font-size:16px}.mobile-booking-bar{padding-bottom:env(safe-area-inset-bottom)}.mobile-booking-bar a{min-width:0;height:58px;font-size:13px;gap:5px}.floating-cta{display:none!important}body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}}
