/* FamilyTrip trip workspace — consolidated 2026-09-25.
   Supersedes the separately loaded v7/v8/v9 trip styles. */

/* SOURCE: public/trip-discovery.css */
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#16243a;background:#f4f6f1;line-height:1.48;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:#16243a}.skip{position:absolute;top:-90px;left:10px;z-index:100;background:#fff;padding:14px}.skip:focus{top:10px}.mast{height:67px;padding:0 max(18px,calc((100% - 1320px)/2));display:flex;align-items:center;gap:24px;background:#16243a;color:#fff}.mast .logo{font-size:21px;font-weight:900;letter-spacing:-.035em}.mast a{color:#fff;text-decoration:none;font-weight:750}.mast span{flex:1;font-size:11px;letter-spacing:.18em;font-weight:850;opacity:.72}.mast>a:last-child{font-size:13px}.shell{max-width:1320px;margin:auto;padding:23px 25px 65px}.introduction{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:26px;align-items:center;margin:8px 0 24px}.eyebrow{font-size:11px;color:#ad6d24;letter-spacing:.17em;font-weight:900;text-transform:uppercase;margin:0 0 9px}.introduction h1{font-size:clamp(34px,4.6vw,58px);letter-spacing:-.06em;line-height:1.02;margin:0 0 14px}.introduction p:not(.eyebrow){max-width:610px;color:#5b6578;font-size:16px}.meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.meta span,.chip{border-radius:100px;background:#f6efe2;color:#7D5E2A;padding:7px 11px;font-size:12px;font-weight:750}.hero-photo{min-height:230px;position:relative;border-radius:22px;background:linear-gradient(130deg,#16243a,#16243A 55%,#b8b98c);overflow:hidden;background-position:center;background-size:cover;box-shadow:0 20px 35px #16243a13}.hero-photo:before{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#0c1424a8)}.photo-caption{position:absolute;bottom:12px;left:15px;right:15px;color:#fff;font-size:10px;text-shadow:0 1px 2px #0007}.journey{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:9px;background:white;border:1px solid #e3d8c3;border-radius:17px;margin:24px 0}.journey button{border:0;border-radius:11px;background:transparent;padding:12px 6px;color:#5b6578;font-size:13px;font-weight:750;min-height:54px;text-align:center}.journey button[aria-current=step]{background:#16243a;color:#fff}.journey button.done:not([aria-current]){background:#e8f3f1;color:#16243a}.journey button .num{display:inline-grid;place-items:center;width:23px;height:23px;border:1px solid currentColor;border-radius:50%;margin-right:5px;font-size:11px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.main,.side>section{background:#fff;border:1px solid #e3d8c3;border-radius:20px;box-shadow:0 10px 32px #16243a08}.main{padding:27px;min-width:0;min-height:360px}.side{display:grid;gap:13px;position:sticky;top:14px}.side>section{padding:20px}.side h2{font-size:17px;letter-spacing:-.025em;margin:0 0 9px}.side p{color:#5b6578;font-size:12px;line-height:1.6}.side .minor-button{display:block;margin-top:9px}.section-head{margin-bottom:19px}.section-head h2{font-size:clamp(27px,3vw,39px);line-height:1.12;letter-spacing:-.055em;margin:7px 0}.section-head p{max-width:690px;color:#5b6578;font-size:14px}.subhead{font-size:20px;letter-spacing:-.035em;margin:26px 0 13px}.label{display:block;font-size:12px;font-weight:850;margin-bottom:7px}.small{font-size:12px;color:#5b6578}.muted{color:#5b6578}.controls{border:1px solid #e3d8c3;background:#fbf7ef;border-radius:15px;padding:16px;margin:19px 0}.controls h3{margin:0 0 6px;font-size:17px}.slider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}.control{min-width:0}.control>div{display:flex;justify-content:space-between;gap:7px}.control label{font-size:12px;font-weight:780}.control output{font-size:12px;font-variant-numeric:tabular-nums;color:#16243a;font-weight:900}.control input{width:100%;accent-color:#16243A;min-height:25px}.control small{display:block;font-size:11px;color:#5b6578}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.hotel,.activity,.day,.checkout{border:1px solid #e3d8c3;border-radius:15px;padding:16px;background:#fff;position:relative;min-width:0}.hotel.selected,.activity.chosen{border-color:#16243A;background:#e8f3f1;box-shadow:inset 0 0 0 1px #16243A}.hotel h3,.activity h3{font-size:18px;margin:5px 0;letter-spacing:-.025em;line-height:1.22}.hotel p,.activity p{font-size:12px;color:#5b6578;line-height:1.55}.overline{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#5b6578}.reason{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.reason span{font-size:11px;color:#7D5E2A;background:#e8f3f1;border-radius:6px;padding:5px 7px}.question{font-size:11px!important;color:#8d6735!important}.hotel .button-row{margin-top:auto}.hotel{display:flex;flex-direction:column}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0}.primary,.secondary,.minor-button,.micro{border-radius:10px;padding:11px 15px;border:1px solid #e3d8c3;background:#e8f3f1;color:#16243a;font-size:13px;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px}.primary{background:#16243a;color:#fff;border-color:#16243a}.secondary{background:#fff}.micro{padding:7px 10px;min-height:33px;font-size:11px}.chosen{color:#16243a;font-size:12px;font-weight:850}.alerts{border-left:3px solid #ad7732;padding:10px 12px;margin:13px 0;background:#fff7ea;color:#735527;font-size:12px}.clear{background:#e8f3f1;border-left-color:#16243A;color:#7D5E2A}.filter-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:14px 0}.filter-row input,.filter-row select,.field-input{background:#fff;border:1px solid #e3d8c3;border-radius:10px;padding:12px;min-height:44px;font-size:14px}.filter-row input{flex:2;min-width:160px}.filter-row select{flex:1;min-width:135px}.activities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.activity{padding:0;overflow:hidden;display:flex;flex-direction:column}.activity-image{width:100%;height:118px;background:linear-gradient(130deg,#e3d8c3,#a9b4c6);background-size:cover;background-position:center}.activity-content{padding:13px;flex:1;display:flex;flex-direction:column}.activity .button-row{margin-top:auto}.activity-meta{font-size:11px;color:#2b3a52;font-weight:800}.activity strong{font-size:14px}.day{margin:13px 0;padding:17px}.day h3{margin:0 0 8px;font-size:19px}.stop{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #f6efe2}.stop:last-child{border-bottom:0}.stop strong{font-size:13px}.stop p{font-size:11px;color:#5b6578;margin:4px 0}.stop-actions{display:flex;gap:5px;flex-shrink:0}.stop-actions button{border:1px solid #cadaae;background:#fff;border-radius:7px;padding:5px 9px;min-width:32px}.food{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.food a{border:1px solid #e2e7da;background:#f9fbf4;padding:9px;border-radius:10px;text-decoration:none;font-size:11px;font-weight:800}.food a span{display:block;font-size:10px;color:#5b6578;font-weight:500}.map-links a,#partner-shortcuts a{display:block;color:#7D5E2A;padding:7px 0;font-size:12px;overflow-wrap:anywhere}.map-links a+a{border-top:1px solid #f6efe2}.actions{display:flex;justify-content:space-between;gap:12px;margin:23px 0 8px}.actions button{min-width:128px;padding:15px}.actions button:last-child{min-width:195px}.feedback{min-height:24px;color:#16243a;font-size:13px;font-weight:700}.bottom-notes{border-top:1px solid #e3d8c3;padding-top:20px;margin-top:23px;font-size:12px;color:#5b6578;line-height:1.65}.bottom-notes details{background:#f6efe2;padding:12px 16px;border-radius:12px}.bottom-notes summary{cursor:pointer;font-weight:850;color:#7D5E2A}.checkout-list{display:grid;gap:10px}.checkout{padding:18px}.checkout h3{margin:0 0 5px}.checkout a{margin:5px}.photo-credit{font-size:10px;line-height:1.35;color:#5b6578;text-decoration:none}.empty{padding:23px;background:#e8f3f1;border-radius:14px}.loading{padding:50px;text-align:center;color:#5b6578}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){.workspace{grid-template-columns:1fr}.side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.side .sidebar-actions{grid-column:1/-1}.introduction{grid-template-columns:1fr 240px}}@media(max-width:620px){.mast{padding:0 16px}.mast span{display:none}.mast>a:last-child{margin-left:auto}.shell{padding:15px 12px 50px}.introduction{grid-template-columns:1fr;gap:8px}.hero-photo{min-height:165px}.journey{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:5px}.journey button{min-height:55px;font-size:10px;padding:5px 1px}.journey .num{display:block;margin:0 auto 3px;width:20px;height:20px;line-height:18px}.main{padding:17px 13px}.side{grid-template-columns:1fr}.side .sidebar-actions{grid-column:auto}.slider-grid,.cards,.activities{grid-template-columns:1fr}.food{grid-template-columns:1fr}.actions{position:sticky;bottom:0;z-index:5;background:#f4f6f1;padding:10px 0}.actions button{flex:1;min-width:0!important;padding:12px 7px}.stop{align-items:flex-start}.stop-actions{flex-direction:column}.hero-photo:before{inset:30% 0 0}}@media print{.mast,.journey,.side,.actions,.bottom-notes{display:none}.workspace{display:block}.shell{padding:0}.main{border:0;box-shadow:none}.hero-photo{display:none}.cards,.activities{grid-template-columns:1fr}.day{break-inside:avoid}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* v5.5.1 trust, booking and mobile polish */
:where(a,button,input,select,summary):focus-visible{outline:3px solid #c6922d;outline-offset:3px}
.booking-confidence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px}
.booking-confidence span{background:#f6efe2;border:1px solid #e3d8c3;border-radius:12px;padding:11px;font-size:11px;color:#5b6578}
.booking-confidence strong{display:block;font-size:19px;color:#16243a}
.capture-card{background:linear-gradient(135deg,#fffaf0,#e8f3f1);border-color:#dfcfaa}
.capture-card h3{font-family:Georgia,'Times New Roman',serif;font-size:22px}
@media(max-width:620px){
 .journey{display:flex;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
 .journey button{flex:0 0 88px;scroll-snap-align:start}
 .button-row>a,.button-row>button,.minor-button,.primary,.secondary{min-height:44px}
 .actions{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
 .booking-confidence{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey{scroll-behavior:auto}}

/* v5.6 evaluation response */
.review-quickbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-8px 0 16px;padding:12px 14px;border:1px solid #e3d8c3;border-radius:14px;background:#fff}
.review-quickbar #review-action-status,.review-quickbar #save-trip-status{font-size:11px;color:#5b6578}
.kids-pick-panel,.park-playbooks,.longhaul-panel,.city-transfer,.city-chapter,.access-evidence{border:1px solid #e3d8c3;border-radius:15px;background:#fff;padding:16px;margin:14px 0}
.kids-pick-panel{background:linear-gradient(135deg,#fffaf1,#e8f3f1)}.kids-pick-panel h3,.park-playbook-head h3,.city-transfer h3,.city-chapter h3{margin:4px 0 6px}
.kids-pick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.kids-pick-grid button{min-height:100px;border:1px solid #e3d8c3;border-radius:12px;background:#fff;color:#16243a;padding:10px;text-align:left}.kids-pick-grid button[aria-pressed="true"]{border-color:#b88824;background:#fff6df;box-shadow:inset 0 0 0 1px #b88824}.kids-pick-grid button>span{font-size:22px;color:#b88824}.kids-pick-grid strong,.kids-pick-grid small{display:block;margin-top:4px}
.park-playbooks details{border-top:1px solid #e3d8c3;padding:11px 0}.park-playbooks summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px}.park-playbooks summary span{font-size:11px;color:#5b6578}
.ride-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.ride-grid article{background:#f6f8f3;border-radius:10px;padding:10px}.ride-grid article>*{display:block}.ride-grid span,.ride-grid small{font-size:11px;color:#5b6578;margin-top:3px}
.accessibility-alert{border-left-color:#356a8a;background:#eef6fb;color:#234d67}.access-evidence{padding:11px 13px;background:#fbf7ef}.access-evidence.verified{border-color:#3a9b8f;background:#e8f3f1}.access-evidence strong,.access-evidence span{display:block}.access-evidence span{margin-top:4px;font-size:11px;color:#5b6578}
.city-chapter{background:#16243a;color:#fff}.city-chapter .overline{color:#d8c07b}.city-chapter p{color:#e3d8c3;margin:4px 0}.city-transfer{border-style:dashed;background:#fffaf1}.longhaul-panel{display:grid;gap:6px;background:#eef4fb;border-color:#bfd1e4}.longhaul-panel span{font-size:12px;color:#49647a}.longhaul-checkout ul{padding-left:19px;color:#5b6578;font-size:12px}
.account-dialog{width:min(620px,calc(100% - 24px));border:0;border-radius:20px;padding:24px;box-shadow:0 26px 80px #0c142440}.account-dialog::backdrop{background:#0c142499}.account-heading,.account-member-bar,.account-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-heading h2{margin:3px 0}.account-eyebrow{font-size:10px;letter-spacing:.14em;font-weight:900;color:#9a7020}.account-heading>button{border:0;background:#f6efe2;color:#16243a;width:36px;height:36px;border-radius:50%}.account-login-form{display:grid;gap:8px;margin:15px 0}.account-login-form input{min-height:46px;border:1px solid #e3d8c3;border-radius:9px;padding:10px 12px}.account-privacy,.account-explainer,.account-status{font-size:12px;color:#5b6578}.account-trip-list{display:grid;gap:8px;margin-top:12px}.account-trip{display:flex;align-items:center;gap:8px;border:1px solid #e3d8c3;padding:10px;border-radius:10px}.account-trip>div:first-child{flex:1}.account-trip small{display:block;color:#5b6578}
@media(max-width:620px){.review-quickbar{position:sticky;top:0;z-index:12;margin:0 -4px 12px;border-radius:0 0 12px 12px}.review-quickbar button{flex:1 1 30%;min-width:105px}.journey button{flex-basis:104px;font-size:11px}.kids-pick-grid,.ride-grid{grid-template-columns:1fr 1fr}.park-playbooks summary{display:block}.introduction{margin-top:4px}}

.mast .logo{display:inline-flex;align-items:center;gap:8px}.mast .logo img{width:30px;height:30px;display:block}

.prebook-guide{margin:18px 0;padding:17px 20px;border:1px solid #e3d8c3;border-radius:14px;background:#e8f3f1;color:#16243a}.prebook-guide summary{cursor:pointer;font-size:1.05rem;font-weight:850}.prebook-guide>p{margin:10px 0;color:#5b6578;line-height:1.5}.prebook-guide ol{margin:12px 0 0;padding-left:24px}.prebook-guide li{padding:9px 0;border-bottom:1px solid #e3d8c3;line-height:1.45}.prebook-guide li strong{display:block;color:#16243a}.prebook-guide li span{display:block}.prebook-guide a{color:#16243a;font-weight:800}


/* SOURCE: public/trip-v3.css */
/* Readable overlays and honest comparisons; designed for mobile first. */
.hotel-area-map{min-height:145px;border:1px solid #e3d8c3;border-radius:15px;background:linear-gradient(135deg,#e8f3f1,#f4f8e8);padding:14px;margin:12px 0;display:grid;align-content:center;gap:8px}.hotel-area-map p{font-size:13px;line-height:1.45;margin:0}.hotel-area-map iframe{width:100%;height:280px;min-height:200px;border:0;border-radius:11px}.hotel-area-map button{min-height:44px;background:#16243a;color:white;border:0;border-radius:10px;font-weight:750;cursor:pointer}.comparison{overflow-x:auto;border:1px solid #e3d8c3;border-radius:14px;margin:18px 0 22px;background:#fff}.comparison table{border-collapse:collapse;width:100%;min-width:490px;font-size:13px}.comparison caption{text-align:left;padding:14px 16px;font-size:15px;font-weight:800}.comparison th,.comparison td{padding:10px 12px;text-align:left;border-bottom:1px solid #f6efe2;vertical-align:top}.comparison tbody th{max-width:180px;font-weight:650}.comparison thead{background:#e8f3f1}.comparison .unknown{color:#5b6578}.hotel .question{line-height:1.5}.hotel .button-row{margin-top:16px}.hotel>p.small:last-child{font-size:11px;color:#5b6578}.area-focus{background:#f6efe2;border:1px solid #e3d8c3;border-radius:14px;margin:12px 0;padding:16px}.area-focus label{font-weight:750;display:block;margin-bottom:8px}.area-focus select{display:block;width:100%;border:1px solid #a9b4c6;background:white;border-radius:10px;padding:12px;font:inherit}.area-focus p{margin:8px 0 0;font-size:12px;color:#5b6578;line-height:1.45}.day .pace{margin:12px 0;padding:12px 14px;border-left:4px solid #16243A;background:#e8f3f1;border-radius:5px;font-size:13px;line-height:1.5}.optional-experiences{border:1px solid #e9d8aa;border-radius:17px;background:#fffaf0;padding:18px;margin-top:20px}.optional-experiences h3{margin:0 0 8px}.optional-experiences article{padding:12px 0;border-top:1px solid #e8dcc0;display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.optional-experiences article:first-of-type{border-top:0}.optional-experiences small{display:block;margin-top:5px;color:#6c6757;line-height:1.4}.optional-experiences button{padding:10px 12px;border-radius:9px;border:1px solid #a9b4c6;background:white;color:#16243a;font-weight:700;cursor:pointer;min-height:40px}.aside .provider{margin:0 0 12px}.aside .provider p{margin:6px 0;font-size:12px}.aside .provider a{display:block}.aside #owner-offers h3{font-size:14px}.day .stop>div:first-child{min-width:0}.small-disclosure{font-size:12px;color:#5b6578;line-height:1.5}@media(max-width:760px){.comparison{margin-left:-8px;margin-right:-8px}.hotel-area-map iframe{height:235px}.optional-experiences article{align-items:flex-start}.optional-experiences button{width:100%}}@media(prefers-reduced-motion:reduce){.hotel-area-map *{transition:none!important}}

/* SOURCE: public/trip-explorer-v4.css */
/* FamilyTrip Explorer v4. All travel imagery is labelled editorial unless provider-verified. */
.ft-explorer-intro{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;margin:12px 0 18px;border:1px solid #e3d8c3;background:#e8f3f1;border-radius:16px}
.ft-explorer-intro strong{font-size:16px;color:#16243a}.ft-explorer-intro p{margin:4px 0 0;font-size:12px;line-height:1.5;color:#5b6578}.ft-explorer-intro .ft-badge{background:#fff;border:1px solid #a9b4c6;padding:9px 12px;border-radius:100px;font-size:12px;font-weight:800;white-space:nowrap}
.ft-hotel-card{overflow:hidden;padding-top:0!important;display:flex;flex-direction:column;gap:9px;position:relative;transition:border-color .15s,box-shadow .15s}.ft-hotel-card:hover{box-shadow:0 12px 32px #16243a12;border-color:#a9b4c6}.ft-hotel-card .ft-cover{height:165px;margin:0 -17px 5px;position:relative;background:linear-gradient(135deg,#b9e2da,#3a9b8f 48%,#a9b4c6);overflow:hidden;display:flex;align-items:flex-end}.ft-hotel-card .ft-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ft-hotel-card .ft-cover .ft-cover-label{position:relative;z-index:1;font-size:11px;letter-spacing:.02em;background:#16243add;color:white;max-width:95%;padding:8px 11px;border-radius:0 11px 0 0;line-height:1.3}.ft-hotel-card h3{font-size:clamp(19px,2.3vw,24px)!important;line-height:1.23;margin:3px 0}.ft-hotel-card .ft-visual-sub{color:#647467;font-size:12px;line-height:1.45}.ft-hotel-card .ft-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 6px}.ft-hotel-card .ft-metric{border:1px solid #e3d8c3;background:#fbf7ef;border-radius:11px;padding:10px;min-width:0}.ft-hotel-card .ft-metric span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#5b6578;margin-bottom:4px}.ft-hotel-card .ft-metric strong{display:block;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.ft-hotel-card .ft-metric[data-known="false"]{background:#fbf7ef;border-style:dashed}.ft-hotel-card .ft-metric[data-known="false"] strong{font-weight:550;color:#69796c}.ft-hotel-card .ft-why{font-size:12px;color:#5b6578;line-height:1.55}.ft-hotel-card .ft-details{border-top:1px solid #f6efe2;padding-top:9px;margin-top:3px}.ft-hotel-card .ft-details summary{cursor:pointer;font-weight:750;color:#7D5E2A;font-size:12px;min-height:28px}.ft-hotel-card .ft-details p{font-size:12px;color:#5b6578;line-height:1.5}.ft-hotel-card .button-row{margin-top:auto!important}.ft-hotel-card .ft-photos-link{display:inline-flex;align-items:center;gap:5px;border-radius:10px;padding:11px 13px;font-size:12px;font-weight:750;border:1px solid #e3d8c3;text-decoration:none;color:#16243a;background:#e8f3f1;align-self:flex-start}.ft-hotel-card .ft-photos-link:hover{background:#e8f3f1}.ft-hotel-card .ft-photo-disclosure{margin:0;font-size:11px;line-height:1.4;color:#5b6578}.ft-hotel-map{border:1px solid #e3d8c3;background:linear-gradient(110deg,#e8f3f1,#f3f9f8);border-radius:18px;padding:18px;margin:16px 0 21px}.ft-hotel-map h3{margin:0 0 5px;font-size:19px}.ft-hotel-map>p{font-size:12px;line-height:1.55;color:#5b6578;margin:0 0 12px}.ft-map-choices{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.ft-map-choices button{font:inherit;background:white;color:#16243a;border:1px solid #e3d8c3;border-radius:999px;padding:9px 11px;min-height:38px;cursor:pointer;font-size:12px;font-weight:750;text-align:left}.ft-map-choices button[aria-pressed="true"]{background:#16243a;color:white}.ft-hotel-map .ft-map-preview{min-height:150px;border:1px dashed #a9b4c6;background:linear-gradient(135deg,#b9e2da,#f6faf0);border-radius:13px;display:grid;place-content:center;padding:20px;text-align:center}.ft-hotel-map iframe{width:100%;height:325px;display:block;border:0;border-radius:12px}.ft-map-action{cursor:pointer;padding:12px 16px;border:0;border-radius:11px;background:#16243a;color:white;font-weight:800;min-height:44px}.ft-map-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px;font-size:12px}.ft-map-footer a{color:#7D5E2A;font-weight:800}.ft-area-input{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.ft-area-input input{min-width:210px;flex:1;border:1px solid #e3d8c3;border-radius:9px;font:inherit;padding:11px;background:white}.ft-area-input button{border:1px solid #e3d8c3;background:#16243a;color:white;border-radius:9px;font:inherit;padding:10px 13px;min-height:44px;font-weight:750;cursor:pointer}.ft-table-wrap{margin:14px 0}.ft-table-wrap summary{font-weight:800;font-size:13px;color:#16243a;cursor:pointer;padding:12px 15px;background:#f3f9f8;border:1px solid #e3d8c3;border-radius:11px}.ft-table-wrap .comparison{margin-top:8px}.ft-day-card{overflow:hidden;position:relative}.ft-day-visual{height:190px;margin:-20px -20px 18px;background:linear-gradient(120deg,#b9e2da,#b9e2da 48%,#a9b4c6);position:relative;overflow:hidden}.ft-day-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ft-day-visual span{position:absolute;top:12px;left:12px;background:#16243adc;color:#fff;padding:8px 12px;font-size:12px;font-weight:800;border-radius:9px}.ft-day-visual a{position:absolute;right:7px;bottom:7px;background:#fffffff0;color:#16243a;padding:6px 8px;font-size:10px;border-radius:8px;text-decoration:none}.ft-day-card .stop{position:relative;border-left:3px solid #e3d8c3;margin-left:5px;padding-left:15px}.ft-day-card .stop::before{content:"";position:absolute;width:9px;height:9px;left:-6px;top:20px;border-radius:50%;background:#16243A;border:2px solid white}.ft-day-card .food{gap:9px}.ft-day-card .food a{border-radius:12px;background:#fcfef9}.ft-day-card .ft-day-label{color:#2b3a52;background:#e8f3f1;padding:8px 11px;display:inline-flex;border-radius:10px;margin:7px 0;font-weight:750;font-size:12px}.ft-day-card .ft-day-note{font-size:12px;color:#5b6578;margin:5px 0 12px}.ft-hotel-card .overline{white-space:normal;line-height:1.4}.ft-hotel-card .ft-match-note{font-size:12px;color:#5b6578;line-height:1.4}.ft-hotel-map .ft-limit{font-size:11px;color:#68796e;line-height:1.5}
@media(max-width:760px){.ft-explorer-intro{padding:13px}.ft-hotel-card .ft-cover{height:150px}.ft-hotel-card .ft-metrics{gap:7px}.ft-hotel-map{padding:13px}.ft-hotel-map iframe{height:250px}.ft-map-choices{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.ft-map-choices button{flex:0 0 auto;max-width:190px}.ft-day-visual{height:140px;margin:-15px -15px 14px}.ft-area-input input{min-width:0;width:100%}.ft-area-input button{width:100%}}
@media(prefers-reduced-motion:reduce){.ft-hotel-card{transition:none}}


/* SOURCE: public/familytrip-review-art-direction.css */
/* Product workspace: keep the decision visible without a second landing page. */
body{background:#f8f9f5;color:#16243a}
.shell{max-width:1440px;padding:18px clamp(16px,3vw,42px) 60px}
.introduction{grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);gap:24px;margin:4px 0 14px;align-items:center}
.introduction h1{font-family:Fraunces,Georgia,serif;font-size:clamp(34px,3.3vw,48px);line-height:1.08;letter-spacing:-.045em;max-width:20ch;margin-bottom:8px}
.introduction p:not(.eyebrow){font-size:16px;line-height:1.45;margin:0 0 10px}
.introduction .eyebrow{font-size:12px;margin-bottom:7px}
.hero-photo{min-height:172px;max-height:195px;border-radius:16px;box-shadow:none}
.photo-caption{font-size:11px;line-height:1.35;bottom:9px;left:12px;right:12px;max-width:95%}
.review-quickbar{padding:9px 12px;margin:0 0 12px;border-radius:13px;gap:7px}
.review-quickbar .secondary,.review-quickbar summary{min-height:42px;padding:9px 13px;border-radius:9px;font-size:13px}
.review-more-tools{position:relative}
.review-more-tools summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;border:1px solid #e3d8c3;background:#fff;color:#16243a;font-weight:700}
.review-more-tools summary::-webkit-details-marker{display:none}
.review-more-tools summary:after{content:'⌄';font-size:16px;line-height:1}
.review-more-tools[open] summary{background:#f6efe2}
.review-more-tools-content{display:flex;gap:6px;flex-wrap:wrap;padding:8px 0 0}
.journey{margin:12px 0 16px;padding:6px;border-radius:13px}
.journey button{min-height:46px;padding:8px 6px;font-size:13px}
.workspace{grid-template-columns:minmax(0,1fr) minmax(260px,285px);gap:16px}
.main{padding:clamp(18px,2vw,26px)}
.side>section{padding:17px}
.main,.side>section{border-radius:16px}
.review-quickbar button:focus-visible,.review-quickbar a:focus-visible,.review-quickbar summary:focus-visible,.journey button:focus-visible{outline:3px solid #b67d2b;outline-offset:2px}
@media(max-width:850px){.introduction{grid-template-columns:1fr}.hero-photo{display:none}.workspace{grid-template-columns:1fr}.side{position:static}.review-quickbar .secondary,.review-quickbar summary{font-size:13px}}
@media(max-width:600px){.shell{padding:14px 12px 50px}.introduction h1{font-size:34px}.review-quickbar{padding:8px}.journey{gap:2px}.journey button{min-height:46px;font-size:11px;padding:6px 2px}.main{padding:18px}.review-more-tools-content{display:grid;grid-template-columns:1fr}}


/* SOURCE: public/trip-hotel-decision-v7.css */
/* FamilyTrip hotel decision view v7.
 * One evidence-aware shortlist replaces the duplicate comparison table and sliders. */
.hotel-intro{
  padding:clamp(20px,3vw,32px);
  border:1px solid #e3d8c3;
  border-radius:12px;
  background:linear-gradient(135deg,#e8f3f1 0%,#fff9ed 100%);
}
.hotel-intro h2,.hotel-decision-controls h3,.hotel-cards .hotel h3,.subhead{
  font-family:"Fraunces",Georgia,serif;
  letter-spacing:-.025em;
}
.hotel-intro>p:not(.eyebrow){max-width:70ch;font-size:15px;line-height:1.65;color:#2b3a52}
.trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.trust-row span{padding:6px 10px;border:1px solid #e3d8c3;border-radius:99px;background:#fff;color:#7D5E2A;font-size:11px;font-weight:800}

.hotel-decision-controls{
  margin-top:20px;
  padding:clamp(18px,2.5vw,26px);
  border:1px solid #e3d8c3;
  border-radius:12px;
  background:#fbfcf8;
}
.decision-toolbar{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(420px,1.5fr);gap:24px;align-items:start}
.decision-toolbar h3{margin:3px 0 7px;font-size:24px;color:#16243a}
.decision-toolbar p{margin:0;max-width:48ch;color:#5b6578;font-size:12px;line-height:1.55}
.decision-sort{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.decision-sort button{
  min-height:62px;
  padding:10px 12px;
  border:1px solid #e3d8c3;
  border-radius:10px;
  background:#fff;
  color:#16243a;
  text-align:left;
  font:800 12px/1.25 inherit;
  cursor:pointer;
}
.decision-sort button span{display:block;margin-top:5px;color:#5b6578;font-size:9px;font-weight:750;letter-spacing:.03em;text-transform:uppercase}
.decision-sort button:hover:not(:disabled),.decision-sort button:focus-visible:not(:disabled){border-color:#16243a;box-shadow:0 0 0 3px #e3d8c3;outline:0}
.decision-sort button[aria-pressed="true"]{border-color:#16243a;background:#16243a;color:#fff}
.decision-sort button[aria-pressed="true"] span{color:#e3d8c3}
.decision-sort button:disabled{cursor:not-allowed;background:#f6efe2;color:#829086;opacity:.72}
.budget-apply{margin-top:18px;padding-top:16px;border-top:1px solid #e3d8c3;display:grid;grid-template-columns:170px 1fr;gap:5px 14px;align-items:center}
.budget-apply label{font-size:12px;font-weight:850;color:#16243a}
.budget-apply>div{display:flex;align-items:center;gap:7px}
.budget-apply>div>span{font-weight:900;color:#7D5E2A}
.budget-apply input{width:112px;min-height:40px;border:1px solid #e3d8c3;border-radius:8px;padding:8px 10px;background:#fff;color:#16243a;font:800 14px inherit}
.budget-apply button{min-height:40px;border:1px solid #16243a;border-radius:8px;padding:8px 13px;background:#fff;color:#16243a;font-size:11px;font-weight:850;cursor:pointer}
.budget-apply button:hover,.budget-apply button:focus-visible{background:#16243a;color:#fff;outline:3px solid #e3d8c3;outline-offset:2px}
.budget-apply small{grid-column:2;color:#708174;font-size:10px}
.sort-result{margin:15px 0 0;padding:10px 12px;border-left:3px solid #bd8436;border-radius:0 8px 8px 0;background:#fff8ea;color:#5e4a2e;font-size:11px}

.hotel-source-note{display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:center;margin:14px 0 26px;padding:15px 17px;border:1px solid #e3d8c3;border-radius:10px;background:#e8f3f1;color:#2b3a52}
.hotel-source-note strong{font-family:"Fraunces",Georgia,serif;font-size:17px}
.hotel-source-note p{margin:0;max-width:78ch;font-size:11px;line-height:1.55}
.hotel-source-note a{grid-column:2;grid-row:1/3;display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border-radius:8px;background:#16243a;color:#fff;text-decoration:none;font-size:11px;font-weight:850}
.hotel-source-note a:hover,.hotel-source-note a:focus-visible{background:#16243a;outline:3px solid #e3d8c3;outline-offset:2px}

.subhead{margin:28px 0 14px;font-size:25px;color:#16243a}
.hotel-cards{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.hotel-cards>.hotel{
  position:relative;
  padding:clamp(18px,2.6vw,26px)!important;
  border:1px solid #e3d8c3!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(22,36,58,.055)!important;
}
.hotel-cards>.hotel:hover{transform:none!important;border-color:#a9b4c6!important;box-shadow:0 8px 25px rgba(22,36,58,.09)!important}
.hotel-cards>.hotel.selected{border:2px solid #16243A!important;background:linear-gradient(90deg,#e8f3f1,#fff 45%)!important}
.hotel-rank{display:flex;gap:13px;align-items:flex-start}
.hotel-rank>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#16243a;color:#fff;font-weight:900}
.hotel-rank h3{margin:1px 0 0;font-size:clamp(21px,2.4vw,28px);line-height:1.16;color:#16243a}
.hotel-source-badge{display:inline-flex;margin-top:8px;padding:4px 7px;border-radius:4px;font-size:9px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.hotel-source-badge.generated{background:#f6efe2;color:#5b6578}
.hotel-source-badge.owner{background:#fff0d8;color:#794c13}
.hotel-cards>.hotel>p:not(.rank-reason):not(.question){max-width:80ch;margin:14px 0;color:#2b3a52;font-size:13px;line-height:1.6}
.hotel-facts{display:grid;grid-template-columns:repeat(3,minmax(0,180px));gap:8px;margin:15px 0}
.hotel-facts div{padding:10px 11px;border:1px solid #e3d8c3;border-radius:8px;background:#f6efe2}
.hotel-facts dt{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#718074}
.hotel-facts dd{margin:4px 0 0;color:#16243a;font-size:12px;font-weight:850;overflow-wrap:anywhere}
.rank-reason{margin:14px 0 8px;padding:10px 12px;border-left:3px solid #bd8436;border-radius:0 8px 8px 0;background:#fff8ea!important;color:#5e4a2e!important;font-size:12px}
.reason{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.reason span{padding:5px 8px;border-radius:5px;background:#e8f3f1;color:#7D5E2A;font-size:10px}
.question{margin:9px 0!important;color:#5b6578!important;font-size:11px!important}
.hotel-cards .button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.hotel-cards .button-row button,.hotel-cards .button-row a{min-height:42px;border-radius:8px!important;padding:10px 13px!important;font-size:11px!important;font-weight:850!important}
.hotel-cards .button-row .affiliate-cta{background:#8b5b18!important;border-color:#8b5b18!important;color:#fff!important}
.hotel-cards .button-row .affiliate-cta:hover,.hotel-cards .button-row .affiliate-cta:focus-visible{background:#6f4510!important}
.hotel-research-link{border-color:#e3d8c3!important;background:#f3f9f8!important;color:#16243a!important}
.hotel-evidence-details{margin-top:16px;padding-top:13px;border-top:1px solid #e3d8c3;color:#2b3a52;font-size:11px}
.hotel-evidence-details summary{cursor:pointer;color:#16243a;font-weight:850}
.hotel-evidence-details p{margin:8px 0 0!important;font-size:11px!important;line-height:1.5!important}
.hotel-search-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;padding:14px 16px;border-radius:10px;background:#e8f3f1}
.hotel-search-footer span{font-size:10px;color:#647568}

@media(max-width:820px){
  .decision-toolbar{grid-template-columns:1fr}
  .decision-sort{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hotel-source-note{grid-template-columns:1fr}
  .hotel-source-note a{grid-column:1;grid-row:auto;justify-self:start;margin-top:7px}
}
@media(max-width:560px){
  .hotel-intro{padding:18px 15px}
  .decision-sort{grid-template-columns:1fr 1fr}
  .decision-sort button{min-height:56px;padding:8px 9px}
  .budget-apply{grid-template-columns:1fr}
  .budget-apply>div{align-items:stretch;flex-wrap:wrap}
  .budget-apply button{flex:1;min-width:190px}
  .budget-apply small{grid-column:1}
  .hotel-facts{grid-template-columns:1fr 1fr}
  .hotel-cards .button-row button,.hotel-cards .button-row a{width:100%;justify-content:center;text-align:center}
}
@media(prefers-reduced-motion:no-preference){.hotel-cards>.hotel{transition:border-color .18s ease,box-shadow .18s ease}}

.family-context{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:13px 16px;border:1px solid #e3d8c3;border-radius:10px;background:linear-gradient(100deg,#e8f3f1,#fffaf0);color:#7D5E2A}
.family-context strong{font-family:"Fraunces",Georgia,serif;font-size:16px}
.family-context span{font-size:11px;line-height:1.45;text-align:right}
.missing-evidence{margin-top:15px;padding:14px;border:1px solid #e3d8c3;border-radius:9px;background:#fff}
.missing-evidence strong{color:#16243a;font-size:12px}
.missing-evidence p{margin:4px 0 9px;color:#5b6578;font-size:10px}
.missing-evidence>div{display:flex;flex-wrap:wrap;gap:7px}
.missing-evidence a{min-height:36px;padding:8px 10px;border:1px solid #e3d8c3;border-radius:7px;background:#e8f3f1;color:#16243a;text-decoration:none;font-size:10px;font-weight:800}
.hotel-google-link,.hotel-booking-link,.hotel-tripadvisor-link{border-color:#e3d8c3!important;background:#f3f9f8!important;color:#16243a!important}
.activities.organised{display:block!important}
.activity-group{margin:0 0 28px}
.activity-group-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #e3d8c3}
.activity-group-heading h3{margin:0;color:#16243a;font:700 22px/1.2 "Fraunces",Georgia,serif}
.activity-group-heading span{color:#708174;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.activity-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.family-fit-reason{margin:12px 0!important;padding:10px 12px;border-left:3px solid #bd8436;border-radius:0 8px 8px 0;background:#fff8ea;color:#5d4b30!important;font-size:11px!important;line-height:1.5!important}
@media(max-width:700px){.family-context{align-items:flex-start;flex-direction:column}.family-context span{text-align:left}.activity-group-grid{grid-template-columns:1fr}}


/* SOURCE: public/trip-hotel-comparison-v8.css */
/* FamilyTrip visual hotel comparison v8 */
.hotel-intro+.ft-hotel-intro,.workspace .ft-hotel-comparison-map{display:none!important}
body:has(#hotel-shortlist-map) .workspace{grid-template-columns:minmax(0,1fr)!important}
body:has(#hotel-shortlist-map) aside.side{display:none!important}
.ota-hotel-card>.ft-cover,.ota-hotel-card>.ft-photo-disclosure,.ota-hotel-card>.ft-details,.ota-hotel-card .ft-metrics,.ota-hotel-card .ft-visual-sub,.ota-hotel-card .ft-photos-link{display:none!important}
.ota-hotel-card .rank-reason[hidden]{display:block!important}
.hotel-search-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:22px;overflow:hidden;border:1px solid #e3d8c3;border-radius:12px;background:#e3d8c3}
.hotel-search-summary>div{min-width:0;padding:12px 14px;background:rgba(255,255,255,.92)}
.hotel-search-summary span{display:block;margin-bottom:4px;color:#718074;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.hotel-search-summary strong{display:block;color:#16243a;font-size:12px;line-height:1.35;overflow-wrap:anywhere}

.hotel-weight-panel{margin-top:18px!important;padding:20px!important;border:1px solid #e3d8c3!important;border-radius:14px!important;background:#f3f9f8!important}
.weight-panel-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}
.weight-panel-heading h3{margin:3px 0 5px;color:#16243a;font:700 24px/1.15 "Fraunces",Georgia,serif}
.weight-panel-heading p{max-width:68ch;margin:0;color:#5b6578;font-size:11px;line-height:1.5}
.weight-panel-heading>button{min-height:36px;padding:7px 12px!important;font-size:10px!important}
.hotel-weight-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:12px;margin-top:18px}
.hotel-weight-grid label{display:block;padding:11px 12px;border:1px solid #e3d8c3;border-radius:10px;background:#fff}
.hotel-weight-grid label>span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#2b3a52;font-size:11px;font-weight:850}
.hotel-weight-grid output{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#16243a;color:#fff;font-size:10px}
.hotel-weight-grid input{width:100%;margin-top:10px;accent-color:#16243a;cursor:pointer}
.budget-inline{display:flex;align-items:center;gap:14px;margin-top:13px;padding-top:13px;border-top:1px solid #e3d8c3}
.budget-inline label{color:#2b3a52;font-size:11px;font-weight:850}
.budget-inline input{width:96px;min-height:38px;margin-left:2px;padding:7px 9px;border:1px solid #e3d8c3;border-radius:8px;background:#fff;color:#16243a;font:800 13px inherit}
.budget-inline small{color:#748277;font-size:9px}

.hotel-shortlist-help{margin:-7px 0 15px;color:#5b6578;font-size:11px}
.hotel-results-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:18px;align-items:start}
.hotel-results-layout .hotel-cards{gap:18px!important}
.hotel-cards>.ota-hotel-card{display:grid!important;grid-template-columns:minmax(190px,.62fr) minmax(0,1.38fr);overflow:hidden;padding:0!important;border-radius:15px!important;box-shadow:0 10px 30px rgba(22,36,58,.08)!important;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease!important}
.hotel-cards>.ota-hotel-card:hover{transform:translateY(-2px)!important;box-shadow:0 14px 34px rgba(22,36,58,.13)!important}
.hotel-cards>.ota-hotel-card.map-highlight,.hotel-cards>.ota-hotel-card.is-comparing{border-color:#b8802f!important;box-shadow:0 0 0 3px #f7e7c6,0 14px 34px rgba(22,36,58,.12)!important}
.hotel-media{position:relative;min-height:100%;background:#f6efe2}
.hotel-media>img{display:block;width:100%;height:100%;min-height:470px;object-fit:cover}
.media-badge{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:99px;background:rgba(12,20,36,.88);color:#fff;font-size:9px;font-weight:850}
.hotel-media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:470px;padding:24px;text-align:center;background:radial-gradient(circle at 25% 20%,#fff8e9 0 13%,transparent 14%),linear-gradient(145deg,#f6efe2,#f7f3e9)}
.hotel-media-placeholder:before{content:"";position:absolute;inset:16px;border:1px solid rgba(35,102,95,.16);border-radius:12px}
.hotel-building{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:#16243a;color:#fff;font-size:31px;box-shadow:0 8px 22px rgba(22,36,58,.2)}
.hotel-media-placeholder strong{position:relative;max-width:210px;color:#16243a;font:700 18px/1.15 "Fraunces",Georgia,serif}
.hotel-media-placeholder>span:not(.hotel-building){position:relative;color:#5b6578;font-size:10px}
.hotel-media-placeholder>div{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}
.hotel-photo-link{padding:7px 9px!important;border:1px solid #e3d8c3!important;border-radius:7px!important;background:#fff!important;color:#16243a!important;font-size:9px!important;text-decoration:none}
.ota-hotel-content{min-width:0;padding:20px}
.ota-hotel-card .hotel-rank{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:start}
.ota-hotel-card .hotel-rank h3{font-size:clamp(21px,2vw,27px)}
.compare-toggle{min-height:34px;padding:7px 9px;border:1px solid #e3d8c3;border-radius:8px;background:#fff;color:#16243a;font-size:9px;font-weight:850;cursor:pointer}
.compare-toggle[aria-pressed="true"]{border-color:#b8802f;background:#fff4de;color:#744914}
.family-hotel-reason{margin:13px 0!important;padding:10px 12px;border-left:3px solid #16243A;border-radius:0 8px 8px 0;background:#e8f3f1!important;color:#2b3a52!important;font-size:11px!important;line-height:1.5!important}
.ota-price-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;padding:12px 13px;border:1px solid #e3d8c3;border-radius:10px;background:#fbfcf8}
.ota-price-row span,.ota-price-row small{display:block;color:#718075;font-size:9px}
.ota-price-row strong{display:block;margin:2px 0;color:#16243a;font:700 20px/1.15 "Fraunces",Georgia,serif}
.availability-badge{flex:0 0 auto;padding:6px 8px;border-radius:99px;background:#fff0dc;color:#8a511d!important;font-weight:850}
.ota-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ota-fact{min-width:0;padding:9px 10px;border:1px dashed #e3d8c3;border-radius:8px;background:#fbfcf9}
.ota-fact.verified{border-style:solid;background:#e8f3f1}
.ota-fact span{display:block;color:#738176;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.ota-fact strong{display:block;margin-top:4px;color:#16243a;font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.ota-hotel-card .rank-reason{margin-top:12px!important}
.family-checklist{margin-top:10px;border-top:1px solid #e3d8c3;padding-top:9px;color:#5b6578;font-size:10px}
.family-checklist summary{cursor:pointer;color:#16243a;font-weight:850}
.family-checklist ul{margin:8px 0 0;padding-left:18px;line-height:1.6}
.ota-hotel-card .button-row{margin-top:12px}
.ota-hotel-card .button-row a,.ota-hotel-card .button-row button{min-height:38px!important;padding:8px 10px!important;font-size:9px!important}

.shortlist-map-card{position:sticky;top:16px;padding:16px;border:1px solid #e3d8c3;border-radius:15px;background:#fff;box-shadow:0 10px 30px rgba(22,36,58,.09)}
.map-card-heading{display:flex;align-items:start;justify-content:space-between;gap:10px}
.map-card-heading h3{margin:3px 0 0;color:#16243a;font:700 20px/1.15 "Fraunces",Georgia,serif}
.map-state{flex:0 0 auto;padding:5px 7px;border-radius:99px;background:#f6efe2;color:#5b6578;font-size:8px;font-weight:850}
.shortlist-map-card>p{color:#5b6578;font-size:10px;line-height:1.5}
.hotel-shortlist-map{height:330px;overflow:hidden;border:1px solid #e3d8c3;border-radius:12px;background:#f6efe2;isolation:isolate}
.map-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;height:100%;padding:30px;text-align:center;background:radial-gradient(circle at 70% 15%,#fff7e8 0 13%,transparent 14%),linear-gradient(145deg,#f6efe2,#f6efe2)}
.map-empty:before{content:"⌖";display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#16243a;color:#fff;font-size:25px}
.map-empty strong{color:#16243a;font-family:"Fraunces",Georgia,serif;font-size:17px}
.map-empty span{color:#5b6578;font-size:10px;line-height:1.45}
.map-empty.error:before{content:"!";background:#9b5d1e}
.map-hotel-list{display:grid;gap:5px;margin:10px 0}
.map-hotel-list button{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;align-items:center;width:100%;padding:7px;border:0;border-radius:8px;background:#f6efe2;color:#16243a;text-align:left;cursor:pointer}
.map-hotel-list button:hover,.map-hotel-list button:focus-visible{background:#f6efe2;outline:2px solid #e3d8c3}
.map-hotel-list button>span,.hotel-map-pin{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#16243a;color:#fff;font-size:10px;font-weight:900}
.map-hotel-list strong{display:block;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.map-hotel-list small{display:block;margin-top:2px;overflow:hidden;color:#78877b;font-size:7px;text-overflow:ellipsis;white-space:nowrap}
.verify-map{width:100%;min-height:42px!important;font-size:10px!important}
.verified-map-link{display:flex!important;justify-content:center;margin-top:7px;min-height:36px!important;padding:8px!important;font-size:9px!important}
.map-disclosure{margin:8px 0 0!important;text-align:center;font-size:8px!important}
.hotel-pin-wrap{background:transparent!important;border:0!important}
.hotel-map-pin{width:36px;height:36px;border:3px solid #fff;box-shadow:0 3px 11px rgba(0,0,0,.3);font-size:13px}
.leaflet-popup-content{font:11px/1.45 system-ui,sans-serif;color:#16243a}

.hotel-compare-tray{margin-top:20px;padding:18px;border:1px solid #e3d8c3;border-radius:14px;background:#f8faf5;box-shadow:0 9px 25px rgba(22,36,58,.06)}
.compare-tray-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}
.compare-tray-heading h3{margin:3px 0;color:#16243a;font:700 22px/1.15 "Fraunces",Georgia,serif}
.compare-tray-heading button{border:0;background:transparent;color:#5b6578;font-size:10px;text-decoration:underline;cursor:pointer}
.visual-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.visual-compare-grid article{position:relative;padding:14px;border:1px solid #e3d8c3;border-radius:10px;background:#fff}
.visual-compare-grid h4{margin:0 30px 10px 0;color:#16243a;font:700 17px/1.2 "Fraunces",Georgia,serif}
.compare-number{position:absolute;right:11px;top:11px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#16243a;color:#fff;font-size:9px;font-weight:900}
.visual-compare-grid dl{margin:0 0 12px}
.visual-compare-grid dl>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #f6efe2;font-size:9px}
.visual-compare-grid dt{color:#718075}.visual-compare-grid dd{margin:0;color:#2b3a52;font-weight:800;text-align:right}

@media(max-width:1150px){
  .hotel-results-layout{grid-template-columns:1fr}
  .shortlist-map-card{position:relative;top:auto;order:-1}
  .hotel-shortlist-map{height:360px}
  .map-hotel-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .hotel-search-summary{grid-template-columns:1fr 1fr}
  .hotel-weight-grid{grid-template-columns:1fr 1fr}
  .hotel-cards>.ota-hotel-card{grid-template-columns:1fr}
  .hotel-media,.hotel-media-placeholder{min-height:220px}
  .hotel-media>img{min-height:220px;max-height:280px}
  .visual-compare-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .hotel-weight-panel{padding:15px!important}
  .weight-panel-heading{align-items:flex-start}
  .hotel-weight-grid{gap:7px}
  .hotel-weight-grid label{padding:9px}
  .budget-inline{align-items:flex-start;flex-direction:column}
  .ota-hotel-content{padding:15px}
  .ota-hotel-card .hotel-rank{grid-template-columns:30px minmax(0,1fr)}
  .ota-hotel-card .hotel-rank>span{width:30px;height:30px;flex-basis:30px}
  .compare-toggle{grid-column:2;justify-self:start}
  .ota-facts{grid-template-columns:1fr 1fr}
  .map-hotel-list{grid-template-columns:1fr}
  .hotel-shortlist-map{height:290px}
}
@media(prefers-reduced-motion:reduce){.hotel-cards>.ota-hotel-card{transition:none!important}}


/* SOURCE: public/trip-hotel-comparison-v9.css */
/* FamilyTrip stay decision workspace v9 */
body:has(.stay-v9) .workspace{grid-template-columns:minmax(0,1fr)!important}
body:has(.stay-v9) aside.side{display:none!important}
.stay-v9{max-width:1240px;margin:0 auto;color:#16243a}
.stay-heading{padding:28px;border:1px solid #e3d8c3;border-radius:18px;background:linear-gradient(135deg,#fffdf7,#e8f3f1)}
.stay-heading h2{max-width:820px;margin:6px 0 10px;font:700 clamp(2rem,4vw,3.35rem)/1.02 "Fraunces",Georgia,serif;letter-spacing:-.035em}
.stay-heading p{max-width:760px;margin:0;color:#5b6578;font-size:1rem;line-height:1.55}
.stay-trip-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:22px;overflow:hidden;border:1px solid #e3d8c3;border-radius:12px;background:#e3d8c3}
.stay-trip-summary span{padding:13px 15px;background:#fff;color:#16243a;font-size:.9rem;font-weight:750}
.stay-v9>.label,.stay-v9>.field-input{display:block;margin-top:18px}
.stay-controls{margin-top:18px;padding:22px;border:1px solid #e3d8c3;border-radius:16px;background:#fbf7ef;box-shadow:0 8px 26px rgba(22,36,58,.05)}
.stay-focus{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:16px}
.stay-focus label{font-size:.96rem;font-weight:850}
.stay-focus select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #e3d8c3;border-radius:10px;background:#fff;color:#16243a;font-size:1rem}
.stay-slider-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin-top:18px}
.stay-slider-grid label{display:block;padding:13px;border:1px solid #e3d8c3;border-radius:12px;background:#fff}
.stay-slider-grid label>span{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.9rem;font-weight:850}
.stay-slider-grid output{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#16243a;color:#fff;font-size:.82rem}
.stay-slider-grid input{width:100%;margin-top:12px;accent-color:#16243A;cursor:pointer}
.stay-budget{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid #e3d8c3}
.stay-budget label{font-size:.9rem;font-weight:800}
.stay-budget input{width:110px;min-height:42px;margin-left:5px;padding:8px 10px;border:1px solid #e3d8c3;border-radius:9px;background:#fff;font:800 1rem inherit}
#stay-rank-status{margin:14px 0 0;padding:11px 13px;border-left:3px solid #c28a35;background:#fff7e9;color:#5f4b2d;font-size:.9rem;line-height:1.45}
.stay-top-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.stay-choice{min-width:0;overflow:hidden;padding:24px;border:1px solid #e3d8c3;border-radius:17px;background:#fff;box-shadow:0 12px 34px rgba(22,36,58,.08)}
.stay-photo{margin:-24px -24px 20px;overflow:hidden;background:#f6efe2;border-bottom:1px solid #e3d8c3}.stay-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.stay-photo figcaption{padding:8px 12px;color:#5b6578;background:#fff;font-size:.78rem;line-height:1.35;border-top:1px solid #e3d8c3}.stay-photo-placeholder{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:28px;text-align:center;color:#607067}.stay-photo-placeholder span{font-size:2.5rem;line-height:1}.stay-photo-placeholder strong{color:#2b3a52}.stay-photo-placeholder small{max-width:28rem}.stay-choice.winner .stay-photo,.stay-choice.alternative .stay-photo{border-top:0}
.stay-choice.winner{border-top:6px solid #16243a}.stay-choice.alternative{border-top:6px solid #c08a37}
.stay-choice-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.stay-choice-top>div{display:flex;align-items:center;gap:9px}
.stay-rank{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#16243a;color:#fff;font-weight:900}
.stay-choice h3{margin:15px 0 12px;color:#16243a;font:700 clamp(1.65rem,3vw,2.35rem)/1.08 "Fraunces",Georgia,serif;letter-spacing:-.025em;overflow-wrap:anywhere}
.exact-match,.research-match{flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:.72rem;font-weight:850}
.exact-match{background:#fff0d7;color:#80500e}.research-match{background:#e8f3f1;color:#7D5E2A}
.selection-reason,.tradeoff{margin:10px 0;padding:12px 14px;border-radius:10px;font-size:.95rem;line-height:1.5}
.selection-reason{background:#e8f3f1;color:#2b3a52}.tradeoff{background:#fff7e8;color:#654b24}
.stay-price{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 14px;margin:16px 0;padding:14px 15px;border:1px solid #e3d8c3;border-radius:12px;background:#fbfcf9}
.stay-price span,.stay-price small{color:#67776c;font-size:.8rem}.stay-price small{grid-column:1/-1}.stay-price strong{color:#16243a;font:700 1.55rem/1.1 "Fraunces",Georgia,serif;text-align:right}
.stay-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.stay-fact{min-width:0;padding:11px 12px;border:1px dashed #e3d8c3;border-radius:10px;background:#f3f9f8}
.stay-fact.known{border-style:solid;background:#e8f3f1}
.stay-fact span{display:block;color:#6b7b70;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.stay-fact strong{display:block;margin-top:5px;color:#16243a;font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}
.stay-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}
.stay-actions a,.stay-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 12px!important;border-radius:9px!important;font-size:.82rem!important}
.stay-disclosure{margin:14px 0 0;color:#6b7b70;font-size:.78rem;line-height:1.5}
.stay-other{margin-top:16px;border:1px solid #e3d8c3;border-radius:13px;background:#fbf7ef}
.stay-other summary{padding:14px 16px;cursor:pointer;font-size:.9rem;font-weight:850}
.stay-alternatives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 14px 14px}
.stay-alternatives>div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:4px 9px;padding:12px;border-radius:10px;background:#fff}
.stay-alternatives span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f6efe2;font-size:.78rem;font-weight:900}
.stay-alternatives strong{font-size:.9rem}.stay-alternatives small{color:#65766a;font-size:.78rem;line-height:1.35}
.stay-shared-map{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:0;margin-top:22px;overflow:hidden;border:1px solid #e3d8c3;border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(22,36,58,.07)}
.stay-map-copy{padding:24px;background:#f3f9f8}
.stay-map-copy h3{margin:7px 0 10px;font:700 1.8rem/1.12 "Fraunces",Georgia,serif}
.stay-map-copy p{color:#5b6578;font-size:.9rem;line-height:1.5}.stay-map-copy button{width:100%;margin-top:10px}
#stay-map-v9{min-height:390px;background:#f6efe2}
.stay-map-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;min-height:390px;padding:34px;text-align:center;background:linear-gradient(145deg,#f6efe2,#fff7e8)}
.stay-map-empty:before{content:"⌖";display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#16243a;color:#fff;font-size:1.7rem}
.stay-map-empty.error:before{content:"!";background:#9b5d1e}.stay-map-empty strong{font:700 1.3rem "Fraunces",Georgia,serif}.stay-map-empty span{max-width:55ch;color:#5b6578;font-size:.9rem;line-height:1.5}.stay-map-empty a{color:#16243a;font-weight:800}
.stay-pin-shell{background:transparent!important;border:0!important}.stay-pin{display:grid;place-items:center;width:38px;height:38px;border:3px solid #fff;border-radius:50%;background:#16243a;color:#fff;box-shadow:0 3px 11px rgba(0,0,0,.3);font-size:.9rem;font-weight:900}
.stay-more{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:16px 18px;border-radius:13px;background:#e8f3f1}
@media(max-width:900px){.stay-slider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-top-two,.stay-shared-map{grid-template-columns:1fr}.stay-shared-map{gap:0}.stay-map-copy{order:1}#stay-map-v9{order:2}.stay-trip-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.stay-heading,.stay-controls,.stay-choice{padding:18px}.stay-photo{margin:-18px -18px 18px}.stay-focus{grid-template-columns:1fr}.stay-budget,.stay-more{align-items:stretch;flex-direction:column}.stay-top-two{grid-template-columns:1fr}.stay-slider-grid{grid-template-columns:1fr 1fr}.stay-facts{grid-template-columns:1fr}.stay-trip-summary,.stay-alternatives{grid-template-columns:1fr}.stay-choice-top{align-items:flex-start;flex-direction:column}.stay-actions a,.stay-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.stay-choice{scroll-behavior:auto}}

.stay-slider-scale{display:flex;justify-content:space-between;gap:6px;margin-top:4px;color:#5b6578;font-size:.69rem;font-weight:700;line-height:1.25}.stay-weight-explainer{margin:13px 0 0;color:#2b3a52;font-size:.86rem;line-height:1.5}


/* CANONICAL POLISH */
/* ---------- TRIP BUILDER: same brand, less dashboard noise ---------- */
.mast{
  background:var(--ft-ink);
  min-height:68px;
}
.mast .logo{font-family:var(--ft-serif);font-weight:650;letter-spacing:-.02em}
.introduction h1,.section-head h2,.subhead,.side h2{font-family:var(--ft-serif)}
.introduction h1{font-weight:430!important;letter-spacing:-.04em!important}
.review-quickbar{box-shadow:none!important}
.journey{box-shadow:none}
.journey button[aria-current=step]{background:var(--ft-ink)}
.journey button.done:not([aria-current]){background:#f6efe2}

.stay-v9{font-family:var(--ft-ui)}
.stay-v9 .stay-heading{
  border-radius:20px;
  background:linear-gradient(135deg,#fffefa 0%,#f6efe2 100%);
  box-shadow:none;
}
.stay-v9 .stay-heading h2,
.stay-v9 .stay-map-copy h3,
.stay-v9 .stay-choice h3{font-family:var(--ft-serif);font-weight:500}
.stay-v9 .stay-trip-summary{border-radius:11px}
.stay-v9 .stay-trip-summary span{font-size:.82rem}
.stay-v9 .stay-controls{border-radius:16px;box-shadow:none}
.stay-v9 .stay-slider-grid{gap:10px}
.stay-v9 .stay-slider-grid label{box-shadow:none}
.stay-v9 .stay-slider-grid label>span{font-size:.82rem}
.stay-v9 .stay-slider-scale{color:#687a70;font-size:.64rem}
.stay-v9 .stay-weight-explainer{
  max-width:90ch;
  padding:10px 12px;
  border-left:3px solid #d2b367;
  background:#fffaf0;
}
.stay-v9 .stay-top-two{gap:16px}
.stay-v9 .stay-choice{
  position:relative;
  border-radius:19px;
  box-shadow:0 7px 24px rgba(12,20,36,.055);
}
.stay-v9 .stay-choice.winner{border-top:6px solid var(--ft-ink)}
.stay-v9 .stay-choice.alternative{border-top:6px solid var(--ft-gold)}
.stay-v9 .stay-choice.winner::after{
  content:"BEST FIT FOR YOUR CURRENT PRIORITIES";
  position:absolute;
  top:12px;
  right:14px;
  z-index:3;
  padding:5px 8px;
  border-radius:999px;
  background:#0c1424e8;
  color:#fff;
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.05em;
}
.stay-v9 .selection-reason{background:#f6efe2}
.stay-v9 .tradeoff{background:#fff8ea}
.stay-v9 .stay-actions .primary{background:var(--ft-ink);border-color:var(--ft-ink)}
.stay-v9 .stay-actions .secondary{background:#fff}
.stay-v9 .stay-other{background:#fafbf8}
.stay-v9 .stay-shared-map{border-radius:19px;box-shadow:0 7px 24px rgba(12,20,36,.05)}
.stay-v9 .stay-map-copy{background:#f6efe2}
.stay-v9 #stay-map-v9{min-height:410px}
.stay-v9 .map-disclosure,
.stay-v9 .stay-disclosure{color:#6b7b71}
.bottom-notes{color:#6c7a72}
.bottom-notes details{background:#f6efe2}

/* Calm secondary information until the user asks for it. */
.stay-v9 .stay-fact:not(.known){background:#fbf7ef;color:#6b796f}
.stay-v9 .stay-more{background:#f6efe2}


/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .home-only .familytrip-outcome,.home-only .familytrip-outcome:nth-child(n+4){grid-column:span 6}
  .stay-v9 .stay-choice.winner::after{position:static;display:inline-flex;margin-bottom:8px}
}
@media(max-width:720px){
  .home-only .familytrip-outcomes-grid{grid-template-columns:1fr}
  .home-only .familytrip-outcome,.home-only .familytrip-outcome:nth-child(n+4){grid-column:auto;min-height:0}
  .home-only .familytrip-path{justify-content:flex-start}
  .home-only .hero-actions{align-items:stretch}
  .home-only .hero-actions .btn-primary,.home-only .hero-actions .btn-ghost{width:100%}
  .home-only .hero-actions .btn-ghost:nth-of-type(3){width:auto;align-self:flex-start}
}
@media(max-width:620px){
  body.planner-mode .card{padding:17px}
  body.planner-mode details.card{padding:0}
  .stay-v9 .stay-slider-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){
  .stay-v9 .stay-slider-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  button,a,input,select,textarea,summary,.home-only img{transition:none!important}
}


/* PARK MODE — consolidated from legacy park-mode-v56.css */
.park-playbooks{margin:24px 0;display:grid;gap:14px}
.park-playbook-head,.park-playbooks details,.park-trip-comparison{border:1px solid #e3d8c3;border-radius:20px;background:#fff;padding:20px}
.park-playbook-head{background:linear-gradient(135deg,#e8f3f1,#fff7ec)}
.park-playbook-head h3,.park-trip-comparison h4,.park-strategy h4,.ride-heading{margin:.35rem 0 .55rem;color:#16243a}
.park-playbooks details>summary{display:grid;gap:5px;cursor:pointer;list-style:none}
.park-playbooks details>summary::-webkit-details-marker{display:none}
.park-playbooks details>summary strong{font-size:1.15rem;color:#16243a}
.park-playbooks details>summary span{color:#5b6578}
.park-strategy{display:grid;gap:16px;margin-top:20px}
.park-strategy>article{padding:16px;border-radius:14px;background:#fbf7ef}
.park-priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.park-priority{padding:14px;border-radius:14px;background:#fbf7ef;border-top:4px solid #5b6578}
.park-priority.bonus{border-color:#e2a957}.park-priority.skip{border-color:#c97568}
.park-priority ul{padding-left:18px;margin:8px 0 0}.park-priority li+li{margin-top:6px}
.park-day-shape{display:grid;gap:7px;padding-left:24px}
.park-booking-timeline{margin:18px 0}.park-booking-timeline>article{display:grid;grid-template-columns:minmax(110px,.55fr) minmax(0,2fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #f6efe2}
.park-booking-timeline div{display:grid;gap:3px}.park-booking-timeline small{color:#64746c}
.ride-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.ride-grid article{display:grid;gap:4px;padding:14px;border:1px solid #e3d8c3;border-radius:14px;background:#f3f9f8}
.ride-grid article>span,.ride-grid article>small{color:#5b6578}
.park-trip-comparison{border-color:#e6c887;background:#fffaf0}
.park-compare-table{display:grid;gap:10px;margin:14px 0}.park-compare-table>div{display:grid;grid-template-columns:.7fr 1.3fr 1.3fr auto;gap:10px;padding:12px;border-radius:12px;background:#fff}
.park-compare-table span,.park-compare-table small{color:#5b6578}.park-next-check{margin-bottom:0}
@media(max-width:760px){.park-priority-grid,.ride-grid{grid-template-columns:1fr}.park-booking-timeline>article,.park-compare-table>div{grid-template-columns:1fr}.park-playbook-head,.park-playbooks details,.park-trip-comparison{padding:16px}}



/* Evidence provenance — facts, map checks and FamilyTrip judgment stay visually distinct. */
.stay-evidence-strip{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 10px;
}
.stay-evidence{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:5px 8px;
  border:1px solid #e3d8c3;
  border-radius:999px;
  background:#fff;
  color:#5b6578;
  font-size:.62rem;
  font-weight:820;
  letter-spacing:.025em;
  line-height:1;
}
.stay-evidence.provider{background:#e8f3f1;border-color:#a9b4c6;color:#7D5E2A}
.stay-evidence.map{background:#eef5f7;border-color:#b9d2d8;color:#285969}
.stay-evidence.property{background:#f2f4ef;border-color:#c8d0c8;color:#2b3a52}
.stay-evidence.judgment{background:#fff7e7;border-color:#dbc68a;color:#705319}
.stay-evidence.estimate{background:#fafafa;border-style:dashed;color:#68746d}


/* Trip health check — advisor-style unresolved decisions, not another settings panel. */
.trip-health-panel{
  border:1px solid #e3d8c3;
  border-radius:16px;
  padding:16px;
  background:#fff;
}
.trip-health-heading{margin-bottom:10px}
.trip-health-heading h2{margin:4px 0 0;font-family:var(--ft-serif);font-size:1.25rem;font-weight:550}
.trip-health-summary{
  display:flex;
  gap:9px;
  align-items:center;
  padding:10px 11px;
  border-radius:10px;
  margin-bottom:8px;
}
.trip-health-summary span{
  padding:4px 7px;
  border-radius:999px;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.08em;
}
.trip-health-summary strong{font-size:.82rem;line-height:1.3}
.trip-health-summary.attention{background:#fff6e8;border:1px solid #ead39d}
.trip-health-summary.attention span{background:#8b5b18;color:#fff}
.trip-health-summary.good{background:#e8f3f1;border:1px solid #e3d8c3}
.trip-health-summary.good span{background:#16243A;color:#fff}
.trip-health-items{display:grid;gap:7px}
.trip-health-item{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:8px;
  padding:9px 0;
  border-top:1px solid #f6efe2;
}
.trip-health-item:first-child{border-top:0}
.trip-health-item i{
  width:22px;height:22px;display:grid;place-items:center;border-radius:50%;
  font-style:normal;font-size:.72rem;font-weight:900;background:#f6efe2;color:#5b6578;
}
.trip-health-item.attention i{background:#fff0d3;color:#825817}
.trip-health-item.good i{background:#e8f3f1;color:#7D5E2A}
.trip-health-item strong{display:block;font-size:.77rem;line-height:1.3}
.trip-health-item p{margin:3px 0 0;color:#5b6578;font-size:.68rem;line-height:1.45}
.trip-health-item a{display:inline-block;margin-top:4px;color:#16243a;font-size:.67rem;font-weight:800;text-decoration:none}
.trip-health-note{margin:9px 0 0;color:#748279;font-size:.62rem;line-height:1.45}


/* Unresolved decisions are the primary sidebar job; tools stay secondary. */
.trip-decisions-panel{
  border:1px solid #e3d8c3;
  border-radius:16px;
  padding:16px;
  background:linear-gradient(180deg,#fbfcf9 0%,#f6efe2 100%);
}
.trip-decisions-panel h2{
  margin:4px 0 10px;
  font-family:var(--ft-serif);
  font-size:1.34rem;
  font-weight:560;
  line-height:1.15;
}
.trip-decision{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:9px;
  padding:10px 0;
  border-top:1px solid #e3d8c3;
}
.trip-decision:first-child{border-top:0}
.trip-decision-number{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#16243a;
  color:#fff;
  font-size:.66rem;
  font-weight:900;
}
.trip-decision strong{display:block;font-size:.78rem;line-height:1.3}
.trip-decision p{margin:3px 0 6px;color:#62736a;font-size:.68rem;line-height:1.45}
.trip-decision button,.trip-decision a{
  border:0;
  background:transparent;
  padding:0;
  color:#7D5E2A;
  font:inherit;
  font-size:.68rem;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
}
.trip-decisions-done{
  padding:8px 0 2px;
  color:#5b6578;
}
.trip-decisions-done span{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:#e8f3f1;color:#7D5E2A;font-weight:900;margin-bottom:7px;
}
.trip-decisions-done strong{display:block;font-size:.77rem}
.trip-decisions-done p{margin:4px 0 0;font-size:.68rem;line-height:1.45}
.side-tool{
  border:1px solid #e3d8c3;
  border-radius:13px;
  padding:0;
  background:#fff;
}
.side-tool>summary{
  list-style:none;
  cursor:pointer;
  padding:13px 14px;
  color:#2b3a52;
  font-size:.72rem;
  font-weight:850;
}
.side-tool>summary::-webkit-details-marker{display:none}
.side-tool>summary::after{content:'＋';float:right;color:#7b8a81}
.side-tool[open]>summary::after{content:'−'}
.side-tool[open]>summary{border-bottom:1px solid #f6efe2}
.side-tool[open]>:not(summary){margin-left:14px;margin-right:14px}
.side-tool[open]>:last-child{margin-bottom:14px}


/* FamilyFit Facts: provider-backed family utility details stay distinct from FamilyTrip judgment. */
.familyfit-facts{
  margin:12px 0;
  padding:13px;
  border:1px solid #e3d8c3;
  border-radius:12px;
  background:#e8f3f1;
}
.familyfit-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.familyfit-head span{
  color:#7D5E2A;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.1em;
}
.familyfit-head strong{
  color:#2b3a52;
  font-size:.69rem;
  font-weight:800;
}
.familyfit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.familyfit-grid>div{
  padding:8px 9px;
  border-radius:8px;
  background:#fff;
  border:1px solid #e3d8c3;
}
.familyfit-grid span{
  display:block;
  color:#6a7b70;
  font-size:.59rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.familyfit-grid strong{
  display:block;
  margin-top:3px;
  color:#16243a;
  font-size:.69rem;
  line-height:1.35;
}
.familyfit-facts>p{
  margin:9px 0 0;
  color:#5b6578;
  font-size:.61rem;
  line-height:1.45;
}
@media(max-width:620px){.familyfit-grid{grid-template-columns:1fr}.familyfit-head{display:block}.familyfit-head strong{display:block;margin-top:3px}}

.ft-save-family-next{margin:24px 0;padding:20px;border:1px solid var(--line,#e3d8c3);border-radius:16px;background:#f6efe2}
.ft-save-family-next h2{margin:6px 0 8px;font-size:22px}
.ft-save-family-next p{margin:0 0 14px;color:var(--muted,#5b6578);font-size:14px}
.ft-save-family-next #save-family-next-status{display:inline-block;margin-left:10px;font-size:13px;color:var(--muted,#5b6578)}
