/* RUTA · mejoras: reserva ajustable, hora de salida, línea de tiempo de paradas, coste y objetivos táctiles. */
.trip-settings{display:grid;grid-template-columns:auto auto;gap:14px 22px;align-items:end;margin-bottom:16px}
.reserve-field{border:0;margin:0;padding:0;min-width:0}
.reserve-field legend,.departure-field label{font-size:13px;color:#d8e7ed;font-weight:600;margin-bottom:8px;padding:0}
.departure-field label{display:block}
.reserve-options{display:flex;flex-wrap:wrap;gap:6px}
.reserve-options button{background:transparent;border:1px solid #52717f;color:#c6d9e2;padding:8px 11px;font-size:13px;min-height:44px;min-width:52px;border-radius:7px;cursor:pointer}
.reserve-options button[aria-pressed=true]{background:#6fe3ea;color:#10212a;border-color:#6fe3ea;font-weight:600}
#departure-time{min-height:44px;background:#0b141b;color:#e9f4f8;border:1px solid #52717f;border-radius:7px;padding:8px 10px;font:500 15px Inter,Arial,sans-serif;color-scheme:dark}
.station-cost{display:block;margin-top:10px;font-size:13px;color:#ffbf66;font-weight:600;text-align:left}
.station[disabled] .station-cost{color:#8ea3ad;font-weight:400}
.stop-timeline{list-style:none;margin:18px 0 6px;padding:0;display:grid;gap:0;position:relative}
.stop-timeline li{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:start;padding:10px 0 10px 18px;position:relative;font-size:14px;color:#e9f4f8;border-left:2px solid #344854;margin-left:5px}
.stop-timeline li::before{content:'';position:absolute;left:-7px;top:14px;width:12px;height:12px;border-radius:50%;background:#121b24;border:2px solid #6fe3ea}
.stop-timeline .tl-stop::before{background:#ffbf66;border-color:#ffbf66}
.stop-timeline .tl-end::before{background:#6fe3ea}
.stop-timeline li:last-child{border-left-color:transparent}
.stop-timeline b{font:600 14px/1.4 Inter,Arial,sans-serif;font-variant-numeric:tabular-nums;color:#e9f4f8}
.stop-timeline span{line-height:1.4}
.stop-timeline small{display:block;font-size:12px;color:#b2c4ce;margin-top:2px}
.stop-timeline em{font-style:normal;font-variant-numeric:tabular-nums;color:#6fe3ea;font-weight:600;white-space:nowrap}
.trip-cost{font-size:13px;color:#ffbf66;margin:6px 0 0}
/* Objetivos táctiles y lectura */
.demo-bar a,footer a{min-height:44px;display:inline-flex;align-items:center}
.header .brand,.header .nav-cta{min-height:44px;display:inline-flex;align-items:center}
#origin-city,#destination-city,.calculate-route{min-height:44px}
#reset-plan{min-width:44px;min-height:44px}
.quick-routes button,.charge-presets button{min-height:44px}
.energy-controls input[type=range]{min-height:44px;margin:12px 0 10px!important}
.energy-explanation summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
#station-incident{width:22px;height:22px;accent-color:#6fe3ea}
label:has(#station-incident){min-height:44px;display:flex;align-items:center;gap:10px;cursor:pointer}
@media(max-width:620px){.trip-settings{grid-template-columns:1fr}.stop-timeline li{grid-template-columns:46px 1fr;}.stop-timeline em{grid-column:2}}
/* Móvil más compacto: menos altura en ilustraciones, mismo contenido */
@media(max-width:620px){.decision-art{height:130px!important}.context-image{max-height:210px;overflow:hidden}.context-image img{width:100%;height:210px;object-fit:cover}.closing img{max-height:170px;object-fit:cover;width:100%}}
