.nx-legal-consent{display:flex;align-items:flex-start;gap:10px;margin:15px 0 4px;padding:12px 13px;border:1px solid rgba(11,69,239,.14);border-radius:14px;background:rgba(239,245,255,.72)}
.nx-legal-consent input[type="checkbox"]{width:18px;height:18px;min-width:18px;margin:2px 0 0;accent-color:#0b45ef;cursor:pointer}
.nx-legal-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 4px;font-size:12.5px;line-height:1.55;color:#475569}
.nx-legal-copy label{cursor:pointer}
.nx-legal-link{appearance:none;border:0;background:none;padding:0;margin:0;color:#0b45ef;font:inherit;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}
.nx-legal-link:focus-visible,.legal-modal button:focus-visible{outline:3px solid rgba(43,104,255,.28);outline-offset:2px;border-radius:6px}
.nx-legal-consent.is-invalid{border-color:#dc2626;background:#fff6f6;animation:legalShake .28s ease}
.nx-legal-error{margin:7px 0 12px;padding:9px 11px;border-radius:10px;background:#fff1f2;color:#b42318;font-size:12px;font-weight:650;line-height:1.45}
@keyframes legalShake{0%,100%{transform:translateX(0)}30%{transform:translateX(-4px)}65%{transform:translateX(4px)}}

body.legal-modal-open{overflow:hidden}
.legal-modal[hidden]{display:none!important}
.legal-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-end;justify-content:center;padding:0}
.legal-modal__backdrop{position:absolute;inset:0;background:rgba(2,14,48,.62);backdrop-filter:blur(5px)}
.legal-modal__dialog{position:relative;display:flex;flex-direction:column;width:100%;max-height:92dvh;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -18px 70px rgba(4,25,83,.28);overflow:hidden}
.legal-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 12px;border-bottom:1px solid #e9efff;background:linear-gradient(180deg,#f7faff 0%,#fff 100%)}
.legal-modal__eyebrow{display:block;color:#0b45ef;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
.legal-modal__header h2{margin:0;color:#0b1f55;font-size:19px;line-height:1.25}
.legal-modal__close{width:34px;height:34px;min-width:34px;border:1px solid #dbe5ff;border-radius:50%;background:#fff;color:#0b45ef;font-size:24px;line-height:28px;cursor:pointer}
.legal-modal__tabs{display:grid;grid-template-columns:1fr 1fr;padding:9px 12px 0;background:#fff;border-bottom:1px solid #e8eefb}
.legal-modal__tab{border:0;border-bottom:3px solid transparent;background:transparent;padding:11px 5px 10px;color:#64748b;font-size:12px;font-weight:800;cursor:pointer}
.legal-modal__tab.is-active{color:#0b45ef;border-bottom-color:#0b45ef}
.legal-modal__body{overflow-y:auto;overscroll-behavior:contain;padding:17px 18px 24px;background:#fff}
.legal-document{display:none;color:#334155}
.legal-document.is-active{display:block}
.legal-document__meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}
.legal-document__badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eaf0ff;color:#0b45ef;font-size:10px;font-weight:800;margin-right:6px}
.legal-document__date{font-size:10.5px;color:#64748b}
.legal-document h3{margin:0 0 8px;color:#0b1f55;font-size:18px}
.legal-document__intro{margin:0 0 18px;padding:12px 13px;border-radius:12px;background:#f5f8ff;color:#334155;font-size:12.5px;font-weight:600;line-height:1.55}
.legal-document__section{margin:0 0 18px}
.legal-document__section h4{margin:0 0 7px;color:#123a96;font-size:13.5px}
.legal-document__section p{margin:0 0 8px;font-size:12px;line-height:1.62;color:#475569}
.legal-modal__footer{padding:12px 16px max(14px,env(safe-area-inset-bottom));border-top:1px solid #e8eefb;background:#f8faff}
.legal-modal__footer p{margin:0 0 9px;color:#64748b;font-size:10.5px;line-height:1.45}
.legal-modal__done{width:100%;border:0;border-radius:12px;padding:12px 14px;background:#0b45ef;color:#fff;font-weight:800;font-size:13px;cursor:pointer;box-shadow:0 8px 20px rgba(11,69,239,.22)}

@media (min-width:700px){
  .legal-modal{align-items:center;padding:24px}
  .legal-modal__dialog{max-width:720px;max-height:86vh;border-radius:24px}
  .legal-modal__body{padding:22px 25px 28px}
}
