/* Shared mobile hardening for legacy Webflow and the newer service templates. */
.brand_image,
.rv24-footer__logo img { width: 100%; height: auto !important; object-fit: contain; }

@media (min-width: 1181px) and (max-width: 1399px) {
  .rv24-header-cta__desktop-label { display: none !important; }
  .rv24-header-cta__mobile-label { display: inline !important; }
  .rv24-header-cta__button { width: 136px !important; max-width: 136px !important; white-space: nowrap; }
}

@media (max-width: 767px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  main, section, .w-container, .base-container { min-width: 0; }
  h1, h2, h3, p, a, button, label, figcaption { overflow-wrap: break-word; }
  input, select, textarea { max-width: 100%; font-size: 16px !important; }
  .home-1-banner-section .primary-button,
  .rv24-phone-hero-cta .primary-button,
  .rv24-private-hero .rv24-private-button,
  .rv24-final-cta button,
  .rv24-final-cta .primary-button { width: 100%; min-height: 52px; justify-content: center; text-align: center; }
  .home-1-banner-section .text-content-right-home-1,
  .home-1-banner-section .text-description,
  .rv24-private-hero__copy { min-width: 0; }
  .home-1-banner-section h1.heading,
  .rv24-private-hero h1,
  .rv24-quote-step h2 { hyphens: auto; }
  .rv24-authentic-gallery__inner,
  .rv24-final-cta__inner,
  .rv24-quote-wrap { width: min(100% - 28px, 1180px); }
  .rv24-authentic-gallery__grid,
  .rv24-final-cta__inner { grid-template-columns: 1fr !important; }
  .rv24-authentic-gallery figure,
  .rv24-authentic-gallery img,
  .rv24-final-cta__visual,
  .rv24-final-cta__visual img { width: 100%; }
  .rv24-final-cta__content { padding: 32px 20px !important; }
  .rv24-mini-form__row,
  .rv24-quote-grid,
  .rv24-quote-options { grid-template-columns: 1fr !important; }
  .rv24-mini-form__row { display: grid !important; gap: 10px; }
  .rv24-quote-card { width: 100%; padding: 24px 17px; }
  .rv24-quote-option span { min-height: 58px; padding: 14px; }
  .rv24-mobile-sticky { padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  .rv24-private-comparison__wrap,
  .rv24-cmp__table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

@media (max-width: 420px) {
  .rv24-header .brand { flex-basis: 150px; min-width: 128px; }
  .rv24-header .brand_image { max-width: 150px; }
  .home-1-banner-section h1.heading,
  .rv24-private-hero h1 { font-size: clamp(29px, 9.5vw, 38px) !important; line-height: 1.08 !important; }
}
