/* =========================================================
   MAISON NOIR — Einwilligungsbanner
   Ohne Einwilligung laedt die Seite keinerlei Drittinhalte.
   Betroffen ist ausschliesslich die eingebettete Karte.
   ========================================================= */

.consent{
  position:fixed;left:0;right:0;bottom:0;z-index:150;
  background:#0a0c0d;
  border-top:1px solid rgba(var(--ember-rgb,176,70,32),.45);
  padding:clamp(1.4rem,3vw,2.2rem) 0 calc(clamp(1.4rem,3vw,2.2rem) + env(safe-area-inset-bottom));
  transform:translateY(102%);
  transition:transform .7s cubic-bezier(.19,.86,.24,1);
  color:#efece6;
}
.consent.is-open{transform:none;}

.consent__inner{
  width:min(100% - 2*var(--gut,1.5rem),1320px);margin-inline:auto;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 3rem;align-items:center;
}
.consent__title{
  font-family:var(--ff-display,serif);font-size:1.4rem;line-height:1.2;margin-bottom:.5rem;
}
.consent__text{font-size:var(--fs-meta,.9375rem);line-height:1.65;color:var(--text-dim,#c6ccce);max-width:70ch;}
.consent__text a{color:var(--ember-hi,#ef9463);text-decoration:underline;text-underline-offset:3px;}
.consent__actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-end;}

.consent__btn{
  min-height:44px;padding:.9em 1.55em;font-size:var(--fs-label,.9375rem);font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;
  border:1px solid rgba(239,236,230,.3);color:#efece6;
  transition:background-color .4s,border-color .4s,color .4s;white-space:nowrap;
}
.consent__btn:hover{border-color:rgba(239,236,230,.6);}
.consent__btn--accept{background:var(--ember,#b04620);border-color:var(--ember,#b04620);color:#fff;}
.consent__btn--accept:hover{background:var(--ember-deep,#8e3517);border-color:var(--ember-deep,#8e3517);}
.consent__btn--link{border:0;padding-inline:.4em;color:var(--text-dim,#c6ccce);text-decoration:underline;
  text-underline-offset:4px;letter-spacing:.09em;}
.consent__btn--link:hover{color:#efece6;}

@media (max-width:900px){
  .consent__inner{grid-template-columns:1fr;}
  .consent__actions{justify-content:flex-start;}
  .consent__btn{flex:1;text-align:center;justify-content:center;}
}

/* Detailansicht: einzelne Dienste an- und abwaehlen */
.consent__details{
  grid-column:1/-1;border-top:1px solid rgba(239,236,230,.1);
  margin-top:.4rem;padding-top:1.4rem;display:grid;gap:1rem;
}
.consent__service{
  display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;
  padding:1rem;border:1px solid rgba(239,236,230,.1);
}
.consent__service h4{font-size:.95rem;font-weight:600;margin-bottom:.3rem;}
.consent__service p{font-size:var(--fs-micro,.875rem);color:var(--text-dim-2,#a9afb2);line-height:1.6;}
.consent__service input{
  appearance:none;-webkit-appearance:none;width:17px;height:17px;margin-top:.25rem;
  border:1px solid rgba(239,236,230,.35);background:transparent;flex:none;cursor:pointer;
}
.consent__service input:checked{background:var(--ember,#b04620);border-color:var(--ember,#b04620);}
.consent__service input:checked::after{
  content:"";display:block;width:5px;height:9px;margin:1px auto 0;
  border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);
}
.consent__service input:disabled{opacity:.45;cursor:not-allowed;}

/* Kleiner dauerhafter Zugang, um die Wahl spaeter zu aendern */
.consent-reopen{
  font-size:var(--fs-micro,.875rem);color:inherit;text-decoration:underline;text-underline-offset:4px;
  letter-spacing:.04em;
}
