/* ideal-heim-bau V25 | cookie consent interface. Isolated ihb-consent selectors. */
:root{--ihb-cc-navy:#142e44;--ihb-cc-sand:#dfbd96;--ihb-cc-cream:#f5f1e9;--ihb-cc-ink:#17384b;--ihb-cc-muted:#5e7181}
[hidden].ihb-consent-banner,[hidden].ihb-consent-overlay{display:none!important}
.ihb-consent-banner,.ihb-consent-overlay,.ihb-consent-dialog,.ihb-consent-banner *, .ihb-consent-dialog *{box-sizing:border-box}
.ihb-consent-banner{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(1230px,calc(100% - 40px));max-height:min(90vh,650px);overflow-y:auto;z-index:2147483000;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(24px,3vw,56px);padding:31px 38px 31px 42px;background:var(--ihb-cc-navy);border:1px solid rgba(255,255,255,.18);border-top:3px solid var(--ihb-cc-sand);box-shadow:0 15px 70px rgba(10,26,38,.28);color:#fff;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.ihb-consent-banner__copy{min-width:0}
.ihb-consent-banner .ihb-consent-kicker,.ihb-consent-dialog .ihb-consent-kicker{margin:0 0 11px;font:800 10px/1.45 system-ui,sans-serif;letter-spacing:.19em;color:var(--ihb-cc-sand)}
.ihb-consent-banner h2,.ihb-consent-dialog h2{font:400 clamp(26px,2.1vw,34px)/1.13 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:0 0 13px;color:#fff}
.ihb-consent-banner p:not(.ihb-consent-kicker){font:400 13.5px/1.7 system-ui,sans-serif;max-width:69ch;color:#d8e4eb;margin:0}
.ihb-consent-banner a,.ihb-consent-banner a:visited{color:#f2d7b2;text-decoration:underline;text-underline-offset:3px}
.ihb-consent-banner__actions{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));width:min(390px,42vw);align-items:center;gap:10px}
.ihb-consent-btn{font:800 11px/1.4 system-ui,sans-serif!important;letter-spacing:.06em!important;display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:13px 17px;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease;color:var(--ihb-cc-ink);background:transparent;border-radius:2px!important;white-space:normal;text-align:center;text-decoration:none!important;box-shadow:none!important;appearance:none;-webkit-appearance:none}
.ihb-consent-btn:hover{transform:translateY(-1px)}
.ihb-consent-btn:focus-visible,.ihb-consent-dialog__close:focus-visible,.ihb-consent-footer:focus-visible,.ihb-consent-toggle:focus-visible{outline:3px solid #edc28e!important;outline-offset:3px!important}
.ihb-consent-btn--outline{border:1px solid #d7e5ec!important;background:transparent!important;color:#fff!important}
.ihb-consent-btn--outline:hover{background:#28475d!important}
.ihb-consent-btn--sand{background:var(--ihb-cc-sand)!important;border:1px solid var(--ihb-cc-sand)!important;color:#152f44!important}
.ihb-consent-btn--sand:hover{background:#eccca7!important;border-color:#eccca7!important}
.ihb-consent-btn--quiet{grid-column:1/-1;grid-row:2;border:0!important;background:transparent!important;color:#cfe0e8!important;min-height:32px;padding:5px!important;text-decoration:underline!important;text-underline-offset:4px}
.ihb-consent-btn--quiet:hover{color:#fff!important}
.ihb-consent-banner__actions .ihb-consent-btn--sand{grid-column:2;grid-row:1}
/* Footer access: unobtrusive, visible on every page */
.ihb-footer .ihb-consent-footer{font:inherit!important;letter-spacing:inherit!important;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px;border:0!important;background:none!important;color:inherit!important;cursor:pointer;padding:0 4px;box-shadow:none!important}
.ihb-footer .ihb-consent-footer:hover{text-decoration-color:currentColor}
/* Preference dialog */
.ihb-consent-overlay{position:fixed;inset:0;z-index:2147483100;background:rgba(9,27,40,.76);display:flex;align-items:center;justify-content:center;padding:22px;overscroll-behavior:contain}
.ihb-consent-dialog{position:relative;width:min(670px,100%);max-height:min(90vh,760px);overflow-y:auto;overscroll-behavior:contain;background:var(--ihb-cc-cream);color:var(--ihb-cc-ink);box-shadow:0 24px 95px rgba(0,0,0,.37);padding:34px 38px 35px;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.ihb-consent-dialog__header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin:0 0 8px}
.ihb-consent-dialog .ihb-consent-kicker{color:#9e784e}
.ihb-consent-dialog h2{color:var(--ihb-cc-ink);font-size:clamp(31px,3vw,43px);margin:0}
.ihb-consent-dialog__close{width:38px;height:38px;display:grid;place-items:center;border:1px solid #cad4d6!important;background:transparent!important;color:#16374a!important;cursor:pointer;font:400 29px/1 Georgia,serif!important;border-radius:2px;padding:0;box-shadow:none!important;flex:none}
.ihb-consent-dialog__intro{font:400 14px/1.7 system-ui,sans-serif;color:#4d6573;margin:10px 0 20px}
.ihb-consent-options{border-top:1px solid #d0d8d8}
.ihb-consent-option{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:19px 0;border-bottom:1px solid #d0d8d8;cursor:pointer}
.ihb-consent-option:first-child{cursor:default}
.ihb-consent-option h3,.ihb-consent-option strong{display:block;margin:0 0 7px;color:#17394c;font:700 15px/1.3 system-ui,sans-serif}
.ihb-consent-option p,.ihb-consent-option__desc{display:block;margin:0;color:#627785;font:400 13px/1.55 system-ui,sans-serif;max-width:445px}
.ihb-consent-always{flex:none;align-self:center;color:#397252;background:#e5eee6;font:800 10px/1.4 system-ui,sans-serif;letter-spacing:.06em;padding:8px 10px;border-radius:20px}
.ihb-consent-toggle{appearance:none;-webkit-appearance:none;flex:none;width:46px;height:27px;border-radius:30px;border:1px solid #9cabb1;background:#bbc6ca;position:relative;cursor:pointer;margin:0;transition:background .2s}
.ihb-consent-toggle:before{content:'';position:absolute;top:3px;left:3px;width:19px;height:19px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.16);transition:transform .2s}
.ihb-consent-toggle:checked{background:#1d4d63;border-color:#1d4d63}
.ihb-consent-toggle:checked:before{transform:translateX(19px)}
.ihb-consent-dialog__legal{font:400 12.5px/1.65 system-ui,sans-serif;color:#667b88;margin:19px 0 22px}
.ihb-consent-dialog__legal a{color:#183c52;text-decoration:underline;text-underline-offset:3px}
.ihb-consent-dialog__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ihb-consent-btn--outline-dark{border:1px solid #244d61!important;color:#17384c!important;background:transparent!important}
.ihb-consent-btn--outline-dark:hover{background:#e7e9e5!important}
.ihb-consent-btn--navy{border:1px solid var(--ihb-cc-navy)!important;background:var(--ihb-cc-navy)!important;color:#fff!important}
.ihb-consent-btn--navy:hover{background:#28516b!important;border-color:#28516b!important}
body.ihb-consent-dialog-open{overflow:hidden}
@media(max-width:950px){.ihb-consent-banner{grid-template-columns:1fr;gap:20px;padding:25px 26px}.ihb-consent-banner__actions{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ihb-consent-banner{bottom:10px;width:calc(100% - 20px);padding:21px 19px;gap:16px;max-height:min(92dvh,680px)}.ihb-consent-banner h2{font-size:27px}.ihb-consent-banner p:not(.ihb-consent-kicker){font-size:12.5px;line-height:1.55}.ihb-consent-banner__actions{gap:7px}.ihb-consent-btn{font-size:10px!important;padding:10px 8px;min-height:43px}.ihb-consent-overlay{padding:10px}.ihb-consent-dialog{padding:24px 18px;max-height:94dvh}.ihb-consent-option{gap:9px;padding:17px 0}.ihb-consent-always{font-size:9px}.ihb-consent-dialog__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ihb-consent-dialog__actions #ihb-consent-save{grid-row:2;grid-column:1/-1}.ihb-consent-dialog__actions #ihb-consent-dialog-accept{grid-row:1;grid-column:2}}
@media(prefers-reduced-motion:reduce){.ihb-consent-btn,.ihb-consent-toggle,.ihb-consent-toggle:before{transition:none!important}}
