.map-privacy-dialog { box-sizing:border-box; width:min(560px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:0; border:1px solid var(--line,#e8dfd5); border-radius:20px; background:var(--paper,#fffdfa); color:var(--ink,#241d19); overflow:hidden; }
.map-privacy-dialog[open] { display:flex; flex-direction:column; }
.map-privacy-dialog::backdrop { background:rgba(20,14,11,.58); }
.map-privacy-head { flex:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px; border-bottom:1px solid var(--line,#e8dfd5); }
.map-privacy-head h2 { margin:0; font:1.5rem/1.2 Georgia,serif; }
.map-privacy-head button { flex:none; width:36px; height:36px; border:0; border-radius:50%; background:var(--cream,#f6f0e8); color:inherit; font-size:1.5rem; cursor:pointer; }
.map-privacy-body { min-height:0; overflow:auto; overscroll-behavior:contain; padding:18px 20px 8px; font: .9rem/1.5 system-ui,sans-serif; }
.map-privacy-body p { margin:0 0 12px; }
.map-privacy-body strong { display:block; margin-bottom:12px; }
.map-privacy-links { display:flex; flex-wrap:wrap; gap:8px 20px; margin:12px 0; }
.map-privacy-links a { color:inherit; text-decoration:underline; }
.map-privacy-actions { flex:none; display:flex; flex-wrap:wrap; gap:10px; padding:12px 20px 20px; }
.map-privacy-actions button { flex:1 1 180px; min-height:44px; padding:10px 14px; border:1px solid var(--line,#e8dfd5); border-radius:12px; background:var(--cream,#f6f0e8); color:inherit; font:700 .9rem/1.3 system-ui,sans-serif; cursor:pointer; }
.map-privacy-settings { padding:0; border:0; background:none; color:inherit; text-decoration:underline; font:inherit; cursor:pointer; }
.map-privacy-placeholder { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; grid-column:1/-1; padding:10px 0; font-size:.85rem; color:var(--muted,#776d65); }
.map-privacy-placeholder button { min-height:40px; border:1px solid var(--line,#e8dfd5); border-radius:10px; padding:8px 12px; background:var(--cream,#f6f0e8); color:var(--ink,#241d19); font:inherit; cursor:pointer; }
.map-privacy-dialog [hidden],.map-privacy-placeholder[hidden] { display:none!important; }
.map-privacy-dialog button:focus-visible,.map-privacy-settings:focus-visible,.map-privacy-placeholder button:focus-visible { outline:2px solid var(--red,#a52c24); outline-offset:3px; }
@media(max-width:300px) { .map-privacy-head,.map-privacy-body,.map-privacy-actions { padding:12px; } .map-privacy-head h2 { font-size:1.1rem; } }
