/* OficinaPlus: shared responsive fixes. Desktop layout is unchanged. */
@media (max-width: 991.98px) {
  /* Hide contact/hours strip at the same breakpoint as the mobile menu. */
  #header .header-top { display: none !important; }
  #header .header-row,
  #header .header-column,
  #header .header-nav,
  #header .header-nav-top { min-width: 0; }
  #header .header-top .header-row { flex-wrap: wrap; height: auto; }
  #header .header-top .header-column { max-width: 100%; }
  #header .header-top .header-nav-top { max-width: 100%; }
  #header .header-top .nav { flex-wrap: wrap; min-width: 0; max-width: 100%; }
  #header .header-top .nav > li { min-width: 0; max-width: 100%; }
  #header .header-top .nav > li > span,
  #header .header-top .ws-nowrap {
    white-space: normal !important;
    flex-wrap: wrap;
    max-width: 100%;
    line-height: 1.6;
    overflow-wrap: anywhere;
  }
  #header .header-top a[href^="tel:"] { white-space: nowrap; }
  #header .header-top .icons { flex-shrink: 0; }
  #header .header-logo { min-width: 0; flex-shrink: 1; }
  #header .header-logo img { max-width: 100%; height: auto; }
  #header .header-btn-collapse-nav { flex-shrink: 0; }

  /* Clip only the banner decoration, not the document or navigation. */
  #content .tp-hero { overflow: hidden; }
  #content .tp-hero__grid > *,
  #content .tp-workflow > *,
  #content .tp-price-card > *,
  #content .sv-hero > *,
  #content .sv-split > *,
  #content .pv-layout > * { min-width: 0; }
  #content .hp-image,
  #content .fm-photo { min-width: 0; max-width: 100%; }
  #content .tp-btn,
  #content .sv-btn { white-space: normal; max-width: 100%; text-align: center; }
}

@media (max-width: 767.98px) {
  #header .header-top .header-column { flex-basis: 100%; width: 100%; }
  #header .header-top .header-nav-top,
  #header .header-top .nav { width: 100%; }
  #header .header-top .nav > li { width: 100%; margin-left: 0 !important; }
  #header .header-top .nav > li > span { padding: 3px 0; font-size: 12px !important; }
  #header .header-top .nav > li::after,
  #header .header-top .nav > li::before { display: none !important; }
  #header .header-container .header-logo { max-width: calc(100% - 70px); }
  #header .header-container .header-logo img { max-width: 170px; }
  #header .header-btn-collapse-nav { margin-left: 12px !important; }

  #content .tp-cta__inner { grid-template-columns: minmax(0, 1fr); padding: 28px 24px; gap: 22px; }
  #content .tp-cta__inner > *,
  #content .sv-cta .sv-wrap > * { min-width: 0; max-width: 100%; }
  #content .tp-cta__action { align-items: flex-start; }
  #content .sv-cta .sv-wrap { flex-wrap: wrap; }
  #content .tp-price-card__list { grid-template-columns: minmax(0, 1fr); }
  #content .sv-bar .sv-wrap { flex-wrap: wrap; }
  #footer .op-footer__main .row > *,
  #footer .op-footer__newsletter > * { min-width: 0; }
  #footer a { overflow-wrap: anywhere; }
}
