/* Bausteine DITIB Nord – Portal-Stil. Farben kommen aus dem Theme (Fallbacks hier). */
:root { --ditib-rot: var(--wp--preset--color--rot, #E30613); --ditib-rot-dunkel: var(--wp--preset--color--rot-dunkel, #B5000F); --ditib-anthrazit: var(--wp--preset--color--anthrazit, #1F2A37); --ditib-grau: var(--wp--preset--color--grau, #5B6572); --ditib-grau-hell: var(--wp--preset--color--grau-hell, #F4F5F7); --ditib-linie: var(--wp--preset--color--linie, #E3E6EA); --ditib-tuerkis: var(--wp--preset--color--tuerkis-dunkel, #0B7F8A); }
.ditib-icon { width: 1.25em; height: 1.25em; flex-shrink: 0; }
.ditib-button { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; }
.ditib-button--outline { background: transparent !important; color: var(--ditib-anthrazit) !important; border: 2px solid var(--ditib-anthrazit); }
.ditib-button--outline:hover { background: var(--ditib-anthrazit) !important; color: #fff !important; }
.ditib-button--pdf::before { content: ""; display: inline-block; width: 1.1em; height: 1.1em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m0 0l-4-4m4 4l4-4M4 17v2a2 2 0 002 2h12a2 2 0 002-2v-2'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m0 0l-4-4m4 4l4-4M4 17v2a2 2 0 002 2h12a2 2 0 002-2v-2'/%3E%3C/svg%3E") center/contain no-repeat; }

/* Brotkrumen */
.ditib-brotkrumen ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem .5rem; font-size: .875rem; color: var(--ditib-grau); }
.ditib-brotkrumen li + li::before { content: "›"; margin-right: .5rem; color: var(--ditib-grau); }
.ditib-brotkrumen a { color: var(--ditib-grau); text-decoration: none; }
.ditib-brotkrumen a:hover { color: var(--ditib-rot-dunkel); text-decoration: underline; }
.ditib-brotkrumen [aria-current] { color: var(--ditib-anthrazit); font-weight: 500; }

/* Meldungen mit Bild */
.ditib-meldungen__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 2.25rem 1.75rem; }
.ditib-meldung__link { display: flex; flex-direction: column; gap: .45rem; height: 100%; text-decoration: none; color: inherit; }
.ditib-meldung__bild { display: block; position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #E9EBEE; margin-bottom: .5rem; }
.ditib-meldung__bild img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.ditib-meldung__link:hover .ditib-meldung__bild img { transform: scale(1.04); }
.ditib-meldung__bild--leer { background: #EEF0F3; border-bottom: 3px solid var(--ditib-rot); display: flex; flex-direction: column; justify-content: flex-end; padding: 1rem 1.25rem; }
.ditib-meldung__marke { position: absolute; top: 1rem; left: 1.25rem; width: 44px; height: 27px; border-radius: 50%; background: var(--ditib-rot); }
.ditib-meldung__rubrik { color: var(--ditib-anthrazit); font-weight: 700; font-size: 1rem; letter-spacing: .01em; }
.ditib-meldung__kicker { font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ditib-tuerkis); }
.ditib-meldung__titel { font-size: 1.2rem; font-weight: 700; line-height: 1.3; color: var(--ditib-anthrazit); }
.ditib-meldung__link:hover .ditib-meldung__titel { text-decoration: underline; text-decoration-color: var(--ditib-rot); text-underline-offset: 3px; }
.ditib-meldung__text { font-size: .95rem; line-height: 1.55; color: var(--ditib-grau); }
.ditib-meldung__meta { margin-top: auto; padding-top: .35rem; display: inline-flex; align-items: center; gap: .45rem; font-size: .85rem; color: var(--ditib-grau); }

/* Regionen */
.ditib-regionen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ditib-region { display: flex; flex-direction: column; gap: .25rem; padding: 1.25rem; background: #fff; border: 1px solid var(--ditib-linie); text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
.ditib-region .ditib-icon { width: 26px; height: 26px; color: var(--ditib-rot); margin-bottom: .4rem; }
.ditib-region__name { font-weight: 700; color: var(--ditib-anthrazit); }
.ditib-region__anzahl { font-size: .9rem; color: var(--ditib-grau); }
.ditib-region:hover { border-color: var(--ditib-anthrazit); box-shadow: 0 4px 14px rgba(31, 42, 55, .08); }
@media (max-width: 480px) { .ditib-regionen { grid-template-columns: 1fr; } }

/* Eckdaten (Termin, Stelle) */
.ditib-eckdaten { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem 2rem; margin: 0 0 1.5rem; padding: 1.25rem 1.5rem; background: var(--ditib-grau-hell); border-left: 4px solid var(--ditib-rot); }
.ditib-eckdaten dt { font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ditib-grau); margin: 0 0 .2rem; }
.ditib-eckdaten dd { margin: 0; font-weight: 500; }
.ditib-eckdaten__klein { font-weight: 400; color: var(--ditib-grau); }

/* Datumszeile Pressemitteilung */
.ditib-presse-meta { margin-bottom: 1.75rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--ditib-linie); }
.ditib-presse-meta__untertitel { font-size: 1.25rem; color: var(--ditib-grau); margin: 0 0 .75rem; line-height: 1.4; }
.ditib-datumszeile { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 0; font-size: .95rem; color: var(--ditib-grau); }
.ditib-kennzeichen { display: inline-block; padding: .15rem .6rem; background: var(--ditib-grau-hell); color: var(--ditib-anthrazit); font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.ditib-presse-meta__links { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.25rem; }
.ditib-presse-meta__quelle { font-weight: 600; }

/* Adresse / Kontakt (Gemeinde, Pressekontakt) */
.ditib-adresse, .ditib-pressekontakt { padding: 1.5rem; background: var(--ditib-grau-hell); border-top: 4px solid var(--ditib-rot); }
.ditib-adresse__titel, .ditib-pressekontakt__titel { font-size: 1.1rem; margin: 0 0 1rem; }
.ditib-adresse__block { font-style: normal; line-height: 1.5; margin: 0 0 1rem; }
.ditib-adresse__links { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; gap: .5rem; }
.ditib-adresse__links li { display: grid; grid-template-columns: 5.5rem 1fr; gap: .5rem; align-items: baseline; }
.ditib-adresse__label { font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--ditib-grau); }
.ditib-adresse__links a { word-break: break-word; }
.ditib-pressekontakt__name { font-weight: 600; margin: 0 0 .75rem; }

/* Gemeinden-Übersicht */
.ditib-gemeinden__filter { display: grid; gap: 1rem; margin-bottom: 2rem; }
.ditib-gemeinden__suche input { width: 100%; max-width: 34rem; padding: .85rem 1rem; font: inherit; border: 1.5px solid var(--ditib-linie); background: #fff; }
.ditib-gemeinden__suche input:focus { outline: 2px solid var(--ditib-rot); outline-offset: 1px; border-color: transparent; }
.ditib-gemeinden__regionen { display: flex; flex-wrap: wrap; gap: .5rem; }
.ditib-gemeinden__regionen button { font: inherit; font-size: .9rem; font-weight: 600; padding: .5rem .95rem; border: 1.5px solid var(--ditib-linie); background: #fff; color: var(--ditib-anthrazit); cursor: pointer; }
.ditib-gemeinden__regionen button:hover { border-color: var(--ditib-anthrazit); }
.ditib-gemeinden__regionen button.is-active { background: var(--ditib-anthrazit); border-color: var(--ditib-anthrazit); color: #fff; }
.ditib-gemeinden__region { margin-bottom: 2.5rem; }
.ditib-gemeinden__titel { display: flex; align-items: baseline; gap: .75rem; font-size: 1.2rem; margin: 0 0 1rem; padding-bottom: .5rem; border-bottom: 2px solid var(--ditib-anthrazit); }
.ditib-gemeinden__anzahl { font-size: .85rem; font-weight: 500; color: var(--ditib-grau); }
.ditib-gemeinden__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.ditib-gemeinde-karte a { display: flex; align-items: center; gap: .9rem; padding: .85rem 1rem; border: 1px solid var(--ditib-linie); background: #fff; text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
.ditib-gemeinde-karte a:hover { border-color: var(--ditib-anthrazit); box-shadow: 0 4px 14px rgba(31, 42, 55, .08); }
.ditib-gemeinde-karte__bild { flex: 0 0 52px; width: 52px; height: 52px; object-fit: cover; background: var(--ditib-grau-hell); }
.ditib-gemeinde-karte__bild--muster { display: flex; align-items: center; justify-content: center; background: var(--ditib-grau-hell); position: relative; }
.ditib-gemeinde-karte__bild--muster::after { content: ""; width: 26px; height: 16px; border-radius: 50%; background: var(--ditib-rot); }
.ditib-gemeinde-karte__text { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.ditib-gemeinde-karte__titel { font-weight: 700; }
.ditib-gemeinde-karte__moschee { font-size: .85rem; color: var(--ditib-grau); }
.ditib-gemeinden__leer { color: var(--ditib-grau); }

/* Termine */
.ditib-termine__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.ditib-termin-karte a { display: flex; align-items: center; gap: 1.1rem; padding: 1rem 1.1rem; border: 1px solid var(--ditib-linie); background: #fff; text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
.ditib-termin-karte a:hover { border-color: var(--ditib-anthrazit); box-shadow: 0 4px 14px rgba(31, 42, 55, .08); }
.ditib-termin-karte__datum { flex: 0 0 3.8rem; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: .45rem 0; background: var(--ditib-grau-hell); border-top: 3px solid var(--ditib-rot); line-height: 1.1; }
.ditib-termin-karte__tag { font-size: 1.5rem; font-weight: 700; color: var(--ditib-anthrazit); }
.ditib-termin-karte__monat { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ditib-grau); }
.ditib-termin-karte__text { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.ditib-termin-karte__titel { font-weight: 700; }
.ditib-termin-karte__info { font-size: .875rem; color: var(--ditib-grau); }
.ditib-termine__leer { color: var(--ditib-grau); }

/* Landesvorstand */
.ditib-vorstand__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 2rem 1.25rem; }
.ditib-person { display: flex; flex-direction: column; gap: .2rem; }
.ditib-person__bild { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; margin-bottom: .6rem; background: var(--ditib-grau-hell); }
.ditib-person__bild--platzhalter { display: flex; align-items: center; justify-content: center; font-size: 2.5rem; font-weight: 700; color: var(--ditib-grau); }
.ditib-person__name { font-weight: 700; }
.ditib-person__funktion { font-size: .9rem; color: var(--ditib-grau); }
.ditib-person__email { font-size: .85rem; }

/* Instagram */
.ditib-instagram__liste { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.ditib-instagram__beitrag { min-height: 220px; overflow: hidden; background: var(--ditib-grau-hell); }
.ditib-instagram__laden { width: 100%; height: 100%; min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; padding: 1.5rem; border: 1px dashed var(--ditib-linie); background: transparent; font: inherit; color: inherit; cursor: pointer; }
.ditib-instagram__laden:hover { border-color: var(--ditib-anthrazit); background: #fff; }
.ditib-instagram__icon { width: 36px; height: 36px; background: var(--ditib-anthrazit); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat; }
.ditib-instagram__titel { font-weight: 700; }
.ditib-instagram__hinweis { font-size: .75rem; color: var(--ditib-grau); }
.ditib-instagram__beitrag.is-geladen { background: transparent; min-height: 0; }
.ditib-instagram__profil { margin: 0; }

/* Standortkarte */
.ditib-karte { margin: 0; }
.ditib-karte__svg { display: block; width: 100%; height: auto; border: 1px solid var(--ditib-linie); background: #EAF2F8; }
.ditib-karte__stadt { font-family: inherit; font-size: 22px; font-weight: 600; fill: #6B7480; letter-spacing: .02em; pointer-events: none; }
.ditib-karte__punkt circle, .ditib-karte__punkt rect { fill: var(--ditib-rot); stroke: #fff; stroke-width: 3; transition: r .15s, transform .15s; cursor: pointer; }
.ditib-karte__punkt--zentrale rect { fill: var(--ditib-anthrazit); }
.ditib-karte__punkt:hover circle, .ditib-karte__punkt:focus circle { r: 12; }
.ditib-karte__punkt:focus { outline: none; }
.ditib-karte__legende { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.1rem; margin-top: .6rem; font-size: .85rem; color: var(--ditib-grau); }
.ditib-karte__symbol { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: var(--ditib-rot); margin-right: .35rem; vertical-align: -1px; }
.ditib-karte__symbol--zentrale { border-radius: 2px; background: var(--ditib-anthrazit); transform: rotate(45deg); width: 10px; height: 10px; }
.ditib-karte__quelle { margin-left: auto; font-size: .75rem; }

/* Kontaktformular */
.ditib-formular { display: flex; flex-direction: column; gap: 1.1rem; }
.ditib-formular__reihe { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.1rem; }
.ditib-formular__feld { display: flex; flex-direction: column; gap: .35rem; }
.ditib-formular__feld label { font-weight: 600; font-size: .95rem; }
.ditib-formular__optional { font-weight: 400; color: var(--ditib-grau); }
.ditib-formular input[type="text"], .ditib-formular input[type="email"], .ditib-formular input[type="tel"], .ditib-formular select, .ditib-formular textarea { width: 100%; box-sizing: border-box; font: inherit; padding: .75rem .9rem; border: 1.5px solid #C9CFD6; border-radius: 3px; background: #fff; color: inherit; }
.ditib-formular input:focus, .ditib-formular select:focus, .ditib-formular textarea:focus { outline: 3px solid var(--ditib-rot); outline-offset: 1px; border-color: var(--ditib-anthrazit); }
.ditib-formular .hat-fehler input, .ditib-formular .hat-fehler select, .ditib-formular .hat-fehler textarea { border-color: var(--ditib-rot); }
.ditib-formular__fehler { margin: 0; font-size: .85rem; color: var(--ditib-rot-dunkel); font-weight: 600; }
.ditib-formular__zustimmung { flex-direction: row; align-items: flex-start; gap: .7rem; flex-wrap: wrap; }
.ditib-formular__zustimmung input { width: 1.25rem; height: 1.25rem; margin-top: .2rem; flex-shrink: 0; accent-color: var(--ditib-rot); }
.ditib-formular__zustimmung label { font-weight: 400; font-size: .95rem; flex: 1 1 20rem; }
.ditib-formular__zustimmung .ditib-formular__fehler { flex-basis: 100%; }
.ditib-formular__pflicht { margin: 0; font-size: .85rem; color: var(--ditib-grau); }
.ditib-formular button { align-self: flex-start; cursor: pointer; border: 0; font: inherit; }
.ditib-formular__falle { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ditib-formular__erfolg { padding: 1rem 1.25rem; margin-bottom: 1.25rem; background: #EAF7EE; border-left: 4px solid #2E7D4F; color: #1F2A37; }
.ditib-formular__hinweis { padding: 1rem 1.25rem; margin-bottom: 1.25rem; background: #FDECEC; border-left: 4px solid var(--ditib-rot); color: #1F2A37; }
.ditib-kontaktformular { position: relative; }

/* Platzhalter-Kachel: dezentes geometrisches Motiv */
.ditib-meldung__bild--leer { background-color: #EEF0F3; background-image: url("img/muster-stern.svg"); background-size: 96px 96px; background-position: center; }

/* Platzhalter-Kachel mit Bildmotiv */
.ditib-meldung__bild--leer { background-image: url("img/platzhalter-presse.jpg"); background-size: cover; background-position: center; border-bottom: 3px solid var(--ditib-rot); }
.ditib-meldung__bild--leer .ditib-meldung__marke { display: none; }
.ditib-meldung__bild--leer .ditib-meldung__rubrik { align-self: flex-start; background: rgba(255,255,255,.92); padding: .3rem .6rem; font-size: .9rem; }

/* Standortkarte: Regionsflächen und Legende ------------------------------------------------ */
.ditib-karte__flaeche { opacity: .18; transition: opacity .25s ease; cursor: pointer; }
.ditib-karte__flaeche path { vector-effect: non-scaling-stroke; }
.ditib-karte.is-auswahl .ditib-karte__flaeche { opacity: .07; }
.ditib-karte.is-auswahl .ditib-karte__flaeche.is-aktiv, .ditib-karte__flaeche.is-aktiv { opacity: .45; }
.ditib-karte__nummer { font-family: inherit; font-size: 46px; font-weight: 800; opacity: .55; paint-order: stroke fill; stroke: #fff; stroke-width: 6px; stroke-linejoin: round; pointer-events: none; transition: opacity .25s ease; }
.ditib-karte.is-auswahl .ditib-karte__nummer { opacity: .22; }
.ditib-karte.is-auswahl .ditib-karte__nummer.is-aktiv { opacity: .95; }
.ditib-karte__punkt { transition: opacity .25s ease; }
.ditib-karte__punkt.is-gedimmt { opacity: .3; }
.ditib-karte__legende { display: flex; flex-direction: column; gap: .6rem; margin-top: .75rem; font-size: .85rem; color: var(--ditib-grau); }
.ditib-karte__regionen { display: flex; flex-wrap: wrap; gap: .4rem; }
.ditib-karte__regionen button { font: inherit; font-size: .85rem; font-weight: 600; display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .75rem; border: 1.5px solid var(--ditib-linie); background: #fff; color: var(--ditib-anthrazit); border-radius: 999px; cursor: pointer; transition: border-color .15s, background-color .15s, color .15s; }
.ditib-karte__regionen button:hover { border-color: var(--ditib-region-farbe, var(--ditib-anthrazit)); }
.ditib-karte__regionen button.is-active { background: var(--ditib-region-farbe, var(--ditib-anthrazit)); border-color: var(--ditib-region-farbe, var(--ditib-anthrazit)); color: #fff; }
.ditib-karte__swatch { width: 11px; height: 11px; border-radius: 50%; background: var(--ditib-region-farbe); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.ditib-karte__regionen button.is-active .ditib-karte__swatch { background: #fff; }
.ditib-karte__anzahl { font-weight: 500; opacity: .75; }
.ditib-karte__zeichen { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.1rem; }
.ditib-region__orte { font-size: .85rem; color: var(--ditib-grau); line-height: 1.45; }

/* Freitagspredigt (Hutbe) des Bundesverbands ------------------------------------------------- */
.ditib-hutbe { display: flex; flex-direction: column; gap: .5rem; }
.ditib-hutbe__titel { margin: 0; font-size: 1.2rem; line-height: 1.3; }
.ditib-hutbe__titel a { color: inherit; text-decoration: none; }
.ditib-hutbe__titel a:hover { text-decoration: underline; text-decoration-color: var(--ditib-rot); text-underline-offset: 3px; }
.ditib-hutbe__meta { margin: 0; font-size: .9rem; color: var(--ditib-grau); }
.ditib-hutbe__links { display: flex; flex-wrap: wrap; gap: .5rem; margin: .25rem 0 0; padding: 0; list-style: none; }
.ditib-hutbe__links a { display: inline-flex; align-items: center; gap: .35rem; font-size: .85rem; font-weight: 600; padding: .4rem .75rem; border: 1.5px solid var(--ditib-linie); border-radius: 3px; text-decoration: none; color: var(--ditib-anthrazit); }
.ditib-hutbe__links a:hover { border-color: var(--ditib-anthrazit); }
.ditib-hutbe__links a.ditib-hutbe__pdf { background: var(--ditib-rot); border-color: var(--ditib-rot); color: #fff; }
.ditib-hutbe__links a.ditib-hutbe__pdf:hover { background: #B5000F; border-color: #B5000F; }
.ditib-hutbe__hinweis { margin: .25rem 0 0; font-size: .85rem; color: var(--ditib-grau); }
.ditib-hutbe--karte { background: #fff; border: 1px solid var(--ditib-linie); border-left: 4px solid var(--ditib-rot); padding: 1.5rem 1.75rem; }

/* Kontaktformular: Empfänger ------------------------------------------------------------ */
.ditib-formular__empfaenger { margin: 0 0 1rem; padding: .75rem 1rem; background: #F3F4F6; border-left: 4px solid var(--ditib-rot); }
.ditib-formular__empfaenger-label { color: var(--ditib-grau); margin-right: .35rem; }
.ditib-formular__hilfe { margin: .35rem 0 0; font-size: .85rem; color: var(--ditib-grau); }
.ditib-formular select optgroup { font-weight: 700; }

/* Intranet ------------------------------------------------------------------------------- */
.ditib-intranet__login { max-width: 520px; background: #fff; border: 1px solid var(--ditib-linie); border-top: 4px solid var(--ditib-rot); padding: 2rem; }
.ditib-intranet__login h2 { margin: 0 0 .5rem; }
.ditib-intranet__login p { color: var(--ditib-grau); }
.ditib-intranet__login form p { margin: 0 0 1rem; color: inherit; }
.ditib-intranet__login label { display: block; font-weight: 600; margin-bottom: .3rem; }
.ditib-intranet__login input[type="text"], .ditib-intranet__login input[type="password"] { width: 100%; font: inherit; padding: .65rem .8rem; border: 1.5px solid var(--ditib-linie); border-radius: 3px; }
.ditib-intranet__login .login-remember label { display: flex; align-items: center; gap: .5rem; font-weight: 500; }
.ditib-intranet__login input[type="submit"] { font: inherit; font-weight: 700; background: var(--ditib-rot); color: #fff; border: 0; padding: .75rem 1.4rem; border-radius: 3px; cursor: pointer; }
.ditib-intranet__login input[type="submit"]:hover { background: #B5000F; }
.ditib-intranet__vergessen { font-size: .9rem; margin: 0; }
.ditib-intranet__kopf { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.ditib-intranet__nutzer { margin: 0; color: var(--ditib-grau); }
.ditib-intranet__aktionen { display: flex; flex-wrap: wrap; gap: .5rem; }
.ditib-intranet__aktionen .ditib-button.is-style-outline { background: transparent; color: var(--ditib-anthrazit); border: 2px solid var(--ditib-anthrazit); }
.ditib-intranet__karten { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; margin-bottom: 2rem; }
.ditib-intranet__karte { background: #fff; border: 1px solid var(--ditib-linie); border-top: 4px solid var(--ditib-rot); padding: 1.25rem 1.5rem; }
.ditib-intranet__karte h3 { margin: 0 0 .5rem; font-size: 1.1rem; }
.ditib-intranet__karte p { margin: 0; }
.ditib-intranet__karte .ditib-hutbe__hinweis { display: none; }
.ditib-intranet__werkzeuge { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin-bottom: 1rem; }
.ditib-intranet__suche { display: flex; flex-direction: column; gap: .3rem; font-weight: 600; flex: 1 1 260px; }
.ditib-intranet__suche input { font: inherit; padding: .6rem .8rem; border: 1.5px solid var(--ditib-linie); border-radius: 3px; }
.ditib-intranet__filter { display: flex; flex-wrap: wrap; gap: .4rem; }
.ditib-intranet__filter button { font: inherit; font-size: .85rem; font-weight: 600; padding: .5rem .85rem; border: 1.5px solid var(--ditib-linie); background: #fff; color: var(--ditib-anthrazit); border-radius: 999px; cursor: pointer; }
.ditib-intranet__filter button.is-active { background: var(--ditib-anthrazit); border-color: var(--ditib-anthrazit); color: #fff; }
.ditib-intranet__tabelle { width: 100%; border-collapse: collapse; font-size: .92rem; background: #fff; border: 1px solid var(--ditib-linie); }
.ditib-intranet__tabelle th, .ditib-intranet__tabelle td { text-align: left; vertical-align: top; padding: .75rem .85rem; border-bottom: 1px solid var(--ditib-linie); }
.ditib-intranet__tabelle th { background: #F3F4F6; font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ditib-grau); }
.ditib-intranet__kontakt a, .ditib-intranet__kontakt strong { display: block; }
.ditib-intranet__kontakt a { color: var(--ditib-anthrazit); text-decoration: none; }
.ditib-intranet__kontakt a:hover { text-decoration: underline; }
.ditib-intranet__klein { font-size: .82rem; color: var(--ditib-grau); }
.ditib-intranet__leer { color: #B4BAC3; }
.ditib-intranet__hinweis { max-width: 240px; color: var(--ditib-grau); font-size: .85rem; }
@media (max-width: 900px) {
	.ditib-intranet__tabelle thead { display: none; }
	.ditib-intranet__tabelle tr { display: block; padding: .5rem 0; }
	.ditib-intranet__tabelle td { display: block; border: 0; padding: .35rem .85rem; }
	.ditib-intranet__tabelle td.ditib-intranet__kontakt::before { content: attr(data-label); display: block; font-size: .75rem; text-transform: uppercase; color: var(--ditib-grau); }
	.ditib-intranet__tabelle tr + tr { border-top: 2px solid var(--ditib-linie); }
}
@media print { .ditib-intranet__kopf, .ditib-intranet__werkzeuge, .ditib-intranet__karten { display: none; } }
