/* consent.v2.css – Einwilligungshinweis meinHaus (P16 B6b, 29.10.2026; v2 B12, 30.10.2026). Nur Token-Variablen.
   v2: Handy unten in voller Breite, kompakter (Höhe regelt consent.v2.js: PLZ-Feld bleibt frei).
   Desktop: Karte unten links über der Textspalte – Rechner-Karte, PLZ-Feld und Bewertungszeile
   rechts bleiben frei. Knöpfe, Farben und Textgröße wie v1. */
[data-mh-consent][hidden], .mh-consent[hidden] { display: none !important; }
.mh-consent-offen #pe-leiste { display: none !important; }

.mh-consent {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  display: flex; flex-direction: column; gap: var(--space-2);
  max-height: 40vh; padding: var(--space-3) var(--space-4);
  background: var(--farbe-karte); color: var(--farbe-text);
  border-top: 1px solid var(--linie);
  font-family: var(--schrift-text); font-size: var(--groesse-fussnote); line-height: var(--zeile-fussnote);
  box-sizing: border-box;
}
.mh-consent__text { overflow-y: auto; min-height: 0; }
.mh-consent__text p { margin: 0 0 var(--space-2); font-size: var(--groesse-fussnote); }
.mh-consent__text p:last-child { margin-bottom: 0; }
.mh-consent__titel { font-size: var(--groesse-text) !important; font-weight: var(--gewicht-h3); }
.mh-consent__stand { font-weight: var(--gewicht-button); }
.mh-consent a { color: var(--farbe-text); text-decoration: underline; }
.mh-consent__knoepfe { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); flex: none; }
.mh-consent__knopf {
  min-height: var(--button-hoehe); padding: 0 var(--space-3); margin: 0;
  border: 0; border-radius: var(--radius-md);
  background: var(--farbe-dunkel); color: var(--farbe-text-auf-dunkel);
  font-family: var(--schrift-text); font-size: var(--groesse-button); font-weight: var(--gewicht-button);
  cursor: pointer;
}
.mh-consent__knopf:focus-visible { outline: 3px solid var(--farbe-text); outline-offset: 3px; }
.mh-consent__knopf[aria-pressed="true"] { box-shadow: inset 0 -4px 0 var(--farbe-text-auf-dunkel); }
.mh-consent-platz { height: 0; }

@media (min-width: 821px) {
  /* Lage und Breite der Textspalte; consent.v2.js setzt sie genau auf die Spalte der Seite */
  .mh-consent {
    left: max(var(--space-12), calc((100vw - var(--inhalt-max)) / 2 + var(--space-12))); right: auto; bottom: var(--space-4);
    width: calc((min(100vw, var(--inhalt-max)) - 3 * var(--space-12)) * .6); max-width: none; max-height: 70vh;
    padding: var(--space-4); gap: var(--space-3);
    border: 1px solid var(--farbe-feldrand); border-radius: var(--radius-lg);
  }
  .mh-consent-platz { display: none; }
}
@media print { .mh-consent, .mh-consent-platz { display: none !important; } }
