.consent-dialog { box-sizing:border-box; width: min(680px, calc(100% - 24px)); max-height:calc(100dvh - 32px); margin:auto; padding:28px; border:1px solid #ddd; border-radius:12px; color:#25212b; background:#fff; font:16px/1.5 Arial, sans-serif; overflow-y:auto; box-shadow:0 12px 50px #0005; }
.consent-dialog::backdrop { background:rgba(20,10,30,.65); }
.consent-dialog h2 { margin:0 0 16px; font:700 25px/1.2 Arial,sans-serif; }
.consent-dialog p { margin:0 0 16px; }
.consent-dialog a { color:#47266a; text-decoration:underline; }
.consent-actions { display:flex; flex-wrap:wrap; gap:10px; }
.consent-dialog button, .consent-map-placeholder button, [data-consent-open] { padding:11px 14px; border:1px solid #593275; border-radius:5px; background:#fff; color:#382047; font:600 15px/1.4 Arial,sans-serif; cursor:pointer; white-space:normal; }
.consent-actions button { flex:1 1 160px; background:#382047; color:#fff; }
.consent-dialog button:focus-visible, [data-consent-open]:focus-visible, .consent-dialog a:focus-visible, .consent-dialog input:focus-visible { outline:3px solid #e66d29; outline-offset:3px; }
#consent-details { margin-top:20px; }
#consent-details label { display:flex; gap:12px; align-items:flex-start; padding:12px 0; font-weight:400; cursor:pointer; }
#consent-details input { flex:0 0 20px; width:20px; height:20px; margin-top:3px; accent-color:#382047; }
.consent-close { margin-top:16px; }
.consent-reopen { position:fixed; bottom:12px; left:12px; z-index:9999; max-width:calc(100% - 24px); box-shadow:0 2px 8px #0003; }
.consent-map-placeholder { box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100%; min-height:210px; height:100%; padding:16px; background:#f4f0f6; color:#302638; text-align:center; font:15px/1.5 Arial,sans-serif; }
.consent-map-placeholder p { margin:0; max-width:42ch; }
.consent-map-placeholder[hidden], iframe[data-consent][hidden], .consent-dialog [hidden] { display:none !important; }
.html-embed-maps:has(.consent-map-placeholder:not([hidden])) { height:auto; min-height:210px; }
@media(max-width:480px) { .consent-dialog { padding:20px; max-height:calc(100dvh - 24px); } .consent-actions { flex-direction:column; } .consent-actions button { flex:auto; width:100%; } }
