/* Shared city-page layout. Change here, then run build.py. */
.city-guide .city-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
.city-guide .city-copy{min-width:0;max-width:100%;counter-reset:guide-chapter}
.city-guide .city-copy>section{position:relative;min-width:0;max-width:100%;padding:28px 0!important;margin:0!important;border-top:1px solid var(--line);border-bottom:0;counter-increment:guide-chapter}
.city-guide .city-copy>section:before{content:counter(guide-chapter,decimal-leading-zero);display:block;color:#137e88;font-size:14px;font-weight:700;letter-spacing:.12em;margin-bottom:14px}
.city-guide .city-copy>section.wrap{padding-inline:0!important}
.city-guide .city-copy h2{font-size:clamp(28px,3.1vw,40px);line-height:1.12;margin:10px 0 20px!important}
.city-guide .city-copy h3{line-height:1.2}
.city-guide .city-copy>section p,.city-guide .city-copy>section li{font-size:16px;line-height:1.6}
.city-guide .city-copy .source-note,.city-guide .city-copy .source{font-size:13px;line-height:1.6}
.city-guide .city-copy .lesson-gallery{margin:0!important;padding:6px 0 24px;min-width:0;max-width:100%}
.city-guide .lesson-photo-track{max-width:100%;overscroll-behavior-x:contain}
.city-guide .city-sidebar{position:sticky;top:calc(var(--guide-header-offset,0px) + 64px);align-self:start;min-width:0;margin:0!important}
.city-guide .city-sidebar .btn{width:100%;white-space:normal}
.city-guide .city-copy .ph-request{display:block;background:#e8f3ee;padding:24px!important}
.city-guide .ph-request>div+div{margin-top:20px}
.city-guide .ph-process ol{grid-template-columns:1fr;gap:18px}
.city-guide .ph-cards{gap:20px}
.city-mobile-lesson{display:none}
@media(max-width:1000px) and (min-width:761px){.city-guide .city-layout{grid-template-columns:minmax(0,1fr) 250px;gap:24px}.city-guide .ph-cards{grid-template-columns:1fr}}
@media(max-width:760px){
.city-guide .city-layout{grid-template-columns:minmax(0,1fr);gap:20px}
.city-guide .city-copy>section{padding:24px 0!important}
.city-guide .city-copy h2{font-size:28px;margin-bottom:16px!important}
.city-guide .city-sidebar{position:static;display:block!important;margin-bottom:24px!important}
.city-guide .sticky-guide-sections{box-shadow:0 5px 14px #082d430b}
.city-mobile-lesson{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #d6dfdc}
.city-mobile-lesson>span{font-size:12px;font-weight:600;line-height:1.3;color:#34616a;min-width:0}
.city-mobile-lesson>a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 14px;background:var(--action-orange,#ff9e42);color:#082d43;border-radius:6px;text-decoration:none;font-size:14px;font-weight:700;line-height:1.3;flex-shrink:0}
.city-guide:has(.sticky-guide-sections) section[id]{scroll-margin-top:calc(var(--guide-header-offset,0px) + 126px)!important}
.city-guide .city-copy .lesson-gallery{padding:4px 0 20px}
.city-guide .ph-cards{grid-template-columns:1fr}
.city-guide .ph-request .inquiry-grid{grid-template-columns:1fr}
.city-guide input,.city-guide select,.city-guide textarea{font-size:16px!important}
}
@media(max-width:350px){.city-mobile-lesson>span{max-width:78px}.city-mobile-lesson>a{gap:6px;padding-inline:10px}}

/* Consistent inquiry fields on destination pages. */
.city-guide .inquiry-panel fieldset{min-width:0;margin:0;padding:0;border:0}
.city-guide .inquiry-panel .inquiry-legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.city-guide .inquiry-panel .inquiry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.city-guide .inquiry-panel label{display:block;font-size:14px;font-weight:600;line-height:1.45;margin:0 0 16px}
.city-guide .inquiry-panel .inquiry-grid>label{margin:0}
.city-guide .inquiry-panel .inquiry-grid+label{margin-top:20px}
.city-guide .inquiry-panel input:not([type="checkbox"]),.city-guide .inquiry-panel select,.city-guide .inquiry-panel textarea{display:block;width:100%;max-width:100%;min-height:48px;margin-top:8px;padding:12px;border:1px solid #8ba5a6;border-radius:6px;background:#fff;color:#082d43;font:inherit;font-size:16px;line-height:1.4}
.city-guide .inquiry-panel textarea{min-height:120px;resize:vertical}
.city-guide .inquiry-panel label.inquiry-consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;margin:20px 0}
.city-guide .inquiry-panel .inquiry-consent input{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:2px 0 0;accent-color:#137e88}
.city-guide .inquiry-panel .inquiry-honeypot{display:none!important}
.city-guide .inquiry-panel .btn{margin-top:0;min-height:48px}
.city-guide .inquiry-panel .source-note{margin-top:14px}
@media(max-width:760px){.city-guide .inquiry-panel .inquiry-grid{grid-template-columns:minmax(0,1fr);gap:16px}.city-guide .inquiry-panel .btn{width:100%;justify-content:center}}


/* Match Maui's compact introduction on destination pages using its template. */
.city-guide .maui-compact-intro{padding-top:16px!important;padding-bottom:12px!important}

/* Maui and Phuket share fixed type scales within each breakpoint. */
.maui-destination-template .compact-city-intro h1{font-size:66px!important;line-height:1.1!important;font-weight:700!important}
.maui-destination-template .city-copy h2{font-size:40px!important;line-height:1.12!important}
.maui-destination-template .city-sidebar h3{font-size:37.5px!important;line-height:1.18!important}
.maui-destination-template .city-copy h2 .heading-lead{font-size:inherit;font-weight:700!important}
.maui-destination-template .city-copy h2 .heading-tail{font-size:inherit;font-weight:400!important;color:#426572}
/* Restore the stay card's inset; keep titles aligned with its article text. */
.maui-destination-template .city-copy>section.stay-feature{padding:28px 24px!important}
.maui-destination-template .stay-feature .stayareas article{padding-left:0;border-left:0}
.season-months button.is-current-month{box-shadow:inset 0 -4px 0 #ff9948;border-color:#137e88;font-weight:700}
@media(max-width:760px){
.maui-destination-template .compact-city-intro h1{font-size:38px!important}
.maui-destination-template .city-copy h2{font-size:28px!important}
.maui-destination-template .city-sidebar h3{font-size:28px!important}
.maui-destination-template .city-copy>section.stay-feature{padding:24px 18px!important}
}

/* Approved shared partner logo layout. Frame scales to its actual content column. */
.maui-brand-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,448px);align-items:center;gap:24px}
.maui-brand-copy{min-width:0}.city-guide .maui-brand-copy h2{max-width:none}.maui-brand-copy .eyebrow{margin-top:0}
.maui-logo-frame{width:100%;max-width:448px;aspect-ratio:448/280;display:flex;align-items:center;justify-content:center}
.maui-logo-frame .maui-operator-logo{display:block;width:80.36%;height:96.43%;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.city-copy{container-type:inline-size}
@container(max-width:800px){.maui-brand-heading{grid-template-columns:minmax(0,1fr) minmax(0,42%);gap:20px}}
@media(max-width:560px){.maui-brand-heading{grid-template-columns:1fr;gap:0}.maui-logo-frame{justify-self:center}}
