:root{
  /* Tema oscuro con contrastes de luz */
  --noche:#0E1310;
  --noche-suave:#151B17;
  --carbon:#1C241F;
  --carbon-alto:#26322A;
  --borde-oscuro:#2E3D34;
  --esmeralda:#3D835A;
  --esmeralda-viva:#4EAA74;
  --teja:#D65D32;
  --teja-viva:#EA6C3F;
  --ambar:#E6AD45;
  --marfil:#EDE7DC;
  --ceniza:#9FAAA2;
  --ceniza-tenue:#6F7A72;
  
  /* Inserciones claras (fondos de luz) */
  --luz-fondo:#F8F4EC;
  --luz-caja:#FFFFFF;
  --luz-borde:#E2D9CB;
  --luz-tinta:#171C19;
  --luz-gris:#59625B;
  
  --ok:#4EAA74;
  --err:#E65C45;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r:1rem;
  --ancho:72rem;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.65;color:var(--marfil);background:var(--noche);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--ambar);text-underline-offset:.18em}
a:hover{color:var(--teja-viva)}
h1,h2,h3{font-family:var(--serif);line-height:1.2;color:#FFFFFF;margin:0 0 .6em}
h1{font-size:clamp(2rem,5.2vw,3.4rem);letter-spacing:-.01em}
h2{font-size:clamp(1.55rem,3.4vw,2.3rem)}
h3{font-size:1.25rem}
p{margin:0 0 1.1em}
:focus-visible{outline:3px solid var(--ambar);outline-offset:3px}
.zv-salto{position:absolute;left:-999px;top:0;background:var(--esmeralda);color:#fff;padding:.6rem 1rem;z-index:100}
.zv-salto:focus{left:.5rem;top:.5rem}
.zv-caja{width:min(100% - 2.5rem,var(--ancho));margin-inline:auto}

/* ---------- Cabecera y etapas ---------- */
.zv-cabecera{position:sticky;top:0;z-index:40;background:rgba(14,19,16,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--borde-oscuro)}
.zv-cabecera__fila{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0}
.zv-marca{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:#FFFFFF;font-family:var(--serif);font-size:1.45rem;font-weight:700}
.zv-marca img{width:2.2rem;height:2.2rem}
.zv-marca small{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ceniza)}
.zv-menu-btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--esmeralda-viva);background:var(--carbon);color:var(--marfil);border-radius:2rem;padding:.45rem .95rem;font:600 .9rem var(--sans);cursor:pointer}
.zv-menu-btn__ico{width:1.1rem;height:2px;background:currentColor;position:relative}
.zv-menu-btn__ico::before,.zv-menu-btn__ico::after{content:"";position:absolute;left:0;width:100%;height:2px;background:currentColor}
.zv-menu-btn__ico::before{top:-6px}.zv-menu-btn__ico::after{top:6px}
.zv-etapas{display:none;padding-bottom:.8rem}
.zv-etapas.is-abierto{display:block}
.zv-etapas ol{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.zv-etapas a{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;border-radius:.6rem;text-decoration:none;color:var(--marfil);font-weight:600;background:var(--carbon);font-size:.95rem}
.zv-etapas a span{font:700 .72rem var(--sans);letter-spacing:.1em;color:var(--ambar);min-width:4.8rem;text-transform:uppercase}
.zv-etapas a:hover{background:var(--carbon-alto);color:#fff}
.zv-etapas a[aria-current="page"]{background:var(--esmeralda);color:#fff}
.zv-etapas a[aria-current="page"] span{color:#fff}
.zv-progreso{height:3px;background:var(--carbon)}
.zv-progreso i{display:block;height:100%;background:linear-gradient(90deg,var(--esmeralda-viva),var(--ambar));width:var(--p,16%)}
@media (min-width:64rem){
  .zv-menu-btn{display:none}
  .zv-etapas{display:block;padding:0 0 .55rem}
  .zv-etapas ol{grid-auto-flow:column;grid-auto-columns:1fr;gap:.35rem}
  .zv-etapas a{flex-direction:column;gap:0;padding:.5rem .7rem;font-size:.92rem;line-height:1.3;background:transparent;border-bottom:3px solid transparent;border-radius:.5rem .5rem 0 0;text-align:center}
  .zv-etapas a span{min-width:0;font-size:.68rem;margin-bottom:.15rem}
  .zv-etapas a:hover{background:var(--carbon)}
  .zv-etapas a[aria-current="page"]{background:var(--carbon-alto);border-bottom-color:var(--ambar)}
}

/* ---------- Portada ---------- */
.zv-portada{position:relative;min-height:min(88vh,46rem);display:grid;align-items:end;color:#fff;isolation:isolate}
.zv-portada__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.zv-portada::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,19,16,.2) 15%,rgba(14,19,16,.85) 65%,rgba(14,19,16,.98) 100%);z-index:-1}
.zv-portada__txt{padding:3.5rem 0 4rem;max-width:46rem}
.zv-portada h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.zv-portada p{font-size:1.15rem;color:#E7E1D4}
.zv-kicker{display:inline-block;font:700 .75rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ambar);margin-bottom:.8rem}
.zv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.6rem;border-radius:3rem;font:700 1rem var(--sans);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s,color .15s}
.zv-btn:hover{transform:translateY(-2px)}
.zv-btn--teja{background:var(--teja);color:#fff}
.zv-btn--teja:hover{background:var(--teja-viva);color:#fff}
.zv-btn--linea{border-color:var(--borde-oscuro);color:var(--marfil);background:var(--carbon)}
.zv-btn--linea:hover{border-color:var(--ambar);color:#fff;background:var(--carbon-alto)}
.zv-btn--clara{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}
.zv-btn--clara:hover{background:#fff;color:var(--noche)}
.zv-btn[disabled]{opacity:.6;cursor:wait;transform:none}
.zv-acciones{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.6rem}

/* ---------- Tramos (Secciones oscuras y de luz) ---------- */
.zv-tramo{padding:clamp(3.2rem,7vw,5.5rem) 0;position:relative}
.zv-tramo--suave{background:var(--noche-suave);border-top:1px solid var(--borde-oscuro);border-bottom:1px solid var(--borde-oscuro)}
.zv-tramo--carbon{background:var(--carbon);border-top:1px solid var(--borde-oscuro);border-bottom:1px solid var(--borde-oscuro)}

/* Inserción de luz (Sección clara contrastante) */
.zv-tramo--luz{background:var(--luz-fondo);color:var(--luz-tinta);border-top:1px solid var(--luz-borde);border-bottom:1px solid var(--luz-borde)}
.zv-tramo--luz h1,.zv-tramo--luz h2,.zv-tramo--luz h3{color:var(--luz-tinta)}
.zv-tramo--luz p{color:var(--luz-gris)}
.zv-tramo--luz a{color:var(--teja)}
.zv-tramo--luz .zv-kicker{color:var(--esmeralda)}
.zv-tramo--luz .zv-hito{background:var(--luz-caja);border-color:var(--luz-borde);color:var(--luz-tinta)}
.zv-tramo--luz .zv-hito p{color:var(--luz-gris)}
.zv-tramo--luz .zv-hito b.zv-km{color:var(--esmeralda)}
.zv-tramo--luz .zv-cita{color:var(--luz-tinta);border-left-color:var(--esmeralda)}
.zv-tramo--luz .zv-linea-t{border-left-color:var(--esmeralda)}
.zv-tramo--luz .zv-linea-t strong{color:var(--luz-tinta)}
.zv-tramo--luz .zv-linea-t p{color:var(--luz-gris)}
.zv-tramo--luz .zv-linea-t li::before{background:var(--luz-caja);border-color:var(--esmeralda)}
.zv-tramo--luz .zv-foto figcaption{background:var(--luz-fondo);color:var(--luz-gris)}

/* Textura sutil */
.zv-topo{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%233D835A' stroke-opacity='.08' stroke-width='1.2'%3E%3Cpath d='M-10 60c40-30 80 20 130-5s90 15 130-10'/%3E%3Cpath d='M-10 100c50-25 90 25 140 0s80 10 120-12'/%3E%3Cpath d='M-10 140c45-35 95 22 135-3s85 18 125-8'/%3E%3Cpath d='M-10 180c40-20 90 28 140 2s80 8 120-10'/%3E%3C/g%3E%3C/svg%3E")}
.zv-intro{max-width:50rem}
.zv-intro p{color:var(--ceniza);font-size:1.12rem}
.zv-dos{display:grid;gap:2.2rem;align-items:center}
@media (min-width:52rem){.zv-dos{grid-template-columns:1fr 1fr;gap:3.8rem}.zv-dos--inv>:first-child{order:2}}
.zv-foto{border-radius:var(--r);overflow:hidden;box-shadow:0 18px 45px -20px rgba(0,0,0,.7);border:1px solid var(--borde-oscuro)}
.zv-foto figcaption{font-size:.85rem;color:var(--ceniza);padding:.6rem .2rem 0;background:var(--noche)}
.zv-pie-foto{font-size:.85rem;color:var(--ceniza);margin-top:.6rem}

/* Tarjetas */
.zv-hitos{display:grid;gap:1.1rem;margin-top:2rem}
@media (min-width:40rem){.zv-hitos{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){.zv-hitos--3{grid-template-columns:repeat(3,1fr)}.zv-hitos--4{grid-template-columns:repeat(4,1fr)}}
.zv-hito{background:var(--carbon);border:1px solid var(--borde-oscuro);border-radius:var(--r);padding:1.5rem 1.4rem;position:relative}
.zv-hito b.zv-km{display:inline-block;font:700 .72rem var(--sans);letter-spacing:.14em;color:var(--ambar);text-transform:uppercase;margin-bottom:.5rem}
.zv-hito p{margin:0;color:var(--ceniza);font-size:.98rem}
.zv-hito h3{color:#fff}

/* Inserción de tarjeta clara (isla de luz en página oscura) */
.zv-isla-luz{background:var(--luz-fondo);color:var(--luz-tinta);border:1px solid var(--luz-borde);border-radius:var(--r);padding:clamp(1.5rem,4vw,2.5rem);margin:2rem 0}
.zv-isla-luz h2,.zv-isla-luz h3{color:var(--luz-tinta)}
.zv-isla-luz p{color:var(--luz-gris)}
.zv-isla-luz a{color:var(--teja)}

/* Línea de tiempo */
.zv-linea-t{list-style:none;margin:2rem 0 0;padding:0;border-left:3px solid var(--ambar)}
.zv-linea-t li{position:relative;padding:0 0 1.8rem 1.6rem}
.zv-linea-t li::before{content:"";position:absolute;left:-.6rem;top:.35rem;width:.95rem;height:.95rem;border-radius:50%;background:var(--noche);border:3px solid var(--ambar)}
.zv-linea-t strong{display:block;font-family:var(--serif);font-size:1.18rem;color:#FFFFFF}
.zv-linea-t p{margin:.3rem 0 0;color:var(--ceniza)}

.zv-cita{font-family:var(--serif);font-size:clamp(1.3rem,2.6vw,1.75rem);line-height:1.45;color:var(--marfil);border-left:4px solid var(--teja);padding:.3rem 0 .3rem 1.3rem;margin:2rem 0}
.zv-nota{font-size:.88rem;color:var(--ceniza-tenue);border-top:1px dashed var(--borde-oscuro);padding-top:1rem;margin-top:2rem}
.zv-aviso-suave{background:var(--carbon);border:1px solid var(--borde-oscuro);border-left:4px solid var(--esmeralda-viva);border-radius:.7rem;padding:1.1rem 1.3rem;font-size:.95rem;color:var(--ceniza)}

/* Lista con checks */
.zv-lista{list-style:none;padding:0;margin:0 0 1.2rem}
.zv-lista li{position:relative;padding-left:1.7rem;margin-bottom:.65rem;color:var(--marfil)}
.zv-lista li::before{content:"";position:absolute;left:0;top:.5rem;width:.9rem;height:.5rem;border-left:3px solid var(--esmeralda-viva);border-bottom:3px solid var(--esmeralda-viva);transform:rotate(-45deg)}
.zv-tramo--luz .zv-lista li{color:var(--luz-tinta)}
.zv-tramo--luz .zv-lista li::before{border-color:var(--esmeralda)}

/* ---------- Componentes Interactivos ---------- */
/* 1. Quiz / Autoevaluación interactiva de hábitos */
.zv-quiz{background:var(--carbon);border:1px solid var(--borde-oscuro);border-radius:var(--r);padding:clamp(1.5rem,4vw,2.5rem);margin-top:2rem}
.zv-quiz__pregunta{margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid var(--borde-oscuro)}
.zv-quiz__pregunta:last-of-type{border-bottom:0}
.zv-quiz__tit{font-size:1.08rem;font-weight:600;color:#fff;margin-bottom:.8rem}
.zv-quiz__opciones{display:grid;gap:.5rem}
@media (min-width:40rem){.zv-quiz__opciones{grid-template-columns:1fr 1fr}}
.zv-quiz__opt{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;background:var(--noche-suave);border:1px solid var(--borde-oscuro);border-radius:.6rem;cursor:pointer;transition:border-color .15s}
.zv-quiz__opt:hover{border-color:var(--ambar)}
.zv-quiz__opt input{accent-color:var(--ambar);width:1.1rem;height:1.1rem}
.zv-quiz__res{display:none;background:var(--luz-fondo);color:var(--luz-tinta);border-radius:.8rem;padding:1.5rem;margin-top:1.5rem;border:1px solid var(--luz-borde)}
.zv-quiz__res.is-visible{display:block}
.zv-quiz__res h3{color:var(--luz-tinta);margin-top:0}
.zv-quiz__res p{color:var(--luz-gris);margin-bottom:.6rem}

/* 2. Filtro interactivo de alimentos / nutrientes */
.zv-tabs-nutri{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}
.zv-tab-btn{background:var(--carbon);border:1px solid var(--borde-oscuro);color:var(--marfil);padding:.6rem 1.2rem;border-radius:2rem;font:600 .92rem var(--sans);cursor:pointer;transition:all .15s}
.zv-tab-btn:hover{background:var(--carbon-alto);color:#fff}
.zv-tab-btn.is-active{background:var(--esmeralda);border-color:var(--esmeralda-viva);color:#fff}
.zv-nutri-panel{display:none;animation:zvFadeIn .2s ease-in-out}
.zv-nutri-panel.is-active{display:grid;gap:1.2rem}
@media (min-width:44rem){.zv-nutri-panel.is-active{grid-template-columns:repeat(3,1fr)}}
@keyframes zvFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* 3. Temporizador / Guía de ejercicios */
.zv-ejercicio-card{background:var(--carbon);border:1px solid var(--borde-oscuro);border-radius:var(--r);padding:1.6rem;position:relative}
.zv-ejercicio-card h3{color:#fff;margin-bottom:.4rem}
.zv-ejercicio-badge{display:inline-block;font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ambar);background:var(--noche);padding:.25rem .6rem;border-radius:.4rem;margin-bottom:.8rem}
.zv-ejercicio-pasos{margin:.8rem 0;padding-left:1.2rem;color:var(--ceniza);font-size:.95rem}
.zv-timer-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:.8rem;padding:.5rem 1rem;background:var(--carbon-alto);border:1px solid var(--borde-oscuro);border-radius:2rem;color:var(--marfil);font-size:.88rem;font-weight:600;cursor:pointer}
.zv-timer-btn:hover{border-color:var(--ambar);color:#fff}

/* 4. Buscador en FAQ */
.zv-faq-search{width:100%;padding:.85rem 1.2rem;border-radius:2rem;border:1px solid var(--borde-oscuro);background:var(--carbon);color:var(--marfil);font:1rem var(--sans);margin-bottom:1.5rem}
.zv-faq-search:focus{outline:none;border-color:var(--ambar)}

/* Plato */
.zv-plato{display:grid;gap:1rem;margin-top:1.5rem}
@media (min-width:40rem){.zv-plato{grid-template-columns:repeat(3,1fr)}}
.zv-plato div{border-radius:var(--r);padding:1.4rem;color:#fff}
.zv-plato div:nth-child(1){background:#2A563C;border:1px solid #3E7C57}
.zv-plato div:nth-child(2){background:#8A3A1C;border:1px solid #B45129}
.zv-plato div:nth-child(3){background:#685022;border:1px solid #947230}
.zv-plato strong{font-family:var(--serif);font-size:2.2rem;display:block;line-height:1}
.zv-plato p{margin:.5rem 0 0;color:#FFF7EA;font-size:.95rem}

/* Calculadora */
.zv-calc{background:var(--carbon);border:1px solid var(--borde-oscuro);border-radius:var(--r);padding:1.6rem;display:grid;gap:1rem}
.zv-calc__res{background:var(--carbon-alto);border:1px solid var(--borde-oscuro);border-radius:.7rem;padding:1rem 1.2rem;font-size:1.05rem;color:var(--marfil)}
.zv-calc__res strong{font-family:var(--serif);font-size:1.6rem;color:var(--ambar)}

/* Tabla */
.zv-tabla-env{overflow-x:auto;margin-top:1.5rem;border-radius:var(--r);border:1px solid var(--borde-oscuro)}
.zv-tabla{width:100%;border-collapse:collapse;min-width:34rem;background:var(--carbon);font-size:.95rem}
.zv-tabla th,.zv-tabla td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--borde-oscuro);vertical-align:top;color:var(--marfil)}
.zv-tabla th{background:var(--carbon-alto);color:#fff;font-weight:600}
.zv-tabla tr:last-child td{border-bottom:0}

/* FAQ */
.zv-faq{max-width:50rem;margin-top:1.5rem}
.zv-faq__item{border-bottom:1px solid var(--borde-oscuro)}
.zv-faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:none;border:0;padding:1.2rem .2rem;font:600 1.08rem var(--sans);color:#FFFFFF;text-align:left;cursor:pointer}
.zv-faq__q::after{content:"+";font:400 1.6rem var(--serif);color:var(--ambar);transition:transform .2s}
.zv-faq__q[aria-expanded="true"]::after{transform:rotate(45deg)}
.zv-faq__a{padding:0 .2rem 1.2rem;color:var(--ceniza)}
.zv-faq__a[hidden]{display:none}

/* Calidad & Certificados */
.zv-sellos{display:grid;gap:1.2rem;margin-top:1.8rem}
@media (min-width:48rem){.zv-sellos{grid-template-columns:repeat(3,1fr)}}
.zv-sello{border:1px solid var(--borde-oscuro);border-radius:var(--r);padding:1.6rem;background:var(--carbon)}
.zv-sello svg{width:2.6rem;height:2.6rem;margin-bottom:.8rem}
.zv-sello h3{color:#fff;margin-bottom:.5rem}
.zv-sello p{color:var(--ceniza);font-size:.96rem;margin:0}
.zv-tramo--luz .zv-sello{background:var(--luz-caja);border-color:var(--luz-borde)}
.zv-tramo--luz .zv-sello h3{color:var(--luz-tinta)}
.zv-tramo--luz .zv-sello p{color:var(--luz-gris)}

/* Relevo (prev/next) */
.zv-relevo{border-top:1px solid var(--borde-oscuro);background:var(--noche-suave)}
.zv-relevo .zv-caja{display:grid;gap:1rem;padding:1.6rem 0}
@media (min-width:40rem){.zv-relevo .zv-caja{grid-template-columns:1fr 1fr}}
.zv-relevo a{display:block;text-decoration:none;padding:1rem 1.2rem;border-radius:.8rem;background:var(--carbon);border:1px solid var(--borde-oscuro);color:var(--marfil);transition:border-color .15s}
.zv-relevo a:hover{border-color:var(--ambar)}
.zv-relevo small{display:block;font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ambar)}
.zv-relevo strong{font-family:var(--serif);font-size:1.15rem;color:#FFFFFF}
.zv-relevo .zv-sig{text-align:right}
.zv-relevo .zv-sig:only-child{grid-column:2}

/* Oferta en Pedido */
.zv-oferta{display:grid;gap:2.2rem}
@media (min-width:60rem){.zv-oferta{grid-template-columns:1.05fr .95fr;align-items:start}}
.zv-ficha{background:var(--carbon);border:1px solid var(--borde-oscuro);border-radius:var(--r);overflow:hidden}
.zv-ficha__cuerpo{padding:1.8rem}
.zv-ficha h2{color:#fff}
.zv-dl{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1.1rem;margin:1rem 0 0;font-size:.97rem}
.zv-dl dt{font-weight:700;color:var(--ambar)}
.zv-dl dd{margin:0;color:var(--marfil)}

/* Formulario */
.zv-form{background:var(--luz-fondo);color:var(--luz-tinta);border:1px solid var(--luz-borde);border-radius:var(--r);padding:clamp(1.4rem,4vw,2.2rem);position:sticky;top:7.5rem;box-shadow:0 15px 35px -10px rgba(0,0,0,.5)}
.zv-form h2{color:var(--luz-tinta);font-size:1.7rem}
.zv-form p{color:var(--luz-gris)}
.zv-campo{margin-bottom:1.1rem}
.zv-campo label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--luz-tinta)}
.zv-campo input,.zv-campo textarea{width:100%;padding:.85rem 1rem;border-radius:.6rem;border:2px solid var(--luz-borde);font:1rem var(--sans);background:#FFFFFF;color:var(--luz-tinta)}
.zv-campo input:focus,.zv-campo textarea:focus{border-color:var(--teja);outline:none}
.zv-campo input[aria-invalid="true"],.zv-campo textarea[aria-invalid="true"]{border-color:var(--err)}
.zv-err{display:block;min-height:1.2em;font-size:.86rem;color:var(--err);margin-top:.3rem}
.zv-check{display:flex;gap:.65rem;align-items:flex-start;font-size:.9rem;color:var(--luz-gris);margin-bottom:.4rem}
.zv-check input{width:1.15rem;height:1.15rem;margin-top:.2rem;flex:none;accent-color:var(--teja)}
.zv-check a{color:var(--teja)}
.zv-tarro{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.zv-estado{margin-top:1rem;padding:.8rem 1rem;border-radius:.6rem;font-size:.95rem}
.zv-estado:empty{display:none}
.zv-estado--err{background:#FDECE9;color:#8F2515;border:1px solid #F8C3B8}
.zv-estado--ok{background:#E6F5EC;color:#1B5933;border:1px solid #B8E4C7}
.zv-form .zv-btn{width:100%;margin-top:.6rem}
.zv-pasos{counter-reset:p;list-style:none;padding:0;margin:1rem 0 0}
.zv-pasos li{counter-increment:p;position:relative;padding-left:2.6rem;margin-bottom:1rem;color:var(--marfil)}
.zv-pasos li::before{content:counter(p);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--ambar);color:var(--noche);font-weight:700;display:grid;place-items:center}
.zv-tramo--luz .zv-pasos li{color:var(--luz-tinta)}

/* Legales */
.zv-legal{max-width:46rem;margin-inline:auto}
.zv-legal h2{font-size:1.4rem;margin-top:2rem;color:#fff}
.zv-legal p,.zv-legal li{color:var(--marfil)}
.zv-legal ul{padding-left:1.2rem}

/* Mapa interactivo y tarjeta */
.zv-mapa{border-radius:var(--r);overflow:hidden;border:1px solid var(--borde-oscuro);aspect-ratio:4/3;background:var(--carbon)}
.zv-mapa iframe{width:100%;height:100%;border:0;display:block}

/* ---------- Pie ---------- */
.zv-pie{background:#080C0A;color:#B5BEB8;padding:3.5rem 0 1.5rem;font-size:.95rem;border-top:1px solid var(--borde-oscuro)}
.zv-pie a{color:var(--marfil);text-decoration:none}
.zv-pie a:hover{color:var(--ambar);text-decoration:underline}
.zv-pie__grid{display:grid;gap:2.2rem}
@media (min-width:52rem){.zv-pie__grid{grid-template-columns:1.2fr .8fr .8fr 1.3fr}}
.zv-pie h2{font-size:1rem;font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ambar);margin-bottom:.9rem}
.zv-pie ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.zv-pie .zv-marca{color:#fff;margin-bottom:.8rem}
.zv-pie .zv-marca small{color:var(--ceniza)}
.zv-pie__base{border-top:1px solid var(--borde-oscuro);margin-top:2.5rem;padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;justify-content:space-between;font-size:.85rem;color:var(--ceniza)}
.zv-linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--marfil);cursor:pointer;text-decoration:underline}
.zv-tarjeta-mapa{display:block;border-radius:.9rem;overflow:hidden;background:var(--carbon);border:1px solid var(--borde-oscuro);transition:border-color .15s}
.zv-tarjeta-mapa:hover{border-color:var(--ambar)}
.zv-tarjeta-mapa__lienzo{position:relative;height:8.5rem;background:#141F18 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='140' viewBox='0 0 300 140'%3E%3Cg fill='none' stroke='%23E6AD45' stroke-opacity='.25'%3E%3Cpath d='M0 30h300M0 75h300M0 115h300M50 0v140M130 0v140M210 0v140' stroke-width='6' stroke='%231F3327' stroke-opacity='1'/%3E%3Cpath d='M0 120C60 90 110 110 160 60S260 20 300 10' stroke-width='3'/%3E%3C/g%3E%3Cpath d='M175 0c-10 40 5 70-15 140' stroke='%233D835A' stroke-width='5' fill='none' stroke-opacity='.6'/%3E%3C/svg%3E") center/cover}
.zv-tarjeta-mapa__pin{position:absolute;left:50%;top:44%;width:1.6rem;height:1.6rem;border-radius:50% 50% 50% 0;background:var(--teja);transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 0 0 6px rgba(214,93,50,.3)}
.zv-tarjeta-mapa__pin::after{content:"";position:absolute;inset:.45rem;border-radius:50%;background:#fff}
.zv-tarjeta-mapa address{font-style:normal;padding:.9rem 1rem;color:var(--marfil);line-height:1.5}
.zv-tarjeta-mapa address span{display:block;color:var(--ambar);font-size:.82rem;font-weight:600;margin-top:.3rem}

/* Cookies */
.zv-galleta{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;max-width:34rem;background:var(--luz-fondo);color:var(--luz-tinta);border:1px solid var(--luz-borde);border-radius:var(--r);box-shadow:0 20px 50px -15px rgba(0,0,0,.7);padding:1.2rem 1.3rem;font-size:.93rem}
.zv-galleta[hidden]{display:none}
.zv-galleta p{margin:0 0 .9rem;color:var(--luz-gris)}
.zv-galleta strong{display:block;font-family:var(--serif);color:var(--luz-tinta);font-size:1.15rem;margin-bottom:.3rem}
.zv-galleta a{color:var(--teja)}
.zv-galleta__btns{display:flex;flex-wrap:wrap;gap:.6rem}
.zv-galleta .zv-btn{padding:.6rem 1.1rem;font-size:.92rem}
.zv-galleta .zv-btn--linea{border-color:var(--luz-borde);color:var(--luz-tinta);background:#FFFFFF}

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