.gdpr-dialog, .gdpr-page { box-sizing:border-box; color:#262720; font:14px/1.65 Arial,Helvetica,sans-serif; }
.gdpr-dialog *, .gdpr-page * { box-sizing:border-box; }
.gdpr-dialog { width: min(650px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:32px; border:1px solid #d9d9ce; border-radius:16px; background:#f8f7f2; box-shadow:0 16px 70px #0003; }
.gdpr-dialog::backdrop { background:#26272088; }
.gdpr-dialog { overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#929687 transparent; }
.gdpr-dialog::-webkit-scrollbar { width:6px; }
.gdpr-dialog::-webkit-scrollbar-track { background:transparent; margin-block:16px; }
.gdpr-dialog::-webkit-scrollbar-thumb { background:#929687; border-radius:6px; }
.gdpr-dialog::-webkit-scrollbar-thumb:hover { background:#555e41; }
.gdpr-dialog h2 { margin:8px 0 14px; font-size:30px; line-height:1.15; letter-spacing:-1px; font-weight:500; }
.gdpr-dialog p { margin:0 0 14px; }
.gdpr-eyebrow { font:700 10px/1.5 monospace; letter-spacing:1.5px; }
.gdpr-details { margin-top:22px; }
.gdpr-details summary { cursor:pointer; font-weight:700; padding:10px 0; }
.gdpr-categories { margin-top:12px; }
.gdpr-category { display:grid; grid-template-columns:minmax(0,1fr) 100px; gap:20px; padding:20px 0; border-top:1px solid #d9d9ce; }
.gdpr-category h3 { margin:0 0 6px; font-size:15px; line-height:1.4; font-weight:700; }
.gdpr-category p { margin:0; font-size:13px; color:#565b50; }
.gdpr-control { display:flex; flex-direction:column; align-items:center; gap:6px; align-self:center; }
.gdpr-switch { display:inline-flex; position:relative; width:44px; height:26px; }
.gdpr-switch input { position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; z-index:1; width:100%; height:100%; }
.gdpr-switch>span { width:44px; height:26px; border-radius:20px; background:#b7b8ae; transition:background .15s; }
.gdpr-switch>span::after { content:""; display:block; width:20px; height:20px; margin:3px; border-radius:50%; background:white; box-shadow:0 1px 3px #0003; transition:transform .15s; }
.gdpr-switch input:checked+span { background:#555e41; }
.gdpr-switch input:checked+span::after { transform:translateX(18px); }
.gdpr-switch input:focus-visible+span { outline:2px solid #262720; outline-offset:3px; }
.gdpr-switch input:disabled { cursor:default; }
.gdpr-state { font-size:11px; text-align:center; }
.gdpr-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; margin-top:18px; }
.gdpr-button { appearance:none; border:1px solid #262720; border-radius:9px; padding:12px 20px; font:700 13px/1.4 Arial,sans-serif; cursor:pointer; min-height:44px; }
.gdpr-primary, .h2-page .gdpr-primary { background:#262720; color:#fff; }
.gdpr-secondary, .h2-page .gdpr-secondary { background:transparent; color:#262720; }
.gdpr-button:disabled { opacity:.6; cursor:wait; }
.gdpr-button:focus-visible, .gdpr-details summary:focus-visible, .gdpr-page-link:focus-visible { outline:2px solid #d76a22; outline-offset:4px; }
.gdpr-feedback { color:#993d28; margin-top:12px; }
.gdpr-feedback:empty { display:none; }
.gdpr-page-link { display:block; width:fit-content; margin:20px auto 0; color:#565b50; font-size:12px; text-decoration:underline; }
.gdpr-page { max-width:900px; padding-top:55px; padding-bottom:65px; }
.h2-page .gdpr-page h1 { font-size:clamp(32px,5vw,52px); letter-spacing:-1.5px; line-height:1.12; margin:15px 0 24px; }
.h2-page .gdpr-page h3 { font-size:17px; letter-spacing:0; }
.gdpr-page .gdpr-page-intro { margin-bottom:14px; font-size:16px; }
.gdpr-page .gdpr-categories { margin-top:32px; }
@media(max-width:560px) {
    .gdpr-dialog { padding:22px; }
    .gdpr-dialog h2 { font-size:26px; }
    .gdpr-category { grid-template-columns:minmax(0,1fr) 76px; gap:12px; }
    .gdpr-actions { gap:8px; }
    .gdpr-actions .gdpr-button { flex:1; padding:12px 10px; }
    .gdpr-page { padding-top:32px; padding-bottom:40px; }
}
@media(prefers-reduced-motion:reduce) {
    .gdpr-switch>span, .gdpr-switch>span::after { transition:none; }
}
.gdpr-modal-open, .gdpr-modal-open body { overflow:hidden; overscroll-behavior:none; }
