/*
Theme Name: desbarre
Description: Cuaderno topográfico: la portada de noche de desbarre y el mapa de papel con curvas de nivel. Hecho desde el prototipo (D-12).
Version: 0.69.1
Author: desbarre.cc
Text Domain: desbarre
*/

@font-face{font-family:'Archivo';font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(fonts/archivo-latin.woff2) format('woff2')}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-serif-display-latin.woff2) format('woff2')}
:root{
  --noche:#1A1510;--crema:#F1E9DA;--crema-2:#CDBFA8;--papel:#F5EDE0;--papel-2:#FBF6EC;--tinta:#1C1712;--tinta-2:#6A5C4C;
  --naranja:#E8641C;--desvio:#D9561A;--naranja-txt:#B4470F;--agua:#2F6F8F;--linea:#E0D3BF;--topo:rgba(130,100,60,.15);
  --fh:'DM Serif Display',Georgia,serif;--fb:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--papel);color:var(--tinta);font:16px/1.5 var(--fb);-webkit-font-smoothing:antialiased}
a{color:var(--naranja-txt)}
:focus-visible{outline:3px solid var(--agua);outline-offset:2px;border-radius:4px}
.num{font-variant-numeric:tabular-nums}
.screen-reader-text{position:absolute;left:-9999px}

/* cabecera */
.top{background:var(--noche);color:var(--crema)}
.nav{max-width:1120px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:14px 20px}
.brand{display:inline-block;line-height:0}.brand img{display:block;height:40px;width:auto}
.nav nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;font-size:14px}
.nav nav a{color:var(--crema-2);text-decoration:none;white-space:nowrap}
.nav nav a:hover,.nav nav .current-menu-item a{color:var(--crema)}

/* portada */
/* D-302: fondo de noche liso con curvas de nivel finas (el cuaderno topográfico), en lugar del degradado a naranja; el naranja queda solo en un filo abajo */
.hero{position:relative;overflow:hidden;background:#1A1510;border-bottom:3px solid var(--naranja)}
.hero:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 78% 30%,transparent 0 22px,rgba(241,233,218,.075) 22px 23px),repeating-radial-gradient(circle at 18% 115%,transparent 0 30px,rgba(241,233,218,.05) 30px 31px);-webkit-mask-image:linear-gradient(100deg,rgba(0,0,0,.25) 0%,#000 60%);mask-image:linear-gradient(100deg,rgba(0,0,0,.25) 0%,#000 60%);pointer-events:none}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 76% 62%,rgba(232,100,28,.10),transparent 70%);pointer-events:none}
.hero-in{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:28px 20px 34px;display:grid;gap:24px}
@media (min-width:900px){.hero-in{grid-template-columns:1.3fr 1fr;align-items:end}}
.kicker{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--crema-2);margin:0 0 6px}
.hero h1{font-family:var(--fh);font-weight:400;font-size:clamp(40px,8vw,76px);line-height:1;margin:0 0 12px;color:var(--crema)}
.lead{max-width:620px;color:var(--crema);opacity:.92;margin:0}
.lead em{font-style:normal;color:var(--naranja)}
.foto{position:relative;border-radius:4px;overflow:hidden;background:#3a2c20 center/cover no-repeat;display:flex;align-items:flex-end;min-height:220px;border:1px solid rgba(241,233,218,.25);margin:0}
.hero .foto{min-height:300px;background-position:center 70%}
.foto figcaption{position:relative;font-size:11px;line-height:1.35;padding:7px 10px;width:100%;color:#f1e9da;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}

main.wrap{max-width:1120px;margin:0 auto;padding:0 20px 60px}
.grid{display:grid;grid-template-columns:1fr;gap:22px;margin-top:22px}
@media (min-width:900px){.grid{grid-template-columns:1.35fr 1fr;align-items:start}}

/* mapa */
.map-card{background:var(--papel-2);border:1px solid var(--tinta);border-radius:4px;position:relative;overflow:hidden}
.map-card .topo{position:absolute;inset:0;background:repeating-radial-gradient(circle at 34% 58%,transparent 0 16px,var(--topo) 16px 17px),repeating-radial-gradient(circle at 82% 22%,transparent 0 12px,var(--topo) 12px 13px);pointer-events:none}
.map-card > svg{position:relative;display:block;width:100%;height:auto}
.leaflet-attribution-flag{width:12px!important;height:8px!important}
.prev{fill:none;stroke:#9c8b74;stroke-width:1.6;stroke-dasharray:5 6}
.route{fill:none;stroke:var(--desvio);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.cty{fill:var(--tinta)} .ctyt{font:700 14px var(--fb);fill:var(--tinta);paint-order:stroke;stroke:var(--papel-2);stroke-width:4px}
.tw{cursor:pointer}.tw circle.h{fill:transparent}
.tw circle.p{fill:var(--papel-2);stroke:var(--tinta);stroke-width:1.8}
.tw.sv circle.p{fill:var(--tinta)}
.tw:hover circle.p,.tw:focus circle.p{fill:var(--agua);stroke:var(--agua)}
.poi{cursor:pointer}.poi circle.h{fill:transparent}
.poi path{fill:var(--desvio);stroke:var(--papel-2);stroke-width:2}
.poi:hover path,.poi:focus path{fill:var(--tinta)}
.tip{font:700 12px var(--fb);fill:var(--tinta);paint-order:stroke;stroke:var(--papel-2);stroke-width:4px;pointer-events:none}
.map-foot{position:relative;padding:12px 16px 16px;border-top:1px solid var(--linea)}
.slider{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--tinta-2)}
.slider input{flex:1;accent-color:var(--desvio);height:28px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--tinta-2);margin-top:8px;align-items:center}
.legend i{display:inline-block;width:22px;height:0;border-top:2px dashed #9c8b74;vertical-align:middle;margin-right:6px}
.legend i.r{border-top:3px solid var(--desvio)}
.legend i.t{width:9px;height:9px;border:1.8px solid var(--tinta);border-radius:50%;background:var(--tinta)}
.legend i.t0{width:9px;height:9px;border:1.8px solid var(--tinta);border-radius:50%}
.legend i.s{width:10px;height:10px;border:0;background:var(--desvio);transform:rotate(45deg)}
.map-error{padding:20px;color:var(--tinta-2)}

/* columna */
.side h2{font-family:var(--fh);font-weight:400;font-size:30px;line-height:1.1;margin:0 0 6px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.stat{border-top:2px solid var(--tinta);padding-top:6px}
.stat b{display:block;font-weight:800;font-size:28px;line-height:1.05}
.stat span{font-size:12.5px;color:var(--tinta-2)}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.door{display:block;min-height:84px;padding:14px;border-radius:4px;border:1.5px solid var(--tinta);background:var(--papel-2);text-decoration:none;color:var(--tinta)}
.door b{display:block;font-size:17px;margin-bottom:2px}
.door span{font-size:13px;color:var(--tinta-2)}
.door.p{background:var(--tinta);color:var(--papel)} .door.p span{color:var(--crema-2)}
.list{margin-top:26px}
.list h3,.box h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-2);margin:0 0 8px}
.dlist{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.ditem{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--linea);background:var(--papel-2);border-radius:4px;text-decoration:none;color:inherit}
.ditem b{display:block}.ditem small{color:var(--tinta-2)}.ditem .go{color:var(--naranja-txt);font-weight:800}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}
.strip .foto{min-height:170px}
@media (max-width:600px){.strip{grid-template-columns:1fr 1fr}.strip .foto:last-child{display:none}.nav{flex-wrap:wrap;row-gap:10px}.nav nav{width:100%}.nav nav ul{justify-content:space-between;font-size:15px}.nav nav a{display:inline-block;padding:6px 0}}

/* fichas */
.back{display:inline-flex;align-items:center;gap:6px;margin:18px 0 0;font-weight:600;text-decoration:none;color:var(--naranja-txt);min-height:44px}
.kicker.dark{color:var(--tinta-2);margin-top:6px}
.h2p{font-family:var(--fh);font-weight:400;font-size:clamp(32px,5vw,48px);line-height:1.05;margin:6px 0 6px}
.fgrid{display:grid;gap:14px;margin-top:18px}
@media (min-width:900px){.fgrid{grid-template-columns:1.4fr 1fr}}
.box{background:var(--papel-2);border:1px solid var(--linea);border-radius:4px;padding:14px 16px}
.box+.box{margin-top:12px}
.svrow{display:flex;flex-wrap:wrap;gap:10px}
.svi{display:flex;flex-direction:column;align-items:center;gap:4px;width:84px;padding:10px 4px;border:1px solid var(--linea);border-radius:4px;background:var(--papel);color:var(--tinta)}
.svi span{font-size:12px;color:var(--tinta-2);text-align:center;line-height:1.2}
.svi small{font-size:11px;color:var(--naranja-txt);text-align:center;line-height:1.2}
.svi.agua{color:var(--agua);border-color:var(--agua)}
.chip{font-size:12.5px;border:1px solid var(--tinta);border-radius:999px;padding:1px 9px;white-space:nowrap}
.chip.none{border-style:dashed;color:var(--tinta-2)}
.rev{font-size:13px;color:var(--tinta-2)}
.tag-off{display:inline-block;font-size:11px;font-weight:600;color:#6d6d6d;background:#e6e2da;border-radius:3px;padding:1px 6px;margin-left:6px;vertical-align:middle}

footer.pie{background:var(--noche);color:var(--crema-2);font-size:13px}
footer.pie>div{max-width:1120px;margin:0 auto;padding:22px 20px}
footer.pie .brand img{height:56px}

/* trozo 2: mapa en detalle, fichas completas */
.vistas{display:flex;gap:6px;margin-bottom:8px}
.vistas button{min-height:40px;padding:0 14px;border:1.5px solid var(--tinta);border-radius:4px;background:transparent;font:600 14px var(--fb);cursor:pointer;color:var(--tinta)}
.vistas button[aria-pressed="true"]{background:var(--tinta);color:var(--papel)}
.mapa-detalle{width:100%;border-radius:4px;background:#e8e2d6}
#vista-detalle .mapa-detalle{border-radius:0}
.mapa-detalle .leaflet-tile-pane{filter:sepia(.3) saturate(.85) brightness(1.02)}
.poi-icon span{display:block;width:14px;height:14px;background:var(--desvio);border:2px solid var(--papel-2);transform:rotate(45deg)}
.pop-svc{display:inline-flex;gap:4px;margin:4px 0;color:var(--tinta)} .pop-svc .agua{color:var(--agua)}
.leaflet-popup-content{font:14px/1.4 var(--fb)}
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:14px}
.galeria img{width:100%;height:150px;object-fit:cover;border-radius:4px;display:block}
.galeria img:first-child{grid-column:1/-1;height:300px}
.enlaces a{display:block;padding:6px 0;border-bottom:1px solid var(--linea);text-decoration:none}
.enlaces a:last-child{border:0}
.near .r{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--linea);font-size:14.5px}
.near .r:last-child{border:0}
.near .r span:first-child{display:inline-flex;align-items:center;gap:6px}
/* «Servicios más cerca», hacia atrás y hacia delante (D-250) */
.cerca-t{width:100%;border-collapse:collapse;font-size:14px}
.cerca-t th,.cerca-t td{padding:6px 4px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top;font-weight:400}
.cerca-t thead th{font-size:12px;color:var(--tinta-2);border-bottom-width:2px}
.cerca-t tbody tr:last-child th,.cerca-t tbody tr:last-child td{border-bottom:0}
.cerca-t tbody th{white-space:nowrap;padding-right:8px}
.cerca-t tbody th svg{vertical-align:-3px;margin-right:6px}
.cerca-t th.agua{color:var(--agua)}
.cerca-t td a{word-break:normal}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:4px;border:1.5px solid var(--tinta);background:var(--tinta);color:var(--papel);font-weight:600;text-decoration:none}
.tramo-box{border:1.5px solid var(--tinta)}
.tramo-box .t{font-family:var(--fh);font-size:24px;margin:0 0 6px}
.stale{color:#8d8d8d}


/* trozos 3 y 4: el planificador (del prototipo v7) */
.form{display:grid;gap:14px;background:var(--papel-2);border:1px solid var(--tinta);border-radius:4px;padding:16px;margin-bottom:18px}
.fl{font-size:13px;font-weight:600;color:var(--tinta-2);margin-bottom:6px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{min-height:44px;padding:0 14px;border:1.5px solid var(--tinta);border-radius:4px;background:transparent;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--tinta);color:var(--papel)}
/* deslizadores de Planifica: tramos, días y aviso de km (D-275) */
.seg.pf-desl{display:block;max-width:420px}
.pf-desl-v output{display:inline-block;font-weight:700;font-size:15px;margin:0 0 4px}
.pf-desl input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:30px;margin:0;background:transparent;cursor:pointer}
.pf-desl input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--naranja) 0 var(--p,0%),var(--linea) var(--p,0%) 100%)}
.pf-desl input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--linea)}
.pf-desl input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--naranja)}
.pf-desl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:var(--tinta);border:3px solid var(--papel-2);box-shadow:0 1px 4px rgba(0,0,0,.3)}
.pf-desl input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--tinta);border:3px solid var(--papel-2);box-shadow:0 1px 4px rgba(0,0,0,.3)}
.pf-desl input[type=range]:focus-visible{outline:2px solid var(--naranja);outline-offset:4px;border-radius:6px}
.pf-desl-m{display:flex;justify-content:space-between;font-size:12px;color:var(--tinta-2);margin-top:2px;padding:0 4px}
.pf-desl-m span{min-width:0;text-align:center}.pf-desl-m span.on{color:var(--tinta);font-weight:700}
.tl{position:relative;margin:4px 0 0 8px;padding-left:22px;border-left:2px solid var(--tinta)}
.stop{position:relative;margin:0 0 14px}
.stop:before{content:"";position:absolute;left:-29px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--papel);border:2.5px solid var(--tinta)}
.stop.city:before{background:var(--tinta);width:14px;height:14px;left:-30px}
.stop.night:before{background:var(--naranja);border-color:var(--naranja)}
.stop .t{font-weight:800}
.stop .t a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--tinta-2)}
.stop .m{font-size:13.5px;color:var(--tinta-2)}
.day{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--naranja-txt);margin-bottom:2px}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.chip{font-size:12.5px;border:1px solid var(--tinta);border-radius:999px;padding:1px 9px;white-space:nowrap}
.chip.ic{display:inline-flex;align-items:center;gap:4px;padding:2px 9px 2px 6px}
.chip.agua{border-color:var(--agua);color:var(--agua);font-weight:600}
.chip.none{border-style:dashed;color:var(--tinta-2)}
.gap{font-size:13px;color:#8a3b0b;font-weight:600;margin-top:3px}
.poimini{display:inline-block;margin:6px 6px 0 0;padding:4px 10px;border-radius:999px;border:1px solid var(--desvio);color:var(--naranja-txt);font-size:13px;background:transparent;cursor:pointer;min-height:32px;text-decoration:none}
.train{margin-top:6px;font-size:14px;background:#e9e2d4;border-radius:4px;padding:8px 10px}
.tramo-h{font-family:var(--fh);font-weight:400;font-size:26px;margin:22px 0 10px}
.tramo-h small{font-family:var(--fb);font-size:14px;color:var(--tinta-2)}
.row{display:grid;grid-template-columns:62px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--linea)}
.row .k{font-weight:800;color:var(--tinta-2)}
.row a{color:inherit;font-weight:700;text-decoration:none}
.note{font-size:13px;color:var(--tinta-2);margin-top:8px}
.etapas{margin-bottom:16px}
.et{display:grid;grid-template-columns:52px 1fr 64px 78px 78px 140px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--linea);font-size:14.5px}
.spark{display:block}.sp-a{fill:rgba(217,86,26,.15);stroke:none}.sp-l{fill:none;stroke:var(--desvio);stroke-width:1.6}
.strip-box{margin-bottom:16px}
.strip-svg{display:block;width:100%;height:auto}
.cargas{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.carga{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--naranja-txt);background:rgba(217,86,26,.08);border-left:3px solid var(--desvio);border-radius:0 4px 4px 0;padding:3px 9px 3px 7px}
.daycut{margin:-4px 0 12px -30px;padding-left:30px;border-top:1px dashed var(--naranja)}
.daycut .day{margin-top:4px}
.btn.ghost{background:transparent;color:var(--tinta)}
#acciones{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 16px}
@media print{.top,.pie,.form,#acciones,.back,.vistas,#wpadminbar{display:none!important}body{background:#fff}.box{break-inside:avoid}.stop{break-inside:avoid}main.wrap{padding:0}}
/* tira de servicios, etapas y perfil: estilos que faltaban al pasar el planificador */
.strip-svg{display:block;width:100%;height:auto}
.sv-base{stroke:var(--linea);stroke-width:2;stroke-dasharray:2 4}
.sv-gap{fill:rgba(217,86,26,.16);stroke:var(--desvio);stroke-width:1.5;stroke-dasharray:5 3}
.sv-gt{font:700 14px var(--fb);fill:var(--naranja-txt)}
.sv-dot{fill:var(--tinta)} .sv-dot.agua{fill:var(--agua)}
.sv-ico{color:var(--tinta-2)} .sv-ico.agua{color:var(--agua)}
.sv-city{stroke:var(--tinta);stroke-width:1.5}
.sv-night{stroke:var(--naranja);stroke-width:1.5;stroke-dasharray:3 3}
.sv-ct{font:700 15px var(--fb);fill:var(--tinta)}
.lg-gap{display:inline-block;width:22px;height:10px;border-radius:5px;background:rgba(217,86,26,.16);border:1.5px dashed var(--desvio);vertical-align:middle;margin-right:4px}
.lg-night{display:inline-block;width:0;height:12px;border-left:1.5px dashed var(--naranja);vertical-align:middle;margin:0 4px}
.lg-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--tinta);vertical-align:middle;margin:0 4px 0 6px}
.et{display:grid;grid-template-columns:52px 1fr 64px 78px 78px 140px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--linea);font-size:14.5px}
.et-d{font-weight:800;color:var(--naranja-txt)}
.et-n{font-weight:600}
.et-dormir{display:inline-flex;gap:3px;margin-left:8px;vertical-align:1px}.et-dormir i{font-style:normal;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:4px;background:var(--agua);color:#FBF6EC;font:800 10.5px/1 var(--fb)} /* dónde se duerme al final de la etapa (D-338) */
.et-k{font-weight:800;text-align:right}.et-u,.et-v{text-align:right;color:var(--tinta-2)}
.et-t{border-bottom:0;border-top:2px solid var(--tinta)}.et-t .et-d{color:var(--tinta)}
.spark{display:block}.sp-a{fill:rgba(217,86,26,.15);stroke:none}.sp-l{fill:none;stroke:var(--desvio);stroke-width:1.6}
@media (max-width:700px){.et{grid-template-columns:44px 1fr 56px 70px;font-size:13.5px}.et .et-v,.et .spark{display:none}}

/* trozo 5: cuaderno, descargas, avisos */
.cuaderno{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:10px}
.art{background:var(--papel-2);border:1px solid var(--linea);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}
.art-foto img,.art-sin{display:block;width:100%;height:190px;object-fit:cover}
.art-sin{background:linear-gradient(160deg,#3a2c20,#7a5e43 55%,#c59a6b)}
.art-tx{padding:12px 14px}.art-tx h2{font-family:var(--fh);font-weight:400;font-size:24px;line-height:1.1;margin:4px 0 8px}.art-tx h2 a{color:var(--tinta);text-decoration:none}
.lugares{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}.lugares a{font-size:13px;border:1px solid var(--desvio);color:var(--naranja-txt);border-radius:999px;padding:2px 10px;text-decoration:none}
.articulo .art-cuerpo{max-width:760px;font-size:18px;line-height:1.7}
/* la entrada, centrada: cabecera y texto en una columna de 760 px; la portada y las imágenes, al ancho de la página (D-258) */
.articulo>.back,.articulo>.kicker,.articulo>.h2p,.articulo>.art-cuerpo,.articulo>.box{max-width:760px;margin-left:auto;margin-right:auto}
.articulo>.back{display:flex;width:max-content;margin-left:max(0px,calc(50% - 380px))}
/* entradas del cuaderno: la portada entera y las imágenes del texto al ancho de la página, el texto a 720 px (D-254) */
.art-portada{margin:18px 0 26px}.art-portada img{display:block;width:100%;height:auto;border-radius:8px}
.articulo .art-cuerpo .wp-block-image,.articulo .art-cuerpo figure.alignwide,.articulo .art-cuerpo figure.alignfull{width:min(1080px,calc(100vw - 32px));max-width:none;margin:30px 0 30px 50%;transform:translateX(-50%)}
.articulo .art-cuerpo .wp-block-image img{display:block;width:100%;height:auto;border-radius:8px}
.articulo .art-cuerpo .wp-block-image figcaption{font-size:12.5px;color:var(--tinta-2);margin-top:8px}
.articulo .art-cuerpo>p>img{max-width:100%;height:auto;border-radius:8px}
.desc{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.dtramo{padding:10px 0;border-bottom:1px solid var(--linea)}.dtramo:last-child{border:0}
.aviso{border-left:3px solid var(--naranja);padding:4px 0 4px 10px;margin:8px 0;font-size:14px}.aviso small{display:block;color:var(--tinta-2)}
.avisar summary{cursor:pointer;color:var(--naranja-txt);font-weight:600;min-height:32px}
.avisar form p{margin:8px 0}.avisar label{display:block;font-size:13px;font-weight:600;color:var(--tinta-2);margin-bottom:4px}
.avisar textarea,.avisar input[type=email]{width:100%;font:15px var(--fb);padding:8px;border:1.5px solid var(--tinta);border-radius:4px;background:#fff}
.avisar .rev label{font-weight:400;display:flex;gap:6px;align-items:flex-start}
.trampa{position:absolute;left:-9999px}
.aviso-ok{background:#e8f1ec;border-left:3px solid #1a7f37;padding:8px 10px;font-size:14px}

/* V1 · aviso de época en el planificador */
.box.epoca{border-left:4px solid var(--naranja)}
.box.epoca p{margin:6px 0 0}

/* V1 · primer minuto y acabados */
.pasos{list-style:none;counter-reset:p;margin:18px 0 0;padding:0;max-width:620px;color:var(--crema)}
.pasos li{counter-increment:p;position:relative;padding:0 0 10px 38px;opacity:.92}
.pasos li:before{content:counter(p);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--naranja);color:var(--noche);font-weight:800;font-size:14px;display:grid;place-items:center}
.pasos b{color:var(--crema)}
.btn.cta{margin-top:12px;background:var(--naranja);border-color:var(--naranja);color:var(--noche)}
.cargando{margin:0;padding:18px 16px;color:var(--tinta-2);font-style:italic}
.map-card .cargando{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.cargando{animation:latir 1.4s ease-in-out infinite}}
@keyframes latir{50%{opacity:.45}}
.box.sinrodar{border-left:4px solid var(--tinta);border-style:dashed}
.box.sinrodar p{margin:6px 0 0}

/* Landing provisional (D-46) */
body.landing{background:var(--noche)}
html:has(body.landing){margin-top:0 !important}
.ld{min-height:100vh;min-height:100dvh;display:flex;align-items:flex-end;background-size:cover;background-position:center 75%;color:var(--crema)}
.ld-in{width:100%;max-width:760px;margin:0 auto;padding:40px 20px 48px}
.ld-logo{width:min(280px,70vw);height:auto;display:block;margin:0 0 26px}
.ld h1{font-family:var(--fh);font-weight:400;font-size:clamp(40px,8vw,72px);line-height:1;margin:0 0 14px;color:var(--crema)}
.ld .lead{max-width:640px}
.ld-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 8px;max-width:520px}
.ld-stats div{border-top:2px solid var(--naranja);padding-top:6px}
.ld-stats b{display:block;font-weight:800;font-size:clamp(24px,5vw,32px);line-height:1.05}
.ld-stats span{font-size:13px;color:var(--crema-2)}
.ld-que{list-style:none;margin:18px 0 0;padding:0;max-width:640px}
.ld-que li{padding:6px 0 6px 22px;position:relative;opacity:.92}
.ld-que li:before{content:"";position:absolute;left:0;top:14px;width:10px;height:10px;border-radius:50%;background:var(--naranja)}
.ld-que b{color:var(--crema)}
.ld-pronto{margin:26px 0 0;font-size:18px}
.ld-pronto span{display:inline-block;background:var(--naranja);color:var(--noche);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:3px;margin-right:8px;vertical-align:2px}
.sub.intro p{margin:0 0 8px}
.sub.intro p:last-child{margin-bottom:0}

/* Portada y landing como páginas (D-51) */
.pagina-portada{padding-bottom:30px}
.pagina-portada>.hero,.pagina-portada .hero{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.pagina-portada .side{margin-top:0}
.pagina-portada .wp-block-columns{margin-top:22px;gap:28px}
.pagina-portada .strip{margin-top:28px}
body.landing-pagina{background:var(--papel)}
.ld-pagina{padding-top:32px;padding-bottom:40px}
.ld-pagina>.hero{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:-32px}
html:has(.pagina-portada),html:has(body.landing-pagina),body:has(.pagina-portada),body.landing-pagina{overflow-x:clip}

/* Perfiles de desnivel (D-55) */
.perfil{display:block;width:100%;height:auto;touch-action:pan-y}
.pf-marco{margin-top:4px}
.pf-area{fill:rgba(217,86,26,.14)}.pf-linea{fill:none;stroke:var(--desvio);stroke-width:2.2;stroke-linejoin:round}
.pf-duro{fill:none;stroke:var(--tinta);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.pf-grid{stroke:var(--linea);stroke-width:1}.pf-ej{font:12px var(--fb);fill:var(--tinta-2)}
.pf-dia{fill:rgba(28,23,18,.045)}.pf-diat{font:700 13px var(--fb);fill:var(--tinta)}
.pf-noche{stroke:var(--tinta);stroke-width:1.2;stroke-dasharray:4 4}
.pf-subida{fill:rgba(232,100,28,.10);stroke:none}
.pf-pueblo{fill:var(--papel-2);stroke:var(--tinta);stroke-width:1.4}
.pf-city{fill:var(--tinta)}.pf-ciudad{font:700 13px var(--fb);fill:var(--tinta)}
.pf-top{font:700 12px var(--fb);fill:var(--naranja-txt)}
.pf-aqui-l{stroke:var(--naranja);stroke-width:2;stroke-dasharray:3 3}.pf-aqui{fill:var(--naranja);stroke:var(--papel-2);stroke-width:2.5}.pf-aqui-t{font:800 14px var(--fb);fill:var(--tinta)}
.pf-cursor line{stroke:var(--tinta);stroke-width:1}.pf-cursor circle{fill:var(--naranja);stroke:#fff;stroke-width:2}
.pf-tip-bg{fill:var(--tinta);opacity:.92}.pf-tip1,.pf-tip2{font:12.5px var(--fb);fill:var(--papel)}.pf-tip1{font-weight:700}
.pf-toque{fill:transparent;cursor:crosshair}
.pf-datos{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:14px}
.pf-lg-duro,.pf-lg-noche{display:inline-block;width:22px;vertical-align:middle;margin-right:2px}
.pf-lg-duro{height:4px;background:var(--tinta);border-radius:2px}.pf-lg-noche{border-top:1.5px dashed var(--tinta)}
@media print{.pf-toque,.pf-cursor{display:none}}
.perfil-tramo .pf-ej{font-size:15px}.perfil-tramo .pf-ciudad{font-size:16px}.perfil-tramo .pf-aqui-t{font-size:17px}
@media (max-width:640px){.perfil-tramo .pf-ej{font-size:19px}.perfil-tramo .pf-ciudad{font-size:20px}.perfil-tramo .pf-aqui-t{font-size:21px}}
.pf-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.perfil-viaje .sv-gt{font-size:11.5px}.perfil-viaje .sv-base{stroke-width:1.5}
.lg-sub{display:inline-block;width:18px;height:10px;background:rgba(232,100,28,.18);vertical-align:middle;margin-right:2px}
.pf-leyenda{margin:8px 0 0;line-height:1.9}
@media (max-width:640px){.perfil-viaje .pf-ej{font-size:11px}.perfil-viaje .pf-ciudad{font-size:12px}.pf-datos{font-size:13.5px}}

/* Imprescindibles con foto y extracto en Planifica (D-57) */
.poicard{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:start;margin:10px 0 2px;padding:10px;border:1.5px solid var(--desvio);border-radius:6px;background:var(--papel-2);text-decoration:none;color:var(--tinta);max-width:560px}
.poicard img{width:120px;height:86px;object-fit:cover;border-radius:4px;display:block}
.poicard b{color:var(--naranja-txt);font-size:15px;display:block;margin-bottom:3px}
.poicard small{display:block;font-size:13.5px;line-height:1.45;color:var(--tinta-2)}
.poicard em{display:block;font-style:normal;font-size:13px;color:var(--naranja-txt);margin-top:4px}
.poicard:not(:has(img)){grid-template-columns:1fr}
@media (max-width:480px){.poicard{grid-template-columns:88px 1fr}.poicard img{width:88px;height:70px}}
@media print{.no-print{display:none!important}.poicard{display:inline-block;border:1px solid #999;padding:3px 8px;margin:4px 6px 0 0;background:none}.poicard b{font-size:13px;margin:0}}

/* Mapa enlazado al gráfico en Planifica (D-59) */
.pf-mapa{height:360px;margin-top:12px;border:1px solid var(--linea);border-radius:6px;overflow:hidden;background:var(--papel)}
.pf-mapa-et{background:var(--tinta);color:var(--papel);border:0;font:700 12px var(--fb);padding:2px 7px;box-shadow:none}
.pf-mapa-et:before{display:none}
.pf-mapa-noche span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--papel-2);border:2px solid var(--tinta);font:800 11px var(--fb);color:var(--tinta)}
@media (max-width:640px){.pf-mapa{height:280px}}

/* Previsión del tiempo en Planifica (D-61) */
.campo-fecha{min-height:44px;padding:6px 10px;border:1.5px solid var(--tinta);border-radius:4px;background:var(--papel-2);font:16px var(--fb);color:var(--tinta)}
.pf-tiempo-t{font:600 12.5px var(--fb);fill:var(--tinta)}.pf-tiempo-t.cara{fill:var(--naranja-txt);font-weight:800}
.pf-tiempo{margin-top:12px;padding-top:10px;border-top:1px solid var(--linea)}
.pf-tiempo h4{margin:0 0 6px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-2)}
.pf-tiempo ul{list-style:none;margin:0;padding:0}.pf-tiempo li{padding:4px 0;font-size:14px;border-bottom:1px dashed var(--linea)}
.pf-tiempo li.orientativa{color:var(--tinta-2)}.pf-tiempo .v-de-cara{color:var(--naranja-txt)}
.stop>.day{display:block}
.gpx-nota{display:block;margin:6px 0 0;font-size:13px}

/* Pie, credencial y «Han desbarrado» (D-65) */
.pie-enlaces{margin:8px 0 0;font-size:13px}.pie-enlaces a{color:var(--crema-2)}
.ld-legal{margin-top:22px;font-size:12.5px;opacity:.8}.ld-legal a{color:var(--crema-2)}
.cred-hoja{background:#fff;border:1px solid var(--linea);border-radius:6px;padding:22px;margin:18px 0 30px;color:#111}
.cred-cab{display:flex;align-items:center;gap:16px;border-bottom:2px solid #111;padding-bottom:10px}
.cred-cab img{width:170px;height:auto}.cred-cab b{display:block;font-family:var(--fh);font-size:30px;font-weight:400;line-height:1}.cred-cab span{font-size:13px;color:#555}
.cred-datos{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:14px 0}
.cred-datos span{font-size:12px;color:#555}.cred-datos i{display:block;border-bottom:1px solid #999;height:22px}
.cred-rejilla{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cred-casilla{border:1.5px dashed #999;border-radius:6px;min-height:92px;padding:6px 8px;position:relative}
.cred-casilla b{display:block;font-size:12.5px;line-height:1.2}.cred-casilla small{font-size:11px;color:#666}
.cred-fin{border-style:solid;border-color:var(--naranja);background:rgba(232,100,28,.06)}
.cred-pie{font-size:11px;color:#666;margin:12px 0 0}
@media (max-width:640px){.cred-rejilla{grid-template-columns:repeat(2,1fr)}.cred-datos{grid-template-columns:1fr}}
@media print{.credencial .cred-hoja{border:0;padding:0;margin:0}.cred-rejilla{grid-template-columns:repeat(4,1fr)}.cred-casilla{break-inside:avoid;min-height:88px}.cred-datos{grid-template-columns:1fr 1fr 1fr}}
.desbarrados{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:18px 0 30px}
.desbarrado{margin:0;background:var(--papel-2);border:1px solid var(--linea);border-radius:6px;overflow:hidden}
.desbarrado img{width:100%;height:200px;object-fit:cover;display:block}
.desbarrado figcaption{padding:10px 12px}.desbarrado b{display:block;font-size:16px}.desbarrado small{display:block;color:var(--naranja-txt);font-size:13px;margin:2px 0 6px}.desbarrado span{font-size:14px;color:var(--tinta-2)}

/* Credencial digital (D-66) */
.cr-nueva form,#cr-r{display:grid;gap:12px;max-width:520px}
.credencial label{display:grid;gap:4px;font-weight:600;font-size:14px}.credencial label span{font-weight:400;color:var(--tinta-2)}
.credencial input[type=text],.credencial input[type=email],.credencial input:not([type]),.credencial select{min-height:44px;padding:6px 10px;border:1.5px solid var(--tinta);border-radius:4px;background:var(--papel-2);font:16px var(--fb)}
.cr-check{display:flex!important;align-items:center;gap:8px;font-weight:400!important}
.cr-tarjeta{background:#fff;border:1.5px solid var(--tinta);border-radius:10px;padding:16px;margin:10px 0 16px;box-shadow:0 2px 0 var(--tinta)}
.cr-cab{display:flex;align-items:center;gap:14px;border-bottom:2px solid var(--tinta);padding-bottom:10px;flex-wrap:wrap}
.cr-cab img{width:130px;height:auto}.cr-cab b{display:block;font-family:var(--fh);font-weight:400;font-size:26px;line-height:1}.cr-cab span{font-size:14px;color:var(--tinta-2)}
.cr-codigo{margin-left:auto;font:800 20px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;background:var(--tinta);color:var(--papel);padding:8px 10px;border-radius:6px}
.cr-tramo{padding:12px 0;border-bottom:1px dashed var(--linea)}.cr-tramo:last-child{border-bottom:0}
.cr-tn{font-size:15px;margin-bottom:6px}.cr-pp{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.cr-pp i{width:18px;border-top:2px dotted var(--tinta-2)}
.cr-punto{display:inline-block;padding:4px 10px;border-radius:999px;border:1.5px dashed var(--tinta-2);font-size:13px;color:var(--tinta-2)}
.cr-punto.ok{border:1.5px solid var(--agua);background:rgba(47,111,143,.12);color:var(--tinta);font-weight:700}
.cr-punto.dec{border:1.5px solid var(--tinta-2);color:var(--tinta)}
.cr-veces{font-size:13.5px;margin-top:6px;color:var(--tinta-2)}.cr-tramo.hecho .cr-veces{color:var(--naranja-txt)}
.cr-total{margin:10px 0 0;font-size:14px}
.cr-acciones{display:grid;gap:10px;margin:6px 0}.cr-acciones .btn{font-size:17px;min-height:56px}
.cr-mano form{display:grid;gap:8px;margin-top:8px;max-width:520px}
.cr-aviso{min-height:1.4em;margin:8px 0 14px;font-size:15px}.cr-aviso.bien{color:#1d6b3a}.cr-aviso.mal{color:var(--naranja-txt)}
.cr-info ul{margin:6px 0;padding-left:18px}
.cr-amigos ul{list-style:none;padding:0}.cr-amigos li{padding:8px 0;border-bottom:1px solid var(--linea);display:flex;gap:12px;align-items:flex-start}.cr-am-logo{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:8px;padding:3px;flex:none}.cr-am-ico{width:52px;text-align:center;font-size:24px;flex:none}.cr-amigos .cr-con a{color:inherit}.cr-amigos li:last-child{border:0}.cr-amigos small{color:var(--tinta-2)}.cr-amigos .cr-of{color:var(--naranja-txt)}.cr-marcas{font-size:13.5px;color:var(--tinta-2)}
.cr-lista{columns:2;gap:24px;margin:8px 0 26px;padding-left:18px}
@media (max-width:640px){.cr-codigo{margin-left:0}.cr-lista{columns:1}}
.cr-qr{display:flex;align-items:center;gap:12px;margin-top:12px}.cr-qr svg{width:132px;height:132px;flex:none}.cr-qr span{font-size:13px;color:var(--tinta-2)}

/* Fotos en la credencial (D-68) */
.cr-fotos{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.cr-fotos a{position:relative;display:block}.cr-fotos img{width:84px;height:64px;object-fit:cover;border-radius:4px;display:block}
.cr-fotos em{position:absolute;left:3px;bottom:3px;font:700 10px var(--fb);font-style:normal;background:rgba(28,23,18,.75);color:#fff;padding:1px 4px;border-radius:3px}
.cr-foto-ya{display:flex;margin:10px 0 4px;min-height:48px}.cr-foto-nota{display:block;font-size:12.5px;color:var(--tinta-2)}
.cr-foto-mas{margin-left:6px;font-size:12.5px;padding:2px 8px;border:1px solid var(--tinta);border-radius:999px;background:var(--papel-2);cursor:pointer}

/* Credencial: un pueblo por columna con sus fotos debajo, y el sentido (D-69) */
.cr-pp{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:start;gap:6px}
.cr-pp>i{display:none}.cr-flecha{display:block!important;font-style:normal;color:var(--tinta-2);padding-top:5px}
.cr-col{display:grid;gap:6px;justify-items:start;min-width:0}
.cr-col .cr-fotos{margin-top:0;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;width:100%;max-width:180px}
.cr-col .cr-fotos img{width:100%;height:56px}.cr-col .cr-fotos small{align-self:center;font-size:12px;color:var(--tinta-2)}
.cr-sentido{display:inline-block;font-size:12px;font-weight:700;color:var(--naranja-txt);margin-left:6px}
@media (max-width:480px){.cr-pp{grid-template-columns:1fr auto 1fr auto 1fr;gap:3px}.cr-punto{font-size:11.5px;padding:3px 7px}.cr-col .cr-fotos{grid-template-columns:1fr}}
.cr-pp .cr-flecha{border:0;width:auto}

/* Han desbarrado (D-70) */
.han-cifras{font-size:15px;margin:4px 0 10px}
.han-filtro{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.han-filtro a{padding:6px 12px;border:1.5px solid var(--tinta);border-radius:999px;text-decoration:none;color:var(--tinta);font-size:14px;background:var(--papel-2)}
.han-filtro a[aria-current]{background:var(--tinta);color:var(--papel)}
.han-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-bottom:22px}
.han-card{background:var(--papel-2);border:1px solid var(--linea);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.han-card header{padding:14px 16px 6px}.han-quien{display:block;font-family:var(--fh);font-weight:400;font-size:24px;line-height:1.1}
.han-tramo{display:block;font-size:14px;color:var(--tinta-2);margin-top:2px}.han-tramo em{font-style:normal;font-weight:700;color:var(--naranja-txt)}
.han-pasos{list-style:none;display:flex;margin:6px 16px 12px;padding:0;position:relative}
.han-pasos:before{content:"";position:absolute;left:8px;right:8px;top:7px;border-top:2px dotted var(--tinta-2)}
.han-pasos li{flex:1;position:relative;padding-top:20px;font-size:13px;text-align:center}.han-pasos li:first-child{text-align:left}.han-pasos li:last-child{text-align:right}
.han-pasos li:before{content:"";position:absolute;top:1px;left:50%;margin-left:-7px;width:14px;height:14px;border-radius:50%;background:var(--naranja);border:2px solid var(--papel-2)}
.han-pasos li:first-child:before{left:0;margin-left:0}.han-pasos li:last-child:before{left:auto;right:0;margin-left:0}
.han-pasos b{display:block;font-size:13.5px}.han-pasos span{color:var(--tinta-2)}
.han-fotos{display:grid;gap:3px}.han-fotos.n2,.han-fotos.n4{grid-template-columns:1fr 1fr}.han-fotos.n3{grid-template-columns:2fr 1fr}.han-fotos.n3 a:first-child{grid-row:span 2}
.han-fotos a{position:relative;display:block}.han-fotos img{width:100%;height:100%;min-height:120px;max-height:260px;object-fit:cover;display:block}
.han-fotos.n1 img{max-height:300px}
.han-fotos span{position:absolute;left:6px;bottom:6px;background:rgba(28,23,18,.72);color:#fff;font-size:11.5px;padding:2px 6px;border-radius:3px}
.han-desc{margin:12px 16px 4px;font-size:14px;color:var(--tinta-2)}.han-desc small{display:block;margin-top:4px;font-weight:700;color:var(--tinta)}
.han-card footer{margin-top:auto;padding:8px 16px 14px;font-size:14px}
.han-pag{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px;font-size:15px}
.han-cta{margin:10px 0 30px}
.cr-legal{font-size:12.5px;color:var(--tinta-2);margin:0}

/* Varias credenciales en un móvil y la imagen para compartir (D-71) */
.cr-quien{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 6px;font-size:15px}
.cr-quien select{min-height:40px;padding:4px 8px;border:1.5px solid var(--tinta);border-radius:4px;background:var(--papel-2);font:15px var(--fb)}
.cr-quien .btn{min-height:40px;font-size:14px}
.cr-compartir{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cr-compartir .btn{min-height:40px;font-size:14px}
.cr-img img{display:block;width:100%;max-width:420px;height:auto;border-radius:6px;margin:6px 0 12px;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.cr-img-b{display:flex;gap:10px;flex-wrap:wrap}
.cr-quitar{background:none;border:0;padding:0;color:var(--naranja-txt);text-decoration:underline;cursor:pointer;font:inherit}

/* Cada vuelta a un tramo, por separado (D-73) */
.cr-vuelta{border-top:1px dashed var(--linea);padding:10px 0 4px}.cr-tn+.cr-vuelta{border-top:0;padding-top:4px}
.cr-vt{font-size:14px;margin:0 0 6px}.cr-vt b{color:var(--naranja-txt)}.cr-ahora .cr-vt{color:var(--tinta-2)}
.cr-dia{display:block;font-size:12px;color:var(--tinta-2);margin:2px 0 0 4px}
.cr-vuelta .cr-compartir{margin:6px 0 4px}

/* Han desbarrado como la imagen para compartir (D-74) */
.han-poster{background:#1A1510;border-color:#1A1510;color:#F1E9DA}
.hp-arriba{position:relative;display:grid;gap:3px;height:300px;background:#2c2219;overflow:hidden}
.hp-arriba.n2{grid-template-columns:1fr 1fr}.hp-arriba.n3{grid-template-columns:61fr 39fr;grid-template-rows:1fr 1fr}.hp-arriba.n3 a:first-child{grid-row:span 2}
.hp-arriba a{position:relative;display:block;min-height:0}.hp-arriba a img{width:100%;height:100%;object-fit:cover;display:block}
.hp-arriba a span{position:absolute;right:6px;top:6px;background:rgba(26,21,16,.7);color:#fff;font-size:11px;padding:2px 6px;border-radius:3px;z-index:2}
.hp-arriba:before{content:"";position:absolute;inset:0 0 auto 0;height:70px;background:linear-gradient(rgba(26,21,16,.75),rgba(26,21,16,0));z-index:1;pointer-events:none}
.hp-arriba:after{content:"";position:absolute;inset:auto 0 0 0;height:110px;background:linear-gradient(rgba(26,21,16,0),#1A1510);z-index:1;pointer-events:none}
.hp-logo{position:absolute;left:16px;top:14px;width:110px;height:auto;z-index:3;pointer-events:none}
.hp-perfil{position:absolute;left:16px;right:16px;bottom:12px;width:calc(100% - 32px);height:70px;z-index:3;pointer-events:none;overflow:visible}
.hp-perfil polyline{fill:none;stroke:#E8641C;stroke-width:2.5;stroke-linejoin:round}
.hp-arriba.n0 .hp-perfil{top:70px;bottom:auto;height:180px}.hp-arriba.n0 .hp-perfil polyline{stroke-width:3.5}
.hp-abajo{padding:10px 16px 4px}
.han-poster .han-quien{font-family:"DM Serif Display",var(--fh),Georgia,serif;font-size:30px;color:#F1E9DA}
.hp-que{display:block;font-size:13.5px;color:#CDBFA8;margin-top:2px}.hp-que em{font-style:normal;font-weight:700;color:#E8641C}
.han-poster .han-pasos{margin:16px 0 8px}.han-poster .han-pasos:before{border-top-color:#CDBFA8}
.han-poster .han-pasos li:before{background:#E8641C;border-color:#1A1510}.han-poster .han-pasos b{color:#F1E9DA}.han-poster .han-pasos span{color:#CDBFA8}
.hp-cifras{margin:4px 0 6px;font-weight:800;font-size:19px;color:#E8641C}
.han-poster .han-desc{color:#CDBFA8;margin:6px 16px 4px;font-size:13.5px}
.han-poster footer a{color:#F1E9DA}

/* Pestañas de la credencial (D-77) */
.cr-pestanas{display:flex;gap:4px;margin:22px 0 0;border-bottom:2px solid var(--tinta)}
.cr-pestanas a{padding:9px 16px;text-decoration:none;color:var(--tinta-2);font-weight:700;font-size:15px;border-radius:6px 6px 0 0}
.cr-pestanas a:hover{color:var(--tinta)}
.cr-pestanas a[aria-current]{background:var(--tinta);color:var(--papel)}
.cr-pestanas+.h2p{margin-top:14px!important}
.cr-pestanas{flex-wrap:wrap}
.amigos-lista{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.amigos-lista li.box{margin:0!important}
.al-cab{display:flex;gap:14px;align-items:center}.al-cab img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:10px;padding:4px;flex:none}.al-ico{width:64px;text-align:center;font-size:34px;flex:none}
.al-cab h3{margin:0;font-size:19px;text-transform:none;letter-spacing:0;color:var(--tinta)}.al-tipo{margin:2px 0 0;font-size:14px;color:var(--tinta-2)}
.al-of{margin:12px 0 0;color:var(--naranja-txt);font-size:15px}.al-con{margin:8px 0 0;font-size:14px;color:var(--tinta-2)}.al-con a{color:inherit} /* D-271 */
@media (max-width:600px){.nav nav ul{gap:10px;font-size:14px}}

/* La vuelta completa, el ciclista gestiona lo suyo y sin cobertura (D-81, D-82, D-83) */
.cr-completo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#1A1510;color:#F1E9DA;border-radius:8px;padding:12px 16px;margin:12px 0 4px;box-shadow:0 0 0 3px #E8641C inset}
.cr-medalla{font-size:36px;line-height:1}
.cr-completo b{display:block;font-family:"DM Serif Display",var(--fh),Georgia,serif;font-weight:400;font-size:23px}
.cr-completo span{color:#CDBFA8;font-size:14px}.cr-completo .btn{margin-left:auto;min-height:40px;font-size:14px}
.cr-faltan{font-size:14px;color:var(--tinta-2);margin:10px 0 2px}
.cr-foto{position:relative;display:inline-block}
.cr-foto-x{position:absolute;top:3px;right:3px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(26,21,16,.78);color:#fff;font-size:18px;line-height:26px;padding:0;cursor:pointer;z-index:2}
.cr-ajustes form{display:grid;gap:12px;max-width:460px}
.cr-ajustes label{display:block;font-weight:700}.cr-ajustes label span{display:block;font-weight:400;font-size:13px;color:var(--tinta-2)}
.cr-ajustes input[name=apodo]{width:100%;min-height:42px;margin-top:4px;padding:6px 10px;border:1.5px solid var(--tinta);border-radius:4px;font:16px var(--fb);background:#fff}
.cr-ajustes form p{margin:0}.cr-borrar{color:#b32d2e}
.hp-insignia{display:inline-block;background:#E8641C;color:#fff;font-weight:800;font-size:13px;letter-spacing:.02em;padding:3px 10px;border-radius:999px;margin:0 0 6px}
.han-completo{box-shadow:0 0 0 3px #E8641C}
@media (min-width:700px){.han-completo{grid-column:span 2}.han-completo .hp-arriba{height:340px}}

/* Elegir una zona del gráfico y acercarla en el mapa (D-89) */
.pf-sel{fill:rgba(232,100,28,.18);stroke:#E8641C;stroke-width:1.5;pointer-events:none}
.pf-zona{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:6px 0 8px;font-size:14px;min-height:36px}
.pf-zona-b{display:none;min-height:36px;padding:4px 12px;border:1.5px solid var(--tinta);border-radius:999px;background:var(--papel-2);font:600 14px var(--fb);cursor:pointer}
.pf-zona-b.activo{background:var(--tinta);color:var(--papel)}
.pf-zona-todo{margin-left:4px;padding:2px 10px;border:1.5px solid var(--tinta);border-radius:999px;background:transparent;font:600 13px var(--fb);cursor:pointer}
.perfil-viaje.pf-eligiendo .pf-toque{touch-action:none;fill:rgba(232,100,28,.06)}
@media (hover:none),(pointer:coarse){.pf-zona-b{display:inline-block}}
@media print{.pf-sel{display:none}}

/* El menú del pie (D-91): en línea, separado por puntos, como los enlaces automáticos */
.pie-menu{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}
.pie-menu li{display:inline}.pie-menu li+li:before{content:" · ";padding:0 6px}

/* El menú en el móvil: tres rayas y el menú en vertical (D-92) */
.menu-b{display:none}
@media (max-width:700px){
	.nav.con-boton{flex-wrap:wrap;row-gap:0}
	.nav.con-boton .menu-b{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:46px;margin-right:-10px;padding:0;background:none;border:0;border-radius:6px;cursor:pointer}
	.nav.con-boton .menu-b:focus-visible{outline:2px solid var(--naranja);outline-offset:2px}
	.menu-b span{display:block;width:24px;height:2px;border-radius:2px;background:var(--crema);transition:transform .2s ease,opacity .2s ease}
	.nav.abierto .menu-b span:nth-child(1){transform:translateY(7px) rotate(45deg)}
	.nav.abierto .menu-b span:nth-child(2){opacity:0}
	.nav.abierto .menu-b span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
	.nav.con-boton nav{display:none;width:100%}
	.nav.con-boton.abierto nav{display:block}
	.nav.con-boton nav ul{flex-direction:column;justify-content:flex-start;gap:0;margin:10px 0 2px;font-size:17px}
	.nav.con-boton nav li{border-top:1px solid rgba(241,233,218,.14)}
	.nav.con-boton nav a{display:block;padding:13px 2px}
}
@media (prefers-reduced-motion:reduce){.menu-b span{transition:none}}

/* La red de rutas (D-94) */
#mapa .otra .route-otra{fill:none;stroke:#8C5A2B;stroke-width:3.2;stroke-dasharray:7 5;stroke-linecap:round;stroke-linejoin:round}
#mapa .otra .h{fill:none;stroke:transparent;stroke-width:16}
#mapa .otra:hover .route-otra,#mapa .otra:focus .route-otra{stroke:#D9561A}
.legend i.o{display:inline-block;width:18px;height:0;border-top:3px dashed #8C5A2B;vertical-align:middle;margin-right:6px}
.rutas-red{margin:28px 0 8px}.rutas-red h2{font-family:var(--fh);font-weight:400;font-size:30px;margin:0 0 12px}
.rutas-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.ruta-card{display:flex;flex-direction:column;gap:4px;padding:0 0 14px;background:var(--papel-2);border:1px solid var(--linea);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--tinta)}
.ruta-card img{width:100%;height:150px;object-fit:cover;display:block;margin-bottom:6px}
.ruta-card>span,.ruta-card>b{padding:0 16px}.ruta-card .rc-k{margin-top:12px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-2)}.ruta-card img+.rc-k{margin-top:4px}
.ruta-card b{font-family:var(--fh);font-weight:400;font-size:24px;line-height:1.15}
.ruta-card .rc-t{font-size:14px;color:var(--tinta-2)}.ruta-card .rc-n{font-weight:700;color:var(--naranja-txt)}.ruta-card .rc-v{font-size:14px;text-decoration:underline}
.ruta-card:hover{border-color:var(--tinta)}
.ruta-pag .ruta-cab{margin:22px 0 10px}.ruta-pag .lead{font-size:18px;max-width:760px}
.ruta-acc{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.ruta-sec{margin:18px 0}.ruta-mapa{height:440px;border-radius:6px;overflow:hidden}
.perfil-ruta{width:100%;height:auto;display:block}.pf-datos-ruta{margin:6px 0 0}
.ruta-tramos{width:100%;border-collapse:collapse;font-size:15px}.ruta-tramos th,.ruta-tramos td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--linea)}
.ruta-tramos th{font-size:13px;color:var(--tinta-2);font-weight:600}
.ruta-pueblos{list-style:none;margin:0;padding:0;columns:2 260px;column-gap:28px}.ruta-pueblos li{break-inside:avoid;padding:5px 0;border-bottom:1px dotted var(--linea)}
.ruta-pueblos small{color:var(--tinta-2)}
.ruta-h3{font-family:var(--fh);font-weight:400;font-size:26px;margin:0 0 10px}
.ruta-pois{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.ruta-poi{display:flex;flex-direction:column;gap:3px;background:var(--papel-2);border:1px solid var(--linea);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--tinta);padding-bottom:12px}
.ruta-poi img{width:100%;height:140px;object-fit:cover}.ruta-poi>b,.ruta-poi>small,.ruta-poi>span{padding:0 12px}.ruta-poi>b{margin-top:8px;font-size:16px}
.ruta-poi>small{color:var(--tinta-2)}.ruta-poi>span{font-size:13.5px;color:var(--tinta-2)}
@media (max-width:600px){.ruta-mapa{height:340px}.ruta-tramos{font-size:14px}}
.ruta-cab .lead{color:var(--tinta-2)}
.ruta-cab .stats{grid-template-columns:repeat(4,minmax(0,1fr));max-width:820px}
@media (max-width:600px){.ruta-cab .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Rendimiento (D-98): en el móvil, las fotos de la portada en su versión pequeña */
@media (max-width:700px){.foto.con-m{background-image:var(--m)!important}}

/* Accesibilidad en el móvil (D-98): contraste suficiente y cosas que se tocan con el dedo de al menos ~40 px */
.train a{color:#8E370B}
main input[type=checkbox],main input[type=radio]{width:20px;height:20px;accent-color:var(--naranja-txt)}
main input[type=text],main input[type=email],main input[type=search],main input[type=number],main input[type=url],main select{min-height:40px}
main details>summary{padding:10px 0;cursor:pointer}
.slider input[type=range]{height:36px}
.leaflet-touch .leaflet-bar a{width:38px;height:38px;line-height:38px;font-size:20px}
main input[type=checkbox],main input[type=radio]{width:20px!important;height:20px!important;flex:0 0 20px}
@media (max-width:700px){.leaflet-bar a,.leaflet-touch .leaflet-bar a{width:38px!important;height:38px!important;line-height:38px!important;font-size:20px!important}}

/* Lista de correo (D-100) */
.lista-f{display:flex;flex-direction:column;gap:8px;max-width:560px}
.lista-t{font-family:var(--fh);font-weight:400;font-size:22px}.lista-x{font-size:14px;opacity:.85}
.lista-fila{display:flex;gap:8px}.lista-fila input{flex:1;min-width:0;min-height:44px;padding:8px 12px;border:1.5px solid currentColor;border-radius:4px;font:16px var(--fb);background:#fff;color:var(--tinta)}
.lista-fila button{min-height:44px;padding:8px 18px;border:0;border-radius:4px;background:var(--naranja);color:#fff;font:700 15px var(--fb);cursor:pointer}
.lista-fila button:disabled{opacity:.6}
.lista-ok{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.4}.lista-ok input{flex:0 0 20px;width:20px;height:20px;margin-top:1px}
.lista-ok a{color:inherit}
.lista-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.lista-msg{margin:0;font-size:14px;min-height:1em}.lista-msg.mal{color:#ffb4a0}.lista-msg.bien{font-weight:700}
main .lista-msg.mal{color:#b32d2e}
.pie-lista{max-width:1120px;margin:0 auto;padding:22px 20px 18px;border-bottom:1px solid rgba(241,233,218,.15);color:var(--crema)}
.lista-aviso{background:#1a7f37;color:#fff;text-align:center;padding:10px 16px;font-weight:700}
.ld-lista{margin-top:18px;color:#F1E9DA}.ld .lista-aviso{border-radius:6px;margin-top:12px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
footer.pie .pie-lista .lista-f{max-width:620px}

/* Comercios amigos (D-101) */
.dormir-cerca ul{list-style:none;margin:0;padding:0}.dormir-cerca li{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--linea)}.dormir-cerca li:first-child{border-top:0}.dc-i{color:var(--naranja-txt);line-height:1;padding-top:2px}.dormir-cerca small{color:var(--tinta-2)}.dc-ex{display:block;font-size:14px;color:var(--tinta-2);margin-top:2px} /* D-263 */
.n-amigo{display:flex;gap:8px;align-items:flex-start;margin:6px 0 2px;padding:6px 8px;border:1.5px dashed var(--naranja-txt);border-radius:8px;font-size:13px;line-height:1.35;background:rgba(232,100,28,.05)}.n-amigo img{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:6px;flex:none}.n-amigo i{font-style:normal;font-size:20px;flex:none}.n-amigo em{color:var(--naranja-txt)}.n-amigo small{color:var(--tinta-2)}.n-amigo a{color:inherit} /* D-270 */
@media print{.n-amigo{border:1px dashed #999;background:none;padding:3px 5px;font-size:9pt}.n-amigo img{width:22px;height:22px}}
.amigos ul{list-style:none;margin:0;padding:0}.amigos li{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--linea)}
.am-i{font-size:22px;line-height:1.2}.amigos .am-logo{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:8px;padding:3px;flex:none} /* D-272 */.amigos small{color:var(--tinta-2)}.am-of{display:block;color:var(--naranja-txt);font-weight:700;font-size:14px;margin-top:2px}.am-c{display:block;font-size:13px;color:var(--tinta-2)}
.cr-sellos{margin:14px 0 4px}.cr-sellos h4{margin:0 0 6px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-2)}
.cr-sellos ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cr-sellos li{display:flex;align-items:center;gap:6px;border:1.5px dashed var(--naranja-txt);border-radius:999px;padding:5px 12px 5px 8px;font-size:14px}
.cr-sellos li small{color:var(--tinta-2);font-size:12px}
.cr-sellos li.con-logo{padding:4px 12px 4px 4px}.cr-sello-logo{height:44px;width:auto;max-width:96px;object-fit:contain;background:#fff;border-radius:999px;padding:3px 6px;display:block} /* D-255 */

/* La imagen destacada como cabecera de las páginas (D-102) */
.pag-foto{margin:18px 0 4px;border-radius:8px;overflow:hidden;background:var(--papel-2)}
.pag-foto img{display:block;width:100%;height:auto;max-height:400px;object-fit:cover}
.pag-foto figcaption{font-size:11.5px;color:var(--tinta-2);padding:6px 2px 0;background:var(--papel)}
.pag-foto+.h2p{margin-top:14px!important}
@media (max-width:700px){.pag-foto img{max-height:240px}}

/* Los pueblos en el mapa de Planifica (D-103) */
.pf-pueblo-et{background:rgba(251,246,236,.92);border:1px solid var(--linea);box-shadow:none;color:var(--tinta);font:600 12px var(--fb);padding:1px 6px;border-radius:3px}
.pf-pueblo-et:before{display:none}
.pf-pueblo-et.oculta{visibility:hidden}.pf-pueblo-et.oculta.ver{visibility:visible;z-index:700}
.pf-mapa-pie{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0 2px}
.pf-pueblos-b{min-height:38px;padding:6px 14px;border:1.5px solid var(--tinta);border-radius:999px;background:var(--papel-2);font:600 14px var(--fb);cursor:pointer}
.pf-pueblos-b[aria-pressed=false]{background:var(--tinta);color:var(--papel)}
.pf-sin-nombres .pf-pueblo-et{visibility:hidden}.pf-sin-nombres .pf-pueblo-et.ver{visibility:visible}
.stats.stats-2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Colabora (D-105) */
.col-f{max-width:620px;margin:18px 0}.col-f h3{margin-top:0}.col-f fieldset{border:0;padding:0;margin:0 0 14px}.col-f legend{font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--tinta-2);margin-bottom:6px}
.col-c{display:block;margin:0 0 10px}.col-c>span{display:block;font-size:14px;font-weight:600;margin-bottom:3px}.col-c small{font-weight:400;color:var(--tinta-2)}
.col-c input{width:100%;min-height:44px;padding:8px 12px;border:1.5px solid var(--tinta);border-radius:4px;font:16px var(--fb);background:#fff}
.col-eur{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px}.col-eur input{width:120px;font-size:18px;font-weight:700}
.col-fila{display:grid;grid-template-columns:140px 1fr;gap:10px}
.col-pais,.col-nota{font-size:13px;color:var(--tinta-2);margin:0}.col-quedan{color:var(--naranja-txt);font-weight:700;margin:-6px 0 10px}
.col-msg{margin:6px 0 0;font-weight:700}.col-msg.mal{color:#b32d2e}
.col-ok h3{color:var(--naranja-txt)}.col-ok .col-num,.col-ok .col-ref{font-size:1.25em;white-space:nowrap}
.col-cerrado{font-weight:700;padding:14px;background:var(--papel-2);border-radius:6px}
@media (max-width:600px){.col-fila{grid-template-columns:1fr}}
.col-precio{background:var(--papel);border:1px solid var(--linea);border-radius:6px;padding:12px 14px;margin:0 0 16px}.col-precio p{margin:0}.col-lote{font-weight:700}.col-cuenta{font-size:18px;margin:6px 0!important}.col-cuenta b{font-size:22px;color:var(--naranja-txt)}.col-destino{font-size:13px;color:var(--tinta-2)}
.col-fila-2{grid-template-columns:110px 1fr;align-items:end}.col-c select{width:100%;min-height:44px;padding:6px 10px;border:1.5px solid var(--tinta);border-radius:4px;font:700 18px var(--fb);background:#fff}
/* El apartado en el que estás, en el naranja del logo (D-108) */
.nav nav .current-menu-item>a,.nav nav .current_page_item>a,.nav nav .current-menu-ancestor>a,.nav nav .current-page-ancestor>a,.nav nav a[aria-current=page]{color:var(--naranja)!important}
.nav nav .current-menu-item>a:hover{color:#FF9A57!important}
/* selector de idioma (GTranslate): «ES · EN» en línea, sin repetir el idioma actual (D-262) */
.nav nav>ul{align-items:center}
.nav nav .menu-item-gtranslate{display:flex;align-items:center;gap:8px;padding-left:14px;border-left:1px solid rgba(241,233,218,.25);line-height:1.2}
.nav nav .menu-item-gtranslate>.sub-menu{line-height:1.2}
.nav nav .menu-item-gtranslate>.sub-menu{display:flex;gap:8px;margin:0;padding:0;list-style:none;flex-direction:row}
.nav nav .menu-item-gtranslate-child:has(>.gt-current-lang){display:none}
.nav nav .menu-item-gtranslate .gt-current-wrapper{color:var(--crema);font-weight:700;cursor:default}
.nav.con-boton nav .menu-item-gtranslate{border-left:0;padding:13px 2px}
.nav.con-boton nav .menu-item-gtranslate a{display:inline;padding:0}
.nav.con-boton nav .menu-item-gtranslate .sub-menu li{border-top:0}

/* La web en tres dispositivos (D-129) */
.disp-juntos,.disp-tres figure{margin:28px 0}
.disp-juntos img,.disp-tres img{display:block;width:100%;height:auto;border-radius:6px}
.disp-juntos figcaption,.disp-tres figcaption{margin-top:8px;font-size:12.5px;color:var(--tinta-2)}
.disp-tres{display:grid;grid-template-columns:.8fr 1fr 1.45fr;gap:18px;align-items:end;margin:28px 0}
.disp-tres figure{margin:0}
@media (max-width:700px){.disp-tres{grid-template-columns:1fr 1fr}.disp-tres figure:last-child{grid-column:1/-1}}

/* Lo último del cuaderno en la portada (D-131) */
.portada-cuaderno{margin:36px 0 8px}.portada-cuaderno+.strip{margin-top:28px}
.pc-cab{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:4px}
.pc-cab h2{font-family:var(--fh);font-weight:400;font-size:30px;margin:0}
.pc-cab a{color:var(--naranja-txt);font-weight:700;text-decoration:none}.pc-cab a:hover{text-decoration:underline}
.portada-cuaderno .art-tx h3{font-family:var(--fh);font-weight:400;font-size:24px;line-height:1.1;margin:4px 0 8px}.portada-cuaderno .art-tx h3 a{color:var(--tinta);text-decoration:none}
.portada-cuaderno .art-tx p:last-child{margin-bottom:4px}
.portada-cuaderno .cuaderno{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
@media (max-width:960px){.portada-cuaderno .cuaderno{grid-template-columns:repeat(min(var(--cols,3),2),minmax(0,1fr))}}
@media (max-width:640px){.portada-cuaderno .cuaderno{grid-template-columns:1fr}}

/* Imprescindibles de la portada con foto (D-136) */
.ditem-foto{justify-content:flex-start;padding:8px 14px 8px 8px}
.ditem-foto .ditem-tx{flex:1;min-width:0}
.ditem-img{flex:0 0 64px;width:64px;height:64px;border-radius:3px;object-fit:cover;display:block}
.ditem-sin{background:linear-gradient(160deg,#3a2c20,#7a5e43 55%,#c59a6b)}

/* Cuenta atrás de la landing (D-138) */
.ld-cuenta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:440px;margin:14px 0 4px}
.ld-cuenta div{background:rgba(251,246,236,.08);border:1px solid rgba(251,246,236,.22);border-radius:6px;padding:10px 6px 8px;text-align:center}
.ld-cuenta b{display:block;font-weight:800;font-size:clamp(28px,7vw,40px);line-height:1;font-variant-numeric:tabular-nums;color:var(--crema)}
.ld-cuenta span{display:block;margin-top:4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--crema-2)}
.ld-hoy{grid-column:1/-1;margin:0;font-weight:800;font-size:22px;color:var(--naranja)}

/* Los imprescindibles en el mapa de Planifica (D-155) */
.pf-ley{font-size:13px;color:var(--tinta-2);display:inline-flex;align-items:center;gap:6px}
.pf-ley-poi{display:inline-block;width:10px;height:10px;background:var(--desvio);transform:rotate(45deg)}
.pf-poi-et{background:var(--desvio);color:#fff;border:0;font:700 12px var(--fb);padding:2px 7px;box-shadow:none}
.pf-poi-et:before{display:none}

/* Los sitios para dormir en el mapa de Planifica (D-156) */
.pf-sitio-icon span{display:grid;place-items:center;width:20px;height:20px;border-radius:4px;background:var(--agua);border:2px solid var(--papel-2);box-sizing:border-box}
.pf-ley-sitio{display:inline-block;width:11px;height:11px;border-radius:3px;background:var(--agua)}
.pf-sitio-et{background:var(--agua);color:#fff;border:0;font:700 12px var(--fb);padding:2px 7px;box-shadow:none}
.pf-sitio-et:before{display:none}

/* Capas y pantalla completa del mapa de Planifica (D-163) */
.pf-mapa-pie{flex-wrap:wrap}
.pf-capas{display:flex;flex-wrap:wrap;gap:6px}
.pf-capa-b,.pf-pantalla-b{min-height:38px;padding:6px 12px;border:1.5px solid var(--tinta);border-radius:999px;background:var(--papel-2);font:600 14px var(--fb);color:var(--tinta);cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.pf-capa-b[aria-pressed=false]{opacity:.5;text-decoration:line-through;border-style:dashed}
.pf-pantalla-b{background:var(--tinta);color:var(--papel)}
/* Pantalla completa de Planifica (D-163, D-164): filtros, mapa y gráfico, y nada más */
html.pf-pantalla-abierta,html.pf-pantalla-abierta body{overflow:hidden}
.pf-filtros-b,.pf-app-logo{display:none}
#pf-app.pf-app-pantalla{position:fixed;inset:0;z-index:100000;max-width:none;width:auto;margin:0;padding:10px;background:var(--papel);
  display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:10px;overflow:hidden}
#pf-app.pf-app-pantalla:fullscreen{width:100%;height:100%}
#pf-app.pf-app-pantalla>*{display:none}
#pf-app.pf-app-pantalla>#pf-form{display:flex;flex-direction:column;gap:10px;grid-column:1;grid-row:2;margin:0;padding:12px;overflow-y:auto;min-height:0}
#pf-app.pf-app-pantalla>#out{display:block;grid-column:2;grid-row:1/-1;min-width:0;min-height:0}
/* el logo encima de los filtros y los botones de exportar debajo (D-166) */
#pf-app.pf-app-pantalla>.pf-app-logo{display:block;grid-column:1;grid-row:1;padding:4px 6px 0}
#pf-app.pf-app-pantalla>.pf-app-logo img{display:block;width:100%;max-width:230px;height:auto}
#pf-app.pf-app-pantalla>#acciones{display:flex;flex-direction:column;gap:6px;grid-column:1;grid-row:3;margin:0}
#pf-app.pf-app-pantalla>#acciones .btn{width:100%;text-align:center;justify-content:center;min-height:40px;padding:8px 12px;font-size:14px}
#pf-app.pf-app-pantalla>#acciones .gpx-nota{display:none}
#pf-app.pf-app-pantalla>#out>*:not(.perfil-box):not(#pf-lado):not(:has(.perfil-box)){display:none}
/* «Tus etapas» (D-167): a la derecha en pantallas anchas, debajo en portátiles, y al desplazar en el móvil */
#pf-app.pf-app-pantalla>#out{position:relative}
#pf-app.pf-app-pantalla>#out>.perfil-box{height:100%}
#pf-lado{display:none}
#pf-app.pf-app-pantalla #pf-lado{display:flex;flex-direction:column;gap:8px;position:absolute;top:22px;right:22px;z-index:1000;width:290px;min-height:60px;overflow-y:auto}
#pf-app.pf-app-pantalla.pf-sin-lado #pf-lado{display:none}
#pf-app.pf-app-pantalla.pf-sin-grafico .perfil-box.pf-pantalla>.pf-marco{display:none} /* D-169 */
#pf-lado>.etapas,#pf-lado>.pf-tiempo{margin:0;padding:10px 12px;background:rgba(251,246,236,.96);border:1px solid var(--tinta);border-radius:8px;box-shadow:0 6px 18px rgba(28,23,18,.22)}
#pf-lado [data-panel]{margin:0 0 4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;user-select:none}
#pf-lado [data-panel]:after{content:"▾";font-size:14px;color:var(--tinta)}
#pf-lado .plegada [data-panel]{margin:0}#pf-lado .plegada [data-panel]:after{content:"▸"}
#pf-lado .plegada>:not(h3):not(h4){display:none}
#pf-lado .et{grid-template-columns:38px minmax(0,1fr) 50px 62px;gap:6px;font-size:12.5px;padding:5px 0}
#pf-lado .et-v,#pf-lado .spark,#pf-lado>.etapas>p{display:none}
#pf-lado .pf-tiempo li{font-size:12.5px}
/* ocultar la columna de filtros (D-168) */
#pf-app.pf-app-pantalla.pf-sin-filtros{grid-template-columns:minmax(0,1fr)}
#pf-app.pf-app-pantalla.pf-sin-filtros>.pf-app-logo,#pf-app.pf-app-pantalla.pf-sin-filtros>#pf-form,#pf-app.pf-app-pantalla.pf-sin-filtros>#acciones{display:none}
#pf-app.pf-app-pantalla.pf-sin-filtros>#out{grid-column:1}
.pf-barra-b{display:none}
#pf-app.pf-app-pantalla .pf-barra-b{display:inline-flex;min-height:38px;padding:6px 12px;border:1.5px solid var(--tinta);border-radius:999px;background:var(--papel-2);font:600 14px var(--fb);color:var(--tinta);cursor:pointer;align-items:center}
#pf-app.pf-app-pantalla .pf-barra-b[aria-pressed=false]{background:var(--tinta);color:var(--papel)}
#pf-app.pf-app-pantalla .pf-mapa-pie{gap:6px}#pf-app.pf-app-pantalla .pf-capas{gap:5px}
#pf-app.pf-app-pantalla .pf-capa-b,#pf-app.pf-app-pantalla .pf-barra-b,#pf-app.pf-app-pantalla .pf-pueblos-b,#pf-app.pf-app-pantalla .pf-pantalla-b{min-height:34px;padding:4px 10px;font-size:13px;gap:5px} /* una sola fila de botones (D-169) */
#pf-app.pf-app-pantalla #pf-form .fl{font-size:12px;margin-bottom:4px}
#pf-app.pf-app-pantalla #pf-form .fl span{display:none}
#pf-app.pf-app-pantalla #pf-form .seg{gap:4px}
#pf-app.pf-app-pantalla #pf-form .seg button{min-height:34px;padding:0 9px;font-size:13px}
#pf-app.pf-app-pantalla #pf-form [style*="margin-top:14px"]{margin-top:8px!important}
#pf-app.pf-app-pantalla #pf-form .campo-fecha{min-height:34px;font-size:13px}
.perfil-box.pf-pantalla{height:100%;margin:0;padding:10px;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.perfil-box.pf-pantalla>*{display:none}
.perfil-box.pf-pantalla>#pf-mapa{display:block;order:1;flex:1 1 auto;height:auto;min-height:0;margin:0}
.perfil-box.pf-pantalla>.pf-mapa-pie{display:flex;order:4;margin:0} /* los botones, debajo del gráfico (D-170) */
.perfil-box.pf-pantalla>.pf-marco{display:block;order:2;flex:0 0 auto}
.perfil-box.pf-pantalla>.pf-marco svg{width:100%;height:auto;max-height:none}
@media (max-width:760px){
  #pf-app.pf-app-pantalla{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;padding:6px;gap:6px}
  #pf-app.pf-app-pantalla>.pf-app-logo{display:none}
  #pf-app.pf-app-pantalla>#acciones{display:none;grid-row:3}
  #pf-app.pf-app-pantalla.pf-filtros-abiertos>#acciones{display:flex}
  #pf-app.pf-app-pantalla>.pf-filtros-b{display:flex;align-items:center;gap:8px;grid-row:1;min-height:42px;padding:6px 12px;border:1.5px solid var(--tinta);border-radius:6px;background:var(--papel-2);font:600 14px var(--fb);color:var(--tinta);text-align:left;cursor:pointer}
  .pf-filtros-res{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pf-filtros-cambia{font-size:13px;color:var(--naranja-txt);text-decoration:underline}
  #pf-app.pf-app-pantalla>#pf-form{display:none;grid-column:1;grid-row:2}
  #pf-app.pf-app-pantalla>#out{grid-column:1;grid-row:2;display:block;overflow-y:auto}
  #pf-app.pf-app-pantalla>#out>.perfil-box{height:calc(100% - 4px)}
  #pf-app.pf-app-pantalla #pf-lado{position:static;width:auto;max-height:none;margin-top:8px;overflow:visible}
  #pf-lado>.etapas,#pf-lado>.pf-tiempo{box-shadow:none;border-color:var(--linea);background:var(--papel-2)}
  #pf-lado [data-panel]{cursor:default}#pf-lado [data-panel]:after{display:none}
  #pf-app.pf-app-pantalla .pf-barra-b{display:none}
  #pf-app.pf-app-pantalla .pf-barra-b[data-barra=grafico]{display:inline-flex;font-size:13px;padding:5px 10px;min-height:34px}
  #pf-app.pf-app-pantalla.pf-filtros-abiertos>#pf-form{display:flex}
  #pf-app.pf-app-pantalla.pf-filtros-abiertos>#out{display:none}
  .perfil-box.pf-pantalla{padding:6px}
  .perfil-box.pf-pantalla>.pf-marco svg{max-height:26vh;width:auto;max-width:100%;margin:0 auto}
  .pf-capa-b,.pf-pantalla-b{font-size:13px;padding:5px 10px;min-height:34px}
}

/* Planifica: los puntos de paso en tabla, en pantalla y en papel (D-171/172) */
.tl-tabla{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.3;margin:8px 0 0}
.tl-tabla th{font-size:12px;font-weight:800;text-align:left;border-bottom:2px solid var(--tinta);padding:6px 4px;vertical-align:bottom}
.tl-tabla th.c{text-align:center;font-weight:700}
.tl-tabla th.c svg{display:block;margin:0 auto 3px}
.tl-tabla td{border-bottom:1px solid rgba(120,100,70,.22);padding:7px 4px;vertical-align:top}
.tl-tabla .k{width:40px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums;padding-right:10px}
.tl-tabla td.n{font-weight:700}
.tl-tabla .n a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--tinta-2)}
.tl-tabla .n .tag-off{margin-left:6px}
.tl-tabla .c{width:56px;text-align:center}
.tl-tabla td.c{font-weight:800}
.tl-tabla td.no{font-size:13.5px;color:var(--tinta-2)}
.tl-tabla .nt{display:block}
.tl-tabla .nt a{color:var(--naranja-txt)}
.tl-tabla .n-noche{font-weight:800;color:var(--naranja-txt)}
.tl-tabla .n-fuerte{font-weight:700;color:var(--tinta)}
.tl-tabla .n-aviso{display:flex;align-items:center;gap:5px;font-weight:600;color:var(--naranja-txt)}
.tl-tabla .n-aviso svg{flex:none}
.tl-tabla .n-nada{font-style:italic}
.tl-tabla .solo-print{display:none}
/* en pantalla, columnas de servicios alternas para seguirlas mejor (D-276) */
@media screen{.tl-tabla th.c:nth-child(odd),.tl-tabla td.c:nth-child(odd){background:rgba(130,100,60,.09)}.tl-tabla tr.noche td.c:nth-child(odd){background:rgba(180,71,15,.1)}}
.tl-amigos{display:none} /* solo al imprimir (D-273) */
.tl-tabla tr.d td{background:var(--tinta);color:var(--papel);font-weight:800;font-size:13.5px;padding:7px 10px;border:0}
.tl-tabla tr.city td.n{font-weight:900}
.tl-tabla tr.noche td{background:rgba(217,86,26,.07)}
.tl-tabla tr.noche td.k{box-shadow:inset 4px 0 0 var(--naranja)}
.tl-tabla tr.poi td{padding:2px 4px 6px}
.tl-tabla tr.poi .poicard{margin:6px 0}
.tl-tabla tr.poi .poimini{display:inline-block;margin:6px 10px 0 0}
.tl-tabla .no-m{display:none}
.tl-ley{font-size:12.5px;color:var(--tinta-2);margin:6px 0 0}
@media screen and (max-width:760px){
  .tl-tabla{font-size:14px}
  .tl-tabla .no{display:none}
  .tl-tabla .no-m{display:block;margin-top:2px;font-size:12.5px;font-weight:400;color:var(--tinta-2)}
  .tl-tabla th.c span{display:none}
  .tl-tabla .c{width:24px;padding:7px 1px}
  .tl-tabla .k{width:30px;padding-right:5px}
  .tl-tabla .n-aviso svg{display:none}
}
@media print{
  .tl-tabla{font-size:9pt;line-height:1.25;margin:6pt 0}
  .tl-tabla th{font-size:8pt;border-bottom:1.2pt solid #000;padding:2pt 3pt}
  .tl-tabla .n-aviso svg{display:none}
  .tl-tabla th.c svg{display:block;margin:0 auto}
  .tl-tabla td{border-bottom:.4pt solid #bbb;padding:1.6pt 3pt}
  .tl-tabla .k{width:28pt;padding-right:4pt}
  .tl-tabla td.n{font-weight:600;white-space:nowrap}
  .tl-tabla .n a{border:0}
  .tl-tabla .c{width:30pt}
  .tl-tabla td.no,.tl-tabla th.no{display:table-cell!important;font-size:8pt;color:#000}
  .tl-tabla td.c{font-weight:700}
  .tl-tabla th.c span{display:none!important}
  .tl-tabla .no-m,.tl-tabla tr.poi{display:none!important}
  .tl-tabla .nt,.tl-tabla .n-aviso{display:inline;color:#000}
  .tl-tabla .nt+.nt:before{content:" · "}
  .tl-tabla .solo-print{display:inline}
  .tl-tabla tr.d td{background:#eee;color:#000;border-top:1pt solid #000;padding:3pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tl-tabla tr.noche td{background:none}
  .tl-tabla tr.noche td.k{box-shadow:none}
  .tl-tabla tr{break-inside:avoid}
  .tl-amigos{display:block;margin-top:10pt}
  .tl-amigos .tl-tit{break-before:auto;page-break-before:auto;break-after:avoid;page-break-after:avoid} /* a continuación de los puntos de paso, sin hoja nueva (D-273) */
  .tl-tabla .nt:has(.n-amigo){display:none!important}
  .tl-am td,.tl-am th{font-size:8.5pt;vertical-align:top;padding:3pt 4pt;text-align:left}
  .tl-am td.k{width:24pt}
  .tl-ley{font-size:8pt;margin:2pt 0 8pt}
}

/* Planifica: el selector de tipo de mapa (D-175) */
#pf-mapa .leaflet-control-layers{border:1.5px solid var(--tinta);border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.18);font:inherit;font-size:14px}
#pf-mapa .leaflet-control-layers-expanded{padding:8px 12px 8px 8px;background:var(--papel)}
#pf-mapa .leaflet-control-layers-base label{display:block;padding:4px 0;cursor:pointer}
#pf-mapa .leaflet-control-layers-base input{accent-color:var(--naranja);margin-right:6px}
@media print{#pf-mapa .leaflet-control-layers{display:none}}

/* Planifica en pantalla completa: la zona marcada en el gráfico y «Ver todo el recorrido» (D-176), entre el gráfico y los botones.
   En pantallas táctiles sale siempre, porque ahí está también el botón «Acercar una zona». */
.perfil-box.pf-pantalla.pf-con-zona>.pf-zona{display:flex;order:3;margin:0;min-height:0;font-size:13px;gap:4px 10px}
@media (hover:none),(pointer:coarse){.perfil-box.pf-pantalla>.pf-zona{display:flex;order:3;margin:0;min-height:0;font-size:13px;gap:4px 10px}}
.perfil-box.pf-pantalla>.pf-zona .pf-zona-todo{background:var(--tinta);color:var(--papel);min-height:30px}
#pf-app.pf-app-pantalla.pf-sin-grafico .perfil-box.pf-pantalla>.pf-zona .pf-zona-b{display:none}

/* Planifica: el mapa en 3D (D-178), encima del de 2D y del mismo tamaño */
#pf-mapa3d{position:absolute;inset:0;z-index:950;background:#e9e2d4} /* por debajo del panel de etapas (1000) */
#pf-mapa.pf-en-3d .leaflet-control-container{display:none}
.pf-3d-aviso{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;padding:10px 16px;max-width:80%;text-align:center;background:var(--papel);border:1.5px solid var(--tinta);border-radius:6px;font-size:14px;z-index:2}
.pf-3d-b[aria-pressed=true]{background:var(--tinta);color:var(--papel)}
.pf-3d-ciudad{display:flex;flex-direction:column;align-items:center;pointer-events:none}
.pf-3d-ciudad i{width:14px;height:14px;border-radius:50%;background:#1C1712;border:2px solid #FBF6EC}
.pf-3d-ciudad span{margin-top:3px;padding:1px 7px;background:#FBF6EC;border:1.5px solid #1C1712;border-radius:4px;font:800 13px var(--fb);color:#1C1712;white-space:nowrap}
.pf-3d-cursor{width:16px;height:16px;border-radius:50%;background:#E8641C;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4);pointer-events:none}
.pf-3d-poi,.pf-3d-noche{cursor:pointer}
#pf-mapa3d .maplibregl-popup-content{font:14px/1.4 var(--fb);color:var(--tinta);border-radius:6px}
#pf-mapa3d .maplibregl-popup-content a{color:var(--naranja-txt)}
@media print{#pf-mapa3d{display:none}}

/* Planifica 3D: la exageración del relieve (D-179), abajo a la izquierda */
.pf-3d-relieve{position:absolute;left:10px;bottom:10px;z-index:3;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--papel);border:1.5px solid var(--tinta);border-radius:999px;font:600 13px var(--fb);color:var(--tinta);box-shadow:0 2px 6px rgba(0,0,0,.18)}
.pf-3d-relieve input{width:120px;accent-color:var(--naranja);margin:0}
.pf-3d-relieve b{min-width:68px;font-variant-numeric:tabular-nums}
@media (max-width:480px){.pf-3d-relieve{bottom:34px}.pf-3d-relieve input{width:90px}}

/* Planifica: las noches se arrastran sobre el gráfico (D-180) */
.pf-noche-h{cursor:ew-resize;touch-action:none;outline:none}
.pf-noche-hit{fill:transparent}
.pf-noche-k{fill:var(--naranja);stroke:#fff;stroke-width:2;transition:r .12s}
.pf-noche-n{fill:#fff;font:800 12px var(--fb);pointer-events:none}
.pf-noche-h:hover .pf-noche-k,.pf-noche-h:focus-visible .pf-noche-k,.pf-moviendo .pf-noche-k{r:12}
.pf-noche-h:focus-visible .pf-noche-k{stroke:var(--tinta);stroke-width:3}
.pf-moviendo,.pf-moviendo *{cursor:ew-resize!important}
.pf-noche-et rect{fill:var(--tinta)}
.pf-noche-et text{fill:var(--papel);font:700 12.5px var(--fb)}
.pf-noches-auto{margin-left:4px;padding:2px 10px;border:1.5px solid var(--tinta);border-radius:999px;background:var(--papel-2);font:600 13px var(--fb);color:var(--tinta);cursor:pointer}
@media (pointer:coarse){.pf-noche-k{r:12}.pf-noche-n{font-size:13px}}
@media print{.pf-noche-h,.pf-noche-et,.pf-noches-auto{display:none}}
.pf-manual{display:none} /* en pantalla completa, donde no se ve la cabecera (D-180) */
.perfil-box.pf-pantalla>.pf-manual{display:flex;order:3;align-items:center;gap:8px;margin:0;font-size:13px}

/* La voz del autor (D-183): su nota, destacada, en fichas y en Planifica */
.nota-autor{position:relative;margin:14px 0 18px;padding:14px 18px 14px 20px;background:var(--papel-2);border-left:4px solid var(--naranja);border-radius:0 6px 6px 0;font-size:16.5px;line-height:1.55;font-style:italic;color:var(--tinta);max-width:760px}
.nota-autor p{margin:0 0 6px}.nota-autor p:last-child{margin:0}
.nota-autor-t{display:block;margin-bottom:4px;font:800 11.5px/1 var(--fb);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--naranja-txt)}
.nota-tramos{font-size:15.5px}
@media print{.nota-autor{border-left-color:#000;background:none}}

/* «Merece una parada» (D-189): el rombo hueco y más pequeño, para que se vea que es un escalón por debajo de imprescindible */
.poi-icon.poi-parada span{width:10px;height:10px;margin:2px;background:var(--papel-2);border:2.5px solid var(--desvio)}
.poi.parada path{fill:var(--papel-2);stroke:var(--desvio);stroke-width:2.5}
.pf-ley-parada{display:inline-block;width:8px;height:8px;border:2px solid var(--desvio);background:transparent;transform:rotate(45deg)}
.poimini.parada{border-style:dashed}
.poimini.parada small{color:var(--tinta-2);font-size:12px;margin-left:2px}
/* Planifica: «Merece una parada» en la tabla, con su extracto y sin foto (D-197) */
.poicard.parada{grid-template-columns:1fr;border-style:dashed;background:transparent;padding:8px 12px}
.poicard.parada b{font-size:14.5px}
.poicard.parada small{font-size:13px}
.poicard.parada em{font-size:12.5px;color:var(--tinta-2)}

/* el nivel, encima del nombre, en las tarjetas de Planifica (D-198) */
.poicard .poi-niv{display:block;font:800 11px/1 var(--fb);font-style:normal;letter-spacing:.07em;text-transform:uppercase;color:var(--naranja-txt);margin-bottom:4px}
.poicard.parada .poi-niv{color:var(--tinta-2)}
.poimini small{color:var(--tinta-2);font-size:12px;margin-left:2px}
/* Planifica: los botones del mapa en dos filas, todos a la vista (D-199): arriba las capas; abajo 3D, nombres y pantalla completa */
.perfil-box:not(.pf-pantalla) .pf-mapa-pie>.pf-capas{flex:1 1 100%}
.pf-3d-b{min-height:38px;padding:6px 14px;border:1.5px solid var(--tinta);border-radius:999px;background:var(--papel-2);font:600 14px var(--fb);color:var(--tinta);cursor:pointer} /* como los demás botones del mapa (D-199) */
#pf-app.pf-app-pantalla .pf-3d-b{min-height:34px;padding:4px 10px;font-size:13px}
/* Al imprimir, la tabla de puntos de paso empieza en una hoja nueva, con su título; si ocupa más de una, la cabecera se repite (D-200) */
.tl-tit{display:none}
@media print{
  .tl-tit{display:block;break-before:page;page-break-before:always;margin:0 0 4pt;font-size:11pt}
  .tl-tabla thead{display:table-header-group}
}
.pf-sitio-icon span{color:#FBF6EC;font:800 11.5px/1 var(--fb)} /* la letra del sitio para dormir (D-203) */

/* Vídeos en las páginas (D-215): los verticales («cómo funciona») no pasan del alto de la pantalla en el ordenador y van centrados;
   en el móvil ocupan todo el ancho, como un reel. Los horizontales se ven igual que siempre. */
.wp-block-video{margin:20px 0;text-align:center}
.wp-block-video video{display:block;width:auto;max-width:100%;height:auto;max-height:min(80vh,820px);margin:0 auto;border-radius:12px;background:var(--papel-2)}
.wp-block-video figcaption{margin-top:8px;font-size:12px;color:var(--tinta-2)}
@media (max-width:760px){.wp-block-video video{width:100%;max-height:none}}
@media print{.wp-block-video{display:none}}

/* Portada: «Cómo funciona», los vídeos en la cabecera (D-220) */
.hero-lado{display:flex;flex-direction:column;gap:16px;align-self:end}
.tutos{position:relative}
.tutos-t{margin:0 0 10px;font:800 13px/1 var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#FFB37A}
.tutos-l{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tuto{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0;border:0;background:none;color:var(--papel);text-align:left;cursor:pointer;font:inherit}
.tuto-img{position:relative;display:block;width:100%;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#2a221b;box-shadow:0 10px 24px rgba(0,0,0,.35);transition:transform .2s}
.tuto-img img,.tuto-img video{width:100%;height:100%;object-fit:cover;object-position:center 12%;display:block}
.tuto-play{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:var(--naranja);color:#fff;display:grid;place-items:center;font-size:20px;padding-left:4px;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.tuto:hover .tuto-img,.tuto:focus-visible .tuto-img{transform:translateY(-3px)}
.tuto:focus-visible{outline:3px solid var(--naranja);outline-offset:4px;border-radius:12px}
.tuto-n{font:700 14px/1.2 var(--fb)}
.tuto small{font-size:12.5px;opacity:.75;margin-top:-4px}
.tuto-dlg{padding:0;border:0;background:transparent;max-width:none;max-height:none;overflow:visible}
.tuto-dlg::backdrop{background:rgba(20,15,10,.86)}
.tuto-dlg video{display:block;height:min(88vh,1100px);width:auto;max-width:94vw;border-radius:14px;background:#000}
.tuto-x{position:absolute;top:-14px;right:-14px;width:44px;height:44px;border-radius:50%;border:2px solid var(--papel);background:var(--tinta);color:var(--papel);font-size:18px;cursor:pointer;z-index:2}
@media (max-width:760px){
  .tutos{margin-top:22px}
  .tutos-l{gap:10px}
  .tuto-n{font-size:13px}
  .tuto-play{width:42px;height:42px;margin:-21px 0 0 -21px;font-size:16px}
  .tuto-x{top:8px;right:8px}
}
.cr-anular{margin-left:4px;padding:1px 9px;border:1px solid #b32d2e;border-radius:999px;background:transparent;color:#b32d2e;font:600 12.5px var(--fb);cursor:pointer} /* anular una marca (D-224) */
.cr-anular-todas{background:none;border:0;padding:0;color:#b32d2e;text-decoration:underline;cursor:pointer;font:inherit}
.cr-cuando{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 4px}.cr-cuando label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}.cr-cuando label span{font-weight:400;color:var(--tinta-2)}.cr-cuando input{min-height:40px;padding:4px 8px;border:1.5px solid var(--tinta);border-radius:4px;font:inherit;background:#fff} /* marcar a mano con fecha (D-229) */
/* el pie: «Sígueme en» Instagram (D-238) */
.pie-redes{display:flex;align-items:center;gap:10px;margin:10px 0 0;font-size:14px;color:var(--crema-2)}
.pie-redes a{display:inline-flex;align-items:center;gap:7px;color:var(--crema);text-decoration:none;font-weight:600}
.pie-redes a:hover,.pie-redes a:focus-visible{color:var(--naranja)}
.pie-redes a:hover span{text-decoration:underline}
/* pies de foto más pequeños también en los bloques de imagen y galerías de WordPress (D-284) */
.wp-block-image figcaption,.wp-element-caption,.blocks-gallery-caption,.wp-caption-text,.wp-caption .wp-caption-text{font-size:12px;line-height:1.4;color:var(--tinta-2);margin:6px 0 0}
.wp-caption{max-width:100%;margin:14px 0}.wp-caption img{display:block;max-width:100%;height:auto}.wp-caption-text a{color:inherit} /* editor clásico: [caption] (D-284) */

/* Cómo llegar (D-289): el plano de líneas al estilo metro, las tablas entre ciudades y la bici */
.como-llegar{--l-av:#B8322A;--l-io:#7C4DA0;--l-reg:#2F6F8F;--l-rod:#4E9A3A;--l-avz:#E8641C;--l-alsa:#C2185B}
.cl-plano{margin:18px 0 0}
.cl-scroll{overflow-x:auto;margin:6px -6px 0;-webkit-overflow-scrolling:touch}
.metro{display:block;width:100%;min-width:640px;height:auto;font-family:var(--fb)}
.metro .ln{stroke-width:7;transition:opacity .2s}
.metro .ln.bus{stroke-width:6;stroke-dasharray:11 7;stroke-linecap:butt}
.metro .ln.pocos{opacity:.55;stroke-dasharray:3 6;stroke-linecap:round}
.metro .ln.pasa{stroke-width:7;filter:drop-shadow(0 0 0 #fff)}
.metro .l-av{stroke:var(--l-av)}.metro .l-io{stroke:var(--l-io)}.metro .l-reg{stroke:var(--l-reg)}.metro .l-rod{stroke:var(--l-rod)}.metro .l-avz{stroke:var(--l-avz)}.metro .l-alsa{stroke:var(--l-alsa)}
.metro .otro{stroke:var(--tinta-2);opacity:.6}
.metro .nudos rect,.metro .nudos circle{fill:#fff;stroke:var(--tinta);stroke-width:3}
.metro .nudos rect.ciudad{stroke-width:4}
.metro text{font-size:15px;fill:var(--tinta)}
.metro text.ciu{font-family:var(--fh);font-size:27px}
.metro text.est{font-size:12.5px;fill:var(--tinta-2)}
.metro text.nota{font-size:12.5px;font-style:italic;fill:var(--tinta-2)}
.metro[data-foco] .ln{opacity:.12}
.metro[data-foco="av"] .l-av,.metro[data-foco="io"] .l-io,.metro[data-foco="reg"] .l-reg,.metro[data-foco="rod"] .l-rod,.metro[data-foco="avz"] .l-avz,.metro[data-foco="alsa"] .l-alsa{opacity:1}
.metro[data-foco="reg"] .l-reg.pocos{opacity:.7}
.cl-plano figcaption{margin-top:8px}
.cl-leyenda{display:flex;flex-wrap:wrap;gap:6px 8px}
.cl-leyenda button{font:inherit;font-size:13.5px;background:#fff;border:1px solid var(--linea);border-radius:999px;padding:5px 11px 5px 8px;cursor:pointer;color:var(--tinta);display:inline-flex;align-items:center;gap:6px;text-align:left}
.cl-leyenda button b{font-weight:800}
.cl-leyenda button[aria-pressed="true"]{border-color:var(--tinta);box-shadow:inset 0 0 0 1px var(--tinta)}
.cl-chip{display:inline-block;width:22px;height:6px;border-radius:3px;flex:none;vertical-align:middle;margin-right:6px}
.cl-leyenda .cl-chip{margin-right:0}
.cl-chip.l-av{background:var(--l-av)}.cl-chip.l-io{background:var(--l-io)}.cl-chip.l-reg{background:var(--l-reg)}.cl-chip.l-rod{background:var(--l-rod)}
.cl-chip.l-avz{background:repeating-linear-gradient(90deg,var(--l-avz) 0 7px,transparent 7px 11px)}.cl-chip.l-alsa{background:repeating-linear-gradient(90deg,var(--l-alsa) 0 7px,transparent 7px 11px)}
.cl-par{font-size:16px;margin:16px 0 4px}
.cl-tabla{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.35}
.cl-tabla th{font-size:12px;font-weight:800;text-align:left;border-bottom:2px solid var(--tinta);padding:6px 6px 5px}
.cl-tabla td{border-bottom:1px solid var(--linea);padding:7px 6px;vertical-align:top}
.cl-tabla td:first-child{white-space:nowrap}
.cl-ciudades{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px}
.cl-ciudades .box{margin:0!important}
.cl-est{margin:0 0 10px;font-size:14px;color:var(--tinta-2)}
.cl-desde{margin:0 0 8px;font-size:14.5px;line-height:1.4}
.cl-bici ul{margin:6px 0 8px;padding-left:20px}.cl-bici li{margin:0 0 6px}
.como-llegar>.box+.cl-ciudades{margin-top:12px}.cl-ciudades+.box{margin-top:12px}
@media (max-width:640px){.cl-tabla thead{display:none}.cl-tabla,.cl-tabla tbody,.cl-tabla tr,.cl-tabla td{display:block}.cl-tabla tr{border-bottom:1px solid var(--linea);padding:6px 0}.cl-tabla td{border:0;padding:2px 0}.cl-tabla td:nth-child(3)::before{content:'Cuántos: ';font-weight:700}.cl-tabla td:nth-child(4):not(:empty)::before{content:'La bici: ';font-weight:700}}
@media print{.cl-leyenda button{border:0;padding:2px 0}.cl-scroll{overflow:visible}.metro{min-width:0}}
@media (min-width:641px){.cl-tabla{table-layout:fixed}.cl-tabla th:nth-child(1){width:23%}.cl-tabla th:nth-child(2){width:22%}.cl-tabla th:nth-child(3){width:33%}.cl-tabla td:first-child{white-space:normal}}
.cl-desliza{display:none}
@media (max-width:700px){.cl-desliza{display:inline;font-weight:700;color:var(--tinta)}}
/* Planifica: los iconos de los servicios se repiten al empezar cada jornada (D-293) */
.tl-tabla tr.dic td{padding:5px 4px 3px;border-bottom:1px solid var(--tinta);font-size:11px;font-weight:700;color:var(--tinta-2);line-height:1.1}
.tl-tabla tr.dic td.c svg{display:block;margin:0 auto 2px}
@media screen and (max-width:760px){.tl-tabla tr.dic td.c span{display:none}.tl-tabla tr.dic td{padding:5px 1px 3px}}
@media print{.tl-tabla tr.dic td{font-size:8pt;font-weight:700;color:#000;padding:2pt 3pt;border-bottom:1.2pt solid #000}.tl-tabla tr.dic td.c svg{display:block;margin:0 auto}.tl-tabla tr.dic td.c span{display:none!important}.tl-tabla tr.d{break-after:avoid;page-break-after:avoid}}
.tl-tabla tr.dic td.k,.tl-tabla tr.dic td.n,.tl-tabla tr.dic td.no{vertical-align:bottom;font-size:12px;font-weight:800;color:var(--tinta)}
/* en papel, los servicios con iconos y su leyenda bajo la tabla (D-294) */
.tl-ley-ic{display:none}
@media print{.tl-ley-ic{display:flex;flex-wrap:wrap;gap:2pt 10pt;margin-top:4pt}.tl-ley-ic span{display:inline-flex;align-items:center;gap:3pt}.tl-ley-ic svg{display:inline-block}}

/* Todos los imprescindibles (D-298): el enlace desde la portada y la página por tramos */
.ditem-todos{background:transparent;border-style:dashed}
.ditem-todos b{color:var(--naranja-txt)}
.tp-filtro{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}
.tp-filtro button{font:inherit;font-size:14px;font-weight:700;background:#fff;border:1px solid var(--linea);border-radius:999px;padding:6px 14px;cursor:pointer;color:var(--tinta)}
.tp-filtro button small{font-weight:400;color:var(--tinta-2);margin-left:4px}
.tp-filtro button[aria-pressed="true"]{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.tp-filtro button[aria-pressed="true"] small{color:var(--crema-2)}
.tp-h2{font-family:var(--fh);font-weight:400;font-size:clamp(28px,4vw,36px);margin:28px 0 10px;padding-top:14px;border-top:2px solid var(--tinta)}
.tp-h2 small{font-family:var(--fb);font-size:13px;color:var(--tinta-2);letter-spacing:.02em;margin-left:6px;white-space:nowrap}
.tp-nivel+.tp-nivel{margin-top:22px}
.tp-nivel .ruta-h3{font-size:22px}
.tp-sin{display:block;width:100%;height:140px}
.tp-parada img,.tp-parada .tp-sin{height:110px}
/* portada: imprescindibles y los que merecen una parada en la misma lista (D-301) */
.list h3 .list-bar{color:var(--naranja-txt);margin:0 2px}
.ditem-niv{white-space:nowrap}
.ditem-parada .ditem-img{opacity:.92}
/* Lugares sin foto (D-306): en vez del degradado, una tesela de noche con curvas de nivel finas y su marca en naranja
   (◆ imprescindible · ◇ merece una parada), la misma familia visual que la cabecera de la portada */
.ditem-foto .ditem-sin,.tp-sin{position:relative;background-color:#1A1510;background-image:repeating-radial-gradient(circle at 72% 30%,transparent 0 7px,rgba(241,233,218,.16) 7px 8px),repeating-radial-gradient(circle at 15% 105%,transparent 0 10px,rgba(241,233,218,.09) 10px 11px)}
.tp-sin{background-image:repeating-radial-gradient(circle at 72% 30%,transparent 0 14px,rgba(241,233,218,.14) 14px 15px),repeating-radial-gradient(circle at 15% 105%,transparent 0 20px,rgba(241,233,218,.08) 20px 21px)}
.ditem-foto .ditem-sin:after,.tp-sin:after{content:"◆";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--naranja);font-size:20px;line-height:1}
.tp-sin:after{font-size:34px}
.ditem-parada .ditem-sin:after,.tp-parada .tp-sin:after{content:"◇"}

/* Sugerir un sitio para dormir (D-307): el mapa del formulario y las casillas */
.sitio-nuevo{margin-top:10px}
.sn-mapa{height:280px;border:1px solid var(--linea);border-radius:4px;margin:4px 0;cursor:crosshair}
.sn-paso{margin:10px 0 4px;font-size:14px}
.sn-punto.sn-falta{color:var(--naranja-txt);font-weight:700}
.sn-caract{border:1px solid var(--linea);border-radius:4px;padding:8px 10px;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px 16px}
.sn-caract legend{font-size:13px;font-weight:700;padding:0 4px}
.sn-caract label{display:inline-flex;align-items:center;gap:6px;font-size:14px;margin:0}
.sitio-nuevo input[type=file]{font-size:13px;max-width:100%}
.sitio-nuevo input[type=text]{width:100%;box-sizing:border-box}
/* Planifica: los que merecen una parada también con su foto (D-309) */
.poicard.parada:has(img){grid-template-columns:120px 1fr}
@media (max-width:480px){.poicard.parada:has(img){grid-template-columns:88px 1fr}}
.poicard.parada:has(.poicard-sin){grid-template-columns:120px 1fr}
.poicard-sin{display:block;width:120px;height:86px;border-radius:4px;position:relative;background-color:#1A1510;background-image:repeating-radial-gradient(circle at 72% 30%,transparent 0 9px,rgba(241,233,218,.15) 9px 10px),repeating-radial-gradient(circle at 15% 105%,transparent 0 13px,rgba(241,233,218,.08) 13px 14px)}
.poicard-sin:after{content:"◇";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--naranja);font-size:24px}
@media (max-width:480px){.poicard.parada:has(.poicard-sin){grid-template-columns:88px 1fr}.poicard-sin{width:88px;height:70px}}
@media print{.poicard-sin{display:none}}

/* Planifica: las subidas importantes, una fila propia donde empiezan (D-311) */
.tl-tabla tr.sub td{padding:6px 4px;border-bottom:1px solid var(--linea);background:linear-gradient(90deg,rgba(232,100,28,.11),rgba(232,100,28,.02))}
.tl-tabla tr.sub td.k{font-weight:800;color:var(--naranja-txt);box-shadow:inset 4px 0 0 var(--naranja)}
.tl-tabla tr.sub-1 td.k{box-shadow:inset 4px 0 0 #F2B58C}.tl-tabla tr.sub-2 td.k{box-shadow:inset 4px 0 0 #EE8A4E}
.sub-in{display:flex;align-items:center;gap:12px}.sub-ico{color:var(--naranja);font-size:17px;line-height:1}
.sub-tx{flex:1;min-width:0}.sub-tx b{display:block;font-size:14.5px}.sub-tx span{font-size:13px;color:var(--tinta-2)}
.sub-dur{font-size:12px;color:var(--naranja);letter-spacing:1px;white-space:nowrap;text-align:center}.sub-dur small{display:block;letter-spacing:0;color:var(--tinta-2);font-size:11px}
.sub-sp{flex:none}.sub-sp-a{fill:rgba(232,100,28,.18)}.sub-sp-l{fill:none;stroke:var(--naranja);stroke-width:2}
@media screen and (max-width:760px){.sub-sp{display:none}.sub-in{gap:8px}.sub-tx span{font-size:12.5px}}
@media print{.tl-tabla tr.sub td{background:none;padding:2pt 3pt;border-bottom:.4pt solid #bbb}.tl-tabla tr.sub td.k{box-shadow:none;color:#000}.sub-sp,.sub-dur small{display:none}.sub-ico,.sub-dur{color:#000}.sub-tx b{display:inline;font-size:9pt}.sub-tx span{font-size:8pt;color:#000;margin-left:6pt}}

/* Planifica: los grandes bloques de subida (D-312), más marcados que las subidas */
.tl-tabla tr.sub-bloque td{background:linear-gradient(90deg,rgba(28,23,18,.10),rgba(28,23,18,.02));border-top:1px solid var(--tinta-2)}
.tl-tabla tr.sub-bloque td.k{box-shadow:inset 6px 0 0 var(--tinta);color:var(--tinta)}
.tl-tabla tr.sub-bloque .sub-ico{color:var(--tinta);font-size:13px;letter-spacing:-2px}
@media print{.tl-tabla tr.sub-bloque td{background:none;border-top:.8pt solid #000}.tl-tabla tr.sub-bloque td.k{box-shadow:none}}
/* las rampas duras, con una marca encima del perfil para que se vean a cualquier escala (D-313) */
.pf-duro-m{fill:var(--tinta)}
/* Planifica: los tramos negros del gráfico también en la tabla (D-314) */
.tl-tabla tr.sub-duro td{background:rgba(28,23,18,.05)}
.tl-tabla tr.sub-duro td.k{box-shadow:inset 4px 0 0 var(--tinta);color:var(--tinta)}
.tl-tabla tr.sub-duro .sub-ico{color:var(--tinta);font-size:14px}
.sub-negro{color:var(--tinta);font-weight:700}
@media print{.tl-tabla tr.sub-duro td{background:none}.tl-tabla tr.sub-duro td.k{box-shadow:none}}

/* Submenús del menú principal (D-424): en el ordenador, un desplegable al pasar el ratón o con el teclado; en las pantallas
   táctiles anchas, el primer toque lo abre y el segundo entra; en el móvil, debajo de su apartado y sangrados.
   El selector de idioma (GTranslate) tiene sus propias reglas y no entra aquí. */
.top{position:relative;z-index:1200}
.nav nav li:not(.menu-item-gtranslate){position:relative}
.nav nav li.menu-item-has-children:not(.menu-item-gtranslate)>a:after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);opacity:.75}
.nav nav li:not(.menu-item-gtranslate)>.sub-menu{display:none;position:absolute;top:calc(100% + 12px);left:-16px;min-width:210px;flex-direction:column;gap:0;margin:0;padding:8px 0;list-style:none;background:var(--noche);border:1px solid rgba(241,233,218,.16);border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.4);font-size:14px;z-index:1300}
.nav nav li:not(.menu-item-gtranslate)>.sub-menu:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav nav li:not(.menu-item-gtranslate):hover>.sub-menu,.nav nav li:not(.menu-item-gtranslate):focus-within>.sub-menu,.nav nav li.sub-abierto>.sub-menu{display:flex}
.nav nav .sub-menu li{border:0}
.nav nav .sub-menu a{display:block;padding:9px 18px;color:var(--crema-2)}
.nav nav .sub-menu a:hover,.nav nav .sub-menu a:focus-visible{color:var(--crema);background:rgba(241,233,218,.07)}
.nav nav .current-menu-ancestor .sub-menu a{color:var(--crema-2)!important}
.nav nav .sub-menu .current-menu-item>a{color:var(--naranja)!important}
@media (max-width:700px){
	.nav.con-boton nav>ul{align-items:stretch}
	.nav.con-boton nav li.menu-item-has-children:not(.menu-item-gtranslate)>a:after{display:none}
	.nav.con-boton nav li:not(.menu-item-gtranslate)>.sub-menu{display:flex;position:static;min-width:0;margin:-4px 0 8px;padding:0 0 0 16px;background:none;border:0;border-left:2px solid rgba(241,233,218,.18);border-radius:0;box-shadow:none;font-size:15px}
	.nav.con-boton nav li:not(.menu-item-gtranslate)>.sub-menu:before{display:none}
	.nav.con-boton nav .sub-menu li{border-top:0}
	.nav.con-boton nav .sub-menu a{padding:9px 2px 9px 12px}
	.nav.con-boton nav .sub-menu a:hover{background:none}
}
