/* Mainreinigung – Feinschliff, ergänzt das Template (wird nach allen Template-Styles geladen) */

/* Einsatzgebiet-Karten: Hinweiszeile statt Preis */
.pbmit-price-wrapper.mr-area-note .pbminfotech-ptable-frequency { margin: 0; }
.pbmit-price-wrapper.mr-area-note .pbminfotech-ptable-frequency::before { content: none !important; }

/* Fußzeile: Linkzeile zu den Leistungsseiten */
.mr-footer-leistungen { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; margin-bottom: 14px; font-size: 14px; line-height: 1.5; }
.mr-footer-leistungen a { color: inherit; opacity: .85; text-decoration: none; }
.mr-footer-leistungen a:hover { opacity: 1; text-decoration: underline; }

/* Schnellanfrage in der Fußzeile: Rückmeldung */
.mc4wp-response { margin-top: 14px; font-size: 15px; line-height: 1.5; }
.mc4wp-response:empty { display: none; }
.mc4wp-response.is-error { color: #ffb4b4; }

@media (max-width: 767px) {
  /* iOS zoomt die Seite, sobald ein Feld unter 16px Schrift hat */
  input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="search"], input[type="url"],
  select, textarea,
  .select2-container .select2-selection__rendered, .select2-container .select2-results__option, .select2-container .select2-search__field {
    font-size: 16px !important;
  }

  /* Tippziele in der Fußzeile auf mindestens 44px */
  .pbmit-social-links li a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
  .site-footer .widget .menu li a { display: inline-block; padding: 7px 0 !important; }

  /* „Nach oben"-Button: an den Rand, damit er keinen Text verdeckt */
  .pbmit-progress-wrap { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }
  .pbmit-footer-text-area { padding-bottom: 64px; }

  /* Slider: kleine Überzeile lesbar halten */
  #n2-ss-2item1, #n2-ss-2item6, #n2-ss-2item11 { font-size: 12px !important; }
}

/* Rechtstexte (Impressum, Datenschutz): Überschriften passen auf das Handy */
@media (max-width: 767px) {
  .pbmit-legal h1 { font-size: clamp(28px, 8.4vw, 40px) !important; line-height: 1.15 !important; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
  .pbmit-legal h2 { font-size: 20px !important; line-height: 1.3 !important; margin-top: 1.6em; }
  .pbmit-legal p, .pbmit-legal li { font-size: 16px; line-height: 1.65; }
  .pbmit-legal a { overflow-wrap: anywhere; }
}

/* Sehr schmale Geräte: lange deutsche Wörter trennen statt abschneiden */
@media (max-width: 480px) {
  .site-content :is(h1, h2, h3, h4):not(.n2-ss-item-content) { overflow-wrap: break-word; }
}
@media (max-width: 360px) {
  .site-content :is(h1, h2, h3, h4):not(.n2-ss-item-content) { -webkit-hyphens: auto; hyphens: auto; }
}
