/* ==========================================================================
   Projektanpassungen fuer den Consent-Banner (EXT:w52_consent)

   Handgepflegte Datei - absichtlich nicht Teil von main.less, damit sie
   ohne LESS-Build geaendert werden kann.
   ========================================================================== */

.w52-consent {
    --w52c-accent: #223187;
    --w52c-heading-color: #223187;
    --w52c-backdrop: rgb(0 0 0 / 0.5);
    --w52c-table-head: #f2f3f8;
}

/* Widerruf-Button im Footer: sieht aus wie die uebrigen Footer-Links */
.footer-unten .consent-trigger {
    display: block;
    margin: 0 auto;
    padding: 0;
    border: 0;
    background: none;
    color: white;
    font: inherit;
    text-transform: inherit;
    text-decoration: none;
    cursor: pointer;
}

/* Gleiche Falle wie beim Karten-Platzhalter: ohne JavaScript entfernt
   consent.js das hidden-Attribut nie, und "display: block" oben wuerde den
   Button trotzdem anzeigen. */
.footer-unten .consent-trigger[hidden] {
    display: none;
}

.footer-unten .consent-trigger:hover,
.footer-unten .consent-trigger:focus-visible {
    text-decoration: underline;
}

/* ==========================================================================
   Platzhalter der Anfahrtskarte (Zwei-Klick-Loesung)

   Die Hoehen spiegeln die #map-Regeln aus Components/default.less, damit der
   Footer beim Aktivieren der Karte nicht springt. Aendern sich die Werte dort,
   muessen sie hier mitgezogen werden.
   ========================================================================== */

.map-consent {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1em;
    box-sizing: border-box;
    height: 550px;
    width: 100%;
    padding: 2em;
    background: #f2f3f8;
    color: #223187;
    text-align: center;
}

/* Ohne das bleibt der Platzhalter stehen und die Karte klappt darunter auf:
   die Autoren-Regel "display: flex" oben gewinnt immer gegen die
   Browser-Regel [hidden] { display: none }. (0,2,0) schlaegt hier (0,1,0). */
.map-consent[hidden] {
    display: none;
}

.map-consent__text {
    max-width: 32em;
    margin: 0;
}

.map-consent__load {
    padding: 0.7em 1.6em;
    border: 0;
    background: #223187;
    color: white;
    font: inherit;
    cursor: pointer;
}

.map-consent__load:hover,
.map-consent__load:focus-visible {
    background: #1a2569;
}

.map-consent__settings {
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

@media only screen and (max-width: 740px) and (orientation: landscape) {
    .map-consent { height: 250px; }
}

@media only screen and (max-width: 672px) and (orientation: landscape) {
    .map-consent { height: 250px; }
}

@media only screen and (max-width: 672px) and (orientation: portrait) {
    .map-consent { height: 380px; }
}

@media only screen and (max-width: 360px) and (max-height: 300px) and (orientation: landscape) {
    .map-consent { height: 170px; padding: 1em; }
}

/* ==========================================================================
   Kollisionen des Sitepackages mit dem Consent-Banner aufheben

   consent.css wird VOR main.css geladen, deshalb gewinnen die globalen
   Sitepackage-Regeln gegen das Styling der Extension. Diese Datei laeuft als
   letzte und stellt den Auslieferungszustand der Extension wieder her.
   ========================================================================== */

/* normalize.less schiebt jede native Checkbox auf left:-9999px und zeichnet
   einen Ersatz auf das Folge-Label. Der Consent-Schalter ist aber eine echte
   Checkbox mit accent-color - Ersatz hier abschalten. */
.w52-consent input[type="checkbox"] {
    position: static;
    left: auto;
    /* normalize.less setzt zusaetzlich "appearance: none" auf jedes input -
       ohne den abgeschalteten Ersatz waere die Checkbox sonst unsichtbar. */
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
}

.w52-consent input[type="checkbox"] + label {
    padding-left: 0;
}

.w52-consent input[type="checkbox"] + label::before,
.w52-consent input[type="checkbox"] + label::after {
    content: none;
}

/* normalize.less setzt "table { border-style: solid }" ohne border-width,
   der CSS-Initialwert medium ergibt daraus einen ~3px-Rahmen. Die Zellen
   bringt die Extension selbst mit, nur der aeussere Rahmen muss weg. */
.w52-consent__table table {
    border: 0;
}
