/* Trip planning, offline card and local alerts */
.travel-sec{scroll-margin-top:calc(var(--head) + 16px)}
.travel-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:1rem;align-items:start}
.travel-secondary{margin-top:1rem;grid-template-columns:1fr 1fr}
.planner-card,.trip-result-card,.planb-card,.alert-card,.camera-card{min-width:0}
.planner-controls{display:grid;grid-template-columns:1fr 130px;gap:.8rem}
.planner-controls label{display:grid;gap:.32rem;color:var(--muted);font-size:.9rem}
.planner-controls select{width:100%;min-height:42px;padding:.55rem .7rem;border:1px solid var(--line2);border-radius:8px;background:var(--bg2);color:var(--ink);font:inherit}
.interest-field,.alert-card fieldset{border:0;margin:1.1rem 0 0;padding:0}
.interest-field legend,.alert-card legend{color:var(--muted);font-size:.9rem;margin-bottom:.5rem}
.interest-field{display:flex;gap:.45rem;flex-wrap:wrap}
.interest-field legend{width:100%}
.interest-field label,.alert-choice,.access-filter{display:inline-flex;align-items:flex-start;gap:.45rem;cursor:pointer}
.interest-field label{padding:.34rem .65rem;border:1px solid var(--line);border-radius:999px;font-size:.88rem;color:var(--muted)}
.interest-field input,.alert-choice input,.access-filter input{accent-color:var(--green);margin-top:.24rem;flex:none}
.interest-field label:has(input:checked){border-color:color-mix(in srgb,var(--green) 56%,transparent);color:var(--ink);background:color-mix(in srgb,var(--green) 9%,var(--panel))}
.trip-primary{margin-top:1.1rem}
.trip-note,.trip-safety,.trip-saved,.trip-route-note{font-size:.85rem;color:var(--muted);margin-top:.75rem}
.trip-safety{border-left:3px solid var(--amber);padding:.55rem .7rem;background:color-mix(in srgb,var(--amber) 8%,var(--panel));color:var(--ink)}
.trip-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.45rem}
.trip-actions .btn{margin-top:0}
.trip-result-card h3,.planb-card h3,.alert-card h3,.camera-card h3{font-size:1.08rem;margin-bottom:.7rem}
.trip-day{padding:.7rem 0;border-top:1px solid var(--line)}
.trip-day h4{font-size:.86rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin:0 0 .35rem}
.trip-day ol,.planb-list{list-style:none;margin:0;padding:0}
.trip-day li{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.trip-day li{position:relative;padding-left:1.1rem;animation:itinerary-stop .48s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stop-i,0)*70ms)}
.trip-day li::before{content:"";position:absolute;left:.1rem;top:.92rem;width:7px;height:7px;border:1px solid var(--gold);border-radius:50%;background:var(--panel)}
.trip-day li:not(:last-child)::after{content:"";position:absolute;left:.39rem;top:1.12rem;bottom:-.5rem;width:1px;background:linear-gradient(var(--gold),var(--line));transform-origin:top;animation:itinerary-line .4s var(--ease) both;animation-delay:calc(var(--stop-i,0)*70ms + 100ms)}
@keyframes itinerary-stop{from{opacity:.35;transform:translateY(7px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@keyframes itinerary-line{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.trip-day li div{display:grid;min-width:0}
.trip-day li b{font-size:.93rem;font-weight:600}
.trip-day li span{color:var(--muted);font-size:.8rem}
.trip-day li a,.planb-list a{color:var(--gold);font-size:.82rem;white-space:nowrap}
.planb-clear{padding:.65rem .75rem;border-left:3px solid var(--green);background:color-mix(in srgb,var(--green) 7%,var(--panel))}
.planb-list li{display:grid;grid-template-columns:8px 1fr auto;gap:.55rem;align-items:start;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.issue-dot{width:7px;height:7px;margin-top:.42rem;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 14%,transparent)}
.alert-choice{display:flex;padding:.35rem 0;font-size:.9rem}
.alert-card .btn{margin-top:.75rem}
.access-filter{flex-basis:100%;align-items:center;color:var(--muted);font-size:.84rem}
.place-tags .tag.access{color:var(--green);border-color:color-mix(in srgb,var(--green) 38%,transparent)}
.camera-grid{margin-top:.25rem}
.camera-place{display:inline-block;margin-bottom:.35rem;color:var(--gold);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.camera-card p{color:var(--muted)}
.camera-card .btn{margin-top:.55rem}
@media (min-width:760px) and (max-width:1099px){.nav{gap:.65rem;font-size:.8rem}.nav a:nth-of-type(n+6){display:none}.brand-tag{display:none}}
@media(max-width:900px){.travel-grid{grid-template-columns:1fr}.travel-secondary{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.travel-secondary{grid-template-columns:1fr}.planner-controls{grid-template-columns:1fr 100px}.trip-day li{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.trip-primary{transition:none}}
@media(prefers-reduced-motion:reduce){.trip-day li,.trip-day li::after{animation:none;filter:none;opacity:1;transform:none}}
