.consent-dialog {box-sizing:border-box; width:min(660px,calc(100% - 24px)); max-height:calc(100dvh - 32px); margin:auto; padding:28px; border:2px solid #05777a; border-radius:8px; color:#222; background:#fff; font:16px/1.5 Arial,sans-serif; overflow:auto; overflow-wrap:anywhere;}
.consent-dialog::backdrop {background:rgba(0,0,0,.65);}
.consent-dialog h2 {margin:0 0 16px; color:#174e50; font:700 25px/1.2 Arial,sans-serif;}
.consent-dialog p {font:inherit; margin:12px 0;}
.consent-dialog a {color:#075c60; text-decoration:underline;}
.consent-details summary {cursor:pointer; font-weight:bold; padding:10px 0;}
.consent-details label {display:flex; gap:10px; align-items:flex-start; margin:16px 0; font-weight:normal; cursor:pointer;}
.consent-details input {flex:0 0 auto; width:20px; height:20px; margin:2px 0 0; accent-color:#05777a;}
.consent-actions {display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;}
.consent-actions button,.consent-withdraw,.consent-map-placeholder button {box-sizing:border-box; padding:12px 15px; border:1px solid #075c60; border-radius:4px; background:#075c60; color:white; font:700 16px/1.3 Arial,sans-serif; cursor:pointer; white-space:normal;}
.consent-actions button {flex:1 1 170px;}
.consent-withdraw {margin-top:12px; background:white; color:#075c60;}
.consent-reopen {position:fixed; bottom:12px; left:12px; z-index:10000; max-width:calc(100% - 24px); padding:10px 14px; border:1px solid white; border-radius:4px; background:#075c60; color:white; font:14px/1.4 Arial,sans-serif; cursor:pointer; 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:12px; width:100%; min-height:240px; height:100%; padding:24px; background:#f0f3f3; color:#222; text-align:center; font:16px/1.5 Arial,sans-serif;}
.consent-map-placeholder p {margin:0; max-width:40ch;}
.consent-map-placeholder[hidden],iframe[data-consent-src][hidden],.consent-withdraw[hidden] {display:none!important;}
.consent-dialog :focus-visible,.consent-reopen:focus-visible,.consent-map-placeholder button:focus-visible {outline:3px solid #d88600; outline-offset:3px;}
@media(max-width:480px) {.consent-dialog {padding:20px;} .consent-dialog h2 {font-size:22px;} .consent-actions {flex-direction:column;} .consent-actions button {flex:auto; width:100%;}}
