/* Privacy controls styled to match the Alte Schmiede website. */
.consent-panel{box-sizing:border-box;position:fixed;bottom:20px;left:20px;width:440px;max-width:calc(100% - 40px);padding:20px 22px;background:#faf8f5;color:#333;border:1px solid #ded5c9;border-top:2px solid #b58a60;border-radius:0;box-shadow:0 3px 16px #0002;z-index:100000;font:14px/1.5 'Source Sans Pro',sans-serif;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain}
.consent-panel h2{font:400 22px/1.25 'Playfair Display',serif;letter-spacing:0;text-transform:none;margin:0 0 12px;color:#333}
.consent-panel p{font:inherit;color:#555;margin:0 0 8px}
.consent-panel p+p{font-size:12px;color:#666}
.consent-panel label{display:flex;align-items:center;gap:9px;font-weight:400;margin:12px 0;font-size:14px;cursor:pointer}
.consent-panel input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:#87623f}
.consent-panel>a{font-size:12px;color:#735235;text-decoration:underline;text-underline-offset:3px}
.consent-panel button,.consent-map button{box-sizing:border-box;min-height:36px;padding:8px 10px;border:1px solid #b58a60;background:transparent;color:#332a22;border-radius:0;cursor:pointer;font:400 13px/1.35 'Source Sans Pro',sans-serif;transition:background-color .15s,color .15s}
.consent-panel button:hover,.consent-map button:hover{background:#eee5d9;color:#222}
.consent-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.consent-actions button{flex:1 1 auto}
.consent-settings{position:static;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:24px;padding:2px 9px;border:1px solid #b58a60;background:#b58a60;color:#17130f;border-radius:0;box-shadow:none;cursor:pointer;font:400 11px/18px 'Source Sans Pro',sans-serif;letter-spacing:.01em;white-space:nowrap}
.consent-settings:hover{background:#c39c76;border-color:#c39c76}
.subfooter .consent-footer-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.subfooter .consent-footer-row::before,.subfooter .consent-footer-row::after{display:none}
.subfooter .consent-footer-row>div{float:none;width:auto;flex:1 1 0;min-width:0}
.subfooter .consent-footer-row>div:last-child{flex:0 0 auto}
.subfooter .consent-footer-brand{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.subfooter .consent-footer-brand>a{display:inline-flex;align-items:center;flex:0 0 auto}
.subfooter .consent-footer-brand>.consent-settings{flex:0 0 auto}
.subfooter .consent-footer-row .footer-social ul{margin-bottom:0;vertical-align:middle}
.consent-map{padding:24px;background:#f0ebe4;color:#444;text-align:center;font:14px/1.5 'Source Sans Pro',sans-serif}
.consent-panel[hidden],.consent-panel [hidden],.consent-map[hidden]{display:none}
.consent-panel :focus-visible,.consent-settings:focus-visible,.consent-map button:focus-visible{outline:2px solid #87623f;outline-offset:3px}
.subfooter .consent-settings:focus-visible{outline-color:#e5cfb6;outline-offset:2px}
@media(max-width:480px){.consent-panel{left:12px;bottom:12px;max-width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:17px}.consent-panel h2{font-size:20px}.consent-actions button{flex:1 1 100%;min-height:40px}.subfooter .consent-footer-row{gap:6px}.consent-settings{padding:2px 7px}.subfooter .consent-footer-brand{gap:8px}}
@media(prefers-reduced-motion:reduce){.consent-panel button,.consent-map button{transition:none}}

/* More space beside the agency logo and softly rounded settings button. */
.subfooter .consent-footer-brand{gap:22px}
.consent-settings{border-radius:2mm}
@media(max-width:480px){.subfooter .consent-footer-brand{gap:16px}}
