/* ── nivosur.es · estilos COMUNES a todas las páginas ────────────────────────────────────
   Cabecera, pie, bandas, tarjetas y botones de la plantilla aprobada por Dani (maqueta v2,
   28-09-2026). Todo va con el prefijo «nv-» para no chocar con los estilos propios de cada
   página: el boletín, por ejemplo, tiene los suyos y también se imprime.
   La cabecera y el pie los pone /comun/sitio.js. */
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700&family=Outfit:wght@500;700;800;900&family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400&family=JetBrains+Mono:wght@500;700&display=swap");

:root{
  --nv-marino:#17305c; --nv-marino-2:#0e2144; --nv-azul:#3f6fa8; --nv-azul-claro:#8fb3e0;
  --nv-hielo:#dfe8f3; --nv-arena:#efe7da;
  --nv-tinta:#101c30; --nv-tinta-2:#2c3a52; --nv-tinta-3:#48566d; --nv-linea:#cfd7e2;
  --nv-g1:#5cb85c; --nv-g2:#f0d040; --nv-g3:#f08c2e; --nv-g4:#e23b3b; --nv-g5:#1a1a1a; --nv-g0:#bcc4cf;
  --nv-radio:16px;
  --nv-sombra:0 1px 2px rgba(16,28,48,.08),0 10px 28px rgba(16,28,48,.10);
}

/* Páginas propias de la web (archivo, blog…). El boletín no lleva esta clase. */
body.nv{margin:0;background:#fff;color:var(--nv-tinta);font:400 17.5px/1.6 'DM Sans',system-ui,sans-serif;-webkit-text-size-adjust:100%}
body.nv *{box-sizing:border-box}
body.nv a{color:var(--nv-azul)}
body.nv h1,body.nv h2,body.nv h3{font-family:'Outfit',sans-serif;line-height:1.12;margin:0;color:var(--nv-tinta)}

.nv-cont{max-width:1160px;margin:0 auto;padding:0 16px}
.nv-mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase}

/* ── Cabecera ── */
#nv-cabecera{min-height:84px}                      /* hueco reservado: la página no salta al ponerla */
.nv-cab{background:#fff;border-bottom:1px solid var(--nv-linea);position:sticky;top:0;z-index:1000;
  box-shadow:0 2px 10px rgba(16,28,48,.06);font-family:'DM Sans',system-ui,sans-serif}
.nv-cab *{box-sizing:border-box}
.nv-cab .nv-cont{display:flex;align-items:center;justify-content:space-between;height:84px;gap:14px}
.nv-marca{display:flex;align-items:center;gap:12px;text-decoration:none}
.nv-marca img{width:58px;height:58px;display:block}
.nv-marca b{display:block;font-family:'Cinzel',serif;font-size:30px;font-weight:700;letter-spacing:.02em;color:var(--nv-marino);line-height:1}
.nv-marca b span{color:var(--nv-azul)}
.nv-marca small{display:block;font:600 11px 'JetBrains Mono',monospace;letter-spacing:.14em;color:var(--nv-tinta-3);margin-top:4px;text-transform:uppercase}
.nv-nav{display:flex;gap:2px;align-items:center}
.nv-nav a{font:700 16.5px 'Outfit',sans-serif;color:var(--nv-tinta-2);text-decoration:none;padding:10px 12px;border-radius:10px}
.nv-nav a:hover{background:var(--nv-hielo);color:var(--nv-marino)}
.nv-nav a.nv-activo{color:var(--nv-marino);box-shadow:inset 0 -3px 0 var(--nv-g3)}
.nv-nav a.nv-destacado{background:var(--nv-g3);color:#231300;margin-left:6px}
.nv-menu-movil{display:none}
@media (max-width:980px){
  #nv-cabecera{min-height:74px}
  .nv-nav{display:none}
  .nv-menu-movil{display:block;position:relative}
  .nv-menu-movil summary{list-style:none;cursor:pointer;font:800 15px 'Outfit',sans-serif;color:var(--nv-marino);border:2px solid var(--nv-marino);border-radius:12px;padding:9px 14px}
  .nv-menu-movil summary::-webkit-details-marker{display:none}
  .nv-menu-movil nav{position:absolute;right:0;top:54px;background:#fff;border:1px solid var(--nv-linea);border-radius:14px;box-shadow:var(--nv-sombra);padding:8px;display:grid;min-width:240px}
  .nv-menu-movil nav a{font:700 18px 'Outfit',sans-serif;color:var(--nv-tinta);text-decoration:none;padding:12px 14px;border-radius:10px}
  .nv-menu-movil nav a.nv-activo{background:var(--nv-hielo)}
  .nv-marca img{width:48px;height:48px}.nv-marca b{font-size:25px}.nv-cab .nv-cont{height:74px}
}
@media (max-width:420px){.nv-marca small{display:none}}

/* ── Miga de pan ── */
.nv-miga{background:#f4f7fb;border-bottom:1px solid var(--nv-linea);font:500 14.5px 'DM Sans',system-ui,sans-serif}
.nv-miga ol{list-style:none;margin:0;padding:9px 0;display:flex;flex-wrap:wrap;gap:4px 0}
.nv-miga li{display:flex;align-items:center;color:var(--nv-tinta-3)}
.nv-miga li + li::before{content:"›";margin:0 8px;color:#9aa6b8}
.nv-miga a{color:var(--nv-azul);text-decoration:none}
.nv-miga a:hover{text-decoration:underline}
.nv-miga [aria-current]{color:var(--nv-tinta-2);font-weight:700}

/* ── Bandas y piezas ── */
.nv-banda{padding:52px 0;position:relative}
.nv-banda.nv-hielo{background:var(--nv-hielo)}
.nv-banda.nv-arena{background:var(--nv-arena)}
.nv-banda.nv-marino{background:var(--nv-marino);color:#dfe8f5}
.nv-banda + .nv-banda{border-top:1px solid rgba(16,28,48,.08)}
.nv-banda.nv-titular{padding:36px 0 30px;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='260' viewBox='0 0 520 260'%3E%3Cg fill='none' stroke='%2317305c' stroke-opacity='.09' stroke-width='1.2'%3E%3Cpath d='M-10 40 C80 10 150 70 260 40 S420 10 530 45'/%3E%3Cpath d='M-10 70 C90 40 160 100 260 72 S430 40 530 78'/%3E%3Cpath d='M-10 100 C100 72 170 128 262 104 S440 74 530 110'/%3E%3Cpath d='M-10 132 C110 104 180 156 264 136 S450 108 530 142'/%3E%3Cpath d='M-10 166 C120 138 190 186 266 170 S460 142 530 176'/%3E%3Cpath d='M-10 200 C130 172 200 216 268 204 S470 176 530 210'/%3E%3Cpath d='M-10 234 C140 206 210 246 270 238 S480 210 530 244'/%3E%3C/g%3E%3C/svg%3E") repeat,
  linear-gradient(180deg,#eef3f9 0%,#dfe8f3 100%)}
.nv-sec-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.nv-ojo{display:flex;align-items:center;gap:8px;color:var(--nv-azul);margin-bottom:6px}
.nv-ojo::before{content:"";width:18px;height:3px;border-radius:2px;background:currentColor}
.nv-sec-cab h1,.nv-sec-cab h2{font-size:clamp(28px,4.4vw,40px);font-weight:900}
.nv-mas{font:800 15px 'Outfit',sans-serif;text-decoration:none;color:var(--nv-marino)!important;border-bottom:2px solid var(--nv-g3);padding-bottom:2px}
.nv-tarjeta{background:#fff;border:1px solid var(--nv-linea);border-radius:var(--nv-radio);box-shadow:var(--nv-sombra)}
.nv-btn{display:inline-flex;align-items:center;gap:8px;font:800 16px 'Outfit',sans-serif;text-decoration:none;border-radius:12px;padding:13px 20px;border:2px solid transparent;cursor:pointer}
.nv-btn.nv-prim{background:var(--nv-marino);color:#fff!important}
.nv-btn.nv-sec{border-color:var(--nv-marino);color:var(--nv-marino)!important;background:#fff}
.nv-btn.nv-naranja{background:var(--nv-g3);color:#231300!important}
@media (max-width:720px){.nv-banda{padding:38px 0}}

/* ── Páginas de texto (guía, legales, NivoSur…) ── */
.nv-prosa{max-width:820px;margin:0 auto;padding:30px 16px 20px;font-size:18.5px;line-height:1.7}
.nv-prosa h2{font-size:clamp(24px,3.4vw,30px);font-weight:900;margin:40px 0 12px}
.nv-prosa h3{font-size:21px;font-weight:800;margin:26px 0 8px}
.nv-prosa p{margin:0 0 16px}
.nv-prosa ul,.nv-prosa ol{margin:0 0 16px;padding-left:24px}
.nv-prosa li{margin:4px 0}
.nv-prosa .nv-indice{background:#f4f7fb;border:1px solid var(--nv-linea);border-radius:14px;padding:14px 20px;font-size:16.5px}
.nv-prosa .nv-indice ol{margin:6px 0 0}
.nv-hueco{background:#fff3c4;color:#5c4600;border-radius:5px;padding:0 5px;font-weight:700}
.nv-aviso-p{background:#fff4e0;border:1px solid #f3c98b;border-radius:12px;padding:14px 18px;margin:20px 0;font-size:17px}
.nv-ficha{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:start;border:1px solid var(--nv-linea);border-radius:14px;padding:14px;margin:12px 0;background:#fff}
.nv-ficha img{width:96px;height:96px;object-fit:contain}
.nv-ficha h3{margin:0 0 4px}
.nv-ficha p{margin:0;font-size:17px}
@media (max-width:560px){.nv-prosa{font-size:17.5px}.nv-ficha{grid-template-columns:64px 1fr}.nv-ficha img{width:64px;height:64px}}

/* ── Pie ── */
.nv-pie{background:var(--nv-marino-2);color:#b9c6da;padding:34px 0 24px;font:400 15px/1.55 'DM Sans',system-ui,sans-serif;margin-top:0}
.nv-pie *{box-sizing:border-box}
.nv-pie .nv-fila{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.nv-pie .nv-marca img{background:#fff;border-radius:10px;padding:3px}
.nv-pie .nv-marca b{color:#fff}
.nv-pie .nv-marca b span{color:var(--nv-azul-claro)}
.nv-pie .nv-marca small{color:#9aabc4}
.nv-pie nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.nv-pie nav a{color:#e0e8f3;text-decoration:none;font-weight:500}
.nv-pie .nv-legal{border-top:1px solid rgba(255,255,255,.12);margin-top:22px;padding-top:16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13.5px;color:#9aabc4}

@media print{#nv-cabecera,#nv-pie,.nv-cab,.nv-pie{display:none!important}}
