/* consent.css — banner de preferencias de cookies.
   Mismo lenguaje visual que la tienda: no debe parecer un aviso pegado de
   otra plantilla (objetivo 1 de VISION.md). Discreto, abajo, sin bloquear
   la página ni oscurecerla. */
#nvConsentBanner{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:#fbfaf4;border-top:1px solid #e1e7e2;
  box-shadow:0 -14px 44px #173b2e1f;
  font:14px/1.55 Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#17221d;
  animation:nvcUp .28s ease-out
}
@keyframes nvcUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
#nvConsentBanner .nvcInner{
  width:min(1180px,calc(100% - 40px));margin:auto;padding:18px 0 20px;
  display:grid;grid-template-columns:1fr auto;gap:16px 26px;align-items:center
}
#nvConsentBanner .nvcMain strong{display:block;margin-bottom:5px;font-size:15px}
#nvConsentBanner .nvcMain p{margin:0;color:#69766f;font-size:13px;max-width:78ch}
#nvConsentBanner .nvcMain a{color:#275a46;text-decoration:underline;text-underline-offset:3px}
#nvConsentBanner .nvcBtns{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
#nvConsentBanner button{font:inherit;font-weight:800;font-size:13px;cursor:pointer;border-radius:999px;padding:11px 18px;border:0}
#nvConsentBanner .nvcPrim{background:#173b2e;color:#fff}
#nvConsentBanner .nvcPrim:hover{background:#275a46}
#nvConsentBanner .nvcGhost{background:#fff;border:1px solid #e1e7e2;color:#17221d}
#nvConsentBanner .nvcGhost:hover{border-color:#173b2e}
#nvConsentBanner .nvcLink{background:none;color:#69766f;text-decoration:underline;text-underline-offset:3px;padding:11px 4px}
#nvConsentBanner .nvcLink:hover{color:#173b2e}

#nvConsentBanner .nvcPanel{grid-column:1/-1;border-top:1px solid #e1e7e2;padding-top:14px;display:grid;gap:10px}
#nvConsentBanner .nvcRow{display:flex;justify-content:space-between;align-items:center;gap:18px;
  background:#fff;border:1px solid #e1e7e2;border-radius:14px;padding:12px 15px}
#nvConsentBanner .nvcRow strong{display:block;font-size:13px}
#nvConsentBanner .nvcRow span{display:block;color:#69766f;font-size:12px;margin-top:2px;max-width:70ch}
#nvConsentBanner .nvcRow em{color:#69766f;font-size:12px;font-style:normal;white-space:nowrap}
#nvConsentBanner .nvcPanel .nvcPrim{justify-self:start}

/* Interruptor accesible: es un checkbox real, solo repintado. */
.nvcSwitch{position:relative;display:inline-block;width:44px;height:25px;flex:0 0 auto}
.nvcSwitch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.nvcSwitch span{position:absolute;inset:0;background:#d6dfda;border-radius:999px;transition:background .18s ease;pointer-events:none}
.nvcSwitch span::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;background:#fff;border-radius:50%;transition:transform .18s ease}
.nvcSwitch input:checked + span{background:#275a46}
.nvcSwitch input:checked + span::after{transform:translateX(19px)}
.nvcSwitch input:focus-visible + span{outline:2px solid #173b2e;outline-offset:2px}

@media(max-width:760px){
  #nvConsentBanner .nvcInner{grid-template-columns:1fr;padding:16px 0 18px}
  #nvConsentBanner .nvcBtns{justify-content:stretch}
  #nvConsentBanner .nvcBtns button{flex:1}
  #nvConsentBanner .nvcRow{flex-direction:row;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  #nvConsentBanner{animation:none}
  .nvcSwitch span,.nvcSwitch span::after{transition:none}
}
