
.ftpm-steckbrief {
    max-width: 920px;
}

.ftpm-steckbrief h2 {
    margin-top: 2rem;
}

.ftpm-facts dl,
.ftpm-protection dl {
    display: grid;
    grid-template-columns: minmax(140px, 220px) 1fr;
    gap: .5rem 1rem;
    padding: 1rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 12px;
    background: rgba(0,0,0,.025);
}

.ftpm-facts dt,
.ftpm-protection dt {
    font-weight: 700;
}

.ftpm-facts dd,
.ftpm-protection dd {
    margin: 0;
}

.ftpm-section {
    margin-top: 1.5rem;
}

.ftpm-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.ftpm-gallery figure {
    margin: 0;
}

.ftpm-gallery img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.ftpm-gallery figcaption {
    font-size: .9rem;
    line-height: 1.35;
    margin-top: .4rem;
    opacity: .85;
}


.ftpm-definition-list {
    display: grid;
    grid-template-columns: minmax(150px, 240px) 1fr;
    gap: .5rem 1rem;
    padding: 1rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 12px;
    background: rgba(0,0,0,.025);
}

.ftpm-definition-list dt {
    font-weight: 700;
}

.ftpm-definition-list dd {
    margin: 0;
}

.ftpm-imported-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.ftpm-imported-gallery figure {
    margin: 0;
}

.ftpm-imported-gallery img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.ftpm-imported-gallery figcaption {
    font-size: .9rem;
    line-height: 1.35;
    margin-top: .4rem;
    opacity: .85;
}


.ftpm-profile-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0 1.75rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 12px;
    overflow: hidden;
}

.ftpm-profile-table th,
.ftpm-profile-table td {
    padding: .8rem 1rem;
    border-bottom: 1px solid rgba(0,0,0,.08);
    vertical-align: top;
}

.ftpm-profile-table th {
    width: 230px;
    text-align: left;
    font-weight: 700;
    background: rgba(0,0,0,.035);
}

.ftpm-profile-table tr:last-child th,
.ftpm-profile-table tr:last-child td {
    border-bottom: 0;
}

.ftpm-clean-list,
.ftpm-credit-list {
    padding-left: 1.4rem;
}

.ftpm-clean-list li,
.ftpm-credit-list li {
    margin-bottom: .45rem;
}

@media (max-width: 700px) {
    .ftpm-profile-table,
    .ftpm-profile-table tbody,
    .ftpm-profile-table tr,
    .ftpm-profile-table th,
    .ftpm-profile-table td {
        display: block;
        width: 100%;
    }

    .ftpm-profile-table th {
        border-bottom: 0;
        padding-bottom: .25rem;
    }

    .ftpm-profile-table td {
        padding-top: .25rem;
    }
}


/* v0.27.5: ruhige Galerie und Lightbox */
.ftpm-imported-gallery {
    align-items: start;
}

.ftpm-imported-gallery .wp-block-image {
    display: flex;
    flex-direction: column;
}

.ftpm-imported-gallery .ftpm-lightbox-link {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 12px;
    background: rgba(0,0,0,.04);
}

.ftpm-imported-gallery .ftpm-lightbox-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Theme-Featured-Images nicht aggressiv croppen, soweit das Theme es zulässt */
.single-fruchttaube .post-thumbnail img,
.single-fruchttaube .wp-post-image {
    object-fit: contain;
    height: auto;
    max-height: none;
}

.ftpm-lightbox-open {
    overflow: hidden;
}

.ftpm-lightbox-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0,0,0,.86);
}

.ftpm-lightbox-figure {
    margin: 0;
    max-width: min(1100px, 96vw);
    max-height: 92vh;
    color: #fff;
    text-align: center;
}

.ftpm-lightbox-figure img {
    max-width: 100%;
    max-height: 82vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 20px 70px rgba(0,0,0,.45);
}

.ftpm-lightbox-figure figcaption {
    margin-top: .75rem;
    font-size: .95rem;
    opacity: .9;
}

.ftpm-lightbox-close {
    position: fixed;
    top: 18px;
    right: 22px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.95);
    color: #111;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
}


/* v0.27.5: Feinschliff für Fruchttauben-Einzelseiten */

/* Störende Theme-Metadaten wie "Verfasst von in" ausblenden */
.single-fruchttaube .entry-meta,
.single-fruchttaube .post-meta,
.single-fruchttaube .byline,
.single-fruchttaube .author,
.single-fruchttaube .posted-on,
.single-fruchttaube .cat-links,
.single-fruchttaube .tags-links {
    display: none !important;
}

/* Ruhigerer Abstand nach dem Beitragsbild */
.single-fruchttaube .post-thumbnail,
.single-fruchttaube .wp-post-image {
    margin-bottom: 1.75rem;
}

/* Überschriften etwas kompakter halten */
.single-fruchttaube .entry-content h2,
.single-fruchttaube .wp-block-post-content h2 {
    font-size: clamp(1.55rem, 2.8vw, 2.15rem);
    line-height: 1.2;
    margin-top: 2.3rem;
    margin-bottom: .85rem;
}

/* Einleitung nicht zu riesig werden lassen */
.single-fruchttaube .entry-content > p:first-of-type,
.single-fruchttaube .wp-block-post-content > p:first-of-type {
    font-size: clamp(1.05rem, 2.2vw, 1.25rem);
    line-height: 1.55;
    max-width: 780px;
}

/* Kurzprofil optisch ruhiger und kompakter */
.ftpm-profile-table {
    font-size: clamp(.96rem, 1.8vw, 1.08rem);
    background: #fff;
}

.ftpm-profile-table th {
    width: 210px;
    color: #111;
}

.ftpm-profile-table th,
.ftpm-profile-table td {
    padding: .7rem .9rem;
}

/* Lange Listen fachlicher, weniger wild */
.ftpm-clean-list {
    max-width: 880px;
    margin-top: .5rem;
    margin-bottom: 1.5rem;
}

.ftpm-clean-list li {
    padding-left: .15rem;
    line-height: 1.5;
}

.ftpm-credit-list {
    font-size: clamp(.95rem, 1.7vw, 1.05rem);
    line-height: 1.5;
}

/* Galerie harmonischer */
.ftpm-imported-gallery {
    margin-top: .8rem;
}

.ftpm-imported-gallery .wp-block-image {
    gap: .45rem;
}

.ftpm-imported-gallery figcaption {
    font-size: .9rem;
    line-height: 1.35;
    color: rgba(0,0,0,.68);
}

/* Auf kleinen Displays die Tabelle wie Karten wirken lassen */
@media (max-width: 700px) {
    .ftpm-profile-table {
        border-radius: 10px;
    }

    .ftpm-profile-table tr {
        border-bottom: 1px solid rgba(0,0,0,.08);
    }

    .ftpm-profile-table tr:last-child {
        border-bottom: 0;
    }
}


/* v0.27.5: Astra-orientierte Breiten und ruhigere Gesamtaufmachung */
.single-fruchttaube {
    --ftpm-content-width: 900px;
}

/* In Astra und vielen klassischen Themes alles sauber auf eine gemeinsame Breite bringen */
.single-fruchttaube .site-main .entry-content,
.single-fruchttaube .ast-container .entry-content,
.single-fruchttaube article.fruchttaube .entry-content {
    max-width: var(--ftpm-content-width);
    margin-left: auto;
    margin-right: auto;
}

/* Direkte Content-Kinder gleich breit halten */
.single-fruchttaube .entry-content > *,
.single-fruchttaube .wp-block-post-content > * {
    max-width: var(--ftpm-content-width);
    margin-left: auto;
    margin-right: auto;
}

/* Titel und Beitragsbild in Astra ebenfalls an die Steckbriefbreite angleichen */
.single-fruchttaube .entry-header,
.single-fruchttaube .ast-single-post-featured-section,
.single-fruchttaube .post-thumbnail,
.single-fruchttaube .wp-post-image {
    max-width: var(--ftpm-content-width);
    margin-left: auto;
    margin-right: auto;
}

/* Beitragsbild kontrolliert darstellen, nicht breiter als Inhalt */
.single-fruchttaube .post-thumbnail img,
.single-fruchttaube .wp-post-image {
    width: 100%;
    max-width: var(--ftpm-content-width);
    height: auto !important;
    object-fit: contain !important;
    display: block;
}

/* Theme-Meta noch robuster ausblenden */
.single-fruchttaube .entry-header .entry-meta,
.single-fruchttaube .entry-meta,
.single-fruchttaube .ast-single-post-order .entry-meta,
.single-fruchttaube .posted-by,
.single-fruchttaube .posted-on,
.single-fruchttaube .comments-link,
.single-fruchttaube .cat-links,
.single-fruchttaube .tags-links,
.single-fruchttaube .author,
.single-fruchttaube .byline,
.single-fruchttaube .ast-author-meta,
.single-fruchttaube .post-author,
.single-fruchttaube .post-date {
    display: none !important;
}

/* Wenn ein Theme leere Meta-Container stehen lässt */
.single-fruchttaube .entry-meta:empty,
.single-fruchttaube .ast-single-post-order:empty {
    display: none !important;
}

/* Einheitliche Abschnittsabstände */
.single-fruchttaube .entry-content h2,
.single-fruchttaube .wp-block-post-content h2 {
    max-width: var(--ftpm-content-width);
}

/* Tabelle und Galerie volle Steckbriefbreite */
.ftpm-profile-table,
.ftpm-imported-gallery,
.ftpm-clean-list,
.ftpm-credit-list {
    max-width: var(--ftpm-content-width);
}

/* Tabelle weniger schmal wirken lassen */
.ftpm-profile-table th {
    width: 260px;
}

.ftpm-profile-table td {
    width: auto;
}

/* Galerie klar als Grid über volle Breite */
.ftpm-imported-gallery {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

/* Bei sehr breiten Themes nicht zu riesig werden */
@media (min-width: 1200px) {
    .single-fruchttaube {
        --ftpm-content-width: 920px;
    }
}

@media (max-width: 760px) {
    .single-fruchttaube {
        --ftpm-content-width: calc(100vw - 32px);
    }

    .ftpm-imported-gallery {
        grid-template-columns: 1fr;
    }
}


/* v0.27.5: Übersichtsseiten */
.ftpm-overview,
.ftpm-genus-overview {
    max-width: var(--ftpm-content-width, 920px);
    margin-left: auto;
    margin-right: auto;
}

.ftpm-overview-intro {
    margin-bottom: 2rem;
}

.ftpm-overview-group {
    margin: 2.4rem 0;
}

.ftpm-overview-group h3 {
    font-size: clamp(1.35rem, 2.5vw, 1.85rem);
    margin-bottom: 1rem;
}

.ftpm-overview-group h3 span {
    opacity: .6;
    font-size: .85em;
}

.ftpm-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.1rem;
}

.ftpm-overview-card {
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.045);
}

.ftpm-overview-card-image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: rgba(0,0,0,.04);
}

.ftpm-overview-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ftpm-card-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: rgba(0,0,0,.45);
    background: linear-gradient(135deg, rgba(0,0,0,.04), rgba(0,0,0,.08));
}

.ftpm-overview-card-body {
    padding: 1rem;
}

.ftpm-overview-card h4 {
    margin: 0 0 .45rem;
    font-size: 1.05rem;
    line-height: 1.25;
}

.ftpm-overview-card h4 a {
    text-decoration: none;
}

.ftpm-card-scientific,
.ftpm-card-meta {
    margin: .35rem 0;
    font-size: .93rem;
    line-height: 1.4;
}

.ftpm-card-scientific {
    opacity: .78;
}

.ftpm-card-link {
    margin: .8rem 0 0;
    font-weight: 700;
}

.ftpm-term-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .9rem;
}

.ftpm-term-card {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: 1rem;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 12px;
    text-decoration: none;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0,0,0,.04);
}

.ftpm-term-card span {
    opacity: .72;
    font-size: .95rem;
}


/* v0.27.5: WooCommerce-artige Übersicht mit Filtern */
.ftpm-shop-overview,
.ftpm-genus-overview {
    max-width: var(--ftpm-content-width, 920px);
    margin-left: auto;
    margin-right: auto;
}

.ftpm-overview-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1.4rem;
}

.ftpm-overview-header h2 {
    margin: 0 0 .35rem;
}

.ftpm-overview-header p {
    margin: 0;
    opacity: .75;
}

.ftpm-overview-stats {
    min-width: 110px;
    padding: .85rem 1rem;
    border: 1px solid rgba(0,0,0,.1);
    border-radius: 14px;
    text-align: center;
    background: #fff;
    box-shadow: 0 6px 20px rgba(0,0,0,.04);
}

.ftpm-overview-stats strong {
    display: block;
    font-size: 1.65rem;
    line-height: 1;
}

.ftpm-overview-stats span {
    display: block;
    margin-top: .25rem;
    font-size: .9rem;
    opacity: .72;
}

.ftpm-filter-panel {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    margin: 1.2rem 0 1rem;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 16px;
    background: rgba(0,0,0,.025);
}

.ftpm-filter-label {
    display: block;
    margin-bottom: .45rem;
    font-weight: 700;
}

.ftpm-filter-links {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.ftpm-filter-links a {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .38rem .65rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 999px;
    text-decoration: none;
    background: #fff;
    font-size: .92rem;
    line-height: 1.2;
}

.ftpm-filter-links a.is-active {
    border-color: currentColor;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
}

.ftpm-filter-links a span {
    opacity: .62;
    font-size: .9em;
}

.ftpm-resultbar {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: .8rem 0 1.5rem;
    font-size: .95rem;
    opacity: .82;
}

.ftpm-overview-group {
    margin: 2rem 0 2.8rem;
}

.ftpm-overview-group h3 {
    border-bottom: 1px solid rgba(0,0,0,.1);
    padding-bottom: .45rem;
}

.ftpm-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.ftpm-overview-card {
    transition: transform .16s ease, box-shadow .16s ease;
}

.ftpm-overview-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

@media (max-width: 700px) {
    .ftpm-overview-header,
    .ftpm-resultbar {
        display: block;
    }

    .ftpm-overview-stats {
        margin-top: 1rem;
        text-align: left;
    }
}


/* v0.27.5: Karten/Buttons sauber ausrichten */
.ftpm-overview-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.ftpm-overview-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ftpm-overview-card-content {
    flex: 1;
}

.ftpm-card-actions {
    margin-top: 1rem;
}

.ftpm-card-actions.wp-block-buttons {
    display: flex;
}

.ftpm-card-actions .wp-block-button {
    width: 100%;
}

.ftpm-card-button.wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: .72rem 1rem;
    text-align: center;
    text-decoration: none;
    line-height: 1.2;
    border-radius: 999px;
}

/* Falls das Theme Buttons nicht ausreichend stylt */
.ftpm-card-button.wp-block-button__link:not(.has-background) {
    background: var(--ast-global-color-0, #1e73be);
    color: #fff;
}

.ftpm-card-button.wp-block-button__link:hover,
.ftpm-card-button.wp-block-button__link:focus {
    filter: brightness(.95);
    text-decoration: none;
}

.ftpm-card-link {
    display: none;
}


/* v0.27.5: Button-Layout in Übersichtskarten korrigiert */
.ftpm-overview-card,
.ftpm-overview-card *,
.ftpm-overview-card *::before,
.ftpm-overview-card *::after {
    box-sizing: border-box;
}

.ftpm-overview-card {
    display: flex;
    flex-direction: column;
}

.ftpm-overview-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1rem;
}

.ftpm-overview-card-content {
    flex: 1 1 auto;
}

.ftpm-card-actions {
    margin-top: auto;
    padding-top: 1rem;
}

.ftpm-card-actions.wp-block-buttons {
    display: flex;
    width: 100%;
    gap: 0;
}

.ftpm-card-actions .wp-block-button {
    display: block;
    width: 100%;
    margin: 0;
}

.ftpm-card-button.wp-block-button__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    padding: .62rem .9rem;
    border-radius: 10px;
    font-size: .95rem;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}

.ftpm-overview-card h4 {
    margin-bottom: .45rem;
}

.ftpm-card-meta:last-of-type {
    margin-bottom: .25rem;
}

/* Keine riesigen Pillen-Buttons, wenn ein Theme sehr breite Buttonstyles setzt */
.ftpm-card-actions .wp-block-button__link {
    max-width: 100%;
}

/* Karten optisch etwas ruhiger */
.ftpm-overview-card {
    min-height: 100%;
}

.ftpm-card-grid {
    align-items: stretch;
}


/* v0.27.5: Eigenschaften in Übersichtskarten ruhiger darstellen */
.ftpm-overview-card .ftpm-card-meta {
    display: block;
    margin: .55rem 0 0;
    font-size: .93rem;
    line-height: 1.38;
}

.ftpm-overview-card .ftpm-card-meta strong {
    display: block;
    margin-bottom: .12rem;
    font-size: .78rem;
    line-height: 1.2;
    letter-spacing: .02em;
    text-transform: uppercase;
    opacity: .68;
}

.ftpm-overview-card .ftpm-card-meta span {
    display: block;
}

.ftpm-overview-card .ftpm-card-scientific {
    margin-bottom: .65rem;
}


/* v0.27.5: Kontrast- und Lesbarkeits-Feinschliff für Lighthouse/Accessibility */
.ftpm-overview-card h4,
.ftpm-overview-card h4 a {
    color: #111827;
}

.ftpm-overview-card .ftpm-card-scientific {
    color: #4b5563;
    opacity: 1;
}

.ftpm-overview-card .ftpm-card-meta {
    color: #111827;
}

.ftpm-overview-card .ftpm-card-meta strong {
    color: #374151;
    opacity: 1;
    font-weight: 700;
}

/* Buttonfarbe bewusst kontraststark: Weiß auf Blau erfüllt WCAG AA deutlich */
.ftpm-card-button.wp-block-button__link,
.ftpm-card-button.wp-block-button__link:not(.has-background) {
    background: #1d4ed8;
    color: #ffffff;
}

.ftpm-card-button.wp-block-button__link:hover,
.ftpm-card-button.wp-block-button__link:focus {
    background: #1e40af;
    color: #ffffff;
    filter: none;
}

.ftpm-card-button.wp-block-button__link:focus-visible {
    outline: 3px solid #93c5fd;
    outline-offset: 3px;
}

/* Filter-Pills ebenfalls mit besserem Kontrast */
.ftpm-filter-links a {
    color: #111827;
}

.ftpm-filter-links a.is-active {
    background: #111827;
    color: #ffffff;
}

/* Bildplatzhalter nicht zu hell darstellen */
.ftpm-card-placeholder {
    color: #374151;
}


/* v0.27.5: Filterbereich kompakter, mit Suche und aktiven Chips */
.ftpm-filter-panel-v2 {
    gap: .9rem;
}

.ftpm-filter-search label {
    display: block;
    margin-bottom: .45rem;
    font-weight: 700;
}

.ftpm-search-row {
    display: flex;
    gap: .6rem;
}

.ftpm-search-row input[type="search"] {
    flex: 1;
    min-height: 44px;
    padding: .65rem .8rem;
    border: 1px solid rgba(0,0,0,.18);
    border-radius: 10px;
    background: #fff;
    color: #111827;
}

.ftpm-filter-submit {
    min-height: 44px;
    border: 0;
    border-radius: 10px;
    background: #1d4ed8;
    color: #fff;
    cursor: pointer;
    padding: .65rem 1rem;
}

.ftpm-active-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    padding-top: .25rem;
}

.ftpm-active-filters > span {
    font-weight: 700;
    color: #374151;
    margin-right: .2rem;
}

.ftpm-active-filters a {
    display: inline-flex;
    align-items: center;
    padding: .34rem .6rem;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.14);
    background: #fff;
    color: #111827;
    text-decoration: none;
    font-size: .9rem;
}

.ftpm-active-filters .ftpm-reset-chip {
    background: #111827;
    color: #fff;
    border-color: #111827;
}

.ftpm-filter-details {
    border-top: 1px solid rgba(0,0,0,.08);
    padding-top: .8rem;
}

.ftpm-filter-details summary {
    cursor: pointer;
    font-weight: 700;
    margin-bottom: .8rem;
    color: #111827;
}

.ftpm-filter-details[open] summary {
    margin-bottom: 1rem;
}

@media (min-width: 900px) {
    .ftpm-filter-details {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ftpm-filter-details summary {
        display: none;
    }
}

@media (max-width: 700px) {
    .ftpm-search-row {
        display: block;
    }

    .ftpm-search-row input[type="search"],
    .ftpm-filter-submit {
        width: 100%;
    }

    .ftpm-filter-submit {
        margin-top: .55rem;
    }
}


/* v0.27.5: AJAX-Live-Suche */
.ftpm-filter-search {
    position: relative;
}

.ftpm-live-search-results {
    position: absolute;
    z-index: 20;
    left: 0;
    right: 0;
    top: calc(100% + .35rem);
    background: #fff;
    border: 1px solid rgba(0,0,0,.14);
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(0,0,0,.14);
    overflow: hidden;
}

.ftpm-live-search-results:empty {
    display: none;
}

.ftpm-live-search-list {
    display: grid;
}

.ftpm-live-search-item {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: .75rem;
    align-items: center;
    padding: .65rem .75rem;
    text-decoration: none;
    color: #111827;
    border-bottom: 1px solid rgba(0,0,0,.07);
}

.ftpm-live-search-item:last-child {
    border-bottom: 0;
}

.ftpm-live-search-item:hover,
.ftpm-live-search-item:focus {
    background: rgba(29,78,216,.07);
    color: #111827;
    outline: none;
}

.ftpm-live-search-item img,
.ftpm-live-search-placeholder {
    width: 56px;
    height: 44px;
    border-radius: 8px;
    object-fit: cover;
    background: rgba(0,0,0,.06);
}

.ftpm-live-search-placeholder {
    display: grid;
    place-items: center;
    font-weight: 700;
    color: #374151;
    font-size: .82rem;
}

.ftpm-live-search-text {
    display: grid;
    gap: .08rem;
    min-width: 0;
}

.ftpm-live-search-text strong,
.ftpm-live-search-text em,
.ftpm-live-search-text small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ftpm-live-search-text em {
    color: #4b5563;
    font-size: .9rem;
}

.ftpm-live-search-text small {
    color: #374151;
    font-size: .82rem;
}

.ftpm-live-search-message {
    padding: .75rem .9rem;
    color: #374151;
    font-size: .92rem;
}

@media (max-width: 700px) {
    .ftpm-live-search-results {
        position: static;
        margin-top: .5rem;
    }
}


/* v0.27.5: Kategorieübersicht */
.ftpm-category-overview {
    max-width: var(--ftpm-content-width, 920px);
    margin-left: auto;
    margin-right: auto;
}

.ftpm-category-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.ftpm-category-card {
    padding: 0;
    overflow: hidden;
}

.ftpm-term-card-link {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-height: 150px;
    padding: 1.05rem;
    color: #111827;
    text-decoration: none;
}

.ftpm-term-card-link strong {
    font-size: 1.05rem;
    line-height: 1.25;
}

.ftpm-term-card-link span {
    color: #374151;
}

.ftpm-term-card-link small {
    margin-top: .2rem;
    color: #4b5563;
    line-height: 1.4;
}

.ftpm-term-card-link em {
    margin-top: auto;
    font-style: normal;
    font-weight: 700;
    color: #1d4ed8;
}

.ftpm-category-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.ftpm-category-card:hover .ftpm-term-card-link em {
    text-decoration: underline;
}


/* v0.27.5: Kategorieübersicht mit Bildern, Alle-Kachel und echten Buttons */
.ftpm-category-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    align-items: stretch;
}

.ftpm-category-card {
    padding: 0;
    overflow: hidden;
    transition: transform .16s ease, box-shadow .16s ease;
}

.ftpm-category-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.ftpm-category-card .ftpm-term-card-link {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 0;
    color: #111827;
    text-decoration: none;
}

.ftpm-category-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: rgba(0,0,0,.045);
}

.ftpm-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ftpm-category-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: .35rem;
    padding: 1rem;
}

.ftpm-category-card-body > strong {
    font-size: 1.08rem;
    line-height: 1.25;
}

.ftpm-category-card-body > span:not(.ftpm-category-action) {
    color: #374151;
}

.ftpm-category-card-body small {
    color: #4b5563;
    line-height: 1.4;
}

.ftpm-category-action {
    display: block;
    margin-top: auto;
    padding-top: .9rem;
    width: 100%;
}

.ftpm-category-action .wp-block-button__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    padding: .62rem .9rem;
    border-radius: 10px;
    background: #1d4ed8;
    color: #fff;
    font-style: normal;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.2;
}

.ftpm-category-card:hover .ftpm-category-action .wp-block-button__link {
    background: #1e40af;
    text-decoration: none;
}

.ftpm-category-card-all .ftpm-category-action .wp-block-button__link {
    background: #111827;
}

.ftpm-category-card-all:hover .ftpm-category-action .wp-block-button__link {
    background: #000;
}

/* Alte Kategorie-Link-Formatierung neutralisieren */
.ftpm-term-card-link em {
    display: none;
}


/* v0.27.5: Quellenlinks für Yoast und Nutzer */
.ftpm-source-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .55rem;
    padding-left: 0;
    list-style: none;
}

.ftpm-source-links li {
    margin: 0;
}

.ftpm-source-links a {
    display: block;
    padding: .65rem .8rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 10px;
    text-decoration: none;
    background: #fff;
}

.ftpm-source-links a:hover,
.ftpm-source-links a:focus {
    text-decoration: underline;
}


/* v0.27.5: Hinweis in manueller Steckbrief-Vorlage */
.ftpm-editor-hint {
    padding: .85rem 1rem;
    border-left: 4px solid #1d4ed8;
    background: rgba(29,78,216,.07);
    border-radius: 8px;
}


/* v0.27.5: Mobile Optimierung der Steckbrief-/Kurzprofil-Tabelle */
.ftpm-profile-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

.ftpm-profile-table th,
.ftpm-profile-table td {
    vertical-align: top;
}

@media (max-width: 700px) {
    .ftpm-profile-table {
        display: block;
        width: 100%;
        border: 1px solid rgba(15, 23, 42, .10);
        border-radius: 14px;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
    }

    .ftpm-profile-table tbody {
        display: block;
        width: 100%;
    }

    .ftpm-profile-table tr {
        display: block;
        width: 100%;
        border-bottom: 1px solid rgba(15, 23, 42, .09);
        background: #fff;
    }

    .ftpm-profile-table tr:last-child {
        border-bottom: 0;
    }

    .ftpm-profile-table th,
    .ftpm-profile-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        border: 0 !important;
        text-align: left;
    }

    .ftpm-profile-table th {
        padding: 13px 16px 8px;
        background: #f5f5f5;
        color: #111827;
        font-size: 15px;
        line-height: 1.35;
        font-weight: 700;
    }

    .ftpm-profile-table td {
        padding: 10px 16px 15px;
        background: #fff;
        color: #1f2937;
        font-size: 15px;
        line-height: 1.55;
    }

    .ftpm-profile-table td em {
        font-style: italic;
    }

    .ftpm-profile-table td:empty::before {
        content: "–";
        color: #9ca3af;
    }
}

@media (max-width: 420px) {
    .ftpm-profile-table {
        border-radius: 12px;
    }

    .ftpm-profile-table th {
        padding: 12px 14px 7px;
        font-size: 14.5px;
    }

    .ftpm-profile-table td {
        padding: 9px 14px 14px;
        font-size: 14.5px;
    }
}


/* v0.27.5: Theme-Metadaten auf Fruchttauben-Steckbriefen zuverlässig ausblenden
   Verhindert Reste wie "Verfasst von in" bei Astra/anderen Themes. */
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .entry-meta,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .entry-meta *,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .posted-on,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .byline,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .author-name,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .cat-links,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .tags-links,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .comments-link,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .ast-single-post-order .entry-meta,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .ast-blog-single-element.ast-taxonomy-container,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .ast-post-format,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .post-meta,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .post-meta-wrapper,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .wp-block-post-author,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .wp-block-post-date,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .wp-block-post-terms {
    display: none !important;
}

/* Manche Themes geben den Meta-Bereich als leeren Absatz/Container aus. */
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .entry-header .entry-meta,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .entry-header .posted-by,
body.ftpm-single-steckbrief.ftpm-hide-theme-meta .entry-header .posted-in {
    display: none !important;
}


/* v0.27.5: zusätzlicher Fallback gegen Astra-/Theme-Metareste wie "Verfasst von in" */
body.single-fruchttaube .entry-meta,
body.single-fruchttaube .entry-meta *,
body.single-fruchttaube .ast-post-meta-container,
body.single-fruchttaube .ast-post-meta-container *,
body.single-fruchttaube .posted-on,
body.single-fruchttaube .byline,
body.single-fruchttaube .cat-links,
body.single-fruchttaube .tags-links,
body.single-fruchttaube .comments-link,
body.single-fruchttaube .author,
body.single-fruchttaube .vcard,
body.single-fruchttaube .post-meta,
body.single-fruchttaube .post-meta-wrapper {
    display: none !important;
}


/* v0.27.5: geschützter Community-Bereich */
.ftpm-internal-area {
    max-width: 1080px;
    margin: 0 auto;
    padding: 28px 18px;
}
.ftpm-internal-locked,
.ftpm-internal-no-access {
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}
.ftpm-internal-hero {
    margin-bottom: 24px;
    padding: 26px;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 22px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}
.ftpm-internal-kicker {
    margin: 0 0 8px;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.ftpm-internal-hero h2 {
    margin: 0 0 12px;
}
.ftpm-internal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.ftpm-internal-card {
    padding: 22px;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}
.ftpm-internal-card h3 {
    margin-top: 0;
}
.ftpm-muted {
    color: #64748b;
    font-size: .95em;
}
@media (max-width: 760px) {
    .ftpm-internal-grid {
        grid-template-columns: 1fr;
    }
    .ftpm-internal-hero,
    .ftpm-internal-card {
        padding: 18px;
    }
}


/* v0.27.5: Frontend-Layout-Stabilisierung für Übersicht und Steckbriefseiten */

/* Inhaltsbreite für einzelne Steckbriefseiten stabil halten */
.single-fruchttaube .entry-content,
.ftpm-single-steckbrief .entry-content,
.ftpm-single-template-content,
.fruchttaube-template-default .entry-content {
    max-width: var(--ftpm-content-width, 920px);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* Steckbrief-Tabelle darf nicht über die komplette Theme-Breite laufen */
.ftpm-profile-table,
.single-fruchttaube table.ftpm-profile-table,
.fruchttaube-template-default table.ftpm-profile-table {
    width: 100%;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
    table-layout: fixed;
    box-sizing: border-box;
}

.ftpm-profile-table th {
    width: 260px;
}

.ftpm-profile-table td {
    word-break: normal;
    overflow-wrap: anywhere;
}

/* Übersicht wieder klar als Kachel-/Shop-Grid erzwingen */
.ftpm-overview,
.ftpm-archive,
.ftpm-listing,
.ftpm-grid-wrap,
.fruchttauben-uebersicht,
.fruchttauben-overview {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.ftpm-card-grid,
.ftpm-overview-grid,
.ftpm-species-grid,
.fruchttauben-grid,
.fruchttauben-kacheln {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Falls der Shortcode Karten direkt ohne Grid-Klasse ausgibt */
.ftpm-overview .ftpm-card,
.ftpm-archive .ftpm-card,
.ftpm-listing .ftpm-card,
.fruchttauben-uebersicht .ftpm-card,
.fruchttauben-overview .ftpm-card,
.ftpm-species-card,
.ftpm-bird-card,
.fruchttauben-card {
    height: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Karten optisch wie Shop-Kacheln stabilisieren */
.ftpm-card,
.ftpm-species-card,
.ftpm-bird-card,
.fruchttauben-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .045);
}

.ftpm-card img,
.ftpm-species-card img,
.ftpm-bird-card img,
.fruchttauben-card img {
    display: block;
    width: 100%;
    height: 210px;
    object-fit: cover;
}

.ftpm-card-content,
.ftpm-species-card-content,
.ftpm-bird-card-content,
.fruchttauben-card-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 18px;
}

.ftpm-card .wp-element-button,
.ftpm-card .button,
.ftpm-species-card .wp-element-button,
.ftpm-species-card .button,
.ftpm-bird-card .wp-element-button,
.ftpm-bird-card .button,
.fruchttauben-card .wp-element-button,
.fruchttauben-card .button {
    margin-top: auto;
    align-self: stretch;
    text-align: center;
}

/* Generischer Fallback: wenn Karten als article im Shortcode erscheinen */
.ftpm-overview article,
.ftpm-archive article,
.ftpm-listing article,
.fruchttauben-uebersicht article {
    min-width: 0;
}

/* Tablets */
@media (max-width: 1024px) {
    .ftpm-card-grid,
    .ftpm-overview-grid,
    .ftpm-species-grid,
    .fruchttauben-grid,
    .fruchttauben-kacheln {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

/* Mobil */
@media (max-width: 700px) {
    .single-fruchttaube .entry-content,
    .ftpm-single-steckbrief .entry-content,
    .ftpm-single-template-content,
    .fruchttaube-template-default .entry-content {
        max-width: 100%;
        padding-left: 14px;
        padding-right: 14px;
    }

    .ftpm-profile-table,
    .single-fruchttaube table.ftpm-profile-table,
    .fruchttaube-template-default table.ftpm-profile-table {
        max-width: 100%;
        table-layout: auto;
    }

    .ftpm-profile-table th {
        width: 100%;
    }

    .ftpm-card-grid,
    .ftpm-overview-grid,
    .ftpm-species-grid,
    .fruchttauben-grid,
    .fruchttauben-kacheln {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .ftpm-card img,
    .ftpm-species-card img,
    .ftpm-bird-card img,
    .fruchttauben-card img {
        height: 220px;
    }
}


/* v0.27.5: Archiv-/Shortcode-Übersicht hart stabilisieren */
.ftpm-archive-template-main {
    padding: 32px 0 56px;
}

.ftpm-overview.ftpm-shop-overview {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.ftpm-overview-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ftpm-overview-card-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.ftpm-overview-card-content {
    flex: 1 1 auto;
}

.ftpm-card-actions {
    margin-top: auto;
}

.ftpm-overview-card .ftpm-card-button {
    display: block;
    width: 100%;
    box-sizing: border-box;
}


/* v0.27.5: Header/Footer-Fallback für eigenes Archiv-Template */
.ftpm-plugin-archive-header-fallback {
    border-bottom: 1px solid rgba(15, 23, 42, .12);
    background: #fff;
}

.ftpm-plugin-archive-header-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.ftpm-plugin-site-title {
    color: inherit;
    text-decoration: none;
    font-size: clamp(1.5rem, 3vw, 2.1rem);
    line-height: 1.1;
}

.ftpm-plugin-main-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ftpm-plugin-main-nav a {
    color: inherit;
    text-decoration: none;
}

.ftpm-plugin-main-nav a:hover {
    text-decoration: underline;
}

.ftpm-plugin-archive-footer-fallback {
    margin-top: 48px;
    border-top: 1px solid rgba(15, 23, 42, .12);
    color: #64748b;
}

.ftpm-plugin-archive-footer-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px 18px;
}

@media (max-width: 760px) {
    .ftpm-plugin-archive-header-inner {
        display: block;
    }

    .ftpm-plugin-main-nav {
        margin-top: 12px;
    }

    .ftpm-plugin-main-nav ul {
        gap: 10px 16px;
    }
}


/* v0.27.5: Mitgliedsbestand */
.ftpm-internal-module {
}

.ftpm-stock-box {
    padding: 24px;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}

.ftpm-stock-head h2 {
    margin: 0 0 8px;
}

.ftpm-stock-notice {
    margin: 16px 0;
    padding: 12px 14px;
    border-left: 4px solid #16a34a;
    background: #f0fdf4;
    color: #166534;
    border-radius: 8px;
}

.ftpm-stock-form {
    margin-top: 20px;
}

.ftpm-stock-form-grid {
    display: grid;
    grid-template-columns: minmax(240px, 2fr) repeat(5, minmax(110px, 1fr));
    gap: 14px;
}

.ftpm-stock-form label,
.ftpm-stock-note {
    display: block;
}

.ftpm-stock-form label span,
.ftpm-stock-note span {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
    color: #0f172a;
}

.ftpm-stock-form input,
.ftpm-stock-form select,
.ftpm-stock-form textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 40px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 8px 10px;
}

.ftpm-stock-note {
    margin-top: 14px;
}

.ftpm-stock-submit {
    margin-top: 16px;
}

.ftpm-stock-list {
}

.ftpm-stock-table-wrap {
    overflow-x: auto;
}

.ftpm-stock-table {
    width: 100%;
    border-collapse: collapse;
}

.ftpm-stock-table th,
.ftpm-stock-table td {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(15, 23, 42, .10);
    text-align: left;
    vertical-align: top;
}

.ftpm-stock-table th {
    background: #f8fafc;
    font-weight: 700;
}

@media (max-width: 980px) {
    .ftpm-stock-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ftpm-stock-box {
        padding: 18px;
    }

    .ftpm-stock-form-grid {
        grid-template-columns: 1fr;
    }
}


/* v0.27.5: Bestand löschen / Bedienhinweise */
.ftpm-stock-help {
    margin: 14px 0 18px;
    padding: 12px 14px;
    border: 1px solid rgba(37, 99, 235, .18);
    border-radius: 10px;
    background: #eff6ff;
    color: #1e3a8a;
}

.ftpm-stock-notice-delete {
    border-left-color: #dc2626;
    background: #fef2f2;
    color: #991b1b;
}

.ftpm-stock-delete-form {
    margin: 0;
}

.ftpm-button-danger {
    border-color: #dc2626 !important;
    color: #dc2626 !important;
    background: #fff !important;
}

.ftpm-button-danger:hover,
.ftpm-button-danger:focus {
    border-color: #991b1b !important;
    color: #991b1b !important;
}


/* v0.27.5: Nachzuchtmeldungen */
.ftpm-breeding-box {
    padding: 24px;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}

.ftpm-breeding-head h2 {
    margin: 0 0 8px;
}

.ftpm-breeding-form {
    margin-top: 20px;
}

.ftpm-breeding-form-grid {
    display: grid;
    grid-template-columns: minmax(240px, 2fr) repeat(6, minmax(110px, 1fr));
    gap: 14px;
}

.ftpm-breeding-form label,
.ftpm-breeding-note {
    display: block;
}

.ftpm-breeding-form label span,
.ftpm-breeding-note span {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
    color: #0f172a;
}

.ftpm-breeding-form input,
.ftpm-breeding-form select,
.ftpm-breeding-form textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 40px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 8px 10px;
}

.ftpm-breeding-note {
    margin-top: 14px;
}

.ftpm-breeding-submit {
    margin-top: 16px;
}

.ftpm-breeding-list {
}

@media (max-width: 1100px) {
    .ftpm-breeding-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ftpm-breeding-box {
        padding: 18px;
    }

    .ftpm-breeding-form-grid {
        grid-template-columns: 1fr;
    }
}


/* v0.27.5: Interner Bereich Formular-Feinschliff */
.ftpm-stock-box,
.ftpm-breeding-box {
    max-width: 1180px;
}

.ftpm-stock-form-grid,
.ftpm-breeding-form-grid {
    align-items: end;
}

.ftpm-stock-table-wrap {
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 10px;
    overflow-x: auto;
}

.ftpm-stock-table {
    margin: 0;
}

.ftpm-stock-table th {
    white-space: nowrap;
}


/* v0.27.5: AJAX-Bearbeitung im internen Bereich */
.ftpm-community-ajax-notice {
    margin: 16px 0;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
    color: #166534;
    font-weight: 600;
}

.ftpm-community-ajax-notice.is-error {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.ftpm-stock-table td:last-child,
.ftpm-stock-table th:last-child {
    white-space: nowrap;
}

.ftpm-stock-edit,
.ftpm-breeding-edit {
    margin-right: 8px;
}

.ftpm-stock-delete-form,
.ftpm-breeding-delete-form {
    display: inline-block;
    margin: 0;
}

@media (max-width: 720px) {
    .ftpm-stock-table td:last-child,
    .ftpm-stock-table th:last-child {
        white-space: normal;
    }

    .ftpm-stock-edit,
    .ftpm-breeding-edit,
    .ftpm-stock-delete-form,
    .ftpm-breeding-delete-form {
        display: block;
        width: 100%;
        margin: 6px 0;
    }

    .ftpm-stock-edit + .ftpm-stock-delete-form,
    .ftpm-breeding-edit + .ftpm-breeding-delete-form {
        margin-top: 8px;
    }
}


/* v0.27.5: Inline-Bearbeitung für Bestand und Nachzuchten */
.ftpm-stock-table .ftpm-community-edit,
.ftpm-stock-table .ftpm-community-delete,
.ftpm-stock-table .ftpm-inline-cancel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: .45rem .75rem;
    border-radius: 0;
    font-size: .9rem;
    line-height: 1.1;
    text-decoration: none;
    cursor: pointer;
}

.ftpm-stock-table .ftpm-community-edit {
    background: #111827;
    border: 1px solid #111827;
    color: #fff;
}

.ftpm-stock-table .ftpm-community-edit:hover,
.ftpm-stock-table .ftpm-community-edit:focus {
    background: #000;
    color: #fff;
}

.ftpm-stock-table .ftpm-community-delete {
    background: #fff;
    border: 1px solid #dc2626;
    color: #b91c1c;
    margin-left: .35rem;
}

.ftpm-stock-table .ftpm-community-delete:hover,
.ftpm-stock-table .ftpm-community-delete:focus {
    background: #fef2f2;
    color: #991b1b;
}

.ftpm-inline-edit-row > td {
    padding: 0 !important;
    background: #f8fafc;
}

.ftpm-inline-edit-box {
    margin: 0;
    padding: 1.1rem;
    border-top: 1px solid rgba(15,23,42,.08);
    border-bottom: 1px solid rgba(15,23,42,.08);
    background: #f8fafc;
}

.ftpm-inline-edit-box h4 {
    margin: 0 0 .9rem;
    font-size: 1.05rem;
}

.ftpm-inline-edit-form {
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
}

.ftpm-inline-edit-form .ftpm-stock-form-grid,
.ftpm-inline-edit-form .ftpm-breeding-form-grid {
    margin-bottom: .85rem;
}

.ftpm-inline-edit-actions {
    display: inline-flex;
    gap: .5rem;
    margin-left: .65rem;
    vertical-align: middle;
}

.ftpm-inline-cancel {
    background: #fff;
    border: 1px solid rgba(15,23,42,.22);
    color: #111827;
}

.ftpm-inline-cancel:hover,
.ftpm-inline-cancel:focus {
    background: #f3f4f6;
    color: #111827;
}

.ftpm-community-ajax-notice {
    margin: 1rem 0;
    padding: .85rem 1rem;
    border-radius: 10px;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.ftpm-community-ajax-notice.is-error {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

@media (max-width: 760px) {
    .ftpm-stock-table .ftpm-community-edit,
    .ftpm-stock-table .ftpm-community-delete {
        width: 100%;
        margin: .25rem 0 0;
    }

    .ftpm-inline-edit-actions {
        display: flex;
        margin: .75rem 0 0;
    }

    .ftpm-inline-edit-actions .button,
    .ftpm-inline-cancel {
        width: 100%;
    }
}


/* v0.27.5: Mitgliederbereich breiter, Navigation, Steckbrief-Vorschau */
.ftpm-internal-portal {
    width: min(100%, 1320px);
    max-width: 1320px;
    margin-inline: auto;
}

.ftpm-internal-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

.ftpm-internal-nav {
    position: sticky;
    top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15,23,42,.05);
}

.ftpm-internal-nav a,
.ftpm-internal-nav span {
    display: block;
    padding: .7rem .85rem;
    border-radius: 10px;
    color: #111827;
    text-decoration: none;
    font-weight: 600;
}

.ftpm-internal-nav a:hover,
.ftpm-internal-nav a:focus {
    background: #f3f4f6;
    color: #000;
}

.ftpm-internal-nav span {
    color: #94a3b8;
    font-weight: 500;
}

.ftpm-internal-content {
    min-width: 0;
}

.ftpm-internal-content .ftpm-stock-box,
.ftpm-internal-content .ftpm-breeding-box {
    max-width: none;
}

.ftpm-community-table th:first-child,
.ftpm-community-table td:first-child {
    width: 34%;
}

.ftpm-member-species {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
}

.ftpm-member-species-media {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    overflow: hidden;
    background: #f1f5f9;
    border: 1px solid rgba(15,23,42,.08);
}

.ftpm-member-species-thumb {
    width: 56px !important;
    height: 56px !important;
    object-fit: cover;
    display: block;
}

.ftpm-member-species-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #f8fafc, #e5e7eb);
}

.ftpm-member-species-text a {
    color: inherit;
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.ftpm-member-species-text a:hover,
.ftpm-member-species-text a:focus {
    color: #1d4ed8;
}

.ftpm-inline-edit-form input[name="stock_id"],
.ftpm-inline-edit-form input[name="breeding_id"] {
    display: none !important;
}

@media (max-width: 980px) {
    .ftpm-internal-layout {
        grid-template-columns: 1fr;
    }

    .ftpm-internal-nav {
        position: static;
        display: flex;
        gap: .5rem;
        overflow-x: auto;
    }

    .ftpm-internal-nav a,
    .ftpm-internal-nav span {
        white-space: nowrap;
    }
}

@media (max-width: 760px) {
    .ftpm-member-species {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .ftpm-member-species-media,
    .ftpm-member-species-thumb {
        width: 44px !important;
        height: 44px !important;
    }
}


/* v0.27.5: Mitgliederbereich mobil und Desktop ausrichten */
.ftpm-internal-area,
.ftpm-internal-portal,
.ftpm-internal-area * {
    box-sizing: border-box;
}

.ftpm-internal-portal {
    width: 100%;
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(12px, 2vw, 24px);
    padding-right: clamp(12px, 2vw, 24px);
}

.ftpm-internal-portal .ftpm-internal-hero {
    margin-left: 0;
    margin-right: 0;
}

.ftpm-internal-layout {
    grid-template-columns: minmax(190px, 220px) minmax(0, 1fr);
    gap: clamp(1rem, 2vw, 1.6rem);
}

.ftpm-stock-box,
.ftpm-breeding-box {
    overflow: hidden;
}

.ftpm-stock-form-grid,
.ftpm-breeding-form-grid {
    align-items: end;
}

.ftpm-stock-form input,
.ftpm-stock-form select,
.ftpm-stock-form textarea {
    max-width: 100%;
}

.ftpm-stock-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ftpm-community-table {
    min-width: 760px;
}

.ftpm-community-table .ftpm-stock-delete-form,
.ftpm-community-table .ftpm-breeding-delete-form {
    display: inline-block;
    margin: 0 0 0 .45rem;
}

.ftpm-community-table .ftpm-community-edit,
.ftpm-community-table .ftpm-community-delete {
    white-space: nowrap;
}

@media (max-width: 980px) {
    .ftpm-internal-portal {
        max-width: 100%;
    }

    .ftpm-internal-layout {
        display: block;
    }

    .ftpm-internal-nav {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
        overflow: visible;
        margin: 0 0 1.2rem;
        padding: .75rem;
    }

    .ftpm-internal-nav a,
    .ftpm-internal-nav span {
        white-space: normal;
        text-align: center;
        padding: .7rem .55rem;
    }
}

@media (max-width: 760px) {
    .ftpm-internal-area,
    .ftpm-internal-portal {
        padding-left: 10px;
        padding-right: 10px;
    }

    .ftpm-internal-hero {
        padding: 20px;
        border-radius: 18px;
    }

    .ftpm-internal-hero h2,
    .ftpm-stock-head h2,
    .ftpm-breeding-head h2 {
        font-size: clamp(1.45rem, 7vw, 2rem);
        line-height: 1.15;
    }

    .ftpm-stock-box,
    .ftpm-breeding-box {
        padding: 18px;
        border-radius: 18px;
    }

    .ftpm-stock-help {
        font-size: .96rem;
        line-height: 1.5;
    }

    .ftpm-stock-form-grid,
    .ftpm-breeding-form-grid {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .ftpm-stock-submit,
    .ftpm-stock-submit .button,
    .ftpm-stock-submit button,
    .ftpm-stock-submit input[type="submit"] {
        width: 100%;
    }

    .ftpm-stock-submit .button,
    .ftpm-stock-submit button,
    .ftpm-stock-submit input[type="submit"] {
        justify-content: center;
        min-height: 48px;
    }

    .ftpm-stock-list h3,
    .ftpm-breeding-list h3 {
        font-size: 1.35rem;
        line-height: 1.25;
    }

    .ftpm-stock-table-wrap {
        overflow: visible;
    }

    .ftpm-community-table {
        min-width: 0;
        border-collapse: separate;
        border-spacing: 0 12px;
    }

    .ftpm-community-table thead {
        display: none;
    }

    .ftpm-community-table tbody,
    .ftpm-community-table tr,
    .ftpm-community-table td {
        display: block;
        width: 100% !important;
    }

    .ftpm-community-table tr.ftpm-stock-data-row,
    .ftpm-community-table tr.ftpm-breeding-data-row {
        border: 1px solid rgba(15,23,42,.10);
        border-radius: 14px;
        background: #fff;
        overflow: hidden;
        box-shadow: 0 8px 20px rgba(15,23,42,.04);
    }

    .ftpm-community-table td {
        position: relative;
        display: grid;
        grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
        gap: .75rem;
        padding: .78rem .9rem;
        border-bottom: 1px solid rgba(15,23,42,.08);
        align-items: start;
        min-height: 44px;
    }

    .ftpm-community-table tr td:last-child {
        border-bottom: 0;
    }

    .ftpm-community-table td::before {
        color: #64748b;
        font-size: .78rem;
        font-weight: 800;
        letter-spacing: .03em;
        text-transform: uppercase;
        line-height: 1.35;
    }

    .ftpm-stock-data-row td:nth-child(1)::before,
    .ftpm-breeding-data-row td:nth-child(1)::before { content: "Art"; }
    .ftpm-stock-data-row td:nth-child(2)::before,
    .ftpm-breeding-data-row td:nth-child(2)::before { content: "M / W / ?"; }
    .ftpm-stock-data-row td:nth-child(3)::before { content: "Sichtbarkeit"; }
    .ftpm-stock-data-row td:nth-child(4)::before { content: "Notiz"; }
    .ftpm-stock-data-row td:nth-child(5)::before { content: "Aktualisiert"; }
    .ftpm-stock-data-row td:nth-child(6)::before { content: "Aktion"; }
    .ftpm-breeding-data-row td:nth-child(3)::before { content: "Gesamt"; }
    .ftpm-breeding-data-row td:nth-child(4)::before { content: "Erfolgreich"; }
    .ftpm-breeding-data-row td:nth-child(5)::before { content: "Sichtbarkeit"; }
    .ftpm-breeding-data-row td:nth-child(6)::before { content: "Notiz"; }
    .ftpm-breeding-data-row td:nth-child(7)::before { content: "Aktualisiert"; }
    .ftpm-breeding-data-row td:nth-child(8)::before { content: "Aktion"; }

    .ftpm-member-species {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: .65rem;
    }

    .ftpm-member-species-media,
    .ftpm-member-species-thumb {
        width: 48px !important;
        height: 48px !important;
    }

    .ftpm-community-table .ftpm-stock-delete-form,
    .ftpm-community-table .ftpm-breeding-delete-form {
        display: block;
        margin: .55rem 0 0;
    }

    .ftpm-community-table .ftpm-community-edit,
    .ftpm-community-table .ftpm-community-delete {
        width: 100%;
        min-height: 42px;
        margin: 0;
    }

    .ftpm-inline-edit-row,
    .ftpm-inline-edit-row > td {
        display: block !important;
        width: 100% !important;
    }

    .ftpm-inline-edit-row > td {
        padding: 0 !important;
    }

    .ftpm-inline-edit-row > td::before {
        display: none !important;
        content: none !important;
    }

    .ftpm-inline-edit-box {
        padding: 1rem;
        border-radius: 14px;
        border: 1px solid rgba(37,99,235,.16);
        background: #f8fbff;
    }
}

@media (max-width: 460px) {
    .ftpm-internal-nav {
        grid-template-columns: 1fr 1fr;
        gap: .45rem;
    }

    .ftpm-community-table td {
        grid-template-columns: 1fr;
        gap: .35rem;
    }

    .ftpm-community-table td::before {
        margin-bottom: .05rem;
    }
}


/* v0.27.5: Mobile Meldungstabellen als Karten statt abgeschnittene Tabelle */
@media (max-width: 760px) {
    .ftpm-stock-table-wrap {
        width: 100%;
        max-width: 100%;
        overflow: visible !important;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .ftpm-stock-table.ftpm-community-table {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .ftpm-stock-table.ftpm-community-table thead {
        display: none !important;
    }

    .ftpm-stock-table.ftpm-community-table tbody {
        display: grid;
        gap: 1rem;
        width: 100%;
    }

    .ftpm-stock-table.ftpm-community-table tr.ftpm-stock-data-row,
    .ftpm-stock-table.ftpm-community-table tr.ftpm-breeding-data-row {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 1rem;
        border: 1px solid rgba(15, 23, 42, .10);
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 10px 22px rgba(15, 23, 42, .05);
    }

    .ftpm-stock-table.ftpm-community-table td {
        display: grid !important;
        grid-template-columns: 112px minmax(0, 1fr);
        gap: .75rem;
        align-items: start;
        width: 100% !important;
        min-width: 0 !important;
        padding: .65rem 0 !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(15, 23, 42, .07) !important;
        white-space: normal !important;
        overflow: visible !important;
        word-break: normal;
        overflow-wrap: anywhere;
    }

    .ftpm-stock-table.ftpm-community-table td:last-child {
        border-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .ftpm-stock-table.ftpm-community-table td::before {
        content: attr(data-label);
        font-weight: 700;
        color: #475569;
        font-size: .86rem;
        line-height: 1.35;
    }

    .ftpm-stock-table.ftpm-community-table td[data-label="Art"] {
        grid-template-columns: 1fr;
        gap: .55rem;
        padding-top: 0 !important;
    }

    .ftpm-stock-table.ftpm-community-table td[data-label="Art"]::before {
        display: none;
    }

    .ftpm-member-species {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: .75rem;
        align-items: center;
        width: 100%;
        min-width: 0;
    }

    .ftpm-member-species-media,
    .ftpm-member-species-thumb {
        width: 54px !important;
        height: 54px !important;
        flex: 0 0 54px;
    }

    .ftpm-member-species-text {
        min-width: 0;
    }

    .ftpm-member-species-text a,
    .ftpm-member-species-text {
        overflow-wrap: anywhere;
        word-break: normal;
        line-height: 1.35;
    }

    .ftpm-stock-table.ftpm-community-table td[data-label="Aktion"] {
        grid-template-columns: 1fr;
        gap: .65rem;
        padding-top: .9rem !important;
    }

    .ftpm-stock-table.ftpm-community-table td[data-label="Aktion"]::before {
        display: none;
    }

    .ftpm-stock-table .ftpm-community-edit,
    .ftpm-stock-table .ftpm-community-delete {
        width: 100% !important;
        min-height: 42px;
        margin: 0 !important;
        text-align: center;
    }

    .ftpm-stock-table .ftpm-stock-delete-form,
    .ftpm-stock-table .ftpm-breeding-delete-form {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .ftpm-inline-edit-row {
        display: block !important;
        width: 100%;
    }

    .ftpm-inline-edit-row > td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .ftpm-inline-edit-row > td::before {
        display: none !important;
    }

    .ftpm-inline-edit-box {
        margin: .85rem 0 0;
        padding: 1rem;
        border: 1px solid rgba(37, 99, 235, .18);
        border-radius: 14px;
        background: #f8fbff;
    }

    .ftpm-inline-edit-form .ftpm-stock-form-grid,
    .ftpm-inline-edit-form .ftpm-breeding-form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .9rem !important;
    }
}


/* v0.27.5: Echte mobile Kartenliste statt Tabellen-Umbau */
.ftpm-community-card-list {
    display: none;
}

@media (max-width: 760px) {
    .ftpm-community-table-wrap {
        overflow: visible !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .ftpm-community-table-wrap .ftpm-community-table {
        display: none !important;
    }

    .ftpm-community-card-list {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 1rem;
        width: 100%;
    }

    .ftpm-community-card {
        display: block;
        width: 100%;
        padding: 1rem;
        border: 1px solid rgba(15, 23, 42, .10);
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 10px 22px rgba(15, 23, 42, .05);
        box-sizing: border-box;
    }

    .ftpm-community-card-head {
        margin-bottom: .85rem;
    }

    .ftpm-community-card .ftpm-member-species {
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr);
        gap: .75rem;
        align-items: center;
        min-width: 0;
    }

    .ftpm-community-card-facts {
        display: grid;
        gap: 0;
        margin: 0;
        padding: 0;
    }

    .ftpm-community-card-facts > div {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
        gap: .75rem;
        padding: .62rem 0;
        border-top: 1px solid rgba(15, 23, 42, .07);
    }

    .ftpm-community-card-facts dt,
    .ftpm-community-card-facts dd {
        margin: 0;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .ftpm-community-card-facts dt {
        font-weight: 700;
        color: #475569;
        font-size: .86rem;
    }

    .ftpm-community-card-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: .6rem;
        margin-top: .95rem;
        padding-top: .95rem;
        border-top: 1px solid rgba(15, 23, 42, .07);
    }

    .ftpm-community-card-actions .button,
    .ftpm-community-card-actions form,
    .ftpm-community-card-actions button {
        width: 100% !important;
        margin: 0 !important;
    }

    .ftpm-inline-edit-card {
        display: block !important;
        width: 100%;
    }

    .ftpm-inline-edit-card .ftpm-inline-edit-box {
        margin: 0 0 1rem;
    }

    /* Alte v0.27.5 Tabellenkarten-Regeln neutralisieren */
    .ftpm-stock-table.ftpm-community-table tbody,
    .ftpm-stock-table.ftpm-community-table tr.ftpm-stock-data-row,
    .ftpm-stock-table.ftpm-community-table tr.ftpm-breeding-data-row,
    .ftpm-stock-table.ftpm-community-table td {
        display: revert !important;
    }

    .ftpm-stock-table.ftpm-community-table td::before {
        content: none !important;
        display: none !important;
    }
}


/* v0.27.5: Finale harte Mobile-Umschaltung für den internen Mitgliederbereich
   Ziel: Tabelle mobil sicher ausblenden, Kartenliste sicher anzeigen. */
.ftpm-internal-portal .ftpm-community-card-list,
.ftpm-stock-box .ftpm-community-card-list,
.ftpm-breeding-box .ftpm-community-card-list {
    display: none !important;
}

@media (max-width: 900px) {
    /* Alte Tabellen- und Tabellenkarten-Logik vollständig deaktivieren */
    .ftpm-internal-portal .ftpm-stock-table-wrap table,
    .ftpm-internal-portal table.ftpm-stock-table,
    .ftpm-internal-portal table.ftpm-community-table,
    .ftpm-stock-box table.ftpm-stock-table,
    .ftpm-stock-box table.ftpm-community-table,
    .ftpm-breeding-box table.ftpm-stock-table,
    .ftpm-breeding-box table.ftpm-community-table {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Kartenliste zuverlässig anzeigen */
    .ftpm-internal-portal .ftpm-community-card-list,
    .ftpm-stock-box .ftpm-community-card-list,
    .ftpm-breeding-box .ftpm-community-card-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 1rem 0 0 !important;
        padding: 0 !important;
    }

    .ftpm-internal-portal .ftpm-community-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 1rem !important;
        border: 1px solid rgba(15, 23, 42, .10) !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 10px 22px rgba(15, 23, 42, .05) !important;
        box-sizing: border-box !important;
    }

    .ftpm-community-card-head {
        margin: 0 0 .85rem !important;
    }

    .ftpm-community-card .ftpm-member-species {
        display: grid !important;
        grid-template-columns: 54px minmax(0, 1fr) !important;
        gap: .75rem !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .ftpm-community-card .ftpm-member-species-media,
    .ftpm-community-card .ftpm-member-species-thumb {
        width: 54px !important;
        height: 54px !important;
        max-width: 54px !important;
        max-height: 54px !important;
        object-fit: cover !important;
    }

    .ftpm-community-card .ftpm-member-species-text,
    .ftpm-community-card .ftpm-member-species-text a {
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        line-height: 1.35 !important;
    }

    .ftpm-community-card-facts {
        display: grid !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ftpm-community-card-facts > div {
        display: grid !important;
        grid-template-columns: 110px minmax(0, 1fr) !important;
        gap: .75rem !important;
        padding: .62rem 0 !important;
        border-top: 1px solid rgba(15, 23, 42, .07) !important;
    }

    .ftpm-community-card-facts dt,
    .ftpm-community-card-facts dd {
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.35 !important;
        overflow-wrap: anywhere !important;
    }

    .ftpm-community-card-facts dt {
        font-weight: 700 !important;
        color: #475569 !important;
        font-size: .86rem !important;
    }

    .ftpm-community-card-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .6rem !important;
        margin-top: .95rem !important;
        padding-top: .95rem !important;
        border-top: 1px solid rgba(15, 23, 42, .07) !important;
    }

    .ftpm-community-card-actions form,
    .ftpm-community-card-actions .button,
    .ftpm-community-card-actions button {
        display: flex !important;
        width: 100% !important;
        min-height: 42px !important;
        margin: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    /* Inline-Bearbeitung aus Karten heraus */
    .ftpm-inline-edit-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: .25rem 0 1rem !important;
    }

    .ftpm-inline-edit-card .ftpm-inline-edit-box {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 1rem !important;
        border: 1px solid rgba(37, 99, 235, .18) !important;
        border-radius: 14px !important;
        background: #f8fbff !important;
        box-sizing: border-box !important;
    }

    .ftpm-inline-edit-form .ftpm-stock-form-grid,
    .ftpm-inline-edit-form .ftpm-breeding-form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .9rem !important;
    }
}


/* v0.27.5: Robuste mobile Darstellung
   Ohne erzeugte Karten bleibt die Tabelle scrollbar sichtbar.
   Erst wenn JS erfolgreich Karten erzeugt hat (.ftpm-has-js-cards), wird die Tabelle mobil ausgeblendet. */
@media (max-width: 900px) {
    .ftpm-stock-table-wrap,
    .ftpm-community-table-wrap {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        max-width: 100% !important;
    }

    .ftpm-stock-table-wrap:not(.ftpm-has-js-cards) table.ftpm-community-table,
    .ftpm-community-table-wrap:not(.ftpm-has-js-cards) table.ftpm-community-table,
    .ftpm-stock-box .ftpm-stock-table-wrap:not(.ftpm-has-js-cards) table.ftpm-stock-table,
    .ftpm-breeding-box .ftpm-stock-table-wrap:not(.ftpm-has-js-cards) table.ftpm-stock-table {
        display: table !important;
        visibility: visible !important;
        height: auto !important;
        max-height: none !important;
            overflow: visible !important;
        margin: 0 !important;
    }

    .ftpm-stock-table-wrap.ftpm-has-js-cards table.ftpm-community-table,
    .ftpm-community-table-wrap.ftpm-has-js-cards table.ftpm-community-table,
    .ftpm-stock-box .ftpm-stock-table-wrap.ftpm-has-js-cards table.ftpm-stock-table,
    .ftpm-breeding-box .ftpm-stock-table-wrap.ftpm-has-js-cards table.ftpm-stock-table {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ftpm-stock-table-wrap.ftpm-has-js-cards .ftpm-js-card-list,
    .ftpm-community-table-wrap.ftpm-has-js-cards .ftpm-js-card-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 1rem 0 0 !important;
        padding: 0 !important;
    }

    .ftpm-js-community-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 1rem !important;
        border: 1px solid rgba(15,23,42,.10) !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 10px 22px rgba(15,23,42,.05) !important;
        box-sizing: border-box !important;
    }

    .ftpm-js-community-card .ftpm-community-card-head {
        margin: 0 0 .85rem !important;
    }

    .ftpm-js-community-card .ftpm-member-species {
        display: grid !important;
        grid-template-columns: 54px minmax(0,1fr) !important;
        gap: .75rem !important;
        align-items: center !important;
    }

    .ftpm-js-community-card .ftpm-member-species-media,
    .ftpm-js-community-card .ftpm-member-species-thumb {
        width: 54px !important;
        height: 54px !important;
        max-width: 54px !important;
        max-height: 54px !important;
        object-fit: cover !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts {
        display: grid !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts > div {
        display: grid !important;
        grid-template-columns: 112px minmax(0,1fr) !important;
        gap: .75rem !important;
        padding: .62rem 0 !important;
        border-top: 1px solid rgba(15,23,42,.07) !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts dt,
    .ftpm-js-community-card .ftpm-community-card-facts dd {
        margin: 0 !important;
        line-height: 1.35 !important;
        overflow-wrap: anywhere !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts dt {
        font-weight: 700 !important;
        color: #475569 !important;
        font-size: .86rem !important;
    }

    .ftpm-js-community-card .ftpm-community-card-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .6rem !important;
        margin-top: .95rem !important;
        padding-top: .95rem !important;
        border-top: 1px solid rgba(15,23,42,.07) !important;
    }

    .ftpm-js-community-card .ftpm-community-card-actions form,
    .ftpm-js-community-card .ftpm-community-card-actions .button,
    .ftpm-js-community-card .ftpm-community-card-actions button {
        display: flex !important;
        width: 100% !important;
        min-height: 42px !important;
        margin: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
}


/* v0.27.5: Archiv-Template läuft wieder im normalen Theme-Layout */
.ftpm-archive-template-main {
    width: 100%;
}

.ftpm-archive-template-container {
    display: block;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Falls alte Plugin-Fallback-Header/Footer-Regeln noch gecached sind, nicht mehr sichtbar machen */
.ftpm-plugin-archive-header-fallback,
.ftpm-plugin-archive-footer-fallback {
    display: none !important;
}


/* v0.27.5: Single-Steckbrief mit Hero-Bild und Intro-Karte */
.single-fruchttaube .entry-header,
.single-fruchttaube .ast-single-post-order {
    margin-bottom: 0;
}

.ftpm-steckbrief {
    width: min(100%, 1120px);
    margin: 0 auto;
}

.ftpm-single-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: clamp(320px, 44vw, 520px);
    margin: 0 0 28px;
    padding: clamp(28px, 5vw, 64px);
    border-radius: 0 0 22px 22px;
    overflow: hidden;
    background-color: #0f172a;
    background-size: cover;
    background-position: center;
    color: #fff;
    box-shadow: 0 24px 50px rgba(15, 23, 42, .16);
}

.ftpm-single-hero-inner {
    width: min(100%, 820px);
    position: relative;
    z-index: 1;
}

.ftpm-single-kicker {
    margin: 0 0 12px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.78);
}

.ftpm-single-hero h1 {
    margin: 0;
    max-width: 900px;
    font-size: clamp(2rem, 4.2vw, 4.6rem);
    line-height: 1.05;
    color: #fff;
    text-wrap: balance;
}

.ftpm-single-scientific {
    margin: 14px 0 0;
    font-size: clamp(1.1rem, 2vw, 1.7rem);
    color: rgba(255,255,255,.86);
}

.ftpm-single-intro-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 28px;
    align-items: center;
    margin: 0 0 42px;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
}

.ftpm-single-intro-text {
    font-size: clamp(1rem, 1.25vw, 1.18rem);
    line-height: 1.75;
    color: #1f2937;
}

.ftpm-single-intro-text p:first-child {
    margin-top: 0;
}

.ftpm-single-intro-text p:last-child {
    margin-bottom: 0;
}

.ftpm-single-intro-media {
    border-radius: 16px;
    overflow: hidden;
    background: #f1f5f9;
    aspect-ratio: 4 / 3;
}

.ftpm-single-intro-image {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: cover;
}

.ftpm-steckbrief-content {
    width: 100%;
}

.ftpm-steckbrief-content > h1:first-child,
.ftpm-steckbrief-content > .wp-block-heading:first-child {
    display: none;
}

/* Die alte große Beitragsbild-Ausgabe direkt im Content ausblenden, wenn sie als erstes Bild nach dem Titel kommt */
.ftpm-steckbrief-content > .wp-block-image:first-of-type {
    margin-top: 0;
}

.single-fruchttaube .ftpm-steckbrief-content > figure.wp-block-image:first-of-type {
    max-width: 280px;
    float: right;
    margin: 0 0 24px 28px;
}

.single-fruchttaube .ftpm-steckbrief-content > figure.wp-block-image:first-of-type img {
    border-radius: 14px;
}

@media (max-width: 920px) {
    .ftpm-steckbrief {
        width: min(100%, calc(100vw - 32px));
    }

    .ftpm-single-hero {
        min-height: 360px;
        padding: 32px 24px;
        border-radius: 18px;
    }

    .ftpm-single-intro-card {
        grid-template-columns: 1fr;
    }

    .ftpm-single-intro-media {
        max-width: 420px;
    }

    .single-fruchttaube .ftpm-steckbrief-content > figure.wp-block-image:first-of-type {
        float: none;
        max-width: 100%;
        margin: 0 0 24px;
    }
}

@media (max-width: 560px) {
    .ftpm-steckbrief {
        width: min(100%, calc(100vw - 24px));
    }

    .ftpm-single-hero {
        min-height: 300px;
        padding: 24px 20px;
    }

    .ftpm-single-intro-card {
        padding: 20px;
        gap: 18px;
    }
}


/* v0.27.5: Single-Steckbrief ohne doppelte Titel/Intro-Ausgabe */
.single-fruchttaube .entry-header,
.single-fruchttaube .entry-title,
.single-fruchttaube .ast-single-entry-banner,
.single-fruchttaube .ast-article-single > .entry-header {
    display: none !important;
}

.ftpm-single-hero h1 {
    max-width: 760px;
}

.ftpm-single-scientific {
    max-width: 760px;
}

.ftpm-steckbrief-content > p:first-child:empty {
    display: none;
}

/* Falls der Import-Titel als erster H1 im statischen Content steckt, bleibt er verborgen */
.ftpm-steckbrief-content > h1:first-child,
.ftpm-steckbrief-content > .wp-block-heading:first-child {
    display: none !important;
}


/* v0.27.5: Sexy Content-Karten, Section-Navigation und Galerie-Feinschliff */
.ftpm-single-section-nav {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: -10px 0 34px;
    padding: .75rem;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 16px;
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(10px);
    box-shadow: 0 14px 32px rgba(15,23,42,.06);
}

.admin-bar .ftpm-single-section-nav {
    top: 32px;
}

.ftpm-single-section-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: .45rem .75rem;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 999px;
    background: #fff;
    color: #172033;
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(15,23,42,.04);
}

.ftpm-single-section-nav a:hover,
.ftpm-single-section-nav a:focus {
    transform: translateY(-1px);
    border-color: rgba(37,99,235,.28);
    color: #1d4ed8;
}

.ftpm-steckbrief-content-enhanced {
    display: grid;
    gap: 26px;
}

.ftpm-content-section {
    position: relative;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(15,23,42,.055);
    scroll-margin-top: 110px;
}

.ftpm-content-section::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    border-radius: 20px 0 0 20px;
    background: linear-gradient(180deg, #3156d4, #86a3ff);
    opacity: .9;
}

.ftpm-content-section > h2:first-child {
    margin-top: 0;
    margin-bottom: .85rem;
    padding-left: .15rem;
    font-size: clamp(1.55rem, 2.2vw, 2.35rem);
    line-height: 1.18;
    letter-spacing: -.02em;
}

.ftpm-content-section > p:last-child,
.ftpm-content-section > ul:last-child,
.ftpm-content-section > ol:last-child {
    margin-bottom: 0;
}

.ftpm-content-section p,
.ftpm-content-section li {
    font-size: 1.02rem;
    line-height: 1.75;
}

.ftpm-content-section ol,
.ftpm-content-section ul {
    padding-left: 1.35rem;
}

.ftpm-content-section table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 14px;
    background: #fff;
}

.ftpm-content-section table th,
.ftpm-content-section table td {
    padding: 14px 18px;
    border-bottom: 1px solid rgba(15,23,42,.08);
}

.ftpm-content-section table tr:last-child th,
.ftpm-content-section table tr:last-child td {
    border-bottom: 0;
}

.ftpm-content-section table th,
.ftpm-content-section table td:first-child {
    background: #f8fafc;
    font-weight: 800;
}

.ftpm-content-section-sources p,
.ftpm-content-section-sources ul,
.ftpm-content-section-sources ol {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ftpm-content-section-sources a,
.ftpm-content-section a[href^="http"] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: .65rem .95rem;
    border: 1px solid rgba(37,99,235,.18);
    border-radius: 12px;
    background: #f8fbff;
    color: #1d4ed8;
    font-weight: 700;
    text-decoration: none;
}

.ftpm-content-section-sources a:hover,
.ftpm-content-section-sources a:focus,
.ftpm-content-section a[href^="http"]:hover,
.ftpm-content-section a[href^="http"]:focus {
    background: #eef4ff;
    border-color: rgba(37,99,235,.35);
}

.ftpm-content-section-gallery {
    padding-bottom: 38px;
}

.ftpm-content-section-gallery figure,
.ftpm-content-section-gallery .wp-block-image {
    margin: 22px 0 0;
}

.ftpm-content-section-gallery img {
    width: 100%;
    max-height: 620px;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 20px 46px rgba(15,23,42,.13);
}

.ftpm-content-section-status table {
    max-width: 780px;
}

.ftpm-content-section-status td:last-child {
    font-weight: 700;
}

/* Kurzprofil optisch stärker, falls es als erste Tabelle im Content liegt */
.ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type table {
    box-shadow: 0 16px 36px rgba(15,23,42,.055);
}

@media (max-width: 782px) {
    .admin-bar .ftpm-single-section-nav,
    .ftpm-single-section-nav {
        position: relative;
        top: auto;
        overflow-x: auto;
        flex-wrap: nowrap;
        margin-bottom: 22px;
        padding: .65rem;
    }

    .ftpm-single-section-nav a {
        white-space: nowrap;
    }

    .ftpm-content-section {
        padding: 20px;
        border-radius: 16px;
    }

    .ftpm-content-section::before {
        width: 4px;
    }

    .ftpm-content-section table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}


/* v0.27.5: Sprungnavigation deutlich dezenter */
.ftpm-single-section-nav {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: .45rem !important;
    max-width: 100% !important;
    margin: -6px 0 28px !important;
    padding: .45rem 0 .65rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
}

.admin-bar .ftpm-single-section-nav {
    top: auto !important;
}

.ftpm-single-section-nav::before {
    content: "Auf dieser Seite:";
    flex: 0 0 auto;
    align-self: center;
    margin-right: .25rem;
    color: #64748b;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .02em;
    white-space: nowrap;
}

.ftpm-single-section-nav a {
    flex: 0 0 auto !important;
    min-height: 30px !important;
    padding: .35rem .65rem !important;
    border: 1px solid rgba(15,23,42,.10) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.78) !important;
    color: #475569 !important;
    font-size: .8rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    transform: none !important;
}

.ftpm-single-section-nav a:hover,
.ftpm-single-section-nav a:focus {
    background: #fff !important;
    border-color: rgba(37,99,235,.32) !important;
    color: #1d4ed8 !important;
    transform: none !important;
}

.ftpm-content-section {
    box-shadow: 0 12px 28px rgba(15,23,42,.045) !important;
}

.ftpm-content-section::before {
    width: 3px !important;
    opacity: .55 !important;
}

.ftpm-content-section > h2:first-child {
    font-size: clamp(1.45rem, 2vw, 2.1rem) !important;
}

@media (max-width: 782px) {
    .ftpm-single-section-nav {
        position: relative !important;
        top: auto !important;
        margin: -4px 0 20px !important;
        padding: .35rem 0 .55rem !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        flex-wrap: nowrap !important;
    }

    .ftpm-single-section-nav::before {
        font-size: .78rem;
    }

    .ftpm-single-section-nav a {
        min-height: 28px !important;
        padding: .32rem .58rem !important;
        font-size: .76rem !important;
    }

    .ftpm-content-section {
        padding: 18px !important;
    }
}


/* v0.27.5: Sprungnavigation entfernt, Akzentstreifen wieder stärker */
.ftpm-single-section-nav {
    display: none !important;
}

/*
 * Akzentfarbe:
 * - --ftpm-accent kann später in den Plugin-Einstellungen gesetzt werden.
 * - --ast-global-color-0 greift bei Astra meist auf die globale Akzentfarbe.
 * - Fallback bleibt das bisherige Blau.
 */
.ftpm-steckbrief {
    --ftpm-accent: var(--ast-global-color-0, #3156d4);
}

.ftpm-content-section::before {
    width: 5px !important;
    opacity: .95 !important;
    background: linear-gradient(180deg, var(--ftpm-accent), color-mix(in srgb, var(--ftpm-accent) 55%, #ffffff)) !important;
}

.ftpm-content-section {
    border-left-color: color-mix(in srgb, var(--ftpm-accent) 25%, transparent) !important;
}

/* Fallback für Browser ohne color-mix */
@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
    .ftpm-content-section::before {
        background: linear-gradient(180deg, var(--ftpm-accent), #86a3ff) !important;
    }

    .ftpm-content-section {
        border-left-color: rgba(49, 86, 212, .22) !important;
    }
}

@media (max-width: 782px) {
    .ftpm-content-section::before {
        width: 4px !important;
    }
}


/* v0.27.5: Saubere Innenbreite und mobile Karten-/Tabellenabstände */
.single-fruchttaube .site-content,
.single-fruchttaube .content-area,
.single-fruchttaube .ast-container,
.single-fruchttaube .entry-content {
    overflow-x: clip;
}

.ftpm-steckbrief,
.ftpm-steckbrief *,
.ftpm-steckbrief *::before,
.ftpm-steckbrief *::after {
    box-sizing: border-box;
}

.ftpm-steckbrief {
    width: min(100%, 1120px);
    max-width: 1120px;
    margin-inline: auto;
    padding-inline: clamp(14px, 2vw, 24px);
}

.ftpm-single-hero,
.ftpm-single-intro-card,
.ftpm-content-section {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.ftpm-steckbrief-content,
.ftpm-steckbrief-content-enhanced {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.ftpm-content-section {
    overflow: hidden;
}

/* Tabellen dürfen nie aus der Karte herauslaufen */
.ftpm-content-section table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto;
}

.ftpm-content-section table th,
.ftpm-content-section table td {
    overflow-wrap: anywhere;
    word-break: normal;
}

/* Erste Kurzprofil-Tabelle optisch sauber in der Karte halten */
.ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type {
    padding-right: clamp(18px, 3vw, 34px);
}

.ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type table {
    margin: 0;
}

@media (max-width: 760px) {
    .single-fruchttaube .ast-container,
    .single-fruchttaube .site-content .ast-container,
    .single-fruchttaube .entry-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .ftpm-steckbrief {
        width: 100%;
        max-width: 100%;
        padding-left: 14px;
        padding-right: 14px;
    }

    .ftpm-single-hero {
        border-radius: 18px;
    }

    .ftpm-single-intro-card,
    .ftpm-content-section {
        border-radius: 16px;
    }

    .ftpm-content-section {
        padding: 18px 16px 18px 20px !important;
    }

    .ftpm-content-section::before {
        left: 0;
    }

    /* Mobile Kurzprofil-Tabelle: nicht mehr als breite Tabelle, sondern als saubere Zeilenkarten */
    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type table,
    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type tbody,
    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type tr,
    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type th,
    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type td {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
    }

    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type table {
        border: 1px solid rgba(15,23,42,.10);
        border-radius: 14px;
        overflow: hidden;
    }

    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type tr {
        border-bottom: 1px solid rgba(15,23,42,.08);
    }

    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type tr:last-child {
        border-bottom: 0;
    }

    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type th,
    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type td {
        border: 0 !important;
        padding: 12px 14px !important;
    }

    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type th {
        background: #f8fafc !important;
        font-weight: 800;
        padding-bottom: 8px !important;
    }

    .ftpm-steckbrief-content-enhanced .ftpm-content-section:first-of-type td {
        background: #fff !important;
        padding-top: 0 !important;
    }

    .ftpm-content-section-gallery img {
        max-height: none;
    }
}

@media (max-width: 420px) {
    .ftpm-steckbrief {
        padding-left: 12px;
        padding-right: 12px;
    }

    .ftpm-content-section {
        padding: 16px 14px 16px 18px !important;
    }

    .ftpm-content-section > h2:first-child {
        font-size: 1.35rem !important;
        line-height: 1.25;
    }

    .ftpm-content-section p,
    .ftpm-content-section li {
        font-size: .96rem;
        line-height: 1.65;
    }
}


/* v0.27.5: Professionellere Galerie und Bildnachweise */
.ftpm-content-section-gallery {
    background:
        radial-gradient(circle at 12% 0%, rgba(49,86,212,.07), transparent 34%),
        #fff;
}

.ftpm-content-section-gallery > h2:first-child {
    margin-bottom: 1.1rem !important;
}

.ftpm-content-section-gallery .wp-block-gallery,
.ftpm-content-section-gallery .blocks-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 18px !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
}

.ftpm-content-section-gallery figure.wp-block-image,
.ftpm-content-section-gallery .wp-block-gallery figure,
.ftpm-content-section-gallery .blocks-gallery-item {
    position: relative;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    background: #f8fafc;
    overflow: hidden;
    box-shadow: 0 16px 34px rgba(15,23,42,.08);
}

.ftpm-content-section-gallery figure.wp-block-image img,
.ftpm-content-section-gallery .wp-block-gallery img,
.ftpm-content-section-gallery .blocks-gallery-item img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 220px;
    max-height: 520px;
    object-fit: cover;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ftpm-content-section-gallery figcaption,
.ftpm-content-section-gallery .blocks-gallery-item__caption {
    position: static !important;
    display: block !important;
    width: 100% !important;
    padding: .75rem .9rem !important;
    margin: 0 !important;
    background: #fff !important;
    color: #475569 !important;
    font-size: .88rem !important;
    line-height: 1.45 !important;
    text-align: left !important;
    box-sizing: border-box;
}

/* Wenn das Beitragsbild zusätzlich in der Galerie liegt, optisch ausblenden.
   Hero nutzt CSS-Hintergrund, Intro bleibt das semantische Hauptbild. */
.ftpm-content-section-gallery .ftpm-gallery-duplicate-featured {
    display: none !important;
}

.ftpm-content-section-gallery .ftpm-gallery-duplicate-featured + .wp-block-image {
    margin-top: 0 !important;
}

/* Bildnachweise kompakter und sauberer */
.ftpm-content-section-gallery ul,
.ftpm-content-section-gallery ol {
    margin-top: 18px;
}

.ftpm-content-section-gallery li {
    padding: .35rem 0;
    color: #475569;
}

@media (max-width: 760px) {
    .ftpm-content-section-gallery .wp-block-gallery,
    .ftpm-content-section-gallery .blocks-gallery-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .ftpm-content-section-gallery figure.wp-block-image img,
    .ftpm-content-section-gallery .wp-block-gallery img,
    .ftpm-content-section-gallery .blocks-gallery-item img {
        min-height: 190px;
        max-height: none;
    }

    .ftpm-content-section-gallery figcaption,
    .ftpm-content-section-gallery .blocks-gallery-item__caption {
        font-size: .82rem !important;
    }
}


/* v0.27.5 Vorstandsnavigation im internen Bereich */
.ftpm-internal-nav-heading {
    display: block;
    margin: 12px 0 4px;
    padding: 10px 0 2px;
    border-top: 1px solid rgba(15,23,42,.10);
    color: #3156d4;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* v0.27.5 Interne Mitteilungen */
.ftpm-internal-messages {
}

.ftpm-message-list {
    display: grid;
    gap: 14px;
}

.ftpm-message-card {
    padding: 18px;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15,23,42,.045);
}

.ftpm-message-card.is-unread {
    border-color: rgba(49,86,212,.28);
    box-shadow: inset 4px 0 0 var(--ftpm-accent, #3156d4), 0 12px 28px rgba(15,23,42,.045);
}

.ftpm-message-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 10px;
}

.ftpm-message-card-head h3 {
    margin: 0;
    font-size: 1.05rem;
}

.ftpm-message-card-head span {
    color: #64748b;
    font-size: .88rem;
    white-space: nowrap;
}

.ftpm-message-card-body {
    color: #334155;
}

.ftpm-message-card-body p:last-child {
    margin-bottom: 0;
}

@media (max-width: 720px) {
    .ftpm-message-card-head {
        display: block;
    }

    .ftpm-message-card-head span {
        display: block;
        margin-top: 4px;
    }
}


/* v0.27.5 Mitglieder können Vorstand kontaktieren */
.ftpm-member-message-compose {
    margin: 0 0 18px;
    padding: 16px 18px;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 16px;
    background: #f8fafc;
}

.ftpm-member-message-compose summary {
    cursor: pointer;
    font-weight: 800;
    color: #0f172a;
}

.ftpm-member-message-compose form {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.ftpm-member-message-compose label {
    display: grid;
    gap: 6px;
    font-weight: 700;
}

.ftpm-member-message-compose input,
.ftpm-member-message-compose textarea {
    width: 100%;
    border: 1px solid rgba(15,23,42,.18);
    border-radius: 10px;
    padding: .72rem .8rem;
    background: #fff;
}

.ftpm-help-text {
    margin: 10px 0 0;
    color: #64748b;
    font-size: .92rem;
}

.ftpm-frontend-notice {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 12px;
    font-weight: 700;
}

.ftpm-notice-success {
    border: 1px solid rgba(22,163,74,.25);
    background: #f0fdf4;
    color: #166534;
}

.ftpm-notice-error {
    border: 1px solid rgba(220,38,38,.25);
    background: #fef2f2;
    color: #991b1b;
}


/* v0.27.5 Mitteilungen sichtbar und bedienbar */
.ftpm-member-message-compose {
    margin: 0 0 22px;
    padding: 18px;
    border: 1px solid rgba(49,86,212,.20);
    border-radius: 18px;
    background: linear-gradient(135deg, #f8fbff, #ffffff);
    box-shadow: 0 14px 32px rgba(15,23,42,.055);
}

.ftpm-member-message-compose-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.ftpm-member-message-compose-head h3 {
    margin: 0 0 6px;
    font-size: 1.08rem;
}

.ftpm-member-message-compose-head p {
    margin: 0;
    color: #475569;
}

.ftpm-member-message-compose-head span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 9px;
    border-radius: 999px;
    background: #eff6ff;
    color: #3156d4;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ftpm-member-message-compose form {
    display: grid;
    gap: 12px;
}

.ftpm-member-message-compose label {
    display: grid;
    gap: 6px;
    font-weight: 800;
}

.ftpm-member-message-compose input,
.ftpm-member-message-compose textarea {
    width: 100%;
    border: 1px solid rgba(15,23,42,.18);
    border-radius: 12px;
    padding: .78rem .85rem;
    background: #fff;
}

.ftpm-frontend-notice {
    margin: 0 0 14px;
    padding: 13px 15px;
    border-radius: 14px;
    font-weight: 800;
}

.ftpm-notice-success {
    border: 1px solid rgba(22,163,74,.25);
    background: #f0fdf4;
    color: #166534;
}

.ftpm-notice-error {
    border: 1px solid rgba(220,38,38,.25);
    background: #fef2f2;
    color: #991b1b;
}

@media (max-width: 720px) {
    .ftpm-member-message-compose-head {
        display: block;
    }

    .ftpm-member-message-compose-head span {
        margin-top: 10px;
    }
}


/* v0.27.5 AJAX Status für Mitgliedernachrichten */
.ftpm-message-ajax-status {
    margin: 14px 0 0;
    padding: 13px 15px;
    border-radius: 14px;
    font-weight: 800;
}

.ftpm-member-message-compose button[disabled] {
    opacity: .65;
    cursor: progress;
}

.ftpm-board-recipient-note {
    margin: -4px 0 14px;
}

[data-ftpm-board-info][hidden],
.ftpm-message-ajax-status[hidden] {
    display: none !important;
}

@media (max-width: 720px) {
    .ftpm-message-ajax-status {
        margin-top: 12px;
        font-size: 14px;
    }
}


/* v0.27.5 kleines internes Postfach */
.ftpm-mailbox {
    display: grid;
    gap: 22px;
}

.ftpm-mailbox-column {
    padding-top: 4px;
}

.ftpm-mailbox-column h3 {
    margin: 0 0 12px;
}

.ftpm-mailbox-empty {
    margin: 0;
    color: #64748b;
}

.ftpm-message-card h4 {
    margin: 0;
    font-size: 1.05rem;
}

.ftpm-message-meta-line {
    margin: 4px 0 0;
    color: #64748b;
    font-size: .92rem;
}

.ftpm-message-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.ftpm-message-actions form {
    margin: 0;
}

.ftpm-link-button {
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 999px;
    background: #fff;
    color: #0f172a;
    padding: 7px 11px;
    font-size: .88rem;
    font-weight: 800;
    cursor: pointer;
}

.ftpm-link-button:hover {
    border-color: rgba(49,86,212,.35);
    color: var(--ftpm-accent, #3156d4);
}

.ftpm-message-reply {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(15,23,42,.08);
}

.ftpm-message-reply summary {
    cursor: pointer;
    font-weight: 800;
}

.ftpm-message-reply form {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.ftpm-message-reply textarea {
    width: 100%;
    border: 1px solid rgba(15,23,42,.18);
    border-radius: 12px;
    padding: .75rem .85rem;
}

@media (min-width: 980px) {
    .ftpm-mailbox {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, .95fr);
    }

    .ftpm-mailbox-column:nth-child(3) {
        grid-column: 1 / -1;
    }
}


/* v0.27.5 Postfach-Aktionen und Hover-Fix */
.ftpm-message-card-status {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 12px;
    font-weight: 800;
    font-size: .92rem;
}

.ftpm-link-button,
.ftpm-link-button:visited {
    border: 1px solid rgba(15,23,42,.14);
    border-radius: 999px;
    background: #fff;
    color: #111827 !important;
    padding: 7px 12px;
    font-size: .88rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    cursor: pointer;
}

.ftpm-link-button:hover,
.ftpm-link-button:focus {
    background: #111827;
    border-color: #111827;
    color: #fff !important;
}

.ftpm-link-button[data-mailbox-action="deleted"]:hover,
.ftpm-link-button[data-mailbox-action="deleted"]:focus {
    background: #991b1b;
    border-color: #991b1b;
    color: #fff !important;
}

.ftpm-message-card.is-unread {
    border-color: rgba(49,86,212,.42);
    box-shadow: 0 14px 30px rgba(49,86,212,.10);
}

.ftpm-message-card.is-unread h4::after {
    content: "neu";
    margin-left: 8px;
    display: inline-flex;
    padding: 2px 7px;
    border-radius: 999px;
    background: #eff6ff;
    color: #3156d4;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}


/* v0.27.5 Archiv direkt aktualisieren */
.ftpm-message-card[data-mailbox-context="archive"] {
    animation: ftpmArchiveIn .18s ease-out;
}

@keyframes ftpmArchiveIn {
    from {
        opacity: .4;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* v0.27.5 Wiederherstellen / Gesendet-Aktionen */
.ftpm-link-button[data-mailbox-action="restore"]:hover,
.ftpm-link-button[data-mailbox-action="restore"]:focus {
    background: #166534;
    border-color: #166534;
    color: #fff !important;
}


/* v0.27.5 Auto-Fade für Postfach-Hinweise */
.ftpm-message-card-status {
    transition: opacity .25s ease, transform .25s ease;
}

.ftpm-message-card-status.is-hiding {
    opacity: 0;
    transform: translateY(-4px);
}


/* v0.27.5 Postfach-Massenpflege */
.ftpm-mailbox-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 10px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 14px;
    background: #f8fafc;
}

.ftpm-mailbox-select-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 4px;
    font-weight: 800;
    color: #334155;
}

.ftpm-mailbox-toolbar-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: .86rem;
    font-weight: 800;
    transition: opacity .25s ease, transform .25s ease;
}

.ftpm-mailbox-toolbar-status.is-hiding {
    opacity: 0;
    transform: translateY(-4px);
}

.ftpm-message-card-head {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.ftpm-message-row-check {
    align-self: start;
    padding-top: 2px;
}

.ftpm-message-row-check input,
.ftpm-mailbox-select-all input {
    width: 16px;
    height: 16px;
}

@media (max-width: 700px) {
    .ftpm-mailbox-toolbar {
        align-items: stretch;
    }

    .ftpm-mailbox-toolbar .ftpm-link-button {
        flex: 1 1 auto;
        text-align: center;
    }
}


/* v0.27.5 Toolbar-Status ohne leeren Platz */
.ftpm-mailbox-toolbar-status[hidden],
.ftpm-message-card-status[hidden] {
    display: none !important;
}

.ftpm-mailbox-toolbar-status {
    flex: 0 1 auto;
}

.ftpm-mailbox-toolbar-status:empty {
    display: none !important;
}


/* v0.27.5 Datum/Uhrzeit in Nachrichten */
.ftpm-message-card-head > span {
    white-space: nowrap;
    color: #475569;
    font-size: .92rem;
}

@media (max-width: 700px) {
    .ftpm-message-card-head > span {
        white-space: normal;
        text-align: right;
        font-size: .86rem;
    }
}


/* v0.27.5 Nachrichten-Anhänge */
.ftpm-message-attachments-field {
    margin: 14px 0;
}

.ftpm-message-attachments-field label {
    display: block;
    margin-bottom: 6px;
    font-weight: 800;
}

.ftpm-message-attachments-field input[type="file"] {
    width: 100%;
    padding: 10px;
    border: 1px solid rgba(15,23,42,.16);
    border-radius: 12px;
    background: #fff;
}

.ftpm-message-attachments {
    margin: 12px 0 0;
    padding: 12px 14px;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 14px;
    background: #f8fafc;
}

.ftpm-message-attachments strong {
    display: block;
    margin-bottom: 6px;
    font-size: .9rem;
}

.ftpm-message-attachments ul {
    margin: 0;
    padding-left: 18px;
}

.ftpm-message-attachments li {
    margin: 3px 0;
}

.ftpm-message-attachments span {
    color: #64748b;
    font-size: .9rem;
}

.ftpm-admin-message-card-attachments .ftpm-message-attachments {
    margin-top: 10px;
}


/* v0.27.5 Geschützte Anhänge */
.ftpm-message-attachments li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
}

.ftpm-attachment-delete-form {
    display: inline-flex;
    margin: 0;
}

.ftpm-attachment-delete-button {
    appearance: none;
    border: 1px solid rgba(185,28,28,.35);
    border-radius: 999px;
    background: #fff;
    color: #991b1b;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.1;
    padding: 5px 9px;
    cursor: pointer;
}

.ftpm-attachment-delete-button:hover,
.ftpm-attachment-delete-button:focus {
    background: #991b1b;
    color: #fff;
}

.ftpm-attachment-privacy-note {
    margin: 8px 0 0;
    color: #64748b;
    font-size: .82rem;
}


/* v0.27.5 Anhänge entfernen / Datenschutz-Hinweis */
.ftpm-attachment-file {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: baseline;
}

.ftpm-attachment-delete-button {
    border-color: rgba(148, 163, 184, .45);
    color: #64748b;
    background: #fff;
}

.ftpm-attachment-delete-button:hover,
.ftpm-attachment-delete-button:focus {
    border-color: rgba(185,28,28,.45);
    background: #fff1f2;
    color: #991b1b;
}

.ftpm-attachment-removed {
    color: #64748b;
    font-style: italic;
}

.ftpm-attachment-removed span {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: #f1f5f9;
}

.ftpm-attachment-empty-note {
    margin: 8px 0 0;
    padding: 8px 10px;
    border: 1px solid rgba(148, 163, 184, .25);
    border-radius: 12px;
    background: #f8fafc;
    color: #475569;
    font-size: .88rem;
}

/* v0.27.5 kompakte Nachrichtenverwaltung: siehe admin.css */


/* v0.27.5 Antwort-Anhänge */
.ftpm-message-reply form {
    display: grid;
    gap: 12px;
}

.ftpm-reply-attachments-field {
    margin: 0;
}

.ftpm-message-reply textarea,
.ftpm-message-reply input[type="file"] {
    width: 100%;
    box-sizing: border-box;
}


/* v0.27.5 Backend-Formular Fallback */
.ftpm-community-page .ftpm-admin-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.ftpm-community-page .ftpm-admin-form input[type="text"],
.ftpm-community-page .ftpm-admin-form select,
.ftpm-community-page .ftpm-admin-form textarea,
.ftpm-community-page .ftpm-admin-form input[type="file"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}


/* v0.27.5 Nachrichtenkarten Header-Ausrichtung */
.ftpm-message-card {
    position: relative;
}

.ftpm-message-card-head,
.ftpm-message-card > .ftpm-message-card-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px 14px;
}

.ftpm-message-card-head input[type="checkbox"],
.ftpm-message-card > input[type="checkbox"] {
    grid-column: 1;
    grid-row: 1;
    margin-top: 4px;
}

.ftpm-message-card-head h3,
.ftpm-message-card h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    min-width: 0;
}

.ftpm-message-card-head > span,
.ftpm-message-card time,
.ftpm-message-card .ftpm-message-date {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    text-align: right;
    white-space: nowrap;
}

.ftpm-message-card .ftpm-message-meta,
.ftpm-message-card .ftpm-message-card-meta {
    grid-column: 2 / 4;
}

.ftpm-message-card-body,
.ftpm-message-card .ftpm-message-card-body {
    margin-top: 18px;
}

@media (max-width: 700px) {
    .ftpm-message-card-head,
    .ftpm-message-card > .ftpm-message-card-head {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .ftpm-message-card-head > span,
    .ftpm-message-card time,
    .ftpm-message-card .ftpm-message-date {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
        text-align: left;
        white-space: normal;
    }

    .ftpm-message-card .ftpm-message-meta,
    .ftpm-message-card .ftpm-message-card-meta {
        grid-column: 2;
    }
}


/* v0.27.5 robuste Kartenkopf-Ausrichtung */
.ftpm-message-card-head {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: start !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
}

.ftpm-message-card-head input[type="checkbox"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 4px 0 0 !important;
}

.ftpm-message-card-head h3,
.ftpm-message-card-head .ftpm-message-title {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
    overflow-wrap: anywhere;
}

.ftpm-message-card-head time,
.ftpm-message-card-head .ftpm-message-date,
.ftpm-message-card-head > span:last-child {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    text-align: right !important;
    white-space: nowrap !important;
}

.ftpm-message-card-meta,
.ftpm-message-meta {
    margin-left: 0;
}

.ftpm-message-empty {
    color: #64748b;
    margin: 14px 0 22px;
}

.ftpm-reply-attachments-field {
    margin-top: 8px;
}

@media (max-width: 680px) {
    .ftpm-message-card-head {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    .ftpm-message-card-head time,
    .ftpm-message-card-head .ftpm-message-date,
    .ftpm-message-card-head > span:last-child {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        text-align: left !important;
        white-space: normal !important;
    }
}


/* v0.27.5 direkte Einzelbuttons / Kartenfluss */
.ftpm-message-card {
    transition: box-shadow .18s ease, transform .18s ease;
}

.ftpm-message-card-head {
    min-width: 0;
}

.ftpm-message-card-head h3 {
    line-height: 1.25;
}

.ftpm-message-empty {
    color: #64748b;
    margin: 12px 0 22px;
}


/* v0.27.5 Toolbar oben halten */
.ftpm-message-bulkbar {
    order: -10;
}

.ftpm-message-card-head {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 8px 12px !important;
    align-items: start !important;
}

.ftpm-message-card-head input[type="checkbox"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.ftpm-message-card-head h3,
.ftpm-message-card-head .ftpm-message-title {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
}

.ftpm-message-card-head time,
.ftpm-message-card-head .ftpm-message-date,
.ftpm-message-card-head > span:last-child {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    white-space: nowrap !important;
}

.ftpm-reply-attachments-field {
    margin-top: 10px;
}


/* v0.27.5 Einzelbuttons per Toolbar */
.ftpm-message-bulkbar {
    position: relative;
    z-index: 1;
}

.ftpm-message-card-head {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 8px 12px !important;
    align-items: start !important;
}

.ftpm-message-card-head input[type="checkbox"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.ftpm-message-card-head h3,
.ftpm-message-card-head .ftpm-message-title {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
}

.ftpm-message-card-head time,
.ftpm-message-card-head .ftpm-message-date,
.ftpm-message-card-head > span:last-child {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    white-space: nowrap !important;
}


/* v0.27.5 saubere Postfach-Struktur */
.ftpm-mailbox-column {
    display: block;
}

.ftpm-mailbox-toolbar {
    margin-bottom: 12px;
}

.ftpm-message-list {
    display: grid;
    gap: 14px;
}

.ftpm-message-list .ftpm-mailbox-empty {
    margin: 4px 0 16px;
    color: #64748b;
}

.ftpm-message-card-head {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 8px 12px !important;
    align-items: start !important;
}

.ftpm-message-card-head .ftpm-message-row-check {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
}

.ftpm-message-card-head h4,
.ftpm-message-card-head h3,
.ftpm-message-card-head .ftpm-message-title {
    margin: 0 !important;
    min-width: 0 !important;
    line-height: 1.25;
}

.ftpm-message-card-head > div {
    min-width: 0;
}

.ftpm-message-card-head > span:last-child {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    white-space: nowrap !important;
    text-align: right !important;
}

.ftpm-reply-attachments-field {
    margin-top: 10px;
}

@media (max-width: 680px) {
    .ftpm-message-card-head {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    .ftpm-message-card-head > span:last-child {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        white-space: normal !important;
        text-align: left !important;
    }
}


/* v0.27.5 Kartenaktionen deaktiviert */
.ftpm-message-card .ftpm-message-actions,
[data-ftpm-message-card] .ftpm-message-actions {
    display: none !important;
}

.ftpm-message-card {
    padding-bottom: 22px;
}

.ftpm-mailbox-toolbar {
    margin-bottom: 14px;
}

.ftpm-message-list {
    display: grid;
    gap: 14px;
}


/* v0.27.5 Papierkorb */
.ftpm-mailbox-trash {
    margin-top: 30px;
}

[data-ftpm-mailbox-list="trash"] .ftpm-message-card {
    border-style: dashed;
    background: #fffafa;
}

[data-ftpm-mailbox-toolbar="trash"] {
    background: #fff7ed;
}


/* v0.27.5 Papierkorb und Toolbar-Breite */
.ftpm-mailbox-trash,
.ftpm-mailbox-column.ftpm-mailbox-trash {
    width: 100%;
    max-width: 100%;
    grid-column: 1 / -1;
}

.ftpm-mailbox-toolbar,
.ftpm-message-bulkbar,
[data-ftpm-mailbox-toolbar] {
    width: 100%;
    box-sizing: border-box;
}

[data-ftpm-mailbox-toolbar="trash"] {
    width: 100%;
    max-width: 100%;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

[data-ftpm-mailbox-toolbar="trash"] button {
    border-radius: 999px;
}

[data-ftpm-mailbox-list="trash"] {
    width: 100%;
}

[data-ftpm-mailbox-list="trash"] .ftpm-message-card {
    background: #fff;
    border-style: solid;
}


/* v0.27.5 getrennte interne Bereiche */
.ftpm-internal-nav a.is-active {
    background: #111827;
    color: #fff !important;
    text-decoration: none;
}

.ftpm-internal-module-active {
    min-height: 320px;
}

.ftpm-mailbox-toolbar {
    width: 100%;
}

.ftpm-mailbox-toolbar .ftpm-mailbox-toolbar-status {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    margin-left: 8px;
}

.ftpm-mailbox-toolbar .ftpm-notice-error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.ftpm-mailbox-trash,
.ftpm-mailbox-column.ftpm-mailbox-trash {
    grid-column: 1 / -1;
    width: 100%;
}


/* v0.27.5 Webmail UI */
.ftpm-webmail-folder {
    margin-top: 26px;
}

.ftpm-webmail-folder-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.ftpm-webmail-folder-head h3 {
    margin: 0;
}

.ftpm-webmail-folder-head span {
    color: #64748b;
    font-size: 14px;
}

.ftpm-webmail-toolbar {
    margin-bottom: 0;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.ftpm-webmail-grid {
    display: grid;
    grid-template-columns: minmax(320px, 42%) minmax(0, 1fr);
    border: 1px solid #e5e7eb;
    border-top: 0;
    border-radius: 0 0 18px 18px;
    overflow: hidden;
    background: #fff;
    min-height: 360px;
    box-shadow: 0 20px 45px rgba(15, 23, 42, .06);
}

.ftpm-webmail-list {
    border-right: 1px solid #e5e7eb;
    background: #f8fafc;
    max-height: 620px;
    overflow: auto;
}

.ftpm-webmail-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 14px;
    border-bottom: 1px solid #e5e7eb;
    cursor: pointer;
}

.ftpm-webmail-row:hover,
.ftpm-webmail-row.is-active {
    background: #fff;
}

.ftpm-webmail-row.is-active {
    box-shadow: inset 4px 0 0 var(--ast-global-color-0, #2563eb);
}

.ftpm-webmail-row.is-unread .ftpm-webmail-row-subject {
    font-weight: 800;
}

.ftpm-webmail-row-check {
    margin-top: 3px;
}

.ftpm-webmail-row-main {
    display: grid;
    gap: 3px;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    color: inherit;
    min-width: 0;
    cursor: pointer;
}

.ftpm-webmail-row-main:hover,
.ftpm-webmail-row-main:focus {
    background: transparent;
    color: inherit;
}

.ftpm-webmail-row-subject {
    font-weight: 700;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.ftpm-webmail-row-meta,
.ftpm-webmail-row-preview {
    color: #64748b;
    font-size: 14px;
    line-height: 1.35;
}

.ftpm-webmail-row-date {
    color: #475569;
    font-size: 13px;
    white-space: nowrap;
}

.ftpm-webmail-reader {
    background: #fff;
    padding: 24px;
    min-width: 0;
}

.ftpm-webmail-reader.is-empty {
    display: grid;
    place-items: center;
    color: #64748b;
}

.ftpm-webmail-message {
    display: none;
}

.ftpm-webmail-message.is-active {
    display: block;
}

.ftpm-webmail-message-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 16px;
    margin-bottom: 18px;
}

.ftpm-webmail-message-head h4 {
    margin: 0 0 5px;
    font-size: 22px;
}

.ftpm-webmail-message-head p {
    margin: 0;
    color: #64748b;
}

.ftpm-webmail-message-head time {
    white-space: nowrap;
    color: #475569;
}

.ftpm-webmail-message-body {
    line-height: 1.7;
    margin-bottom: 22px;
}

.ftpm-webmail-reply {
    margin-top: 22px;
    border-top: 1px solid #e5e7eb;
    padding-top: 18px;
}

.ftpm-webmail-reply details summary {
    cursor: pointer;
    font-weight: 700;
}

@media (max-width: 900px) {
    .ftpm-webmail-grid {
        grid-template-columns: 1fr;
    }

    .ftpm-webmail-list {
        border-right: 0;
        border-bottom: 1px solid #e5e7eb;
        max-height: 360px;
    }

    .ftpm-webmail-reader {
        padding: 18px;
    }

    .ftpm-webmail-message-head {
        display: block;
    }

    .ftpm-webmail-message-head time {
        display: block;
        margin-top: 8px;
    }
}

@media (max-width: 560px) {
    .ftpm-webmail-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .ftpm-webmail-row-date {
        grid-column: 2;
    }

    .ftpm-webmail-toolbar {
        gap: 8px;
    }

    .ftpm-webmail-toolbar button {
        flex: 1 1 auto;
    }
}


/* v0.27.5 Webmail Single Folder */
.ftpm-message-subnav {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 18px 0 22px;
}

.ftpm-message-subnav a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    background: #fff;
    color: #0f172a;
    text-decoration: none;
    font-weight: 700;
}

.ftpm-message-subnav a.is-active {
    background: #111827;
    border-color: #111827;
    color: #fff;
}

.ftpm-message-subnav a strong {
    display: inline-flex;
    min-width: 24px;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f1f5f9;
    color: #334155;
    font-size: 13px;
}

.ftpm-message-subnav a.is-active strong {
    background: rgba(255,255,255,.18);
    color: #fff;
}

.ftpm-webmail-shell {
    border: 1px solid #e5e7eb;
    border-top: 0;
    border-radius: 0 0 18px 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 20px 45px rgba(15, 23, 42, .06);
}

.ftpm-webmail-list {
    display: block;
    max-height: 360px;
    overflow: auto;
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
    background: #f8fafc;
}

.ftpm-webmail-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 13px 14px;
    border-bottom: 1px solid #e5e7eb;
}

.ftpm-webmail-row:hover,
.ftpm-webmail-row.is-active {
    background: #fff;
}

.ftpm-webmail-row.is-active {
    box-shadow: inset 4px 0 0 var(--ast-global-color-0, #2563eb);
}

.ftpm-webmail-row-main {
    display: grid;
    gap: 3px;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    color: inherit;
    cursor: pointer;
}

.ftpm-webmail-row-main:hover,
.ftpm-webmail-row-main:focus {
    background: transparent;
    color: inherit;
}

.ftpm-webmail-row-subject {
    font-weight: 800;
    color: #0f172a;
}

.ftpm-webmail-row-meta,
.ftpm-webmail-row-preview {
    color: #64748b;
    font-size: 14px;
    line-height: 1.35;
}

.ftpm-webmail-row-date {
    white-space: nowrap;
    color: #475569;
    font-size: 13px;
}

.ftpm-webmail-reader {
    padding: 24px;
    background: #fff;
}

.ftpm-webmail-reader.is-empty {
    display: grid;
    place-items: center;
    min-height: 180px;
    color: #64748b;
}

.ftpm-webmail-message {
    display: none;
}

.ftpm-webmail-message.is-active {
    display: block;
}

.ftpm-webmail-message-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 16px;
    margin-bottom: 18px;
}

.ftpm-webmail-message-head h4 {
    margin: 0 0 5px;
    font-size: 22px;
}

.ftpm-webmail-message-head p {
    margin: 0;
    color: #64748b;
}

.ftpm-webmail-message-head time {
    white-space: nowrap;
    color: #475569;
}

.ftpm-webmail-message-body {
    line-height: 1.7;
    margin-bottom: 20px;
}

@media (max-width: 680px) {
    .ftpm-message-subnav {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .ftpm-message-subnav a {
        border-radius: 14px;
        justify-content: space-between;
    }

    .ftpm-webmail-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .ftpm-webmail-row-date {
        grid-column: 2;
    }

    .ftpm-webmail-message-head {
        display: block;
    }

    .ftpm-webmail-message-head time {
        display: block;
        margin-top: 8px;
    }
}


/* v0.27.5 saubere Webmail-Leseansicht */
.ftpm-messages-view {
    --ftpm-mail-border: #e5e7eb;
    --ftpm-mail-muted: #64748b;
    --ftpm-mail-bg: #ffffff;
    --ftpm-mail-soft: #f8fafc;
    --ftpm-mail-active: var(--ast-global-color-0, #2563eb);
}

/* Alte Layout-Reste neutralisieren */
.ftpm-messages-view .ftpm-webmail-grid {
    display: block !important;
    grid-template-columns: none !important;
    border: 0 !important;
    box-shadow: none !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.ftpm-messages-view .ftpm-webmail-folder {
    margin-top: 26px;
}

.ftpm-messages-view .ftpm-webmail-folder-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 10px;
}

.ftpm-messages-view .ftpm-webmail-folder-head h3 {
    margin: 0;
    font-size: clamp(24px, 2vw, 32px);
}

.ftpm-messages-view .ftpm-webmail-folder-head span {
    color: var(--ftpm-mail-muted);
    font-size: 14px;
}

/* Toolbar als klare Kopfleiste */
.ftpm-messages-view .ftpm-webmail-toolbar,
.ftpm-messages-view .ftpm-mailbox-toolbar {
    width: 100% !important;
    display: flex !important;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid var(--ftpm-mail-border) !important;
    border-radius: 16px 16px 0 0 !important;
    background: var(--ftpm-mail-soft) !important;
    box-shadow: none !important;
}

.ftpm-messages-view .ftpm-webmail-toolbar button,
.ftpm-messages-view .ftpm-mailbox-toolbar button {
    white-space: nowrap;
}

/* Eine saubere Mailbox: oben Liste, darunter Lesebereich */
.ftpm-messages-view .ftpm-webmail-shell,
.ftpm-messages-view .ftpm-webmail-single-folder {
    width: 100%;
    border: 1px solid var(--ftpm-mail-border);
    border-top: 0;
    border-radius: 0 0 20px 20px;
    background: var(--ftpm-mail-bg);
    overflow: hidden;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07);
}

/* Betreffliste: bewusst tabellarisch, nicht als Kartenchaos */
.ftpm-messages-view .ftpm-webmail-list {
    display: block !important;
    width: 100% !important;
    max-height: 340px;
    overflow: auto;
    border: 0 !important;
    border-bottom: 1px solid var(--ftpm-mail-border) !important;
    background: #fff !important;
}

.ftpm-messages-view .ftpm-webmail-row {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) 170px;
    gap: 12px;
    align-items: center;
    min-height: 72px;
    padding: 12px 18px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ftpm-mail-border) !important;
    border-radius: 0 !important;
    background: #fff;
    box-shadow: none !important;
}

.ftpm-messages-view .ftpm-webmail-row:last-child {
    border-bottom: 0 !important;
}

.ftpm-messages-view .ftpm-webmail-row:hover,
.ftpm-messages-view .ftpm-webmail-row.is-active {
    background: #f8fbff !important;
}

.ftpm-messages-view .ftpm-webmail-row.is-active {
    box-shadow: inset 4px 0 0 var(--ftpm-mail-active) !important;
}

.ftpm-messages-view .ftpm-webmail-row-check {
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ftpm-messages-view .ftpm-webmail-row-main {
    display: grid !important;
    grid-template-columns: minmax(160px, .55fr) minmax(150px, .45fr) minmax(160px, .7fr);
    gap: 12px;
    align-items: center;
    width: 100%;
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    text-align: left;
    cursor: pointer;
}

.ftpm-messages-view .ftpm-webmail-row-main:hover,
.ftpm-messages-view .ftpm-webmail-row-main:focus {
    background: transparent !important;
    color: inherit !important;
    outline: none;
}

.ftpm-messages-view .ftpm-webmail-row-main:focus-visible {
    outline: 2px solid var(--ftpm-mail-active);
    outline-offset: 3px;
    border-radius: 8px;
}

.ftpm-messages-view .ftpm-webmail-row-subject {
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.ftpm-messages-view .ftpm-webmail-row-meta,
.ftpm-messages-view .ftpm-webmail-row-preview {
    color: var(--ftpm-mail-muted);
    font-size: 14px;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ftpm-messages-view .ftpm-webmail-row-preview {
    white-space: nowrap;
}

.ftpm-messages-view .ftpm-webmail-row-date {
    justify-self: end;
    color: #475569;
    font-size: 13px;
    white-space: nowrap;
}

/* Lesebereich als ruhige, breite Detailkarte */
.ftpm-messages-view .ftpm-webmail-reader {
    width: 100% !important;
    min-height: 260px;
    padding: clamp(22px, 3vw, 38px) !important;
    background: #fff !important;
}

.ftpm-messages-view .ftpm-webmail-reader.is-empty {
    display: grid;
    place-items: center;
    min-height: 220px;
    color: var(--ftpm-mail-muted);
    text-align: center;
}

.ftpm-messages-view .ftpm-webmail-reader.is-empty p {
    margin: 0 0 6px;
    font-weight: 700;
}

.ftpm-messages-view .ftpm-webmail-reader.is-empty small {
    color: #94a3b8;
}

.ftpm-messages-view .ftpm-webmail-message {
    display: none !important;
    max-width: 100%;
}

.ftpm-messages-view .ftpm-webmail-message.is-active {
    display: block !important;
}

.ftpm-messages-view .ftpm-webmail-message-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    padding-bottom: 18px;
    margin-bottom: 22px;
    border-bottom: 1px solid var(--ftpm-mail-border);
}

.ftpm-messages-view .ftpm-webmail-message-head h4 {
    margin: 0 0 7px !important;
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #0f172a;
}

.ftpm-messages-view .ftpm-webmail-message-head p {
    margin: 0;
    color: var(--ftpm-mail-muted);
    font-size: 15px;
}

.ftpm-messages-view .ftpm-webmail-message-head time {
    color: #475569;
    font-size: 14px;
    white-space: nowrap;
    padding-top: 6px;
}

.ftpm-messages-view .ftpm-webmail-message-body {
    max-width: 900px;
    margin-bottom: 26px;
    color: #1f2937;
    font-size: 17px;
    line-height: 1.75;
}

.ftpm-messages-view .ftpm-webmail-message-body p:last-child {
    margin-bottom: 0;
}

.ftpm-messages-view .ftpm-webmail-reply {
    max-width: 900px;
    margin-top: 26px;
    padding-top: 20px;
    border-top: 1px solid var(--ftpm-mail-border);
}

.ftpm-messages-view .ftpm-message-attachments {
    max-width: 900px;
    margin-top: 20px;
    background: #f8fafc;
    border: 1px solid var(--ftpm-mail-border);
    border-radius: 14px;
    padding: 16px;
}

/* Ordner-Navigation ruhiger */
.ftpm-messages-view .ftpm-message-subnav {
    margin-bottom: 24px;
}

/* Mobile: Liste bleibt oben, Lesebereich darunter */
@media (max-width: 900px) {
    .ftpm-messages-view .ftpm-webmail-row {
        grid-template-columns: 28px minmax(0, 1fr);
        align-items: start;
    }

    .ftpm-messages-view .ftpm-webmail-row-main {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .ftpm-messages-view .ftpm-webmail-row-date {
        grid-column: 2;
        justify-self: start;
    }

    .ftpm-messages-view .ftpm-webmail-row-preview {
        white-space: normal;
    }

    .ftpm-messages-view .ftpm-webmail-message-head {
        display: block;
    }

    .ftpm-messages-view .ftpm-webmail-message-head time {
        display: block;
        margin-top: 10px;
        padding-top: 0;
    }
}

@media (max-width: 560px) {
    .ftpm-messages-view .ftpm-webmail-toolbar,
    .ftpm-messages-view .ftpm-mailbox-toolbar {
        border-radius: 14px 14px 0 0 !important;
    }

    .ftpm-messages-view .ftpm-webmail-toolbar button,
    .ftpm-messages-view .ftpm-mailbox-toolbar button {
        flex: 1 1 auto;
    }

    .ftpm-messages-view .ftpm-webmail-reader {
        padding: 20px !important;
    }
}


/* v0.27.5 Webmail vertikales Layout
   Ziel: Titel -> Toolbar 100% -> Betreffliste 100% -> Lesebereich 100%.
   Keine gequetschten Spalten mehr. */
.ftpm-messages-view .ftpm-webmail-folder {
    width: 100%;
    clear: both;
}

.ftpm-messages-view .ftpm-webmail-folder-head {
    width: 100%;
    display: flex !important;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 12px;
}

.ftpm-messages-view .ftpm-webmail-folder-head h3 {
    margin: 0 !important;
    font-size: clamp(26px, 2.3vw, 34px);
    line-height: 1.15;
}

.ftpm-messages-view .ftpm-webmail-folder-head span {
    color: #64748b;
    font-size: 14px;
}

/* Toolbar 100% Breite, direkt unter Titel */
.ftpm-messages-view .ftpm-webmail-toolbar,
.ftpm-messages-view .ftpm-mailbox-toolbar {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px 16px 0 0 !important;
    background: #f8fafc !important;
    box-shadow: none !important;
    box-sizing: border-box;
}

.ftpm-messages-view .ftpm-webmail-toolbar button,
.ftpm-messages-view .ftpm-mailbox-toolbar button {
    white-space: nowrap;
}

/* Shell ist ein vertikaler Container, kein Grid */
.ftpm-messages-view .ftpm-webmail-shell,
.ftpm-messages-view .ftpm-webmail-single-folder,
.ftpm-messages-view .ftpm-webmail-grid {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
    grid-template-columns: none !important;
    border: 1px solid #e5e7eb !important;
    border-top: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07) !important;
    min-height: 0 !important;
}

/* Betreffliste 100% Breite */
.ftpm-messages-view .ftpm-webmail-list {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
    max-height: 390px;
    overflow: auto;
    border: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #fff !important;
}

/* Eine Zeile, aber mit mehr Luft.
   Reihenfolge: Checkbox | Inhalte | Datum */
.ftpm-messages-view .ftpm-webmail-row {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) 180px !important;
    gap: 14px !important;
    align-items: start !important;
    min-height: auto !important;
    padding: 16px 18px !important;
    border: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    box-sizing: border-box;
}

.ftpm-messages-view .ftpm-webmail-row:last-child {
    border-bottom: 0 !important;
}

.ftpm-messages-view .ftpm-webmail-row:hover,
.ftpm-messages-view .ftpm-webmail-row.is-active {
    background: #f8fbff !important;
}

.ftpm-messages-view .ftpm-webmail-row.is-active {
    box-shadow: inset 4px 0 0 var(--ast-global-color-0, #2563eb) !important;
}

.ftpm-messages-view .ftpm-webmail-row-check {
    margin: 2px 0 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

/* Innerhalb der Mailzeile wieder untereinander statt gequetscht */
.ftpm-messages-view .ftpm-webmail-row-main {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    text-align: left !important;
    cursor: pointer;
}

.ftpm-messages-view .ftpm-webmail-row-main:hover,
.ftpm-messages-view .ftpm-webmail-row-main:focus {
    background: transparent !important;
    color: inherit !important;
}

.ftpm-messages-view .ftpm-webmail-row-main:focus-visible {
    outline: 2px solid var(--ast-global-color-0, #2563eb);
    outline-offset: 4px;
    border-radius: 8px;
}

.ftpm-messages-view .ftpm-webmail-row-subject {
    display: block !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    font-size: 16px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.ftpm-messages-view .ftpm-webmail-row-meta {
    display: block !important;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.35;
}

.ftpm-messages-view .ftpm-webmail-row-preview {
    display: block !important;
    color: #475569 !important;
    font-size: 14px !important;
    line-height: 1.4;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.ftpm-messages-view .ftpm-webmail-row-date {
    justify-self: end !important;
    text-align: right !important;
    color: #475569 !important;
    font-size: 13px !important;
    line-height: 1.35;
    white-space: nowrap !important;
    padding-top: 1px;
}

/* Lesebereich 100% Breite unterhalb der Liste */
.ftpm-messages-view .ftpm-webmail-reader {
    width: 100% !important;
    max-width: none !important;
    min-height: 280px;
    display: block !important;
    padding: clamp(24px, 3.2vw, 42px) !important;
    background: #fff !important;
    box-sizing: border-box;
}

.ftpm-messages-view .ftpm-webmail-reader.is-empty {
    display: grid !important;
    place-items: center !important;
    min-height: 220px;
    color: #64748b;
    text-align: center;
}

.ftpm-messages-view .ftpm-webmail-message {
    display: none !important;
    max-width: none !important;
    width: 100% !important;
}

.ftpm-messages-view .ftpm-webmail-message.is-active {
    display: block !important;
}

/* Lesebereich wieder mit klaren Absender-/Datum-Infos */
.ftpm-messages-view .ftpm-webmail-message-head {
    width: 100%;
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 18px;
    margin-bottom: 22px;
    border-bottom: 1px solid #e5e7eb;
}

.ftpm-messages-view .ftpm-webmail-message-head h4 {
    margin: 0 0 8px !important;
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #0f172a;
}

.ftpm-messages-view .ftpm-webmail-message-head p {
    margin: 0 !important;
    color: #64748b;
    font-size: 15px;
}

.ftpm-messages-view .ftpm-webmail-message-head time {
    flex: 0 0 auto;
    white-space: nowrap;
    color: #475569;
    font-size: 14px;
    padding-top: 6px;
}

.ftpm-messages-view .ftpm-webmail-message-body {
    width: 100%;
    max-width: 980px;
    margin: 0 0 26px !important;
    color: #1f2937;
    font-size: 17px;
    line-height: 1.75;
}

.ftpm-messages-view .ftpm-webmail-message-body p:last-child {
    margin-bottom: 0;
}

.ftpm-messages-view .ftpm-message-attachments {
    max-width: 980px;
    margin-top: 20px;
}

.ftpm-messages-view .ftpm-webmail-reply {
    max-width: 980px;
    margin-top: 26px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
}

/* Mobile */
@media (max-width: 760px) {
    .ftpm-messages-view .ftpm-webmail-row {
        grid-template-columns: 30px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .ftpm-messages-view .ftpm-webmail-row-date {
        grid-column: 2 !important;
        justify-self: start !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .ftpm-messages-view .ftpm-webmail-message-head {
        display: block !important;
    }

    .ftpm-messages-view .ftpm-webmail-message-head time {
        display: block;
        margin-top: 10px;
        padding-top: 0;
    }
}

@media (max-width: 560px) {
    .ftpm-messages-view .ftpm-webmail-toolbar,
    .ftpm-messages-view .ftpm-mailbox-toolbar {
        border-radius: 14px 14px 0 0 !important;
    }

    .ftpm-messages-view .ftpm-webmail-toolbar button,
    .ftpm-messages-view .ftpm-mailbox-toolbar button {
        flex: 1 1 auto;
    }

    .ftpm-messages-view .ftpm-webmail-reader {
        padding: 20px !important;
    }
}


/* v0.27.5 harter Stack-Fix für Mitteilungen
   Überschreibt alte 2-Spalten/Grid/Flex-Reste im Mitgliederbereich. */
.ftpm-internal-content .ftpm-messages-view,
.ftpm-internal-content .ftpm-messages-view *,
.ftpm-messages-view,
.ftpm-messages-view * {
    box-sizing: border-box;
}

.ftpm-internal-content .ftpm-messages-view {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    clear: both !important;
}

/* Der aktive Ordner darf nie seitlich gefloatet/gegridet werden */
.ftpm-messages-view .ftpm-webmail-folder,
.ftpm-messages-view .ftpm-webmail-folder-stack,
.ftpm-internal-content .ftpm-webmail-folder,
.ftpm-internal-content .ftpm-webmail-folder-stack {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    grid-column: 1 / -1 !important;
    margin: 30px 0 0 !important;
}

/* Header: Titel + Zähler */
.ftpm-messages-view .ftpm-webmail-folder-head {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 0 0 12px !important;
}

.ftpm-messages-view .ftpm-webmail-folder-head h3 {
    margin: 0 !important;
    font-size: clamp(26px, 2.3vw, 34px) !important;
    line-height: 1.15 !important;
}

.ftpm-messages-view .ftpm-webmail-folder-head span {
    color: #64748b !important;
    font-size: 14px !important;
}

/* Toolbar volle Breite direkt unter Titel */
.ftpm-messages-view .ftpm-webmail-toolbar,
.ftpm-messages-view .ftpm-mailbox-toolbar,
.ftpm-internal-content .ftpm-webmail-toolbar,
.ftpm-internal-content .ftpm-mailbox-toolbar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    float: none !important;
    clear: both !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px 16px 0 0 !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

/* Shell zwingend vertikal */
.ftpm-messages-view .ftpm-webmail-shell,
.ftpm-messages-view .ftpm-webmail-single-folder,
.ftpm-messages-view .ftpm-webmail-force-stack,
.ftpm-messages-view .ftpm-webmail-grid,
.ftpm-internal-content .ftpm-webmail-shell,
.ftpm-internal-content .ftpm-webmail-single-folder,
.ftpm-internal-content .ftpm-webmail-force-stack,
.ftpm-internal-content .ftpm-webmail-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    flex-direction: column !important;
    border: 1px solid #e5e7eb !important;
    border-top: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07) !important;
    min-height: 0 !important;
}

/* Betreffliste volle Breite, oben */
.ftpm-messages-view .ftpm-webmail-list,
.ftpm-messages-view .ftpm-webmail-subject-list,
.ftpm-internal-content .ftpm-webmail-list,
.ftpm-internal-content .ftpm-webmail-subject-list {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    position: static !important;
    max-height: 380px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #fff !important;
}

/* Jede Betreffzeile ist breit und luftig */
.ftpm-messages-view .ftpm-webmail-row,
.ftpm-internal-content .ftpm-webmail-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 180px !important;
    gap: 14px !important;
    align-items: start !important;
    padding: 16px 18px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.ftpm-messages-view .ftpm-webmail-row:last-child {
    border-bottom: 0 !important;
}

.ftpm-messages-view .ftpm-webmail-row:hover,
.ftpm-messages-view .ftpm-webmail-row.is-active {
    background: #f8fbff !important;
}

.ftpm-messages-view .ftpm-webmail-row.is-active {
    box-shadow: inset 4px 0 0 var(--ast-global-color-0, #2563eb) !important;
}

.ftpm-messages-view .ftpm-webmail-row-check {
    width: 34px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    margin: 2px 0 0 !important;
}

/* Innerer Mailbutton untereinander, keine Sub-Spalten */
.ftpm-messages-view .ftpm-webmail-row-main,
.ftpm-internal-content .ftpm-webmail-row-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
    color: inherit !important;
    cursor: pointer !important;
}

.ftpm-messages-view .ftpm-webmail-row-main:hover,
.ftpm-messages-view .ftpm-webmail-row-main:focus {
    background: transparent !important;
    color: inherit !important;
}

.ftpm-messages-view .ftpm-webmail-row-subject,
.ftpm-messages-view .ftpm-webmail-row-meta,
.ftpm-messages-view .ftpm-webmail-row-preview {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.ftpm-messages-view .ftpm-webmail-row-subject {
    font-weight: 800 !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
    margin: 0 0 4px !important;
}

.ftpm-messages-view .ftpm-webmail-row-meta {
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin: 0 0 4px !important;
}

.ftpm-messages-view .ftpm-webmail-row-preview {
    color: #475569 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    margin: 0 !important;
}

.ftpm-messages-view .ftpm-webmail-row-date {
    justify-self: end !important;
    text-align: right !important;
    color: #475569 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    padding-top: 1px !important;
}

/* Lesebereich volle Breite darunter */
.ftpm-messages-view .ftpm-webmail-reader,
.ftpm-messages-view .ftpm-webmail-detail-reader,
.ftpm-internal-content .ftpm-webmail-reader,
.ftpm-internal-content .ftpm-webmail-detail-reader {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    padding: clamp(24px, 3.2vw, 42px) !important;
    background: #fff !important;
    border: 0 !important;
    min-height: 280px !important;
}

.ftpm-messages-view .ftpm-webmail-reader.is-empty {
    display: grid !important;
    place-items: center !important;
    min-height: 220px !important;
    color: #64748b !important;
    text-align: center !important;
}

.ftpm-messages-view .ftpm-webmail-message {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

.ftpm-messages-view .ftpm-webmail-message.is-active {
    display: block !important;
}

/* Lesebereich-Inhalt */
.ftpm-messages-view .ftpm-webmail-message-head {
    width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding-bottom: 18px !important;
    margin-bottom: 22px !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.ftpm-messages-view .ftpm-webmail-message-head h4 {
    margin: 0 0 8px !important;
    font-size: clamp(24px, 2.2vw, 34px) !important;
    line-height: 1.15 !important;
    letter-spacing: -.02em !important;
    color: #0f172a !important;
}

.ftpm-messages-view .ftpm-webmail-message-head p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 15px !important;
}

.ftpm-messages-view .ftpm-webmail-message-head time {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    color: #475569 !important;
    font-size: 14px !important;
    padding-top: 6px !important;
}

.ftpm-messages-view .ftpm-webmail-message-body {
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 0 26px !important;
    color: #1f2937 !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
}

.ftpm-messages-view .ftpm-webmail-reply,
.ftpm-messages-view .ftpm-message-attachments {
    max-width: 980px !important;
}

/* Mobil */
@media (max-width: 760px) {
    .ftpm-messages-view .ftpm-webmail-row,
    .ftpm-internal-content .ftpm-webmail-row {
        grid-template-columns: 30px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .ftpm-messages-view .ftpm-webmail-row-date {
        grid-column: 2 !important;
        justify-self: start !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .ftpm-messages-view .ftpm-webmail-message-head {
        display: block !important;
    }

    .ftpm-messages-view .ftpm-webmail-message-head time {
        display: block !important;
        margin-top: 10px !important;
        padding-top: 0 !important;
    }
}


/* v0.27.5 Flat Mailbox Layout
   Neue Struktur ohne alte webmail-grid-Klassen:
   Titel -> Toolbar -> Liste -> Lesebereich. */
.ftpm-messages-view .ftpm-mailbox-flat,
.ftpm-internal-content .ftpm-mailbox-flat {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    margin: 30px 0 0 !important;
}

.ftpm-mailbox-flat-head {
    display: flex !important;
    width: 100% !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 0 0 12px !important;
}

.ftpm-mailbox-flat-head h3 {
    margin: 0 !important;
    font-size: clamp(26px, 2.3vw, 34px) !important;
    line-height: 1.15 !important;
}

.ftpm-mailbox-flat-head span {
    color: #64748b !important;
    font-size: 14px !important;
    white-space: nowrap;
}

.ftpm-mailbox-flat-toolbar {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px 16px 0 0 !important;
    background: #f8fafc !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.ftpm-mailbox-flat-box {
    display: block !important;
    width: 100% !important;
    border: 1px solid #e5e7eb !important;
    border-top: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07) !important;
}

.ftpm-mailbox-flat-list {
    display: block !important;
    width: 100% !important;
    max-height: 390px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #fff !important;
}

.ftpm-mailbox-flat-row {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: 34px minmax(0, 1fr) 180px !important;
    gap: 14px !important;
    align-items: start !important;
    padding: 16px 18px !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #fff !important;
    box-shadow: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.ftpm-mailbox-flat-row:last-child {
    border-bottom: 0 !important;
}

.ftpm-mailbox-flat-row:hover,
.ftpm-mailbox-flat-row.is-active {
    background: #f8fbff !important;
}

.ftpm-mailbox-flat-row.is-active {
    box-shadow: inset 4px 0 0 var(--ast-global-color-0, #2563eb) !important;
}

.ftpm-mailbox-flat-check {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    margin: 2px 0 0 !important;
}

.ftpm-mailbox-flat-open {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    text-align: left !important;
    cursor: pointer !important;
}

.ftpm-mailbox-flat-open:hover,
.ftpm-mailbox-flat-open:focus {
    background: transparent !important;
    color: inherit !important;
}

.ftpm-mailbox-flat-open:focus-visible {
    outline: 2px solid var(--ast-global-color-0, #2563eb);
    outline-offset: 4px;
    border-radius: 8px;
}

.ftpm-mailbox-flat-subject,
.ftpm-mailbox-flat-meta,
.ftpm-mailbox-flat-preview {
    display: block !important;
    width: 100% !important;
}

.ftpm-mailbox-flat-subject {
    font-weight: 800 !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    margin: 0 0 4px !important;
    overflow-wrap: anywhere !important;
}

.ftpm-mailbox-flat-meta {
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin: 0 0 4px !important;
}

.ftpm-mailbox-flat-preview {
    color: #475569 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

.ftpm-mailbox-flat-date {
    justify-self: end !important;
    text-align: right !important;
    white-space: nowrap !important;
    color: #475569 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    padding-top: 1px !important;
}

.ftpm-mailbox-flat-reader {
    display: block !important;
    width: 100% !important;
    min-height: 280px !important;
    padding: clamp(24px, 3.2vw, 42px) !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.ftpm-mailbox-flat-reader.is-empty {
    display: grid !important;
    place-items: center !important;
    min-height: 220px !important;
    text-align: center !important;
    color: #64748b !important;
}

.ftpm-mailbox-flat-message {
    display: none !important;
    width: 100% !important;
}

.ftpm-mailbox-flat-message.is-active {
    display: block !important;
}

.ftpm-mailbox-flat-message-head {
    display: flex !important;
    width: 100% !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding-bottom: 18px !important;
    margin-bottom: 22px !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.ftpm-mailbox-flat-message-head h4 {
    margin: 0 0 8px !important;
    font-size: clamp(24px, 2.2vw, 34px) !important;
    line-height: 1.15 !important;
    letter-spacing: -.02em !important;
    color: #0f172a !important;
}

.ftpm-mailbox-flat-message-head p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 15px !important;
}

.ftpm-mailbox-flat-message-head time {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    color: #475569 !important;
    font-size: 14px !important;
    padding-top: 6px !important;
}

.ftpm-mailbox-flat-body {
    width: 100% !important;
    max-width: 980px !important;
    color: #1f2937 !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    margin-bottom: 26px !important;
}

.ftpm-mailbox-flat-reply,
.ftpm-mailbox-flat-reader .ftpm-message-attachments {
    max-width: 980px !important;
}

/* Verhindert, dass alte Webmail-Klassen trotz Alt-CSS sichtbar werden, falls Cache Markup mischt */
.ftpm-messages-view .ftpm-webmail-folder:not(.ftpm-mailbox-flat),
.ftpm-messages-view .ftpm-webmail-shell:not(.ftpm-mailbox-flat-box) {
    width: 100% !important;
}

@media (max-width: 760px) {
    .ftpm-mailbox-flat-row {
        grid-template-columns: 30px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .ftpm-mailbox-flat-date {
        grid-column: 2 !important;
        justify-self: start !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .ftpm-mailbox-flat-message-head {
        display: block !important;
    }

    .ftpm-mailbox-flat-message-head time {
        display: block !important;
        margin-top: 10px !important;
        padding-top: 0 !important;
    }
}


/* v0.27.5 Header enthält nur Titel + Zähler */
.ftpm-mailbox-flat {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    margin-top: 30px !important;
}

.ftpm-mailbox-flat-head {
    display: flex !important;
    width: 100% !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ftpm-mailbox-flat-head > .ftpm-impossible-selector-to-disable-old-rule {
    display: none !important;
}

.ftpm-mailbox-flat-head h3 {
    margin: 0 !important;
    font-size: clamp(26px, 2.3vw, 34px) !important;
    line-height: 1.15 !important;
}

.ftpm-mailbox-flat-head > span {
    color: #64748b !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

.ftpm-mailbox-flat-toolbar {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px 16px 0 0 !important;
    background: #f8fafc !important;
    box-sizing: border-box !important;
}

.ftpm-mailbox-flat-box {
    display: block !important;
    width: 100% !important;
    border: 1px solid #e5e7eb !important;
    border-top: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07) !important;
}

.ftpm-mailbox-flat-list {
    display: block !important;
    width: 100% !important;
    max-height: 390px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #fff !important;
}

.ftpm-mailbox-flat-row {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 180px !important;
    width: 100% !important;
    gap: 14px !important;
    align-items: start !important;
    padding: 16px 18px !important;
    margin: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #fff !important;
    box-shadow: none !important;
}

.ftpm-mailbox-flat-row:hover,
.ftpm-mailbox-flat-row.is-active {
    background: #f8fbff !important;
}

.ftpm-mailbox-flat-row.is-active {
    box-shadow: inset 4px 0 0 var(--ast-global-color-0, #2563eb) !important;
}

.ftpm-mailbox-flat-check {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    margin: 2px 0 0 !important;
}

.ftpm-mailbox-flat-open {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    text-align: left !important;
    cursor: pointer !important;
}

.ftpm-mailbox-flat-open:hover,
.ftpm-mailbox-flat-open:focus {
    background: transparent !important;
    color: inherit !important;
}

.ftpm-mailbox-flat-subject,
.ftpm-mailbox-flat-meta,
.ftpm-mailbox-flat-preview {
    display: block !important;
    width: 100% !important;
}

.ftpm-mailbox-flat-subject {
    font-weight: 800 !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    margin-bottom: 4px !important;
    overflow-wrap: anywhere !important;
}

.ftpm-mailbox-flat-meta {
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin-bottom: 4px !important;
}

.ftpm-mailbox-flat-preview {
    color: #475569 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.ftpm-mailbox-flat-date {
    justify-self: end !important;
    text-align: right !important;
    white-space: nowrap !important;
    color: #475569 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.ftpm-mailbox-flat-reader {
    display: block !important;
    width: 100% !important;
    min-height: 280px !important;
    padding: clamp(24px, 3.2vw, 42px) !important;
    background: #fff !important;
}

.ftpm-mailbox-flat-message {
    display: none !important;
}

.ftpm-mailbox-flat-message.is-active {
    display: block !important;
}

.ftpm-mailbox-flat-message-head {
    display: flex !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding-bottom: 18px !important;
    margin-bottom: 22px !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.ftpm-mailbox-flat-message-head h4 {
    margin: 0 0 8px !important;
    font-size: clamp(24px, 2.2vw, 34px) !important;
    line-height: 1.15 !important;
    color: #0f172a !important;
}

.ftpm-mailbox-flat-message-head p {
    margin: 0 !important;
    color: #64748b !important;
}

.ftpm-mailbox-flat-message-head time {
    white-space: nowrap !important;
    color: #475569 !important;
    font-size: 14px !important;
}

.ftpm-mailbox-flat-body {
    max-width: 980px !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    color: #1f2937 !important;
}

@media (max-width: 760px) {
    .ftpm-mailbox-flat-row {
        grid-template-columns: 30px minmax(0, 1fr) !important;
    }

    .ftpm-mailbox-flat-date {
        grid-column: 2 !important;
        justify-self: start !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .ftpm-mailbox-flat-message-head {
        display: block !important;
    }

    .ftpm-mailbox-flat-message-head time {
        display: block !important;
        margin-top: 10px !important;
    }
}


/* v0.27.5 Kein Header-Misnesting: ftpm-mailbox-flat-head ist jetzt DIV */
.ftpm-mailbox-flat-head[role="heading"] {
    display: flex !important;
    width: 100% !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ftpm-mailbox-flat-head[role="heading"] h3 {
    margin: 0 !important;
}

.ftpm-mailbox-flat-head[role="heading"] .ftpm-mailbox-flat-count {
    color: #64748b !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

/* Falls altes Browser-DOM aus Cache noch fehlerhaft ist, soll die neue flache Ausgabe dominieren */
.ftpm-mailbox-flat > form.ftpm-mailbox-flat-toolbar,
.ftpm-mailbox-flat > .ftpm-mailbox-flat-box {
    display: block;
    width: 100%;
    clear: both;
}

.ftpm-mailbox-flat > form.ftpm-mailbox-flat-toolbar {
    display: flex !important;
}


/* v0.27.5 Header-Block atomar ausgegeben */
.ftpm-mailbox-flat {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    margin-top: 30px !important;
}

.ftpm-mailbox-flat-head {
    display: flex !important;
    width: 100% !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ftpm-mailbox-flat-head h3 {
    margin: 0 !important;
}

.ftpm-mailbox-flat-count {
    color: #64748b !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

.ftpm-mailbox-flat-toolbar {
    display: flex !important;
    width: 100% !important;
    clear: both !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px 16px 0 0 !important;
    background: #f8fafc !important;
}

.ftpm-mailbox-flat-box {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    border: 1px solid #e5e7eb !important;
    border-top: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07) !important;
}

.ftpm-mailbox-flat-list {
    display: block !important;
    width: 100% !important;
    max-height: 390px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.ftpm-mailbox-flat-row {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 180px !important;
    gap: 14px !important;
    align-items: start !important;
    width: 100% !important;
    padding: 16px 18px !important;
    margin: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #fff !important;
}

.ftpm-mailbox-flat-row:hover,
.ftpm-mailbox-flat-row.is-active {
    background: #f8fbff !important;
}

.ftpm-mailbox-flat-row.is-active {
    box-shadow: inset 4px 0 0 var(--ast-global-color-0, #2563eb) !important;
}

.ftpm-mailbox-flat-open {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: inherit !important;
    text-align: left !important;
}

.ftpm-mailbox-flat-subject,
.ftpm-mailbox-flat-meta,
.ftpm-mailbox-flat-preview {
    display: block !important;
}

.ftpm-mailbox-flat-reader {
    display: block !important;
    width: 100% !important;
    padding: clamp(24px, 3.2vw, 42px) !important;
}

.ftpm-mailbox-flat-message {
    display: none !important;
}

.ftpm-mailbox-flat-message.is-active {
    display: block !important;
}


/* v0.27.5 Mailbox defensive layout
   Fallback: even if old/wrong markup places children inside the head,
   don't squeeze them side-by-side. The repair JS then moves them correctly. */
.ftpm-mailbox-flat {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    margin-top: 30px !important;
}

.ftpm-mailbox-flat-head {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ftpm-mailbox-flat-head h3 {
    display: inline-block !important;
    margin: 0 !important;
    font-size: clamp(26px, 2.3vw, 34px) !important;
    line-height: 1.15 !important;
}

.ftpm-mailbox-flat-head .ftpm-mailbox-flat-count {
    float: right;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 34px;
    white-space: nowrap !important;
}

.ftpm-mailbox-flat-toolbar,
.ftpm-mailbox-flat-list,
.ftpm-mailbox-flat-box,
.ftpm-mailbox-flat-reader {
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    float: none !important;
}

.ftpm-mailbox-flat-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px 16px 0 0 !important;
    background: #f8fafc !important;
}

.ftpm-mailbox-flat-box {
    display: block !important;
    border: 1px solid #e5e7eb !important;
    border-top: 0 !important;
    border-radius: 0 0 20px 20px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07) !important;
}

.ftpm-mailbox-flat-list {
    display: block !important;
    max-height: 390px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #fff !important;
}

.ftpm-mailbox-flat-row {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 180px !important;
    gap: 14px !important;
    align-items: start !important;
    width: 100% !important;
    padding: 16px 18px !important;
    margin: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #fff !important;
}

.ftpm-mailbox-flat-row:hover,
.ftpm-mailbox-flat-row.is-active {
    background: #f8fbff !important;
}

.ftpm-mailbox-flat-row.is-active {
    box-shadow: inset 4px 0 0 var(--ast-global-color-0, #2563eb) !important;
}

.ftpm-mailbox-flat-open {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    text-align: left !important;
}

.ftpm-mailbox-flat-subject,
.ftpm-mailbox-flat-meta,
.ftpm-mailbox-flat-preview {
    display: block !important;
    width: 100% !important;
}

.ftpm-mailbox-flat-subject {
    font-weight: 800 !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    margin-bottom: 4px !important;
    overflow-wrap: anywhere !important;
}

.ftpm-mailbox-flat-meta {
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin-bottom: 4px !important;
}

.ftpm-mailbox-flat-preview {
    color: #475569 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.ftpm-mailbox-flat-date {
    justify-self: end !important;
    text-align: right !important;
    white-space: nowrap !important;
    color: #475569 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.ftpm-mailbox-flat-reader {
    display: block !important;
    min-height: 280px !important;
    padding: clamp(24px, 3.2vw, 42px) !important;
    background: #fff !important;
}

.ftpm-mailbox-flat-message {
    display: none !important;
}

.ftpm-mailbox-flat-message.is-active {
    display: block !important;
}

@media (max-width: 760px) {
    .ftpm-mailbox-flat-head .ftpm-mailbox-flat-count {
        float: none;
        display: block !important;
        line-height: 1.4;
        margin-top: 6px;
    }

    .ftpm-mailbox-flat-row {
        grid-template-columns: 30px minmax(0, 1fr) !important;
    }

    .ftpm-mailbox-flat-date {
        grid-column: 2 !important;
        justify-self: start !important;
        text-align: left !important;
        white-space: normal !important;
    }
}


/* v0.27.5 Trennung ohne Strukturumbau
   Basis bleibt v0.27.5, weil diese Darstellung stabil war.
   Keine Flex-/Header-Änderung, nur optische Trennung. */
.ftpm-mailbox-flat {
    margin-top: 34px !important;
}

/* Header bleibt defensiv blockbasiert, damit nichts wieder nebeneinander gedrückt wird. */
.ftpm-mailbox-flat-head {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    clear: both !important;
}

.ftpm-mailbox-flat-head h3 {
    display: inline-block !important;
    margin: 0 !important;
    font-size: clamp(28px, 2.4vw, 36px) !important;
    line-height: 1.15 !important;
}

.ftpm-mailbox-flat-head .ftpm-mailbox-flat-count {
    float: right !important;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 34px !important;
    white-space: nowrap !important;
}

/* Toolbar und Betreffliste bleiben zusammen als oberer Bereich. */
.ftpm-mailbox-flat-toolbar {
    border: 1px solid #dfe5ee !important;
    border-radius: 18px 18px 0 0 !important;
    background: #f8fafc !important;
    padding: 13px 16px !important;
}

.ftpm-mailbox-flat-box {
    border: 1px solid #dfe5ee !important;
    border-top: 0 !important;
    border-radius: 0 0 22px 22px !important;
    background: #fff !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07) !important;
    overflow: hidden !important;
}

/* Betreffliste etwas ruhiger. */
.ftpm-mailbox-flat-list {
    max-height: 410px !important;
    overflow-y: auto !important;
    border-bottom: 0 !important;
    background: #fff !important;
}

.ftpm-mailbox-flat-row {
    padding: 17px 20px !important;
    border-bottom: 1px solid #edf1f6 !important;
}

.ftpm-mailbox-flat-row:last-child {
    border-bottom: 0 !important;
}

.ftpm-mailbox-flat-row.is-active {
    background: #f7fbff !important;
    box-shadow: inset 4px 0 0 var(--ast-global-color-0, #2563eb) !important;
}

/* Klare Trennung: Abstand + Linie + dezenter Marker vor dem Lesebereich. */
.ftpm-mailbox-flat-reader {
    margin-top: 30px !important;
    border-top: 1px solid #dfe5ee !important;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 70%, #fbfcfe 100%) !important;
    padding: clamp(30px, 3.5vw, 48px) !important;
    position: relative !important;
}

.ftpm-mailbox-flat-reader::before {
    content: "Nachricht";
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 12px;
    border: 1px solid #dfe5ee;
    border-radius: 999px;
    background: #fff;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    position: absolute;
    top: -15px;
    left: 28px;
}

.ftpm-mailbox-flat-message-head {
    padding-bottom: 20px !important;
    margin-bottom: 24px !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.ftpm-mailbox-flat-body {
    max-width: 980px !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
}

.ftpm-mailbox-flat-reply {
    max-width: 980px !important;
    margin-top: 26px !important;
    padding-top: 20px !important;
    border-top: 1px solid #edf1f6 !important;
}

@media (max-width: 760px) {
    .ftpm-mailbox-flat-head h3 {
        display: block !important;
    }

    .ftpm-mailbox-flat-head .ftpm-mailbox-flat-count {
        float: none !important;
        display: block !important;
        line-height: 1.4 !important;
        margin-top: 6px !important;
    }

    .ftpm-mailbox-flat-reader {
        margin-top: 26px !important;
        padding: 30px 20px !important;
    }

    .ftpm-mailbox-flat-reader::before {
        left: 20px;
    }
}


/* v0.27.5 Mailbox Rahmen und Auswahl
   Basis bleibt v0.27.5. Nur UI-Verfeinerung. */

/* Der graue Außenrahmen läuft nun optisch vom Aktions-Header bis zum Lesebereich. */
.ftpm-mailbox-flat {
    --ftpm-mail-border: #dfe5ee;
    --ftpm-mail-soft-border: #edf1f6;
    --ftpm-mail-selection: #f1f7ff;
    --ftpm-mail-accent: var(--ast-global-color-0, #2563eb);
}

.ftpm-mailbox-flat-toolbar {
    border: 1px solid var(--ftpm-mail-border) !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    background: #f8fafc !important;
    padding: 13px 16px !important;
}

.ftpm-mailbox-flat-box {
    border: 1px solid var(--ftpm-mail-border) !important;
    border-top: 0 !important;
    border-radius: 0 0 22px 22px !important;
    background: #fff !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07) !important;
    overflow: hidden !important;
}

/* Scroll ab mehreren Nachrichten: Liste bekommt eine feste Maximalhöhe. */
.ftpm-mailbox-flat-list {
    max-height: 430px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-gutter: stable;
    border-bottom: 0 !important;
}

.ftpm-mailbox-flat-list::-webkit-scrollbar {
    width: 10px;
}

.ftpm-mailbox-flat-list::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
    border: 2px solid #fff;
}

.ftpm-mailbox-flat-list::-webkit-scrollbar-track {
    background: #f8fafc;
}

.ftpm-mailbox-flat-row {
    cursor: pointer;
    transition: background-color .16s ease, box-shadow .16s ease;
}

.ftpm-mailbox-flat-row:hover {
    background: #f8fbff !important;
}

/* Aktive gelesene Nachricht und markierte Nachrichten optisch unterscheiden */
.ftpm-mailbox-flat-row.is-active {
    background: #f7fbff !important;
    box-shadow: inset 4px 0 0 var(--ftpm-mail-accent) !important;
}

.ftpm-mailbox-flat-row.is-selected {
    background: var(--ftpm-mail-selection) !important;
    box-shadow: inset 4px 0 0 var(--ftpm-mail-accent) !important;
}

.ftpm-mailbox-flat-row.is-selected .ftpm-mailbox-flat-subject,
.ftpm-mailbox-flat-row.is-active .ftpm-mailbox-flat-subject {
    color: #0f172a !important;
}

/* Mehr Abstand zwischen Liste und Lesebereich, aber ohne Struktur erneut anzufassen. */
.ftpm-mailbox-flat-reader {
    margin-top: 32px !important;
    border-top: 1px solid var(--ftpm-mail-border) !important;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 70%, #fbfcfe 100%) !important;
    padding: clamp(30px, 3.5vw, 48px) !important;
    position: relative !important;
}

.ftpm-mailbox-flat-reader::before {
    content: "Nachricht";
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 12px;
    border: 1px solid var(--ftpm-mail-border);
    border-radius: 999px;
    background: #fff;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    position: absolute;
    top: -15px;
    left: 28px;
}

/* Mobile bleibt ruhig und stapelt weiter sauber. */
@media (max-width: 760px) {
    .ftpm-mailbox-flat-list {
        max-height: 520px !important;
    }

    .ftpm-mailbox-flat-reader {
        margin-top: 28px !important;
        padding: 30px 20px !important;
    }

    .ftpm-mailbox-flat-reader::before {
        left: 20px;
    }
}


/* v0.27.5 Rahmen und Leerzustand */
.ftpm-mailbox-flat {
    margin-top: 40px !important;
}

/* Mehr Luft zwischen Ordnertitel und Aktionsleiste */
.ftpm-mailbox-flat-head {
    margin-bottom: 18px !important;
}

/* Außenrahmen sichtbar vom Aktionskopf bis zum Lesebereich */
.ftpm-mailbox-flat-toolbar {
    border: 1px solid #d7dee9 !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    background: #f8fafc !important;
}

.ftpm-mailbox-flat-box {
    border: 1px solid #d7dee9 !important;
    border-top: 0 !important;
    border-radius: 0 0 22px 22px !important;
    background: #fff !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07) !important;
    overflow: hidden !important;
}

/* Betreffliste bleibt im gemeinsamen Rahmen */
.ftpm-mailbox-flat-list {
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #dfe5ee !important;
    max-height: 430px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-gutter: stable;
}

/* Noch klarere optische Trennung zum Lesebereich */
.ftpm-mailbox-flat-reader {
    margin-top: 34px !important;
    border-top: 1px solid #d7dee9 !important;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 70%, #fbfcfe 100%) !important;
    padding: clamp(30px, 3.5vw, 48px) !important;
    position: relative !important;
}

.ftpm-mailbox-flat-reader::before {
    content: "Nachricht";
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 12px;
    border: 1px solid #d7dee9;
    border-radius: 999px;
    background: #fff;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    position: absolute;
    top: -15px;
    left: 28px;
}

/* Kein Nachrichteninhalt, solange nichts ausgewählt ist */
.ftpm-mailbox-flat-placeholder {
    display: none;
    min-height: 190px;
    place-items: center;
    text-align: center;
    color: #64748b;
}

.ftpm-mailbox-flat-placeholder.is-active {
    display: grid;
}

.ftpm-mailbox-flat-placeholder p {
    margin: 0 0 6px !important;
    font-weight: 800;
    color: #334155;
}

.ftpm-mailbox-flat-placeholder small {
    color: #94a3b8;
}

/* Markierung bleibt klar, aber der Lesebereich erscheint erst nach Auswahl */
.ftpm-mailbox-flat-row.is-selected,
.ftpm-mailbox-flat-row.is-active {
    background: #f1f7ff !important;
    box-shadow: inset 4px 0 0 var(--ast-global-color-0, #2563eb) !important;
}

@media (max-width: 760px) {
    .ftpm-mailbox-flat {
        margin-top: 34px !important;
    }

    .ftpm-mailbox-flat-head {
        margin-bottom: 14px !important;
    }

    .ftpm-mailbox-flat-list {
        max-height: 520px !important;
    }

    .ftpm-mailbox-flat-reader {
        margin-top: 28px !important;
        padding: 30px 20px !important;
    }

    .ftpm-mailbox-flat-reader::before {
        left: 20px;
    }
}


/* v0.27.5 sichtbarer Mailbox-Rahmen
   Der äußere Rahmen war vorhanden, wurde optisch aber von vollflächigen Innenbereichen geschluckt.
   Deshalb bekommt jeder Abschnitt eine eigene inset-Rahmenlinie. */
.ftpm-mailbox-flat {
    --ftpm-mail-frame: #cfd8e6;
    --ftpm-mail-frame-soft: #e2e8f0;
}

/* Aktionsleiste: oben, links, rechts sichtbar */
.ftpm-mailbox-flat-toolbar {
    border: 1px solid var(--ftpm-mail-frame) !important;
    border-bottom: 0 !important;
    box-shadow:
        inset 1px 0 0 var(--ftpm-mail-frame),
        inset -1px 0 0 var(--ftpm-mail-frame) !important;
}

/* Der gemeinsame Container bleibt der eigentliche Außenrahmen */
.ftpm-mailbox-flat-box {
    border: 1px solid var(--ftpm-mail-frame) !important;
    border-top: 0 !important;
    box-shadow:
        inset 1px 0 0 var(--ftpm-mail-frame),
        inset -1px 0 0 var(--ftpm-mail-frame),
        0 24px 55px rgba(15, 23, 42, .07) !important;
}

/* Betreffliste: Seitenlinien sichtbar halten, auch wenn die Zeilen weiß darüberliegen */
.ftpm-mailbox-flat-list {
    border-left: 1px solid var(--ftpm-mail-frame) !important;
    border-right: 1px solid var(--ftpm-mail-frame) !important;
    border-bottom: 1px solid var(--ftpm-mail-frame-soft) !important;
    box-shadow:
        inset 1px 0 0 var(--ftpm-mail-frame),
        inset -1px 0 0 var(--ftpm-mail-frame) !important;
    background: #fff !important;
}

/* Einzelne Zeilen nicht über die Seitenlinie laufen lassen */
.ftpm-mailbox-flat-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

/* Lesebereich ebenfalls mit Seitenlinie, damit der Rahmen optisch weiterläuft */
.ftpm-mailbox-flat-reader {
    border-left: 1px solid var(--ftpm-mail-frame) !important;
    border-right: 1px solid var(--ftpm-mail-frame) !important;
    border-top: 1px solid var(--ftpm-mail-frame) !important;
    box-shadow:
        inset 1px 0 0 var(--ftpm-mail-frame),
        inset -1px 0 0 var(--ftpm-mail-frame) !important;
}

/* Der Marker sitzt auf der Linie und wirkt dadurch sauberer */
.ftpm-mailbox-flat-reader::before {
    border-color: var(--ftpm-mail-frame) !important;
}

/* Etwas mehr optische Luft zwischen Titel und Rahmen */
.ftpm-mailbox-flat-head {
    margin-bottom: 20px !important;
}


/* v0.27.5 Mailbox Polishing
   Feinschliff nach funktionalem Durchbruch:
   - mehr Abstand nach dem Ordner-Titel
   - Badge „Nachricht“ mittig
   - doppelte Rahmenwirkung reduziert
   - Rahmen bleibt links/rechts sichtbar
*/

/* Mehr Luft zwischen „Posteingang“ und Aktionsleiste */
.ftpm-mailbox-flat-head {
    margin-bottom: 26px !important;
}

/* Oberer Bereich: Toolbar + Liste als ein zusammenhängender Block */
.ftpm-mailbox-flat-toolbar {
    border: 1px solid #d7dee9 !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    background: #f8fafc !important;
    box-shadow:
        inset 1px 0 0 #d7dee9,
        inset -1px 0 0 #d7dee9 !important;
}

/* Der äußere Container trägt den Rahmen, die inneren Linien werden ruhiger */
.ftpm-mailbox-flat-box {
    border: 1px solid #d7dee9 !important;
    border-top: 0 !important;
    border-radius: 0 0 22px 22px !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07) !important;
}

/* Liste: sichtbare Seiten, aber kein zusätzlicher harter Boden */
.ftpm-mailbox-flat-list {
    border-left: 1px solid #d7dee9 !important;
    border-right: 1px solid #d7dee9 !important;
    border-bottom: 0 !important;
    box-shadow:
        inset 1px 0 0 #d7dee9,
        inset -1px 0 0 #d7dee9 !important;
    background: #fff !important;
}

/* Der Zähler sitzt sauber am Ende der Liste, aber ohne harte Doppelbox */
.ftpm-mailbox-flat-list + .ftpm-mailbox-flat-count,
.ftpm-mailbox-flat-count {
    color: #64748b !important;
}

/* Lesebereich: deutlicher Abstand, aber nur eine klare Trennlinie */
.ftpm-mailbox-flat-reader {
    margin-top: 36px !important;
    border-top: 1px solid #d7dee9 !important;
    border-left: 1px solid #d7dee9 !important;
    border-right: 1px solid #d7dee9 !important;
    border-bottom: 0 !important;
    box-shadow:
        inset 1px 0 0 #d7dee9,
        inset -1px 0 0 #d7dee9 !important;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 74%, #fbfcfe 100%) !important;
    padding: clamp(34px, 3.6vw, 50px) !important;
    position: relative !important;
}

/* Badge mittig statt links */
.ftpm-mailbox-flat-reader::before {
    content: "Nachricht";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 14px;
    border: 1px solid #d7dee9;
    border-radius: 999px;
    background: #fff;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    position: absolute;
    top: -15px;
    left: 50% !important;
    transform: translateX(-50%);
}

/* Leerer Zustand etwas ruhiger und mittiger */
.ftpm-mailbox-flat-placeholder {
    min-height: 210px !important;
}

.ftpm-mailbox-flat-placeholder p {
    margin-bottom: 8px !important;
}

/* Gewählte Nachrichten wirken wie Auswahl, nicht wie kaputter Fokus */
.ftpm-mailbox-flat-row.is-selected,
.ftpm-mailbox-flat-row.is-active {
    background: #f3f8ff !important;
    box-shadow: inset 4px 0 0 var(--ast-global-color-0, #2563eb) !important;
}

/* Weniger harte Kanten zwischen Nachrichtentitel und Inhalt */
.ftpm-mailbox-flat-message-head {
    border-bottom: 1px solid #edf1f6 !important;
    padding-bottom: 18px !important;
    margin-bottom: 24px !important;
}

.ftpm-mailbox-flat-body {
    max-width: 980px !important;
}

/* Mobile: Badge bleibt mittig */
@media (max-width: 760px) {
    .ftpm-mailbox-flat-head {
        margin-bottom: 20px !important;
    }

    .ftpm-mailbox-flat-reader {
        margin-top: 32px !important;
        padding: 34px 20px 30px !important;
    }

    .ftpm-mailbox-flat-reader::before {
        left: 50% !important;
        transform: translateX(-50%);
    }
}


/* v0.27.5 Mailbox Rahmenkorrektur
   - Abstand direkt am h3
   - doppelte Seitenrahmen entfernt
   - äußerer Rahmen bleibt sichtbar
*/

/* Abstand zwischen „Posteingang“ und Aktionsleiste direkt am Titel */
.ftpm-mailbox-flat-head h3 {
    margin-bottom: 18px !important;
}

/* Der Kopf selbst braucht keinen zusätzlichen unteren Abstand mehr erzwingen */
.ftpm-mailbox-flat-head {
    margin-bottom: 0 !important;
}

/* Ein klarer Außenrahmen: Toolbar oben, Box darunter */
.ftpm-mailbox-flat-toolbar {
    border: 1px solid #d7dee9 !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    box-shadow: none !important;
}

.ftpm-mailbox-flat-box {
    border: 1px solid #d7dee9 !important;
    border-top: 0 !important;
    border-radius: 0 0 22px 22px !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .07) !important;
}

/* Keine zusätzlichen linken/rechten Innenrahmen mehr in der Liste */
.ftpm-mailbox-flat-list {
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
}

/* Die Zeilen bleiben getrennt, ohne den Außenrahmen zu verdoppeln */
.ftpm-mailbox-flat-row {
    border-left: 0 !important;
    border-right: 0 !important;
}

/* Lesebereich: nur oben eine Trennlinie, keine zusätzlichen Seitenlinien */
.ftpm-mailbox-flat-reader {
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 1px solid #d7dee9 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    margin-top: 34px !important;
}

/* Badge bleibt zentriert */
.ftpm-mailbox-flat-reader::before {
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* Der Außenrahmen wird durch die Box gezeichnet, daher keine gelben/doppelten Seitenkanten mehr */
.ftpm-mailbox-flat-reader,
.ftpm-mailbox-flat-list,
.ftpm-mailbox-flat-toolbar {
    outline: 0 !important;
}

/* Mobile: Abstand etwas kompakter */
@media (max-width: 760px) {
    .ftpm-mailbox-flat-head h3 {
        margin-bottom: 14px !important;
    }
}


/* v0.27.5 Betrefflisten-Rahmen aus DevTools
   Vom Test übernommen: sichtbare, aber ruhige Rahmenlinie der Betreffliste. */
.ftpm-mailbox-flat-list {
    border-left: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
}


/* v0.27.5 Count oben rechts im Mailbox-Kopf
   Die Anzahl steht direkt rechts neben/oberhalb des Betreffbereichs,
   wie im DevTools-Test. */
.ftpm-mailbox-flat-head {
    position: relative !important;
}

.ftpm-mailbox-flat-head h3 {
    margin-bottom: 18px !important;
}

.ftpm-mailbox-flat-count {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    float: none !important;
}

/* Aktionsleiste und Betreffliste bekommen oben rechts genug Luft zum Count. */
.ftpm-mailbox-flat-toolbar {
    margin-top: 0 !important;
}

/* Auf kleinen Screens wieder in den Fluss setzen, damit nichts überlappt. */
@media (max-width: 760px) {
    .ftpm-mailbox-flat-count {
        position: static !important;
        display: block !important;
        margin-top: 6px !important;
        text-align: left !important;
    }

    .ftpm-mailbox-flat-head h3 {
        margin-bottom: 14px !important;
    }
}


/* v0.27.5 Grauen Rand oberhalb Mailbox ausblenden
   Entfernt die störende horizontale Linie oberhalb von „Posteingang“.
   Der sichtbare Rahmen beginnt erst an der Aktionsleiste / Betreffliste. */
.ftpm-mailbox-flat,
.ftpm-mailbox-flat-head {
    border-top: 0 !important;
    outline-top: 0 !important;
}

.ftpm-mailbox-flat-head {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Falls ältere Regeln noch eine Linie über Pseudo-Elemente oder Schatten zeichnen. */
.ftpm-mailbox-flat-head::before,
.ftpm-mailbox-flat-head::after,
.ftpm-mailbox-flat::before,
.ftpm-mailbox-flat::after {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Titelbereich bewusst rahmenlos halten. */
.ftpm-mailbox-flat-head h3,
.ftpm-mailbox-flat-count {
    border: 0 !important;
    box-shadow: none !important;
}


/* v0.27.5 Linie oberhalb Posteingang sicher ueberdecken
   Die Linie kommt offenbar nicht zuverlässig aus einer direkt auffindbaren Border-Regel.
   Daher wird der Titelbereich zusätzlich mit einer weißen Abdeckfläche versehen. */
.ftpm-messages-view .ftpm-mailbox-flat,
.ftpm-mailbox-flat {
    position: relative !important;
    border-top: 0 !important;
    outline: 0 !important;
}

/* Alle üblichen Linienquellen im Kopfbereich neutralisieren. */
.ftpm-messages-view .ftpm-mailbox-flat-head,
.ftpm-mailbox-flat-head,
.ftpm-messages-view .ftpm-mailbox-flat-head h3,
.ftpm-mailbox-flat-head h3 {
    border-top: 0 !important;
    border-bottom: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
}

/* Weiße Abdeckfläche genau über der störenden horizontalen Linie. */
.ftpm-messages-view .ftpm-mailbox-flat-head::before,
.ftpm-mailbox-flat-head::before {
    content: "" !important;
    position: absolute !important;
    left: -4px !important;
    right: -4px !important;
    top: -8px !important;
    height: 10px !important;
    display: block !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Titel und Count über der Abdeckfläche halten. */
.ftpm-mailbox-flat-head h3,
.ftpm-mailbox-flat-count {
    position: relative !important;
    z-index: 2 !important;
}

/* Falls die Linie vom vorherigen Modul/Block kommt, unten ebenfalls kappen. */
.ftpm-member-message-compose + .ftpm-mailbox-flat,
.ftpm-message-compose + .ftpm-mailbox-flat {
    border-top: 0 !important;
    box-shadow: none !important;
}


/* v0.27.5 Entfernt leere Mailbox-Box
   Die Linie oberhalb von „Posteingang“ wurde von einer leeren
   .ftpm-mailbox-flat-box verursacht. Die weiße Abdeckfläche aus v0.27.5
   wurde entfernt. Leere Boxen werden nicht mehr angezeigt. */
.ftpm-mailbox-flat-box:empty {
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Falls im Element nur Kommentare stehen, greift :empty ebenfalls. */
.ftpm-mailbox-flat > .ftpm-mailbox-flat-box:empty {
    display: none !important;
}


/* v0.27.5 Count sauber im Kopfbereich
   Nachrichtenanzahl gehört direkt in den Kopfbereich rechts oben neben dem Ordnertitel. */
.ftpm-mailbox-flat-head {
    position: relative !important;
}

.ftpm-mailbox-flat-count {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    float: none !important;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    border: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 760px) {
    .ftpm-mailbox-flat-count {
        position: static !important;
        display: block !important;
        margin-top: 6px !important;
        text-align: left !important;
    }
}


/* v0.27.5 Compose-Tab / generische neue Nachricht */
.ftpm-message-subnav a.is-compose {
    gap: 8px;
}

.ftpm-message-subnav a.is-compose span {
    font-weight: 800;
}

.ftpm-member-message-compose-generic {
}

.ftpm-member-message-compose-generic .ftpm-member-message-compose-head span {
    background: var(--ast-global-color-0, #2563eb);
    color: #fff;
}

.ftpm-compose-grid {
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}

.ftpm-compose-grid label {
    display: block;
}

.ftpm-compose-grid select[multiple] {
    min-height: 150px;
}

.ftpm-member-message-compose-generic select,
.ftpm-member-message-compose-generic input[type="text"],
.ftpm-member-message-compose-generic textarea {
    width: 100%;
}

@media (max-width: 760px) {
    .ftpm-compose-grid {
        grid-template-columns: 1fr;
    }

    .ftpm-message-subnav a.is-compose {
        width: 100%;
        justify-content: center;
    }
}


/* v0.27.5 Compose debug cleanup
   Ziel: Formular weniger überfordernd machen und versteckte Felder zuverlässig ausblenden. */
.ftpm-compose-grid [hidden],
.ftpm-member-message-compose-generic [hidden] {
    display: none !important;
}

.ftpm-member-message-compose-generic .ftpm-compose-grid {
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
    align-items: start;
}

.ftpm-member-message-compose-generic label {
    margin-bottom: 14px;
}

.ftpm-member-message-compose-generic select[multiple] {
    background: #fff;
    border-radius: 12px;
    padding: 10px;
}

.ftpm-member-message-compose-generic .ftpm-help-text {
    font-size: 13px;
    line-height: 1.4;
    max-width: 560px;
}

@media (max-width: 760px) {
    .ftpm-member-message-compose-generic .ftpm-compose-grid {
        grid-template-columns: 1fr;
    }
}


/* v0.27.5 Unread and email settings */
.ftpm-message-subnav strong.has-unread {
    background: #dc2626 !important;
    color: #fff !important;
}

.ftpm-mailbox-flat-row.is-unread .ftpm-mailbox-flat-subject {
    font-weight: 900 !important;
}

.ftpm-mail-new-badge {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    margin-left: 8px;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .04em;
    vertical-align: middle;
}

.ftpm-message-notification-settings {
    margin-top: 18px;
    padding: 18px 20px;
    border: 1px solid #dbe4f0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .05);
}

.ftpm-message-notification-settings form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
}

.ftpm-message-notification-settings label {
    font-weight: 800;
}

.ftpm-message-notification-settings .ftpm-help-text {
    flex-basis: 100%;
    margin: 0;
}


/* v0.27.5 read transition */
.ftpm-mailbox-flat-row.is-unread {
    background: #fff !important;
}

.ftpm-mailbox-flat-row.is-unread .ftpm-mailbox-flat-subject {
    font-weight: 900 !important;
}


/* v0.27.5 inline toolbar notice */
.ftpm-inline-toolbar-notice {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
}

.ftpm-inline-toolbar-notice.is-success {
    background: #ecfdf3;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.ftpm-inline-toolbar-notice.is-error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}


/* v0.27.5 Frontend profile area */
.ftpm-profile-area {
    max-width: 980px;
}

.ftpm-profile-area > h2 {
    margin: 0 0 10px;
}

.ftpm-profile-form {
    margin-top: 22px;
    display: grid;
    gap: 22px;
}

.ftpm-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ftpm-profile-grid label,
.ftpm-profile-card label {
    display: grid;
    gap: 7px;
    font-weight: 800;
}

.ftpm-profile-grid input {
    width: 100%;
}

.ftpm-profile-grid small,
.ftpm-profile-card p,
.ftpm-profile-checkbox + .ftpm-help-text {
    color: #64748b;
    font-weight: 500;
}

.ftpm-profile-wide {
    grid-column: 1 / -1;
}

.ftpm-profile-card {
    padding: 20px;
    border: 1px solid #dbe4f0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .05);
}

.ftpm-profile-card h3 {
    margin-top: 0;
}

.ftpm-profile-checkbox {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    gap: 10px !important;
}

.ftpm-profile-notice {
    margin: 18px 0;
    padding: 14px 16px;
    border-radius: 14px;
    font-weight: 800;
}

.ftpm-profile-notice.is-success {
    background: #ecfdf3;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.ftpm-profile-notice.is-error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

@media (max-width: 760px) {
    .ftpm-profile-grid {
        grid-template-columns: 1fr;
    }
}


/* v0.27.5 Profile field alignment
   Benutzername + Anzeigename sauber auf gleicher Höhe halten.
   Der Hilfetext unter Benutzername darf die zweite Spalte nicht nach unten ziehen. */
.ftpm-profile-grid {
    align-items: start !important;
}

.ftpm-profile-grid label {
    align-self: start !important;
}

.ftpm-profile-grid label input,
.ftpm-profile-grid label select,
.ftpm-profile-grid label textarea {
    margin-top: 0 !important;
}

/* Hilfetexte im Profil optisch kleiner und ohne Einfluss auf die Feldoberkante. */
.ftpm-profile-grid label small {
    display: block !important;
    margin-top: 7px !important;
    line-height: 1.35 !important;
}

/* Browser-/Theme-Abstände neutralisieren, damit beide Inputs oben bündig starten. */
.ftpm-profile-grid input[type="text"],
.ftpm-profile-grid input[type="email"],
.ftpm-profile-grid input[type="password"] {
    min-height: 42px !important;
    box-sizing: border-box !important;
}

/* Besonders die erste Profilzeile stabilisieren. */
.ftpm-profile-grid > label:nth-child(1),
.ftpm-profile-grid > label:nth-child(2) {
    align-self: start !important;
}


/* v0.27.5 Zeitraumfilter und mobile Karten */
.ftpm-internal-content {
    min-width: 0 !important;
}

.ftpm-stock-box,
.ftpm-breeding-box,
.ftpm-price-box {
    overflow: hidden;
}

.ftpm-price-box {
    padding: 24px;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}

.ftpm-period-filter {
    margin: 18px 0;
    padding: 14px;
    border: 1px solid #dbe4f0;
    border-radius: 16px;
    background: #f8fafc;
    display: grid;
    grid-template-columns: minmax(180px, 1.5fr) repeat(2, minmax(120px, .8fr)) auto;
    gap: 12px;
    align-items: end;
}

.ftpm-period-filter label {
    display: grid;
    gap: 6px;
    font-weight: 800;
}

.ftpm-period-filter input,
.ftpm-period-filter select {
    width: 100%;
    min-height: 40px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 8px 10px;
    box-sizing: border-box;
}

.ftpm-period-filter-button {
    min-height: 40px;
}

.ftpm-section-title-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: baseline;
    margin: 0 0 14px;
}

.ftpm-section-title-row h3 {
    margin: 0;
}

.ftpm-section-title-row span {
    color: #64748b;
    font-weight: 700;
}

.ftpm-stock-form-grid,
.ftpm-breeding-form-grid {
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
    align-items: end !important;
}

.ftpm-stock-form-grid > label:first-child,
.ftpm-breeding-form-grid > label:first-child {
    grid-column: span 2;
}

.ftpm-stock-form,
.ftpm-breeding-form {
    max-width: 100%;
}

.ftpm-stock-form textarea,
.ftpm-breeding-form textarea {
    max-width: 100%;
}

@media (max-width: 980px) {
    .ftpm-internal-nav {
        position: static !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        overflow: visible !important;
    }

    .ftpm-internal-nav-heading {
        grid-column: 1 / -1;
        margin-top: 8px;
        border-top: 1px solid #e5e7eb;
        padding-top: 14px !important;
        text-align: left;
    }

    .ftpm-internal-nav a,
    .ftpm-internal-nav span {
        text-align: center;
        white-space: normal !important;
    }

    .ftpm-period-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ftpm-period-filter-button {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 720px) {
    .ftpm-internal-hero {
        padding: 22px;
    }

    .ftpm-stock-box,
    .ftpm-breeding-box,
    .ftpm-price-box {
        padding: 18px;
        border-radius: 18px;
    }

    .ftpm-stock-form-grid,
    .ftpm-breeding-form-grid,
    .ftpm-period-filter {
        grid-template-columns: 1fr !important;
    }

    .ftpm-stock-form-grid > label:first-child,
    .ftpm-breeding-form-grid > label:first-child {
        grid-column: auto;
    }

    .ftpm-section-title-row {
        display: block;
    }

    .ftpm-section-title-row span {
        display: block;
        margin-top: 6px;
    }

    .ftpm-stock-table-wrap {
        border: 0 !important;
        overflow: visible !important;
    }

    .ftpm-stock-table,
    .ftpm-stock-table thead,
    .ftpm-stock-table tbody,
    .ftpm-stock-table tr,
    .ftpm-stock-table th,
    .ftpm-stock-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .ftpm-stock-table thead {
        display: none;
    }

    .ftpm-stock-table tr {
        margin: 0 0 12px;
        padding: 14px;
        border: 1px solid #dbe4f0;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
    }

    .ftpm-stock-table td {
        display: grid;
        grid-template-columns: 118px minmax(0, 1fr);
        gap: 12px;
        padding: 8px 0 !important;
        border-bottom: 1px solid #eef2f7 !important;
        white-space: normal !important;
    }

    .ftpm-stock-table td:last-child {
        border-bottom: 0 !important;
    }

    .ftpm-stock-table td::before {
        content: attr(data-label);
        color: #64748b;
        font-weight: 800;
    }

    .ftpm-stock-table td[data-label="Art"] {
        display: block;
        font-weight: 900;
        font-size: 1.02rem;
    }

    .ftpm-stock-table td[data-label="Art"]::before {
        display: block;
        margin-bottom: 4px;
        font-size: .85rem;
    }

    .ftpm-stock-table td[data-label="Aktion"] {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .ftpm-stock-table td[data-label="Aktion"]::before {
        content: none;
    }

    .ftpm-stock-table .ftpm-community-edit,
    .ftpm-stock-table .ftpm-community-delete,
    .ftpm-stock-delete-form,
    .ftpm-breeding-delete-form {
        width: 100%;
        margin: 0 !important;
    }
}

@media (max-width: 420px) {
    .ftpm-internal-nav {
        grid-template-columns: 1fr;
    }
}


/* v0.27.5 Mobile cards and price filters */
.ftpm-price-extra-filter {
    margin: -6px 0 18px;
    padding: 14px;
    border: 1px solid #dbe4f0;
    border-radius: 16px;
    background: #fff;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ftpm-price-extra-filter label {
    display: grid;
    gap: 6px;
    font-weight: 800;
}

.ftpm-price-extra-filter select {
    width: 100%;
    min-height: 40px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 8px 10px;
    box-sizing: border-box;
}

/* Alte mobile Tabellen-Labels mit nth-child zuverlässig übersteuern */
@media (max-width: 720px) {
    .ftpm-stock-table td::before {
        content: attr(data-label) !important;
    }

    .ftpm-stock-table tr {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border-radius: 18px !important;
        background: #fff !important;
    }

    .ftpm-stock-table td {
        display: grid !important;
        grid-template-columns: 108px minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 12px !important;
        padding: 10px 14px !important;
        min-height: 0 !important;
        border-bottom: 1px solid #eef2f7 !important;
        background: transparent !important;
        word-break: break-word !important;
    }

    .ftpm-stock-table td::before {
        color: #64748b !important;
        font-weight: 900 !important;
        font-size: .86rem !important;
        line-height: 1.35 !important;
    }

    .ftpm-stock-table td[data-label="Jahr"] {
        order: 1 !important;
        background: #f8fafc !important;
        font-weight: 800 !important;
    }

    .ftpm-stock-table td[data-label="Art"] {
        order: 2 !important;
        display: grid !important;
        grid-template-columns: 108px minmax(0, 1fr) !important;
        font-size: 1rem !important;
        font-weight: 900 !important;
    }

    .ftpm-stock-table td[data-label="M/W/?"],
    .ftpm-stock-table td[data-label="Gesamt"],
    .ftpm-stock-table td[data-label="Preis"],
    .ftpm-stock-table td[data-label="Sichtbarkeit"],
    .ftpm-stock-table td[data-label="Erfolgreich"] {
        order: 3 !important;
    }

    .ftpm-stock-table td[data-label="Notiz"] {
        order: 4 !important;
    }

    .ftpm-stock-table td[data-label="Aktualisiert"] {
        order: 5 !important;
        color: #64748b !important;
        font-size: .94rem !important;
    }

    .ftpm-stock-table td[data-label="Aktion"] {
        order: 6 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 12px 14px 14px !important;
        background: #f8fafc !important;
    }

    .ftpm-stock-table td[data-label="Aktion"]::before {
        content: none !important;
    }

    .ftpm-stock-table td[data-label="Aktion"] .button,
    .ftpm-stock-table td[data-label="Aktion"] button {
        width: 100% !important;
        min-height: 42px !important;
        border-radius: 12px !important;
        text-align: center !important;
    }

    .ftpm-stock-delete-form,
    .ftpm-breeding-delete-form {
        border: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .ftpm-price-extra-filter {
        grid-template-columns: 1fr;
    }
}


/* v0.27.5 Mobile card width containment
   Karten dürfen mobil nie breiter als der Viewport/Kartencontainer werden. */
@media (max-width: 720px) {
    .ftpm-internal-area,
    .ftpm-internal-content,
    .ftpm-internal-module,
    .ftpm-stock-box,
    .ftpm-breeding-box,
    .ftpm-price-box,
    .ftpm-stock-list,
    .ftpm-breeding-list,
    .ftpm-price-list,
    .ftpm-stock-table-wrap,
    .ftpm-stock-table,
    .ftpm-stock-table tbody,
    .ftpm-stock-table tr,
    .ftpm-stock-table td {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .ftpm-stock-table {
        table-layout: fixed !important;
        border-collapse: separate !important;
        border-spacing: 0 12px !important;
    }

    .ftpm-stock-table tr {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .ftpm-stock-table td {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: minmax(86px, 34%) minmax(0, 1fr) !important;
    }

    .ftpm-stock-table td::before {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .ftpm-stock-table td > * ,
    .ftpm-stock-table td {
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .ftpm-stock-table td[data-label="Art"] {
        grid-template-columns: minmax(86px, 34%) minmax(0, 1fr) !important;
        overflow: hidden !important;
    }

    .ftpm-stock-table td[data-label="Art"]::before {
        margin: 0 !important;
    }

    .ftpm-stock-table td[data-label="Art"] {
        white-space: normal !important;
    }

    .ftpm-stock-table td[data-label="Aktion"] {
        padding: 12px !important;
        overflow: hidden !important;
    }

    .ftpm-stock-table td[data-label="Aktion"] .button,
    .ftpm-stock-table td[data-label="Aktion"] button,
    .ftpm-stock-delete-form,
    .ftpm-breeding-delete-form {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        white-space: normal !important;
    }

    .ftpm-stock-table td[data-label="Aktion"] form {
        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
    }

    .ftpm-stock-table td[data-label="Aktion"] button {
        padding-left: 10px !important;
        padding-right: 10px !important;
        text-overflow: ellipsis !important;
    }

    .ftpm-stock-table td[data-label="Notiz"]:empty,
    .ftpm-stock-table td[data-label="Aktualisiert"]:empty {
        display: none !important;
    }
}

/* Sehr schmale Geräte: Labels kompakter halten. */
@media (max-width: 390px) {
    .ftpm-stock-table td {
        grid-template-columns: minmax(78px, 32%) minmax(0, 1fr) !important;
        gap: 8px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .ftpm-stock-table td::before {
        font-size: .82rem !important;
    }
}


/* v0.27.5 Mobile card min-width and inline edit fix
   Die alte Tablet-Regel min-width:720px ist für die mobile Kartenansicht falsch.
   Zusätzlich darf die Inline-Bearbeitung nicht wie eine normale Karten-Zelle gerendert werden. */
@media (max-width: 720px) {
    .ftpm-stock-table-wrap,
    .ftpm-stock-table-wrap table,
    .ftpm-stock-table,
    .ftpm-breeding-box .ftpm-stock-table,
    .ftpm-price-box .ftpm-stock-table {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .ftpm-stock-table tbody,
    .ftpm-stock-table tr,
    .ftpm-stock-table td {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Inline-Edit komplett aus der Karten-Zellenlogik herausnehmen */
    .ftpm-stock-table tr.ftpm-inline-edit-row,
    .ftpm-stock-table tr.ftpm-inline-edit-row td,
    .ftpm-stock-table tr.ftpm-inline-edit-row td[colspan] {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    .ftpm-stock-table tr.ftpm-inline-edit-row td::before,
    .ftpm-stock-table tr.ftpm-inline-edit-row td[colspan]::before {
        content: none !important;
        display: none !important;
    }

    .ftpm-inline-edit-row .ftpm-inline-edit-box {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin: 12px 0 16px !important;
        padding: 16px !important;
        border: 1px solid #dbe4f0 !important;
        border-radius: 16px !important;
        background: #f8fafc !important;
        overflow: hidden !important;
    }

    .ftpm-inline-edit-row .ftpm-inline-edit-box form,
    .ftpm-inline-edit-row .ftpm-inline-edit-box .ftpm-stock-form-grid,
    .ftpm-inline-edit-row .ftpm-inline-edit-box .ftpm-breeding-form-grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .ftpm-inline-edit-row .ftpm-inline-edit-box .ftpm-stock-form-grid,
    .ftpm-inline-edit-row .ftpm-inline-edit-box .ftpm-breeding-form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .ftpm-inline-edit-row .ftpm-inline-edit-box label,
    .ftpm-inline-edit-row .ftpm-inline-edit-box input,
    .ftpm-inline-edit-row .ftpm-inline-edit-box select,
    .ftpm-inline-edit-row .ftpm-inline-edit-box textarea {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .ftpm-inline-edit-row .ftpm-inline-edit-box .ftpm-stock-note,
    .ftpm-inline-edit-row .ftpm-inline-edit-box .ftpm-breeding-note {
        display: grid !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .ftpm-inline-edit-row .ftpm-inline-edit-box .button,
    .ftpm-inline-edit-row .ftpm-inline-edit-box button {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 42px !important;
        box-sizing: border-box !important;
        margin-top: 8px !important;
    }
}

/* Nochmals später gegen ältere Tablet-Regeln absichern. */
@media (max-width: 900px) {
    .ftpm-internal-portal .ftpm-stock-table-wrap table.ftpm-stock-table,
    .ftpm-internal-portal table.ftpm-stock-table,
    .ftpm-stock-box table.ftpm-stock-table,
    .ftpm-breeding-box table.ftpm-stock-table,
    .ftpm-price-box table.ftpm-stock-table {
        min-width: 0 !important;
        max-width: 100% !important;
    }
}


/* v0.27.5 removed old table min-width
   Die alte mobile Tabellenregel `min-width: 720px !important` wurde aus dem CSS entfernt,
   damit Kartenansicht und Inline-Bearbeitung nicht mehr künstlich breiter werden. */
@media (max-width: 900px) {
    .ftpm-stock-table,
    .ftpm-breeding-box .ftpm-stock-table,
    .ftpm-price-box .ftpm-stock-table {
        min-width: 0 !important;
    }
}


/* v0.27.5 removed old table border
   Die alte Tabellen-Fallback-Regel `border: 1px solid rgba(15, 23, 42, .12) !important`
   wurde aus dem CSS entfernt, damit mobile Karten keine unnötigen Außenrahmen erben. */
@media (max-width: 900px) {
    .ftpm-stock-table-wrap:not(.ftpm-has-js-cards) table.ftpm-community-table,
    .ftpm-stock-box table.ftpm-stock-table,
    .ftpm-breeding-box table.ftpm-stock-table,
    .ftpm-price-box table.ftpm-stock-table {
        border: 0 !important;
    }
}


/* v0.27.5 Price recommendations mobile cards
   Preisempfehlungen bekommen mobil eine eigene Kartenlogik, damit sie nicht leer wirken. */
@media (max-width: 720px) {
    .ftpm-price-box {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .ftpm-price-box .ftpm-stock-table-wrap {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }

    .ftpm-price-box table.ftpm-price-table,
    .ftpm-price-box table.ftpm-stock-table {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        border: 0 !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        overflow: visible !important;
        background: transparent !important;
    }

    .ftpm-price-box .ftpm-price-table thead,
    .ftpm-price-box .ftpm-price-table colgroup {
        display: none !important;
    }

    .ftpm-price-box .ftpm-price-table tbody {
        display: grid !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 12px !important;
    }

    .ftpm-price-box .ftpm-price-table tr {
        display: grid !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        border: 1px solid #dbe4f0 !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .05) !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ftpm-price-box .ftpm-price-table td {
        display: grid !important;
        grid-template-columns: minmax(88px, 34%) minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding: 10px 14px !important;
        border: 0 !important;
        border-bottom: 1px solid #eef2f7 !important;
        background: transparent !important;
        color: #0f172a !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .ftpm-price-box .ftpm-price-table td:last-child {
        border-bottom: 0 !important;
    }

    .ftpm-price-box .ftpm-price-table td::before {
        content: attr(data-label) !important;
        display: block !important;
        color: #64748b !important;
        font-weight: 900 !important;
        font-size: .86rem !important;
        line-height: 1.35 !important;
    }

    .ftpm-price-box .ftpm-price-table td[data-label="Jahr"] {
        background: #f8fafc !important;
        font-weight: 800 !important;
    }

    .ftpm-price-box .ftpm-price-table td[data-label="Art"] {
        font-weight: 900 !important;
    }

    .ftpm-price-box .ftpm-price-table td[data-label="Preis"] {
        font-weight: 900 !important;
        color: #166534 !important;
    }

    .ftpm-price-box .ftpm-price-table td[data-label="Notiz"]:empty {
        display: none !important;
    }

    .ftpm-price-box .ftpm-section-title-row {
        margin-bottom: 12px !important;
    }

    .ftpm-price-extra-filter,
    .ftpm-price-period-filter {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

/* Sehr schmale Geräte: Preis-Karten kompakter halten. */
@media (max-width: 390px) {
    .ftpm-price-box .ftpm-price-table td {
        grid-template-columns: minmax(76px, 32%) minmax(0, 1fr) !important;
        gap: 8px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}


/* v0.27.5 Dedicated price mobile cards
   Desktop: echte Tabelle. Mobil: eigenständige Kartenliste wie bei Bestand/Nachzucht. */
.ftpm-price-mobile-cards {
    display: none;
}

@media (min-width: 821px) {
    .ftpm-price-table-wrap {
        display: block !important;
    }

    .ftpm-price-mobile-cards {
        display: none !important;
    }
}

@media (max-width: 820px) {
    .ftpm-price-table-wrap {
        display: none !important;
    }

    .ftpm-price-mobile-cards {
        display: grid !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin-top: 12px !important;
    }

    .ftpm-price-mobile-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        border: 1px solid #dbe4f0 !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .05) !important;
        padding: 14px !important;
        overflow: hidden !important;
    }

    .ftpm-price-mobile-card-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 12px !important;
        align-items: start !important;
    }

    .ftpm-price-mobile-card-head h4 {
        margin: 4px 0 0 !important;
        font-size: 1rem !important;
        line-height: 1.35 !important;
        color: #0f172a !important;
        overflow-wrap: anywhere !important;
    }

    .ftpm-price-mobile-card-head strong {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        border-radius: 999px !important;
        padding: 6px 10px !important;
        background: #ecfdf3 !important;
        color: #166534 !important;
        font-weight: 900 !important;
        font-size: .92rem !important;
    }

    .ftpm-price-mobile-year {
        display: inline-flex !important;
        border-radius: 999px !important;
        padding: 4px 8px !important;
        background: #eff6ff !important;
        color: #1d4ed8 !important;
        font-weight: 900 !important;
        font-size: .82rem !important;
    }

    .ftpm-price-mobile-note {
        margin: 12px 0 0 !important;
        padding-top: 12px !important;
        border-top: 1px solid #eef2f7 !important;
        color: #334155 !important;
        line-height: 1.5 !important;
        overflow-wrap: anywhere !important;
    }

    .ftpm-price-mobile-meta {
        margin: 12px 0 0 !important;
        padding-top: 12px !important;
        border-top: 1px solid #eef2f7 !important;
        display: grid !important;
        gap: 8px !important;
    }

    .ftpm-price-mobile-meta div {
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: start !important;
    }

    .ftpm-price-mobile-meta dt {
        color: #64748b !important;
        font-weight: 900 !important;
    }

    .ftpm-price-mobile-meta dd {
        margin: 0 !important;
        color: #334155 !important;
        overflow-wrap: anywhere !important;
    }
}

@media (max-width: 390px) {
    .ftpm-price-mobile-card-head {
        grid-template-columns: 1fr !important;
    }

    .ftpm-price-mobile-card-head strong {
        justify-self: start !important;
    }
}


/* v0.27.5 price chips desktop */
.ftpm-price-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    border-radius: 999px;
    padding: 5px 10px;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
}

.ftpm-price-chip-year {
    background: #eff6ff;
    color: #1d4ed8;
}

.ftpm-price-chip-value {
    background: #ecfdf3;
    color: #166534;
}

.ftpm-price-table td[data-label="Jahr"],
.ftpm-price-table td[data-label="Preis"] {
    vertical-align: middle;
}

@media (max-width: 720px) {
    .ftpm-price-chip {
        padding: 4px 8px;
        font-size: .9rem;
    }
}


/* v0.27.5 mobile mailbox header and dropdown bulk actions */
.ftpm-mailbox-mobile-actions {
    display: none;
}

@media (max-width: 720px) {
    .ftpm-mailbox-flat-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 12px !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .ftpm-mailbox-flat-head > h3 {
        grid-column: 1 !important;
        grid-row: 1 !important;
        margin: 0 !important;
        min-width: 0 !important;
    }

    .ftpm-mailbox-flat-count {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        align-self: center !important;
        margin: 0 !important;
        white-space: nowrap !important;
        font-size: .88rem !important;
        color: #64748b !important;
        font-weight: 800 !important;
    }

    .ftpm-mailbox-flat-toolbar {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: center !important;
        padding: 12px !important;
    }

    .ftpm-mailbox-flat-toolbar .ftpm-desktop-bulk-button {
        display: none !important;
    }

    .ftpm-mailbox-mobile-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 8px !important;
        align-items: center !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .ftpm-mailbox-mobile-actions select {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 40px !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 999px !important;
        padding: 0 12px !important;
        background: #fff !important;
        color: #0f172a !important;
        font-weight: 800 !important;
        box-sizing: border-box !important;
    }

    .ftpm-mobile-action-submit {
        min-height: 40px !important;
        white-space: nowrap !important;
        padding: 0 14px !important;
    }

    .ftpm-mailbox-select-all {
        white-space: nowrap !important;
        margin: 0 !important;
        align-self: center !important;
    }

    .ftpm-mailbox-flat-list {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .ftpm-mailbox-flat-row {
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 14px 12px !important;
    }

    .ftpm-mailbox-flat-date {
        grid-column: 2 !important;
        justify-self: start !important;
        margin-top: 4px !important;
        white-space: normal !important;
        font-size: .88rem !important;
    }
}

@media (max-width: 390px) {
    .ftpm-mailbox-flat-toolbar {
        grid-template-columns: 1fr !important;
    }

    .ftpm-mailbox-mobile-actions {
        grid-template-columns: 1fr !important;
    }

    .ftpm-mobile-action-submit {
        width: 100% !important;
    }
}


/* v0.27.5 mobile mailbox toolbar cleanup
   Mobil werden die normalen Toolbar-Buttons komplett ausgeblendet.
   Sichtbar bleiben nur: Alle-Checkbox, Aktions-Dropdown und kompakter Haken-Button. */
@media (max-width: 720px) {
    .ftpm-mailbox-flat-toolbar > button.ftpm-link-button:not(.ftpm-mobile-action-submit),
    .ftpm-mailbox-flat-toolbar > .ftpm-link-button:not(.ftpm-mobile-action-submit):not(.ftpm-mailbox-mobile-actions),
    .ftpm-mailbox-flat-toolbar .ftpm-desktop-bulk-button {
        display: none !important;
    }

    .ftpm-mailbox-flat-toolbar {
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .ftpm-mailbox-mobile-actions {
        grid-template-columns: minmax(0, 1fr) 44px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .ftpm-mailbox-mobile-actions select {
        width: 100% !important;
        min-width: 0 !important;
    }

    .ftpm-mobile-action-submit {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        font-size: 1.1rem !important;
        line-height: 1 !important;
        text-align: center !important;
    }
}

@media (max-width: 390px) {
    .ftpm-mailbox-flat-toolbar {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    .ftpm-mailbox-mobile-actions {
        grid-template-columns: minmax(0, 1fr) 42px !important;
    }

    .ftpm-mobile-action-submit {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
    }
}


/* v0.27.5 mailbox mobile read/unread actions */
@media (max-width: 720px) {
    .ftpm-mailbox-mobile-actions {
        grid-template-columns: minmax(0, 1fr) 42px !important;
    }

    .ftpm-mailbox-mobile-actions select {
        font-size: .92rem !important;
        padding-left: 12px !important;
        padding-right: 26px !important;
    }

    .ftpm-mobile-action-submit {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
    }
}


/* v0.27.5 link decoration and write badge fix */

/* Mitteilungsnavigation: Link-Unterstreichung entfernen */
.ftpm-message-subnav a,
.ftpm-message-subnav a:link,
.ftpm-message-subnav a:visited,
.ftpm-message-subnav a:hover,
.ftpm-message-subnav a:focus,
.ftpm-message-subnav a:active,
.ftpm-internal-nav a,
.ftpm-internal-nav a:link,
.ftpm-internal-nav a:visited,
.ftpm-internal-nav a:hover,
.ftpm-internal-nav a:focus,
.ftpm-internal-nav a:active {
    text-decoration: none !important;
}

/* Aktive Chips/Bereiche ebenfalls ohne Unterstreichung */
.ftpm-message-subnav .is-active,
.ftpm-message-subnav a.is-active,
.ftpm-internal-nav .is-active,
.ftpm-internal-nav a.is-active {
    text-decoration: none !important;
}

/* Schreiben-Badge oben rechts: Icon und Text immer einzeilig halten */
.ftpm-member-message-compose .ftpm-card-badge,
.ftpm-member-message-compose .ftpm-status-badge,
.ftpm-member-message-compose .ftpm-compose-badge,
.ftpm-member-message-compose [class*="badge"],
.ftpm-member-message-compose [class*="Badge"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    min-width: max-content !important;
    width: auto !important;
    max-width: none !important;
    padding: 9px 14px !important;
    text-align: center !important;
}

/* Falls Icon/Text im Badge als eigene Elemente gerendert werden */
.ftpm-member-message-compose .ftpm-card-badge *,
.ftpm-member-message-compose .ftpm-status-badge *,
.ftpm-member-message-compose .ftpm-compose-badge *,
.ftpm-member-message-compose [class*="badge"] *,
.ftpm-member-message-compose [class*="Badge"] * {
    display: inline !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

/* Auf sehr schmalen Geräten darf der Badge nicht in den Inhalt laufen */
@media (max-width: 520px) {
    .ftpm-member-message-compose .ftpm-card-badge,
    .ftpm-member-message-compose .ftpm-status-badge,
    .ftpm-member-message-compose .ftpm-compose-badge,
    .ftpm-member-message-compose [class*="badge"],
    .ftpm-member-message-compose [class*="Badge"] {
        position: static !important;
        justify-self: start !important;
        margin: 0 0 12px !important;
        max-width: 100% !important;
    }
}


/* v0.27.5 breeding box margin cleanup
   Die alte margin-top-Regel bei .ftpm-breeding-box wurde entfernt.
   Falls Browser/Cache noch eine Altregel hält, neutralisieren wir sie zusätzlich. */
.ftpm-breeding-box {
    margin-top: 0 !important;
}


/* v0.27.5 internal module margin cleanup
   Die alte margin-top-Regel bei .ftpm-internal-module wurde entfernt.
   Falls Browser/Cache noch eine Altregel hält, neutralisieren wir sie zusätzlich. */
.ftpm-internal-module {
    margin-top: 0 !important;
}

/* Tabellen dürfen nach Redirect/Speichern nicht in eine abweichende Card-/Bildvariante kippen. */
@media (min-width: 721px) {
    .ftpm-stock-box .ftpm-stock-table,
    .ftpm-breeding-box .ftpm-stock-table {
        table-layout: auto !important;
        width: 100% !important;
    }

    .ftpm-stock-box .ftpm-stock-table th,
    .ftpm-stock-box .ftpm-stock-table td,
    .ftpm-breeding-box .ftpm-stock-table th,
    .ftpm-breeding-box .ftpm-stock-table td {
        vertical-align: top !important;
    }
}

/* Wenn alte JS-Kartenbilder als img in Art-Zellen landen, Bild ausblenden und Text voll nutzen. */
.ftpm-stock-box .ftpm-stock-table td[data-label="Art"] img,


.ftpm-stock-box .ftpm-stock-table td[data-label="Art"],
.ftpm-breeding-box .ftpm-stock-table td[data-label="Art"] {
    min-width: 0 !important;
}


/* v0.27.5 stock action column and spacing
   Desktop: Aktionsbuttons untereinander und gleicher Breite.
   Außerdem klarerer Abstand zwischen Eingabeformular und Meldungsliste. */


/* Abstand nach dem Meldeformular zur darunterliegenden Liste */
.ftpm-stock-form,
.ftpm-breeding-form {
    margin-bottom: 34px !important;
}

.ftpm-stock-box .ftpm-section-title-row,
.ftpm-breeding-box .ftpm-section-title-row {
    margin-top: 12px !important;
}

/* Falls ein Button direkt vor der Liste liegt, ebenfalls Abstand erzeugen */
.ftpm-stock-form + .ftpm-section-title-row,
.ftpm-breeding-form + .ftpm-section-title-row,
.ftpm-stock-form + * .ftpm-section-title-row,
.ftpm-breeding-form + * .ftpm-section-title-row {
    margin-top: 28px !important;
}

/* Desktop: M/W/? nicht unnötig umbrechen */
@media (min-width: 721px) {
    .ftpm-stock-box .ftpm-stock-table td[data-label="M/W/?"],
    .ftpm-breeding-box .ftpm-stock-table td[data-label="M/W/?"] {
        white-space: nowrap !important;
        min-width: 74px !important;
    }
}


/* v0.27.5 year grouped tables and species art cell */
.ftpm-year-grouped-table .ftpm-year-group-row th {
    padding: 12px 16px !important;
    background: #eef4ff !important;
    color: #1d4ed8 !important;
    font-weight: 900 !important;
    text-align: left !important;
    border-top: 1px solid #dbe4f0 !important;
    border-bottom: 1px solid #dbe4f0 !important;
}

.ftpm-species-cell {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
}

.ftpm-species-thumb-wrap {
    width: 54px;
    height: 54px;
    border-radius: 12px;
    overflow: hidden;
    background: #f1f5f9;
    border: 1px solid #dbe4f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-weight: 900;
}

.ftpm-species-thumb-wrap img,
.ftpm-species-thumb {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.ftpm-species-name {
    min-width: 0;
    overflow-wrap: anywhere;
    font-weight: 800;
    line-height: 1.35;
}

@media (min-width: 721px) {
    .ftpm-stock-box .ftpm-year-grouped-table th:first-child,
    .ftpm-breeding-box .ftpm-year-grouped-table th:first-child {
        min-width: 230px;
    }

    .ftpm-stock-box .ftpm-year-grouped-table td[data-label="M/W/?"],
    .ftpm-breeding-box .ftpm-year-grouped-table td[data-label="M/W/?"] {
        white-space: nowrap !important;
        min-width: 82px !important;
    }

    .ftpm-stock-box .ftpm-year-grouped-table td[data-label="Aktion"],
    .ftpm-breeding-box .ftpm-year-grouped-table td[data-label="Aktion"] {
        min-width: 112px !important;
        width: 112px !important;
    }
}

@media (max-width: 720px) {
    .ftpm-stock-table .ftpm-year-group-row {
        display: block !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 18px 0 8px !important;
    }

    .ftpm-stock-table .ftpm-year-group-row th {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        border-radius: 999px !important;
        padding: 8px 12px !important;
        background: #eef4ff !important;
        color: #1d4ed8 !important;
        border: 1px solid #dbe4f0 !important;
    }

    .ftpm-stock-table .ftpm-year-group-row th::before {
        content: none !important;
    }

    .ftpm-species-cell {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .ftpm-species-thumb-wrap {
        width: 48px;
        height: 48px;
    }

    .ftpm-stock-table td[data-label="Art"] {
        grid-template-columns: 1fr !important;
    }

    .ftpm-stock-table td[data-label="Art"]::before {
        margin-bottom: 6px !important;
    }
}


/* v0.27.5 single renderer table fixes */
.ftpm-year-grouped-table .ftpm-year-group-row th {
    text-align: left !important;
}

@media (min-width: 721px) {
    .ftpm-year-grouped-table td[data-label="Art"] {
        min-width: 220px !important;
    }

    .ftpm-year-grouped-table .ftpm-species-cell {
        display: grid !important;
        grid-template-columns: 54px minmax(0, 1fr) !important;
        align-items: center !important;
    }
}


/* v0.27.5 restore species art cell visibility
   Alte Bildspalten-Ausblendungen dürfen die neue Art-Zelle mit Bild nicht mehr verstecken. */
.ftpm-stock-box .ftpm-year-grouped-table td[data-label="Art"],
.ftpm-breeding-box .ftpm-year-grouped-table td[data-label="Art"] {
    display: table-cell !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.ftpm-stock-box .ftpm-year-grouped-table td[data-label="Art"] .ftpm-species-cell,
.ftpm-breeding-box .ftpm-year-grouped-table td[data-label="Art"] .ftpm-species-cell {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
}

.ftpm-stock-box .ftpm-year-grouped-table td[data-label="Art"] img,
.ftpm-breeding-box .ftpm-year-grouped-table td[data-label="Art"] img,
.ftpm-stock-box .ftpm-year-grouped-table .ftpm-species-thumb,
.ftpm-breeding-box .ftpm-year-grouped-table .ftpm-species-thumb {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.ftpm-stock-box .ftpm-year-grouped-table td[data-label="Aktion"],
.ftpm-breeding-box .ftpm-year-grouped-table td[data-label="Aktion"] {
    vertical-align: top !important;
}



@media (max-width: 720px) {
    .ftpm-stock-box .ftpm-year-grouped-table td[data-label="Art"],
    .ftpm-breeding-box .ftpm-year-grouped-table td[data-label="Art"] {
        display: grid !important;
    }

    .ftpm-stock-box .ftpm-year-grouped-table td[data-label="Art"] .ftpm-species-cell,
    .ftpm-breeding-box .ftpm-year-grouped-table td[data-label="Art"] .ftpm-species-cell {
        grid-template-columns: 48px minmax(0, 1fr) !important;
    }
}


/* v0.27.5 action cell table-safe stack
   Die Aktionsspalte bleibt echte Tabellenzelle. Nur Inhalte werden gestapelt. */
@media (min-width: 721px) {
    .ftpm-stock-box .ftpm-year-grouped-table td[data-label="Aktion"],
    .ftpm-breeding-box .ftpm-year-grouped-table td[data-label="Aktion"],
    .ftpm-stock-box .ftpm-stock-table td[data-label="Aktion"],
    .ftpm-breeding-box .ftpm-stock-table td[data-label="Aktion"] {
        display: table-cell !important;
        vertical-align: top !important;
        width: 126px !important;
        min-width: 126px !important;
        max-width: 126px !important;
        padding: 12px !important;
        box-sizing: border-box !important;
    }

    .ftpm-stock-box td[data-label="Aktion"] > button,
    .ftpm-breeding-box td[data-label="Aktion"] > button,
    .ftpm-stock-box td[data-label="Aktion"] > .button,
    .ftpm-breeding-box td[data-label="Aktion"] > .button {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        justify-content: center !important;
        text-align: center !important;
        margin: 0 0 10px 0 !important;
    }

    .ftpm-stock-box td[data-label="Aktion"] > form,
    .ftpm-breeding-box td[data-label="Aktion"] > form {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .ftpm-stock-box td[data-label="Aktion"] > form button,
    .ftpm-breeding-box td[data-label="Aktion"] > form button {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        justify-content: center !important;
        text-align: center !important;
        margin: 0 !important;
    }

    .ftpm-stock-box .ftpm-year-grouped-table th:last-child,
    .ftpm-breeding-box .ftpm-year-grouped-table th:last-child,
    .ftpm-stock-box .ftpm-stock-table th:last-child,
    .ftpm-breeding-box .ftpm-stock-table th:last-child {
        width: 126px !important;
        min-width: 126px !important;
        max-width: 126px !important;
    }
}

/* Die neue Art-Zelle mit Bild darf nicht mehr durch alte Bildspalten-Regeln versteckt werden. */
.ftpm-stock-box .ftpm-year-grouped-table td[data-label="Art"],
.ftpm-breeding-box .ftpm-year-grouped-table td[data-label="Art"] {
    display: table-cell !important;
    visibility: visible !important;
}

.ftpm-stock-box .ftpm-year-grouped-table td[data-label="Art"] img,
.ftpm-breeding-box .ftpm-year-grouped-table td[data-label="Art"] img {
    display: block !important;
}


/* v0.27.5 species links and compact breeding table */
.ftpm-species-name-link {
    color: inherit !important;
    text-decoration: none !important;
    display: block !important;
    min-width: 0 !important;
}

.ftpm-species-name-link:hover,
.ftpm-species-name-link:focus {
    color: #1d4ed8 !important;
    text-decoration: none !important;
}

.ftpm-table-mini-stack {
    display: grid !important;
    gap: 6px !important;
    min-width: 0 !important;
}

.ftpm-table-mini-stack span {
    display: block !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
}

.ftpm-table-mini-stack strong {
    display: block !important;
    color: #64748b !important;
    font-weight: 900 !important;
    font-size: .82rem !important;
    margin-bottom: 2px !important;
}

@media (min-width: 721px) {
    .ftpm-breeding-compact-table th:nth-child(1),
    .ftpm-breeding-compact-table td[data-label="Art"] {
        width: 250px !important;
        min-width: 250px !important;
    }

    .ftpm-breeding-compact-table th:nth-child(2),
    .ftpm-breeding-compact-table td[data-label="Nachzucht"] {
        width: 120px !important;
        min-width: 120px !important;
    }

    .ftpm-breeding-compact-table th:nth-child(3),
    .ftpm-breeding-compact-table td[data-label="Status"] {
        width: 145px !important;
        min-width: 145px !important;
    }

    .ftpm-breeding-compact-table td[data-label="Nachzucht"] .ftpm-table-mini-stack strong,
    .ftpm-breeding-compact-table td[data-label="Status"] .ftpm-table-mini-stack strong {
        display: inline !important;
        margin-right: 4px !important;
        margin-bottom: 0 !important;
    }

    .ftpm-breeding-compact-table td[data-label="Nachzucht"] .ftpm-table-mini-stack span,
    .ftpm-breeding-compact-table td[data-label="Status"] .ftpm-table-mini-stack span {
        white-space: nowrap !important;
    }

    .ftpm-breeding-compact-table td[data-label="Notiz"] {
        min-width: 160px !important;
    }

    .ftpm-breeding-compact-table td[data-label="Aktualisiert"] {
        width: 112px !important;
        min-width: 112px !important;
    }
}

@media (max-width: 720px) {
    .ftpm-breeding-compact-table td[data-label="Nachzucht"],
    .ftpm-breeding-compact-table td[data-label="Status"] {
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        align-items: start !important;
    }

    .ftpm-breeding-compact-table td[data-label="Nachzucht"]::before,
    .ftpm-breeding-compact-table td[data-label="Status"]::before {
        grid-column: 1 !important;
    }

    .ftpm-breeding-compact-table td[data-label="Nachzucht"] .ftpm-table-mini-stack,
    .ftpm-breeding-compact-table td[data-label="Status"] .ftpm-table-mini-stack {
        grid-column: 2 !important;
    }
}


/* v0.27.5 more compact breeding table */
.ftpm-table-mini-stack-vertical {
    gap: 10px !important;
}

.ftpm-table-mini-stack-vertical span {
    display: grid !important;
    gap: 2px !important;
}

.ftpm-table-mini-stack-vertical strong {
    display: block !important;
    margin: 0 !important;
    color: #64748b !important;
    font-size: .78rem !important;
    line-height: 1.2 !important;
}

.ftpm-table-mini-stack-vertical em {
    display: block !important;
    font-style: normal !important;
    color: #0f172a !important;
    line-height: 1.35 !important;
}

.ftpm-table-date {
    white-space: nowrap !important;
    line-height: 1.45 !important;
}

.ftpm-table-date span {
    color: #334155 !important;
}

@media (min-width: 721px) {
    .ftpm-breeding-compact-table {
        table-layout: fixed !important;
        width: 100% !important;
    }

    .ftpm-breeding-compact-table th:nth-child(1),
    .ftpm-breeding-compact-table td[data-label="Art"] {
        width: 250px !important;
        min-width: 0 !important;
    }

    .ftpm-breeding-compact-table th:nth-child(2),
    .ftpm-breeding-compact-table td[data-label="Nachzucht"] {
        width: 112px !important;
        min-width: 0 !important;
    }

    .ftpm-breeding-compact-table th:nth-child(3),
    .ftpm-breeding-compact-table td[data-label="Status"] {
        width: 132px !important;
        min-width: 0 !important;
    }

    .ftpm-breeding-compact-table th:nth-child(4),
    .ftpm-breeding-compact-table td[data-label="Notiz"] {
        width: auto !important;
        min-width: 0 !important;
    }

    .ftpm-breeding-compact-table th:nth-child(5),
    .ftpm-breeding-compact-table td[data-label="Aktualisiert"] {
        width: 98px !important;
        min-width: 0 !important;
    }

    .ftpm-breeding-compact-table th:nth-child(6),
    .ftpm-breeding-compact-table td[data-label="Aktion"] {
        width: 118px !important;
        min-width: 0 !important;
        max-width: 118px !important;
    }

    .ftpm-breeding-compact-table td,
    .ftpm-breeding-compact-table th {
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .ftpm-breeding-compact-table .ftpm-table-mini-stack strong {
        display: block !important;
        margin-right: 0 !important;
    }

    .ftpm-breeding-compact-table .ftpm-table-mini-stack span {
        white-space: normal !important;
    }

    .ftpm-breeding-compact-table .ftpm-species-cell {
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .ftpm-breeding-compact-table .ftpm-species-thumb-wrap {
        width: 48px !important;
        height: 48px !important;
    }

    .ftpm-breeding-compact-table td[data-label="Aktion"],
    .ftpm-breeding-compact-table th:last-child {
        width: 118px !important;
        min-width: 118px !important;
        max-width: 118px !important;
    }
}


/* v0.27.5 mobile card order and updated date cleanup */

/* Datum/Uhrzeit als kompakter Block */
.ftpm-date-stack {
    display: grid !important;
    gap: 2px !important;
    line-height: 1.35 !important;
}

.ftpm-date-stack-date {
    font-weight: 700 !important;
    color: #0f172a !important;
}

.ftpm-date-stack-time {
    color: #64748b !important;
    font-size: .92rem !important;
}

/* Mobile Karten-Reihenfolge: Art nach oben, Aktualisiert sauberer */
@media (max-width: 720px) {
    .ftpm-stock-table tr.ftpm-stock-data-row,
    .ftpm-stock-table tr.ftpm-breeding-data-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .ftpm-stock-table tr.ftpm-stock-data-row > td,
    .ftpm-stock-table tr.ftpm-breeding-data-row > td {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .ftpm-stock-table tr.ftpm-stock-data-row > td[data-label="Art"],
    .ftpm-stock-table tr.ftpm-breeding-data-row > td[data-label="Art"] {
        order: 1 !important;
    }

    .ftpm-stock-table tr.ftpm-stock-data-row > td[data-label="M/W/?"] {
        order: 2 !important;
    }

    .ftpm-stock-table tr.ftpm-stock-data-row > td[data-label="Sichtbarkeit"] {
        order: 3 !important;
    }

    .ftpm-stock-table tr.ftpm-breeding-data-row > td[data-label="Nachzucht"] {
        order: 2 !important;
    }

    .ftpm-stock-table tr.ftpm-breeding-data-row > td[data-label="Status"] {
        order: 3 !important;
    }

    .ftpm-stock-table tr.ftpm-stock-data-row > td[data-label="Notiz"],
    .ftpm-stock-table tr.ftpm-breeding-data-row > td[data-label="Notiz"] {
        order: 4 !important;
    }

    .ftpm-stock-table tr.ftpm-stock-data-row > td[data-label="Aktualisiert"],
    .ftpm-stock-table tr.ftpm-breeding-data-row > td[data-label="Aktualisiert"] {
        order: 5 !important;
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 8px !important;
    }

    .ftpm-stock-table tr.ftpm-stock-data-row > td[data-label="Aktion"],
    .ftpm-stock-table tr.ftpm-breeding-data-row > td[data-label="Aktion"] {
        order: 6 !important;
    }

    .ftpm-stock-table td[data-label="Aktualisiert"]::before {
        grid-column: 1 !important;
    }

    .ftpm-stock-table td[data-label="Aktualisiert"] .ftpm-date-stack {
        grid-column: 2 !important;
        justify-items: start !important;
    }

    .ftpm-stock-table td[data-label="Art"] {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    .ftpm-stock-table td[data-label="Art"] .ftpm-species-cell {
        align-items: center !important;
    }

    .ftpm-stock-table td[data-label="Art"] .ftpm-species-name {
        font-size: 1rem !important;
        line-height: 1.35 !important;
    }

    .ftpm-stock-table td[data-label="Aktion"] {
        padding-top: 14px !important;
        border-top: 1px solid #e2e8f0 !important;
    }
}


/* v0.27.5 species scientific name split and linked image */
.ftpm-species-thumb-link {
    display: block !important;
    width: 54px !important;
    height: 54px !important;
    text-decoration: none !important;
    color: inherit !important;
}

.ftpm-species-thumb-link:hover,
.ftpm-species-thumb-link:focus {
    text-decoration: none !important;
}

.ftpm-species-name {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
}

.ftpm-species-name-main {
    font-weight: 900 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
}

.ftpm-species-name-scientific {
    color: #64748b !important;
    font-size: .9rem !important;
    font-style: italic !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

.ftpm-species-name-link {
    display: block !important;
    color: inherit !important;
    text-decoration: none !important;
    min-width: 0 !important;
}

.ftpm-species-name-link:hover .ftpm-species-name-main,
.ftpm-species-name-link:focus .ftpm-species-name-main,
.ftpm-species-thumb-link:hover + .ftpm-species-name-link .ftpm-species-name-main,
.ftpm-species-thumb-link:focus + .ftpm-species-name-link .ftpm-species-name-main {
    color: #1d4ed8 !important;
}

.ftpm-species-name-link:hover,
.ftpm-species-name-link:focus {
    text-decoration: none !important;
}

@media (max-width: 720px) {
    .ftpm-species-thumb-link {
        width: 48px !important;
        height: 48px !important;
    }

    .ftpm-species-name-main {
        font-size: 1rem !important;
    }

    .ftpm-species-name-scientific {
        font-size: .88rem !important;
    }
}


/* v0.27.5 compact stock table aligned with breeding */
@media (min-width: 721px) {
    .ftpm-stock-compact-table {
        table-layout: fixed !important;
        width: 100% !important;
    }

    .ftpm-stock-compact-table th:nth-child(1),
    .ftpm-stock-compact-table td[data-label="Art"] {
        width: 250px !important;
        min-width: 0 !important;
    }

    .ftpm-stock-compact-table th:nth-child(2),
    .ftpm-stock-compact-table td[data-label="Bestand"] {
        width: 112px !important;
        min-width: 0 !important;
    }

    .ftpm-stock-compact-table th:nth-child(3),
    .ftpm-stock-compact-table td[data-label="Status"] {
        width: 132px !important;
        min-width: 0 !important;
    }

    .ftpm-stock-compact-table th:nth-child(4),
    .ftpm-stock-compact-table td[data-label="Notiz"] {
        width: auto !important;
        min-width: 0 !important;
    }

    .ftpm-stock-compact-table th:nth-child(5),
    .ftpm-stock-compact-table td[data-label="Aktualisiert"] {
        width: 98px !important;
        min-width: 0 !important;
    }

    .ftpm-stock-compact-table th:nth-child(6),
    .ftpm-stock-compact-table td[data-label="Aktion"] {
        width: 118px !important;
        min-width: 0 !important;
        max-width: 118px !important;
    }

    .ftpm-stock-compact-table td,
    .ftpm-stock-compact-table th {
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .ftpm-stock-compact-table .ftpm-species-cell {
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .ftpm-stock-compact-table .ftpm-species-thumb-wrap,
    .ftpm-stock-compact-table .ftpm-species-thumb-link {
        width: 48px !important;
        height: 48px !important;
    }

    .ftpm-stock-compact-table td[data-label="Aktion"],
    .ftpm-stock-compact-table th:last-child {
        width: 118px !important;
        min-width: 118px !important;
        max-width: 118px !important;
    }
}

/* Mobile Reihenfolge für Bestand nach neuer kompakter Struktur */
@media (max-width: 720px) {
    .ftpm-stock-table tr.ftpm-stock-data-row > td[data-label="Bestand"] {
        order: 2 !important;
    }

    .ftpm-stock-table tr.ftpm-stock-data-row > td[data-label="Status"] {
        order: 3 !important;
    }

    .ftpm-stock-compact-table td[data-label="Bestand"],
    .ftpm-stock-compact-table td[data-label="Status"] {
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        align-items: start !important;
    }

    .ftpm-stock-compact-table td[data-label="Bestand"]::before,
    .ftpm-stock-compact-table td[data-label="Status"]::before {
        grid-column: 1 !important;
    }

    .ftpm-stock-compact-table td[data-label="Bestand"] .ftpm-table-mini-stack,
    .ftpm-stock-compact-table td[data-label="Status"] .ftpm-table-mini-stack {
        grid-column: 2 !important;
    }
}


/* v0.27.5 stock total in compact column */
.ftpm-stock-compact-table td[data-label="Bestand"] .ftpm-table-mini-stack {
    gap: 10px !important;
}


/* v0.27.5 accordion forms and unified price recommendations */

/* Formular als Accordion */
.ftpm-entry-accordion {
    border: 1px solid #dbe4f0 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05) !important;
    margin: 0 0 24px !important;
    overflow: hidden !important;
}

.ftpm-entry-accordion > summary {
    cursor: pointer !important;
    list-style: none !important;
    padding: 16px 18px !important;
    font-weight: 900 !important;
    color: #0f172a !important;
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.ftpm-entry-accordion > summary::-webkit-details-marker {
    display: none !important;
}

.ftpm-entry-accordion > summary::after {
    content: attr(data-open-label) !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    color: #2563eb !important;
    background: #eef4ff !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    padding: 5px 10px !important;
}

.ftpm-entry-accordion[open] > summary::after {
    content: attr(data-close-label) !important;
}

.ftpm-entry-accordion > form {
    margin: 0 !important;
    padding: 18px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Hinweis dezenter */
.ftpm-subtle-notice,
.ftpm-stock-help.ftpm-subtle-notice {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #475569 !important;
    border-radius: 14px !important;
    padding: 11px 14px !important;
    box-shadow: none !important;
    margin: 0 0 16px !important;
}

/* Formular-Grid besser strukturieren */
.ftpm-stock-form-grid,
.ftpm-breeding-form-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: end !important;
}

.ftpm-stock-form-grid label,
.ftpm-breeding-form-grid label {
    min-width: 0 !important;
}

.ftpm-stock-form-grid label:has(select[name="species_post_id"]),
.ftpm-breeding-form-grid label:has(select[name="species_post_id"]) {
    grid-column: span 5 !important;
}

.ftpm-stock-form-grid label:has(input[name="stock_year"]),
.ftpm-breeding-form-grid label:has(input[name="breeding_year"]) {
    grid-column: span 2 !important;
}

.ftpm-stock-form-grid label:has(input[name="male_count"]),
.ftpm-stock-form-grid label:has(input[name="female_count"]),
.ftpm-stock-form-grid label:has(input[name="unknown_count"]),
.ftpm-breeding-form-grid label:has(input[name="male_count"]),
.ftpm-breeding-form-grid label:has(input[name="female_count"]),
.ftpm-breeding-form-grid label:has(input[name="unknown_count"]) {
    grid-column: span 1.666 !important;
}

.ftpm-stock-form-grid label:has(select[name="visibility"]) {
    grid-column: span 2 !important;
}

.ftpm-breeding-form-grid label:has(select[name="successful"]),
.ftpm-breeding-form-grid label:has(select[name="visibility"]) {
    grid-column: span 2 !important;
}

.ftpm-stock-note,
.ftpm-breeding-note {
    display: block !important;
    margin-top: 14px !important;
}

/* CSS grid erlaubt keine span 1.666, daher konkrete Fallback-Breite */
@media (min-width: 721px) {
    .ftpm-stock-form-grid,
    .ftpm-breeding-form-grid {
        grid-template-columns: 2.2fr 1fr 1fr 1fr 1fr 1.25fr !important;
    }

    .ftpm-stock-form-grid label,
    .ftpm-breeding-form-grid label {
        grid-column: auto !important;
    }
}

@media (max-width: 720px) {
    .ftpm-stock-form-grid,
    .ftpm-breeding-form-grid {
        grid-template-columns: 1fr !important;
    }

    .ftpm-entry-accordion > form {
        padding: 14px !important;
    }
}

/* Filterbereich nach dem Formular */
.ftpm-period-filter {
    margin: 0 0 24px !important;
    background: #f8fafc !important;
    border: 1px solid #dbe4f0 !important;
    border-radius: 16px !important;
    padding: 14px !important;
}

/* Preisempfehlungen mit neuer Tabellenlogik */
.ftpm-price-compact-table {
    table-layout: fixed !important;
    width: 100% !important;
}

.ftpm-price-compact-table th:nth-child(1),
.ftpm-price-compact-table td[data-label="Art"] {
    width: 42% !important;
}

.ftpm-price-compact-table th:nth-child(2),
.ftpm-price-compact-table td[data-label="Preis"] {
    width: 140px !important;
}

.ftpm-price-compact-table th:nth-child(4),
.ftpm-price-compact-table td[data-label="Aktualisiert"] {
    width: 120px !important;
}

.ftpm-price-chip-value {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #ecfdf5 !important;
    color: #166534 !important;
    font-weight: 900 !important;
    padding: 6px 12px !important;
    white-space: nowrap !important;
}

@media (max-width: 720px) {
    .ftpm-price-compact-table thead {
        display: none !important;
    }

    .ftpm-price-compact-table,
    .ftpm-price-compact-table tbody,
    .ftpm-price-compact-table tr,
    .ftpm-price-compact-table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .ftpm-price-compact-table .ftpm-year-group-row {
        margin: 18px 0 8px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .ftpm-price-compact-table .ftpm-year-group-row th {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        border-radius: 999px !important;
        padding: 8px 12px !important;
        background: #eef4ff !important;
        color: #1d4ed8 !important;
        border: 1px solid #dbe4f0 !important;
    }

    .ftpm-price-compact-table .ftpm-price-data-row {
        border: 1px solid #dbe4f0 !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        margin: 12px 0 !important;
        background: #fff !important;
    }

    .ftpm-price-compact-table td {
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        gap: 8px !important;
        padding: 12px 14px !important;
        border: 0 !important;
        border-bottom: 1px solid #e2e8f0 !important;
    }

    .ftpm-price-compact-table td:last-child {
        border-bottom: 0 !important;
    }

    .ftpm-price-compact-table td::before {
        content: attr(data-label) !important;
        color: #64748b !important;
        font-weight: 900 !important;
    }

    .ftpm-price-compact-table td[data-label="Art"] {
        display: block !important;
    }

    .ftpm-price-compact-table td[data-label="Art"]::before {
        display: block !important;
        margin-bottom: 8px !important;
    }
}


/* v0.27.5 compose badge single line
   Der blaue Schreiben-Chip oben rechts darf nicht umbrechen. */
.ftpm-member-message-compose [class*="badge"],
.ftpm-member-message-compose [class*="chip"],
.ftpm-message-compose [class*="badge"],
.ftpm-message-compose [class*="chip"],
.ftpm-compose-card [class*="badge"],
.ftpm-compose-card [class*="chip"],
.ftpm-message-compose-badge,
.ftpm-message-compose-status,
.ftpm-compose-badge,
.ftpm-compose-chip {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    min-width: max-content !important;
}

/* Konkreter Schutz für den runden blauen Schreiben-Status im Compose-Kopf. */
.ftpm-member-message-compose .ftpm-message-state,
.ftpm-member-message-compose .ftpm-message-badge,
.ftpm-member-message-compose .ftpm-message-compose-badge,
.ftpm-member-message-compose .ftpm-compose-badge,
.ftpm-member-message-compose .ftpm-compose-chip,
.ftpm-message-compose .ftpm-message-state,
.ftpm-message-compose .ftpm-message-badge,
.ftpm-message-compose .ftpm-message-compose-badge,
.ftpm-message-compose .ftpm-compose-badge,
.ftpm-message-compose .ftpm-compose-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    width: auto !important;
    min-width: 92px !important;
    max-width: none !important;
    height: auto !important;
    min-height: 38px !important;
    padding: 8px 14px !important;
    line-height: 1 !important;
    text-align: center !important;
}

/* Falls das Icon und der Text als einzelne Inline-Elemente kommen. */
.ftpm-member-message-compose .ftpm-message-state *,
.ftpm-member-message-compose .ftpm-message-badge *,
.ftpm-member-message-compose .ftpm-message-compose-badge *,
.ftpm-member-message-compose .ftpm-compose-badge *,
.ftpm-member-message-compose .ftpm-compose-chip *,
.ftpm-message-compose .ftpm-message-state *,
.ftpm-message-compose .ftpm-message-badge *,
.ftpm-message-compose .ftpm-message-compose-badge *,
.ftpm-message-compose .ftpm-compose-badge *,
.ftpm-message-compose .ftpm-compose-chip * {
    white-space: nowrap !important;
    word-break: keep-all !important;
}


/* v0.27.5 force compose badge pill
   Der Compose-Badge oben rechts war noch als fast runder Badge mit zu kleiner Breite gestylt.
   Hier wird er gezielt zur einzeiligen Pill umgebaut. */
.ftpm-member-message-compose-head .ftpm-compose-badge,
.ftpm-member-message-compose-generic .ftpm-compose-badge,
.ftpm-member-message-compose .ftpm-compose-badge {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;

    width: auto !important;
    min-width: 118px !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;

    padding: 0 16px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;

    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    line-height: 1 !important;
    text-align: center !important;
    aspect-ratio: auto !important;
}

.ftpm-member-message-compose-head .ftpm-compose-badge::before,
.ftpm-member-message-compose-generic .ftpm-compose-badge::before,
.ftpm-member-message-compose .ftpm-compose-badge::before {
    display: inline-block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.ftpm-member-message-compose-head .ftpm-compose-badge span,
.ftpm-member-message-compose-generic .ftpm-compose-badge span,
.ftpm-member-message-compose .ftpm-compose-badge span,
.ftpm-member-message-compose-head .ftpm-compose-badge strong,
.ftpm-member-message-compose-generic .ftpm-compose-badge strong,
.ftpm-member-message-compose .ftpm-compose-badge strong {
    display: inline !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    line-height: 1 !important;
}

/* Falls der Text direkt im Badge steht, nicht als eigenes Element. */
.ftpm-member-message-compose-head .ftpm-compose-badge {
    font-size: .76rem !important;
    letter-spacing: .01em !important;
}

/* Auf sehr schmalen Ansichten darf er kleiner werden, aber nicht umbrechen. */
@media (max-width: 520px) {
    .ftpm-member-message-compose-head .ftpm-compose-badge,
    .ftpm-member-message-compose-generic .ftpm-compose-badge,
    .ftpm-member-message-compose .ftpm-compose-badge {
        min-width: 104px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 12px !important;
        font-size: .72rem !important;
    }
}


/* v0.27.5 internal dashboard overview */
.ftpm-dashboard-overview {
    display: grid;
    gap: 22px;
}

.ftpm-dashboard-hero {
    border: 1px solid #dbe4f0;
    border-radius: 22px;
    background: linear-gradient(135deg, #f8fafc, #eef4ff);
    padding: 24px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .06);
}

.ftpm-dashboard-hero h2 {
    margin: 0 0 8px;
    font-size: clamp(1.5rem, 2vw, 2rem);
}

.ftpm-dashboard-hero p {
    margin: 0;
    color: #475569;
    max-width: 760px;
}

.ftpm-dashboard-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ftpm-dashboard-stat-card {
    border: 1px solid #dbe4f0;
    border-radius: 18px;
    background: #fff;
    padding: 18px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .05);
    display: grid;
    gap: 6px;
}

.ftpm-dashboard-stat-label {
    color: #64748b;
    font-size: .84rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ftpm-dashboard-stat-card strong {
    font-size: 2rem;
    line-height: 1;
    color: #0f172a;
}

.ftpm-dashboard-stat-card small {
    color: #475569;
    line-height: 1.4;
}

.ftpm-dashboard-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ftpm-dashboard-panel {
    border: 1px solid #dbe4f0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .05);
    overflow: hidden;
}

.ftpm-dashboard-panel-wide {
    grid-column: 1 / -1;
}

.ftpm-dashboard-panel-head {
    padding: 16px 18px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.ftpm-dashboard-panel-head h3 {
    margin: 0;
    font-size: 1.1rem;
}

.ftpm-dashboard-list {
    display: grid;
}

.ftpm-dashboard-list-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid #e2e8f0;
}

.ftpm-dashboard-list-item:last-child {
    border-bottom: 0;
}

.ftpm-dashboard-species-link {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
    color: inherit;
    text-decoration: none !important;
}

.ftpm-dashboard-species-link:hover strong,
.ftpm-dashboard-species-link:focus strong {
    color: #1d4ed8;
}

.ftpm-dashboard-thumb-wrap {
    width: 52px;
    height: 52px;
    border-radius: 13px;
    overflow: hidden;
    border: 1px solid #dbe4f0;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-weight: 900;
}

.ftpm-dashboard-thumb {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.ftpm-dashboard-species-name {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.ftpm-dashboard-species-name strong {
    color: #0f172a;
    font-weight: 900;
    line-height: 1.25;
}

.ftpm-dashboard-species-name em {
    color: #64748b;
    font-size: .9rem;
    line-height: 1.25;
}

.ftpm-dashboard-list-meta {
    display: grid;
    gap: 4px;
    justify-items: end;
    text-align: right;
    color: #475569;
    font-size: .9rem;
}

.ftpm-dashboard-list-meta strong {
    color: #0f172a;
}

.ftpm-dashboard-empty {
    padding: 18px;
    margin: 0;
    color: #64748b;
}

@media (max-width: 980px) {
    .ftpm-dashboard-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ftpm-dashboard-section-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .ftpm-dashboard-hero {
        padding: 18px;
        border-radius: 18px;
    }

    .ftpm-dashboard-stat-grid {
        grid-template-columns: 1fr;
    }

    .ftpm-dashboard-list-item {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .ftpm-dashboard-list-meta {
        justify-items: start;
        text-align: left;
        padding-left: 64px;
    }

    .ftpm-dashboard-species-link {
        grid-template-columns: 52px minmax(0, 1fr);
    }
}


/* v0.27.5 overview nav visibility */
.ftpm-internal-nav a[href*="ftpm_area=uebersicht"] {
    font-weight: 900;
}


/* v0.27.5 dashboard species/posts split */
.ftpm-dashboard-post-link {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
    color: inherit;
    text-decoration: none !important;
}

.ftpm-dashboard-post-link:hover strong,
.ftpm-dashboard-post-link:focus strong {
    color: #1d4ed8;
}

.ftpm-dashboard-post-icon {
    width: 52px;
    height: 52px;
    border-radius: 13px;
    background: #eef4ff;
    border: 1px solid #dbe4f0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
}

.ftpm-dashboard-post-item .ftpm-dashboard-species-name em {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* v0.27.5 dashboard news prominence */
.ftpm-dashboard-block {
    display: grid;
    gap: 14px;
}

.ftpm-dashboard-block-head {
    display: grid;
    gap: 5px;
    margin-top: 4px;
}

.ftpm-dashboard-block-head h3 {
    margin: 0;
    font-size: clamp(1.25rem, 1.6vw, 1.55rem);
    color: #0f172a;
}

.ftpm-dashboard-block-head p:not(.ftpm-internal-kicker) {
    margin: 0;
    color: #64748b;
}

.ftpm-dashboard-news-block {
    border: 1px solid #dbe4f0;
    border-radius: 22px;
    padding: 20px;
    background: linear-gradient(135deg, #ffffff, #f8fafc 55%, #eef4ff);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .06);
}

.ftpm-dashboard-news-grid {
    gap: 18px;
}

.ftpm-dashboard-news-panel {
    border-color: #cbdaf5;
    box-shadow: 0 16px 34px rgba(37, 99, 235, .07);
}

.ftpm-dashboard-news-panel .ftpm-dashboard-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #f8fbff;
}

.ftpm-dashboard-news-panel .ftpm-dashboard-panel-head span {
    border-radius: 999px;
    background: #eef4ff;
    border: 1px solid #dbeafe;
    color: #1d4ed8;
    font-size: .78rem;
    font-weight: 900;
    padding: 5px 9px;
    white-space: nowrap;
}

.ftpm-dashboard-posts-panel {
    border-color: #bcd0f7;
}

.ftpm-dashboard-posts-panel .ftpm-dashboard-panel-head {
    background: linear-gradient(135deg, #eef4ff, #f8fafc);
}

.ftpm-dashboard-post-link {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
    color: inherit;
    text-decoration: none !important;
}

.ftpm-dashboard-post-link:hover strong,
.ftpm-dashboard-post-link:focus strong {
    color: #1d4ed8;
}

.ftpm-dashboard-post-icon {
    width: 52px;
    height: 52px;
    border-radius: 13px;
    background: #eef4ff;
    border: 1px solid #dbe4f0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
}

.ftpm-dashboard-post-item .ftpm-dashboard-species-name em {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* News zuerst stärker, Meldungen darunter ruhiger */
.ftpm-dashboard-news-block + .ftpm-dashboard-block {
    margin-top: 4px;
}

@media (min-width: 981px) {
    .ftpm-dashboard-news-grid {
        grid-template-columns: 1.1fr .9fr;
    }
}

@media (max-width: 620px) {
    .ftpm-dashboard-news-block {
        padding: 14px;
        border-radius: 18px;
    }

    .ftpm-dashboard-news-panel .ftpm-dashboard-panel-head {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* v0.27.5 dashboard meta typography and stock table fix */
/* „Veröffentlicht“ und ähnliche Meta-Labels in Dashboard-Listen kleiner/ruhiger */
.ftpm-dashboard-list-meta {
    font-size: .78rem !important;
    line-height: 1.35 !important;
    color: #64748b !important;
    gap: 3px !important;
}

.ftpm-dashboard-list-meta strong {
    font-size: .76rem !important;
    font-weight: 800 !important;
    color: #334155 !important;
    letter-spacing: .01em !important;
}

.ftpm-dashboard-news-panel .ftpm-dashboard-list-meta,
.ftpm-dashboard-panel .ftpm-dashboard-list-meta {
    min-width: 92px !important;
}

/* In Steckbrief-/Beitragslisten soll das Datum nicht so stark gegen den Titel kämpfen. */
.ftpm-dashboard-news-panel .ftpm-dashboard-list-item {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.ftpm-dashboard-news-panel .ftpm-dashboard-list-meta span {
    white-space: nowrap !important;
}

@media (max-width: 620px) {
    .ftpm-dashboard-list-meta {
        font-size: .8rem !important;
    }

    .ftpm-dashboard-list-meta strong {
        font-size: .78rem !important;
    }

    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta span {
        white-space: normal !important;
    }
}


/* v0.27.5 dashboard robust stock datasource */
.ftpm-dashboard-list-meta strong {
    text-transform: none !important;
}


/* v0.27.15 Mitteilungen: Compose-Formular kompakter und konsistenter */
.ftpm-member-message-compose-generic {
    max-width: 960px;
}

.ftpm-member-message-compose-generic .ftpm-member-message-compose-head {
    margin-bottom: 18px;
}

.ftpm-member-message-compose-generic .ftpm-compose-grid {
    max-width: 820px;
    margin: 0 0 20px;
    padding: 16px;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 18px;
    background: rgba(248, 250, 252, .82);
    grid-template-columns: minmax(220px, 290px) minmax(260px, 1fr);
}

.ftpm-member-message-compose-generic .ftpm-compose-grid label,
.ftpm-member-message-compose-generic .ftpm-admin-recipient-summary {
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .035);
}

.ftpm-member-message-compose-generic .ftpm-compose-grid label:has(select:not([multiple])) {
    align-self: start;
}

.ftpm-member-message-compose-generic .ftpm-compose-grid select {
    min-height: 42px;
}

.ftpm-member-message-compose-generic .ftpm-compose-grid select[multiple] {
    min-height: 138px;
    line-height: 1.45;
}

.ftpm-member-message-compose-generic .ftpm-admin-recipient-summary {
    min-height: 92px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
}

.ftpm-member-message-compose-generic .ftpm-help-text {
    color: #64748b;
    font-weight: 700;
}

.ftpm-member-message-compose-generic > form > label,
.ftpm-member-message-compose-generic .ftpm-attachment-field,
.ftpm-member-message-compose-generic > form > .ftpm-help-text {
    max-width: 820px;
}

.ftpm-member-message-compose-generic textarea {
    min-height: 150px;
}

.ftpm-member-message-compose-generic button[type="submit"],
.ftpm-member-message-compose-generic .ftpm-button-primary {
    max-width: 820px;
}

@media (max-width: 760px) {
    .ftpm-member-message-compose-generic .ftpm-compose-grid {
        grid-template-columns: 1fr;
        padding: 12px;
    }
}


/* v0.27.85 Nachrichten: ungelesen-Logik wie im Backend */
.ftpm-webmail-row.is-unread,
.ftpm-mailbox-flat-row.is-unread {
    background: #f1f5fb !important;
    border-left: 4px solid #4f63ff !important;
}
.ftpm-webmail-row.is-unread:hover,
.ftpm-webmail-row.is-unread.is-active,
.ftpm-mailbox-flat-row.is-unread:hover,
.ftpm-mailbox-flat-row.is-unread.is-active {
    background: #eaf1fb !important;
}
.ftpm-webmail-row.is-unread .ftpm-webmail-row-subject,
.ftpm-mailbox-flat-row.is-unread .ftpm-mailbox-flat-subject {
    color: #0f172a !important;
    font-weight: 900 !important;
}
.ftpm-webmail-row.is-unread .ftpm-webmail-row-meta,
.ftpm-webmail-row.is-unread .ftpm-webmail-row-preview,
.ftpm-mailbox-flat-row.is-unread .ftpm-mailbox-flat-meta,
.ftpm-mailbox-flat-row.is-unread .ftpm-mailbox-flat-preview {
    color: #475569 !important;
}
.ftpm-message-subnav strong.has-unread {
    background: #e11d48 !important;
    color: #fff !important;
}
.ftpm-mailbox-flat-check.has-unread-marker input:not(:checked) {
    outline: none !important;
    box-shadow: none !important;
}
.ftpm-mailbox-flat-check.has-unread-marker::after {
    content: none !important;
}


/* v0.28.05: Sprachumschalter für einsprachige Steckbrief-Posts mit mehrsprachigen Metafeldern */
.ftpm-language-switcher {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem 1rem;
    margin: 1rem 0 1.5rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}

.ftpm-language-switcher-label {
    font-weight: 700;
    color: #1f2937;
}

.ftpm-language-switcher-links {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.ftpm-language-switcher-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .4rem .75rem;
    border: 1px solid rgba(15, 23, 42, .16);
    border-radius: 999px;
    text-decoration: none;
    line-height: 1.2;
    background: #fff;
}

.ftpm-language-switcher-link.is-active {
    font-weight: 700;
    border-color: currentColor;
}

@media (max-width: 700px) {
    .ftpm-language-switcher {
        border-radius: 16px;
        align-items: flex-start;
    }
}

/* 0.28.20: Polylang-Sprachflags nebeneinander darstellen */
.lang-item {
    display: inline;
    list-style: none;
    margin-right: 10px;
}
.lang-item:last-child {
    margin-right: 0;
}
.lang-item a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}


/* v0.29.7: Kurzbeschreibung in Karten kompakt begrenzen */
.ftpm-card-intro {
    margin: .35rem 0 .55rem;
    color: #374151;
    font-size: .92rem;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ftpm-overview-card .ftpm-card-intro + .ftpm-card-meta {
    margin-top: .45rem;
}

/* v0.29.12: zeitgemäßer Single-Steckbrief-Feinschliff für Astra */
.single-fruchttaube {
    --ftpm-accent: var(--ast-global-color-0, #2563eb);
    --ftpm-accent-strong: var(--ast-global-color-1, #1d4ed8);
    --ftpm-bg-soft: var(--ast-global-color-5, #f8fafc);
    --ftpm-text: #142033;
    --ftpm-muted: #64748b;
    --ftpm-border: rgba(15, 23, 42, .10);
    --ftpm-shadow: 0 18px 50px rgba(15, 23, 42, .075);
}

.single-fruchttaube .site-content,
.single-fruchttaube .content-area {
    background: linear-gradient(180deg, rgba(148,163,184,.13), rgba(255,255,255,0) 260px);
}

.ftpm-steckbrief {
    padding-top: clamp(20px, 3vw, 42px);
    padding-bottom: clamp(42px, 6vw, 82px);
}

.ftpm-single-hero {
    min-height: clamp(300px, 39vw, 460px) !important;
    margin-bottom: clamp(28px, 4vw, 44px) !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 70px rgba(15,23,42,.16) !important;
}

.ftpm-single-kicker {
    letter-spacing: .16em;
    color: rgba(255,255,255,.86);
}

.ftpm-single-hero h1 {
    max-width: 860px !important;
    letter-spacing: -.035em;
    text-shadow: 0 4px 22px rgba(0,0,0,.22);
}

.ftpm-single-scientific {
    margin-top: 16px !important;
    letter-spacing: .02em;
}

.ftpm-single-intro-card {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px) !important;
    gap: clamp(24px, 4vw, 48px) !important;
    align-items: center !important;
    margin-bottom: clamp(34px, 5vw, 58px) !important;
    padding: clamp(28px, 4.2vw, 52px) !important;
    border: 1px solid rgba(15,23,42,.085) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: var(--ftpm-shadow) !important;
}

.ftpm-single-intro-text {
    max-width: 660px;
    font-size: clamp(1.06rem, 1.35vw, 1.28rem) !important;
    line-height: 1.82 !important;
    color: var(--ftpm-text) !important;
}

.ftpm-single-intro-media {
    position: relative;
    border-radius: 18px !important;
    box-shadow: 0 16px 38px rgba(15,23,42,.13);
}

.ftpm-single-intro-lightbox {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
    cursor: zoom-in;
}

.ftpm-single-intro-lightbox::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(15,23,42,0), rgba(15,23,42,.16));
    opacity: 0;
    transition: opacity .18s ease;
}

.ftpm-single-intro-lightbox:hover::after,
.ftpm-single-intro-lightbox:focus::after {
    opacity: 1;
}

.ftpm-single-image-zoom {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    color: #0f172a;
    font-size: 1.2rem;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(15,23,42,.22);
    opacity: .94;
}

.ftpm-steckbrief-content-enhanced {
    gap: clamp(26px, 4vw, 46px) !important;
}

.ftpm-content-section {
    padding: clamp(28px, 4vw, 48px) !important;
    border-radius: 24px !important;
    border: 1px solid rgba(15,23,42,.075) !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 16px 46px rgba(15,23,42,.06) !important;
}

.ftpm-content-section::before {
    width: 4px !important;
    border-radius: 24px 0 0 24px !important;
    background: linear-gradient(180deg, var(--ftpm-accent), rgba(37,99,235,.30)) !important;
}

.ftpm-content-section > h2:first-child {
    margin-bottom: clamp(16px, 2.3vw, 26px) !important;
    color: var(--ftpm-text);
    letter-spacing: -.025em;
}

.ftpm-content-section p,
.ftpm-content-section li {
    max-width: 820px;
    color: var(--ftpm-text);
    font-size: clamp(1rem, 1.08vw, 1.09rem) !important;
    line-height: 1.82 !important;
}

.ftpm-content-section-description {
    background: linear-gradient(180deg, #ffffff, #fbfdff) !important;
}

.ftpm-content-section table {
    border-color: rgba(15,23,42,.08) !important;
    box-shadow: none !important;
}

.ftpm-content-section table th,
.ftpm-content-section table td {
    padding: 16px 20px !important;
}

.ftpm-content-section table th,
.ftpm-content-section table td:first-child {
    background: #f8fafc !important;
}

.ftpm-lightbox-overlay {
    padding: clamp(16px, 3vw, 40px) !important;
    background: rgba(5, 10, 22, .88) !important;
    backdrop-filter: blur(7px);
}

.ftpm-lightbox-figure img {
    border-radius: 18px !important;
    box-shadow: 0 28px 90px rgba(0,0,0,.48) !important;
}

.ftpm-lightbox-close {
    box-shadow: 0 12px 34px rgba(0,0,0,.28);
}

@media (max-width: 920px) {
    .ftpm-single-intro-card {
        grid-template-columns: 1fr !important;
    }

    .ftpm-single-intro-media {
        width: min(100%, 440px);
        justify-self: start;
    }
}

@media (max-width: 560px) {
    .ftpm-steckbrief {
        padding-top: 14px;
    }

    .ftpm-single-hero {
        min-height: 280px !important;
        border-radius: 18px !important;
    }

    .ftpm-single-intro-card,
    .ftpm-content-section {
        border-radius: 18px !important;
    }

    .ftpm-single-intro-card {
        padding: 22px !important;
    }

    .ftpm-content-section {
        padding: 22px 20px 22px 24px !important;
    }

    .ftpm-single-intro-text,
    .ftpm-content-section p,
    .ftpm-content-section li {
        line-height: 1.72 !important;
    }
}


/* v0.29.13: Luftigere Einzelsteckbriefe und Astra-Farbvariablen */
.ftpm-steckbrief {
    --ftpm-accent: var(--ast-global-color-0, #3156d4);
    --ftpm-accent-strong: var(--ast-global-color-1, var(--ftpm-accent));
    --ftpm-text: var(--ast-global-color-2, #0f172a);
    --ftpm-muted: var(--ast-global-color-3, #475569);
    --ftpm-surface: var(--ast-global-color-5, #ffffff);
}

.ftpm-single-intro-card {
    margin-bottom: clamp(38px, 5vw, 64px) !important;
}

.ftpm-steckbrief-description-lead {
    margin-bottom: clamp(34px, 4.5vw, 60px) !important;
}

.ftpm-steckbrief-content-localized {
    margin-top: 0 !important;
}

.ftpm-content-section {
    background: var(--ftpm-surface) !important;
    color: var(--ftpm-text) !important;
}

.ftpm-content-section + .ftpm-content-section {
    margin-top: clamp(26px, 3vw, 40px);
}

.ftpm-content-section::before {
    background: linear-gradient(180deg, var(--ftpm-accent), var(--ftpm-accent-strong)) !important;
}

.ftpm-card-button,
.ftpm-overview .wp-block-button__link.ftpm-card-button {
    background: var(--ftpm-accent) !important;
    border-color: var(--ftpm-accent) !important;
    color: #fff !important;
}

.ftpm-card-button:hover,
.ftpm-card-button:focus {
    filter: brightness(.95);
    transform: translateY(-1px);
}

@media (max-width: 760px) {
    .ftpm-single-intro-card {
        margin-bottom: 32px !important;
    }
    .ftpm-steckbrief-description-lead {
        margin-bottom: 32px !important;
    }
}


/* v0.29.15: Ruhigere, modernere Einzelsteckbriefe mit weniger Kartenlast */
.single-fruchttaube .site-content,
.single-fruchttaube .content-area {
    background: linear-gradient(180deg, rgba(148, 163, 184, .09), rgba(255,255,255,0) 220px) !important;
}

.ftpm-steckbrief {
    padding-top: clamp(18px, 2.6vw, 34px) !important;
    padding-bottom: clamp(36px, 5vw, 68px) !important;
}

.ftpm-single-hero {
    margin-bottom: clamp(22px, 3.2vw, 36px) !important;
}

.ftpm-single-intro-card {
    margin-bottom: clamp(26px, 3.8vw, 42px) !important;
    padding: clamp(24px, 3.4vw, 42px) !important;
    background: #fff !important;
    box-shadow: 0 14px 38px rgba(15, 23, 42, .065) !important;
    border-color: rgba(15, 23, 42, .075) !important;
}

.ftpm-steckbrief-description-lead {
    margin-bottom: clamp(24px, 3.4vw, 42px) !important;
}

.ftpm-steckbrief-content-enhanced {
    gap: clamp(20px, 3vw, 34px) !important;
}

.ftpm-content-section,
.ftpm-content-section-description,
.ftpm-content-section-gallery,
.ftpm-content-section-sources,
.ftpm-content-section-image-credits {
    margin-top: 0 !important;
    margin-bottom: clamp(20px, 3vw, 34px) !important;
    padding: clamp(24px, 3.2vw, 38px) !important;
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .07) !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .045) !important;
}

.ftpm-content-section + .ftpm-content-section {
    margin-top: 0 !important;
}

.ftpm-content-section::before {
    width: 3px !important;
    opacity: .58 !important;
    border-radius: 20px 0 0 20px !important;
    background: var(--ftpm-accent) !important;
}

.ftpm-content-section > h2:first-child {
    margin-bottom: clamp(12px, 1.7vw, 20px) !important;
    font-size: clamp(1.45rem, 2.2vw, 2rem) !important;
}

.ftpm-content-section p,
.ftpm-content-section li {
    line-height: 1.75 !important;
}

.ftpm-content-section-sources,
.ftpm-content-section-image-credits {
    background: linear-gradient(180deg, #fff, rgba(248,250,252,.72)) !important;
}

.ftpm-source-links {
    gap: 10px !important;
    margin-top: 14px !important;
}

.ftpm-source-links a {
    border-radius: 12px !important;
    box-shadow: none !important;
}

.ftpm-credit-list,
.ftpm-content-section-image-credits ul {
    margin-top: 10px !important;
}

.ftpm-content-section-gallery .wp-block-gallery,
.ftpm-content-section-gallery .blocks-gallery-grid {
    gap: 14px !important;
}

.ftpm-content-section-gallery figure.wp-block-image,
.ftpm-content-section-gallery .wp-block-gallery figure,
.ftpm-content-section-gallery .blocks-gallery-item {
    border-radius: 16px !important;
    box-shadow: 0 10px 26px rgba(15,23,42,.055) !important;
}

@media (max-width: 760px) {
    .ftpm-single-intro-card,
    .ftpm-content-section,
    .ftpm-content-section-description,
    .ftpm-content-section-gallery,
    .ftpm-content-section-sources,
    .ftpm-content-section-image-credits {
        padding: 20px 18px 20px 22px !important;
        border-radius: 16px !important;
        margin-bottom: 22px !important;
    }

    .ftpm-content-section::before {
        border-radius: 16px 0 0 16px !important;
    }
}

/* v0.32.0: Frontend-Downloads */
.ftpm-downloads-frontend{max-width:1000px;margin:24px auto;padding:0 16px}.ftpm-downloads-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.ftpm-download-card-public{border:1px solid #dbe4f0;border-radius:16px;background:#fff;padding:18px;box-shadow:0 10px 22px rgba(15,23,42,.06)}.ftpm-download-category{display:inline-flex;border-radius:999px;background:#eef2ff;color:#3730a3;padding:4px 10px;font-size:12px;font-weight:900}.ftpm-download-card-public h3{margin:12px 0 8px}.ftpm-download-card-public p{color:#475569}.ftpm-download-meta{color:#64748b;font-size:13px;margin:10px 0 14px}.ftpm-download-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--ast-global-color-0,#2563eb);color:#fff!important;text-decoration:none;padding:10px 16px;font-weight:900}.ftpm-download-button:hover{filter:brightness(.95)}

/* v0.32.3: Downloads im internen Mitgliederbereich */
.ftpm-internal-area .ftpm-downloads-frontend{max-width:none;margin:0;padding:0}.ftpm-internal-area .ftpm-downloads-frontend h2{margin-top:0}.ftpm-internal-area .ftpm-downloads-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.ftpm-internal-area .ftpm-download-card-public{box-shadow:none;border-color:#dbe4f0}.ftpm-internal-area .ftpm-download-button{border-radius:12px}

/* 0.32.4 Mitgliederbereich Downloads */
.ftpm-internal-area .ftpm-downloads-portal{
    max-width:none;
    margin:0;
    padding:0;
}
.ftpm-downloads-header{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
    margin-bottom:18px;
}
.ftpm-downloads-header h2{
    margin:0 0 6px;
    font-size:30px;
    line-height:1.15;
}
.ftpm-downloads-header p{
    margin:0;
    color:#64748b;
}
.ftpm-downloads-header span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dbe4f0;
    background:#f8fafc;
    color:#0f172a;
    border-radius:999px;
    padding:7px 12px;
    font-weight:900;
    white-space:nowrap;
}
.ftpm-download-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:8px;
    border:1px solid #dbe4f0;
    background:#f8fafc;
    border-radius:16px;
    margin-bottom:18px;
}
.ftpm-download-tabs a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 13px;
    border-radius:999px;
    text-decoration:none!important;
    color:#334155;
    font-weight:850;
    border:1px solid transparent;
    background:#fff;
}
.ftpm-download-tabs a span{
    display:inline-flex;
    min-width:22px;
    height:22px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#eef2ff;
    color:#3730a3;
    font-size:12px;
}
.ftpm-download-tabs a.is-active{
    background:var(--ast-global-color-0,#2563eb);
    color:#fff;
    border-color:var(--ast-global-color-0,#2563eb);
}
.ftpm-download-tabs a.is-active span{
    background:rgba(255,255,255,.22);
    color:#fff;
}
.ftpm-download-category-list{
    display:grid;
    gap:18px;
}
.ftpm-download-category-section{
    border:1px solid #dbe4f0;
    border-radius:18px;
    background:#fff;
    overflow:hidden;
}
.ftpm-download-category-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    padding:16px 18px;
    border-bottom:1px solid #e2e8f0;
    background:linear-gradient(135deg,#fff,#f8fafc);
}
.ftpm-download-category-head h3{
    margin:0;
    font-size:20px;
}
.ftpm-download-category-head span{
    color:#64748b;
    font-weight:800;
    font-size:13px;
}
.ftpm-download-list{
    display:grid;
}
.ftpm-download-row-card{
    display:grid;
    grid-template-columns:58px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:16px 18px;
    border-bottom:1px solid #eef2f7;
}
.ftpm-download-row-card:last-child{
    border-bottom:0;
}
.ftpm-download-file-icon{
    width:50px;
    height:50px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eef2ff;
    color:#3730a3;
    font-size:12px;
    font-weight:950;
}
.ftpm-download-file-icon.is-pdf{
    background:#fee2e2;
    color:#991b1b;
}
.ftpm-download-file-icon.is-ods,
.ftpm-download-file-icon.is-xlsx{
    background:#dcfce7;
    color:#166534;
}
.ftpm-download-file-main h4{
    margin:0 0 5px;
    font-size:19px;
}
.ftpm-download-file-main p{
    margin:0 0 7px;
    color:#475569;
}
.ftpm-download-row-card .ftpm-download-meta{
    margin:0;
    color:#64748b;
    font-size:13px;
}
.ftpm-download-row-card .ftpm-download-button{
    border-radius:12px;
    padding:10px 14px;
    white-space:nowrap;
}
.ftpm-downloads-empty{
    border:1px solid #dbe4f0;
    border-radius:16px;
    background:#fff;
    padding:20px;
}
@media(max-width:700px){
    .ftpm-downloads-header{display:block;}
    .ftpm-downloads-header span{margin-top:10px;}
    .ftpm-download-row-card{grid-template-columns:44px minmax(0,1fr);}
    .ftpm-download-row-card .ftpm-download-button{grid-column:1 / -1;}
    .ftpm-download-file-icon{width:42px;height:42px;border-radius:12px;}
}

/* v0.32.5: Astra-kompatible Download-Buttons und Tabs */
.ftpm-downloads-portal{
    --ftpm-theme-accent: var(--ast-global-color-0, #2563eb);
    --ftpm-theme-accent-hover: var(--ast-global-color-1, #1d4ed8);
    --ftpm-theme-button-text: var(--ast-global-color-5, #ffffff);
    --ftpm-theme-soft: color-mix(in srgb, var(--ftpm-theme-accent) 10%, #ffffff);
}
.ftpm-download-tabs a{
    color:var(--ast-global-color-2,#334155);
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.ftpm-download-tabs a:hover,
.ftpm-download-tabs a:focus-visible{
    border-color:var(--ftpm-theme-accent);
    color:var(--ftpm-theme-accent);
    outline:none;
}
.ftpm-download-tabs a span{
    background:var(--ftpm-theme-soft, #eef2ff);
    color:var(--ftpm-theme-accent);
}
.ftpm-download-tabs a.is-active{
    background:var(--ftpm-theme-accent);
    border-color:var(--ftpm-theme-accent);
    color:var(--ftpm-theme-button-text)!important;
}
.ftpm-download-tabs a.is-active:hover,
.ftpm-download-tabs a.is-active:focus-visible{
    background:var(--ftpm-theme-accent-hover);
    border-color:var(--ftpm-theme-accent-hover);
    color:var(--ftpm-theme-button-text)!important;
}
.ftpm-download-button,
.ftpm-download-row-card .ftpm-download-button,
a.ftpm-download-button{
    background:var(--ftpm-theme-accent)!important;
    border:1px solid var(--ftpm-theme-accent)!important;
    color:var(--ftpm-theme-button-text)!important;
    box-shadow:none;
    transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.ftpm-download-button:hover,
.ftpm-download-button:focus-visible{
    background:var(--ftpm-theme-accent-hover)!important;
    border-color:var(--ftpm-theme-accent-hover)!important;
    color:var(--ftpm-theme-button-text)!important;
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(15,23,42,.12);
    outline:none;
}
.ftpm-download-button:active{
    transform:translateY(0);
}

/* Mitgliedsanfrage / Login */
.ftpm-member-login-box,
.ftpm-application-form-wrap {
    max-width: 760px;
    margin: 2rem auto;
    padding: 2rem;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(0,0,0,.06);
}
.ftpm-member-login-box h2,
.ftpm-application-form-wrap h2 { margin-top: 0; }
.ftpm-member-application-form p { margin-bottom: 1rem; }
.ftpm-member-application-form label,
.ftpm-member-login-box label { display: block; font-weight: 700; margin-bottom: .35rem; }
.ftpm-member-application-form input[type="text"],
.ftpm-member-application-form input[type="email"],
.ftpm-member-application-form input[type="tel"],
.ftpm-member-application-form textarea,
.ftpm-member-login-box input[type="text"],
.ftpm-member-login-box input[type="password"] {
    width: 100%;
    max-width: 100%;
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,.16);
    padding: .75rem .9rem;
}
.ftpm-privacy-field label { font-weight: 400; display: flex; gap: .5rem; align-items: flex-start; }
.ftpm-button,
.ftpm-member-login-box .button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .75rem 1.25rem;
    border-radius: 999px;
    border: 0;
    background: #315b3d;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    cursor: pointer;
}
.ftpm-button:hover,
.ftpm-member-login-box .button-primary:hover { color: #fff; filter: brightness(.95); }
.ftpm-success,
.ftpm-error {
    padding: 1rem;
    border-radius: 12px;
    margin: 1rem 0;
}
.ftpm-success { background: #edf8ef; border: 1px solid #b9dfc0; }
.ftpm-error { background: #fff1f1; border: 1px solid #f2b8b8; }


/* Mitgliedsanfragen/Login-Workflow v0.35.4 */
.ftpm-member-login-box,
.ftpm-member-goodbye-box,
.ftpm-application-form-wrap {
    max-width: 760px;
    margin: 32px auto;
    padding: 28px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(0,0,0,.06);
}
.ftpm-member-login-box h2,
.ftpm-member-goodbye-box h2,
.ftpm-application-form-wrap h2 {
    margin-top: 0;
}
.ftpm-member-login-box label,
.ftpm-member-application-form label {
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
}
.ftpm-member-login-box input[type="text"],
.ftpm-member-login-box input[type="password"],
.ftpm-member-application-form input[type="text"],
.ftpm-member-application-form input[type="email"],
.ftpm-member-application-form input[type="tel"],
.ftpm-member-application-form textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.ftpm-login-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 18px;
}
.ftpm-login-register-link,
.ftpm-login-lost-password {
    margin-bottom: 0;
}
.ftpm-internal-logout-link {
    margin-top: 10px;
    border-top: 1px solid rgba(0,0,0,.08);
}
.ftpm-member-goodbye-box {
    text-align: center;
}


/* Passwort vergessen / Passwort neu setzen v0.35.6 */
.ftpm-member-lost-password-box .ftpm-member-lost-password-form p,
.ftpm-member-lost-password-box .ftpm-member-password-reset-form p {
    margin-bottom: 1rem;
}
.ftpm-member-lost-password-box label,
.ftpm-member-lost-password-box .ftpm-member-password-reset-form label {
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
}
.ftpm-member-lost-password-box input[type="text"],
.ftpm-member-lost-password-box input[type="password"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,.16);
    padding: .75rem .9rem;
}

/* Mitgliederzugang: Astra-/WP-freundliche Buttons und Passwort-Anzeige v0.35.9 */
.ftpm-member-login-box .button,
.ftpm-member-goodbye-box .button,
.ftpm-application-form-wrap .button,
.ftpm-member-login-box .wp-element-button,
.ftpm-member-goodbye-box .wp-element-button,
.ftpm-application-form-wrap .wp-element-button {
    text-decoration: none;
    cursor: pointer;
}

.ftpm-member-login-box .login-submit,
.ftpm-member-login-box .ftpm-form-actions,
.ftpm-member-goodbye-box p:has(.button),
.ftpm-application-form-wrap p:has(.button) {
    margin-top: 1.1rem;
}

.ftpm-password-field {
    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%;
}

.ftpm-password-field input[type="password"],
.ftpm-password-field input[type="text"] {
    padding-right: 3.4rem !important;
}

.ftpm-password-toggle,
.ftpm-password-toggle.wp-element-button,
.ftpm-password-toggle.button {
    position: absolute;
    top: 50%;
    right: .35rem;
    transform: translateY(-50%);
    width: 2.45rem;
    min-width: 2.45rem;
    height: 2.45rem;
    min-height: 2.45rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    line-height: 1;
    box-shadow: none;
}

.ftpm-password-toggle .dashicons {
    width: 20px;
    height: 20px;
    font-size: 20px;
    line-height: 20px;
}

@media (max-width: 544px) {
    .ftpm-member-login-box .login-submit .button,
    .ftpm-member-login-box > p > .button,
    .ftpm-member-goodbye-box > p > .button,
    .ftpm-application-form-wrap > p > .button,
    .ftpm-application-form-wrap form > p > .button {
        width: 100%;
        display: flex;
        justify-content: center;
        text-align: center;
    }

    .ftpm-password-toggle,
    .ftpm-password-toggle.wp-element-button,
    .ftpm-password-toggle.button {
        width: 2.45rem;
        min-width: 2.45rem;
    }
}


/* Mitgliederzugang: neutrale WP/Astra-kompatible Buttons ohne Theme-Gruen v0.35.10 */
.ftpm-member-login-box .ftpm-frontend-button,
.ftpm-member-goodbye-box .ftpm-frontend-button,
.ftpm-application-form-wrap .ftpm-frontend-button,
.ftpm-member-login-box .login-submit input[type="submit"],
.ftpm-member-lost-password-box button[type="submit"],
.ftpm-member-password-reset-form button[type="submit"],
.ftpm-member-application-form button[type="submit"] {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .76rem 1.2rem;
    border-radius: 999px;
    border: 1px solid #243447;
    background: #243447;
    color: #fff;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: none;
}

.ftpm-member-login-box .ftpm-frontend-button:hover,
.ftpm-member-goodbye-box .ftpm-frontend-button:hover,
.ftpm-application-form-wrap .ftpm-frontend-button:hover,
.ftpm-member-login-box .login-submit input[type="submit"]:hover,
.ftpm-member-lost-password-box button[type="submit"]:hover,
.ftpm-member-password-reset-form button[type="submit"]:hover,
.ftpm-member-application-form button[type="submit"]:hover,
.ftpm-member-login-box .ftpm-frontend-button:focus,
.ftpm-member-goodbye-box .ftpm-frontend-button:focus,
.ftpm-application-form-wrap .ftpm-frontend-button:focus,
.ftpm-member-login-box .login-submit input[type="submit"]:focus,
.ftpm-member-lost-password-box button[type="submit"]:focus,
.ftpm-member-password-reset-form button[type="submit"]:focus,
.ftpm-member-application-form button[type="submit"]:focus {
    background: #1b2838;
    border-color: #1b2838;
    color: #fff;
    text-decoration: none;
}

.ftpm-member-login-box .ftpm-frontend-button-secondary,
.ftpm-member-goodbye-box .ftpm-frontend-button-secondary,
.ftpm-application-form-wrap .ftpm-frontend-button-secondary {
    background: transparent;
    color: #243447;
    border-color: rgba(36,52,71,.35);
}

.ftpm-member-login-box .ftpm-frontend-button-secondary:hover,
.ftpm-member-goodbye-box .ftpm-frontend-button-secondary:hover,
.ftpm-application-form-wrap .ftpm-frontend-button-secondary:hover,
.ftpm-member-login-box .ftpm-frontend-button-secondary:focus,
.ftpm-member-goodbye-box .ftpm-frontend-button-secondary:focus,
.ftpm-application-form-wrap .ftpm-frontend-button-secondary:focus {
    background: rgba(36,52,71,.08);
    border-color: #243447;
    color: #243447;
}

.ftpm-password-toggle,
.ftpm-password-toggle.wp-element-button,
.ftpm-password-toggle.button,
.ftpm-password-toggle:hover,
.ftpm-password-toggle:focus {
    background: transparent !important;
    border: 0 !important;
    color: #243447 !important;
    box-shadow: none !important;
}

@media (max-width: 544px) {
    .ftpm-member-login-box .ftpm-frontend-button,
    .ftpm-member-goodbye-box .ftpm-frontend-button,
    .ftpm-application-form-wrap .ftpm-frontend-button,
    .ftpm-member-login-box .login-submit input[type="submit"],
    .ftpm-member-lost-password-box button[type="submit"],
    .ftpm-member-password-reset-form button[type="submit"],
    .ftpm-member-application-form button[type="submit"] {
        width: 100%;
    }

    .ftpm-password-toggle,
    .ftpm-password-toggle.wp-element-button,
    .ftpm-password-toggle.button {
        width: 2.45rem;
        min-width: 2.45rem;
    }
}

/* v0.35.15: Mobile Sprachflaggen im Astra-Menü sauber ausrichten */
@media (max-width: 921px) {

  .main-header-menu .lang-item,
  .ast-mobile-popup-content .lang-item,
  .ast-mobile-header-content .lang-item,
  .ast-builder-menu-mobile .lang-item {
    display: inline-flex !important;
    width: auto !important;
    margin: 8px 4px 8px 16px !important;
    padding: 0 !important;
    vertical-align: middle;
  }

  .main-header-menu .lang-item + .lang-item,
  .ast-mobile-popup-content .lang-item + .lang-item,
  .ast-mobile-header-content .lang-item + .lang-item,
  .ast-builder-menu-mobile .lang-item + .lang-item {
    margin-left: 4px !important;
  }

  .main-header-menu .lang-item a,
  .ast-mobile-popup-content .lang-item a,
  .ast-mobile-header-content .lang-item a,
  .ast-builder-menu-mobile .lang-item a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px !important;
    height: 28px !important;
    padding: 4px !important;
    line-height: 1 !important;
    border-radius: 6px;
  }

  .main-header-menu .lang-item img,
  .ast-mobile-popup-content .lang-item img,
  .ast-mobile-header-content .lang-item img,
  .ast-builder-menu-mobile .lang-item img {
    display: block;
    width: 18px !important;
    height: auto !important;
    margin: 0 !important;
  }

  .main-header-menu .current-lang a,
  .ast-mobile-popup-content .current-lang a,
  .ast-mobile-header-content .current-lang a,
  .ast-builder-menu-mobile .current-lang a {
    background: rgba(0, 0, 0, 0.06);
  }

  .main-header-menu .lang-item a:focus,
  .main-header-menu .lang-item a:hover,
  .ast-mobile-popup-content .lang-item a:focus,
  .ast-mobile-popup-content .lang-item a:hover,
  .ast-mobile-header-content .lang-item a:focus,
  .ast-mobile-header-content .lang-item a:hover,
  .ast-builder-menu-mobile .lang-item a:focus,
  .ast-builder-menu-mobile .lang-item a:hover {
    background: rgba(0, 0, 0, 0.08);
    outline: none;
  }
}

/* v0.35.24 Frontend-Pflege fuer Preisempfehlungen */
.ftpm-price-manage-card {
    margin: 0 0 24px;
    padding: 18px;
    border: 1px solid #dbe4f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}

.ftpm-price-manage-head h3 {
    margin: 4px 0 8px;
}

.ftpm-price-manage-head p:last-child {
    margin-bottom: 16px;
}

.ftpm-price-manage-form label,
.ftpm-price-manage-note {
    display: grid;
    gap: 7px;
    font-weight: 800;
    color: #0f172a;
}

.ftpm-price-manage-form label span,
.ftpm-price-manage-note span {
    font-size: .92rem;
}

.ftpm-price-manage-form input,
.ftpm-price-manage-form select,
.ftpm-price-manage-form textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 12px;
}

.ftpm-price-manage-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.ftpm-price-manage-note {
    margin-bottom: 16px;
}

.ftpm-inline-notice {
    margin: 12px 0 16px;
    padding: 12px 14px;
    border-radius: 12px;
    font-weight: 800;
}

.ftpm-inline-notice-success {
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #166534;
}

.ftpm-inline-notice-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.ftpm-price-mobile-delete {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #eef2f7;
}

@media (max-width: 921px) {
    .ftpm-price-manage-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ftpm-price-manage-card {
        padding: 14px;
    }

    .ftpm-price-manage-grid {
        grid-template-columns: 1fr;
    }

    .ftpm-price-manage-form .ftpm-period-filter-button,
    .ftpm-price-manage-form button[type="submit"] {
        width: 100%;
    }
}

/* v0.35.25 Preisempfehlungen: Pflegeformular als Accordion */
.ftpm-price-manage-accordion {
    margin: 0 0 24px !important;
}

.ftpm-price-manage-accordion > .ftpm-price-manage-card {
    margin: 0 !important;
    padding: 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ftpm-price-manage-accordion > summary::after {
    content: attr(data-open-label) !important;
}

.ftpm-price-manage-accordion[open] > summary::after {
    content: attr(data-close-label) !important;
}

@media (max-width: 640px) {
    .ftpm-price-manage-accordion > .ftpm-price-manage-card {
        padding: 14px !important;
    }
}


/* v0.35.26 Preisempfehlungen: Kartenansicht auch fuer schmale Tablet-/Responsive-Breiten.
   Chrome Responsive 725px lag bisher knapp ueber dem alten 720px-Breakpoint; dadurch wurde
   die Desktop-Tabelle aktiv, obwohl die Flaeche bereits zu klein war. */
@media (max-width: 820px) {
    .ftpm-price-box .ftpm-price-table-wrap {
        display: none !important;
    }

    .ftpm-price-box .ftpm-price-mobile-cards {
        display: grid !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin-top: 12px !important;
    }

    .ftpm-price-box .ftpm-price-mobile-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        border: 1px solid #dbe4f0 !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .05) !important;
        padding: 14px !important;
        overflow: hidden !important;
    }

    .ftpm-price-box .ftpm-price-mobile-card-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 12px !important;
        align-items: start !important;
    }

    .ftpm-price-box .ftpm-price-mobile-card-head h4 {
        margin: 4px 0 0 !important;
        font-size: 1rem !important;
        line-height: 1.35 !important;
        color: #0f172a !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .ftpm-price-box .ftpm-price-mobile-card-head strong {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        border-radius: 999px !important;
        padding: 6px 10px !important;
        background: #ecfdf3 !important;
        color: #166534 !important;
        font-weight: 900 !important;
        font-size: .92rem !important;
    }
}

@media (max-width: 430px) {
    .ftpm-price-box .ftpm-price-mobile-card-head {
        grid-template-columns: 1fr !important;
    }

    .ftpm-price-box .ftpm-price-mobile-card-head strong {
        justify-self: start !important;
    }
}

/* v0.35.27 Mitgliederbereich: kompakte mobile Navigation, Astra-freundliche Farben */
.ftpm-internal-mobile-nav {
    display: none;
}

.ftpm-internal-nav a.is-active,
.ftpm-internal-mobile-nav select:focus {
    border-color: var(--ast-global-color-0, #111827);
}

.ftpm-internal-nav a.is-active {
    background: var(--ast-global-color-0, #111827);
    color: var(--ast-global-color-5, #ffffff);
}

.ftpm-internal-nav a:hover,
.ftpm-internal-nav a:focus {
    background: color-mix(in srgb, var(--ast-global-color-0, #111827) 8%, #ffffff);
    color: var(--ast-global-color-0, #111827);
}

.ftpm-internal-nav a.is-active:hover,
.ftpm-internal-nav a.is-active:focus {
    background: var(--ast-global-color-0, #111827);
    color: var(--ast-global-color-5, #ffffff);
}

@media (max-width: 820px) {
    .ftpm-internal-portal {
        padding-left: 10px;
        padding-right: 10px;
    }

    .ftpm-internal-mobile-nav {
        display: block;
        margin: 0 0 14px;
        padding: 14px;
        border: 1px solid rgba(15, 23, 42, .10);
        border-radius: 16px;
        background: #ffffff;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
    }

    .ftpm-internal-mobile-nav label {
        display: block;
        margin: 0 0 8px;
        color: var(--ast-global-color-0, #111827);
        font-size: .78rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .ftpm-internal-mobile-nav select {
        width: 100%;
        max-width: 100%;
        min-height: 46px;
        border: 1px solid rgba(15, 23, 42, .16);
        border-radius: 12px;
        background-color: #ffffff;
        color: var(--ast-global-color-2, #111827);
        font-size: 16px;
        font-weight: 650;
        padding: 10px 42px 10px 14px;
        box-shadow: 0 4px 12px rgba(15, 23, 42, .04);
    }

    .ftpm-internal-mobile-nav select:focus {
        outline: 2px solid color-mix(in srgb, var(--ast-global-color-0, #111827) 24%, transparent);
        outline-offset: 2px;
    }

    .ftpm-internal-layout {
        display: block !important;
    }

    .ftpm-internal-nav {
        display: none !important;
    }

    .ftpm-internal-content {
        width: 100%;
    }
}

@supports not (color: color-mix(in srgb, #000 10%, #fff)) {
    .ftpm-internal-nav a:hover,
    .ftpm-internal-nav a:focus {
        background: #f3f4f6;
    }

    @media (max-width: 820px) {
        .ftpm-internal-mobile-nav select:focus {
            outline: 2px solid rgba(17, 24, 39, .22);
        }
    }
}

/* v0.35.28 Steckbrief-Breadcrumb und Zurueck-Navigation */
.ftpm-steckbrief-breadcrumb,
.ftpm-steckbrief-breadcrumb-yoast {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin: 0 0 14px;
  padding: 10px 0;
  font-size: .92rem;
  color: var(--ast-global-color-2, #42526e);
}
.ftpm-steckbrief-breadcrumb a,
.ftpm-steckbrief-breadcrumb-yoast a {
  color: var(--ast-global-color-0, #1d4ed8);
  text-decoration: none;
}
.ftpm-steckbrief-breadcrumb a:hover,
.ftpm-steckbrief-breadcrumb a:focus,
.ftpm-steckbrief-breadcrumb-yoast a:hover,
.ftpm-steckbrief-breadcrumb-yoast a:focus {
  color: var(--ast-global-color-1, #0f172a);
  text-decoration: underline;
}
.ftpm-steckbrief-breadcrumb-current {
  color: var(--ast-global-color-3, #111827);
  font-weight: 600;
}
.ftpm-steckbrief-back-row {
  margin: 0 0 18px;
}
.ftpm-steckbrief-back-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: 9px 13px;
  border: 1px solid rgba(148, 163, 184, .45);
  border-radius: 999px;
  background: rgba(248, 250, 252, .9);
  color: var(--ast-global-color-0, #1d4ed8);
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}
.ftpm-steckbrief-back-link:hover,
.ftpm-steckbrief-back-link:focus {
  border-color: var(--ast-global-color-0, #1d4ed8);
  background: rgba(29, 78, 216, .08);
  color: var(--ast-global-color-1, #0f172a);
  text-decoration: none;
}
@media (max-width: 640px) {
  .ftpm-steckbrief-breadcrumb,
  .ftpm-steckbrief-breadcrumb-yoast {
    font-size: .84rem;
    gap: .35rem;
    margin-bottom: 8px;
  }
  .ftpm-steckbrief-back-link {
    width: 100%;
    justify-content: center;
    border-radius: 12px;
  }
}

/* v0.35.29 mobile dashboard: compact, content-first lists */
@media (max-width: 820px) {
    .ftpm-dashboard-overview .ftpm-dashboard-section-grid,
    .ftpm-dashboard-overview .ftpm-dashboard-news-grid {
        gap: 16px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel {
        border-radius: 18px !important;
        overflow: hidden !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel-head {
        padding: 14px 16px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel-head h3 {
        font-size: 1.02rem !important;
        line-height: 1.25 !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-item,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-item,
    .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: start !important;
        padding: 14px 16px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-species-link,
    .ftpm-dashboard-overview .ftpm-dashboard-post-link {
        grid-template-columns: 56px minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: center !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-thumb-wrap,
    .ftpm-dashboard-overview .ftpm-dashboard-post-icon {
        width: 56px !important;
        height: 56px !important;
        border-radius: 14px !important;
        flex: 0 0 56px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-species-name strong {
        display: block !important;
        max-width: 100% !important;
        font-size: .98rem !important;
        line-height: 1.18 !important;
        overflow-wrap: anywhere !important;
        hyphens: auto !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-species-name em {
        display: block !important;
        margin-top: 2px !important;
        font-size: .84rem !important;
        line-height: 1.25 !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta,
    .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px 10px !important;
        min-width: 0 !important;
        width: auto !important;
        padding-left: 68px !important;
        text-align: left !important;
        font-size: .8rem !important;
        line-height: 1.3 !important;
        color: #64748b !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta span {
        white-space: normal !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta strong {
        font-size: .78rem !important;
        color: #334155 !important;
    }

    .ftpm-dashboard-news-panel .ftpm-dashboard-published-date strong,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta-compact strong {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    .ftpm-dashboard-news-panel .ftpm-dashboard-published-date time,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta-compact time,
    .ftpm-dashboard-overview .ftpm-dashboard-row-date {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 24px !important;
        padding: 3px 8px !important;
        border-radius: 999px !important;
        background: rgba(226, 232, 240, .72) !important;
        color: #475569 !important;
        font-size: .76rem !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-post-item .ftpm-dashboard-species-name em {
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
}

@media (max-width: 420px) {
    .ftpm-dashboard-overview .ftpm-dashboard-list-item,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-item,
    .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        padding: 13px 14px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-species-link,
    .ftpm-dashboard-overview .ftpm-dashboard-post-link {
        grid-template-columns: 50px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-thumb-wrap,
    .ftpm-dashboard-overview .ftpm-dashboard-post-icon {
        width: 50px !important;
        height: 50px !important;
        flex-basis: 50px !important;
        border-radius: 13px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta,
    .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 60px !important;
    }
}


/* v0.35.30: Mobile Formular-Optimierung für Bestand und Nachzucht */
@media (max-width: 820px) {
    .ftpm-entry-accordion .ftpm-stock-form,
    .ftpm-entry-accordion .ftpm-breeding-form {
        margin-top: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .ftpm-entry-accordion .ftpm-stock-form-grid,
    .ftpm-entry-accordion .ftpm-breeding-form-grid,
    .ftpm-stock-form-grid,
    .ftpm-breeding-form-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .ftpm-stock-form-grid label,
    .ftpm-breeding-form-grid label,
    .ftpm-stock-note,
    .ftpm-breeding-note {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .ftpm-stock-form-grid label:first-child,
    .ftpm-breeding-form-grid label:first-child,
    .ftpm-stock-form-grid label:last-child,
    .ftpm-breeding-form-grid label:last-child {
        grid-column: 1 / -1 !important;
    }

    .ftpm-stock-form label span,
    .ftpm-breeding-form label span,
    .ftpm-stock-note span,
    .ftpm-breeding-note span {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 0 7px !important;
        font-size: .9rem !important;
        line-height: 1.25 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .ftpm-stock-form input,
    .ftpm-stock-form select,
    .ftpm-stock-form textarea,
    .ftpm-breeding-form input,
    .ftpm-breeding-form select,
    .ftpm-breeding-form textarea {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        font-size: 16px !important;
    }

    .ftpm-stock-note,
    .ftpm-breeding-note {
        margin-top: 14px !important;
    }

    .ftpm-stock-submit,
    .ftpm-breeding-submit {
        margin-top: 16px !important;
        width: 100% !important;
    }

    .ftpm-stock-submit button,
    .ftpm-breeding-submit button,
    .ftpm-stock-submit input[type="submit"],
    .ftpm-breeding-submit input[type="submit"] {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

@media (max-width: 480px) {
    .ftpm-stock-box,
    .ftpm-breeding-box {
        padding: 14px !important;
        border-radius: 16px !important;
    }

    .ftpm-entry-accordion > summary {
        padding: 16px 14px !important;
    }

    .ftpm-entry-accordion .ftpm-stock-form,
    .ftpm-entry-accordion .ftpm-breeding-form {
        padding: 14px !important;
    }

    .ftpm-entry-accordion .ftpm-stock-form-grid,
    .ftpm-entry-accordion .ftpm-breeding-form-grid,
    .ftpm-stock-form-grid,
    .ftpm-breeding-form-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .ftpm-stock-form-grid label:first-child,
    .ftpm-breeding-form-grid label:first-child,
    .ftpm-stock-form-grid label:last-child,
    .ftpm-breeding-form-grid label:last-child {
        grid-column: 1 / -1 !important;
    }

    .ftpm-stock-form label span,
    .ftpm-breeding-form label span {
        font-size: .86rem !important;
        line-height: 1.2 !important;
    }
}

@media (max-width: 360px) {
    .ftpm-entry-accordion .ftpm-stock-form-grid,
    .ftpm-entry-accordion .ftpm-breeding-form-grid,
    .ftpm-stock-form-grid,
    .ftpm-breeding-form-grid {
        grid-template-columns: 1fr !important;
    }
}


/* v0.35.32: Bestand/Nachzucht mobil wie Preisempfehlungen als ruhige Einspalten-Formulare */
@media (max-width: 640px) {
    .ftpm-entry-accordion .ftpm-stock-form-grid,
    .ftpm-entry-accordion .ftpm-breeding-form-grid,
    .ftpm-stock-form-grid,
    .ftpm-breeding-form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .ftpm-entry-accordion .ftpm-stock-form-grid > label,
    .ftpm-entry-accordion .ftpm-breeding-form-grid > label,
    .ftpm-stock-form-grid > label,
    .ftpm-breeding-form-grid > label {
        grid-column: 1 / -1 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .ftpm-stock-form label span,
    .ftpm-breeding-form label span,
    .ftpm-stock-note span,
    .ftpm-breeding-note span {
        display: block !important;
        margin: 0 0 8px !important;
        font-size: .9rem !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        color: #0f172a !important;
    }

    .ftpm-stock-form input,
    .ftpm-stock-form select,
    .ftpm-stock-form textarea,
    .ftpm-breeding-form input,
    .ftpm-breeding-form select,
    .ftpm-breeding-form textarea {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        box-sizing: border-box !important;
        font-size: 16px !important;
        line-height: 1.4 !important;
    }

    .ftpm-stock-form textarea,
    .ftpm-breeding-form textarea {
        min-height: 92px !important;
    }

    .ftpm-stock-note,
    .ftpm-breeding-note {
        display: block !important;
        margin-top: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .ftpm-stock-submit,
    .ftpm-breeding-submit {
        margin-top: 18px !important;
        width: 100% !important;
    }

    .ftpm-stock-submit button,
    .ftpm-breeding-submit button,
    .ftpm-stock-submit input[type="submit"],
    .ftpm-breeding-submit input[type="submit"] {
        width: 100% !important;
        min-height: 48px !important;
        text-align: center !important;
        justify-content: center !important;
    }
}


/* v0.35.33: Astra-freundliche Frontend-Buttons und mobile Formular-Feinschliffe */
:root {
    --ftpm-accent: var(--ast-global-color-0, #111827);
    --ftpm-accent-hover: var(--ast-global-color-1, #000000);
    --ftpm-accent-text: var(--ast-global-color-5, #ffffff);
    --ftpm-border: rgba(15, 23, 42, .14);
    --ftpm-soft-bg: rgba(248, 250, 252, .92);
}

/* Frontend-Buttons grundsätzlich Astra-kompatibel halten */
.ftpm-internal-area a.ftpm-button,
.ftpm-internal-area button,
.ftpm-internal-area input[type="submit"],
.ftpm-internal-area .button,
.ftpm-species-overview a.ftpm-button,
.ftpm-species-overview button,
.ftpm-species-overview input[type="submit"],
.ftpm-species-single a.ftpm-button,
.ftpm-species-single button,
.ftpm-species-single input[type="submit"],
.ftpm-public-form a.ftpm-button,
.ftpm-public-form button,
.ftpm-public-form input[type="submit"],
.ftpm-member-login a.ftpm-button,
.ftpm-member-login button,
.ftpm-member-login input[type="submit"],
.ftpm-member-application a.ftpm-button,
.ftpm-member-application button,
.ftpm-member-application input[type="submit"] {
    border-radius: var(--ast-button-radius, 10px);
    font-weight: 700;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.ftpm-internal-area .ftpm-primary-button,
.ftpm-internal-area .ftpm-community-edit,
.ftpm-internal-area button[type="submit"],
.ftpm-internal-area input[type="submit"],
.ftpm-species-overview .ftpm-primary-button,
.ftpm-species-single .ftpm-primary-button,
.ftpm-member-login button[type="submit"],
.ftpm-member-application button[type="submit"],
.ftpm-public-form button[type="submit"],
.ftpm-public-form input[type="submit"] {
    background: var(--ftpm-accent) !important;
    border-color: var(--ftpm-accent) !important;
    color: var(--ftpm-accent-text) !important;
}

.ftpm-internal-area .ftpm-primary-button:hover,
.ftpm-internal-area .ftpm-primary-button:focus,
.ftpm-internal-area .ftpm-community-edit:hover,
.ftpm-internal-area .ftpm-community-edit:focus,
.ftpm-internal-area button[type="submit"]:hover,
.ftpm-internal-area button[type="submit"]:focus,
.ftpm-internal-area input[type="submit"]:hover,
.ftpm-internal-area input[type="submit"]:focus,
.ftpm-species-overview .ftpm-primary-button:hover,
.ftpm-species-overview .ftpm-primary-button:focus,
.ftpm-species-single .ftpm-primary-button:hover,
.ftpm-species-single .ftpm-primary-button:focus,
.ftpm-member-login button[type="submit"]:hover,
.ftpm-member-login button[type="submit"]:focus,
.ftpm-member-application button[type="submit"]:hover,
.ftpm-member-application button[type="submit"]:focus,
.ftpm-public-form button[type="submit"]:hover,
.ftpm-public-form button[type="submit"]:focus,
.ftpm-public-form input[type="submit"]:hover,
.ftpm-public-form input[type="submit"]:focus {
    background: var(--ftpm-accent-hover) !important;
    border-color: var(--ftpm-accent-hover) !important;
    color: var(--ftpm-accent-text) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .12);
}

/* Danger bleibt rot und wird nicht von Astra-Akzentfarbe überschrieben */
.ftpm-internal-area .ftpm-button-danger,
.ftpm-internal-area .ftpm-community-delete,
.ftpm-internal-area button.ftpm-button-danger,
.ftpm-internal-area input.ftpm-button-danger {
    background: #fff !important;
    border-color: #dc2626 !important;
    color: #b91c1c !important;
}

.ftpm-internal-area .ftpm-button-danger:hover,
.ftpm-internal-area .ftpm-button-danger:focus,
.ftpm-internal-area .ftpm-community-delete:hover,
.ftpm-internal-area .ftpm-community-delete:focus {
    background: #fef2f2 !important;
    border-color: #991b1b !important;
    color: #991b1b !important;
}

/* Accordion-Kopf Bestand/Nachzucht wie Preisempfehlungen: sichtbarer Textbutton statt nur Toggle-Punkt */
.ftpm-stock-box .ftpm-entry-accordion > summary,
.ftpm-breeding-box .ftpm-entry-accordion > summary,
.ftpm-price-box .ftpm-entry-accordion > summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    list-style: none !important;
    cursor: pointer !important;
}

.ftpm-stock-box .ftpm-entry-accordion > summary::-webkit-details-marker,
.ftpm-breeding-box .ftpm-entry-accordion > summary::-webkit-details-marker,
.ftpm-price-box .ftpm-entry-accordion > summary::-webkit-details-marker {
    display: none !important;
}

.ftpm-stock-box .ftpm-entry-accordion > summary::after,
.ftpm-breeding-box .ftpm-entry-accordion > summary::after,
.ftpm-price-box .ftpm-entry-accordion > summary::after {
    content: "Öffnen";
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 13px;
    border-radius: 999px;
    background: rgba(37, 99, 235, .08);
    color: var(--ftpm-accent);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.ftpm-stock-box .ftpm-entry-accordion[open] > summary::after,
.ftpm-breeding-box .ftpm-entry-accordion[open] > summary::after,
.ftpm-price-box .ftpm-entry-accordion[open] > summary::after {
    content: "Schließen";
}

/* Mobile: Bestand/Nachzucht wirklich wie Preisempfehlungen einspaltig */
@media (max-width: 640px) {
    .ftpm-stock-box .ftpm-entry-accordion .ftpm-stock-form,
    .ftpm-breeding-box .ftpm-entry-accordion .ftpm-breeding-form {
        padding: 14px !important;
    }

    .ftpm-stock-box .ftpm-stock-form-grid,
    .ftpm-breeding-box .ftpm-breeding-form-grid,
    .ftpm-entry-accordion .ftpm-stock-form-grid,
    .ftpm-entry-accordion .ftpm-breeding-form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        align-items: stretch !important;
    }

    .ftpm-stock-form-grid label,
    .ftpm-breeding-form-grid label,
    .ftpm-stock-note,
    .ftpm-breeding-note {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        display: block !important;
    }

    .ftpm-stock-form input,
    .ftpm-stock-form select,
    .ftpm-stock-form textarea,
    .ftpm-breeding-form input,
    .ftpm-breeding-form select,
    .ftpm-breeding-form textarea {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        min-height: 48px !important;
        font-size: 16px !important;
    }

    .ftpm-stock-form input[type="number"],
    .ftpm-breeding-form input[type="number"] {
        max-width: 100% !important;
    }

    .ftpm-stock-form label span,
    .ftpm-breeding-form label span,
    .ftpm-stock-note span,
    .ftpm-breeding-note span {
        display: block !important;
        margin: 0 0 7px !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        line-height: 1.25 !important;
    }

    .ftpm-stock-submit,
    .ftpm-breeding-submit {
        width: 100% !important;
        margin-top: 16px !important;
    }

    .ftpm-stock-submit button,
    .ftpm-breeding-submit button,
    .ftpm-stock-submit input[type="submit"],
    .ftpm-breeding-submit input[type="submit"] {
        width: 100% !important;
        min-height: 48px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .ftpm-stock-box .ftpm-entry-accordion > summary,
    .ftpm-breeding-box .ftpm-entry-accordion > summary,
    .ftpm-price-box .ftpm-entry-accordion > summary {
        padding: 16px 14px !important;
    }

    .ftpm-stock-box .ftpm-entry-accordion > summary::after,
    .ftpm-breeding-box .ftpm-entry-accordion > summary::after,
    .ftpm-price-box .ftpm-entry-accordion > summary::after {
        min-height: 32px !important;
        padding: 7px 12px !important;
        font-size: .78rem !important;
    }
}

/* Mobile Tabellenfilter: Felder und Buttons auf 100 %, sobald der Platz knapp wird */
@media (max-width: 760px) {
    .ftpm-stock-box .ftpm-filter-form,
    .ftpm-breeding-box .ftpm-filter-form,
    .ftpm-price-box .ftpm-filter-form,
    .ftpm-stock-box .ftpm-filter-grid,
    .ftpm-breeding-box .ftpm-filter-grid,
    .ftpm-price-box .ftpm-filter-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .ftpm-stock-box .ftpm-filter-form input,
    .ftpm-stock-box .ftpm-filter-form select,
    .ftpm-stock-box .ftpm-filter-form button,
    .ftpm-breeding-box .ftpm-filter-form input,
    .ftpm-breeding-box .ftpm-filter-form select,
    .ftpm-breeding-box .ftpm-filter-form button,
    .ftpm-price-box .ftpm-filter-form input,
    .ftpm-price-box .ftpm-filter-form select,
    .ftpm-price-box .ftpm-filter-form button {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* v0.35.34: Dashboard-Metadaten auch am Desktop kompakt und content-first */
.ftpm-dashboard-overview .ftpm-dashboard-list-item,
.ftpm-dashboard-news-panel .ftpm-dashboard-list-item,
.ftpm-dashboard-panel .ftpm-dashboard-list-item {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px 16px;
}

.ftpm-dashboard-overview .ftpm-dashboard-list-meta,
.ftpm-dashboard-news-panel .ftpm-dashboard-list-meta,
.ftpm-dashboard-panel .ftpm-dashboard-list-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px 8px !important;
    min-width: 0 !important;
    text-align: right !important;
    font-size: .82rem !important;
    line-height: 1.3 !important;
    color: #64748b !important;
}

.ftpm-dashboard-news-panel .ftpm-dashboard-published-date strong,
.ftpm-dashboard-news-panel .ftpm-dashboard-list-meta-compact strong,
.ftpm-dashboard-overview .ftpm-dashboard-list-meta strong {
    font-size: .78rem !important;
    color: #334155 !important;
    line-height: 1.2 !important;
}

/* "Veröffentlicht" am Desktop ebenfalls entschärfen: für Screenreader behalten, visuell ausblenden */
.ftpm-dashboard-news-panel .ftpm-dashboard-published-date strong,
.ftpm-dashboard-news-panel .ftpm-dashboard-list-meta-compact strong {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.ftpm-dashboard-news-panel .ftpm-dashboard-published-date time,
.ftpm-dashboard-news-panel .ftpm-dashboard-list-meta-compact time,
.ftpm-dashboard-overview .ftpm-dashboard-row-date,
.ftpm-dashboard-overview .ftpm-dashboard-list-meta time {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 24px !important;
    padding: 3px 9px !important;
    border-radius: 999px !important;
    background: rgba(226, 232, 240, .72) !important;
    color: #475569 !important;
    font-size: .76rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-species-name strong,
.ftpm-dashboard-overview .ftpm-dashboard-post-link strong {
    line-height: 1.18 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-species-name em {
    line-height: 1.25 !important;
}

/* Desktop: Art/Beitrag bekommt spürbar mehr Platz, Meta darf nicht dominieren */
@media (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-list-item,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-item,
    .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        grid-template-columns: minmax(0, 1fr) minmax(96px, auto) !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta,
    .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        max-width: 150px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta span,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta span,
    .ftpm-dashboard-panel .ftpm-dashboard-list-meta span {
        white-space: normal !important;
    }
}

/* Zwischenbreiten: lieber Kartenlogik als gequetschte Zeile */
@media (max-width: 1120px) and (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-list-item,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-item,
    .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta,
    .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        justify-content: flex-start !important;
        text-align: left !important;
        padding-left: 64px !important;
        max-width: none !important;
    }
}


/* v0.35.35: Endgültige Bereinigung mobile Bestand-/Nachzuchtformulare
   Ursache: ältere Regeln schalteten zwischen 641px und 820px weiterhin auf Mehrspalten-Grid.
   Lösung: Formular-Grid in mobilen/tablet-schmale Ansichten bewusst als vertikale Flex-Spalte erzwingen. */
@media (max-width: 820px) {
    .ftpm-internal-area .ftpm-stock-box .ftpm-entry-accordion .ftpm-stock-form-grid,
    .ftpm-internal-area .ftpm-breeding-box .ftpm-entry-accordion .ftpm-breeding-form-grid,
    .ftpm-stock-box .ftpm-entry-accordion .ftpm-stock-form-grid,
    .ftpm-breeding-box .ftpm-entry-accordion .ftpm-breeding-form-grid,
    .ftpm-stock-form.ftpm-stock-form .ftpm-stock-form-grid,
    .ftpm-breeding-form.ftpm-breeding-form .ftpm-breeding-form-grid {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: none !important;
        grid-auto-flow: row !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .ftpm-internal-area .ftpm-stock-form-grid > label,
    .ftpm-internal-area .ftpm-breeding-form-grid > label,
    .ftpm-stock-box .ftpm-stock-form-grid > label,
    .ftpm-breeding-box .ftpm-breeding-form-grid > label,
    .ftpm-stock-form-grid > label,
    .ftpm-breeding-form-grid > label {
        display: block !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-column: auto !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .ftpm-internal-area .ftpm-stock-form-grid > label > span,
    .ftpm-internal-area .ftpm-breeding-form-grid > label > span,
    .ftpm-stock-form-grid > label > span,
    .ftpm-breeding-form-grid > label > span,
    .ftpm-stock-note > span,
    .ftpm-breeding-note > span {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 7px !important;
        line-height: 1.25 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .ftpm-internal-area .ftpm-stock-form-grid > label input,
    .ftpm-internal-area .ftpm-stock-form-grid > label select,
    .ftpm-internal-area .ftpm-breeding-form-grid > label input,
    .ftpm-internal-area .ftpm-breeding-form-grid > label select,
    .ftpm-stock-form-grid > label input,
    .ftpm-stock-form-grid > label select,
    .ftpm-breeding-form-grid > label input,
    .ftpm-breeding-form-grid > label select,
    .ftpm-stock-note textarea,
    .ftpm-breeding-note textarea {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        min-height: 48px !important;
        font-size: 16px !important;
    }

    .ftpm-stock-note,
    .ftpm-breeding-note {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin-top: 14px !important;
    }

    .ftpm-stock-submit,
    .ftpm-breeding-submit,
    .ftpm-stock-submit button,
    .ftpm-breeding-submit button,
    .ftpm-stock-submit input[type="submit"],
    .ftpm-breeding-submit input[type="submit"] {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}


/* v0.35.36: Bestand/Nachzucht Accordion-Schalter wie Preisempfehlungen, kein Toggle-Kreis */
.ftpm-stock-box .ftpm-entry-accordion > summary,
.ftpm-breeding-box .ftpm-entry-accordion > summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    list-style: none !important;
}

.ftpm-stock-box .ftpm-entry-accordion > summary::-webkit-details-marker,
.ftpm-breeding-box .ftpm-entry-accordion > summary::-webkit-details-marker {
    display: none !important;
}

/* alte kleine Toggle-Punkte/Kreise neutralisieren */
.ftpm-stock-box .ftpm-entry-accordion > summary::before,
.ftpm-breeding-box .ftpm-entry-accordion > summary::before {
    content: none !important;
    display: none !important;
}

.ftpm-stock-box .ftpm-entry-accordion > summary::after,
.ftpm-breeding-box .ftpm-entry-accordion > summary::after {
    content: "Öffnen" !important;
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 7px 13px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(37, 99, 235, .08) !important;
    color: var(--ast-global-color-0, #2563eb) !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.ftpm-stock-box .ftpm-entry-accordion[open] > summary::after,
.ftpm-breeding-box .ftpm-entry-accordion[open] > summary::after {
    content: "Schließen" !important;
}

/* aktualisierte Zeiten: Sekunden ausblenden, falls Altmarkup noch 09:49:35 enthält */
.ftpm-date-stack-time {
    white-space: nowrap !important;
}

@media (max-width: 640px) {
    .ftpm-stock-box .ftpm-entry-accordion > summary::after,
    .ftpm-breeding-box .ftpm-entry-accordion > summary::after {
        min-height: 32px !important;
        padding: 7px 12px !important;
        font-size: .78rem !important;
    }
}


/* v0.35.37: Mitteilungen mobil aufräumen */
.ftpm-member-message-compose-generic .ftpm-member-message-compose-head > span,
.ftpm-member-message-compose .ftpm-member-message-compose-head > span {
    display: none !important;
}

.ftpm-message-subnav a.is-compose {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

.ftpm-message-subnav a.is-compose > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

.ftpm-message-subnav a.is-compose > span::before {
    content: "✎";
    display: inline-block;
    line-height: 1;
    flex: 0 0 auto;
}

@media (max-width: 640px) {
    .ftpm-message-subnav a.is-compose {
        min-height: 52px !important;
        padding: 13px 14px !important;
        width: auto !important;
        justify-content: center !important;
    }

    .ftpm-message-subnav a.is-compose > span {
        font-size: .96rem !important;
        line-height: 1.15 !important;
    }
}

@media (max-width: 380px) {
    .ftpm-message-subnav {
        grid-template-columns: 1fr 1fr !important;
    }

    .ftpm-message-subnav a.is-compose > span {
        font-size: .9rem !important;
    }
}


/* v0.35.38: Zeitraumfilter ruhiger ausrichten */
.ftpm-stock-box .ftpm-period-filter input,
.ftpm-stock-box .ftpm-period-filter select,
.ftpm-breeding-box .ftpm-period-filter input,
.ftpm-breeding-box .ftpm-period-filter select,
.ftpm-price-box .ftpm-period-filter input,
.ftpm-price-box .ftpm-period-filter select {
    min-height: 48px !important;
    height: 48px !important;
    line-height: 1.2 !important;
}

.ftpm-stock-box .ftpm-period-filter-button,
.ftpm-breeding-box .ftpm-period-filter-button,
.ftpm-price-box .ftpm-period-filter-button,
.ftpm-stock-box .ftpm-period-filter button,
.ftpm-breeding-box .ftpm-period-filter button,
.ftpm-price-box .ftpm-period-filter button {
    min-height: 48px !important;
    height: 48px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
}

@media (max-width: 760px) {
    .ftpm-stock-box .ftpm-period-filter-button,
    .ftpm-breeding-box .ftpm-period-filter-button,
    .ftpm-price-box .ftpm-period-filter-button,
    .ftpm-stock-box .ftpm-period-filter button,
    .ftpm-breeding-box .ftpm-period-filter button,
    .ftpm-price-box .ftpm-period-filter button {
        width: 100% !important;
    }
}


/* v0.35.39: Mobile Karten Bestand/Nachzucht sauberer ausrichten */
@media (max-width: 900px) {
    .ftpm-js-community-card .ftpm-community-card-facts > div {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: start !important;
        padding: 10px 0 !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts dt {
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts dd {
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .ftpm-stock-card-list .ftpm-community-card-facts > div,
    .ftpm-breeding-card-list .ftpm-community-card-facts > div {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 380px) {
    .ftpm-js-community-card {
        padding: 12px !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts > div {
        grid-template-columns: 92px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts dt {
        font-size: .82rem !important;
    }
}


/* v0.35.40: Mobile Bestand-/Nachzuchtkarten aus Tabellen stabilisieren */
@media (max-width: 900px) {
    .ftpm-js-community-card .ftpm-community-card-head {
        display: block !important;
        margin: 0 !important;
        padding: 0 0 12px !important;
        border-bottom: 1px solid rgba(15,23,42,.07) !important;
    }

    .ftpm-js-community-card .ftpm-community-card-head .ftpm-member-species {
        display: grid !important;
        grid-template-columns: 54px minmax(0,1fr) !important;
        gap: .75rem !important;
        align-items: center !important;
        width: 100% !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts {
        display: grid !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts > div {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 5px !important;
        padding: 12px 0 !important;
        border-top: 0 !important;
        border-bottom: 1px solid rgba(15,23,42,.07) !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts > div:last-child {
        border-bottom: 0 !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts dt,
    .ftpm-js-community-card .ftpm-community-card-facts dd {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts dt {
        color: #64748b !important;
        font-size: .82rem !important;
        font-weight: 900 !important;
        line-height: 1.25 !important;
    }

    .ftpm-js-community-card .ftpm-community-card-facts dd {
        color: #0f172a !important;
        font-size: .96rem !important;
        line-height: 1.35 !important;
        overflow-wrap: anywhere !important;
    }

    .ftpm-js-community-card .ftpm-table-mini-stack,
    .ftpm-js-community-card .ftpm-table-mini-stack span {
        display: grid !important;
        gap: 2px !important;
        align-items: start !important;
    }

    .ftpm-js-community-card .ftpm-table-mini-stack span + span {
        margin-top: 6px !important;
    }

    .ftpm-js-community-card .ftpm-table-mini-stack strong {
        font-size: .78rem !important;
        color: #64748b !important;
        line-height: 1.2 !important;
    }

    .ftpm-js-community-card .ftpm-table-mini-stack em {
        font-style: normal !important;
        color: #0f172a !important;
        line-height: 1.3 !important;
    }
}


/* v0.35.41: Bestand/Nachzucht-Karten robust erzeugen und alte Tabellenkarten vermeiden */
@media (max-width: 900px) {
    .ftpm-stock-box .ftpm-stock-table-wrap.ftpm-has-js-cards table.ftpm-stock-compact-table,
    .ftpm-breeding-box .ftpm-stock-table-wrap.ftpm-has-js-cards table.ftpm-breeding-compact-table {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ftpm-stock-box .ftpm-stock-table-wrap.ftpm-has-js-cards .ftpm-js-card-list,
    .ftpm-breeding-box .ftpm-stock-table-wrap.ftpm-has-js-cards .ftpm-js-card-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 14px 0 0 !important;
        padding: 0 !important;
    }

    .ftpm-stock-box .ftpm-js-community-card,
    .ftpm-breeding-box .ftpm-js-community-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 14px !important;
        border: 1px solid rgba(148, 163, 184, .35) !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 10px 22px rgba(15, 23, 42, .045) !important;
        box-sizing: border-box !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-head,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-head {
        order: -10 !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 0 12px !important;
        border-bottom: 1px solid rgba(15,23,42,.07) !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-facts,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-facts {
        display: grid !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-facts > div,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-facts > div {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 5px !important;
        padding: 12px 0 !important;
        border-top: 0 !important;
        border-bottom: 1px solid rgba(15,23,42,.07) !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-facts dt,
    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-facts dd,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-facts dt,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-facts dd {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        grid-column: auto !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-facts dt,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-facts dt {
        color: #64748b !important;
        font-size: .82rem !important;
        font-weight: 900 !important;
        line-height: 1.25 !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-facts dd,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-facts dd {
        color: #0f172a !important;
        font-size: .96rem !important;
        line-height: 1.35 !important;
        overflow-wrap: anywhere !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-table-mini-stack,
    .ftpm-stock-box .ftpm-js-community-card .ftpm-table-mini-stack span,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-table-mini-stack,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-table-mini-stack span {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 2px !important;
    }
}


/* v0.35.42: Mobile Karteninhalte nicht mehr plattziehen */
@media (max-width: 900px) {
    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-head .ftpm-species-cell,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-head .ftpm-species-cell {
        display: grid !important;
        grid-template-columns: 54px minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-head .ftpm-species-name,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-head .ftpm-species-name {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-head .ftpm-species-name-main,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-head .ftpm-species-name-main,
    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-head .ftpm-species-name a,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-head .ftpm-species-name a {
        display: block !important;
        max-width: 100% !important;
        line-height: 1.18 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-head .ftpm-species-name-scientific,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-head .ftpm-species-name-scientific,
    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-head em,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-head em {
        display: block !important;
        line-height: 1.25 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-facts dd .ftpm-table-mini-stack,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-facts dd .ftpm-table-mini-stack {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-facts dd .ftpm-table-mini-stack span,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-facts dd .ftpm-table-mini-stack span {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 2px !important;
        width: 100% !important;
        min-width: 0 !important;
        line-height: 1.35 !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-facts dd .ftpm-table-mini-stack strong,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-facts dd .ftpm-table-mini-stack strong {
        display: block !important;
        margin: 0 !important;
        color: #64748b !important;
        font-size: .78rem !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-community-card-facts dd .ftpm-table-mini-stack em,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-community-card-facts dd .ftpm-table-mini-stack em {
        display: block !important;
        margin: 0 !important;
        color: #0f172a !important;
        font-style: normal !important;
        line-height: 1.35 !important;
    }

    .ftpm-stock-box .ftpm-js-community-card .ftpm-date-stack,
    .ftpm-breeding-box .ftpm-js-community-card .ftpm-date-stack {
        display: grid !important;
        gap: 2px !important;
    }
}



/* v0.35.43 Preisempfehlungen: Aktionen und Inline-Bearbeitung wie Bestand/Nachzucht */
.ftpm-price-mobile-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(15, 23, 42, .07) !important;
}

.ftpm-price-mobile-actions form,
.ftpm-price-mobile-actions button {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.ftpm-price-mobile-edit-toggle,
.ftpm-price-mobile-save {
    min-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.ftpm-price-mobile-delete {
    margin: 0 !important;
}

.ftpm-price-mobile-delete-button,
.ftpm-price-mobile-delete .button-link-delete,
.ftpm-price-mobile-delete button {
    min-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: var(--ast-button-radius, 10px) !important;
}

.ftpm-price-mobile-edit-panel {
    margin-top: 14px !important;
    padding: 14px !important;
    border: 1px solid rgba(37, 99, 235, .18) !important;
    border-radius: 14px !important;
    background: #f8fbff !important;
}

.ftpm-price-mobile-edit-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin: 0 !important;
}

.ftpm-price-mobile-edit-form label {
    display: grid !important;
    gap: 7px !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

.ftpm-price-mobile-edit-form input,
.ftpm-price-mobile-edit-form select,
.ftpm-price-mobile-edit-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
}

.ftpm-price-mobile-edit-form textarea {
    min-height: 92px !important;
}

@media (min-width: 821px) {
    .ftpm-price-mobile-edit-panel {
        max-width: 720px !important;
    }
}


/* v0.35.44: Preisempfehlungen Bearbeiten-Button blau/Astra-akzentfarben */
.ftpm-price-mobile-edit-toggle,
.ftpm-price-mobile-save {
    background: var(--ast-global-color-0, #2563eb) !important;
    border-color: var(--ast-global-color-0, #2563eb) !important;
    color: var(--ast-global-color-5, #ffffff) !important;
    text-decoration: none !important;
}

.ftpm-price-mobile-edit-toggle:hover,
.ftpm-price-mobile-edit-toggle:focus,
.ftpm-price-mobile-save:hover,
.ftpm-price-mobile-save:focus {
    background: var(--ast-global-color-1, #1d4ed8) !important;
    border-color: var(--ast-global-color-1, #1d4ed8) !important;
    color: var(--ast-global-color-5, #ffffff) !important;
}


/* v0.35.45: Dashboard-Kennzahlen moderner zentrieren und Listenmetas einzeilig halten */
.ftpm-dashboard-stats,
.ftpm-dashboard-stat-grid,
.ftpm-internal-dashboard .ftpm-stat-grid,
.ftpm-internal-dashboard .ftpm-dashboard-metrics {
    align-items: stretch !important;
}

.ftpm-dashboard-stat,
.ftpm-dashboard-metric,
.ftpm-internal-dashboard .ftpm-stat-card,
.ftpm-internal-dashboard .ftpm-dashboard-card.is-stat {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 118px !important;
}

.ftpm-dashboard-stat strong,
.ftpm-dashboard-stat .ftpm-dashboard-stat-value,
.ftpm-dashboard-metric strong,
.ftpm-dashboard-metric .ftpm-dashboard-metric-value,
.ftpm-internal-dashboard .ftpm-stat-card strong,
.ftpm-internal-dashboard .ftpm-stat-card .ftpm-stat-value,
.ftpm-internal-dashboard [data-ftpm-countup] {
    display: block !important;
    text-align: center !important;
    font-size: clamp(2rem, 4.5vw, 3rem) !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
    margin: 6px 0 8px !important;
    font-variant-numeric: tabular-nums !important;
}

.ftpm-dashboard-stat span,
.ftpm-dashboard-stat p,
.ftpm-dashboard-metric span,
.ftpm-dashboard-metric p,
.ftpm-internal-dashboard .ftpm-stat-card span,
.ftpm-internal-dashboard .ftpm-stat-card p {
    text-align: center !important;
}

/* Übersicht: Bestand / Nachzuchten rechts nicht umbrechen lassen */
.ftpm-dashboard-overview .ftpm-dashboard-list-meta,
.ftpm-dashboard-panel .ftpm-dashboard-list-meta,
.ftpm-dashboard-news-panel .ftpm-dashboard-list-meta {
    min-width: 142px !important;
    max-width: 168px !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-list-meta > strong,
.ftpm-dashboard-overview .ftpm-dashboard-list-meta > span:first-child,
.ftpm-dashboard-panel .ftpm-dashboard-list-meta > strong,
.ftpm-dashboard-panel .ftpm-dashboard-list-meta > span:first-child,
.ftpm-dashboard-news-panel .ftpm-dashboard-list-meta > strong,
.ftpm-dashboard-news-panel .ftpm-dashboard-list-meta > span:first-child {
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    width: 100% !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    line-height: 1.15 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-list-meta strong,
.ftpm-dashboard-panel .ftpm-dashboard-list-meta strong,
.ftpm-dashboard-news-panel .ftpm-dashboard-list-meta strong {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-row-count,
.ftpm-dashboard-panel .ftpm-dashboard-row-count,
.ftpm-dashboard-news-panel .ftpm-dashboard-row-count {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

/* Desktop: Listenzeilen geben der Meta-Spalte genug Platz, statt dort zu quetschen */
@media (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-list-item,
    .ftpm-dashboard-panel .ftpm-dashboard-list-item,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-item {
        grid-template-columns: minmax(0, 1fr) minmax(150px, 170px) !important;
        gap: 14px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta,
    .ftpm-dashboard-panel .ftpm-dashboard-list-meta,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta {
        justify-content: flex-end !important;
        text-align: right !important;
        max-width: none !important;
    }
}

/* Bei mittleren Breiten lieber Meta unter den Inhalt setzen */
@media (max-width: 1080px) and (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-list-item,
    .ftpm-dashboard-panel .ftpm-dashboard-list-item,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-item {
        grid-template-columns: 1fr !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta,
    .ftpm-dashboard-panel .ftpm-dashboard-list-meta,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta {
        justify-content: flex-start !important;
        text-align: left !important;
        padding-left: 66px !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta > strong,
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta > span:first-child,
    .ftpm-dashboard-panel .ftpm-dashboard-list-meta > strong,
    .ftpm-dashboard-panel .ftpm-dashboard-list-meta > span:first-child,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta > strong,
    .ftpm-dashboard-news-panel .ftpm-dashboard-list-meta > span:first-child {
        justify-content: flex-start !important;
        width: auto !important;
    }
}


/* v0.35.46: echte Dashboard-Kennzahlenkarten zentrieren */
.ftpm-dashboard-overview .ftpm-dashboard-stat-grid {
    align-items: stretch !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-stat-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 8px !important;
    min-height: 130px !important;
    padding: 22px 16px !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-stat-card .ftpm-dashboard-stat-label,
.ftpm-dashboard-overview .ftpm-dashboard-stat-card strong,
.ftpm-dashboard-overview .ftpm-dashboard-stat-card small {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-stat-card strong {
    font-size: clamp(2.35rem, 4vw, 3.25rem) !important;
    line-height: .95 !important;
    margin: 2px 0 4px !important;
    letter-spacing: -0.055em !important;
    font-variant-numeric: tabular-nums !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-stat-card small {
    max-width: 100% !important;
    margin: 0 auto !important;
    line-height: 1.35 !important;
}

@media (max-width: 620px) {
    .ftpm-dashboard-overview .ftpm-dashboard-stat-card {
        min-height: 124px !important;
        padding: 20px 14px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-stat-card strong {
        font-size: 2.55rem !important;
    }
}


/* v0.35.47: Dashboard-Meldungslisten mobil wieder ruhiger darstellen */
@media (max-width: 620px) {
    .ftpm-dashboard-overview .ftpm-dashboard-section-grid .ftpm-dashboard-list-item,
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 16px 18px !important;
        align-items: start !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-species-link {
        display: grid !important;
        grid-template-columns: 54px minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: center !important;
        width: 100% !important;
        text-align: left !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-species-name,
    .ftpm-dashboard-overview .ftpm-dashboard-species-name strong,
    .ftpm-dashboard-overview .ftpm-dashboard-species-name em {
        text-align: left !important;
        justify-items: start !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 4px !important;
        justify-items: start !important;
        align-items: start !important;
        text-align: left !important;
        padding-left: 66px !important;
        min-width: 0 !important;
        max-width: none !important;
        width: 100% !important;
        font-size: .88rem !important;
        line-height: 1.35 !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta > strong,
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta > span:first-child {
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        justify-content: flex-start !important;
        align-items: baseline !important;
        gap: 4px !important;
        white-space: nowrap !important;
        text-align: left !important;
        line-height: 1.25 !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-list-meta span,
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta strong {
        text-align: left !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-row-ratio,
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta .ftpm-dashboard-row-ratio {
        display: block !important;
        width: auto !important;
        white-space: nowrap !important;
        color: #64748b !important;
        line-height: 1.25 !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-row-date,
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta time,
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta .ftpm-dashboard-date-pill {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-height: 24px !important;
        padding: 3px 9px !important;
        margin: 2px 0 0 !important;
        border-radius: 999px !important;
        background: rgba(226, 232, 240, .72) !important;
        color: #475569 !important;
        font-size: .76rem !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        text-align: left !important;
    }
}

/* Sehr schmale Ansicht: Meta lieber ohne Bild-Einzug, damit nichts gequetscht wird */
@media (max-width: 360px) {
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta {
        padding-left: 0 !important;
    }
}


/* v0.35.49: Melder in Dashboard-Übersicht anzeigen */
.ftpm-dashboard-overview .ftpm-dashboard-reporter {
    color: #475569 !important;
    font-size: .84rem !important;
    line-height: 1.25 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-reporter strong {
    color: #334155 !important;
    font-weight: 900 !important;
}

@media (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-reporter {
        white-space: normal !important;
    }
}

@media (max-width: 620px) {
    .ftpm-dashboard-overview .ftpm-dashboard-reporter {
        display: block !important;
        width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
}


/* v0.35.50: Dashboard-Meta ruhiger sortieren und dezenter gestalten */
.ftpm-dashboard-overview .ftpm-dashboard-list-meta {
    gap: 3px !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-row-count strong,
.ftpm-dashboard-overview .ftpm-dashboard-row-ratio strong,
.ftpm-dashboard-overview .ftpm-dashboard-reporter strong {
    color: #334155 !important;
    font-weight: 850 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-row-count {
    color: #334155 !important;
    font-weight: 500 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-row-ratio {
    color: #64748b !important;
    font-size: .86rem !important;
    font-weight: 500 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-reporter {
    color: #64748b !important;
    font-size: .82rem !important;
    font-weight: 500 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-row-date {
    background: rgba(226, 232, 240, .58) !important;
    color: #64748b !important;
    font-size: .72rem !important;
    font-weight: 750 !important;
    min-height: 22px !important;
    padding: 2px 8px !important;
    margin-top: 3px !important;
    box-shadow: none !important;
}

/* Desktop: Meta bleibt rechts sauber, aber weniger dominant */
@media (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta {
        align-content: center !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-reporter {
        white-space: normal !important;
    }
}

/* Mobil: Meldungsdaten klar linksbündig, fachliche Reihenfolge bleibt ruhig lesbar */
@media (max-width: 620px) {
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta {
        gap: 4px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-row-count,
    .ftpm-dashboard-overview .ftpm-dashboard-row-ratio,
    .ftpm-dashboard-overview .ftpm-dashboard-reporter {
        display: block !important;
        width: 100% !important;
        line-height: 1.25 !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-row-date {
        justify-self: start !important;
        margin-top: 4px !important;
    }
}


/* v0.35.51: Dashboard-Meta in ruhiger Label/Wert-Spalte ausrichten */
.ftpm-dashboard-overview .ftpm-dashboard-row-count,
.ftpm-dashboard-overview .ftpm-dashboard-row-ratio,
.ftpm-dashboard-overview .ftpm-dashboard-reporter {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    column-gap: 8px !important;
    align-items: baseline !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-row-count strong,
.ftpm-dashboard-overview .ftpm-dashboard-row-ratio strong,
.ftpm-dashboard-overview .ftpm-dashboard-reporter strong {
    grid-column: 1 !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    text-align: left !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-row-count,
.ftpm-dashboard-overview .ftpm-dashboard-row-ratio,
.ftpm-dashboard-overview .ftpm-dashboard-reporter {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-list-meta {
    justify-items: stretch !important;
}

/* Desktop: rechte Meta-Spalte darf schmaler bleiben, aber innen sauber tabellarisch wirken */
@media (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta {
        min-width: 172px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-row-count,
    .ftpm-dashboard-overview .ftpm-dashboard-row-ratio,
    .ftpm-dashboard-overview .ftpm-dashboard-reporter {
        grid-template-columns: 88px minmax(0, 1fr) !important;
    }
}

/* Mobil: identische Einrückung für Bestand/Nachzucht, M/W/? und Melder */
@media (max-width: 620px) {
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta {
        padding-left: 66px !important;
        gap: 3px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-row-count,
    .ftpm-dashboard-overview .ftpm-dashboard-row-ratio,
    .ftpm-dashboard-overview .ftpm-dashboard-reporter {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        column-gap: 7px !important;
        line-height: 1.25 !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-row-date {
        margin-left: 0 !important;
    }
}

@media (max-width: 360px) {
    .ftpm-dashboard-overview .ftpm-dashboard-list-meta {
        padding-left: 0 !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-row-count,
    .ftpm-dashboard-overview .ftpm-dashboard-row-ratio,
    .ftpm-dashboard-overview .ftpm-dashboard-reporter {
        grid-template-columns: 92px minmax(0, 1fr) !important;
    }
}


/* v0.35.52: Dashboard-Meldungen strukturell sauber als Label/Wert-Block */
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
    align-items: center !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3px !important;
    justify-items: stretch !important;
    align-items: start !important;
    align-content: center !important;
    text-align: left !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    column-gap: 8px !important;
    align-items: baseline !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    line-height: 1.25 !important;
    text-align: left !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-label {
    display: block !important;
    grid-column: 1 !important;
    color: #0f172a !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    text-align: left !important;
    line-height: 1.25 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-value {
    display: block !important;
    grid-column: 2 !important;
    color: #475569 !important;
    font-size: .88rem !important;
    font-weight: 500 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-row-date {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 22px !important;
    padding: 2px 8px !important;
    margin: 3px 0 0 !important;
    border-radius: 999px !important;
    background: rgba(226, 232, 240, .58) !important;
    color: #64748b !important;
    font-size: .72rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

/* Desktop: links Art, rechts ruhige Datenbox; keine quetschenden Vorgänger-Regeln */
@media (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(190px, 220px) !important;
        gap: 18px !important;
        padding: 18px 20px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-link {
        display: grid !important;
        grid-template-columns: 58px minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: center !important;
        text-align: left !important;
        min-width: 0 !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        justify-self: stretch !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }
}

/* Zwischenbreite: Meta unter die Art, aber weiterhin sauber tabellarisch */
@media (max-width: 1080px) and (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 70px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row {
        grid-template-columns: 104px minmax(0, 1fr) !important;
    }
}

/* Mobil: Bild/Art oben, Daten darunter eingerückt auf Bildkante */
@media (max-width: 620px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 16px 18px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-link {
        display: grid !important;
        grid-template-columns: 54px minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: center !important;
        width: 100% !important;
        text-align: left !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-name,
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-name strong,
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-name em {
        text-align: left !important;
        justify-items: start !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 66px !important;
        gap: 4px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row {
        grid-template-columns: 104px minmax(0, 1fr) !important;
        column-gap: 7px !important;
    }
}

@media (max-width: 390px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 66px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        column-gap: 6px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-label {
        font-size: .78rem !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-value {
        font-size: .84rem !important;
    }
}

@media (max-width: 340px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 0 !important;
    }
}


/* v0.35.53: Dashboard-Meldungen als ruhige Karten aufbauen
   Aufbau: oben Artblock + Datum, darunter Meta-Details über volle Breite. */
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
        "species date"
        "meta meta" !important;
    gap: 10px 14px !important;
    align-items: start !important;
    padding: 18px 20px !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-link {
    grid-area: species !important;
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
    text-align: left !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-name,
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-name strong,
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-name em {
    text-align: left !important;
    min-width: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
    grid-area: meta !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-left: 70px !important;
    margin: 0 !important;
    text-align: left !important;
    justify-items: stretch !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    column-gap: 8px !important;
    align-items: baseline !important;
    width: 100% !important;
    line-height: 1.25 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row-date {
    grid-area: date !important;
    align-self: start !important;
    justify-self: end !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row-date .ftpm-dashboard-meta-label {
    display: none !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row-date .ftpm-dashboard-meta-value {
    grid-column: 1 / -1 !important;
    display: flex !important;
    justify-content: flex-end !important;
    width: auto !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-row-date {
    margin: 0 !important;
    min-height: 24px !important;
    padding: 3px 9px !important;
    background: rgba(226, 232, 240, .62) !important;
    color: #64748b !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

/* Desktop: keine rechte Meta-Spalte mehr, dadurch keine Überschneidung */
@media (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "species date"
            "meta meta" !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 70px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row {
        grid-template-columns: 112px minmax(0, 1fr) !important;
    }
}

/* Tablet-Zwischenbreite: identischer Kartenaufbau */
@media (max-width: 1080px) and (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 10px 12px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 70px !important;
    }
}

/* Mobil bleibt ruhig: Bild/Name oben, Datum oben rechts, Details darunter */
@media (max-width: 620px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "species date"
            "meta meta" !important;
        gap: 10px 10px !important;
        padding: 16px 18px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-link {
        grid-template-columns: 54px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 66px !important;
        gap: 4px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row {
        grid-template-columns: 104px minmax(0, 1fr) !important;
        column-gap: 7px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-row-date {
        font-size: .7rem !important;
        padding: 3px 8px !important;
    }
}

@media (max-width: 390px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "species"
            "date"
            "meta" !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row-date {
        justify-self: start !important;
        padding-left: 66px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 66px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }
}

@media (max-width: 340px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row-date,
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 0 !important;
    }
}


/* v0.35.54: Dashboard-Meldungskarten robust beruhigen
   Reset nach mehreren alten Grid-Regeln: keine 3-Spalten-Meta mehr, keine Überschneidung. */
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "species date"
        "meta meta" !important;
    gap: 10px 12px !important;
    align-items: start !important;
    padding: 18px 20px !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-link {
    grid-area: species !important;
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
    width: 100% !important;
    text-align: left !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
    grid-area: meta !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-left: 70px !important;
    margin: 0 !important;
    justify-items: start !important;
    text-align: left !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    align-items: baseline !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    line-height: 1.3 !important;
    grid-template-columns: none !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-label,
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-value {
    display: inline !important;
    grid-column: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    line-height: 1.3 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-label {
    flex: 0 0 auto !important;
    color: #0f172a !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-value {
    flex: 1 1 auto !important;
    color: #475569 !important;
    font-size: .88rem !important;
    font-weight: 500 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row-date {
    grid-area: date !important;
    display: block !important;
    justify-self: end !important;
    align-self: start !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row-date .ftpm-dashboard-meta-label {
    display: none !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row-date .ftpm-dashboard-meta-value {
    display: block !important;
    width: auto !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-row-date {
    display: inline-flex !important;
    width: auto !important;
    min-height: 22px !important;
    padding: 2px 8px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: rgba(226, 232, 240, .62) !important;
    color: #64748b !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* Desktop: Details unter dem Artblock, damit nichts mit Namen/Datum kollidiert */
@media (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "species date"
            "meta meta" !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 70px !important;
    }
}

/* Mobil: Bei normaler Handybreite Datum oben rechts, Details eingerückt unter Bildkante */
@media (max-width: 620px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        padding: 16px 18px !important;
        gap: 10px 10px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-species-link {
        grid-template-columns: 54px minmax(0, 1fr) !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta {
        padding-left: 66px !important;
    }
}

/* Sehr schmal: Datum und Details untereinander, damit keine Wörter zerfallen */
@media (max-width: 390px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-item {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "species"
            "date"
            "meta" !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row-date {
        justify-self: start !important;
        padding-left: 66px !important;
    }
}

@media (max-width: 340px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-list-meta,
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-meta-row-date {
        padding-left: 0 !important;
    }
}


/* v0.35.55: Neueste Bestands-/Nachzuchtmeldungen stabil neu aufgebaut
   Neue eigene Klassen, damit ältere Dashboard-CSS-Regeln nicht mehr dazwischenfunken. */
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 18px 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-card:last-child {
    border-bottom: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-species {
    min-width: 0 !important;
    max-width: 100% !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-species .ftpm-dashboard-species-link {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
    width: 100% !important;
    text-align: left !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-species .ftpm-dashboard-species-name,
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-species .ftpm-dashboard-species-name strong,
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-species .ftpm-dashboard-species-name em {
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: none !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-date {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    min-height: 24px !important;
    padding: 3px 9px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: rgba(226, 232, 240, .68) !important;
    color: #64748b !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-facts {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 0 0 70px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-fact {
    display: grid !important;
    grid-template-columns: 108px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: baseline !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.28 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-fact dt,
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-fact dd {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
    line-height: 1.28 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-fact dt {
    color: #0f172a !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-fact dd {
    color: #475569 !important;
    font-size: .88rem !important;
    font-weight: 500 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

/* Bei den zwei Spalten des Dashboards lieber Kartenhöhe sauber statt gequetschte horizontale Meta-Spalte. */
@media (min-width: 821px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-card {
        padding: 18px 20px !important;
    }
}

/* Mobil bleibt gleiches stabiles Muster; Datum oben rechts, bei zu enger Breite darunter. */
@media (max-width: 620px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-card {
        padding: 16px 18px !important;
        gap: 11px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-top {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 10px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-species .ftpm-dashboard-species-link {
        grid-template-columns: 54px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-facts {
        padding-left: 66px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-fact {
        grid-template-columns: 104px minmax(0, 1fr) !important;
        gap: 7px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-date {
        font-size: .7rem !important;
        padding: 3px 8px !important;
    }
}

@media (max-width: 390px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-top {
        grid-template-columns: 1fr !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-date {
        justify-self: start !important;
        margin-left: 66px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-fact {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }
}

@media (max-width: 340px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-date,
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-facts {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
}


/* v0.35.56: Dashboard-Meldungen typografisch leichter machen */
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-species .ftpm-dashboard-species-name strong {
    font-weight: 850 !important;
    letter-spacing: -0.01em !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-species .ftpm-dashboard-species-name em {
    color: #64748b !important;
    font-size: .88rem !important;
    font-weight: 500 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-fact dt {
    color: #334155 !important;
    font-size: .8rem !important;
    font-weight: 760 !important;
    letter-spacing: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-fact dd {
    color: #475569 !important;
    font-size: .86rem !important;
    font-weight: 500 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-date {
    background: rgba(226, 232, 240, .54) !important;
    color: #64748b !important;
    font-size: .69rem !important;
    font-weight: 760 !important;
    padding: 3px 8px !important;
}

/* Etwas mehr optische Luft zwischen Artblock und Details */
.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-card {
    gap: 14px !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-facts {
    gap: 3px !important;
}

/* Mobile: Labels noch etwas ruhiger, damit die Karten weniger schwer wirken */
@media (max-width: 620px) {
    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-fact dt {
        font-size: .78rem !important;
        font-weight: 740 !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-fact dd {
        font-size: .84rem !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-panel .ftpm-dashboard-report-date {
        font-size: .68rem !important;
    }
}


/* v0.35.58: Dashboard Neue Beiträge / Neue Steckbriefe an Meldungskarten angleichen */
.ftpm-dashboard-overview .ftpm-dashboard-news-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-news-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 18px 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-news-card:last-child {
    border-bottom: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-news-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-news-main {
    min-width: 0 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-news-main .ftpm-dashboard-species-link,
.ftpm-dashboard-overview .ftpm-dashboard-news-post-link {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
    width: 100% !important;
    text-align: left !important;
    text-decoration: none !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-news-main .ftpm-dashboard-species-name,
.ftpm-dashboard-overview .ftpm-dashboard-news-post-link .ftpm-dashboard-species-name,
.ftpm-dashboard-overview .ftpm-dashboard-news-main .ftpm-dashboard-species-name strong,
.ftpm-dashboard-overview .ftpm-dashboard-news-post-link .ftpm-dashboard-species-name strong,
.ftpm-dashboard-overview .ftpm-dashboard-news-main .ftpm-dashboard-species-name em,
.ftpm-dashboard-overview .ftpm-dashboard-news-post-link .ftpm-dashboard-species-name em {
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: none !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-news-date {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    min-height: 24px !important;
    padding: 3px 9px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: rgba(226, 232, 240, .58) !important;
    color: #64748b !important;
    font-size: .7rem !important;
    font-weight: 760 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-news-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    align-items: baseline !important;
    padding-left: 70px !important;
    color: #64748b !important;
    font-size: .82rem !important;
    line-height: 1.3 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-news-meta-label {
    color: #334155 !important;
    font-weight: 740 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-news-meta-value {
    color: #475569 !important;
    font-weight: 500 !important;
}

.ftpm-dashboard-overview .ftpm-dashboard-news-post-link .ftpm-dashboard-post-icon {
    width: 54px !important;
    height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 620px) {
    .ftpm-dashboard-overview .ftpm-dashboard-news-card {
        padding: 16px 18px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-news-top {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 10px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-news-main .ftpm-dashboard-species-link,
    .ftpm-dashboard-overview .ftpm-dashboard-news-post-link {
        grid-template-columns: 54px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-news-meta {
        padding-left: 66px !important;
        font-size: .8rem !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-news-date {
        font-size: .68rem !important;
        padding: 3px 8px !important;
    }
}

@media (max-width: 390px) {
    .ftpm-dashboard-overview .ftpm-dashboard-news-top {
        grid-template-columns: 1fr !important;
    }

    .ftpm-dashboard-overview .ftpm-dashboard-news-date {
        justify-self: start !important;
        margin-left: 66px !important;
    }
}

@media (max-width: 340px) {
    .ftpm-dashboard-overview .ftpm-dashboard-news-date,
    .ftpm-dashboard-overview .ftpm-dashboard-news-meta {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
}


/* v0.35.59: Single-Steckbrief Breadcrumb stabilisieren */
.ftpm-single-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    max-width: 1120px;
    margin: 0 auto 18px;
    padding: 10px 16px;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 999px;
    background: rgba(248, 250, 252, .92);
    color: #64748b;
    font-size: .86rem;
    line-height: 1.25;
}

.ftpm-single-breadcrumb a {
    color: var(--ast-global-color-0, #2563eb);
    text-decoration: none;
    font-weight: 700;
}

.ftpm-single-breadcrumb a:hover,
.ftpm-single-breadcrumb a:focus {
    text-decoration: underline;
}

.ftpm-single-breadcrumb span[aria-current="page"] {
    color: #334155;
    font-weight: 600;
}

@media (max-width: 640px) {
    .ftpm-single-breadcrumb {
        border-radius: 14px;
        margin-bottom: 14px;
        font-size: .82rem;
    }
}


/* v0.35.63: Downloadverwaltung Mehrsprachige Felder */
.ftpm-download-ml-field {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: 12px;
    background: #f8fafc;
}

.ftpm-download-ml-field legend {
    padding: 0 4px;
    font-weight: 800;
}

.ftpm-download-ml-field label {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    margin: 0;
}

.ftpm-download-ml-field label span {
    font-weight: 800;
    color: #64748b;
    padding-top: 9px;
}

.ftpm-download-ml-field input,
.ftpm-download-ml-field textarea {
    width: 100%;
    max-width: 100%;
}


/* v0.35.65: Download-Kategorieeditor kompakt */
.ftpm-download-category-editor {
    display: grid;
    gap: 12px;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: 16px;
    background: #fff;
}

.ftpm-download-category-editor > label {
    display: grid;
    gap: 6px;
}

.ftpm-download-category-editor select {
    width: 100%;
    max-width: 100%;
}

.ftpm-download-category-actions,
.ftpm-download-category-delete-form {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.ftpm-download-category-delete-form {
    margin-top: -4px;
}

.ftpm-download-category-delete-form .button {
    color: #b91c1c;
    border-color: #ef4444;
    background: #fff;
}


/* v0.35.66: Download-Kategoriepflege Buttons vollbreit */
.ftpm-download-category-editor .ftpm-download-category-actions,
.ftpm-download-category-editor .ftpm-download-category-delete-form {
    display: block !important;
    width: 100% !important;
}

.ftpm-download-category-editor .ftpm-download-category-actions .button,
.ftpm-download-category-editor .ftpm-download-category-delete-form .button,
.ftpm-download-category-editor .ftpm-download-category-actions input[type="submit"],
.ftpm-download-category-editor .ftpm-download-category-delete-form input[type="submit"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.ftpm-download-category-editor .ftpm-download-category-delete-form {
    margin-top: 8px !important;
}


/* v0.35.67: Download-Datei-hinzufügen Formular sauber ausrichten */
.ftpm-download-upload-card form,
.ftpm-download-upload-form,
.ftpm-download-admin-page .ftpm-download-upload-card form {
    display: grid !important;
    gap: 14px !important;
}

.ftpm-download-upload-card label,
.ftpm-download-upload-form label,
.ftpm-download-admin-page .ftpm-download-upload-card label {
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
}

.ftpm-download-upload-card input[type="text"],
.ftpm-download-upload-card input[type="file"],
.ftpm-download-upload-card select,
.ftpm-download-upload-card textarea,
.ftpm-download-upload-form input[type="text"],
.ftpm-download-upload-form input[type="file"],
.ftpm-download-upload-form select,
.ftpm-download-upload-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.ftpm-download-upload-card select,
.ftpm-download-upload-form select {
    min-height: 44px !important;
}

.ftpm-download-upload-card input[type="file"],
.ftpm-download-upload-form input[type="file"] {
    padding: 8px !important;
    min-height: 44px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.ftpm-download-upload-card .ftpm-download-ml-field,
.ftpm-download-upload-form .ftpm-download-ml-field {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.ftpm-download-upload-card .ftpm-download-ml-field label,
.ftpm-download-upload-form .ftpm-download-ml-field label {
    grid-template-columns: 42px minmax(0, 1fr) !important;
}

.ftpm-download-upload-card .ftpm-download-ml-field input,
.ftpm-download-upload-card .ftpm-download-ml-field textarea,
.ftpm-download-upload-form .ftpm-download-ml-field input,
.ftpm-download-upload-form .ftpm-download-ml-field textarea {
    min-width: 0 !important;
}

.ftpm-download-upload-card .ftpm-download-roles-box,
.ftpm-download-upload-form .ftpm-download-roles-box,
.ftpm-download-upload-card fieldset:not(.ftpm-download-ml-field),
.ftpm-download-upload-form fieldset:not(.ftpm-download-ml-field) {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px !important;
    border: 1px solid rgba(148, 163, 184, .35) !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
}

.ftpm-download-upload-card .button-primary,
.ftpm-download-upload-card input[type="submit"],
.ftpm-download-upload-form .button-primary,
.ftpm-download-upload-form input[type="submit"] {
    width: 100% !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

/* Admin-Layout: Uploadbereich auf Desktop breiter und ruhiger, mobil weiterhin einspaltig */
@media (min-width: 900px) {
    .ftpm-download-upload-card form,
    .ftpm-download-upload-form,
    .ftpm-download-admin-page .ftpm-download-upload-card form {
        max-width: 760px !important;
    }

    .ftpm-download-upload-card .ftpm-download-ml-field,
    .ftpm-download-upload-form .ftpm-download-ml-field {
        max-width: 620px !important;
    }
}

@media (max-width: 640px) {
    .ftpm-download-upload-card .ftpm-download-ml-field,
    .ftpm-download-upload-form .ftpm-download-ml-field,
    .ftpm-download-upload-card fieldset:not(.ftpm-download-ml-field),
    .ftpm-download-upload-form fieldset:not(.ftpm-download-ml-field) {
        border-radius: 12px !important;
        padding: 12px !important;
    }

    .ftpm-download-upload-card .ftpm-download-ml-field label,
    .ftpm-download-upload-form .ftpm-download-ml-field label {
        grid-template-columns: 34px minmax(0, 1fr) !important;
        gap: 8px !important;
    }
}


/* v0.35.69: Sprachmenü im Header nur als Fähnchen anzeigen
   Gilt für vom Plugin erzeugte Sprachlinks und Polylang/Astra-Sprachlinks. */
.main-header-menu .lang-item > a,
.ast-mobile-popup-content .lang-item > a,
.ast-mobile-header-content .lang-item > a,
.ast-builder-menu-mobile .lang-item > a,
.ast-desktop .main-header-menu .lang-item > a,
.ast-mobile-header-wrap .lang-item > a {
    font-size: 0 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 30px !important;
    padding: 4px !important;
    border-radius: 8px !important;
    text-indent: 0 !important;
    overflow: hidden !important;
}

/* Wenn Polylang echte Flaggenbilder ausgibt, bleiben diese sichtbar. */
.main-header-menu .lang-item > a img,
.ast-mobile-popup-content .lang-item > a img,
.ast-mobile-header-content .lang-item > a img,
.ast-builder-menu-mobile .lang-item > a img,
.ast-desktop .main-header-menu .lang-item > a img,
.ast-mobile-header-wrap .lang-item > a img {
    display: block !important;
    width: 18px !important;
    height: auto !important;
    max-width: 18px !important;
    margin: 0 !important;
    font-size: initial !important;
}

/* Für vom Plugin erzeugte Custom-Links ohne Flaggenbild erzeugen wir das Fähnchen per CSS. */
.main-header-menu .lang-item-de > a::before,
.ast-mobile-popup-content .lang-item-de > a::before,
.ast-mobile-header-content .lang-item-de > a::before,
.ast-builder-menu-mobile .lang-item-de > a::before,
.ast-desktop .main-header-menu .lang-item-de > a::before,
.ast-mobile-header-wrap .lang-item-de > a::before {
    content: "🇩🇪";
    font-size: 16px !important;
    line-height: 1 !important;
}

.main-header-menu .lang-item-en > a::before,
.ast-mobile-popup-content .lang-item-en > a::before,
.ast-mobile-header-content .lang-item-en > a::before,
.ast-builder-menu-mobile .lang-item-en > a::before,
.ast-desktop .main-header-menu .lang-item-en > a::before,
.ast-mobile-header-wrap .lang-item-en > a::before {
    content: "🇬🇧";
    font-size: 16px !important;
    line-height: 1 !important;
}

.main-header-menu .lang-item-nl > a::before,
.ast-mobile-popup-content .lang-item-nl > a::before,
.ast-mobile-header-content .lang-item-nl > a::before,
.ast-builder-menu-mobile .lang-item-nl > a::before,
.ast-desktop .main-header-menu .lang-item-nl > a::before,
.ast-mobile-header-wrap .lang-item-nl > a::before {
    content: "🇳🇱";
    font-size: 16px !important;
    line-height: 1 !important;
}

.main-header-menu .lang-item.current-lang > a,
.ast-mobile-popup-content .lang-item.current-lang > a,
.ast-mobile-header-content .lang-item.current-lang > a,
.ast-builder-menu-mobile .lang-item.current-lang > a {
    background: rgba(15, 23, 42, .06) !important;
}

.main-header-menu .lang-item > a:hover,
.main-header-menu .lang-item > a:focus,
.ast-mobile-popup-content .lang-item > a:hover,
.ast-mobile-popup-content .lang-item > a:focus,
.ast-mobile-header-content .lang-item > a:hover,
.ast-mobile-header-content .lang-item > a:focus,
.ast-builder-menu-mobile .lang-item > a:hover,
.ast-builder-menu-mobile .lang-item > a:focus {
    background: rgba(15, 23, 42, .09) !important;
    outline: none !important;
}

/* Mobile: Flags nebeneinander und nicht als hohe Menüzeilen darstellen. */
@media (max-width: 921px) {
    .main-header-menu .lang-item,
    .ast-mobile-popup-content .lang-item,
    .ast-mobile-header-content .lang-item,
    .ast-builder-menu-mobile .lang-item {
        display: inline-flex !important;
        width: auto !important;
        margin: 8px 4px 8px 16px !important;
        padding: 0 !important;
        vertical-align: middle !important;
    }

    .main-header-menu .lang-item + .lang-item,
    .ast-mobile-popup-content .lang-item + .lang-item,
    .ast-mobile-header-content .lang-item + .lang-item,
    .ast-builder-menu-mobile .lang-item + .lang-item {
        margin-left: 4px !important;
    }
}


/* v0.35.70: Header-Sprachflaggen ohne Textreste/Dopplungen */
.main-header-menu .lang-item > a,
.ast-mobile-popup-content .lang-item > a,
.ast-mobile-header-content .lang-item > a,
.ast-builder-menu-mobile .lang-item > a,
.ast-desktop .main-header-menu .lang-item > a,
.ast-mobile-header-wrap .lang-item > a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 5px !important;
    overflow: hidden !important;
    line-height: 1 !important;
    font-size: 0 !important;
    text-indent: -9999px !important;
    white-space: nowrap !important;
}

/* Astra/Polylang können Text in span/menu-text kapseln. Alles im Link wird ausgeblendet. */
.main-header-menu .lang-item > a *,
.ast-mobile-popup-content .lang-item > a *,
.ast-mobile-header-content .lang-item > a *,
.ast-builder-menu-mobile .lang-item > a *,
.ast-desktop .main-header-menu .lang-item > a *,
.ast-mobile-header-wrap .lang-item > a * {
    display: none !important;
    visibility: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Ein kontrolliertes Fähnchen pro Sprache. */
.main-header-menu .lang-item-de > a::before,
.ast-mobile-popup-content .lang-item-de > a::before,
.ast-mobile-header-content .lang-item-de > a::before,
.ast-builder-menu-mobile .lang-item-de > a::before,
.ast-desktop .main-header-menu .lang-item-de > a::before,
.ast-mobile-header-wrap .lang-item-de > a::before {
    content: "🇩🇪" !important;
}

.main-header-menu .lang-item-en > a::before,
.ast-mobile-popup-content .lang-item-en > a::before,
.ast-mobile-header-content .lang-item-en > a::before,
.ast-builder-menu-mobile .lang-item-en > a::before,
.ast-desktop .main-header-menu .lang-item-en > a::before,
.ast-mobile-header-wrap .lang-item-en > a::before {
    content: "🇬🇧" !important;
}

.main-header-menu .lang-item-nl > a::before,
.ast-mobile-popup-content .lang-item-nl > a::before,
.ast-mobile-header-content .lang-item-nl > a::before,
.ast-builder-menu-mobile .lang-item-nl > a::before,
.ast-desktop .main-header-menu .lang-item-nl > a::before,
.ast-mobile-header-wrap .lang-item-nl > a::before {
    content: "🇳🇱" !important;
}

.main-header-menu .lang-item > a::before,
.ast-mobile-popup-content .lang-item > a::before,
.ast-mobile-header-content .lang-item > a::before,
.ast-builder-menu-mobile .lang-item > a::before,
.ast-desktop .main-header-menu .lang-item > a::before,
.ast-mobile-header-wrap .lang-item > a::before {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 16px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Menüzeilen selbst kompakt nebeneinander. */
.main-header-menu .lang-item,
.ast-mobile-popup-content .lang-item,
.ast-mobile-header-content .lang-item,
.ast-builder-menu-mobile .lang-item,
.ast-desktop .main-header-menu .lang-item,
.ast-mobile-header-wrap .lang-item {
    display: inline-flex !important;
    width: auto !important;
    margin: 0 3px !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

/* Aktuelle Sprache nur leicht markieren. */
.main-header-menu .lang-item.current-lang > a,
.ast-mobile-popup-content .lang-item.current-lang > a,
.ast-mobile-header-content .lang-item.current-lang > a,
.ast-builder-menu-mobile .lang-item.current-lang > a,
.main-header-menu .lang-item.current-menu-item > a,
.ast-mobile-popup-content .lang-item.current-menu-item > a,
.ast-mobile-header-content .lang-item.current-menu-item > a,
.ast-builder-menu-mobile .lang-item.current-menu-item > a {
    background: rgba(15, 23, 42, .06) !important;
}

.main-header-menu .lang-item > a:hover,
.main-header-menu .lang-item > a:focus,
.ast-mobile-popup-content .lang-item > a:hover,
.ast-mobile-popup-content .lang-item > a:focus,
.ast-mobile-header-content .lang-item > a:hover,
.ast-mobile-header-content .lang-item > a:focus,
.ast-builder-menu-mobile .lang-item > a:hover,
.ast-builder-menu-mobile .lang-item > a:focus {
    background: rgba(15, 23, 42, .09) !important;
    outline: none !important;
}

/* Mobile: Sprachflags als kleine Gruppe, nicht als volle Menüzeilen. */
@media (max-width: 921px) {
    .main-header-menu .lang-item,
    .ast-mobile-popup-content .lang-item,
    .ast-mobile-header-content .lang-item,
    .ast-builder-menu-mobile .lang-item {
        display: inline-flex !important;
        width: auto !important;
        margin: 8px 3px 8px 16px !important;
    }

    .main-header-menu .lang-item + .lang-item,
    .ast-mobile-popup-content .lang-item + .lang-item,
    .ast-mobile-header-content .lang-item + .lang-item,
    .ast-builder-menu-mobile .lang-item + .lang-item {
        margin-left: 3px !important;
    }
}


/* v0.35.71: Sprachflaggen robust als CSS-Flaggen statt Emoji/Text
   Ziel: keine Textreste, keine Emoji-Fallback-Buchstaben, nur kleine Flaggen. */
.main-header-menu .lang-item,
.ast-mobile-popup-content .lang-item,
.ast-mobile-header-content .lang-item,
.ast-builder-menu-mobile .lang-item,
.ast-desktop .main-header-menu .lang-item,
.ast-mobile-header-wrap .lang-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin: 0 3px !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

.main-header-menu .lang-item > a,
.ast-mobile-popup-content .lang-item > a,
.ast-mobile-header-content .lang-item > a,
.ast-builder-menu-mobile .lang-item > a,
.ast-desktop .main-header-menu .lang-item > a,
.ast-mobile-header-wrap .lang-item > a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 5px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: -9999px !important;
    white-space: nowrap !important;
}

/* Alles aus dem Link unsichtbar machen: Text, Emoji, Astra-Spans, Polylang-Bilder. */
.main-header-menu .lang-item > a *,
.ast-mobile-popup-content .lang-item > a *,
.ast-mobile-header-content .lang-item > a *,
.ast-builder-menu-mobile .lang-item > a *,
.ast-desktop .main-header-menu .lang-item > a *,
.ast-mobile-header-wrap .lang-item > a * {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Einheitlicher Flaggenkörper. Keine Emoji-Zeichen verwenden. */
.main-header-menu .lang-item > a::before,
.ast-mobile-popup-content .lang-item > a::before,
.ast-mobile-header-content .lang-item > a::before,
.ast-builder-menu-mobile .lang-item > a::before,
.ast-desktop .main-header-menu .lang-item > a::before,
.ast-mobile-header-wrap .lang-item > a::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 12px !important;
    min-width: 18px !important;
    min-height: 12px !important;
    border-radius: 1px !important;
    border: 1px solid rgba(15, 23, 42, .25) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.35) inset !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100% 100% !important;
    text-indent: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Deutschland */
.main-header-menu .lang-item-de > a::before,
.ast-mobile-popup-content .lang-item-de > a::before,
.ast-mobile-header-content .lang-item-de > a::before,
.ast-builder-menu-mobile .lang-item-de > a::before,
.ast-desktop .main-header-menu .lang-item-de > a::before,
.ast-mobile-header-wrap .lang-item-de > a::before {
    background-image: linear-gradient(to bottom, #000 0 33.333%, #dd0000 33.333% 66.666%, #ffce00 66.666% 100%) !important;
}

/* Vereinigtes Königreich als SVG-Flagge */
.main-header-menu .lang-item-en > a::before,
.ast-mobile-popup-content .lang-item-en > a::before,
.ast-mobile-header-content .lang-item-en > a::before,
.ast-builder-menu-mobile .lang-item-en > a::before,
.ast-desktop .main-header-menu .lang-item-en > a::before,
.ast-mobile-header-wrap .lang-item-en > a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Crect width='60' height='40' fill='%23012169'/%3E%3Cpath d='M0 0l60 40M60 0L0 40' stroke='%23fff' stroke-width='8'/%3E%3Cpath d='M0 0l60 40M60 0L0 40' stroke='%23C8102E' stroke-width='4'/%3E%3Cpath d='M30 0v40M0 20h60' stroke='%23fff' stroke-width='13'/%3E%3Cpath d='M30 0v40M0 20h60' stroke='%23C8102E' stroke-width='8'/%3E%3C/svg%3E") !important;
}

/* Niederlande */
.main-header-menu .lang-item-nl > a::before,
.ast-mobile-popup-content .lang-item-nl > a::before,
.ast-mobile-header-content .lang-item-nl > a::before,
.ast-builder-menu-mobile .lang-item-nl > a::before,
.ast-desktop .main-header-menu .lang-item-nl > a::before,
.ast-mobile-header-wrap .lang-item-nl > a::before {
    background-image: linear-gradient(to bottom, #ae1c28 0 33.333%, #fff 33.333% 66.666%, #21468b 66.666% 100%) !important;
}

.main-header-menu .lang-item.current-lang > a,
.ast-mobile-popup-content .lang-item.current-lang > a,
.ast-mobile-header-content .lang-item.current-lang > a,
.ast-builder-menu-mobile .lang-item.current-lang > a,
.main-header-menu .lang-item.current-menu-item > a,
.ast-mobile-popup-content .lang-item.current-menu-item > a,
.ast-mobile-header-content .lang-item.current-menu-item > a,
.ast-builder-menu-mobile .lang-item.current-menu-item > a {
    background: rgba(15, 23, 42, .06) !important;
}

.main-header-menu .lang-item > a:hover,
.main-header-menu .lang-item > a:focus,
.ast-mobile-popup-content .lang-item > a:hover,
.ast-mobile-popup-content .lang-item > a:focus,
.ast-mobile-header-content .lang-item > a:hover,
.ast-mobile-header-content .lang-item > a:focus,
.ast-builder-menu-mobile .lang-item > a:hover,
.ast-builder-menu-mobile .lang-item > a:focus {
    background: rgba(15, 23, 42, .09) !important;
    outline: none !important;
}

/* Mobile: kompakte Flaggenreihe. */
@media (max-width: 921px) {
    .main-header-menu .lang-item,
    .ast-mobile-popup-content .lang-item,
    .ast-mobile-header-content .lang-item,
    .ast-builder-menu-mobile .lang-item {
        display: inline-flex !important;
        width: auto !important;
        margin: 8px 3px 8px 16px !important;
    }

    .main-header-menu .lang-item + .lang-item,
    .ast-mobile-popup-content .lang-item + .lang-item,
    .ast-mobile-header-content .lang-item + .lang-item,
    .ast-builder-menu-mobile .lang-item + .lang-item {
        margin-left: 3px !important;
    }
}


/* v0.35.72: Polylang-Flaggenbilder im Header verwenden */
.main-header-menu .lang-item > a,
.ast-mobile-popup-content .lang-item > a,
.ast-mobile-header-content .lang-item > a,
.ast-builder-menu-mobile .lang-item > a,
.ast-desktop .main-header-menu .lang-item > a,
.ast-mobile-header-wrap .lang-item > a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 5px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
}

/* Keine CSS- oder Emoji-Flaggen mehr erzeugen. */
.main-header-menu .lang-item > a::before,
.ast-mobile-popup-content .lang-item > a::before,
.ast-mobile-header-content .lang-item > a::before,
.ast-builder-menu-mobile .lang-item > a::before,
.ast-desktop .main-header-menu .lang-item > a::before,
.ast-mobile-header-wrap .lang-item > a::before {
    content: none !important;
    display: none !important;
}

/* Text/Spans ausblenden, aber echte Flaggenbilder sichtbar lassen. */
.main-header-menu .lang-item > a > :not(.ftpm-header-language-flag),
.ast-mobile-popup-content .lang-item > a > :not(.ftpm-header-language-flag),
.ast-mobile-header-content .lang-item > a > :not(.ftpm-header-language-flag),
.ast-builder-menu-mobile .lang-item > a > :not(.ftpm-header-language-flag),
.ast-desktop .main-header-menu .lang-item > a > :not(.ftpm-header-language-flag),
.ast-mobile-header-wrap .lang-item > a > :not(.ftpm-header-language-flag) {
    display: none !important;
    visibility: hidden !important;
}

.main-header-menu .lang-item > a .ftpm-header-language-flag,
.ast-mobile-popup-content .lang-item > a .ftpm-header-language-flag,
.ast-mobile-header-content .lang-item > a .ftpm-header-language-flag,
.ast-builder-menu-mobile .lang-item > a .ftpm-header-language-flag,
.ast-desktop .main-header-menu .lang-item > a .ftpm-header-language-flag,
.ast-mobile-header-wrap .lang-item > a .ftpm-header-language-flag {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 18px !important;
    max-width: 18px !important;
    height: auto !important;
    max-height: 13px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(15, 23, 42, .18) !important;
    border-radius: 1px !important;
    object-fit: cover !important;
    box-shadow: none !important;
}

/* Auch echte Polylang-Flaggenbilder sichtbar lassen, falls Polylang sie direkt rendert. */
.main-header-menu .lang-item > a img,
.ast-mobile-popup-content .lang-item > a img,
.ast-mobile-header-content .lang-item > a img,
.ast-builder-menu-mobile .lang-item > a img,
.ast-desktop .main-header-menu .lang-item > a img,
.ast-mobile-header-wrap .lang-item > a img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 18px !important;
    max-width: 18px !important;
    height: auto !important;
    max-height: 13px !important;
    margin: 0 !important;
}

.main-header-menu .lang-item,
.ast-mobile-popup-content .lang-item,
.ast-mobile-header-content .lang-item,
.ast-builder-menu-mobile .lang-item,
.ast-desktop .main-header-menu .lang-item,
.ast-mobile-header-wrap .lang-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin: 0 3px !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

.main-header-menu .lang-item.current-lang > a,
.ast-mobile-popup-content .lang-item.current-lang > a,
.ast-mobile-header-content .lang-item.current-lang > a,
.ast-builder-menu-mobile .lang-item.current-lang > a,
.main-header-menu .lang-item.current-menu-item > a,
.ast-mobile-popup-content .lang-item.current-menu-item > a,
.ast-mobile-header-content .lang-item.current-menu-item > a,
.ast-builder-menu-mobile .lang-item.current-menu-item > a {
    background: rgba(15, 23, 42, .06) !important;
}

@media (max-width: 921px) {
    .main-header-menu .lang-item,
    .ast-mobile-popup-content .lang-item,
    .ast-mobile-header-content .lang-item,
    .ast-builder-menu-mobile .lang-item {
        display: inline-flex !important;
        width: auto !important;
        margin: 8px 3px 8px 16px !important;
    }

    .main-header-menu .lang-item + .lang-item,
    .ast-mobile-popup-content .lang-item + .lang-item,
    .ast-mobile-header-content .lang-item + .lang-item,
    .ast-builder-menu-mobile .lang-item + .lang-item {
        margin-left: 3px !important;
    }
}


/* v0.35.89 Profilbild und Kontaktkarten */
.ftpm-profile-photo-card{display:flex;align-items:center;gap:18px;margin:18px 0;padding:18px;border:1px solid rgba(37,99,235,.18);border-radius:18px;background:#f8fbff}
.ftpm-profile-photo-preview{width:96px;height:96px;border-radius:999px;overflow:hidden;flex:0 0 96px;background:#eef2ff;border:3px solid #fff;box-shadow:0 8px 24px rgba(15,23,42,.14)}
.ftpm-profile-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.ftpm-profile-photo-card label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#0f172a}
.ftpm-profile-photo-card small{font-weight:400;color:#64748b}
.ftpm-contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:24px 0}
.ftpm-contact-card{display:flex;gap:16px;align-items:center;padding:18px;border-radius:22px;border:1px solid rgba(15,23,42,.10);background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.08)}
.ftpm-contact-card-photo{width:86px;height:86px;border-radius:999px;overflow:hidden;flex:0 0 86px;background:#eef2ff}
.ftpm-contact-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ftpm-contact-card-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.ftpm-contact-card-name{font-size:1.05rem;color:#0f172a}
.ftpm-contact-card-role{color:#475569;font-size:.92rem}
.ftpm-contact-card a{color:#2563eb;text-decoration:none;word-break:break-word}
.ftpm-contact-cards-stacked .ftpm-contact-card{flex-direction:column;text-align:center;align-items:center}
@media(max-width:640px){.ftpm-profile-photo-card{flex-direction:column;align-items:flex-start}.ftpm-contact-card{align-items:flex-start}.ftpm-contact-cards-stacked .ftpm-contact-card{align-items:center}}

/* v0.35.89 Profilformular: einheitliche Feldradien und lesbare Fachfunktion */
.ftpm-profile-form input[type="text"],
.ftpm-profile-form input[type="email"],
.ftpm-profile-form input[type="password"],
.ftpm-profile-form input[type="file"],
.ftpm-profile-form select,
.ftpm-profile-form textarea {
    border-radius: 12px;
}
.ftpm-profile-form .ftpm-readonly-field,
.ftpm-profile-form input[readonly] {
    background: #f8fafc;
    color: #475569;
    border-color: rgba(148, 163, 184, .45);
    cursor: not-allowed;
}
.ftpm-profile-form label small {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-weight: 400;
    line-height: 1.35;
}
.ftpm-contact-card-label {
    font-size: .78rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-top: 4px;
}

/* 0.36.04: Virtuelle Systemseiten setzen keinen eigenen Seitenhintergrund.
   Astra/Theme bestimmt den Hintergrund vollständig. */
.ftpm-virtual-system-page {
    padding-block: clamp(24px, 4vw, 48px);
}

.ftpm-virtual-system-container {
    width: min(100%, var(--wp--style--global--content-size, 1320px));
    max-width: 1320px;
    margin-inline: auto;
    padding-inline: clamp(16px, 3vw, 32px);
}

.ftpm-virtual-system-page .ftpm-system-page-rendered {
    width: 100%;
    max-width: none;
}

.ftpm-virtual-system-page .ftpm-internal-area {
    max-width: 1320px;
    padding-left: 0;
    padding-right: 0;
}

.ftpm-virtual-system-page .ftpm-internal-portal {
    max-width: 1320px;
    padding-left: 0;
    padding-right: 0;
}

/* 0.36.04: Hintergrund-Overrides für virtuelle Systemseiten wurden entfernt.
   Keine background/background-color-Regeln auf body, #page, .site-content, .ast-container oder .ast-separate-container. */


/* 0.36.06: Startseiten-Steckbriefslider - ruhige feste Höhe, Astra-Buttons, mobile Optimierung */
.ftpm-species-slider{--ftpm-slider-height:520px;--ftpm-slider-mobile-height:640px;position:relative;margin:clamp(20px,3vw,36px) 0;border-radius:28px;overflow:hidden;border:1px solid rgba(15,23,42,.10);background:#fff;box-shadow:0 18px 46px rgba(15,23,42,.10)}
.ftpm-species-slider-track{position:relative;height:var(--ftpm-slider-height);min-height:380px;overflow:hidden}
.ftpm-species-slide{display:grid;grid-template-columns:minmax(260px,48%) 1fr;gap:0;align-items:stretch;opacity:0;visibility:hidden;pointer-events:none;position:absolute;inset:0;height:100%;transform:translateX(18px);transition:opacity .38s ease,transform .48s ease,visibility .38s ease}
.ftpm-species-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0)}
.ftpm-species-slide-image{display:block;height:100%;min-height:0;background:#eef2ff;overflow:hidden}
.ftpm-species-slide-image img{width:100%;height:100%;min-height:0;object-fit:cover;display:block;transition:transform .45s ease}
.ftpm-species-slide-image:hover img{transform:scale(1.03)}
.ftpm-slider-placeholder{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:800;background:linear-gradient(135deg,#eef2ff,#f8fafc)}
.ftpm-species-slide-content{min-width:0;padding:clamp(24px,4vw,52px);display:flex;flex-direction:column;justify-content:center;gap:12px;color:#0f172a;overflow:hidden}
.ftpm-species-slide-kicker{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#2563eb;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.ftpm-species-slide-content h3{margin:0;font-size:clamp(1.9rem,3.2vw,3.2rem);line-height:1.08;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ftpm-species-slide-content h3 a{text-decoration:none;color:inherit}
.ftpm-species-slide-scientific{margin:0;color:#475569;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ftpm-species-slide-excerpt{margin:0;color:#334155;line-height:1.6;max-width:62ch;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ftpm-species-slide-button{align-self:flex-start;margin-top:8px;text-decoration:none!important}
.ftpm-species-slider-arrow{appearance:none!important;position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;border-radius:999px!important;border:1px solid rgba(15,23,42,.14)!important;background:rgba(255,255,255,.94)!important;color:#0f172a!important;font-size:24px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer;box-shadow:0 10px 24px rgba(15,23,42,.16)}
.ftpm-species-slider-arrow.is-prev{left:16px}.ftpm-species-slider-arrow.is-next{right:16px}
.ftpm-species-slider-arrow:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:3px}
.ftpm-species-slider-dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:3;display:flex;gap:8px;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 8px 20px rgba(15,23,42,.12)}
.ftpm-species-slider-dots button{appearance:none;width:10px;height:10px;min-width:0;min-height:0;border-radius:999px;border:0;background:#cbd5e1;padding:0;cursor:pointer}.ftpm-species-slider-dots button.is-active{background:#2563eb;width:24px}
@media(max-width:780px){.ftpm-species-slider{border-radius:22px}.ftpm-species-slider-track{height:var(--ftpm-slider-mobile-height);min-height:520px}.ftpm-species-slide{grid-template-columns:1fr;grid-template-rows:260px 1fr}.ftpm-species-slide-image,.ftpm-species-slide-image img,.ftpm-slider-placeholder{height:260px}.ftpm-species-slide-content{padding:24px;justify-content:flex-start}.ftpm-species-slide-content h3{font-size:clamp(1.75rem,8vw,2.35rem)}.ftpm-species-slide-excerpt{-webkit-line-clamp:3}.ftpm-species-slider-arrow{top:130px}.ftpm-species-slider-arrow.is-prev{left:12px}.ftpm-species-slider-arrow.is-next{right:12px}.ftpm-species-slider-dots{bottom:14px}}
@media(max-width:480px){.ftpm-species-slider-track{height:var(--ftpm-slider-mobile-height);min-height:560px}.ftpm-species-slide{grid-template-rows:230px 1fr}.ftpm-species-slide-image,.ftpm-species-slide-image img,.ftpm-slider-placeholder{height:230px}.ftpm-species-slider-arrow{top:115px;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}.ftpm-species-slide-content{padding:22px}}
@media(prefers-reduced-motion:reduce){.ftpm-species-slide,.ftpm-species-slide-image img{transition:none!important;transform:none!important}}


/* 0.36.07: Steckbriefslider Feinschliff - stabilere mobile Karten, ruhigere Animation, zentrierte Pfeile */
.ftpm-species-slide{transform:translateX(8px);transition:opacity .62s ease,transform .74s ease,visibility .62s ease}
.ftpm-species-slide.is-active{transform:translateX(0)}
.ftpm-species-slide-content{box-sizing:border-box;height:100%}
.ftpm-species-slide-button{margin-top:auto}
.ftpm-species-slider-arrow{box-sizing:border-box!important;line-height:0!important;font-size:0!important;text-align:center!important}
.ftpm-species-slider-arrow span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:28px;line-height:1;font-family:Arial,Helvetica,sans-serif;font-weight:700;transform:translateY(-1px)}
.ftpm-species-slider-arrow.is-prev span{transform:translate(-1px,-1px)}
.ftpm-species-slider-arrow.is-next span{transform:translate(1px,-1px)}
.ftpm-species-slider-dots button{transition:width .28s ease,background-color .28s ease,opacity .28s ease}
@media(max-width:780px){
  .ftpm-species-slider-track{height:var(--ftpm-slider-mobile-height);min-height:620px}
  .ftpm-species-slide{grid-template-rows:240px minmax(380px,1fr)}
  .ftpm-species-slide-content{padding:24px 22px 30px;display:flex;flex-direction:column;justify-content:flex-start;gap:12px;min-height:380px}
  .ftpm-species-slide-kicker{min-height:28px}
  .ftpm-species-slide-content h3{min-height:5.1rem;margin-bottom:0}
  .ftpm-species-slide-scientific{min-height:1.7rem;margin-bottom:6px}
  .ftpm-species-slide-excerpt{min-height:5.1rem;-webkit-line-clamp:3}
  .ftpm-species-slide-button{align-self:center;margin-top:auto;text-align:center;min-width:170px}
  .ftpm-species-slider-arrow{top:120px;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
  .ftpm-species-slider-arrow span{font-size:26px}
}
@media(max-width:480px){
  .ftpm-species-slider-track{height:var(--ftpm-slider-mobile-height);min-height:630px}
  .ftpm-species-slide{grid-template-rows:230px minmax(400px,1fr)}
  .ftpm-species-slide-content{min-height:400px;padding:24px 22px 32px}
  .ftpm-species-slide-content h3{min-height:5.2rem}
  .ftpm-species-slide-excerpt{min-height:5.4rem}
  .ftpm-species-slider-arrow{top:115px;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
}

/* 0.36.08: Steckbriefslider - Button/Dots entkoppeln, Titel modern ohne Unterstreichung, ruhigeres Clamping */
.ftpm-species-slide-content h3 a,
.ftpm-species-slide-content h3 a:hover,
.ftpm-species-slide-content h3 a:focus{
  text-decoration:none!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.ftpm-species-slide-excerpt{
  text-overflow:ellipsis;
  overflow:hidden;
  max-height:6.4em;
}
.ftpm-species-slider-arrow{display:grid!important;place-items:center!important;line-height:1!important}
.ftpm-species-slider-arrow span{position:absolute;inset:0;display:grid!important;place-items:center!important;width:auto;height:auto;font-size:29px;line-height:1;font-family:Arial,Helvetica,sans-serif;font-weight:700;transform:none!important;padding:0 0 3px 0;pointer-events:none}
.ftpm-species-slider-arrow.is-prev span,.ftpm-species-slider-arrow.is-next span{transform:none!important}
@media(max-width:780px){
  .ftpm-species-slide-content{padding-bottom:74px}
  .ftpm-species-slide-excerpt{line-height:1.52;min-height:4.65rem;max-height:4.65rem;-webkit-line-clamp:3;text-overflow:ellipsis}
  .ftpm-species-slide-button{align-self:center;margin-top:18px;margin-bottom:0;position:relative;z-index:4}
  .ftpm-species-slider-dots{bottom:18px}
}
@media(max-width:480px){
  .ftpm-species-slide-content{padding-bottom:76px}
  .ftpm-species-slide-content h3{min-height:4.95rem}
  .ftpm-species-slide-scientific{min-height:1.65rem}
  .ftpm-species-slide-excerpt{min-height:4.65rem;max-height:4.65rem}
  .ftpm-species-slide-button{margin-top:16px}
}
.ftpm-species-slider:not(:has(.ftpm-species-slider-dots)) .ftpm-species-slide-content{padding-bottom:clamp(24px,4vw,52px)}
@media(max-width:780px){.ftpm-species-slider:not(:has(.ftpm-species-slider-dots)) .ftpm-species-slide-content{padding-bottom:34px}}

/* 0.36.11: Öffentliches Astra-Farb-/Layoutkonzept nach Projektgrafiken
   Leitmotiv: tropischer Wald, ruhige weiße Inhaltskarten, dunkles Blattgrün und dezente Goldakzente. */
.ftpm-overview,
.ftpm-genus-overview,
.ftpm-category-overview,
.ftpm-species-slider,
.ftpm-home-hero,
.ftpm-home-section,
.ftpm-page-button-wrap,
.ftpm-contact-cards {
  --ftpm-forest-950:#071c12;
  --ftpm-forest-900:#0b2f1c;
  --ftpm-forest-800:#124326;
  --ftpm-forest-700:#176337;
  --ftpm-leaf-600:#238648;
  --ftpm-leaf-500:#34a853;
  --ftpm-gold-500:#d6b35f;
  --ftpm-gold-400:#e8cf82;
  --ftpm-cream-50:#fffaf0;
  --ftpm-mist-50:#f5faf4;
  --ftpm-ink:#102019;
  --ftpm-muted:#53645a;
  --ftpm-border:rgba(11,47,28,.14);
  --ftpm-card-shadow:0 18px 46px rgba(7,28,18,.10);
}

.ftpm-home-hero,
.ftpm-home-section {
  max-width: 1180px;
  margin: clamp(22px, 4vw, 46px) auto;
  border-radius: 28px;
  border: 1px solid var(--ftpm-border);
  box-shadow: var(--ftpm-card-shadow);
}

.ftpm-home-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 6vw, 72px);
  background:
    radial-gradient(circle at 12% 0%, rgba(232,207,130,.42), transparent 30%),
    linear-gradient(135deg, rgba(7,28,18,.96), rgba(18,67,38,.92) 56%, rgba(35,134,72,.86));
  color: #fff;
}

.ftpm-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, transparent 0 44%, rgba(255,255,255,.08) 45%, transparent 62%),
    radial-gradient(circle at 86% 18%, rgba(214,179,95,.24), transparent 22%);
  opacity: .9;
}

.ftpm-home-hero > * {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.ftpm-home-hero h1 {
  margin-top: 0;
  color: #fff;
  font-size: clamp(2.15rem, 6vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.ftpm-home-hero p {
  color: rgba(255,255,255,.90);
  font-size: clamp(1.05rem, 2.1vw, 1.28rem);
  line-height: 1.65;
}

.ftpm-home-section {
  padding: clamp(24px, 4vw, 46px);
  background: rgba(255,255,255,.94);
}

.ftpm-home-section h2,
.ftpm-overview-header h2,
.ftpm-overview-group h3 {
  color: var(--ftpm-forest-900);
  letter-spacing: -.02em;
}

.ftpm-home-section > p,
.ftpm-overview-header p {
  color: var(--ftpm-muted);
}

.ftpm-page-button-wrap .ftpm-page-button-link,
.ftpm-species-slide-button,
.ftpm-overview .wp-block-button__link.ftpm-card-button,
.ftpm-overview-card .ftpm-card-button {
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--ftpm-gold-400), var(--ftpm-gold-500)) !important;
  color: var(--ftpm-forest-950) !important;
  font-weight: 850 !important;
  box-shadow: 0 12px 24px rgba(11,47,28,.18) !important;
}

.ftpm-page-button-wrap .ftpm-page-button-link:hover,
.ftpm-page-button-wrap .ftpm-page-button-link:focus,
.ftpm-species-slide-button:hover,
.ftpm-species-slide-button:focus,
.ftpm-overview .wp-block-button__link.ftpm-card-button:hover,
.ftpm-overview .wp-block-button__link.ftpm-card-button:focus,
.ftpm-overview-card .ftpm-card-button:hover,
.ftpm-overview-card .ftpm-card-button:focus {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: var(--ftpm-forest-950) !important;
}

.ftpm-species-slider {
  border-color: var(--ftpm-border);
  background: var(--ftpm-mist-50);
  box-shadow: var(--ftpm-card-shadow);
}

.ftpm-species-slide-image,
.ftpm-slider-placeholder {
  background: linear-gradient(135deg, #dff0df, #f7fbf3);
}

.ftpm-species-slide-content {
  background:
    radial-gradient(circle at 90% 10%, rgba(232,207,130,.28), transparent 24%),
    linear-gradient(180deg, #ffffff, var(--ftpm-cream-50));
  color: var(--ftpm-ink);
}

.ftpm-species-slide-kicker {
  background: rgba(35,134,72,.12);
  color: var(--ftpm-forest-800);
}

.ftpm-species-slide-scientific,
.ftpm-species-slide-excerpt {
  color: var(--ftpm-muted);
}

.ftpm-species-slider-arrow {
  border-color: rgba(11,47,28,.18) !important;
  color: var(--ftpm-forest-900) !important;
  background: rgba(255,255,255,.94) !important;
}

.ftpm-species-slider-arrow:focus-visible {
  outline-color: rgba(214,179,95,.55);
}

.ftpm-species-slider-dots button {
  background: rgba(11,47,28,.24);
}

.ftpm-species-slider-dots button.is-active {
  background: var(--ftpm-leaf-600);
}

.ftpm-overview-header {
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--ftpm-border);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 12%, rgba(232,207,130,.28), transparent 24%),
    linear-gradient(135deg, #ffffff, var(--ftpm-mist-50));
  box-shadow: 0 12px 28px rgba(7,28,18,.07);
}

.ftpm-overview-stats,
.ftpm-overview-card,
.ftpm-term-card {
  border-color: var(--ftpm-border);
  box-shadow: 0 14px 30px rgba(7,28,18,.075);
}

.ftpm-overview-stats strong,
.ftpm-card-link,
.ftpm-overview-card h4 a,
.ftpm-term-card strong {
  color: var(--ftpm-forest-800);
}

.ftpm-overview-card:hover,
.ftpm-term-card:hover {
  border-color: rgba(35,134,72,.28);
  box-shadow: 0 18px 42px rgba(7,28,18,.11);
}

@media (max-width: 780px) {
  .ftpm-home-hero,
  .ftpm-home-section {
    border-radius: 22px;
  }

  .ftpm-home-hero {
    padding: 30px 22px;
  }

  .ftpm-home-section {
    padding: 22px;
  }
}

/* 0.36.13: CI-/Astra-Frontend-Reset für öffentliche Startseite und virtuelle Systemseiten.
   Ziel: Plugin folgt der Astra-Palette, weniger verschachtelte Boxen, sauberere mobile Pflege. */
:root {
  --ftpm-ci-brand: var(--ast-global-color-0, #123B24);
  --ftpm-ci-brand-2: var(--ast-global-color-1, #2F5D3A);
  --ftpm-ci-heading: var(--ast-global-color-2, #0B1F2A);
  --ftpm-ci-text: var(--ast-global-color-3, #4B5563);
  --ftpm-ci-surface-soft: var(--ast-global-color-4, #FBF7EA);
  --ftpm-ci-surface: var(--ast-global-color-5, #FFFFFF);
  --ftpm-ci-border: var(--ast-global-color-6, #DDE7DD);
  --ftpm-ci-gold: var(--ast-global-color-7, #E5C75F);
  --ftpm-ci-ink: var(--ast-global-color-8, #111827);
  --ftpm-ci-gold-hover: #d6b847;
  --ftpm-ci-radius-xl: 28px;
  --ftpm-ci-radius-lg: 22px;
  --ftpm-ci-radius-md: 16px;
  --ftpm-ci-shadow: 0 18px 42px rgba(18, 59, 36, .10);
  --ftpm-ci-shadow-soft: 0 10px 26px rgba(18, 59, 36, .07);
}

/* Astra-Titel auf Plugin-Seiten ausblenden: die Plugin-Heros liefern eigene Überschriften. */
body:has(.ftpm-home-hero) .entry-header,
body:has(.ftpm-home-hero) .entry-title,
body:has(.ftpm-system-page-rendered) .entry-header,
body:has(.ftpm-system-page-rendered) .entry-title {
  display: none !important;
}

body:has(.ftpm-home-hero) .site-content,
body:has(.ftpm-system-page-rendered) .site-content {
  background: linear-gradient(180deg, var(--ftpm-ci-surface), #fbfcfb 48%, var(--ftpm-ci-surface-soft));
}

body:has(.ftpm-home-hero) .entry-content,
body:has(.ftpm-system-page-rendered) .entry-content {
  margin-top: 0 !important;
}

/* Startseite: Hero wieder als eigenständiger Bereich, keine verschachtelte grüne Endlosfläche. */
.ftpm-home-hero,
.ftpm-home-section {
  box-sizing: border-box;
  width: min(1180px, calc(100vw - 40px));
  max-width: 1180px;
  margin: clamp(24px, 4vw, 50px) auto !important;
  border: 1px solid color-mix(in srgb, var(--ftpm-ci-border) 86%, var(--ftpm-ci-brand));
  border-radius: var(--ftpm-ci-radius-xl);
  box-shadow: var(--ftpm-ci-shadow);
}

.ftpm-home-hero {
  min-height: clamp(430px, 54vw, 600px);
  display: grid;
  align-content: center;
  overflow: hidden;
  padding: clamp(42px, 6vw, 78px) clamp(28px, 7vw, 88px);
  background:
    radial-gradient(circle at 12% 4%, color-mix(in srgb, var(--ftpm-ci-gold) 34%, transparent), transparent 30%),
    linear-gradient(135deg, var(--ftpm-ci-brand) 0%, #253f2a 48%, var(--ftpm-ci-brand-2) 100%);
  isolation: isolate;
}

.ftpm-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(116deg, transparent 0 50%, rgba(255,255,255,.07) 50.3%, transparent 66%),
    radial-gradient(circle at 84% 18%, rgba(229,199,95,.24), transparent 24%);
  opacity: .82;
}

.ftpm-home-hero::after {
  opacity: 0;
}

.ftpm-home-hero > * {
  position: relative;
  z-index: 1;
  max-width: 820px;
}

.ftpm-home-hero h1 {
  max-width: 760px;
  margin: 0 0 clamp(18px, 3vw, 30px) !important;
  color: #fff !important;
  font-size: clamp(2.65rem, 5.25vw, 4.35rem) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: balance;
}

.ftpm-home-hero p {
  max-width: 720px;
  margin: 0 0 clamp(22px, 3vw, 30px) !important;
  color: rgba(255,255,255,.91) !important;
  font-size: clamp(1.05rem, 1.5vw, 1.22rem) !important;
  line-height: 1.65 !important;
}

.ftpm-home-section {
  padding: clamp(28px, 4.4vw, 56px);
  background: color-mix(in srgb, var(--ftpm-ci-surface) 96%, var(--ftpm-ci-surface-soft)) !important;
}

.ftpm-home-section-slider {
  max-width: 860px;
}

.ftpm-home-section-contacts {
  max-width: 920px;
}

.ftpm-home-section h2 {
  margin-top: 0 !important;
  color: var(--ftpm-ci-brand) !important;
  font-size: clamp(1.75rem, 3vw, 2.45rem) !important;
  line-height: 1.12 !important;
}

.ftpm-home-section > p {
  max-width: 760px;
  color: var(--ftpm-ci-text) !important;
  font-size: clamp(1rem, 1.25vw, 1.12rem);
}

/* Buttons global im Plugin: Astra-Palette als Quelle. */
.ftpm-page-button-wrap .ftpm-page-button-link,
.ftpm-species-slide-button,
.ftpm-button-primary,
.ftpm-primary-button,
.ftpm-internal-area button[type="submit"],
.ftpm-internal-area input[type="submit"],
.ftpm-internal-area .button.button-primary,
.ftpm-download-button {
  min-height: 46px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 13px 30px !important;
  background: var(--ftpm-ci-gold) !important;
  color: var(--ftpm-ci-heading) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(18, 59, 36, .16) !important;
  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}

.ftpm-page-button-wrap .ftpm-page-button-link:hover,
.ftpm-species-slide-button:hover,
.ftpm-button-primary:hover,
.ftpm-primary-button:hover,
.ftpm-internal-area button[type="submit"]:hover,
.ftpm-internal-area input[type="submit"]:hover,
.ftpm-internal-area .button.button-primary:hover,
.ftpm-download-button:hover {
  background: var(--ftpm-ci-gold-hover) !important;
  color: var(--ftpm-ci-heading) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(18, 59, 36, .20) !important;
}

/* Slider: mehr Lesbarkeit, kein ausgewaschener Text auf cremefarbenem Verlauf. */
.ftpm-species-slider {
  --ftpm-slider-height: 500px;
  border: 1px solid var(--ftpm-ci-border) !important;
  border-radius: 22px !important;
  background: var(--ftpm-ci-surface) !important;
  box-shadow: var(--ftpm-ci-shadow-soft) !important;
  overflow: hidden;
}

.ftpm-species-slide {
  background: var(--ftpm-ci-surface) !important;
}

.ftpm-species-slide-content {
  background: linear-gradient(180deg, #fff, var(--ftpm-ci-surface-soft)) !important;
  color: var(--ftpm-ci-heading) !important;
}

.ftpm-species-slide-content h3,
.ftpm-species-slide-content h3 a {
  color: var(--ftpm-ci-heading) !important;
  text-decoration: none !important;
}

.ftpm-species-slide-scientific,
.ftpm-species-slide-excerpt {
  color: var(--ftpm-ci-text) !important;
  opacity: 1 !important;
}

.ftpm-species-slide-kicker,
.ftpm-dashboard-news-panel .ftpm-dashboard-panel-head span,
.ftpm-internal-kicker {
  background: color-mix(in srgb, var(--ftpm-ci-brand-2) 12%, #fff) !important;
  border: 1px solid color-mix(in srgb, var(--ftpm-ci-brand-2) 18%, #fff) !important;
  color: var(--ftpm-ci-brand) !important;
  border-radius: 999px !important;
  font-weight: 850 !important;
}

.ftpm-species-slider-arrow {
  background: rgba(255,255,255,.96) !important;
  border-color: var(--ftpm-ci-border) !important;
  color: var(--ftpm-ci-brand) !important;
}

/* Virtuelle Systemseiten / Mitgliederbereich: eigener ruhiger Portalrahmen. */
.ftpm-virtual-system-page,
.ftpm-system-page-rendered,
.ftpm-internal-area {
  color: var(--ftpm-ci-text);
}

.ftpm-virtual-system-page {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: clamp(32px, 5vw, 72px) 20px !important;
}

.ftpm-system-page-rendered > p:first-child,
.ftpm-system-page-rendered > .wp-block-paragraph:first-child {
  max-width: 760px;
  margin-bottom: clamp(24px, 4vw, 42px);
  color: var(--ftpm-ci-text);
}

.ftpm-internal-area {
  max-width: 1040px !important;
  margin: 0 auto !important;
}

.ftpm-internal-hero,
.ftpm-dashboard-hero,
.ftpm-dashboard-news-block,
.ftpm-dashboard-panel,
.ftpm-dashboard-stat-card,
.ftpm-stock-box,
.ftpm-breeding-box,
.ftpm-price-box,
.ftpm-profile-card,
.ftpm-downloads-portal,
.ftpm-contact-card,
.ftpm-member-message-compose,
.ftpm-mailbox-flat,
.ftpm-community-card,
.ftpm-entry-accordion,
.ftpm-internal-content > .ftpm-internal-module {
  border: 1px solid var(--ftpm-ci-border) !important;
  border-radius: var(--ftpm-ci-radius-lg) !important;
  background: var(--ftpm-ci-surface) !important;
  box-shadow: var(--ftpm-ci-shadow-soft) !important;
}

.ftpm-internal-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 24px !important;
  padding: clamp(24px, 4vw, 38px) !important;
  background:
    radial-gradient(circle at 90% 8%, color-mix(in srgb, var(--ftpm-ci-gold) 20%, transparent), transparent 28%),
    linear-gradient(135deg, #fff, color-mix(in srgb, var(--ftpm-ci-surface-soft) 70%, #fff)) !important;
}

.ftpm-internal-hero h2,
.ftpm-dashboard-hero h2,
.ftpm-dashboard-block-head h3,
.ftpm-internal-area h2,
.ftpm-internal-area h3,
.ftpm-stock-box h2,
.ftpm-breeding-box h2,
.ftpm-price-box h2 {
  color: var(--ftpm-ci-heading) !important;
  letter-spacing: -.035em;
}

.ftpm-internal-hero p,
.ftpm-dashboard-hero p,
.ftpm-dashboard-block-head p,
.ftpm-internal-area p,
.ftpm-dashboard-empty,
.ftpm-dashboard-stat-card small,
.ftpm-dashboard-list-meta,
.ftpm-help-text {
  color: var(--ftpm-ci-text) !important;
}

.ftpm-internal-layout {
  display: grid !important;
  grid-template-columns: 230px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start;
}

.ftpm-internal-nav {
  position: sticky;
  top: 24px;
  align-self: start;
  padding: 16px !important;
  border: 1px solid var(--ftpm-ci-border) !important;
  border-radius: var(--ftpm-ci-radius-lg) !important;
  background: var(--ftpm-ci-surface) !important;
  box-shadow: var(--ftpm-ci-shadow-soft) !important;
}

.ftpm-internal-nav-heading {
  display: block !important;
  margin: 14px 8px 8px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--ftpm-ci-border) !important;
  color: color-mix(in srgb, var(--ftpm-ci-brand) 75%, #416050) !important;
  font-size: .76rem !important;
  line-height: 1.2 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.ftpm-internal-nav-heading-main {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

.ftpm-internal-nav a,
.ftpm-internal-nav a:link,
.ftpm-internal-nav a:visited {
  display: flex !important;
  align-items: center;
  min-height: 42px;
  margin: 2px 0 !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  color: var(--ftpm-ci-heading) !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  border: 0 !important;
  background: transparent !important;
}

.ftpm-internal-nav a:hover,
.ftpm-internal-nav a:focus {
  background: color-mix(in srgb, var(--ftpm-ci-brand) 7%, #fff) !important;
  color: var(--ftpm-ci-brand) !important;
}

.ftpm-internal-nav a.is-active,
.ftpm-internal-nav .is-active,
.ftpm-internal-nav a.is-active:hover,
.ftpm-internal-nav a.is-active:focus {
  background: var(--ftpm-ci-brand) !important;
  color: #fff !important;
}

.ftpm-internal-logout-link {
  margin-top: 12px !important;
  border-top: 1px solid var(--ftpm-ci-border) !important;
}

.ftpm-internal-content {
  min-width: 0;
}

.ftpm-internal-content > .ftpm-internal-module {
  padding: clamp(20px, 3vw, 30px) !important;
}

.ftpm-dashboard-overview,
.ftpm-internal-module-active,
.ftpm-stock-box,
.ftpm-breeding-box,
.ftpm-price-box {
  display: grid;
  gap: 22px;
}

.ftpm-dashboard-hero {
  padding: 24px !important;
  background: linear-gradient(135deg, #fff, color-mix(in srgb, var(--ftpm-ci-surface-soft) 70%, #fff)) !important;
}

.ftpm-dashboard-stat-grid {
  gap: 14px !important;
}

.ftpm-dashboard-stat-card {
  padding: 18px !important;
  text-align: center;
}

.ftpm-dashboard-stat-label {
  color: color-mix(in srgb, var(--ftpm-ci-brand) 72%, var(--ftpm-ci-text)) !important;
}

.ftpm-dashboard-stat-card strong {
  color: var(--ftpm-ci-heading) !important;
}

.ftpm-dashboard-news-block {
  padding: 20px !important;
  background: linear-gradient(135deg, #fff, color-mix(in srgb, var(--ftpm-ci-surface-soft) 60%, #fff)) !important;
}

.ftpm-dashboard-panel {
  overflow: hidden;
}

.ftpm-dashboard-panel-head {
  background: color-mix(in srgb, var(--ftpm-ci-surface-soft) 68%, #fff) !important;
  border-bottom: 1px solid var(--ftpm-ci-border) !important;
}

.ftpm-dashboard-panel-head h3,
.ftpm-dashboard-species-name strong,
.ftpm-dashboard-list-meta strong {
  color: var(--ftpm-ci-heading) !important;
}

.ftpm-dashboard-list-item {
  border-bottom: 1px solid var(--ftpm-ci-border) !important;
}

.ftpm-dashboard-thumb-wrap,
.ftpm-dashboard-post-icon {
  border-color: var(--ftpm-ci-border) !important;
  background: color-mix(in srgb, var(--ftpm-ci-brand) 6%, #fff) !important;
}

.ftpm-dashboard-species-link:hover strong,
.ftpm-dashboard-species-link:focus strong,
.ftpm-dashboard-post-link:hover strong,
.ftpm-dashboard-post-link:focus strong {
  color: var(--ftpm-ci-brand) !important;
}

/* Formulare: einheitlicher, weniger CSS-Spezialfälle. */
.ftpm-internal-area input:not([type="checkbox"]):not([type="radio"]),
.ftpm-internal-area select,
.ftpm-internal-area textarea,
.ftpm-system-page-rendered input:not([type="checkbox"]):not([type="radio"]),
.ftpm-system-page-rendered select,
.ftpm-system-page-rendered textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--ftpm-ci-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--ftpm-ci-heading) !important;
  box-shadow: none !important;
}

.ftpm-internal-area input:focus,
.ftpm-internal-area select:focus,
.ftpm-internal-area textarea:focus,
.ftpm-system-page-rendered input:focus,
.ftpm-system-page-rendered select:focus,
.ftpm-system-page-rendered textarea:focus {
  border-color: color-mix(in srgb, var(--ftpm-ci-brand) 55%, var(--ftpm-ci-border)) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ftpm-ci-brand) 12%, transparent) !important;
  outline: none !important;
}

.ftpm-internal-area label,
.ftpm-system-page-rendered label {
  color: var(--ftpm-ci-heading) !important;
  font-weight: 750 !important;
}

.ftpm-stock-form-grid,
.ftpm-breeding-form-grid,
.ftpm-price-form-grid,
.ftpm-profile-grid,
.ftpm-compose-grid {
  gap: 14px !important;
}

.ftpm-stock-box,
.ftpm-breeding-box,
.ftpm-price-box {
  padding: clamp(18px, 3vw, 28px) !important;
}

.ftpm-entry-accordion {
  overflow: hidden;
}

.ftpm-entry-accordion > summary,
.ftpm-dashboard-panel-head,
.ftpm-member-message-compose-head {
  color: var(--ftpm-ci-heading) !important;
}

.ftpm-internal-mobile-nav {
  display: none;
  margin: 0 0 20px;
  padding: 16px;
  border: 1px solid var(--ftpm-ci-border);
  border-radius: var(--ftpm-ci-radius-md);
  background: var(--ftpm-ci-surface);
  box-shadow: var(--ftpm-ci-shadow-soft);
}

.ftpm-internal-mobile-nav label {
  display: block;
  margin-bottom: 8px;
  color: var(--ftpm-ci-heading) !important;
  font-weight: 850;
}

/* Header/Flaggen feinjustieren, ohne Astra zu überschreiben. */
.main-header-menu .ftpm-language-menu-item img,
.ast-builder-menu .ftpm-language-menu-item img,
.ftpm-language-flag img {
  width: 18px !important;
  height: auto !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Responsive: Portal wird mobil zu einem einfachen Formular-/Kartenfluss. */
@media (max-width: 980px) {
  .ftpm-internal-layout {
    grid-template-columns: 1fr !important;
  }

  .ftpm-internal-nav {
    display: none !important;
  }

  .ftpm-internal-mobile-nav {
    display: block !important;
  }

  .ftpm-internal-area,
  .ftpm-virtual-system-page {
    max-width: 760px !important;
  }

  .ftpm-dashboard-section-grid,
  .ftpm-dashboard-news-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  .ftpm-home-hero,
  .ftpm-home-section {
    width: min(100% - 28px, 1180px);
    border-radius: 22px;
  }

  .ftpm-home-hero {
    min-height: auto;
    padding: 34px 24px;
  }

  .ftpm-home-hero h1 {
    font-size: clamp(2.1rem, 11vw, 3.2rem) !important;
    letter-spacing: -.045em !important;
  }

  .ftpm-home-section {
    padding: 24px 18px;
  }

  .ftpm-species-slider {
    --ftpm-slider-mobile-height: 620px;
  }

  .ftpm-species-slide {
    grid-template-rows: 240px minmax(360px, 1fr) !important;
  }

  .ftpm-species-slide-content {
    padding: 24px 22px 32px !important;
  }

  .ftpm-internal-content > .ftpm-internal-module,
  .ftpm-dashboard-news-block,
  .ftpm-stock-box,
  .ftpm-breeding-box,
  .ftpm-price-box {
    padding: 18px !important;
  }

  .ftpm-dashboard-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 480px) {
  .ftpm-virtual-system-page {
    padding: 28px 14px !important;
  }

  .ftpm-dashboard-stat-grid {
    grid-template-columns: 1fr !important;
  }

  .ftpm-page-button-wrap .ftpm-page-button-link,
  .ftpm-species-slide-button,
  .ftpm-button-primary,
  .ftpm-primary-button,
  .ftpm-internal-area button[type="submit"],
  .ftpm-internal-area input[type="submit"] {
    width: 100%;
  }
}

/* 0.36.15: Astra-first Layout- und Typografie-Feinschliff.
   Leitlinie: Astra bestimmt Containerbreite, Typografie und CI-Farben. Das Plugin
   nutzt diese Bühne und erzwingt keine größeren Seitenbreiten mehr. */
:root {
  --ftpm-width-page: 100%;
  --ftpm-width-wide: 100%;
  --ftpm-width-content: min(100%, 1120px);
  --ftpm-width-narrow: min(100%, 760px);
  --ftpm-space-page-x: clamp(14px, 2.2vw, 28px);
  --ftpm-space-section-y: clamp(30px, 4vw, 58px);
  --ftpm-portal-sidebar: 230px;
  --ftpm-portal-gap: clamp(20px, 2.4vw, 30px);
  --ftpm-radius-card: 18px;
  --ftpm-card-border: color-mix(in srgb, var(--ast-global-color-6, #dde7dd) 82%, var(--ast-global-color-0, #123b24));
}

/* Astra-Container respektieren: keine Plugin-Flächen mehr breiter als der im
   Customizer gewählte Astra-Container. */
body:has(.ftpm-home-hero) .site-content > .ast-container,
body:has(.ftpm-system-page-rendered) .site-content > .ast-container {
  max-width: var(--ast-container-width, 1200px) !important;
  width: 100% !important;
}

body:has(.ftpm-home-hero) .content-area,
body:has(.ftpm-system-page-rendered) .content-area,
body:has(.ftpm-home-hero) .site-main,
body:has(.ftpm-system-page-rendered) .site-main,
body:has(.ftpm-home-hero) article,
body:has(.ftpm-system-page-rendered) article,
body:has(.ftpm-home-hero) .entry-content,
body:has(.ftpm-system-page-rendered) .entry-content {
  width: 100% !important;
  max-width: 100% !important;
}

/* Startseite: innerhalb des Astra-Containers breit wirken, aber nicht ausbrechen. */
.ftpm-home-hero,
.ftpm-home-section {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: var(--ftpm-space-section-y) !important;
  margin-bottom: var(--ftpm-space-section-y) !important;
}

.ftpm-home-hero {
  min-height: clamp(360px, 34vw, 480px) !important;
  padding: clamp(38px, 5vw, 72px) clamp(30px, 6vw, 82px) !important;
}

.ftpm-home-hero > * {
  max-width: 720px !important;
}

.ftpm-home-hero h1 {
  max-width: 720px !important;
  font-size: clamp(2.65rem, 4.3vw, 4.25rem) !important;
  line-height: 1.02 !important;
  text-wrap: balance;
}

.ftpm-home-hero p {
  max-width: 680px !important;
}

.ftpm-home-section {
  padding: clamp(30px, 4vw, 54px) !important;
}

.ftpm-home-section-slider,
.ftpm-home-section-contacts {
  max-width: var(--ftpm-width-content) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ftpm-home-section > p {
  max-width: 780px !important;
}

.ftpm-home-section .ftpm-species-slider {
  max-width: 100% !important;
}

.ftpm-home-section .ftpm-species-slide {
  grid-template-columns: minmax(380px, 1fr) minmax(330px, .92fr) !important;
}

.ftpm-home-section .ftpm-species-slide-content {
  padding: clamp(28px, 3.2vw, 46px) !important;
}

.ftpm-home-section .ftpm-species-slide-content h3 {
  font-size: clamp(1.85rem, 2.55vw, 2.55rem) !important;
  line-height: 1.08 !important;
  overflow-wrap: normal;
  text-wrap: balance;
}

/* Systemseiten: Seitenintro und Inhalt bleiben im Astra-Raster. */
.ftpm-virtual-system-page {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ftpm-system-page-rendered > h1,
.ftpm-system-page-rendered > p:first-child,
.ftpm-system-page-rendered > .wp-block-paragraph:first-child {
  width: var(--ftpm-width-content) !important;
  max-width: var(--ftpm-width-content) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ftpm-system-page-rendered > h1 {
  font-size: clamp(2.15rem, 3.2vw, 2.75rem) !important;
  line-height: 1.12 !important;
}

/* Mitgliederbereich: H-Struktur bleibt semantisch, optisch aber kompakter.
   Seite: h1 = Astra/Seitentitel; Portalhero = h2; Module = h2/h3. */
.ftpm-internal-area {
  width: 100% !important;
  max-width: 100% !important;
}

.ftpm-internal-layout {
  grid-template-columns: var(--ftpm-portal-sidebar) minmax(0, 1fr) !important;
  gap: var(--ftpm-portal-gap) !important;
}

.ftpm-internal-nav {
  padding: 16px !important;
  border-color: var(--ftpm-card-border) !important;
}

.ftpm-internal-nav a,
.ftpm-internal-nav span {
  font-size: .95rem !important;
  line-height: 1.25 !important;
}

.ftpm-internal-content > .ftpm-internal-module,
.ftpm-dashboard-hero,
.ftpm-dashboard-news-block,
.ftpm-stock-box,
.ftpm-breeding-box,
.ftpm-price-box,
.ftpm-profile-card,
.ftpm-downloads-portal,
.ftpm-mailbox-flat,
.ftpm-member-message-compose {
  padding: clamp(22px, 2.4vw, 32px) !important;
  border-color: var(--ftpm-card-border) !important;
  border-radius: var(--ftpm-radius-card) !important;
}

.ftpm-internal-hero {
  padding: clamp(26px, 3.4vw, 40px) !important;
  margin-bottom: clamp(24px, 2.6vw, 34px) !important;
  border-radius: var(--ftpm-radius-card) !important;
  border-color: var(--ftpm-card-border) !important;
}

.ftpm-internal-hero h2 {
  font-size: clamp(2rem, 2.8vw, 2.55rem) !important;
  line-height: 1.08 !important;
  margin-bottom: .55rem !important;
}

.ftpm-dashboard-hero h2,
.ftpm-stock-head h2,
.ftpm-breeding-head h2,
.ftpm-price-head h2,
.ftpm-internal-module h2 {
  font-size: clamp(1.65rem, 2.2vw, 2.15rem) !important;
  line-height: 1.15 !important;
  margin-bottom: .55rem !important;
}

.ftpm-dashboard-news-block h2,
.ftpm-stock-list h3,
.ftpm-breeding-list h3,
.ftpm-price-list h3,
.ftpm-member-message-compose-head h3 {
  font-size: clamp(1.35rem, 1.75vw, 1.65rem) !important;
  line-height: 1.2 !important;
}

.ftpm-dashboard-overview,
.ftpm-internal-module-active,
.ftpm-stock-box,
.ftpm-breeding-box,
.ftpm-price-box {
  gap: clamp(20px, 2.2vw, 28px) !important;
}

.ftpm-dashboard-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.5vw, 18px) !important;
}

.ftpm-dashboard-stat-card {
  padding: clamp(18px, 2vw, 24px) !important;
}

.ftpm-dashboard-stat-card strong {
  font-size: clamp(2.2rem, 3.2vw, 3.25rem) !important;
  line-height: 1 !important;
}

.ftpm-dashboard-news-grid,
.ftpm-dashboard-section-grid {
  gap: clamp(18px, 2vw, 26px) !important;
}

.ftpm-stock-form-grid,
.ftpm-breeding-form-grid,
.ftpm-price-form-grid,
.ftpm-profile-grid,
.ftpm-compose-grid {
  gap: clamp(14px, 1.6vw, 20px) !important;
}

/* Formulare in Portalflächen: Lesebreite behalten, aber nicht über ganze Zeile ziehen. */
.ftpm-stock-box form,
.ftpm-breeding-box form,
.ftpm-price-box form,
.ftpm-member-message-compose form,
.ftpm-profile-card form {
  max-width: var(--ftpm-width-content);
}

.ftpm-stock-box textarea,
.ftpm-breeding-box textarea,
.ftpm-price-box textarea {
  min-height: 105px;
}

@media (min-width: 1180px) {
  .ftpm-dashboard-news-grid {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .74fr) !important;
  }
}

@media (max-width: 1100px) {
  :root {
    --ftpm-portal-sidebar: 215px;
  }

  .ftpm-dashboard-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  .ftpm-internal-layout {
    grid-template-columns: 1fr !important;
  }

  .ftpm-home-section .ftpm-species-slide {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  .ftpm-home-hero,
  .ftpm-home-section,
  .ftpm-virtual-system-page,
  .ftpm-internal-area {
    width: 100% !important;
  }

  .ftpm-home-hero {
    min-height: auto !important;
  }

  .ftpm-home-hero h1 {
    font-size: clamp(2.15rem, 10vw, 3rem) !important;
  }

  .ftpm-internal-hero h2 {
    font-size: clamp(1.65rem, 7vw, 2.15rem) !important;
  }

  .ftpm-dashboard-hero h2,
  .ftpm-stock-head h2,
  .ftpm-breeding-head h2,
  .ftpm-price-head h2,
  .ftpm-internal-module h2 {
    font-size: clamp(1.45rem, 6vw, 1.9rem) !important;
  }

  .ftpm-home-section .ftpm-species-slide-content h3 {
    font-size: clamp(1.7rem, 7.2vw, 2.25rem) !important;
  }
}

/* 0.36.16: Mitgliederbereich entkrampfen und CI-Module besser lesbar machen.
   Ziel: Dashboard-Module untereinander statt gequetscht, Kicker-Balken mit
   Innenabstand, Kennzahlen sauber auf gemeinsamer Grundlinie. */
.ftpm-internal-area,
.ftpm-dashboard-overview {
  --ftpm-dashboard-label-row: 46px;
  --ftpm-dashboard-number-row: 62px;
  --ftpm-dashboard-meta-row: 42px;
}

.ftpm-internal-kicker {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  width: 100% !important;
  padding: 5px 12px !important;
  margin: 0 0 14px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--ast-global-color-0, #123b24) 10%, var(--ast-global-color-5, #ffffff)) !important;
  border: 1px solid color-mix(in srgb, var(--ast-global-color-0, #123b24) 13%, var(--ast-global-color-6, #dde7dd)) !important;
  color: var(--ast-global-color-0, #123b24) !important;
  font-size: .72rem !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  box-sizing: border-box !important;
}

.ftpm-dashboard-hero .ftpm-internal-kicker,
.ftpm-internal-hero .ftpm-internal-kicker,
.ftpm-dashboard-block-head .ftpm-internal-kicker {
  margin-bottom: 16px !important;
}

.ftpm-dashboard-stat-grid {
  gap: clamp(14px, 1.8vw, 22px) !important;
}

.ftpm-dashboard-stat-card,
.ftpm-dashboard-overview .ftpm-dashboard-stat-card {
  display: grid !important;
  grid-template-rows: var(--ftpm-dashboard-label-row) var(--ftpm-dashboard-number-row) var(--ftpm-dashboard-meta-row) !important;
  align-items: center !important;
  justify-items: center !important;
  align-content: center !important;
  min-height: 154px !important;
  padding: 20px 14px !important;
  gap: 4px !important;
}

.ftpm-dashboard-stat-card .ftpm-dashboard-stat-label,
.ftpm-dashboard-overview .ftpm-dashboard-stat-card .ftpm-dashboard-stat-label {
  min-height: var(--ftpm-dashboard-label-row) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: .78rem !important;
  line-height: 1.22 !important;
  letter-spacing: .025em !important;
  max-width: 11.5em !important;
}

.ftpm-dashboard-stat-card strong,
.ftpm-dashboard-overview .ftpm-dashboard-stat-card strong {
  align-self: center !important;
  min-height: var(--ftpm-dashboard-number-row) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: clamp(2.45rem, 3.6vw, 3rem) !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.ftpm-dashboard-stat-card small,
.ftpm-dashboard-overview .ftpm-dashboard-stat-card small {
  min-height: var(--ftpm-dashboard-meta-row) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: .84rem !important;
  line-height: 1.25 !important;
}

/* News-Bereich nicht mehr zweispaltig erzwingen: Neue Beiträge und neue
   Steckbriefe laufen untereinander und bekommen dadurch lesbare Breite. */
.ftpm-dashboard-news-grid,
.ftpm-dashboard-overview .ftpm-dashboard-news-grid,
.ftpm-dashboard-section-grid.ftpm-dashboard-news-grid {
  grid-template-columns: 1fr !important;
  gap: clamp(18px, 2.1vw, 24px) !important;
}

.ftpm-dashboard-news-panel .ftpm-dashboard-panel-head {
  padding: 16px 20px !important;
}

.ftpm-dashboard-panel-head h3,
.ftpm-dashboard-news-panel .ftpm-dashboard-panel-head h3 {
  font-size: clamp(1.15rem, 1.45vw, 1.35rem) !important;
  line-height: 1.15 !important;
}

.ftpm-dashboard-news-panel .ftpm-dashboard-list-item,
.ftpm-dashboard-posts-panel .ftpm-dashboard-list-item {
  grid-template-columns: minmax(0, 1fr) auto !important;
  padding: 16px 20px !important;
}

.ftpm-dashboard-news-panel .ftpm-dashboard-species-name strong,
.ftpm-dashboard-posts-panel .ftpm-dashboard-species-name strong {
  line-height: 1.18 !important;
}

.ftpm-dashboard-post-item .ftpm-dashboard-species-name em {
  -webkit-line-clamp: 3 !important;
}

@media (max-width: 980px) {
  .ftpm-dashboard-stat-card,
  .ftpm-dashboard-overview .ftpm-dashboard-stat-card {
    min-height: 142px !important;
  }
}

@media (max-width: 620px) {
  .ftpm-internal-kicker {
    min-height: 22px !important;
    padding: 5px 10px !important;
    font-size: .68rem !important;
  }

  .ftpm-dashboard-stat-card,
  .ftpm-dashboard-overview .ftpm-dashboard-stat-card {
    grid-template-rows: auto auto auto !important;
    min-height: 132px !important;
  }

  .ftpm-dashboard-news-panel .ftpm-dashboard-list-item,
  .ftpm-dashboard-posts-panel .ftpm-dashboard-list-item {
    grid-template-columns: 1fr !important;
  }
}

/* 0.36.18: Mitgliederbereich bekommt einen eigenständigen CI-Hero.
   Der generische Systemseitenkopf entfällt; der Hero startet direkt unter dem
   Header, nutzt die volle Browserbreite und legt nur seine Inhalte wieder in
   die Astra-Containerbreite. Der eigentliche Portalinhalt bleibt dadurch sauber
   an der im Customizer gesetzten Containerbreite ausgerichtet. */
body:has(.ftpm-system-page-members) .site-content > .ast-container,
body:has(.ftpm-system-page-members) .site-content .ast-container.ftpm-virtual-system-container,
.ftpm-system-page-members .ftpm-virtual-system-container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ftpm-system-page-members,
.ftpm-system-page-members .ftpm-internal-area,
.ftpm-system-page-members .ftpm-internal-portal {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ftpm-system-page-members .ftpm-internal-hero {
  display: grid !important;
  grid-template-columns: minmax(0, var(--ast-container-width, 1200px)) !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 clamp(34px, 4vw, 56px) !important;
  padding: clamp(56px, 6.4vw, 92px) var(--ftpm-space-page-x) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(229, 199, 95, .18), transparent 28%),
    linear-gradient(115deg,
      color-mix(in srgb, var(--ast-global-color-1, #2f5d3a) 84%, #000 16%) 0%,
      var(--ast-global-color-0, #123b24) 48%,
      color-mix(in srgb, var(--ast-global-color-1, #2f5d3a) 78%, #0b1f2a 22%) 100%) !important;
  overflow: hidden !important;
  position: relative !important;
}

.ftpm-system-page-members .ftpm-internal-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0 52%, rgba(255, 255, 255, .055) 52% 62%, transparent 62% 100%);
}

.ftpm-system-page-members .ftpm-internal-hero > * {
  grid-column: 1 !important;
  position: relative !important;
  z-index: 1 !important;
  max-width: 760px !important;
}

.ftpm-system-page-members .ftpm-internal-hero .ftpm-internal-kicker {
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 0 16px !important;
  padding: 7px 13px !important;
  background: rgba(255, 255, 255, .12) !important;
  border: 1px solid rgba(229, 199, 95, .38) !important;
  color: var(--ast-global-color-7, #e5c75f) !important;
  backdrop-filter: blur(6px);
}

.ftpm-system-page-members .ftpm-internal-hero h2 {
  color: #fff !important;
  font-size: clamp(2.25rem, 4.25vw, 4.15rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  margin: 0 0 18px !important;
  text-wrap: balance;
}

.ftpm-system-page-members .ftpm-internal-hero p:not(.ftpm-internal-kicker) {
  color: rgba(255, 255, 255, .9) !important;
  font-size: clamp(1.02rem, 1.25vw, 1.18rem) !important;
  line-height: 1.65 !important;
  max-width: 720px !important;
  margin: 0 !important;
}

.ftpm-system-page-members .ftpm-internal-mobile-nav,
.ftpm-system-page-members .ftpm-internal-layout {
  width: min(calc(100% - (2 * var(--ftpm-space-page-x))), var(--ast-container-width, 1200px)) !important;
  max-width: var(--ast-container-width, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ftpm-system-page-members .ftpm-internal-layout {
  margin-top: 0 !important;
  margin-bottom: clamp(42px, 5vw, 72px) !important;
}

.ftpm-system-page-members .ftpm-internal-mobile-nav {
  margin-bottom: clamp(18px, 2.5vw, 28px) !important;
}

@media (max-width: 760px) {
  .ftpm-system-page-members .ftpm-internal-hero {
    padding-top: clamp(38px, 12vw, 58px) !important;
    padding-bottom: clamp(38px, 12vw, 58px) !important;
  }

  .ftpm-system-page-members .ftpm-internal-hero h2 {
    font-size: clamp(2rem, 10vw, 3rem) !important;
  }
}


/* 0.36.18: Full-width CI-Heros direkt unter dem Astra-Header + Header-Menü stabilisieren.
   Die grünen Heros starten ohne weißen Zwischenraum unter dem Header. Ihre Inhalte
   bleiben trotzdem auf der im Astra-Customizer gepflegten Containerbreite ausgerichtet. */
body:has(.ftpm-home-hero) .site-content,
body:has(.ftpm-system-page-members) .site-content,
body:has(.ftpm-home-hero) .site-content > .ast-container,
body:has(.ftpm-system-page-members) .site-content > .ast-container,
body:has(.ftpm-home-hero) .content-area,
body:has(.ftpm-system-page-members) .content-area,
body:has(.ftpm-home-hero) .site-main,
body:has(.ftpm-system-page-members) .site-main,
body:has(.ftpm-home-hero) article,
body:has(.ftpm-system-page-members) article,
body:has(.ftpm-home-hero) .entry-content,
body:has(.ftpm-system-page-members) .entry-content,
body:has(.ftpm-system-page-members) .ftpm-virtual-system-page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body:has(.ftpm-home-hero) .site-content > .ast-container,
body:has(.ftpm-system-page-members) .site-content > .ast-container {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Startseite: Hero als echte breite Bühne, keine Rundungen, kein weißer Abstand.
   Der Inhalt startet am linken Rand der Astra-Containerbreite. */
.ftpm-home-hero {
  display: grid !important;
  grid-template-columns: minmax(0, var(--ast-container-width, 1200px)) !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(380px, 34vw, 520px) !important;
  margin: 0 0 clamp(34px, 4vw, 56px) !important;
  padding: clamp(58px, 6.2vw, 92px) var(--ftpm-space-page-x, clamp(14px,2.2vw,28px)) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(229, 199, 95, .18), transparent 28%),
    linear-gradient(115deg,
      color-mix(in srgb, var(--ast-global-color-1, #2f5d3a) 84%, #000 16%) 0%,
      var(--ast-global-color-0, #123b24) 48%,
      color-mix(in srgb, var(--ast-global-color-1, #2f5d3a) 78%, #0b1f2a 22%) 100%) !important;
}

.ftpm-home-hero::before {
  background: linear-gradient(110deg, transparent 0 52%, rgba(255,255,255,.055) 52% 62%, transparent 62% 100%) !important;
  opacity: 1 !important;
}

.ftpm-home-hero > * {
  grid-column: 1 !important;
  max-width: 720px !important;
  justify-self: start !important;
}

.ftpm-home-section {
  width: min(calc(100% - (2 * var(--ftpm-space-page-x, clamp(14px,2.2vw,28px)))), var(--ast-container-width, 1200px)) !important;
  max-width: var(--ast-container-width, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ftpm-home-section-slider,
.ftpm-home-section-contacts {
  width: min(calc(100% - (2 * var(--ftpm-space-page-x, clamp(14px,2.2vw,28px)))), var(--ast-container-width, 1200px)) !important;
  max-width: var(--ast-container-width, 1200px) !important;
}

/* Mitgliederbereich: weißen Streifen unter dem Header entfernen und Hero direkt anschließen. */
.ftpm-system-page-members .ftpm-internal-hero {
  margin-top: 0 !important;
}

/* Header: Astra-Menü auf Desktop stabilisieren. Reguläre Menüpunkte und Sprachfahnen
   bleiben in einer Zeile; das Plugin reduziert nur die Abstände minimal und lässt
   Astra-Farben/Positionierung ansonsten in Ruhe. */
@media (min-width: 922px) {
  .ast-desktop .main-header-menu,
  .ast-desktop .ast-builder-menu .main-header-menu {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }

  .ast-desktop .main-header-menu > .menu-item,
  .ast-desktop .main-header-menu > .lang-item {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .ast-desktop .main-header-menu > .menu-item > .menu-link {
    white-space: nowrap !important;
    padding-left: clamp(10px, 1.1vw, 16px) !important;
    padding-right: clamp(10px, 1.1vw, 16px) !important;
    line-height: 1.25 !important;
  }

  .ast-desktop .main-header-menu > .lang-item > a,
  .ast-desktop .main-header-menu > .lang-item > .menu-link {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ast-desktop .main-header-menu > .lang-item {
    margin-left: 6px !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 760px) {
  .ftpm-home-hero {
    min-height: auto !important;
    padding-top: clamp(42px, 12vw, 64px) !important;
    padding-bottom: clamp(42px, 12vw, 64px) !important;
  }
}

/* 0.36.19: Mitgliederbereich Restabstand + Steckbriefübersicht als CI-Portal */
body:has(.ftpm-system-page-members) .site-content,
body:has(.ftpm-system-page-members) .ast-container,
body:has(.ftpm-system-page-members) .content-area,
body:has(.ftpm-system-page-members) .site-main,
body:has(.ftpm-system-page-members) article,
body:has(.ftpm-system-page-members) .entry-content,
body:has(.ftpm-system-page-members) .ftpm-virtual-system-page,
body:has(.ftpm-system-page-members) .ftpm-system-page-rendered,
body:has(.ftpm-system-page-members) .ftpm-internal-area,
body:has(.ftpm-system-page-members) .ftpm-internal-portal {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body:has(.ftpm-system-page-members) .ftpm-internal-area {
  padding: 0 0 clamp(36px, 5vw, 70px) !important;
}

/* Profilübersicht: alten WordPress-Seitenkopf ausblenden, weil der Shortcode
   nun einen eigenen semantischen H1-Hero rendert. */
body:has(.ftpm-profiles-page) .entry-title,
body:has(.ftpm-profiles-page) .entry-header,
body:has(.ftpm-profiles-page) .entry-content > p:first-child:not([class]) {
  display: none !important;
}

body:has(.ftpm-profiles-page) .site-content > .ast-container,
body:has(.ftpm-profiles-page) .content-area,
body:has(.ftpm-profiles-page) .site-main,
body:has(.ftpm-profiles-page) article,
body:has(.ftpm-profiles-page) .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body:has(.ftpm-profiles-page) .site-content > .ast-container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ftpm-overview.ftpm-profiles-page {
  --ftpm-overview-filter-width: 288px;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 clamp(46px, 6vw, 82px) !important;
  box-sizing: border-box !important;
}

.ftpm-overview-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(22px, 4vw, 52px) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 clamp(28px, 4vw, 54px) !important;
  padding: clamp(54px, 6vw, 86px) max(var(--ftpm-space-page-x, 18px), calc((100vw - var(--ast-container-width, 1200px)) / 2)) !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 16% 8%, rgba(229, 199, 95, .18), transparent 30%),
    linear-gradient(115deg,
      color-mix(in srgb, var(--ast-global-color-1, #2f5d3a) 84%, #000 16%) 0%,
      var(--ast-global-color-0, #123b24) 50%,
      color-mix(in srgb, var(--ast-global-color-1, #2f5d3a) 80%, #0b1f2a 20%) 100%) !important;
  position: relative !important;
  overflow: hidden !important;
}

.ftpm-overview-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0 52%, rgba(255,255,255,.055) 52% 62%, transparent 62% 100%);
}

.ftpm-overview-hero-content,
.ftpm-overview-hero-stat {
  position: relative !important;
  z-index: 1 !important;
}

.ftpm-overview-kicker {
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 0 16px !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(229, 199, 95, .42) !important;
  background: rgba(255,255,255,.12) !important;
  color: var(--ast-global-color-7, #e5c75f) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .045em !important;
}

.ftpm-overview-hero h1 {
  max-width: 780px !important;
  margin: 0 0 18px !important;
  color: #fff !important;
  font-size: clamp(2.35rem, 4.6vw, 4.35rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
  text-wrap: balance !important;
}

.ftpm-overview-hero p:not(.ftpm-overview-kicker) {
  max-width: 720px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.9) !important;
  font-size: clamp(1.02rem, 1.25vw, 1.18rem) !important;
  line-height: 1.65 !important;
}

.ftpm-overview-hero .ftpm-overview-stats {
  min-width: 150px !important;
  padding: 22px 24px !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  backdrop-filter: blur(7px) !important;
  box-shadow: none !important;
}

.ftpm-overview-hero .ftpm-overview-stats strong {
  color: #fff !important;
  font-size: clamp(2.4rem, 4vw, 3.4rem) !important;
}

.ftpm-overview-hero .ftpm-overview-stats span {
  color: rgba(255,255,255,.82) !important;
}

.ftpm-overview-shell {
  display: grid !important;
  grid-template-columns: minmax(230px, var(--ftpm-overview-filter-width)) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: clamp(24px, 3vw, 38px) !important;
  width: min(calc(100% - (2 * var(--ftpm-space-page-x, 18px))), var(--ast-container-width, 1200px)) !important;
  max-width: var(--ast-container-width, 1200px) !important;
  margin: 0 auto !important;
}

.ftpm-overview-sidebar {
  position: sticky !important;
  top: clamp(18px, 3vw, 34px) !important;
  min-width: 0 !important;
}

.ftpm-overview-results {
  min-width: 0 !important;
}

.ftpm-filter-panel.ftpm-filter-panel-v2 {
  border: 1px solid color-mix(in srgb, var(--ast-global-color-6, #dde7dd) 80%, var(--ast-global-color-0, #123b24) 20%) !important;
  border-radius: 24px !important;
  padding: clamp(18px, 2.2vw, 24px) !important;
  background: color-mix(in srgb, var(--ast-global-color-5, #fff) 88%, var(--ast-global-color-4, #fbf7ea) 12%) !important;
  box-shadow: 0 18px 45px rgba(11, 31, 42, .055) !important;
}

.ftpm-filter-search label,
.ftpm-filter-label {
  display: block !important;
  margin: 0 0 9px !important;
  color: var(--ast-global-color-2, #0b1f2a) !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
  letter-spacing: .025em !important;
}

.ftpm-search-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.ftpm-search-row input[type="search"] {
  min-height: 46px !important;
  border-radius: 14px !important;
}

.ftpm-filter-submit {
  width: 100% !important;
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 22px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: var(--ast-global-color-7, #e5c75f) !important;
  color: var(--ast-global-color-2, #0b1f2a) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.ftpm-filter-submit:hover,
.ftpm-filter-submit:focus {
  background: color-mix(in srgb, var(--ast-global-color-7, #e5c75f) 86%, #000 14%) !important;
  color: var(--ast-global-color-2, #0b1f2a) !important;
}

.ftpm-filter-details {
  margin-top: 18px !important;
}

.ftpm-filter-details summary {
  cursor: pointer !important;
  margin: 0 0 16px !important;
  color: var(--ast-global-color-0, #123b24) !important;
  font-weight: 800 !important;
}

.ftpm-filter-block {
  padding: 15px 0 !important;
  border-top: 1px solid var(--ast-global-color-6, #dde7dd) !important;
}

.ftpm-filter-block:first-of-type {
  border-top: 0 !important;
}

.ftpm-filter-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.ftpm-filter-links a,
.ftpm-active-filters a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  border-radius: 999px !important;
  border: 1px solid var(--ast-global-color-6, #dde7dd) !important;
  padding: 7px 11px !important;
  background: #fff !important;
  color: var(--ast-global-color-2, #0b1f2a) !important;
  font-size: .86rem !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
}

.ftpm-filter-links a:hover,
.ftpm-active-filters a:hover {
  border-color: var(--ast-global-color-0, #123b24) !important;
  color: var(--ast-global-color-0, #123b24) !important;
}

.ftpm-filter-links a.is-active,
.ftpm-active-filters .ftpm-reset-chip {
  background: var(--ast-global-color-0, #123b24) !important;
  border-color: var(--ast-global-color-0, #123b24) !important;
  color: #fff !important;
}

.ftpm-active-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 16px !important;
}

.ftpm-active-filters > span {
  flex-basis: 100% !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
  color: var(--ast-global-color-2, #0b1f2a) !important;
}

.ftpm-resultbar {
  align-items: center !important;
  margin-bottom: clamp(18px, 2.4vw, 28px) !important;
  padding: 12px 16px !important;
  border: 1px solid var(--ast-global-color-6, #dde7dd) !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--ast-global-color-5, #fff) 88%, var(--ast-global-color-4, #fbf7ea) 12%) !important;
}

.ftpm-resultbar a {
  color: var(--ast-global-color-0, #123b24) !important;
  font-weight: 800 !important;
}

.ftpm-overview-group {
  margin: 0 0 clamp(34px, 4vw, 52px) !important;
}

.ftpm-overview-group h3 {
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--ast-global-color-6, #dde7dd) !important;
  color: var(--ast-global-color-0, #123b24) !important;
  font-size: clamp(1.35rem, 2vw, 1.9rem) !important;
}

.ftpm-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 26px) !important;
}

.ftpm-overview-card {
  border-color: var(--ast-global-color-6, #dde7dd) !important;
  border-radius: 22px !important;
  box-shadow: 0 15px 36px rgba(11, 31, 42, .055) !important;
}

.ftpm-card-button,
.ftpm-overview-card .ftpm-card-button {
  background: var(--ast-global-color-7, #e5c75f) !important;
  color: var(--ast-global-color-2, #0b1f2a) !important;
  font-weight: 800 !important;
  border-radius: 999px !important;
  text-decoration: none !important;
}

@media (max-width: 1024px) {
  .ftpm-overview-shell {
    grid-template-columns: 1fr !important;
  }

  .ftpm-overview-sidebar {
    position: static !important;
  }

  .ftpm-filter-panel.ftpm-filter-panel-v2 {
    padding: 18px !important;
  }

  .ftpm-search-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .ftpm-filter-submit {
    width: auto !important;
    min-width: 130px !important;
  }
}

@media (max-width: 760px) {
  .ftpm-overview-hero {
    grid-template-columns: 1fr !important;
    padding-top: clamp(40px, 12vw, 62px) !important;
    padding-bottom: clamp(40px, 12vw, 62px) !important;
  }

  .ftpm-overview-hero .ftpm-overview-stats {
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  .ftpm-overview-hero h1 {
    font-size: clamp(2.1rem, 10vw, 3.2rem) !important;
  }

  .ftpm-search-row {
    grid-template-columns: 1fr !important;
  }

  .ftpm-filter-submit {
    width: 100% !important;
  }

  .ftpm-card-grid {
    grid-template-columns: 1fr !important;
  }
}

/* 0.36.23: Steckbriefübersicht mobil stabilisieren und alte 100vw-Workarounds ersetzen.
   Grundsatz: Auf Mobil arbeitet die Seite innerhalb des sichtbaren Containers mit 100% Breite.
   Keine calc(50% - 50vw)-Offsets mehr, damit Chrome DevTools beim Umschalten von Desktop
   auf Mobil keinen überbreiten Zwischenzustand behält. */
.ftpm-overview.ftpm-profiles-page,
.ftpm-overview.ftpm-profiles-page * {
  box-sizing: border-box;
}

.ftpm-overview.ftpm-profiles-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
}

.ftpm-overview-hero .ftpm-overview-kicker {
  display: none;
}

.ftpm-overview-hero-content,
.ftpm-overview-hero-stat,
.ftpm-overview-results,
.ftpm-overview-sidebar,
.ftpm-filter-panel.ftpm-filter-panel-v2,
.ftpm-filter-search,
.ftpm-search-row,
.ftpm-search-row input[type="search"],
.ftpm-filter-submit,
.ftpm-filter-details,
.ftpm-filter-block,
.ftpm-filter-links,
.ftpm-resultbar,
.ftpm-card-grid,
.ftpm-overview-card {
  min-width: 0;
  max-width: 100%;
}

.ftpm-overview-hero .ftpm-overview-stats,
.ftpm-overview-hero-stat {
  display: grid;
  place-items: center;
  align-content: center;
  justify-items: center;
  text-align: center;
}

.ftpm-overview-hero .ftpm-overview-stats strong {
  display: block;
  width: 100%;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.ftpm-overview-hero .ftpm-overview-stats span {
  display: block;
  width: 100%;
  text-align: center;
}

.ftpm-overview-hero h1,
.ftpm-overview-hero p,
.ftpm-overview-group h3,
.ftpm-filter-label,
.ftpm-filter-details summary,
.ftpm-filter-links a,
.ftpm-active-filters a {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}

@media (max-width: 760px) {
  body:has(.ftpm-profiles-page) {
    overflow-x: hidden;
  }

  body:has(.ftpm-profiles-page) .site-content,
  body:has(.ftpm-profiles-page) .site-content > .ast-container,
  body:has(.ftpm-profiles-page) .content-area,
  body:has(.ftpm-profiles-page) .site-main,
  body:has(.ftpm-profiles-page) article,
  body:has(.ftpm-profiles-page) .entry-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    overflow-x: hidden;
  }

  .ftpm-overview.ftpm-profiles-page {
    --ftpm-mobile-x: max(16px, env(safe-area-inset-left));
    padding-bottom: 48px;
  }

  .ftpm-overview-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 28px;
    padding: 34px var(--ftpm-mobile-x) 38px;
    gap: 20px;
    overflow: hidden;
  }

  .ftpm-overview-hero-content,
  .ftpm-overview-hero-stat,
  .ftpm-overview-hero .ftpm-overview-stats,
  .ftpm-overview-hero h1,
  .ftpm-overview-hero p {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .ftpm-overview-hero h1 {
    margin-bottom: 14px;
    font-size: clamp(2rem, 10.5vw, 2.65rem);
    line-height: 1.05;
    letter-spacing: -.035em;
  }

  .ftpm-overview-hero p:not(.ftpm-overview-kicker) {
    font-size: .98rem;
    line-height: 1.5;
  }

  .ftpm-overview-hero .ftpm-overview-stats {
    width: 100%;
    min-height: 106px;
    padding: 20px 18px;
    border-radius: 20px;
  }

  .ftpm-overview-hero .ftpm-overview-stats strong {
    font-size: clamp(2.2rem, 12vw, 3rem);
    line-height: 1;
  }

  .ftpm-overview-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: calc(100% - 32px);
    max-width: calc(100% - 32px);
    min-width: 0;
    margin-left: auto;
    margin-right: auto;
    gap: 22px;
  }

  .ftpm-overview-sidebar {
    position: static;
    width: 100%;
  }

  .ftpm-filter-panel.ftpm-filter-panel-v2 {
    width: 100%;
    padding: 16px;
    border-radius: 22px;
    overflow: hidden;
  }

  .ftpm-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: 100%;
  }

  .ftpm-search-row input[type="search"] {
    width: 100%;
    min-height: 50px;
    padding-left: 16px;
    padding-right: 16px;
    font-size: 16px;
  }

  .ftpm-filter-submit {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 13px 18px;
    font-size: 1rem;
  }

  .ftpm-filter-details {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--ast-global-color-6, #dde7dd);
  }

  .ftpm-filter-details:not([open]) .ftpm-filter-block {
    display: none;
  }

  .ftpm-filter-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    cursor: pointer;
    list-style: none;
    color: var(--ast-global-color-0, #123b24);
    font-weight: 800;
    font-size: 1.02rem;
    line-height: 1.35;
  }

  .ftpm-filter-details summary::-webkit-details-marker {
    display: none;
  }

  .ftpm-filter-details summary::after {
    content: "+";
    display: inline-grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: var(--ast-global-color-7, #e5c75f);
    color: var(--ast-global-color-2, #0b1f2a);
    font-weight: 900;
    line-height: 1;
  }

  .ftpm-filter-details[open] summary::after {
    content: "–";
  }

  .ftpm-filter-block {
    padding: 16px 0;
  }

  .ftpm-filter-links {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 9px;
  }

  .ftpm-filter-links a,
  .ftpm-active-filters a {
    max-width: 100%;
    white-space: normal;
    padding: 8px 12px;
    font-size: .9rem;
    line-height: 1.2;
  }

  .ftpm-resultbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 12px 14px;
    border-radius: 16px;
  }

  .ftpm-overview-group h3 {
    font-size: clamp(1.35rem, 8vw, 1.8rem);
    line-height: 1.15;
  }

  .ftpm-card-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .ftpm-overview-card {
    border-radius: 20px;
  }
}

@media (max-width: 420px) {
  .ftpm-overview.ftpm-profiles-page {
    --ftpm-mobile-x: 16px;
  }

  .ftpm-overview-hero {
    padding-top: 30px;
    padding-bottom: 34px;
  }

  .ftpm-overview-hero h1 {
    font-size: clamp(1.95rem, 12vw, 2.5rem);
  }

  .ftpm-overview-shell {
    width: calc(100% - 24px);
    max-width: calc(100% - 24px);
  }

  .ftpm-filter-panel.ftpm-filter-panel-v2 {
    padding: 16px;
    border-radius: 20px;
  }
}

/* 0.36.24: Mobile Steckbriefübersicht endgültig gegen Desktop-Restbreiten absichern.
   Ursache war nicht ein einzelnes Element, sondern ältere Desktop-Regeln mit !important
   (Hero-Grid, Shell-Breite, Padding), die beim Umschalten in Chrome DevTools mobil
   teilweise vor späteren nicht-important Regeln gewonnen haben. Diese Regeln nutzen die
   JS-Klasse auf <html> und überschreiben alle relevanten Profilübersichts-Container. */
html.ftpm-profiles-mobile-view,
html.ftpm-profiles-mobile-view body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

html.ftpm-profiles-mobile-view body:has(.ftpm-profiles-page) .site-content,
html.ftpm-profiles-mobile-view body:has(.ftpm-profiles-page) .site-content > .ast-container,
html.ftpm-profiles-mobile-view body:has(.ftpm-profiles-page) .content-area,
html.ftpm-profiles-mobile-view body:has(.ftpm-profiles-page) .site-main,
html.ftpm-profiles-mobile-view body:has(.ftpm-profiles-page) article,
html.ftpm-profiles-mobile-view body:has(.ftpm-profiles-page) .entry-content,
html.ftpm-profiles-mobile-view .ftpm-overview.ftpm-profiles-page,
html.ftpm-profiles-mobile-view .ftpm-overview.ftpm-profiles-page > *,
html.ftpm-profiles-mobile-view .ftpm-overview-hero,
html.ftpm-profiles-mobile-view .ftpm-overview-shell,
html.ftpm-profiles-mobile-view .ftpm-overview-sidebar,
html.ftpm-profiles-mobile-view .ftpm-overview-results,
html.ftpm-profiles-mobile-view .ftpm-filter-panel.ftpm-filter-panel-v2,
html.ftpm-profiles-mobile-view .ftpm-card-grid {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html.ftpm-profiles-mobile-view body:has(.ftpm-profiles-page) .site-content > .ast-container,
html.ftpm-profiles-mobile-view body:has(.ftpm-profiles-page) .content-area,
html.ftpm-profiles-mobile-view body:has(.ftpm-profiles-page) .site-main,
html.ftpm-profiles-mobile-view body:has(.ftpm-profiles-page) article,
html.ftpm-profiles-mobile-view body:has(.ftpm-profiles-page) .entry-content,
html.ftpm-profiles-mobile-view .ftpm-overview.ftpm-profiles-page {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html.ftpm-profiles-mobile-view .ftpm-overview-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 28px !important;
  padding: 30px 16px 34px !important;
  gap: 20px !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

html.ftpm-profiles-mobile-view .ftpm-overview-hero-content,
html.ftpm-profiles-mobile-view .ftpm-overview-hero-stat,
html.ftpm-profiles-mobile-view .ftpm-overview-hero .ftpm-overview-stats,
html.ftpm-profiles-mobile-view .ftpm-overview-hero h1,
html.ftpm-profiles-mobile-view .ftpm-overview-hero p {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html.ftpm-profiles-mobile-view .ftpm-overview-hero h1 {
  font-size: clamp(1.95rem, 11vw, 2.55rem) !important;
  line-height: 1.05 !important;
  margin: 0 0 14px !important;
}

html.ftpm-profiles-mobile-view .ftpm-overview-hero p:not(.ftpm-overview-kicker) {
  font-size: .98rem !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere !important;
}

html.ftpm-profiles-mobile-view .ftpm-overview-hero .ftpm-overview-stats {
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  min-width: 0 !important;
  min-height: 106px !important;
  padding: 20px 18px !important;
}

html.ftpm-profiles-mobile-view .ftpm-overview-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: calc(100% - 32px) !important;
  max-width: calc(100% - 32px) !important;
  margin: 0 auto !important;
  gap: 22px !important;
}

html.ftpm-profiles-mobile-view .ftpm-overview-sidebar,
html.ftpm-profiles-mobile-view .ftpm-overview-results,
html.ftpm-profiles-mobile-view .ftpm-filter-panel.ftpm-filter-panel-v2,
html.ftpm-profiles-mobile-view .ftpm-filter-search,
html.ftpm-profiles-mobile-view .ftpm-search-row,
html.ftpm-profiles-mobile-view .ftpm-search-row input[type="search"],
html.ftpm-profiles-mobile-view .ftpm-filter-submit,
html.ftpm-profiles-mobile-view .ftpm-filter-details,
html.ftpm-profiles-mobile-view .ftpm-filter-block,
html.ftpm-profiles-mobile-view .ftpm-filter-links,
html.ftpm-profiles-mobile-view .ftpm-resultbar,
html.ftpm-profiles-mobile-view .ftpm-card-grid,
html.ftpm-profiles-mobile-view .ftpm-overview-card {
  width: 100% !important;
}

html.ftpm-profiles-mobile-view .ftpm-search-row,
html.ftpm-profiles-mobile-view .ftpm-card-grid,
html.ftpm-profiles-mobile-view .ftpm-resultbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

html.ftpm-profiles-mobile-view .ftpm-filter-submit {
  min-width: 0 !important;
}

html.ftpm-profiles-mobile-view .ftpm-filter-details:not([open]) .ftpm-filter-block {
  display: none !important;
}

@media (max-width: 420px) {
  html.ftpm-profiles-mobile-view .ftpm-overview-shell {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
  }
}

/* 0.36.25: Content landing pages (home/facilities) - Astra first, no hard page width overrides */
.ftpm-home-section-intro,
.ftpm-facilities-page .ftpm-home-section {
    max-width: var(--ftpm-width-wide, var(--ast-container-width, 1200px));
}

.ftpm-home-section-intro p,
.ftpm-facilities-page .ftpm-home-section p,
.ftpm-facilities-page .ftpm-home-section li {
    color: var(--ast-global-color-3, #4B5563);
    font-size: clamp(1rem, 0.94rem + 0.2vw, 1.125rem);
    line-height: 1.75;
}

.ftpm-home-section-intro h2,
.ftpm-facilities-page .ftpm-home-section h2 {
    max-width: 860px;
    color: var(--ast-global-color-2, #0B1F2A);
}

.ftpm-home-teaser-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
    margin-top: clamp(26px, 3vw, 38px);
}

.ftpm-home-teaser-card {
    padding: clamp(22px, 2.6vw, 30px);
    border: 1px solid var(--ast-global-color-6, #DDE7DD);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(251,247,234,.72));
    box-shadow: 0 18px 42px rgba(11, 31, 42, .06);
}

.ftpm-home-teaser-card h3 {
    margin: 0 0 10px;
    color: var(--ast-global-color-0, #123B24);
    font-size: clamp(1.15rem, 1.02rem + .45vw, 1.45rem);
}

.ftpm-home-teaser-card p {
    margin: 0;
}

.ftpm-facilities-hero {
    width: 100%;
    max-width: none;
    margin: 0 0 clamp(40px, 5vw, 68px);
    padding: clamp(62px, 8vw, 110px) max(18px, calc((100vw - var(--ast-container-width, 1200px)) / 2));
    background: radial-gradient(circle at 18% 10%, rgba(229, 199, 95, .16), transparent 34%), linear-gradient(135deg, var(--ast-global-color-1, #2F5D3A), var(--ast-global-color-0, #123B24));
    color: #fff;
    overflow: hidden;
    position: relative;
}

.ftpm-facilities-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(108deg, transparent 0 52%, rgba(255,255,255,.055) 52% 63%, transparent 63% 100%);
    pointer-events: none;
}

.ftpm-facilities-hero > * {
    position: relative;
    z-index: 1;
    max-width: 760px;
}

.ftpm-facilities-hero h1 {
    color: #fff;
    margin: 0 0 18px;
    font-size: clamp(2.6rem, 6vw, 5.1rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.ftpm-facilities-hero p {
    color: rgba(255,255,255,.9);
    max-width: 720px;
    font-size: clamp(1.06rem, 1rem + .3vw, 1.25rem);
    line-height: 1.65;
    margin: 0;
}

.ftpm-facilities-profile .ftpm-home-teaser-card {
    min-height: 100%;
}

.ftpm-facilities-examples ul {
    margin: 22px 0 0;
    padding-left: 1.15em;
}

.ftpm-facilities-examples li + li {
    margin-top: 8px;
}

@media (max-width: 921px) {
    .ftpm-home-teaser-grid,
    .ftpm-facilities-field-grid {
        grid-template-columns: 1fr;
    }

    .ftpm-facilities-hero {
        padding-left: 18px;
        padding-right: 18px;
    }
}

@media (max-width: 544px) {
    .ftpm-facilities-hero {
        padding-top: 48px;
        padding-bottom: 54px;
    }

    .ftpm-facilities-hero h1 {
        font-size: clamp(2.25rem, 14vw, 3.4rem);
    }

    .ftpm-home-teaser-card {
        border-radius: 18px;
    }
}

/* 0.36.26: Startseite - redaktioneller Feinschliff, Kennzahlen und gleich hohe Teaserkarten */
.ftpm-home-hero .ftpm-page-button-wrap {
    margin-top: clamp(24px, 3.2vw, 40px);
}

.ftpm-home-teaser-grid {
    align-items: stretch;
}

.ftpm-home-teaser-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.ftpm-home-teaser-card h3 {
    margin-top: 8px;
}

.ftpm-home-stat {
    display: flex;
    align-items: baseline;
    gap: 3px;
    margin-bottom: 16px;
    color: var(--ast-global-color-0, #123B24);
}

.ftpm-home-stat strong {
    display: inline-block;
    font-size: clamp(2.1rem, 1.65rem + 1.7vw, 3.2rem);
    line-height: .9;
    letter-spacing: -.045em;
    font-weight: 800;
    color: var(--ast-global-color-2, #0B1F2A);
}

.ftpm-home-stat-suffix {
    font-size: clamp(1.35rem, 1.1rem + .8vw, 2rem);
    font-weight: 800;
    line-height: 1;
    color: var(--ast-global-color-0, #123B24);
}

.ftpm-home-stat-label {
    margin-left: 10px;
    color: var(--ast-global-color-3, #4B5563);
    font-size: .9rem;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: .045em;
    font-weight: 700;
}

.ftpm-home-section-slider > p,
.ftpm-home-section-contacts > p {
    max-width: 760px;
}

@media (max-width: 921px) {
    .ftpm-home-teaser-card {
        min-height: auto;
    }
}

@media (max-width: 544px) {
    .ftpm-home-hero .ftpm-page-button-wrap {
        justify-content: center;
        text-align: center;
    }

    .ftpm-home-hero .wp-block-button {
        margin-left: auto;
        margin-right: auto;
    }

    .ftpm-home-hero .ftpm-page-button-link {
        display: inline-flex;
        justify-content: center;
        text-align: center;
    }

    .ftpm-home-stat {
        flex-wrap: wrap;
        align-items: center;
    }

    .ftpm-home-stat-label {
        flex-basis: 100%;
        margin-left: 0;
        margin-top: 4px;
    }
}

/* 0.36.27: Startseite/Zuchtanlagen Feinschliff
   - Kontaktkarten mit ruhigerem, monochromem Bildstil und mehr Kopfraum
   - Statistik-/Teaser-Karten auf gleicher optischer Höhe
   - Zuchtanlagen-Hero robust als voller CI-Hero direkt unter dem Header
   - WordPress-Seitentitel auf Plugin-Landingpages ausblenden */
body:has(.ftpm-facilities-page) .entry-title,
body:has(.ftpm-facilities-page) .entry-header,
body:has(.ftpm-facilities-page) .entry-content > p:first-child:not([class]) {
  display: none !important;
}

body:has(.ftpm-facilities-page) .site-content,
body:has(.ftpm-facilities-page) .site-content > .ast-container,
body:has(.ftpm-facilities-page) .content-area,
body:has(.ftpm-facilities-page) .site-main,
body:has(.ftpm-facilities-page) article,
body:has(.ftpm-facilities-page) .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body:has(.ftpm-facilities-page) .site-content > .ast-container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ftpm-facilities-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 clamp(46px, 6vw, 82px) !important;
}

.ftpm-facilities-hero {
  display: grid !important;
  grid-template-columns: minmax(0, var(--ast-container-width, 1200px)) !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 clamp(34px, 4vw, 56px) !important;
  padding: clamp(58px, 6.2vw, 92px) var(--ftpm-space-page-x, clamp(14px,2.2vw,28px)) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(229, 199, 95, .18), transparent 28%),
    linear-gradient(115deg,
      color-mix(in srgb, var(--ast-global-color-1, #2f5d3a) 84%, #000 16%) 0%,
      var(--ast-global-color-0, #123b24) 48%,
      color-mix(in srgb, var(--ast-global-color-1, #2f5d3a) 78%, #0b1f2a 22%) 100%) !important;
  overflow: hidden !important;
  position: relative !important;
}

.ftpm-facilities-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(110deg, transparent 0 52%, rgba(255,255,255,.055) 52% 62%, transparent 62% 100%) !important;
}

.ftpm-facilities-hero > * {
  grid-column: 1 !important;
  position: relative !important;
  z-index: 1 !important;
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  justify-self: start !important;
}

.ftpm-facilities-hero h1 {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: manual !important;
  color: #fff !important;
  margin: 0 0 18px !important;
  font-size: clamp(2.55rem, 5vw, 4.65rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
}

.ftpm-facilities-hero p {
  color: rgba(255,255,255,.9) !important;
  max-width: 720px !important;
  font-size: clamp(1.04rem, .98rem + .26vw, 1.2rem) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

.ftpm-facilities-page .ftpm-home-section {
  width: min(calc(100% - (2 * var(--ftpm-space-page-x, clamp(14px,2.2vw,28px)))), var(--ast-container-width, 1200px)) !important;
  max-width: var(--ast-container-width, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ftpm-facilities-field-grid {
  align-items: stretch !important;
}

.ftpm-facilities-field-grid .ftpm-home-teaser-card,
.ftpm-home-section-intro .ftpm-home-teaser-card {
  height: 100% !important;
  min-height: 0 !important;
}

.ftpm-home-teaser-card {
  justify-content: flex-start !important;
}

.ftpm-home-stat {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-items: center !important;
  column-gap: 10px !important;
  min-height: 62px !important;
  margin-bottom: 18px !important;
}

.ftpm-home-stat strong,
.ftpm-home-stat .ftpm-home-stat-suffix {
  align-self: center !important;
}

.ftpm-home-stat-label {
  align-self: center !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
}

.ftpm-contact-cards {
  align-items: stretch !important;
}

.ftpm-contact-card {
  align-items: center !important;
  justify-content: flex-start !important;
  padding: clamp(26px, 2.7vw, 34px) clamp(18px, 2.2vw, 28px) !important;
  min-height: 100% !important;
}

.ftpm-contact-cards-stacked .ftpm-contact-card {
  display: flex !important;
  flex-direction: column !important;
  text-align: center !important;
  gap: 12px !important;
}

.ftpm-contact-card-photo {
  width: 92px !important;
  height: 92px !important;
  flex: 0 0 92px !important;
  margin: 0 auto 8px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #e5e7eb, #f8fafc) !important;
  box-shadow: inset 0 0 0 1px rgba(11, 31, 42, .08) !important;
}

.ftpm-contact-card-photo img {
  filter: grayscale(1) contrast(.96) brightness(1.03) !important;
  opacity: .78 !important;
}

.ftpm-contact-card-body {
  align-items: center !important;
  gap: 5px !important;
}

.ftpm-contact-card-name {
  color: var(--ast-global-color-2, #0B1F2A) !important;
  line-height: 1.25 !important;
}

.ftpm-contact-card a {
  color: var(--ast-global-color-0, #123B24) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 921px) {
  .ftpm-home-stat {
    min-height: auto !important;
  }

  .ftpm-facilities-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    padding-left: var(--ftpm-space-page-x, clamp(16px, 5vw, 24px)) !important;
    padding-right: var(--ftpm-space-page-x, clamp(16px, 5vw, 24px)) !important;
  }
}

@media (max-width: 544px) {
  .ftpm-home-stat {
    grid-template-columns: auto auto !important;
    justify-content: start !important;
  }

  .ftpm-home-stat-label {
    grid-column: 1 / -1 !important;
    margin-top: 4px !important;
  }

  .ftpm-contact-card-photo {
    width: 84px !important;
    height: 84px !important;
    flex-basis: 84px !important;
  }
}

/* 0.36.28: Karten-Alignment, Kontaktkarten und Zuchtanlagen-Feinschliff
   Ursache der „schwebenden“ Karten: Gutenberg/Astra geben einzelnen Block-Kindern
   teilweise eigene Block-Margins mit. In Grid-Bereichen erzwingen wir deshalb
   bewusst ein neutrales Grid ohne vertikale Einzel-Margins. */
.ftpm-home-teaser-grid,
.ftpm-facilities-field-grid {
  display: grid !important;
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
}

.ftpm-home-teaser-grid > *,
.ftpm-facilities-field-grid > * {
  align-self: stretch !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.ftpm-home-teaser-card,
.ftpm-facilities-field-grid .ftpm-home-teaser-card,
.ftpm-home-section-intro .ftpm-home-teaser-card {
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto 1fr !important;
  align-content: start !important;
  justify-content: stretch !important;
}

.ftpm-home-teaser-card > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.ftpm-home-teaser-card > *:first-child {
  margin-top: 0 !important;
}

/* Kennzahlen: Zahl und Plus bleiben als Einheit zusammen, Label sitzt direkt daneben. */
.ftpm-home-stat {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  min-height: 64px !important;
  margin: 0 0 18px !important;
}

.ftpm-home-stat strong {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.ftpm-home-stat .ftpm-home-stat-suffix {
  flex: 0 0 auto !important;
  margin: 0 10px 0 2px !important;
  white-space: nowrap !important;
  transform: translateY(-.08em);
}

.ftpm-home-stat-label {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  white-space: normal !important;
}

/* Kontaktkarten: Profilbild nicht am oberen Rand kleben lassen und optisch neutralisieren. */
.ftpm-home-section-contacts .ftpm-contact-cards,
.ftpm-contact-cards.ftpm-contact-cards-stacked {
  align-items: stretch !important;
}

.ftpm-home-section-contacts .ftpm-contact-card,
.ftpm-contact-cards-stacked .ftpm-contact-card {
  min-height: 330px !important;
  padding: 34px 22px 28px !important;
  justify-content: flex-start !important;
  gap: 14px !important;
}

.ftpm-home-section-contacts .ftpm-contact-card-photo,
.ftpm-contact-cards-stacked .ftpm-contact-card-photo {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  background: linear-gradient(135deg, #d1d5db, #f8fafc) !important;
}

.ftpm-home-section-contacts .ftpm-contact-card-photo img,
.ftpm-contact-cards-stacked .ftpm-contact-card-photo img {
  filter: grayscale(1) saturate(0) contrast(.95) brightness(1.05) !important;
  opacity: .76 !important;
}

.ftpm-home-section-contacts .ftpm-contact-card-body,
.ftpm-contact-cards-stacked .ftpm-contact-card-body {
  width: 100% !important;
}

.ftpm-home-section-contacts .ftpm-contact-card a,
.ftpm-contact-cards-stacked .ftpm-contact-card a {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (max-width: 921px) {
  .ftpm-home-teaser-grid,
  .ftpm-facilities-field-grid {
    grid-auto-rows: auto !important;
  }

  .ftpm-home-teaser-card,
  .ftpm-facilities-field-grid .ftpm-home-teaser-card,
  .ftpm-home-section-intro .ftpm-home-teaser-card {
    height: auto !important;
  }
}

@media (max-width: 544px) {
  .ftpm-home-stat {
    flex-wrap: wrap !important;
    min-height: 0 !important;
  }

  .ftpm-home-stat-label {
    flex-basis: 100% !important;
    margin-top: 4px !important;
  }

  .ftpm-home-section-contacts .ftpm-contact-card,
  .ftpm-contact-cards-stacked .ftpm-contact-card {
    min-height: 0 !important;
    padding-top: 30px !important;
  }
}

/* 0.36.30: Partner-Zoos als vollbreite Sektion mit Astra-breitem Logo-Band */
.ftpm-partner-strip {
  --ftpm-partner-bg: var(--ast-global-color-5, #fff);
  --ftpm-partner-border: rgba(18, 59, 36, .14);
  position: relative;
  width: auto;
  max-width: none;
  margin: clamp(30px, 5vw, 66px) calc(50% - 50vw);
  overflow: clip;
  background: linear-gradient(180deg, #fff 0%, var(--ftpm-partner-bg) 100%);
  color: var(--ast-global-color-3, #0b1f2a);
  border-top: 1px solid var(--ftpm-partner-border);
  border-bottom: 1px solid var(--ftpm-partner-border);
}
.ftpm-partner-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 8% 10%, rgba(229, 199, 95, .12), transparent 28%),
    radial-gradient(circle at 92% 80%, rgba(47, 93, 58, .08), transparent 34%);
}
.ftpm-partner-strip-inner {
  position: relative;
  z-index: 1;
  max-width: var(--ast-container-width, 1200px);
  margin: 0 auto;
  padding: clamp(34px, 5vw, 58px) var(--ftpm-page-gutter, 20px);
}
.ftpm-partner-strip-head {
  display: grid;
  gap: 10px;
  max-width: 840px;
  margin: 0 0 26px;
}
.ftpm-partner-strip-head h2 {
  color: var(--ast-global-color-2, #0b1f2a);
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.45rem);
}
.ftpm-partner-strip-head p {
  color: var(--ast-global-color-3, #4b5563);
  margin: 0;
  font-size: clamp(1rem, 1.35vw, 1.13rem);
  line-height: 1.65;
}
.ftpm-partner-marquee {
  overflow: hidden;
  padding: 10px 0;
  max-width: var(--ast-container-width, 1200px);
  margin: 0 auto;
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.ftpm-partner-track {
  display: flex;
  gap: clamp(16px, 2vw, 24px);
  width: max-content;
  animation: ftpmPartnerMarquee var(--ftpm-marquee-speed, 50s) linear infinite;
}
.ftpm-partner-marquee:hover .ftpm-partner-track,
.ftpm-partner-marquee:focus-within .ftpm-partner-track {
  animation-play-state: paused;
}
.ftpm-partner-logo {
  width: clamp(160px, 16vw, 230px);
  height: 112px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(18, 59, 36, .13);
  box-shadow: 0 16px 38px rgba(18, 59, 36, .09);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ftpm-partner-logo:hover,
.ftpm-partner-logo:focus {
  transform: translateY(-2px);
  border-color: rgba(18, 59, 36, .24);
  box-shadow: 0 20px 46px rgba(18, 59, 36, .14);
}
.ftpm-partner-logo img {
  max-width: 100%;
  max-height: 74px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
@keyframes ftpmPartnerMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .ftpm-partner-track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; }
}
@media (max-width: 700px) {
  .ftpm-partner-strip { margin-top: 34px; margin-bottom: 34px; overflow: hidden; }
  .ftpm-partner-strip-inner { padding-left: 16px; padding-right: 16px; }
  .ftpm-partner-logo { width: 152px; height: 92px; padding: 14px; border-radius: 18px; }
  .ftpm-partner-logo img { max-height: 60px; }
}
.ftpm-facility-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
  align-items: stretch;
}
.ftpm-facility-empty,
.ftpm-facility-card {
  border: 1px solid rgba(18, 59, 36, .18);
  border-radius: 24px;
  background: linear-gradient(135deg, #fff, var(--ast-global-color-5, #fbf7ea));
  box-shadow: 0 16px 40px rgba(18, 59, 36, .08);
}
.ftpm-facility-empty {
  padding: clamp(22px, 4vw, 34px);
}
.ftpm-facility-empty strong {
  display: block;
  color: var(--ast-global-color-2, #0b1f2a);
  font-size: 1.25rem;
  margin-bottom: 8px;
}
.ftpm-facility-empty p { margin: 0; }
.ftpm-facility-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.ftpm-facility-card-image {
  aspect-ratio: 16/9;
  background: rgba(18,59,36,.08);
}
.ftpm-facility-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ftpm-facility-card-body {
  padding: 22px;
  display: grid;
  gap: 12px;
  flex: 1;
}
.ftpm-facility-card-type {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  background: rgba(18,59,36,.1);
  color: var(--ast-global-color-0, #123b24);
  font-weight: 900;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 6px 10px;
}
.ftpm-facility-card h3 {
  margin: 0;
  color: var(--ast-global-color-2, #0b1f2a);
}
.ftpm-facility-card p { margin: 0; }
.ftpm-facility-card dl {
  display: grid;
  gap: 8px;
  margin: 0;
}
.ftpm-facility-card dl > div {
  display: grid;
  grid-template-columns: 95px minmax(0, 1fr);
  gap: 10px;
  border-top: 1px solid rgba(18,59,36,.12);
  padding-top: 8px;
}
.ftpm-facility-card dt {
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(11,31,42,.62);
}
.ftpm-facility-card dd { margin: 0; }
.ftpm-facility-link {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  border-radius: 999px;
  background: var(--ast-global-color-7, #e5c75f);
  color: var(--ast-global-color-2, #0b1f2a);
  font-weight: 900;
  padding: 10px 18px;
  text-decoration: none;
}
.ftpm-facility-link:hover { filter: brightness(.96); color: var(--ast-global-color-2, #0b1f2a); }

/* 0.36.31: Partner-Sektion als vollbreiter CI-Unterbrecher, Logo-Band bleibt Astra-breit */
.ftpm-partner-strip {
  --ftpm-partner-bg: var(--ast-global-color-0, #123b24);
  --ftpm-partner-border: rgba(229, 199, 95, .22);
  background:
    radial-gradient(circle at 7% 10%, rgba(229, 199, 95, .16), transparent 30%),
    linear-gradient(135deg, var(--ast-global-color-1, #2f5d3a), var(--ast-global-color-0, #123b24));
  color: #fff;
  border-top: 1px solid var(--ftpm-partner-border);
  border-bottom: 1px solid var(--ftpm-partner-border);
}
.ftpm-partner-strip::before {
  background:
    linear-gradient(105deg, transparent 0 54%, rgba(255,255,255,.06) 54% 66%, transparent 66% 100%),
    radial-gradient(circle at 92% 80%, rgba(229,199,95,.10), transparent 34%);
}
.ftpm-partner-strip-head h2 { color: #fff; }
.ftpm-partner-strip-head p { color: rgba(255,255,255,.88); }
.ftpm-partner-logo {
  background: #fff;
  border-color: rgba(255,255,255,.42);
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
}
.ftpm-partner-logo:hover,
.ftpm-partner-logo:focus {
  border-color: rgba(229,199,95,.65);
  box-shadow: 0 22px 48px rgba(0,0,0,.24);
}

/* 0.36.32: Header-Sprachfahnen näher am Menü + Startseiten-Kennzahlen lesbarer.
   Astra kann die Hauptnavigation im Header als gestrecktes Flex-Element ausgeben.
   Dadurch wanderten die Sprachlinks optisch ganz nach rechts. Die Navigation soll
   aber als kompakte Menügruppe laufen: Seitenlinks, dann direkt die Sprachfahnen. */
@media (min-width: 922px) {
  .ast-desktop .ast-builder-menu,
  .ast-desktop .main-header-bar-navigation,
  .ast-desktop .site-header-primary-section-right .ast-builder-menu,
  .ast-desktop .site-header-primary-section-center .ast-builder-menu {
    width: auto !important;
    max-width: max-content !important;
    flex: 0 0 auto !important;
  }

  .ast-desktop .main-header-menu,
  .ast-desktop .ast-builder-menu .main-header-menu {
    width: auto !important;
    max-width: max-content !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

  .ast-desktop .main-header-menu > .lang-item:first-of-type,
  .ast-desktop .main-header-menu > .ftpm-language-link:first-of-type {
    margin-left: 14px !important;
  }

  .ast-desktop .main-header-menu > .lang-item + .lang-item,
  .ast-desktop .main-header-menu > .ftpm-language-link + .ftpm-language-link {
    margin-left: 4px !important;
  }
}

/* Kennzahlen: Zahl/Plus bleiben zusammen, danach folgt ein klarer Abstand zum Label. */
.ftpm-home-stat {
  gap: 0 !important;
}

.ftpm-home-stat strong {
  margin-right: 0 !important;
}

.ftpm-home-stat .ftpm-home-stat-suffix {
  margin-left: 1px !important;
  margin-right: 12px !important;
  white-space: nowrap !important;
}

.ftpm-home-stat-label {
  margin-left: 12px !important;
}

.ftpm-home-stat .ftpm-home-stat-suffix + .ftpm-home-stat-label {
  margin-left: 0 !important;
}

/* 0.36.33: Galerieausgabe für Zuchtanlagen. */
.ftpm-facility-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.ftpm-facility-gallery a {
  display: block;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--ftpm-border, rgba(18, 59, 36, .18));
  background: #fff;
  aspect-ratio: 1 / 1;
}
.ftpm-facility-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .18s ease, filter .18s ease;
}
.ftpm-facility-gallery a:hover img,
.ftpm-facility-gallery a:focus-visible img {
  transform: scale(1.04);
  filter: brightness(.98);
}
@media (max-width: 640px) {
  .ftpm-facility-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
