@charset "UTF-8";
/* Home page "in season now" band (server/templates/home-seasons.php). */
.hs{--hx:#ff6b2b;background:#16222a;color:#fff;padding:clamp(40px,6vw,76px) 0;margin:0}
.hs-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 24px;margin-bottom:24px}
.hs-kicker{flex-basis:100%;margin:0;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#d9f264}
.hs h2{margin:0;font-size:clamp(34px,5vw,64px);line-height:.95;letter-spacing:-.05em}
.hs-all{margin-left:auto;color:#fff;font-weight:800}
.hs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.hs-card{position:relative;display:block;min-height:380px;border-radius:24px;overflow:hidden;color:#fff;text-decoration:none;background:linear-gradient(135deg,var(--hx),#16222a);box-shadow:0 22px 44px -28px #000;transition:transform .2s}
.hs-card:hover,.hs-card:focus-visible{transform:translateY(-5px)}
.hs-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.hs-card:hover img{transform:scale(1.05)}
.hs-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#16222a00 30%,#16222af2 88%)}
.hs-card::before{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--hx);z-index:2}
.hs-badge{position:absolute;top:14px;left:14px;z-index:2;background:#ff6b2b;color:#fff;font-weight:800;font-size:13px;border-radius:999px;padding:7px 12px}
.hs-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:6px;padding:22px 22px 26px}
.hs-copy small{font-size:13px;font-weight:700;color:#d9f264}
.hs-copy strong{font-size:clamp(24px,2.4vw,32px);line-height:1.02;letter-spacing:-.04em}
.hs-copy em{font-style:normal;font-size:15px;color:#e6ecee}
.hs-copy b{font-size:13px;color:#fff;background:#ffffff26;border-radius:999px;padding:4px 10px;align-self:flex-start}
.hs-sub{margin:38px 0 14px;font-size:22px;letter-spacing:-.03em}
.hs-picks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.hs-picks a{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;padding:8px;transition:background .15s}
.hs-picks a:hover{background:#ffffff1f}
.hs-picks img{width:96px;height:72px;object-fit:cover;border-radius:10px;flex:none}
.hs-picks span{display:flex;flex-direction:column;min-width:0}
.hs-picks time{font-size:12px;font-weight:800;color:#d9f264}
.hs-picks time::first-letter{text-transform:uppercase}
.hs-picks strong{font-size:15px;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hs-picks em{font-style:normal;font-size:12px;color:#c9d3d6}
/* The trip dock (trip-dock.js) adds a "+" button and the "how far" chips to every event card; in these small rows they
   get one compact line, dark-theme colours, and the text keeps clear of the button (2026-10-07). */
.hs-picks a{gap:10px;padding-right:44px;position:relative}
.hs-picks img{width:80px;height:60px}
.hs-picks time,.hs-picks em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-picks .qd-trip-add,.hs-picks .qd-trip-row>.qd-trip-add{width:28px;height:28px;font-size:17px;line-height:1;top:50%;right:8px;transform:translateY(-50%)}
.hs-picks .qd-trip-add:hover,.hs-picks .qd-trip-row>.qd-trip-add:hover{transform:translateY(-50%) scale(1.1)}
.hs-picks .qd-reach{flex-direction:row;align-items:center;margin:3px 0 0;gap:4px;flex-wrap:nowrap;overflow:hidden;font-size:10.5px;line-height:1.2;color:#c9d3d6;max-width:100%}
.hs-picks .qd-reach b,.hs-picks .qd-reach i{padding:1px 6px;background:#ffffff14;border-color:#ffffff2a;color:#dfe8ea;font-weight:600}
.hs-picks .qd-reach b{background:#d9f264;color:#19231f;border-color:#d9f264}
.hs-picks .qd-reach i:nth-of-type(n+3){display:none}
.hs-picks strong{-webkit-line-clamp:1}
@media (prefers-reduced-motion:reduce){.hs *{transition:none!important}}
@media (max-width:700px){.hs-card{min-height:320px}.hs-all{margin-left:0}}
/* seasons:start (generated by tools/seasons_config.py) */
.fx-season-winter,.hx-winter{--fx-season:#5b8bd6;--hx:#5b8bd6}
.fx-season-lunar-new-year,.hx-lunar-new-year{--fx-season:#d33b2f;--hx:#d33b2f}
.fx-season-valentines,.hx-valentines{--fx-season:#e0457b;--hx:#e0457b}
.fx-season-black-history-month,.hx-black-history-month{--fx-season:#c99a2e;--hx:#c99a2e}
.fx-season-st-patricks,.hx-st-patricks{--fx-season:#2e9b57;--hx:#2e9b57}
.fx-season-easter,.hx-easter{--fx-season:#b38fd6;--hx:#b38fd6}
.fx-season-cinco-de-mayo,.hx-cinco-de-mayo{--fx-season:#e5892b;--hx:#e5892b}
.fx-season-spring,.hx-spring{--fx-season:#7cb85a;--hx:#7cb85a}
.fx-season-memorial-day,.hx-memorial-day{--fx-season:#3b5ba5;--hx:#3b5ba5}
.fx-season-pride,.hx-pride{--fx-season:#8e44ad;--hx:#8e44ad}
.fx-season-juneteenth,.hx-juneteenth{--fx-season:#b5452b;--hx:#b5452b}
.fx-season-july-4,.hx-july-4{--fx-season:#c0392b;--hx:#c0392b}
.fx-season-summer,.hx-summer{--fx-season:#f0a202;--hx:#f0a202}
.fx-season-labor-day,.hx-labor-day{--fx-season:#2c7a7b;--hx:#2c7a7b}
.fx-season-oktoberfest,.hx-oktoberfest{--fx-season:#b8860b;--hx:#b8860b}
.fx-season-fall,.hx-fall{--fx-season:#c8641e;--hx:#c8641e}
.fx-season-halloween,.hx-halloween{--fx-season:#e2711d;--hx:#e2711d}
.fx-season-dia-de-muertos,.hx-dia-de-muertos{--fx-season:#d9467a;--hx:#d9467a}
.fx-season-thanksgiving,.hx-thanksgiving{--fx-season:#a0522d;--hx:#a0522d}
.fx-season-hanukkah,.hx-hanukkah{--fx-season:#2f6fbf;--hx:#2f6fbf}
.fx-season-christmas,.hx-christmas{--fx-season:#b22234;--hx:#b22234}
.fx-season-kwanzaa,.hx-kwanzaa{--fx-season:#2e7d32;--hx:#2e7d32}
.fx-season-new-years-eve,.hx-new-years-eve{--fx-season:#d4af37;--hx:#d4af37}
/* seasons:end */
