/* Layout fixes added on top of the copied WordPress styles (phone + desktop). Loaded last on every page. */

/* nothing may push the page sideways on a phone; clip keeps sticky headers working */
html, body { overflow-x: clip; }

/* article tables: scroll inside their own box instead of widening the page */
figure.wp-block-table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-left: 0; margin-right: 0; }
.elementor-widget-theme-post-content table { border-collapse: collapse; }
.elementor-widget-theme-post-content img, .elementor-widget-theme-post-content figure, .elementor-widget-theme-post-content iframe { max-width: 100%; height: auto; }

/* long links and words wrap instead of sticking out */
.elementor-widget-theme-post-content, .lf { overflow-wrap: break-word; }
.elementor-widget-theme-post-content a, .lf a { overflow-wrap: anywhere; }

/* blog cards: the cover fills the card, no grey band under it */
.elementor-posts .elementor-post__thumbnail { padding-bottom: 0 !important; }
.elementor-posts .elementor-post__thumbnail img { display: block; position: static !important; width: 100% !important; height: auto !important; transform: none !important; top: auto !important; left: auto !important; }

/* service, industry and city pages (.lf): side gutter below the 1140px container */
@media (max-width: 1180px) { .lf { padding-left: 20px; padding-right: 20px; } }

@media (max-width: 767px) {
  .lf { padding-left: 16px; padding-right: 16px; }
  .lf .lf-hero h1 { font-size: 30px; line-height: 1.2; }
  .lf-actions .lf-btn { width: 100%; text-align: center; box-sizing: border-box; }
  .lf-table { font-size: 14px; }
  .lf-table th, .lf-table td { padding: 9px 10px; }
  .lf-cta { padding-left: 16px; padding-right: 16px; }
  .elementor-widget-theme-post-content table { font-size: 14px; }
  .elementor-widget-theme-post-content th, .elementor-widget-theme-post-content td { padding: 8px 9px; }
  .lf-legal-h1 { font-size: 30px !important; margin-top: 28px !important; }
  /* post hero title: 26 words at 36px filled the whole first screen */
  .elementor-widget-theme-post-title .elementor-heading-title { font-size: 28px !important; line-height: 1.2 !important; }
}
