/* Field Trip Finder: "warm" theme (Oct 2026 redesign). Loaded after style.css only when FTF_THEME=warm.
   Remove the <link> (build with FTF_THEME=classic) to roll back. Fonts: Nunito + Inter, SIL OFL 1.1, self-hosted (see fonts/OFL-*.txt). */
@font-face{font-family:"Nunito";src:url(/assets/fonts/nunito-var-latin.woff2) format("woff2");font-weight:200 1000;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-var-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
.theme-warm{
 --cream:#fdf8f1;--cream2:#f8efe2;--paper:#fff;--ink:#2b2420;--mut:#675b52;--line:#eadfce;
 --teal:#0f766e;--teal-d:#0b5d57;--teal-l:#e3f3f0;--coral:#e8684a;--coral-d:#a83f26;--coral-l:#fde9e2;
 --pump:#c2410c;--pump-l:#fff0e3;--plum:#6d28d9;--plum-l:#f1eafd;
 --g:var(--teal);--g2:var(--teal-l);--warn:#fff7e6;--warnb:#f1d29a;
 --r:18px;--r-sm:12px;--sh:0 1px 2px rgba(91,60,30,.06),0 6px 18px rgba(91,60,30,.08);--sh-lg:0 2px 4px rgba(91,60,30,.06),0 14px 34px rgba(91,60,30,.12);
 --hfont:"Nunito",ui-rounded,"SF Pro Rounded",system-ui,-apple-system,"Segoe UI",sans-serif;
 --bfont:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
 color-scheme:light;background:var(--cream);color:var(--ink);font:16px/1.6 var(--bfont);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.theme-warm h1,.theme-warm h2,.theme-warm h3,.theme-warm .brand,.theme-warm .cal-title,.theme-warm .cc-name,.theme-warm .sbtn{font-family:var(--hfont);letter-spacing:-.01em}
.theme-warm h1{font-size:2.1rem;font-weight:850;line-height:1.15;margin:.4em 0 .35em}
.theme-warm h2{font-size:1.45rem;font-weight:800;line-height:1.25;margin:1.8em 0 .5em}
.theme-warm h3{font-weight:800}
.theme-warm a{color:var(--teal);text-decoration-thickness:1.5px;text-underline-offset:3px}
.theme-warm a:hover{color:var(--teal-d)}
.theme-warm :focus-visible{outline:3px solid var(--coral);outline-offset:2px;border-radius:6px}
.theme-warm .small{color:var(--mut)}.theme-warm .lead{color:#40362f;font-size:1.08rem}
.theme-warm .wrap{max-width:1080px;padding:0 18px}
.theme-warm strong{font-weight:650}
/* header */
.theme-warm .top{background:rgba(253,248,241,.92);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.theme-warm .top .wrap{padding:10px 18px}
.theme-warm .brand{display:inline-flex;align-items:center;gap:9px;font-size:1.25rem;font-weight:900;color:var(--ink);min-height:44px}
.theme-warm .brand .logo{flex:none}
.theme-warm .brand .metro{font-family:var(--bfont);font-size:.72rem;font-weight:650;background:var(--coral-l);color:var(--coral-d);padding:3px 10px;margin-left:2px}
.theme-warm .top nav{display:flex;flex-wrap:wrap;gap:4px}
.theme-warm .top nav a{margin:0;display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:99px;color:#3f352e;font-weight:600;font-size:.93rem;text-decoration:none}
.theme-warm .top nav a:hover{background:var(--cream2);color:var(--ink);text-decoration:none}
.theme-warm .top nav a[href="/submit"]{background:var(--teal);color:#fff}.theme-warm .top nav a[href="/submit"]:hover{background:var(--teal-d);color:#fff}
@media(max-width:600px){
 .theme-warm .top{position:static}
 .theme-warm .top .wrap{display:block;padding:8px 14px 6px}
 .theme-warm .top nav{overflow-x:auto;flex-wrap:nowrap;gap:6px;margin:4px -14px 0;padding:2px 14px 6px;scrollbar-width:none}
 .theme-warm .top nav::-webkit-scrollbar{display:none}
 .theme-warm .top nav a{flex:none;min-height:44px;background:var(--paper);border:1px solid var(--line);margin:0!important}
 .theme-warm h1{font-size:1.75rem}
 .theme-warm h2{font-size:1.3rem}
}
.theme-warm .crumb{font-size:.86rem;color:var(--mut);margin:.9em 0 .2em}.theme-warm .crumb a{color:var(--mut)}
/* hero (Vegas page + homepage) with soft CSS/SVG decoration */
.theme-warm .hero,.theme-warm .pick{position:relative;overflow:hidden;border-radius:26px;padding:26px 22px 18px;margin-top:14px;
 background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 120' preserveAspectRatio='none'%3E%3Cpath d='M0 120V78l40-22 34 18 52-40 46 30 40-24 58 38 44-26 42 22 44-30v96z' fill='%23f3d9bf' opacity='.55'/%3E%3Cpath d='M0 120V96l56-20 48 16 62-26 54 22 60-18 54 20 66-24v74z' fill='%23eec3a3' opacity='.45'/%3E%3C/svg%3E") bottom/100% 90px no-repeat,
  radial-gradient(circle at 88% 14%,#ffd9a8 0 34px,rgba(255,217,168,.35) 35px 58px,transparent 59px),
  linear-gradient(160deg,#fff4e6 0%,#fde8dc 55%,#f9efe4 100%);
 border:1px solid #f1dcc7;box-shadow:var(--sh)}
.theme-warm .hero h1,.theme-warm .pick h1{margin-top:.1em;max-width:22ch;padding-right:40px}
.theme-warm .pick h1{font-size:2rem}
.theme-warm .hero>p:last-child{position:relative;margin-bottom:56px}
.theme-warm .pick{padding-bottom:22px}
.theme-warm .pick .citycards{margin-bottom:72px}
@media(max-width:600px){.theme-warm .hero,.theme-warm .pick{border-radius:22px;padding:20px 16px 14px;margin-left:-4px;margin-right:-4px}.theme-warm .pick h1,.theme-warm .hero h1{font-size:1.7rem}}
.theme-warm .stats{gap:8px}
.theme-warm .stats div{background:rgba(255,255,255,.85);border:1px solid #f1dcc7;border-radius:16px;padding:10px 14px;font-size:.86rem;color:var(--mut);flex:1 1 120px;box-shadow:0 1px 2px rgba(91,60,30,.05)}
.theme-warm .stats b{font-family:var(--hfont);font-size:1.6rem;font-weight:900;color:var(--coral-d);line-height:1.1}
/* buttons */
.theme-warm button,.theme-warm .btn,.theme-warm .submit-btn{font-family:var(--bfont);font-weight:650;border-radius:14px;min-height:44px}
.theme-warm .submit-btn{background:var(--teal);box-shadow:0 2px 0 var(--teal-d);padding:11px 20px}
.theme-warm .submit-btn:hover,.theme-warm .submit-btn:focus{background:var(--teal-d);filter:none}
.theme-warm .submit-callout{background:var(--paper);border:1px solid var(--line);border-left:0;border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh);position:relative}
.theme-warm .submit-callout::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 5px 5px 0;background:var(--coral)}
.theme-warm .hero .submit-callout{background:rgba(255,255,255,.9)}
.theme-warm .seasonbtns{gap:12px;margin:12px 0 6px}
.theme-warm .seasonbtns .sbtn{min-height:60px;border-radius:18px;font-size:1.06rem;font-weight:850;box-shadow:0 3px 0 rgba(0,0,0,.18),0 8px 18px rgba(194,65,12,.18)}
.theme-warm .seasonbtns .sb-hallo{background:linear-gradient(180deg,#d4561a,var(--pump))}
.theme-warm .seasonbtns .sb-tot{background:linear-gradient(180deg,#7c3aed,var(--plum));box-shadow:0 3px 0 rgba(0,0,0,.18),0 8px 18px rgba(109,40,217,.18)}
.theme-warm .seasonbtns .sbtn:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.18)}
/* side filter */
.theme-warm .sidebar-filter{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh);margin:18px 0}
.theme-warm .sidebar-filter label{font-family:var(--hfont);font-weight:850;font-size:1.05rem;display:block;margin-bottom:6px}
.theme-warm .sidebar-filter label::before{content:"📍 "}
.theme-warm select,.theme-warm input[type=search]{min-height:48px;border:1.5px solid #dccdb8;border-radius:14px;background:#fffdf9;font:inherit;color:var(--ink);padding:10px 14px}
.theme-warm .sidebar-filter select{width:100%;max-width:420px;-webkit-appearance:none;appearance:none;padding-right:40px;
 background:#fffdf9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230f766e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center/14px no-repeat}
/* cards */
.theme-warm .cards{gap:16px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.theme-warm .card{background:var(--paper);border:1px solid #efe5d6;border-radius:var(--r);padding:18px 18px 14px;box-shadow:var(--sh);scroll-margin-top:16px}
.theme-warm .card:target{outline:3px solid var(--coral);outline-offset:2px}
.theme-warm .card h3,.theme-warm .cardhead h3{font-size:1.18rem;line-height:1.3;margin:0 0 4px}
.theme-warm .vets{font-size:.9rem;color:var(--mut)}
.theme-warm .vets .small{display:none}
.theme-warm .note{font-size:.95rem;line-height:1.55;margin:10px 0}
.theme-warm .dates{background:var(--cream);border-radius:12px;padding:8px 12px;font-size:.92rem}
.theme-warm .attrs{font-size:.9rem;gap:4px;margin:10px 0;padding:10px 0 0;border-top:1px solid #f1e8db}
.theme-warm .fnote{background:var(--warn);border-left:0;border-radius:12px;padding:8px 12px;font-size:.88rem}
.theme-warm .src{border-top:1px dashed #e7dac6;font-size:.82rem}
.theme-warm .disclaimer{background:var(--warn);border:1px solid var(--warnb);border-radius:var(--r);padding:12px 16px}
/* pill badges */
.theme-warm .badges{gap:6px;margin:10px 0 4px}
.theme-warm .badge{font-family:var(--bfont);font-size:.76rem;font-weight:650;padding:4px 10px;border-radius:99px;border:0!important;line-height:1.35;white-space:normal}
.theme-warm .badge.type{background:#f3ede4;color:#5a4a3c}
.theme-warm .badge.free{background:#dcf2e4;color:#17623a}.theme-warm .badge.free::before{content:"✓ ";font-weight:800}
.theme-warm .badge.nofee{background:#e7f4dc;color:#3b621a}
.theme-warm .badge.paid{background:#f6ecdc;color:#6b4c1e}.theme-warm .badge.unk{background:#f1ede8;color:#5f564e}
.theme-warm .badge.next{background:var(--teal);color:#fff}
.theme-warm .badge.ongoing{background:var(--teal-l);color:var(--teal-d)}.theme-warm .badge.past{background:#fde4df;color:#8a2c1d}
.theme-warm .badge.little{background:#fde7f1;color:#8f1d5a}.theme-warm .badge.little::before{content:"🧸 "}
.theme-warm .badge.side{background:#e8f1fb;color:#1f4f86}.theme-warm .badge.side::before{content:"📍 "}
/* add to calendar */
.theme-warm .atc summary{min-height:44px;border:1.5px solid #cfe5e1;background:var(--teal-l);color:var(--teal-d);border-radius:99px;padding:6px 16px;font-weight:650}
.theme-warm .atc[open] summary{background:var(--teal);color:#fff;border-color:var(--teal)}
.theme-warm .atc-m a{min-height:44px;border-radius:12px;background:var(--paper);border:1.5px solid #cfe5e1;color:var(--teal-d)}
.theme-warm .atc-r a{min-height:44px}
/* lists (coming up, trick-or-treat, resources) */
.theme-warm .guides{list-style:none;padding:0;margin:10px 0;background:var(--paper);border:1px solid #efe5d6;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
.theme-warm .guides li{margin:0;padding:12px 16px;border-top:1px solid #f3eadf;line-height:1.5}
.theme-warm .guides li:first-child{border-top:0}
.theme-warm .guides li strong:first-child{color:var(--coral-d)}
.theme-warm .guides li .atc{display:block}
/* library passes */
.theme-warm .libpass{border:0;border-radius:24px;padding:20px 18px;background:linear-gradient(180deg,#e6f4f1,#f4faf8);box-shadow:var(--sh);position:relative}
.theme-warm .libpass>h2{display:flex;align-items:center;gap:10px}
.theme-warm .libpass>h2::before{content:"📚";display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);font-size:1.3rem;flex:none}
.theme-warm .passlist{background:var(--paper);border-radius:var(--r);padding:2px 16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.theme-warm .passlist li{padding:12px 0;border-bottom:1px solid #edf2f0}.theme-warm .passlist li:last-child{border-bottom:0}
.theme-warm .passlist .pl-t{font-family:var(--hfont);font-weight:850;color:var(--ink);text-decoration:none;font-size:1.08rem;min-height:44px;display:inline-flex;align-items:center}
.theme-warm .passlist .pl-t:hover{color:var(--teal)}
.theme-warm .passlist .pl-d a{min-height:44px;line-height:44px}
.theme-warm .libpass .howcard{background:#fff;border-radius:var(--r);padding:12px 16px;border:1px dashed #b9dbd4}
.theme-warm .passmore{background:#fff;border-radius:var(--r);padding:0 16px;margin-top:12px}
.theme-warm .passmore summary{min-height:52px;line-height:52px;color:var(--teal-d);list-style:none;display:flex;align-items:center;justify-content:space-between}
.theme-warm .passmore summary::-webkit-details-marker{display:none}
.theme-warm .passmore summary::after{content:"＋";font-weight:800;color:var(--teal)}.theme-warm .passmore[open] summary::after{content:"－"}
.theme-warm .passmore .card{box-shadow:none;border-color:#e3eeeb}
/* trick-or-treat section */
.theme-warm .totsec{background:linear-gradient(180deg,#fff1e4,#fff8f0);border-radius:24px;padding:6px 18px 18px;margin:26px 0;border:1px solid #f6dcc3}
.theme-warm .totsec>h2{color:#7a2e0b}.theme-warm .totsec>h2::before{content:"🍬 "}
.theme-warm .totsec h3{font-size:1.12rem;color:#5a2a10}
.theme-warm h2#halloween::before{content:"🎃 "}
/* calendar: iPhone-style */
.theme-warm .cal{--cal-bg:#fff;--cal-ink:#1c1c1e;--cal-mut:#6e6e73;--cal-line:#efe9e1;--cal-red:#d70015;--cal-sel:#fff1ec;
 --c-free:#2e9e5b;--c-outdoor:#e08a00;--c-indoor:#2f6fd6;--c-seasonal:#c2410c;
 border:1px solid #efe5d6;border-radius:24px;box-shadow:var(--sh);padding:16px 12px 12px;max-width:600px}
.theme-warm .cal-title{font-size:1.9rem;font-weight:900;color:var(--cal-ink)}
.theme-warm .cal-btns button{background:#f6f2ec;border:0;color:var(--cal-red);font-weight:700;border-radius:99px;min-width:44px;min-height:44px}
.theme-warm .cal-btns button:active{background:#efe7dc}
.theme-warm .cal-dow{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--cal-mut);border-bottom:0}
.theme-warm .cal-cell{border-bottom:1px solid var(--cal-line);min-height:58px}
.theme-warm .cal-cell .num{font-family:var(--bfont);font-weight:500;font-size:1.12rem;width:36px;height:36px;line-height:36px}
.theme-warm .cal-cell.sel .num{background:var(--cal-ink);color:#fff;font-weight:700}
.theme-warm .cal-cell.today .num{background:var(--cal-red);color:#fff}
.theme-warm .cal-cell.today:not(.sel) .num{background:none;color:var(--cal-red);font-weight:800}
.theme-warm .cal-cell.today.sel .num{background:var(--cal-red);color:#fff}
.theme-warm .cal .dot{width:6px;height:6px}
.theme-warm .cal-legend{font-size:.78rem;color:#555}
.theme-warm .cal-day{font-family:var(--hfont);font-weight:850;font-size:1.08rem;margin:14px 4px 8px}
.theme-warm .cal-list ul{background:#f9f6f1;border-radius:16px;padding:0 12px}
.theme-warm .cal-list li{border-top:1px solid #ece5da}.theme-warm .cal-list li:first-child{border-top:0}
.theme-warm .cal-meta,.theme-warm .cal-time{color:#6e6e73}
@media (prefers-color-scheme:dark){.theme-warm .cal{--cal-bg:#fff;--cal-ink:#1c1c1e;--cal-mut:#6e6e73;--cal-line:#efe9e1;--cal-sel:#fff1ec}.theme-warm .cal .atc summary{color:var(--teal-d)}.theme-warm .cal .atc-m a{background:#fff;color:var(--teal-d)}}
@media (max-width:480px){.theme-warm .cal{margin:12px -8px;border-radius:22px;border:1px solid #efe5d6;padding:14px 6px 10px}}
/* homepage city card */
.theme-warm .citycard{border:0;border-radius:22px;background:#fff;box-shadow:var(--sh-lg);padding:20px}
.theme-warm .citycard:hover,.theme-warm .citycard:focus{background:#fff;outline:3px solid var(--teal);outline-offset:0}
.theme-warm .cc-name{font-family:var(--hfont);font-weight:900;color:var(--ink);font-size:1.35rem}
.theme-warm .cc-n b{color:var(--coral-d)}
.theme-warm .cc-go{display:inline-flex;align-self:flex-start;align-items:center;min-height:44px;padding:0 18px;border-radius:99px;background:var(--teal);color:#fff;margin-top:8px}
/* tables (this month) + city tiles */
.theme-warm .t{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.theme-warm .t th{background:var(--cream2);font-family:var(--hfont);font-weight:800}
.theme-warm .t th,.theme-warm .t td{border-bottom:1px solid #f1e8db;padding:10px 8px}
.theme-warm .st{border:1px solid #efe5d6;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(91,60,30,.06);min-height:44px;color:var(--ink)}
.theme-warm .st.has{border-color:#cfe5e1;background:#fff}
.theme-warm .citytabs a{border-color:#cfe5e1;color:var(--teal-d)}
.theme-warm .metroh{border-bottom-color:var(--line)}
/* footer */
.theme-warm footer{margin-top:56px;background:#2f2722;color:#efe6dc;border-top:0;padding:28px 0 36px;font-size:.92rem;border-radius:28px 28px 0 0}
.theme-warm footer a{color:#ffd2b8}.theme-warm footer a:hover{color:#fff}
.theme-warm footer .small{color:#cbbfb3}
.theme-warm footer p{max-width:70ch}
.theme-warm footer .submit-btn{background:var(--coral-d);box-shadow:none;color:#fff}
.theme-warm footer .submit-btn:hover{background:#9c3a22}
.theme-warm footer .submit-more{color:#ffd2b8}
@media (prefers-reduced-motion:no-preference){.theme-warm .sbtn,.theme-warm .citycard,.theme-warm .submit-btn{transition:transform .12s,box-shadow .12s,background .12s}}
.theme-warm .seasonbtns .sb-cal{min-height:54px;background:linear-gradient(180deg,#13857c,var(--teal));box-shadow:0 3px 0 rgba(0,0,0,.18),0 8px 18px rgba(15,118,110,.18)}
/* Holidays (SHOW_HOLIDAYS builds only) */
.theme-warm .seasonbtns .sb-hol{min-height:54px;background:linear-gradient(180deg,#15803d,#166534);box-shadow:0 3px 0 rgba(0,0,0,.18),0 8px 18px rgba(22,101,52,.2)}
.theme-warm .holgrp{background:#fffdf8;border:1px solid #ece5da;border-radius:18px;padding:4px 14px 12px}
.theme-warm .holwatch{background:#f9f6f1}
.theme-warm .cal-runs{background:#f2f8f3;border-radius:16px;padding:0 12px}.theme-warm .cal-runs li:first-child{border-top:0}
