:root{
  --negro:#000000;
  --dorado:#bea669;
  --plata:#d4d4d9;
  --crema-bg:#fcfaf2;
  --crema-header:#f2edde;
  --crema-borde:#d6d1c4;
  --crema-chip:#e2d8ba;
  --texto:#1a1712;
  --texto-suave:#5c574a;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Open Sans',Arial,sans-serif;color:var(--texto);background:var(--crema-bg);line-height:1.6;overflow-x:hidden;transition:background-color .2s ease,color .2s ease;}

.pantalla-carga{display:none;}
html.js.cargando,
html.js.cargando body{overflow:hidden;}
html.js .pantalla-carga{
  position:fixed;inset:0;z-index:100;display:grid;place-items:center;
  background:#f7f4ea;opacity:1;visibility:visible;
  transition:opacity .55s ease,visibility .55s ease;
}
.preloader-marca{
  position:relative;width:min(230px,52vw);aspect-ratio:1;border-radius:50%;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border:0;box-shadow:0 16px 38px rgba(126,104,48,.14);
}
.preloader-relleno{
  position:absolute;inset:0;
  background-image:url('../assets/logos/logo-dorado-redes.png');
  background-size:cover;background-position:center;
  clip-path:inset(100% 0 0 0);
  animation:llenar-circulo 1.75s cubic-bezier(.22,1,.36,1) forwards;
}
.sitio-contenido{will-change:transform,opacity;}
html.js.cargando .sitio-contenido{opacity:0;transform:translateY(38px);}
html.js.transicion .sitio-contenido{opacity:0;transform:translateY(38px);}
html.preloader-saliendo .pantalla-carga,
html.sitio-listo .pantalla-carga{opacity:0;visibility:hidden;pointer-events:none;}
html.sitio-listo .sitio-contenido{animation:aparecer-sitio 1.05s cubic-bezier(.22,1,.36,1) both;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@keyframes llenar-circulo{to{clip-path:inset(0 0 0 0);}}
@keyframes aparecer-sitio{
  from{opacity:0;transform:translateY(38px);}
  to{opacity:1;transform:translateY(0);}
}
@media (prefers-reduced-motion:reduce){
  .preloader-relleno{animation:none;clip-path:inset(0 0 0 0);}
  html.sitio-listo .sitio-contenido{animation:none;}
}

/* Modo oscuro */
body.oscuro{
  --crema-bg:#1e1e1d;
  --crema-header:#262625;
  --crema-borde:#3a3a38;
  --crema-chip:#333331;
  --texto:#f5f2e4;
  --texto-suave:#b8b5ac;
}
body.oscuro form input:not([type="checkbox"]),
body.oscuro form textarea,
body.oscuro form select{background:#30302e;color:var(--texto);border-color:#484844;}
body.oscuro .placeholder-nota{background:#3a2f10;color:#f5d98a;border-color:#c9a227;}
a{color:inherit;}
img{max-width:100%;display:block;}
.contenedor{max-width:1280px;margin:0 auto;padding:0 32px;}

.encabezado-fijo{position:sticky;top:0;z-index:50;}
.franja-marca{height:4px;background:var(--dorado);}

.kicker{color:#8a7444;font-size:13px;letter-spacing:.14em;font-weight:700;margin-bottom:14px;text-transform:uppercase;}

header{
  background:var(--crema-header);
  border-bottom:1px solid var(--crema-borde);
}
header .contenedor{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;padding-bottom:14px;
}
header img.logo{height:38px;width:auto;}
.header-derecha{display:flex;align-items:center;gap:24px;}
nav ul{list-style:none;display:flex;gap:32px;}
nav a{
  text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--texto);position:relative;
  padding-bottom:5px;display:inline-block;
}
nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--dorado);transition:right .2s ease;
}
nav a:hover{color:var(--dorado);}
nav a:hover::after{right:0;}
.menu-toggle{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--texto);}
.tema-toggle{
  background:none;border:1px solid var(--crema-borde);border-radius:50%;
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--texto);flex-shrink:0;
}
.tema-toggle:hover{border-color:var(--dorado);color:var(--dorado);}
.tema-toggle .icono-luna{display:none;}
body.oscuro .tema-toggle .icono-sol{display:none;}
body.oscuro .tema-toggle .icono-luna{display:block;}

section{padding:72px 0;}
section h2{font-size:28px;font-weight:700;margin-bottom:16px;position:relative;padding-bottom:16px;}
section h2::after{content:"";position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--dorado);}
section p{color:var(--texto-suave);max-width:640px;}

#inicio{padding:0;background:var(--crema-header);overflow:hidden;}
.hero-carrusel{display:grid;grid-template-columns:3fr 1fr;max-width:1536px;margin:0 auto;aspect-ratio:32/15;background:#1a1712;}
.hero-media{position:relative;overflow:hidden;background:#f0ede5;}
.hero-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s ease;pointer-events:none;}
.hero-slide.activa{opacity:1;pointer-events:auto;}
.hero-slide img{width:100%;height:100%;object-fit:contain;object-position:center center;}
.hero-panel{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,3.2vw,52px);background:#171512;color:#f5f2e9;position:relative;overflow:hidden;}
.hero-panel::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--dorado);}
.hero-panel-marca{display:flex;flex-direction:column;gap:5px;text-transform:uppercase;}
.hero-panel-marca span{font-size:11px;line-height:1.2;letter-spacing:.14em;font-weight:700;color:#f5f2e9;}
.hero-panel-marca small{font-size:10px;line-height:1.2;letter-spacing:.12em;color:#c6b994;}
.hero-panel h2{font-size:clamp(32px,3.15vw,52px);line-height:.98;letter-spacing:-.055em;font-weight:600;margin:0 0 22px;color:#fffdf6;}
.hero-panel > div > p{font-size:15px;line-height:1.55;color:#b9b5aa;margin:0;}
.hero-panel-pie{display:flex;flex-direction:column;gap:28px;}
.hero-panel-acciones{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;}
.hero-panel-enlace{display:inline-flex;align-items:center;gap:10px;color:#fffdf6;text-decoration:none;font-size:14px;font-weight:700;line-height:1.3;}
.hero-panel-enlace span{color:var(--dorado);font-size:20px;line-height:1;transition:transform .2s ease;}
.hero-panel-enlace:hover span{transform:translateX(4px);}
.hero-panel-contacto{color:#c6b994;text-decoration:none;font-size:13px;font-weight:700;line-height:1.3;border-bottom:1px solid currentColor;padding-bottom:2px;}
.hero-panel-contacto:hover{color:#fffdf6;}
.hero-navegacion{display:flex;align-items:center;gap:14px;}
.hero-flecha{width:38px;height:38px;padding:0;display:grid;place-items:center;border:1px solid #625e55;border-radius:50%;background:transparent;color:#f5f2e9;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease;}
.hero-flecha svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.hero-flecha:hover,.hero-flecha:focus-visible{color:#171512;background:#f5f2e9;border-color:#f5f2e9;transform:translateY(-1px);outline:none;}
.hero-indicadores{display:flex;gap:8px;align-items:center;}
.hero-indicador{width:7px;height:7px;padding:0;border:1px solid #716c61;border-radius:50%;background:transparent;cursor:pointer;transition:transform .2s ease,background-color .2s ease;}
.hero-indicador:hover,.hero-indicador:focus-visible{background:#c6b994;transform:scale(1.25);outline:none;}
.hero-indicador.activo{background:#f5f2e9;border-color:#f5f2e9;}
.boton{
  display:inline-block;background:var(--dorado);color:var(--negro);
  padding:13px 26px;border-radius:18px;text-decoration:none;
  font-weight:700;font-size:14px;letter-spacing:.02em;
  border:none;cursor:pointer;box-shadow:0 6px 16px -6px rgba(190,166,105,.55);
  transition:background-color .15s ease,transform .15s ease;
}
.boton:hover{background:#a88f52;transform:translateY(-1px);}
.boton-secundario{
  display:inline-block;background:transparent;color:var(--texto);
  padding:13px 26px;border-radius:18px;text-decoration:none;
  font-weight:700;font-size:14px;border:1px solid var(--crema-borde);
  transition:border-color .15s ease,transform .15s ease;
}
.boton-secundario:hover{border-color:var(--texto);transform:translateY(-1px);}

#nosotros{background:var(--crema-header);border-top:1px solid var(--crema-borde);border-bottom:1px solid var(--crema-borde);}
.nosotros-grid{display:grid;grid-template-columns:0.8fr 1.6fr;gap:56px;}
.nosotros-titulo h2{margin-bottom:0;}
.nosotros-texto p{max-width:none;margin-bottom:16px;font-size:18px;}
.nosotros-texto p:last-child{margin-bottom:0;}
.chip{
  font-size:26px;font-weight:700;color:var(--dorado);line-height:1;
  letter-spacing:-0.02em;margin-bottom:14px;font-variant-numeric:tabular-nums;
}

.beneficios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;padding-top:40px;border-top:1px solid var(--crema-borde);}
.beneficio h3{font-size:18px;margin-bottom:6px;}
.beneficio p{font-size:18px;margin:0;}

#productos{background:var(--crema-bg);border-top:1px solid var(--crema-borde);border-bottom:1px solid var(--crema-borde);}
#productos p{max-width:none;}
.productos-intro,.linea-descripcion{font-size:18px;}
.linea-descripcion p + p{margin-top:10px;}
.linea-descripcion strong{color:inherit;font-weight:600;}
.subtitulo-linea{font-size:18px;font-weight:700;margin-top:40px;margin-bottom:10px;color:var(--dorado);}
.subtitulo-linea:first-of-type{margin-top:28px;}

.productos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:24px;}
.producto-card{
  background:#ffffff;border:1px solid var(--crema-borde);border-radius:4px;padding:16px;
}
.producto-imagen{
  aspect-ratio:4/3;background:#ffffff;border:1px solid var(--crema-borde);
  border-radius:4px;overflow:hidden;margin-bottom:14px;
}
.producto-imagen img{width:100%;height:100%;object-fit:contain;}
.producto-card h4{font-size:15px;margin-bottom:4px;}
.producto-etiqueta{display:inline-block;margin:0 0 7px;padding:3px 8px;border:1px solid var(--dorado);border-radius:999px;color:var(--dorado);font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;}
.producto-composicion{font-size:16px;color:var(--texto-suave);margin:0;line-height:1.4;}
.productos-grid .producto-card{background:transparent;border:0;border-radius:0;padding:0;}
.productos-grid .producto-imagen{aspect-ratio:16/10;margin-bottom:16px;border-radius:20px;}
.productos-grid .producto-card--diamond .producto-imagen{background:#fff;}
.productos-grid .producto-card h4{font-size:17px;margin-bottom:5px;}
.productos-grid .producto-composicion{font-size:16px;}
.productos-grid .producto-card h4,
.productos-grid .producto-composicion{padding-inline:14px;}
.producto-imagen-intercambiable{position:relative;cursor:pointer;}
.producto-imagen-intercambiable:focus-visible{outline:2px solid var(--dorado);outline-offset:3px;}
.producto-imagen-intercambiable img{transition:opacity .3s ease,transform .35s ease;}
.producto-imagen-intercambiable .producto-imagen-hover{position:absolute;inset:0;opacity:0;}
.productos-grid .producto-card--diamond img{transform:scale(.72);}
.productos-grid .producto-card--elleva-210 .producto-imagen-principal{transform:translateX(10%) scale(.88);}
.productos-grid .producto-card--elleva-210 .producto-imagen-hover{transform:translateX(10%) scale(.86);}
.productos-grid .producto-card--elleva-x .producto-imagen-principal{transform:scale(.74);}
.productos-grid .producto-card--elleva-x .producto-imagen-hover{transform:scale(.8);}
.producto-variantes{display:none;justify-content:center;gap:9px;margin:-7px 0 14px;}
.producto-variante{width:10px;height:10px;border:0;border-radius:50%;padding:0;background:var(--crema-borde);cursor:pointer;}
.producto-variante.activa{background:var(--dorado);}
.producto-imagen-intercambiable.mostrar-alternativa .producto-imagen-principal{opacity:0;transform:scale(.98);}
.producto-imagen-intercambiable.mostrar-alternativa .producto-imagen-hover{opacity:1;transform:scale(1);}
.productos-grid .producto-card--diamond .producto-imagen-intercambiable.mostrar-alternativa .producto-imagen-principal{transform:scale(.7);}
.productos-grid .producto-card--diamond .producto-imagen-intercambiable.mostrar-alternativa .producto-imagen-hover{transform:scale(.72);}
.productos-grid .producto-card--elleva-210 .producto-imagen-intercambiable.mostrar-alternativa .producto-imagen-principal{transform:translateX(10%) scale(.86);}
.productos-grid .producto-card--elleva-210 .producto-imagen-intercambiable.mostrar-alternativa .producto-imagen-hover{transform:translateX(10%) scale(.86);}
.productos-grid .producto-card--elleva-x .producto-imagen-intercambiable.mostrar-alternativa .producto-imagen-principal{transform:scale(.72);}
.productos-grid .producto-card--elleva-x .producto-imagen-intercambiable.mostrar-alternativa .producto-imagen-hover{transform:scale(.8);}
@media (hover:hover){
  .producto-imagen-intercambiable:hover .producto-imagen-principal{opacity:0;transform:scale(.98);}
  .producto-imagen-intercambiable:hover .producto-imagen-hover{opacity:1;transform:scale(1);}
  .productos-grid .producto-card--diamond:hover .producto-imagen-principal{transform:scale(.7);}
  .productos-grid .producto-card--diamond:hover .producto-imagen-hover{transform:scale(.72);}
  .productos-grid .producto-card--elleva-210:hover .producto-imagen-principal{transform:translateX(10%) scale(.86);}
  .productos-grid .producto-card--elleva-210:hover .producto-imagen-hover{transform:translateX(10%) scale(.86);}
  .productos-grid .producto-card--elleva-x:hover .producto-imagen-principal{transform:scale(.72);}
  .productos-grid .producto-card--elleva-x:hover .producto-imagen-hover{transform:scale(.8);}
}
body.oscuro .producto-card{background:#2a2a28;}
/* En Bioestimuladores, el texto continúa sobre el fondo general también en modo oscuro. */
body.oscuro .productos-grid .producto-card{background:transparent;}
body.oscuro .producto-imagen{background:#ffffff;}

.carrusel{position:relative;margin-top:24px;padding:24px 0 32px;}
.carrusel .producto-imagen{border-radius:20px;}
.carrusel-viewport{overflow:hidden;}
.carrusel-pista{
  display:flex;gap:24px;width:max-content;
  /* Deja espacio para centrar las cards al navegar, aunque la primera inicie a la izquierda. */
  padding:24px 16px 54px;
  transition:transform .45s cubic-bezier(.22,1,.36,1);will-change:transform;
}
.carrusel-pista .producto-card{
  flex:0 0 260px;transform:scale(.92);opacity:.75;
  transition:transform .3s ease,opacity .3s ease,box-shadow .2s ease;
}
.carrusel-pista .producto-card.activo{
  transform:scale(1.1);opacity:1;box-shadow:0 14px 30px rgba(0,0,0,.16);
  position:relative;z-index:2;
  transition:transform .3s ease,opacity .3s ease,box-shadow .25s ease .15s;
}
/* En los extremos, la card destacada crece hacia adentro y no se recorta. */
.carrusel-pista .producto-card:first-child.activo{transform-origin:left center;}
.carrusel-pista .producto-card:last-child.activo{transform-origin:right center;}
.carrusel-flecha{
  position:absolute;top:50%;transform:translateY(-50%);
  width:36px;height:36px;border-radius:18px;background:var(--crema-bg);
  border:1px solid var(--crema-borde);color:var(--texto);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  font-size:19px;line-height:1;z-index:5;padding:0;
}
.carrusel-flecha:not(:disabled):hover{border-color:var(--dorado);color:var(--dorado);}
.carrusel-flecha:disabled{display:none;}
.carrusel-flecha.prev{left:-16px;}
.carrusel-flecha.next{right:-16px;}
.carrusel-dots{display:flex;justify-content:center;gap:8px;margin-top:24px;}
.carrusel-dot{width:7px;height:7px;border-radius:50%;background:var(--crema-borde);border:none;padding:0;cursor:pointer;}
.carrusel-dot.activo{background:var(--dorado);}

.placeholder-nota{
  display:inline-block;background:#fff3d6;border:1px dashed #c9a227;color:#6b5410;
  font-size:13px;padding:8px 14px;border-radius:6px;margin-top:20px;
}

#contacto{position:relative;overflow:hidden;padding:48px 0;background:var(--crema-header);border-top:1px solid var(--crema-borde);}
#contacto .contenedor{position:relative;}
#contacto .grid-contacto{
  display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);
  gap:48px;margin-top:24px;align-items:start;
}
form{display:flex;flex-direction:column;gap:12px;}
form label{font-size:13px;font-weight:600;margin-bottom:4px;display:block;}
form input,form textarea,form select{
  width:100%;padding:9px 12px;border:1px solid var(--crema-borde);border-radius:4px;
  font-family:inherit;font-size:14px;background:#ffffff;
}
form textarea{min-height:64px;resize:vertical;}
.form-fila{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.campo-trampa{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.form-estado{min-height:1.5em;font-size:14px;font-weight:600;color:var(--texto-suave);}
.form-estado.es-error{color:#a83632;}
.form-estado.es-exito{color:#586b37;}
.boton:disabled{cursor:wait;opacity:.72;transform:none;}
.datos-contacto{margin:8px 0 0;padding-left:32px;border-left:1px solid var(--crema-borde);}
.datos-contacto-linea{display:none;}
.datos-contacto p{font-size:15px;color:var(--texto-suave);margin-bottom:14px;}
.contacto-iconos{display:flex;gap:10px;}
.icono-contacto{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--crema-borde);
  display:flex;align-items:center;justify-content:center;color:var(--texto);
  transition:border-color .15s ease,color .15s ease;
}
.icono-contacto:hover{border-color:var(--dorado);color:var(--dorado);}

footer{background:var(--negro);color:var(--plata);padding:56px 0 24px;font-size:13px;}
.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:64px;}
footer img.logo-footer{height:26px;margin-bottom:12px;}
footer .footer-marca p{max-width:none;color:#9a9a9a;white-space:nowrap;}
.logo-somosph{display:block;width:auto;height:22px;margin-top:22px;opacity:.9;}
footer .footer-nota{color:#7a7a7a;font-style:italic;font-size:12px;margin-top:4px;}
footer .footer-col h4{
  color:var(--plata);font-size:12px;text-transform:uppercase;letter-spacing:.1em;
  margin-bottom:14px;font-weight:700;
}
footer .footer-col a{display:block;color:#b8b8b8;text-decoration:none;margin-bottom:10px;font-size:13px;}
footer .footer-col a:hover{color:var(--dorado);}
.footer-grid > .footer-col:last-of-type{justify-self:end;}
.footer-redes{display:flex;gap:10px;}
.footer-contacto-iconos{margin-top:16px;}
footer .footer-redes a{
  display:flex;align-items:center;justify-content:center;width:34px;height:34px;
  border:1px solid #3a3a3a;border-radius:50%;margin-bottom:0;color:#b8b8b8;
}
.footer-redes a:hover{border-color:var(--dorado);color:var(--dorado);}
.footer-redes svg{display:block;}
footer .copy{
  grid-column:1/-1;border-top:1px solid #2a2a2a;margin-top:32px;padding-top:16px;
  font-size:12px;color:#7a7a7a;display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.footer-desarrollado{display:flex;align-items:center;gap:9px;color:#858585;font-size:11px;letter-spacing:.01em;}
.footer-desarrollado img{display:block;width:118px;height:auto;opacity:.94;}

.newsletter{background:var(--crema-chip);padding:36px 0;border-bottom:3px solid var(--dorado);}
body.oscuro .newsletter{background:#38362f;border-top:1px solid #504b3d;}
.newsletter-grid{display:grid;grid-template-columns:.9fr 1.6fr;gap:32px;align-items:center;}
.newsletter-intro{display:flex;align-items:center;}
.newsletter h3{position:relative;z-index:1;color:var(--texto);font-size:19px;font-weight:700;margin:0;max-width:280px;line-height:1.3;}
.newsletter-brevo{min-width:0;}
.newsletter-brevo .sib-form-message-panel{display:none;margin:0 0 12px;padding:10px 12px;border:1px solid;border-radius:4px;font-size:13px;}
.newsletter-brevo .sib-form-message-panel--active{display:block;}
.newsletter-brevo .sib-form-message-panel--success{color:#285c35;background:#e5f3e4;border-color:#94be93;}
.newsletter-brevo .sib-form-message-panel--error{color:#8c302a;background:#fae9e6;border-color:#d9a39d;}
.newsletter-brevo #sib-container{width:100%;}
.newsletter-form{display:flex;flex-direction:column;gap:14px;}
.newsletter-campos{display:flex;gap:12px;flex-wrap:wrap;}
.newsletter-campos .sib-form-block{flex:1 1 160px;min-width:0;}
.newsletter-campos input{
  width:100%;height:44px;
  flex:1;min-width:160px;padding:11px 14px;border:1px solid var(--crema-borde);border-radius:4px;
  font-family:inherit;font-size:14px;background:#ffffff;color:var(--texto);
}
.newsletter-abajo{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.newsletter-legal{flex:1 1 360px;min-width:0;}
.newsletter-check{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--texto-suave);cursor:pointer;}
.newsletter-check input{width:15px;height:15px;flex-shrink:0;}
.newsletter-brevo .entry__specification,.newsletter-brevo .sib-form__declaration p{margin:5px 0 0;font-size:11px;line-height:1.45;color:var(--texto-suave);}
.newsletter-brevo .sib-form__declaration{margin-top:7px;}
.newsletter-brevo .sib-form__declaration a{color:inherit;text-decoration:underline;}
.newsletter-brevo .politica-privacidad-texto{text-decoration:underline;}
.newsletter-brevo .sib-hide-loader-icon{display:none;}
.newsletter-brevo .progress-indicator__icon{width:15px;height:15px;vertical-align:-2px;margin-right:7px;fill:currentColor;animation:newsletter-cargando .8s linear infinite;}
.newsletter-brevo .sib-form-block__button-disabled{cursor:wait;opacity:.8;}
.newsletter-brevo .entry__error{display:block;color:#a8433b;font-size:11px;line-height:1.3;}
.newsletter-brevo .input--hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;}
.newsletter .boton{flex-shrink:0;}
@keyframes newsletter-cargando{to{transform:rotate(360deg);}}
body.oscuro .newsletter-campos input{background:#30302e;color:var(--texto);border-color:#484844;}
body.oscuro .newsletter-brevo .sib-form-message-panel--success{color:#d6efd5;background:#284129;border-color:#587d58;}
body.oscuro .newsletter-brevo .sib-form-message-panel--error{color:#ffd8d4;background:#582d29;border-color:#8a514b;}

.whatsapp-float{
  position:fixed;bottom:22px;right:22px;z-index:60;
  background:#25D366;color:#fff;width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-decoration:none;
}
.whatsapp-float svg{display:block;width:32px;height:32px;}

@media (max-width:820px){
  section{padding:56px 0;}
  section h2{font-size:26px;margin-bottom:14px;padding-bottom:13px;}
  .nosotros-texto p,.beneficio p,.productos-intro,.linea-descripcion{font-size:16px;}
  .beneficios-grid{grid-template-columns:1fr;}
  .nosotros-grid{grid-template-columns:1fr;gap:16px;}
  footer{padding:40px 0 24px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px 24px;}
  .footer-marca{grid-column:1/-1;}
  .footer-grid > .footer-col:last-of-type{justify-self:start;}
  .productos-grid{grid-template-columns:1fr 1fr;}
  .newsletter{padding:32px 0 28px;}
  .newsletter-grid{grid-template-columns:1fr;gap:24px;}
  footer .footer-marca p{white-space:normal;}
  footer .copy{align-items:flex-start;flex-direction:column;gap:12px;margin-top:4px;padding-top:18px;}
  .footer-desarrollado img{width:104px;}
  #contacto .grid-contacto{grid-template-columns:1fr;gap:28px;}
  .datos-contacto{margin:0;padding:24px 0 0;border-left:0;border-top:1px solid var(--crema-borde);}
}
/* A partir de este ancho ya no entran con comodidad el menú y las acciones de escritorio. */
@media (max-width:820px){
  nav{position:fixed;top:62px;left:0;right:0;background:var(--crema-header);
    border-bottom:1px solid var(--crema-borde);display:none;}
  nav.abierto{display:block;}
  nav ul{flex-direction:column;padding:16px 24px;gap:16px;}
  .menu-toggle{display:block;}
  header img.logo{height:30px;}
  .hero-carrusel{display:flex;flex-direction:column;max-width:none;aspect-ratio:auto;position:relative;}
  .hero-media{aspect-ratio:16/10;}
  .hero-panel{
    display:block;position:absolute;inset:0;z-index:3;min-height:0;
    padding:0;background:transparent;overflow:visible;pointer-events:none;
  }
  .hero-panel::before,.hero-panel > :not(.hero-panel-pie),.hero-panel-acciones{display:none;}
  .hero-panel-pie{display:block;position:absolute;inset:0;}
  .hero-navegacion{position:relative;display:block;height:100%;}
  .hero-indicadores{position:absolute;left:50%;bottom:13px;transform:translateX(-50%);pointer-events:auto;}
  .hero-flecha{position:absolute;top:50%;width:34px;height:34px;transform:translateY(-50%);background:rgba(23,21,18,.44);border-color:rgba(245,242,233,.78);color:#fffdf6;pointer-events:auto;}
  .hero-flecha-anterior{left:12px;}
  .hero-flecha-siguiente{right:12px;}
  .hero-flecha:hover,.hero-flecha:focus-visible{transform:translateY(-50%) scale(1.06);background:#171512;border-color:#f5f2e9;color:#fffdf6;}
  .hero-indicador{border-color:rgba(190,166,105,.9);background:rgba(190,166,105,.24);}
  .hero-indicador.activo{background:#8a7444;border-color:#8a7444;}
  .boton,.boton-secundario{max-width:100%;}
  .productos-grid{grid-template-columns:1fr;}
  .producto-variantes{display:flex;}
  .carrusel-flecha{display:flex;width:38px;height:38px;}
  .carrusel-flecha.prev{left:6px;}
  .carrusel-flecha.next{right:6px;}
  .carrusel-pista{padding:24px 4% 54px;}
  .form-fila{grid-template-columns:1fr;}
  .newsletter-campos{flex-direction:column;}
  .newsletter-campos .sib-form-block{flex-basis:auto;width:100%;}
  .newsletter-grid,.newsletter-brevo{align-items:start;}
  .newsletter-form{display:block!important;height:auto!important;min-height:0!important;}
  .newsletter-campos{margin-bottom:20px;}
  .newsletter-brevo #sib-container,.newsletter-abajo{display:block!important;height:auto!important;min-height:0!important;}
  .newsletter-legal{margin-bottom:20px;}
  .newsletter .boton{display:block;width:100%;margin:0!important;position:static!important;}
  .whatsapp-float{width:48px;height:48px;bottom:16px;right:16px;}
  .whatsapp-float svg{width:27px;height:27px;}
}
