/* Mai Immobilien: compact consent banner */
.mi-consent *,.mi-consent *::before,.mi-consent *::after{box-sizing:border-box}
.mi-consent{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#0A0F1C}
.mi-consent [hidden]{display:none!important}
.mi-consent button{font:inherit}
.mi-consent__banner{position:fixed;left:50%;bottom:1rem;z-index:10000;display:grid;gap:.8rem;width:min(76rem,calc(100vw - 2rem));padding:.9rem 1rem 1rem;border:1px solid rgba(201,161,74,.32);border-radius:14px;background:rgba(247,245,240,.97);box-shadow:0 24px 76px -32px rgba(10,15,28,.45),inset 0 1px 0 rgba(255,255,255,.6);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);transform:translateX(-50%)}
.mi-consent__banner>div:first-child{display:grid;gap:.35rem}
.mi-consent__title{margin:0;color:#8A6B27;font-family:'Fraunces',Georgia,serif;font-size:.98rem;font-weight:650;letter-spacing:0}
.mi-consent__text{margin:0;color:rgba(10,15,28,.7);font-size:.78rem;line-height:1.42}
.mi-consent__actions{display:grid;grid-template-columns:minmax(8.5rem,1fr) minmax(8.5rem,1fr) minmax(8.5rem,1fr);gap:.55rem;align-items:center;justify-self:center;width:min(36rem,100%)}
.mi-consent__actions .mi-consent__btn--link{grid-column:auto;grid-row:auto;justify-self:start}
.mi-consent__btn{min-height:40px;border:1px solid rgba(10,15,28,.16);border-radius:999px;padding:.55rem .9rem;background:rgba(10,15,28,.03);color:#0A0F1C;font-weight:650;font-size:.82rem;line-height:1.15;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.mi-consent__btn:hover{border-color:rgba(201,161,74,.55);background:rgba(10,15,28,.06);color:#8A6B27}
.mi-consent__btn:active{transform:translateY(1px)}
.mi-consent__btn:focus-visible,.mi-consent__close:focus-visible,.mi-consent__toggle input:focus-visible+.mi-consent__slider,.mi-consent__footerlink:focus-visible{outline:2px solid #c9a14a;outline-offset:3px}
.mi-consent__btn--primary{border-color:#c9a14a;background:linear-gradient(135deg,#e8d9b0,#c9a14a 62%,#a78436);color:#06080f;box-shadow:0 16px 40px -16px rgba(201,161,74,1),inset 0 1px 0 rgba(255,255,255,.45)}
.mi-consent__btn--primary:hover{border-color:#f4d78a;background:linear-gradient(135deg,#f4d78a,#c9a14a 62%,#a78436);color:#06080f}
/* Secondary (Reject): clearly visible, same-size button — equal access, lower visual emphasis than the filled primary. */
.mi-consent__btn--secondary{border:1.5px solid rgba(10,15,28,.55);background:#fff;color:#0A0F1C;box-shadow:0 4px 12px -6px rgba(10,15,28,.25)}
.mi-consent__btn--secondary:hover{border-color:#8A6B27;background:#fff;color:#8A6B27}
.mi-consent__btn--link{min-height:40px;border:0;background:transparent;color:#8A6B27;text-decoration:none}
.mi-consent__close{position:absolute;right:.35rem;top:.35rem;display:grid;width:2.75rem;height:2.75rem;place-items:center;border:0;border-radius:999px;background:transparent;color:rgba(10,15,28,.55);font-size:1.35rem;line-height:1;cursor:pointer}
.mi-consent__close:hover{background:rgba(10,15,28,.06);color:#0A0F1C}
.mi-consent__modalBackdrop{position:fixed;inset:0;z-index:10001;display:grid;place-items:center;padding:1rem;background:rgba(10,15,28,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.mi-consent__modal{position:relative;width:min(45rem,100%);max-height:min(88vh,48rem);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(201,161,74,.3);border-radius:22px;background:#FBFAF6;box-shadow:0 34px 110px -34px rgba(10,15,28,.4)}
.mi-consent__modalHead{padding:1.2rem 3.4rem 1rem 1.2rem;border-bottom:1px solid rgba(10,15,28,.08);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(247,245,240,.95))}
.mi-consent__modalHead h2{margin:0;color:#0A0F1C;font-family:'Fraunces',Georgia,serif;font-size:1.22rem;letter-spacing:0}
.mi-consent__modalQuick{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}
.mi-consent__modalBody{overflow:auto;padding:1rem 1.2rem}
.mi-consent__intro{margin:0 0 1rem;color:rgba(10,15,28,.72);font-size:.9rem;line-height:1.55}
.mi-consent__list{display:grid;gap:.7rem}
.mi-consent__cat{border:1px solid rgba(10,15,28,.1);border-radius:16px;background:rgba(10,15,28,.02);overflow:hidden}
.mi-consent__catHead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:.9rem}
.mi-consent__cat h3{margin:0;color:#0A0F1C;font-size:.96rem;font-weight:700;letter-spacing:0}
.mi-consent__badge{display:inline-flex;width:max-content;margin-top:.28rem;border-radius:999px;padding:.18rem .5rem;background:rgba(201,161,74,.14);color:#8A6B27;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.mi-consent__catText{margin:0;padding:0 .9rem .9rem;color:rgba(10,15,28,.65);font-size:.82rem;line-height:1.48}
.mi-consent__catText ul{margin:.45rem 0 0;padding-left:1.1rem}
.mi-consent__toggle{position:relative;display:inline-flex;align-items:center;min-width:3.25rem;min-height:2.75rem}
.mi-consent__toggle input{position:absolute;width:1px;height:1px;opacity:0}
.mi-consent__slider{position:relative;width:3.05rem;height:1.65rem;border:1px solid rgba(10,15,28,.22);border-radius:999px;background:#D6D2C7;transition:background .18s ease,border-color .18s ease}
.mi-consent__slider::after{content:'';position:absolute;top:.18rem;left:.18rem;width:1.18rem;height:1.18rem;border-radius:999px;background:#fff;box-shadow:0 3px 9px rgba(10,15,28,.3);transition:transform .18s ease}
.mi-consent__toggle input:checked+.mi-consent__slider{border-color:#c9a14a;background:#c9a14a}
.mi-consent__toggle input:checked+.mi-consent__slider::after{transform:translateX(1.38rem)}
.mi-consent__toggle input:disabled+.mi-consent__slider{opacity:.6;cursor:not-allowed}
.mi-consent__modalFoot{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.2rem;border-top:1px solid rgba(10,15,28,.08);background:#F7F5F0}
.mi-consent__footerlink{color:inherit;text-decoration:none}
.mi-consent__footerlink:hover{color:#A78436}
.mi-youtube-consent{display:grid;place-items:center;min-height:100%;padding:1.4rem;text-align:center;background:radial-gradient(circle at 50% 25%,rgba(201,161,74,.16),transparent 48%),linear-gradient(135deg,#FBFAF6,#F7F5F0);color:#0A0F1C}
.mi-youtube-consent__inner{display:grid;justify-items:center;gap:1rem;max-width:34rem}
.mi-youtube-consent__play{display:grid;width:4.5rem;height:4.5rem;place-items:center;border-radius:999px;background:linear-gradient(135deg,#e8d9b0,#c9a14a 62%,#a78436);color:#06080f;box-shadow:0 18px 42px -16px rgba(201,161,74,1)}
.mi-youtube-consent p{margin:0;color:rgba(10,15,28,.7);font-size:.9rem;line-height:1.55}
.mi-cookie-lock{overflow:hidden}
@media(max-width:760px){.mi-consent__actions{grid-template-columns:1fr;width:100%;justify-self:stretch}.mi-consent__actions .mi-consent__btn--link{justify-self:stretch}}
@media(max-width:640px){.mi-consent__banner{left:.75rem;right:.75rem;bottom:.75rem;width:auto;max-height:50vh;overflow:hidden;transform:none;padding:.7rem;border-radius:12px;gap:.55rem}.mi-consent__banner>div:first-child{max-height:27vh;overflow:auto;padding-right:.2rem;gap:.25rem;-webkit-overflow-scrolling:touch}.mi-consent__title{font-size:.86rem}.mi-consent__text{font-size:.66rem;line-height:1.32}.mi-consent__actions{gap:.35rem}.mi-consent__btn{min-height:34px;padding:.42rem .7rem;font-size:.74rem}.mi-consent__btn--link{min-height:30px}.mi-consent__modalBackdrop{padding:.6rem}.mi-consent__modal{max-height:92vh;border-radius:18px}.mi-consent__modalQuick,.mi-consent__modalFoot{display:grid}.mi-consent__modalQuick .mi-consent__btn,.mi-consent__modalFoot .mi-consent__btn{width:100%}}
@media(prefers-reduced-motion:reduce){.mi-consent *,.mi-consent *::before,.mi-consent *::after{transition-duration:.01ms!important;scroll-behavior:auto!important}}
