/* CamperAhora · páginas de texto: portada, comunidades, provincias, fichas, normativa, legales, contacto */
main.texto{max-width:820px;margin:0 auto;padding:28px 18px 30px;color:var(--texto-2);font-size:17px;line-height:1.7}
main.texto.ancho{max-width:1120px}
main.texto h1{margin:0 0 14px;font:400 clamp(30px,6vw,46px)/1.08 var(--titulo);color:var(--texto)}
main.texto h2{margin:34px 0 10px;font:400 clamp(23px,4vw,29px)/1.15 var(--titulo);color:var(--texto)}
main.texto h3{margin:22px 0 6px;font-size:19px;color:var(--texto)}
main.texto b,main.texto strong{color:var(--texto)}
main.texto ul,main.texto ol{padding-left:22px}
main.texto li{margin:4px 0}
.migas{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0 0 12px;padding:0;list-style:none;font-size:14px;color:var(--texto-3)}
.migas li{margin:0}
.migas li+li::before{content:"›";margin-right:8px;color:var(--linea-2)}
.migas a{color:var(--texto-3)}
.entradilla{font-size:19px;color:var(--texto-2)}
.datos-legales{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:16px}
.datos-legales th,.datos-legales td{padding:9px 10px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}
.datos-legales th{width:38%;color:var(--texto-3);font-weight:700}
.indice-legal{display:flex;flex-wrap:wrap;gap:8px 16px;margin:32px 0 8px;padding-top:18px;border-top:1px solid var(--linea);font-size:15px}
.indice-legal b{width:100%;color:var(--texto)}.indice-legal span{color:var(--texto-3)}
.nota-idioma{display:none}

/* ---------- Portada ---------- */
.portada{position:relative;overflow:hidden;background:var(--crema);border-bottom:1px solid var(--linea)}
.portada::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,var(--mostaza) 0 30%,var(--melocoton) 30% 46%,var(--rosa) 46% 60%,transparent 60%);opacity:.55;pointer-events:none}
.portada .cont{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:34px 18px 30px;display:grid;gap:22px}
@media(min-width:920px){.portada .cont{grid-template-columns:1.05fr 1fr;align-items:center;padding:52px 18px 46px}}
.portada h1{margin:0;font:400 clamp(34px,7vw,58px)/1.02 var(--titulo);color:var(--texto)}
.portada h1 span{color:var(--turquesa)}
.portada .lead{margin:14px 0 18px;font-size:clamp(17px,2.4vw,20px);color:var(--texto-2)}
.portada .botones{display:flex;flex-wrap:wrap;gap:12px}
.sellos{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.sellos li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--blanco);border:1px solid var(--linea);font-size:14px;font-weight:700;color:var(--texto-2)}
.sellos svg{width:16px;height:16px;color:var(--turquesa)}
.mini-mapa{position:relative;border-radius:22px;overflow:hidden;border:3px solid var(--blanco);box-shadow:var(--sombra);background:#EEF3F1;aspect-ratio:4/3}
.mini-mapa #mapa-portada{position:absolute;inset:0}
.mini-mapa .velo svg{width:22px;height:22px;flex:none}
.mini-mapa .velo{position:absolute;inset:auto 12px 12px 12px;z-index:500;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 4px 14px rgba(43,45,66,.15);font-weight:700;color:var(--texto);text-decoration:none}
.cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0 0}
.cifras div{padding:12px;border-radius:16px;background:var(--blanco);border:1px solid var(--linea);text-align:center}
.cifras b{display:block;font:400 26px/1 var(--titulo);color:var(--texto)}
.cifras span{font-size:13px;color:var(--texto-3)}
@media(max-width:560px){.cifras{grid-template-columns:repeat(2,1fr)}}

.bloque{max-width:1120px;margin:0 auto;padding:34px 18px 6px}
.bloque>h2{margin:0 0 8px;font:400 clamp(25px,4.5vw,34px)/1.12 var(--titulo);color:var(--texto)}
.bloque>p.intro{margin:0 0 20px;max-width:46em;color:var(--texto-2);font-size:17px}
.tarjetas{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.tarjeta{position:relative;display:block;padding:18px;border-radius:var(--radio);background:var(--blanco);border:1.5px solid var(--linea);color:var(--texto-2);text-decoration:none;overflow:hidden}
.tarjeta::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--color,var(--turquesa))}
.tarjeta:hover{border-color:var(--linea-2);box-shadow:var(--sombra)}
.tarjeta h3{margin:0 0 4px;font-size:18px;color:var(--texto)}
.tarjeta p{margin:0;font-size:15px}
.tarjeta svg{width:30px;height:30px;color:var(--color,var(--turquesa));margin-bottom:8px}
.lista-zonas{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none}
.lista-zonas a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border-radius:14px;background:var(--crema);border:1px solid var(--linea);color:var(--texto);font-weight:700;text-decoration:none}
.lista-zonas a:hover{background:var(--crema-2)}
.lista-zonas small{font-weight:600;color:var(--texto-3);white-space:nowrap}
.franja-texto{background:var(--crema);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);margin-top:34px}
.franja-texto .bloque{padding-bottom:30px}
.pasos{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));counter-reset:paso}
.pasos div{padding:18px;border-radius:var(--radio);background:var(--blanco);border:1px solid var(--linea)}
.pasos div::before{counter-increment:paso;content:counter(paso);display:inline-grid;place-items:center;width:36px;height:36px;margin-bottom:8px;border-radius:50%;background:var(--mostaza);font:400 18px var(--titulo);color:var(--texto)}
.pasos h3{margin:0 0 4px;font-size:18px;color:var(--texto)}
.pasos p{margin:0;font-size:15.5px;color:var(--texto-2)}
.grua-caja{display:grid;gap:16px;align-items:center;padding:22px;border-radius:22px;background:#FFF1E4;border:2px solid var(--melocoton)}
@media(min-width:760px){.grua-caja{grid-template-columns:1fr auto}}
.grua-caja h2{margin:0 0 6px;font:400 26px/1.15 var(--titulo);color:var(--texto)}
.grua-caja p{margin:0;color:var(--texto-2)}
details.faq{border-bottom:1px solid var(--linea)}
details.faq summary{cursor:pointer;list-style:none;padding:16px 34px 16px 0;position:relative;font-weight:800;color:var(--texto);font-size:17px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:6px;top:12px;font:400 26px var(--titulo);color:var(--turquesa)}
details.faq[open] summary::after{content:"–"}
details.faq p{margin:0 0 16px;color:var(--texto-2)}

/* ---------- Comunidad / provincia ---------- */
.mapa-zona{height:min(55vh,460px);min-height:300px;margin:16px 0 8px;border-radius:20px;overflow:hidden;border:1px solid var(--linea);background:#EEF3F1}
.leyenda{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0 18px;font-size:14px;color:var(--texto-3)}
.leyenda span{display:inline-flex;align-items:center;gap:6px}
.leyenda i{width:14px;height:14px;border-radius:50%;background:var(--c,var(--c-area));border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.resumen-zona{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px;padding:0;list-style:none}
.resumen-zona li{padding:6px 12px;border-radius:999px;background:var(--crema);border:1px solid var(--linea);font-size:14px;font-weight:700}
.lugares{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.lugar{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px;border-radius:16px;background:var(--blanco);border:1px solid var(--linea)}
.lugar:hover{border-color:var(--linea-2)}
.lugar .ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--c,var(--c-area));color:#fff}
.lugar .ico svg{width:24px;height:24px}
.lugar h3{margin:0;font-size:17px;line-height:1.3}
.lugar h3 a{color:var(--texto);text-decoration:none}
.lugar h3 a:hover{text-decoration:underline}
.lugar p{margin:2px 0 0;font-size:14.5px;color:var(--texto-3);line-height:1.45}
.etiquetas{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.etiqueta{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;background:var(--crema);border:1px solid var(--linea);font-size:12.5px;font-weight:700;color:var(--texto-2)}
.etiqueta.oficial{background:#E6F4F1;border-color:#B7DED7;color:#1D6158}
.etiqueta.tolerado{background:#FFF4D6;border-color:#F0DA98;color:#7A5A00}
.etiqueta.prohibido{background:#FBEBE9;border-color:#F1C1BB;color:#8A2A1F}
.etiqueta.gratis{background:#EAF5EE;border-color:#BFE0CB;color:#1F5A38}
.ver-mas{margin:14px 0 0}
.paginas{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.paginas a,.paginas span{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--linea);text-decoration:none;color:var(--texto);font-weight:700}
.paginas span{background:var(--texto);color:#fff;border-color:var(--texto)}

/* ---------- Ficha de un lugar ---------- */
.ficha-cab{display:flex;gap:12px;align-items:center;margin:0 0 10px}
.ficha-cab .ico{width:52px;height:52px;border-radius:14px}
.ficha-datos{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin:16px 0}
.ficha-datos div{padding:12px 14px;border-radius:14px;background:var(--crema);border:1px solid var(--linea)}
.ficha-datos b{display:block;font-size:13px;font-weight:700;color:var(--texto-3);text-transform:uppercase;letter-spacing:.4px}
.ficha-datos span{color:var(--texto);font-weight:700;word-break:break-word}
.servicios{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 0;padding:0;list-style:none}
.servicios li{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:12px;background:var(--blanco);border:1px solid var(--linea);font-weight:700;font-size:15px;color:var(--texto)}
.servicios li svg{width:18px;height:18px;color:var(--turquesa)}
.servicios li.no{color:var(--texto-3);text-decoration:line-through}
.servicios li.no svg{color:var(--texto-3)}
.ficha-acciones{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.ficha-mapa{height:300px;border-radius:18px;overflow:hidden;border:1px solid var(--linea);background:#EEF3F1}
.avisos-ficha{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.avisos-ficha li{padding:10px 12px;border-radius:12px;background:var(--crema);border:1px solid var(--linea);font-size:15px}
.fuente{margin-top:26px;font-size:14px;color:var(--texto-3)}

/* ---------- Iconos de los lugares en los mapas ---------- */
.pin-lugar{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);background:var(--c,var(--c-area));border:2.5px solid #fff;box-shadow:0 3px 8px rgba(43,45,66,.35)}
.pin-lugar svg{width:16px;height:16px;color:#fff;transform:rotate(45deg)}
.pin-lugar.aviso{box-shadow:0 0 0 3px var(--peligro),0 3px 8px rgba(43,45,66,.35)}
.grupo-pin{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--texto);color:#fff;font:800 14px var(--cuerpo);border:3px solid #fff;box-shadow:0 3px 10px rgba(43,45,66,.35)}
.grupo-pin.medio{width:48px;height:48px;background:var(--turquesa)}
.grupo-pin.grande{width:56px;height:56px;background:#1F776D}
main.texto ul.lugares,main.texto ul.servicios,main.texto ul.resumen-zona,main.texto ul.avisos-ficha,main.texto ul.lista-zonas,main.texto ol.migas,main.texto ul.etiquetas{padding-left:0}
.ficha-cab .ico{display:grid;place-items:center;flex:none;color:#fff}
.ficha-cab .ico svg{width:30px;height:30px}
main.texto .lugar h3{margin:0}
