/* FamilyTrip planner, light and warm (2026). Loaded last by familytrip-next-preview.html.
   One palette for the whole site: ivory page, white cards, forest text, pine actions, sun accents.
   The planner's older dark layers (inline styles, familytrip-film-2026.css) are overridden here
   rather than deleted so their layout and behaviour rules keep working. */
:root{
  --ft-ivory:#FBF7EF;--ft-paper:#FFFFFF;--ft-sand:#F3ECDF;--ft-forest:var(--wl-ink,#0e1a2b);--ft-pine:var(--wl-teal-ink,#7d5e2a);--ft-pine-dark:var(--wl-ink,#0e1a2b);
  --ft-sun:var(--wl-lantern,#c8a46a);--ft-coral:#E8735A;--ft-sky:#5FA8C8;--ft-muted:#5B6578;--ft-line:#E3DACB;
  --ft-shadow:0 8px 24px rgba(22,36,58,.08);
  /* Older token names used throughout the planner. */
  --bg:var(--ft-ivory);--paper:var(--ft-paper);--ink:var(--ft-forest);--muted:var(--ft-muted);--soft:var(--ft-sand);
  --line:var(--ft-line);--pine:var(--ft-pine);--sun:var(--ft-sun);--lagoon:var(--ft-pine);--alert:#B4432E;
}
html body.ft-cinema-refined,html body.ft-editorial-planner{background:var(--ft-ivory)!important;background-image:none!important;color:var(--ft-forest)}

/* Top bar */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .top{background:rgba(251,247,239,.94)!important;border-bottom:1px solid var(--ft-line)!important;color:var(--ft-forest);backdrop-filter:saturate(1.2) blur(8px)}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .top :is(a,button,span,strong){color:inherit}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .top .btn,html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .top button:not(.btn-sun):not(.share):not(.brand){background:var(--ft-paper)!important;color:var(--ft-forest)!important;border:1px solid var(--ft-line)!important;box-shadow:none}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .top .btn:hover,html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .top button:not(.btn-sun):not(.share):not(.brand):hover{border-color:var(--ft-pine)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .top #tWhere{background:var(--ft-forest)!important;color:#fff!important;border-color:var(--ft-forest)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .top img[src*="wordmark"]{filter:none}

/* Sidebar panels and every dark card */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .panel{background:var(--ft-paper)!important;color:var(--ft-forest)!important;border:1px solid var(--ft-line)!important;box-shadow:var(--ft-shadow)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .panel :is(h2,h3,h4,strong,label,legend,summary){color:var(--ft-forest)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .panel :is(p,small,.note,.hint){color:var(--ft-muted)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .panel summary{color:var(--ft-pine)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .panel details{border-color:var(--ft-line)!important;background:transparent!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .chip{background:var(--ft-sand)!important;color:var(--ft-forest)!important;border:1px solid var(--ft-line)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .chip:hover{border-color:var(--ft-pine)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .chip:is(.on,[aria-pressed="true"]){background:var(--ft-sun)!important;color:#24180A!important;border-color:var(--ft-sun)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .btn-quiet{background:var(--ft-sand)!important;color:var(--ft-forest)!important;border:1px solid var(--ft-line)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .btn-quiet:hover{border-color:var(--ft-pine)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) #vote{background:var(--ft-forest)!important;color:#fff!important;border-color:var(--ft-forest)!important}

/* Form fields */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea){background:var(--ft-paper)!important;color:var(--ft-forest)!important;border:1px solid #CFC4B1!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) :is(input,select,textarea):focus-visible{outline:3px solid rgba(35,102,95,.35)!important;outline-offset:1px;border-color:var(--ft-pine)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) input[type=range]{background:transparent!important;accent-color:var(--ft-pine)}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) input[type=checkbox],html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) input[type=radio]{accent-color:var(--ft-pine)}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) ::placeholder{color:#7A877F!important}

/* Dialogs, toasts, consent */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) dialog,html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) #dlg{background:var(--ft-paper)!important;color:var(--ft-forest)!important;border:1px solid var(--ft-line)!important;box-shadow:0 24px 60px rgba(22,36,58,.22)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) dialog :is(h2,h3,strong,label){color:var(--ft-forest)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) dialog :is(p,small,.note){color:var(--ft-muted)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) dialog::backdrop{background:rgba(22,36,58,.45)}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .toast{background:var(--ft-forest)!important;color:#fff!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .consent{background:var(--ft-paper)!important;color:var(--ft-forest)!important;border:1px solid var(--ft-line)!important;box-shadow:var(--ft-shadow)}

/* Setup screen headings sit directly on the page background */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .setup :is(h1,h2,h3,.kicker,.lede,p){color:var(--ft-forest)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .setup :is(.lede,p.note,small){color:var(--ft-muted)!important;text-shadow:none!important}

/* Buttons: one primary style everywhere */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .btn-sun,html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .share{background:var(--ft-sun)!important;color:#24180A!important;border-color:var(--ft-sun)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .btn-primary,html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .btn.primary{background:var(--ft-pine)!important;color:#fff!important;border-color:var(--ft-pine)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .btn-primary:hover,html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .btn.primary:hover{background:var(--ft-pine-dark)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) :is(a,button):focus-visible{outline:3px solid rgba(35,102,95,.45);outline-offset:2px}

/* Kid-age badges stay bright */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .age-badge,html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .kid{font-weight:700}

/* Missing photos: a soft, friendly tile instead of a dark block */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) :is(figure.ph,.photo-slot,.thumb):not(:has(img)){background:linear-gradient(135deg,#F3ECDF,#F6EFE2)!important;color:var(--ft-pine)!important;border:1px solid var(--ft-line)}

/* Brand button in the top bar stays a plain logo */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .top .brand{background:transparent!important;border:0!important;box-shadow:none!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .ft-dream-frame{background:linear-gradient(135deg,#F3ECDF,#F6EFE2)!important}
/* Phone: bottom tab bar and the "Personalise your trip" drawer */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .bnav{background:rgba(255,255,255,.97)!important;border-top:1px solid var(--ft-line)!important;box-shadow:0 -6px 20px rgba(22,36,58,.08)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .bnav button{color:var(--ft-muted)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .bnav button:is(.on,[aria-current],[aria-selected="true"]){color:var(--ft-pine)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .ft-preferences-shell{background:var(--ft-paper)!important;color:var(--ft-forest)!important;border:1px solid var(--ft-line)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .ft-preferences-shell > summary{color:var(--ft-forest)!important}
/* "One city / Several cities" choice on the setup screen */
html body .where-mode{display:inline-flex;gap:4px;padding:4px;margin:0 0 12px;background:var(--ft-sand);border:1px solid var(--ft-line);border-radius:999px}
html body .where-mode button{min-height:40px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--ft-forest);font:600 15px/1 inherit;cursor:pointer}
html body .where-mode button[aria-checked="true"]{background:var(--ft-forest);color:#fff;box-shadow:0 2px 8px rgba(22,36,58,.18)}
html body .route-ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:12px}
html body .route-ideas[hidden]{display:none}
html body .route-ideas .hint{grid-column:1/-1;margin:0;color:var(--ft-muted);font-size:15px}
html body .route-idea{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;text-align:left;background:var(--ft-paper);border:1px solid var(--ft-line);border-radius:16px;color:var(--ft-forest);cursor:pointer;min-height:64px}
html body .route-idea:hover{border-color:var(--ft-pine);box-shadow:var(--ft-shadow)}
html body .route-idea strong{font-family:"Instrument Serif",Georgia,serif;font-weight:600;font-size:17px}
html body .route-idea small{color:var(--ft-muted);font-size:13px}
/* Destination photo tiles: readable captions */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .dest span{background:linear-gradient(0deg,rgba(12,20,36,.86),rgba(12,20,36,.35) 60%,transparent)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .dest small{color:#F4EFE4!important;opacity:1!important}
/* Hotel cards: family fit, nearest outings, matches */
html body .stay .fit{margin:6px 0 4px;font-weight:700;font-size:15px}
html body .stay .fit.yes{color:var(--ft-pine)}
html body .stay .fit.maybe{color:#8A5A12;font-weight:600}
html body .stay .fit.no{color:#B4432E;font-weight:600}
html body .stay ul.near{list-style:none;margin:8px 0;padding:10px 12px;background:var(--ft-ivory);border:1px solid var(--ft-line);border-radius:12px;display:grid;gap:6px}
html body .stay ul.near li{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--ft-forest)}
html body .stay ul.near li small{color:var(--ft-muted);white-space:nowrap;font-size:13px}
html body .stay .match b{color:var(--ft-forest)}
html body .stay-suggest .linkish,html body .linkish{background:none;border:0;padding:0;color:var(--ft-pine);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
/* Activity cards: at a glance */
html body .idea ul.glance{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;padding:0}
html body .idea ul.glance li{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--ft-ivory);border:1px solid var(--ft-line);font-size:13px;color:var(--ft-forest)}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;background:#fff!important;width:20px;height:20px;accent-color:var(--ft-pine)}
/* Multi-city: city switcher above the tabs */
html body .city-switch{margin:0 0 14px;padding:14px 16px;background:var(--ft-paper);border:1px solid var(--ft-line);border-radius:18px;box-shadow:var(--ft-shadow)}
html body .city-switch-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-bottom:10px}
html body .city-switch-head p{margin:0;color:var(--ft-forest);font-size:15px}
html body .city-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
html body .city-tab{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 16px 8px 10px;border-radius:16px;border:1px solid var(--ft-line);background:var(--ft-ivory);color:var(--ft-forest);cursor:pointer;text-align:left}
html body .city-tab:hover{border-color:var(--ft-pine)}
html body .city-tab[aria-pressed="true"]{background:var(--ft-forest);border-color:var(--ft-forest);color:#fff}
html body .city-tab .num,html body .nights-per-city .num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ft-sun);color:#24180A;font-weight:800;font-size:14px;flex:none}
html body .city-tab .txt{display:flex;flex-direction:column;line-height:1.2}
html body .city-tab strong{font-family:"Instrument Serif",Georgia,serif;font-size:17px;font-weight:600}
html body .city-tab small{font-size:13px;opacity:.85}
html body .city-arrow{color:var(--ft-muted);font-size:18px}
/* Multi-city: nights in each city on the setup screen */
html body .nights-per-city{margin-top:10px;display:grid;gap:8px}
html body .nights-per-city .note{margin:0 0 2px}
html body .npc-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;background:var(--ft-paper);border:1px solid var(--ft-line);border-radius:14px}
html body .npc-city{display:flex;align-items:center;gap:10px;font-family:"Instrument Serif",Georgia,serif;font-size:18px;color:var(--ft-forest)}
html body .npc-step{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--ft-line);border-radius:999px;padding:3px}
html body .npc-step button{width:40px;height:40px;border-radius:50%;border:0;background:var(--ft-sand);color:var(--ft-forest);font-size:20px;cursor:pointer}
html body .npc-step button:hover{background:var(--ft-sun)}
html body .npc-step output{min-width:78px;text-align:center;font-weight:700;color:var(--ft-forest)}
/* Setup: what the kids love */
html body .love-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
html body .love-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:999px;border:1px solid var(--ft-line);background:var(--ft-paper);color:var(--ft-forest);font:600 15px/1.2 inherit;cursor:pointer}
html body .love-chip:hover{border-color:var(--ft-pine)}
html body .love-chip[aria-pressed="true"]{background:var(--ft-sun);border-color:var(--ft-sun);color:#24180A}
html body .love-chip span{font-size:18px}
/* The place a family asked about when we planned from a nearby base */
html body .wish-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 14px;padding:14px 16px;background:#FFF6E3;border:1px solid #F3D9A4;border-radius:16px;color:var(--ft-forest)}
html body .wish-note p{margin:0;max-width:70ch}
/* Analytics question: a slim bar in the corner that never covers the plan or its main buttons */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .consent{position:fixed!important;left:12px!important;right:auto!important;bottom:12px!important;top:auto!important;max-width:min(420px,calc(100vw - 24px))!important;padding:10px 14px!important;font-size:14px!important;line-height:1.4!important;border-radius:14px!important;z-index:40!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .consent :is(button){min-height:40px;padding:6px 12px!important;font-size:14px!important}
@media (max-width:760px){
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .consent{bottom:76px!important}
  /* Compact trip header so Day 1 starts on the first screen */
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .hero-trip{min-height:0!important;padding:18px 16px!important}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .hero-trip h1{font-size:30px!important;line-height:1.1!important;margin:6px 0!important}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .hero-trip :is(.stats,.hero-stats){gap:8px 16px!important;margin:8px 0!important}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .hero-trip .hero-acts{gap:6px!important}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .hero-trip .hero-acts .btn{min-height:40px;padding:8px 12px!important;font-size:14px!important}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .top .btn{padding:6px 10px!important;font-size:13px!important}
}
/* Setup photo frame: crop on the subject, not the sky */
html body .ft-dream-frame img{object-fit:cover;object-position:50% 55%}
/* ---- Phone, contrast and keyboard pass (round 9) ---- */
/* A clear focus ring everywhere: dark outline plus a warm halo (at least 3:1 on cream) */
html body :focus-visible{outline:2px solid var(--wl-ink,#0e1a2b)!important;outline-offset:2px!important;box-shadow:0 0 0 5px #F2C779!important}
html body [tabindex="-1"]:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}
/* Text that was too pale to read */
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .countdown{background:var(--wl-lantern,#c8a46a)!important;color:var(--wl-ink,#0e1a2b)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) #ft-verified-stays-link{background:#FFFDF7!important;color:var(--wl-teal-ink,#7d5e2a)!important;border:1.5px solid var(--wl-teal-ink,#7d5e2a)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .foot{color:#5B6578!important;font-size:13px!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .tok:not(.off):not(.unk){color:var(--wl-ink,#0e1a2b)!important;background:color-mix(in srgb,var(--c) 30%,#FFFDF7)!important;box-shadow:inset 0 0 0 1.5px var(--c)!important}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .tok.off{color:#5B6578!important;opacity:1!important}
/* Analytics: a small named link in the footer, and the question sits in the page instead of over it */
html body .analytics-pref:not([hidden]){display:block;margin:0 auto 96px;padding:10px 12px;min-height:44px;font-size:14px;color:var(--wl-teal-ink,#7d5e2a);text-decoration:underline;background:none;border:0;cursor:pointer}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) .consent{position:static!important;margin:16px auto 12px!important;max-width:min(560px,calc(100% - 32px))!important;box-shadow:none!important}
/* Header pill: full route on wide screens, "3 cities · 9 nights" on phones */
html body #tWhere{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body #tWhere .where-short{display:none}
@media (max-width:640px){
  html body #tWhere .where-long{display:none}
  html body #tWhere .where-short{display:inline}
  /* One slim header row that scrolls away, so the plan gets the screen */
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) header.top{position:static!important}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) #tripSum .toks,
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) #tripSum #tCard{display:none!important}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) #account-open{font-size:13px!important;padding:6px 10px!important}
  /* The big photo banner and preferences belong to the Plan tab; other tabs open on their own content */
  html body[data-ft-tab]:not([data-ft-tab="days"]) .ft-journey-banner,
  html body[data-ft-tab]:not([data-ft-tab="days"]) .ft-preferences-shell{display:none!important}
}
/* Finger-sized controls on touch screens, and nothing under 12px */
@media (pointer:coarse){
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) :is(.btn-sm,.near,.app summary,.leaflet-bar a){min-height:44px!important;min-width:44px}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) :is(.stop h3 a,.idea h3 a){display:inline-block;padding:10px 0}
}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) :is(.src,[data-city-photo-credit],.ph figcaption,.ph a,.near small,.stop small){font-size:12.5px!important}
@media (max-width:640px){
  /* Two header rows on phones: logo and saved trips, then this trip's pill, Save and Share */
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) header.top .top-in{display:grid!important;grid-template-columns:1fr auto;grid-template-areas:"brand acct" "sum sum";align-items:center;gap:6px 8px!important;padding:8px 12px!important}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) header.top #brand{grid-area:brand}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) header.top #account-open{grid-area:acct;margin:0!important}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) header.top #tripSum{grid-area:sum;display:flex;flex-wrap:nowrap;gap:6px;min-width:0;justify-content:flex-start}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) header.top #tripSum:empty{display:none}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) header.top #tripSum #tWhere{flex:1 1 auto}
  html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) header.top #tripSum .btn{flex:none}
}
/* Ideas quick filters (round 10) */
html body .idea-filters{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}
html body .idea-filters .chip{min-height:44px;padding:8px 14px;border-radius:999px;border:1px solid var(--ft-line,#E3DACB);background:#FFFDF7;color:var(--wl-ink,#0e1a2b);font-weight:600}
html body .idea-filters .chip[aria-pressed="true"]{background:var(--wl-teal-ink,#7d5e2a);border-color:var(--wl-teal-ink,#7d5e2a);color:#fff}
html body .idea-filters .chip .n{font-weight:500;opacity:.8;margin-left:2px}
/* Learning from the family's picks */
html body .learn-box{border-left:4px solid var(--wl-lantern,#c8a46a)}
html body .learn-box .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
/* Stay: top three for the plan */
html body .stay-shortlist .stay-top-list{list-style:none;margin:8px 0 4px;padding:0;display:grid;gap:10px}
html body .stay-shortlist .stay-top-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 14px;background:#FFFDF7;border:1px solid #E3DACB;border-radius:14px}
html body .stay-shortlist .stay-top-list .tag{background:#FFF1D6;color:#5A3B00;border-radius:999px;padding:2px 8px;font-size:13px;font-weight:600}
/* Phone: the live map stays under the bottom tab bar (Leaflet layers use z-index 400+) */
html body .livemap,html body .leaflet-container{isolation:isolate;position:relative;z-index:0}
html body:is(.ft-cinema-refined,.ft-editorial-planner):not(#ft-light) nav.bnav{z-index:1100!important}
/* Day trip or overnight? */
html body .overnight-advice{margin:10px 0;padding:12px 14px;background:#FFF8EA;border:1px solid #F3D9A4;border-radius:14px}
html body .overnight-advice summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600;color:var(--wl-ink,#0e1a2b)}
html body .overnight-advice .oa-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:8px 0}
html body .overnight-advice h4{margin:0 0 4px;font-size:15px}
html body .overnight-advice ul{margin:0;padding-left:18px}
html body .overnight-advice li.con{color:#5C4A1E}
/* Unforgettable experiences badge */
html body .sig-badge{display:inline-block;background:var(--wl-ink,#0e1a2b);color:#F7E7C2;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700;letter-spacing:.02em;margin-right:4px}
/* Destination knowledge: tips, seasons, day trips, stay areas, photo spots */
html body .knowledge .src-link{font-size:13px;color:#5B6578;margin-left:4px}
html body .knowledge .seasons li.now{background:#FFF1D6;border-radius:8px;padding:4px 8px}
html body .knowledge .trip-option{border-top:1px solid #E3DACB;padding:8px 0}
html body .knowledge .trip-option summary{cursor:pointer;min-height:44px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}
html body .knowledge .verdict{font-weight:700;color:var(--wl-teal-ink,#7d5e2a)}
html body .knowledge .stay-area{border-top:1px solid #E3DACB;padding-top:8px;margin-top:8px}
html body .advisory{margin:0 0 16px;padding:14px 16px;background:#FFF0EC;border:1.5px solid #B4452E;border-radius:16px;color:#3B1A12}
html body .advisory h2{margin:0 0 6px;font-size:18px}
html body .advisory a{color:#8A2F1D}
/* Setup photo frame on wide screens: the form column is much taller than any photo, so a stretched frame
   cropped landscape photos to a dark vertical sliver. Keep the frame photo-shaped and in view instead. */
@media(min-width:721px){
  html body .ft-setup-grid{align-items:start}
  html body .ft-dream-frame{position:sticky;top:88px;height:min(620px,calc(100vh - 120px));min-height:420px}
}
/* ---- Hotel cards (round 15): photo first, the hotel's own reason up front, one distance line, actions aligned ---- */
html body .stays{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
html body .stay.stay-card{padding:0;gap:0;overflow:hidden;border-radius:18px;box-shadow:0 1px 2px rgba(22,36,58,.06),0 8px 24px rgba(22,36,58,.07)}
html body .stay.stay-card.is-pick{border-color:rgba(184,130,46,.45)}
html body .stay.stay-card.base{outline:2px solid var(--ft-pine);outline-offset:-2px}
html body .stay-card .hotel-ph{position:relative;margin:0!important;aspect-ratio:16/10;border-radius:0!important;width:100%;overflow:hidden;background:linear-gradient(135deg,#F6EFE2 0%,#F4EDE0 100%)}
html body .stay-card .hotel-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html body .stay-card .hotel-ph figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px 10px 6px;font:500 11px/1.3 system-ui;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);text-align:right}
html body .stay-card .hotel-ph figcaption a{color:#fff}
html body .stay-card .hotel-fb{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;color:var(--ft-forest);padding:16px}
html body .stay-card .hotel-mono{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff;color:var(--ft-pine);font:600 26px/1 var(--display,Georgia,serif);box-shadow:0 2px 10px rgba(22,36,58,.12)}
html body .stay-card .hotel-fb-area{font:600 13px/1.3 system-ui;color:var(--ft-muted);max-width:90%;text-align:center}
html body .stay-card .hotel-ph.has .hotel-fb{visibility:hidden}
html body .stay-card .stay-badges{position:absolute;top:10px;left:10px;right:10px;z-index:3;display:flex;gap:6px;align-items:center;flex-wrap:wrap;pointer-events:none}
html body .stay-card .stay-badges .num{display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border-radius:999px;background:var(--ft-forest);color:#fff;font:700 13px/1 system-ui}
html body .stay-card .badge-pick,html body .stay-card .badge-base{padding:5px 10px;border-radius:999px;font:700 12px/1 system-ui;background:#FFF6E3;color:#7A5212;box-shadow:0 1px 4px rgba(0,0,0,.12)}
html body .stay-card .badge-base{background:var(--ft-pine);color:#fff}
html body .stay-card .stay-body{display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px;flex:1}
html body .stay-card .stay-top h3{margin:0;font-size:19px;line-height:1.25}
html body .stay-card .stay-top .num{display:none}
html body .stay-card .stay-area{font-size:14px;color:var(--ft-muted);margin-top:-4px}
html body .stay-card .stay-why{margin:2px 0;font-size:15px;line-height:1.45;color:var(--ft-forest)}
html body .stay-card .stay-dist{margin:2px 0;font-size:14px;color:var(--ft-muted)}
html body .stay-card .stay-dist b{color:var(--ft-forest);font-weight:600}
html body .stay-card .stay-more summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ft-pine)}
html body .stay-card .stay-more[open] summary{margin-bottom:6px}
html body .stay-card .acts{margin-top:auto;padding-top:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
html body .stay-card .stay-site{font-size:14px;font-weight:600;color:var(--ft-pine);margin-left:2px}
html body .stay-tip{margin:4px 0 10px;padding:10px 14px;border-radius:12px;background:#FFF8EA;border:1px solid #F0DFB8;color:#6B4A12;font-size:14px}
@media(max-width:560px){html body .stays{grid-template-columns:1fr}}
html body .stay-card .hotel-ph:not(.has){aspect-ratio:16/7}
html body .stay-card .hotel-ph:not(.has) .hotel-mono{width:46px;height:46px;font-size:21px}
/* ---- Professional polish (round 15) ---- */
html body .top .brand .brand-mark{height:34px;width:auto;display:block}
html body .idea ul.glance{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:4px 0}
html body .idea ul.glance li{display:inline-flex;align-items:center;gap:6px;margin:0;padding:5px 10px;border-radius:999px;background:var(--ft-ivory);border:1px solid var(--ft-line);font-size:13px;color:var(--ft-forest)}
html body .idea .fitbar{height:3px;border-radius:3px;opacity:.75}
html body .idea .kind{font-size:13px;color:var(--ft-muted)}
html body .idea .match-line{font-size:14px;color:var(--ft-pine);font-weight:600}
html body input[type=checkbox]{accent-color:var(--ft-pine);width:18px;height:18px;border-radius:5px}
html body .day .stop .acts .btn,html body .day .stop .btn-quiet{padding:6px 14px!important;min-height:34px!important;font-size:14px!important}
html body .day a.near{padding:5px 10px;font-size:13px}
html body .top .brand img.brand-mark{background:none!important;padding:0!important;border-radius:0!important;box-shadow:none!important;border:0!important}
html body .idea ul.glance{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important}
html body .idea ul.glance li{display:inline-flex!important;width:auto!important}
html body .ph .place-fb{display:grid;place-content:center;justify-items:center;gap:6px;width:100%;height:100%;background:linear-gradient(135deg,#F6EFE2 0%,#F4EDE0 100%);color:var(--ft-forest)}
html body .ph .ph-mono{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--ft-pine);font:600 21px/1 var(--display,Georgia,serif);box-shadow:0 2px 10px rgba(22,36,58,.12)}
html body .ph .ph-kind{font:600 12px/1.2 system-ui;color:var(--ft-muted);text-transform:none}
html body .ph.thumb .ph-mono{width:34px;height:34px;font-size:16px}
html body .ph.thumb .ph-kind{display:none}
html body .ideas{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;gap:18px}
html body .idea ul.glance li{padding:4px 9px;font-size:12.5px}
/* ---- Polish, second pass (round 16) ---- */
html body .hero-trip.photo .note,html body .hero-trip.photo .note a{color:rgba(255,255,255,.85)!important;font-size:12px}
html body .hero-trip.photo .note a{text-decoration:underline;text-underline-offset:2px}
html body .main > .note:first-of-type,html body #pane > .note{font-size:12.5px;color:var(--ft-muted)}
@media(max-width:720px){
  html body .day .stop .acts{display:flex;flex-wrap:wrap;gap:6px}
  html body .day .stop .acts .btn,html body .day .stop .btn-quiet{padding:5px 12px!important;min-height:32px!important;font-size:13px!important;width:auto!important}
  html body .day a.near{display:inline-flex;max-width:100%}
}
@media(max-width:720px){
  html body .day .stop .ph.thumb{width:64px!important;height:64px!important;min-width:64px!important;flex:0 0 64px!important}
  html body .day .stop .ph.thumb figcaption{display:none}
}
@media(max-width:720px){html body .day li.stop{grid-template-columns:minmax(0,1fr) 64px!important;column-gap:12px!important}}
