/* Erweiterung Datenschutz: unabhaengige Styles fuer alle HTML-Seiten und Endgeraete. */
.map-consent{min-height:280px;display:grid;align-items:center;}
.map-consent iframe{width:100%;height:450px;border:0;}
.map-consent [hidden],[data-consent-open][hidden]{display:none;}
.map-placeholder{padding:24px;border:1px solid #666;border-radius:4px;line-height:1.6;overflow-wrap:anywhere;}
.map-placeholder h3{margin-top:0;}
.map-placeholder a{color:#90ee90;}
.map-placeholder button,.consent-actions button{
min-height:44px;padding:10px 16px;margin:0;border:1px solid #aaa;border-radius:4px;
background:#242424;color:white;font:inherit;cursor:pointer;
}
.map-placeholder button:hover,.consent-actions button:hover{background:#383838;}
.consent-dialog{
box-sizing:border-box;width:calc(100% - 24px);max-width:580px;max-height:90vh;max-height:90dvh;
padding:24px;border:1px solid #777;border-radius:6px;background:#1e1e1e;color:white;
font-family:Arial,Helvetica,sans-serif;line-height:1.55;overflow:hidden;overflow-wrap:anywhere;
}
/* Erweiterung Datenschutz: Aktionen bleiben sichtbar, nur der Hinweisbereich scrollt. */
.consent-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;}
.consent-body{min-height:0;overflow:auto;}
.consent-body p:first-child{margin-top:0;}
.consent-dialog::backdrop{background:rgba(0,0,0,.7);}
.consent-heading{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;}
.consent-heading h2{margin:0;font-size:22px;line-height:1.3;color:orange;}
.consent-dismiss{
flex:0 0 44px;width:44px;height:44px;padding:0;margin:0;border:1px solid #aaa;
border-radius:4px;background:#242424;color:white;font-size:28px;cursor:pointer;
}
.consent-option{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:44px;font-weight:bold;}
.consent-option input{width:20px;height:20px;padding:0;margin:0;accent-color:#90ee90;}
.consent-option span{font-size:14px;font-weight:normal;color:#ccc;}
.consent-note{font-size:14px;color:#ddd;}
.consent-dialog a{color:#90ee90;text-underline-offset:3px;}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.consent-dialog button:focus-visible,.consent-dialog input:focus-visible,
.consent-dialog a:focus-visible,[data-consent-open]:focus-visible{outline:3px solid orange;outline-offset:3px;}
.footer-links button[data-consent-open]{
min-height:44px;margin:0;padding:0;max-width:100%;border:0;background:transparent;
color:#90ee90;text-decoration:underline;text-underline-offset:4px;font:inherit;cursor:pointer;text-align:left;
}
.footer-links button[data-consent-open]:hover{color:orange;background:transparent;}
@media(max-width:480px){
.consent-dialog{padding:16px;}
.consent-actions{grid-template-columns:minmax(0,1fr);}
.map-placeholder{padding:16px;}
}

/* Erweiterung Kontakt: hervorgehobene Kontaktaktionen statt gewoehnlicher Textlinks. */
.contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
.contact-links a{
box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:12px;
min-height:52px;min-width:min(160px,100%);max-width:100%;padding:12px 20px;
border:1px solid #90ee90;border-radius:6px;background:#242424;color:white;
font-weight:700;text-decoration:none;
}
.contact-links a[href^="https://www.instagram.com/"]{background:orange;border-color:orange;color:#121212;}
.contact-links a:focus-visible{outline:3px solid orange;outline-offset:4px;}
.contact-links img{display:block;flex:0 0 24px;filter:invert(1);}
.contact-links a[href^="https://www.instagram.com/"] img{filter:none;}
.contact-links span{overflow-wrap:anywhere;}
@media(hover:hover){
.contact-links a:hover{background:#383838;border-color:white;}
.contact-links a[href^="https://www.instagram.com/"]:hover{background:#ffbd52;border-color:#ffbd52;}
}
@media(max-width:480px){
.contact-links a{flex:1 1 100%;}
}