#dv-cookies { font-family:Inter,Arial,sans-serif; color:var(--ink); }
#dv-cookies [hidden] { display:none!important; }
.dv-banner, dialog.dv-settings { background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:4px; box-shadow:0 6px 28px rgb(31 36 29 / 14%); }
.dv-banner { position:fixed; z-index:50; inset:auto max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) auto; width:min(660px,calc(100% - 32px)); max-height:calc(100dvh - 26px); overflow:auto; padding:20px 24px; }
.dv-banner h2, dialog.dv-settings h2 { margin:0 0 6px; font-size:29px; line-height:1.1; letter-spacing:-.4px; }
.dv-banner p, dialog.dv-settings p { margin:0; font-size:14px; line-height:1.5; color:var(--ink); }
.dv-links { display:flex; align-items:center; flex-wrap:wrap; gap:4px 20px; margin-top:7px; }
.dv-links a,.dv-links button,.dv-policy-link,.dv-footer-settings { font:inherit; color:inherit; border:0; background:none; padding:0; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.dv-links a,.dv-links button,.dv-policy-link { display:inline-flex; align-items:center; min-height:34px; font-size:13px; }
.dv-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; }
.dv-choices button { font:500 14px/1.3 Inter,Arial,sans-serif; min-height:44px; border-radius:2px; border:1px solid var(--olive); background:var(--olive); color:white; padding:8px 10px; }
.dv-choices button:hover { background:#414a31; }
#dv-cookies :focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
dialog.dv-settings { margin:auto; width:min(480px,calc(100% - 28px)); max-height:calc(100dvh - 28px); padding:24px; overflow:auto; }
dialog.dv-settings::backdrop { background:rgb(28 32 25 / 40%); }
dialog.dv-settings h3,.dv-toggle { font:600 15px/1.4 Inter,Arial,sans-serif; margin:18px 0 3px; }
.dv-toggle { display:flex; align-items:center; gap:8px; min-height:40px; cursor:pointer; }
.dv-toggle input { width:20px; height:20px; accent-color:var(--olive); }
dialog.dv-settings p + p { margin-top:8px; }
.dv-error { position:fixed; z-index:51; bottom:0; left:0; background:var(--paper); color:var(--ink); max-width:100%; padding:8px; }
.footer-bottom .dv-footer-links { display:flex; align-items:center; flex-wrap:wrap; gap:4px 16px; }
.footer-bottom .dv-footer-settings { min-height:40px; }
.dv-policy-page { max-width:790px; margin:auto; padding:32px 24px 100px; }
.dv-policy-nav { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; margin-bottom:48px; }
.dv-policy-nav a,.dv-policy-page section a,.dv-policy-page footer button { text-decoration:underline; text-underline-offset:3px; }
.dv-policy-nav .languages { flex-wrap:wrap; gap:12px; }
.dv-policy-page h1 { font-size:clamp(40px,6vw,64px); margin-bottom:10px; overflow-wrap:anywhere; }
.dv-policy-page section { margin-top:26px; }
.dv-policy-page section h2 { font-size:28px; margin-bottom:8px; }
.dv-policy-page p { color:var(--ink); }
.dv-policy-page footer { background:transparent; color:var(--ink); margin-top:28px; }
.dv-policy-page footer button { min-height:44px; }
.footer-bottom .dv-footer-links > a { display:inline-flex; align-items:center; min-height:40px; }
#dv-cookies.dv-at-footer .dv-banner {
 position:static;
 margin:14px max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) auto;
}
@media(max-width:600px) {
 .dv-banner { left:10px; right:10px; width:auto; bottom:max(10px,env(safe-area-inset-bottom)); padding:14px 16px; }
 .dv-banner h2 { font-size:25px; }
 .dv-banner p { font-size:13px; }
 .dv-links { gap:2px 14px; }
 .footer-bottom .dv-footer-links { justify-content:center; }
 #dv-cookies.dv-at-footer .dv-banner { margin:10px 10px max(10px,env(safe-area-inset-bottom)); }
}
