/* Feldmark-Schule – individuelle Anpassungen (Brandl IT, 14.09.2026) */

/* Startseite: Countdown „Nächster freier Tag“ – Eclipse-Countdown (Element 13) ausblenden,
   dunkles Overlay über dem Hintergrundbild (Element 9) */
#countdown_13 { display: none !important; }
.ce_bgimage_9 .ce_bgimage-outer { position: relative; }
.ce_bgimage_9 .ce_bgimage-outer::before { content: ""; position: absolute; inset: 0; background: rgba(14, 67, 86, .7); z-index: 0; pointer-events: none; }
.ce_bgimage_9 .ce_bgimage-inside { position: relative; z-index: 1; }

/* Terminlisten (event_list_v3): Boxen auf gleiche Höhe bringen */
.mod_eventlist_v3 .item { display: flex; }
.mod_eventlist_v3 .item-inside { flex: 1 1 auto; width: 100%; display: flex; flex-direction: column; }
.mod_eventlist_v3 .item-inside .content { flex: 1 1 auto; }

/* Startseite „Aktuelles“ (news_newsteaser_v4): Boxen auf gleiche Höhe, Datum unten bündig */
.mod_newslist .autogrid_wrapper { display: flex; flex-wrap: wrap; align-items: stretch; }
.mod_newslist .newsteaser-v4 { display: flex; }
.mod_newslist .newsteaser-v4-inside { display: flex; flex-direction: column; flex: 1 1 auto; }
.mod_newslist .newsteaser-v4-inside .content { flex: 1 1 auto; display: flex; flex-direction: column; }
.mod_newslist .newsteaser-v4-inside .content .teaser { flex: 1 1 auto; }

/* Seite Bildnachweise: ausklappbare Kacheln (details/summary) */
.bildnachweise { text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
.bildnachweise h3 { margin: 28px 0 12px; }
.bildnachweise .bn-item { border: 1px solid #e3e3e3; border-radius: 6px; margin: 0 0 8px; padding: 0 18px; background: #fafafa; transition: border-color .15s ease, background-color .15s ease; }
.bildnachweise .bn-item:hover { border-color: #cfcfcf; background: #f5f5f5; }
.bildnachweise .bn-item[open] { background: #fff; border-color: #cfcfcf; }
.bildnachweise .bn-head { cursor: pointer; padding: 10px 28px 10px 0; font-weight: 700; list-style: none; position: relative; text-align: left; word-break: break-word; }
.bildnachweise .bn-head::-webkit-details-marker { display: none; }
.bildnachweise .bn-head::marker { content: ""; }
.bildnachweise .bn-head::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-weight: 400; font-size: 1.15em; line-height: 1; }
.bildnachweise .bn-item[open] > .bn-head::after { content: "\2013"; }
.bildnachweise .bn-head:focus-visible { outline: 2px solid #176881; outline-offset: 2px; border-radius: 3px; }
.bildnachweise .bn-ctx { font-weight: 400; color: #777; }
.bildnachweise .bn-body { padding: 2px 0 12px; text-align: left; }
.bildnachweise .bn-body p { margin: 6px 0; }
.bildnachweise .bn-quellen { margin-top: 24px; padding-top: 14px; border-top: 1px solid #e3e3e3; color: #555; text-align: left; }
@media print { .bildnachweise .bn-item { border: 0; padding: 0; background: none; } .bildnachweise .bn-body { display: block; } }

/* Kopfleiste auf Smartphones: E-Mail ausblenden (wie Eclipse-Standard), Telefon ohne horizontalen Überlauf */
body.viewport_mobile #top .topbar_mail, body.viewport_mobile #top #topbar_mail { display: none; }
body.viewport_mobile #top .autogrid_row > .column.col_5_m { width: auto; flex: 1 1 auto; max-width: none; }
body.viewport_mobile #top .autogrid_row > .column.col_7_m { width: auto; flex: 0 0 auto; max-width: none; }

/* Tabellen (z. B. Unterrichtszeiten) auf Smartphones besser lesbar */
body.viewport_mobile #main table td, body.viewport_mobile #main table th { font-size: 0.875rem; padding-right: 0.6em; }

/* Startseite Countdown auf Smartphones: vier Einheiten in einer Reihe */
body.viewport_mobile #ft-countdown ul { display: flex; justify-content: center; }
body.viewport_mobile #ft-countdown li { flex: 1 1 0; margin: 0 2px !important; }
body.viewport_mobile #ft-countdown { font-size: 2.2rem !important; }
body.viewport_mobile #ft-countdown .unit { font-size: 0.4em; }

/* Mobiles Menü: Demo-Sprachumschalter (EN/DE/PL) und leere Social-Icons ausblenden */
#mmenu .mod_langswitcher, #mmenu .mod_socials { display: none !important; }

/* Barrierefreiheits-Button auf Smartphones nach unten, damit er keine Überschriften verdeckt */
body.viewport_mobile .accessibility_widget_trigger { top: auto !important; bottom: 90px !important; transform: scale(.8); transform-origin: right bottom; }

/* Kopfleiste Desktop/Tablet: linke Spalte breiter (E-Mail + Telefon), sonst ragt der Telefonlink unter die rechte Spalte und ist nicht klickbar */
body.viewport_desktop #top .autogrid_row > .column.col_4 { flex: 0 0 75% !important; max-width: 75% !important; width: 75% !important; }   /* 16.09.: 75/25, seit „Betreuungsbereich“ länger */
body.viewport_desktop #top .autogrid_row > .column.col_8 { flex: 0 0 25% !important; max-width: 25% !important; width: 25% !important; }
body.viewport_tablet #top .topbar_mail, body.viewport_tablet #topbar_mail { display: none !important; }   /* 16.09.: E-Mail auf Tablet ausblenden, sonst ragt die Betreuungsnummer unter die rechte Spalte (Zeile wäre 811px) */
body.viewport_tablet #top .autogrid_row > .column.col_4_t { flex: 0 0 85% !important; max-width: 85% !important; width: 85% !important; }
body.viewport_tablet #top .autogrid_row > .column.col_8_t { flex: 0 0 15% !important; max-width: 15% !important; width: 15% !important; }

/* Startseite: Abstände zwischen den Abschnitten (Theme: 100px oben/unten je Artikel) – 16.09. enger gezogen: 40/40 → 80px zwischen Abschnitten, Überschrift 30px, Button 24px, Countdown-Band 70px innen */
body.home .mod_article.article-pt:not(.fullwidth) > .container { padding-top: 36px !important; }
body.home .mod_article.article-pb:not(.fullwidth) > .container { padding-bottom: 24px !important; }   /* → 60px zwischen Abschnitten */
body.home #article-59 .ce_bgimage-inside { padding-top: 40px !important; padding-bottom: 40px !important; }
body.home #article-8 .mod_eventlist_v3, body.home #article-6 .mod_newslist { margin-bottom: 0 !important; }
body.home #article-8 .ce_hyperlink, body.home #article-6 .ce_hyperlink { margin-top: 24px !important; }
body.home .ce_bgimage_9 .ce_bgimage-inside { padding-top: 70px !important; padding-bottom: 70px !important; }
body.home #freier-tag .ce_text_extented { margin-bottom: 0 !important; }
body.viewport_mobile.home .mod_article.article-pt:not(.fullwidth) > .container { padding-top: 32px !important; }
body.viewport_mobile.home .mod_article.article-pb:not(.fullwidth) > .container { padding-bottom: 32px !important; }
body.viewport_mobile.home .ce_bgimage_9 .ce_bgimage-inside { padding-top: 50px !important; padding-bottom: 50px !important; }

/* Hellblau der Schule (#E3F6FD / #CCEEFC): Kopfleiste, Aufklappmenü, untere Leiste */
#top { background-color: #CCEEFC !important; }   /* 16.09.: gleiche Farbe wie die untere Leiste #bottom */
#header .mod_navigation ul.level_2 { background-color: #E3F6FD !important; }
#header .mod_navigation ul.level_2 li a:hover, #header .mod_navigation ul.level_2 li.active > a, #header .mod_navigation ul.level_2 li.trail > a { background-color: #CCEEFC !important; }
#bottom { background-color: #E3F6FD !important; }

/* Footer in Hellblau der Schule (#E3F6FD), untere Leiste #CCEEFC – passend zum Boxed-Layout (Seitenhintergrund Petrol) */
#footer { background-color: #E3F6FD !important; color: #16282E !important; }
#footer .inside, #footer .inside p, #footer .inside li, #footer .inside span, #footer .inside div { color: #16282E !important; }
#footer .inside a { color: #176881 !important; }
#footer .inside a:hover { color: #0E4356 !important; }
#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6, #footer .h4, #footer .ce_headline { color: #176881 !important; }
#footer .inside div.h4, #footer .inside div.h3, #footer .inside div.h5 { color: #176881 !important; }   /* Überschrift als div (Element 202) – schlägt die div-Textfarbe oben */
#bottom { background-color: #CCEEFC !important; }

/* Untere Leiste Smartphone: Links (Barrierefreiheit/Bildnachweise/Datenschutz/Impressum) umbrechen statt rechts abgeschnitten; Platz für die schwebenden Buttons */
body.viewport_mobile #bottom .right { display: flex !important; flex-wrap: wrap !important; gap: 4px 15px !important; white-space: normal !important; }
body.viewport_mobile #bottom .right a { margin: 0 !important; }
body.viewport_mobile #bottom .inside { padding-bottom: 120px !important; }

/* Footer: Schnellzugriff-Liste zweispaltig (Desktop/Tablet), Logo-Abstand */
#footer ul.footer-links { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 24px; }
#footer ul.footer-links li { margin: 0 0 6px; padding: 0 0 0 18px; break-inside: avoid; line-height: 1.6; }
#footer ul.footer-links li::before { color: #176881 !important; top: 2px; }   /* Theme-Pfeil (FontAwesome) in Petrol */
#footer ul.footer-links li::after { display: none !important; }   /* weiße Trennlinie des Themes aus */
body.viewport_mobile #footer ul.footer-links { columns: 1; }
#footer .ce_text figure.image_container { margin-bottom: 14px; }

/* Kopfleiste: Sekretariat + Betreuung (Element 185) – auf Smartphones zweizeilig statt abgeschnitten */
body.viewport_mobile #top .topbar_teaser .topbar_sep { display: block; height: 0; overflow: hidden; }
body.viewport_mobile #top .topbar_teaser p { white-space: normal !important; line-height: 1.5 !important; padding: 5px 0; }
body.viewport_mobile #top .topbar_teaser { height: auto !important; line-height: 1.5 !important; }
body.viewport_mobile #top, body.viewport_mobile #top .inside, body.viewport_mobile #top .column { height: auto !important; }

/* Seite Termine (page_32): Desktop/Tablet = nur Monatskalender (Modul 693), Smartphone = nur Terminliste (Modul 692) – Kalender ist unter 600px nicht lesbar */
body.page_32:not(.viewport_mobile) .mod_eventlist_v3 { display: none !important; }
body.viewport_mobile .mod_calendar { display: none !important; }
.mod_calendar { margin-bottom: 40px; }

/* Startseite: Trennlinien (Kringel) unter den Überschriften entfernt (16.09.) – Abstand Überschrift → Karten stattdessen per Margin */
body.page_3 #article-8 .ce_headline_extended, body.page_3 #article-6 .ce_headline_extended { margin-bottom: 30px !important; }
#freier-tag #ft-kicker { margin-bottom: 8px; }
body.viewport_mobile.page_3 #article-8 .ce_headline, body.viewport_mobile.page_3 #article-6 .ce_headline { margin-bottom: 20px !important; }

/* Bedienungshilfen (Accessibility Widget, 16.09.) – Hochkontrast-Modus: eigene Footer-/Boxfarben zurücknehmen, damit Text lesbar bleibt */
body.acc_contrast #footer .inside, body.acc_contrast #footer .inside *, body.acc_contrast #footer .inside div.h4 { color: #fff !important; }
body.acc_contrast .ce_bgimage_308 .ce_bgimage-inside * { color: #fff !important; }
/* Tastatur-Shortcuts auf Mobilgeräten ausblenden (keine Tastatur, Liste wurde vom Button überdeckt) */
body.viewport_mobile #accessibility_widget .shortcuts { display: none; }

/* Cookie-Banner (Modul 611): Link/Kasten „Cookie-Details“ ausgeblendet – enthält nur den Theme-Platzhalter aus dem Template; die Details stehen im Haupttext (16.09.) */
.mod_privacy_optin .privacy_links a.privacy_help_link, .mod_privacy_optin .privacy_help { display: none !important; }
.mod_privacy_optin .privacy_text ul { margin: 8px 0 12px 20px; padding: 0; }
.mod_privacy_optin .privacy_text li { margin-bottom: 4px; }

/* Team-Seite (Element 235): Kontakttabelle statt Bild – E-Mails per {{email::}} verschleiert (16.09.) */
table.team-kontakte { width: auto; max-width: 100%; border-collapse: collapse; margin: 0 0 40px 0; }
table.team-kontakte th, table.team-kontakte td { padding: 8px 32px 8px 0; text-align: left; vertical-align: top; border-bottom: 1px solid #E3F6FD; }
table.team-kontakte th { font-weight: 700; }
table.team-kontakte td:last-child, table.team-kontakte th:last-child { padding-right: 0; }
/* Smartphone: Zeilen als Blöcke (Funktion / Name / E-Mail untereinander), keine Silbentrennung mitten im Wort */
body.viewport_mobile table.team-kontakte, body.viewport_mobile table.team-kontakte tbody, body.viewport_mobile table.team-kontakte tr, body.viewport_mobile table.team-kontakte td { display: block; width: 100%; }
body.viewport_mobile table.team-kontakte thead { display: none; }
body.viewport_mobile table.team-kontakte tr { padding: 8px 0; border-bottom: 1px solid #E3F6FD; }
body.viewport_mobile table.team-kontakte td { padding: 0; border: 0; }
body.viewport_mobile table.team-kontakte td:first-child { font-weight: 700; }
body.viewport_mobile table.team-kontakte td:last-child { overflow-wrap: anywhere; }

/* Krankmeldung (Formular 1, Feld 24 „Datenschutz“): Häkchen oben am langen Einwilligungstext ausrichten (16.09.) */
#ctrl_24 > span, #ctrl_25 > span { display: flex; align-items: flex-start; gap: 10px; }   /* 25 = Kontaktformular */
#ctrl_24 > span input.checkbox, #ctrl_25 > span input.checkbox { margin-top: 6px; flex: 0 0 auto; }

/* Intern (Seite 18): Übersicht der Unterseiten in Spalten, Zurück-Link auf den Unterseiten (16.09.) */
.intern-uebersicht { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 40px; }
.intern-uebersicht h3 { margin: 12px 0 6px; font-size: 1.25rem; }
.intern-uebersicht ul { margin: 0 0 12px 0; padding-left: 20px; }
.intern-uebersicht li { margin-bottom: 4px; }
body.viewport_mobile .intern-uebersicht { grid-template-columns: 1fr; }
p.intern-back { margin-top: 32px; }

/* Hauptmenü „Intern“ (letzter Punkt, nur für angemeldete Mitglieder): Aufklappmenü nach links öffnen, sonst ragt es aus dem Kasten (16.09.) */
body.viewport_desktop #header ul.level_1 > li.page_18 > ul.level_2 { left: auto !important; right: 0 !important; min-width: 340px; }
