/* ==========================================================================
   Schlepperfreunde Schwitten – Version 3.0.10
   NUR HANDY + TABLET (max. 1150px)
   Screenshot-basierter Feinschliff – Desktop bleibt unverändert.
   ========================================================================== */

@media screen and (max-width: 1150px) {

  /* ------------------------------------------------------------------------
     01. Genereller Mobile-/Tablet-Schutz
     ------------------------------------------------------------------------ */
  .sf-quality-2147 main,
  .sf-quality-2147 main > section,
  .sf-quality-2147 main > article {
    max-width: 100%;
    overflow-x: clip;
  }

  .sf-quality-2147 :is(
    h1,h2,h3,h4,p,strong,small,span,label,a,button,
    .sf2120-hero-copy,
    .sf2120-news-copy,
    .sf-community-comment-body-2116
  ) {
    min-width: 0;
  }

  /* ------------------------------------------------------------------------
     02. Impressum – Hinweis zur ehemaligen OS-Plattform kompakter
     Screenshot: großer gelber Block kurz vor Footer.
     ------------------------------------------------------------------------ */
  .sf-quality-2147 .sf-imprint-side-2123 section.is-note {
    min-height: 0 !important;
    padding: 22px 24px !important;
  }

  .sf-quality-2147 .sf-imprint-side-2123 section.is-note strong {
    display: block;
    margin: 0 0 10px !important;
    font-size: 20px !important;
    line-height: 1.28 !important;
  }

  .sf-quality-2147 .sf-imprint-side-2123 section.is-note p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  /* ------------------------------------------------------------------------
     03. Native Datei-Uploads – keine riesigen leeren weißen Felder
     Gastfahrzeug + Kontakt.
     ------------------------------------------------------------------------ */
  .sf-quality-2147 :is(
    .sf-guest-submission-form input[type="file"],
    .sf2120-contact-form input[type="file"]
  ) {
    width: 100% !important;
    min-height: 54px !important;
    height: auto !important;
    padding: 8px 10px !important;
    display: block !important;
    border: 1px solid #d2c8b5 !important;
    border-radius: 3px !important;
    background: #fffdf8 !important;
    color: #263b31 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    overflow: hidden;
  }

  .sf-quality-2147 :is(
    .sf-guest-submission-form input[type="file"],
    .sf2120-contact-form input[type="file"]
  )::file-selector-button {
    min-height: 38px;
    margin: 0 10px 0 0;
    padding: 0 13px;
    border: 1px solid #8c938e;
    border-radius: 3px;
    background: #f1f1ef;
    color: #1f3028;
    font: 700 14px/1 Arial,sans-serif;
    cursor: pointer;
  }

  /* ------------------------------------------------------------------------
     04. Gastfahrzeug – technische Daten / Geschichte
     Label darf nicht mehr auf das vorherige Feld rutschen.
     ------------------------------------------------------------------------ */
  .sf-quality-2147 .sf-guest-submission-form fieldset {
    overflow: visible !important;
  }

  .sf-quality-2147 .sf-guest-submission-form fieldset > p {
    margin-top: 22px !important;
  }

  .sf-quality-2147 .sf-guest-submission-form fieldset > .form-grid + p {
    padding-top: 8px !important;
  }

  .sf-quality-2147 .sf-guest-submission-form label[for="sf-submission-story"] {
    margin: 0 0 10px !important;
    position: static !important;
  }

  .sf-quality-2147 #sf-submission-story {
    min-height: 185px !important;
    margin-top: 0 !important;
    padding: 16px !important;
  }

  .sf-quality-2147 #sf-submission-story::placeholder {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  /* Bilder-Bereich klarer und kompakter. */
  .sf-quality-2147 .sf-guest-submission-form fieldset:has(#sf-submission-images) {
    padding-bottom: 28px !important;
  }

  .sf-quality-2147 .sf-guest-submission-form label[for="sf-submission-images"] {
    margin-bottom: 10px !important;
  }

  .sf-quality-2147 #sf-submission-images + small {
    margin-top: 11px !important;
  }

  /* ------------------------------------------------------------------------
     05. Kontaktformular – Datei + Datenschutzhaken
     ------------------------------------------------------------------------ */
  .sf-quality-2147 .sf2120-contact-form p:has(#contact_file) {
    display: grid;
    gap: 10px;
  }

  .sf-quality-2147 .sf2120-contact-form label[for="contact_file"] {
    margin-bottom: 0 !important;
  }

  .sf-quality-2147 .sf2120-contact-form label[for="contact_file"] small {
    display: block !important;
    margin-top: 6px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .sf-quality-2147 .sf2120-privacy-check {
    width: 100%;
    min-height: 0 !important;
    padding: 15px !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0,1fr) !important;
    gap: 12px !important;
    align-items: start !important;
    box-sizing: border-box;
  }

  .sf-quality-2147 .sf2120-privacy-check input[type="checkbox"] {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin: 2px 0 0 !important;
    appearance: auto !important;
    accent-color: #c99a30;
  }

  .sf-quality-2147 .sf2120-privacy-check span {
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
  }

  /* ------------------------------------------------------------------------
     06. Partner / Forum Hero-Art – große tote Leerflächen entfernen
     ------------------------------------------------------------------------ */
  .sf-quality-2147 :is(
    .sf2120-forum-hero-art,
    .sf2120-partner-hero-art
  ) {
    width: 100%;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 30px 22px !important;
    display: grid !important;
    place-content: center !important;
    gap: 9px !important;
    box-sizing: border-box;
  }

  .sf-quality-2147 :is(
    .sf2120-forum-hero-art,
    .sf2120-partner-hero-art
  ) span {
    font-size: 42px !important;
    line-height: 1 !important;
  }

  .sf-quality-2147 :is(
    .sf2120-forum-hero-art,
    .sf2120-partner-hero-art
  ) strong {
    margin: 0 !important;
    font-size: 25px !important;
    line-height: 1.18 !important;
  }

  .sf-quality-2147 .sf2120-forum-hero-art em {
    margin: 2px 0 0 !important;
    font-size: 38px !important;
  }

  /* ------------------------------------------------------------------------
     07. Forum-Zitat – weniger riesig, bleibt als Abschlusskarte erkennbar
     ------------------------------------------------------------------------ */
  .sf-quality-2147 .sf2120-forum-quote {
    min-height: 0 !important;
    padding: 26px 24px !important;
  }

  .sf-quality-2147 .sf2120-forum-quote strong {
    max-width: 620px;
    margin: 0 auto;
    font-size: clamp(23px,4vw,31px) !important;
    line-height: 1.32 !important;
  }

  /* ------------------------------------------------------------------------
     08. Gästebuch – Reaktionen + Antworten ausgewogen statt gequetscht
     ------------------------------------------------------------------------ */
  .sf-quality-2147 .sf-community-comment-actions-2116 {
    width: 100%;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 9px !important;
    align-items: stretch !important;
  }

  .sf-quality-2147 .sf-community-reactions-2116 {
    grid-column: 1 / -1;
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  .sf-quality-2147 .sf-community-reaction-2116 {
    width: 100%;
    min-width: 0;
    min-height: 48px !important;
    padding: 8px 7px !important;
    justify-content: center !important;
    text-align: center;
  }

  .sf-quality-2147 .sf-community-reaction-2116 b {
    min-width: 0;
    font-size: 12px !important;
    line-height: 1.2 !important;
    overflow-wrap: normal;
  }

  .sf-quality-2147 .sf-community-comment-actions-2116 > .comment-reply-link {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 48px !important;
    justify-content: center !important;
    text-align: center;
  }

  /* ------------------------------------------------------------------------
     09. Gästebuch-Statistik – kompakter als vier riesige vertikale Zeilen
     ------------------------------------------------------------------------ */
  .sf-quality-2147 .sf-community-stats-2116 {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .sf-quality-2147 .sf-community-stats-2116 > div {
    min-height: 92px !important;
    padding: 15px 14px !important;
    grid-template-columns: 30px minmax(0,1fr) !important;
    column-gap: 10px !important;
  }

  .sf-quality-2147 .sf-community-stats-2116 > div:nth-child(2n) {
    border-right: 0 !important;
  }

  .sf-quality-2147 .sf-community-stats-2116 > div:nth-child(-n+2) {
    border-bottom: 1px solid rgba(216,166,50,.5) !important;
  }

  .sf-quality-2147 .sf-community-stats-2116 span {
    font-size: 23px !important;
  }

  .sf-quality-2147 .sf-community-stats-2116 strong {
    font-size: 24px !important;
  }

  .sf-quality-2147 .sf-community-stats-2116 small {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  /* ------------------------------------------------------------------------
     10. Einzelbeitrag – Titel / Kategorie / Meta dürfen nicht kollidieren
     Screenshot: Treckertreffen 2025.
     ------------------------------------------------------------------------ */
  .sf-quality-2147 .article-page {
    padding-top: 48px !important;
  }

  .sf-quality-2147 .article-page > header {
    display: block !important;
    padding-bottom: 20px !important;
  }

  .sf-quality-2147 .article-page > header > :first-child {
    margin-bottom: 18px !important;
  }

  .sf-quality-2147 .article-page header h1 {
    max-width: 100%;
    margin: 0 !important;
    font-size: clamp(44px,8vw,66px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.035em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .sf-quality-2147 .sf2120-article-type {
    margin: 18px auto 20px !important;
    padding: 12px 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  .sf-quality-2147 .sf2120-article-type span,
  .sf-quality-2147 .sf2120-article-type small {
    display: block;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  /* ------------------------------------------------------------------------
     11. Fahrzeug-CTA – Kicker und Überschrift sauber getrennt
     ------------------------------------------------------------------------ */
  .sf-quality-2147 .sf-community-cta-2116 {
    text-align: center;
  }

  .sf-quality-2147 .sf-community-cta-2116 > div {
    display: grid !important;
    justify-items: center;
    gap: 7px !important;
  }

  .sf-quality-2147 .sf-community-cta-2116 span {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .sf-quality-2147 .sf-community-cta-2116 strong {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    font-size: clamp(27px,5vw,36px) !important;
    line-height: 1.15 !important;
  }

  .sf-quality-2147 .sf-community-cta-2116 p {
    margin-top: 8px !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  /* ------------------------------------------------------------------------
     12. Fuhrpark-Karten – Favorit/Vergleich nicht mehr als hoher Button-Turm
     Auf Tablet/Handy nebeneinander oben rechts.
     ------------------------------------------------------------------------ */
  .sf-quality-2147 .tractor-card :is(
    .vehicle-favorite-button,
    .vehicle-compare-button
  ) {
    top: 13px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .sf-quality-2147 .tractor-card .vehicle-compare-button {
    right: 13px !important;
  }

  .sf-quality-2147 .tractor-card .vehicle-favorite-button {
    right: 64px !important;
  }

  /* ------------------------------------------------------------------------
     13. Startseiten-Aktuelles-Liste – Datum und Titel nicht überlagern
     ------------------------------------------------------------------------ */
  .sf-quality-2147 .news-list > a {
    min-height: 0 !important;
    padding: 22px 0 !important;
    display: grid !important;
    grid-template-columns: 92px minmax(0,1fr) !important;
    grid-template-rows: auto !important;
    gap: 16px !important;
    align-items: start !important;
  }

  .sf-quality-2147 .news-date {
    width: 92px;
    display: grid !important;
    grid-template-columns: 50px 1fr !important;
    gap: 7px !important;
    align-items: center !important;
  }

  .sf-quality-2147 .news-date strong {
    font-size: 40px !important;
    line-height: 1 !important;
  }

  .sf-quality-2147 .news-date small {
    font-size: 10px !important;
    line-height: 1.3 !important;
  }

  .sf-quality-2147 .news-title {
    min-width: 0;
    display: block !important;
  }

  .sf-quality-2147 .news-title > small {
    display: block;
    margin-bottom: 7px;
    font-size: 11px !important;
  }

  .sf-quality-2147 .news-title > strong {
    display: block;
    font-size: clamp(24px,4vw,31px) !important;
    line-height: 1.15 !important;
    overflow-wrap: break-word;
  }

  .sf-quality-2147 .news-title > em {
    display: none !important;
  }

  .sf-quality-2147 .news-list .round-arrow {
    display: none !important;
  }

  /* ------------------------------------------------------------------------
     14. Startseite – Werte + Rundsiegel kompakter / zusammengehörig
     ------------------------------------------------------------------------ */
  .sf-quality-2147 .hero .year-stamp {
    position: relative !important;
    inset: auto !important;
    width: 126px !important;
    height: 126px !important;
    margin: 28px auto 22px !important;
    padding: 20px 13px !important;
    transform: rotate(4deg) !important;
  }

  .sf-quality-2147 .hero .year-stamp strong {
    font-size: 22px !important;
  }

  .sf-quality-2147 .hero .year-stamp span {
    font-size: 9px !important;
    line-height: 1.35 !important;
  }

  .sf-quality-2147 .hero-stats {
    gap: 0 !important;
  }

  .sf-quality-2147 .hero-stats > div {
    min-height: 86px !important;
    padding: 15px 12px !important;
  }

  /* ------------------------------------------------------------------------
     15. Allgemeine Cards auf Partner/Forum: unnötige Innenhöhe vermeiden
     ------------------------------------------------------------------------ */
  .sf-quality-2147 :is(
    .sf2120-partner-hero,
    .sf2120-forum-hero
  ) {
    gap: 24px !important;
  }
}

/* ==========================================================================
   TABLET SPEZIFISCH – 701 bis 1150
   ========================================================================== */
@media screen and (min-width: 701px) and (max-width: 1150px) {

  .sf-quality-2147 .sf2120-imprint-layout-2123 {
    gap: 18px !important;
  }

  .sf-quality-2147 :is(
    .sf2120-forum-hero-art,
    .sf2120-partner-hero-art
  ) {
    min-height: 210px !important;
    padding: 34px 26px !important;
  }

  .sf-quality-2147 .sf-community-comment-actions-2116 {
    grid-template-columns: minmax(0,1fr) 180px !important;
  }

  .sf-quality-2147 .sf-community-reactions-2116 {
    grid-column: 1 !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }

  .sf-quality-2147 .sf-community-comment-actions-2116 > .comment-reply-link {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .sf-quality-2147 .news-list > a {
    grid-template-columns: 104px minmax(0,1fr) 42px !important;
    gap: 18px !important;
  }

  .sf-quality-2147 .news-list .round-arrow {
    display: grid !important;
  }

  .sf-quality-2147 .news-title > em {
    display: block !important;
    margin-top: 7px;
  }

  .sf-quality-2147 .hero-stats {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}

/* ==========================================================================
   SMARTPHONE SPEZIFISCH – bis 700
   ========================================================================== */
@media screen and (max-width: 700px) {

  /* Impressum */
  .sf-quality-2147 .sf-imprint-side-2123 section.is-note {
    padding: 20px 18px !important;
  }

  .sf-quality-2147 .sf-imprint-side-2123 section.is-note strong {
    font-size: 19px !important;
  }

  /* Guest vehicle */
  .sf-quality-2147 .sf-guest-submission-form fieldset > p {
    margin-top: 18px !important;
  }

  .sf-quality-2147 #sf-submission-story {
    min-height: 175px !important;
  }

  /* Partner / Forum art */
  .sf-quality-2147 :is(
    .sf2120-forum-hero-art,
    .sf2120-partner-hero-art
  ) {
    padding: 24px 18px !important;
  }

  .sf-quality-2147 :is(
    .sf2120-forum-hero-art,
    .sf2120-partner-hero-art
  ) span {
    font-size: 36px !important;
  }

  .sf-quality-2147 :is(
    .sf2120-forum-hero-art,
    .sf2120-partner-hero-art
  ) strong {
    font-size: 23px !important;
  }

  /* Forum quote */
  .sf-quality-2147 .sf2120-forum-quote {
    padding: 24px 18px !important;
  }

  .sf-quality-2147 .sf2120-forum-quote strong {
    font-size: 24px !important;
  }

  /* Gästebuch reactions: 2 + 1 layout looks calmer on narrow phones */
  .sf-quality-2147 .sf-community-reactions-2116 {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .sf-quality-2147 .sf-community-reaction-2116:last-child {
    grid-column: 1 / -1;
  }

  /* Gästebuch stats: 2x2 */
  .sf-quality-2147 .sf-community-stats-2116 {
    width: 100%;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .sf-quality-2147 .sf-community-stats-2116 > div {
    min-height: 88px !important;
    padding: 13px 11px !important;
  }

  /* Article title */
  .sf-quality-2147 .article-page {
    padding-top: 40px !important;
  }

  .sf-quality-2147 .article-page header h1 {
    font-size: clamp(43px,12vw,58px) !important;
  }

  /* Vehicle CTA */
  .sf-quality-2147 .sf-community-cta-2116 {
    padding: 22px 16px !important;
  }

  .sf-quality-2147 .sf-community-cta-2116 strong {
    font-size: 29px !important;
  }

  /* Vehicle cards */
  .sf-quality-2147 .tractor-card :is(
    .vehicle-favorite-button,
    .vehicle-compare-button
  ) {
    top: 11px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
  }

  .sf-quality-2147 .tractor-card .vehicle-compare-button {
    right: 11px !important;
  }

  .sf-quality-2147 .tractor-card .vehicle-favorite-button {
    right: 60px !important;
  }

  /* Aktuelles list */
  .sf-quality-2147 .news-list > a {
    grid-template-columns: 86px minmax(0,1fr) !important;
    gap: 14px !important;
  }

  .sf-quality-2147 .news-date {
    width: 86px;
    grid-template-columns: 47px 1fr !important;
  }

  .sf-quality-2147 .news-date strong {
    font-size: 38px !important;
  }

  .sf-quality-2147 .news-title > strong {
    font-size: 25px !important;
  }

  /* Home hero: Stats und Siegel bewusst kompakt */
  .sf-quality-2147 .hero-stats {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    width: 100%;
  }

  .sf-quality-2147 .hero-stats > div {
    min-width: 0;
    min-height: 82px !important;
    padding: 12px 7px !important;
  }

  .sf-quality-2147 .hero-stats strong {
    font-size: 24px !important;
  }

  .sf-quality-2147 .hero-stats span {
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    letter-spacing: .045em !important;
  }

  .sf-quality-2147 .hero .year-stamp {
    width: 116px !important;
    height: 116px !important;
    margin: 20px auto 18px !important;
    padding: 18px 11px !important;
  }

  .sf-quality-2147 .hero .year-stamp strong {
    font-size: 20px !important;
  }

  .sf-quality-2147 .hero .year-stamp span {
    font-size: 8.5px !important;
    letter-spacing: .11em !important;
  }
}

/* Very narrow phones */
@media screen and (max-width: 390px) {
  .sf-quality-2147 .sf-community-reactions-2116 {
    grid-template-columns: 1fr !important;
  }

  .sf-quality-2147 .sf-community-reaction-2116:last-child {
    grid-column: auto;
  }

  .sf-quality-2147 .hero-stats {
    grid-template-columns: 1fr !important;
  }

  .sf-quality-2147 .hero-stats > div {
    min-height: 68px !important;
  }

  .sf-quality-2147 .news-list > a {
    grid-template-columns: 78px minmax(0,1fr) !important;
  }

  .sf-quality-2147 .news-date {
    width: 78px;
    grid-template-columns: 42px 1fr !important;
  }

  .sf-quality-2147 .news-date strong {
    font-size: 34px !important;
  }

  .sf-quality-2147 .news-title > strong {
    font-size: 22px !important;
  }
}
