/* Keep words whole in every language. Important declarations in this layer
   take precedence over the older, unlayered page-specific wrapping rules. */
@layer frc-whole-words {
  html,
  body,
  body * {
    -webkit-hyphens: none !important;
    hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  /* Email addresses are technical strings: allow them to fit narrow contact
     cards without inserting hyphens or changing the destination address. */
  body a[href^="mailto:"] {
    overflow-wrap: anywhere !important;
  }

  /* Give long German headings room without splitting compound words. */
  @media (min-width: 992px) and (max-width: 1199.98px) {
    html[lang="de"] .frc-excursion-video-section + section h3 {
      font-size: clamp(42px, 4.4vw, 50px) !important;
    }
  }

  @media (max-width: 575.98px) {
    html[lang="de"] .frc-excursion-video-section + section h3 {
      font-size: clamp(24px, 7.3vw, 36px) !important;
    }

    html[lang="de"] .frc-services-preview h2 {
      font-size: clamp(28px, 8.3vw, 46px) !important;
    }

    html[lang="de"] .parallax-header[data-parallax-img="images/parallax-1.jpg"] h2 {
      font-size: clamp(32px, 9vw, 54px) !important;
    }

    html[lang="de"] .frc-service-detail-card h4 {
      display: block !important;
      width: fit-content !important;
      max-width: 100% !important;
    }
  }
}
