/* Beneficio modal styles modeled after provided design */
.beneficio-modal { display:block; visibility:hidden; position:fixed; inset:0; z-index:1200; }
.beneficio-modal[aria-hidden="false"] { visibility:visible; }
.beneficio-modal .modal-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.6); opacity:0; transition: opacity 360ms ease; }
.beneficio-modal[aria-hidden="false"] .modal-overlay { opacity:1; }
.beneficio-modal .modal-card { position:relative; max-width:920px; margin:4rem auto; background:#fff; padding:2rem; border-radius:12px; z-index:1210; box-shadow:0 20px 40px rgba(2,6,23,0.2); transform: translateY(0); opacity: 1; transition: transform 360ms cubic-bezier(.22,.9,.35,1), opacity 360ms ease; will-change: transform, opacity; }
.beneficio-modal[aria-hidden="true"] .modal-card { transform: translateY(20vh) scale(.98); opacity: 0; pointer-events: none; }
.beneficio-modal[aria-hidden="false"] .modal-card { transform: translateY(0); opacity: 1; pointer-events: auto; }
.beneficio-modal .modal-logo { display:flex; justify-content:center; align-items:center; margin-bottom:1.25rem; }
.beneficio-modal .modal-logo img { max-width:85%; height:auto; object-fit:contain; }
.beneficio-modal .modal-title { font-size:1.6rem; margin:0 0 1rem 0; color:#123; }
.beneficio-modal .modal-desc { color:#6b6f76; line-height:1.6; }
.beneficio-modal .modal-actions { display:flex; justify-content:flex-start; gap:12px; margin-top:1.5rem; }
.beneficio-modal .modal-cta { background:#e53b3b; color:#fff; border:none; padding:0.9rem 1.25rem; border-radius:8px; cursor:pointer; }
@media (max-width:768px) {
  .beneficio-modal .modal-card { margin:2rem 1rem; padding:1rem; }
  .beneficio-modal .modal-logo img { max-width:70%; }
}
