/* Carfino mobile UX v58 – intentionally inactive above 760px. */
@media (max-width:760px) {
  :root { --mobile-gutter:14px; }
  html { scroll-padding-top:12px; -webkit-text-size-adjust:100%; }
  body { min-width:0; overflow-x:hidden; padding-bottom:calc(150px + env(safe-area-inset-bottom)); }
  img,video,iframe { max-width:100%; }
  .content-page,.overview-page,.detail-page,.fleet,.content-section { box-sizing:border-box; max-width:100%; }
  button,input,select,textarea,.primary-button,.secondary-button,.quote-button { font-size:16px; }
  button,select,.primary-button,.secondary-button,.quote-button { min-height:46px; }
  input,select,textarea { max-width:100%; box-sizing:border-box; }
  input:not([type="checkbox"]):not([type="radio"]),select,textarea { min-height:48px; padding:11px 12px; border-radius:9px; }
  textarea { min-height:118px; line-height:1.45; }
  .site-header { padding:10px var(--mobile-gutter) 12px; gap:9px; }
  .brand { justify-self:center; }
  .brand img { width:min(265px,78vw); height:auto; }
  .main-nav { gap:8px; padding:2px 0 5px; scroll-snap-type:x proximity; }
  .main-nav a { flex:0 0 auto; min-height:42px; display:inline-flex; align-items:center; padding:0 14px; border-radius:9px; scroll-snap-align:start; }
  .header-action .phone { min-height:58px; border-radius:13px; }
  .home-page .hero { padding-inline:var(--mobile-gutter); }
  .home-page .fleet { padding:18px var(--mobile-gutter) 24px; }
  .home-page .section-heading { margin-bottom:15px; }
  .home-page .section-heading h1,.home-page .section-heading h2 { font-size:clamp(25px,7.5vw,31px); }
  .home-page .vehicle-row { margin-inline:calc(var(--mobile-gutter) * -1); padding-inline:var(--mobile-gutter); scroll-padding-inline:var(--mobile-gutter); }
  .home-page #fahrzeuge .vehicle-row .vehicle-card { border-radius:15px; box-shadow:0 9px 25px rgba(5,47,92,.10); }
  .filter-groups,.vehicle-picker,.home-vehicle-picker,.home-vehicle-picker-secondary { gap:13px; border-radius:14px; }
  .vehicle-picker label,.home-vehicle-picker label,.home-vehicle-picker-secondary label { gap:6px; min-width:0; }
  .vehicle-picker label>span,.home-vehicle-picker label>span,.home-vehicle-picker-secondary label>span { font-size:13px; line-height:1.3; }
  .filters-home { gap:9px; }
  .filters-home .filter { width:100%; min-width:0; }
  .overview-page { padding:16px var(--mobile-gutter) 34px; }
  .overview-page .overview-grid { grid-template-columns:minmax(0,1fr)!important; gap:22px!important; }
  .overview-page .overview-grid .vehicle-card,.overview-page .overview-grid .vehicle-card--model-family { width:100%!important; border-radius:15px!important; box-shadow:0 10px 28px rgba(5,47,92,.10)!important; }
  .overview-page .vehicle-card__cta,.overview-page .vehicle-card__compare,.home-page .vehicle-card__cta { border-radius:9px!important; }
  .detail-hero,.detail-specs,.request-form,.vehicle-inquiry-form { width:100%; box-sizing:border-box; }
  .detail-hero { gap:18px; }
  .detail-hero h1 { font-size:clamp(27px,8vw,33px); overflow-wrap:anywhere; }
  .detail-specs { gap:12px; }
  .request-form,.vehicle-inquiry-form { border-radius:14px; }
  .form-row>*,.form-note-row>*,.general-form-note-row>* { min-width:0; }
  .content-page { padding-inline:var(--mobile-gutter); }
  .site-footer,.site-footer.callback-footer,.callback-footer { width:calc(100% - 24px)!important; margin:18px auto 12px!important; padding:18px!important; gap:20px!important; border-radius:16px!important; }
  .site-footer .footer-column,.site-footer .footer-brand-panel { min-width:0; }
  .site-footer .footer-column h2 { margin-bottom:10px; }
  .site-footer .footer-column a,.site-footer .footer-column p { line-height:1.45; }
  .site-footer .footer-review-links { gap:9px; }
  .floating-contact,.floating-contact-button,.contact-fab,.floating-contact-stack,.sticky-contact-actions { max-width:calc(100vw - 24px); right:max(12px,env(safe-area-inset-right)); bottom:max(10px,env(safe-area-inset-bottom)); }
  .best-price-floating-badge,.best-price-floating-badge.best-price-floating-mobile-active { bottom:calc(116px + env(safe-area-inset-bottom)); }
}

/* Mobile floating actions: place the Best Preis Deal badge vertically
   between the two contact buttons. Desktop remains unchanged. */
@media (max-width:760px) {
  .best-price-floating-badge,
  .best-price-floating-badge.best-price-floating-mobile-active {
    bottom:calc(30px + env(safe-area-inset-bottom))!important;
  }
}
@media (max-width:390px) {
  :root { --mobile-gutter:12px; }
  .main-nav a { padding-inline:12px; font-size:13px; }
  .brand img { width:min(250px,82vw); }
  .site-footer .footer-review-links { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (prefers-reduced-motion:reduce) and (max-width:760px) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Mobile review tiles: keep Google and Trustpilot compact and side by side. */
@media (max-width:760px) {
  .site-footer .footer-review-links {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:none!important;
  }
  .site-footer .footer-review-card {
    width:100%!important;
    min-width:0!important;
    padding:9px 8px!important;
    box-sizing:border-box;
  }
  .site-footer .footer-review-brand { font-size:clamp(12px,3.7vw,14px)!important; }
  .site-footer .footer-review-action {
    font-size:clamp(9px,2.7vw,11px)!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }

  /* Consistent mobile rhythm and safe wrapping across all public pages. */
  main,section,article,aside,header,footer,nav,form,fieldset { min-width:0; }
  h1,h2,h3,p,li,a,button,label,legend { overflow-wrap:anywhere; }
  h1 { line-height:1.12; }
  h2,h3 { line-height:1.2; }
  .content-page,.overview-page,.detail-page {
    width:100%;
    margin-inline:auto;
  }
  .content-section,.info-card,.faq-item,details,.request-form,.vehicle-inquiry-form {
    max-width:100%;
    box-sizing:border-box;
  }
  .content-section,.info-card { border-radius:14px; }
  .primary-button,.secondary-button,.quote-button,
  .vehicle-card__cta,.vehicle-card__compare {
    width:100%;
    justify-content:center;
    box-sizing:border-box;
  }
  fieldset { padding:14px; }
  .form-row,.form-grid,.request-form__grid,.vehicle-inquiry-form__grid {
    grid-template-columns:minmax(0,1fr)!important;
    gap:13px!important;
  }
  .form-row>* ,.form-grid>* ,.request-form__grid>* ,.vehicle-inquiry-form__grid>* {
    grid-column:1/-1!important;
    width:100%;
    box-sizing:border-box;
  }
  table {
    display:block;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  dialog,[role="dialog"],.modal,.carfino-usp-dialog {
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    overflow:auto;
    box-sizing:border-box;
  }
  .site-footer {
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    row-gap:14px!important;
  }
  .site-footer .footer-brand-panel,
  .site-footer .footer-column,
  .site-footer .footer-social-panel {
    width:100%;
    box-sizing:border-box;
  }
  .site-footer .footer-column a {
    display:flex;
    align-items:center;
    min-height:36px;
    padding-block:4px;
  }
  .site-footer .social-links { gap:13px!important; }
  .site-footer .footer-bottom { margin-top:0!important; }
  .floating-contact-stack,.sticky-contact-actions {
    width:min(330px,calc(100vw - 24px))!important;
  }
}
/* Mobile Budgetrechner: auffaellige Vollbreiten-Kachel unter den beiden Fahrzeugfindern. */
@media (max-width: 700px) {
  .home-page .vehicle-finder-switch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-page .vehicle-finder-switch .filter-budget {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 64px !important;
    padding: 9px 14px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 20px !important;
    align-items: center !important;
    gap: 10px !important;
    border: 3px solid #4fb82d !important;
    border-radius: 10px !important;
    background: #073b71 !important;
    color: #fff !important;
    box-shadow: 0 7px 16px rgba(7, 59, 113, .2) !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .home-page .filter-budget__icon {
    display: grid !important;
    place-items: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #073b71 !important;
    font-size: 25px !important;
    line-height: 1 !important;
  }

  .home-page .filter-budget__copy {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 2px !important;
  }

  .home-page .filter-budget__copy strong {
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
  }

  .home-page .filter-budget__copy small {
    margin: 0 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    opacity: .9 !important;
  }

  .home-page .filter-budget__arrow {
    color: #67c843 !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: right !important;
  }
}
