.itinerary-filters{gap:10px;margin:16px 0 20px;display:grid}.itinerary-filters[hidden]{display:none}.filter-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-label{color:var(--muted);flex:0 0 100%;font-size:.85rem}.theme-chip{border-radius:12px;flex-direction:column;gap:2px;padding:6px 12px;line-height:1.2}.theme-emoji{font-size:1.3rem;line-height:1}.itinerary-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.itinerary-card[hidden]{display:none}.itinerary-card a{height:100%;color:inherit;text-decoration:none;display:block}.itinerary-card a:hover h3{color:var(--accent-strong)}.itinerary-card img,.cover-placeholder{object-fit:cover;width:100%;height:170px;display:block}.cover-placeholder{background:repeating-linear-gradient(135deg, var(--bg) 0 12px, var(--border) 12px 13px)}.itinerary-card-body{padding:12px 14px 14px}.itinerary-card h3{margin:0 0 6px;font-size:1.15rem}.itinerary-meta{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;font-size:.9rem;display:flex}.themes{flex-wrap:wrap;gap:6px;margin:0;display:flex}.theme{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.8rem}.itinerary-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.itinerary-nav .crumbs{margin:0}.itinerary-summary{text-align:center}.itinerary-heading{justify-content:center;align-items:center;gap:16px;margin:24px 0 12px;display:flex}.itinerary-heading h1{flex:0 auto;min-width:0;margin:0;font-size:clamp(2.35rem,4.5vw,3.4rem)}.itinerary-summary-meta{margin:0;font-size:1.08rem}.itinerary-intro{max-width:70ch;margin:22px auto 24px;font-size:1.25rem;line-height:1.65}.photo-strip{scroll-snap-type:x proximity;justify-content:safe center;gap:12px;margin:24px 0 28px;padding:0;list-style:none;display:flex;overflow-x:auto}.photo-strip li{flex:none}.photo-strip a{scroll-snap-align:center;display:block}.strip-thumb{object-fit:cover;border-radius:10px;width:200px;height:134px;display:block}.itinerary .itinerary-expand{--ring:var(--border);--fill:var(--surface);white-space:nowrap;vertical-align:middle;background:var(--fill) padding-box;width:max-content;max-width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--ring);color:var(--accent-strong);font:500 .95rem var(--font-body);cursor:pointer;border:2px solid #0000;border-radius:999px;flex:none;justify-content:flex-start;align-items:center;gap:10px;margin:0;padding:0 11px;text-decoration:none;transition:max-width .2s,background-color .15s,box-shadow .15s;display:inline-flex;overflow:hidden}.itinerary .itinerary-expand:hover{--ring:var(--accent);--fill:var(--bg)}.itinerary .itinerary-expand:focus-visible{box-shadow:inset 0 0 0 3px var(--accent);outline:none}.itinerary .itinerary-create{--ring:var(--accent);--fill:var(--accent);color:var(--on-accent);font-weight:600}.itinerary .itinerary-create:hover{--fill:var(--accent-strong)}.itinerary-expand-label{opacity:0;transition:opacity .15s}@media (hover:hover){.itinerary .itinerary-expand:hover,.itinerary .itinerary-expand:focus-visible{max-width:360px}.itinerary-expand:hover .itinerary-expand-label,.itinerary-expand:focus-visible .itinerary-expand-label{opacity:1}}@media (hover:none),(width<=767px){.itinerary-heading{flex-wrap:wrap;gap:12px}.itinerary-heading h1{flex-basis:100%}.itinerary .itinerary-expand{white-space:normal;max-width:100%;height:auto;min-height:44px;padding-block:4px}.itinerary-expand-label{opacity:1}}@media (width<=767px){.itinerary-heading h1{font-size:clamp(2rem,8vw,2.5rem)}.itinerary-summary-meta{font-size:1rem}.itinerary-intro{font-size:1.12rem;line-height:1.6}.photo-strip{justify-content:flex-start;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}.strip-thumb{width:170px;height:114px}.itinerary-days .tl-row{grid-template-columns:48px minmax(0,1fr)}.itinerary-days .stop-buttons{grid-column:2;justify-self:start;margin-top:4px}}@media (prefers-reduced-motion:reduce){.itinerary .itinerary-expand,.itinerary-expand-label{transition:none}}.itinerary .route-map{border:1px solid var(--border);border-radius:var(--radius);height:420px;margin:16px 0;overflow:hidden}.estimate-note{font-size:.85rem}
