
/* ==========================================================================
   Schlepperfreunde Schwitten – Version 2.12.1
   Responsive Gesamtaudit: Desktop · Tablet · Smartphone

   Ziel:
   - Keine abgeschnittenen Überschriften/Labels
   - Keine horizontal herausragenden Inhalte
   - Touchfreundliche Bedienung
   - Lesbare Karten/Formulare/Forenstränge
   - Bestehendes Desktop-Design bleibt erhalten
   ========================================================================== */

/* ---------- 0. Sicherheitsnetz für ALLE öffentlichen Seiten ---------- */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  max-width: 100%;
  overflow-x: hidden;
}
#content,
main,
section,
article,
aside,
header,
footer,
nav,
div {
  min-width: 0;
}
img,
video,
iframe,
svg {
  max-width: 100%;
}
img,
video {
  height: auto;
}
input,
select,
textarea,
button {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
textarea {
  overflow-wrap: anywhere;
}
h1,h2,h3,h4,h5,h6,
p,li,dd,dt,
a,strong,small,span,em {
  overflow-wrap: break-word;
}
.wp-content,
.article-copy,
.prose,
.sf2120-rich-text,
.sf2120-topic-text,
.sf-community-comment-text-2116 {
  overflow-wrap: anywhere;
}
.button,
.button-primary,
.button-dark,
.button-light,
.button-outline {
  max-width: 100%;
}

/* Aktuelles: der vom Nutzer gemeldete Hauptfehler.
   Kategorie-Badges dürfen NIE aus dem Bild laufen. */
.sf2120-news-type {
  max-width: calc(100% - 24px);
  white-space: normal;
  line-height: 1.25;
  overflow-wrap: anywhere;
  word-break: normal;
  text-align: left;
  box-sizing: border-box;
}
.sf2120-news-copy,
.sf2120-news-card-link,
.sf2120-news-card,
.sf2120-news-image {
  min-width: 0;
}
.sf2120-news-copy h2,
.sf2120-news-copy p,
.sf2120-news-copy em,
.sf2120-news-copy > strong,
.sf2120-news-categories a strong,
.sf2120-news-categories a small {
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Lange Status-, Kategorie- und Metatexte allgemein absichern. */
.section-kicker,
.eyebrow,
.sf2120-topic-meta,
.sf2120-topic-flags,
.sf2120-article-type,
.sf2120-partner-main small,
.sf-community-reference-badge-2116,
.event-calendar-type {
  max-width: 100%;
}

/* Tabellen/Kalender dürfen auf kleinen Geräten scrollbar sein,
   statt die komplette Seite zu verbreitern. */
.event-calendar-scroll,
.sf-comparison-table-wrap,
.sf-qr-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}

/* ---------- 1. Große Desktop-/Laptop-Auflösungen ---------- */
@media (max-width: 1440px) {
  .sf2120-news-toolbar,
  .sf2120-featured-news,
  .sf2120-news-magazine,
  .sf2120-news-categories,
  .sf2120-forum-categories,
  .sf2120-forum-layout,
  .sf2120-contact-grid,
  .sf2120-partner-filter,
  .sf2120-partner-intro,
  .sf2120-partner-grid,
  .sf2120-partner-cta {
    width: min(1320px, calc(100% - 32px));
  }

  .sf-community-shell-2116 {
    width: min(1320px, calc(100% - 28px));
  }
}

/* ---------- 2. Tablet quer / kleine Laptops ---------- */
@media (max-width: 1180px) {
  /* Hero-/Seitentitel etwas ruhiger */
  .sf2120-hero-copy h1 {
    font-size: clamp(46px, 6.3vw, 70px);
    line-height: 1;
  }
  .sf2120-hero {
    gap: 32px;
  }

  /* Aktuelles */
  .sf2120-news-toolbar {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .sf2120-news-toolbar form {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .sf2120-news-card.is-large .sf2120-news-copy h2 {
    font-size: clamp(30px, 4vw, 45px);
  }
  .sf2120-news-copy h2 {
    font-size: clamp(22px, 2.3vw, 27px);
  }

  /* Forum */
  .sf2120-forum-categories > header {
    grid-template-columns: minmax(0,1fr) minmax(260px,360px);
  }
  .sf2120-topic-item > a {
    grid-template-columns: 44px minmax(0,1fr) 78px;
    gap: 11px;
  }

  /* Partner */
  .sf2120-partner-detail-head {
    gap: 30px;
  }

  /* Homepage/alte Layouts */
  .home-event {
    gap: 34px;
  }
  .project {
    gap: 52px;
  }
}

/* ---------- 3. Tablet hoch / große Smartphones ---------- */
@media (max-width: 1024px) {
  /* Einheitliche Seitenränder */
  .section,
  .subpage-section {
    padding-left: clamp(24px, 4.5vw, 48px);
    padding-right: clamp(24px, 4.5vw, 48px);
  }

  /* Forum/Contact/Partner/Aktuelles */
  .sf2120-news-toolbar,
  .sf2120-featured-news,
  .sf2120-news-magazine,
  .sf2120-news-categories,
  .sf2120-forum-categories,
  .sf2120-forum-layout,
  .sf2120-contact-grid,
  .sf2120-partner-filter,
  .sf2120-partner-intro,
  .sf2120-partner-grid,
  .sf2120-partner-cta,
  .sf2120-forum-breadcrumb,
  .sf2120-topic-detail,
  .sf2120-forum-replies,
  .sf2120-forum-reply-form,
  .sf2120-partner-detail-grid,
  .sf2120-partner-related,
  .sf2120-partner-events,
  .sf2121-contact-crosslinks {
    width: min(960px, calc(100% - 28px));
  }

  .sf2120-forum-layout,
  .sf2120-contact-grid,
  .sf2120-topic-detail-grid,
  .sf2120-partner-detail-grid {
    grid-template-columns: 1fr;
  }

  .sf2120-forum-sidebar,
  .sf2120-contact-side {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .sf2120-forum-sidebar .sf2120-side-green,
  .sf2120-contact-side .sf2120-side-green {
    grid-column: 1 / -1;
  }

  .sf2120-category-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  .sf2120-news-grid,
  .sf2120-partner-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  /* Fuhrpark */
  .full-tractor-grid,
  .tractor-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .tractor-card-featured,
  .tractor-card:last-child {
    grid-column: span 1;
  }

  /* Über uns */
  .about-welcome,
  .about-project-card {
    grid-template-columns: 1fr;
  }

  /* Gästebuch */
  .sf-community-grid-2116 {
    grid-template-columns: 1fr;
  }
  .sf-community-sidebar-2116 {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .sf-community-about-2116 {
    grid-column: 1 / -1;
  }

  /* Startseite */
  .news-grid {
    grid-template-columns: 1fr;
  }
}

/* ---------- 4. WordPress-/Tablet-Grenze 782px ---------- */
@media (max-width: 782px) {
  /* Touch-Ziele */
  .button,
  .button-primary,
  .button-dark,
  .button-light,
  .button-outline,
  .sf2120-news-toolbar button,
  .sf2120-list-head button,
  .sf2120-partner-filter button,
  input[type="submit"] {
    min-height: 44px;
  }

  /* Header */
  .brand {
    min-width: 0;
  }
  .brand > span:last-child {
    min-width: 0;
  }
  .brand strong {
    font-size: clamp(15px, 4vw, 18px);
    white-space: normal;
  }
  .brand small {
    letter-spacing: .18em;
  }
  .mobile-menu nav {
    max-width: calc(100vw - 24px);
    box-sizing: border-box;
  }

  /* Startseite */
  .hero-copy {
    padding-left: 22px;
    padding-right: 22px;
  }
  .hero h1 {
    font-size: clamp(43px, 11vw, 62px);
    line-height: .95;
  }
  .hero-lead {
    font-size: 15px;
    line-height: 1.65;
  }
  .hero-actions {
    gap: 14px;
    flex-wrap: wrap;
  }
  .hero-actions .button,
  .hero-actions .text-link {
    max-width: 100%;
  }
  .hero-stats {
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px;
  }
  .hero-stats div {
    min-width: 0;
  }
  .hero-stats strong {
    font-size: clamp(21px, 6vw, 27px);
  }
  .hero-stats span {
    font-size: 8px;
    letter-spacing: .04em;
  }

  .home-event-facts {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .home-event-facts span {
    min-width: 0;
  }

  .project-year {
    font-size: clamp(74px, 22vw, 118px);
  }

  .news-list > a {
    min-width: 0;
  }
  .news-title {
    min-width: 0;
  }
  .news-title strong {
    overflow-wrap: anywhere;
  }

  /* Allgemeine Unterseiten */
  .page-hero h1,
  .article-page header h1,
  .vehicle-hero-copy h1 {
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  /* -------- Aktuelles -------- */
  .sf2120-news-page {
    overflow: hidden;
  }
  .sf2120-news-toolbar {
    width: calc(100% - 16px);
    margin: 12px auto 16px;
    padding: 14px;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .sf2120-news-toolbar form {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .sf2120-news-toolbar select,
  .sf2120-news-toolbar button,
  .sf2120-news-toolbar a {
    width: 100%;
  }
  .sf2120-news-toolbar a {
    min-height: 38px;
    display: flex;
    align-items: center;
  }

  .sf2120-featured-news,
  .sf2120-news-magazine,
  .sf2120-news-categories {
    width: calc(100% - 16px);
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .sf2120-news-magazine > header {
    display: block;
  }
  .sf2120-news-magazine > header p {
    margin-top: 10px;
  }

  .sf2120-news-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .sf2120-news-card.is-large .sf2120-news-card-link {
    grid-template-columns: 1fr;
  }
  .sf2120-news-card.is-large .sf2120-news-image,
  .sf2120-news-image {
    height: clamp(210px, 58vw, 310px);
  }
  .sf2120-news-copy,
  .sf2120-news-card.is-large .sf2120-news-copy {
    min-height: 0;
    padding: 16px;
  }
  .sf2120-news-copy h2,
  .sf2120-news-card.is-large .sf2120-news-copy h2 {
    margin: 8px 0;
    font-size: clamp(23px, 7vw, 31px);
    line-height: 1.08;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .sf2120-news-copy p {
    font-size: 12px;
  }

  /* Expliziter Fix: Kategorie "Ausfahrt", "Vereinsnews" usw. */
  .sf2120-news-type {
    left: 10px;
    right: auto;
    bottom: 10px;
    max-width: calc(100% - 20px);
    padding: 6px 8px;
    font-size: 7.5px;
    letter-spacing: .045em;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .sf2120-news-categories > div {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .sf2120-news-categories a {
    min-width: 0;
    padding: 16px 12px;
  }
  .sf2120-news-categories a strong {
    font-size: 13px;
  }

  .sf2120-article-type {
    margin-left: 0;
    margin-right: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .sf2120-article-type span,
  .sf2120-article-type small {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .sf2120-article-relations,
  .sf2120-article-share,
  .sf2120-related-news {
    margin: 26px auto;
    padding-left: 0;
    padding-right: 0;
  }
  .sf2120-relation-cards,
  .sf2120-related-news > div {
    grid-template-columns: 1fr;
  }
  .sf2120-article-share {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .sf2120-article-share > div {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }
  .sf2120-article-share a,
  .sf2120-article-share button {
    min-width: 0;
    text-align: center;
  }

  /* -------- Forum -------- */
  .sf2120-hero {
    padding: 48px 16px;
    gap: 22px;
  }
  .sf2120-hero-copy h1 {
    font-size: clamp(40px, 11vw, 57px);
    letter-spacing: -.035em;
    hyphens: auto;
    overflow-wrap: anywhere;
  }
  .sf2120-hero-copy p {
    font-size: 14px;
    line-height: 1.65;
  }
  .sf2120-forum-hero-art,
  .sf2120-partner-hero-art,
  .sf2120-contact-hero-card {
    min-height: 180px;
    max-width: 100%;
  }
  .sf2120-forum-hero-art span,
  .sf2120-partner-hero-art span {
    font-size: 48px;
  }
  .sf2120-forum-hero-art strong,
  .sf2120-partner-hero-art strong {
    font-size: 22px;
  }

  .sf2120-forum-stats {
    width: calc(100% - 16px);
    grid-template-columns: 1fr 1fr;
  }
  .sf2120-forum-stats div {
    min-width: 0;
    padding: 15px 13px;
  }
  .sf2120-forum-stats strong {
    font-size: 23px;
  }
  .sf2120-forum-stats span {
    font-size: 8px;
    overflow-wrap: anywhere;
  }

  .sf2120-forum-categories,
  .sf2120-forum-layout,
  .sf2120-forum-breadcrumb,
  .sf2120-topic-detail,
  .sf2120-forum-replies,
  .sf2120-forum-reply-form {
    width: calc(100% - 16px);
  }
  .sf2120-forum-categories > header {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .sf2120-category-grid {
    grid-template-columns: 1fr 1fr;
  }
  .sf2120-category-grid a {
    min-width: 0;
    min-height: 100px;
    padding: 14px;
    align-items: flex-start;
  }
  .sf2120-category-grid strong,
  .sf2120-category-grid small {
    overflow-wrap: anywhere;
  }

  .sf2120-topic-composer,
  .sf2120-topic-list,
  .sf2120-topic-detail,
  .sf2120-forum-replies,
  .sf2120-forum-reply-form {
    padding: 15px;
  }
  .sf2120-form-row {
    grid-template-columns: 1fr;
  }
  .sf2120-upload-row,
  .sf2120-submit-row {
    align-items: stretch;
    flex-direction: column;
  }
  .sf2120-upload-row .button,
  .sf2120-submit-row .button {
    width: 100%;
    min-width: 0;
  }
  .sf2120-submit-row span {
    max-width: 100%;
  }

  .sf2120-list-head {
    align-items: stretch;
    flex-direction: column;
  }
  .sf2120-list-head form {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }
  .sf2120-list-head input,
  .sf2120-list-head select,
  .sf2120-list-head button {
    width: 100%;
  }

  .sf2120-topic-item > a {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 9px;
    padding: 13px 3px;
  }
  .sf2120-topic-symbol {
    width: 38px;
    height: 38px;
  }
  .sf2120-topic-content h3 {
    font-size: 16px;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .sf2120-topic-content p {
    font-size: 10.5px;
  }
  .sf2120-topic-meta {
    gap: 4px;
  }
  .sf2120-topic-meta span,
  .sf2120-topic-meta b {
    white-space: normal;
  }
  .sf2120-topic-numbers {
    grid-column: 2;
    border-left: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px 8px;
    align-items: center;
    text-align: left;
  }
  .sf2120-topic-numbers strong,
  .sf2120-topic-numbers span,
  .sf2120-topic-numbers small {
    display: inline;
    margin: 0;
    white-space: normal;
  }

  .sf2120-forum-sidebar,
  .sf2120-contact-side {
    grid-template-columns: 1fr;
  }
  .sf2120-forum-sidebar .sf2120-side-green,
  .sf2120-contact-side .sf2120-side-green {
    grid-column: auto;
  }

  .sf2120-forum-breadcrumb {
    flex-wrap: wrap;
    overflow: visible;
  }
  .sf2120-forum-breadcrumb strong {
    max-width: 100%;
    white-space: normal;
  }
  .sf2120-topic-detail h1 {
    font-size: clamp(34px, 10vw, 52px);
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .sf2120-topic-detail-grid {
    grid-template-columns: 1fr;
  }

  .sf2120-forum-reply-level .sf2120-forum-reply-level {
    margin-left: 8px;
    padding-left: 7px;
  }
  .sf2120-forum-reply {
    grid-template-columns: 36px minmax(0,1fr);
    gap: 9px;
    padding: 11px;
  }
  .sf2120-forum-avatar img {
    width: 36px;
    height: 36px;
  }
  .sf2120-team-badge,
  .sf2120-accepted-badge {
    margin-left: 3px;
    white-space: normal;
  }
  .sf2120-forum-reply footer {
    gap: 5px;
  }
  .sf2120-forum-reply footer button {
    min-height: 38px;
    white-space: normal;
  }
  .sf2120-forum-reply footer .is-report {
    margin-left: 0;
  }
  .sf2121-reply-attachment {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  /* -------- Kontakt -------- */
  .sf2120-contact-grid,
  .sf2121-contact-crosslinks {
    width: calc(100% - 16px);
  }
  .sf2120-contact-main,
  .sf2120-contact-options {
    padding-left: 15px;
    padding-right: 15px;
  }
  .sf2120-contact-form .sf2120-form-row {
    grid-template-columns: 1fr;
  }
  .sf2120-contact-form input,
  .sf2120-contact-form select,
  .sf2120-contact-form textarea {
    font-size: 16px; /* verhindert iOS-Zoom */
  }
  .sf2120-submit-row {
    align-items: stretch;
    flex-direction: column;
  }
  .sf2120-submit-row .button {
    width: 100%;
  }
  .sf2121-contact-crosslinks {
    padding: 17px;
  }
  .sf2121-contact-crosslinks > header {
    grid-template-columns: 1fr;
  }
  .sf2121-contact-crosslinks > header span {
    grid-column: auto;
  }
  .sf2121-contact-crosslinks > div {
    grid-template-columns: 1fr;
  }

  /* -------- Partner & Freunde -------- */
  .sf2120-partner-filter,
  .sf2120-partner-intro,
  .sf2120-partner-grid,
  .sf2120-partner-cta,
  .sf2120-partner-detail-grid,
  .sf2120-partner-related,
  .sf2120-partner-events {
    width: calc(100% - 16px);
  }
  .sf2120-partner-filter {
    align-items: stretch;
    flex-direction: column;
  }
  .sf2120-partner-filter form {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }
  .sf2120-partner-filter select,
  .sf2120-partner-filter button {
    width: 100%;
  }
  .sf2120-partner-intro {
    grid-template-columns: 1fr;
  }
  .sf2120-partner-grid {
    grid-template-columns: 1fr;
  }
  .sf2120-partner-card,
  .sf2120-partner-main {
    min-width: 0;
  }
  .sf2120-partner-main h2 {
    font-size: clamp(21px, 6vw, 26px);
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .sf2120-partner-actions {
    flex-wrap: wrap;
  }
  .sf2120-partner-actions a {
    min-width: 50%;
  }
  .sf2120-partner-cta {
    padding: 22px 17px;
    align-items: stretch;
    flex-direction: column;
  }
  .sf2120-partner-cta .button {
    width: 100%;
    justify-content: center;
  }
  .sf2120-partner-detail-head {
    padding: 42px 16px;
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .sf2120-partner-detail-logo {
    width: 100%;
    height: 185px;
  }
  .sf2120-partner-detail-head h1 {
    font-size: clamp(38px, 10vw, 55px);
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .sf2120-partner-detail-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .sf2120-partner-detail-actions .button,
  .sf2120-partner-detail-actions .button-outline {
    width: 100%;
    justify-content: center;
  }
  .sf2120-partner-events > div,
  .sf2120-related-news > div,
  .sf2120-relation-cards {
    grid-template-columns: 1fr;
  }

  /* -------- Gästebuch -------- */
  .sf-community-shell-2116 {
    width: calc(100% - 12px);
  }
  .sf-community-hero-2116 img {
    width: 100%;
    height: clamp(190px, 54vw, 250px);
    min-height: 0;
    object-fit: cover;
  }
  .sf-community-stats-2116 {
    grid-template-columns: 1fr 1fr;
  }
  .sf-community-stats-2116 > div {
    min-width: 0;
    padding: 13px 11px;
  }
  .sf-community-stats-2116 strong {
    font-size: 21px;
  }
  .sf-community-stats-2116 small {
    overflow-wrap: anywhere;
  }
  .sf-community-sidebar-2116 {
    grid-template-columns: 1fr;
  }
  .sf-community-about-2116 {
    grid-column: auto;
  }
  .sf-community-composer-card-2116,
  .sf-community-feed-2116 {
    padding: 14px 12px;
  }
  .sf-community-field-row-2116,
  .sf-community-reference-field {
    grid-template-columns: 1fr;
  }
  .sf-community-reference-field > small {
    grid-column: 1;
  }
  .sf-community-submit-row-2116 .button {
    width: 100%;
    min-width: 0;
  }
  .sf-community-feed-head-2116 {
    align-items: stretch;
    flex-direction: column;
  }
  .sf-community-sort-2116 {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }
  .sf-community-sort-2116 select {
    width: 100%;
  }
  .sf-community-comment-2116 {
    grid-template-columns: 36px minmax(0,1fr);
    gap: 8px;
    padding: 11px;
  }
  .sf-community-avatar-2116 img {
    width: 36px;
    height: 36px;
  }
  .sf-community-comment-head-2116 {
    display: block;
  }
  .sf-community-reference-badge-2116 {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin-top: 6px;
    white-space: normal;
  }
  .sf-community-team-badge-2116 {
    margin-left: 3px;
    white-space: normal;
  }
  .sf-community-replies-2116 {
    margin-left: 7px;
    padding-left: 6px;
  }
  .sf-community-replies-2116 .sf-community-comment-2116 {
    grid-template-columns: 32px minmax(0,1fr);
  }
  .sf-community-replies-2116 .sf-community-avatar-2116 img {
    width: 32px;
    height: 32px;
  }
  .sf-community-reactions-2116 {
    gap: 5px;
  }
  .sf-community-reaction-2116,
  .sf-community-comment-actions-2116 > .comment-reply-link {
    min-height: 38px;
    white-space: normal;
  }

  /* -------- Fuhrpark / Fahrzeuge -------- */
  .fleet-switcher {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .fleet-switcher a {
    justify-content: center;
    text-align: center;
    white-space: normal;
  }
  .fleet-filter,
  .fleet-filter-advanced {
    min-width: 0;
  }
  .fleet-filter-fields,
  .fleet-filter-advanced .fleet-filter-fields,
  .fleet-filter-guest .fleet-filter-fields {
    grid-template-columns: 1fr;
  }
  .full-tractor-grid,
  .tractor-grid {
    grid-template-columns: 1fr;
  }
  .tractor-info {
    right: 52px;
  }
  .tractor-info strong,
  .vehicle-group-badge {
    overflow-wrap: anywhere;
  }
  .vehicle-group-profile {
    grid-template-columns: 1fr;
  }
  .vehicle-group-card dl div {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .vehicle-hero-tools {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .vehicle-hero-tools .button {
    width: 100%;
    justify-content: center;
  }
  .detail-specs div {
    grid-template-columns: 1fr;
  }
  .sf2120-vehicle-contact {
    margin-left: 10px;
    margin-right: 10px;
    padding: 18px;
  }

  /* -------- Treffen / Termine -------- */
  .event-calendar-header nav {
    max-width: 100%;
    overflow: hidden;
  }
  .event-calendar-header nav a,
  .event-calendar-header nav strong {
    min-width: 0;
    flex: 1 1 0;
    white-space: normal;
    text-align: center;
    overflow-wrap: anywhere;
  }
  .event-calendar-scroll {
    margin-right: -4px;
    padding-bottom: 6px;
  }
  .event-calendar {
    min-width: 660px;
  }
  .event-calendar-legend ul {
    justify-content: flex-start;
  }
  .event-calendar-legend li {
    white-space: normal;
  }
  .archive-card,
  .event-detail-grid > div {
    min-width: 0;
  }
  .archive-card h2,
  .archive-card strong,
  .archive-card-address {
    overflow-wrap: anywhere;
  }
  .event-registration-availability {
    width: 100%;
    box-sizing: border-box;
  }

  /* -------- Gastfahrzeug einreichen / Formulare -------- */
  .sf-submission-public-intro {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .sf-submission-public-intro ol {
    grid-template-columns: 1fr;
  }
  .sf-guest-submission-form .form-grid {
    grid-template-columns: 1fr;
  }
  .sf-guest-submission-form input,
  .sf-guest-submission-form select,
  .sf-guest-submission-form textarea,
  .event-registration-form input,
  .event-registration-form select,
  .event-registration-form textarea {
    font-size: 16px;
  }
  .sf-guest-submission-form > .button,
  .event-registration-form .button {
    width: 100%;
    justify-self: stretch;
  }

  /* -------- Suche/Favoriten/Statistik/Vergleich -------- */
  .search-results-grid {
    grid-template-columns: 1fr;
  }
  .search-result-body strong {
    font-size: clamp(22px, 7vw, 28px);
  }
  .sf-favorites-grid,
  .sf-public-stats-grid {
    grid-template-columns: 1fr;
  }
  .sf-comparison-selectors {
    grid-template-columns: 1fr;
  }
  .sf-comparison-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .sf-comparison-actions .button,
  .sf-comparison-actions .text-button {
    width: 100%;
  }

  /* -------- Homepage-Verknüpfungen 2.12.1 -------- */
  .sf2121-home-connect {
    grid-template-columns: 1fr 1fr;
  }
  .sf2121-home-connect a {
    min-width: 0;
  }
  .sf2121-home-connect strong,
  .sf2121-home-connect small {
    overflow-wrap: anywhere;
  }

  /* Footer */
  .site-footer {
    min-width: 0;
  }
  .site-footer nav,
  .site-footer .footer-main-nav {
    max-width: 100%;
  }
}

/* ---------- 5. Smartphones ---------- */
@media (max-width: 600px) {
  .section,
  .subpage-section {
    padding-left: 16px;
    padding-right: 16px;
  }

  .section h2,
  .subpage-section h2 {
    font-size: clamp(36px, 10.5vw, 49px);
    line-height: 1;
  }

  /* Startseite */
  .hero-copy {
    padding-left: 16px;
    padding-right: 16px;
  }
  .hero h1 {
    font-size: clamp(40px, 12vw, 54px);
  }
  .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .hero-actions .button {
    width: 100%;
  }
  .hero-actions .text-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .hero-stats {
    grid-template-columns: 1fr 1fr;
  }
  .hero-stats div:last-child {
    grid-column: 1 / -1;
  }
  .intro-copy p,
  .project-lead {
    font-size: 14px;
  }
  .home-event-facts {
    grid-template-columns: 1fr;
  }
  .news-list > a {
    grid-template-columns: 48px minmax(0,1fr);
  }
  .news-list > a > .round-arrow {
    display: none;
  }
  .contact h2 {
    font-size: clamp(37px, 10.8vw, 50px);
  }

  /* Aktuelles */
  .sf2120-featured-news h2,
  .sf2120-news-magazine > header h2,
  .sf2120-news-categories h2 {
    font-size: clamp(29px, 9vw, 39px);
  }
  .sf2120-news-categories > div {
    grid-template-columns: 1fr;
  }
  .sf2120-news-categories a {
    grid-template-columns: 32px 1fr;
    align-items: center;
  }
  .sf2120-news-categories a > span {
    grid-row: 1 / 3;
  }

  .sf2120-article-share > div {
    grid-template-columns: 1fr;
  }

  /* Forum */
  .sf2120-category-grid {
    grid-template-columns: 1fr;
  }
  .sf2120-category-grid a {
    min-height: 0;
  }
  .sf2120-forum-stats {
    grid-template-columns: 1fr 1fr;
  }
  .sf2120-topic-composer > header,
  .sf2120-forum-reply-form > header {
    gap: 9px;
  }
  .sf2120-topic-composer h2,
  .sf2120-forum-reply-form h2 {
    font-size: 19px;
  }
  .sf2120-forum-reply {
    grid-template-columns: 32px minmax(0,1fr);
    padding: 9px;
  }
  .sf2120-forum-avatar img {
    width: 32px;
    height: 32px;
  }
  .sf2120-forum-reply-level .sf2120-forum-reply-level {
    margin-left: 4px;
    padding-left: 4px;
  }

  /* Partner */
  .sf2120-partner-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .sf2120-partner-actions a {
    min-width: 0;
    border-left: 0 !important;
    border-top: 1px solid var(--sf2120-line);
  }
  .sf2120-partner-actions a:first-child {
    border-top: 0;
  }

  /* Gästebuch */
  .sf-community-stats-2116 {
    grid-template-columns: 1fr 1fr;
  }
  .sf-community-comment-2116 {
    grid-template-columns: 30px minmax(0,1fr);
    padding: 9px;
  }
  .sf-community-avatar-2116 img {
    width: 30px;
    height: 30px;
  }
  .sf-community-comment-text-2116 {
    font-size: 12.5px;
  }
  .sf-community-replies-2116 {
    margin-left: 2px;
    padding-left: 3px;
  }
  .sf-community-replies-2116 .sf-community-comment-2116 {
    grid-template-columns: 28px minmax(0,1fr);
  }
  .sf-community-replies-2116 .sf-community-avatar-2116 img {
    width: 28px;
    height: 28px;
  }

  /* Fuhrpark */
  .fleet-switcher {
    grid-template-columns: 1fr;
  }
  .tractor-grid,
  .full-tractor-grid {
    grid-auto-rows: minmax(300px, 74vw);
  }

  /* Kontakt/Verknüpfungen */
  .sf2121-home-connect {
    grid-template-columns: 1fr;
  }
  .sf2121-home-connect a {
    border-right: 0 !important;
  }

  /* Footer */
  .footer-brand {
    align-items: flex-start;
  }
}

/* ---------- 6. Kleine Smartphones ---------- */
@media (max-width: 420px) {
  .announcement {
    padding-left: 10px;
    padding-right: 10px;
  }
  .site-header {
    padding-left: 12px;
    padding-right: 12px;
  }
  .brand-mark,
  .brand-mark img {
    max-width: 44px;
  }

  .hero h1 {
    font-size: clamp(38px, 12.5vw, 49px);
  }
  .hero-stats {
    grid-template-columns: 1fr;
  }
  .hero-stats div:last-child {
    grid-column: auto;
  }

  .sf2120-hero {
    padding: 38px 12px;
  }
  .sf2120-hero-copy h1 {
    font-size: clamp(36px, 11vw, 46px);
  }

  .sf2120-forum-stats,
  .sf-community-stats-2116 {
    grid-template-columns: 1fr;
  }
  .sf2120-forum-stats div,
  .sf-community-stats-2116 > div {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(213,166,53,.35);
  }
  .sf2120-forum-stats div:last-child,
  .sf-community-stats-2116 > div:last-child {
    border-bottom: 0;
  }

  .sf2120-news-card.is-large .sf2120-news-image,
  .sf2120-news-image {
    height: 220px;
  }
  .sf2120-news-copy,
  .sf2120-news-card.is-large .sf2120-news-copy {
    padding: 13px;
  }
  .sf2120-news-copy h2,
  .sf2120-news-card.is-large .sf2120-news-copy h2 {
    font-size: clamp(21px, 7.3vw, 27px);
  }

  .sf2120-topic-detail,
  .sf2120-forum-replies,
  .sf2120-forum-reply-form,
  .sf2120-topic-composer,
  .sf2120-topic-list {
    padding: 11px;
  }

  .sf2120-forum-reply,
  .sf-community-comment-2116 {
    display: block;
  }
  .sf2120-forum-avatar,
  .sf-community-avatar-2116 {
    margin-bottom: 7px;
  }

  .sf-community-reactions-2116,
  .sf-community-comment-actions-2116,
  .sf2120-forum-reply footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .sf-community-reaction-2116,
  .sf-community-comment-actions-2116 > .comment-reply-link,
  .sf2120-forum-reply footer button {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .vehicle-group-badge {
    left: 10px;
    right: 10px;
    top: 10px;
    max-width: none;
  }

  .event-calendar {
    min-width: 620px;
  }

  .sf2120-partner-detail-logo {
    height: 160px;
  }

  .sf-submission-public-intro li {
    grid-template-columns: 30px 1fr;
    padding: 14px;
  }
}

/* ---------- 7. Sehr schmale Geräte ---------- */
@media (max-width: 360px) {
  .brand small {
    letter-spacing: .1em;
  }
  .hero h1,
  .sf2120-hero-copy h1,
  .page-hero h1,
  .vehicle-hero-copy h1,
  .article-page header h1 {
    hyphens: auto;
    overflow-wrap: anywhere;
  }

  .sf-community-reactions-2116,
  .sf-community-comment-actions-2116,
  .sf2120-forum-reply footer {
    grid-template-columns: 1fr;
  }

  .sf2120-news-type {
    font-size: 7px;
  }
}

/* ---------- 8. Querformat auf Handy ---------- */
@media (max-height: 520px) and (orientation: landscape) and (max-width: 950px) {
  .mobile-menu nav {
    max-height: calc(100dvh - 72px);
  }
  .hero-copy {
    min-height: auto;
    padding-top: 38px;
    padding-bottom: 28px;
  }
  .hero-visual {
    min-height: 300px;
  }
  .sf2120-hero {
    min-height: auto;
    padding-top: 34px;
    padding-bottom: 34px;
  }
}

/* ---------- 9. Nutzer mit reduzierter Bewegung ---------- */
@media (prefers-reduced-motion: reduce) {
  .sf2120-news-card,
  .sf2120-category-grid a,
  .sf2121-home-connect a,
  .tractor-card img,
  .news-feature img {
    transition: none !important;
    transform: none !important;
  }
}
