/* ==========================================================================
   MFB — Cookie-Einwilligung · 2026-07-29
   Modal-Dialog in CI (Tanne/Gold/Creme). Erscheint nur, wenn eine
   GTM-Container-ID konfiguriert ist. Kein Dark-Pattern: alle drei
   Handlungsoptionen sind gleich gut erreichbar und gleich prominent lesbar.
   ========================================================================== */
.mfb-cc{ position:fixed; inset:0; z-index:99999; display:grid; place-items:end center;
  padding:clamp(.75rem,3vw,2rem); opacity:0; transition:opacity .26s ease; }
.mfb-cc.is-in{ opacity:1; }
@media (min-width:768px){ .mfb-cc{ place-items:center; } }

.mfb-cc__backdrop{ position:absolute; inset:0; background:rgba(12,28,24,.55); backdrop-filter:blur(2px); }

.mfb-cc__panel{ position:relative; width:100%; max-width:620px; background:#fff;
  border-radius:16px; padding:clamp(1.5rem,3.5vw,2.3rem);
  box-shadow:0 30px 70px -30px rgba(12,28,24,.7); border-top:3px solid #C4A86B;
  transform:translateY(14px); transition:transform .3s cubic-bezier(.16,1,.3,1);
  max-height:92vh; overflow-y:auto; }
.mfb-cc.is-in .mfb-cc__panel{ transform:translateY(0); }

.mfb-cc__eyebrow{ display:inline-flex; align-items:center; gap:.6rem; color:#A98D57;
  font-weight:700; letter-spacing:.2em; font-size:.71rem; text-transform:uppercase; margin-bottom:.6rem; }
.mfb-cc__eyebrow::before{ content:""; width:24px; height:1px; background:currentColor; }
.mfb-cc__title{ font-family:Georgia,'Times New Roman',serif; color:#1A3C34; font-weight:400;
  font-size:clamp(1.3rem,2.6vw,1.65rem); line-height:1.25; margin:0 0 .7rem; }
.mfb-cc__text{ color:#3E4F4A; font-size:.95rem; line-height:1.62; margin:0 0 1.25rem; }

.mfb-cc__opts{ display:grid; gap:.6rem; margin-bottom:1.4rem; }
.mfb-cc__opt{ display:flex; gap:.8rem; align-items:flex-start; background:#F7F4EE;
  border:1px solid rgba(26,60,52,.09); border-radius:11px; padding:.85rem 1rem; cursor:pointer; }
.mfb-cc__opt--fixed{ cursor:default; opacity:.85; }
.mfb-cc__opt input{ margin-top:.25rem; width:18px; height:18px; accent-color:#1A3C34; flex:0 0 auto; }
.mfb-cc__opt b{ display:block; color:#1A3C34; font-size:.94rem; margin-bottom:.15rem; }
.mfb-cc__opt small{ display:block; color:#5B6F69; font-size:.83rem; line-height:1.55; }
.mfb-cc__opt small a{ color:#5B6F69; }

.mfb-cc__actions{ display:flex; flex-wrap:wrap; gap:.6rem; }
.mfb-cc__btn{ flex:1 1 auto; min-width:150px; border:1px solid rgba(26,60,52,.22); background:#fff;
  color:#1A3C34; border-radius:10px; padding:.8rem 1.1rem; font-size:.92rem; font-weight:600;
  cursor:pointer; font-family:inherit; transition:background .2s, color .2s, border-color .2s, transform .1s; }
.mfb-cc__btn:hover{ background:#F3EBDD; border-color:#C4A86B; }
.mfb-cc__btn:active{ transform:scale(.985); }
.mfb-cc__btn--primary{ background:#1A3C34; border-color:#1A3C34; color:#fff; }
.mfb-cc__btn--primary:hover{ background:#122b25; border-color:#122b25; color:#fff; }
.mfb-cc__btn--ghost{ background:#fff; }
.mfb-cc__btn:focus-visible{ outline:2px solid #C4A86B; outline-offset:2px; }

.mfb-cc__legal{ margin:1.1rem 0 0; font-size:.82rem; color:#7A8A85; }
.mfb-cc__legal a{ color:#7A8A85; }
.mfb-cc__legal a:hover{ color:#1A3C34; }

@media (max-width:520px){ .mfb-cc__btn{ flex:1 1 100%; } }
@media (prefers-reduced-motion:reduce){
  .mfb-cc, .mfb-cc__panel{ transition:none; }
  .mfb-cc__panel{ transform:none; }
}
