/* Schwabenmühle Buchung – Mobile Layout v2.1.119
   Ziel: Mobile 1‑Spalten‑Layout (volle Breite), Desktop unverändert.
   Fix: Grid/Flex-Layouts im Wrapper deaktivieren, damit Mobile nicht im 13‑Spalten‑Raster bleibt.
*/

@media (max-width: 768px){
  /* Wrapper/Container: Grid/Flex zuverlässig abschalten */
  .smb-form .frm_form_fields,
  .smb-form .frm_fields_container,
  .smb-form .frm_grid_container,
  .smb-form .frm_form_fields > fieldset{
    display: block !important;
    grid-template-columns: none !important;
    grid-auto-flow: initial !important;
    flex-direction: column !important;
  }

  /* Alle Spalten-/Inline-Layouts zu 100% */
  .smb-form .frm_form_field,
  .smb-form .frm_half,
  .smb-form .frm_third,
  .smb-form .frm_fourth,
  .smb-form .frm_inline{
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
  }

  /* Inputs gut bedienbar */
  .smb-form input,
  .smb-form select,
  .smb-form textarea,
  .smb-form button{
    width: 100% !important;
    box-sizing: border-box;
    font-size: 16px; /* verhindert iOS-Zoom */
  }

  /* Etwas mehr Luft */
  .smb-form .frm_form_field{
    margin-bottom: 14px !important;
  }
/* SMB-eigenes Grid (12er/13er) auf Mobile auf 1 Spalte zwingen */
.smb-wrap .smb-grid{
  display: block !important;
  grid-template-columns: none !important;
  grid-auto-flow: initial !important;
}

.smb-wrap .smb-field,
.smb-wrap [class^="smb-col-"],
.smb-wrap [class*=" smb-col-"]{
  width: 100% !important;
  max-width: 100% !important;
}
}


/* --- Mobile Touch-Optimierung (v2.1.128) ---
   Ziel: bessere Bedienbarkeit auf Smartphones, Desktop unverändert.
   Nur in <= 768px aktiv.
*/
@media (max-width: 768px){
  .smb-form label{
    font-size: 16px;
    line-height: 1.25;
    margin-bottom: 6px;
    display: block;
  }

  .smb-form input[type="text"],
  .smb-form input[type="email"],
  .smb-form input[type="tel"],
  .smb-form input[type="number"],
  .smb-form input[type="date"],
  .smb-form select,
  .smb-form textarea{
    width: 100% !important;
    box-sizing: border-box;
    font-size: 16px;          /* verhindert iOS Zoom */
    line-height: 1.2;
    padding: 12px 14px;
    min-height: 48px;         /* Touch-Ziel */
    border-radius: 10px;
  }

  .smb-form textarea{
    min-height: 120px;
  }

  /* Mehr Luft zwischen Feldern */
  .smb-form .smb-field{
    margin-bottom: 14px;
  }

  /* Action-/Submit-Bereich */
  .smb-form .smb-actions{
    margin-top: 18px;
  }
  .smb-form button,
  .smb-form input[type="submit"]{
    font-size: 16px;
    padding: 14px 16px;
    min-height: 48px;
    border-radius: 12px;
    width: 100%;
  }

  /* Preisbox/Sidebox auf Mobile entspannen */
  .smb-form .smb-pricebox,
  .smb-form .smb-price-preview,
  .smb-form .smb-summary{
    font-size: 16px;
  }
}


/* --- Mobile Header & Summary Cleanup (v2.1.129) ---
   Ziel: Auf Smartphone weniger "Website obenrum", Fokus sofort auf Buchung.
   Wir ändern nur mobil und nur auf Seiten mit dem Buchungs-Shortcode (body.smb-booking-page).
*/
@media (max-width: 768px){
  /* Oben aufräumen: Theme-Topbar/Leiste ausblenden (nur Buchungsseite) */
  body.smb-booking-page .top-bar,
  body.smb-booking-page .topbar,
  body.smb-booking-page .header-top,
  body.smb-booking-page .site-topbar{
    display: none !important;
  }

  /* Logo/Header kompakter (Theme-abhängig: mehrere gängige Selektoren) */
  body.smb-booking-page header#masthead,
  body.smb-booking-page .site-header,
  body.smb-booking-page .header,
  body.smb-booking-page #header{
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
  body.smb-booking-page header#masthead img,
  body.smb-booking-page .site-header img.custom-logo,
  body.smb-booking-page .site-logo img,
  body.smb-booking-page .logo img{
    max-height: 44px !important;
    height: auto !important;
    width: auto !important;
  }

  /* 3mm Wiedererkennung: grüner Streifen direkt über dem Formular */
  .smb-mobile-brandbar{
    height: 3px;
    background: #2f6b57; /* Schwabenmühle-Grün */
    margin: 0 0 10px 0;
    border-radius: 2px;
  }

  /* Headline "Buchung" etwas kleiner/ruhiger */
  body.smb-booking-page h1,
  body.smb-booking-page .entry-title{
    font-size: 30px !important;
    line-height: 1.1 !important;
    margin: 10px 0 14px 0 !important;
  }

  /* Felder dezenter: weniger harte Optik */
  .smb-form input[type="text"],
  .smb-form input[type="email"],
  .smb-form input[type="tel"],
  .smb-form input[type="number"],
  .smb-form input[type="date"],
  .smb-form select,
  .smb-form textarea{
    background: #fafafa !important;
    border-color: rgba(0,0,0,0.20) !important;
  }

  /* Preisbox / Auflistung: auf Mobile untereinander, weniger "Sidebar" */
  .smb-form .smb-booking-split{
    display: block !important;
  }
  .smb-form .smb-pricebox,
  .smb-form .smb-price-preview,
  .smb-form .smb-summary{
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 14px !important;
    padding: 14px !important;
    border-radius: 12px !important;
  }
  .smb-form .smb-pricebox h3,
  .smb-form .smb-price-preview h3,
  .smb-form .smb-summary h3{
    font-size: 18px !important;
    margin-top: 0 !important;
  }
  .smb-form .smb-summary ul,
  .smb-form .smb-pricebox ul{
    padding-left: 18px;
  }
}


/* --- Mobile: Preisfenster kompakter (v2.1.132) ---
   Ziel: Schrift kleiner + Positionen möglichst in einer Zeile.
*/
@media (max-width: 768px){
  /* Box etwas kompakter */
  .smb-form .smb-pricebox,
  .smb-form .smb-price-preview,
  .smb-form .smb-summary{
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
  .smb-form .smb-pricebox h3,
  .smb-form .smb-pricebox h4,
  .smb-form .smb-price-preview h3,
  .smb-form .smb-summary h3{
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  /* Listen-Items als zwei Spalten: Text links, Betrag rechts */
  .smb-form .smb-pricebox li,
  .smb-form .smb-price-preview li,
  .smb-form .smb-summary li{
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 10px !important;
  }
  .smb-form .smb-pricebox li > *,
  .smb-form .smb-price-preview li > *,
  .smb-form .smb-summary li > *{
    white-space: nowrap !important;
  }
  /* Links darf schrumpfen, rechts bleibt sichtbar */
  .smb-form .smb-pricebox li > *:first-child,
  .smb-form .smb-price-preview li > *:first-child,
  .smb-form .smb-summary li > *:first-child{
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .smb-form .smb-pricebox li > *:last-child,
  .smb-form .smb-price-preview li > *:last-child,
  .smb-form .smb-summary li > *:last-child{
    flex: 0 0 auto !important;
  }
}


/* --- Mobile: Preiszeilen wirklich 1-zeilig (v2.1.133) ---
   Ansatz: pro Listenpunkt 2 Spalten (Text | Betrag). Text wird ggf. gekürzt (…),
   Betrag bleibt komplett in einer Zeile (inkl. €).
*/
@media (max-width: 768px){
  .smb-form .smb-pricebox,
  .smb-form .smb-price-preview,
  .smb-form .smb-summary{
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  .smb-form .smb-pricebox li,
  .smb-form .smb-price-preview li,
  .smb-form .smb-summary li{
    display: grid !important;
    grid-template-columns: 1fr max-content !important;
    column-gap: 10px !important;
    align-items: baseline !important;
  }

  /* Links strikt einzeilig, notfalls mit … */
  .smb-form .smb-pricebox li > *:first-child,
  .smb-form .smb-price-preview li > *:first-child,
  .smb-form .smb-summary li > *:first-child{
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-width: 0 !important;
  }

  /* Rechts nie umbrechen (auch € nicht) */
  .smb-form .smb-pricebox li > *:last-child,
  .smb-form .smb-price-preview li > *:last-child,
  .smb-form .smb-summary li > *:last-child{
    white-space: nowrap !important;
    text-align: right !important;
  }
}


/* --- Preisbox: Mobile 2-Zeilen-Layout je Position (v2.1.134) ---
   Desktop bleibt unverändert (zeigt .smb-price-desc + .smb-price-right).
   Mobile zeigt:
     Zeile 1: Artikel
     Zeile 2: Nächte × Preis   |   Summe
   Ohne "=".
*/
.smb-form .smb-price-item .smb-price-mobile-label,
.smb-form .smb-price-item .smb-price-mobile-calc,
.smb-form .smb-price-item .smb-price-mobile-sum{
  display: none;
}

@media (max-width: 768px){
  /* Desktop-Spalten ausblenden */
  .smb-form .smb-price-item .smb-price-desc,
  .smb-form .smb-price-item .smb-price-right{
    display: none !important;
  }

  /* Mobile-Teile anzeigen */
  .smb-form .smb-price-item .smb-price-mobile-label,
  .smb-form .smb-price-item .smb-price-mobile-calc,
  .smb-form .smb-price-item .smb-price-mobile-sum{
    display: block !important;
  }

  /* Layout: 2 Zeilen, 2 Spalten */
  .smb-form .smb-price-item{
    display: grid !important;
    grid-template-columns: 1fr max-content !important;
    row-gap: 2px !important;
    column-gap: 10px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .smb-form .smb-price-item .smb-price-mobile-label{
    grid-column: 1 / -1 !important; /* ganze Breite */
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .smb-form .smb-price-item .smb-price-mobile-calc{
    grid-column: 1 / 2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    opacity: 0.9 !important;
  }

  .smb-form .smb-price-item .smb-price-mobile-sum{
    grid-column: 2 / 3 !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-weight: 600 !important;
  }
}


/* --- Mobile: Checkbox vor Datenschutz-Text (v2.1.135) ---
   Ziel: Checkbox links, Text rechts daneben. Desktop unverändert.
   Hinweis: Selektoren sind defensiv, damit Theme-HTML/Markup-Varianten abgedeckt sind.
*/
@media (max-width: 768px){

  /* Primär: wenn die Zeile bereits eine eigene Wrapper-Klasse hat */
  .smb-form .smb-consent,
  .smb-form .smb-dsgvo,
  .smb-form .smb-privacy,
  .smb-form .smb-checkbox-row{
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  .smb-form .smb-consent input[type="checkbox"],
  .smb-form .smb-dsgvo input[type="checkbox"],
  .smb-form .smb-privacy input[type="checkbox"],
  .smb-form .smb-checkbox-row input[type="checkbox"]{
    margin-top: 3px !important;
    flex: 0 0 auto !important;
  }

  .smb-form .smb-consent label,
  .smb-form .smb-dsgvo label,
  .smb-form .smb-privacy label,
  .smb-form .smb-checkbox-row label{
    margin: 0 !important;
    line-height: 1.35 !important;
  }

  /* Fallback: typische Struktur "label > input + text" */
  .smb-form label:has(> input[type="checkbox"]){
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .smb-form label:has(> input[type="checkbox"]) > input[type="checkbox"]{
    margin-top: 3px !important;
    flex: 0 0 auto !important;
  }
}


/* --- Mobile: Datenschutz Checkbox korrekt links, Text rechts (v2.1.136) --- */
@media (max-width: 768px){

  /* Erzwinge 2-Spalten-Layout für Consent-Zeile */
  .smb-form .smb-consent,
  .smb-form .smb-dsgvo,
  .smb-form .smb-privacy,
  .smb-form .smb-checkbox-row{
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    column-gap: 12px !important;
    align-items: flex-start !important;
  }

  /* Checkbox sauber links */
  .smb-form .smb-consent input[type="checkbox"],
  .smb-form .smb-dsgvo input[type="checkbox"],
  .smb-form .smb-privacy input[type="checkbox"],
  .smb-form .smb-checkbox-row input[type="checkbox"]{
    margin: 2px 0 0 0 !important;
    grid-column: 1 !important;
  }

  /* Text explizit rechts */
  .smb-form .smb-consent label,
  .smb-form .smb-dsgvo label,
  .smb-form .smb-privacy label,
  .smb-form .smb-checkbox-row label{
    grid-column: 2 !important;
    margin: 0 !important;
    line-height: 1.35 !important;
  }

}


/* --- Mobile: Consent final fix – Text darf nicht aus dem View laufen (v2.1.137) --- */
@media (max-width: 768px){

  /* Zielstruktur: <label><input> TEXT </label> */
  .smb-form label:has(input[type="checkbox"]){
    display: grid !important;
    grid-template-columns: 22px 1fr !important;
    column-gap: 10px !important;
    align-items: start !important;
    max-width: 100% !important;
  }

  .smb-form label:has(input[type="checkbox"]) input[type="checkbox"]{
    grid-column: 1 !important;
    margin: 2px 0 0 0 !important;
  }

  .smb-form label:has(input[type="checkbox"]) span,
  .smb-form label:has(input[type="checkbox"]) p,
  .smb-form label:has(input[type="checkbox"]){
    grid-column: 2 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

}


/* --- Spinner sichtbar lassen (v2.1.139) ---
   Falls Theme/CSS number-spinners versteckt: für Personen/Hund wieder aktivieren.
*/
.smb-form #smb_erw,
.smb-form #smb_kind_0_1,
.smb-form #smb_kind_2_12,
.smb-form #smb_kind_13_15,
.smb-form #smb_hund{
  appearance: auto !important;
  -moz-appearance: auto !important;
  -webkit-appearance: auto !important;
}

.smb-form #smb_erw::-webkit-outer-spin-button,
.smb-form #smb_erw::-webkit-inner-spin-button,
.smb-form #smb_kind_0_1::-webkit-outer-spin-button,
.smb-form #smb_kind_0_1::-webkit-inner-spin-button,
.smb-form #smb_kind_2_12::-webkit-outer-spin-button,
.smb-form #smb_kind_2_12::-webkit-inner-spin-button,
.smb-form #smb_kind_13_15::-webkit-outer-spin-button,
.smb-form #smb_kind_13_15::-webkit-inner-spin-button,
.smb-form #smb_hund::-webkit-outer-spin-button,
.smb-form #smb_hund::-webkit-inner-spin-button{
  -webkit-appearance: auto !important;
  appearance: auto !important;
  margin: 0 !important;
}


/* --- Mobile Select Styling (v2.1.140) --- */
@media (max-width: 768px){
  .smb-form .smb-mobile-select{
    width: 100% !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(0,0,0,.25) !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    font-size: 16px !important; /* verhindert iOS-Zoom */
    line-height: 1.2 !important;
    background: #fff !important;
  }
}


/* --- Mobile Stepper Styling (v2.1.141) --- */
@media (max-width: 768px){
  .smb-form .smb-stepper{
    width: 100% !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 40px 1fr 40px !important;
    border: 1px solid rgba(0,0,0,.25) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    height: 46px !important;
    background: #fff !important;
  }
  .smb-form .smb-stepper-btn{
    border: 0 !important;
    background: transparent !important;
    font-size: 18px !important;
    line-height: 1 !important;
    padding: 0 !important;
    cursor: pointer !important;
  }
  .smb-form .smb-stepper-btn:disabled{
    opacity: .35 !important;
    cursor: default !important;
  }
  .smb-form .smb-stepper-val{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important; /* iOS: verhindert Zoom */
    user-select: none !important;
  }
}


/* --- Mobile Stepper Styling (v2.1.142) --- */
@media (max-width: 768px){

  /* Original number inputs in stepper-mode wirklich ausblenden */
  .smb-form .smb-stepper-hidden{
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }
  /* Mobile-Select: das (unsichtbare) number-input komplett aus dem Layout nehmen,
     sonst wird jede Personen-Zeile doppelt so hoch (Input + Select). */
  .smb-form .smb-booking-left .smb-qtyrow-inner input.smb-qtyinput{
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Labels kompakter */
  .smb-form .smb-booking-left .smb-qtylabel{
    line-height: 1.2 !important;
    margin-top: 2px !important;
  }


  .smb-form .smb-stepper{
    width: 100% !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 44px 1fr 44px !important;
    border: 1px solid rgba(0,0,0,.25) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    height: 46px !important;
    background: #fff !important;
  }

  .smb-form .smb-stepper-btn{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    background: transparent !important;
    color: #111 !important;            /* wichtig: sichtbar */
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    padding: 0 !important;
    min-width: 44px !important;
    cursor: pointer !important;
  }

  .smb-form .smb-stepper-minus{
    border-right: 1px solid rgba(0,0,0,.12) !important;
  }
  .smb-form .smb-stepper-plus{
    border-left: 1px solid rgba(0,0,0,.12) !important;
  }

  .smb-form .smb-stepper-btn:disabled{
    opacity: .35 !important;
    cursor: default !important;
  }

  .smb-form .smb-stepper-val{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important; /* iOS: verhindert Zoom */
    color: #111 !important;
    user-select: none !important;
  }
}


/* --- Mobile Dropdown Persons 1-Column (v2.1.143) --- */
@media (max-width: 768px){

  /* Original number inputs hidden */
  .smb-form .smb-mobile-select-hidden{
    display:none !important;
    visibility:hidden !important;
    height:0 !important; width:0 !important;
    margin:0 !important; padding:0 !important; border:0 !important;
  }

  /* 1-Spalten-Layout: Personen/Hund Felder über volle Breite */
  .smb-form .smb-field:has(#smb_erw),
  .smb-form .smb-field:has(#smb_kind_0_1),
  .smb-form .smb-field:has(#smb_kind_2_12),
  .smb-form .smb-field:has(#smb_kind_13_15),
  .smb-form .smb-field:has(#smb_hund){
    grid-column: 1 / -1 !important;
  }

  .smb-form .smb-mobile-select{
    width: 100% !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(0,0,0,.25) !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    font-size: 16px !important; /* verhindert iOS-Zoom */
    line-height: 1.2 !important;
    background: #fff !important;
  }

  /* Labels darüber lassen (nicht nebendran) */
  .smb-form .smb-field label{
    display:block !important;
    margin-bottom:6px !important;
  }
}


/* --- Mobile Dropdown Persons: subtle + left aligned (v2.1.144) --- */
@media (max-width: 768px){
  .smb-form .smb-mobile-select{
    max-width: 120px !important;   /* deutlich schmaler */
    padding: 6px 8px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
  }

  /* linksbündig unter Label */
  .smb-form .smb-field .smb-mobile-select{
    margin-left: 0 !important;
  }
}


/* --- Mobile Dropdown Persons: hard left align (v2.1.145) --- */
@media (max-width: 768px){
  .smb-form .smb-field{
    align-items: flex-start !important;
    text-align: left !important;
  }
  .smb-form .smb-field .smb-mobile-select{
    display: block !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}


/* --- Mobile Stepper: real left alignment (v2.1.146) --- */
@media (max-width: 768px){
  .smb-form .smb-stepper{
    justify-content: flex-start !important;
    margin-left: 0 !important;
  }
  .smb-form .smb-stepper button,
  .smb-form .smb-stepper span{
    text-align: center !important;
  }
}


/* v2.1.147: Mobile Personen Dropdown (1 Spalte) */
@media (max-width: 768px){
  .smb-form .smb-mobile-select{
    max-width: 160px !important;
    width: 160px !important;
    display: block !important;
    margin: 6px 0 0 0 !important;
    padding: 6px 8px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
  }
  /* ensure field container doesn't center */
  .smb-form .smb-field{
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  /* hide any stepper UI if still injected */
  .smb-form .smb-stepper{ display:none !important; }
}


/* v2.1.149: Mobile Personen/Hund Dropdown volle Breite; Desktop bleibt wie vorher */
@media (max-width: 768px){
  .smb-form .smb-mobile-select{
    width: 100% !important;
    max-width: none !important;
    display:block !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }
  .smb-form .smb-field:has(.smb-mobile-select){
    display:block !important;
    text-align:left !important;
  }
  .smb-form .smb-field:has(.smb-mobile-select) > label{
    display:block !important;
    margin: 0 0 6px 0 !important;
  }
}
@media (min-width: 769px){
  .smb-form .smb-mobile-select{ display:none !important; }
}



/* v2.1.161 – Mobile: Abstände NUR für Personen/Hund sauber steuern (Desktop unverändert)
   Ursache bisher: "gap" auf .smb-booking-left wirkt auf ALLE Kinder (Unterkunft, Datum, Personen, …).
   Dadurch gibt es keine Möglichkeit, nur die Personen/Hund-Reihen enger zu bekommen.
   Fix: auf Mobile gap auf 0 setzen und Abstände über margin-bottom pro Kind setzen.
*/
@media (max-width: 768px){
  /* 1) Container-Gap deaktivieren, sonst addiert es sich mit margins */
  .smb-form .smb-booking-left{ gap: 0 !important; row-gap: 0 !important; }

  /* 2) Standard-Abstand zwischen normalen Feldern (wie bisher optisch "sauber") */
  .smb-form .smb-booking-left > .smb-field{ margin-bottom: 12px !important; }

  /* 3) Enger Abstand nur für Qty-Reihen (Erwachsene/Kinder/Jugendliche/Hund) */
  .smb-form .smb-booking-left > .smb-field.smb-qtyrow{ margin-bottom: 7px !important; }

  /* 4) Letztes Element ohne Abstand */
  .smb-form .smb-booking-left > .smb-field:last-child{ margin-bottom: 0 !important; }

  /* 5) "Luftpolster" in den mobilen Select-Reihen entfernen */
  .smb-form .smb-booking-left > .smb-field.smb-qtyrow:has(.smb-mobile-select){
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
  }
  .smb-form .smb-booking-left > .smb-field.smb-qtyrow:has(.smb-mobile-select) .smb-qtyrow-inner{
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .smb-form .smb-booking-left > .smb-field.smb-qtyrow:has(.smb-mobile-select) label{ margin-top: 3px !important; }
}



/* v2.1.163: Mobile - kompaktere Personen/Hund-Zeilen (verhindert zu hohe Rows durch Formular-Default-Styles) */
@media (max-width: 768px) {
  .smb-form .smb-booking-left .smb-field.smb-qtyrow .smb-qtyrow-inner {
    margin: 0 !important;
    padding: 0 !important;
  }
  .smb-form .smb-booking-left .smb-field.smb-qtyrow .smb-qtylabel {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
  }
  .smb-form .smb-booking-left .smb-field.smb-qtyrow select.smb-mobile-select {
    height: 44px !important;
    min-height: 44px !important;
    line-height: 1.1 !important;
  }
}
