/* Pop-up compartido para las páginas legales del footer (Aviso legal,
   Política de privacidad, Política de cookies, Términos y condiciones).
   Lo usa legal-modal.js en todas las páginas del sitio. */
.legal-modal-overlay{
  position:fixed; inset:0; z-index:500;
  background:rgba(11,44,40,0.55);
  display:flex; align-items:center; justify-content:center; padding:24px;
  opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.legal-modal-overlay[hidden]{ display:none; }
.legal-modal-overlay.is-visible{ opacity:1; pointer-events:auto; }
.legal-modal-card{
  position:relative; background:#FFFFFF; width:100%; max-width:720px;
  max-height:min(82vh, 760px); border-radius:20px;
  box-shadow:0 30px 74px rgba(11,44,40,0.35);
  transform:translateY(16px) scale(.98); transition:transform .3s cubic-bezier(.2,.8,.2,1);
  display:flex; flex-direction:column; overflow:hidden;
}
.legal-modal-overlay.is-visible .legal-modal-card{ transform:translateY(0) scale(1); }
.legal-modal-close{
  position:absolute; top:14px; right:14px; z-index:2; width:34px; height:34px; border-radius:50%;
  background:#F1F4EF; border:1.5px solid #D8DCD0; color:#0B2C28; font-size:19px; line-height:1;
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease;
}
.legal-modal-close:hover{ background:#E7EBE1; }
.legal-modal-body{
  overflow-y:auto; padding:48px 32px 36px; scrollbar-gutter:stable;
}
.legal-modal-loading{ color:#4B5D58; text-align:center; padding:40px 0; }

/* estilos del contenido legal inyectado (mismas clases que usan las páginas legales) */
.legal-modal-body .legal-article{ max-width:none; margin:0; padding:0; }
.legal-modal-body .legal-kicker{ font-size:13px; font-weight:700; color:#895518; text-transform:uppercase; letter-spacing:.04em; margin-bottom:8px; }
.legal-modal-body h1{ font-family:'Fraunces', Georgia, serif; color:#0B2C28; font-size:clamp(22px,3vw,28px); margin:0 0 8px; }
.legal-modal-body h2{ font-family:'Fraunces', Georgia, serif; color:#0B2C28; font-size:19px; margin-top:30px; margin-bottom:.5em; }
.legal-modal-body h3{ font-family:'Fraunces', Georgia, serif; color:#0B2C28; font-size:16px; margin-top:20px; margin-bottom:.5em; }
.legal-modal-body .legal-updated{ font-size:13px; color:#4B5D58; margin-bottom:24px; }
.legal-modal-body p, .legal-modal-body li{ color:#16302C; font-size:15.5px; line-height:1.7; }
.legal-modal-body ul{ padding-left:20px; margin:0 0 1em; }
.legal-modal-body li{ margin-bottom:6px; }
.legal-modal-body strong{ color:#0B2C28; }
.legal-modal-body a{ color:#895518; text-decoration:underline; text-underline-offset:2px; }
.legal-modal-body .legal-box{ background:#F1F4EF; border:1px solid #D8DCD0; border-radius:14px; padding:18px 20px; margin:16px 0; }

@media (max-width:600px){ .legal-modal-body{ padding:40px 20px 28px; } }
@media (prefers-reduced-motion: reduce){ .legal-modal-overlay, .legal-modal-card{ transition:none; } }
