/* Eigene Ergänzungen zum übernommenen Contao-Theme */

/* ---------- Icon-Font: Teilmenge von Bootstrap Icons v1.10.5 (MIT, https://github.com/twbs/icons/blob/main/LICENSE) ----------
   Ersetzt files/themebase/bi/bootstrap-icons.min.css (82 KB) + woff2 (121 KB). Enthält nur die Glyphen, die das Theme per
   ::before/::after nutzt: F119 F138 F13A F148 F166 F32C F344 F3CB F3E7 F437 F5B4 F5EF F62B. Neues Icon nötig → Teilmenge neu erzeugen:
   pyftsubset public/files/themebase/bi/fonts/bootstrap-icons.woff2 --unicodes="U+…" --flavor=woff2 --layout-features="*" --name-IDs="*" --notdef-outline */
@font-face { font-display: block; font-family: bootstrap-icons; src: url("data:font/woff2;base64,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") format("woff2"); }

/* ---------- Sprachumschalter (Flaggen) ---------- */
.navibar .container { position: relative; }
.cu-lang-switch { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 999px; font-family: 'Source Sans Pro', serif; font-size: 13px; line-height: 1; letter-spacing: 1px; text-transform: uppercase; }
.cu-lang { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px 5px 6px; border-radius: 999px; color: rgba(255, 255, 255, .62); font-weight: 400; text-decoration: none; transition: color .2s, background-color .2s; }
.cu-lang:hover, .cu-lang:focus-visible { color: #fff; background: rgba(255, 255, 255, .08); text-decoration: none; }
.cu-lang:focus-visible { outline: 2px solid #F8C300; outline-offset: 1px; }
.cu-lang.active { color: #F8C300; background: rgba(248, 195, 0, .14); }
.cu-flag { display: inline-block; width: 20px; height: 14px; border-radius: 3px; background-size: cover; background-position: center; box-shadow: 0 0 0 1px rgba(255, 255, 255, .18); filter: saturate(.55); opacity: .8; transition: filter .2s, opacity .2s; }
.cu-lang:hover .cu-flag, .cu-lang:focus-visible .cu-flag, .cu-lang.active .cu-flag { filter: none; opacity: 1; }
.cu-flag--de { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 3'%3E%3Crect width='5' height='3' fill='%23FFCE00'/%3E%3Crect width='5' height='2' fill='%23DD0000'/%3E%3Crect width='5' height='1' fill='%23000'/%3E%3C/svg%3E"); }
.cu-flag--en { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3CclipPath id='t'%3E%3Cpath d='M30,15h30v15zv15h-30zh-30v-15zv-15h30z'/%3E%3C/clipPath%3E%3Cpath d='M0,0v30h60v-30z' fill='%23012169'/%3E%3Cpath d='M0,0L60,30M60,0L0,30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0,0L60,30M60,0L0,30' clip-path='url(%23t)' stroke='%23C8102E' stroke-width='4'/%3E%3Cpath d='M30,0v30M0,15h60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30,0v30M0,15h60' stroke='%23C8102E' stroke-width='6'/%3E%3C/svg%3E"); }
.navibar .cu-lang-switch { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); }
.overlay-menu .cu-lang-switch { display: flex; width: max-content; margin: 32px auto 0; font-size: 16px; }
.overlay-menu .cu-lang { padding: 9px 16px 9px 9px; gap: 9px; }
.overlay-menu .cu-flag { width: 26px; height: 18px; }
@media (prefers-reduced-motion: reduce) { .cu-lang, .cu-flag { transition: none; } }

/* ---------- Mobiles Menü: aktiver Punkt wie die übrigen Einträge ---------- */
.mobilenavi .level_1 > li > strong.active { display: block; padding: 18px 24px; font-family: 'Oswald', serif; font-size: 26px; font-weight: 400; line-height: 30.6px; letter-spacing: 3px; text-transform: uppercase; color: #F8C300; }

/* ---------- Spam-Schutz: Honeypot für Menschen unsichtbar ---------- */
.cu-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* ════════════════════════════════════════════════════════════════
   UX/Conversion (M1–M11) – globale Bausteine. Seitenspezifisches CSS: /css/pages.css
   Viele !important nötig wegen Theme-Regeln (598-styleIn.css, designfix.css: a.btn weiß, .submit:hover schwarz).
   ════════════════════════════════════════════════════════════════ */

/* ---------- M7 Einheitlicher Primär-Button ---------- */
a.cu-btn, .cu-btn, button.btn.submit {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 52px; padding: 12px 28px; margin: 0; border: 2px solid #F8C300 !important; border-radius: 0;
    background: #F8C300 !important; color: #161514 !important;
    font-family: 'Oswald', sans-serif; font-size: 16px; font-weight: 400; line-height: 1.2; letter-spacing: .06em;
    text-transform: uppercase; text-align: center; text-decoration: none; white-space: normal; cursor: pointer; box-shadow: none;
    transition: background-color .2s, border-color .2s, color .2s;
}
a.cu-btn:hover, .cu-btn:hover, button.btn.submit:hover {
    background: #E0B000 !important; border-color: #E0B000 !important; color: #161514 !important; text-decoration: none;
}
.cu-btn:focus-visible, button.btn.submit:focus-visible {
    outline: 3px solid #161514; outline-offset: 2px; box-shadow: 0 0 0 5px #F8C300 !important;
}
a.cu-btn--outline, .cu-btn--outline { background: transparent !important; color: #161514 !important; border-color: #161514 !important; }
a.cu-btn--outline:hover, .cu-btn--outline:hover { background: #161514 !important; color: #F8C300 !important; border-color: #161514 !important; }
.cu-btn svg { flex-shrink: 0; }
button.btn.submit:disabled { opacity: .7; cursor: wait; }
@media (max-width: 767px) {
    .cu-btn, button.btn.submit { width: 100%; padding-left: 16px; padding-right: 16px; }
}

/* Bestehende gelbe Theme-Buttons (a.btn, „Zurück“/„Mehr“-Links): dunkle statt weißer Schrift (Kontrast 1,6:1 → 10:1) */
a.btn, a.btn:hover, a.btn:focus, p.back a, p.more a { color: #161514 !important; }
p.back a:hover, p.more a:hover { color: #F8C300 !important; }

/* ---------- Mikrocopy, Nutzenliste, Trustzeile, Telefon-Link ---------- */
.cu-form-note { margin: 12px auto 0; max-width: 40rem; font-size: 14px; line-height: 1.5; color: #555; text-align: center; }
.cu-form-note a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.cu-benefits { list-style: none; margin: 0 0 16px; padding: 0 !important; text-align: left; }
.cu-benefits li { position: relative; padding: 4px 0 4px 30px; line-height: 1.5; }
.cu-benefits li::before {
    content: ""; position: absolute; left: 4px; top: 9px; width: 9px; height: 15px;
    border: solid #F8C300; border-width: 0 3px 3px 0; transform: rotate(45deg);
}
.cu-trustline { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 0; margin: 0; font-size: 15px; line-height: 1.5; }
.cu-trustline > span + span::before { content: "·"; margin: 0 .5em; color: #F8C300; font-weight: 700; }
a.cu-call-link { display: inline-block; padding: 10px 0; color: inherit; font-weight: 700; text-decoration: underline; text-decoration-color: #F8C300; text-decoration-thickness: 2px; text-underline-offset: 4px; white-space: nowrap; }
a.cu-call-link:hover { color: #F8C300; }
a.cu-call-link:focus-visible, .cu-textlink:focus-visible, .cu-header-call:focus-visible { outline: 3px solid #F8C300; outline-offset: 2px; }

/* ---------- M1 Sticky-Kontaktleiste (nur mobil) ---------- */
.cu-cta-bar { display: none; }
@media (max-width: 767px) {
    .cu-cta-bar {
        display: flex; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9000;
        padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
        background: #161514; box-shadow: 0 -4px 16px rgba(0, 0, 0, .3); transition: transform .2s ease;
    }
    .cu-cta-bar .cu-btn { flex: 1 1 0; width: auto; min-height: 48px; padding: 8px 10px; font-size: 15px; }
    .cu-cta-bar .cu-btn--outline { color: #F8C300 !important; border-color: #F8C300 !important; }
    .cu-cta-bar .cu-btn--outline:hover { background: #F8C300 !important; color: #161514 !important; }
    body.cu-kbd .cu-cta-bar { transform: translateY(110%); visibility: hidden; }
    body:has(.cu-cta-bar) { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
    body:has(.cu-cta-bar) .scrolltop a { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) { .cu-cta-bar { transition: none; } }

/* ---------- M2 Anruf-Icon im mobilen Header (links neben dem Burger) ---------- */
.cu-header-call {
    position: absolute; z-index: 99; display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; border-radius: 50%; color: #F8C300 !important; border: 2px solid rgba(248, 195, 0, .55);
}
.cu-header-call:hover { color: #161514 !important; background: #F8C300; }
@media (max-width: 767px) {
    /* Burger auf 44×44 Tap-Fläche bringen und vertikal im 58-px-Header zentrieren; Anruf-Icon links daneben */
    .topbar .button-menu.text-center { top: 7px; right: 6%; width: 44px; height: 44px; padding: 2px; }
    .cu-header-call { top: 7px; right: calc(6% + 52px); }
}

/* ---------- M5 Footer-Kontaktbereich: H2 in bisheriger H1-Optik + Telefonzeile ---------- */
footer#footer .cu-footer-title { font-size: 40px; letter-spacing: 3px; }
@media (max-width: 991px) { footer#footer .cu-footer-title { font-size: 34px; letter-spacing: 2px; } }
@media (max-width: 767px) { footer#footer .cu-footer-title { font-size: 28px; letter-spacing: 1px; } }
@media (max-width: 575px) { footer#footer .cu-footer-title { font-size: 24px; letter-spacing: 0; } }
@media (max-width: 400px) { footer#footer .cu-footer-title { font-size: 22px; } }
.cu-footer-call { margin: 4px 0 0; color: #eee; font-size: 16px; line-height: 1.5; }
.cu-footer-call a.cu-call-link { padding: 8px 0; }
footer#footer a.cu-call-link { color: #F8C300; }
footer#footer a.cu-call-link:hover { color: #fff; }
.footercontainer .cu-form-note { color: rgba(255, 255, 255, .78); }
.footercontainer .cu-form-note a { color: #fff; }

/* ---------- M5 Rückruf-Formular: Select-Label über dem Feld ---------- */
.minform .widget-select { display: block; }
.minform .widget-select label {
    position: static; display: block; padding: 0 0 6px; margin: 0; font-size: 14px;
}
.footercontainer .minform .widget-select label { color: rgba(255, 255, 255, .85); }
.minform .widget-submit { margin-top: 8px; padding: 0 15px; }
.cu-nowrap { white-space: nowrap; }
/* Schwebende Labels: im Ruhezustand vertikal mittig im Feld, ohne Hintergrund-Kasten */
@media (max-width: 767px) {
    .minform .widget-text label:not(.is_focused), .minform .widget-textarea label:not(.is_focused) { padding-top: 12px; padding-bottom: 12px; line-height: 24px; }
}
.footercontainer .minform .widget-text label:not(.is_focused) { background: transparent; }

/* ---------- M8 Vertrauenszeile + Siegel ---------- */
.cu-trust { width: 100%; margin: 20px 0 0; padding: 0 15px; text-align: center; }
.cu-trust .cu-trustline { color: #161514; }
.cu-trust--dark .cu-trustline { color: #eee; }
.cu-trust__seals { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 16px; list-style: none; margin: 12px 0 0; padding: 0 !important; }
.cu-trust__seals li { line-height: 0; }
.cu-trust__seals img { display: block; width: auto; height: 40px; }
.cu-trust--dark .cu-trust__seals { display: inline-flex; padding: 8px 14px !important; background: #fff; border-radius: 4px; }
@media (max-width: 575px) {
    /* Schmal: statt „·“-Trennern (stünden nach Umbruch am Zeilenanfang) jedes Element mit eigenem Häkchen */
    .cu-trustline { gap: 2px 14px; font-size: 14px; }
    .cu-trustline > span::before, .cu-trustline > span + span::before { content: "✓"; margin: 0 .35em 0 0; color: #F8C300; font-weight: 700; }
    .cu-trust__seals { gap: 8px 10px; }
    .cu-trust__seals img { height: 32px; }
    .cu-trust--dark .cu-trust__seals { padding: 8px 10px !important; }
}

/* ---------- M11 Fehlerzustände ---------- */
div.cu-form-errors { margin: 0 15px 20px; padding: 12px 16px; background: #FDECEA; border-left: 5px solid #C62828; text-align: left; }
div.cu-form-errors p.error { scroll-margin-top: 170px; margin: 0; padding: 2px 0; color: #8E1B1B; font-size: 15px; font-weight: 600; line-height: 1.45; }
.form-control:user-invalid { border-color: #C62828 !important; box-shadow: 0 0 0 1px #C62828; }
.footercontainer .form-control:user-invalid { border-color: #FF8A80 !important; box-shadow: 0 0 0 1px #FF8A80; }

/* ---------- M9 Danke-Seite ---------- */
.cu-steps-title { margin-top: 28px; }
ol.cu-steps { max-width: 34rem; margin: 12px auto 24px; padding: 0 0 0 1.4em !important; text-align: left; line-height: 1.6; }
ol.cu-steps li { padding: 4px 0; }
ol.cu-steps li::marker { color: #161514; font-weight: 700; }
.cu-danke-call { margin: 0; }
.cu-danke-next { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 24px; }
a.cu-textlink { display: inline-block; padding: 12px 4px; color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- M4 / M10 Mobil: Gutter, Lesbarkeit, Tap-Targets, Formularfelder ---------- */
@media (max-width: 767px) {
    /* Inhaltsblöcke direkt in .row haben sonst 0 px Seitenabstand */
    #main .row > .dos_headline_wrapper, #main .row > .content-text:not([class*="col"]),
    #main .teaserElement, #main .row > .mod_faqreader { padding-left: 15px; padding-right: 15px; }
    .footercontainer .row > .content-text { padding-left: 15px; padding-right: 15px; }
    /* Zwei Textspalten (.col ohne Breakpoint) mobil untereinander */
    #main .row > .col.content-text { flex: 0 0 100%; max-width: 100%; }
    /* Längere Fließtexte mobil linksbündig, Überschriften bleiben zentriert */
    #main .text-center .rte > p:not([class]) { text-align: left; }
    /* Lange URLs im Fließtext umbrechen statt horizontal zu scrollen */
    #main p a { overflow-wrap: anywhere; }

    /* Formularfelder: 16 px gegen iOS-Zoom, ≥ 48 px hoch */
    .form-control { font-size: 16px !important; min-height: 48px; }
    textarea.form-control { min-height: 96px; }
    label.is_focused { font-size: 12px; }
    input[type="checkbox"], input[type="radio"] { width: 24px; height: 24px; min-width: 24px; }

    /* Footer: Links und Kontaktzeilen ≥ 44 px */
    #site-footer .container { padding-left: 15px; padding-right: 15px; }
    #site-footer .footer-links { flex-direction: row !important; gap: 0 8px !important; }
    #site-footer .footer-links a { display: flex; align-items: center; justify-content: center; min-height: 44px; }
    .cu-footer-address__item { display: inline-flex; align-items: center; min-height: 44px; }
    .cu-footer-address { gap: 0 !important; }
    p.footerIcons a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
}

/* Footer-Unterzeile: semantisch h3 (Überschriften-Reihenfolge), Optik wie zuvor h4 */
.footercontainer h3.cu-footer-subtitle { font-family: 'Source Sans Pro', serif; font-size: 17px; font-weight: 600; line-height: normal; letter-spacing: 1px; text-transform: uppercase; color: #F8C300; margin: 0 0 8px; }

/* Mobil: „Nach oben“-Button des Themes überdeckt Text; die Sticky-Kontaktleiste übernimmt die Navigation */
@media (max-width: 767px) { div.scrolltop { display: none !important; } }

/* ---------- Lesbarkeit Fließtext (Runde 6) ----------
   Vorher: Zeilenabstand „normal“ (~1,25), keine Absatzabstände, sehr lange Zeilen in FAQ-Artikeln. */
body { color: rgba(0, 0, 0, .74); }
#main .rte p, #main .ce_text p, #main .content-text p, #main .rte li, #main .ce_text li, #main .accordion p, #main .accordion li {
    line-height: 1.65;
}
#main .rte p + p, #main .ce_text p + p, #main .content-text p + p, #main .accordion p + p,
#main .rte p + ul, #main .ce_text p + ul, #main .accordion p + ul,
#main .rte ul + p, #main .ce_text ul + p, #main .accordion ul + p { margin-top: .9em; }
#main .rte ul, #main .ce_text ul, #main .accordion ul { padding-left: 1.25em; margin-bottom: 0; }
#main .rte li + li, #main .ce_text li + li, #main .accordion li + li { margin-top: .35em; }
/* Zwischenüberschriften im Fließtext (neu gegliederte Texte) */
#main .rte h3.cu-subhead, #main .ce_text h3.cu-subhead, #main .accordion h3.cu-subhead,
#main .rte h4.cu-subhead, #main .ce_text h4.cu-subhead, #main .accordion h4.cu-subhead {
    font-family: 'Source Sans Pro', serif; font-size: 18px; font-weight: 700; letter-spacing: 0; text-transform: none;
    color: #161514; margin: 1.4em 0 .4em; line-height: 1.35; text-align: left;
}
/* Lange Fließtexte: angenehme Zeilenlänge, linksbündig */
#main .dos_headline_wrapper .rte p { max-width: 42rem; margin-left: auto; margin-right: auto; text-align: left; }
#main .ce_text.block > p, #main .ce_text.block > ul { max-width: 46rem; }
#main .rte ol, #main .ce_text ol, #main .accordion ol { padding-left: 1.4em; margin-bottom: 0; }
#main .rte ol li, #main .ce_text ol li, #main .accordion ol li { line-height: 1.65; }
#main .rte ol li + li, #main .ce_text ol li + li, #main .accordion ol li + li { margin-top: .6em; }
#main .rte p + ol, #main .ce_text p + ol, #main .accordion p + ol,
#main .rte ol + p, #main .ce_text ol + p, #main .accordion ol + p { margin-top: .9em; }
#main .ce_text.block > ol { max-width: 46rem; }
#main li > strong:first-child { color: #161514; }

/* Aufzählungen im Fließtext: Theme blendet Listenpunkte aus -> eigene, dezente gelbe Punkte */
#main :is(.rte, .ce_text, .accordion) ul:not(.cu-benefits):not(.cu-trustline):not(.list-group):not(.level_1) { list-style: none; padding-left: 1.3em; }
#main :is(.rte, .ce_text, .accordion) ul:not(.cu-benefits):not(.cu-trustline):not(.list-group):not(.level_1) > li { position: relative; }
#main :is(.rte, .ce_text, .accordion) ul:not(.cu-benefits):not(.cu-trustline):not(.list-group):not(.level_1) > li::before {
    content: ""; position: absolute; left: -1.05em; top: .62em; width: .42em; height: .42em; border-radius: 50%; background: #F8C300;
}
#main :is(.rte, .ce_text, .accordion) ol { list-style: decimal; }
#main :is(.rte, .ce_text, .accordion) ol > li::marker { color: #b07841; font-weight: 700; }

/* ---------- Barrierefreiheit (Pre-Launch-Review) ---------- */
/* Sichtbarer Tastaturfokus (Theme setzt a:focus{outline:none}) */
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, .toggler:focus-visible, summary:focus-visible { outline: 3px solid #F8C300 !important; outline-offset: 2px; }
#main a:focus-visible, .footercontainer a:focus-visible { outline-color: #161514 !important; box-shadow: 0 0 0 5px #F8C300; }
/* Menü-Knöpfe sind jetzt echte Buttons */
button.button-menu { background: none; border: 0; padding: 0; color: inherit; cursor: pointer; line-height: 0; }
/* Skip-Link: unsichtbar, bis er per Tastatur fokussiert wird */
.cu-skip { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.cu-skip:focus { position: fixed; left: 12px; top: 12px; width: auto; height: auto; z-index: 100001; background: #F8C300; color: #161514; padding: 10px 14px; font-weight: 700; text-decoration: none; }
/* Sprachumschalter überdeckte zwischen 768 und 991 px den Menüpunkt „Kontakt“ */
@media (min-width: 768px) and (max-width: 991.98px) {
    .navibar .cu-lang-switch { position: static; transform: none; display: flex; width: max-content; margin: 6px auto 0; }
}
/* Größere Checkboxen in Formularen */
.volumcalc input[type="checkbox"], #volumcalc input[type="checkbox"], .minform input[type="checkbox"] { width: 20px; height: 20px; accent-color: #F8C300; }
/* Globus-Icon überlappte zwischen 768 und 991 px den Claim oben links */
@media (min-width: 768px) and (max-width: 991.98px) {
    .topheader > .container > .row > .col-3:first-child svg { display: none; }
    .topheader > .container > .row > .col-3:first-child .padding-right { padding-left: 0; }
}

/* Header bei 768 px (iPad hochkant): Menü-Button erscheint bis einschließlich 768 px – Seitenspalten dort wie mobil ausblenden */
@media (max-width: 768px) {
    #header .topbar .col-3.d-md-block { display: none !important; }
}
/* Volumenrechner-Icon im Header ragt rechts über den Container hinaus → bei schmalen Desktops nach innen rücken */
@media (min-width: 769px) and (max-width: 1259.98px) {
    #header .topbar .col-3.text-right { padding-right: 42px; }
}
/* Links im dunklen Formularbereich (Datenschutz-Checkbox Volumenrechner/Umzugsanfrage) lesbar machen */
form#volumcalc label a { color: #F8C300; text-decoration: underline; }
form label a { text-decoration: underline; }
