/* ==============================================================
   CERCA — RUTA CERCA 2.0
   Un único módulo visual para búsqueda, análisis y seguimiento.
   ============================================================== */

:root {
    --cr2-bg:#020817;
    --cr2-panel:#07101f;
    --cr2-card:#0b1425;
    --cr2-border:rgba(148,163,184,.14);
    --cr2-text:#f8fafc;
    --cr2-muted:#94a3b8;
    --cr2-accent:#22d3ee;
    --cr2-green:#10b981;
    --cr2-yellow:#eab308;
    --cr2-orange:#f97316;
    --cr2-red:#ef4444;
}

/* Las interfaces antiguas de ruta quedan fuera de circulación.
   El FAB del mapa se conserva como puerta de entrada y lo captura route-cerca.js. */
#cercaRouteView12,
#ajDestinationSheet,
#ajMapPickBanner,
#ajRoutePanel {
    display:none !important;
}

body.cerca-route-open {
    overflow:hidden !important;
}

.cerca-route-v2 {
    position:fixed;
    inset:0;
    z-index:14000;
    display:none;
    background:var(--cr2-bg);
    color:var(--cr2-text);
    font-family:inherit;
}

.cerca-route-v2.show {
    display:flex;
    flex-direction:column;
}

.cerca-route-v2 * { box-sizing:border-box; }
.cerca-route-v2 button,
.cerca-route-v2 input { font:inherit; }
.cerca-route-v2 button { -webkit-tap-highlight-color:transparent; }

.cerca-route-v2-head {
    flex:0 0 auto;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 42px;
    gap:10px;
    align-items:center;
    min-height:70px;
    padding:calc(10px + env(safe-area-inset-top)) 14px 10px;
    border-bottom:1px solid rgba(148,163,184,.10);
    background:rgba(2,8,23,.96);
    backdrop-filter:blur(16px);
}

.cerca-route-v2-head button {
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:14px;
    border:1px solid var(--cr2-border);
    background:rgba(15,23,42,.74);
    color:#fff;
}

.cerca-route-v2-head-copy { min-width:0; }
.cerca-route-v2-head-copy small {
    display:block;
    color:var(--cr2-accent);
    font-size:.58rem;
    font-weight:900;
    letter-spacing:.10em;
}
.cerca-route-v2-head-copy h2 {
    margin:2px 0 0;
    color:#fff;
    font-size:1.08rem;
    line-height:1.1;
}
.cerca-route-v2-head-copy p {
    margin:3px 0 0;
    color:var(--cr2-muted);
    font-size:.61rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.cerca-route-v2-live {
    width:40px;
    height:40px;
    border-radius:14px;
    display:grid;
    place-items:center;
    color:#86efac;
    border:1px solid rgba(16,185,129,.22);
    background:rgba(16,185,129,.08);
}

.cerca-route-v2-search {
    position:relative;
    z-index:1002;
    flex:0 0 auto;
    padding:10px 12px 9px;
    background:linear-gradient(180deg,rgba(7,16,31,.98),rgba(7,16,31,.94));
    border-bottom:1px solid rgba(148,163,184,.08);
}

.cerca-route-v2-origin {
    display:flex;
    align-items:center;
    gap:7px;
    color:#cbd5e1;
    font-size:.61rem;
    margin-bottom:7px;
}
.cerca-route-v2-origin .material-icons-round { color:var(--cr2-green); font-size:16px; }
.cerca-route-v2-origin strong { color:#ecfdf5; }

.cerca-route-v2-search-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    gap:8px;
}

.cerca-route-v2-input {
    min-width:0;
    height:46px;
    display:flex;
    align-items:center;
    gap:8px;
    border:1px solid rgba(34,211,238,.18);
    border-radius:15px;
    background:rgba(2,6,23,.70);
    padding:0 11px;
}
.cerca-route-v2-input .material-icons-round { color:var(--cr2-accent); font-size:20px; }
.cerca-route-v2-input input {
    min-width:0;
    flex:1;
    border:0;
    outline:0;
    color:#fff;
    background:transparent;
    font-size:.76rem;
}
.cerca-route-v2-input input::placeholder { color:#64748b; }

#cercaRouteSearchV2 {
    width:44px;
    height:46px;
    border:0;
    border-radius:15px;
    background:linear-gradient(135deg,#06b6d4,#0891b2);
    color:#fff;
    display:grid;
    place-items:center;
}

.cerca-route-v2-modes {
    display:flex;
    gap:7px;
    margin-top:8px;
}
.cerca-route-v2-mode {
    min-height:32px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    border-radius:999px;
    border:1px solid var(--cr2-border);
    background:rgba(15,23,42,.58);
    color:#94a3b8;
    font-size:.59rem;
    font-weight:800;
}
.cerca-route-v2-mode .material-icons-round { font-size:15px; }
.cerca-route-v2-mode.active {
    color:#cffafe;
    border-color:rgba(34,211,238,.34);
    background:rgba(34,211,238,.10);
}

.cerca-route-v2-results {
    position:absolute;
    left:12px;
    right:12px;
    top:100%;
    max-height:44vh;
    overflow:auto;
    display:none;
    border:1px solid rgba(148,163,184,.15);
    border-radius:16px;
    background:#07101f;
    box-shadow:0 24px 60px rgba(0,0,0,.44);
}
.cerca-route-v2-results.show { display:block; }
.cerca-route-result-v2 {
    width:100%;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:9px;
    align-items:center;
    border:0;
    border-bottom:1px solid rgba(148,163,184,.08);
    padding:10px;
    text-align:left;
    color:#fff;
    background:transparent;
}
.cerca-route-result-v2:last-child { border-bottom:0; }
.cerca-route-result-v2 > .material-icons-round {
    width:34px;
    height:34px;
    border-radius:11px;
    display:grid;
    place-items:center;
    color:#67e8f9;
    background:rgba(34,211,238,.08);
}
.cerca-route-result-v2 strong,
.cerca-route-result-v2 small { display:block; }
.cerca-route-result-v2 strong { font-size:.70rem; }
.cerca-route-result-v2 small {
    margin-top:2px;
    color:#94a3b8;
    font-size:.56rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.cerca-route-v2-map-wrap {
    position:relative;
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
}
#cercaRouteMapV2 {
    position:absolute;
    inset:0;
    background:#07101f;
}

.cerca-route-v2 .leaflet-control-zoom a {
    background:#0b1425;
    color:#fff;
    border-color:rgba(148,163,184,.16);
}
.cerca-route-v2 .leaflet-control-attribution {
    font-size:8px;
    background:rgba(2,6,23,.75);
    color:#64748b;
}
.cerca-route-v2 .leaflet-control-attribution a { color:#94a3b8; }

.cerca-route-user-dot-v2 {
    width:16px;
    height:16px;
    border-radius:50%;
    background:#38bdf8;
    border:3px solid #fff;
    box-shadow:0 0 0 7px rgba(56,189,248,.16),0 2px 10px rgba(0,0,0,.4);
}
.cerca-route-dest-dot-v2 {
    width:22px;
    height:22px;
    border-radius:8px 8px 8px 2px;
    transform:rotate(-45deg);
    background:#ef4444;
    border:2px solid #fff;
    box-shadow:0 4px 12px rgba(0,0,0,.36);
}
.cerca-route-incident-dot-v2 {
    width:24px;
    height:24px;
    border-radius:50%;
    display:grid;
    place-items:center;
    border:2px solid #0f172a;
    background:var(--incident,#f59e0b);
    color:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.30);
}
.cerca-route-incident-dot-v2 .material-icons-round { font-size:14px; }

.cerca-route-v2-map-badge {
    position:absolute;
    z-index:900;
    top:12px;
    left:12px;
    right:12px;
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:9px 10px;
    border:1px solid rgba(148,163,184,.13);
    border-radius:14px;
    background:rgba(2,8,23,.88);
    backdrop-filter:blur(12px);
    box-shadow:0 12px 30px rgba(0,0,0,.24);
}
.cerca-route-v2-map-badge.show { display:flex; }
.cerca-route-v2-map-badge strong { font-size:.66rem; color:#fff; }
.cerca-route-v2-map-badge span { font-size:.56rem; color:#94a3b8; }

.cerca-route-v2-sheet {
    position:absolute;
    z-index:1000;
    left:8px;
    right:8px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    max-height:min(47vh,430px);
    display:none;
    flex-direction:column;
    border:1px solid rgba(148,163,184,.14);
    border-radius:23px;
    background:rgba(5,12,26,.96);
    box-shadow:0 24px 70px rgba(0,0,0,.52);
    backdrop-filter:blur(18px);
    overflow:hidden;
}
.cerca-route-v2-sheet.show { display:flex; }

.cerca-route-v2-handle {
    width:38px;
    height:4px;
    border-radius:999px;
    background:#334155;
    margin:7px auto 3px;
}

.cerca-route-v2-summary {
    padding:8px 12px 10px;
}
.cerca-route-v2-summary-top {
    display:grid;
    grid-template-columns:74px minmax(0,1fr);
    gap:10px;
    align-items:center;
}
.cerca-route-v2-score {
    min-height:70px;
    border-radius:18px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid color-mix(in srgb,var(--route-level,#10b981) 34%,transparent);
    background:color-mix(in srgb,var(--route-level,#10b981) 10%,transparent);
}
.cerca-route-v2-score strong {
    color:#fff;
    font-size:1.65rem;
    line-height:1;
}
.cerca-route-v2-score span {
    margin-top:4px;
    color:var(--route-level,#10b981);
    font-size:.50rem;
    font-weight:900;
    letter-spacing:.07em;
}
.cerca-route-v2-recommend { min-width:0; }
.cerca-route-v2-recommend small {
    display:inline-flex;
    padding:4px 7px;
    border-radius:999px;
    color:var(--route-level,#10b981);
    background:color-mix(in srgb,var(--route-level,#10b981) 9%,transparent);
    border:1px solid color-mix(in srgb,var(--route-level,#10b981) 25%,transparent);
    font-size:.50rem;
    font-weight:900;
    letter-spacing:.05em;
}
.cerca-route-v2-recommend strong {
    display:block;
    margin-top:5px;
    color:#fff;
    font-size:.80rem;
    line-height:1.22;
}
.cerca-route-v2-recommend p {
    margin:3px 0 0;
    color:#94a3b8;
    font-size:.57rem;
    line-height:1.35;
}

.cerca-route-v2-numbers {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-top:9px;
}
.cerca-route-v2-numbers div {
    min-width:0;
    padding:7px 5px;
    text-align:center;
    border-radius:12px;
    background:rgba(15,23,42,.62);
    border:1px solid rgba(148,163,184,.08);
}
.cerca-route-v2-numbers strong,
.cerca-route-v2-numbers span { display:block; }
.cerca-route-v2-numbers strong { color:#fff; font-size:.72rem; }
.cerca-route-v2-numbers span { margin-top:2px; color:#64748b; font-size:.49rem; }

.cerca-route-v2-alternatives {
    display:flex;
    gap:7px;
    overflow-x:auto;
    padding:0 12px 9px;
    scrollbar-width:none;
}
.cerca-route-v2-alternatives::-webkit-scrollbar { display:none; }
.cerca-route-alt-v2 {
    flex:0 0 148px;
    min-width:0;
    padding:8px 9px;
    text-align:left;
    border-radius:13px;
    border:1px solid rgba(148,163,184,.11);
    background:rgba(15,23,42,.54);
    color:#cbd5e1;
}
.cerca-route-alt-v2.active {
    border-color:rgba(34,211,238,.34);
    background:rgba(34,211,238,.08);
}
.cerca-route-alt-v2 small,
.cerca-route-alt-v2 strong,
.cerca-route-alt-v2 span { display:block; }
.cerca-route-alt-v2 small { color:#67e8f9; font-size:.48rem; font-weight:900; }
.cerca-route-alt-v2 strong { margin-top:3px; color:#fff; font-size:.66rem; }
.cerca-route-alt-v2 span { margin-top:2px; color:#94a3b8; font-size:.52rem; }

.cerca-route-v2-actions {
    display:grid;
    grid-template-columns:minmax(0,1fr) 48px;
    gap:7px;
    padding:0 12px 11px;
}
#cercaRouteStartV2 {
    min-height:44px;
    border:0;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    color:#fff;
    font-size:.68rem;
    font-weight:900;
    background:linear-gradient(135deg,#10b981,#059669);
}
#cercaRouteStartV2:disabled { opacity:.45; }
#cercaRouteIncidentsBtnV2 {
    width:48px;
    border:1px solid rgba(148,163,184,.13);
    border-radius:14px;
    color:#cbd5e1;
    background:rgba(15,23,42,.65);
}

.cerca-route-v2-incidents {
    display:none;
    overflow:auto;
    padding:0 12px 12px;
    border-top:1px solid rgba(148,163,184,.08);
}
.cerca-route-v2-incidents.show { display:block; }
.cerca-route-v2-incidents-head {
    position:sticky;
    top:0;
    z-index:2;
    padding:9px 0 6px;
    background:rgba(5,12,26,.98);
    color:#94a3b8;
    font-size:.53rem;
    font-weight:900;
    letter-spacing:.06em;
}
.cerca-route-incident-v2 {
    width:100%;
    display:grid;
    grid-template-columns:32px minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    padding:8px 0;
    border:0;
    border-bottom:1px solid rgba(148,163,184,.07);
    text-align:left;
    color:#fff;
    background:transparent;
}
.cerca-route-incident-v2 .icon {
    width:32px;
    height:32px;
    border-radius:11px;
    display:grid;
    place-items:center;
    color:#fff;
    background:var(--incident,#f59e0b);
}
.cerca-route-incident-v2 .icon .material-icons-round { font-size:17px; }
.cerca-route-incident-v2 strong,
.cerca-route-incident-v2 small { display:block; }
.cerca-route-incident-v2 strong {
    font-size:.61rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.cerca-route-incident-v2 small { margin-top:2px; color:#64748b; font-size:.50rem; }
.cerca-route-incident-v2 > span:last-child { color:#94a3b8; font-size:.51rem; font-weight:800; }

.cerca-route-v2-empty {
    position:absolute;
    z-index:850;
    left:50%;
    top:48%;
    transform:translate(-50%,-50%);
    width:min(86%,330px);
    padding:16px;
    text-align:center;
    border-radius:19px;
    border:1px solid rgba(148,163,184,.13);
    background:rgba(2,8,23,.90);
    backdrop-filter:blur(12px);
}
.cerca-route-v2-empty .material-icons-round { color:#22d3ee; font-size:32px; }
.cerca-route-v2-empty strong { display:block; margin-top:5px; font-size:.77rem; }
.cerca-route-v2-empty p { margin:4px 0 0; color:#94a3b8; font-size:.58rem; line-height:1.4; }

.cerca-route-v2-disclaimer {
    flex:0 0 auto;
    padding:6px 12px calc(6px + env(safe-area-inset-bottom));
    color:#64748b;
    background:#020817;
    border-top:1px solid rgba(148,163,184,.07);
    font-size:.48rem;
    line-height:1.35;
    text-align:center;
}

@media (min-width:720px) {
    .cerca-route-v2-head,
    .cerca-route-v2-search,
    .cerca-route-v2-disclaimer { padding-left:max(16px,calc((100vw - 760px)/2)); padding-right:max(16px,calc((100vw - 760px)/2)); }
    .cerca-route-v2-sheet { width:min(520px,calc(100% - 24px)); left:12px; right:auto; }
    .cerca-route-v2-results { left:max(16px,calc((100vw - 760px)/2)); right:auto; width:min(520px,calc(100vw - 32px)); }
}


/* ==============================================================
   CERCA — RUTA CERCA 3.0 PREMIUM
   Una sola hoja final. Diseño map-first con planner y bottom sheet.
   ============================================================== */

.cerca-route-premium {
    --cr3-bg:#020817;
    --cr3-panel:rgba(5,13,28,.96);
    --cr3-card:#0a1427;
    --cr3-border:rgba(148,163,184,.14);
    --cr3-cyan:#22d3ee;
    --cr3-green:#10b981;
    background:#020817;
}

/* El mapa manda: header compacto + planner flotante/colapsable */
.cerca-route-premium .cerca-route-v2-head {
    min-height:68px;
    padding:calc(8px + env(safe-area-inset-top)) 14px 8px;
    background:linear-gradient(180deg,#020817 0%,rgba(2,8,23,.96) 100%);
    border-bottom:1px solid rgba(148,163,184,.08);
    z-index:1200;
}
.cerca-route-premium .cerca-route-v2-head-copy h2{font-size:1.08rem}
.cerca-route-premium .cerca-route-v2-head-copy p{font-size:.58rem}

.cerca-route-planner {
    position:relative;
    z-index:1150;
    flex:0 0 auto;
    padding:8px 12px 9px;
    background:linear-gradient(180deg,rgba(2,8,23,.98),rgba(4,12,27,.96));
    border-bottom:1px solid rgba(148,163,184,.08);
    transition:padding .26s ease, background .26s ease;
}
.cerca-route-planner-compact{
    width:100%;
    min-height:48px;
    display:none;
    grid-template-columns:22px minmax(0,1fr) 22px;
    align-items:center;
    gap:9px;
    padding:7px 10px;
    border-radius:16px;
    border:1px solid rgba(34,211,238,.18);
    background:rgba(8,20,38,.92);
    color:#fff;
    text-align:left;
}
.cerca-route-planner-compact>.material-icons-round:first-child{color:#10b981;font-size:18px}
.cerca-route-planner-compact .copy{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);align-items:center;gap:5px}
.cerca-route-planner-compact .copy strong{min-width:0;font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cerca-route-planner-compact .copy small{color:#64748b;text-align:center}
.cerca-route-planner-compact .chevron{font-size:18px;color:#67e8f9}
.cerca-route-planner.collapsed{padding-top:6px;padding-bottom:6px}
.cerca-route-planner.collapsed .cerca-route-planner-compact{display:grid}
.cerca-route-planner.collapsed .cerca-route-planner-body{display:none}

.cerca-route-points{position:relative;padding-right:44px}
.cerca-route-point-row{
    position:relative;
    min-height:48px;
    display:grid;
    grid-template-columns:14px minmax(0,1fr) 38px;
    align-items:center;
    gap:8px;
}
.cerca-route-point-row+.cerca-route-point-row{margin-top:4px}
.cerca-route-point-row:after{
    content:"";position:absolute;left:6px;width:1px;background:rgba(148,163,184,.20);top:-10px;height:20px
}
.cerca-route-point-row.origin-row:after{display:none}
.route-dot{width:10px;height:10px;border-radius:50%;display:block;z-index:2}
.route-dot.origin{border:2px solid #10b981;box-shadow:0 0 0 3px rgba(16,185,129,.08)}
.route-dot.destination{background:#fb7185;box-shadow:0 0 0 3px rgba(251,113,133,.08)}
.cerca-route-point-input{
    min-width:0;height:46px;padding:6px 11px;border:1px solid rgba(148,163,184,.12);border-radius:15px;background:rgba(8,18,35,.82);display:flex;flex-direction:column;justify-content:center
}
.cerca-route-point-input:focus-within{border-color:rgba(34,211,238,.42);box-shadow:0 0 0 3px rgba(34,211,238,.06)}
.cerca-route-point-input small{font-size:.48rem;line-height:1;color:#64748b;font-weight:900;letter-spacing:.08em}
.cerca-route-point-input input{margin-top:3px;width:100%;border:0;outline:0;background:transparent;color:#f8fafc;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.route-point-action{width:36px;height:36px;border-radius:12px;border:1px solid rgba(148,163,184,.12);background:rgba(15,23,42,.72);color:#67e8f9;display:grid;place-items:center}
.route-point-action.primary{background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.24)}
.route-point-action .material-icons-round{font-size:18px}
.cerca-route-swap{position:absolute;right:0;top:31px;width:36px;height:36px;border-radius:13px;border:1px solid rgba(148,163,184,.13);background:#0b1629;color:#cbd5e1;display:grid;place-items:center;z-index:3}
.cerca-route-swap .material-icons-round{font-size:19px}

.cerca-route-premium .cerca-route-v2-modes{margin-top:7px;padding-left:22px}
.cerca-route-premium .cerca-route-v2-mode{min-height:31px;padding:0 12px;background:rgba(8,18,35,.75)}

.cerca-route-premium .cerca-route-v2-results{
    top:calc(100% - 4px);left:12px;right:12px;z-index:2000;max-height:42vh;border-radius:18px;background:#071225;border-color:rgba(34,211,238,.16)
}
.cerca-route-search-state{padding:14px;color:#94a3b8;font-size:.63rem}

/* MAP-FIRST */
.cerca-route-premium .cerca-route-v2-map-wrap{flex:1 1 auto;min-height:0;position:relative}
.cerca-route-premium #cercaRouteMapV2{inset:0}
.cerca-route-premium .leaflet-control-zoom{margin-top:14px!important;margin-right:12px!important}
.cerca-route-premium .leaflet-control-zoom a{width:38px;height:38px;line-height:38px;background:rgba(7,16,31,.94);color:#fff;border-color:rgba(148,163,184,.14);backdrop-filter:blur(10px)}
.cerca-route-premium .leaflet-control-attribution{font-size:8px;background:rgba(2,8,23,.65)!important;color:#94a3b8!important}

.cerca-route-recenter{position:absolute;right:13px;bottom:108px;z-index:900;width:44px;height:44px;border-radius:15px;border:1px solid rgba(148,163,184,.16);background:rgba(7,16,31,.94);color:#67e8f9;display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.22);backdrop-filter:blur(12px);transition:bottom .25s ease}
.cerca-route-recenter .material-icons-round{font-size:21px}

.cerca-route-premium .cerca-route-v2-map-badge{
    top:12px;left:12px;right:auto;max-width:min(64vw,280px);min-height:42px;padding:7px 10px;display:none;grid-template-columns:8px minmax(0,1fr);gap:8px;align-items:center;border-radius:14px;border:1px solid color-mix(in srgb,var(--route-level,#22d3ee) 28%,transparent);background:rgba(7,16,31,.91);box-shadow:0 10px 30px rgba(0,0,0,.20);backdrop-filter:blur(12px)
}
.cerca-route-premium .cerca-route-v2-map-badge.show{display:grid}
.cerca-route-v2-map-badge .status-dot{width:7px;height:7px;border-radius:50%;background:var(--route-level,#22d3ee);box-shadow:0 0 0 4px color-mix(in srgb,var(--route-level,#22d3ee) 12%,transparent)}
.cerca-route-v2-map-badge>div{min-width:0}
.cerca-route-v2-map-badge strong,.cerca-route-v2-map-badge span{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cerca-route-v2-map-badge strong{font-size:.61rem;color:#fff}
.cerca-route-v2-map-badge #cercaRouteMapBadgeTextV2{font-size:.51rem;color:#94a3b8;margin-top:2px}
.cerca-route-v2-map-badge>span.material-icons-round{display:none!important}

.cerca-route-premium .cerca-route-v2-empty{top:48%;max-width:260px;padding:14px 16px;border-radius:18px;background:rgba(7,16,31,.80);backdrop-filter:blur(10px);box-shadow:0 16px 40px rgba(0,0,0,.20)}
.cerca-route-premium .cerca-route-v2-empty .material-icons-round{font-size:27px}
.cerca-route-premium .cerca-route-v2-empty strong{font-size:.75rem}
.cerca-route-premium .cerca-route-v2-empty p{font-size:.56rem}

/* BOTTOM SHEET 3 estados */
.cerca-route-premium .cerca-route-v2-sheet{
    display:flex!important;position:absolute;left:0;right:0;bottom:0;z-index:1000;width:100%;max-width:none;margin:0;padding:0 14px calc(10px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;border:1px solid rgba(148,163,184,.13);border-bottom:0;background:linear-gradient(180deg,rgba(7,16,31,.985),rgba(2,8,23,.99));box-shadow:0 -18px 50px rgba(0,0,0,.34);backdrop-filter:blur(20px);overflow:hidden;transform:none;transition:height .28s cubic-bezier(.2,.8,.2,1);flex-direction:column
}
.cerca-route-v2-sheet.sheet-peek{height:92px}
.cerca-route-v2-sheet.sheet-mid{height:270px}
.cerca-route-v2-sheet.sheet-full{height:min(66vh,620px)}
.cerca-route-premium .cerca-route-v2-handle{width:100%;height:22px;flex:0 0 22px;display:grid;place-items:center;border:0;background:transparent;padding:0;cursor:ns-resize}
.cerca-route-premium .cerca-route-v2-handle span{width:42px;height:4px;border-radius:999px;background:#334155}
.cerca-route-sheet-peekline{min-height:52px;display:grid;grid-template-columns:48px minmax(0,1fr) 24px;gap:10px;align-items:center;flex:0 0 auto}
.cerca-route-mini-score{width:48px;height:48px;border-radius:16px;border:1px solid color-mix(in srgb,var(--route-level,#22d3ee) 32%,transparent);background:color-mix(in srgb,var(--route-level,#22d3ee) 9%,#07101f);display:grid;place-items:center}
.cerca-route-mini-score strong{font-size:1.25rem;color:#fff;line-height:1}
.cerca-route-peek-copy{min-width:0}
.cerca-route-peek-copy small{display:block;color:var(--route-level,#67e8f9);font-size:.49rem;font-weight:950;letter-spacing:.07em}
.cerca-route-peek-copy strong{display:block;margin-top:2px;color:#fff;font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cerca-route-peek-copy span{display:block;margin-top:2px;color:#94a3b8;font-size:.54rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet-chevron{font-size:19px;color:#64748b}
.cerca-route-sheet-detail{min-height:0;flex:1 1 auto;overflow-y:auto;padding:6px 0 8px;opacity:1;transition:opacity .18s ease}
.sheet-peek .cerca-route-sheet-detail{opacity:0;pointer-events:none}
.cerca-route-premium .cerca-route-v2-summary{padding:0;background:none;border:0}
.cerca-route-premium .cerca-route-v2-summary>p{margin:0 0 9px;color:#94a3b8;font-size:.60rem;line-height:1.4}
.cerca-route-premium .cerca-route-v2-numbers{margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.cerca-route-premium .cerca-route-v2-numbers>div{padding:8px 6px;border-radius:14px;background:rgba(15,23,42,.52);border:1px solid rgba(148,163,184,.09)}
.cerca-route-premium .cerca-route-v2-numbers strong{font-size:.74rem}
.cerca-route-premium .cerca-route-v2-numbers span{font-size:.48rem}
.cerca-route-premium .cerca-route-v2-alternatives{margin-top:9px;gap:7px;overflow-x:auto;display:flex;scroll-snap-type:x proximity}
.cerca-route-premium .cerca-route-alt-v2{min-width:150px;flex:0 0 150px;scroll-snap-align:start;padding:9px;border-radius:15px}
.cerca-route-premium .cerca-route-alt-v2 small{font-size:.49rem}.cerca-route-premium .cerca-route-alt-v2 strong{font-size:.67rem}.cerca-route-premium .cerca-route-alt-v2 span{font-size:.52rem}
.cerca-route-premium .cerca-route-v2-actions{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:8px;margin:7px 0 0}
.cerca-route-premium #cercaRouteStartV2{min-height:50px;border-radius:16px;font-size:.72rem}
.cerca-route-premium #cercaRouteIncidentsBtnV2{width:50px;min-height:50px;border-radius:16px}
.cerca-route-premium .cerca-route-v2-incidents{display:block!important;margin-top:10px;max-height:none;overflow:visible;border-top:1px solid rgba(148,163,184,.09);padding-top:7px}
.cerca-route-premium .cerca-route-v2-disclaimer{padding:9px 2px 2px;font-size:.49rem;line-height:1.35;color:#64748b;text-align:center;background:none;border:0}

.sheet-peek .cerca-route-v2-actions{position:absolute;right:14px;bottom:10px;grid-template-columns:46px;z-index:2}
.sheet-peek #cercaRouteStartV2{width:46px;min-height:46px;padding:0;border-radius:15px}
.sheet-peek #cercaRouteStartV2 span:last-child{display:none}
.sheet-peek #cercaRouteIncidentsBtnV2{display:none}
.sheet-peek .cerca-route-sheet-peekline{padding-right:52px}
.sheet-mid .cerca-route-v2-incidents,.sheet-mid .cerca-route-v2-disclaimer{display:none!important}

/* Durante navegación: casi todo el mapa */
.cerca-route-premium.navigation-active .cerca-route-v2-head{min-height:58px;padding-top:calc(5px + env(safe-area-inset-top));padding-bottom:5px}
.cerca-route-premium.navigation-active .cerca-route-v2-head-copy p{display:none}
.cerca-route-premium.navigation-active .cerca-route-planner{padding-top:5px;padding-bottom:5px}
.cerca-route-premium.navigation-active .cerca-route-recenter{bottom:108px}

/* Marcador de origen personalizado */
.cerca-route-origin-dot-v3{width:18px;height:18px;border-radius:50%;background:#07101f;border:4px solid #10b981;box-shadow:0 0 0 3px rgba(16,185,129,.18),0 5px 15px rgba(0,0,0,.3)}

@media (max-width:390px){
    .cerca-route-premium .cerca-route-v2-head{grid-template-columns:39px minmax(0,1fr) 39px;gap:8px;padding-left:10px;padding-right:10px}
    .cerca-route-planner{padding-left:9px;padding-right:9px}
    .cerca-route-points{padding-right:40px}
    .cerca-route-point-input input{font-size:.68rem}
    .cerca-route-v2-sheet.sheet-mid{height:255px}
    .cerca-route-v2-sheet.sheet-full{height:64vh}
}


/* ==============================================================
   CERCA RUTA 3.1 — VOY CONDUCIENDO + MODO NAVEGACIÓN
   ============================================================== */

body.cerca-driving-open,
body.cerca-route-open { overflow:hidden!important; }

/* Centro Voy conduciendo */
.cerca-driving-hub-v31{
    position:fixed;inset:0;z-index:10050;display:none;flex-direction:column;
    background:linear-gradient(180deg,#06101f 0%,#07111f 50%,#050b15 100%);
    color:#f8fafc;overflow:hidden
}
.cerca-driving-hub-v31.show{display:flex}
.cerca-driving-head-v31{
    flex:0 0 auto;min-height:94px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;
    display:grid;grid-template-columns:48px minmax(0,1fr) 46px;gap:12px;align-items:center;
    background:rgba(4,12,25,.96);border-bottom:1px solid rgba(148,163,184,.10)
}
.cerca-driving-head-v31>button{
    width:46px;height:46px;border-radius:16px;border:1px solid rgba(148,163,184,.14);
    background:#0b1629;color:#fff;display:grid;place-items:center
}
.cerca-driving-head-v31>button .material-icons-round{font-size:26px}
.cerca-driving-head-v31>div{min-width:0}
.cerca-driving-head-v31 small{display:block;color:#22d3ee;font-size:.58rem;font-weight:950;letter-spacing:.12em}
.cerca-driving-head-v31 h2{margin:3px 0 0;font-size:1.15rem;line-height:1.05}
.cerca-driving-head-v31 p{margin:4px 0 0;color:#94a3b8;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cerca-driving-head-v31 .head-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;color:#6ee7b7;background:rgba(16,185,129,.09);border:1px solid rgba(16,185,129,.16)}
.cerca-driving-scroll-v31{flex:1 1 auto;overflow-y:auto;padding:18px 16px calc(28px + env(safe-area-inset-bottom))}
.cerca-driving-hero-v31{
    position:relative;overflow:hidden;padding:20px;border-radius:28px;border:1px solid rgba(34,211,238,.18);
    background:radial-gradient(circle at 90% 0%,rgba(34,211,238,.18),transparent 38%),linear-gradient(145deg,#0b1a2c,#07111f 66%);
    box-shadow:0 22px 60px rgba(0,0,0,.26)
}
.cerca-driving-hero-v31:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-65px;bottom:-95px;border:1px solid rgba(34,211,238,.14)}
.cerca-driving-live-v31{display:inline-flex;align-items:center;gap:7px;color:#6ee7b7;font-size:.55rem;font-weight:950;letter-spacing:.11em}
.cerca-driving-live-v31 i{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.12)}
.cerca-driving-hero-v31 .hero-icon{margin-top:22px;width:62px;height:62px;border-radius:21px;display:grid;place-items:center;font-size:31px;color:#07111f;background:linear-gradient(145deg,#67e8f9,#10b981);box-shadow:0 14px 34px rgba(16,185,129,.16)}
.cerca-driving-hero-v31 h3{margin:16px 0 0;font-size:1.32rem}
.cerca-driving-hero-v31>p{max-width:430px;margin:7px 0 0;color:#a9b7ca;font-size:.68rem;line-height:1.55}
.cerca-driving-context-v31{margin-top:16px;padding:12px 13px;border-radius:17px;background:rgba(2,8,23,.50);border:1px solid rgba(148,163,184,.09)}
.cerca-driving-context-v31 strong,.cerca-driving-context-v31 span{display:block}
.cerca-driving-context-v31 strong{font-size:.68rem}
.cerca-driving-context-v31 span{margin-top:4px;color:#94a3b8;font-size:.57rem;line-height:1.4}
.cerca-driving-primary-v31{
    position:relative;z-index:2;width:100%;min-height:60px;margin-top:16px;padding:0 14px;border:0;border-radius:19px;
    display:grid;grid-template-columns:35px minmax(0,1fr) 24px;gap:10px;align-items:center;text-align:left;
    background:linear-gradient(135deg,#10b981,#16c79a);color:#03120f;box-shadow:0 16px 36px rgba(16,185,129,.18)
}
.cerca-driving-primary-v31>.material-icons-round:first-child{font-size:26px}
.cerca-driving-primary-v31 strong,.cerca-driving-primary-v31 small{display:block}
.cerca-driving-primary-v31 strong{font-size:.75rem;font-weight:1000;letter-spacing:.02em}
.cerca-driving-primary-v31 small{margin-top:2px;font-size:.54rem;opacity:.72}
.cerca-driving-section-v31{margin-top:24px}
.cerca-driving-section-v31 .section-copy small{color:#67e8f9;font-size:.55rem;font-weight:950;letter-spacing:.10em}
.cerca-driving-section-v31 .section-copy h3{margin:4px 0 0;font-size:1rem}
.cerca-driving-grid-v31{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.cerca-driving-grid-v31 button{min-height:112px;padding:14px;border-radius:22px;border:1px solid rgba(148,163,184,.10);background:linear-gradient(145deg,#0b1629,#07101f);color:#f8fafc;text-align:left}
.cerca-driving-grid-v31 button>.material-icons-round{font-size:26px;color:#67e8f9}
.cerca-driving-grid-v31 strong,.cerca-driving-grid-v31 small{display:block}
.cerca-driving-grid-v31 strong{margin-top:13px;font-size:.73rem}
.cerca-driving-grid-v31 small{margin-top:4px;color:#94a3b8;font-size:.56rem}
.cerca-driving-note-v31{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;margin-top:20px;padding:13px;border-radius:17px;background:rgba(245,158,11,.055);border:1px solid rgba(245,158,11,.12);color:#94a3b8}
.cerca-driving-note-v31 .material-icons-round{font-size:19px;color:#f59e0b}
.cerca-driving-note-v31 p{margin:0;font-size:.55rem;line-height:1.45}

/* HUD de conducción */
.cerca-route-nav-hud-v31{display:none;position:absolute;left:12px;right:72px;top:calc(10px + env(safe-area-inset-top));z-index:1200;min-height:78px;padding:10px 12px 10px 8px;border-radius:20px;border:1px solid rgba(148,163,184,.14);background:rgba(5,14,28,.95);box-shadow:0 16px 42px rgba(0,0,0,.28);backdrop-filter:blur(18px);grid-template-columns:38px 50px minmax(0,1fr);gap:9px;align-items:center}
.navigation-active .cerca-route-nav-hud-v31{display:grid}
.cerca-route-nav-hud-v31 .nav-exit{width:36px;height:36px;border-radius:13px;border:1px solid rgba(148,163,184,.13);background:rgba(15,23,42,.78);color:#fff;display:grid;place-items:center}
.cerca-route-nav-hud-v31 .nav-exit .material-icons-round{font-size:20px}
.cerca-route-nav-hud-v31 .nav-turn{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#22d3ee,#10b981);color:#041019}
.cerca-route-nav-hud-v31 .nav-turn .material-icons-round{font-size:30px}
.cerca-route-nav-hud-v31 .nav-copy{min-width:0}
.cerca-route-nav-hud-v31 .nav-copy small{display:block;color:#67e8f9;font-size:.51rem;font-weight:1000;letter-spacing:.09em}
.cerca-route-nav-hud-v31 .nav-copy strong{display:block;margin-top:3px;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cerca-route-nav-hud-v31 .nav-copy span{display:block;margin-top:3px;color:#94a3b8;font-size:.54rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.cerca-route-nav-arrow-v31{width:38px;height:38px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#67e8f9,#22d3ee);color:#041019;border:3px solid #fff;box-shadow:0 8px 24px rgba(0,0,0,.34),0 0 0 6px rgba(34,211,238,.14);transform-origin:center center}
.cerca-route-nav-arrow-v31 .material-icons-round{font-size:25px}

/* Durante navegación, mapa de pantalla completa */
.cerca-route-premium.navigation-active .cerca-route-v2-head,
.cerca-route-premium.navigation-active .cerca-route-planner{display:none!important}
.cerca-route-premium.navigation-active .cerca-route-v2-map-wrap{flex:1 1 100%;height:100%;min-height:100%}
.cerca-route-premium.navigation-active .cerca-route-v2-map-badge{display:none!important}
.cerca-route-premium.navigation-active .leaflet-control-zoom{display:none!important}
.cerca-route-premium.navigation-active .cerca-route-recenter{right:13px;bottom:110px;top:auto}
.cerca-route-premium.navigation-active .cerca-route-v2-sheet.sheet-peek{height:96px}
.cerca-route-premium.navigation-active .cerca-route-v2-sheet{padding-left:14px;padding-right:14px}
.cerca-route-premium.navigation-active .cerca-route-peek-copy small{color:#67e8f9}
.cerca-route-premium.navigation-active .sheet-peek #cercaRouteStartV2{background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.24)}
.cerca-route-premium.navigation-active .sheet-peek #cercaRouteStartV2 .material-icons-round{font-size:22px}

@media (min-width:700px){
    .cerca-driving-scroll-v31{padding-left:max(20px,calc((100vw - 760px)/2));padding-right:max(20px,calc((100vw - 760px)/2))}
    .cerca-route-nav-hud-v31{right:auto;width:min(520px,calc(100vw - 100px))}
}

/* ============================================================
   VOY CONDUCIENDO V1 — INTELIGENCIA EN RUTA (SIN VOZ)
   ============================================================ */
.cerca-route-drive-alert-v1,
.cerca-route-alt-prompt-v1,
.cerca-route-arrival-v1,
.cerca-route-drive-chip-v1{display:none}

.cerca-route-drive-alert-v1{
    position:absolute;left:12px;right:12px;top:calc(98px + env(safe-area-inset-top));z-index:1250;
    grid-template-columns:48px minmax(0,1fr);gap:10px;padding:11px;border-radius:20px;
    border:1px solid color-mix(in srgb,var(--incident,#f59e0b) 34%,rgba(148,163,184,.12));
    background:rgba(5,14,28,.96);box-shadow:0 18px 46px rgba(0,0,0,.32);backdrop-filter:blur(18px)
}
.cerca-route-drive-alert-v1.show{display:grid;animation:cercaDriveIn .22s ease-out}
.cerca-route-drive-alert-v1 .alert-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--incident,#f59e0b) 16%,transparent);color:var(--incident,#f59e0b)}
.cerca-route-drive-alert-v1 .alert-icon .material-icons-round{font-size:27px}
.cerca-route-drive-alert-v1 .alert-copy{min-width:0;padding-top:1px}
.cerca-route-drive-alert-v1 .alert-copy small{display:block;color:var(--incident,#f59e0b);font-size:.50rem;font-weight:1000;letter-spacing:.10em}
.cerca-route-drive-alert-v1 .alert-copy strong{display:block;margin-top:3px;color:#fff;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cerca-route-drive-alert-v1 .alert-copy span{display:block;margin-top:4px;color:#a8b6c8;font-size:.54rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cerca-route-drive-alert-v1 .alert-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:1px}
.cerca-route-drive-alert-v1 .alert-actions button{min-height:35px;border-radius:12px;border:1px solid rgba(148,163,184,.13);background:rgba(15,23,42,.76);color:#dbeafe;font-size:.56rem;font-weight:950}
.cerca-route-drive-alert-v1 .alert-actions button:first-child{background:color-mix(in srgb,var(--incident,#f59e0b) 13%,rgba(15,23,42,.76));color:#fff}

.cerca-route-alt-prompt-v1{
    position:absolute;left:12px;right:12px;bottom:112px;z-index:1260;padding:13px;border-radius:22px;
    border:1px solid rgba(34,211,238,.20);background:rgba(5,14,28,.97);box-shadow:0 20px 54px rgba(0,0,0,.36);backdrop-filter:blur(20px)
}
.cerca-route-alt-prompt-v1.show{display:block;animation:cercaDriveUp .24s ease-out}
.cerca-route-alt-prompt-v1 .alt-head{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center}
.cerca-route-alt-prompt-v1 .alt-head>.material-icons-round{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:rgba(34,211,238,.11);color:#67e8f9}
.cerca-route-alt-prompt-v1 .alt-head small{display:block;color:#67e8f9;font-size:.49rem;font-weight:1000;letter-spacing:.10em}
.cerca-route-alt-prompt-v1 .alt-head strong{display:block;margin-top:2px;font-size:.72rem}
.cerca-route-alt-prompt-v1 .alt-compare{display:grid;grid-template-columns:1fr 28px 1fr;gap:7px;align-items:center;margin-top:12px}
.cerca-route-alt-prompt-v1 .alt-compare>div{padding:10px;border-radius:15px;background:rgba(255,255,255,.035);border:1px solid rgba(148,163,184,.10)}
.cerca-route-alt-prompt-v1 .alt-compare>div.better{background:rgba(16,185,129,.07);border-color:rgba(16,185,129,.20)}
.cerca-route-alt-prompt-v1 .alt-compare>span{color:#64748b;text-align:center;font-size:20px}
.cerca-route-alt-prompt-v1 .alt-compare small,.cerca-route-alt-prompt-v1 .alt-compare strong,.cerca-route-alt-prompt-v1 .alt-compare span{display:block}
.cerca-route-alt-prompt-v1 .alt-compare small{font-size:.48rem;color:#94a3b8;font-weight:900}
.cerca-route-alt-prompt-v1 .alt-compare strong{margin-top:4px;font-size:.75rem}
.cerca-route-alt-prompt-v1 .alt-compare strong b{font-size:1.05rem}
.cerca-route-alt-prompt-v1 .alt-compare>div>span{margin-top:3px;color:#94a3b8;font-size:.53rem;text-align:left}
.cerca-route-alt-prompt-v1 p{margin:9px 0 0;color:#a9b7ca;font-size:.54rem}
.cerca-route-alt-prompt-v1 .alt-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:8px;margin-top:11px}
.cerca-route-alt-prompt-v1 .alt-actions button{min-height:39px;border-radius:13px;border:1px solid rgba(148,163,184,.12);background:rgba(15,23,42,.75);color:#dbeafe;font-size:.55rem;font-weight:950}
.cerca-route-alt-prompt-v1 .alt-actions button:last-child{border:0;background:linear-gradient(135deg,#22d3ee,#10b981);color:#041019}

.cerca-route-drive-chip-v1{
    position:absolute;left:50%;top:calc(92px + env(safe-area-inset-top));transform:translate(-50%,-12px);z-index:1240;
    align-items:center;gap:7px;padding:8px 11px;border-radius:999px;border:1px solid rgba(16,185,129,.20);
    background:rgba(5,14,28,.94);color:#bbf7d0;box-shadow:0 12px 32px rgba(0,0,0,.28);font-size:.55rem;font-weight:900;white-space:nowrap;opacity:0;transition:.2s ease
}
.cerca-route-drive-chip-v1.show{display:flex;opacity:1;transform:translate(-50%,0)}
.cerca-route-drive-chip-v1.route{color:#a5f3fc;border-color:rgba(34,211,238,.22)}
.cerca-route-drive-chip-v1.neutral{color:#cbd5e1;border-color:rgba(148,163,184,.16)}
.cerca-route-drive-chip-v1 .material-icons-round{font-size:17px}

.cerca-route-arrival-v1{
    position:absolute;inset:0;z-index:1400;padding:calc(48px + env(safe-area-inset-top)) 18px calc(30px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(3,10,22,.86),rgba(3,10,22,.97));backdrop-filter:blur(14px);align-content:center;justify-items:center;text-align:center
}
.cerca-route-arrival-v1.show{display:grid;animation:cercaDriveFade .25s ease-out}
.cerca-route-arrival-v1 .arrival-icon{width:72px;height:72px;border-radius:25px;display:grid;place-items:center;background:linear-gradient(145deg,#67e8f9,#10b981);color:#041019;font-size:38px;box-shadow:0 18px 48px rgba(16,185,129,.18)}
.cerca-route-arrival-v1>small{margin-top:20px;color:#67e8f9;font-size:.54rem;font-weight:1000;letter-spacing:.13em}
.cerca-route-arrival-v1 h3{margin:5px 0 0;font-size:1.65rem}
.cerca-route-arrival-v1>p{margin:5px 0 0;color:#a9b7ca;font-size:.72rem}
.cerca-route-arrival-v1 .arrival-stats{width:min(460px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px}
.cerca-route-arrival-v1 .arrival-stats>div{padding:13px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(148,163,184,.10)}
.cerca-route-arrival-v1 .arrival-stats strong,.cerca-route-arrival-v1 .arrival-stats span{display:block}
.cerca-route-arrival-v1 .arrival-stats strong{font-size:.83rem}
.cerca-route-arrival-v1 .arrival-stats span{margin-top:3px;color:#94a3b8;font-size:.51rem}
.cerca-route-arrival-v1>button{width:min(460px,100%);min-height:48px;margin-top:16px;border:0;border-radius:16px;background:linear-gradient(135deg,#22d3ee,#10b981);color:#041019;font-size:.67rem;font-weight:1000}

@keyframes cercaDriveIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes cercaDriveUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes cercaDriveFade{from{opacity:0}to{opacity:1}}

/* navegación: menos distracciones, más mapa */
.cerca-route-premium.navigation-active .cerca-route-v2-sheet.sheet-peek{height:90px}
.cerca-route-premium.navigation-active .cerca-route-recenter{bottom:102px}
.cerca-route-premium.navigation-active .cerca-route-sheet-detail{display:none!important}
.cerca-route-premium.navigation-active .cerca-route-v2-actions{min-height:38px}

@media (min-width:700px){
    .cerca-route-drive-alert-v1,.cerca-route-alt-prompt-v1{right:auto;width:min(500px,calc(100vw - 24px))}
    .cerca-route-arrival-v1 .arrival-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
}
