/*
============================================================
AVSQ – RESPONSIVE PORTALBEREICH
Datei: /assets/css/responsive-mitglieder.css

Diese Datei enthält die responsiven Anpassungen für:
- normalen Mitgliederbereich
- Dashboard / Vereinszentrale
- Login- und Passwortseiten
- einzelne portalnahe Adminseiten, die ausdrücklich
  mit eigener Seitenklasse aufgenommen wurden

WICHTIG:
- Desktop-Grundregeln bleiben in style.css / portal.css / Seitencode.
- Allgemeine Vorstand/Admin-Seiten bleiben in responsive.css.
- Nur ausdrücklich gekennzeichnete Portal-/Adminseiten stehen hier.
============================================================
*/

/* =========================================================
   ARBEITSEINSÄTZE – MITGLIEDERBEREICH / HANDY
   ========================================================= */

.work-mobile-actions {
    display: none;
}

@media (max-width: 720px) {
    .work-member-page .member-page {
        width: min(100% - 22px, 1180px);
        padding-top: 96px;
        padding-bottom: 28px;
    }

    .work-mobile-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: min(100% - 22px, 1180px);
        margin: 0 auto;
        padding-top: 96px;
    }

    .work-mobile-action {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 43px;
        padding: 7px 8px;
        border: 1px solid rgba(155,196,60,.50);
        border-radius: 10px;
        color: #f4f7f8;
        background: rgba(155,196,60,.08);
        font-size: .69rem;
        font-weight: 800;
        line-height: 1.18;
        text-align: center;
        text-decoration: none;
    }

    /* Da die Schnellnavigation bereits den Abstand zur festen
       Portalnavigation übernimmt, braucht der Inhalt keinen
       zweiten großen oberen Abstand. */
    .work-member-page .work-mobile-actions + .member-page {
        padding-top: 14px;
    }

    .work-member-page .section-title {
        margin-bottom: 6px;
        font-size: 1.55rem;
        line-height: 1.15;
        text-align: left;
    }

    .work-member-page .section-title + p {
        margin-bottom: 14px !important;
        font-size: .77rem;
        line-height: 1.42;
        text-align: left !important;
    }

    .work-member-page .notice {
        margin-bottom: 12px;
        padding: 10px 12px;
        font-size: .74rem;
        line-height: 1.4;
    }

    .work-member-page .einsatz-card {
        margin-bottom: 10px;
        padding: 14px;
        border-radius: 14px;
    }

    .work-member-page .einsatz-card h2 {
        margin-bottom: 5px;
        font-size: 1.08rem;
        line-height: 1.25;
    }

    .work-member-page .einsatz-meta {
        margin: 6px 0 8px;
        font-size: .76rem;
        line-height: 1.3;
    }

    .work-member-page .einsatz-card > p:not(.einsatz-meta) {
        margin-bottom: 8px;
        font-size: .76rem;
        line-height: 1.42;
    }

    .work-member-page .einsatz-card br {
        display: none;
    }

    .work-member-page .einsatz-card .btn {
        min-height: 40px;
        padding: 8px 14px;
        font-size: .73rem;
    }

    .work-member-page .work-desktop-back {
        display: none !important;
    }
}

@media (max-width: 400px) {
    .work-mobile-actions,
    .work-member-page .member-page {
        width: min(100% - 18px, 1180px);
    }

    .work-mobile-action {
        padding-inline: 5px;
        font-size: .64rem;
    }

    .work-member-page .section-title {
        font-size: 1.42rem;
    }

    .work-member-page .einsatz-card {
        padding: 12px;
    }
}

/* =========================================================
   VEREINSDIENSTE – MITGLIEDERBEREICH / HANDY
   ========================================================= */

.services-member-mobile-actions {
    display: none;
}

@media (max-width: 960px) {
    .services-member-page .period-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .services-member-page .service-shell {
        width: min(100% - 22px, 1440px);
        padding-top: 96px;
        padding-bottom: 28px;
    }

    /* Hero deutlich kompakter */
    .services-member-page .service-hero {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        margin-bottom: 12px;
        padding: 16px;
        border-radius: 14px;
    }

    .services-member-page .service-eyebrow {
        margin-bottom: 5px;
        font-size: .66rem;
    }

    .services-member-page .service-eyebrow::before {
        width: 7px;
        height: 7px;
        box-shadow: 0 0 0 4px rgba(155,207,50,.10);
    }

    .services-member-page .service-hero h1 {
        margin-bottom: 6px;
        font-size: 1.5rem;
        line-height: 1.15;
    }

    .services-member-page .service-hero p {
        font-size: .74rem;
        line-height: 1.42;
    }

    .services-member-page .service-year {
        min-width: 74px;
        min-height: 68px;
        padding: 9px;
        border-radius: 11px;
    }

    .services-member-page .service-year span {
        font-size: .56rem;
    }

    .services-member-page .service-year strong {
        margin-top: 2px;
        font-size: 1.15rem;
    }

    .services-member-mobile-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 12px;
    }

    .services-member-mobile-action {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 43px;
        padding: 7px 8px;
        border: 1px solid rgba(155,207,50,.50);
        border-radius: 10px;
        color: #f4f7f8;
        background: rgba(155,207,50,.08);
        font-size: .69rem;
        font-weight: 800;
        line-height: 1.18;
        text-align: center;
        text-decoration: none;
    }

    /* Rasenpflege / Müllsammeln kompakt nebeneinander */
    .services-member-page .service-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 12px;
    }

    .services-member-page .service-tab {
        gap: 8px;
        padding: 10px;
        border-radius: 11px;
    }

    .services-member-page .service-tab-icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        border-radius: 9px;
        font-size: 1rem;
    }

    .services-member-page .service-tab strong {
        margin-bottom: 0;
        font-size: .77rem;
    }

    .services-member-page .service-tab small {
        display: none;
    }

    .services-member-page .service-notice {
        margin-bottom: 12px;
        padding: 10px 12px;
        font-size: .72rem;
        line-height: 1.4;
    }

    /* Saison/Jahr-Leiste */
    .services-member-page .service-toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: 8px;
        margin-bottom: 12px;
        padding: 11px;
        border-radius: 11px;
    }

    .services-member-page .service-location {
        gap: 7px;
        font-size: .72rem;
        line-height: 1.4;
    }

    .services-member-page .service-location span:first-child {
        font-size: .95rem;
    }

    .services-member-page .service-year-select {
        width: 100%;
        min-width: 0;
        min-height: 40px;
        padding: 8px 10px;
        font-size: .78rem;
    }

    /* Foto-Hinweis */
    .services-member-page .photo-rule {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 9px;
        margin-bottom: 12px;
        padding: 11px;
        border-radius: 11px;
    }

    .services-member-page .photo-rule-icon {
        width: 36px;
        height: 36px;
        border-radius: 9px;
        font-size: 1rem;
    }

    .services-member-page .photo-rule h2 {
        margin-bottom: 3px;
        font-size: .86rem;
    }

    .services-member-page .photo-rule p {
        font-size: .69rem;
        line-height: 1.4;
    }

    /* Fortschritt Müllsammeln */
    .services-member-page .progress-card {
        margin-bottom: 12px;
        padding: 11px;
        border-radius: 11px;
    }

    .services-member-page .progress-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
        margin-bottom: 8px;
    }

    .services-member-page .progress-head h2 {
        margin-bottom: 2px;
        font-size: .9rem;
    }

    .services-member-page .progress-head p {
        font-size: .68rem;
        line-height: 1.35;
    }

    .services-member-page .progress-number {
        font-size: .82rem;
    }

    .services-member-page .progress-track {
        height: 9px;
    }

    /* Zeitraum-Karten */
    .services-member-page .period-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .services-member-page .period-card {
        border-radius: 12px;
    }

    .services-member-page .period-head {
        align-items: flex-start;
        flex-direction: row;
        gap: 8px;
        padding: 11px 12px;
    }

    .services-member-page .period-number {
        margin-bottom: 2px;
        font-size: .61rem;
    }

    .services-member-page .period-date {
        font-size: .87rem;
        line-height: 1.3;
    }

    .services-member-page .period-status {
        padding: 5px 7px;
        font-size: .61rem;
        white-space: nowrap;
    }

    .services-member-page .period-body {
        padding: 11px 12px 12px;
    }

    .services-member-page .helper-heading {
        margin-bottom: 7px;
        font-size: .64rem;
    }

    .services-member-page .helper-list {
        gap: 6px;
        margin-bottom: 10px;
    }

    .services-member-page .helper {
        gap: 7px;
        padding: 7px 8px;
        border-radius: 8px;
    }

    .services-member-page .helper-name {
        gap: 6px;
        font-size: .72rem;
    }

    .services-member-page .helper-state {
        font-size: .63rem;
    }

    .services-member-page .helper-empty {
        padding: 9px;
        font-size: .69rem;
    }

    .services-member-page .minimum-info {
        margin: -1px 0 10px;
        font-size: .68rem;
        line-height: 1.4;
    }

    .services-member-page .period-actions {
        gap: 7px;
    }

    .services-member-page .service-button {
        min-height: 40px;
        padding: 8px 10px;
        font-size: .71rem;
        border-radius: 9px;
    }

    /* Erledigt melden */
    .services-member-page details.done-panel {
        margin-top: 8px;
        border-radius: 9px;
    }

    .services-member-page details.done-panel summary {
        padding: 9px 10px;
        font-size: .71rem;
    }

    .services-member-page .done-form {
        gap: 9px;
        padding: 0 10px 10px;
    }

    .services-member-page .done-form label {
        font-size: .71rem;
    }

    .services-member-page .done-form input[type="number"],
    .services-member-page .done-form textarea {
        margin-top: 5px;
        padding: 9px 10px;
        font-size: .78rem;
    }

    .services-member-page .done-form textarea {
        min-height: 70px;
    }

    .services-member-page .photo-check {
        gap: 7px;
        padding: 9px;
        font-size: .68rem;
        line-height: 1.4;
    }

    .services-member-page .own-result {
        padding: 9px;
        font-size: .7rem;
        line-height: 1.42;
    }

    .services-member-page .empty-season {
        padding: 16px 12px;
        border-radius: 11px;
        font-size: .72rem;
    }

    .services-member-page .empty-season h2 {
        margin-bottom: 5px;
        font-size: .92rem;
    }
}

@media (max-width: 500px) {
    .services-member-page .service-hero {
        padding: 14px;
        border-radius: 14px;
    }

    .services-member-page .photo-rule {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .services-member-page .period-body,
    .services-member-page .period-head {
        padding-left: 11px;
        padding-right: 11px;
    }

    .services-member-page .helper {
        align-items: flex-start;
        flex-direction: column;
    }

    .services-member-page .helper-state {
        text-align: left;
    }
}

@media (max-width: 400px) {
    .services-member-page .service-shell {
        width: min(100% - 18px, 1440px);
    }

    .services-member-page .service-hero h1 {
        font-size: 1.38rem;
    }

    .services-member-page .service-hero p {
        font-size: .69rem;
    }

    .services-member-page .service-year {
        min-width: 66px;
        min-height: 62px;
    }

    .services-member-mobile-action {
        padding-inline: 5px;
        font-size: .64rem;
    }

    .services-member-page .service-tab {
        padding: 8px;
    }

    .services-member-page .service-tab-icon {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }
}

/* =========================================================
   TERMINE – MITGLIEDERBEREICH / HANDY
   ========================================================= */

.termine-mobile-actions {
    display: none;
}

@media (max-width: 900px) {
    .termine-member-page .term-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .termine-member-page .term-card {
        grid-template-columns: 74px minmax(0, 1fr);
    }

    .termine-member-page .term-action {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .termine-member-page .termine-page {
        width: min(100% - 22px, 1280px);
        padding-top: 96px;
        padding-bottom: 28px;
    }

    /* Hero kompakt: Text links, nächster Termin darunter */
    .termine-member-page .termine-hero {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 12px;
        padding: 16px;
        border-radius: 14px;
    }

    .termine-member-page .termine-kicker {
        margin-bottom: 5px;
        font-size: .66rem;
    }

    .termine-member-page .termine-hero h1 {
        margin-bottom: 6px;
        font-size: 1.52rem;
        line-height: 1.15;
    }

    .termine-member-page .termine-hero p {
        font-size: .75rem;
        line-height: 1.42;
    }

    .termine-member-page .next-box {
        padding: 10px 11px;
        border-radius: 10px;
    }

    .termine-member-page .next-box > span {
        font-size: .64rem;
    }

    .termine-member-page .next-box strong {
        margin: 4px 0 3px;
        font-size: .82rem;
    }

    .termine-member-page .next-date {
        font-size: .67rem;
        line-height: 1.3;
    }

    /* Navigation direkt oben */
    .termine-mobile-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 12px;
    }

    .termine-mobile-action {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 43px;
        padding: 7px 8px;
        border: 1px solid rgba(155,196,60,.50);
        border-radius: 10px;
        color: #f4f7f8;
        background: rgba(155,196,60,.08);
        font-size: .68rem;
        font-weight: 800;
        line-height: 1.18;
        text-align: center;
        text-decoration: none;
    }

    .termine-member-page .notice {
        margin-bottom: 12px;
        padding: 10px 12px;
        font-size: .72rem;
        line-height: 1.4;
    }

    /* 4 Statistikfelder weiterhin 2 x 2 statt 4 einzeln */
    .termine-member-page .term-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 12px;
    }

    .termine-member-page .term-stat {
        min-height: 70px;
        padding: 10px;
        border-radius: 11px;
    }

    .termine-member-page .term-stat span {
        font-size: .64rem;
        line-height: 1.2;
    }

    .termine-member-page .term-stat strong {
        margin-top: 4px;
        font-size: 1.12rem;
    }

    /* Suche und Filter */
    .termine-member-page .term-tools {
        grid-template-columns: 1fr;
        gap: 7px;
        margin-bottom: 14px;
        padding: 11px;
        border-radius: 11px;
    }

    .termine-member-page .term-tools input,
    .termine-member-page .term-tools select {
        min-height: 40px;
        padding: 9px 10px;
        font-size: .78rem;
    }

    .termine-member-page .month-section {
        margin-bottom: 18px;
    }

    .termine-member-page .month-heading {
        gap: 8px;
        margin-bottom: 9px;
        font-size: 1rem;
    }

    .termine-member-page .term-list {
        gap: 9px;
    }

    /* Termin als kompakte horizontale Karte */
    .termine-member-page .term-card {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 10px;
        align-items: start;
        padding: 11px;
        border-radius: 12px;
    }

    .termine-member-page .term-datebox {
        width: 64px;
        padding: 8px 5px;
        border-radius: 9px;
    }

    .termine-member-page .term-day {
        font-size: 1.22rem;
    }

    .termine-member-page .term-month {
        margin-top: 3px;
        font-size: .62rem;
    }

    .termine-member-page .term-time {
        margin-top: 3px;
        font-size: .57rem;
        line-height: 1.2;
    }

    .termine-member-page .term-type {
        gap: 4px;
        margin-bottom: 3px;
        font-size: .61rem;
    }

    .termine-member-page .term-copy h3 {
        margin-bottom: 4px;
        font-size: .87rem;
        line-height: 1.25;
    }

    .termine-member-page .term-copy p {
        font-size: .69rem;
        line-height: 1.4;
    }

    .termine-member-page .term-meta {
        margin-top: 5px !important;
        font-size: .63rem;
        line-height: 1.35;
    }

    .termine-member-page .term-action {
        grid-column: 1 / -1;
        width: 100%;
    }

    .termine-member-page .term-action .btn {
        width: 100%;
        min-height: 37px;
        padding: 7px 9px;
        justify-content: center;
        font-size: .68rem;
    }

    .termine-member-page .term-empty {
        padding: 16px 12px;
        border-radius: 11px;
        font-size: .72rem;
    }

    .termine-member-page .term-empty h2 {
        margin-bottom: 5px;
        font-size: .92rem;
    }

    /* dieselben Wege sind oben vorhanden */
    .termine-member-page .termine-desktop-bottom {
        display: none !important;
    }
}

@media (max-width: 400px) {
    .termine-member-page .termine-page {
        width: min(100% - 18px, 1280px);
    }

    .termine-member-page .termine-hero {
        padding: 14px;
    }

    .termine-member-page .termine-hero h1 {
        font-size: 1.4rem;
    }

    .termine-member-page .termine-hero p {
        font-size: .7rem;
    }

    .termine-mobile-action {
        padding-inline: 5px;
        font-size: .63rem;
    }

    .termine-member-page .term-card {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 8px;
        padding: 10px;
    }

    .termine-member-page .term-datebox {
        width: 58px;
    }
}

/* =========================================================
   VERANSTALTUNGEN – MITGLIEDERBEREICH / HANDY
   ========================================================= */

.events-member-mobile-actions {
    display: none;
}

@media (max-width: 980px) {
    .events-member-page .events-hero {
        grid-template-columns: 1fr;
    }

    .events-member-page .chronicle-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .events-member-page .events-page {
        width: min(100% - 22px, 1280px);
        padding-top: 96px;
        padding-bottom: 28px;
    }

    .events-member-page .events-hero {
        gap: 12px;
        margin-bottom: 12px;
        padding: 16px;
        border-radius: 14px;
    }

    .events-member-page .events-kicker {
        margin-bottom: 5px;
        font-size: .66rem;
    }

    .events-member-page .events-hero h1 {
        margin-bottom: 6px;
        font-size: 1.52rem;
        line-height: 1.15;
    }

    .events-member-page .events-hero p {
        font-size: .75rem;
        line-height: 1.42;
    }

    .events-member-page .events-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .events-member-page .events-summary div {
        padding: 10px 8px;
        border-radius: 10px;
    }

    .events-member-page .events-summary strong {
        font-size: 1.15rem;
    }

    .events-member-page .events-summary span {
        margin-top: 2px;
        font-size: .63rem;
    }

    .events-member-mobile-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 12px;
    }

    .events-member-mobile-action {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 43px;
        padding: 7px 8px;
        border: 1px solid rgba(155,196,60,.50);
        border-radius: 10px;
        color: #f4f7f8;
        background: rgba(155,196,60,.08);
        font-size: .68rem;
        font-weight: 800;
        line-height: 1.18;
        text-align: center;
        text-decoration: none;
    }

    .events-member-page .notice {
        margin-bottom: 12px;
        padding: 10px 12px;
        font-size: .72rem;
        line-height: 1.4;
    }

    .events-member-page .events-section {
        margin-top: 20px;
    }

    .events-member-page .events-section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
        margin-bottom: 10px;
    }

    .events-member-page .events-section-head h2 {
        margin-bottom: 2px;
        font-size: 1.15rem;
    }

    .events-member-page .events-section-head p {
        font-size: .74rem;
        line-height: 1.4;
    }

    .events-member-page .upcoming-grid,
    .events-member-page .chronicle-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .events-member-page .event-card {
        border-radius: 13px;
    }

    .events-member-page .event-image,
    .events-member-page .event-image img,
    .events-member-page .event-placeholder {
        min-height: 155px;
    }

    .events-member-page .event-image img {
        max-height: 210px;
    }

    .events-member-page .event-placeholder {
        font-size: 2rem;
    }

    .events-member-page .event-date-badge {
        top: 9px;
        left: 9px;
        min-width: 54px;
        padding: 7px 8px;
        border-radius: 9px;
    }

    .events-member-page .event-date-badge strong {
        font-size: 1.12rem;
    }

    .events-member-page .event-date-badge span {
        margin-top: 2px;
        font-size: .57rem;
    }

    .events-member-page .event-content {
        padding: 13px;
    }

    .events-member-page .event-content h3 {
        margin-bottom: 5px;
        font-size: .96rem;
    }

    .events-member-page .event-time {
        margin-bottom: 8px;
        font-size: .71rem;
    }

    .events-member-page .event-description {
        font-size: .74rem;
        line-height: 1.42;
    }

    .events-member-page .event-stats {
        gap: 6px;
        margin-top: 10px;
    }

    .events-member-page .event-stat {
        padding: 5px 7px;
        font-size: .64rem;
    }

    .events-member-page .event-actions {
        width: 100%;
        gap: 7px;
        padding-top: 11px;
    }

    .events-member-page .event-actions form,
    .events-member-page .event-actions .btn {
        width: 100%;
    }

    .events-member-page .event-actions .btn {
        min-height: 39px;
        justify-content: center;
        padding: 7px 9px;
        font-size: .7rem;
    }

    .events-member-page .event-full {
        font-size: .68rem;
        line-height: 1.35;
    }

    .events-member-page .events-empty {
        padding: 16px 12px;
        border-radius: 11px;
    }

    .events-member-page .events-empty h3 {
        margin-bottom: 5px;
        font-size: .92rem;
    }

    .events-member-page .events-empty p {
        font-size: .72rem;
        line-height: 1.4;
    }

    .events-member-page .chronicle-years {
        gap: 15px;
    }

    .events-member-page .chronicle-year h3 {
        gap: 8px;
        margin-bottom: 8px;
        font-size: 1rem;
    }

    .events-member-page .chronicle-card {
        display: grid;
        grid-template-columns: 100px minmax(0, 1fr);
        border-radius: 11px;
    }

    .events-member-page .chronicle-image,
    .events-member-page .chronicle-placeholder {
        height: 100%;
        min-height: 110px;
    }

    .events-member-page .chronicle-copy {
        padding: 10px;
    }

    .events-member-page .chronicle-copy time {
        font-size: .62rem;
    }

    .events-member-page .chronicle-copy h4 {
        margin: 4px 0 5px;
        font-size: .83rem;
    }

    .events-member-page .chronicle-copy p {
        font-size: .68rem;
        line-height: 1.38;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .events-member-page .chronicle-photo-strip {
        grid-template-columns: repeat(4, 1fr);
        gap: 3px;
        margin-top: 7px;
    }

    .events-member-page .chronicle-photo-strip a {
        height: 36px;
        border-radius: 5px;
    }

    .events-member-page .chronicle-photo-count {
        margin-top: 5px;
        font-size: .60rem;
    }

    .events-member-page .events-member-desktop-bottom {
        display: none !important;
    }
}

@media (max-width: 400px) {
    .events-member-page .events-page {
        width: min(100% - 18px, 1280px);
    }

    .events-member-page .events-hero {
        padding: 14px;
    }

    .events-member-page .events-hero h1 {
        font-size: 1.4rem;
    }

    .events-member-page .events-hero p {
        font-size: .7rem;
    }

    .events-member-mobile-action {
        padding-inline: 5px;
        font-size: .63rem;
    }

    .events-member-page .chronicle-card {
        grid-template-columns: 86px minmax(0, 1fr);
    }

    .events-member-page .chronicle-photo-strip {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* =========================================================
   FORELLENBESTELLUNG – MITGLIEDERBEREICH / HANDY
   ========================================================= */

.trout-mobile-actions {
    display: none;
}

@media (max-width: 720px) {
    .trout-order-member-page .member-page {
        width: min(100% - 22px, 1180px);
        padding-top: 14px;
        padding-bottom: 28px;
    }

    .trout-mobile-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: min(100% - 22px, 1180px);
        margin: 0 auto;
        padding-top: 96px;
    }

    .trout-mobile-action {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 43px;
        padding: 7px 8px;
        border: 1px solid rgba(155,196,60,.50);
        border-radius: 10px;
        color: #f4f7f8;
        background: rgba(155,196,60,.08);
        font-size: .68rem;
        font-weight: 800;
        line-height: 1.18;
        text-align: center;
        text-decoration: none;
    }

    .trout-order-member-page .section-title {
        margin-bottom: 6px;
        font-size: 1.5rem;
        line-height: 1.15;
        text-align: left;
    }

    .trout-order-member-page .section-title + p {
        margin-bottom: 14px !important;
        font-size: .75rem;
        line-height: 1.42;
        text-align: left !important;
    }

    .trout-order-member-page .notice {
        margin-bottom: 12px;
        padding: 10px 12px;
        border-radius: 10px;
        font-size: .72rem;
        line-height: 1.4;
    }

    .trout-order-member-page .card {
        padding: 14px;
        border-radius: 14px;
    }

    .trout-order-member-page .card h2 {
        margin-bottom: 10px;
        font-size: 1.02rem;
    }

    .trout-order-member-page .card > br,
    .trout-order-member-page .order-card > br {
        display: none;
    }

    .trout-order-member-page .form-group {
        margin-bottom: 12px;
    }

    .trout-order-member-page .form-group label {
        margin-bottom: 5px;
        font-size: .8rem;
    }

    .trout-order-member-page .form-group input,
    .trout-order-member-page .form-group textarea {
        padding: 9px 10px;
        font-size: .82rem;
        border-radius: 8px;
    }

    .trout-order-member-page .form-group textarea {
        min-height: 82px;
        resize: vertical;
    }

    .trout-order-member-page form > .btn {
        width: 100%;
        min-height: 40px;
        justify-content: center;
        font-size: .72rem;
    }

    .trout-order-member-page .card + br,
    .trout-order-member-page .card + br + br {
        display: none;
    }

    .trout-order-member-page .card + br + br + .section-title,
    .trout-order-member-page .card + .section-title {
        margin-top: 20px;
    }

    .trout-order-member-page .order-card {
        margin-top: 10px;
        padding: 12px;
        border-radius: 12px;
    }

    .trout-order-member-page .order-card > p {
        margin: 0 0 7px;
        font-size: .72rem;
        line-height: 1.4;
    }

    .trout-order-member-page .order-card > p strong {
        font-size: .73rem;
    }

    .trout-order-member-page .status {
        margin-top: 10px;
    }

    .trout-order-member-page .status-label {
        margin-bottom: 5px;
        font-size: .72rem;
    }

    .trout-order-member-page .status-badge {
        padding: 5px 8px;
        font-size: .68rem;
    }

    .trout-order-member-page .status-description {
        margin-top: 7px;
        font-size: .69rem;
        line-height: 1.4;
    }

    .trout-order-member-page .trout-desktop-back {
        display: none !important;
    }
}

@media (max-width: 400px) {
    .trout-mobile-actions,
    .trout-order-member-page .member-page {
        width: min(100% - 18px, 1180px);
    }

    .trout-mobile-action {
        padding-inline: 5px;
        font-size: .63rem;
    }

    .trout-order-member-page .section-title {
        font-size: 1.38rem;
    }

    .trout-order-member-page .card {
        padding: 12px;
    }
}

/* =========================================================
   VEREINSNACHRICHTEN – MITGLIEDERBEREICH / HANDY
   ========================================================= */

.news-mobile-actions {
    display: none;
}

@media (max-width: 720px) {
    .news-member-page .news-page {
        width: min(100% - 22px, 1180px);
        padding-top: 14px !important;
        padding-bottom: 28px;
    }

    .news-mobile-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: min(100% - 22px, 1180px);
        margin: 0 auto;
        padding-top: 96px;
    }

    .news-mobile-action {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 43px;
        padding: 7px 8px;
        border: 1px solid rgba(155,196,60,.50);
        border-radius: 10px;
        color: #f4f7f8;
        background: rgba(155,196,60,.08);
        font-size: .68rem;
        font-weight: 800;
        line-height: 1.18;
        text-align: center;
        text-decoration: none;
    }

    .news-member-page .section-title {
        margin-bottom: 6px;
        font-size: 1.48rem;
        line-height: 1.15;
        text-align: left;
    }

    .news-member-page .news-intro {
        max-width: none;
        margin: 0 0 12px;
        font-size: .74rem;
        line-height: 1.42;
        text-align: left;
    }

    .news-member-page .secure-note {
        max-width: none;
        margin: 0 0 12px;
        padding: 9px 10px;
        border-radius: 9px;
        font-size: .68rem;
        line-height: 1.35;
        text-align: left;
    }

    .news-member-page .news-list {
        gap: 10px;
    }

    .news-member-page .news-card {
        padding: 13px;
        border-radius: 12px;
    }

    .news-member-page .news-card h2 {
        margin-bottom: 5px;
        font-size: .96rem;
        line-height: 1.25;
    }

    .news-member-page .news-meta {
        margin-bottom: 8px;
        font-size: .65rem;
        line-height: 1.35;
    }

    .news-member-page .news-content {
        font-size: .72rem;
        line-height: 1.45;
    }

    .news-member-page .empty-state,
    .news-member-page .error-state {
        padding: 16px 12px;
        border-radius: 11px;
    }

    .news-member-page .empty-state h2,
    .news-member-page .error-state h2 {
        margin-bottom: 5px;
        font-size: .92rem;
    }

    .news-member-page .empty-state p,
    .news-member-page .error-state p {
        margin: 0;
        font-size: .72rem;
        line-height: 1.4;
    }

    .news-member-page .button-row {
        margin-top: 18px;
    }

    .news-member-page .news-desktop-back {
        display: none !important;
    }
}

@media (max-width: 400px) {
    .news-mobile-actions,
    .news-member-page .news-page {
        width: min(100% - 18px, 1180px);
    }

    .news-mobile-action {
        padding-inline: 5px;
        font-size: .63rem;
    }

    .news-member-page .section-title {
        font-size: 1.36rem;
    }

    .news-member-page .news-card {
        padding: 11px;
    }
}

/* =========================================================
   DOWNLOADS – MITGLIEDERBEREICH / HANDY
   ========================================================= */

.downloads-mobile-actions {
    display: none;
}

@media (max-width: 820px) {
    .downloads-member-page .downloads-page {
        width: min(100% - 22px, 1180px);
        padding-top: 14px !important;
        padding-bottom: 28px;
    }

    .downloads-mobile-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: min(100% - 22px, 1180px);
        margin: 0 auto;
        padding-top: 96px;
    }

    .downloads-mobile-action {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 43px;
        padding: 7px 8px;
        border: 1px solid rgba(155,196,60,.50);
        border-radius: 10px;
        color: #f4f7f8;
        background: rgba(155,196,60,.08);
        font-size: .67rem;
        font-weight: 800;
        line-height: 1.18;
        text-align: center;
        text-decoration: none;
    }

    .downloads-member-page .downloads-header {
        display: block;
        margin-bottom: 14px;
        padding: 14px;
        border-radius: 13px;
    }

    .downloads-member-page .downloads-header h1 {
        margin-bottom: 5px;
        font-size: 1.45rem;
        line-height: 1.15;
    }

    .downloads-member-page .downloads-header p {
        font-size: .74rem;
        line-height: 1.42;
    }

    .downloads-member-page .downloads-desktop-manage {
        display: none !important;
    }

    .downloads-member-page .download-category {
        margin-top: 18px;
    }

    .downloads-member-page .download-category h2 {
        margin-bottom: 9px;
        font-size: 1rem;
    }

    .downloads-member-page .download-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .downloads-member-page .download-card {
        min-height: 0;
        padding: 12px;
        border-radius: 11px;
    }

    .downloads-member-page .download-icon {
        margin-bottom: 6px;
        font-size: 1.3rem;
    }

    .downloads-member-page .visibility-badge {
        margin-bottom: 7px;
        padding: 4px 7px;
        font-size: .62rem;
    }

    .downloads-member-page .download-card h3 {
        margin-bottom: 5px;
        font-size: .92rem;
        line-height: 1.25;
    }

    .downloads-member-page .download-card p {
        margin-bottom: 9px;
        font-size: .7rem;
        line-height: 1.4;
    }

    .downloads-member-page .download-meta {
        gap: 5px 9px;
        margin-bottom: 9px;
        font-size: .62rem;
        line-height: 1.3;
    }

    .downloads-member-page .download-card .btn {
        width: 100%;
        min-height: 39px;
        justify-content: center;
        padding: 7px 9px;
        font-size: .69rem;
    }

    .downloads-member-page .download-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .downloads-member-page .empty-state {
        padding: 15px 12px;
        border-radius: 11px;
        font-size: .72rem;
        line-height: 1.4;
    }

    .downloads-member-page .button-row {
        margin-top: 18px;
    }

    .downloads-member-page .downloads-desktop-back {
        display: none !important;
    }
}

@media (max-width: 400px) {
    .downloads-mobile-actions,
    .downloads-member-page .downloads-page {
        width: min(100% - 18px, 1180px);
    }

    .downloads-mobile-action {
        padding-inline: 5px;
        font-size: .62rem;
    }

    .downloads-member-page .downloads-header {
        padding: 12px;
    }

    .downloads-member-page .downloads-header h1 {
        font-size: 1.34rem;
    }

    .downloads-member-page .download-card {
        padding: 11px;
    }
}

/* =========================================================
   PROFIL – MITGLIEDERBEREICH / HANDY
   ========================================================= */

.profile-mobile-actions {
    display: none;
}

@media (max-width: 720px) {
    .profile-page .profile-shell {
        width: min(100% - 22px, 980px);
        padding-top: 14px !important;
        padding-bottom: 28px;
    }

    .profile-mobile-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: min(100% - 22px, 980px);
        margin: 0 auto;
        padding-top: 96px;
    }

    .profile-mobile-action {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 43px;
        padding: 7px 8px;
        border: 1px solid rgba(155,196,60,.50);
        border-radius: 10px;
        color: #f4f7f8;
        background: rgba(155,196,60,.08);
        font-size: .67rem;
        font-weight: 800;
        line-height: 1.18;
        text-align: center;
        text-decoration: none;
    }

    .profile-page .profile-head {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 12px;
        padding: 15px;
        border-radius: 14px;
    }

    .profile-page .profile-head span {
        margin-bottom: 5px;
        font-size: .64rem;
    }

    .profile-page .profile-head h1 {
        margin-bottom: 5px;
        font-size: 1.5rem;
        line-height: 1.15;
    }

    .profile-page .profile-head p {
        font-size: .74rem;
        line-height: 1.42;
    }

    .profile-page .profile-symbol {
        display: none;
    }

    .profile-page .profile-card {
        padding: 13px;
        border-radius: 14px;
    }

    .profile-page .profile-notice {
        margin-bottom: 10px;
        padding: 9px 10px;
        font-size: .71rem;
        line-height: 1.4;
    }

    /* Stammdaten nicht mehr als drei große Karten */
    .profile-page .profile-info {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin-bottom: 14px;
    }

    .profile-page .profile-readonly {
        padding: 9px 10px;
        border-radius: 9px;
    }

    .profile-page .profile-readonly:nth-child(3) {
        grid-column: 1 / -1;
    }

    .profile-page .profile-readonly span {
        margin-bottom: 3px;
        font-size: .58rem;
    }

    .profile-page .profile-readonly strong {
        font-size: .76rem;
        line-height: 1.3;
    }

    .profile-page .profile-section-title {
        margin-bottom: 10px;
        font-size: .98rem;
    }

    .profile-page .profile-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .profile-page .profile-field.full {
        grid-column: auto;
    }

    .profile-page .profile-field label {
        margin-bottom: 4px;
        font-size: .73rem;
    }

    .profile-page .profile-field input {
        min-height: 40px;
        padding: 9px 10px;
        font-size: .79rem;
    }

    .profile-page .notification-box {
        margin-top: 14px;
        padding: 11px;
        border-radius: 11px;
    }

    .profile-page .notification-box h2 {
        margin-bottom: 5px;
        font-size: .92rem;
    }

    .profile-page .notification-box > p {
        margin-bottom: 9px;
        font-size: .68rem;
        line-height: 1.4;
    }

    .profile-page .notification-option {
        gap: 8px;
        padding: 8px 0;
    }

    .profile-page .notification-option input {
        width: 16px;
        height: 16px;
    }

    .profile-page .notification-option strong {
        font-size: .75rem;
    }

    .profile-page .notification-option small {
        margin-top: 2px;
        font-size: .64rem;
        line-height: 1.35;
    }

    .profile-page .notification-master {
        padding: 9px;
    }

    .profile-page .profile-hint {
        margin-top: 13px;
        padding: 9px 10px;
        font-size: .67rem;
        line-height: 1.4;
    }

    .profile-page .profile-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 7px;
        margin-top: 14px;
    }

    .profile-page .profile-button {
        width: 100%;
        min-height: 40px;
        padding: 8px 10px;
        font-size: .71rem;
    }

    /* Passwort ist mobil bereits oben vorhanden */
    .profile-page .profile-actions a[href="passwort-aendern.php"],
    .profile-page .profile-desktop-back {
        display: none !important;
    }
}

@media (max-width: 400px) {
    .profile-mobile-actions,
    .profile-page .profile-shell {
        width: min(100% - 18px, 980px);
    }

    .profile-mobile-action {
        padding-inline: 5px;
        font-size: .62rem;
    }

    .profile-page .profile-head {
        padding: 13px;
    }

    .profile-page .profile-head h1 {
        font-size: 1.38rem;
    }

    .profile-page .profile-card {
        padding: 11px;
    }
}

/* =========================================================
   DASHBOARD – MITGLIEDERBEREICH / KOMPAKTE HANDYANSICHT
   ========================================================= */

@media (max-width: 720px) {

    .dashboard-member-page .dashboard-shell {
        width: min(100% - 20px, 1420px);
        padding-top: 86px !important;
        padding-bottom: 28px;
    }

    /* Begrüßung */
    .dashboard-member-page .dashboard-topbar {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 14px;
        padding: 14px;
        border-radius: 14px;
    }

    .dashboard-member-page .eyebrow {
        margin-bottom: 4px;
        font-size: .61rem;
        letter-spacing: .09em;
    }

    .dashboard-member-page .dashboard-topbar h1 {
        margin-bottom: 5px;
        font-size: 1.42rem;
        line-height: 1.13;
    }

    .dashboard-member-page .dashboard-topbar p {
        font-size: .7rem;
        line-height: 1.4;
    }

    .dashboard-member-page .user-summary {
        min-width: 0;
        padding: 10px 11px;
        border-radius: 10px;
    }

    .dashboard-member-page .user-summary strong {
        font-size: .77rem;
    }

    .dashboard-member-page .user-summary span {
        margin-top: 2px;
        font-size: .64rem;
    }

    .dashboard-member-page .role-badge {
        margin-top: 6px !important;
        padding: 4px 7px;
        font-size: .61rem !important;
    }

    /* Grundaufbau */
    .dashboard-member-page .dashboard-layout {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .dashboard-member-page .section-block {
        margin-bottom: 16px;
    }

    .dashboard-member-page .section-title-row {
        display: block;
        margin-bottom: 9px;
    }

    .dashboard-member-page .section-title-row h2 {
        margin-bottom: 2px;
        font-size: 1.02rem;
        line-height: 1.18;
    }

    .dashboard-member-page .section-title-row p {
        font-size: .67rem;
        line-height: 1.35;
    }

    /* Vereinsstatus – 2 x 2 / ggf. letzte Karte darunter */
    .dashboard-member-page .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px;
    }

    .dashboard-member-page .stat-card {
        min-height: 86px;
        padding: 10px;
        border-radius: 10px;
    }

    .dashboard-member-page .stat-card::after {
        right: -28px;
        bottom: -32px;
        width: 70px;
        height: 70px;
        border-width: 12px;
    }

    .dashboard-member-page .stat-label {
        font-size: .63rem;
        line-height: 1.25;
    }

    .dashboard-member-page .stat-value {
        margin: 5px 0 2px;
        font-size: 1.35rem;
    }

    .dashboard-member-page .stat-note {
        font-size: .57rem;
        line-height: 1.25;
    }

    /* Offene Unterlagen */
    .dashboard-member-page .documents-overview {
        margin-top: 9px;
        border-radius: 10px;
    }

    .dashboard-member-page .documents-overview > summary {
        align-items: center !important;
        gap: 7px;
        padding: 9px 10px;
        font-size: .7rem;
        line-height: 1.25;
    }

    .dashboard-member-page .documents-summary-note {
        margin-left: auto;
        font-size: .57rem;
        line-height: 1.25;
    }

    .dashboard-member-page .documents-list {
        gap: 6px;
        padding: 0 9px 9px;
    }

    .dashboard-member-page .document-member {
        grid-template-columns: 1fr;
        gap: 5px;
        padding: 8px;
        border-radius: 8px;
    }

    .dashboard-member-page .document-member-name {
        font-size: .68rem;
    }

    .dashboard-member-page .document-member-number {
        margin-top: 1px;
        font-size: .56rem;
    }

    .dashboard-member-page .document-items {
        gap: 4px;
    }

    .dashboard-member-page .document-item {
        gap: 4px;
        padding: 4px 6px;
        border-radius: 6px;
        font-size: .57rem;
    }

    /* Schnellaktionen – kompakte horizontale Karten */
    .dashboard-member-page .action-grid {
        grid-template-columns: 1fr !important;
        gap: 7px;
    }

    .dashboard-member-page .action-card {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        grid-template-areas:
            "icon title"
            "icon text"
            "icon link";
        column-gap: 9px;
        row-gap: 2px;
        min-height: 0;
        padding: 10px;
        border-radius: 10px;
    }

    .dashboard-member-page .action-card:hover {
        transform: none;
    }

    .dashboard-member-page .action-icon {
        grid-area: icon;
        align-self: start;
        width: 42px;
        height: 42px;
        margin: 0;
        border-radius: 10px;
        font-size: 1rem;
    }

    .dashboard-member-page .action-card h3 {
        grid-area: title;
        margin: 1px 0 2px;
        font-size: .79rem;
        line-height: 1.2;
    }

    .dashboard-member-page .action-card p {
        grid-area: text;
        margin: 0;
        font-size: .62rem;
        line-height: 1.35;
    }

    .dashboard-member-page .action-link {
        grid-area: link;
        margin-top: 3px;
        font-size: .61rem;
        line-height: 1.2;
    }

    /* Vereinsdienste-Überblick */
    .dashboard-member-page .service-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px;
        margin-bottom: 14px;
    }

    .dashboard-member-page .service-overview-card {
        padding: 9px;
        border-radius: 10px;
    }

    .dashboard-member-page .service-overview-card span {
        font-size: .59rem;
        line-height: 1.25;
    }

    .dashboard-member-page .service-overview-card strong {
        margin: 4px 0 2px;
        font-size: .9rem;
    }

    .dashboard-member-page .service-overview-card em {
        font-size: .58rem;
        line-height: 1.25;
    }

    .dashboard-member-page .service-progress {
        height: 7px;
        margin-top: 6px;
    }

    /* Sidebar unter dem Hauptbereich */
    .dashboard-member-page .dashboard-sidebar {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 8px;
    }

    .dashboard-member-page .sidebar-stack {
        display: grid;
        gap: 8px;
    }

    .dashboard-member-page .panel {
        padding: 10px;
        border-radius: 10px;
    }

    .dashboard-member-page .panel h2,
    .dashboard-member-page .panel h3 {
        margin-bottom: 8px;
        font-size: .82rem;
        line-height: 1.2;
    }

    .dashboard-member-page .info-list,
    .dashboard-member-page .quick-links,
    .dashboard-member-page .birthday-list,
    .dashboard-member-page .appointment-list,
    .dashboard-member-page .change-list {
        gap: 5px;
    }

    .dashboard-member-page .info-row {
        gap: 7px;
        padding-bottom: 6px;
        font-size: .61rem;
        line-height: 1.3;
    }

    .dashboard-member-page .quick-links a {
        gap: 7px;
        padding: 7px 8px;
        border-radius: 7px;
        font-size: .62rem;
    }

    .dashboard-member-page .change-entry,
    .dashboard-member-page .birthday-entry {
        padding: 7px 8px;
        border-radius: 7px;
    }

    .dashboard-member-page .change-entry div:not(.change-meta),
    .dashboard-member-page .birthday-entry strong {
        font-size: .63rem;
        line-height: 1.3;
    }

    .dashboard-member-page .change-meta,
    .dashboard-member-page .birthday-entry span {
        margin-top: 2px;
        font-size: .55rem;
        line-height: 1.25;
    }

    .dashboard-member-page .appointment-entry {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 7px;
        padding: 7px 8px;
        border-radius: 7px;
    }

    .dashboard-member-page .appointment-symbol {
        width: 32px;
        height: 32px;
        border-radius: 8px;
        font-size: .82rem;
    }

    .dashboard-member-page .appointment-entry strong {
        font-size: .64rem;
    }

    .dashboard-member-page .appointment-entry span:last-child {
        margin-top: 2px;
        font-size: .55rem;
    }

    .dashboard-member-page .appointment-all {
        margin-top: 8px;
        font-size: .61rem;
    }

    .dashboard-member-page .overview-status {
        gap: 5px;
        margin-top: 7px;
        padding: 5px 7px;
        font-size: .59rem;
    }

    .dashboard-member-page .empty-state {
        font-size: .62rem;
        line-height: 1.35;
    }

    /* Untere Aktionen */
    .dashboard-member-page .dashboard-footer-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin-top: 16px;
    }

    .dashboard-member-page .dashboard-footer-actions a {
        min-height: 38px;
        padding: 7px 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        font-size: .62rem;
        text-align: center;
    }
}

@media (max-width: 400px) {

    .dashboard-member-page .dashboard-shell {
        width: min(100% - 16px, 1420px);
    }

    .dashboard-member-page .dashboard-topbar {
        padding: 12px;
    }

    .dashboard-member-page .dashboard-topbar h1 {
        font-size: 1.3rem;
    }

    .dashboard-member-page .stat-card {
        min-height: 80px;
        padding: 9px;
    }

    .dashboard-member-page .stat-value {
        font-size: 1.25rem;
    }

    .dashboard-member-page .action-card {
        grid-template-columns: 38px minmax(0, 1fr);
        column-gap: 8px;
        padding: 9px;
    }

    .dashboard-member-page .action-icon {
        width: 38px;
        height: 38px;
    }

    .dashboard-member-page .action-card h3 {
        font-size: .74rem;
    }

    .dashboard-member-page .action-card p,
    .dashboard-member-page .action-link {
        font-size: .58rem;
    }
}

/* =========================================================
   DASHBOARD – SCHNELLNAVIGATION / HANDY
   ========================================================= */

@media (max-width: 720px) {

    .dashboard-member-page .dashboard-quick-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: -2px 0 14px;
    }

    .dashboard-member-page .dashboard-quick-action {
        width: 100%;
        min-height: 40px;
        padding: 7px 8px;
        border-radius: 9px;
        font-size: .65rem;
        line-height: 1.18;
        text-align: center;
    }

    .dashboard-member-page .dashboard-quick-action-logout {
        grid-column: 1 / -1;
    }
}

@media (max-width: 400px) {

    .dashboard-member-page .dashboard-quick-actions {
        grid-template-columns: 1fr;
        gap: 7px;
        margin-bottom: 12px;
    }

    .dashboard-member-page .dashboard-quick-action {
        min-height: 39px;
        font-size: .63rem;
    }

    .dashboard-member-page .dashboard-quick-action-logout {
        grid-column: auto;
    }
}

/* =========================================================
   LOGIN – MITGLIEDERBEREICH / HANDY
   ========================================================= */

@media (max-width: 700px) {

    .avsq-auth-page .avsq-auth-shell {
        min-height: 100svh;
        padding: 12px 10px;
        place-items: center;
    }

    .avsq-auth-page .avsq-auth-card {
        width: min(100%, 430px);
        border-radius: 14px;
        box-shadow: 0 16px 34px rgba(0, 0, 0, .24);
    }

    .avsq-auth-page .avsq-auth-top {
        padding: 16px 14px 13px;
    }

    .avsq-auth-page .avsq-auth-logo {
        width: 125px;
        max-width: 74%;
        margin-bottom: 9px;
    }

    .avsq-auth-page .avsq-auth-eyebrow {
        margin-bottom: 4px;
        font-size: .6rem;
        letter-spacing: .09em;
    }

    .avsq-auth-page .avsq-auth-top h1 {
        margin-bottom: 5px;
        font-size: 1.35rem;
        line-height: 1.12;
    }

    .avsq-auth-page .avsq-auth-top p {
        font-size: .68rem;
        line-height: 1.4;
    }

    .avsq-auth-page .avsq-auth-body {
        padding: 14px;
    }

    .avsq-auth-page .avsq-auth-notice {
        margin-bottom: 10px;
        padding: 9px 10px;
        border-radius: 8px;
        font-size: .68rem;
        line-height: 1.4;
    }

    .avsq-auth-page .avsq-auth-field {
        margin-bottom: 10px;
    }

    .avsq-auth-page .avsq-auth-field label {
        margin-bottom: 4px;
        font-size: .7rem;
    }

    .avsq-auth-page .avsq-auth-field input {
        min-height: 40px;
        padding: 8px 10px;
        border-radius: 8px;
        font-size: .78rem;
    }

    .avsq-auth-page .avsq-auth-captcha {
        margin-bottom: 10px;
        padding: 10px;
        border-radius: 9px;
    }

    .avsq-auth-page .avsq-auth-captcha strong {
        margin-bottom: 6px;
        font-size: .72rem;
    }

    .avsq-auth-page .avsq-auth-actions {
        gap: 7px;
        margin-top: 12px;
    }

    .avsq-auth-page .avsq-auth-actions .btn {
        min-height: 40px;
        padding: 7px 10px;
        font-size: .7rem;
        border-radius: 8px;
    }

    .avsq-auth-page .avsq-auth-links {
        gap: 8px 12px;
        margin-top: 12px;
    }

    .avsq-auth-page .avsq-auth-links a {
        font-size: .67rem;
    }

    .avsq-auth-page .avsq-auth-help {
        margin-top: 10px;
        padding: 9px 10px;
        border-radius: 8px;
        font-size: .66rem;
        line-height: 1.4;
    }
}

@media (max-width: 400px) {

    .avsq-auth-page .avsq-auth-shell {
        padding: 8px;
    }

    .avsq-auth-page .avsq-auth-card {
        border-radius: 12px;
    }

    .avsq-auth-page .avsq-auth-top {
        padding: 14px 12px 11px;
    }

    .avsq-auth-page .avsq-auth-logo {
        width: 112px;
    }

    .avsq-auth-page .avsq-auth-top h1 {
        font-size: 1.25rem;
    }

    .avsq-auth-page .avsq-auth-body {
        padding: 12px;
    }

    .avsq-auth-page .avsq-auth-field input {
        min-height: 39px;
    }
}

/* =========================================================
   LOGIN – ABSCHLUSS / KOMPAKTE KARTE MIT FOOTER
   ========================================================= */

.avsq-auth-page .avsq-auth-footer {
    width: min(100%, 430px);
    margin: 14px auto 0;
    padding: 0 10px;
    color: #8f9da2;
    text-align: center;
}

.avsq-auth-page .avsq-auth-footer strong,
.avsq-auth-page .avsq-auth-footer span {
    display: block;
}

.avsq-auth-page .avsq-auth-footer strong {
    color: #dfe6e8;
    font-size: .72rem;
    line-height: 1.3;
}

.avsq-auth-page .avsq-auth-footer span {
    margin-top: 3px;
    color: #9bc43c;
    font-size: .64rem;
    font-style: italic;
    line-height: 1.4;
}

@media (max-width: 700px) {

    .avsq-auth-page .avsq-auth-shell {
        min-height: 100svh;
        align-content: start;
        place-items: start center;
        padding: 28px 10px 18px;
    }

    .avsq-auth-page .avsq-auth-card {
        align-self: start;
    }

    .avsq-auth-page .avsq-auth-body {
        padding-bottom: 14px;
    }

    .avsq-auth-page .avsq-auth-links {
        margin-bottom: 2px;
    }

    .avsq-auth-page .avsq-auth-footer {
        width: min(100%, 430px);
        margin-top: 12px;
        padding: 0 8px;
    }

    .avsq-auth-page .avsq-auth-footer strong {
        font-size: .68rem;
    }

    .avsq-auth-page .avsq-auth-footer span {
        font-size: .6rem;
    }
}

@media (max-width: 400px) {

    .avsq-auth-page .avsq-auth-shell {
        padding-top: 22px;
        padding-bottom: 14px;
    }

    .avsq-auth-page .avsq-auth-footer {
        margin-top: 10px;
    }
}

/* =========================================================
   PASSWORT VERGESSEN – KOMPAKTE HANDYANSICHT
   ========================================================= */

@media (max-width: 700px) {

    .avsq-password-forgot-page .avsq-auth-shell {
        min-height: 100svh;
        padding: 28px 10px 18px;
        place-items: start center;
        align-content: start;
    }

    .avsq-password-forgot-page .avsq-auth-card {
        width: min(100%, 430px);
        border-radius: 14px;
    }

    .avsq-password-forgot-page .avsq-auth-top {
        padding: 18px 14px 14px;
    }

    /* Das Navigationslogo ist breit – deshalb hier nicht quadratisch behandeln. */
    .avsq-password-forgot-page .avsq-auth-logo {
        width: 145px;
        height: auto;
        max-width: 72%;
        margin: 0 auto 12px;
        object-fit: contain;
    }

    .avsq-password-forgot-page .avsq-auth-eyebrow {
        margin-bottom: 5px;
        font-size: .66rem;
        letter-spacing: .1em;
    }

    .avsq-password-forgot-page .avsq-auth-top h1 {
        margin-bottom: 7px;
        font-size: 1.45rem;
        line-height: 1.15;
    }

    .avsq-password-forgot-page .avsq-auth-top p {
        font-size: .72rem;
        line-height: 1.45;
    }

    .avsq-password-forgot-page .avsq-auth-body {
        padding: 14px;
    }

    .avsq-password-forgot-page .avsq-auth-notice {
        margin-bottom: 10px;
        padding: 9px 10px;
        font-size: .67rem;
        line-height: 1.4;
    }

    .avsq-password-forgot-page .avsq-auth-field {
        margin-bottom: 10px;
    }

    .avsq-password-forgot-page .avsq-auth-field label {
        margin-bottom: 4px;
        font-size: .7rem;
    }

    .avsq-password-forgot-page .avsq-auth-field input {
        min-height: 40px;
        padding: 8px 10px;
        font-size: .76rem;
        border-radius: 8px;
    }

    .avsq-password-forgot-page .avsq-auth-actions {
        gap: 7px;
        margin-top: 11px;
    }

    .avsq-password-forgot-page .avsq-auth-actions .btn {
        min-height: 40px;
        padding: 8px 10px;
        font-size: .69rem;
        border-radius: 8px;
    }

    .avsq-password-forgot-page .avsq-auth-help {
        margin-top: 11px;
        padding: 9px 10px;
        font-size: .65rem;
        line-height: 1.4;
        border-radius: 8px;
    }
}

@media (max-width: 400px) {

    .avsq-password-forgot-page .avsq-auth-shell {
        padding: 22px 8px 14px;
    }

    .avsq-password-forgot-page .avsq-auth-top {
        padding: 16px 12px 13px;
    }

    .avsq-password-forgot-page .avsq-auth-logo {
        width: 138px;
        max-width: 76%;
        margin-bottom: 10px;
    }

    .avsq-password-forgot-page .avsq-auth-top h1 {
        font-size: 1.35rem;
    }

    .avsq-password-forgot-page .avsq-auth-top p {
        font-size: .69rem;
    }

    .avsq-password-forgot-page .avsq-auth-body {
        padding: 12px;
    }
}

/* =========================================================
   ADMIN – MITGLIED BEARBEITEN / HANDY
   ========================================================= */

@media (max-width: 720px) {

    .member-edit-page .member-page {
        width: min(100% - 20px, 1240px);
        padding-top: 86px !important;
        padding-bottom: 30px;
    }

    /* Kopfbereich deutlich kompakter */
    .member-edit-page .member-head {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 10px;
        align-items: center;
        margin-bottom: 10px;
        padding: 13px 14px;
        text-align: left !important;
        border-radius: 13px;
    }

    .member-edit-page .member-eyebrow {
        margin-bottom: 4px;
        font-size: .61rem;
        letter-spacing: .09em;
    }

    .member-edit-page .member-head h1 {
        margin-bottom: 4px;
        font-size: 1.38rem;
        line-height: 1.14;
    }

    .member-edit-page .member-head p {
        font-size: .68rem;
        line-height: 1.35;
    }

    .member-edit-page .member-symbol {
        width: 42px;
        height: 42px;
        margin: 0 !important;
        border-radius: 10px;
        font-size: 1.1rem;
    }

    /* Status nicht mehr als riesige Einzelkarten */
    .member-edit-page .member-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px;
        margin-bottom: 12px;
    }

    .member-edit-page .member-stat {
        min-height: 68px;
        padding: 9px 10px;
        border-radius: 10px;
    }

    .member-edit-page .member-stat span {
        margin-bottom: 3px;
        font-size: .57rem;
        letter-spacing: .05em;
    }

    .member-edit-page .member-stat strong {
        font-size: .76rem;
        line-height: 1.25;
    }

    .member-edit-page .member-stat .status-badge {
        gap: 4px;
        padding: 4px 7px;
        font-size: .67rem;
    }

    .member-edit-page .member-notice {
        margin-bottom: 10px;
        padding: 9px 10px;
        border-radius: 9px;
        font-size: .68rem;
        line-height: 1.4;
    }

    /* Layout */
    .member-edit-page .member-layout {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .member-edit-page .member-main {
        gap: 10px;
    }

    .member-edit-page .member-card,
    .member-edit-page .member-side-card,
    .member-edit-page .member-history-card {
        border-radius: 12px;
    }

    .member-edit-page .member-card-head {
        gap: 9px;
        padding: 11px 12px 9px;
    }

    .member-edit-page .member-card-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        border-radius: 8px;
        font-size: .9rem;
    }

    .member-edit-page .member-card-head h2 {
        margin-bottom: 3px;
        font-size: .83rem;
        line-height: 1.2;
    }

    .member-edit-page .member-card-head p {
        font-size: .61rem;
        line-height: 1.35;
    }

    .member-edit-page .member-card-body {
        padding: 11px 12px;
    }

    /* Formulare */
    .member-edit-page .member-form-grid {
        grid-template-columns: 1fr !important;
        gap: 9px;
    }

    .member-edit-page .member-field.full {
        grid-column: auto;
    }

    .member-edit-page .member-field label {
        margin-bottom: 4px;
        font-size: .68rem;
    }

    .member-edit-page .member-field input,
    .member-edit-page .member-field textarea {
        min-height: 39px;
        padding: 8px 9px;
        border-radius: 8px;
        font-size: .75rem;
        line-height: 1.35;
    }

    .member-edit-page .member-field textarea {
        min-height: 90px;
    }

    .member-edit-page .member-help {
        margin-top: 4px;
        font-size: .59rem;
        line-height: 1.35;
    }

    /* Speichern / Abbrechen */
    .member-edit-page .member-savebar {
        gap: 8px;
        margin-top: 8px;
        padding: 10px;
        border-radius: 10px;
    }

    .member-edit-page .member-savebar p {
        font-size: .61rem;
        line-height: 1.35;
    }

    .member-edit-page .member-save-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        width: 100%;
    }

    .member-edit-page .member-save-actions .btn {
        width: 100%;
        min-height: 39px;
        padding: 7px 8px;
        justify-content: center;
        font-size: .66rem;
        text-align: center;
    }

    /* Dokumentenstatus */
    .member-edit-page .document-progress {
        margin-bottom: 10px;
        padding: 10px;
        border-radius: 9px;
    }

    .member-edit-page .document-progress-head {
        gap: 8px;
        margin-bottom: 6px;
        font-size: .66rem;
    }

    .member-edit-page .document-progress-track {
        height: 7px;
    }

    .member-edit-page .document-status-summary {
        margin-top: 8px;
        font-size: .61rem;
        line-height: 1.4;
    }

    .member-edit-page .document-grid {
        gap: 8px;
    }

    .member-edit-page .document-row {
        grid-template-columns: 1fr !important;
        gap: 8px;
        padding: 10px;
        border-radius: 9px;
    }

    .member-edit-page .document-title {
        gap: 8px;
    }

    .member-edit-page .document-title-symbol {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        border-radius: 8px;
        font-size: .85rem;
    }

    .member-edit-page .document-title strong {
        margin-bottom: 3px;
        font-size: .69rem;
    }

    .member-edit-page .document-title p {
        font-size: .58rem;
        line-height: 1.35;
    }

    .member-edit-page .document-controls {
        gap: 6px;
    }

    .member-edit-page .document-controls select,
    .member-edit-page .document-controls input {
        min-height: 38px;
        padding: 7px 8px;
        border-radius: 7px;
        font-size: .7rem;
    }

    .member-edit-page .document-missing-list {
        margin-top: 6px;
        padding-left: 16px;
    }

    /* Seitenleiste */
    .member-edit-page .member-sidebar {
        position: static !important;
        gap: 9px;
    }

    .member-edit-page .member-side-card,
    .member-edit-page .member-history-card {
        padding: 11px;
    }

    .member-edit-page .member-side-card h2,
    .member-edit-page .member-history-card h2 {
        margin-bottom: 8px;
        font-size: .82rem;
    }

    .member-edit-page .member-info-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .member-edit-page .member-info-item {
        padding: 8px;
        border-radius: 8px;
    }

    .member-edit-page .member-info-item span {
        margin-bottom: 2px;
        font-size: .54rem;
    }

    .member-edit-page .member-info-item strong {
        font-size: .65rem;
        line-height: 1.25;
    }

    .member-edit-page .member-history-list {
        gap: 7px;
    }

    .member-edit-page .member-history-entry {
        padding: 9px 9px 9px 12px;
        border-radius: 8px;
    }

    .member-edit-page .member-history-entry::before {
        top: 8px;
        bottom: 8px;
        width: 2px;
    }

    .member-edit-page .member-history-head {
        gap: 4px;
        margin-bottom: 5px;
        flex-direction: column;
    }

    .member-edit-page .member-history-head strong {
        font-size: .65rem;
    }

    .member-edit-page .member-history-meta {
        font-size: .55rem;
        line-height: 1.3;
    }

    .member-edit-page .member-history-values {
        gap: 4px;
        font-size: .61rem;
        line-height: 1.35;
    }

    .member-edit-page .member-history-empty {
        font-size: .63rem;
        line-height: 1.4;
    }

    .member-edit-page .member-bottom-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin-top: 12px;
    }

    .member-edit-page .member-bottom-actions .btn {
        width: 100%;
        min-height: 39px;
        padding: 7px 8px;
        justify-content: center;
        font-size: .65rem;
        text-align: center;
    }
}

@media (max-width: 400px) {

    .member-edit-page .member-page {
        width: min(100% - 16px, 1240px);
    }

    .member-edit-page .member-head {
        padding: 12px;
    }

    .member-edit-page .member-head h1 {
        font-size: 1.28rem;
    }

    .member-edit-page .member-symbol {
        width: 38px;
        height: 38px;
    }

    .member-edit-page .member-stat {
        min-height: 64px;
        padding: 8px;
    }

    .member-edit-page .member-save-actions,
    .member-edit-page .member-bottom-actions {
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   DASHBOARD – AUF EINEN BLICK / HANDY
   ========================================================= */

@media (max-width: 720px) {

    .dashboard-member-page .dashboard-glance {
        margin-bottom: 14px;
    }

    .dashboard-member-page .dashboard-glance-head {
        margin-bottom: 8px;
    }

    .dashboard-member-page .dashboard-glance-head h2 {
        margin-bottom: 2px;
        font-size: 1rem;
    }

    .dashboard-member-page .dashboard-glance-head p {
        font-size: .65rem;
        line-height: 1.35;
    }

    .dashboard-member-page .dashboard-glance-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .dashboard-member-page .dashboard-glance-card {
        min-height: 112px;
        padding: 10px;
        border-radius: 10px;
    }

    .dashboard-member-page .dashboard-glance-icon {
        width: 30px;
        height: 30px;
        margin-bottom: 7px;
        border-radius: 8px;
        font-size: .9rem;
    }

    .dashboard-member-page .dashboard-glance-label {
        font-size: .55rem;
        line-height: 1.2;
    }

    .dashboard-member-page .dashboard-glance-card strong {
        margin: 5px 0 3px;
        font-size: .72rem;
        line-height: 1.28;
    }

    .dashboard-member-page .dashboard-glance-card small {
        font-size: .58rem;
        line-height: 1.3;
    }

    .news-member-page .news-unread-badge {
        margin-bottom: 6px;
        padding: 3px 6px;
        font-size: .56rem;
    }
}

@media (max-width: 400px) {

    .dashboard-member-page .dashboard-glance-grid {
        gap: 7px;
    }

    .dashboard-member-page .dashboard-glance-card {
        min-height: 108px;
        padding: 9px;
    }
}

/* =========================================================
   DASHBOARD – AKTUELL OFFEN / HANDY
   ========================================================= */

@media (max-width: 720px) {

    .dashboard-member-page .dashboard-open-actions {
        margin-bottom: 14px;
        padding: 10px;
        border-radius: 12px;
    }

    .dashboard-member-page .dashboard-open-actions-list {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .dashboard-member-page .dashboard-open-action {
        gap: 9px;
        padding: 10px;
        border-radius: 10px;
    }

    .dashboard-member-page .dashboard-open-action-icon {
        flex-basis: 30px;
        width: 30px;
        height: 30px;
        font-size: .86rem;
    }

    .dashboard-member-page .dashboard-open-action-copy small {
        font-size: .54rem;
    }

    .dashboard-member-page .dashboard-open-action-copy strong {
        font-size: .72rem;
    }

    .dashboard-member-page .dashboard-open-action-copy span {
        font-size: .59rem;
    }
}

/* =========================================================
   DASHBOARD – AUF EINEN BLICK / FINALE HANDYKORREKTUR
   ========================================================= */

@media (max-width: 720px) {

    .dashboard-member-page .dashboard-glance {
        margin-bottom: 10px !important;
    }

    .dashboard-member-page .dashboard-glance-head {
        margin-bottom: 6px !important;
    }

    .dashboard-member-page .dashboard-glance-head .eyebrow {
        margin-bottom: 2px;
        font-size: .55rem !important;
    }

    .dashboard-member-page .dashboard-glance-head h2 {
        margin-bottom: 2px !important;
        font-size: .95rem !important;
        line-height: 1.15;
    }

    .dashboard-member-page .dashboard-glance-head p {
        font-size: .58rem !important;
        line-height: 1.25;
    }

    .dashboard-member-page .dashboard-glance-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .dashboard-member-page .dashboard-glance-card {
        min-height: 86px !important;
        height: auto !important;
        padding: 8px !important;
        border-radius: 9px !important;
    }

    .dashboard-member-page .dashboard-glance-icon {
        width: 25px !important;
        height: 25px !important;
        margin-bottom: 5px !important;
        border-radius: 7px !important;
        font-size: .72rem !important;
    }

    .dashboard-member-page .dashboard-glance-label {
        font-size: .48rem !important;
        line-height: 1.15;
        letter-spacing: .045em;
    }

    .dashboard-member-page .dashboard-glance-card strong {
        margin: 3px 0 2px !important;
        font-size: .64rem !important;
        line-height: 1.22;
    }

    .dashboard-member-page .dashboard-glance-card small {
        margin-top: 2px !important;
        font-size: .50rem !important;
        line-height: 1.22;
    }

    /* Bereich "Für mich aktuell möglich" ebenfalls kompakt */
    .dashboard-member-page .dashboard-open-actions {
        margin-bottom: 12px !important;
        padding: 8px !important;
        border-radius: 10px !important;
    }

    .dashboard-member-page .dashboard-open-actions .dashboard-glance-head {
        margin-bottom: 6px !important;
    }

    .dashboard-member-page .dashboard-open-actions-list {
        grid-template-columns: 1fr !important;
        gap: 5px !important;
    }

    .dashboard-member-page .dashboard-open-action {
        gap: 7px !important;
        padding: 7px 8px !important;
        border-radius: 8px !important;
    }

    .dashboard-member-page .dashboard-open-action-icon {
        flex-basis: 26px !important;
        width: 26px !important;
        height: 26px !important;
        border-radius: 7px !important;
        font-size: .70rem !important;
    }

    .dashboard-member-page .dashboard-open-action-copy small {
        font-size: .47rem !important;
    }

    .dashboard-member-page .dashboard-open-action-copy strong {
        margin: 1px 0 !important;
        font-size: .62rem !important;
        line-height: 1.2;
    }

    .dashboard-member-page .dashboard-open-action-copy span {
        font-size: .50rem !important;
    }

    .dashboard-member-page .dashboard-open-action-arrow {
        font-size: .65rem;
    }
}

@media (max-width: 400px) {

    .dashboard-member-page .dashboard-glance-card {
        min-height: 82px !important;
        padding: 7px !important;
    }

    .dashboard-member-page .dashboard-glance-card strong {
        font-size: .61rem !important;
    }
}

/*
============================================================
ENDE – RESPONSIVE PORTALBEREICH
============================================================
*/


/* =========================================================
   FORELLENBESTELLUNG – MOBILE FEINABSTIMMUNG
   21.08.2026
   ========================================================= */
@media (max-width: 720px) {

    .trout-order-member-page .section-title {
        margin-bottom: 6px !important;
        font-size: 1.18rem !important;
        line-height: 1.18 !important;
        text-align: left !important;
    }

    .trout-order-member-page .section-title + p {
        margin-bottom: 14px !important;
        font-size: .70rem !important;
        line-height: 1.4 !important;
        text-align: left !important;
    }

    .trout-order-member-page .raucher-info {
        margin-bottom: 14px !important;
        padding: 12px !important;
        border-radius: 12px !important;
    }

    .trout-order-member-page .raucher-info h2 {
        margin: 0 0 6px !important;
        font-size: 1rem !important;
        line-height: 1.2 !important;
    }

    .trout-order-member-page .raucher-info p {
        margin: 3px 0 !important;
        font-size: .70rem !important;
        line-height: 1.4 !important;
    }

    .trout-order-member-page .raucher-info p strong {
        font-size: .70rem !important;
    }

    .trout-order-member-page .card {
        padding: 12px !important;
    }

    .trout-order-member-page .card h2 {
        margin-bottom: 8px !important;
        font-size: .94rem !important;
        line-height: 1.2 !important;
    }

    .trout-order-member-page .form-group {
        margin-bottom: 11px !important;
    }

    .trout-order-member-page .form-group label {
        margin-bottom: 5px !important;
        font-size: .72rem !important;
    }

    .trout-order-member-page .form-group input,
    .trout-order-member-page .form-group textarea {
        padding: 9px 10px !important;
        font-size: .76rem !important;
    }

    .trout-order-member-page .order-term {
        margin-bottom: 9px !important;
        padding: 8px 9px !important;
        font-size: .69rem !important;
        line-height: 1.38 !important;
    }
}

@media (max-width: 400px) {

    .trout-order-member-page .section-title {
        font-size: 1.12rem !important;
    }

    .trout-order-member-page .section-title + p {
        font-size: .68rem !important;
    }

    .trout-order-member-page .raucher-info h2 {
        font-size: .96rem !important;
    }

    .trout-order-member-page .raucher-info p,
    .trout-order-member-page .raucher-info p strong {
        font-size: .68rem !important;
    }
}


/* =========================================================
   FORELLENBESTELLUNG – ABSTAND NACH SCHNELLNAVIGATION
   ========================================================= */
@media (max-width: 720px) {
    .trout-order-member-page .trout-mobile-actions + .member-page {
        margin-top: 0 !important;
        padding-top: 20px !important;
    }

    .trout-order-member-page .member-page > .section-title:first-of-type {
        margin-top: 0 !important;
    }
}

@media (max-width: 400px) {
    .trout-order-member-page .trout-mobile-actions + .member-page {
        padding-top: 16px !important;
    }
}


/* =========================================================
   MEINE TERMINE – MITGLIEDERBEREICH / HANDY
   ========================================================= */

@media (max-width: 720px) {

    .my-terms-member-page .my-terms-page {
        width: min(100% - 22px, 1180px);
        padding-top: 86px !important;
        padding-bottom: 28px;
    }

    .my-terms-member-page .my-terms-hero {
        margin-bottom: 12px;
        padding: 15px;
        border-radius: 14px;
    }

    .my-terms-member-page .my-terms-kicker {
        margin-bottom: 5px;
        font-size: .63rem;
        letter-spacing: .09em;
    }

    .my-terms-member-page .my-terms-hero h1 {
        margin-bottom: 5px;
        font-size: 1.4rem;
        line-height: 1.15;
    }

    .my-terms-member-page .my-terms-hero p {
        font-size: .71rem;
        line-height: 1.4;
    }

    .my-terms-member-page .my-terms-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 12px;
    }

    .my-terms-member-page .my-terms-actions .btn {
        min-height: 42px;
        padding: 7px 8px;
        font-size: .67rem;
    }

    .my-terms-member-page .my-terms-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 14px;
    }

    .my-terms-member-page .my-terms-stat {
        padding: 10px;
        border-radius: 10px;
    }

    .my-terms-member-page .my-terms-stat span {
        font-size: .62rem;
        line-height: 1.25;
    }

    .my-terms-member-page .my-terms-stat strong {
        margin-top: 3px;
        font-size: 1.02rem;
    }

    .my-terms-member-page .my-terms-section {
        margin-top: 18px;
    }

    .my-terms-member-page .my-terms-section-head {
        margin-bottom: 9px;
    }

    .my-terms-member-page .my-terms-section-head h2 {
        margin-bottom: 3px;
        font-size: 1rem;
    }

    .my-terms-member-page .my-terms-section-head p {
        font-size: .69rem;
        line-height: 1.4;
    }

    .my-terms-member-page .my-terms-list {
        gap: 9px;
    }

    .my-terms-member-page .my-term-card {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 9px;
        padding: 11px;
        border-radius: 11px;
    }

    .my-terms-member-page .my-term-icon {
        width: 36px;
        height: 36px;
        border-radius: 9px;
        font-size: .95rem;
    }

    .my-terms-member-page .my-term-type {
        margin-bottom: 2px;
        font-size: .58rem;
    }

    .my-terms-member-page .my-term-copy h3 {
        margin-bottom: 3px;
        font-size: .84rem;
        line-height: 1.25;
    }

    .my-terms-member-page .my-term-date {
        margin-bottom: 3px;
        font-size: .68rem;
        line-height: 1.35;
    }

    .my-terms-member-page .my-term-description {
        font-size: .66rem;
        line-height: 1.4;
    }

    .my-terms-member-page .my-term-card .btn {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
        min-height: 38px;
        padding: 7px 9px;
        font-size: .66rem;
    }

    .my-terms-member-page .my-terms-empty,
    .my-terms-member-page .my-terms-error {
        padding: 14px 11px;
        border-radius: 11px;
        font-size: .70rem;
        line-height: 1.4;
    }

    .my-terms-member-page details.my-past {
        margin-top: 18px;
        border-radius: 11px;
    }

    .my-terms-member-page details.my-past summary {
        padding: 11px 12px;
        font-size: .74rem;
    }

    .my-terms-member-page details.my-past .my-past-body {
        padding: 0 10px 10px;
    }
}

@media (max-width: 400px) {

    .my-terms-member-page .my-terms-page {
        width: min(100% - 18px, 1180px);
        padding-top: 82px !important;
    }

    .my-terms-member-page .my-terms-hero {
        padding: 13px;
    }

    .my-terms-member-page .my-terms-hero h1 {
        font-size: 1.3rem;
    }

    .my-terms-member-page .my-terms-hero p {
        font-size: .68rem;
    }

    .my-terms-member-page .my-terms-actions .btn {
        padding-inline: 5px;
        font-size: .63rem;
    }

    .my-terms-member-page .my-term-card {
        padding: 10px;
    }
}
/* =========================================================
   FANG MELDEN – MITGLIEDERBEREICH / HANDY
   ========================================================= */

.catch-mobile-actions {
    display: none;
}

@media (max-width: 720px) {
    .catch-member-page .catch-mobile-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        width: min(100% - 22px, 1120px);
        margin: 0 auto;
        padding-top: 96px;
    }

    .catch-member-page .catch-mobile-action {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 43px;
        padding: 7px 8px;
        border: 1px solid rgba(155,196,60,.50);
        border-radius: 10px;
        color: #f4f7f8;
        background: rgba(155,196,60,.08);
        font-size: .69rem;
        font-weight: 800;
        line-height: 1.18;
        text-align: center;
        text-decoration: none;
    }

    .catch-member-page .catch-shell {
        width: min(100% - 22px, 1120px);
        margin: 0 auto 40px;
        padding-top: 14px;
    }

    .catch-member-page .catch-head {
        gap: 10px;
        margin-bottom: 14px;
    }

    .catch-member-page .catch-head h1 {
        margin-bottom: 5px;
        font-size: 1.52rem;
        line-height: 1.15;
    }

    .catch-member-page .catch-head p {
        font-size: .75rem;
        line-height: 1.42;
    }

    .catch-member-page .member-info {
        margin-top: 7px;
        font-size: .69rem;
    }

    .catch-member-page .catch-desktop-back {
        display: none !important;
    }

    .catch-member-page .catch-grid {
        gap: 10px;
    }

    .catch-member-page .catch-card {
        padding: 14px;
        border-radius: 14px;
    }

    .catch-member-page .catch-card h2 {
        font-size: 1.05rem;
    }

    .catch-member-page .catch-card-intro {
        margin-bottom: 14px;
        font-size: .74rem;
        line-height: 1.4;
    }
}

@media (max-width: 400px) {
    .catch-member-page .catch-mobile-actions,
    .catch-member-page .catch-shell {
        width: min(100% - 18px, 1120px);
    }

    .catch-member-page .catch-mobile-action {
        padding-inline: 5px;
        font-size: .64rem;
    }

    .catch-member-page .catch-head h1 {
        font-size: 1.4rem;
    }
}
