/* Gemeinsame linke/rechte Kante aller Seitenbereiche (Inhaltsbreite 1168 px, mind. 56 px Rand) */
:root { --fsr-page: 100vw; --fsr-gutter: max(56px, calc((var(--fsr-page) - 1168px) / 2)); }

/* ===== BAUSTEINE (Mockup „Bausteine“, 25.09.2026) =====
   Farben kommen aus der Palette (has-*-background-color); hier nur Form. */

.chip {
    display: inline-block;
    flex: 0 0 auto;
    margin: 0;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.4;
}

/* Hinweis-Box */
.hinweis-box {
    border-radius: 12px;
    padding: 22px 28px;
    gap: 16px 24px;
    box-sizing: border-box;
}
.hinweis-box__inhalt { gap: 16px; }
.hinweis-box__inhalt > p:not(.chip) { margin: 0; font-size: 14px; line-height: 1.55; max-width: 560px; }
.hinweis-box .wp-block-buttons { margin: 0; }
.hinweis-box .wp-block-button__link { font-size: 13px; font-weight: 600; padding: 10px 20px; border-radius: 999px; }

/* Referats-Karten */
.referat-raster { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.referat-raster > * { margin: 0 !important; }
.referat-karte { border-radius: 14px; padding: 18px; box-sizing: border-box; }
.referat-karte > * { margin: 0; }
.referat-karte h3 { font-family: 'Montserrat', 'Inter', Arial, sans-serif; font-weight: 800; font-size: 15px; margin-bottom: 6px; }
.referat-karte__text { font-size: 12.5px; line-height: 1.5; opacity: 0.9; margin-bottom: 10px !important; }
.referat-karte__kontakt { font-size: 11.5px; font-weight: 600; opacity: 0.8; }
@media (max-width: 900px) { .referat-raster { grid-template-columns: 1fr; } }

/* Zahlen-Kachel */
.zahlen-kachel { border-radius: 6px; padding: 32px; box-sizing: border-box; max-width: 420px; position: relative; overflow: hidden; }
.zahlen-kachel > * { margin: 0; }
.zahlen-kachel::after { content: '§'; position: absolute; right: -20px; top: -30px; font-family: 'Montserrat', serif; font-weight: 800; font-size: 160px; line-height: 1; color: var(--wp--preset--color--pink, #ff66c4); opacity: 0.15; pointer-events: none; }
.zahlen-kachel__zahl { font-family: 'Montserrat', 'Inter', sans-serif; font-weight: 800; font-size: 36px; }
.zahlen-kachel__text { font-size: 14px; line-height: 1.5; font-weight: 600; margin-top: 4px !important; }
.zahlen-kachel__link { margin-top: 14px !important; font-size: 13px; font-weight: 700; }
.zahlen-kachel__link a { color: inherit; text-decoration: none; border-bottom: 2px solid var(--wp--preset--color--pink, #ff66c4); padding-bottom: 2px; }
.zahlen-kachel__trenner { height: 1px; border: 0; opacity: 0.25; margin: 18px 0 14px !important; max-width: none; }
.zahlen-kachel__label { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; margin-bottom: 4px !important; }

/* Schritt-Karte */
.schritt-karte { border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); padding: 14px 16px; gap: 12px; box-sizing: border-box; }
.schritt-karte > p { margin: 0; font-size: 14px; line-height: 1.55; }
.schritt-karte__nummer { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 13px; font-family: 'Montserrat', 'Inter', sans-serif; padding: 0; }
.schritt-karte > p.schritt-karte__nummer { font-size: 13px; line-height: 1; }

/* Link-Pillen */
.link-pillen { gap: 10px; }
.link-pillen .wp-block-button__link { height: 36px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; font-size: 12.5px; font-weight: 600; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--bordeaux, #5e1f27); background: var(--wp--preset--color--white, #fff); transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; }
.link-pillen .wp-block-button__link:hover,
.link-pillen .wp-block-button__link:focus { background: var(--wp--preset--color--bordeaux, #5e1f27); color: #fff; box-shadow: 0 0 0 3px rgba(255, 102, 196, 0.45); }

/* Kontodaten-Box (mit Kopieren-Knopf) */
.kontodaten-box { border-radius: 12px; padding: 16px 20px; box-sizing: border-box; max-width: 420px; }
.kontodaten-box > * { margin: 0; }
.kontodaten-box__label { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; margin-bottom: 6px !important; }
.kontodaten-box__zeile { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; font-size: 13px; }
.kontodaten-box__zeile + .kontodaten-box__zeile { border-top: 1px solid rgba(255,255,255,0.15); }
.kontodaten-box__zeile > * { margin: 0; }
.kontodaten-box__name { opacity: 0.75; }
.kontodaten-box__wert { font-family: monospace; font-weight: 600; margin-left: auto; }
.kontodaten-box__kopieren { background: rgba(255,255,255,0.18); color: inherit; border: 0; font: inherit; font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 999px; cursor: pointer; }
.kontodaten-box__kopieren:hover, .kontodaten-box__kopieren:focus { background: rgba(255,255,255,0.32); }

/* Chips als Block-Stil „Chip“ */
.wp-block-paragraph.is-style-chip, p.is-style-chip { display: inline-block; margin: 0; padding: 5px 12px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.4; }

/* Buttons: einheitlich rund, vier Stile */
.wp-block-button .wp-block-button__link { border-radius: 999px; font-size: 13px; font-weight: 600; padding: 10px 20px; text-decoration: none; }
.wp-block-button.is-style-primaer .wp-block-button__link { background: var(--wp--preset--color--bordeaux, #5e1f27); color: #fff; }
.wp-block-button.is-style-sekundaer .wp-block-button__link { background: var(--wp--preset--color--dunkelblau, #1a2431); color: #fff; }
.wp-block-button.is-style-auf-dunkel .wp-block-button__link { background: #fff; color: var(--wp--preset--color--blau, #1d3b58); }
.wp-block-button.is-style-akzent .wp-block-button__link { background: var(--wp--preset--color--pink, #ff66c4); color: var(--wp--preset--color--dunkelblau, #1a2431); }

/* Download-Kachel: 72 px, PDF-Kürzel, Name einzeilig, runder Button */
.download-item { min-height: 72px; padding: 0 20px; gap: 14px; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); border-left: 0; background: #fff; align-items: center; }
.download-item.wp-block-group::before { width: 40px; height: 40px; margin-right: 0; border-radius: 8px; background: var(--wp--preset--color--bordeaux, #5e1f27); mask: none; -webkit-mask: none; content: 'PDF'; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; }
.download-item .wp-block-file { display: flex; flex-direction: row; align-items: center; flex: 1 1 auto; gap: 14px; min-width: 0; max-width: none; }
.download-item .wp-block-file > a:not(.wp-block-file__button) { flex: 1 1 auto; min-width: 0; font-size: 14px; font-weight: 700; line-height: 1.35; color: var(--wp--preset--color--bordeaux, #5e1f27); white-space: normal; overflow-wrap: anywhere; padding: 10px 0; }
.download-item .wp-block-file .wp-block-file__button { flex: 0 0 auto; background: var(--wp--preset--color--bordeaux, #5e1f27); color: #fff; font-size: 12px; font-weight: 600; padding: 10px 20px; border-radius: 999px; }
@media (max-width: 700px) {
    .download-item { flex-wrap: wrap; padding: 12px 16px; }
    .download-item .wp-block-file { flex-wrap: wrap; }
    .download-item .wp-block-file > a:not(.wp-block-file__button) { white-space: normal; }
}

/* AG-Karte: weiße Karte mit farbigem Kopfstrich */
.arbeitsgruppe-card { border: 0; border-top: 5px solid var(--wp--preset--color--bordeaux, #5e1f27); border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); padding: 18px 20px; }
.arbeitsgruppe-card:hover { transform: none; border-color: inherit; }
.arbeitsgruppe-card .arbeitsgruppe-title { font-family: 'Montserrat', 'Inter', sans-serif; font-weight: 800; font-size: 16px; color: var(--wp--preset--color--dunkelblau, #1a2431); }

/* Kontakt-/Sprechzeiten-Karten mit Palettenfarbe */
.kontakt-block.has-background { border-radius: 14px; padding: 18px 20px; box-sizing: border-box; }
.kontakt-block.has-background .kontakt-title,
.kontakt-block.has-background .kontakt-label { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: inherit; }

/* Beitrags-Raster (Query Loop) */
.beitrags-raster .wp-block-post-template { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; padding: 0; list-style: none; }
.beitrags-karte { border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); overflow: hidden; background: #fff; height: 100%; }
.beitrags-karte > * { margin: 0; }
.beitrags-karte .wp-block-post-featured-image { height: 220px; }
.beitrags-karte .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.beitrags-karte__text { padding: 22px 26px 26px; }
.beitrags-karte__text > * { margin: 0 0 10px; }
.beitrags-karte .wp-block-post-date { display: inline-block; background: var(--wp--preset--color--cream, #FAF3E9); color: var(--wp--preset--color--dunkelblau, #1a2431); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; margin-bottom: 12px; }
.beitrags-karte .wp-block-post-title { font-size: 19px; line-height: 1.3; letter-spacing: -0.01em; }
.beitrags-karte .wp-block-post-title a { color: var(--wp--preset--color--dunkelblau, #1a2431); text-decoration: none; }
.beitrags-karte .wp-block-post-excerpt { font-size: 14px; line-height: 1.65; color: #444; }
.beitrags-karte .wp-block-post-excerpt__more-link { display: none; }
.beitrags-karte .wp-block-read-more { color: var(--wp--preset--color--bordeaux, #5e1f27); font-weight: 600; font-size: 14px; text-decoration: none; border-bottom: 1px solid currentColor; }
@media (max-width: 800px) { .beitrags-raster .wp-block-post-template { grid-template-columns: 1fr; gap: 20px; } .beitrags-karte .wp-block-post-featured-image { height: 170px; } }

/* ===== Mitgliederkarte (Mockup „Der Fachschaftsrat“) =====
   Alle Karten einer Sektion liegen in EINEM 6-Spalten-Raster, egal wie die
   Zeilen (Spalten-Blöcke) im Editor angelegt sind: die Zeilen werden per
   display:contents aufgelöst. Fotos hochkant 3:4, Name Montserrat, Amt in Bordeaux. */
html, body { overflow-x: clip; }

.vorstand-gallery-section.wp-block-group {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px 24px;
    align-items: start;
    width: 100%;
    max-width: 1168px;
    margin: 0 auto;
    padding: 48px 56px 52px;
    box-sizing: border-box;
}
.vorstand-gallery-section.wp-block-group > * { margin: 0; }
.vorstand-gallery-section > .wp-block-heading {
    grid-column: 1 / -1;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: left;
    color: var(--wp--preset--color--blau, #1d3b58);
    margin-bottom: -8px;
}
.vorstand-gallery-section .wp-block-columns { display: contents; }
.vorstand-gallery-section .wp-block-column { flex: none !important; flex-basis: auto !important; width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; }
.vorstand-gallery-section .vorstand-img { margin: 0; }
.vorstand-gallery-section .vorstand-img img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 0; display: block; }
.vorstand-gallery-section .vorstand-name,
.vorstand-gallery-section p.vorstand-name { margin: 12px 0 0; font-family: 'Montserrat', 'Inter', sans-serif; font-weight: 800; font-size: 15px; line-height: 1.3; color: var(--wp--preset--color--dunkelblau, #1a2431); text-align: left; }
.vorstand-gallery-section .vorstand-title,
.vorstand-gallery-section p.vorstand-title { margin: 2px 0 0; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--wp--preset--color--bordeaux, #5e1f27); text-align: left; order: 2; }
/* Amt steht im Markup vor dem Namen; hier unter dem Namen anzeigen */
.vorstand-gallery-section .wp-block-column { display: flex; flex-direction: column; }
.vorstand-gallery-section .wp-block-column > .vorstand-img { order: 0; }
.vorstand-gallery-section .wp-block-column > .vorstand-name { order: 1; }
.vorstand-gallery-section .wp-block-column > .vorstand-title { order: 2; }

/* Mitglieder: vollbreites Lila-Band, ohne Amt-Zeile */
.fsr-mitglieder-section.wp-block-group {
    background: var(--wp--preset--color--lila, #e2a9f1);
    width: auto;
    max-width: none;
    margin-left: calc(-1 * var(--fsr-gutter)) !important;
    margin-right: calc(-1 * var(--fsr-gutter)) !important;
    padding: 44px var(--fsr-gutter) 56px;
}
.fsr-mitglieder-section .vorstand-title { display: none; }
.fsr-mitglieder-section > .wp-block-heading { color: var(--wp--preset--color--dunkelblau, #1a2431); }

@media (max-width: 1000px) { .vorstand-gallery-section.wp-block-group { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-left: 20px; padding-right: 20px; } .fsr-mitglieder-section.wp-block-group { padding-left: 20px; padding-right: 20px; } }
@media (max-width: 520px) { .vorstand-gallery-section.wp-block-group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; } }

/* Mitgliederkarte: alte Kartenreste (Höhe, Grau, Zentrierung) neutralisieren */
.vorstand-gallery-section .wp-block-column { text-align: left !important; align-items: stretch !important; }
.vorstand-gallery-section .vorstand-img { height: auto !important; min-height: 0 !important; max-height: none !important; background: none !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important; overflow: hidden; }
.vorstand-gallery-section .vorstand-img img { height: auto !important; max-height: none !important; }
.vorstand-gallery-section p.vorstand-name,
.vorstand-gallery-section p.vorstand-title { text-align: left !important; background: none !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important; width: auto !important; max-width: none !important; }
.beitrags-raster .wp-block-post-template.news-list { display: grid; }

/* Inhaltsbreite wie im Mockup: 1280 − 2×56 = 1168 px */
.about, .contact, .gallery, .examenspfand, .useful-links, .downloads-list { max-width: 1168px; }
.downloads-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 800px) { .downloads-list { grid-template-columns: 1fr; } }

/* ===== Infos für Ersties (Mockup „Infos für Ersties“) ===== */
.ersti-seite { max-width: none; margin: 0; padding: 56px 0; box-sizing: border-box; }
.ersti-seite > * { margin-block-start: 0; }
.ersti-einleitung { display: flex; gap: 56px; align-items: flex-start; margin-bottom: 36px; }
.ersti-einleitung > * { margin: 0; }
.ersti-einleitung__text { flex: 0 1 720px; }
.ersti-einleitung__text p { font-size: 15px; line-height: 1.7; margin: 0 0 12px; }
.ersti-blick { flex: 1 1 auto; border-radius: 16px; padding: 28px 30px; box-sizing: border-box; position: relative; overflow: hidden; }
.ersti-blick > * { margin: 0; position: relative; z-index: 1; }
.ersti-blick::after { content: '§'; position: absolute; right: -18px; top: -30px; font-family: 'Montserrat', serif; font-weight: 800; font-size: 150px; line-height: 1; color: var(--wp--preset--color--pink, #ff66c4); opacity: 0.15; pointer-events: none; }
.ersti-blick__label { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; margin-bottom: 10px !important; }
.ersti-blick__datum { font-family: 'Montserrat', 'Inter', sans-serif; font-weight: 800; font-size: 26px; line-height: 1.2; margin-bottom: 6px !important; }
.ersti-blick__text { font-size: 14px; line-height: 1.6; opacity: 0.92; margin-bottom: 20px !important; }
.ersti-blick .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 10px; }
.ersti-blick .wp-block-button { width: 100%; }
.ersti-blick .wp-block-button__link { display: block; text-align: center; }
.ersti-kalender { border-radius: 14px; padding: 24px 28px; margin: 0 0 12px; box-sizing: border-box; }
.erstiwoche-hero { padding: 64px var(--fsr-gutter); min-height: 300px; box-sizing: border-box; margin-left: calc(-1 * var(--fsr-gutter)) !important; margin-right: calc(-1 * var(--fsr-gutter)) !important; max-width: none !important; }
.erstiwoche-hero .chip { margin-top: 14px; }
.ersti-seite .erstiwoche-row { max-width: none; }
@media (max-width: 900px) { .ersti-einleitung { flex-direction: column; gap: 28px; } .ersti-seite { padding: 32px 20px; } .erstiwoche-hero { padding: 32px 20px; } }

/* ===== STARTSEITE (Mockup „Startseite“) ===== */
.hero { height: 660px; min-height: 420px; padding: 0 48px 0 0; justify-content: flex-end; margin-bottom: 64px; }
.hero-text { width: 480px; max-width: calc(100% - 32px); padding: 28px 32px; margin-bottom: -64px; box-shadow: 0 12px 32px rgba(0,0,0,0.15); }
.hero-text > * { margin: 0; }
.hero-text .chip { margin-bottom: 14px; }
.hero-text h1 { font-size: 34px; font-weight: 800; line-height: 1.15; margin: 0 0 10px; color: var(--wp--preset--color--bordeaux, #5e1f27); }
.hero-text p:not(.chip) { font-size: 15px; line-height: 1.5; color: var(--wp--preset--color--dunkelblau, #1a2431); }

.ersti-band { margin-top: 88px; min-height: 180px; padding: 32px var(--fsr-gutter); display: flex; align-items: center; justify-content: space-between; gap: 32px; box-sizing: border-box; position: relative; overflow: hidden; }
.ersti-band > * { position: relative; z-index: 1; margin: 0; }
.ersti-band__text { max-width: 520px; }
.ersti-band__text > * { margin: 0; }
.ersti-band h2 { font-size: 26px; margin: 0 0 8px; }
.ersti-band__text p { font-size: 15px; line-height: 1.5; opacity: 0.92; }
.ersti-band .wp-block-button__link { padding: 14px 28px; font-size: 14px; }

.startseite-ueber { max-width: none; width: 100%; margin: 0; padding: 64px var(--fsr-gutter); box-sizing: border-box; display: flex; gap: 48px; align-items: flex-start; }
.startseite-ueber > * { margin: 0; }
.startseite-ueber__text { flex: 0 1 720px; }
.startseite-ueber__text > * { margin-block-start: 0; }
.startseite-ueber__text h2 { font-size: 30px; margin: 0 0 16px; text-align: left; }
.startseite-ueber__text p { font-size: 15px; line-height: 1.7; color: #333; margin: 0 0 12px; }
.startseite-ueber__text p:first-child { font-size: 16px; font-weight: 600; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.startseite-ueber .zahlen-kachel { flex: 1 1 auto; max-width: none; }

.useful-links { background: var(--wp--preset--color--bordeaux, #5e1f27); padding: 48px 0; max-width: none; border-radius: 0; margin: 0; }
.nuetzliche-links__label { color: var(--wp--preset--color--rosa, #ff99d8); font-size: 13px; font-weight: 700; letter-spacing: 0.06em; margin: 0 0 24px var(--fsr-gutter) !important; }

@media (max-width: 900px) {
    .hero { height: 250px; padding: 0 16px; margin-bottom: 40px; justify-content: center; }
    .hero-text { width: auto; padding: 22px 20px; margin-bottom: -40px; }
    .hero-text h1 { font-size: 26px; }
    .ersti-band { flex-direction: column; align-items: flex-start; padding: 28px 20px; margin-top: 68px; }
        .startseite-ueber { flex-direction: column; padding: 32px 20px; gap: 28px; }
    .startseite-ueber .zahlen-kachel { width: 100%; }
    .nuetzliche-links__label { margin-left: 20px !important; }
}

/* Nützliche Links: Beschriftung rosa, Titel unter dem Bild statt Hover-Overlay */
.useful-links .nuetzliche-links__label { color: var(--wp--preset--color--rosa, #ff99d8); }
.useful-gallery figure.wp-block-image { display: flex; flex-direction: column; align-items: center; background: #fff; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); padding: 20px 12px; margin: 0; box-sizing: border-box; height: auto; overflow: hidden; }
.useful-gallery figure.wp-block-image a { display: block; }
.useful-gallery figure.wp-block-image img { width: 44px; height: 44px; object-fit: cover; object-position: 62% center; border-radius: 8px; display: block; margin: 0 auto 10px; background: none; padding: 0; }
.useful-gallery figure.wp-block-image figcaption { position: static; opacity: 1; background: none; color: var(--wp--preset--color--dunkelblau, #1a2431); font-size: 12px; font-weight: 600; line-height: 1.2; padding: 0; margin: 0; text-align: center; display: block; height: auto; pointer-events: auto; }
@media (min-width: 901px) {
    .useful-links-gallery-wrapper { width: 100%; max-width: none; left: auto; right: auto; margin-left: 0; margin-right: 0; overflow: visible; }
    .useful-links .useful-gallery.wp-block-group { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 20px; width: 100%; max-width: none; margin: 0; padding: 0 var(--fsr-gutter); overflow: visible; box-sizing: border-box; }
    .useful-gallery figure.wp-block-image { min-width: 0; max-width: none; flex: none; width: auto; }
    .useful-gallery figure.wp-block-image img[alt] { width: 44px !important; height: 44px !important; padding: 0 !important; margin: 0 auto 10px !important; object-fit: cover; }
    .useful-gallery figure.wp-block-image img[alt="Instagram"], .useful-gallery figure.wp-block-image img[alt="StudIP"], .useful-gallery figure.wp-block-image img[alt="Klausurenpool"], .useful-gallery figure.wp-block-image img[alt="Examensprotokolle"], .useful-gallery figure.wp-block-image img[alt="Hausarbeitenpool"] { object-fit: contain; }
}
@media (max-width: 900px) {
    .useful-gallery { gap: 12px; padding: 0 20px 6px; width: 100%; max-width: 100%; box-sizing: border-box; }
    .useful-gallery figure.wp-block-image { flex: 0 0 140px; min-width: 140px; padding: 11px; scroll-snap-align: start; }
    .useful-gallery figure.wp-block-image img { width: 100%; height: 80px; margin: 0; }
    .useful-gallery figure.wp-block-image img[alt="Instagram"], .useful-gallery figure.wp-block-image img[alt="StudIP"], .useful-gallery figure.wp-block-image img[alt="Klausurenpool"], .useful-gallery figure.wp-block-image img[alt="Examensprotokolle"], .useful-gallery figure.wp-block-image img[alt="Hausarbeitenpool"] { width: 52px; height: 52px; margin: 14px auto; object-fit: contain; }
    .useful-gallery figure.wp-block-image figcaption { font-size: 14px; padding: 11px 3px 2px; }
}

/* Mobil: Name bleibt neben dem Logo sichtbar (Mockup Startseite-Mobil) */
@media (max-width: 420px) {
    .header-brand-text { display: block !important; font-size: 15px; }
    .header.is-scrolled .header-brand-text { font-size: 14px; }
}

/* Footer und Mitglieder-/Vorstandsraster auf dieselbe Kante */
.footer { padding-left: var(--fsr-gutter); padding-right: var(--fsr-gutter); }
.vorstand-gallery-section.wp-block-group { max-width: none; padding-left: 0; padding-right: 0; }
@media (max-width: 900px) {
    :root { --fsr-gutter: 20px; }
}

/* Seiteninhalt: eine gemeinsame Spalte (max. 1168 px, mind. 56 px Rand) — Bänder brechen per negativem Rand aus */
.wp-block-post-content.entry-content { max-width: none !important; width: 100%; padding-left: var(--fsr-gutter); padding-right: var(--fsr-gutter); box-sizing: border-box; }
.startseite-ueber .wp-block-post-content.entry-content { padding-left: 0; padding-right: 0; }

/* Titelbild Startseite: Löwe (Mockup); Copyright erscheint beim Darüberfahren, mobil immer sichtbar */
.hero { background-image: url("../images/index/hero-loewe.webp"); background-position: center 30%; background-size: cover; background-repeat: no-repeat; }
.hero .hero-image-copyright { left: 16px; right: auto; bottom: 10px; padding: 3px 8px; border-radius: 4px; border-top-left-radius: 4px; background-color: rgba(26, 36, 49, 0.65); color: #fff; font-size: 11px; line-height: 1.4; opacity: 0; transition: opacity 0.25s ease; }
.hero .hero-image-copyright p { margin: 0; font-size: inherit; }
.hero:hover .hero-image-copyright,
.hero:focus-within .hero-image-copyright { opacity: 1; }
@media (max-width: 900px) { .hero .hero-image-copyright { opacity: 1; left: 10px; top: 10px; bottom: auto; font-size: 10px; } }
.downloads-list { padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0; }

/* Titelbild: scharfes Foto in Originalproportion, Seiten bei breiten Bildschirmen mit weichgezeichneter Fortsetzung (keine Abdunkelung) */
.hero { background-image: none !important; isolation: isolate; overflow: visible; }
.hero::before, .hero::after { content: "" !important; display: block !important; position: absolute; inset: 0; pointer-events: none; }
.hero::before { inset: -60px; z-index: -2; background: url("../images/index/hero-loewe.webp") center 30% / cover no-repeat !important; filter: blur(22px) saturate(1.05); clip-path: inset(60px); }
.hero::after { z-index: -1; background: url("../images/index/hero-loewe.webp") center 30% / cover no-repeat !important; }
@media (min-width: 1500px) { .hero::before { background-size: 340% auto !important; background-position: 100% 22% !important; filter: blur(30px) saturate(1.05); }
 .hero::after { background-size: auto 100% !important; background-position: center !important; -webkit-mask-image: linear-gradient(to right, transparent calc(50% - 587px), #000 calc(50% - 587px + 240px), #000 calc(50% + 587px - 240px), transparent calc(50% + 587px)); mask-image: linear-gradient(to right, transparent calc(50% - 587px), #000 calc(50% - 587px + 240px), #000 calc(50% + 587px - 240px), transparent calc(50% + 587px)); -webkit-mask-size: 100% 100%; } }

/* ===== HOVER: alle Link-Blöcke ändern beim Darüberfahren die Farbe (wie „Bürozeiten“) ===== */
/* Textlinks in Fließtext: weiß auf Bordeaux */
.entry-content p a:not(.wp-block-button__link),
.entry-content li a:not(.wp-block-button__link),
.startseite-ueber p a { border-radius: 4px; padding: 1px 3px; transition: color 0.2s ease, background 0.2s ease; }
.entry-content p a:not(.wp-block-button__link):hover,
.entry-content p a:not(.wp-block-button__link):focus,
.entry-content li a:not(.wp-block-button__link):hover,
.entry-content li a:not(.wp-block-button__link):focus,
.startseite-ueber p a:hover,
.startseite-ueber p a:focus { color: #fff; background: var(--wp--preset--color--bordeaux, #5e1f27); text-decoration: none; outline: none; }

/* Buttons: Farbwechsel nach Palette (Palettenklassen sind !important, daher hier auch) */
.wp-block-button__link { transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
.wp-block-button__link:hover,
.wp-block-button__link:focus { background-color: var(--wp--preset--color--pink, #ff66c4) !important; color: var(--wp--preset--color--dunkelblau, #1a2431) !important; box-shadow: 0 0 0 3px rgba(255, 102, 196, 0.35); }
.wp-block-button__link.has-pink-background-color:hover,
.wp-block-button__link.has-pink-background-color:focus { background-color: #fff !important; color: var(--wp--preset--color--bordeaux, #5e1f27) !important; }
.link-pillen .wp-block-button__link:hover,
.link-pillen .wp-block-button__link:focus { background-color: var(--wp--preset--color--bordeaux, #5e1f27) !important; color: #fff !important; }

/* Kacheln „Nützliche Links“ */
.useful-gallery figure.wp-block-image { transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; }
.useful-gallery figure.wp-block-image:hover,
.useful-gallery figure.wp-block-image:focus-within { background-color: var(--wp--preset--color--lila, #e2a9f1); transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.25); }

/* Zahlen-Kachel, Download-Kacheln, Beitragskarten, Referats-Karten */
.zahlen-kachel__link a { transition: color 0.2s ease, border-color 0.2s ease; }
.zahlen-kachel__link a:hover, .zahlen-kachel__link a:focus { color: var(--wp--preset--color--rosa, #ff99d8); border-bottom-color: #fff; }
.download-item { transition: background-color 0.2s ease, box-shadow 0.2s ease; }
.download-item:hover, .download-item:focus-within { background-color: var(--wp--preset--color--cream, #FAF3E9); box-shadow: 0 6px 18px rgba(94, 31, 39, 0.18); }
.download-item .wp-block-file > a:not(.wp-block-file__button):hover { color: var(--wp--preset--color--pink, #ff66c4); }
.beitrags-karte { transition: box-shadow 0.2s ease, transform 0.2s ease; }
.beitrags-karte:hover { box-shadow: 0 8px 22px rgba(94, 31, 39, 0.2); transform: translateY(-2px); }
.beitrags-karte .wp-block-post-title a:hover { color: var(--wp--preset--color--bordeaux, #5e1f27); }
.beitrags-karte .wp-block-read-more { transition: color 0.2s ease, background 0.2s ease; padding: 1px 3px; border-radius: 4px; }
.beitrags-karte .wp-block-read-more:hover, .beitrags-karte .wp-block-read-more:focus { color: #fff; background: var(--wp--preset--color--bordeaux, #5e1f27); border-bottom-color: transparent; }

/* Menü: weiß mit rosa Unterstrich */
.header .wp-block-navigation-item__content { transition: color 0.2s ease, box-shadow 0.2s ease; }
.header .wp-block-navigation-item__content:hover,
.header .wp-block-navigation-item__content:focus { color: #fff; box-shadow: 0 2px 0 var(--wp--preset--color--pink, #ff66c4); }
.header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { box-shadow: none; }


/* ===== Sehr breite Bildschirme (z. B. 4K): Farbflächen laufen weiter, Inhalt bleibt in der mittleren Spalte ===== */
body { background: #fff; }
.wp-site-blocks { max-width: none; box-shadow: none; }
/* Kopfzeile: Name und Logo an der Inhaltskante statt am Bildschirmrand */
.header { padding-left: max(40px, calc((var(--fsr-page) - 1248px) / 2)); padding-right: max(40px, calc((var(--fsr-page) - 1248px) / 2)); }
/* Hero-Karte an der rechten Inhaltskante */
.hero { padding-right: calc(var(--fsr-gutter) - 8px); }
@media (max-width: 900px) {
    .header { padding-left: 1rem; padding-right: 1rem; }
    .hero { padding-right: 16px; }
}

/* Mitgliederband: Vollbreite, aber Karten an der Inhaltskante (muss nach der allgemeinen Sektionsregel stehen) */
.vorstand-gallery-section.fsr-mitglieder-section.wp-block-group { padding-left: var(--fsr-gutter); padding-right: var(--fsr-gutter); }

/* Startseite: blaues Ersti-Band schließt direkt ans Titelbild an, die Karte ragt darüber */
.hero { margin-bottom: 0 !important; }
.ersti-band { margin-top: 0 !important; min-height: 0; padding-top: 60px; padding-bottom: 60px; align-items: center; }
.ersti-band .ersti-band__text { max-width: 720px; flex: 0 1 auto; }
@media (min-width: 901px) { .ersti-band { justify-content: flex-start; gap: 40px; } }
@media (max-width: 900px) {
    .ersti-band { min-height: 0; padding-top: 68px; }
}

/* Die weiße Karte ragt mit Schatten über das blaue Band (Titelbild liegt über dem Band) */
.hero { position: relative; z-index: 3; }
.ersti-band { position: relative; z-index: 1; }
.hero-text { box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28); }

/* Ersti-Band: Link mitten im Satz (wie „Mitglieder kennenlernen →“), bündig zur Schrift */
.ersti-band__link { color: #fff; font-weight: 700; text-decoration: underline; text-decoration-color: var(--wp--preset--color--pink, #ff66c4); text-decoration-thickness: 2px; text-underline-offset: 4px; padding: 0; margin: 0; border: 0; background: none; transition: color 0.2s ease, text-decoration-color 0.2s ease; }
.ersti-band__link:hover, .ersti-band__link:focus { color: var(--wp--preset--color--rosa, #ff99d8); text-decoration-color: #fff; background: none; }


/* ===== AKTUELLES + EINZELBEITRAG (Mockup „Aktuelles“, „Einzelner Beitrag“) ===== */
.aktuelles-seite, .beitrag-seite { max-width: none; margin: 0; padding: 48px var(--fsr-gutter) 64px; box-sizing: border-box; }
.aktuelles-seite > *, .beitrag-seite > * { margin-block-start: 0; }
.aktuelles-seite h1 { font-size: 30px; margin: 0 0 28px; text-align: left; }
.seiten-label { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; color: var(--wp--preset--color--blau, #1d3b58); margin: 0 0 16px; text-transform: uppercase; }
.aktuelles-seite .beitrags-raster { margin-bottom: 36px; }
.aktuelles-seite .beitrags-raster .wp-block-post-template { gap: 28px; }
.aktuelles-seite .wp-block-query-pagination { margin-top: 24px; gap: 16px; font-weight: 600; }
.archiv-zeile { gap: 16px; margin-bottom: 40px; }
.archiv-zeile .seiten-label { margin: 0; }
.archiv-zeile .wp-block-archives { margin: 0; }
.archiv-zeile select { background: #fff; border: 1.5px solid var(--wp--preset--color--bordeaux, #5e1f27); color: var(--wp--preset--color--bordeaux, #5e1f27); font: 600 13px 'Inter', Arial, sans-serif; padding: 8px 18px; border-radius: 999px; }
.archiv-zeile label { display: none; }
.aktuelles-seite h2.insta-titel { font-size: 22px; margin: 0 0 16px; text-align: left; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.aktuelles-seite .instagram-wrapper, .aktuelles-seite .calendar-wrapper { margin-bottom: 40px; }

.beitrag-seite { display: flex; gap: 56px; align-items: flex-start; }
.beitrag-seite__haupt { flex: 0 1 720px; min-width: 0; }
.beitrag-seite__haupt > * { margin-block-start: 0; }
.beitrag-zurueck { margin: 0 0 18px; font-size: 13px; font-weight: 600; }
.beitrag-zurueck a { color: var(--wp--preset--color--blau, #1d3b58); text-decoration: none; border-bottom: 1px solid currentColor; }
.beitrag-zurueck a:hover { color: #fff; background: var(--wp--preset--color--blau, #1d3b58); border-bottom-color: transparent; }
.beitrag-datum { display: inline-block; background: var(--wp--preset--color--rosa, #ff99d8); color: var(--wp--preset--color--dunkelblau, #1a2431); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; margin: 0 0 14px; }
.beitrag-seite h1 { font-size: 34px; line-height: 1.2; margin: 0 0 24px; text-align: left; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.beitrag-seite__haupt .wp-block-post-content { max-width: none; }
.beitrag-seite__haupt .wp-block-post-content > p { font-size: 15px; line-height: 1.7; color: #333; margin: 0 0 18px; }
.beitrag-weitere { flex: 1 1 auto; border-radius: 14px; padding: 24px 26px; box-sizing: border-box; }
.beitrag-weitere > * { margin-block-start: 0; }
.beitrag-weitere__label { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; margin: 0 0 16px; }
.beitrag-weitere .wp-block-post-template { padding: 0; list-style: none; margin: 0; }
.beitrag-weitere__eintrag { margin-bottom: 18px; }
.beitrag-weitere__eintrag > * { margin: 0; }
.beitrag-weitere .wp-block-post-date { display: inline-block; background: #fff; color: var(--wp--preset--color--dunkelblau, #1a2431); font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; margin-bottom: 8px; }
.beitrag-weitere .wp-block-post-title { font-family: 'Inter', Arial, sans-serif; font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: 0; }
.beitrag-weitere .wp-block-post-title a { color: var(--wp--preset--color--dunkelblau, #1a2431); text-decoration: none; }
.beitrag-weitere .wp-block-post-title a:hover { color: var(--wp--preset--color--bordeaux, #5e1f27); text-decoration: underline; }
@media (max-width: 900px) {
    .aktuelles-seite, .beitrag-seite { padding: 28px 20px 40px; }
    .aktuelles-seite h1 { font-size: 26px; }
    .beitrag-seite { flex-direction: column; gap: 32px; }
    .beitrag-seite h1 { font-size: 26px; }
}
.archiv-zeile .wp-block-archives label,
.archiv-zeile .wp-block-archives-dropdown label,
.archiv-zeile .wp-block-archives__label { display: none !important; }
.archiv-zeile { align-items: center; }
@media (min-width: 901px) {
    .beitrag-seite__haupt { flex: 0 0 720px; }
    .beitrag-weitere { flex: 1 1 0; min-width: 0; }
}
.beitrag-seite__haupt .wp-block-post-content, .beitrag-seite__haupt .wp-block-post-content.entry-content { padding-left: 0; padding-right: 0; }
.beitrag-seite__haupt .wp-block-post-content > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }

/* Footer sitzt immer unten im Fenster: Inhaltsbereich füllt mindestens die Fensterhöhe abzüglich Kopf- und Fußzeile */
body { min-height: 0; }
.wp-site-blocks { min-height: 0 !important; }
.wp-site-blocks > footer.wp-block-template-part { position: static; top: auto; }
.wp-site-blocks > main { min-height: calc(100vh - 170px); }
.admin-bar .wp-site-blocks > main { min-height: calc(100vh - 202px); }
main { padding-top: 0; }
@media (max-width: 900px) {
    .beitrag-seite__haupt { flex: 0 0 auto; width: 100%; }
    .beitrag-weitere { flex: 0 0 auto; width: 100%; }
}

/* Weniger Weißraum nach unten (Desktop) */
.aktuelles-seite, .beitrag-seite { padding-bottom: 40px; }
.ersti-seite { padding-bottom: 40px; }
.aktuelles-seite .instagram-wrapper { margin-bottom: 0; }

/* Wer wir sind: Seitenüberschrift wie im Mockup */
.fsr-header.wp-block-group { max-width: none; padding: 48px 0 32px; }
.fsr-header h1 { margin: 0; text-align: left; font-size: 30px; }

/* Archiv-Auswahl: eigenes Menü unter der Pille */
.archiv-auswahl { position: relative; }
.archiv-auswahl summary { list-style: none; cursor: pointer; background: #fff; border: 1.5px solid var(--wp--preset--color--bordeaux, #5e1f27); color: var(--wp--preset--color--bordeaux, #5e1f27); font: 600 13px 'Inter', Arial, sans-serif; padding: 8px 18px; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; transition: background 0.2s ease, color 0.2s ease; }
.archiv-auswahl summary::-webkit-details-marker { display: none; }
.archiv-auswahl summary::after { content: '▾'; font-size: 12px; }
.archiv-auswahl summary:hover, .archiv-auswahl[open] summary { background: var(--wp--preset--color--bordeaux, #5e1f27); color: #fff; }
.archiv-auswahl ul { position: absolute; top: calc(100% + 6px); left: 0; z-index: 20; min-width: 100%; margin: 0; padding: 6px; list-style: none; background: #fff; border-radius: 14px; box-shadow: 0 10px 28px rgba(0,0,0,0.18); }
.archiv-auswahl li { margin: 0; }
.archiv-auswahl a { display: block; padding: 8px 14px; border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--dunkelblau, #1a2431); text-decoration: none; white-space: nowrap; }
.archiv-auswahl a:hover, .archiv-auswahl a:focus { background: var(--wp--preset--color--lila, #e2a9f1); color: var(--wp--preset--color--dunkelblau, #1a2431); }

/* Kopfzeile bündig mit dem Seiteninhalt: Name links und Logo rechts an der Inhaltskante */
@media (min-width: 901px) {
    .header { padding-left: var(--fsr-gutter); padding-right: var(--fsr-gutter); }
}

/* Vorstand / Mitglieder: größere Zwischenüberschriften */
.vorstand-gallery-section > .wp-block-heading { font-size: 28px; font-weight: 800; letter-spacing: -0.01em; text-transform: none; color: var(--wp--preset--color--bordeaux, #5e1f27); margin-bottom: 4px; }
.fsr-mitglieder-section > .wp-block-heading { color: var(--wp--preset--color--dunkelblau, #1a2431); }
@media (max-width: 900px) { .vorstand-gallery-section > .wp-block-heading { font-size: 24px; } }

/* Mitgliederband: oben abgerundet, unten gerade (schließt an den Footer an) */
.vorstand-gallery-section.fsr-mitglieder-section.wp-block-group { border-radius: 16px 16px 0 0 !important; margin-bottom: 0; }
.entry-content:has(> .fsr-mitglieder-section) { padding-bottom: 0; }
.wp-site-blocks > main:has(.fsr-mitglieder-section) { padding-bottom: 0; }

/* ===== KONTAKT (Mockup „Kontakt & Sprechzeiten“) ===== */
.kontakt-seite { max-width: none; padding: 48px 0 56px; }
.kontakt-seite > * { margin-block-start: 0; }
.kontakt-seite h1 { margin: 0 0 28px; text-align: left; }
.kontakt-spalten { display: flex; gap: 24px; align-items: stretch; }
.kontakt-spalten > * { margin: 0; }
.kontakt-links { flex: 0 0 420px; display: flex; flex-direction: column; gap: 24px; }
.kontakt-links > * { margin: 0; }
.kontakt-links .kontakt-block { border-radius: 14px; padding: 26px 28px; box-sizing: border-box; max-width: none; }
.kontakt-links .kontakt-block > * { margin: 0; }
.kontakt-links .kontakt-title, .kontakt-links .kontakt-label { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 14px; }
.kontakt-links .kontakt-info { font-size: 14px; line-height: 1.7; text-align: left; }
.kontakt-links .kontakt-kontaktzeilen { margin-top: 16px; font-size: 14px; font-weight: 600; line-height: 1.7; }
.kontakt-links .kontakt-kontaktzeilen a { color: var(--wp--preset--color--bordeaux, #5e1f27); text-decoration: none; }
.kontakt-links .kontakt-kontaktzeilen a:hover, .kontakt-links .kontakt-kontaktzeilen a:focus { color: #fff; background: var(--wp--preset--color--bordeaux, #5e1f27); border-radius: 4px; padding: 1px 3px; }
.kontakt-links .kontakt-ort { margin-top: 14px; font-size: 13px; opacity: 0.85; }
.kontakt-karte { flex: 1 1 auto; min-height: 380px; border-radius: 14px; overflow: hidden; background: #e8e2d8; }
.kontakt-spalten > .wp-block-html { flex: 1 1 auto; display: flex; }
.kontakt-karte { width: 100%; }
.kontakt-karte iframe { display: block; width: 100%; height: 100%; min-height: 380px; border: 0; }
@media (max-width: 900px) {
    .kontakt-spalten { flex-direction: column; }
    .kontakt-links { flex: 0 0 auto; width: 100%; }
    .kontakt-karte iframe { min-height: 300px; }
}

/* html nicht auf Fensterhöhe strecken: mit Admin-Leiste (32 px Rand oben) sonst Leerraum unter dem Footer */
html { height: auto !important; min-height: 0 !important; }

/* ===== ORGANISATIONSSTRUKTUR (Mockup „Organisationsstruktur“) ===== */
.struktur-seite { max-width: none; padding: 48px 0 0; }
.struktur-seite > * { margin-block-start: 0; }
.struktur-seite h1 { margin: 0 0 16px; text-align: left; }
.struktur-einleitung { max-width: 720px; font-size: 15px; line-height: 1.7; color: #333; margin: 0 0 12px !important; }
.struktur-einleitung:last-of-type { margin-bottom: 32px !important; }
.struktur-band { margin-left: calc(-1 * var(--fsr-gutter)) !important; margin-right: calc(-1 * var(--fsr-gutter)) !important; max-width: none !important; padding: 40px var(--fsr-gutter); box-sizing: border-box; }
.struktur-band > * { margin-block-start: 0; }
.struktur-band .seiten-label { margin: 0 0 6px; }
.struktur-band--ags .seiten-label { color: var(--wp--preset--color--dunkelblau, #1a2431); }
.struktur-band__text { max-width: 780px; margin: 0 0 20px !important; font-size: 14px; line-height: 1.6; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.struktur-band .referat-raster { gap: 18px; grid-auto-rows: 1fr; }
.struktur-band .referat-karte { display: flex; flex-direction: column; padding: 22px; border-radius: 14px; }
.struktur-band .referat-karte h3 { font-size: 16px; margin: 0 0 8px; }
.struktur-band .referat-karte__text { flex: 1 1 auto; font-size: 13px; line-height: 1.55; margin: 0 !important; }
.struktur-band .referat-karte__kontakt { font-size: 12px; margin: 14px 0 0 !important; }
.referat-karte.has-white-background-color { box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); }
.ag-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 28px; }
.ag-raster > * { margin: 0 !important; }
.ag-karte { display: flex; flex-direction: column; border-radius: 14px; padding: 24px 26px; box-sizing: border-box; border-top: 5px solid var(--wp--preset--color--bordeaux, #5e1f27); }
.ag-karte--blau { border-top-color: var(--wp--preset--color--blau, #1d3b58); }
.ag-karte--pink { border-top-color: var(--wp--preset--color--pink, #ff66c4); }
.ag-karte h3 { font-size: 17px; margin: 0 0 10px; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.ag-karte__text { flex: 1 1 auto; margin: 0 0 14px !important; font-size: 14px; line-height: 1.6; color: #444; }
.ag-karte__kontakt { margin: 0 !important; font-size: 12px; color: #888; }
.struktur-hinweis { border-radius: 12px; padding: 18px 26px; gap: 16px 24px; box-sizing: border-box; }
.struktur-hinweis > p { margin: 0; font-size: 14px; opacity: 0.92; }
.struktur-hinweis .wp-block-buttons { margin: 0; }
@media (max-width: 900px) { .ag-raster { grid-template-columns: 1fr; } .struktur-band { padding: 28px var(--fsr-gutter); } }

/* ===== MITMACHEN (Mockup „Mitmachen“) ===== */
.mitmachen-seite { max-width: none; padding: 48px 0 56px; }
.mitmachen-seite > * { margin-block-start: 0; }
.mitmachen-seite h1 { margin: 0 0 10px; text-align: left; }
.mitmachen-lead { max-width: 720px; margin: 0 0 10px !important; font-size: 16px; line-height: 1.7; font-weight: 600; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.mitmachen-text { max-width: 720px; margin: 0 0 10px !important; font-size: 15px; line-height: 1.7; color: #333; }
.mitmachen-lead + .mitmachen-text { margin-bottom: 32px !important; }
.mitmachen-box { display: flex; align-items: flex-start; justify-content: space-between; gap: 48px; border-radius: 16px; padding: 32px 40px; box-sizing: border-box; margin: 0 0 44px !important; max-width: none !important; }
.mitmachen-box > * { margin: 0 !important; }
.mitmachen-box__text { flex: 1 1 auto; }
.mitmachen-box__text > * { margin-block-start: 0; }
.mitmachen-box__text h2 { font-size: 22px; margin: 0 0 14px; text-align: left; }
.mitmachen-box__text p { font-size: 14px; line-height: 1.65; margin: 0 0 12px; opacity: 0.95; }
.mitmachen-box__hinweis { flex: 0 0 380px; background: rgba(255, 255, 255, 0.10); border-radius: 12px; padding: 22px 24px; box-sizing: border-box; }
.mitmachen-box__hinweis > * { margin-block-start: 0; }
.mitmachen-box__hinweis p { font-size: 13px; line-height: 1.6; margin: 0 0 16px; }
.mitmachen-box__hinweis .mitmachen-box__frage { font-size: 15px; line-height: 1.55; margin-bottom: 10px; }
.mitmachen-box__hinweis a:not(.wp-block-button__link) { color: #fff; }
.mitmachen-box__hinweis a:not(.wp-block-button__link):hover { color: var(--wp--preset--color--bordeaux, #5e1f27); background: #fff; border-radius: 4px; }
.mitmachen-box__hinweis .wp-block-buttons { margin: 0; }
.mitmachen-ags { max-width: 720px; }
.mitmachen-ags > * { margin-block-start: 0; }
.mitmachen-ags h2 { font-size: 22px; margin: 0 0 12px; text-align: left; }
.mitmachen-ags .wp-block-buttons { margin-top: 18px; }
@media (max-width: 900px) { .mitmachen-box { flex-direction: column; gap: 24px; padding: 24px 20px; } .mitmachen-box__hinweis { flex: 0 0 auto; width: 100%; } }
.struktur-band .struktur-band__titel { font-size: 28px; font-weight: 800; letter-spacing: -0.01em; text-align: left; margin: 0 0 8px; color: var(--wp--preset--color--bordeaux, #5e1f27); }
.struktur-band--ags .struktur-band__titel { color: var(--wp--preset--color--dunkelblau, #1a2431); }
@media (max-width: 900px) { .struktur-band .struktur-band__titel { font-size: 24px; } }

/* ===== INFOS FÜR ERSTIES: Titelband mit Löwe und Poster-Slider (Mockup „Infos für Ersties“) ===== */
.erstiwoche-hero__text > * { margin: 0; }
.erstiwoche-hero__text .erstiwoche-title { font-size: 46px; line-height: 1.05; }
.erstiwoche-hero__text .erstiwoche-subtitle { font-size: 42px; margin-top: 2px; }
.erstiwoche-hero__credit { display: none; }
.erstiwoche-poster > * { margin: 0; }
.erstiwoche-poster__punkte { position: absolute; left: 0; right: 0; bottom: 10px; display: flex; justify-content: center; gap: 6px; z-index: 3; }
.erstiwoche-poster__punkte span { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,0.45); animation: ersti-punkt 12s infinite; }
.erstiwoche-poster__punkte span:nth-child(2) { animation-delay: 3s; }
.erstiwoche-poster__punkte span:nth-child(3) { animation-delay: 6s; }
.erstiwoche-poster__punkte span:nth-child(4) { animation-delay: 9s; }
.erstiwoche-poster .poster-slide { position: absolute; inset: 0; opacity: 0; animation: ersti-pfade 12s infinite; }
.erstiwoche-poster .poster-slide.s2 { animation-delay: 3s; }
.erstiwoche-poster .poster-slide.s3 { animation-delay: 6s; }
.erstiwoche-poster .poster-slide.s4 { animation-delay: 9s; }
.erstiwoche-poster .poster-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
@keyframes ersti-pfade { 0% { opacity: 0; } 3% { opacity: 1; } 22% { opacity: 1; } 26% { opacity: 0; } 100% { opacity: 0; } }
@keyframes ersti-punkt { 0% { background: #fff; } 24% { background: #fff; } 26% { background: rgba(255,255,255,0.45); } 100% { background: rgba(255,255,255,0.45); } }
@media (min-width: 901px) {
    .erstiwoche-hero { position: relative; z-index: 2; display: flex; align-items: center; height: 360px; min-height: 360px; padding-top: 0; padding-bottom: 0; }
    .erstiwoche-hero__text { max-width: 480px; position: relative; z-index: 1; }
    .erstiwoche-hero__loewe { position: absolute; left: calc(var(--fsr-gutter) + 424px); bottom: 0; width: 390px; margin: 0 !important; z-index: 1; }
    .erstiwoche-hero__loewe img { width: 100%; height: auto; display: block; }
    .erstiwoche-poster { position: absolute; right: var(--fsr-gutter); bottom: -56px; width: 280px; height: 360px; z-index: 3; box-shadow: 0 16px 36px rgba(0,0,0,0.28); overflow: hidden; background: #3d1a21; }
    .ersti-seite { padding-top: 88px; }
}
@media (max-width: 900px) {
    .erstiwoche-hero { display: block; padding-bottom: 0; }
    .erstiwoche-hero__loewe { display: none; }
    .erstiwoche-hero__text .erstiwoche-title { font-size: 32px; }
    .erstiwoche-hero__text .erstiwoche-subtitle { font-size: 34px; }
    .erstiwoche-poster { position: relative; width: 200px; height: 260px; margin: 24px auto -60px !important; box-shadow: 0 14px 30px rgba(0,0,0,0.3); overflow: hidden; background: #3d1a21; }
    .ersti-seite { padding-top: 84px; }
}

/* ===== Infos für Ersties: Abstände, Kalender, Download-Kacheln wie im Mockup ===== */
.ersti-seite > .seiten-label,
.ersti-seite > .erstiwoche-section-label { margin: 44px 0 16px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-align: left; color: var(--wp--preset--color--blau, #1d3b58); }
.ersti-seite > .ersti-einleitung + .erstiwoche-section-label { margin-top: 8px; }
.ersti-kalender { margin: 0 0 12px; }
.ersti-kalender .calendar-iframe-wrapper, .ersti-kalender .calendar-iframe { width: 100%; max-width: none; border-radius: 10px; overflow: hidden; }
.ersti-kalender iframe { display: block; width: 100%; height: 520px; border: 0; background: #fff; }
.ersti-seite > .wp-block-buttons { margin: 0 0 8px; }
.ersti-seite .downloads-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 0; margin: 0; max-width: none; }
.ersti-seite .downloads-list > * { margin: 0 !important; }
.download-item:has(.download-untertitel) { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 14px; align-items: center; min-height: 72px; padding: 12px 20px; }
.download-item:has(.download-untertitel)::before { grid-column: 1; grid-row: 1 / span 2; }
.download-item:has(.download-untertitel) .wp-block-file { display: contents; }
.download-item:has(.download-untertitel) .wp-block-file > a:not(.wp-block-file__button) { grid-column: 2; grid-row: 1; padding: 0; align-self: end; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.download-item:has(.download-untertitel) .wp-block-file__button { grid-column: 3; grid-row: 1 / span 2; }
.download-item:has(.download-untertitel) .download-untertitel { grid-column: 2; grid-row: 2; margin: 2px 0 0 !important; font-size: 12px; color: #666; align-self: start; }
@media (max-width: 900px) { .ersti-seite .downloads-list { grid-template-columns: 1fr; } }
.ersti-seite .download-item { max-width: none !important; width: 100%; }
.download-item:has(.download-untertitel) .download-untertitel { line-height: 1.3; }

/* Ersti-Kalender: Desktop Wochenansicht, mobil Liste; nur die Ersti-Woche, ohne Blättern */
.ersti-kalender .kalender-mobil { display: none; }
@media (max-width: 900px) {
    .ersti-kalender { padding: 16px; }
    .ersti-kalender .kalender-desktop { display: none; }
    .ersti-kalender .kalender-mobil { display: block; height: 420px !important; }
    .ersti-seite > .wp-block-buttons .wp-block-button, .ersti-seite > .wp-block-buttons .wp-block-button__link { display: block; width: 100%; text-align: center; }
}

/* ===== STUDIUM (Mockup „Studium“) ===== */
.studium-seite, .examen-seite, .remonstration-seite { max-width: none; padding: 48px 0 56px; }
.studium-seite > *, .examen-seite > *, .remonstration-seite > * { margin-block-start: 0; }
.studium-seite h1, .examen-seite h1, .remonstration-text h1 { margin: 0 0 10px; text-align: left; }
.seiten-einleitung { max-width: 720px; margin: 0 0 28px !important; font-size: 15px; line-height: 1.7; color: #333; }
.angebot-raster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 40px; }
.angebot-raster > * { margin: 0 !important; }
.angebot-karte { border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); padding: 26px 28px; box-sizing: border-box; }
.angebot-karte > * { margin-block-start: 0; }
.angebot-karte h3 { font-size: 18px; color: var(--wp--preset--color--bordeaux, #5e1f27); margin: 0 0 10px; }
.angebot-karte__text { font-size: 14px; line-height: 1.65; color: #444; margin: 0 0 14px !important; }
.angebot-karte__text a { color: inherit; text-decoration: none; }
.angebot-karte__link { margin: 0 !important; font-size: 13px; font-weight: 600; }
.angebot-karte__link a { color: var(--wp--preset--color--bordeaux, #5e1f27); text-decoration: none; border-bottom: 1px solid currentColor; }
.angebot-karte__link a:hover, .angebot-karte__link a:focus { color: #fff; background: var(--wp--preset--color--bordeaux, #5e1f27); border-bottom-color: transparent; }
.link-pillen--sechs { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.link-pillen--sechs .wp-block-button { width: 100%; }
.link-pillen--sechs .wp-block-button__link { width: 100%; white-space: nowrap; padding: 0 10px; font-size: 12.5px; }
@media (max-width: 1000px) { .link-pillen--sechs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .angebot-raster { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .link-pillen--sechs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ===== EXAMENSPFAND (Mockup „Examenspfand“) ===== */
.examen-kopf { display: flex; gap: 40px; align-items: flex-start; margin-bottom: 36px; }
.examen-kopf > * { margin: 0 !important; }
.examen-kopf__text { flex: 1 1 auto; }
.examen-kopf__text > * { margin-block-start: 0; }
.examen-kopf__text h2, .examen-seite > h2 { font-size: 19px; line-height: 1.25; margin: 0 0 10px; text-align: left; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.examen-kopf__text p { font-size: 14px; line-height: 1.7; color: #333; margin: 0 0 10px; }
.examen-kopf .kontodaten-box { flex: 0 0 420px; max-width: none; padding: 26px 28px; border-radius: 12px; }
.examen-kopf .kontodaten-box__zeile { font-size: 14px; padding: 8px 0; }
.examen-kopf .kontodaten-box__wert { font-weight: 600; }
.kontodaten-box__hinweis { font-size: 11px; opacity: 0.65; margin-top: 14px !important; }
.vergabe-legende { display: flex; flex-wrap: wrap; gap: 14px 28px; margin: 0 0 18px; font-size: 12px; font-weight: 700; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.vergabe-legende span { display: inline-flex; align-items: center; gap: 8px; }
.vergabe-legende .punkt { display: inline-block; width: 12px; height: 12px; border-radius: 50%; }
.vergabe-legende .punkt--bordeaux { background: var(--wp--preset--color--bordeaux, #5e1f27); }
.vergabe-legende .punkt--pink { background: var(--wp--preset--color--pink, #ff66c4); }
.schritt-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 20px; margin-bottom: 28px; }
.schritt-raster > * { margin: 0 !important; }
.schritt-raster .schritt-karte { padding: 20px 22px; gap: 14px; }
.schritt-raster .schritt-karte > p { font-size: 13px; line-height: 1.6; color: #333; }
.schritt-raster .schritt-karte__nummer { flex: 0 0 30px; width: 30px; height: 30px; font-size: 14px; color: #fff; }
.schritt-raster .schritt-karte a { color: var(--wp--preset--color--bordeaux, #5e1f27); font-weight: 600; text-decoration: none; }
.schritt-raster .schritt-karte a:hover { color: #fff; background: var(--wp--preset--color--bordeaux, #5e1f27); border-radius: 4px; }
@media (max-width: 1000px) { .schritt-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .examen-kopf { flex-direction: column; gap: 28px; } .examen-kopf .kontodaten-box { flex: 0 0 auto; width: 100%; } .schritt-raster { grid-template-columns: 1fr; } }

/* ===== REMONSTRATION (Mockup „Remonstration“) ===== */
.remonstration-spalten { display: flex; gap: 48px; align-items: flex-start; }
.remonstration-spalten > * { margin: 0 !important; }
.remonstration-text { flex: 0 0 720px; }
.remonstration-text > * { margin-block-start: 0; }
.remonstration-text h1 { margin-bottom: 18px; }
.remonstration-text p { font-size: 15px; line-height: 1.7; color: #333; margin: 0 0 16px; }
.remonstration-seite__karten { flex: 1 1 auto; display: flex; flex-direction: column; gap: 20px; }
.remonstration-seite__karten > * { margin: 0 !important; }
.remo-karte { border-radius: 12px; padding: 20px 22px; box-sizing: border-box; }
.remo-karte > * { margin: 0 !important; }
.remo-karte--frist .chip { margin-bottom: 10px !important; }
.remo-karte--frist p:not(.chip) { font-size: 14px; line-height: 1.6; color: #333; }
.remo-karte__label { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; margin-bottom: 10px !important; }
.remo-karte__zitat { font-size: 13px; line-height: 1.65; font-style: italic; opacity: 0.95; }
.remonstration-seite > .hinweis-box { margin-top: 32px; }
@media (min-width: 901px) { .remonstration-text { flex: 0 0 720px; } }
@media (max-width: 900px) { .remonstration-spalten { flex-direction: column; gap: 28px; } .remonstration-text { flex: 0 0 auto; width: 100%; } .remonstration-seite__karten { width: 100%; } }
.ersti-kalender .kalender-desktop { height: 560px !important; }

/* Rechtsvorschriften auf der Seite „Studium“ (Liste + Hinweis) */
.studium-seite .rechts-titel { font-size: 22px; margin: 44px 0 8px; text-align: left; scroll-margin-top: 90px; }
.rechts-liste { margin: 0 0 20px; max-width: none; }
.rechts-liste > * { margin: 0 !important; }
.rechts-zeile { padding: 12px 0; border-bottom: 1px solid #e8e2d8; gap: 6px 24px; }
.rechts-zeile:last-child { border-bottom: 0; }
.rechts-zeile > p { margin: 0; }
.rechts-zeile__name { font-size: 14px; line-height: 1.5; font-weight: 600; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.rechts-zeile__stand { font-weight: 400; color: #666; font-size: 13px; }
.rechts-zeile__link { font-size: 13px; font-weight: 600; }
.rechts-zeile__link a { color: var(--wp--preset--color--bordeaux, #5e1f27); text-decoration: none; border-bottom: 1px solid currentColor; }
.rechts-zeile__link a:hover, .rechts-zeile__link a:focus { color: #fff; background: var(--wp--preset--color--bordeaux, #5e1f27); border-bottom-color: transparent; }
.rechts-hinweis { max-width: 720px; margin: 0 !important; font-size: 13px; line-height: 1.7; color: #555; }
html { scroll-behavior: smooth; }
/* Handy: Poster-Kasten ragt wie im Mockup 60 px über das bordeauxfarbene Titelband */
@media (max-width: 900px) {
    .erstiwoche-hero { padding-bottom: 0 !important; margin-bottom: 0; position: relative; z-index: 2; }
    .erstiwoche-poster { position: relative; margin: 24px auto -60px !important; z-index: 3; }
}
@media (max-width: 900px) { .erstiwoche-hero { display: flow-root !important; } .ersti-seite { padding-top: 84px; } }

/* ===== IMPRESSUM / DATENSCHUTZ (Mockup: eine Textspalte, 720 px) ===== */
.rechtstext-seite { max-width: 720px; padding: 48px 0 56px; }
.rechtstext-seite > * { margin-block-start: 0; }
.rechtstext-seite h1 { margin: 0 0 20px; text-align: left; }
.rechtstext-seite h2 { font-size: 19px; line-height: 1.3; letter-spacing: 0; margin: 28px 0 8px; text-align: left; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.rechtstext-seite p { font-size: 15px; line-height: 1.7; color: #333; margin: 0 0 10px; }
.rechtstext-seite a { overflow-wrap: anywhere; }
.rechtstext-seite { margin-left: 0 !important; margin-right: auto !important; }

/* Kontodaten-Box: Bezeichnung, Wert und Knopf jeweils in einer linksbündigen Spalte */
.kontodaten-box { display: grid; grid-template-columns: max-content minmax(0, 1fr) max-content; column-gap: 14px; }
.kontodaten-box > * { grid-column: 1 / -1; }
.kontodaten-box .kontodaten-box__zeile { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; align-items: center; justify-content: start; }
.kontodaten-box .kontodaten-box__zeile > * { margin: 0 !important; text-align: left; }
.kontodaten-box .kontodaten-box__wert { margin-left: 0 !important; font-family: 'Inter', Arial, sans-serif; font-weight: 600; overflow-wrap: anywhere; }
.kontodaten-box .kontodaten-box__zeile:nth-of-type(2) .kontodaten-box__wert,
.kontodaten-box .kontodaten-box__zeile:nth-of-type(3) .kontodaten-box__wert { font-family: ui-monospace, 'SF Mono', Menlo, monospace; }
.kontodaten-box .wp-block-html { display: block; justify-self: start; }
.examen-kopf .kontodaten-box { flex: 0 0 440px; }
@media (max-width: 900px) { .examen-kopf .kontodaten-box { flex: 0 0 auto; } }
.examen-kopf .kontodaten-box { flex: 0 0 480px; }
.kontodaten-box .kontodaten-box__zeile:nth-of-type(2) .kontodaten-box__wert,
.kontodaten-box .kontodaten-box__zeile:nth-of-type(3) .kontodaten-box__wert { font-size: 13px; overflow-wrap: normal; white-space: nowrap; }

/* Hinweis-Box: Name des Professors bleibt in einer Zeile (Mockup „Remonstration“) */
.hinweis-box strong { white-space: nowrap; }

/* „Ersti-Woche auf einen Blick“: die beiden Buttons haben unterschiedliche Hover-Farben */
.ersti-blick .wp-block-button__link.has-white-background-color:hover,
.ersti-blick .wp-block-button__link.has-white-background-color:focus { background-color: var(--wp--preset--color--lila, #e2a9f1) !important; color: var(--wp--preset--color--dunkelblau, #1a2431) !important; }
.ersti-blick .wp-block-button__link.has-pink-background-color:hover,
.ersti-blick .wp-block-button__link.has-pink-background-color:focus { background-color: var(--wp--preset--color--rosa, #ff99d8) !important; color: var(--wp--preset--color--dunkelblau, #1a2431) !important; }

/* ===== ORDNUNGEN & PROTOKOLLE (Mockup „Ordnungen & Protokolle“) ===== */
.ordnungen-seite { max-width: none; padding: 48px 0 56px; }
.ordnungen-seite > * { margin-block-start: 0; }
.ordnungen-seite h1 { margin: 0 0 10px; text-align: left; }
.ordnungen-seite .seiten-einleitung { color: #666; font-size: 14px; margin-bottom: 24px !important; }
.ordnungen-seite > .hinweis-box { margin-bottom: 36px; }
.ordnungen-seite > .seiten-label { margin: 0 0 16px; }
.ordnungen-seite .downloads-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 0; margin: 0; max-width: none; }
.ordnungen-seite .downloads-list > * { margin: 0 !important; }
.ordnungen-seite .download-item { max-width: none !important; width: 100%; }
@media (max-width: 900px) { .ordnungen-seite .downloads-list { grid-template-columns: 1fr; } }

/* ===== HANDY-KORREKTUREN (Screenshots vom 25.09.) ===== */
.ersti-band__link { white-space: nowrap; }

@media (max-width: 900px) {
    /* Überschriften nicht am rechten Rand abschneiden */
    .entry-content h1, .startseite-ueber h1 { font-size: 26px; overflow-wrap: anywhere; hyphens: auto; }

    /* Hinweis-Box: Chip, Text und Button untereinander */
    .hinweis-box { padding: 20px; gap: 14px; }
    .hinweis-box__inhalt { flex-wrap: wrap !important; gap: 10px !important; }
    .hinweis-box__inhalt > p:not(.chip) { flex: 1 1 100%; max-width: none; }

    /* Zahlen-Kachel: „11 gewählte und 4 unterstützende“ in einer Zeile */
    .zahlen-kachel { padding: 26px 20px; }
    .zahlen-kachel__text { font-size: 13px; white-space: nowrap; }

    /* Nützliche Links: linker Rand bündig mit der Überschrift, größere Kacheln */
    .useful-gallery { scroll-padding-left: 20px; scroll-padding-right: 20px; }
    .useful-gallery figure.wp-block-image { flex: 0 0 172px; min-width: 172px; padding: 14px; }
    .useful-gallery figure.wp-block-image img { height: 96px; }
    .useful-gallery figure.wp-block-image img[alt="Instagram"], .useful-gallery figure.wp-block-image img[alt="StudIP"], .useful-gallery figure.wp-block-image img[alt="Klausurenpool"], .useful-gallery figure.wp-block-image img[alt="Examensprotokolle"], .useful-gallery figure.wp-block-image img[alt="Hausarbeitenpool"] { width: 72px; height: 72px; margin: 12px auto; }
    .useful-gallery figure.wp-block-image figcaption { font-size: 15px; }

    /* Kalender auf der Ersti-Seite: volle Breite, besser lesbar */
    .ersti-kalender { margin-left: calc(-1 * var(--fsr-gutter)); margin-right: calc(-1 * var(--fsr-gutter)); padding: 8px 0; border-radius: 0; }
    .ersti-kalender .kalender-mobil { height: 520px !important; border-radius: 0; }

    /* Kontodaten-Box: Bezeichnung oben, Wert und Knopf darunter */
    .kontodaten-box { display: block; padding: 22px 20px; }
    .kontodaten-box .kontodaten-box__zeile { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name name" "wert knopf"; column-gap: 12px; row-gap: 2px; padding: 12px 0; }
    .kontodaten-box .kontodaten-box__name { grid-area: name; font-size: 12px; }
    .kontodaten-box .kontodaten-box__wert { grid-area: wert; font-size: 14px; overflow-wrap: anywhere; }
    .kontodaten-box .kontodaten-box__zeile:nth-of-type(2) .kontodaten-box__wert, .kontodaten-box .kontodaten-box__zeile:nth-of-type(3) .kontodaten-box__wert { font-size: 12.5px; white-space: nowrap; }
    .kontodaten-box .wp-block-html { grid-area: knopf; align-self: center; }
}

/* Download-Kachel auf dem Handy: Symbol | Name + Untertitel | runder Download-Knopf */
@media (max-width: 700px) {
    .download-item:has(.download-untertitel) { grid-template-columns: 38px minmax(0, 1fr) 38px; padding: 12px 14px; column-gap: 12px; }
    .download-item:has(.download-untertitel)::before { width: 38px; height: 38px; }
    .download-item:has(.download-untertitel) .wp-block-file > a:not(.wp-block-file__button) { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.3; font-size: 14px; padding: 0; }
    .download-item:has(.download-untertitel) .wp-block-file__button { width: 38px; height: 38px; padding: 0; font-size: 0; border-radius: 50%; position: relative; display: block; }
    .download-item:has(.download-untertitel) .wp-block-file__button::after { content: '↓'; font-size: 18px; font-weight: 700; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; line-height: 1; }
    .download-item:has(.download-untertitel) .download-untertitel { line-height: 1.3; }
}
@media (max-width: 900px) {
    .ersti-seite { padding-left: 0; padding-right: 0; }
    .ersti-seite .downloads-list { width: 100%; margin: 0 !important; padding: 0 !important; }
}
@media (max-width: 900px) {
    .kontodaten-box .kontodaten-box__zeile:nth-of-type(2) .kontodaten-box__wert, .kontodaten-box .kontodaten-box__zeile:nth-of-type(3) .kontodaten-box__wert { font-size: 11.5px; letter-spacing: -0.1px; }
}

/* Sitzungsprotokolle: Abstand zwischen Kacheln und Hinweisbox wie im Mockup */
.ordnungen-seite .downloads-list + .hinweis-box { margin-top: 44px; }

/* Aktuelles: Instagram-Kachel links und rechts bündig mit dem Beitragsraster darüber */
.aktuelles-seite .instagram-wrapper { max-width: none; width: 100%; margin-left: 0; margin-right: 0; }

/* Ersti-Woche: „Kalender abonnieren“ mit gleichem Abstand oben und unten wie das Archiv-Feld auf Aktuelles (40px) */
.ersti-kalender + .wp-block-buttons, .termin-tage + .wp-block-buttons { margin-top: 40px; margin-bottom: 0; }
.ersti-kalender + .wp-block-buttons + .wp-block-heading, .termin-tage + .wp-block-buttons + .wp-block-heading { margin-top: 40px; }

/* Infos für Ersties: Abschnittsüberschriften größer (Termine, Ersti-Guide, …) */
.ersti-seite > .erstiwoche-section-label { font-family: Montserrat, Inter, sans-serif; font-size: 26px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.2; text-transform: none; color: var(--wp--preset--color--bordeaux, #5e1f27); }
@media (max-width: 700px) { .ersti-seite > .erstiwoche-section-label { font-size: 22px; } }

/* Ersti-Woche: Terminliste (Tageskacheln, alle gleich aufgebaut, im Editor einfach bearbeitbar) */
.termin-tage { display: flex; flex-direction: column; gap: 12px; }
.termin-tage > * { margin: 0 !important; }
.termin-tag { display: flex; gap: 22px; align-items: stretch; background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); padding: 14px 20px 14px 14px; }
.termin-datum { flex: 0 0 76px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--wp--preset--color--bordeaux, #5e1f27); color: #fff; border-radius: 10px; padding: 8px 0; }
.termin-datum > * { margin: 0 !important; }
.termin-datum__tag { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; color: var(--wp--preset--color--rosa, #ff99d8); }
.termin-datum__datum { font-family: 'Montserrat', Inter, sans-serif; font-weight: 800; font-size: 22px; line-height: 1.1; color: #fff; }
.termin-liste { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.termin-liste > * { margin: 0 !important; }
.termin { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
.termin > * { margin: 0 !important; }
.termin__zeit { flex: 0 0 auto; background: var(--wp--preset--color--pink, #ff66c4); color: var(--wp--preset--color--dunkelblau, #1a2431); font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 999px; }
.termin__titel { font-family: 'Montserrat', Inter, sans-serif; font-weight: 700; font-size: 15px; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.termin__ort { font-size: 13px; color: #666; }
.termin__ort::before { content: '· '; }
.termin:not(:has(.termin__zeit)) .termin__titel { font-family: Inter, Arial, sans-serif; font-weight: 400; font-style: italic; font-size: 13px; color: #8a8a8a; }
@media (max-width: 700px) {
    .termin-tag { gap: 14px; padding: 12px; min-height: 100px; }
    .termin-datum { flex-basis: 58px; }
    .termin-datum__tag { font-size: 11px; }
    .termin-datum__datum { font-size: 19px; }
    .termin { flex-direction: column; align-items: flex-start; gap: 5px; }
    .termin__zeit { font-size: 11px; padding: 4px 10px; }
    .termin__titel { font-size: 14px; line-height: 1.35; }
    .termin__ort { font-size: 12px; }
    .termin__ort::before { content: '📍 '; }
}

/* Header Desktop: Logo links vor dem Namen, Menü rechts – Logo-Abstand links = Abstand letzter Menüpunkt rechts */
.header > .wp-block-site-logo { order: -1; margin-left: 0; margin-right: 0.9rem; }
.header-brand { margin-right: auto; }

/* Header: Schriftzug entfällt auf Desktop und Handy (Logo links, Menü/Burger rechts) */
@media (max-width: 1150px) { .header .header-brand, .header .header-brand-text { display: none !important; } }

/* ===== Einheitliche Kachel-Hover (weißer Grund): Kachel leuchtet bordeaux, bordeaux Elemente werden weiß ===== */
.download-item, .angebot-karte { transition: background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease; }
.download-item:hover, .download-item:focus-within,
.angebot-karte:hover, .angebot-karte:focus-within { background-color: var(--wp--preset--color--bordeaux, #5e1f27) !important; box-shadow: 0 8px 22px rgba(94, 31, 39, 0.35); }
/* Download-Kachel */
.download-item:hover .wp-block-file > a:not(.wp-block-file__button),
.download-item:focus-within .wp-block-file > a:not(.wp-block-file__button),
.download-item .wp-block-file > a:not(.wp-block-file__button):hover { color: #fff; }
.download-item:hover .download-untertitel, .download-item:focus-within .download-untertitel { color: rgba(255,255,255,0.8); }
.download-item:hover .wp-block-file__button, .download-item:focus-within .wp-block-file__button { background: #fff !important; color: var(--wp--preset--color--bordeaux, #5e1f27) !important; }
.download-item.wp-block-group:hover::before, .download-item.wp-block-group:focus-within::before { background: #fff !important; color: var(--wp--preset--color--bordeaux, #5e1f27) !important; }
/* Angebots-Karte (Studium) */
.angebot-karte:hover h3, .angebot-karte:focus-within h3,
.angebot-karte:hover .angebot-karte__text, .angebot-karte:hover .angebot-karte__text a { color: #fff; }
.angebot-karte:hover .angebot-karte__link a, .angebot-karte:hover .angebot-karte__link a:hover { color: #fff; background: none; }

/* Textlinks: Unterstreichung gerade statt Rahmenlinie mit runden Ecken */
.beitrags-karte .wp-block-read-more, .beitrag-zurueck a, .angebot-karte__link a, .rechts-zeile__link a { border-bottom: 0 !important; border-radius: 0 !important; text-decoration: underline !important; text-decoration-thickness: 1px; text-underline-offset: 4px; padding: 1px 3px; }
.beitrags-karte .wp-block-read-more:hover, .beitrag-zurueck a:hover, .angebot-karte__link a:hover, .rechts-zeile__link a:hover { text-decoration-color: transparent !important; }

/* Zahlen-Kachel-Link („Mitglieder kennenlernen →“): gerade rosa Unterstreichung statt Rahmenlinie mit runden Ecken */
.zahlen-kachel__link a { border-bottom: 0 !important; border-radius: 0 !important; text-decoration: underline !important; text-decoration-color: var(--wp--preset--color--pink, #ff66c4); text-decoration-thickness: 2px; text-underline-offset: 5px; padding: 0; }
.zahlen-kachel__link a:hover, .zahlen-kachel__link a:focus { text-decoration-color: #fff !important; }
.zahlen-kachel__link a:hover, .zahlen-kachel__link a:focus { color: #fff !important; text-decoration-color: #fff !important; }

/* Hinweis-Boxen (lila): jetzt bordeaux mit weißen Pillen und weißer Schrift */
.hinweis-box.has-bordeaux-background-color { background-color: var(--wp--preset--color--bordeaux, #5e1f27) !important; }
.hinweis-box.has-bordeaux-background-color p, .hinweis-box.has-bordeaux-background-color .has-dunkelblau-color { color: #fff !important; }
.hinweis-box.has-bordeaux-background-color .chip { background-color: #fff !important; color: var(--wp--preset--color--bordeaux, #5e1f27) !important; }
.hinweis-box.has-bordeaux-background-color .wp-block-button__link { background-color: #fff !important; color: var(--wp--preset--color--bordeaux, #5e1f27) !important; }
.hinweis-box.has-bordeaux-background-color .wp-block-button__link:hover, .hinweis-box.has-bordeaux-background-color .wp-block-button__link:focus { background-color: var(--wp--preset--color--pink, #ff66c4) !important; color: var(--wp--preset--color--dunkelblau, #1a2431) !important; }

/* Kontodaten-Box: besser lesbar (kräftigere Beschriftungen, weiße Kopieren-Pillen) */
.kontodaten-box .kontodaten-box__name { opacity: 1; color: #fff; font-weight: 500; }
.kontodaten-box .kontodaten-box__zeile + .kontodaten-box__zeile { border-top-color: rgba(255,255,255,0.35); }
.kontodaten-box .kontodaten-box__hinweis { opacity: 0.95; font-size: 12px; }
.kontodaten-box .kontodaten-box__label { font-size: 13px; }
.kontodaten-box .kontodaten-box__kopieren { background: #fff; color: var(--wp--preset--color--blau, #1d3b58); font-size: 12px; font-weight: 700; padding: 6px 14px; }
.kontodaten-box .kontodaten-box__kopieren:hover, .kontodaten-box .kontodaten-box__kopieren:focus { background: var(--wp--preset--color--pink, #ff66c4); color: var(--wp--preset--color--dunkelblau, #1a2431); }

/* Ersti-Grillen-Poster: etwas höher, damit die Karussell-Punkte den Text unten nicht überdecken */
.erstiwoche-poster .poster-slide { background: #601f27; }
.erstiwoche-poster .poster-slide img[src*="ersti-grillen"] { height: calc(100% - 26px); width: auto; margin: 0 auto; }

/* Ersti-Kasten: Pfeil bleibt am Text (kein Umbruch), auf kleinen Handys etwas kompakter */
.ersti-blick .wp-block-button__link { white-space: nowrap; }
@media (max-width: 420px) { .ersti-blick .wp-block-button__link { font-size: 12.5px; padding-left: 14px; padding-right: 14px; } }
@media (max-width: 350px) { .ersti-blick .wp-block-button__link { font-size: 11.5px; padding-left: 10px; padding-right: 10px; } }

/* Kopfzeile bleibt beim Scrollen oben stehen: der Template-Part-Rahmen ist der klebende Block
   (die innere .header hatte nur ihre eigene Höhe zum Kleben und lief deshalb mit weg). */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 1000; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
.wp-site-blocks > header.wp-block-template-part > .header { position: relative; top: 0 !important; }
/* Sprungziele (Anker) nicht unter der Kopfzeile verstecken */
main [id] { scroll-margin-top: 90px; }

/* Kopfzeile Desktop: Schriftzug „Fachschaftsrat Jura Halle-Wittenberg“ statt Logo; schrumpft beim Scrollen, behält aber Luft nach oben und unten */
@media (min-width: 1151px) {
    /* Ganz oben: Logo links. Sobald gescrollt wird: Logo weg, Schriftzug erscheint. */
    .header > .wp-block-site-logo { display: flex; margin-right: auto; }
    .header .header-brand { display: none !important; margin-right: auto; }
    .header.is-scrolled > .wp-block-site-logo { display: none; }
    .header.is-scrolled .header-brand { display: flex !important; animation: fsr-brand-ein 0.3s ease; }
    @keyframes fsr-brand-ein { from { opacity: 0; } to { opacity: 1; } }
    .header .header-brand-text { display: block !important; font-size: clamp(14.5px, 1.25vw, 18px); line-height: 1.2; letter-spacing: 0.005em; white-space: nowrap; transition: font-size 0.25s ease; }
    .header .header-brand-text a { color: #fff; text-decoration: none; }
    .header { padding-top: 13px; padding-bottom: 13px; transition: padding 0.25s ease, box-shadow 0.25s ease; }
    .header.is-scrolled { padding-top: 13px; padding-bottom: 13px; }
    .header > .wp-block-site-logo img { height: 46px; width: 46px; }
    .header.is-scrolled .header-brand-text { font-size: clamp(14px, 1.1vw, 16px); }
    .header .wp-block-navigation-item__content { white-space: nowrap; }
    .header .wp-block-navigation__container { gap: clamp(0.9rem, 1.5vw, 1.75rem); }
    .header .header-brand { flex: 0 1 auto; min-width: 0; margin-right: 2rem; }
}

/* Referats-Karten mit zwei Absätzen (Live-Texte): Abstand zwischen den Absätzen, Kontaktzeile bleibt unten */
.struktur-band .referat-karte__text + .referat-karte__text { margin-top: 10px !important; }
.struktur-band .referat-karte__text:has(+ .referat-karte__text) { flex: 0 0 auto; }

.footer .footer-links a.rcb-sc-link { color: var(--wp--preset--color--rosa, #ff99d8); font: inherit; text-decoration: none; cursor: pointer; }
.footer .footer-links a.rcb-sc-link:hover, .footer .footer-links a.rcb-sc-link:focus { color: #fff; text-decoration: underline; }

/* Nützliche Links: beim Darüberfahren wird die Kachel ganz flieder, das Symbol verschwindet und nur der Name steht mittig */
.useful-gallery figure.wp-block-image { position: relative; }
.useful-gallery figure.wp-block-image img { transition: opacity 0.2s ease, transform 0.2s ease; }
.useful-gallery figure.wp-block-image figcaption { transition: opacity 0.2s ease; }
@media (hover: hover) {
    .useful-gallery figure.wp-block-image:hover img, .useful-gallery figure.wp-block-image:focus-within img { opacity: 0; transform: scale(0.85); }
    .useful-gallery figure.wp-block-image:hover figcaption, .useful-gallery figure.wp-block-image:focus-within figcaption { position: absolute; inset: 0; width: auto; max-width: none; margin: 0; box-sizing: border-box; display: flex; align-items: center; justify-content: center; padding: 0 6px; font-size: 14px; font-weight: 800; letter-spacing: -0.01em; text-align: center; overflow: visible; white-space: normal; overflow-wrap: anywhere; }
}

/* Kopfzeile Desktop: größeres Logo, linksbündig mit dem Text (das Logo-Bild hat rund 8 % transparenten Rand) */
@media (min-width: 1151px) {
    .header > .wp-block-site-logo img { height: 64px; width: 64px; }
    .header > .wp-block-site-logo { margin-left: -5px; }
    .header { padding-top: 12px; padding-bottom: 12px; }
}

/* Kopfzeile ohne Flackern: Der klebende Rahmen hat eine feste Höhe, die Kopfzeile darin schrumpft nur optisch.
   Dadurch ändert sich die Seitenhöhe beim Scrollen nie (sonst sprang die Seite bei kurzen Beiträgen zwischen den Zuständen hin und her). */
.wp-site-blocks > header.wp-block-template-part { height: 59px; pointer-events: none; }
.wp-site-blocks > header.wp-block-template-part > .header { position: absolute !important; top: 0 !important; left: 0; right: 0; pointer-events: auto; }
@media (min-width: 1151px) {
    .wp-site-blocks > header.wp-block-template-part { height: 88px; }
}

/* Hinweise für Redakteur*innen: erscheinen nur im Editor (gelb); auf der Webseite werden sie gar nicht ausgegeben */
body:not(.editor-styles-wrapper) .editor-hinweis { display: none !important; }
.editor-styles-wrapper .editor-hinweis { display: block; background: #fff8d6; border: 1px solid #e6c84f; border-left: 5px solid #e0a800; border-radius: 6px; padding: 10px 14px; margin: 0 0 16px; font-family: Inter, Arial, sans-serif; font-size: 13px; line-height: 1.5; color: #5a4a00; }

/* Aufzählungen (Stichpunkte, Nummern): immer linksbündig, gleiche Schrift wie der Fließtext, Aufzählungszeichen in Bordeaux */
main .wp-block-list { text-align: left; font-size: 15px; line-height: 1.7; color: #333; padding-left: 1.3em; margin: 0 0 12px; }
main .wp-block-list li { margin: 0 0 4px; padding-left: 0.2em; text-align: left; }
main .wp-block-list li::marker { color: var(--wp--preset--color--bordeaux, #5e1f27); font-weight: 700; }
main .wp-block-list .wp-block-list { margin: 4px 0 4px; }
main .wp-block-list a { overflow-wrap: anywhere; }

/* Zusatz-Bausteine: Ausklapp-Frage (FAQ), Hervorhebung, Bild mit Nachweis */
.fsr-ausklapp { background: #fff; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); padding: 14px 20px; margin: 0 0 12px; }
.fsr-ausklapp > summary { cursor: pointer; font-family: 'Montserrat', 'Inter', Arial, sans-serif; font-weight: 700; font-size: 15px; color: var(--wp--preset--color--bordeaux, #5e1f27); }
.fsr-ausklapp > summary:hover { color: var(--wp--preset--color--pink, #ff66c4); }
.fsr-ausklapp[open] > summary { margin-bottom: 10px; }
.fsr-ausklapp p { font-size: 14px; line-height: 1.65; color: #333; margin: 0 0 8px; }
.fsr-hervorhebung { border-left: 5px solid var(--wp--preset--color--bordeaux, #5e1f27); background: var(--wp--preset--color--cream, #FAF3E9); border-radius: 0 12px 12px 0; padding: 16px 22px; margin: 0 0 16px; }
.fsr-hervorhebung p { font-size: 16px; font-weight: 600; line-height: 1.55; color: var(--wp--preset--color--dunkelblau, #1a2431); margin: 0; }
.fsr-bild { margin: 0 0 20px; }
.fsr-bild img { border-radius: 12px; display: block; max-width: 100%; height: auto; }
.fsr-bild figcaption { font-size: 12px; color: #666; margin-top: 6px; text-align: left; }

/* Tabelle im Look der Ersti-Termine: Zeilen als weiße Kacheln, erste Spalte als bordeauxroter Kasten */
.wp-block-table.fsr-tabelle { margin: 0 0 20px; overflow-x: visible; }
.fsr-tabelle table { border-collapse: separate; border-spacing: 0 12px; width: 100%; border: 0; font-size: 14px; }
.fsr-tabelle th, .fsr-tabelle td { border: 0; padding: 14px 18px; text-align: left; vertical-align: middle; }
.fsr-tabelle thead th { padding: 0 18px 2px; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--blau, #1d3b58); }
.fsr-tabelle thead { border: 0; }
.fsr-tabelle tbody td { background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,0.08); color: var(--wp--preset--color--dunkelblau, #1a2431); }
.fsr-tabelle tbody td:first-child { background: var(--wp--preset--color--bordeaux, #5e1f27); color: #fff; font-family: 'Montserrat', 'Inter', Arial, sans-serif; font-weight: 800; border-radius: 10px 0 0 10px; white-space: nowrap; width: 1%; }
.fsr-tabelle tbody td:last-child { border-radius: 0 10px 10px 0; }
.fsr-tabelle tbody tr:only-child td:first-child, .fsr-tabelle tbody td:first-child { box-shadow: none; }
@media (max-width: 700px) {
    .fsr-tabelle table, .fsr-tabelle tbody, .fsr-tabelle tr, .fsr-tabelle td { display: block; width: 100%; }
    .fsr-tabelle thead { display: none; }
    .fsr-tabelle tbody tr { margin-bottom: 12px; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.08); }
    .fsr-tabelle tbody td { box-shadow: none; padding: 10px 16px; border-radius: 0 !important; }
    .fsr-tabelle tbody td:first-child { width: 100%; }
}
/* Zwei Spalten */
.fsr-zwei-spalten { gap: 32px; margin: 0 0 24px; align-items: center; }
/* Kontaktperson */
.fsr-kontaktperson { background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); padding: 18px 22px; margin: 0 0 12px; max-width: 420px; }
.fsr-kontaktperson > * { margin: 0 !important; }
.fsr-kontaktperson__name { font-family: 'Montserrat', 'Inter', Arial, sans-serif; font-weight: 800; font-size: 16px; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.fsr-kontaktperson__amt { font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--wp--preset--color--bordeaux, #5e1f27); margin-top: 2px !important; }
.fsr-kontaktperson__kontakt { font-size: 14px; margin-top: 8px !important; }
.fsr-tabelle table { table-layout: auto; }
.fsr-tabelle tbody td:first-child { min-width: 96px; }
.fsr-kontaktperson .fsr-kontaktperson__name { font-family: 'Montserrat', 'Inter', Arial, sans-serif; font-weight: 800; font-size: 16px; color: var(--wp--preset--color--dunkelblau, #1a2431); }
.fsr-kontaktperson .fsr-kontaktperson__amt { font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--wp--preset--color--bordeaux, #5e1f27); }
.fsr-kontaktperson .fsr-kontaktperson__kontakt { font-size: 14px; }
.fsr-kontaktperson a { padding: 0; }

.wp-block-table.fsr-tabelle table.has-fixed-layout { table-layout: auto; }
.wp-block-table.fsr-tabelle table td:first-child { width: 1%; }
