[hidden]{display:none!important}
:root{
  --papel:#f6efe1;
  --papel-2:#efe4cc;
  --tinta:#2a1d14;
  --tinta-suave:#5c4a3b;
  --rojo:#a8161b;
  --rojo-2:#c8262b;
  --oro:#c99a3b;
  --oro-claro:#e8c977;
  --madera:#5a3518;
  --madera-2:#3b2210;
  --noche:#14110d;
  --epaper:#eceae3;
  --radio:14px;
  --sombra:0 10px 30px rgba(40,22,8,.18);
  --serif:'Lora',Georgia,serif;
  --antigua:'Almendra',Georgia,serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--serif);font-size:17px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--antigua);line-height:1.15;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.6rem,6vw,4.6rem);color:var(--madera-2)}
h2{font-size:clamp(1.9rem,4vw,2.9rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em}
code{font-family:var(--mono);background:rgba(168,22,27,.08);color:var(--rojo);padding:.05em .35em;border-radius:4px;font-size:.9em}
a{color:var(--rojo)}

/* ---------- botones ---------- */
.btn{display:inline-block;background:var(--rojo);color:#fff;border:0;border-radius:999px;padding:.85em 1.6em;font:600 1rem var(--serif);text-decoration:none;cursor:pointer;box-shadow:0 6px 18px rgba(168,22,27,.3);transition:transform .15s,background .15s}
.btn:hover{background:var(--rojo-2);transform:translateY(-2px)}
.btn-sec{background:transparent;color:var(--madera-2);border:2px solid var(--madera);box-shadow:none}
.btn-sec:hover{background:var(--madera);color:#fff}
.btn-mini{padding:.45em 1.1em;font-size:.9rem;color:#fff!important}
.enlace{background:none;border:0;color:var(--oro-claro);text-decoration:underline;cursor:pointer;font:inherit;padding:0;margin-top:.6em}

/* ---------- navegación ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem clamp(16px,4vw,48px);background:rgba(246,239,225,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(90,53,24,.15)}
.marca{display:flex;align-items:center;gap:.55rem;font-family:var(--antigua);font-weight:700;font-size:1.2rem;color:var(--madera-2);text-decoration:none}
.marca img{border-radius:6px}
.marca .marca-logo{border-radius:50%;box-shadow:0 1px 4px rgba(20,36,52,.35)}
.marca-txt{display:flex;flex-direction:column;line-height:1.05}
.marca-txt small{font-family:var(--mono,monospace);font-weight:600;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#B08A3E;margin-top:2px}
.nav nav{display:flex;align-items:center;gap:1.3rem}
.nav nav a{color:var(--tinta);text-decoration:none;font-size:.95rem}
.nav nav a:hover{color:var(--rojo)}
.nav-btn{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--madera-2)}
@media (max-width:860px){
  .nav-btn{display:block}
  .nav nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--papel);border-bottom:1px solid rgba(90,53,24,.2);display:none;padding:.5rem 16px 1rem}
  .nav nav.abierto{display:flex}
  .nav nav a{padding:.7rem 0;border-bottom:1px solid rgba(90,53,24,.1)}
  .nav nav a.btn{margin-top:.7rem;text-align:center;border:0}
}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(32px,6vw,80px) clamp(16px,6vw,96px);background:radial-gradient(ellipse at 80% 30%,#fff7e3 0,transparent 60%),var(--papel)}
.antetitulo{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--rojo);margin-bottom:.8em;font-weight:600}
.lema{font-size:1.2rem;color:var(--tinta-suave);max-width:34em}
.hero-puntos{list-style:none;padding:0;margin:1.4em 0 2em}
.hero-puntos li{padding:.35em 0 .35em 1.8em;position:relative}
.hero-puntos li::before{content:"✦";position:absolute;left:0;color:var(--oro)}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem}
.hero-img{position:relative;margin:0;max-width:520px;justify-self:center}
.hero-img img{filter:drop-shadow(0 25px 35px rgba(60,30,8,.35))}
.globo{position:absolute;background:var(--tinta);color:#fff;font-size:.82rem;padding:.4em .85em;border-radius:999px;white-space:nowrap;box-shadow:var(--sombra);animation:flotar 4s ease-in-out infinite}
.globo::after{content:"";position:absolute;width:10px;height:10px;background:inherit;transform:rotate(45deg)}
.g1{top:15%;left:-12%}.g1::after{right:14px;bottom:-4px}
.g2{top:44%;right:-10%;animation-delay:1.2s;background:var(--rojo)}.g2::after{left:14px;bottom:-4px}
.g3{bottom:6%;left:-8%;animation-delay:2.4s}.g3::after{right:14px;top:-4px}
@keyframes flotar{50%{transform:translateY(-6px)}}
@media (max-width:860px){
  .hero{grid-template-columns:1fr;text-align:left}
  .hero-img{order:-1;max-width:340px}
  .g1{left:-4%}.g2{right:-4%}.g3{left:-2%}
}
@media (max-width:420px){.globo{font-size:.7rem}}

/* ---------- franja cifras ---------- */
.franja{background:linear-gradient(180deg,var(--madera),var(--madera-2));color:#fff;padding:28px 16px;border-top:4px solid var(--oro);border-bottom:4px solid var(--oro)}
.cifras{display:grid;grid-template-columns:repeat(6,1fr);max-width:1100px;margin:0 auto;gap:12px;text-align:center}
.cifras b{display:block;font-family:var(--antigua);font-size:2.2rem;color:var(--oro-claro);line-height:1.1}
.cifras span{font-size:.85rem;opacity:.85}
@media (max-width:760px){.cifras{grid-template-columns:repeat(3,1fr);row-gap:20px}}

/* ---------- secciones ---------- */
.seccion{padding:clamp(56px,8vw,110px) clamp(16px,6vw,96px)}
.cabecera{max-width:760px;margin:0 auto 2.6rem;text-align:center}
.cabecera p:last-child{color:var(--tinta-suave);font-size:1.08rem}
.subtitulo{text-align:center;margin-top:3.5rem;font-size:1.7rem}
.centro{text-align:center}
.estrecho{max-width:720px;margin-left:auto;margin-right:auto}
.nota{font-size:.92rem;color:var(--tinta-suave);font-style:italic}
.madera{background:linear-gradient(180deg,#6b4220,#3b2210);color:#f6ead2}
.madera .cabecera p:last-child,.madera .nota{color:#e6d3b0}
.madera .antetitulo{color:var(--oro-claro)}
.noche{background:radial-gradient(ellipse at top,#2a2117,var(--noche) 70%);color:#efe6d4}
.noche .cabecera p:last-child,.noche .nota{color:#cbbd9f}
.noche .antetitulo{color:var(--oro-claro)}
.pergamino{background:var(--papel-2)}
.claro{color:#f6ead2}

/* ---------- vídeo ---------- */
.video-marco{max-width:560px;margin:0 auto;padding:14px;border-radius:22px;background:linear-gradient(145deg,var(--oro),#7a5418);box-shadow:var(--sombra)}
.video-marco video{width:100%;border-radius:12px;display:block;background:#000}
.comparativa{display:flex;align-items:center;justify-content:center;gap:clamp(12px,4vw,40px);margin-top:3rem;flex-wrap:wrap}
.comparativa figure{margin:0;text-align:center;max-width:200px}
.comparativa img{height:210px;width:auto;margin:0 auto;border-radius:10px;object-fit:contain}
.comparativa figcaption{font-size:.9rem;color:var(--tinta-suave);margin-top:.5em;font-style:italic}
.flecha{font-size:2.4rem;color:var(--oro)}

/* ---------- explorador ---------- */
.explorador{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(24px,4vw,56px);max-width:1100px;margin:0 auto;align-items:start}
.retablo-mapa{position:relative}
.zona{position:absolute;border:2px solid var(--oro-claro);background:rgba(232,201,119,.12);border-radius:8px;cursor:pointer;padding:0;animation:latido 2.4s ease-in-out infinite;transition:background .2s}
.zona:hover,.zona.activa{background:rgba(232,201,119,.35);animation:none;box-shadow:0 0 0 4px rgba(232,201,119,.4)}
.zona i{position:absolute;top:-14px;right:-14px;width:30px;height:30px;border-radius:50%;background:var(--rojo);color:#fff;font:700 .95rem/30px var(--serif);font-style:normal;box-shadow:0 2px 6px rgba(0,0,0,.4)}
@keyframes latido{50%{box-shadow:0 0 0 6px rgba(232,201,119,.25)}}
.ficha-pantalla{background:rgba(255,248,232,.06);border:1px solid rgba(232,201,119,.3);border-radius:var(--radio);padding:clamp(18px,3vw,32px);position:sticky;top:90px}
.ficha-pantalla img{border-radius:8px;margin-bottom:1.2rem;max-height:340px;width:auto;margin-left:auto;margin-right:auto;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.ficha-pantalla .etq{font-family:var(--mono);font-size:.8rem;color:var(--oro-claro);letter-spacing:.1em;text-transform:uppercase}
.ficha-pantalla ul{padding-left:1.2em;margin:0}
.ficha-pantalla li{margin:.3em 0}
@media (max-width:760px){.explorador{grid-template-columns:1fr}.retablo-mapa{max-width:360px;margin:0 auto}.ficha-pantalla{position:static}}

/* ---------- datos meteo ---------- */
.zoom-ancho{max-width:820px;margin:0 auto 2.5rem;border-radius:12px;box-shadow:var(--sombra)}
.rejilla{display:grid;gap:18px;max-width:1150px;margin:0 auto}
.datos{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.dato{background:#fff9ec;border:1px solid rgba(90,53,24,.12);border-radius:var(--radio);padding:20px}
.dato .ico{font-size:1.7rem}
.dato h3{font-size:1.15rem;margin:.3em 0}
.dato p{margin:0;font-size:.95rem;color:var(--tinta-suave)}
.salud{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;max-width:1100px;margin:1.5rem auto 0}
.salud figure{margin:0;background:#fff;border-radius:var(--radio);padding:14px;text-align:center;border:1px solid rgba(90,53,24,.12)}
.salud img{width:100%;max-width:120px;margin:0 auto .5rem;aspect-ratio:1;object-fit:contain}
.salud figcaption{font-size:.82rem;color:var(--tinta-suave);line-height:1.35}
.salud b{display:block;color:var(--rojo);font-size:.95rem}
@media (max-width:900px){.salud{grid-template-columns:repeat(3,1fr)}}
@media (max-width:420px){.salud{grid-template-columns:repeat(2,1fr)}}

/* ---------- simulador ---------- */
.simulador{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:clamp(24px,4vw,56px);max-width:1050px;margin:0 auto;align-items:center}
.sim-marco{position:relative;padding:16px;border-radius:10px;background:linear-gradient(145deg,#8a5a26,#3b2210);box-shadow:0 20px 50px rgba(0,0,0,.6),inset 0 0 0 3px var(--oro)}
.sim-marco img{border-radius:4px;aspect-ratio:3/4;object-fit:cover;width:100%;transition:opacity .35s}
.sim-marco img.cambiando{opacity:.15}
.sim-etiqueta{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);background:var(--rojo);color:#fff;font:600 .85rem var(--mono);padding:.35em 1em;border-radius:999px;white-space:nowrap}
.mando-tit{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--oro-claro);margin:1.4em 0 .6em}
.interruptor{display:inline-flex;background:rgba(255,255,255,.08);border-radius:999px;padding:4px}
.interruptor button{background:none;border:0;color:#efe6d4;padding:.55em 1.3em;border-radius:999px;cursor:pointer;font:600 1rem var(--serif)}
.interruptor button.activo{background:var(--oro);color:var(--madera-2)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{background:rgba(255,255,255,.06);border:1px solid rgba(232,201,119,.4);color:#efe6d4;padding:.45em 1em;border-radius:999px;cursor:pointer;font:inherit;font-size:.95rem}
.chips button:hover{border-color:var(--oro-claro)}
.chips button.activo{background:var(--rojo);border-color:var(--rojo);color:#fff}
.chips button:disabled{opacity:.35;cursor:not-allowed}
input[type=range]{width:100%;accent-color:var(--oro)}
.lunas{display:flex;justify-content:space-between;font-size:1.2rem;padding:0 2px}
@media (max-width:760px){.simulador{grid-template-columns:1fr}.sim-marco{max-width:380px;margin:0 auto}}
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-width:1150px;margin:1.5rem auto 0}
.galeria button{padding:0;border:0;background:none;cursor:pointer;position:relative;border-radius:6px;overflow:hidden}
.galeria img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .3s}
.galeria button:hover img{transform:scale(1.06)}
.galeria span{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;font-size:.72rem;padding:16px 6px 5px;text-align:left;line-height:1.2}

/* ---------- pantalla 2 ---------- */
.hoy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);max-width:1050px;margin:0 auto;align-items:center}
.epaper{background:var(--epaper);border:12px solid transparent;border-image:linear-gradient(145deg,var(--oro),#6b4a16) 1;box-shadow:var(--sombra),inset 0 0 30px rgba(0,0,0,.06);padding:18px 20px 14px;font-family:var(--antigua);font-weight:700;color:#111;aspect-ratio:296/150;display:flex;flex-direction:column;font-size:clamp(.95rem,2.1vw,1.25rem);line-height:1.22}
.ep-linea{display:flex;gap:.5em;padding:.15em 0;border-bottom:1px solid rgba(168,22,27,.45)}
.ep-linea:last-of-type{border-bottom:0}
.ep-ico{color:var(--rojo);border:1.5px solid var(--rojo);width:1.15em;height:1.15em;flex:none;display:grid;place-items:center;font-size:.8em;margin-top:.15em;border-radius:2px}
.ep-santo,.ep-fiesta{color:var(--rojo)}
.ep-fiesta span:last-child{color:#111}
.ep-refran #epRefran::first-letter{color:var(--rojo);font-size:1.25em}
.ep-afor span:last-child{color:var(--rojo);max-width:78%}
.ep-afor #epAfor::first-letter{color:#111;font-size:1.25em}
.ep-pie{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;color:var(--rojo);font-size:.82em}
.ep-signo{display:flex;flex-direction:column;align-items:center;color:#111;font-weight:400}
.ep-signo small{font-size:.8em}
.ep-signo img{width:clamp(44px,8vw,64px);height:clamp(44px,8vw,64px);object-fit:contain;border:1px solid #999;border-radius:6px;background:#fff;padding:3px}
.hoy-mandos label{display:block;font-weight:600;margin-bottom:.8rem}
.hoy-mandos input[type=date]{display:block;margin-top:.4rem;font:inherit;padding:.5em .8em;border:1px solid rgba(90,53,24,.35);border-radius:10px;background:#fff;width:100%;max-width:260px}
.botones{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.5rem}
.botones .btn{padding:.55em 1.1em;font-size:.95rem}
.lista-check{list-style:none;padding:0;margin:0}
.lista-check li{padding:.3em 0 .3em 1.7em;position:relative}
.lista-check li::before{content:"✓";position:absolute;left:0;color:var(--rojo);font-weight:700}
.lista-check.claro li::before{color:var(--oro-claro)}
.lista-check.estrecho{margin-top:2.5rem}
.lamina{width:100%;max-width:min(620px,100%);margin:3.5rem auto 0;border-radius:var(--radio);box-shadow:var(--sombra)}
@media (max-width:760px){.hoy{grid-template-columns:1fr}.epaper{aspect-ratio:auto;min-height:220px}}

/* ---------- personalización ---------- */
.perso{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.carta{background:#fff9ec;border-radius:var(--radio);overflow:hidden;border:1px solid rgba(90,53,24,.12);display:flex;flex-direction:column;box-shadow:0 4px 14px rgba(40,22,8,.06)}
.carta img{height:200px;width:100%;object-fit:cover;object-position:center 30%}
.carta-txt{height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px;background:var(--epaper);font-family:var(--antigua);font-weight:700;font-size:1.3rem;color:var(--rojo);border-bottom:6px solid var(--oro)}
.carta-txt small{display:block;margin-top:.6em;font-size:.8rem;color:var(--tinta)}
.carta h3,.carta p{padding:0 20px}
.carta h3{margin-top:18px}
.carta p{font-size:.95rem;color:var(--tinta-suave)}
.portal{display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,5vw,72px);max-width:1000px;margin:4.5rem auto 0;align-items:center}
.movil{width:250px;border-radius:36px;background:#1d1d1d;padding:14px;box-shadow:var(--sombra)}
.movil-pantalla{background:#fbf7ef;border-radius:24px;padding:18px 16px;font-size:.78rem;min-height:440px}
.pt-cab{font-family:var(--antigua);font-weight:700;font-size:1.1rem;color:var(--rojo);text-align:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e3d6bd}
.movil label{display:block;color:#555;margin-bottom:8px}
.pt-sec{margin:12px 0 8px;padding-top:8px;border-top:1px solid #e3d6bd;font-weight:700;color:var(--rojo)}
.pt-fila{display:flex;gap:8px}.pt-fila label{flex:1}
.pt-vol{height:24px;position:relative}.pt-vol i{position:absolute;left:8px;top:50%;height:4px;width:calc(var(--v) - 16px);background:var(--rojo);border-radius:2px;transform:translateY(-50%)}
.pt-nota{font-size:.7rem;color:#888;margin:-4px 0 6px}
.movil label span{display:block;background:#fff;border:1px solid #d9ccb3;border-radius:6px;padding:5px 8px;color:#222;margin-top:2px}
.pt-btn{background:var(--rojo);color:#fff;text-align:center;border-radius:8px;padding:9px;margin-top:14px;font-weight:600;letter-spacing:.03em}
.pasos{padding-left:0;list-style:none;counter-reset:p}
.pasos li{counter-increment:p;position:relative;padding:0 0 1.1em 3.2em}
.pasos li::before{content:counter(p);position:absolute;left:0;top:-.1em;width:2.2em;height:2.2em;border-radius:50%;background:var(--madera);color:var(--oro-claro);font:700 1rem/2.2em var(--antigua);text-align:center}
@media (max-width:760px){.portal{grid-template-columns:1fr}.movil{margin:0 auto}}

/* ---------- energía ---------- */
.energia{max-width:950px;margin:0 auto}
.barras{background:rgba(0,0,0,.2);border-radius:var(--radio);padding:clamp(18px,3vw,32px);margin-bottom:24px}
.barra{margin-bottom:18px}
.b-tit{display:block;font-size:.95rem;margin-bottom:6px}
.b-pista{display:flex;align-items:center;gap:12px}
.b-relleno{height:26px;border-radius:6px;width:0;transition:width 1.6s cubic-bezier(.2,.8,.2,1)}
.b-relleno.corto{background:var(--oro-claro);min-width:8px}
.b-relleno.largo{background:#8c6b55;max-width:calc(100% - 140px)}
.visto .b-relleno{width:var(--w)}
.b-pista b{font-family:var(--mono);white-space:nowrap}
.b-nota{margin:0;color:var(--oro-claro)}
.cifras-e{grid-template-columns:repeat(4,1fr);text-align:center}
.cifras-e div{background:rgba(255,255,255,.06);border:1px solid rgba(232,201,119,.25);border-radius:var(--radio);padding:20px 12px}
.cifras-e b{display:block;font-family:var(--antigua);font-size:2.4rem;color:var(--oro-claro);line-height:1.1}
.cifras-e span{font-size:.88rem}
@media (max-width:760px){.cifras-e{grid-template-columns:repeat(2,1fr)}}

/* ---------- tabla ---------- */
.tabla-env{max-width:900px;margin:0 auto;overflow-x:auto}
table{border-collapse:collapse;width:100%;background:#fff9ec;border-radius:var(--radio);overflow:hidden;box-shadow:0 4px 14px rgba(40,22,8,.06)}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid rgba(90,53,24,.12);vertical-align:top}
th{width:34%;font-family:var(--antigua);color:var(--madera);font-size:1.02rem}
tr:last-child th,tr:last-child td{border-bottom:0}
@media (max-width:560px){th,td{display:block;width:100%}th{padding-bottom:0;border:0}}

/* ---------- faq ---------- */
.faq{max-width:780px;margin:0 auto}
.faq details{background:#fff9ec;border-radius:12px;margin-bottom:10px;border:1px solid rgba(90,53,24,.12)}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:600;list-style:none;position:relative;padding-right:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--rojo);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 20px 18px;margin:0;color:var(--tinta-suave)}

/* ---------- comprar ---------- */
.comprar{background:linear-gradient(135deg,var(--madera-2),#5a3518)}
.comprar-caja{max-width:1050px;margin:0 auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,56px);align-items:center;background:var(--papel);border-radius:22px;padding:clamp(20px,4vw,48px);box-shadow:0 30px 60px rgba(0,0,0,.4);border:3px solid var(--oro)}
.comprar-caja>img{border-radius:12px;box-shadow:var(--sombra)}
.formulario{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:1rem}
.formulario label{font-size:.88rem;font-weight:600;display:flex;flex-direction:column;gap:4px}
.formulario input,.formulario select,.formulario textarea{font:inherit;font-weight:400;padding:.6em .8em;border:1px solid rgba(90,53,24,.3);border-radius:10px;background:#fff;width:100%}
.formulario .ancho{grid-column:1/-1}
@media (max-width:760px){.comprar-caja{grid-template-columns:1fr}.formulario{grid-template-columns:1fr}}

/* ---------- pie ---------- */
.pie{background:var(--noche);color:#cbbd9f;text-align:center;padding:40px 16px}
.pie img{margin:0 auto 10px;border-radius:8px}
.pie .pie-logo{border-radius:50%}
.pie p{margin:.2em 0}
.pie-mini{font-size:.82rem;opacity:.7}

/* ---------- visor ---------- */
.visor{position:fixed;inset:0;background:rgba(10,8,5,.92);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}
.visor[hidden]{display:none}
.visor img{max-height:84vh;width:auto;border-radius:6px}
.visor p{color:#efe6d4;margin-top:12px;font-family:var(--mono);font-size:.9rem}
.visor-cerrar{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---------- novedades ---------- */
.vida{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.vida-carta{background:#fff9ec;border-radius:var(--radio);padding:26px 22px;border:1px solid rgba(90,53,24,.12);border-top:5px solid var(--rojo);box-shadow:0 4px 14px rgba(40,22,8,.06)}
.vida-ico{font-size:2.2rem;display:block;margin-bottom:.3rem}
.vida-carta p{font-size:.96rem;color:var(--tinta-suave);margin:0}
.perso-2{margin-top:18px}
.datos-5{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}

/* ---------- aviso batería ---------- */
.aviso-bat{display:flex;gap:28px;align-items:center;max-width:950px;margin:24px auto 0;background:rgba(168,22,27,.18);border:1px solid rgba(232,201,119,.35);border-radius:var(--radio);padding:22px 26px}
.aviso-bat h3{color:var(--oro-claro);margin-bottom:.3em}
.aviso-bat p{margin:0;color:#efe0c3}
.pila{flex:none;width:76px;height:38px;border:3px solid var(--oro-claro);border-radius:7px;position:relative;padding:4px}
.pila::after{content:"";position:absolute;right:-10px;top:10px;width:6px;height:12px;background:var(--oro-claro);border-radius:0 3px 3px 0}
.pila span{display:block;height:100%;background:var(--rojo-2);border-radius:3px;animation:descarga 3.5s ease-in-out infinite}
@keyframes descarga{0%{width:100%;background:#7bbf6a}60%{width:18%;background:var(--rojo-2)}80%,100%{width:12%;background:var(--rojo-2);opacity:.4}}
@media (max-width:560px){.aviso-bat{flex-direction:column;text-align:center}}

/* ---------- pantalla 1 anotada ---------- */
.anotada{position:relative;max-width:820px;margin:0 auto 1.5rem}
.anotada img{display:block;width:100%;border-radius:12px;box-shadow:var(--sombra)}
.nro{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--rojo);color:#fff;font:700 .72rem/1 var(--mono);box-shadow:0 0 0 2px #fff,0 1px 4px rgba(0,0,0,.35);flex:none}
.anotada .nro{position:absolute;transform:translate(-50%,-50%)}
.sub-cerca{margin-top:2rem}
.leyenda{list-style:none;padding:0;margin:1rem auto 2.5rem;max-width:1000px;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px 22px}
.leyenda li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;line-height:1.4}
.leyenda li strong{display:block;color:var(--tinta)}
.desliza{display:none}
@media (max-width:640px){.anotada-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:12px 16px}.anotada{min-width:600px;margin-bottom:.5rem}.desliza{display:block;text-align:center;font-size:.8rem;color:#8a7a66;margin:0}}

/* ---------- guía clave OpenWeatherMap ---------- */
.clave-guia{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;max-width:1100px;margin:0 auto 1.5rem;align-items:start}
.clave-cajas{display:grid;gap:14px}
.clave-caja{background:#fffaf0;border-left:4px solid var(--oro);border-radius:8px;padding:14px 16px;box-shadow:var(--sombra)}
.clave-caja h3{margin:0 0 .3em;font-size:1.1rem}
.clave-caja p{margin:0;font-size:.93rem}
@media (max-width:800px){.clave-guia{grid-template-columns:1fr}}

/* ---------- solicitud preparada ---------- */
.envio{margin-top:1.2rem;background:#fff9ec;border:2px solid var(--oro);border-radius:var(--radio);padding:18px}
.envio textarea{width:100%;font:.88rem/1.5 var(--mono);padding:.7em;border:1px solid rgba(90,53,24,.3);border-radius:10px;background:#fff;color:var(--tinta);margin-bottom:.8rem;resize:vertical}
.envio .botones{margin:0}
.sel{user-select:all;color:var(--rojo)}
:root{color-scheme:light}
body{background:var(--papel)}
:focus-visible{outline:3px solid var(--oro);outline-offset:2px}

/* ---------- móvil: nunca desplazar la página en horizontal ---------- */
html,body{overflow-x:hidden}
@supports (overflow-x:clip){html,body{overflow-x:clip}}

/* ---------- imágenes protegidas ---------- */
.galeria img,.sim-marco img,.hero-img img,.retablo-mapa img,.ficha-pantalla img{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
