/* ============================================================
   datosde.com — sistema de diseño (v3) · fintech moderna
   Claro + color de marca fuerte (violeta) en bloques. Tipografía rotunda.
   ============================================================ */
@font-face{font-family:'Jakarta';src:url('/assets/fonts/plus-jakarta-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Jakarta';src:url('/assets/fonts/plus-jakarta-sans-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Jakarta';src:url('/assets/fonts/plus-jakarta-sans-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Jakarta';src:url('/assets/fonts/plus-jakarta-sans-latin-800-normal.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}

:root{
  --marca:#123c74; --marca-osc:#0d2c56; --marca-2:#3f7fd6; --marca-suave:#eef3fb;
  --ink:#161320; --tinta-2:#3b3651; --muted:#615c75; --tenue:#928da3;
  --fondo:#ffffff; --fondo-2:#f7f6fc; --linea:#ecebf4; --linea-2:#e0ddee;
  --radio:22px; --radio-sm:14px; --radio-btn:999px;
  --sombra:0 1px 2px rgba(22,19,32,.04),0 10px 30px -14px rgba(22,19,32,.14);
  --sombra-hover:0 18px 40px -16px rgba(18,60,116,.30);
  --sans:'Jakarta',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --t:.2s cubic-bezier(.2,.7,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--fondo);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-weight:800;line-height:1.08;letter-spacing:-.03em;margin:0 0 .5em}
h1{font-size:clamp(2.5rem,6vw,4.1rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h3{font-size:1.3rem;letter-spacing:-.02em}
p{margin:0 0 1rem}
a{color:var(--marca-osc);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.contenedor{max-width:1120px;margin:0 auto;padding:0 22px}
.estrecho{max-width:720px}
.centro{text-align:center}
.num{font-variant-numeric:tabular-nums}
.text-muted{color:var(--muted)}
.skip-link{position:absolute;left:-999px}
.skip-link:focus{left:8px;top:8px;background:#fff;padding:8px 14px;border-radius:10px;z-index:200}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:#ffffff;border-bottom:1px solid var(--linea)}
.nav{display:flex;align-items:center;gap:20px;padding:14px 0}
.logo{font-weight:800;font-size:1.4rem;letter-spacing:-.04em;color:var(--ink)}
.logo:hover{text-decoration:none}
.logo b{color:var(--marca)}
.nav-links{display:flex;gap:4px;margin:0 0 0 auto;padding:0;list-style:none;align-items:center}
.nav-links a{color:var(--tinta-2);font-weight:600;font-size:.95rem;padding:9px 14px;border-radius:12px}
.nav-links a:hover{color:var(--marca-osc);background:var(--marca-suave);text-decoration:none}
.nav-links .cta a{background:var(--ink);color:#fff;border-radius:var(--radio-btn);padding:9px 18px}
.nav-links .cta a:hover{background:var(--marca)}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{display:block;width:24px;height:2.5px;background:var(--ink);margin:5px 0;border-radius:3px}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:var(--radio-btn);font-family:inherit;font-weight:700;font-size:1rem;cursor:pointer;border:2px solid transparent;transition:var(--t);text-decoration:none}
.btn-primario{background:var(--marca);color:#fff}
.btn-primario:hover{background:var(--marca-osc);transform:translateY(-2px);text-decoration:none;box-shadow:var(--sombra-hover)}
.btn-claro{background:#fff;color:var(--marca-osc)}
.btn-claro:hover{transform:translateY(-2px);text-decoration:none}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--linea-2)}
.btn-outline:hover{border-color:var(--ink);text-decoration:none}

/* Hero: bloque de marca fuerte */
.hero{background:var(--marca);color:#fff;border-radius:0 0 40px 40px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%);pointer-events:none}
.hero .contenedor{padding:70px 22px 84px;position:relative;z-index:1}
.hero .tag{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);color:#fff;font-weight:600;font-size:.82rem;padding:7px 15px;border-radius:999px;margin-bottom:22px}
.hero h1{max-width:15ch;color:#fff}
.hero .lead{font-size:1.2rem;color:rgba(255,255,255,.9);max-width:600px;margin:.3em 0 30px;font-weight:500}

/* Buscador */
.buscador{max-width:580px;position:relative}
.buscador input{width:100%;padding:17px 18px 17px 50px;font-size:1.05rem;font-family:inherit;border:0;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 14px 40px -12px rgba(0,0,0,.3)}
.buscador input:focus{outline:none;box-shadow:0 0 0 4px rgba(255,255,255,.5),0 14px 40px -12px rgba(0,0,0,.3)}
.buscador .lupa{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:1.15rem;opacity:.45}
.buscador-res{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border-radius:16px;box-shadow:0 20px 50px -16px rgba(22,19,32,.4);overflow:hidden;z-index:30;display:none}
.buscador-res.on{display:block}
.buscador-res a{display:flex;justify-content:space-between;gap:10px;padding:13px 18px;color:var(--ink);border-bottom:1px solid var(--linea)}
.buscador-res a:last-child{border-bottom:0}
.buscador-res a:hover{background:var(--fondo-2);text-decoration:none}
.buscador-res .tag2{font-size:.74rem;color:var(--marca-osc);background:var(--marca-suave);padding:3px 10px;border-radius:999px;align-self:center;font-weight:700}

/* Secciones */
.seccion{padding:64px 0}
.seccion-alt{background:var(--fondo-2)}
.eyebrow{display:inline-block;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--marca);margin-bottom:10px}

/* Tarjetas de sección (modernas, sin emoji) */
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.cards a.card{display:block;padding:28px;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra);transition:var(--t);color:var(--ink);position:relative;overflow:hidden}
.cards a.card:hover{transform:translateY(-5px);box-shadow:var(--sombra-hover);border-color:transparent;text-decoration:none}
.card .idx{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--marca-suave);color:var(--marca-osc);font-weight:800;font-size:1.05rem;margin-bottom:16px;font-variant-numeric:tabular-nums}
.card h3{margin:0 0 6px;font-size:1.4rem}
.card p{margin:0 0 14px;color:var(--muted);font-size:.98rem}
.card .go{font-weight:700;color:var(--marca-osc);font-size:.95rem}
.card:hover .go{color:var(--marca)}
/* variante destacada con color de marca */
.cards a.card.mar{background:var(--marca);border-color:var(--marca);color:#fff}
.card.mar .idx{background:rgba(255,255,255,.18);color:#fff}
.card.mar p{color:rgba(255,255,255,.88)}
.card.mar .go{color:#fff}

/* Ficha / artículo */
.page-head{background:var(--fondo-2);border-bottom:1px solid var(--linea);padding:30px 0}
.breadcrumb{font-size:.85rem;color:var(--tenue);margin-bottom:12px;font-weight:600}
.breadcrumb a{color:var(--tenue)}
.breadcrumb a:hover{color:var(--marca-osc)}
.chip-cat{display:inline-block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--marca-osc);background:var(--marca-suave);padding:5px 13px;border-radius:999px}
.articulo{font-size:1.05rem;line-height:1.72}
.articulo h2{margin-top:1.6em}
.articulo ul{padding-left:1.15em}
.articulo li{margin-bottom:.35em}

/* Cifras destacadas */
.cifras{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0}
.cifras .c{flex:1 1 130px;background:#fff;border:1px solid var(--linea);border-radius:var(--radio-sm);padding:18px;box-shadow:var(--sombra)}
.cifras .v{font-size:1.9rem;font-weight:800;color:var(--marca-osc);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cifras .l{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--tenue);margin-top:8px;font-weight:700}

/* Tabla de datos */
.tabla-datos{width:100%;border-collapse:separate;border-spacing:0;margin:22px 0;font-size:.98rem;border:1px solid var(--linea);border-radius:var(--radio-sm);overflow:hidden}
.tabla-datos caption{caption-side:top;text-align:left;font-weight:800;font-size:1.15rem;margin-bottom:12px;letter-spacing:-.02em}
.tabla-datos th,.tabla-datos td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--linea)}
.tabla-datos thead th{background:var(--fondo-2);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}
.tabla-datos tbody tr:last-child td{border-bottom:0}
.tabla-datos td:last-child,.tabla-datos th:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.nota{background:var(--marca-suave);border-radius:var(--radio-sm);padding:16px 20px;margin:20px 0;font-size:.96rem}
.nota p{margin:0}
.fuente{font-size:.83rem;color:var(--tenue);margin-top:26px;border-top:1px solid var(--linea);padding-top:14px}

/* Listado de ítems */
.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.item-grid a{display:flex;justify-content:space-between;gap:10px;padding:16px 18px;background:#fff;border:1px solid var(--linea);border-radius:var(--radio-sm);color:var(--ink);font-weight:600;transition:var(--t)}
.item-grid a:hover{transform:translateY(-3px);box-shadow:var(--sombra-hover);border-color:transparent;text-decoration:none}
.item-grid .s{color:var(--tenue);font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}

.ad-slot{margin:30px 0;text-align:center}
.ad-slot:empty{display:none}

/* Footer */
.site-footer{background:var(--ink);color:#b9b3cc;padding:56px 0 30px}
.site-footer a{color:#b9b3cc}
.site-footer a:hover{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:30px}
.site-footer .logo{color:#fff;font-size:1.3rem}
.site-footer .logo b{color:var(--marca-2)}
.site-footer h4{color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px;font-weight:800}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:8px;font-size:.92rem}
.footer-brand p{color:#8f89a6;font-size:.9rem;max-width:320px}
.footer-bottom{border-top:1px solid #2b2740;margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.83rem;color:#7d7794}

/* Hero con imagen de fondo + velo institucional */
.hero.hero-img{background:linear-gradient(180deg,rgba(18,60,116,.80),rgba(13,44,86,.93)),url('/assets/img/hero.jpg');background-size:cover;background-position:center}
.hero-stats{display:flex;flex-wrap:wrap;gap:12px 34px;margin-top:34px}
.hero-stats .hs b{display:block;font-size:1.7rem;font-weight:800;letter-spacing:-.02em;line-height:1.05;color:#fff}
.hero-stats .hs span{font-size:.8rem;color:rgba(255,255,255,.82);font-weight:600}
/* Tarjeta de sección con imagen */
.card .thumb{height:160px;margin:-28px -28px 20px;background-size:cover;background-position:center}
/* Chips de búsquedas populares */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.chips a{background:#fff;border:1px solid var(--linea-2);border-radius:999px;padding:9px 16px;font-weight:600;font-size:.92rem;color:var(--tinta-2)}
.chips a:hover{border-color:var(--marca);color:var(--marca-osc);text-decoration:none;box-shadow:var(--sombra)}
/* Banda de confianza / cifras */
.band{background:var(--marca);color:#fff}
.band .contenedor{padding:40px 22px;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;align-items:center}
.band .bstat b{display:block;font-size:1.9rem;font-weight:800;line-height:1}
.band .bstat span{font-size:.84rem;color:rgba(255,255,255,.82);font-weight:600}
/* Bloques destacados */
.bloques{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.bloques a{display:block;padding:18px 20px;background:#fff;border:1px solid var(--linea);border-radius:var(--radio-sm);color:var(--ink);font-weight:700;transition:var(--t)}
.bloques a:hover{transform:translateY(-3px);box-shadow:var(--sombra-hover);border-color:transparent;text-decoration:none}
.bloques a span{display:block;font-weight:500;color:var(--muted);font-size:.88rem;margin-top:4px}
/* FAQ */
.faq details{border:1px solid var(--linea);border-radius:14px;padding:2px 20px;margin-bottom:12px;background:#fff}
.faq summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;position:relative;padding-right:28px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:14px;color:var(--marca);font-weight:800;font-size:1.3rem}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 16px;color:var(--muted)}
/* ===== v10 · módulos fotográficos tipo portal (visitmadrid) ===== */
.modulo{padding:60px 0}
.modulo .mod-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.modulo .mod-head p{margin:.4em 0 0;color:var(--muted);max-width:560px}
.modulo .mod-head .ver{white-space:nowrap;font-weight:700;color:var(--marca-osc)}
.destinos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.dcard{display:block;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--linea);box-shadow:var(--sombra);transition:var(--t);color:var(--ink)}
.dcard:hover{transform:translateY(-6px);box-shadow:var(--sombra-hover);text-decoration:none;border-color:transparent}
.dcard .di{height:220px;background-size:cover;background-position:center;background-color:var(--fondo-2);position:relative}
.dcard .badge{position:absolute;left:14px;top:14px;background:var(--oro);color:#161320;font-weight:800;font-size:.78rem;padding:5px 12px;border-radius:999px;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.dcard .db{padding:17px 20px}
.dcard .db h3{margin:0 0 5px;font-size:1.18rem}
.dcard .db p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45}
.destinos.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:820px){.destinos,.destinos.g4{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.destinos,.destinos.g4{grid-template-columns:1fr}}
/* ===== v9 · marca con carácter (azul en bloques + oro, tipografía rotunda, profundidad) ===== */
:root{--oro:#eaa60c;--oro-osc:#c78c07}
h1{font-weight:800;letter-spacing:-.035em}
.hero h1{font-size:clamp(2.8rem,6.8vw,4.7rem)}
.oro{color:var(--oro)}
/* Cabecera de página como BLOQUE de marca (adiós look de blog) */
.page-head{background:linear-gradient(150deg,#164485,var(--marca-osc));color:#fff;border-bottom:0;padding:52px 0 46px;position:relative;overflow:hidden}
.page-head::after{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(234,166,12,.28),transparent 70%);pointer-events:none}
.page-head .contenedor{position:relative;z-index:1}
.page-head h1{color:#fff;margin:8px 0 0;font-size:clamp(2rem,4.2vw,3.1rem)}
.page-head .breadcrumb,.page-head .breadcrumb a{color:rgba(255,255,255,.72)}
.page-head .breadcrumb a:hover{color:#fff}
.page-head .text-muted{color:rgba(255,255,255,.9)}
.page-head .chip-cat{background:rgba(255,255,255,.16);color:#fff;border:0}
/* Cifras y valores en ORO (carácter + tema "valor") */
.cifras .c{border-top:3px solid var(--oro)}
.cifras .v,.datos-rapidos .v,.dato-box .v{color:var(--oro-osc)}
.tabla-datos td:last-child{color:var(--oro-osc);font-weight:800}
.eyebrow{color:var(--oro-osc)}
.chip-cat{background:#fff5df;color:var(--oro-osc)}
/* Más profundidad y radios generosos */
.cards a.card,.side-card,.rel-cards a,.bloques a,.buscador input,.buscador-res{border-radius:22px}
.rel-cards .rt{height:135px}
.band{background:linear-gradient(150deg,#164485,var(--marca-osc))}
/* Botón oro para CTAs con carácter */
.btn-oro{background:var(--oro);color:#161320;border-color:var(--oro)}
.btn-oro:hover{background:var(--oro-osc);color:#161320;transform:translateY(-2px);text-decoration:none}
/* Footer enriquecido */
.footer-destacados{border-bottom:1px solid #2b2740;padding-bottom:24px;margin-bottom:28px}
.footer-destacados h4{margin:0 0 14px}
.fd-links{display:flex;flex-wrap:wrap;gap:9px}
.fd-links a{background:rgba(255,255,255,.05);border:1px solid #2b2740;color:#c9c2d4;border-radius:999px;padding:8px 15px;font-size:.86rem;font-weight:600}
.fd-links a:hover{background:var(--marca);border-color:var(--marca);color:#fff;text-decoration:none}
/* Landing con banner + dos columnas */
.landing-banner{border-radius:var(--radio);overflow:hidden;margin:0 0 30px;position:relative;box-shadow:var(--sombra)}
.landing-banner img{width:100%;height:230px;object-fit:cover;display:block}
.landing-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
@media(max-width:900px){.landing-layout{grid-template-columns:1fr}}
/* Ficha a dos columnas (aspecto de página trabajada) */
.ficha-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px;align-items:start}
.ficha-main{min-width:0;font-size:1.06rem;line-height:1.72}
.ficha-main>p:first-of-type{font-size:1.18rem;color:var(--tinta-2)}
.ficha-main h2{margin-top:1.8em;font-size:1.5rem}
.ficha-side{position:sticky;top:86px;display:flex;flex-direction:column;gap:16px}
.side-card{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra);overflow:hidden}
.side-card>img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;background:var(--fondo-2)}
.side-card .sc-body{padding:18px 20px}
.side-card h3{font-size:.8rem;margin:0 0 10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.datos-rapidos{list-style:none;margin:0;padding:0}
.datos-rapidos li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--linea);font-size:.93rem}
.datos-rapidos li:last-child{border-bottom:0}
.datos-rapidos .k{color:var(--muted)}
.datos-rapidos .v{font-weight:800;text-align:right;color:var(--ink)}
.side-card ul{list-style:none;margin:0;padding:0}
.side-card li{padding:9px 0;border-bottom:1px solid var(--linea);font-size:.93rem}
.side-card li:last-child{border-bottom:0}
.side-card li a{font-weight:600}
.sc-credito{font-size:.72rem;color:var(--tenue);padding:8px 15px;background:var(--fondo-2)}
.sc-credito a{color:var(--tenue)}
.grafico-valor{margin:28px 0;padding:24px 26px 16px;background:var(--fondo-2);border:1px solid var(--linea);border-radius:var(--radio-sm);color:var(--marca)}
.grafico-valor svg{display:block;width:100%;height:auto;max-width:540px;margin:0 auto}
.grafico-valor figcaption{margin-top:10px;font-size:.86rem;color:var(--tenue);text-align:center;line-height:1.45}
.destacado{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap;margin:6px 0 22px;padding:20px 26px;background:linear-gradient(120deg,var(--marca),var(--marca-osc));border-radius:var(--radio-sm)}
.destacado .dv{font-size:2.05rem;font-weight:800;color:var(--oro);line-height:1.1}
.destacado .dl{font-size:.95rem;font-weight:600;color:#fff;opacity:.92}
.calc{margin:24px 0;padding:22px 24px;background:var(--fondo-2);border:1px solid var(--linea);border-radius:var(--radio-sm)}
.calc h3{margin:0 0 6px}
.calc .calc-note{margin:0 0 16px;font-size:.86rem;color:var(--tenue)}
.calc-row{display:flex;gap:16px;flex-wrap:wrap}
.calc label{display:flex;flex-direction:column;font-size:.8rem;font-weight:700;color:var(--tenue);gap:6px}
.calc input{width:130px;padding:9px 12px;border:1px solid var(--linea);border-radius:8px;font-size:1rem;font-weight:600;color:var(--ink);background:#fff}
.calc-out{margin-top:18px;padding-top:16px;border-top:1px dashed var(--linea);font-size:1.05rem;font-weight:600;color:var(--marca)}
.calc-out b{font-size:1.25rem;color:var(--oro-osc)}
.grafico-barras{color:var(--marca)}
.grafico-barras svg{max-width:100%}
.actualizado{margin-top:10px;font-size:.8rem;color:var(--tenue);font-weight:600}
.comentarios{margin-top:48px;padding-top:30px;border-top:1px solid var(--linea)}
.comentarios h2{margin-bottom:16px}
.cm-auth{margin-bottom:12px}
.cm-signin-note{font-size:.9rem;color:var(--tenue);margin:8px 0 0}
.cm-form-wrap{margin:12px 0 26px}
.cm-text{width:100%;padding:12px 14px;border:1px solid var(--linea);border-radius:var(--radio-sm);font:inherit;resize:vertical;box-sizing:border-box;background:#fff}
.cm-formbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;flex-wrap:wrap}
.cm-msg{font-size:.9rem;font-weight:600}
.cm-msg.ok{color:#1a7f43}
.cm-msg.err{color:#c0392b}
.cm-list{display:flex;flex-direction:column;gap:14px}
.cm-item{background:var(--fondo-2);border:1px solid var(--linea);border-radius:var(--radio-sm);padding:14px 16px}
.cm-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}
.cm-name{font-weight:700;color:var(--marca)}
.cm-date{font-size:.8rem;color:var(--tenue)}
.cm-body{margin:0;line-height:1.55;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word}
.cm-empty{color:var(--tenue)}
.cm-aviso{margin-top:16px;font-size:.8rem;color:var(--tenue)}
.cm-gsi-btn{min-height:40px}
.rel-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px}
.rel-cards a{background:#fff;border:1px solid var(--linea);border-radius:var(--radio-sm);overflow:hidden;color:var(--ink);transition:var(--t);display:block}
.rel-cards a:hover{transform:translateY(-3px);box-shadow:var(--sombra-hover);border-color:transparent;text-decoration:none}
.rel-cards .rt{height:120px;background-size:cover;background-position:center;background-color:var(--fondo-2)}
.rel-cards .rn{padding:11px 13px;font-weight:700;font-size:.9rem;line-height:1.25}
@media(max-width:900px){.ficha-layout{grid-template-columns:1fr}.ficha-side{position:static}}
@media(max-width:560px){.rel-cards{grid-template-columns:1fr 1fr}}
/* Foto y mapa en fichas */
.foto{margin:0 0 22px;border-radius:16px;overflow:hidden;border:1px solid var(--linea);box-shadow:var(--sombra)}
.foto img{width:100%;height:auto;display:block;max-height:400px;object-fit:cover}
.foto figcaption{font-size:.78rem;color:var(--tenue);padding:9px 15px;background:var(--fondo-2)}
.foto figcaption a{color:var(--tenue)}
.mapa{border-radius:16px;overflow:hidden;border:1px solid var(--linea);margin:20px 0}
.mapa iframe{width:100%;height:330px;border:0;display:block}
.dos-col{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
@media(max-width:700px){.dos-col{grid-template-columns:1fr}}
/* Hero centrado: el buscador como protagonista */
.hero .contenedor{text-align:center}
.hero .tag{margin-left:auto;margin-right:auto}
.hero h1{margin-left:auto;margin-right:auto;max-width:18ch}
.hero .lead{margin-left:auto;margin-right:auto}
.hero .buscador{margin-left:auto;margin-right:auto;max-width:660px}
.hero .buscador input{padding-top:19px;padding-bottom:19px;font-size:1.1rem}
.hero-stats{justify-content:center}
/* Logo con .com */
.logo .tld{color:var(--marca)}
.site-footer .logo .tld{color:var(--marca-2)}
/* Responsive */
@media(max-width:820px){ .grid-2{grid-template-columns:1fr} .footer-grid{grid-template-columns:1fr 1fr} .bloques{grid-template-columns:1fr} }
@media(max-width:640px){
  body{font-size:16px}
  .hero{border-radius:0 0 28px 28px}
  .hero .contenedor{padding:54px 22px 64px}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--linea);flex-direction:column;gap:2px;padding:10px 18px 16px;box-shadow:var(--sombra)}
  .nav-links.open{display:flex}
  .nav-links a{display:block;padding:12px 10px;width:100%}
  .nav-links .cta a{text-align:center}
  .nav-toggle{display:block}
  .footer-grid{grid-template-columns:1fr}
}
