/* Package-only visual scale. Keep booking inputs at 16px for mobile readability. */
.a2gb-page{font-size:15px;line-height:1.65}
.a2gb-page h1{font-size:clamp(30px,3.5vw,44px);line-height:1.12;margin:16px 0;letter-spacing:-.025em}
.a2gb-page h2{font-family:inherit;font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.015em;margin:0 0 18px}
.a2gb-page h3{font-size:18px;font-weight:600;line-height:1.4;margin:18px 0 10px}
.a2gb-page p,.a2gb-page li{font-size:15px;line-height:1.7}
.a2gb-page .a2g-eyebrow{font-size:11px;line-height:1.5;letter-spacing:.1em;margin:14px 0 10px}
.a2gb-page .a2g-button{font-size:14px;line-height:1.4;padding:13px 20px;min-height:46px}
.a2gb-intro{padding-top:28px}
.a2gb-page .a2gb-intro-route{font-size:16px;line-height:1.6;margin:10px 0 14px}
.a2gb-intro-meta{gap:8px}
.a2gb-intro-meta span{padding:5px 11px;font-size:12px}
.a2gb-intro-action{margin:16px 0 24px}
.a2gb-intro-action p{margin:0}
.a2gb-intro-action strong{font-size:23px;line-height:1.35;overflow-wrap:anywhere}
.a2gb-intro-action small{font-size:12px;line-height:1.6;margin-top:4px}
.a2gb-lead-media{height:360px;border-radius:14px}
.a2gb-lead-media a{font-size:13px;padding:10px 15px;bottom:16px;right:16px}
.a2gb-layout{grid-template-columns:minmax(0,2fr) minmax(280px,.9fr);gap:36px;margin-top:26px}
.a2gb-section-nav{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:0 0 16px;scrollbar-width:thin}
.a2gb-section-nav a{flex-shrink:0;padding:8px 10px;background:#f3f6f5;border-radius:6px;font-size:12px;font-weight:600;min-height:36px}
.a2gb-section-nav a:hover,.a2gb-section-nav a:focus-visible{background:#e5edef;color:#12465e}
.a2gb-page .a2gb-content>section{padding:28px 0}
.a2gb-page .a2gb-content>section:has(>.a2gb-info-panel){padding:18px 0}
.a2gb-page .a2gb-info-panel>summary h2{font-family:inherit;font-size:22px;font-weight:600;line-height:1.35;margin:2px 0}
.a2gb-info-panel>summary{gap:14px;min-height:32px}
.a2gb-info-panel>summary::after{font-size:22px;color:#637d87}
.a2gb-info-panel[open]>summary{margin-bottom:16px}
.a2gb-info-panel>.a2g-eyebrow{display:none}
.a2gb-prose>p:first-child{margin-top:0}
.a2gb-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;padding:18px;background:#f6f8f7;border-radius:8px;margin:20px 0 0}
.a2gb-facts>div:last-child:nth-child(odd){grid-column:1/-1}
.a2gb-page .a2gb-facts dt{font-size:12px!important;color:#526d78}
.a2gb-page .a2gb-facts dd{font-size:14px;line-height:1.6;margin:5px 0 0}
.a2gb-day{padding:14px 0}
.a2gb-day summary{font-size:15px}
.a2gb-stay-card{padding:18px;margin:14px 0;border-radius:9px}
.a2gb-stay-card h3{font-size:17px;margin:8px 0}
.a2gb-hotel-link,.a2gb-option-action{font-size:13px;padding:9px 12px;min-height:42px}
.a2gb-option-card{padding:16px;margin-bottom:12px}
.a2gb-option-card>summary{font-size:15px;gap:12px}
.a2gb-option-card>summary small{font-size:12px}
.a2gb-included-list li,.a2gb-excluded-list li{margin:8px 0}
.a2gb-two{gap:24px}
.a2gb-policy-bands{padding:16px;margin:16px 0;font-size:14px}
.a2gb-policy-bands dl{gap:10px}
.a2gb-booking-summary>.a2gb-booking-inner{padding:24px;border-radius:12px;background:#f8faf9}
.a2gb-booking-summary .a2g-eyebrow{margin-top:0}
.a2gb-page .a2gb-booking-summary h2{font-family:inherit;font-size:27px;font-weight:600;line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere;margin:8px 0}
.a2gb-booking-summary p{font-size:13px;margin:10px 0}
.a2gb-booking-summary .a2gb-note{padding:12px;background:#eef3f2;font-size:12px}
.a2gb-booking-summary .a2gb-field-help{font-size:12px!important;margin-bottom:0}
.a2gb-booking-wide{max-width:1000px;margin:36px auto 28px;width:calc(100% - 48px)}
.a2gb-booking-wide>.a2gb-booking-inner{padding:28px;border-radius:12px;background:#f5f8f7}
.a2gb-page .a2gb-booking-wide h2{font-family:inherit;font-size:28px;font-weight:600;line-height:1.3;margin:0 0 10px}
.a2gb-booking-wide>.a2gb-booking-inner>.a2g-eyebrow{margin-top:0}
.a2gb-page .a2gb-booking-intro{font-size:14px;max-width:680px;margin:0 0 24px}
.a2gb-booking-wide #a2gb-form{gap:18px}
.a2gb-booking-wide fieldset{padding:18px 20px;border-radius:9px}
.a2gb-booking-wide legend{font-size:16px;font-weight:600;padding:0 7px}
.a2gb-booking-wide label{font-size:14px;line-height:1.5;margin:10px 0}
.a2gb-booking-wide input:not([type=checkbox]):not([type=radio]),.a2gb-booking-wide select,.a2gb-booking-wide textarea{font-size:16px;min-height:46px;padding:10px 12px}
.a2gb-page .a2gb-field-help{font-size:13px!important;line-height:1.6!important}
.a2gb-calendar{max-width:580px;margin:14px auto}
.a2gb-calendar-heading{margin:12px 0;gap:10px}
.a2gb-calendar-heading strong{font-size:17px}
.a2gb-calendar-grid{gap:5px}
.a2gb-booking .a2gb-calendar-grid button{min-height:56px;font-size:15px;gap:3px;padding:5px 2px}
.a2gb-calendar-grid .a2gb-weekday{font-size:12px;padding:5px 0}
.a2gb-calendar-grid button small{font-size:10px}
.a2gb-page [data-selected-date]{font-size:13px;margin-bottom:0;text-align:center;font-weight:600}
.a2gb-booking-wide [data-passengers]{gap:16px;margin-top:16px}
.a2gb-booking-wide [data-passengers]>fieldset{padding:14px 16px}
.a2gb-booking-wide [data-passengers] legend{font-size:14px}
.a2gb-booking-wide .a2gb-extra{padding:14px 16px;margin:10px 0;border-radius:7px}
.a2gb-booking-wide .a2gb-extra summary{font-size:15px;line-height:1.6}
.a2gb-booking-wide .a2gb-extra label{max-width:220px}
.a2gb-booking-wide .a2g-button{font-size:14px;padding:13px 20px;max-width:480px}
.a2gb-booking-wide .a2gb-breakdown{font-size:14px;gap:10px}
.a2gb-booking-wide .a2gb-total{font-size:22px}
.a2gb-booking-wide .a2gb-enquire summary{font-size:15px}
.a2gb-page .a2gb-extra-price{font-size:15px}
.a2gb-page .a2gb-hotel-dialog h2{font-family:inherit;font-size:24px;line-height:1.3;margin:18px 0}
.a2gb-page .a2gb-share h2{font-size:18px;margin-bottom:2px}
@media(max-width:999px){
 .a2gb-layout{grid-template-columns:1fr;gap:22px}
 .a2gb-booking-summary{display:none}
 .a2gb-lead-media{height:320px}
 .a2gb-booking-wide{margin-top:28px}
}
@media(max-width:600px){
 .a2gb-intro{padding-top:22px}
 .a2gb-page h1{font-size:30px;margin:14px 0}
 .a2gb-page h2,.a2gb-page .a2gb-info-panel>summary h2{font-size:20px}
 .a2gb-page .a2gb-intro-route{font-size:14px}
 .a2gb-intro-action{gap:14px;align-items:stretch}
 .a2gb-intro-action strong{font-size:22px}
 .a2gb-intro-action .a2g-button{justify-content:center}
 .a2gb-lead-media{height:240px}
 .a2gb-section-nav{padding-bottom:14px}
 .a2gb-facts{grid-template-columns:1fr;padding:15px;gap:14px}
 .a2gb-page .a2gb-content>section:has(>.a2gb-info-panel){padding:16px 0}
 .a2gb-booking-wide{width:calc(100% - 24px)}
 .a2gb-booking-wide>.a2gb-booking-inner{padding:18px 12px}
 .a2gb-page .a2gb-booking-wide h2{font-size:24px}
 .a2gb-booking-wide fieldset{padding:14px 10px}
 .a2gb-booking-wide legend{font-size:15px}
 .a2gb-booking-wide [data-passengers]>fieldset{padding:12px}
 .a2gb-booking-wide [data-passengers] legend{font-size:14px}
 .a2gb-calendar-grid{gap:3px}
 .a2gb-booking .a2gb-calendar-grid button{min-height:48px;font-size:14px}
 /* Dates stay legible on phones; the selected rate is announced below the grid. */
 .a2gb-calendar-grid button small{display:none}
 .a2gb-calendar-grid .a2gb-weekday{font-size:11px}
 .a2gb-booking-wide .a2gb-extra{padding:12px}
 .a2gb-booking-wide .a2gb-extra summary{font-size:14px}
 .a2gb-page .a2gb-hotel-dialog h2{font-size:21px}
}
@media(max-width:360px){
 body:has(.a2gb-page) .site-header .header-inner{gap:8px}
 body:has(.a2gb-page) .site-header .site-logo{flex:0 1 128px;min-width:0}
 body:has(.a2gb-page) .site-header .site-logo img{width:100%;height:auto}
}
