:root{--navy:#00224a;--teal:#008da3;--aqua:#20b7c4;--orange:#ff9e18;--sand:#fff3db;--seafoam:#ddf6f4;--cloud:#f3f7f9;--ink:#172b3a;--muted:#5f7180;--line:#d9e4e8;--white:#fff;--radius:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cloud);min-height:100vh;font-size:16px;line-height:1.55}
button,a{font:inherit}
button:focus-visible,a:focus-visible,h1:focus-visible,h2:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}
header{position:sticky;top:0;z-index:40;height:88px;padding:0 max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
header nav{display:flex;align-items:center;gap:10px}
.site-nav{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #bdeae6;border-radius:12px;background:var(--seafoam)}
.nav-link{min-height:36px;display:inline-flex;align-items:center;padding:7px 13px;border-radius:8px;color:var(--teal);font-size:14px;font-weight:800;text-decoration:none}
.nav-link:hover{background:#fff;color:var(--navy)}
.nav-link.active{background:var(--navy);color:#fff;box-shadow:inset 0 -3px 0 var(--orange)}
.brand{display:block;line-height:0}
.brand img{display:block;width:200px;height:auto}
.affiliate-note{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;font-weight:600}
.affiliate-note i{width:5px;height:5px;background:var(--orange);border-radius:50%}
main{width:min(1200px,calc(100% - 48px));margin:auto}
.shell{min-height:calc(100vh - 168px);display:grid;grid-template-columns:minmax(0,.86fr) minmax(480px,1.14fr);align-items:center;gap:80px;padding:48px 0;position:relative}
.shell:before{content:"";position:fixed;z-index:-1;width:420px;height:420px;border:1px solid rgba(32,183,196,.2);border-radius:50%;left:-260px;bottom:-180px;box-shadow:0 0 0 52px rgba(32,183,196,.06),0 0 0 104px rgba(32,183,196,.03)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;line-height:20px;font-weight:800;color:var(--teal);letter-spacing:.13em;text-transform:uppercase}
.eyebrow b{font-size:9px;color:var(--aqua)}
h1,h2{font-family:Poppins,Arial,Helvetica,sans-serif}
.intro h1,.results h1{font-size:clamp(34px,3.7vw,46px);line-height:1.14;letter-spacing:-.025em;color:var(--navy);margin:16px 0}
.intro>p,.results-head p{font-size:18px;line-height:29px;color:var(--muted);max-width:590px;margin:0}
.local-note{margin-top:32px;padding:18px 0 18px 20px;border-left:4px solid var(--orange);display:grid;gap:3px;color:var(--navy)}
.local-note strong{font-family:Poppins,Arial,sans-serif;font-size:17px}
.local-note span{font-size:14px;color:var(--muted)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:0 18px 50px rgba(0,34,74,.08);position:relative}
.card:after{content:"";position:absolute;right:28px;top:-7px;width:48px;height:14px;background:var(--orange);border-radius:14px}
.progress-copy{display:flex;justify-content:space-between;font-size:14px;line-height:20px;font-weight:700;color:var(--muted)}
.track{height:6px;background:#e6eef1;border-radius:10px;margin:10px 0 32px;overflow:hidden}
.track i{display:block;width:20%;height:100%;background:var(--teal);border-radius:10px;transition:width .22s ease}
.question h2{font-size:25px;line-height:33px;color:var(--navy);margin:0 0 8px}
.question>p{color:var(--muted);margin:0 0 22px}
.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.option{min-height:48px;padding:11px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:700;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.option:hover{border-color:var(--teal);transform:translateY(-1px)}
.option.selected{border-color:var(--teal);background:var(--seafoam);box-shadow:inset 4px 0 0 var(--teal)}
.option small{display:block;color:var(--muted);font-weight:400;margin-top:4px;font-size:13px;line-height:18px}
.actions{display:flex;justify-content:space-between;margin-top:24px}
button{min-height:44px;border:0;border-radius:12px;background:var(--orange);color:var(--navy);padding:9px 18px;font-weight:800;cursor:pointer;transition:transform .15s,filter .15s}
button:hover:not(:disabled){transform:translateY(-1px);filter:saturate(1.08)}
button:disabled{opacity:.45;cursor:not-allowed}
.secondary{background:var(--navy);color:#fff}
.hint{min-height:20px;margin:10px 0 0;color:#8a4d00;font-size:14px}
.privacy{text-align:center;color:var(--muted);font-size:13px;line-height:19px;margin:14px 0}
.privacy span{color:var(--teal);font-weight:800}
.brand-calendar{max-width:440px;margin:20px auto 0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px}
.calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:14px;text-align:center;color:var(--navy)}
.calendar-head strong{font-family:Poppins,Inter,sans-serif;font-size:16px}
.month-nav{min-height:40px;padding:0;border:1px solid #bdeae6;background:var(--seafoam);color:var(--teal);font-size:25px;line-height:1}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.calendar-weekdays{margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:700;text-align:center}
.calendar-day{aspect-ratio:1;min-height:38px;padding:0;border:1px solid transparent;border-radius:9px;background:var(--cloud);color:var(--navy);font-weight:600}
.calendar-day:hover:not(:disabled){border-color:var(--teal);background:var(--seafoam);transform:none}
.calendar-day.selected{background:#9f4800;color:#fff;border-color:#9f4800}
.calendar-day.in-range{background:var(--sand);border-radius:0;color:var(--navy)}
.calendar-day.in-range:hover{background:#ffe3ad}
.calendar-day:disabled{background:#f5f6f7;color:#a5abb2;opacity:1}
.selected-date{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;text-align:center}
.selected-date strong{color:var(--navy)}
.date-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:16px 0 8px;padding:12px 14px;background:var(--seafoam);border:1px solid #bdeae6;border-radius:12px;color:var(--teal)}
.date-summary span:not([aria-hidden]){display:grid;gap:1px}
.date-summary small{font-size:11px;line-height:16px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#356d73}
.date-summary strong{font-size:14px;color:var(--navy)}
.date-instruction{margin:8px 0 0!important;color:var(--navy)!important;font-size:14px;font-weight:700;text-align:center}
.guest-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.guest-fields label{display:grid;gap:5px;color:var(--navy);font-size:13px;font-weight:800}
.guest-fields select{width:100%;min-height:44px;padding:8px 36px 8px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit}
.results{padding:64px 0 88px}
.hidden{display:none}
.results-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:24px}
.results-head h1,.results-head h2{font-size:38px;line-height:46px;color:var(--navy);margin:16px 0;font-family:Poppins,Arial,Helvetica,sans-serif}
.hotel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.hotel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-columns:210px 1fr;min-height:275px;transition:transform .15s,box-shadow .15s}
.hotel:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,34,74,.1)}
.hotel-photo{position:relative;min-height:100%;background:linear-gradient(145deg,var(--seafoam),var(--cloud))}
.hotel-photo.no-photo:after{content:"Hotel photo unavailable";position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:var(--muted);font-size:13px;text-align:center}
.hotel img{width:100%;height:100%;object-fit:cover;background:var(--seafoam)}
.hotel-photo .match{position:absolute;left:12px;top:12px;z-index:1;box-shadow:0 3px 12px rgba(0,34,74,.12)}
.hotel-body{padding:19px;display:flex;flex-direction:column}
.match{display:inline-flex;background:var(--seafoam);border:1px solid #bdeae6;color:#006a77;padding:5px 10px;border-radius:999px;font-size:13px;line-height:18px;font-weight:800}
.rating-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.stars{color:var(--orange);letter-spacing:1px;font-size:15px;white-space:nowrap}
.stars small{color:var(--muted);letter-spacing:0;margin-left:5px}
.unrated{font-size:12px;color:var(--muted)}
.guest-score{font-size:12px;color:var(--muted);white-space:nowrap}
.guest-score b{background:var(--navy);color:#fff;border-radius:6px;padding:4px 5px;margin-right:3px}
.hotel h2{font-size:20px;line-height:27px;color:var(--navy);margin:11px 0 4px}
.location{font-size:13px;line-height:19px;color:var(--muted)}
.fit{margin:13px 0 15px;padding:11px 12px;background:var(--cloud);border-radius:10px;font-size:13px;line-height:19px}
.fit strong{display:block;color:var(--navy);margin-bottom:4px}
.fit ul{margin:0;padding-left:17px}
.fit li+li{margin-top:2px}
.hotel a{margin-top:auto;align-self:flex-start;background:var(--orange);color:var(--navy);text-decoration:none;border-radius:9px;padding:9px 13px;min-height:40px;font-size:14px;font-weight:800}
.hotel a:hover{text-decoration:underline}
.commission{margin:0 0 20px;padding:10px 14px;border-left:3px solid var(--orange);background:var(--sand);border-radius:0 8px 8px 0;color:var(--ink);font-size:13px;line-height:19px}
.tradeoff{margin:9px 0 0;padding-top:8px;border-top:1px solid var(--line);color:var(--muted)}
.tradeoff b{color:var(--navy)}
.confidence{display:block;margin:-5px 0 12px;color:var(--teal);font-size:12px;font-weight:700}
.match b{font-size:14px;margin-right:3px}
.method{color:var(--muted);font-size:13px;line-height:20px;margin-top:28px;max-width:900px}
.method strong{color:var(--navy)}
footer{min-height:150px;background:var(--navy);color:#dce8ef;padding:30px max(24px,calc((100vw - 1200px)/2));display:grid;grid-template-columns:220px 1fr 1fr;gap:40px;align-items:center;font-size:13px;line-height:21px}
footer img{width:210px;background:#fff;border-radius:10px;padding:8px 10px}
footer strong{color:#fff;font-family:Poppins,Arial,sans-serif;font-size:16px}
.footer-note{text-align:right;color:#b9cbd6}
.footer-note a{color:#bdeae6;text-underline-offset:3px}
@media(max-width:900px){.shell{grid-template-columns:1fr;gap:32px;padding:40px 0 56px}
.intro{max-width:720px}
.intro h1{font-size:44px}
.hotel-grid{grid-template-columns:1fr}
.results-head{align-items:start}
footer{grid-template-columns:200px 1fr}
.footer-note{grid-column:2;text-align:left;margin-top:-28px}
}
@media(max-width:600px){header{height:76px;padding:0 20px}
.brand img{width:152px}
.affiliate-note{display:none}
main{width:calc(100% - 32px)}
.shell{min-height:auto;padding:32px 0 48px}
.intro h1{font-size:38px;line-height:46px}
.intro>p{font-size:16px;line-height:25px}
.local-note{margin-top:24px}
.card{padding:24px 18px}
.card:after{right:20px}
.question h2{font-size:24px;line-height:31px}
.options{grid-template-columns:1fr}
.option{min-height:54px}
.results{padding:48px 0 64px}
.results-head{display:block}
.results-head h1,.results-head h2{font-size:36px;line-height:44px}
.results-head button{margin-top:16px}
.disclosure{grid-template-columns:1fr;gap:3px}
.hotel{grid-template-columns:1fr}
.hotel img{height:210px}
.hotel-body{padding:18px}
footer{grid-template-columns:1fr;gap:14px;padding-top:32px;padding-bottom:32px}
footer img{width:200px}
.footer-note{grid-column:auto;text-align:left;margin:0}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}

.answer-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px}
.answer-summary strong{color:var(--navy);margin-right:3px}
.answer-summary span{padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:13px}
.fit dl{margin:0}
.fit dt{color:var(--navy);font-weight:800;margin-top:8px}
.fit dt:first-child{margin-top:0}
.fit dd{margin:2px 0 0;color:var(--muted)}
.show-more{display:block;margin:24px auto 0;background:var(--navy);color:#fff}
.show-more.hidden{display:none}
.empty-results{grid-column:1/-1;padding:40px 24px;border:1px dashed #b7c9d1;border-radius:var(--radius);background:#fff;text-align:center}
.empty-results h2{margin:0 0 6px;color:var(--navy);font-size:22px}
.empty-results p{margin:0;color:var(--muted)}

.skip-link{position:fixed;left:16px;top:-80px;z-index:50;background:var(--navy);color:#fff;padding:10px 14px;border-radius:8px;text-decoration:none}
.skip-link:focus{top:12px}
.hotel{position:relative}
.top-choice{position:absolute;z-index:3;right:12px;top:12px;background:var(--orange);color:var(--navy);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;box-shadow:0 2px 8px rgba(0,34,74,.14)}
.match.alternative{background:var(--sand);border-color:#ffd18b;color:#7a4700}
@media(max-width:600px){.intro h1{font-size:32px;line-height:39px}
.results-head h1,.results-head h2{font-size:30px;line-height:38px}
.hotel-photo{min-height:210px}
.hotel a{width:100%;text-align:center;min-height:44px}
.answer-summary{gap:6px}
.answer-summary strong{width:100%}
.top-choice{top:10px;right:10px}
}

.view-controls{display:flex;gap:6px;margin:0 0 16px}
.view-button{min-height:40px;padding:7px 14px;border:1px solid var(--line);background:#fff;color:var(--navy)}
.view-button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.map-panel{margin:0 0 24px}
.map-panel.hidden{display:none}
.map-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:16px;align-items:stretch}
.map-canvas{min-width:0}
#hotelMap{width:100%;height:min(66vh,620px);min-height:500px;border:1px solid var(--line);border-radius:var(--radius);background:var(--seafoam)}
.map-selection{display:block;padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-height:500px}
.map-selection>p{color:var(--muted)}
.map-selection .map-detail-rank{display:inline-block;color:var(--teal);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.map-selection h2{color:var(--navy);font-size:21px;line-height:28px;margin:16px 0 5px}
.map-detail-location{color:var(--muted);font-size:13px;line-height:19px;margin:0 0 14px}
.map-selection dl{margin:18px 0;padding:14px;background:var(--cloud);border-radius:10px;font-size:13px;line-height:19px}
.map-selection dt{color:var(--navy);font-weight:800;margin-top:10px}
.map-selection dt:first-child{margin-top:0}
.map-selection dd{margin:2px 0 0;color:var(--muted)}
.map-selection a{display:block;background:var(--orange);color:var(--navy);border-radius:9px;padding:10px 13px;text-align:center;text-decoration:none;font-size:14px;font-weight:800}
.map-selection a:hover{text-decoration:underline}
.map-status{color:var(--muted);font-size:14px;margin:10px 0 0}
.leaflet-tooltip{font-family:Inter,Arial,sans-serif;font-weight:700;color:var(--navy)}
@media(max-width:760px){.map-layout{grid-template-columns:1fr}
.map-selection{min-height:0;order:2}
#hotelMap{height:55vh;min-height:380px}
}
@media(max-width:600px){.view-controls{position:sticky;top:8px;z-index:10;background:var(--cloud);padding:6px 0}
.view-button{flex:1}
#hotelMap{height:50vh;min-height:340px}
.map-selection{padding:18px}
}
.view-controls{justify-content:flex-end}
.actions button:not(.secondary),.hotel a,.map-selection a{background:#bd5700;color:#fff}
.results-head #restart{min-height:36px;padding:7px 12px;background:#fff;color:var(--navy);border:1px solid var(--line);font-size:13px;font-weight:700}
.map-selection{padding:0;overflow:hidden}
.map-detail-photo{position:relative;width:100%;height:190px;background:linear-gradient(145deg,var(--seafoam),var(--cloud))}
.map-detail-photo img{display:block;width:100%;height:100%;object-fit:cover}
.map-detail-photo.no-photo:after{content:"Hotel photo unavailable";position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px}
.map-detail-content{padding:18px 20px 20px}
.map-detail-content .map-detail-rank{margin-bottom:12px}
@media(max-width:760px){.map-detail-photo{height:220px}}
@media(max-width:600px){.view-controls{justify-content:stretch}.results-head #restart{margin-top:12px}.map-detail-content{padding:17px}}
.header-restart{min-height:36px;padding:7px 12px;background:#fff;color:var(--navy);border:1px solid var(--line);font-size:13px;font-weight:700}
.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}
.results-toolbar .answer-summary,.results-toolbar .view-controls{margin:0}
.top-choice{background:#16834a;color:#fff}
@media(max-width:600px){.header-restart{font-size:12px;padding:6px 9px}.results-toolbar{display:grid;gap:12px}.results-toolbar .view-controls{width:100%}}
.availability-loading,.availability-error{grid-column:1/-1;padding:44px 24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;text-align:center}
.availability-loading h2,.availability-error h2{margin:10px 0 6px;color:var(--navy);font-size:22px}
.availability-loading p,.availability-error p{margin:0 auto;color:var(--muted);max-width:580px}
.availability-loading>span{display:inline-block;width:30px;height:30px;border:3px solid #bdeae6;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}
.availability-error button{margin-top:18px;background:#bd5700;color:#fff}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.availability-loading>span{animation:none;border-color:var(--teal)}}
.hotel-grid{gap:28px}
.hotel-gallery{display:grid;grid-template-rows:minmax(170px,3fr) minmax(62px,1fr);gap:4px;width:100%;height:100%;padding:0;background:var(--cloud)}
.gallery-main,.gallery-thumbs span{min-width:0;min-height:0;overflow:hidden;background:var(--seafoam)}
.gallery-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-height:0}
.hotel-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-thumbs span:first-child img{object-position:25% center;transform:scale(1.18)}
.gallery-thumbs span:last-child img{object-position:75% center;transform:scale(1.18)}
.hotel-gallery.no-photo{position:relative}
.hotel-gallery.no-photo:after{content:"Hotel photos unavailable";position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:var(--muted);font-size:13px;text-align:center}
.hotel.top-result{grid-column:1/-1;grid-template-columns:minmax(300px,360px) 1fr;min-height:340px;border:2px solid #9bd5b5;box-shadow:0 14px 34px rgba(0,34,74,.09)}
.top-result .hotel-body{padding:26px}
.top-result .hotel-body h2{font-size:24px;line-height:31px}
.top-result .hotel-photo .match{padding:9px 14px;font-size:15px}
.top-result .hotel-photo .match b{font-size:25px;line-height:27px;margin-right:5px}
@media(max-width:900px){.hotel.top-result{grid-template-columns:minmax(280px,340px) 1fr}}
@media(max-width:600px){.hotel-grid{gap:22px}.hotel.top-result{grid-template-columns:1fr}.hotel-gallery{height:280px;grid-template-rows:minmax(190px,3fr) minmax(72px,1fr)}.top-result .hotel-body{padding:20px}.top-result .hotel-body h2{font-size:22px;line-height:29px}}
.hotel-body,.top-result .hotel-body{padding:32px}
.hotel-gallery{grid-template-rows:minmax(150px,2fr) minmax(104px,1fr)}
.gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.gallery-thumbs span:first-child img,.gallery-thumbs span:last-child img{object-position:center;transform:none}
.top-choice{top:32px;right:-65px;width:240px;padding:7px 40px;border-radius:0;transform:rotate(45deg);text-align:center;line-height:17px;box-shadow:0 3px 10px rgba(0,34,74,.2)}
.top-hotel-title{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:12px 0 4px}
.top-hotel-title h2{margin:0}
.top-hotel-title>span{flex:0 0 auto;color:var(--muted);font-size:14px}
.top-hotel-title>span b{display:inline-grid;place-items:center;min-width:31px;height:28px;padding:0 5px;background:var(--navy);color:#fff;border-radius:6px}
.hotel-highlights{margin:18px 0 0}
.hotel-highlights>strong{display:block;color:var(--navy);font-size:14px;margin-bottom:8px}
.hotel-highlights>div{display:flex;flex-wrap:wrap;gap:7px}
.hotel-highlights span{padding:5px 9px;border:1px solid #bdeae6;border-radius:999px;background:var(--seafoam);color:#006a77;font-size:12px;font-weight:700}
@media(max-width:600px){.hotel-body,.top-result .hotel-body{padding:32px}.hotel-gallery{height:320px;grid-template-rows:minmax(190px,2fr) minmax(120px,1fr)}.top-hotel-title{display:block}.top-hotel-title>span{display:inline-block;margin-top:5px}.top-choice{top:30px;right:-70px}}
.hotel,.hotel.top-result{grid-template-columns:1fr}
.hotel-photo{height:330px;min-height:330px}
.top-result .hotel-photo{height:410px}
.hotel-gallery{height:100%}
.hotel-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:11px 0 4px}
.hotel-title-row h2{margin:0}
.hotel-title-row>span{flex:0 0 auto;color:var(--muted);font-size:13px}
.hotel-title-row>span b{display:inline-grid;place-items:center;min-width:31px;height:28px;padding:0 5px;background:var(--navy);color:#fff;border-radius:6px}
.top-result .hotel-title-row h2{font-size:24px;line-height:31px}
@media(max-width:600px){.hotel-photo,.top-result .hotel-photo{height:320px;min-height:320px}.hotel-title-row{display:block}.hotel-title-row>span{display:inline-block;margin-top:5px}}
.hotel.top-result{grid-column:auto;min-height:275px;border:1px solid var(--line);box-shadow:none}
.top-result .hotel-photo{height:330px}
.top-result .hotel-title-row h2{font-size:20px;line-height:27px}
.top-result .hotel-photo .match{padding:5px 10px;font-size:13px}
.top-result .hotel-photo .match b{font-size:14px;line-height:18px;margin-right:3px}
@media(max-width:600px){.top-result .hotel-photo{height:320px}}
.gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}
.hotel-head{display:flex;flex-direction:column;gap:4px;padding:24px 32px 20px}
.hotel-head .rating-row{min-height:30px}
.hotel-head h2{min-width:0;margin:0}
.hotel-image-link{display:block;align-self:stretch;height:100%;min-height:0;margin:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit}
.hotel-image-link:hover{text-decoration:none}
.hotel-body .hotel-highlights{margin-top:0}
.hotel-main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);border-top:1px solid var(--line)}
.hotel-main .hotel-photo{height:auto;min-height:360px}
.hotel-title-row{align-items:center;margin:4px 0px 4px}
.location-row{display:flex;align-items:center;justify-content:flex-start;gap:8px 32px;min-height:32px}
.location-row .location{min-width:0}
.map-link{flex:0 0 auto;min-height:32px;padding:0;background:transparent;color:var(--teal);font-size:13px;font-weight:400;border-radius:0}
.map-link:hover:not(:disabled){transform:none;text-decoration:underline}
.map-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
.map-dialog{width:min(760px,calc(100% - 32px));padding:0;border:0;border-radius:16px;box-shadow:0 24px 70px rgba(0,34,74,.3);overflow:hidden}
.map-dialog::backdrop{background:rgba(0,25,56,.62);backdrop-filter:blur(2px)}
.map-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;background:#fff}
.map-dialog-head span{color:var(--teal);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.map-dialog-head h2{margin:2px 0 0;font-size:20px;color:var(--navy)}
.map-close{width:40px;min-height:40px;padding:0;border-radius:50%;background:var(--cloud);color:var(--navy);font-size:25px;line-height:1}
.map-dialog iframe{display:block;width:100%;height:min(62vh,520px);border:0;background:var(--cloud)}
@media(max-width:760px){.hotel-main{grid-template-columns:1fr}.hotel-main .hotel-photo{height:320px;min-height:320px}.hotel-head{padding:22px 24px 18px}.location-row{align-items:center;flex-wrap:wrap}.hotel-title-row{display:block}.hotel-title-row>span{display:inline-block;margin-top:5px}}
@media(max-width:600px){
.brand-calendar{padding:12px;margin-top:14px}
.calendar-weekdays,.calendar-days{gap:3px}
.calendar-day{min-height:42px}
.date-summary{gap:8px;padding:10px 12px}
.guest-fields{gap:8px}
.hotel-head,.hotel-body,.top-result .hotel-body{padding:22px}
.hotel-main .hotel-photo,.hotel-photo,.top-result .hotel-photo{height:260px;min-height:260px}
.hotel-gallery{height:260px;grid-template-rows:minmax(160px,2fr) minmax(90px,1fr)}
.fit{margin:10px 0 12px;padding:10px 11px}
}
.hotel,.hotel.top-result{aspect-ratio:auto;min-height:720px;grid-template-rows:auto minmax(0,1fr)}
.hotel-main{min-height:0;height:100%}.hotel-body{min-height:0}.hotel-body>a:last-child{display:flex;align-items:center;justify-content:center;width:100%;flex:0 0 auto;margin-top:auto}.hotel-grid>.hotel{height:100%}

/* Production consistency: every result uses the same vertical rhythm and anchored CTA. */
.hotel-grid{align-items:stretch}
.hotel{height:100%;grid-template-rows:auto minmax(0,1fr)}
.hotel-main{height:100%;min-height:0}
.hotel-body{display:flex;min-height:0;flex-direction:column}
.hotel-body .fit{flex:0 0 auto}
.hotel-body .confidence{margin-top:auto}
.hotel-body>a:last-child{display:flex!important;width:100%!important;min-height:44px;align-items:center;justify-content:center;margin-top:0!important;color:#fff!important}
.admin-login-button{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important}
.admin-login-button i{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%}
.admin-login-card form[aria-busy="true"] .admin-login-button i{display:block;animation:spin .75s linear infinite}
.login-status.loading{color:var(--teal)!important}.login-status.success{color:#12613b!important}.login-status.error{color:#a2262c!important}
@media(max-width:760px){.hotel,.hotel.top-result{aspect-ratio:auto}}
.itinerary-main{width:min(1060px,calc(100% - 48px));margin:auto;padding:56px 0 80px}
.itinerary-intro{max-width:720px;margin-bottom:30px}
.itinerary-intro h1{margin:12px 0 10px;color:var(--navy);font-size:clamp(32px,4vw,46px);line-height:1.15}
.itinerary-intro p{margin:0;color:var(--muted);font-size:17px;line-height:1.7}
.planning-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}
.planning-form,.planning-aside{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.planning-form{padding:30px}
.planning-form h2,.planning-aside h2{margin:0 0 6px;color:var(--navy);font-size:22px}
.planning-form>p,.planning-aside p{margin:0;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.form-field{display:grid;gap:6px;color:var(--navy);font-size:14px;font-weight:700}
.form-field.full{grid-column:1/-1}
.form-field input,.form-field select,.form-field textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #bccdd4;border-radius:10px;background:#fff;color:var(--ink);font:inherit}
.form-field textarea{min-height:112px;resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid rgba(32,183,196,.3);border-color:var(--teal)}
.choice-group{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.choice-group label{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:13px;font-weight:600}
.choice-group input{width:17px;height:17px;accent-color:var(--teal)}
.form-submit{margin-top:22px;background:#bd5700;color:#fff}
.form-note{margin-top:12px!important;font-size:13px}
.planning-aside{padding:24px;border-top:5px solid var(--teal)}
.planning-aside ul{margin:17px 0 22px;padding-left:20px;color:var(--muted)}
.planning-aside li+li{margin-top:9px}
.contact-line{padding-top:18px;border-top:1px solid var(--line);font-size:14px}
.contact-line a{color:var(--teal);font-weight:700}
.form-status{margin-top:14px;color:#12613b;font-weight:700}
@media(max-width:760px){header{height:76px;padding:0 16px}.brand img{width:141px}.nav-link{font-size:12px;padding:6px 8px}.header-restart{display:none!important}.itinerary-main{width:calc(100% - 32px);padding:36px 0 60px}.planning-layout{grid-template-columns:1fr}.planning-form{padding:22px}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.choice-group{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.brand img{width:124px}.nav-link{max-width:112px;text-align:center;line-height:1.2}.choice-group{grid-template-columns:1fr}}
.itinerary-quiz,.itinerary-results{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:0 18px 50px rgba(0,34,74,.07)}
.itinerary-progress>div:first-child{display:flex;justify-content:space-between;color:var(--muted);font-size:14px;font-weight:700}
.itinerary-progress .track{margin:10px 0 30px}
.itinerary-progress .track i{background:linear-gradient(90deg,var(--teal),var(--aqua))}
#itineraryQuestion h2{margin:0 0 7px;color:var(--navy);font-size:25px}
#itineraryQuestion>p{margin:0 0 22px;color:var(--muted)}
.quiz-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.quiz-fields label,.additional-request{display:grid;gap:6px;color:var(--navy);font-size:14px;font-weight:800}
.quiz-fields input,.additional-request textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #b8cbd3;border-radius:10px;background:#fff;color:var(--ink);font:inherit}
.itinerary-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.operator-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.operator-options .option{min-height:64px}
.package-options{display:grid;gap:9px;max-height:430px;overflow:auto;padding:2px 5px 2px 2px}
.package-option{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-align:left}
.package-option:hover{border-color:var(--teal);transform:none}
.package-option.selected{border-color:var(--teal);background:var(--seafoam);box-shadow:inset 4px 0 0 var(--teal)}
.package-option span{display:grid;gap:3px}
.package-option small{color:var(--muted);font-weight:500}
.package-option em{flex:0 0 auto;color:var(--teal);font-size:13px;font-style:normal;font-weight:800}
.additional-request{margin-top:18px}.additional-request textarea{min-height:96px;resize:vertical}
.empty-packages{margin:0;padding:20px;background:var(--cloud);border-radius:10px;color:var(--muted)}
.result-heading h1{margin:10px 0 5px;color:var(--navy);font-size:32px}.result-heading p{margin:0;color:var(--muted)}
.trip-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}
.trip-summary>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--cloud);display:grid;gap:3px}
.trip-summary small{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.trip-summary strong{color:var(--navy);font-size:14px}
.schedule-results{display:grid;gap:12px}.schedule-day{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.schedule-day>span{align-self:start;padding:6px 9px;border-radius:8px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;text-align:center}
.schedule-day h2{margin:0;color:var(--navy);font-size:19px}.schedule-day p{margin:3px 0;color:var(--muted);font-size:14px}.schedule-day .schedule-stops{margin-top:9px;color:var(--ink)}
.schedule-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}.schedule-meta b{color:var(--teal);font-size:14px}.schedule-meta a{color:var(--teal);font-size:13px;font-weight:700}
.open-day{background:var(--cloud);border-style:dashed}.open-day>span{background:#71828d}.schedule-warning{margin-top:14px;padding:15px 17px;border-left:4px solid var(--orange);background:var(--sand);border-radius:0 10px 10px 0}.schedule-warning strong{color:var(--navy)}.schedule-warning p{margin:3px 0 0;color:var(--muted)}
.result-actions{display:flex;gap:10px;margin-top:24px}.result-actions button:first-child{background:#bd5700;color:#fff}
@media(max-width:760px){.site-nav{gap:2px;padding:3px}.nav-link{font-size:12px;padding:6px 8px}.itinerary-intro{margin-bottom:22px}.itinerary-quiz,.itinerary-results{padding:22px}.quiz-fields,.itinerary-options,.operator-options,.trip-summary{grid-template-columns:1fr}.package-option{align-items:flex-start}.schedule-day{grid-template-columns:1fr;gap:10px}.schedule-day>span{justify-self:start}.result-actions{display:grid}.result-actions button{width:100%}}
@media(max-width:480px){header .brand img{width:112px}.site-nav .nav-link{max-width:92px;min-height:38px;justify-content:center;padding:5px 7px;line-height:1.15}.itinerary-main{width:calc(100% - 24px)}.itinerary-quiz,.itinerary-results{padding:20px 16px}.package-option{display:grid;gap:7px}.schedule-meta{align-items:flex-start;flex-direction:column}}
.simple-nav{display:flex;align-items:center;gap:22px}
.simple-nav a{position:relative;padding:9px 0;color:var(--navy);font-size:14px;font-weight:700;text-decoration:none}
.simple-nav a:hover,.simple-nav a:focus-visible{color:var(--teal)}
.simple-nav a.active{color:var(--teal)}
.simple-nav a.active:after{content:"";position:absolute;right:0;bottom:3px;left:0;height:2px;border-radius:2px;background:var(--orange)}
.day-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.day-options .option{min-height:72px;background:#fff;color:var(--navy);border:1px solid var(--line)}
.day-options .option b{font-size:22px}.day-options .option.selected{background:var(--seafoam);border-color:var(--teal);box-shadow:inset 0 -4px 0 var(--teal)}
.tour-group-options{display:grid;grid-template-columns:1fr 1fr;gap:11px;max-height:470px;overflow:auto;padding:2px}
.tour-group{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:82px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left}
.tour-group:hover{border-color:var(--teal);transform:none}.tour-group.selected{border-color:var(--teal);background:var(--seafoam);box-shadow:inset 4px 0 0 var(--teal)}
.tour-group span{display:grid;gap:4px}.tour-group b{color:var(--navy)}.tour-group small{color:var(--muted);font-weight:500}.tour-group em{flex:0 0 auto;color:var(--teal);font-size:12px;font-style:normal;font-weight:800;text-align:right}
.operator-groups{display:grid;gap:18px}.operator-groups fieldset{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0;padding:16px;border:1px solid var(--line);border-radius:12px}.operator-groups legend{padding:0 7px;color:var(--navy);font-weight:800}
.operator-choice{display:flex;align-items:center;gap:10px;min-height:62px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.operator-choice:has(input:checked){border-color:var(--teal);background:var(--seafoam)}.operator-choice input{width:18px;height:18px;accent-color:var(--teal)}.operator-choice span{display:grid;gap:3px}.operator-choice b{color:var(--navy)}.operator-choice small{color:var(--muted)}
.operator-choice .operator-logo{display:grid;flex:0 0 48px;place-items:center;width:48px;height:48px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.operator-choice .operator-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.operator-choice .operator-logo.fallback{background:var(--navy);color:#fff;font-size:13px;font-weight:800;letter-spacing:.04em}
.quote-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.quote-summary>div{display:grid;gap:3px;padding:14px;border-radius:10px;background:var(--cloud)}.quote-summary small{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.quote-summary strong{color:var(--navy)}
.quote-schedule{display:grid;gap:9px;margin-bottom:22px}.quote-schedule article{display:grid;grid-template-columns:82px 1fr;gap:14px;align-items:start;padding:15px;border:1px solid var(--line);border-radius:11px}.quote-schedule article>span{padding:6px 8px;border-radius:7px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;text-align:center}.quote-schedule h3{margin:0;color:var(--navy);font-size:16px}.quote-schedule p{margin:3px 0 0;color:var(--muted);font-size:13px}
.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-fields label{display:grid;gap:6px;color:var(--navy);font-size:14px;font-weight:800}.quote-fields .full{grid-column:1/-1}.quote-fields input,.quote-fields textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #b8cbd3;border-radius:10px;background:#fff;color:var(--ink);font:inherit}.quote-fields textarea{min-height:100px;resize:vertical}.quote-fields input:focus,.quote-fields textarea:focus{outline:3px solid rgba(32,183,196,.3);border-color:var(--teal)}.quote-note{margin:13px 0 0!important;font-size:13px}
@media(max-width:760px){.simple-nav{gap:14px}.simple-nav a{font-size:12px}.tour-group-options,.operator-groups fieldset{grid-template-columns:1fr}.day-options{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.simple-nav{gap:10px}.simple-nav a{max-width:88px;text-align:center;line-height:1.2}.quote-summary,.quote-fields{grid-template-columns:1fr}.quote-fields .full{grid-column:auto}.quote-schedule article{grid-template-columns:1fr}.quote-schedule article>span{justify-self:start}}
.thank-you-main{display:grid;place-items:center;min-height:calc(100vh - 240px);padding:56px 24px}
.thank-you-card{width:min(620px,100%);padding:48px 40px;border:1px solid var(--line);border-top:6px solid var(--teal);border-radius:var(--radius);background:#fff;text-align:center;box-shadow:0 18px 50px rgba(0,34,74,.07)}
.thank-you-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 20px;border-radius:50%;background:var(--seafoam);color:var(--teal);font-size:30px;font-weight:800}
.thank-you-card h1{margin:0 0 10px;color:var(--navy);font-size:clamp(28px,4vw,38px)}
.thank-you-card p{max-width:480px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.7}
.thank-you-actions{display:flex;justify-content:center;gap:10px;margin-top:28px}.thank-you-actions a{min-height:42px;padding:10px 16px;border-radius:9px;background:#bd5700;color:#fff;font-size:14px;font-weight:800;text-decoration:none}.thank-you-actions a.secondary{border:1px solid var(--line);background:#fff;color:var(--navy)}
@media(max-width:480px){.thank-you-card{padding:36px 22px}.thank-you-actions{display:grid}.thank-you-actions a{width:100%}}
.admin-body{background:var(--cloud)}.admin-main{width:min(1120px,calc(100% - 40px));margin:auto;padding:50px 0 80px}.admin-login{width:min(480px,100%);margin:5vh auto 0;padding:38px;border:1px solid var(--line);border-top:6px solid var(--teal);border-radius:var(--radius);background:#fff;box-shadow:0 18px 50px rgba(0,34,74,.08)}.admin-login>img{width:220px;margin-bottom:24px}.admin-login h1,.admin-heading h1{margin:8px 0;color:var(--navy);font-size:30px}.admin-login>p{margin:0 0 24px;color:var(--muted)}.admin-login form,.admin-form{display:grid;gap:15px}.admin-login label,.admin-form label{display:grid;gap:6px;color:var(--navy);font-size:14px;font-weight:800}.admin-login input,.admin-form input,.admin-form select,.admin-form textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #b8cbd3;border-radius:10px;background:#fff;color:var(--ink);font:inherit}.admin-form textarea{min-height:88px;resize:vertical}.admin-login input:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:3px solid rgba(32,183,196,.3);border-color:var(--teal)}.admin-status{min-height:20px;margin:0;color:#12613b;font-size:13px;font-weight:700}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.admin-heading a{color:var(--teal);font-weight:800}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.admin-form,.admin-records{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.admin-form h2,.admin-records h2{margin:0 0 5px;color:var(--navy);font-size:22px}.admin-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-form small{color:var(--muted);font-weight:500}.admin-records{margin-top:24px}.admin-records article{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.admin-records article:first-child{border-top:0}.admin-records article>img,.admin-records article>span{display:grid;place-items:center;width:50px;height:50px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:var(--navy);color:#fff;font-weight:800}.admin-records h3{margin:0;color:var(--navy);font-size:16px}.admin-records p{margin:3px 0 0;color:var(--muted);font-size:13px}.admin-panel.hidden,.admin-login.hidden{display:none}
@media(max-width:760px){.admin-main{width:calc(100% - 28px);padding:28px 0 60px}.admin-grid{grid-template-columns:1fr}.admin-form{padding:22px}.admin-heading{align-items:flex-start;flex-direction:column}.admin-two{grid-template-columns:1fr}}

/* Private content administration */
.admin-body{margin:0;background:#eef4f6;color:var(--ink)}.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:15;display:flex;width:250px;flex-direction:column;padding:28px 18px 22px;background:var(--navy);color:#fff}.admin-sidebar>img{width:185px;padding:8px;border-radius:10px;background:#fff}.admin-sidebar>p{margin:28px 12px 9px;color:#80d9df;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.admin-sidebar nav{display:grid;gap:5px}.admin-nav{display:flex;align-items:center;justify-content:flex-start;gap:11px;min-height:44px;padding:10px 12px;border-radius:9px;background:transparent;color:#dcebf2;font-size:14px;font-weight:700;text-align:left}.admin-nav span{display:grid;width:23px;place-items:center;color:#74d2da;font-size:19px}.admin-nav:hover,.admin-nav.active{background:#0c3b67;color:#fff}.admin-nav.active{box-shadow:inset 3px 0 var(--orange)}.admin-site-link{margin-top:auto;padding:12px;color:#bde5e8;font-size:13px;font-weight:700;text-decoration:none}.admin-workspace{grid-column:2;min-width:0}.admin-top{position:sticky;top:0;z-index:10;display:flex;height:74px;align-items:center;gap:14px;padding:0 34px;border-bottom:1px solid #d8e5e9;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.admin-top div{display:grid}.admin-top small{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.admin-top strong{color:var(--navy);font-family:Poppins,sans-serif;font-size:18px}.admin-secure{margin-left:auto;padding:7px 10px;border-radius:999px;background:var(--seafoam);color:#087083;font-size:12px;font-weight:800}.admin-secure:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#188851}.admin-menu{display:none;width:42px;min-height:42px;padding:0;background:#fff;color:var(--navy);border:1px solid var(--line)}.admin-content{width:min(1240px,calc(100% - 64px));margin:0 auto;padding:38px 0 70px}.admin-page-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.admin-page-head p{margin:0 0 5px;color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-page-head h1{margin:0;color:var(--navy);font-size:clamp(25px,3vw,34px);line-height:1.2}.admin-page-head span{display:block;margin-top:6px;color:var(--muted);font-size:14px}.admin-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:8px 14px;border-radius:9px;background:#bd5700;color:#fff;font-size:13px}.admin-button.light{border:1px solid var(--line);background:#fff;color:var(--navy)}.admin-button.danger{background:#b3272d;color:#fff}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.admin-stat{position:relative;overflow:hidden;padding:22px;border:1px solid var(--line);border-radius:13px;background:#fff}.admin-stat:after{content:"";position:absolute;right:-14px;bottom:-18px;width:66px;height:66px;border-radius:50%;background:var(--seafoam)}.admin-stat span,.admin-stat small{display:block;color:var(--muted);font-size:12px;font-weight:700}.admin-stat strong{display:block;margin:8px 0 4px;color:var(--navy);font-family:Poppins,sans-serif;font-size:32px}.admin-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.admin-card-head{padding:22px 24px;border-bottom:1px solid var(--line)}.admin-card h2{margin:0;color:var(--navy);font-size:19px}.admin-card p{margin:4px 0 0;color:var(--muted);font-size:13px}.admin-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:24px}.admin-quick button{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-height:78px;padding:14px;border:1px solid var(--line);background:#fff;color:var(--ink);text-align:left}.admin-quick button:hover{border-color:var(--teal);background:var(--seafoam)}.admin-quick b{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;background:var(--navy);color:#fff;font-size:22px}.admin-quick span{display:grid;gap:3px}.admin-quick strong{color:var(--navy);font-size:14px}.admin-quick small{color:var(--muted);font-weight:500}.admin-toolbar{display:flex;gap:10px;margin:-8px 0 16px}.admin-toolbar label{flex:1}.admin-toolbar input,.admin-toolbar select{width:100%;min-height:43px;padding:9px 12px;border:1px solid #b8cbd3;border-radius:9px;background:#fff;color:var(--ink);font:inherit}.admin-toolbar select{width:170px}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{padding:12px 17px;border-bottom:1px solid var(--line);background:#f6f9fa;color:#637682;font-size:11px;letter-spacing:.04em;text-align:left;text-transform:uppercase}.admin-table td{padding:16px 17px;border-bottom:1px solid #e6edef;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table td>strong,.record-title strong,.article-row strong{display:block;color:var(--navy);font-size:14px}.table-sub,.record-title small,.article-row small{display:block;max-width:340px;margin-top:3px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.record-title,.article-row{display:flex;align-items:center;gap:11px}.record-title img,.record-title>b,.article-row img,.article-row>span{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;object-fit:contain;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy)}.record-title>b{background:var(--navy);color:#fff;font-size:11px}.article-row img{object-fit:cover}.row-actions{display:flex;justify-content:flex-end;gap:5px}.row-actions button{min-height:33px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--navy);font-size:12px}.row-actions .delete{color:#9e252b}.admin-tags{display:flex;flex-wrap:wrap;gap:4px}.admin-tags span,.status{display:inline-flex;padding:4px 7px;border-radius:999px;background:var(--seafoam);color:#087083;font-size:11px;font-weight:800;text-transform:capitalize}.status.draft{background:#eef1f3;color:#63717a}.status.published{background:#dff3e7;color:#1b6b42}.admin-empty{padding:52px;text-align:center}.admin-empty.compact{padding:36px}.admin-empty h2{margin:0;color:var(--navy);font-size:20px}.admin-empty p{margin:7px 0 18px;color:var(--muted)}.admin-notice{position:fixed;z-index:50;right:24px;top:88px;max-width:360px;padding:13px 16px;border-radius:9px;background:#12613b;color:#fff;font-size:13px;font-weight:700;box-shadow:0 10px 30px rgba(0,34,74,.2)}.admin-notice.error{background:#a72c32}.admin-notice.hidden{display:none}.admin-dialog{width:min(720px,calc(100% - 28px));max-height:90vh;padding:0;border:0;border-radius:15px;background:#fff;box-shadow:0 25px 80px rgba(0,25,55,.25)}.admin-dialog::backdrop{background:rgba(0,24,49,.58);backdrop-filter:blur(2px)}.dialog-frame{margin:0}.dialog-frame>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);background:#fff}.dialog-frame>header small{color:var(--teal);font-size:11px;font-weight:800;text-transform:uppercase}.dialog-frame h2{margin:2px 0 0;color:var(--navy);font-size:22px}.dialog-close{width:38px;min-height:38px;padding:0;border-radius:50%;background:var(--cloud);color:var(--navy);font-size:24px}.dialog-frame>#dialogBody{padding:24px}.admin-editor{display:grid;gap:14px}.admin-editor label{display:grid;gap:6px;color:var(--navy);font-size:13px;font-weight:800}.admin-editor label small{color:var(--muted);font-weight:500}.admin-editor input,.admin-editor textarea,.admin-editor select{width:100%;min-height:44px;padding:9px 11px;border:1px solid #b8cbd3;border-radius:9px;background:#fff;color:var(--ink);font:inherit}.admin-editor textarea{min-height:92px;resize:vertical}.article-editor textarea[name="content"]{min-height:260px}.admin-editor input:focus,.admin-editor textarea:focus,.admin-editor select:focus,.admin-toolbar input:focus,.admin-toolbar select:focus{outline:3px solid rgba(32,183,196,.27);border-color:var(--teal)}.form-status{min-height:18px;margin:0;color:#9e252b;font-size:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:8px}.confirm-dialog{width:min(470px,calc(100% - 28px))}.confirm-dialog .dialog-frame>p{padding:4px 24px 0;color:var(--muted);line-height:1.6}.confirm-dialog .dialog-actions{padding:0 24px 24px}.record-preview dl{display:grid;grid-template-columns:150px 1fr;gap:12px;margin:20px 0 0}.record-preview dt{color:var(--navy);font-weight:800}.record-preview dd{margin:0;color:var(--muted);white-space:pre-line}.preview-logo{max-width:180px;max-height:100px;object-fit:contain}.article-preview>img{width:100%;max-height:300px;margin-bottom:20px;border-radius:11px;object-fit:cover}.article-preview h1{margin:12px 0 7px;color:var(--navy);font-size:28px}.article-preview .lead{color:var(--muted);font-size:16px;line-height:1.6}.article-preview>div{color:var(--ink);line-height:1.75}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:980px){.admin-stats{grid-template-columns:1fr 1fr}.admin-quick{grid-template-columns:1fr}.admin-table{min-width:820px}}
@media(max-width:720px){.admin-shell{display:block}.admin-sidebar{transform:translateX(-100%);transition:transform .2s}.admin-menu-open .admin-sidebar{transform:translateX(0)}.admin-workspace{grid-column:auto}.admin-menu{display:block}.admin-top{padding:0 16px}.admin-content{width:calc(100% - 28px);padding-top:26px}.admin-page-head{align-items:flex-start;flex-direction:column}.admin-page-head .admin-button{width:100%}.admin-stats{grid-template-columns:1fr 1fr;gap:10px}.admin-stat{padding:17px}.admin-stat strong{font-size:27px}.admin-secure{font-size:0}.admin-secure:before{margin:0}.admin-toolbar{align-items:stretch;flex-direction:column}.admin-toolbar select{width:100%}.admin-two{grid-template-columns:1fr}.dialog-frame>#dialogBody{padding:18px}.record-preview dl{grid-template-columns:1fr;gap:4px}.record-preview dd{margin-bottom:10px}}
@media(max-width:420px){.admin-stats{grid-template-columns:1fr}.admin-top strong{font-size:16px}}
.admin-sidebar-foot{display:grid;gap:6px;margin-top:auto}.admin-sidebar-foot .admin-site-link{margin:0}.admin-logout{justify-content:flex-start;min-height:40px;padding:9px 12px;background:transparent;color:#bde5e8;font-size:13px;text-align:left}.admin-logout:hover{background:#0c3b67;color:#fff}

/* Square result cards with a smaller, balanced property gallery. */
@media(min-width:761px){
.hotel-grid>.hotel,.hotel-grid>.hotel.top-result{width:100%;height:auto;min-height:0;aspect-ratio:1/1;grid-template-rows:auto minmax(0,1fr)}
.hotel-main{height:auto;min-height:0;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start}
.hotel-main .hotel-photo,.hotel-photo,.top-result .hotel-photo{height:220px;min-height:220px;align-self:start}
.hotel-gallery{height:220px;grid-template-rows:minmax(132px,2fr) minmax(78px,1fr)}
.hotel-head,.hotel-body,.top-result .hotel-body{padding:20px}
.fit dl{gap:5px}
.fit dd{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
}
@media(max-width:760px){
.hotel-main .hotel-photo,.hotel-photo,.top-result .hotel-photo{height:220px;min-height:220px}
.hotel-gallery{height:220px;grid-template-rows:minmax(132px,2fr) minmax(78px,1fr)}
}
.login-options{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}
.login-options .remember-option{display:flex;grid-template-columns:none;align-items:center;gap:8px;font-weight:600}
.login-options .remember-option input{width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--teal)}
.login-options a{display:flex;align-items:center;min-height:44px;color:var(--teal);font-weight:700;text-decoration:none}
.login-options a:hover{text-decoration:underline}
.auth-note{margin:0 0 18px;padding:12px 14px;border-left:3px solid var(--teal);background:var(--seafoam);color:var(--ink);font-size:13px;line-height:1.5}
@media(max-width:480px){.login-options{align-items:flex-start;flex-direction:column;gap:2px}}

/* Compact Hotel Match results: 20% smaller on desktop, with consistent card anatomy. */
@media(min-width:761px){
  .results .hotel-grid{
    width:80%;
    max-width:960px;
    margin-inline:auto;
    gap:22px;
  }
  .hotel-grid>.hotel,.hotel-grid>.hotel.top-result{
    aspect-ratio:1/1;
  }
  .hotel-head{
    gap:3px;
    padding:16px;
  }
  .hotel-head .rating-row{min-height:25px}
  .hotel-title-row{gap:10px;margin:3px 0}
  .hotel-title-row h2,.top-result .hotel-title-row h2{
    min-width:0;
    overflow:hidden;
    font-size:17px;
    line-height:1.28;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .hotel-title-row>span{
    overflow:hidden;
    max-width:46%;
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .hotel-title-row>span b{min-width:27px;height:24px}
  .location-row{gap:6px 18px;min-height:27px}
  .location{overflow:hidden;font-size:12px;line-height:17px;text-overflow:ellipsis;white-space:nowrap}
  .map-link{min-height:27px;font-size:12px}
  .verified-rate{gap:4px 7px;margin-top:6px}
  .verified-rate strong{font-size:.92rem}
  .verified-rate span{font-size:.7rem}
  .hotel-main{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr)}
  .hotel-main .hotel-photo,.hotel-photo,.top-result .hotel-photo{
    height:176px;
    min-height:176px;
  }
  .hotel-gallery{
    height:176px;
    grid-template-rows:minmax(104px,2fr) minmax(62px,1fr);
  }
  .hotel-body,.top-result .hotel-body{padding:16px}
  .fit{margin:7px 0 9px;padding:8px 9px;font-size:11px;line-height:16px}
  .fit h3{margin-bottom:4px;font-size:12px}
  .fit h3:not(:first-child){margin-top:8px}
  .fit li{padding-left:17px}
  .fit li+li{margin-top:1px}
  .fit p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .tradeoff{margin-top:6px;padding-top:6px}
  .confidence{margin:0 0 8px;font-size:11px}
  .hotel-body>a:last-child{min-height:40px!important;padding:8px 11px;font-size:13px}
}
@media(max-width:760px){
  .results .hotel-grid{gap:20px}
  .hotel-head{padding:18px 18px 15px}
  .hotel-body,.top-result .hotel-body{padding:18px}
  .hotel-main .hotel-photo,.hotel-photo,.top-result .hotel-photo{height:190px;min-height:190px}
  .hotel-gallery{height:190px;grid-template-rows:minmax(114px,2fr) minmax(66px,1fr)}
  .hotel-title-row{margin:3px 0 2px}
  .fit{margin:8px 0 10px}
}

/* Prevent long hotel names and addresses from expanding compact cards. */
.hotel-grid>.hotel,.hotel-head,.hotel-main,.hotel-body,
.rating-row,.hotel-title-row,.location-row{
  min-width:0;
}
.hotel-grid>.hotel{grid-template-columns:minmax(0,1fr)}
.hotel-head,.hotel-main{width:100%;max-width:100%}
.location-row .location{flex:1 1 auto;min-width:0}
.rating-row .match,.hotel-title-row .guest-score,.location-row .map-link{flex:0 0 auto}
@media(min-width:761px){
  .hotel-grid>.hotel,.hotel-grid>.hotel.top-result{overflow:hidden}
  .hotel-head{max-height:172px}
  .hotel-main{overflow:hidden}
  .hotel-body{overflow:hidden}
}

/* Keep the sidebar actions—including Sign out—reachable at every height. */
.admin-sidebar{overflow:hidden!important}
.admin-sidebar nav{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding-right:3px!important;scrollbar-width:thin;scrollbar-color:#3e6b8d transparent}
.admin-sidebar-foot{position:relative!important;z-index:2!important;flex:0 0 auto!important;margin-top:10px!important;padding-top:10px!important;border-top:1px solid rgba(255,255,255,.16)!important;background:var(--navy)!important}
.admin-sidebar .admin-logout{display:block!important;width:100%!important;min-height:42px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:8px!important;color:#fff!important}
.admin-login-page{min-height:100vh;margin:0;background:linear-gradient(145deg,#00224a 0,#003d67 46%,#008da3 100%);color:var(--ink)}.admin-login-wrap{display:grid;min-height:100vh;place-items:center;padding:28px}.admin-login-card{width:min(460px,100%);padding:36px;border-radius:17px;background:#fff;box-shadow:0 28px 80px rgba(0,20,45,.35)}.admin-login-card>img{display:block;width:220px;margin:0 auto 28px}.login-heading{margin-bottom:24px;text-align:center}.login-heading span{color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.login-heading h1{margin:7px 0 6px;color:var(--navy);font-size:30px}.login-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.admin-login-card form{display:grid;gap:16px}.admin-login-card label{display:grid;gap:7px;color:var(--navy);font-size:14px;font-weight:800}.admin-login-card input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #b8cbd3;border-radius:10px;background:#fff;color:var(--ink);font:inherit}.admin-login-card input:focus{outline:3px solid rgba(32,183,196,.28);border-color:var(--teal)}.password-wrap{position:relative}.password-wrap input{padding-right:62px}.password-wrap button{position:absolute;top:6px;right:6px;min-height:36px;padding:6px 9px;background:var(--cloud);color:var(--navy);font-size:12px}.admin-login-button{min-height:48px;margin-top:2px;background:#bd5700;color:#fff}.admin-login-button:disabled{cursor:wait;opacity:.65}.login-status{min-height:20px;margin:0;color:#a2262c;font-size:13px;font-weight:700;text-align:center}.login-home{display:block;margin-top:17px;color:var(--teal);font-size:13px;font-weight:700;text-align:center;text-decoration:none}.login-home:hover{text-decoration:underline}@media(max-width:480px){.admin-login-wrap{padding:16px}.admin-login-card{padding:28px 20px}.admin-login-card>img{width:190px}.login-heading h1{font-size:27px}}

/* Branded destination navigation and expanded public footer. */
.nav-dropdown{position:relative}
.nav-dropdown summary{min-height:42px;display:flex;align-items:center;gap:7px;padding:8px 2px;color:var(--navy);font-size:14px;font-weight:700;list-style:none;cursor:pointer;border-bottom:3px solid transparent}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary:after{content:"";width:7px;height:7px;margin-top:-4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s ease}
.nav-dropdown[open] summary:after{margin-top:4px;transform:rotate(225deg)}
.nav-dropdown summary:hover,.nav-dropdown summary.active{color:var(--teal);border-bottom-color:var(--orange)}
.nav-dropdown summary:focus-visible{outline:3px solid var(--aqua);outline-offset:3px;border-radius:4px}
.nav-dropdown-menu{position:absolute;right:0;top:calc(100% + 12px);width:240px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(0,34,74,.16)}
.nav-dropdown-menu:before{content:"";position:absolute;right:22px;top:-6px;width:10px;height:10px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;transform:rotate(45deg)}
.nav-dropdown-menu a{position:relative;z-index:1;min-height:42px;width:100%;display:flex!important;align-items:center;padding:9px 11px!important;border:0!important;border-radius:8px;color:var(--navy)!important;font-size:14px!important;text-decoration:none}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a.active{background:var(--seafoam);color:var(--teal)!important}
.nav-dropdown-menu a.active:before{content:"";width:5px;height:5px;margin-right:8px;border-radius:50%;background:var(--orange)}
.site-footer{min-height:0;display:grid;grid-template-columns:minmax(250px,.82fr) minmax(0,1.5fr);gap:clamp(40px,6vw,84px);align-items:start;padding-top:48px;padding-bottom:0;border-top:5px solid var(--orange)}
.footer-brand{min-width:0}
.footer-brand img{display:block;width:168px;height:auto;margin:0 0 17px;padding:8px 10px;border-radius:10px;background:#fff}
.footer-brand p{max-width:370px;margin:0;color:#c0d0da;font-size:14px;line-height:1.7}
.footer-links{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:clamp(18px,2.5vw,34px);align-items:start}
.footer-links section{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.footer-links h2{margin:0 0 7px;padding-bottom:8px;border-bottom:2px solid var(--teal);color:#fff;font-size:13px;line-height:1.4;text-transform:uppercase;letter-spacing:.07em}
.footer-links a{display:inline-flex;min-height:28px;align-items:center;color:#d0e8ea;text-decoration:none;font-size:13px;line-height:1.45}
.footer-links a:hover,.footer-links a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer-links p{max-width:270px;margin:0;color:#c0d0da;font-size:13px;line-height:1.7}
.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:0;padding:20px 0 23px;border-top:1px solid rgba(255,255,255,.18);color:#9db3c0;font-size:12px;line-height:1.5}
@media(max-width:1040px){.site-footer{grid-template-columns:1fr;gap:38px}.footer-brand{display:grid;grid-template-columns:168px minmax(0,430px);align-items:center;gap:24px}.footer-brand img{margin:0}.footer-links{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:680px){.site-footer{gap:32px;padding:38px 20px 0}.footer-brand{display:block}.footer-brand img{width:156px;margin-bottom:16px}.footer-links{grid-template-columns:1fr 1fr;gap:30px 24px}.footer-links section:last-child{grid-column:1/-1;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}.footer-links p{max-width:480px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:5px;padding:18px 0 22px}}
@media(max-width:390px){.footer-links{grid-template-columns:1fr}.footer-links section:last-child{grid-column:auto}.footer-bottom span:last-child{max-width:240px}}

/* Direct destination links in the primary navigation. */
.simple-nav.direct-nav{gap:5px;white-space:nowrap}
.simple-nav.direct-nav>a{min-height:42px;display:inline-flex;align-items:center;padding:8px 9px;color:var(--navy);font-size:13px;font-weight:700;text-decoration:none;border-bottom:3px solid transparent}
.simple-nav.direct-nav>a:hover,.simple-nav.direct-nav>a:focus-visible{color:var(--teal)}
.simple-nav.direct-nav>a.active{color:var(--teal);border-bottom-color:var(--orange)}
.simple-nav.direct-nav>a.active:after{display:none}
@media(max-width:960px){
header:has(.direct-nav),.guide-page header:has(.direct-nav){height:auto;min-height:0;display:grid;grid-template-columns:1fr;justify-items:center;gap:5px;padding:8px 0 0}
header:has(.direct-nav) .brand img,.guide-page header:has(.direct-nav) .brand img{width:152px}
.simple-nav.direct-nav{width:100%;max-width:100vw;justify-content:flex-start;gap:2px;padding:0 14px 6px;overflow-x:auto;overscroll-behavior-x:contain;border-top:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--teal) transparent}
.simple-nav.direct-nav>a{flex:0 0 auto;min-height:38px;padding:7px 10px;font-size:12px}
.simple-nav.direct-nav .header-restart{flex:0 0 auto;min-height:34px;margin:2px 0 0 6px}
}

/* Destination section navigation shown beneath the primary sticky header. */
.section-nav{position:sticky;top:88px;z-index:30;display:flex;justify-content:center;gap:4px;padding:7px 20px;overflow-x:auto;overscroll-behavior-x:contain;border-bottom:1px solid var(--line);background:rgba(243,247,249,.97);backdrop-filter:blur(10px);white-space:nowrap;scrollbar-width:thin;scrollbar-color:var(--teal) transparent}
.section-nav a{flex:0 0 auto;min-height:36px;display:inline-flex;align-items:center;padding:7px 11px;border-radius:8px;color:var(--navy);font-size:13px;font-weight:700;text-decoration:none}
.section-nav a:hover,.section-nav a:focus-visible{background:#fff;color:var(--teal)}
.section-nav a.active{background:var(--navy);color:#fff;box-shadow:inset 0 -3px 0 var(--orange)}
.siquijor-page .guide-article section,.dauin-page .guide-article section{scroll-margin-top:150px}
@media(max-width:960px){.section-nav{top:92px;justify-content:flex-start}.siquijor-page .guide-article section,.dauin-page .guide-article section{scroll-margin-top:175px}}
@media(max-width:600px){.section-nav{top:91px;padding-right:14px;padding-left:14px}.section-nav a{font-size:12px}}

/* Primary destination menus: the destination name remains a normal link. */
.destination-menu{position:relative;display:flex;align-items:center;flex:0 0 auto;min-height:42px;border-bottom:3px solid transparent}
.destination-menu.is-active{border-bottom-color:var(--orange)}
.destination-link{min-height:39px;display:inline-flex;align-items:center;padding:8px 3px 8px 9px;color:var(--navy);font-size:13px;font-weight:700;text-decoration:none;border-bottom:0}
.destination-link:hover,.destination-link:focus-visible{color:var(--teal)}
.destination-link.active{color:var(--teal)}
.simple-nav .destination-link.active{border-bottom-color:transparent}
.simple-nav .destination-link.active:after,.simple-nav .destination-submenu a.active:after{display:none}
.destination-toggle{min-height:36px;width:28px;margin:0 2px 0 0;padding:0 7px;border:0;border-radius:7px;background:transparent;color:var(--navy)}
.destination-menu.is-active .destination-toggle{color:var(--teal)}
.destination-toggle:after{content:"";display:block;width:7px;height:7px;margin:-4px auto 0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s ease}
.destination-toggle:hover,.destination-toggle:focus-visible{background:var(--seafoam);color:var(--teal);transform:none}
.destination-menu.open .destination-toggle:after{margin-top:4px;transform:rotate(225deg)}
.destination-submenu{position:absolute;z-index:60;top:calc(100% + 7px);right:0;width:230px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(0,34,74,.16);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .15s ease,transform .15s ease,visibility .15s}
.destination-submenu:before{content:"";position:absolute;right:16px;top:-6px;width:10px;height:10px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;transform:rotate(45deg)}
.destination-submenu a{position:relative;z-index:1;min-height:40px;width:100%;display:flex;align-items:center;padding:8px 10px;border:0;border-radius:8px;color:var(--navy);font-size:13px;font-weight:650;text-decoration:none}
.destination-submenu a:hover,.destination-submenu a:focus-visible,.destination-submenu a.active{background:var(--seafoam);color:var(--teal)}
/* Keep guide-page link rules from turning dropdown items into a horizontal row. */
.simple-nav.direct-nav .destination-submenu a{position:relative;z-index:1;box-sizing:border-box;width:100%;min-width:0;min-height:40px;display:flex;align-items:center;padding:8px 10px;border:0;border-radius:8px;color:var(--navy);font-size:13px;font-weight:650;line-height:1.35;text-align:left;white-space:normal;text-decoration:none}
.simple-nav.direct-nav .destination-submenu a:hover,.simple-nav.direct-nav .destination-submenu a:focus-visible,.simple-nav.direct-nav .destination-submenu a.active{border:0;background:var(--seafoam);color:var(--teal)}
.simple-nav.direct-nav .destination-submenu a.active{box-shadow:inset 3px 0 0 var(--orange)}
.destination-menu.open .destination-submenu,.destination-menu:focus-within .destination-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
@media(hover:hover) and (min-width:961px){.destination-menu:hover .destination-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}}
@media(max-width:960px){.destination-menu{min-height:38px}.destination-link{min-height:35px;padding:7px 2px 7px 10px;font-size:12px}.destination-toggle{min-height:32px;width:26px;padding:0 6px}.destination-submenu{position:fixed;top:92px;right:12px;left:12px;width:auto;max-height:calc(100vh - 110px);overflow-y:auto}.destination-submenu:before{display:none}}
@media(prefers-reduced-motion:reduce){.destination-toggle:after,.destination-submenu{transition:none}}

/* Homepage positioning, trust, and conversion flow. */
.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.primary-home-cta,.secondary-home-cta{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:10px 17px;border-radius:10px;font-weight:800;text-decoration:none}
.primary-home-cta{background:#bd5700;color:#fff;box-shadow:0 8px 20px rgba(189,87,0,.18)}
.secondary-home-cta{border:1px solid var(--line);background:#fff;color:var(--navy)}
.primary-home-cta:hover,.primary-home-cta:focus-visible{background:#9f4800}.secondary-home-cta:hover,.secondary-home-cta:focus-visible{border-color:var(--teal);color:var(--teal)}
.free-proof{display:flex;flex-wrap:wrap;gap:8px 16px;margin:16px 0 0!important;color:var(--muted)!important;font-size:13px!important;line-height:20px!important}
.free-proof strong{padding:2px 8px;border-radius:999px;background:var(--seafoam);color:#006a77}.free-proof span:before{content:"✓";margin-right:5px;color:var(--teal);font-weight:900}
.how-match,.home-destinations{width:min(1200px,calc(100% - 48px));margin:0 auto 72px}
.how-match{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:50px;align-items:center;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.how-match h2,.home-destinations h2{margin:8px 0 6px;color:var(--navy);font-size:clamp(25px,3vw,34px)}
.how-match>div>p{margin:0;color:var(--muted)}
.how-match ol{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none}
.how-match li{display:flex;gap:10px;padding:14px;border-radius:11px;background:var(--cloud)}
.how-match li>b{flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff}
.how-match li span{display:grid;gap:3px}.how-match li strong{color:var(--navy);line-height:1.35}.how-match li small{color:var(--muted);line-height:1.45}
.home-destinations{scroll-margin-top:110px}.home-destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.home-destination-grid a{min-height:135px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);text-decoration:none}
.home-destination-grid a:hover,.home-destination-grid a:focus-visible{border-color:var(--teal);background:var(--seafoam)}
.home-destination-grid strong{font-family:Poppins,Arial,sans-serif;font-size:19px}.home-destination-grid span{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.5}
.match{display:grid;gap:0;text-align:right}.match small{font-size:11px;font-weight:700}.fit h3{margin:0 0 7px;color:var(--navy);font-size:14px}.fit h3:not(:first-child){margin-top:13px}.fit ul{margin:0;padding:0;list-style:none}.fit li{position:relative;padding-left:20px}.fit li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:900}.fit p{margin:0;color:var(--muted)}
@media(max-width:900px){.how-match{grid-template-columns:1fr;gap:24px}.home-destination-grid{grid-template-columns:1fr 1fr}.footer-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.how-match,.home-destinations{width:calc(100% - 32px);margin-bottom:52px}.how-match{padding:22px 18px}.how-match ol{grid-template-columns:1fr}.home-destination-grid{grid-template-columns:1fr 1fr}.home-destination-grid a{min-height:115px;padding:16px}.footer-links{grid-template-columns:1fr 1fr}.footer-links section:last-child{grid-column:auto;padding-top:0;border-top:0}}
@media(max-width:390px){.home-actions>a{width:100%}.home-destination-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr}}

.breadcrumbs{width:min(1200px,calc(100% - 48px));display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:20px auto -8px;color:var(--muted);font-size:13px}
.breadcrumbs a{color:var(--teal);text-underline-offset:3px}.breadcrumbs span[aria-current]{color:var(--navy);font-weight:700}
.match-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px!important;border:1px solid #bdeae6;border-radius:14px;background:var(--seafoam)}
.match-cta h2{margin:5px 0 5px}.match-cta p{margin:0}.match-cta .guide-button{flex:0 0 auto;white-space:nowrap}
.related-guides>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.related-guides>div a{min-height:48px;display:flex;align-items:center;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:700;text-decoration:none}.related-guides>div a:hover,.related-guides>div a:focus-visible{border-color:var(--teal);background:var(--seafoam);color:var(--teal)}
@media(max-width:600px){.breadcrumbs{width:calc(100% - 32px);margin-top:14px}.match-cta{align-items:flex-start;flex-direction:column;padding:21px 18px!important}.match-cta .guide-button{width:100%;text-align:center}.related-guides>div{grid-template-columns:1fr}}

/* Text-first guide heroes after removal of oversized hero photography. */
.guide-hero{grid-template-columns:minmax(0,900px);justify-content:start;min-height:0}

/* Homepage hotel recommendations sourced from the existing hotel database. */
.top-hotels{width:min(1200px,calc(100% - 48px));margin:0 auto 76px;scroll-margin-top:110px}
.top-hotels-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.top-hotels-head h2{margin:7px 0 4px;color:var(--navy);font-size:clamp(25px,3vw,34px)}.top-hotels-head p{max-width:670px;margin:0;color:var(--muted)}
.top-hotels-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.top-hotel-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.top-hotel-card>a:first-child{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--seafoam)}.top-hotel-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.top-hotel-card:hover img{transform:scale(1.025)}
.top-hotel-copy{display:flex;min-height:190px;flex-direction:column;padding:15px}.top-hotel-copy>span{color:var(--teal);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.top-hotel-copy h3{margin:5px 0;color:var(--navy);font-size:16px;line-height:1.35}.top-hotel-meta{margin:0 0 13px;color:var(--muted);font-size:12px;line-height:1.5}.top-hotel-meta b{color:var(--navy)}.top-hotel-cta{width:100%;min-height:40px;display:flex;align-items:center;justify-content:center;margin-top:auto;padding:8px 10px;border-radius:8px;background:#bd5700;color:#fff;font-size:13px;font-weight:800;text-align:center;text-decoration:none}.top-hotel-cta:hover,.top-hotel-cta:focus-visible{background:#9f4800}
.top-hotels-note{margin:15px 0 0;color:var(--muted);font-size:12px}
@media(max-width:1050px){.top-hotels-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.top-hotels{width:calc(100% - 32px);margin-bottom:54px}.top-hotels-head{align-items:start;flex-direction:column}.top-hotels-grid{grid-template-columns:1fr 1fr}.top-hotel-copy{min-height:180px}}
@media(max-width:390px){.top-hotels-grid{grid-template-columns:1fr}.top-hotel-copy{min-height:0}}

/* Concise, crawlable homepage guide discovery. */
.popular-guides{width:min(1200px,calc(100% - 48px));margin:0 auto 72px}.popular-guides h2{margin:8px 0 18px;color:var(--navy);font-size:clamp(25px,3vw,34px)}
.popular-guides-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.popular-guides-grid a{min-height:128px;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);text-decoration:none}.popular-guides-grid a:hover,.popular-guides-grid a:focus-visible{border-color:var(--teal);background:var(--seafoam)}.popular-guides-grid strong{font-size:16px}.popular-guides-grid span{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:980px){.popular-guides-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:680px){.popular-guides{width:calc(100% - 32px);margin-bottom:52px}.popular-guides-grid{grid-template-columns:1fr 1fr}}@media(max-width:390px){.popular-guides-grid{grid-template-columns:1fr}}

/* Branded 404 with useful crawlable recovery links. */
.error-main{min-height:calc(100vh - 96px);display:grid;place-items:center;padding:48px 24px;background:var(--cloud)}
.error-card{width:min(720px,100%);padding:42px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:center}
.error-card h1{margin:10px 0;color:var(--navy);font-size:clamp(32px,6vw,54px);line-height:1.08}.error-card>p{max-width:580px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.7}
.error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin:26px 0}.error-actions .text-link{display:inline-flex;align-items:center}
.error-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.error-links a{padding:12px;border:1px solid var(--line);border-radius:9px;color:var(--navy);font-weight:700;text-decoration:none}.error-links a:hover,.error-links a:focus-visible{border-color:var(--teal);background:var(--seafoam);color:var(--teal)}
@media(max-width:520px){.error-card{padding:30px 20px}.error-links{grid-template-columns:1fr}}

/* Mobile content and navigation safeguards for destination guides. */
.guide-article,.guide-article section{min-width:0}
.guide-article h2,.guide-article h3,.guide-hotel h3{overflow-wrap:anywhere}
@media(max-width:600px){
  .guide-hero h1{font-size:clamp(32px,10vw,38px);line-height:1.08;overflow-wrap:anywhere}
  .simple-nav.direct-nav>a,.destination-menu,.destination-link{min-height:44px}
  .destination-toggle{min-height:44px;width:36px}
  .destination-submenu a,.simple-nav.direct-nav .destination-submenu a{min-height:44px}
  .guide-article h2{font-size:clamp(25px,8vw,31px);line-height:1.18}
  .guide-article h3{font-size:20px;line-height:1.3}
  .guide-article a{overflow-wrap:anywhere}
  .decision-grid div{padding:14px}
}
/* 2026 readability and mobile usability refinement */
:root{--dc-body-size:15px}
body{font-size:var(--dc-body-size)}
.hero h1,.guide-hero h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.08;letter-spacing:-.035em}
.quiz h2,.results h2,.home-extra h2,.guide-article h2{font-size:clamp(1.45rem,2.7vw,2rem);line-height:1.18;letter-spacing:-.025em}
.guide-article h3,.hotel h3,.top-hotel-card h3{font-size:clamp(1.05rem,1.8vw,1.25rem);line-height:1.3}
.guide-article p,.guide-article li{font-size:.98rem;line-height:1.72}
.availability-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
.availability-actions button{min-height:44px}
.availability-actions .secondary{background:#fff;color:var(--navy);border:1px solid #cbd9df}
.availability-actions .secondary:hover{background:#eef8f8;border-color:var(--teal)}
.verified-rate{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin-top:10px;color:var(--navy)}
.verified-rate strong{font-size:1.05rem}.verified-rate span{color:var(--muted);font-size:.78rem;font-weight:600}
.main-nav a,.menu-trigger,.destination-toggle,.submenu a,.footer-links a,.map-link,.guide-button,.top-hotel-cta,#headerRestart{min-height:44px}
.footer-links a{display:flex;align-items:center}
@media(max-width:760px){
 :root{--dc-body-size:14px}
 .hero h1,.guide-hero h1{font-size:clamp(1.7rem,8vw,2.25rem)}
 .quiz h2,.results h2,.home-extra h2,.guide-article h2{font-size:clamp(1.3rem,6vw,1.7rem)}
 .main-nav a,.menu-trigger,.destination-toggle,.submenu a,.footer-links a,.option,.actions button,.map-link,.guide-button,.top-hotel-cta{min-height:44px}
 .availability-actions{align-items:stretch;flex-direction:column}
 .availability-actions button{width:100%}
}

/* Product-focused 2026 interface */
:root{
  --dc-container:1200px;
  --dc-reading:740px;
  --dc-radius-sm:8px;
  --dc-radius-md:12px;
  --dc-space-1:8px;
  --dc-space-2:16px;
  --dc-space-3:24px;
  --dc-space-4:40px;
}
.product-header{height:82px;padding-inline:max(20px,calc((100vw - var(--dc-container))/2));box-shadow:none}
.product-header .brand img{width:168px}
.product-nav{display:flex;align-items:center;gap:22px}
.product-nav>a,.nav-toggle{display:inline-flex;min-height:44px;align-items:center;padding:7px 0;border-radius:0;background:transparent;color:var(--navy);font-size:14px;font-weight:700;text-decoration:none}
.product-nav>a:hover,.product-nav>a:focus-visible,.nav-toggle:hover,.nav-toggle:focus-visible{color:var(--teal);transform:none;filter:none}
.product-nav>a.active:not(.hotel-match-nav){color:var(--teal);box-shadow:inset 0 -2px var(--orange)}
.nav-group{position:relative}
.nav-toggle:after{content:"";width:7px;height:7px;margin:-4px 2px 0 9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.nav-panel{position:absolute;z-index:42;top:calc(100% + 8px);left:-16px;display:none;width:250px;padding:8px;border:1px solid var(--line);border-radius:var(--dc-radius-md);background:#fff;box-shadow:0 14px 34px rgba(0,34,74,.12)}
.nav-group.open .nav-panel{display:grid}
.nav-panel a{min-height:42px;display:flex;align-items:center;padding:9px 11px;border-radius:7px;color:var(--navy);font-size:13px;font-weight:650;text-decoration:none}
.nav-panel a:hover,.nav-panel a:focus-visible{background:var(--seafoam);color:var(--teal)}
.product-nav .hotel-match-nav{padding:10px 15px;border-radius:9px;background:#bd5700;color:#fff}
.product-nav .hotel-match-nav:hover,.product-nav .hotel-match-nav:focus-visible{background:#9f4800;color:#fff}
.menu-trigger{display:none;background:#fff;color:var(--navy);border:1px solid var(--line);font-size:14px}
.product-hero{min-height:620px;padding:54px 0 64px}
.product-hero:before{display:none}
.product-hero .intro h1{max-width:560px;font-size:clamp(40px,4vw,48px);line-height:1.08}
.product-hero .intro>p{max-width:570px;font-size:17px;line-height:1.65}
.hotel-match-card{padding:28px;border-radius:var(--dc-radius-md);box-shadow:0 12px 34px rgba(0,34,74,.07)}
.hotel-match-card:after{display:none}
.quiz-product-title{display:grid;gap:2px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.quiz-product-title span{color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.1em}
.quiz-product-title strong{color:var(--navy);font-family:Poppins,sans-serif;font-size:18px}
.option{position:relative;border-radius:var(--dc-radius-sm)}
.option.selected{padding-right:46px;box-shadow:inset 3px 0 0 var(--teal)}
.option.selected:after{content:"✓";position:absolute;right:13px;top:50%;display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--teal);color:#fff;transform:translateY(-50%);font-size:13px}
.actions button{border-radius:9px}
.destination-selector,.task-planner,.trust-section,.final-match-cta{width:min(var(--dc-container),calc(100% - 48px));margin:0 auto 72px}
.destination-selector h2,.task-planner h2,.trust-section h2,.final-match-cta h2{margin:7px 0 20px;color:var(--navy);font-size:clamp(28px,3vw,32px)}
.destination-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.destination-card-grid a{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--dc-radius-md);background:#fff;color:#fff;text-decoration:none}
.destination-card-grid img{display:block;width:100%;aspect-ratio:5/3;object-fit:cover;background:var(--cloud);transition:transform .2s ease}
.destination-card-grid a:first-child img{object-fit:cover;padding:0;background:#eef5f7}
.destination-card-grid span{position:absolute;right:0;bottom:0;left:0;display:grid;gap:2px;padding:32px 14px 13px;background:linear-gradient(transparent,rgba(0,25,54,.92))}
.destination-card-grid strong{font-family:Poppins,sans-serif;font-size:17px}.destination-card-grid small{font-size:12px;color:#e7f2f5}
.destination-card-grid a:hover img,.destination-card-grid a:focus-visible img{transform:scale(1.035)}
.task-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.task-grid a{display:flex;min-height:94px;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--dc-radius-md);background:#fff;color:var(--ink);text-decoration:none}
.task-grid a:hover,.task-grid a:focus-visible{border-color:var(--teal);background:var(--seafoam)}
.task-grid b{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:18px}
.task-grid span{display:grid;gap:3px}.task-grid strong{color:var(--navy);font-size:15px}.task-grid small{color:var(--muted);font-size:12px}
.how-match{border-radius:var(--dc-radius-md);box-shadow:none}
.how-match .text-link{display:inline-flex;margin-top:13px}
.top-hotels-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.top-hotel-card:nth-child(n+9){display:none}
.top-hotel-card,.top-hotel-card>a:first-child{border-radius:var(--dc-radius-sm)}
.top-hotel-copy{min-height:174px;padding:14px}
.top-hotel-copy h3{font-size:15px}
.popular-guides-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.trust-section{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr) auto;align-items:center;gap:32px;padding:28px 30px;border:1px solid #bdeae6;border-radius:var(--dc-radius-md);background:var(--seafoam)}
.trust-section h2{margin-bottom:0}.trust-section ul{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0;padding:0;list-style:none}.trust-section li:before{content:"✓";margin-right:8px;color:var(--teal);font-weight:900}
.final-match-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:34px;border-radius:var(--dc-radius-md);background:var(--navy);color:#fff}
.final-match-cta h2{margin:6px 0;color:#fff}.final-match-cta p{margin:0;color:#c7d9e2}.final-match-cta .eyebrow{color:#83dde2}.final-match-cta .primary-home-cta{flex:0 0 auto}
.results-toolbar{align-items:flex-start}
.method-button{flex:0 0 auto;min-height:40px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--teal);font-size:13px}
.match-method{margin:-5px 0 22px;padding:15px 18px;border-left:3px solid var(--teal);background:#fff;color:var(--muted);font-size:13px;line-height:1.6}.match-method p{margin:0}.match-method a{display:inline-flex;margin-top:6px;color:var(--teal);font-weight:700}
.results-disclosure{margin:24px 0 0;color:var(--muted);font-size:12px}.results-disclosure a,.top-hotels-note a{color:var(--teal)}
.show-more{min-height:44px;margin:24px auto 0;padding:9px 18px;border-radius:9px;background:var(--navy);color:#fff}
.empty-results button{margin-top:18px;background:#bd5700;color:#fff}
.site-footer{grid-template-columns:minmax(220px,.7fr) minmax(0,1.5fr)}
.footer-links{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:1040px){
  .product-nav{gap:13px}.product-nav>a,.nav-toggle{font-size:13px}
  .destination-card-grid{grid-template-columns:repeat(3,1fr)}
  .top-hotels-grid{grid-template-columns:repeat(3,1fr)}
  .trust-section{grid-template-columns:1fr 1.4fr}.trust-section>.text-link{grid-column:1/-1}
}
@media(max-width:820px){
  .product-header{height:72px}.product-header .brand img{width:145px}
  .menu-trigger{display:inline-flex;align-items:center;gap:7px}
  .product-nav{position:absolute;top:calc(100% + 1px);right:0;left:0;display:none;max-height:calc(100vh - 73px);overflow:auto;padding:14px 20px 22px;border-bottom:1px solid var(--line);background:#fff}
  .product-header.menu-open .product-nav{display:grid;gap:4px}
  .product-nav>a,.nav-toggle{width:100%;justify-content:space-between;padding:10px 6px}
  .nav-panel{position:static;width:auto;margin:0 0 7px;padding:4px;border:0;border-left:2px solid var(--teal);border-radius:0;box-shadow:none}
  .nav-panel a{padding-left:14px}
  .product-nav .hotel-match-nav{justify-content:center;margin-top:8px;padding:11px 15px}
  .product-hero{grid-template-columns:1fr;gap:28px;min-height:0;padding:38px 0 52px}
  .product-hero .intro{max-width:680px}
  .task-grid{grid-template-columns:1fr 1fr}
  .popular-guides-grid{grid-template-columns:repeat(3,1fr)}
  .actions{position:sticky;z-index:8;bottom:0;margin:22px -18px -18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.97)}
}
@media(max-width:600px){
  body{font-size:16px}
  .product-hero .intro h1{font-size:clamp(32px,10vw,36px);line-height:1.08}
  .product-hero .intro>p{font-size:16px}
  .hotel-match-card{padding:22px 18px}
  .question h2{font-size:25px;line-height:1.22}
  .option{min-height:58px;font-size:16px}
  .guest-fields select{font-size:16px}
  .destination-selector,.task-planner,.trust-section,.final-match-cta{width:calc(100% - 32px);margin-bottom:52px}
  .destination-card-grid{grid-template-columns:1fr 1fr;gap:10px}
  .destination-card-grid span{padding:28px 11px 11px}.destination-card-grid strong{font-size:15px}.destination-card-grid small{font-size:11px}
  .task-grid{grid-template-columns:1fr}.task-grid a{min-height:82px}
  .how-match{width:calc(100% - 32px)}
  .top-hotels-grid{grid-template-columns:1fr 1fr;gap:10px}.top-hotel-card:nth-child(n+7){display:none}.top-hotel-copy{min-height:166px;padding:12px}.top-hotel-copy h3{font-size:14px}
  .popular-guides-grid{grid-template-columns:1fr 1fr}
  .trust-section{display:block;padding:24px 20px}.trust-section ul{grid-template-columns:1fr;margin:20px 0}.trust-section>.text-link{display:inline-flex}
  .final-match-cta{align-items:flex-start;flex-direction:column;padding:27px 22px}.final-match-cta .primary-home-cta{width:100%}
  .results-toolbar{display:grid}.method-button{width:100%}
  .hotel-grid>.hotel,.hotel-grid>.hotel.top-result{aspect-ratio:auto}
  .hotel-title-row{display:grid;gap:5px}.hotel-title-row>span{margin-top:0}
  .location-row{align-items:flex-start}.map-link{min-height:44px}
  .site-footer{padding-inline:20px}.footer-links{grid-template-columns:1fr 1fr}
}
@media(max-width:360px){
  .destination-card-grid,.top-hotels-grid,.popular-guides-grid,.footer-links{grid-template-columns:1fr}
  .home-actions>a{width:100%}
  .date-summary{grid-template-columns:1fr}.date-summary>span[aria-hidden]{display:none}
}

/* September 24 interface refinement */
:root{--radius:10px;--dc-radius-sm:6px;--dc-radius-md:9px}
.product-nav{gap:20px}
.nav-toggle:after{width:6px;height:6px;margin:-4px 2px 0 8px;border-width:0 2px 2px 0;transition:transform .16s ease}
.nav-group.open .nav-toggle:after{transform:rotate(225deg);margin-top:4px}
.nav-panel{top:calc(100% + 12px);left:50%;width:248px;padding:7px;border-radius:8px;transform:translateX(-50%);box-shadow:0 12px 28px rgba(0,34,74,.11)}
.nav-panel:before{content:"";position:absolute;top:-6px;left:50%;width:10px;height:10px;border:1px solid var(--line);border-right:0;border-bottom:0;background:#fff;transform:translateX(-50%) rotate(45deg)}
.nav-panel a{position:relative;z-index:1;border-radius:5px}

.hotel-match-card{padding:24px;border-radius:9px}
.quiz-product-title{margin-bottom:16px;padding-bottom:14px}
.track{margin:8px 0 22px}
.question>p{margin-bottom:16px}
.options{gap:10px}
.option{border-radius:7px}
.actions{margin-top:18px}
.actions button,button,.availability-cta{border-radius:7px}

.brand-calendar{max-width:500px;margin-top:14px;padding:14px;border-radius:9px;box-shadow:0 8px 24px rgba(0,34,74,.06)}
.calendar-head{grid-template-columns:38px 1fr 38px;gap:8px;margin-bottom:10px}
.calendar-head strong{font-size:15px}
.month-nav{min-height:38px;border-radius:7px;font-size:22px}
.calendar-weekdays,.calendar-days{gap:3px}
.calendar-weekdays{margin-bottom:4px;font-size:10px}
.calendar-day{min-height:34px;border-radius:6px;font-size:12px}
.calendar-day.in-range{border-radius:3px}
.date-summary{margin:12px 0 6px;padding:10px 13px;border-radius:8px}
.date-instruction{margin-top:5px!important;font-size:13px}
.guest-fields{gap:10px;margin-top:10px}
.guest-fields select{min-height:40px;border-radius:7px}

.results-layout{gap:28px}
.hotel-grid{gap:22px}
.hotel-grid>.hotel,.hotel-grid>.hotel.top-result{display:flex;height:auto;min-height:0;aspect-ratio:auto;flex-direction:column;border-radius:10px;box-shadow:none}
.hotel:hover{box-shadow:0 10px 24px rgba(0,34,74,.08)}
.hotel-head{padding:18px 18px 14px;gap:3px}
.hotel-head .rating-row{min-height:0}
.hotel-name{margin:8px 0!important}
.hotel-main{display:flex;height:auto;min-height:0;flex:1;flex-direction:column;border-top:1px solid var(--line)}
.hotel-main .hotel-photo,.hotel-photo,.top-result .hotel-photo{width:100%;height:auto;min-height:0;aspect-ratio:16/9;background:var(--cloud)}
.hotel-image-link,.hotel-gallery,.hotel-gallery.single-photo{width:100%;height:100%;min-height:0;aspect-ratio:16/9}
.hotel-gallery img{width:100%;height:100%;object-fit:cover;object-position:center}
.hotel-body,.top-result .hotel-body{flex:1;padding:18px;gap:14px}
.match-reasons,.hotel-amenities,.hotel-review-summary{margin:0}
.hotel-action-footer{margin-top:auto;padding-top:4px}
.match,.compare-toggle,.map-link{border-radius:6px}
.availability-cta{min-height:44px}

@media(max-width:820px){
 .nav-panel{position:static;width:auto;margin:0 0 7px;padding:4px;border-radius:0;transform:none;box-shadow:none}
 .nav-panel:before{display:none}
 .product-nav{gap:4px}
}
@media(max-width:600px){
 .hotel-match-card{padding:18px 16px}
 .brand-calendar{padding:10px}
 .calendar-day{min-height:32px}
 .date-summary{gap:7px}
 .hotel-grid{gap:18px}
 .hotel-head,.hotel-body,.top-result .hotel-body{padding:16px}
}

/* Scannable destination-guide components */
.guide-layout{align-items:start}
.guide-toc{position:sticky;top:106px;max-height:calc(100vh - 126px);overflow:auto}
.guide-article{max-width:var(--dc-reading)}
.guide-article p,.guide-article li{line-height:1.65}

/* Hotel Match repair: keep every card complete and place results directly below the header. */
.results{
  padding-top:24px;
  scroll-margin-top:96px;
}
.results-head{
  margin-bottom:16px;
}
.results-head h2{
  margin:8px 0 0;
}
.results .hotel-grid{
  grid-template-columns:minmax(0,1fr);
  width:min(920px,100%);
  max-width:none;
  margin-inline:auto;
  gap:24px;
}
.hotel-grid>.hotel,
.hotel-grid>.hotel.top-result{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:auto;
  grid-template-rows:auto auto;
  overflow:hidden;
}
.hotel-grid .hotel-head{
  max-height:none;
  overflow:visible;
}
.hotel-grid .hotel-main{
  height:auto;
  min-height:0;
  grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
  align-items:stretch;
  overflow:visible;
}
.hotel-grid .hotel-photo,
.hotel-grid .top-result .hotel-photo,
.hotel-grid .hotel-main .hotel-photo{
  height:auto;
  min-height:286px;
}
.hotel-grid .hotel-gallery{
  height:100%;
  min-height:286px;
  grid-template-rows:minmax(184px,2fr) minmax(92px,1fr);
}
.hotel-grid .hotel-body{
  min-height:286px;
  overflow:visible;
}
.hotel-grid .hotel-body .fit{
  flex:1 0 auto;
}
.hotel-grid .hotel-body .fit p{
  display:block;
  overflow:visible;
  -webkit-line-clamp:unset;
}
.hotel-grid .hotel-body>a:last-child{
  margin-top:auto!important;
}
@media(max-width:760px){
  .results{padding-top:18px;scroll-margin-top:80px}
  .results-head h2{font-size:27px;line-height:1.2}
  .results .hotel-grid{gap:20px}
  .hotel-grid .hotel-main{grid-template-columns:1fr}
  .hotel-grid .hotel-photo,
  .hotel-grid .top-result .hotel-photo,
  .hotel-grid .hotel-main .hotel-photo{height:210px;min-height:210px}
  .hotel-grid .hotel-gallery{height:210px;min-height:210px;grid-template-rows:minmax(128px,2fr) minmax(72px,1fr)}
  .hotel-grid .hotel-body{min-height:0}
}
.at-a-glance{margin:0 0 34px!important;padding:24px!important;border:1px solid #bdeae6;border-radius:var(--dc-radius-md);background:var(--seafoam)}
.at-a-glance h2{margin:5px 0 18px!important}
.at-a-glance dl{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0}
.at-a-glance dl>div{display:grid;grid-template-columns:minmax(105px,.75fr) minmax(0,1.25fr);gap:12px;padding:10px 0;border-top:1px solid rgba(0,141,163,.17)}
.at-a-glance dt{color:var(--navy);font-size:13px;font-weight:800}
.at-a-glance dd{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
@media(max-width:900px){.guide-toc{position:static;max-height:none}.guide-article{max-width:none}}
@media(max-width:600px){.at-a-glance{padding:20px 17px!important}.at-a-glance dl{grid-template-columns:1fr}.at-a-glance dl>div{grid-template-columns:105px minmax(0,1fr)}}

/* Editable Hotel Match results */
.results-active .hotel-match-nav{display:none!important}
.results-active .header-restart{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:9px 16px;
  border:0;
  border-radius:9px;
  background:#bd5700;
  color:#fff;
  font-weight:800;
}
.results-active .header-restart:hover{background:#9f4800;color:#fff}
.results-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start}
.preference-sidebar{position:sticky;top:112px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.preference-sidebar-head{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.preference-sidebar h3{margin:0;color:var(--navy);font:700 18px/1.3 Poppins,Inter,sans-serif}
.preference-sidebar-head p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.preference-fields{display:grid;gap:12px}
.preference-fields>label,.preference-dates label{display:grid;gap:5px;color:var(--navy);font-size:12px;font-weight:800}
.preference-fields select,.preference-fields input[type="date"]{width:100%;min-width:0;min-height:40px;padding:7px 9px;border:1px solid #b8cbd3;border-radius:8px;background:#fff;color:var(--ink);font:500 13px/1.3 Inter,sans-serif}
.preference-fields select:focus,.preference-fields input:focus{outline:3px solid rgba(32,183,196,.25);border-color:var(--teal)}
.preference-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.preference-fields fieldset{display:grid;gap:5px;margin:0;padding:10px;border:1px solid var(--line);border-radius:8px}
.preference-fields legend{padding:0 4px;color:var(--navy);font-size:12px;font-weight:800}
.preference-check{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:12px;font-weight:600}
.preference-check input{width:16px;height:16px;margin:0;accent-color:var(--teal)}
.preference-check input:disabled+span{opacity:.45}
.preference-status{min-height:18px;margin:11px 0 0;color:var(--teal);font-size:11px;font-weight:700}
.results-content{min-width:0}
.results .hotel-grid{width:100%;margin:0;gap:18px}
.results .hotel-grid .hotel-head{padding:15px 17px 13px}
.results .hotel-grid .hotel-main{grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr)}
.results .hotel-grid .hotel-photo,.results .hotel-grid .top-result .hotel-photo,.results .hotel-grid .hotel-main .hotel-photo{min-height:238px}
.results .hotel-grid .hotel-gallery{min-height:238px;grid-template-rows:minmax(146px,2fr) minmax(82px,1fr)}
.results .hotel-grid .hotel-body{min-height:238px;padding:14px 16px}
.results .hotel-grid .fit{margin:4px 0 7px;padding:8px 10px;font-size:11px;line-height:1.42}
.results .hotel-grid .fit h3{font-size:12px}
.results .hotel-grid .hotel-body>a:last-child{min-height:38px!important;padding:7px 11px;font-size:12px}
.results .hotel-grid .confidence{margin-bottom:6px;font-size:10px}
@media(max-width:900px){
  .results-layout{grid-template-columns:230px minmax(0,1fr);gap:18px}
  .results .hotel-grid .hotel-main{grid-template-columns:1fr}
  .results .hotel-grid .hotel-photo,.results .hotel-grid .top-result .hotel-photo,.results .hotel-grid .hotel-main .hotel-photo{height:190px;min-height:190px}
  .results .hotel-grid .hotel-gallery{height:190px;min-height:190px;grid-template-rows:minmax(114px,2fr) minmax(66px,1fr)}
}
@media(max-width:700px){
  .results-active .product-nav .header-restart{display:inline-flex!important}
  .results-layout{grid-template-columns:1fr}
  .preference-sidebar{position:static;top:auto;padding:16px}
  .preference-fields{grid-template-columns:1fr 1fr;gap:10px}
  .preference-dates,.preference-fields fieldset{grid-column:1/-1}
  .results .hotel-grid .hotel-main{grid-template-columns:1fr}
}
@media(max-width:420px){
  .preference-fields{grid-template-columns:1fr}
  .preference-dates,.preference-fields fieldset{grid-column:auto}
}

/* Two-column hotel results and comparison */
.results .hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.results .hotel-grid>.hotel{height:100%;grid-template-rows:auto minmax(0,1fr)}
.results .hotel-grid .hotel-main{grid-template-columns:1fr;grid-template-rows:190px minmax(0,1fr);height:100%}
.results .hotel-grid .hotel-photo,.results .hotel-grid .top-result .hotel-photo,.results .hotel-grid .hotel-main .hotel-photo{height:190px;min-height:190px}
.results .hotel-grid .hotel-gallery{height:190px;min-height:190px;grid-template-rows:minmax(114px,2fr) minmax(66px,1fr)}
.results .hotel-grid .hotel-body{min-height:250px}
.compare-toggle{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;min-height:34px;margin-top:7px;padding:5px 9px;border:1px solid #a9c5ce;border-radius:8px;background:#fff;color:var(--teal);font-size:11px;font-weight:800}
.compare-toggle:hover{border-color:var(--teal);background:var(--seafoam);transform:none}
.compare-toggle.selected{border-color:var(--teal);background:var(--seafoam);color:var(--navy)}
.compare-toggle span{display:grid;width:17px;height:17px;place-items:center;border:1px solid currentColor;border-radius:4px;line-height:1}
.compare-tray{position:sticky;z-index:7;top:96px;display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:11px 13px;border:1px solid #a6dfe1;border-radius:10px;background:#fff;box-shadow:0 7px 20px rgba(0,34,74,.08)}
.compare-tray.hidden{display:none}
.compare-tray>div{display:grid;margin-right:auto}.compare-tray strong{color:var(--navy);font-size:13px}.compare-tray span{color:var(--muted);font-size:11px}
.compare-tray button{min-height:36px;padding:6px 11px;border-radius:8px;background:#bd5700;color:#fff;font-size:12px}
.compare-tray button:disabled{opacity:.45}.compare-tray .compare-clear{border:1px solid var(--line);background:#fff;color:var(--navy)}
.compare-dialog{width:min(1100px,calc(100% - 32px));max-height:90vh;padding:0;border:0;border-radius:15px;background:var(--cloud);box-shadow:0 25px 80px rgba(0,25,55,.3);overflow:hidden}
.compare-dialog::backdrop{background:rgba(0,25,56,.65);backdrop-filter:blur(2px)}
.compare-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid var(--line);background:#fff}
.compare-dialog-head span{color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.compare-dialog-head h2{margin:2px 0 0;color:var(--navy);font-size:21px}
.compare-content{display:grid;grid-template-columns:repeat(var(--compare-columns),minmax(0,1fr));gap:1px;max-height:calc(90vh - 78px);overflow:auto;background:var(--line)}
.compare-hotel{display:flex;min-width:0;flex-direction:column;padding:18px;background:#fff}
.compare-photo{position:relative;overflow:hidden;border-radius:9px;background:var(--seafoam)}
.compare-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.compare-match{position:absolute;top:10px;right:10px;display:grid;min-width:76px;justify-items:center;padding:6px 9px;border:1px solid #bdeae6;border-radius:9px;background:rgba(231,249,247,.95);color:#006a77;line-height:1.15}
.compare-match b{font-size:15px}.compare-match small{font-size:9px;font-weight:800}.compare-match.alternative{border-color:#ffdca2;background:rgba(255,246,230,.96);color:#7a4700}
.compare-hotel h3{min-height:44px;margin:13px 0 4px;color:var(--navy);font:700 17px/1.3 Poppins,Inter,sans-serif}
.compare-stars{min-height:22px;margin-bottom:5px}.compare-stars .stars{font-size:13px}.compare-stars .stars small{font-size:10px}
.compare-location{display:flex;min-height:38px;align-items:flex-start;gap:5px;margin:0;color:var(--muted);font-size:11px;line-height:1.45}.compare-location svg{width:14px;min-width:14px;height:14px;margin-top:1px;fill:none;stroke:var(--teal);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.compare-score{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:13px 0;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.compare-score>div{display:grid;align-content:center;min-height:58px;padding:7px;background:#f9fbfb;text-align:center}.compare-score strong{color:var(--navy);font-size:14px;line-height:1.2}.compare-score span{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.2}
.compare-section{padding:10px 0;border-top:1px solid var(--line)}.compare-section h4{margin:0 0 7px;color:var(--navy);font-size:12px}.compare-section ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.compare-section li{display:flex;gap:6px;color:var(--ink);font-size:11px;line-height:1.35}.compare-section li span{color:var(--teal);font-weight:900}
.compare-chips{display:flex;flex-wrap:wrap;gap:5px}.compare-chips span{padding:4px 7px;border:1px solid #cde5e5;border-radius:999px;background:#f5fbfb;color:#245c64;font-size:10px;line-height:1.2}
.compare-hotel dl{margin:0 0 14px}.compare-hotel dl>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:9px;padding:8px 0;border-top:1px solid var(--line);font-size:11px;line-height:1.4}.compare-hotel dt{color:var(--muted);font-weight:700}.compare-hotel dd{margin:0;color:var(--ink)}
.compare-hotel>a{display:flex;align-items:center;justify-content:center;min-height:40px;margin-top:auto;padding:8px 11px;border-radius:8px;background:#bd5700;color:#fff;font-size:12px;font-weight:800;text-decoration:none}
@media(max-width:1050px){.results .hotel-grid{grid-template-columns:1fr}}
@media(max-width:700px){
  .compare-tray{top:76px;align-items:stretch;flex-wrap:wrap}.compare-tray>div{width:100%}.compare-tray button{flex:1}
  .compare-content{grid-template-columns:1fr}.compare-hotel{padding:15px}.compare-hotel h3,.compare-location{min-height:0}
}

/* Light, travel-focused Hotel Match cards */
.results .hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.results .hotel-grid>.hotel{
  display:grid;
  height:100%;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,34,74,.035);
  transform:none;
}
.results .hotel-grid>.hotel:hover{border-color:#d4e1e6;box-shadow:0 5px 15px rgba(0,34,74,.055);transform:none}
.results .hotel-grid .hotel-head{display:block;padding:17px 17px 14px}
.results .hotel-grid .rating-row{min-height:38px;align-items:flex-start;justify-content:flex-end}
.results .hotel-grid .stars{padding-top:5px;font-size:14px}
.results .hotel-grid .stars small{font-size:12px}
.results .hotel-grid .match{display:grid;justify-items:center;gap:0;min-width:104px;padding:6px 10px;border:1px solid #bdeae6;border-radius:10px;background:var(--seafoam);line-height:1.2;text-align:center}
.results .hotel-grid .match b{margin:0;color:#006a77;font-size:14px;line-height:18px}
.results .hotel-grid .match small{color:#29757e;font-size:10px;font-weight:700}
.results .hotel-grid .match.alternative{border-color:#ffdca2;background:#fff6e6;color:#7a4700}
.results .hotel-grid .hotel-name{
  display:-webkit-box;
  min-height:0;
  margin:8px 0;
  overflow:hidden;
  color:var(--navy);
  font:700 21px/1.24 Poppins,Inter,sans-serif;
  letter-spacing:-.02em;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.hotel-star-row{min-height:0;margin:0 0 6px;line-height:1}
.results .hotel-grid .hotel-star-row .stars{display:inline-flex;align-items:center;padding-top:0}
.hotel-meta-row{display:grid;gap:5px;color:var(--muted);font-size:12px;line-height:1.42}
.hotel-location{display:-webkit-box;min-height:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.hotel-location svg{display:inline-block;width:15px;height:15px;margin-right:5px;fill:none;stroke:var(--teal);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
.hotel-review{min-height:18px;color:#536875}.hotel-review b{color:var(--navy);font-size:13px}
.results .hotel-grid .hotel-main{display:flex;height:100%;min-height:0;flex-direction:column;border-top:1px solid #eef1f2}
.results .hotel-grid .hotel-photo,.results .hotel-grid .top-result .hotel-photo,.results .hotel-grid .hotel-main .hotel-photo{height:auto;min-height:0;background:var(--cloud)}
.results .hotel-grid .hotel-gallery{display:grid;height:auto;min-height:0;grid-template-rows:auto 68px;gap:3px;background:#fff}
.results .hotel-grid .gallery-main{aspect-ratio:16/9}
.results .hotel-grid .gallery-thumbs{display:grid;height:68px;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:3px}
.results .hotel-grid .gallery-main,.results .hotel-grid .gallery-thumbs span{border-radius:0}
.results .hotel-grid .gallery-placeholder{background:linear-gradient(135deg,#edf4f5,#f6f8f9)}
.results .hotel-grid .hotel-body{display:flex;min-height:305px;flex:1 1 auto;flex-direction:column;padding:17px}
.match-reasons{margin:0 0 12px}.match-reasons h3,.good-to-know h3{margin:0 0 7px;color:var(--navy);font:700 13px/1.3 Inter,sans-serif}
.match-reasons ul{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:0;padding:0;list-style:none}
.match-reasons li{display:flex;min-width:0;align-items:flex-start;gap:6px;color:var(--ink);font-size:12px;line-height:1.35}
.match-reasons li span{flex:0 0 auto;color:var(--teal);font-weight:900}
.good-to-know{margin:0 0 13px;padding-top:11px;border-top:1px solid #eef1f2}.good-to-know p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.hotel-action-footer{display:flex;margin-top:auto;flex-direction:column}
.hotel-secondary-actions{display:flex;gap:8px;margin-bottom:8px}
.hotel-secondary-actions button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border:1px solid #cbd8dd;border-radius:8px;background:#fff;color:var(--teal);font-size:12px;font-weight:700}
.hotel-secondary-actions button:hover{border-color:var(--teal);background:#f4fbfb;transform:none}
.hotel-secondary-actions .compare-toggle{flex:1;margin:0}.hotel-secondary-actions .map-link{flex:0 0 auto;margin:0}
.hotel-secondary-actions .compare-toggle.selected{border-color:var(--teal);background:var(--seafoam);color:var(--navy)}
.booking-helper{min-height:16px;margin:0 0 7px;color:#71818b;font-size:10px;line-height:1.35}
.results .hotel-grid .availability-cta{display:flex!important;width:100%!important;min-height:46px!important;align-items:center;justify-content:center;margin:0!important;padding:9px 14px;border-radius:9px;background:#bd5700;color:#fff!important;font-size:14px;font-weight:800;text-align:center;text-decoration:none}
.results .hotel-grid .availability-cta:hover{background:#9f4800;text-decoration:none}
@media(max-width:820px){
  .results .hotel-grid{grid-template-columns:1fr}
  .results .hotel-grid .hotel-name{min-height:0;font-size:20px}
  .results .hotel-grid .hotel-body{min-height:0}
}
@media(max-width:480px){
  .results .hotel-grid{gap:16px}
  .results .hotel-grid .hotel-head{padding:15px}
  .results .hotel-grid .hotel-name{font-size:19px}
  .results .hotel-grid .hotel-gallery{grid-template-rows:auto 62px}
  .results .hotel-grid .gallery-thumbs{height:62px}
  .results .hotel-grid .hotel-body{padding:15px}
  .match-reasons ul{grid-template-columns:1fr}
  .hotel-secondary-actions button{min-height:44px}
  .results .hotel-grid .availability-cta{min-height:48px!important}
}

/* 2026-09-18 mobile layout and navigation repair */
html,body{max-width:100%;overflow-x:clip}
.product-header,.product-header *{min-width:0}
.product-nav>a:first-child{order:-10}
.home-actions:has(.secondary-home-cta:only-child){margin-top:24px}
.home-actions .secondary-home-cta:only-child{border-color:var(--teal);color:var(--teal)}

@media(max-width:820px){
  .product-header{position:sticky;width:100%;height:68px;padding:0 16px}
  .product-header .brand{flex:0 1 auto;max-width:calc(100% - 102px)}
  .product-header .brand img{width:132px;max-width:100%;height:auto}
  .menu-trigger{flex:0 0 auto;min-height:44px;padding:8px 12px}
  .product-nav{position:absolute;top:100%;right:0;left:0;width:100%;max-height:calc(100dvh - 68px);overscroll-behavior:contain;padding:10px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 14px 28px rgba(0,34,74,.12)}
  .product-header.menu-open .product-nav{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
  .product-nav>a,.nav-toggle{min-width:0;min-height:46px;padding:10px 8px;white-space:normal;text-align:left}
  .nav-panel{min-width:0;margin:0 0 5px;padding:3px 0 3px 8px}
  .nav-panel a{min-width:0;min-height:44px;padding:9px 12px;white-space:normal}
  .product-hero{width:100%;grid-template-columns:minmax(0,1fr);padding:30px 0 46px}
  .product-hero>*{min-width:0}
  .product-hero .intro h1{overflow-wrap:anywhere}
  .hotel-match-card{width:100%;max-width:100%}
  .results-layout{grid-template-columns:minmax(0,1fr)}
  .preference-sidebar,.results-content,.results .hotel-grid,.results .hotel-grid>.hotel{min-width:0;max-width:100%}
  .compare-dialog,.map-dialog{max-width:calc(100% - 20px);max-height:calc(100dvh - 20px);margin:auto}
  .compare-content{max-height:calc(100dvh - 96px)}
}

@media(max-width:600px){
  main{width:calc(100% - 28px)}
  .product-hero{gap:24px;padding-top:26px}
  .product-hero .intro h1{font-size:clamp(29px,9vw,36px)}
  .product-hero .intro>p{font-size:15px;line-height:1.6}
  .home-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .home-actions>a{width:100%;min-height:46px;justify-content:center;text-align:center}
  .hotel-match-card{padding:20px 15px}
  .quiz-product-title{margin-bottom:17px;padding-bottom:13px}
  .options{grid-template-columns:minmax(0,1fr)}
  .option{width:100%;min-width:0;overflow-wrap:anywhere}
  .actions{gap:10px;margin-right:-15px;margin-left:-15px;padding-right:15px;padding-left:15px}
  .actions button{flex:1;min-width:0;padding:9px 10px}
  .brand-calendar{max-width:100%;padding:13px 10px}
  .calendar-weekdays,.calendar-days{gap:2px}
  .calendar-day{min-height:36px;border-radius:7px;font-size:12px}
  .results{width:100%;padding-top:20px}
  .results-head{margin-bottom:17px}
  .results-head h1,.results-head h2{font-size:27px;line-height:1.2}
  .preference-fields{grid-template-columns:minmax(0,1fr)}
  .preference-dates,.preference-fields fieldset{grid-column:auto}
  .compare-tray{top:72px;gap:8px;padding:10px}
  .compare-tray button{min-width:0}
  .results .hotel-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .results .hotel-grid .hotel-head{padding:14px}
  .results .hotel-grid .rating-row{min-height:0}
  .results .hotel-grid .match{min-width:96px}
  .results .hotel-grid .hotel-name{overflow-wrap:anywhere}
  .hotel-secondary-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.55fr)}
  .hotel-secondary-actions button{width:100%;min-width:0}
  .destination-selector,.task-planner,.top-hotels,.popular-guides,.trust-section,.final-match-cta{width:calc(100% - 28px)}
  .destination-card-grid,.top-hotels-grid,.popular-guides-grid{grid-template-columns:minmax(0,1fr)}
  .top-hotel-card:nth-child(n){display:block}
  .top-hotel-copy{min-height:0}
  .site-footer{grid-template-columns:minmax(0,1fr);padding-right:18px;padding-left:18px}
  .footer-brand,.footer-links,.footer-links section{min-width:0}
  .footer-links{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px 18px}
  .footer-links a{overflow-wrap:anywhere}
}

@media(max-width:380px){
  .product-header{padding-inline:12px}
  .product-header .brand img{width:116px}
  .menu-trigger{padding-inline:10px}
  main{width:calc(100% - 22px)}
  .footer-links{grid-template-columns:minmax(0,1fr)}
  .hotel-secondary-actions{grid-template-columns:minmax(0,1fr)}
}

/* Hotel discovery fast track */
.hotel-search-hero{width:min(var(--dc-container),calc(100% - 48px));margin:0 auto;padding:58px 0 34px}
.hotel-search-copy{max-width:760px;margin-bottom:25px}
.hotel-search-copy h1{margin:9px 0 10px;color:var(--navy);font:700 clamp(32px,4.2vw,48px)/1.08 Poppins,Inter,sans-serif;letter-spacing:-.035em}
.hotel-search-copy p{max-width:700px;margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.fast-hotel-search{display:grid;grid-template-columns:minmax(180px,1.25fr) repeat(2,minmax(150px,1fr)) minmax(125px,.75fr) auto;align-items:end;gap:10px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 26px rgba(0,34,74,.055)}
.fast-hotel-search label{display:grid;gap:6px;color:var(--navy);font-size:12px;font-weight:800}.fast-hotel-search label small{color:var(--muted);font-size:10px;font-weight:600}
.fast-hotel-search select,.fast-hotel-search input{width:100%;min-width:0;min-height:46px;padding:9px 11px;border:1px solid #b9cbd2;border-radius:8px;background:#fff;color:var(--ink);font:500 14px Inter,sans-serif}
.fast-hotel-search select:focus,.fast-hotel-search input:focus{outline:3px solid rgba(32,183,196,.23);border-color:var(--teal)}
.fast-hotel-search button{min-height:46px;padding:9px 20px;border-radius:8px;background:#bd5700;color:#fff;white-space:nowrap}
.fast-hotel-search button:hover{background:#9f4800}.fast-hotel-search>p{grid-column:1/-1;min-height:0;margin:0;color:#9b351e;font-size:12px;font-weight:700}
.hotel-match-entry{display:inline-flex;min-height:44px;align-items:center;margin-top:10px;color:var(--teal);font-size:13px;font-weight:800;text-decoration:none}.hotel-match-entry:hover{text-decoration:underline}
.hotel-match-section{width:min(var(--dc-container),calc(100% - 48px));display:grid;grid-template-columns:minmax(240px,.8fr) minmax(460px,1.2fr);align-items:start;gap:52px;margin:0 auto 72px;padding:34px;border:1px solid #bdeae6;border-radius:14px;background:var(--seafoam)}
.hotel-match-intro h2{margin:7px 0 9px;color:var(--navy);font-size:clamp(26px,3vw,34px)}.hotel-match-intro p{margin:0;color:var(--muted);line-height:1.65}
.hotel-match-section .hotel-match-card{box-shadow:none}.hotel-match-section .privacy{margin-bottom:0}
.popular-spots-home{width:min(var(--dc-container),calc(100% - 48px));display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 auto 72px;padding:27px 30px;border:1px solid var(--line);background:#fff}
.popular-spots-home h2{margin:5px 0;color:var(--navy);font-size:28px}.popular-spots-home p{margin:0;color:var(--muted)}.popular-spots-home .guide-button{flex:0 0 auto}
.mobile-hotel-bar{display:none}
body.results-active .mobile-hotel-bar{display:none!important}

/* Hotel Match modal */
.product-nav>button.hotel-match-nav{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 15px;border:0;border-radius:9px;background:#bd5700;color:#fff;font:800 14px/1 Inter,sans-serif;white-space:nowrap}
.product-nav>button.hotel-match-nav:hover,.product-nav>button.hotel-match-nav:focus-visible{background:#9f4800;color:#fff;transform:none}
.hotel-match-entry{border:0;background:transparent;cursor:pointer}
.hotel-match-dialog{width:min(980px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:16px;background:#fff;box-shadow:0 26px 80px rgba(0,25,56,.3);overflow:hidden}
.hotel-match-dialog::backdrop{background:rgba(0,25,56,.68);backdrop-filter:blur(3px)}
.hotel-match-dialog-head{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px;border-bottom:1px solid var(--line);background:#fff}
.hotel-match-dialog-head span{display:block;color:var(--teal);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hotel-match-dialog-head h2{margin:2px 0 0;color:var(--navy);font:700 20px/1.25 Poppins,Inter,sans-serif}
.hotel-match-dialog .hotel-match-section{width:100%;max-height:calc(100dvh - 105px);grid-template-columns:minmax(210px,.7fr) minmax(420px,1.3fr);gap:30px;margin:0;padding:28px;border:0;border-radius:0;overflow-y:auto}
.hotel-match-dialog .hotel-match-intro h2{font-size:26px}
.hotel-match-dialog .hotel-match-card{padding:22px}
.hotel-match-dialog .privacy{font-size:11px}
body:has(.hotel-match-dialog[open]){overflow:hidden}

@media(max-width:860px){
 .product-nav>button.hotel-match-nav{width:100%;margin-top:7px}
 .hotel-match-dialog{width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 24px)}
 .hotel-match-dialog .hotel-match-section{max-height:calc(100dvh - 92px);grid-template-columns:1fr;gap:18px;padding:22px 18px}
 .hotel-match-dialog .hotel-match-intro h2{font-size:23px}
 .hotel-match-dialog .hotel-match-intro p{font-size:13px}
}
@media(max-width:600px){
 .hotel-match-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:13px}
 .hotel-match-dialog-head{padding:12px 14px}
 .hotel-match-dialog-head h2{font-size:18px}
 .hotel-match-dialog .hotel-match-section{width:100%;max-height:calc(100dvh - 75px);padding:16px 12px 22px}
 .hotel-match-dialog .hotel-match-intro{display:none}
 .hotel-match-dialog .hotel-match-card{padding:18px 14px}
}

@media(max-width:960px){
 .fast-hotel-search{grid-template-columns:1fr 1fr 1fr}.fast-hotel-search label:first-child{grid-column:1/3}.fast-hotel-search button{grid-column:3}.hotel-match-section{grid-template-columns:1fr;gap:24px}.hotel-match-intro{max-width:650px}
}
@media(max-width:700px){
 body{padding-bottom:70px}
 .hotel-search-hero{width:calc(100% - 28px);padding:30px 0 24px}.hotel-search-copy{margin-bottom:18px}.hotel-search-copy h1{font-size:clamp(29px,9vw,38px)}.hotel-search-copy p{font-size:14px}
 .fast-hotel-search{grid-template-columns:1fr 1fr;padding:14px;gap:10px}.fast-hotel-search label:first-child{grid-column:1/-1}.fast-hotel-search label:nth-child(4){grid-column:1}.fast-hotel-search button{grid-column:2;margin:0}.fast-hotel-search>p{grid-column:1/-1}
 .hotel-match-section{width:calc(100% - 28px);margin-bottom:52px;padding:22px 16px}.hotel-match-section .hotel-match-card{padding:20px 15px}
 .popular-spots-home{width:calc(100% - 28px);align-items:flex-start;flex-direction:column;margin-bottom:52px;padding:22px 18px}.popular-spots-home .guide-button{width:100%;text-align:center}
 .mobile-hotel-bar{position:fixed;z-index:60;right:0;bottom:0;left:0;display:grid;grid-template-columns:1.2fr .8fr;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.98);box-shadow:0 -7px 22px rgba(0,34,74,.1)}
 .mobile-hotel-bar a{display:flex;min-height:46px;align-items:center;justify-content:center;border:1px solid var(--teal);border-radius:8px;color:var(--teal);font-size:13px;font-weight:800;text-decoration:none}.mobile-hotel-bar .mobile-find-hotels{border-color:#bd5700;background:#bd5700;color:#fff}
 .site-footer{padding-bottom:84px}
}
@media(max-width:390px){.fast-hotel-search{grid-template-columns:1fr}.fast-hotel-search label,.fast-hotel-search label:first-child,.fast-hotel-search label:nth-child(4),.fast-hotel-search button{grid-column:auto}.fast-hotel-search button{width:100%}}

/* 2026-09-22 compact Hotel Match quiz, single-photo cards and navigation order */
.product-nav>a:first-child{order:initial}
.product-nav .hotel-match-nav{order:20}

.results .hotel-grid .hotel-gallery.single-photo{
 display:block;
 width:100%;
 height:auto;
 min-height:0;
 aspect-ratio:16/9;
 overflow:hidden;
 background:var(--cloud);
}
.results .hotel-grid .hotel-gallery.single-photo img{display:block;width:100%;height:100%;object-fit:cover}
.hotel-amenities,.hotel-review-summary{margin:0 0 12px;padding-top:11px;border-top:1px solid #eef1f2}
.hotel-amenities h3,.hotel-review-summary h3{margin:0 0 7px;color:var(--navy);font:700 13px/1.3 Inter,sans-serif}
.hotel-amenities ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.hotel-amenities li{padding:5px 8px;border:1px solid #d7e3e6;border-radius:7px;background:#f8fbfb;color:#3e5963;font-size:12px;line-height:1.25}
.hotel-review-summary p{margin:0;color:#536875;font-size:12px;line-height:1.45}

.hotel-match-dialog{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px)}
.hotel-match-dialog-head{padding:10px 16px}
.hotel-match-dialog-head h2{font-size:18px}
.hotel-match-dialog .hotel-match-section{
 display:block;
 width:100%;
 max-height:none;
 margin:0;
 padding:12px 16px 14px;
 overflow:hidden;
 background:#fff;
}
.hotel-match-dialog .hotel-match-intro{display:none}
.hotel-match-dialog .hotel-match-card{padding:14px 16px}
.hotel-match-dialog .quiz-product-title{margin-bottom:9px;padding-bottom:8px}
.hotel-match-dialog .progress-copy{margin-bottom:5px}
.hotel-match-dialog .track{margin-bottom:10px}
.hotel-match-dialog .question h2{margin-bottom:3px;font-size:20px;line-height:1.25}
.hotel-match-dialog .question>p{margin:0 0 8px;font-size:12px;line-height:1.4}
.hotel-match-dialog .options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.hotel-match-dialog .option{min-height:45px;padding:7px 10px;border-radius:9px;font-size:13px;line-height:1.25}
.hotel-match-dialog .option small{margin-top:2px;font-size:11px;line-height:1.25}
.hotel-match-dialog .actions{position:static;margin:10px 0 0;padding:9px 0 0;border-top:1px solid var(--line);background:#fff}
.hotel-match-dialog .actions button{min-height:42px;padding:8px 14px}
.hotel-match-dialog .hint{min-height:0;margin:5px 0 0;font-size:11px}
.hotel-match-dialog .privacy{margin:5px 0 0;font-size:10px}
.hotel-match-dialog .date-summary{margin:6px 0}
.hotel-match-dialog .date-instruction{margin:4px 0}
.hotel-match-dialog .brand-calendar{max-width:430px;margin:6px auto 0;padding:8px 10px;border-radius:10px}
.hotel-match-dialog .calendar-head{margin-bottom:5px}
.hotel-match-dialog .calendar-weekdays,.hotel-match-dialog .calendar-days{gap:2px}
.hotel-match-dialog .calendar-day{width:100%;height:32px;min-height:32px;aspect-ratio:auto;padding:0;border-radius:6px;font-size:11px}
.hotel-match-dialog .guest-fields{margin-top:7px;gap:8px}
.hotel-match-dialog .guest-fields select{min-height:38px;padding:6px 9px}

@media(max-width:600px){
 .hotel-match-dialog{width:calc(100% - 12px);max-height:calc(100dvh - 12px)}
 .hotel-match-dialog-head{padding:8px 12px}
 .hotel-match-dialog .hotel-match-section{max-height:none;padding:8px 9px 10px}
 .hotel-match-dialog .hotel-match-card{padding:11px 10px}
 .hotel-match-dialog .quiz-product-title{margin-bottom:7px;padding-bottom:6px}
 .hotel-match-dialog .question h2{font-size:18px}
 .hotel-match-dialog .options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .hotel-match-dialog .option{min-height:42px;padding:6px 8px;font-size:12px}
 .hotel-match-dialog .option small{font-size:10px}
 .hotel-match-dialog .actions{margin:8px 0 0;padding-top:7px}
 .hotel-match-dialog .brand-calendar{padding:6px}
 .hotel-match-dialog .calendar-day{height:29px;min-height:29px;aspect-ratio:auto}
 .results .hotel-grid .hotel-gallery.single-photo{height:auto;min-height:0;grid-template-rows:none}
}
@media(max-height:680px){
 .hotel-match-dialog .option small,.hotel-match-dialog .privacy{display:none}
 .hotel-match-dialog .option{min-height:38px}
 .hotel-match-dialog .calendar-day{height:25px;min-height:25px;aspect-ratio:auto}
 .hotel-match-dialog .date-summary{font-size:11px}
}

/* Hotel Match conversion and mobile-result refinements */
.dates-unknown-button{display:flex;width:100%;min-height:40px;align-items:center;justify-content:center;margin:10px 0 0;border:1px solid var(--teal);border-radius:6px;background:#fff;color:var(--teal);font-size:12px;font-weight:800}
.dates-unknown-button.selected{background:var(--seafoam);box-shadow:inset 3px 0 var(--teal);color:var(--navy)}
.match-reasons p{margin:5px 0 0;color:var(--ink);font-size:13px;line-height:1.55}
.results-more{grid-column:1/-1;display:flex;justify-content:center;padding:4px 0 8px}
.results-more button{min-height:44px;background:var(--navy);color:#fff}
.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.empty-actions button,.empty-actions a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;margin:0;padding:9px 16px;border-radius:7px;font-size:14px;font-weight:800;text-decoration:none}
.empty-actions a{background:#bd5700;color:#fff}
.preference-toggle{display:none}
.match-score-note{margin:0 0 12px;padding:9px 12px;border-left:3px solid var(--teal);background:#f3fbfb;color:#49616c;font-size:12px;line-height:1.45}
.hotel-match-dialog .date-question>.guest-fields{display:none}

@media(max-width:760px){
 .results-layout{display:flex;flex-direction:column}
 .results-content{order:1}
 .preference-sidebar{order:2;position:static}
 .preference-toggle{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--navy)}
 .preference-sidebar.mobile-collapsed .preference-sidebar-head,
 .preference-sidebar.mobile-collapsed form{display:none}
 .preference-sidebar.mobile-collapsed{padding:0;border:0;background:transparent}
 .empty-actions{align-items:stretch;flex-direction:column}
 .empty-actions button,.empty-actions a{width:100%}
}
@media(max-height:560px){
 .hotel-match-dialog .hotel-match-section{max-height:none;overflow:hidden}
 .hotel-match-dialog .calendar-day{height:22px;min-height:22px}
 .hotel-match-dialog .question>p,.hotel-match-dialog .date-instruction{display:none}
}

/* Compact split layout keeps every quiz step visible without scrolling. */
.hotel-match-dialog{width:min(900px,calc(100% - 24px))}
.hotel-match-dialog .quiz-product-title{display:none}
.hotel-match-dialog .date-question{
 display:grid;
 grid-template-columns:minmax(360px,1.25fr) minmax(210px,.75fr);
 grid-template-areas:
  "title title"
  "help help"
  "calendar summary"
  "calendar skip"
  "calendar instruction"
  "calendar guests";
 column-gap:18px;
 align-items:start;
}
.hotel-match-dialog .date-question>h2{grid-area:title}
.hotel-match-dialog .date-question>#questionHelp{grid-area:help}
.hotel-match-dialog .date-question>.brand-calendar{grid-area:calendar;width:100%;max-width:none;margin:4px 0 0}
.hotel-match-dialog .date-question>.date-summary{grid-area:summary;display:grid;grid-template-columns:1fr;gap:7px;margin:4px 0 0;padding:12px}
.hotel-match-dialog .date-question>.dates-unknown-button{grid-area:skip;margin-top:8px}
.hotel-match-dialog .date-question>.date-summary>span[aria-hidden]{display:none}
.hotel-match-dialog .date-question>.date-summary span{min-width:0}
.hotel-match-dialog .date-question>.date-instruction{grid-area:instruction;margin:9px 0 0;text-align:left}
.hotel-match-dialog .date-question>.guest-fields{grid-area:guests;grid-template-columns:1fr;margin:10px 0 0;gap:8px}
.hotel-match-dialog .date-question>.guest-fields label{gap:4px}
.hotel-match-dialog .date-question>.guest-fields select{width:100%}

@media(max-width:700px){
 .hotel-match-dialog .date-question{display:block}
 .hotel-match-dialog .date-question>.date-summary{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;padding:8px 10px}
 .hotel-match-dialog .date-question>.dates-unknown-button{margin-top:7px}
 .hotel-match-dialog .date-question>.date-summary>span[aria-hidden]{display:block}
 .hotel-match-dialog .date-question>.brand-calendar{margin-top:5px}
 .hotel-match-dialog .date-question>.guest-fields{grid-template-columns:1fr 1fr;margin-top:7px}
}
@media(max-height:680px){
 .hotel-match-dialog-head span{display:none}
 .hotel-match-dialog-head h2{margin:0}
 .hotel-match-dialog .hotel-match-section{padding-top:7px;padding-bottom:7px}
 .hotel-match-dialog .hotel-match-card{padding-top:9px;padding-bottom:9px}
 .hotel-match-dialog .track{margin-bottom:7px}
 .hotel-match-dialog .date-question>.date-summary{padding:7px 9px}
 .hotel-match-dialog .date-question>.brand-calendar{padding:5px 7px}
 .hotel-match-dialog .actions{margin-top:6px;padding-top:6px}
}

/* 16:9 Hotel Match visual experience */
.hotel-match-dialog[data-question="destination"]{--quiz-image:url('/assets/quiz/destination.webp')}
.hotel-match-dialog[data-question="budget"]{--quiz-image:url('/assets/quiz/budget.webp')}
.hotel-match-dialog[data-question="party"]{--quiz-image:url('/assets/quiz/travelers.webp')}
.hotel-match-dialog[data-question="priorities"]{--quiz-image:url('/assets/quiz/priorities.webp')}
.hotel-match-dialog[data-question="dates"]{--quiz-image:url('/assets/quiz/dates.webp')}
.hotel-match-dialog{
 width:min(960px,calc(100vw - 32px),calc(177.78dvh - 56.89px));
 height:auto;
 max-height:calc(100dvh - 32px);
 aspect-ratio:16/9;
 border-radius:12px;
 background:#fff;
 box-shadow:0 24px 70px rgba(0,34,74,.26);
}
.hotel-match-dialog-head{height:62px;padding:11px 18px;background:#fff}
.hotel-match-dialog-head h2{font-size:19px}
.hotel-match-dialog .hotel-match-section{
 display:grid;
 grid-template-columns:minmax(230px,.3fr) minmax(0,.7fr);
 width:100%;
 height:calc(100% - 62px);
 max-height:none;
 padding:0;
 overflow:hidden;
 background:#fff;
}
.hotel-match-dialog .hotel-match-intro{
 position:relative;
 isolation:isolate;
 display:flex;
 min-width:0;
 flex-direction:column;
 justify-content:flex-end;
 padding:26px 24px;
 overflow:hidden;
 background-image:linear-gradient(180deg,rgba(0,34,74,.03) 15%,rgba(0,34,74,.86) 100%),var(--quiz-image);
 background-position:center;
 background-size:cover;
 color:#fff;
}
.hotel-match-dialog .hotel-match-intro::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,rgba(0,141,163,.12),transparent 55%)}
.hotel-match-dialog .hotel-match-intro .eyebrow{color:#bff8f5;font-size:11px}
.hotel-match-dialog .hotel-match-intro h2{margin:8px 0 8px;color:#fff;font-size:25px;line-height:1.18;text-wrap:balance}
.hotel-match-dialog .hotel-match-intro p{margin:0;color:rgba(255,255,255,.9);font-size:12px;line-height:1.55}
.hotel-match-dialog .hotel-match-section>div:last-child{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:20px 24px}
.hotel-match-dialog .hotel-match-card{width:100%;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none}
.hotel-match-dialog .progress-copy{margin-bottom:6px;color:#607484;font-size:12px}
.hotel-match-dialog .track{height:5px;margin:0 0 17px;background:#e7f0f2}
.hotel-match-dialog .track i{background:linear-gradient(90deg,var(--teal),var(--aqua))}
.hotel-match-dialog .question h2{margin:0 0 4px;color:var(--navy);font-size:22px;line-height:1.22;text-wrap:balance}
.hotel-match-dialog .question>p{margin:0 0 14px;color:#617481;font-size:12px}
.hotel-match-dialog .options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.hotel-match-dialog .option{
 min-height:54px;
 padding:10px 13px;
 border:1px solid #d7e3e7;
 border-radius:8px;
 background:#fff;
 color:var(--navy);
 font-size:13px;
 line-height:1.3;
 box-shadow:0 2px 8px rgba(0,34,74,.035);
}
.hotel-match-dialog .option:hover{border-color:var(--teal);background:#f7fcfc;box-shadow:0 5px 14px rgba(0,141,163,.08)}
.hotel-match-dialog .option.selected{border-color:var(--teal);background:#e9f8f7;box-shadow:inset 3px 0 var(--teal)}
.hotel-match-dialog .option small{font-size:10px;line-height:1.3}
.hotel-match-dialog .actions{margin-top:14px;padding-top:12px;border-top:1px solid #edf2f4}
.hotel-match-dialog .actions button{min-height:44px;padding:9px 18px;border-radius:7px}
.hotel-match-dialog .privacy{margin:6px 0 0;color:#6a7d88;font-size:10px;text-align:center}
.hotel-match-dialog .brand-calendar{margin-top:4px;border-color:#d9e8eb;background:#fbfdfd}
.hotel-match-dialog .calendar-day{border-radius:5px}
.hotel-match-dialog .date-summary{border-radius:7px}
.hotel-match-dialog .dates-unknown-button{border-radius:7px}

@media(max-width:820px){
 .hotel-match-dialog{width:calc(100% - 18px);height:min(720px,calc(100dvh - 18px));max-height:calc(100dvh - 18px);aspect-ratio:auto}
 .hotel-match-dialog .hotel-match-section{display:grid;grid-template-columns:1fr;grid-template-rows:92px minmax(0,1fr)}
 .hotel-match-dialog .hotel-match-intro{display:flex;padding:15px 18px;background-position:center 42%}
 .hotel-match-dialog .hotel-match-intro h2{margin:3px 0 0;font-size:18px}
 .hotel-match-dialog .hotel-match-intro p{display:none}
 .hotel-match-dialog .hotel-match-section>div:last-child{justify-content:flex-start;padding:16px 18px;overflow:hidden}
 .hotel-match-dialog .date-question{display:block}
 .hotel-match-dialog .date-question>.date-summary{display:grid;grid-template-columns:1fr auto 1fr}
 .hotel-match-dialog .date-question>.date-summary>span[aria-hidden]{display:block}
 .hotel-match-dialog .date-question>.brand-calendar{max-width:430px;margin-inline:auto}
}
@media(max-width:520px){
 .hotel-match-dialog{width:calc(100% - 10px);height:calc(100dvh - 10px);max-height:calc(100dvh - 10px);border-radius:10px}
 .hotel-match-dialog-head{height:54px;padding:8px 12px}
 .hotel-match-dialog .hotel-match-section{height:calc(100% - 54px);grid-template-rows:76px minmax(0,1fr)}
 .hotel-match-dialog .hotel-match-intro{padding:10px 14px}
 .hotel-match-dialog .hotel-match-intro .eyebrow{font-size:9px}
 .hotel-match-dialog .hotel-match-intro h2{font-size:16px}
 .hotel-match-dialog .hotel-match-section>div:last-child{padding:12px 12px 10px}
 .hotel-match-dialog .question h2{font-size:19px}
 .hotel-match-dialog .question>p{margin-bottom:9px;font-size:11px}
 .hotel-match-dialog .options{gap:7px}
 .hotel-match-dialog .option{min-height:48px;padding:8px 10px;font-size:12px}
 .hotel-match-dialog .actions{margin-top:9px;padding-top:8px}
 .hotel-match-dialog .privacy{margin-top:4px}
}

/* 2026-09-25 UI action checklist */
.mobile-nav-priority{display:none!important}
.hotel-match-primary{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:10px;margin-top:20px;padding:11px 21px;border:0;border-radius:7px;background:#bd5700;color:#fff;font:800 15px/1 Inter,sans-serif;box-shadow:0 5px 14px rgba(189,87,0,.14)}
.hotel-match-primary:hover,.hotel-match-primary:focus-visible{background:#9f4800;transform:none}
.direct-search-label{margin:0 0 8px;color:var(--navy);font-size:13px;font-weight:800}
.match-definition{max-width:680px;margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.match-tradeoff{margin-top:7px!important;color:#60717b!important;font-size:11px!important}

.results .hotel-grid>.hotel{grid-template-rows:auto auto minmax(0,1fr)}
.results .hotel-grid>.hotel>.hotel-photo{overflow:hidden;background:var(--cloud)}
.results .hotel-grid>.hotel>.hotel-photo .hotel-gallery{aspect-ratio:16/9}
.results .hotel-grid .hotel-head{border-top:1px solid #eef1f2}
.results .hotel-grid .hotel-body{min-height:0}
.results .hotel-grid .hotel-review-summary{order:3}
.results .hotel-grid .hotel-action-footer{order:4}

@media(max-width:820px){
 .mobile-nav-priority{display:flex!important}
 .product-nav .hotel-match-nav{order:30}
}

/* Tools navigation and hotel-to-attraction distances */
.hotel-nearby-spots{padding:0 0 12px;border-bottom:1px solid #edf1f2}
.hotel-nearby-spots h3{margin:0 0 7px;color:var(--navy);font-size:13px}
.hotel-nearby-spots ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.hotel-nearby-spots li{display:flex;justify-content:space-between;gap:12px;color:#526975;font-size:11px}
.hotel-nearby-spots li b{flex:0 0 auto;color:var(--teal);font-weight:700}
.hotel-nearby-spots small{display:block;margin-top:7px;color:#73838c;font-size:9px;line-height:1.4}
@media(max-width:820px){.product-nav .tools-menu{order:-20}}
@media(max-width:600px){
 .hotel-search-copy h1{font-size:clamp(28px,8.6vw,36px)}
 .hotel-search-copy p{font-size:16px;line-height:1.55}
 .hotel-match-primary{width:100%;min-height:48px}
 .results .hotel-grid>.hotel{border-radius:10px}
}
