.consent-banner{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:#fff;border-top:1px solid var(--line);box-shadow:0 -18px 50px rgba(7,20,38,.18)}.consent-banner[hidden]{display:none}.consent-banner-inner{max-width:var(--max);margin:auto;padding:22px 24px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}.consent-banner-copy{flex:1 1 420px;min-width:0}.consent-banner-copy h2{font-size:18px;margin:0 0 6px;color:var(--ink);letter-spacing:-.02em}.consent-banner-copy p{margin:0;font-size:14px;color:var(--muted);line-height:1.5}.consent-banner-copy p a{color:var(--blue);text-decoration:underline}.consent-banner-actions{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto}.consent-banner-actions .btn{padding:11px 16px;font-size:14px}.consent-modal{position:fixed;inset:0;z-index:1100}.consent-modal[hidden]{display:none}.consent-modal-backdrop{position:absolute;inset:0;background:rgba(5,11,20,.55)}.consent-modal-panel{position:relative;max-width:560px;width:calc(100% - 32px);margin:5vh auto;max-height:90vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:28px}.consent-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:6px}.consent-modal-header h2{font-size:22px;margin:0;color:var(--ink);letter-spacing:-.03em}.consent-modal-close{background:0 0;border:0;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:8px}.consent-modal-close:hover{color:var(--ink);background:var(--soft)}.consent-modal-intro{font-size:14px;color:var(--muted);margin:0 0 20px;line-height:1.55}.consent-categories{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px}.consent-category{border:1px solid var(--line);border-radius:16px;padding:16px}.consent-category-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.consent-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:800;color:var(--ink)}.consent-toggle input{position:absolute;opacity:0;width:1px;height:1px}.consent-toggle-track{position:relative;width:42px;height:24px;border-radius:999px;background:var(--line);transition:.18s ease;flex:0 0 auto}.consent-toggle-track:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(7,20,38,.25);transition:.18s ease}.consent-toggle input:checked+.consent-toggle-track{background:var(--blue)}.consent-toggle input:checked+.consent-toggle-track:before{transform:translateX(18px)}.consent-toggle input:focus-visible+.consent-toggle-track{outline:3px solid var(--blue);outline-offset:2px}.consent-toggle input:disabled+.consent-toggle-track{opacity:.55;cursor:not-allowed}.consent-toggle-name{font-size:15px}.consent-toggle-locked{font-size:12px;font-weight:800;color:var(--muted);background:var(--soft);border-radius:999px;padding:5px 10px}.consent-category-description{margin:10px 0 0;font-size:13px;color:var(--muted);line-height:1.5}.consent-modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.consent-modal-actions .btn{padding:11px 16px;font-size:14px}body.consent-modal-open{overflow:hidden}@media(max-width:640px){.consent-banner-inner{padding:18px}.consent-banner-actions{width:100%}.consent-banner-actions .btn{flex:1 1 auto}.consent-modal-panel{margin:0;border-radius:0;max-height:100vh;height:100%;width:100%}}[dir=rtl] .consent-toggle-track:before{left:auto;right:3px}[dir=rtl] .consent-toggle input:checked+.consent-toggle-track:before{transform:translateX(-18px)}[dir=rtl] .consent-category-head{flex-direction:row}