/* ==========================================================================
   voziti.eu – Mobil-Optimierung
   ALLE Regeln stehen in Media-Queries für kleine Bildschirme.
   Desktop (ab 900 px Breite) bleibt vollständig unverändert.
   ========================================================================== */

/* Elemente der Mobil-Navigation sind standardmäßig (Desktop) unsichtbar */
.m-burger, .m-plus, .m-filter-toggle { display: none; }

/* ---------- Header / Navigation (Tablet + Handy, < 900 px) ---------- */
@media (max-width: 899px) {
  html, body { overflow-x: hidden; }
  .header { position: sticky; }
  .header .header-inner {
    position: relative;
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
    min-height: 56px;
    height: 56px;
  }
  .header .logo img { height: 30px !important; width: auto !important; max-width: 52vw; }

  /* Menü-Button + kompakter "+"-Button */
  .m-burger, .m-plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border: 1px solid #45454a;
    background: #2c2c2e;
    color: #f0f0f2;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .m-plus {
    margin-left: auto;
    background: #FD5701;
    border-color: #FD5701;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
  }
  .m-burger { flex-direction: column; gap: 5px; padding: 0; }
  .m-burger span {
    display: block; width: 20px; height: 2px; background: currentColor;
    transition: transform .2s, opacity .2s;
  }
  .header.m-open .m-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .header.m-open .m-burger span:nth-child(2) { opacity: 0; }
  .header.m-open .m-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Navigation + Aktionen: ausgeblendet, öffnen sich als Panel */
  .header .header-inner .nav-main,
  .header .header-inner .header-actions { display: none !important; }

  .header.m-open .header-inner {
    flex-wrap: wrap !important;
    height: auto !important;
    max-height: 100vh;
    max-height: 100dvh;
    overflow-y: auto;
    align-content: flex-start;
    padding-top: 6px;
    padding-bottom: 1rem;
  }
  .header.m-open .header-inner .nav-main,
  .header.m-open .header-inner .header-actions {
    display: flex !important;
    order: 20;
    flex: 0 0 100% !important;
    width: 100%;
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .header.m-open .header-inner .nav-main {
    border-top: 1px solid #3a3a3e;
    padding-top: 0.75rem !important;
  }
  .header.m-open .header-inner .header-actions { order: 21; }
  .header.m-open .header-inner .nav-main a {
    display: flex; align-items: center;
    min-height: 44px; padding: 0.6rem 0.85rem;
    font-size: 1rem; background: #2c2c2e; color: #e8e8ea;
  }
  .header.m-open .header-actions > * { width: 100%; order: 0 !important; margin: 0 !important; }
  .header.m-open .header-actions .btn,
  .header.m-open .header-actions a,
  .header.m-open .header-actions button,
  .header.m-open .header-actions select {
    min-height: 44px !important; height: auto !important;
    display: flex !important; align-items: center; justify-content: center;
    font-size: 1rem !important; width: 100%;
    box-sizing: border-box;
  }
  .header.m-open .hdr-user { width: 100%; display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 0.5rem; }
  .header.m-open .hdr-user-menu a, .header.m-open .hdr-user-menu button { width: 100% !important; }
  .header.m-open .hdr-user-btn { pointer-events: none; justify-content: flex-start !important; background: transparent !important; border: 0 !important; }
  .header.m-open .hdr-user-menu,
  .header.m-open .hdr-user-menu[hidden] {
    display: flex !important; position: static !important;
    box-shadow: none !important; border: 0 !important; min-width: 0 !important; background: transparent !important;
    gap: 0.4rem; padding: 0 !important;
  }
  .header.m-open .hdr-user-menu a,
  .header.m-open .hdr-user-menu button {
    justify-content: flex-start !important; background: #2c2c2e !important; padding: 0.6rem 0.85rem !important; border-top: 0 !important;
  }
  .header.m-open .hdr-user-btn > span:first-child { margin-right: .3em; }
  .header.m-open .vl-sw { display: block !important; width: 100%; z-index: auto !important; }
  .header.m-open .vl-list { position: static !important; width: 100%; min-width: 0 !important; box-shadow: none !important; margin-top: .4rem !important; }
  .header.m-open .vl-item { min-height: 44px; font-size: 1rem; }
  html.m-nav-open { overflow: hidden; }

  /* Ungenutztes altes Mobil-Menü nie anzeigen */
  #mobileNav { display: none !important; }
}

/* ---------- Allgemein: Handy (< 768 px) ---------- */
@media (max-width: 767px) {
  /* Nichts darf breiter als der Bildschirm werden */
  img, video, iframe, canvas, table { max-width: 100%; }
  input, select, textarea { max-width: 100%; }
  pre, code { white-space: pre-wrap; word-break: break-word; }
  h1, h2, h3, .vz-title { overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }

  /* iOS-Zoom beim Antippen verhindern: Eingabefelder mind. 16 px */
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),
  select, textarea { font-size: 16px !important; }

  /* Gut antippbare Bedienelemente */
  .btn { min-height: 44px; }
  .btn.btn-sm { min-height: 40px; }
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),
  select { min-height: 44px; }
  input[type=checkbox], input[type=radio] { min-width: 20px; min-height: 20px; }

  /* Zu kleine Hinweistexte */
  small { font-size: 12px !important; }

  /* Seitennummerierung der Suche umbrechen statt aus dem Bild laufen */
  #pagination { flex-wrap: wrap !important; justify-content: center !important; gap: 0.4rem !important; }
  #pagination .btn { min-width: 44px; min-height: 44px; }

  /* Wizard: Raster einspaltig, Felder dürfen schrumpfen */
  .wiz-grid-2, .wiz-grid-3, .wiz-grid-4 { grid-template-columns: minmax(0, 1fr) !important; }
  .wiz-grid-2 > *, .wiz-grid-3 > *, .wiz-grid-4 > *, .wiz-field, .wizard-card form > * { min-width: 0 !important; }
  .wizard-card label { white-space: normal !important; }
  .wizard-card label > span { min-width: 0; overflow-wrap: anywhere; }
  .fit-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
  .fit-row > * { min-width: 0 !important; }
  .fit-remove { min-width: 44px; min-height: 44px; }
  .wizard-card button:not(.btn) { min-height: 40px; }
}

/* ---------- Suche: einklappbare Filter (Handy) ---------- */
@media (max-width: 767px) {
  .filter-sidebar.m-collapsible { padding: 0 !important; }
  .filter-sidebar.m-collapsible > :not(.m-filter-toggle) { display: none !important; }
  .filter-sidebar.m-collapsible.m-expanded { padding: 0 0.8rem 0.9rem !important; }
  .filter-sidebar.m-collapsible.m-expanded > :not(.m-filter-toggle):not(.m-filter-head) { display: block !important; }
  .m-filter-toggle {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; min-height: 48px; padding: 0.7rem 0.9rem;
    background: transparent; border: 0; color: #f0f0f2;
    font: inherit; font-size: 1rem; font-weight: 700; cursor: pointer;
  }
  .filter-sidebar.m-expanded .m-filter-toggle { margin: 0 -0.8rem 0.4rem; width: calc(100% + 1.6rem); border-bottom: 1px solid var(--border, #3a3a3e); }
  .m-filter-toggle .m-caret { transition: transform .2s; }
  .filter-sidebar.m-expanded .m-caret { transform: rotate(180deg); }
}

/* ---------- Anzeigen-Detailseite (Handy): Bilder → Preis/Titel → Anbieter/Kontakt → Beschreibung/Daten → Karte ---------- */
@media (max-width: 767px) {
  .vz-grid { display: flex !important; flex-direction: column !important; gap: 1rem; }
  .vz-grid > .vz-left, .vz-grid > .vz-right { display: contents !important; }
  .vz-grid > .vz-left > * { order: 5; min-width: 0; }
  .vz-grid > .vz-right > * { order: 6; min-width: 0; }
  .vz-grid > .vz-left > .gal-main { order: 1; }
  .vz-grid > .vz-left > .gal-thumbs { order: 2; }
  .vz-grid > .vz-right > .vz-offer { order: 3; }
  .vz-grid > .vz-right > section:has(.seller-inner),
  .vz-grid > .vz-right > section:has(.anbieter-head) { order: 4; }
  .vz-grid > .vz-right > .map-card { order: 7; }
  .gal-thumbs { overflow-x: auto; -webkit-overflow-scrolling: touch; flex-wrap: nowrap !important; }
  .gal-thumb { min-width: 64px; min-height: 44px; flex: 0 0 auto; }
  .seller-actions { display: grid !important; grid-template-columns: 1fr 1fr; gap: .5rem; }
  .seller-actions > * { width: 100% !important; min-height: 44px; }
}

/* ---------- Wizard (Handy) ---------- */
@media (max-width: 767px) {
  /* PKW-Kachel mit Auswahl "Fahrzeug / Ersatzteile" über volle Breite */
  .cat-pick.pkw-expanded { grid-column: 1 / -1 !important; height: auto !important; min-height: 120px; }
  .cat-pick.pkw-expanded .pkw-sub { min-height: 110px; }
  .cat-pick.pkw-expanded .pkw-sub .name { font-size: 0.9rem !important; }
  /* Radio-/Checkbox-Beschriftungen: größere Tippfläche */
  .wizard-card label:has(> input[type=radio]),
  .wizard-card label:has(> input[type=checkbox]) { min-height: 36px; padding-top: 4px; padding-bottom: 4px; align-items: center; }
  /* Weiter/Zurück-Buttons */
  .wizard-nav, .wiz-nav { gap: 0.6rem; }
}

/* ---------- PKW-Wizard: Merkmal-Raster (9 feste Spalten) auf dem Handy umbrechen ---------- */
@media (max-width: 767px) {
  #formFeatures > div[style*="grid-template-columns:11rem"] {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    column-gap: 1rem !important;
    row-gap: 0.35rem !important;
  }
  #formFeatures > div[style*="grid-template-columns:11rem"] > span:empty { display: none !important; }
  #formFeatures > div[style*="grid-template-columns:11rem"] > span[data-i18n] {
    flex: 0 0 100%; margin-top: 0.6rem;
  }
  #formFeatures > div[style*="grid-template-columns:11rem"] > label { min-height: 36px; }
  #formFeatures > div[style*="grid-template-columns:11rem"] > select { flex: 0 0 100%; width: 100% !important; }
  #formFeatures #lkwUniversalFeats .wiz-field.inline-radios, #formFeatures .wiz-field.inline-radios, .wizard-card .wiz-field.inline-radios { flex-direction: row !important; flex-wrap: wrap !important; }
  #formFeatures #lkwUniversalFeats .wiz-field.inline-radios > span, #formFeatures .wiz-field.inline-radios > span, .wizard-card .wiz-field.inline-radios > span { flex: 0 0 100% !important; max-width: 100% !important; min-width: 0 !important; }
  #formFeatures #lkwUniversalFeats .wiz-field.inline-radios > .wiz-radios, #formFeatures .wiz-field.inline-radios > .wiz-radios, .wizard-card .wiz-field.inline-radios > .wiz-radios { flex: 1 1 100% !important; min-width: 0 !important; flex-wrap: wrap !important; }
  .wiz-radios label { min-height: 36px; }
}

/* ---------- Kleinigkeiten (Handy) ---------- */
@media (max-width: 767px) {
  .btn-merken { min-height: 40px; }
  .dash-top-link { min-height: 40px; display: inline-flex !important; align-items: center; }
  .vl-sw .vl-btn { min-height: 40px; }
}

/* ---------- Startseite: Kategorie-Tabs der Suche wischbar statt gequetscht ---------- */
@media (max-width: 767px) {
  .search-tabs { overflow-x: auto !important; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
  .search-tabs .search-tab { flex: 0 0 72px !important; min-width: 72px !important; width: 72px !important; overflow: hidden; scroll-snap-align: start; }
  .search-tabs .search-tab img { width: 100% !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; }
}
@media (max-width: 767px) {
  #searchSubs.search-subs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  #searchSubs .search-sub { min-height: 96px; }
  #searchSubs .search-sub span { overflow-wrap: normal; word-break: normal; -webkit-hyphens: auto; hyphens: auto; font-size: 0.78rem; }
}
@media (max-width: 380px) {
  #searchSubs.search-subs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ---------- Startseite: Suchformular nach Kategorie-Wahl ---------- */
@media (max-width: 767px) {
  #searchPanel .sf-layout { grid-template-columns: minmax(0, 1fr) !important; gap: 0.75rem !important; min-height: 0 !important; }
  #searchPanel .sf-divider { display: none !important; }
  #searchPanel .sf-side { flex-direction: row !important; align-items: center !important; gap: 0.75rem !important; text-align: left !important; }
  #searchPanel .sf-back { width: 44px !important; height: 44px !important; flex: 0 0 44px; align-self: center !important; margin: 0 !important; }
  #searchPanel .sf-side-icon { flex: 0 0 auto !important; min-height: 0 !important; width: auto !important; }
  #searchPanel .sf-side-icon img { width: 64px !important; height: 40px !important; max-width: 64px !important; max-height: 40px !important; }
  #searchPanel .sf-side-name { font-size: 0.95rem !important; width: auto !important; }
  #searchPanel .sf-main { min-width: 0 !important; width: 100%; }
  #searchPanel .sf-grid, .search-panel .sf-grid-alle { grid-template-columns: minmax(0, 1fr) !important; }
  #searchPanel .sf-grid > * { min-width: 0 !important; }
  #searchPanel .sf-actions { flex-wrap: wrap !important; gap: 0.5rem !important; }
  #searchPanel .sf-actions > * { flex: 1 1 auto; min-height: 44px; }
  .search-panel.is-form .search-panel-body { padding: 0.85rem !important; }
}
@media (max-width: 767px) {
  #searchPanel .sf-loc-row { gap: 0.5rem !important; }
  #searchPanel .sf-loc-row input { flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; }
  #searchPanel .sf-loc-row select { flex: 0 0 auto !important; width: auto !important; }
}

/* ==========================================================================
   Handy-Darstellung überarbeitet (18.10.2026)
   Nur < 768 px Breite – Desktop bleibt unverändert.
   Ziel: volle Breite nutzen, nebeneinander statt untereinander, nichts abgeschnitten.
   ========================================================================== */
@media (max-width: 767px) {
  /* ---------- Footer: Linkspalten nebeneinander ---------- */
  .footer-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 1.4rem 1rem !important; }
  .footer-grid > .footer-brand, .footer-grid > :first-child { grid-column: 1 / -1; }
  .footer-col h4 { margin-bottom: 0.55rem !important; }
  .footer-col a { padding: 0.28rem 0 !important; }

  /* ---------- Startseite: Kategorie-Reiter – alle Symbole sichtbar (2 Reihen statt abgeschnitten) ---------- */
  #searchTabs.search-tabs { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); height: auto !important; flex: 0 0 auto !important; overflow: visible !important; }
  #searchTabs .search-tab { height: 46px !important; padding: 5px 3px !important; }
  /* Unterkategorie-Kacheln: Text darf umbrechen statt abgeschnitten zu werden */
  #searchSubs .search-sub img { width: 100% !important; min-width: 0 !important; max-width: 100% !important; height: 58px !important; min-height: 0 !important; max-height: 58px !important; margin: 6px auto 0 !important; padding: 0 6px !important; box-sizing: border-box; }
  #searchSubs .search-sub span { font-size: 0.72rem !important; line-height: 1.15; overflow-wrap: break-word; padding: 0.25rem 0.15rem 0.4rem; }

  /* ---------- Anzeigen-Karten (Startseite, Merkliste, Händlerprofil): 2 nebeneinander ---------- */
  .listings-grid:not(.results-layout .listings-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.6rem !important; }
  .listings-grid:not(.results-layout .listings-grid) .listing-img { aspect-ratio: 4 / 3; min-height: 0 !important; }
  .listings-grid:not(.results-layout .listings-grid) .listing-img .ph-img { min-height: 0 !important; }
  .listings-grid:not(.results-layout .listings-grid) .listing-body { padding: 0.55rem 0.6rem 0.65rem !important; gap: 0.15rem; }
  .listings-grid:not(.results-layout .listings-grid) .listing-title { font-size: 0.86rem !important; line-height: 1.25 !important; }
  .listings-grid:not(.results-layout .listings-grid) .listing-desc,
  .listings-grid:not(.results-layout .listings-grid) .listing-sub { font-size: 0.72rem !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .listings-grid:not(.results-layout .listings-grid) .listing-meta { font-size: 0.7rem !important; flex-wrap: wrap; row-gap: 0.1rem; }
  .listings-grid:not(.results-layout .listings-grid) .listing-price { font-size: 1rem !important; margin-top: 0.15rem; }
  .listings-grid:not(.results-layout .listings-grid) .listing-loc { font-size: 0.72rem !important; margin-top: 0.3rem !important; }
  .listing-badges { gap: 3px !important; top: 6px !important; left: 6px !important; right: 6px !important; flex-wrap: wrap; }
  .listing-badges .badge { font-size: 0.6rem !important; padding: 2px 5px !important; line-height: 1.3 !important; }

  /* ---------- Suche: Ergebnis als kompakte Zeile (Bild links, Daten rechts) ---------- */
  .results-layout .listing-card {
    display: grid !important; grid-template-columns: 40% minmax(0, 1fr); grid-template-rows: 1fr auto;
    height: auto !important; min-height: 0 !important; max-height: none !important;
  }
  .results-layout .listing-card > a.listing-img {
    grid-row: 1 / span 2; width: 100% !important; min-width: 0 !important; max-width: none !important; aspect-ratio: auto !important;
    height: 100% !important; min-height: 128px !important; max-height: none !important; flex: none !important;
  }
  .results-layout .listing-card > a.listing-body {
    height: auto !important; max-height: none !important; padding: 0.5rem 0.6rem 0.2rem !important; justify-content: flex-start !important; gap: 0.08rem !important;
  }
  .results-layout .listing-title { font-size: 0.9rem !important; white-space: normal !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin: 0 !important; }
  .results-layout .listing-sub { font-size: 0.72rem !important; margin: 0 0 0.15rem !important; }
  .results-layout .listing-price { font-size: 1rem !important; margin-top: 0.1rem !important; }
  .results-layout .listing-price-type { font-size: 0.68rem !important; }
  .results-layout .listing-specs { font-size: 0.7rem !important; line-height: 1.35 !important; margin-top: 0.15rem; }
  .results-layout .listing-side {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: flex-start !important;
    gap: 0.35rem !important; width: auto !important; min-width: 0 !important; height: auto !important; border: 0 !important; border-top: 0 !important;
    padding: 0.2rem 0.6rem 0.5rem !important; margin: 0 !important; background: transparent !important;
  }
  .results-layout .side-icons { flex: 0 0 auto; }
  .results-layout .side-city { font-size: 0.72rem !important; min-width: 0; flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0 !important; text-align: left !important; }
  .results-layout .side-seller-badge { display: none !important; }
  .results-layout .btn-merken { flex: 0 0 auto; min-height: 30px !important; height: 30px !important; padding: 0 0.55rem !important; font-size: 0.7rem !important; margin: 0 !important; width: auto !important; }
  .results-layout .listing-badges .badge-private, .results-layout .listing-badges .badge-dealer { display: none !important; }

  /* ---------- Anzeigen-Detailseite ---------- */
  .vz-grid { align-items: stretch !important; }
  .vz-grid > .vz-left > *, .vz-grid > .vz-right > * { width: 100% !important; max-width: 100% !important; align-self: stretch !important; box-sizing: border-box; }
  .gal-main { width: 100% !important; touch-action: pan-y; }
  /* „Weitere Bilder“-Kachel: auf dem Handy nur „+N“ (Text passte nicht in die kleine Kachel) */
  .gal-more { font-size: 1rem !important; line-height: 1 !important; }
  .gal-more br, .gal-more .gal-more-lab { display: none !important; }
  /* Großansicht: Bild über die volle Breite, Pfeile klein darüber; Wischen wechselt das Bild (js/mobile.js) */
  .lb-stage { padding: 0 !important; touch-action: pan-y; }
  .lb-nav { width: 2.4rem !important; height: 2.4rem !important; background: rgba(0,0,0,0.45) !important; z-index: 2; }
  .lb-prev { left: 0.3rem !important; }
  .lb-next { right: 0.3rem !important; }
  .vz-card:not(.map-card) { padding: 1rem !important; }
  /* Eckdaten: 3 (bzw. 2) nebeneinander statt alles untereinander */
  .key-specs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0.7rem 0.45rem !important; }
  .key-specs > * { min-width: 0; }
  .key-specs .k { font-size: 0.68rem !important; white-space: normal !important; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
  .key-specs > * > span:last-child { min-width: 0; }
  .key-specs .v { font-size: 0.86rem !important; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
  /* Anbieter: Logo, Name, Öffnungszeiten untereinander in voller Breite; Zeiten nicht mehr umgebrochen */
  .seller-top, .seller-top.logo-wide, .seller-top:not(.has-logo) { grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: "logo" "left" "hours" !important; }
  .seller-top:not(.has-logo) { grid-template-areas: "left" "hours" !important; }
  .seller-hours { border-top: 1px solid #3a3a3e; padding-top: 0.55rem; }
  .hours-table { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; }
  .hours-table tbody { display: contents; }
  .hours-table tr { display: flex; justify-content: space-between; gap: 0.5rem; }
  .hours-table td { white-space: nowrap; }
  .hours-table .hd { width: auto !important; }
  .seller-logo-img { max-height: 70px !important; }
  /* Teilen-Leiste über die volle Breite verteilt */
  .share-card .share-row, .share-card > div:not(.sub-lab) { display: flex !important; flex-wrap: wrap; justify-content: space-between; gap: 0.4rem; }
  .share-btn { flex: 1 1 0; min-width: 2.6rem; height: 2.75rem !important; }
  /* Merkmale (Fahrtauglich …) in 2 Spalten */
  .feat-list { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; row-gap: 0.45rem !important; }
  .feat-row { gap: 0.4rem; min-width: 0; font-size: 0.85rem !important; }
  .feat-row > span:first-child { min-width: 0; overflow-wrap: break-word; }
  .feat-row:has(> .feat-txt) { grid-column: 1 / -1; order: 99; }   /* Merkmal mit Text (z. B. Anhängerkupplung: Keine) ans Ende, über die volle Breite */
  .feat-row > .feat-txt, .feat-row > .feat-yes, .feat-row > .feat-no { flex: 0 0 auto; text-align: right; }
  .map-wrap { height: 210px !important; }

  /* ---------- Dashboard „Meine Anzeigen“ ---------- */
  #mineFilters { flex-wrap: nowrap !important; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 2px; }
  #mineFilters::-webkit-scrollbar { display: none; }
  #mineFilters .mine-tab { flex: 0 0 auto; white-space: nowrap; }
  .dash-row { display: grid !important; grid-template-columns: 96px minmax(0, 1fr); grid-template-areas: "thumb main" "thumb side" "act act"; gap: 0.35rem 0.75rem !important; align-items: start !important; padding: 0.65rem !important; }
  .dash-thumb { grid-area: thumb; width: 96px !important; height: 72px !important; flex: none !important; }
  .dash-main { grid-area: main; }
  .dash-main > div:first-child { font-size: 0.92rem; line-height: 1.3; }
  .dash-main > div:nth-child(2) { font-size: 0.78rem !important; }
  .dash-side { grid-area: side; flex-direction: row !important; flex-wrap: wrap; align-items: center !important; justify-content: flex-start !important; gap: 0.35rem 0.6rem !important; margin: 0 !important; min-width: 0 !important; }
  .dash-price { font-size: 1rem !important; }
  .dash-actions { grid-area: act; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.4rem !important; margin-top: 0.2rem !important; }
  .dash-actions > span { grid-column: 1 / -1; order: -1; }
  .dash-actions > .btn { width: 100%; padding-left: 0.3rem !important; padding-right: 0.3rem !important; font-size: 0.8rem !important; white-space: normal; line-height: 1.15 !important; text-align: center; }
  /* ---------- Assistenten: kurze Felder paarweise nebeneinander (Preis | Preisart, PLZ | Land, kW | Getriebe …) ---------- */
  .wiz-grid-2, .wiz-grid-3, .wiz-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 0.6rem !important; }
  .wiz-grid-2 > .wiz-full, .wiz-grid-3 > .wiz-full, .wiz-grid-4 > .wiz-full { grid-column: 1 / -1 !important; }
  .wiz-field > span { font-size: 0.78rem; }
  .wizard-card label:has(> input[type=checkbox]) > span, .wizard-card label:has(> input[type=checkbox]) { overflow-wrap: anywhere; }
  .cat-pick-grid > .free-cat-note { grid-column: 1 / -1 !important; }
  .part-cats .part-cat span { font-size: 0.84rem; overflow-wrap: anywhere; }

  /* ---------- Profil/Händler-Bereich: Menü als 2-spaltige Kacheln statt 6 Zeilen untereinander ---------- */
  .hub-nav { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.35rem !important; padding: 0.4rem !important; }
  .hub-nav > * { min-height: 42px; padding: 0.45rem 0.6rem !important; font-size: 0.86rem !important; border-left-width: 3px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

  /* ---------- Nachrichten: leere Gesprächsfläche erst zeigen, wenn ein Gespräch gewählt ist ---------- */
  .msg-layout:not(.show-thread) .msg-thread { display: none !important; }
  .msg-layout, .msg-inbox, .msg-inbox-list { min-height: 0 !important; height: auto !important; max-height: none !important; }
}
@media (max-width: 359px) {
  .wiz-grid-2, .wiz-grid-3, .wiz-grid-4 { grid-template-columns: minmax(0, 1fr) !important; }
  .key-specs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .listings-grid:not(.results-layout .listings-grid) { grid-template-columns: minmax(0, 1fr) !important; }
  .dash-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  /* aktueller Menüpunkt im Handy-Menü */
  .header.m-open .nav-main a[aria-current="page"] { box-shadow: inset 3px 0 0 #FD5701; color: #fff !important; }
}

/* ---------- Startseite Handy (19.10.2026): Suchbox fast randlos, Reiter-Symbole nicht gequetscht ---------- */
@media (max-width: 767px) {
  #searchPanel.search-panel {
    width: calc(100vw - 16px) !important;
    max-width: none !important;
    margin-left: calc((100% - (100vw - 16px)) / 2) !important;
    margin-right: calc((100% - (100vw - 16px)) / 2) !important;
  }
  /* Reiter im 6er-Raster: feste 72px-Breite der älteren Wisch-Variante aufheben */
  #searchTabs.search-tabs { overflow: hidden !important; scroll-snap-type: none; }
  #searchTabs .search-tab { flex: none !important; width: auto !important; min-width: 0 !important; height: 50px !important; padding: 6px 4px !important; }
  #searchTabs .search-tab img { width: 100% !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; }
}
