/* ==========================================================================
   Schlepperfreunde Schwitten – Version 2.14.5
   Lesbarkeit für Desktop, Tablet und Smartphone
   Keine neuen Funktionen.
   ========================================================================== */

.sf-readability-2145 {
  --sf-r-text: #24382f;
  --sf-r-muted: #52645b;
  --sf-r-muted-dark: rgba(255,255,255,.82);
  --sf-r-label: #4f6258;
  --sf-r-label-dark: rgba(255,255,255,.88);
  --sf-r-helper: #5f7167;
  --sf-r-helper-dark: rgba(255,255,255,.78);
  --sf-r-field-gap: 11px;
  --sf-r-row-gap: 24px;
}

/* --------------------------------------------------------------------------
   A. ALLGEMEINE LESBARKEIT
   Kleine Meta-/Hilfstexte werden nicht mehr mit 7–10 px dargestellt.
   -------------------------------------------------------------------------- */
.sf-readability-2145 :is(
  .announcement,
  .brand small,
  .footer-brand small,
  .site-footer nav,
  .hero-caption span,
  .hero-caption small,
  .hero-stats span,
  .year-stamp span,
  .home-event-label span,
  .home-event-label small,
  .home-event-facts small,
  .status-badge,
  .tractor-info small,
  .tractor-info em,
  .fleet-filter label span,
  .fleet-filter-result,
  .archive-card-meta,
  .archive-card-link,
  .detail-specs dt,
  .vehicle-maintenance-list span,
  .vehicle-gallery-controls span,
  .vehicle-gallery-link span,
  .vehicle-gallery-dialog figcaption,
  .source-note a,
  .next-item small,
  .event-detail-grid span,
  .event-calendar-header nav a,
  .event-calendar-header nav strong,
  .event-calendar-years > span,
  .event-calendar-weekday,
  .event-calendar-day a small,
  .event-calendar-day a .event-calendar-type,
  .event-calendar-legend li,
  .about-welcome figcaption,
  .guest-meta,
  .forum-groups li small,
  .partner-grid em,
  .legal-date,
  .search-result-body small,
  .comment-meta,
  .sf-comparison-dock-heading span,
  .sf-comparison-table-wrap tbody th span,
  .sf-comparison-mobile-row h3,
  .sf2120-news-type,
  .vehicle-group-badge,
  .vehicle-group-card dt
) {
  font-size: 12px !important;
  line-height: 1.45 !important;
  letter-spacing: .055em !important;
}

.sf-readability-2145 :is(.eyebrow,.section-kicker,.sf2120-kicker) {
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: .11em !important;
}

.sf-readability-2145 :is(
  .values-grid p,
  .source-note p,
  .event-calendar-legend,
  .guestbook-cta > p:not(.section-kicker),
  .sf2121-contact-crosslinks p,
  .sf2120-vehicle-contact p
) {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.sf-readability-2145 .values-grid span {
  font-size: 14px !important;
}

/* Small helper text anywhere in content should remain readable. */
.sf-readability-2145 main small:not(
  .sf2120-news-type *,
  .status-badge *,
  .vehicle-group-badge *
) {
  line-height: 1.5;
}

/* More contrast on dark green surfaces. */
.sf-readability-2145 :is(
  .hero-lead,
  .section-heading > p,
  .guestbook-cta > p,
  .event-registration-form label,
  .event-registration-deadline,
  .sf-submission-final-note,
  .sf-guest-submission-form small,
  .sf-guest-submission-form label,
  .sf2120-vehicle-contact p
) {
  color: var(--sf-r-muted-dark) !important;
}

/* --------------------------------------------------------------------------
   B. HOME/KONTAKT-SCHNELLZUGRIFFE
   Der Bereich aus dem Screenshot bleibt garantiert als Kartenraster erhalten,
   selbst wenn ein älteres Feature-Stylesheet nicht greifen sollte.
   -------------------------------------------------------------------------- */
.sf-readability-2145 .sf2121-home-contact {
  text-align: center;
}

.sf-readability-2145 .sf2121-home-contact > p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.sf-readability-2145 .sf2121-home-connect {
  width: min(1240px, calc(100% - 44px)) !important;
  margin: 34px auto 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 0 !important;
  border: 1px solid rgba(215,171,67,.55) !important;
  background: rgba(6,35,25,.42) !important;
}

.sf-readability-2145 .sf2121-home-connect a {
  min-width: 0;
  min-height: 126px !important;
  padding: 22px 20px !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 12px !important;
  row-gap: 6px !important;
  align-content: center !important;
  text-align: left !important;
  border-right: 1px solid rgba(215,171,67,.35) !important;
  color: #fff !important;
}

.sf-readability-2145 .sf2121-home-connect a:last-child {
  border-right: 0 !important;
}

.sf-readability-2145 .sf2121-home-connect a > span {
  grid-row: 1 / 3 !important;
  align-self: center;
  font-size: 26px !important;
}

.sf-readability-2145 .sf2121-home-connect strong {
  min-width: 0;
  font: 700 18px/1.25 Georgia,serif !important;
  color: #fff;
  overflow-wrap: break-word;
}

.sf-readability-2145 .sf2121-home-connect small {
  margin: 0 !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  overflow-wrap: break-word;
}

/* --------------------------------------------------------------------------
   C. FORMULARSYSTEM – ABSTÄNDE, LABELS, HILFSTEXTE, KEINE ÜBERLAPPUNGEN
   -------------------------------------------------------------------------- */
.sf-readability-2145 :is(
  .sf2120-contact-form,
  .sf2120-forum-form,
  .sf2120-forum-reply-form,
  .sf-guest-submission-form,
  .event-registration-form,
  .sf-community-form-2116,
  .sf-community-composer-card-2116 .comment-form
) {
  font-size: 16px;
}

.sf-readability-2145 :is(
  .sf2120-contact-form,
  .sf2120-forum-form,
  .sf2120-forum-reply-form,
  .sf-guest-submission-form,
  .event-registration-form,
  .sf-community-form-2116,
  .sf-community-composer-card-2116 .comment-form
) :is(p,.sf2120-field,.form-field) {
  min-width: 0;
}

.sf-readability-2145 :is(
  .sf2120-contact-form,
  .sf2120-forum-form,
  .sf2120-forum-reply-form,
  .sf-guest-submission-form,
  .event-registration-form,
  .sf-community-form-2116,
  .sf-community-composer-card-2116 .comment-form
) label {
  display: block;
  margin: 0 0 var(--sf-r-field-gap) !important;
  color: var(--sf-r-label) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.45 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  overflow-wrap: break-word;
}

.sf-readability-2145 :is(
  .sf-guest-submission-form,
  .event-registration-form,
  .comment-form
) label {
  color: var(--sf-r-label-dark) !important;
}

.sf-readability-2145 :is(
  .sf2120-contact-form,
  .sf2120-forum-form,
  .sf2120-forum-reply-form,
  .sf-guest-submission-form,
  .event-registration-form,
  .sf-community-form-2116,
  .sf-community-composer-card-2116 .comment-form,
  .fleet-filter,
  .fleet-filter-advanced,
  .sf2120-news-filter,
  .sf2120-partner-filter,
  .site-search-form,
  .search-page-form
) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select) {
  min-height: 58px !important;
  padding: 0 16px !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
}

.sf-readability-2145 :is(
  .sf2120-contact-form,
  .sf2120-forum-form,
  .sf2120-forum-reply-form,
  .sf-guest-submission-form,
  .event-registration-form,
  .sf-community-form-2116,
  .sf-community-composer-card-2116 .comment-form
) textarea {
  min-height: 170px !important;
  padding: 15px 16px !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.sf-readability-2145 :is(
  .sf2120-contact-form,
  .sf2120-forum-form,
  .sf2120-forum-reply-form,
  .sf-guest-submission-form,
  .event-registration-form,
  .sf-community-form-2116,
  .sf-community-composer-card-2116 .comment-form
) :is(small,.description,.field-help,.form-help) {
  display: block;
  margin-top: 10px !important;
  color: var(--sf-r-helper) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.sf-readability-2145 :is(
  .sf-guest-submission-form,
  .event-registration-form,
  .comment-form
) :is(small,.description,.field-help,.form-help) {
  color: var(--sf-r-helper-dark) !important;
}

/* Form grids: enough room between text and controls. */
.sf-readability-2145 :is(
  .sf-guest-submission-form .form-grid,
  .sf2120-contact-form .sf2120-form-row,
  .sf2120-forum-form .sf2120-form-row,
  .sf2120-forum-reply-form .sf2120-form-row,
  .event-registration-form .form-grid,
  .sf-community-field-row-2116
) {
  column-gap: 28px !important;
  row-gap: var(--sf-r-row-gap) !important;
  align-items: start !important;
}

/* --------------------------------------------------------------------------
   D. GASTFAHRZEUG-FORMULAR – gezielt aus den Screenshots
   -------------------------------------------------------------------------- */
.sf-readability-2145 .sf-submission-page {
  padding-top: clamp(48px,6vw,78px);
  padding-bottom: clamp(54px,7vw,90px);
}

.sf-readability-2145 .sf-submission-public-intro,
.sf-readability-2145 .sf-guest-submission-form {
  width: min(1500px, 100%);
  margin-left: auto;
  margin-right: auto;
}

.sf-readability-2145 .sf-guest-submission-form {
  padding: clamp(34px,4vw,58px) !important;
  gap: 40px !important;
}

.sf-readability-2145 .sf-guest-submission-form fieldset {
  margin: 0 !important;
  padding: 0 0 36px !important;
}

.sf-readability-2145 .sf-guest-submission-form legend {
  margin: 0 0 28px !important;
  color: #e2b84c !important;
  font: 700 27px/1.2 Georgia,serif !important;
}

.sf-readability-2145 .sf-guest-submission-form legend span,
.sf-readability-2145 .sf-guest-submission-form label span {
  color: rgba(255,255,255,.80) !important;
  font-size: .82em !important;
}

.sf-readability-2145 .sf-guest-submission-form .form-grid > p,
.sf-readability-2145 .sf-guest-submission-form fieldset > p {
  display: grid;
  align-content: start;
  gap: 0;
  margin: 0 !important;
}

.sf-readability-2145 .sf-guest-submission-form input:not([type="checkbox"]),
.sf-readability-2145 .sf-guest-submission-form select,
.sf-readability-2145 .sf-guest-submission-form textarea {
  border-color: rgba(255,255,255,.42) !important;
  background: #fffdf8 !important;
  color: #20362c !important;
}

.sf-readability-2145 .sf-guest-submission-form input::placeholder,
.sf-readability-2145 .sf-guest-submission-form textarea::placeholder {
  color: #718078 !important;
  opacity: 1;
}

.sf-readability-2145 .sf-guest-submission-form input[type="file"] {
  min-height: 64px !important;
  padding: 13px 14px !important;
  display: flex;
  align-items: center;
  color: #20362c !important;
}

.sf-readability-2145 .sf-guest-submission-form small {
  margin-top: 11px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.sf-readability-2145 .sf-submission-consents {
  display: grid;
  gap: 16px !important;
}

.sf-readability-2145 .sf-submission-consents label {
  min-height: 54px;
  margin: 0 !important;
  padding: 12px 14px;
  display: grid !important;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: start;
  gap: 13px !important;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.90) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.sf-readability-2145 .sf-submission-consents input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  margin: 1px 0 0 !important;
}

.sf-readability-2145 .sf-submission-consents a {
  color: #efca69 !important;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sf-readability-2145 .sf-guest-submission-form > .button {
  min-height: 58px !important;
  padding: 0 25px !important;
  font-size: 12px !important;
}

.sf-readability-2145 .sf-submission-final-note {
  max-width: 900px;
  margin: -8px 0 0 !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* --------------------------------------------------------------------------
   E. COMMUNITY / GÄSTEBUCH / FORUM
   -------------------------------------------------------------------------- */
.sf-readability-2145 .sf-community-cta-2116 span,
.sf-readability-2145 .sf-community-feed-head-2116 span {
  font-size: 11px !important;
  line-height: 1.4 !important;
}

.sf-readability-2145 .sf-community-cta-2116 p,
.sf-readability-2145 .sf-community-form-note-2116,
.sf-readability-2145 .sf-community-reference-field > small {
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.sf-readability-2145 .sf-community-form-2116 label,
.sf-readability-2145 .sf-community-reference-field > label {
  font-size: 12px !important;
}

.sf-readability-2145 .sf-community-comment-head-2116 time {
  font-size: 12px !important;
}

.sf-readability-2145 .sf-community-reference-badge-2116 {
  font-size: 11px !important;
}

/* --------------------------------------------------------------------------
   F. KONTAKT / PARTNER / IMPRESSUM / DATENSCHUTZ
   -------------------------------------------------------------------------- */
.sf-readability-2145 .sf2121-contact-crosslinks {
  width: min(1320px, calc(100% - 44px));
}

.sf-readability-2145 .sf2121-contact-crosslinks > header span {
  font-size: 11px !important;
}

.sf-readability-2145 .sf2121-contact-crosslinks p {
  font-size: 14px !important;
}

.sf-readability-2145 .sf2121-contact-crosslinks strong {
  font-size: 17px !important;
}

.sf-readability-2145 .sf2121-contact-crosslinks small,
.sf-readability-2145 .sf2121-contact-crosslinks em {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.sf-readability-2145 .sf-imprint-intro-2123 > div > span,
.sf-readability-2145 .sf-imprint-content-2123 section > span,
.sf-readability-2145 .sf-imprint-side-2123 section > span {
  font-size: 11px !important;
}

.sf-readability-2145 .sf-imprint-nav-2123 a,
.sf-readability-2145 .sf-imprint-provider-2123 small,
.sf-readability-2145 .sf-imprint-provider-2123 em,
.sf-readability-2145 .sf-imprint-data-list-2123 dt,
.sf-readability-2145 .sf-imprint-side-2123 p,
.sf-readability-2145 .sf-imprint-side-2123 a {
  font-size: 13px !important;
  line-height: 1.55 !important;
}

/* --------------------------------------------------------------------------
   G. DESKTOP – 1151px+
   -------------------------------------------------------------------------- */
@media (min-width: 1151px) {
  .sf-readability-2145 .desktop-nav {
    font-size: 14px;
  }

  .sf-readability-2145 .header-cta,
  .sf-readability-2145 .header-search > summary {
    font-size: 12px;
  }

  .sf-readability-2145 .sf-guest-submission-form .form-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .sf-readability-2145 .sf-guest-submission-form label {
    min-height: 19px;
  }
}

/* --------------------------------------------------------------------------
   H. TABLET – eigenständige Anordnung
   -------------------------------------------------------------------------- */
@media (min-width: 701px) and (max-width: 1150px) {
  .sf-readability-2145 {
    --sf-r-field-gap: 10px;
    --sf-r-row-gap: 21px;
  }

  .sf-readability-2145 :is(.eyebrow,.section-kicker,.sf2120-kicker) {
    font-size: 11.5px !important;
  }

  .sf-readability-2145 .sf2121-home-connect {
    width: min(760px, calc(100% - 34px)) !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .sf-readability-2145 .sf2121-home-connect a {
    min-height: 118px !important;
    border-bottom: 1px solid rgba(215,171,67,.35) !important;
  }

  .sf-readability-2145 .sf2121-home-connect a:nth-child(2n) {
    border-right: 0 !important;
  }

  .sf-readability-2145 .sf2121-home-connect a:nth-last-child(-n+2) {
    border-bottom: 0 !important;
  }

  .sf-readability-2145 .sf-guest-submission-form {
    width: min(920px,100%);
    padding: 34px 30px !important;
  }

  /* On normal tablets, one field per row is easier for older users. */
  .sf-readability-2145 .sf-guest-submission-form .form-grid {
    grid-template-columns: 1fr !important;
  }

  .sf-readability-2145 :is(
    .sf2120-contact-form,
    .sf2120-forum-form,
    .sf2120-forum-reply-form,
    .sf-guest-submission-form,
    .event-registration-form
  ) label {
    font-size: 13px !important;
  }

  .sf-readability-2145 :is(
    .sf2120-contact-form,
    .sf2120-forum-form,
    .sf2120-forum-reply-form,
    .sf-guest-submission-form,
    .event-registration-form
  ) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea) {
    font-size: 16px !important;
  }
}

/* --------------------------------------------------------------------------
   I. SMARTPHONE – eigenständige Anordnung
   -------------------------------------------------------------------------- */
@media (max-width: 700px) {
  .sf-readability-2145 {
    --sf-r-field-gap: 9px;
    --sf-r-row-gap: 19px;
  }

  .sf-readability-2145 :is(
    .announcement,
    .brand small,
    .footer-brand small,
    .site-footer nav,
    .hero-caption span,
    .hero-caption small,
    .hero-stats span,
    .year-stamp span,
    .fleet-filter-result,
    .archive-card-meta,
    .detail-specs dt,
    .event-detail-grid span,
    .event-calendar-weekday,
    .guest-meta,
    .legal-date,
    .comment-meta
  ) {
    font-size: 11.5px !important;
    line-height: 1.5 !important;
  }

  .sf-readability-2145 :is(.eyebrow,.section-kicker,.sf2120-kicker) {
    margin-bottom: 16px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    letter-spacing: .085em !important;
  }

  .sf-readability-2145 .sf2121-home-contact > p {
    padding: 0 14px;
    font-size: 15px !important;
  }

  .sf-readability-2145 .sf2121-home-connect {
    width: calc(100% - 20px) !important;
    grid-template-columns: 1fr !important;
  }

  .sf-readability-2145 .sf2121-home-connect a {
    min-height: 92px !important;
    padding: 17px 16px !important;
    grid-template-columns: 34px minmax(0,1fr) !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(215,171,67,.35) !important;
  }

  .sf-readability-2145 .sf2121-home-connect a:last-child {
    border-bottom: 0 !important;
  }

  .sf-readability-2145 .sf2121-home-connect strong {
    font-size: 17px !important;
  }

  .sf-readability-2145 .sf2121-home-connect small {
    font-size: 13.5px !important;
  }

  .sf-readability-2145 .sf-submission-page {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .sf-readability-2145 .sf-guest-submission-form {
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 26px 18px !important;
    gap: 32px !important;
  }

  .sf-readability-2145 .sf-guest-submission-form fieldset {
    padding-bottom: 30px !important;
  }

  .sf-readability-2145 .sf-guest-submission-form legend {
    margin-bottom: 23px !important;
    font-size: 24px !important;
  }

  .sf-readability-2145 .sf-guest-submission-form .form-grid {
    grid-template-columns: 1fr !important;
    gap: 19px !important;
  }

  .sf-readability-2145 :is(
    .sf2120-contact-form,
    .sf2120-forum-form,
    .sf2120-forum-reply-form,
    .sf-guest-submission-form,
    .event-registration-form,
    .sf-community-form-2116,
    .sf-community-composer-card-2116 .comment-form
  ) label {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  .sf-readability-2145 :is(
    .sf2120-contact-form,
    .sf2120-forum-form,
    .sf2120-forum-reply-form,
    .sf-guest-submission-form,
    .event-registration-form,
    .sf-community-form-2116,
    .sf-community-composer-card-2116 .comment-form
  ) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select) {
    min-height: 58px !important;
    font-size: 16px !important;
  }

  .sf-readability-2145 :is(
    .sf2120-contact-form,
    .sf2120-forum-form,
    .sf2120-forum-reply-form,
    .sf-guest-submission-form,
    .event-registration-form,
    .sf-community-form-2116,
    .sf-community-composer-card-2116 .comment-form
  ) :is(small,.description,.field-help,.form-help) {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
  }

  .sf-readability-2145 .sf-submission-consents label {
    min-height: 0;
    padding: 13px 12px;
    font-size: 13.5px !important;
  }

  .sf-readability-2145 .sf-guest-submission-form > .button {
    width: 100% !important;
    min-height: 58px !important;
  }

  .sf-readability-2145 .sf-submission-final-note {
    font-size: 13.5px !important;
  }

  .sf-readability-2145 .sf2121-contact-crosslinks {
    width: calc(100% - 20px);
    padding: 17px !important;
  }

  .sf-readability-2145 .sf2121-contact-crosslinks > div {
    gap: 10px;
  }
}

/* Very narrow phones: no horizontal collision from long labels/links. */
@media (max-width: 390px) {
  .sf-readability-2145 .sf-guest-submission-form {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .sf-readability-2145 .sf-submission-consents label {
    grid-template-columns: 22px minmax(0,1fr);
    gap: 11px !important;
  }

  .sf-readability-2145 :is(input,select,textarea,button,a) {
    max-width: 100%;
  }
}
