.alternative-itinerary-section { border-top:1px solid var(--ink); }
.alternative-heading { display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-md); }
.alternative-mode { flex:0 0 auto; border:1px solid var(--ink); padding:4px 7px; color:var(--muted); font:500 .625rem 'DM Mono',monospace; }
.alternative-mode[data-mode="remote"] { border-color:var(--coral); color:var(--coral-ink); }
.alternative-add { min-height:42px; margin-top:var(--space-md); padding:0 14px; border:1px solid var(--ink); background:var(--yellow); color:var(--ink); font-weight:800; cursor:pointer; }
.alternative-dialog { width:min(460px,calc(100% - 28px)); max-height:min(680px,calc(100dvh - 40px)); padding:0; border:1px solid var(--ink); background:var(--paper); color:var(--ink); box-shadow:8px 8px 0 var(--ink); }
.alternative-dialog::backdrop { background:rgba(16,24,40,.58); }
.alternative-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-md); padding:18px 18px 0; }
.alternative-dialog-head h3 { margin:4px 0 0; font-size:1.1rem; letter-spacing:-.04em; }
.alternative-dialog-close { display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--ink); background:transparent; color:var(--ink); cursor:pointer; font-size:1.35rem; line-height:1; }
.alternative-dialog-close:focus-visible { outline:2px solid var(--coral); outline-offset:2px; }
.alternative-form { display:grid; gap:10px; margin-top:var(--space-md); padding:14px 18px 18px; background:var(--paper); }
.alternative-form label { display:grid; gap:5px; color:var(--ink); font-size:.75rem; font-weight:800; }
.alternative-form label span { color:var(--muted); font-weight:500; }
.alternative-form input { min-width:0; min-height:40px; border:1px solid var(--line); border-radius:0; background:#fffdfa; color:var(--ink); font:500 .8125rem/1.3 Manrope,sans-serif; }
.alternative-form-actions { display:flex; justify-content:flex-end; gap:8px; }
.alternative-form-actions button { min-height:38px; padding:0 11px; border:1px solid var(--ink); background:var(--paper); color:var(--ink); font-weight:800; cursor:pointer; }
.alternative-form-actions button[type="submit"] { background:var(--yellow); }
.alternative-dialog[open] .alternative-form { margin-top:12px; }
.alternative-plan-list { display:grid; gap:8px; margin-top:var(--space-lg); }
.alternative-choice { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; min-height:84px; padding:14px; border:1px solid var(--line); background:var(--paper); }
.alternative-copy { display:grid; gap:4px; min-width:0; }
.alternative-choice strong { font-size:.9375rem; }
.alternative-choice small { color:var(--muted); line-height:1.45; }
.alternative-choice em { color:var(--muted); font:500 .625rem 'DM Mono',monospace; font-style:normal; }
.alternative-choice address { color:var(--muted); font-size:.6875rem; font-style:normal; line-height:1.4; }
.alternative-actions { display:grid; gap:6px; align-self:center; }
.alternative-map-link { display:inline-flex; align-items:center; align-self:center; gap:5px; min-height:38px; padding:0 9px; border:1px solid var(--ink); color:var(--ink); text-decoration:none; font-size:.6875rem; font-weight:800; white-space:nowrap; }
.alternative-map-link span { color:var(--coral-ink); }
.alternative-map-link:focus-visible { outline:2px solid var(--coral); outline-offset:2px; }
.alternative-remove { min-height:34px; border:1px solid var(--line); background:var(--paper); color:var(--muted); font-size:.6875rem; font-weight:800; cursor:pointer; }
.alternative-empty { display:grid; gap:4px; padding:18px 0; color:var(--muted); font-size:.8125rem; }
.alternative-message { min-height:20px; margin:10px 0 0; color:var(--muted); font-size:.75rem; }
.alternative-message.error { color:var(--coral-ink); }
