/* Boceto V9. Una sola capa visual; estilos base conservados para mapas y otras vistas. */
:root{--cr-blue:#0065ff;--cr-navy:#080d60;--cr-text:#405276;--cr-line:#dae7f0;--cr-bg:#edf6fa}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--cr-bg);font-size:16px}
body{margin:0;background:var(--cr-bg);font:14px/1.45 Arial,Helvetica,sans-serif;color:var(--cr-text);text-align:left}
button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}
a{color:var(--cr-blue)}a:hover{text-decoration:underline}button:disabled{cursor:default;opacity:.5}
:focus-visible{outline:3px solid #075bea;outline-offset:3px}
.container-12{width:calc(100% - 40px)!important;max-width:1224px;min-width:0;margin:0 auto!important}
.container-12>.grid-12{width:100%!important;float:none!important;margin:0!important;min-width:0}
#main-content{padding:8px 0 16px}#header{margin:0;background:#f9fcfe;border-bottom:1px solid #d4e1e9}
#header .grid-12{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px}
#header .logo{float:none;width:238px;height:46px;background-image:url('../images/calcularruta.png');background-size:contain;background-position:center;margin:0}
#header nav{margin-left:auto}#header nav ul{display:flex;float:none;margin:0;line-height:1.3;align-items:stretch}
#header nav ul li{float:none;position:relative}#header nav a,#header nav summary{display:flex;align-items:center;gap:8px;min-height:50px;padding:0 18px;font-size:12px;font-weight:bold;text-transform:uppercase;color:var(--cr-text);border-left:1px solid #edf2f6;list-style:none}
#header nav summary::-webkit-details-marker{display:none}#header nav a:hover,#header nav summary:hover{background:#edf5ff;text-decoration:none}
#header nav>ul>li:first-child>a{color:var(--cr-blue);border-bottom:2px solid var(--cr-blue)}
#header nav .cr-icon{width:24px;height:24px}#header nav .cr-fuel{color:#52607e}#header nav .cr-plug{color:#00828c}
#header nav details>ul{position:absolute;right:0;top:100%;display:block;min-width:220px;z-index:1500;background:#fff;border:1px solid var(--cr-line);box-shadow:0 4px 12px #16345a1a}
#header nav details>ul a{text-transform:none;min-height:44px}#header nav details:not([open])>ul{display:none}
.menu-movil-toggle{display:none}
h1,h2,h3{color:var(--cr-navy);font-weight:700;line-height:1.25}p{font-size:14px;line-height:1.4;color:var(--cr-text)}
.bloque,.bloque_cab{background:#fff;border:1px solid var(--cr-line);border-radius:3px;padding:12px;margin:0 0 12px;box-shadow:none}
hr{border:0;border-top:1px solid var(--cr-line);margin:8px 0}
.buscador-card{padding:0 0 8px;margin:0;border-bottom:0;border-radius:3px 3px 0 0}
.buscador-card .titulo-busca{display:flex;align-items:center;gap:10px;margin:0 0 8px;padding:6px 13px;background:#005dce;color:#fff;font-size:18px;line-height:1.3;font-weight:700;border-radius:2px 2px 0 0}
.buscador-card .titulo-busca label{display:contents}.buscador-card .titulo-busca .cr-icon{color:#fff;width:27px;height:24px}
.buscador-card hr,.calc-portada>.clearfix{display:none}
.buscador-card .calc-portada{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 187px;gap:10px;padding:0 10px;align-items:center}
.buscador-card .origen,.buscador-card .destino{float:none;width:auto;min-width:0;margin:0;position:relative}
.buscador-card input[type=text]{width:100%;height:42px;border:1px solid #cfdaea;border-radius:3px;padding:10px 12px 10px 54px;font-size:14px;background:#fff;color:var(--cr-text)}
.buscador-card .origen:before,.buscador-card .destino:before{content:'';position:absolute;left:12px;top:11px;width:20px;height:20px;background:#52617f;mask:var(--icon-pin) center/contain no-repeat;-webkit-mask:var(--icon-pin) center/contain no-repeat;z-index:3;pointer-events:none}
.buscador-card .origen:after,.buscador-card .destino:after{content:'';position:absolute;left:41px;top:1px;bottom:1px;border-right:1px solid #cfdaea;pointer-events:none;z-index:3}
#intercambiar-ruta{background:transparent;border:0;color:#61708b;font-size:25px;min-height:44px;padding:0}
.cr-search{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--cr-blue);color:white;border:0;border-radius:3px;min-height:42px;font-weight:700;font-size:16px}
.cr-search .cr-icon{color:white}.cr-search:hover{background:#004bd6}
.subcalc{padding:0 10px 9px;margin:0 0 10px;border:1px solid var(--cr-line);border-top:0;border-radius:0 0 3px 3px;background:#fff;font-size:12px;color:#536181;line-height:1.4}
.typeahead__container{font:inherit}.typeahead__list{z-index:2000!important;max-height:280px;overflow:auto}.typeahead__list a{white-space:normal!important}
#contenedor_ruta{display:grid;grid-template-columns:minmax(0,2.18fr) minmax(330px,1fr);grid-template-rows:auto auto 1fr auto;gap:10px;align-items:start;width:100%}
#contenedor_ruta>.clearfix{display:none}
#contenedor_ruta>.ruta-resumen{grid-column:1;grid-row:1}
#contenedor_ruta>.ruta-mapa-card{grid-column:1;grid-row:2}
#contenedor_ruta>.ruta-sidebar{grid-column:2;grid-row:1 / span 3;display:flex;flex-direction:column;gap:10px}
#contenedor_ruta>.ruta-guia{grid-column:1;grid-row:3}
#contenedor_ruta>.ruta-relacionadas{grid-column:1/-1;grid-row:4}
#contenedor_ruta>.ad-center-mb{grid-column:1/-1;grid-row:5;height:auto!important}
#contenedor_ruta>#selector{position:absolute;pointer-events:none}
#contenedor_ruta>.ruta-resumen,#contenedor_ruta>.ruta-mapa-card,#contenedor_ruta>.ruta-sidebar,#contenedor_ruta>.ruta-guia,#contenedor_ruta>.ruta-relacionadas{width:100%;min-width:0;margin:0;float:none}
#contenedor_ruta .ruta-mapa-card>.bloque,#contenedor_ruta .ruta-sidebar>.bloque{margin:0;width:100%}
#contenedor_ruta .ruta-resumen h1{display:flex;align-items:center;gap:14px;float:none;font-size:clamp(24px,2.5vw,34px);letter-spacing:-.6px;padding:0;margin:0 0 8px;width:100%;overflow-wrap:anywhere}
.ruta-resumen h1 .cr-icon{width:46px;height:42px;flex-shrink:0}
.cr-lead{font-weight:700;font-size:16px;line-height:1.4;margin-bottom:12px}
#contenedor_ruta .ruta-metricas{float:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:0 0 12px}
#contenedor_ruta .ruta-metricas>span{position:relative;display:flex;flex-direction:column;justify-content:center;background:#e1f3fc;border-radius:3px;padding:8px 12px 8px 88px;min-height:68px;font-size:28px;line-height:1.15;font-weight:700;color:var(--cr-navy);width:auto;float:none;margin:0}
.ruta-metricas small{font-weight:400;font-size:14px;line-height:1.3;margin-bottom:3px;color:#304363}
.ruta-metricas .cr-icon{position:absolute;left:20px;top:16px;width:42px;height:42px}
.cr-summary-text{font-size:14px;margin:0}
#contenedor_ruta h2,#contenedor_ruta h3{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;line-height:1.3;color:var(--cr-navy);margin:0 0 10px;padding:0 0 8px;border-bottom:1px solid var(--cr-line);background:none}
#contenedor_ruta h2 .cr-icon,#contenedor_ruta h3 .cr-icon{width:28px;height:28px;flex-shrink:0}
#contenedor_ruta h2+hr,#contenedor_ruta h3+hr{display:none}
#contenedor_ruta .ruta-mapa-card h2{border:0;padding:0;margin-bottom:12px}
#contenedor_ruta #mapa,#contenedor_ruta #cmapa{height:280px!important;min-height:280px;max-height:none!important;width:100%!important;margin:0;border-radius:0}
#contenedor_ruta #cmapa{padding:0!important;background-image:url('../images/maps.jpg');background-position:center;background-size:cover;align-content:center;text-align:center}
#cmapa button{border:0;border-radius:3px;background:var(--cr-blue);font-size:14px;padding:12px 18px;min-height:44px;color:#fff}
#contenedor_ruta .ruta-sidebar h2{font-size:17px;letter-spacing:-.25px}#contenedor_ruta .ruta-sidebar h3{font-size:15px;margin-bottom:4px;padding-bottom:0;border:0}
.ruta-sidebar .sub_title{display:block;font-size:14px;font-weight:700;margin-bottom:8px;color:var(--cr-text)}
.cr-radio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px}
#contenedor_ruta .ruta-sidebar .boton{display:flex;align-items:center;gap:7px;float:none;width:auto;min-width:0;margin:0;min-height:30px}
.ruta-sidebar .boton input[type=radio]{appearance:auto;width:20px;height:20px;min-width:20px;margin:0;padding:0;accent-color:var(--cr-blue)}
.ruta-sidebar .boton span{min-width:0}.ruta-sidebar .boton label{display:inline-block;font-size:14px;line-height:1.3;padding:6px 0;cursor:pointer}
.ruta-sidebar .m_10_2{margin:10px 0 0}.ruta-sidebar #form_opciones+.m_10_2{border-top:1px solid var(--cr-line);padding-top:8px}
.ruta-sidebar .datos{padding:12px 16px;background:#e1f3fc;border:0;border-radius:3px;font-size:14px;line-height:1.6;margin-top:10px;overflow-wrap:anywhere}
.ruta-sidebar #form_opciones+.m_10_2 .datos{background:#e7f6ed;border:1px solid #bee3d1;color:#125d2d;margin-top:4px;padding:8px 12px}
.ruta-sidebar #info,.ruta-sidebar #notificacion{color:#125d2d}.ruta-sidebar .textcolor{color:var(--cr-blue)}
.ruta-sidebar strong{color:var(--cr-navy)}.ruta-sidebar .datos strong{color:inherit}
.ruta-sidebar input[type=number],.ruta-sidebar select{border:1px solid #cbd9ea;border-radius:3px;background:#fff;color:#253451;font-size:14px;height:36px;padding:5px 9px;max-width:100%!important}
#consumo_combustible{margin:0 5px;width:76px!important}#unidad_consumo{white-space:nowrap;font-size:13px}
.ruta-sidebar .info_consumo{font-size:13px;line-height:1.45;margin:8px 0 12px}
#opciones_electrico .cr-field{display:flex;align-items:center;gap:7px;min-height:36px;margin-bottom:3px}
.cr-field label{flex:0 0 43%;min-width:0;font-size:14px}.cr-field select{flex:1;width:0}.cr-field input{min-width:0;flex:1;width:0!important}.cr-unit{font-size:13px;white-space:nowrap}
.ruta-guia p{font-size:13px;line-height:1.45;margin-bottom:5px}.cr-guide-tiles{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin-top:12px}
.cr-guide-tile{display:flex;align-items:flex-start;flex-direction:column;border:1px solid var(--cr-line);border-radius:3px;padding:8px 5px;gap:4px;min-width:0;text-align:left;color:var(--cr-text)}
.cr-guide-tile .cr-icon{height:28px;width:28px}.cr-guide-tile strong{font-size:11px;line-height:1.15;color:var(--cr-navy);overflow-wrap:normal}.cr-guide-tile small{font-size:11px;line-height:1.2}.cr-guide-tile .cr-plug{color:#9700ef}.cr-guide-tile .cr-warning{color:#ed0922}
#contenedor_ruta .botones{display:flex;gap:6px;flex-wrap:wrap;height:auto;margin:10px 0 0}
#contenedor_ruta .botones button{float:none;margin:0;white-space:normal;background:#eef6ff;color:#0654bd;border:1px solid #d1e2f3;border-radius:3px;padding:7px 9px;font-size:12px;line-height:1.25;min-height:36px}
.ruta-relacionadas ul.rutas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 8px;column-count:auto;padding:0;margin:0}
.ruta-relacionadas ul.rutas li{width:auto;margin:0;padding:0;background:none;float:none;min-width:0}
.ruta-relacionadas ul.rutas a{display:block;position:relative;border:1px solid var(--cr-line);border-radius:3px;min-height:34px;padding:7px 24px 7px 36px;font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.ruta-relacionadas a:before{content:'';position:absolute;top:8px;left:12px;width:18px;height:18px;background:var(--cr-blue);mask:var(--icon-pin) center/contain no-repeat;-webkit-mask:var(--icon-pin) center/contain no-repeat}.ruta-relacionadas a:after{content:'›';position:absolute;right:10px;top:3px;font-size:22px;color:#536181}
#contenedor_ruta .ruta-relacionadas h3{border:0;padding:0;margin-bottom:5px}
#footer{padding:14px 0;background:#fff;border-top:1px solid var(--cr-line);line-height:1.4}#footer p{font-size:12px;line-height:1.6}
@media(max-width:1150px){#header nav a,#header nav summary{padding:0 10px;font-size:11px}#header .logo{width:210px}.cr-guide-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}#contenedor_ruta .ruta-metricas>span{padding-left:60px;font-size:25px}.ruta-metricas .cr-icon{width:32px;height:32px;left:14px;top:20px}}
@media(max-width:950px){#header .grid-12{flex-wrap:wrap;gap:0}.menu-movil-toggle{display:block;position:static;width:44px;height:44px;margin-left:auto;border:1px solid var(--cr-line);border-radius:3px;background:#fff;color:var(--cr-blue);font-size:25px}#header nav{display:none;width:100%;margin:0}#header nav.menu-movil-abierto{display:block}#header nav ul{flex-wrap:wrap}#header nav a,#header nav summary{min-height:44px}#header nav details>ul{left:0;right:auto}#contenedor_ruta{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr)}.cr-lead{font-size:14px}#contenedor_ruta .ruta-metricas>span{font-size:21px;padding-left:45px}.ruta-metricas small{font-size:12px}.ruta-metricas .cr-icon{width:26px;height:26px;left:10px}.buscador-card .calc-portada{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 150px;gap:6px}.cr-search{font-size:14px}.buscador-card input[type=text]{font-size:13px}}
@media(max-width:760px){.container-12{width:calc(100% - 20px)!important}#contenedor_ruta{display:flex;flex-direction:column;gap:10px}#contenedor_ruta .ruta-resumen h1{font-size:25px;letter-spacing:-.3px}.ruta-resumen h1 .cr-icon{width:32px;height:32px}.buscador-card .calc-portada{grid-template-columns:minmax(0,1fr) 40px;gap:8px}.buscador-card .origen{grid-column:1;grid-row:1}.buscador-card .destino{grid-column:1;grid-row:2}#intercambiar-ruta{grid-column:2;grid-row:1 / span 2;transform:rotate(90deg)}.cr-search{grid-column:1/-1;min-height:44px;font-size:16px}.buscador-card input[type=text]{font-size:16px;height:44px}.buscador-card .titulo-busca{font-size:16px;gap:6px}#contenedor_ruta .ruta-metricas>span{font-size:24px;padding-left:56px}.ruta-metricas .cr-icon{left:14px;width:30px;height:30px}.ruta-sidebar .boton label{padding:11px 0}.ruta-sidebar input[type=number],.ruta-sidebar select{height:44px;font-size:16px}.cr-guide-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.cr-guide-tile strong,.cr-guide-tile small{font-size:12px}.ruta-relacionadas ul.rutas{grid-template-columns:1fr}#contenedor_ruta .botones button{min-height:44px}.ruta-relacionadas ul.rutas a{min-height:44px;padding-top:12px}.ruta-relacionadas a:before{top:12px}.ruta-relacionadas a:after{top:8px}}
@media(max-width:390px){#contenedor_ruta .ruta-resumen h1{font-size:23px}#contenedor_ruta .ruta-metricas{gap:6px}#contenedor_ruta .ruta-metricas>span{padding:10px 7px;font-size:23px}.ruta-metricas .cr-icon{display:none}.ruta-metricas small{font-size:12px}.cr-guide-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.cr-radio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#contenedor_ruta .ruta-sidebar h2{font-size:16px}.cr-field label{flex-basis:42%;font-size:13px}.buscador-card .titulo-busca{font-size:15px}.buscador-card .titulo-busca .cr-icon{width:22px}.ruta-sidebar .datos{padding:10px}}

/* Iconos vectoriales locales: sin fuentes ni dependencias externas. */
:root{--icon-pin:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022s8-9%208-14a8%208%200%200%200-16%200c0%205%208%2014%208%2014Z%22%20fill%3D%22%230065ff%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%223%22%20fill%3D%22white%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E")}
.cr-pin{--cr-icon:var(--icon-pin)}
:root{--icon-car:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3%2010%202-6h14l2%206v10h-3v-3H6v3H3Z%22%2F%3E%3Cpath%20d%3D%22M3%2010h18M7%2013h1m8%200h1%22%2F%3E%3C%2Fsvg%3E")}
.cr-car{--cr-icon:var(--icon-car)}
:root{--icon-road:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%202h10l5%2020H2Z%22%20fill%3D%22%230065ff%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M12%204v4m0%203v4m0%203v4%22%20stroke%3D%22white%22%2F%3E%3C%2Fsvg%3E")}
.cr-road{--cr-icon:var(--icon-road)}
:root{--icon-route:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2218%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%225%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2218%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22m6%2015%205-7m3%200%205%207%22%2F%3E%3C%2Fsvg%3E")}
.cr-route{--cr-icon:var(--icon-route)}
:root{--icon-clock:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%205v7l5%203%22%2F%3E%3C%2Fsvg%3E")}
.cr-clock{--cr-icon:var(--icon-clock)}
:root{--icon-gear:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%202-1%203-3%201-2%204%202%202-1%204%204%202%201%203h5l1-3%204-2-1-4%202-2-2-4-3-1-1-3Z%22%20fill%3D%22%230065ff%22%2F%3E%3Ccircle%20cx%3D%2211.5%22%20cy%3D%2211.5%22%20r%3D%224%22%20fill%3D%22white%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E")}
.cr-gear{--cr-icon:var(--icon-gear)}
:root{--icon-info:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2211%22%20fill%3D%22%230065ff%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M12%2010v8m0-13v1%22%20stroke%3D%22white%22%2F%3E%3C%2Fsvg%3E")}
.cr-info{--cr-icon:var(--icon-info)}
:root{--icon-fuel:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2022V3h11v19M1%2022h15M5%206h7v5H5zm9%207h3v6c0%203%205%203%205%200V9l-4-4m1%202v5h3%22%2F%3E%3C%2Fsvg%3E")}
.cr-fuel{--cr-icon:var(--icon-fuel)}
:root{--icon-plug:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%202v6m8-6v6M5%208h14v5a7%207%200%200%201-14%200zm7%2012v3%22%2F%3E%3C%2Fsvg%3E")}
.cr-plug{--cr-icon:var(--icon-plug)}
:root{--icon-home:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m1%2011%2011-10%2011%2010h-4v11h-5v-7h-4v7H5V11Z%22%20fill%3D%22%230065ff%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E")}
.cr-home{--cr-icon:var(--icon-home)}
:root{--icon-list:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%2216%22%20height%3D%2220%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M8%207h1m3%200h5M8%2012h1m3%200h5M8%2017h1m3%200h5%22%2F%3E%3C%2Fsvg%3E")}
.cr-list{--cr-icon:var(--icon-list)}
:root{--icon-camera:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207h5l2-3h5l2%203h4v14H3Z%22%20fill%3D%22%230065ff%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2214%22%20r%3D%224%22%20stroke%3D%22white%22%2F%3E%3C%2Fsvg%3E")}
.cr-camera{--cr-icon:var(--icon-camera)}
:root{--icon-parking:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%221%22%20width%3D%2220%22%20height%3D%2222%22%20rx%3D%222%22%20fill%3D%22%230065ff%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M9%2019V5h4a4%204%200%200%201%200%208H9%22%20stroke%3D%22white%22%2F%3E%3C%2Fsvg%3E")}
.cr-parking{--cr-icon:var(--icon-parking)}
:root{--icon-warning:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%201%2011%2021H1Z%22%20fill%3D%22%230065ff%22%20stroke%3D%22none%22%2F%3E%3Cpath%20d%3D%22M12%207v8m0%203v1%22%20stroke%3D%22white%22%2F%3E%3C%2Fsvg%3E")}
.cr-warning{--cr-icon:var(--icon-warning)}
:root{--icon-snow:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%201v22M2%206l20%2012M2%2018%2022%206M8%203l4%204%204-4M8%2021l4-4%204%204M2%2010l5-1-1-5m12%2016-1-5%205-1M2%2014l5%201-1%205m12-16-1%205%205%201%22%2F%3E%3C%2Fsvg%3E")}
.cr-snow{--cr-icon:var(--icon-snow)}
:root{--icon-search-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230065ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%2F%3E%3Cpath%20d%3D%22m15%2015%207%207%22%2F%3E%3C%2Fsvg%3E")}
.cr-search-icon{--cr-icon:var(--icon-search-icon)}
 .cr-icon{display:inline-block;flex-shrink:0;width:26px;height:26px;background-image:var(--cr-icon);background-position:center;background-size:contain;background-repeat:no-repeat;vertical-align:middle}
.cr-search .cr-icon,.titulo-busca .cr-icon{filter:brightness(0) invert(1)}.cr-guide-tile .cr-plug{filter:hue-rotate(45deg)}.cr-guide-tile .cr-warning{filter:hue-rotate(135deg)}
/* Reset de las métricas del tema legado (selectores de mayor especificidad). */
#contenedor_ruta .right .distancia,#contenedor_ruta .right .duracion{display:flex;height:auto;min-height:68px;margin:0;background:#e1f3fc;padding:8px 12px 8px 88px;line-height:1.15}
#contenedor_ruta .right .distancia:after,#contenedor_ruta .right .duracion:after{content:none}
@media(max-width:1150px){#contenedor_ruta .right .distancia,#contenedor_ruta .right .duracion{padding-left:60px}}
@media(max-width:950px){#contenedor_ruta .right .distancia,#contenedor_ruta .right .duracion{padding-left:45px}}
@media(max-width:760px){#contenedor_ruta .right .distancia,#contenedor_ruta .right .duracion{padding-left:56px}}
@media(max-width:390px){#contenedor_ruta .right .distancia,#contenedor_ruta .right .duracion{padding:10px 7px}}
#contenedor_ruta .ruta-sidebar .boton label{font-size:14px;text-transform:none;color:var(--cr-text)}
#contenedor_ruta .ruta-sidebar .datos{border:0;padding:12px 16px;line-height:1.6}
#contenedor_ruta .ruta-sidebar .textcolor,#contenedor_ruta .ruta-sidebar .textcolor2{font-size:inherit}
#contenedor_ruta .ruta-sidebar #info,#contenedor_ruta .ruta-sidebar #notificacion{font-weight:400}
#contenedor_ruta .form_cal{padding:0}
@font-face{font-family:CRRoboto;src:url('../fonts/roboto-condensed-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:CRRoboto;src:url('../fonts/roboto-condensed-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
body{font-family:CRRoboto,'Arial Narrow',Arial,sans-serif}
button,input,select,.typeahead__container{font-family:inherit}
#contenedor_ruta .cr-guide-tile{background:#fff;font-family:inherit;white-space:normal;margin:0;float:none;border:1px solid var(--cr-line);border-radius:3px;padding:8px 5px;line-height:1.2;font-weight:400;cursor:pointer}
#contenedor_ruta .cr-guide-tile:hover:not(:disabled){background:#f4f9ff;text-decoration:none}
#contenedor_ruta .cr-guide-tile:disabled{opacity:.65}
.ruta-mapa-card>.bloque{position:relative}
#contenedor_ruta .cr-expand{position:absolute;right:24px;top:65px;width:36px;height:36px;border:1px solid #ccd7df;border-radius:3px;background:white;color:#263756;font-size:24px;line-height:1;padding:0;box-shadow:0 1px 5px #0002;z-index:1100;cursor:pointer}
#contenedor_ruta .cr-road-safety{display:inline-block;float:none;background:transparent;border:0;color:#405276;text-decoration:underline;font-size:12px;padding:5px 0;margin-top:4px;cursor:pointer;min-height:30px}
#contenedor_ruta #botonera[hidden]{display:none}
@media(max-width:760px){#contenedor_ruta .cr-expand{min-height:44px;width:44px}#contenedor_ruta .cr-road-safety{min-height:44px}}
@font-face{font-family:CRRobotoTitle;src:url('../fonts/roboto-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
#contenedor_ruta .ruta-resumen h1,#contenedor_ruta .ruta-metricas>span{font-family:CRRobotoTitle,Arial,sans-serif}
#contenedor_ruta .ruta-metricas small{font-family:CRRoboto,'Arial Narrow',Arial,sans-serif}
#header nav li{margin:0}
#header .logo{max-width:100%}
#main-content>.container-12>.grid-12>.grid-840{width:calc(68% - 6px)}
#main-content>.container-12>.grid-12>.grid-336{width:calc(32% - 6px)}
@media(max-width:760px){#main-content>.container-12>.grid-12>.grid-840,#main-content>.container-12>.grid-12>.grid-336{width:100%!important;float:none}}

/* Acceso a la ruta inversa junto al titulo, sin alterar las demas secciones. */
#contenedor_ruta .cr-route-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:8px}
#contenedor_ruta .cr-route-heading h1{flex:1 1 320px;width:auto;margin:0;min-width:0}
#contenedor_ruta .cr-reverse-route{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;padding:9px 13px;border:1px solid #2381db;border-radius:8px;color:#176fc0;background:#fff;font-size:14px;font-weight:600;text-decoration:none;line-height:1.3}
#contenedor_ruta .cr-reverse-route:hover,#contenedor_ruta .cr-reverse-route:focus{background:#edf6ff;color:#12599a;text-decoration:none}
#contenedor_ruta .cr-reverse-route span{font-size:19px;line-height:1}
@media(max-width:760px){#contenedor_ruta .cr-route-heading{align-items:flex-start;gap:8px}#contenedor_ruta .cr-route-heading h1{flex-basis:100%}#contenedor_ruta .cr-reverse-route{min-height:40px}}

/* Contenedores publicitarios de prueba: no se carga ningún anuncio. */
#contenedor_ruta .cr-ad-slot { box-sizing:border-box; min-height:100px; width:100%; border:1px dashed #b7c8d9; border-radius:5px; background:#f5f8fb; color:#64748b; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; text-align:center; padding:14px; margin:10px 0; clear:both; }
#contenedor_ruta .cr-ad-slot-label {font-size:13px;font-weight:600;}
#contenedor_ruta .cr-ad-slot-note {font-size:11px;}
#contenedor_ruta .cr-ad-slot-3 {min-height:250px;}
@media(max-width:767px) { #contenedor_ruta .cr-ad-desktop {display:none;} #contenedor_ruta .cr-ad-slot {min-height:90px;} }

/* Corrección de posiciones publicitarias en la cuadrícula de escritorio. */
@media (min-width:761px) {
 #contenedor_ruta {grid-template-rows:auto auto auto auto auto auto auto;}
 #contenedor_ruta>.ruta-resumen {grid-column:1;grid-row:1;}
 #contenedor_ruta>.cr-ad-main:has(.cr-ad-slot-1) {grid-column:1;grid-row:2;}
 #contenedor_ruta>.ruta-mapa-card {grid-column:1;grid-row:3;}
 #contenedor_ruta>.cr-ad-main:has(.cr-ad-slot-2) {grid-column:1;grid-row:4;}
 #contenedor_ruta>.ruta-guia {grid-column:1;grid-row:5;}
 #contenedor_ruta>.ruta-sidebar {grid-column:2;grid-row:1 / 6;}
 #contenedor_ruta>.ruta-relacionadas {grid-column:1/-1;grid-row:6;}
 #contenedor_ruta>.ad-center-mb {grid-column:1/-1;grid-row:7;}
 #contenedor_ruta>.cr-ad-main {width:100%;min-width:0;float:none;margin:0;}
}
@media (max-width:760px) {
 #contenedor_ruta>.cr-ad-main {width:100%;float:none;margin:0;}
}

/* Publicidad AdSense: distribución final en escritorio. */
#contenedor_ruta .cr-ad-slot:has(ins.adsbygoogle){padding:0;border:0;background:transparent;min-height:100px;display:block;overflow:hidden;}
#contenedor_ruta .cr-ad-slot-3{min-height:250px;margin-top:0;margin-bottom:12px;}
@media (min-width:761px){
 #contenedor_ruta>.ruta-guia{grid-row:4;}
 #contenedor_ruta>.cr-ad-main:has(.cr-ad-slot-2){grid-row:5;}
 #contenedor_ruta>.ruta-sidebar{grid-row:1 / 6;}
}
@media (max-width:760px){#contenedor_ruta .cr-ad-slot-3{display:none;}}

/* Adsense: mapa y controles primero; dos anuncios debajo del contenido útil. */
@media (min-width:761px){
 #contenedor_ruta{grid-template-rows:repeat(5,auto);}
 #contenedor_ruta>.ruta-resumen{grid-column:1;grid-row:1;}
 #contenedor_ruta>.ruta-mapa-card{grid-column:1;grid-row:2;}
 #contenedor_ruta>.ruta-guia{grid-column:1;grid-row:3;}
 #contenedor_ruta>.cr-ad-main:has(.cr-ad-slot-1){grid-column:1;grid-row:4;}
 #contenedor_ruta>.ruta-sidebar{grid-column:2;grid-row:1 / 5;}
 #contenedor_ruta>.ruta-relacionadas{grid-column:1 / -1;grid-row:5;}
 #contenedor_ruta>.ad-center-mb{grid-column:1 / -1;grid-row:6;}
 #contenedor_ruta .cr-ad-slot-3{margin-top:0;}
}
@media (max-width:760px){
 #contenedor_ruta>.cr-ad-main:has(.cr-ad-slot-1){order:4;}
 #contenedor_ruta>.ruta-resumen{order:0;}
 #contenedor_ruta>.ruta-mapa-card{order:1;}
 #contenedor_ruta>.ruta-sidebar{order:2;}
 #contenedor_ruta>.ruta-guia{order:3;}
 #contenedor_ruta>.ruta-relacionadas{order:5;}
 #contenedor_ruta>.ad-center-mb{order:6;}
}

/* Dos bloques manuales: banner fino tras buscador y anuncio bajo coste (escritorio). */
#contenedor_ruta>.cr-ad-top-desktop{display:none}
@media(min-width:761px){
 #contenedor_ruta{grid-template-rows:auto auto auto auto auto;align-items:start}
 #contenedor_ruta>.cr-ad-top-desktop{display:flex;grid-column:1/-1;grid-row:1;justify-content:center;align-items:center;min-height:90px;margin:0 0 2px;overflow:hidden}
 #contenedor_ruta>.ruta-resumen{grid-column:1;grid-row:2}
 #contenedor_ruta>.ruta-mapa-card{grid-column:1;grid-row:3}
 #contenedor_ruta>.ruta-guia{grid-column:1;grid-row:4}
 #contenedor_ruta>.ruta-sidebar{grid-column:2;grid-row:2 / 5}
 #contenedor_ruta>.ruta-relacionadas{grid-column:1/-1;grid-row:5}
 #contenedor_ruta>.ad-center-mb{grid-column:1/-1;grid-row:6}
 #contenedor_ruta .cr-ad-slot-3{margin:0;min-height:250px}
}
@media(max-width:760px){#contenedor_ruta>.cr-ad-top-desktop{display:none!important}}

/* Banner responsive bajo el buscador en móvil, antes del resumen. */
@media(max-width:760px){
 #contenedor_ruta>.ad-center-mb{order:-1!important;width:100%;margin:0 0 2px;height:auto!important;min-height:0!important;}
 #contenedor_ruta>.ad-center-mb #advertising{width:100%;max-width:100%;overflow:hidden;}
 #contenedor_ruta>.ad-center-mb ins.adsbygoogle{display:block;width:100%;}
}

/* Contener el anuncio rectangular en la anchura real del resumen movil. */
@media(max-width:760px){
 #contenedor_ruta .ruta-resumen .cr-ad-mobile-inline{display:block!important;position:relative;float:none!important;clear:both;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box;margin:12px 0!important;overflow:hidden!important;}
 #contenedor_ruta .ruta-resumen .cr-ad-mobile-inline #advertising{display:block!important;position:relative;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box;overflow:hidden!important;}
 #contenedor_ruta .ruta-resumen .cr-ad-mobile-inline ins.adsbygoogle{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:0 auto!important;}
}
@media(min-width:761px){#contenedor_ruta .ruta-resumen .cr-ad-mobile-inline{display:none!important;}}

/* Anuncio móvil: tamaño fijo para impedir que AdSense expanda el ancho. */
@media(max-width:760px){
 #contenedor_ruta .ruta-resumen .cr-ad-mobile-inline{display:flex!important;justify-content:center!important;align-items:flex-start!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;margin:12px 0!important;overflow:hidden!important;box-sizing:border-box!important;}
 #contenedor_ruta .ruta-resumen .cr-ad-mobile-inline ins.cr-ad-mobile-fixed{display:inline-block!important;flex:0 0 300px!important;width:300px!important;max-width:300px!important;min-width:300px!important;height:250px!important;margin:0!important;}
}
@media(max-width:319px){#contenedor_ruta .ruta-resumen .cr-ad-mobile-inline{display:none!important;}}

/* Accesibilidad: contraste del resumen de distancia y duracion */
#contenedor_ruta .ruta-sidebar .datos{color:#253451}
#contenedor_ruta .ruta-sidebar .datos .textcolor,#contenedor_ruta .ruta-sidebar .datos .textcolor2{color:#004a9f}
