:root{--verde:#0f3d2e;--verde-2:#16523d;--rojo:#b3202b;--oro:#d4a24c;--crema:#fbf7f0;--tinta:#1f2a25;--gris:#6b7570;--linea:#e6ded0;--wa:#25d366;--wa-2:#1ebe5b;--radio:14px;--sombra:0 10px 30px rgba(15,61,46,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}[hidden]{display:none!important}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--tinta);background:var(--crema);line-height:1.55}
a{color:var(--verde-2)}img{max-width:100%}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15;margin:0 0 .5em;color:var(--verde)}
h1{font-size:clamp(2rem,5vw,3.4rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}h3{font-size:1.25rem}
.contenedor{width:min(1180px,92%);margin:0 auto}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem}.skip:focus{left:8px;z-index:100}
/* cabecera */
.cabecera{background:var(--verde);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.cabecera .contenedor{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:70px}
.logo{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none}
.logo .flake{width:30px;height:30px;color:var(--oro)}
.logo b{font-family:Georgia,serif;font-size:1.25rem;letter-spacing:.2px;display:block;line-height:1}
.logo small{font-size:.72rem;opacity:.85;letter-spacing:.5px;text-transform:uppercase}
.nav{display:flex;gap:1.2rem;align-items:center}
.nav a{color:#fff;text-decoration:none;font-weight:500;opacity:.92}.nav .idioma{border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:.25rem .6rem;font-size:.85rem}.nav a:hover{opacity:1;text-decoration:underline}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:999px;font-weight:600;text-decoration:none;border:0;cursor:pointer;transition:transform .15s,box-shadow .15s;font-size:1rem}
.btn:hover{transform:translateY(-1px)}
.btn-wa{background:var(--wa);color:#fff!important;box-shadow:0 6px 16px rgba(37,211,102,.35)}.btn-wa:hover{background:var(--wa-2)}
.btn-oro{background:var(--oro);color:var(--verde)!important}.btn-borde{border:2px solid #fff;color:#fff!important;background:transparent}
.btn-verde{background:var(--verde);color:#fff!important}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer}
@media(max-width:820px){.menu-btn{display:block}.nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--verde-2);flex-direction:column;padding:1rem 4%;align-items:flex-start}.nav.abierto{display:flex}}
/* hero */
.hero{position:relative;color:#fff;background:radial-gradient(1200px 500px at 20% -10%,rgba(212,162,76,.35),transparent 60%),linear-gradient(160deg,#0b2e22 0%,#0f3d2e 45%,#1a5a43 100%);padding:5rem 0 4.5rem;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff3 1.5px,transparent 1.6px),radial-gradient(#fff2 1px,transparent 1.1px);background-size:90px 90px,50px 50px;background-position:0 0,25px 35px;pointer-events:none}
.hero .contenedor{position:relative}
.hero h1{color:#fff;max-width:14ch}.hero h1 span{color:var(--oro)}
.hero p{font-size:1.15rem;max-width:60ch;opacity:.95}
.hero .acciones{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}
.etiqueta{display:inline-block;background:var(--rojo);color:#fff;font-size:.75rem;letter-spacing:1.2px;text-transform:uppercase;padding:.3rem .7rem;border-radius:4px;font-weight:700}
.cifras{display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:2.5rem}.cifras div b{display:block;font-size:2rem;font-family:Georgia,serif;color:var(--oro)}.cifras div span{font-size:.9rem;opacity:.9}
/* secciones */
section{padding:3.5rem 0}.sec-alt{background:#fff}
.subt{color:var(--gris);max-width:70ch;margin-top:-.3rem}
.filtros{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0}
.filtros button{background:#fff;border:1.5px solid var(--linea);padding:.6rem 1rem;min-height:42px;border-radius:999px;cursor:pointer;font-weight:600;color:var(--verde)}
.filtros button.activo,.filtros button:hover{background:var(--verde);color:#fff;border-color:var(--verde)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem}
.tarjeta{background:#fff;border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);display:flex;flex-direction:column;transition:transform .2s;border:1px solid var(--linea)}
.tarjeta:hover{transform:translateY(-4px)}
.tarjeta .cab{padding:1.4rem 1.4rem 1rem;color:#fff;position:relative;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(160deg,var(--verde),var(--verde-2))}
.tarjeta .cab.z1{background:linear-gradient(160deg,#0f3d2e,#1a5a43)}.tarjeta .cab.z2{background:linear-gradient(160deg,#5a1a1f,#b3202b)}.tarjeta .cab.z3{background:linear-gradient(160deg,#3b2a5a,#6b4aa0)}.tarjeta .cab.z4{background:linear-gradient(160deg,#123b52,#1f6f8b)}.tarjeta .cab.z5{background:linear-gradient(160deg,#7a2020,#c9342e)}
.tarjeta .cab .zona{font-size:.78rem;letter-spacing:1.2px;text-transform:uppercase;opacity:.85}
.tarjeta .cab h3{color:#fff;margin:.2rem 0 0;font-size:1.3rem}
.tarjeta .cab .top{position:absolute;top:1rem;right:1rem;background:var(--oro);color:var(--verde);font-size:.76rem;font-weight:800;padding:.25rem .55rem;border-radius:4px;letter-spacing:.8px}
.tarjeta .cuerpo{padding:1.1rem 1.4rem 1.4rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.tarjeta .ciudades{color:var(--gris);font-size:.92rem}
.tarjeta .meta{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:.6rem;border-top:1px dashed var(--linea)}
.tarjeta .meta small{color:var(--gris);display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.8px}
.tarjeta .meta b{font-size:1.5rem;color:var(--rojo);font-family:Georgia,serif}
.tarjeta .acciones{display:flex;gap:.5rem;flex-wrap:wrap}.tarjeta .acciones .btn{padding:.55rem 1rem;font-size:.92rem}
.ventajas{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem}
.ventaja{background:#fff;border-radius:var(--radio);padding:1.5rem;border:1px solid var(--linea)}
.ventaja .ico{width:46px;height:46px;border-radius:12px;background:var(--crema);display:grid;place-items:center;font-size:1.5rem;margin-bottom:.8rem}
.cta{background:linear-gradient(135deg,var(--rojo),#7a1a20);color:#fff;border-radius:var(--radio);padding:2.5rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.cta h2{color:#fff}.cta p{margin:0;opacity:.95}
/* ficha circuito */
.ficha-hero{background:linear-gradient(160deg,#0b2e22,#1a5a43);color:#fff;padding:3.5rem 0 2.5rem}
.ficha-hero h1{color:#fff}.miga{font-size:.85rem;opacity:.85;margin-bottom:1rem}.miga a{color:#fff}
.datos{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem}
.datos div{background:rgba(255,255,255,.1);padding:.8rem 1.1rem;border-radius:10px;min-width:150px}
.datos small{display:block;text-transform:uppercase;letter-spacing:1px;font-size:.7rem;opacity:.85}.datos b{font-size:1.15rem}.datos .precio b{color:var(--oro);font-size:1.6rem;font-family:Georgia,serif}
.ficha{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start}
@media(max-width:900px){.ficha{grid-template-columns:1fr}}
.itin{list-style:none;padding:0;margin:0;position:relative}
.itin:before{content:"";position:absolute;left:19px;top:10px;bottom:10px;width:2px;background:var(--linea)}
.itin li{position:relative;padding:0 0 1.6rem 60px}
.itin .dia{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--verde);color:var(--oro);font-weight:800;display:grid;place-items:center;font-size:.85rem;border:3px solid var(--crema)}
.itin h3{margin:.3rem 0 .3rem;font-size:1.1rem}.itin p{margin:0;color:#3a453f}
.lateral{position:sticky;top:90px;display:flex;flex-direction:column;gap:1rem}
.caja{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.4rem;box-shadow:var(--sombra)}
.caja .precio{font-size:2.2rem;color:var(--rojo);font-family:Georgia,serif;line-height:1}.caja .precio small{font-size:.9rem;color:var(--gris);font-family:inherit}
.caja ul{padding-left:1.2rem;margin:.6rem 0}.caja li{margin:.3rem 0}
.caja .btn{width:100%;justify-content:center;margin-top:.5rem}
.caja .tel{display:block;text-align:center;margin-top:.6rem;color:var(--gris);font-size:.9rem}
.incluye{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:600px){.incluye{grid-template-columns:1fr}}
.incluye ul{padding-left:0;list-style:none}.incluye li{padding:.35rem 0 .35rem 1.6rem;position:relative}
.incluye li:before{content:"✓";position:absolute;left:0;color:var(--wa);font-weight:800}.incluye .no li:before{content:"✕";color:var(--rojo)}
.aviso{background:#fff8e6;border-left:4px solid var(--oro);padding:1rem 1.2rem;border-radius:8px;font-size:.92rem;color:#5a4a20}
/* contacto */
.contacto{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}@media(max-width:800px){.contacto{grid-template-columns:1fr}}
.canal{display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid var(--linea);border-radius:12px;padding:1rem 1.2rem;text-decoration:none;color:var(--tinta);margin-bottom:.8rem;transition:transform .15s}
.canal:hover{transform:translateX(4px)}.canal .ico{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:1.4rem;flex-shrink:0;color:#fff}
.canal b{display:block}.canal span{color:var(--gris);font-size:.9rem}
.i-wa{background:var(--wa)}.i-tel{background:var(--verde)}.i-mail{background:var(--rojo)}.i-pago{background:var(--oro);color:var(--verde)!important}
form label{display:block;font-weight:600;margin:.8rem 0 .3rem}
form input,form select,form textarea{width:100%;padding:.7rem .9rem;border:1.5px solid var(--linea);border-radius:10px;font:inherit;background:#fff}
form textarea{min-height:110px}form .fila{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){form .fila{grid-template-columns:1fr}}
form .btn{margin-top:1rem;width:100%;justify-content:center}
form .nota{font-size:.82rem;color:var(--gris);margin-top:.6rem}
/* pie */
.pie{background:var(--verde);color:#fff;padding:3rem 0 1.5rem;margin-top:2rem}
.pie .cols{display:grid;grid-template-columns:1.6fr 1fr 1.6fr 1fr 1.3fr;gap:1.6rem}@media(max-width:800px){.pie .cols{grid-template-columns:1fr 1fr}}@media(max-width:500px){.pie .cols{grid-template-columns:1fr}}
.pie h4{color:var(--oro);margin:0 0 .7rem;font-family:Georgia,serif}.pie a{color:#fff;text-decoration:none}.pie a:hover{text-decoration:underline}
.pie ul{list-style:none;padding:0;margin:0}.pie li{margin:.2rem 0}.pie li a{display:inline-block;padding:.4rem 0}
.pie .legal{border-top:1px solid rgba(255,255,255,.15);margin-top:2rem;padding-top:1rem;font-size:.82rem;opacity:.8;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
/* flotante */
.wa-flotante{position:fixed;right:18px;bottom:18px;z-index:60;background:var(--wa);color:#fff;border-radius:999px;padding:.8rem 1.1rem .8rem .9rem;display:flex;align-items:center;gap:.5rem;font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.wa-flotante:hover{background:var(--wa-2)}@media(max-width:600px){.wa-flotante span{display:none}.wa-flotante{padding:.9rem}}
/* fotos */
.hero.foto{background:#0b2e22;padding:0;min-height:600px;display:flex;align-items:center}
.hero.foto:before{background-image:none}
.hero.foto .fondo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.75}
.hero.foto .velo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,40,28,.94) 0%,rgba(8,40,28,.7) 45%,rgba(8,40,28,.15) 100%)}
.hero.foto .contenedor{padding:5rem 0}
.tarjeta .cab.foto{min-height:210px;padding:0;background:#0f3d2e}
.tarjeta .cab.foto img{width:100%;height:210px;object-fit:cover;display:block;transition:transform .4s}.tarjeta .cab.foto picture{display:block}
.ficha-hero.foto img.fondo{height:100%}
.tarjeta:hover .cab.foto img{transform:scale(1.05)}
.tarjeta .cab.foto .txt{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.3rem .9rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78))}
.ficha-hero.foto{position:relative;padding:0;min-height:520px;display:flex;align-items:flex-end;overflow:hidden}
.ficha-hero.foto img.fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ficha-hero.foto picture{position:absolute;inset:0}
.ficha-hero.foto .velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,40,28,.35) 0%,rgba(8,40,28,.55) 45%,rgba(8,40,28,.95) 100%)}
.ficha-hero.foto .contenedor{position:relative;padding:4rem 0 2.5rem}
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.5rem 0 2rem}
.galeria img{width:100%;height:auto;aspect-ratio:10/7;object-fit:cover;border-radius:10px;display:block}.galeria picture{display:block}
@media(max-width:600px){.galeria{grid-template-columns:1fr 1fr}}
.zonas{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}
.zona{position:relative;border-radius:var(--radio);overflow:hidden;min-height:180px;display:flex;align-items:flex-end;text-decoration:none;color:#fff;box-shadow:var(--sombra)}
.zona picture,.zona img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.zona picture{position:absolute}
.zona:hover img{transform:scale(1.06)}
.zona span{position:relative;padding:2rem 1rem .9rem;width:100%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.8));font-family:Georgia,serif;font-size:1.15rem}
.zona small{display:block;font-family:inherit;font-size:.78rem;opacity:.9}
.laponia-bloque{background:linear-gradient(135deg,#0b1f3a,#123b52 60%,#1f6f8b);color:#fff;border-radius:var(--radio);overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;box-shadow:var(--sombra)}
.laponia-bloque img{width:100%;height:100%;object-fit:cover;min-height:320px}.laponia-bloque picture{display:block;height:100%}
.laponia-bloque .txt{padding:2.5rem}.laponia-bloque h2{color:#fff}.laponia-bloque p{opacity:.95}
.laponia-bloque .etiqueta{background:var(--oro);color:#0b1f3a}
@media(max-width:800px){.laponia-bloque{grid-template-columns:1fr}.laponia-bloque img{min-height:220px}}
.exp{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}
.exp div{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden}
.exp img{width:100%;height:160px;object-fit:cover;display:block}.exp h3{margin:.8rem 1rem .3rem;font-size:1.05rem}.exp p{margin:0 1rem 1rem;font-size:.92rem;color:var(--gris)}
.credito{font-size:.75rem;color:var(--gris);text-align:right;margin-top:.5rem}
/* formulario, modal, cookies, guías */
form .fila.tres{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){form .fila.tres{grid-template-columns:1fr 1fr}}
form label.check{display:flex;gap:.5rem;align-items:flex-start;font-weight:400;font-size:.92rem;margin-top:1rem}form label.check input{width:auto;margin-top:.3rem}
form input:invalid.tocado,form select:invalid.tocado{border-color:var(--rojo);background:#fff5f5}
form .error{color:var(--rojo);font-weight:600;margin:.6rem 0 0}
.modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1rem}
.modal-fondo{position:absolute;inset:0;background:rgba(8,30,20,.7)}
.modal-caja{position:relative;background:#fff;border-radius:var(--radio);padding:1.8rem;width:min(720px,100%);max-height:92vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.modal-x{position:absolute;top:.6rem;right:.8rem;background:none;border:0;font-size:2rem;line-height:1;cursor:pointer;color:var(--gris)}
.cookies{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:70;background:var(--verde);color:#fff;border-radius:var(--radio);padding:1rem 1.2rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:900px;margin:0 auto}
.cookies p{margin:0;font-size:.92rem}.cookies a{color:var(--oro)}.cookies div{display:flex;gap:.5rem}.cookies .btn{padding:.5rem 1rem;font-size:.9rem}
.articulo{max-width:780px}.articulo h2{margin-top:2rem}.articulo p,.articulo li{font-size:1.05rem}.articulo .intro{font-size:1.15rem;color:#3a453f}
.articulo img.principal{width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;border-radius:var(--radio);margin:1rem 0 1.5rem}
.relacionados{margin-top:3rem}
.legal-texto{max-width:820px}.legal-texto h2{margin-top:1.8rem;font-size:1.3rem}
/* v4: barra móvil, reseñas, sellos, mapa, comparador, urgencia */
.barra-movil{display:none;position:fixed;left:0;right:0;bottom:0;z-index:65;background:#fff;border-top:1px solid var(--linea);box-shadow:0 -6px 20px rgba(0,0,0,.12);padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom));gap:.5rem}
.barra-movil a,.barra-movil button{flex:1;justify-content:center;padding:.7rem .5rem;font-size:.9rem;border-radius:12px}
@media(max-width:700px){.barra-movil{display:flex}.wa-flotante{display:none}body{padding-bottom:72px}.cookies{bottom:84px;padding:.8rem 1rem;flex-direction:column;align-items:flex-start;gap:.6rem}.cookies p{font-size:.85rem}.menu-btn{min-width:44px;min-height:44px}.filtros{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.5rem;padding-bottom:.4rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filtros::-webkit-scrollbar{display:none}.filtros button{flex:0 0 auto}.hero p{font-size:1rem}.cifras{gap:.8rem}small{font-size:.8rem}}
.resenas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.resena{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.3rem;position:relative}
.resena .estrellas{color:#f5b301;letter-spacing:2px;font-size:1.05rem}.resena p{margin:.6rem 0;font-size:.97rem;color:#2f3a35}.resena b{font-size:.92rem}.resena small{color:var(--gris);font-size:.8rem;margin-left:.4rem}
.google-nota{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.google-nota .n{font-family:Georgia,serif;font-size:2.6rem;color:var(--verde);line-height:1}.google-nota .estrellas{color:#f5b301;font-size:1.3rem;letter-spacing:2px}
.sellos{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;margin-top:1.5rem}
.sello{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--linea);border-radius:999px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--verde)}
.urgencia{display:inline-flex;align-items:center;gap:.4rem;background:#fff3e0;color:#8a4b00;border:1px solid #f4c98a;border-radius:6px;padding:.25rem .6rem;font-size:.8rem;font-weight:700;margin-top:.3rem}
.tarjeta .urgencia{margin:0}
.nino{font-size:.8rem;color:var(--gris);display:block;margin-top:.15rem}
.contador{display:flex;gap:.8rem;margin:.8rem 0}.contador div{background:rgba(255,255,255,.12);border-radius:10px;padding:.5rem .8rem;text-align:center;min-width:64px}.contador b{display:block;font-size:1.6rem;font-family:Georgia,serif;color:var(--oro)}.contador small{font-size:.7rem;text-transform:uppercase;letter-spacing:1px}
.mapa{background:#0b2e22;border-radius:var(--radio);padding:.6rem;box-shadow:var(--sombra)}
.mapa svg{width:100%;height:auto;display:block;border-radius:calc(var(--radio) - 4px)}
.mapa .pais{fill:rgba(255,255,255,.09);stroke:rgba(255,255,255,.28);stroke-width:.7;stroke-linejoin:round}.mapa .pais.casa{fill:rgba(212,162,76,.22);stroke:rgba(212,162,76,.6)}
.mapa .ruta{stroke:rgba(212,162,76,.18);stroke-width:1;stroke-dasharray:3 5;fill:none}
.mapa .punto{cursor:pointer}.mapa .destino circle{fill:var(--oro);stroke:#fff;stroke-width:1.5;transition:r .2s}.mapa .destino .halo{fill:rgba(212,162,76,.25);stroke:none;animation:latido 2.4s ease-out infinite}
.mapa .destino:hover circle:not(.halo),.mapa .destino:focus circle:not(.halo){r:8}.mapa .destino.activo circle:not(.halo){r:8;stroke:var(--oro);fill:#fff}
.mapa .origen{cursor:default}.mapa .origen circle{fill:#b3202b;stroke:#fff;stroke-width:1.2}.mapa .origen text{font-size:10px;opacity:.85}
.mapa .punto text,.mapa .leyenda text{fill:#fff;font-size:11.5px;font-weight:600;font-family:system-ui,sans-serif;paint-order:stroke;stroke:rgba(0,0,0,.55);stroke-width:3px}
.mapa .leyenda text{font-weight:500;stroke-width:0}
@keyframes latido{0%{r:6;opacity:.9}100%{r:16;opacity:0}}
@media (max-width:640px){.mapa .punto text{font-size:17px}.mapa .origen text{display:none}.mapa .destino circle:not(.halo){r:9}.mapa .origen circle{r:6}.mapa .leyenda{display:none}.mapa .ruta{display:none}}
.mapa-info{background:#fff;border-radius:10px;padding:1rem 1.2rem;margin-top:.8rem;min-height:64px}
.mapa-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.mapa-links a{background:var(--crema,#f6f1e7);border:1px solid #e2d9c8;border-radius:999px;padding:.3rem .7rem;font-size:.9rem;text-decoration:none}.mapa-links a span{color:var(--gris);font-size:.8rem}
.comparador{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.8rem;box-shadow:var(--sombra)}
.comparador .paso{display:none}.comparador .paso.activo{display:block}
.comparador .opciones{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;margin-top:.8rem}
.comparador .opciones button{background:var(--crema);border:2px solid var(--linea);border-radius:12px;padding:.9rem;font:inherit;font-weight:600;cursor:pointer;color:var(--verde)}
.comparador .opciones button:hover{border-color:var(--verde)}
.comparador .resultado{display:none}.comparador .resultado.activo{display:block}
.faq details{background:#fff;border:1px solid var(--linea);border-radius:10px;padding:.9rem 1.2rem;margin-bottom:.7rem}.faq summary{cursor:pointer;font-weight:600;color:var(--verde)}