/* Site-wide safety net, loaded last so it wins.

   Nothing on the site overflows sideways today — all 205 routes measure 0 at
   390px — so this is a guard, not a repair: it stops a future edit (a wide
   table, an oversized embed) from quietly reintroducing the sideways scroll
   that ruins a page on a phone. It replaces `body { overflow-x: auto }` from
   the old WordPress custom CSS.

   `clip` rather than `hidden`: hidden turns the element into a scroll
   container, which breaks position:sticky descendants and scroll anchoring.
   `clip` crops without that side effect. Browsers too old for `clip` fall back
   to the `hidden` on the line above.

   Deliberately no `img { max-width: 100% }` here: 54 images across the site are
   drawn a few pixels wider than their box by design, and capping them would
   change the layout. */
html,
body {
  overflow-x: hidden;
  overflow-x: clip;
}

/* "Why Choose Bazaar Accounting?" on the home page.

   The paragraph in this band reads as a block of body copy across a wide
   column, so it is justified. The heading is left alone: justification has no
   effect on a single line, and forcing it would only risk stretching a short
   one on a narrow screen.

   Left ragged below 768px, where the lines are short enough that justifying
   opens rivers of white space between words. */
@media (min-width: 768px) {
  .elementor-4044 .elementor-element.elementor-element-ac16dfd,
  .elementor-4044 .elementor-element.elementor-element-ac16dfd p {
    text-align: justify;
  }
}

/* "Corporate Governance / Legal Advice" on /services/strategic-business-services/.

   The band held a heading and one paragraph across the full width, which left
   it looking half empty. It is a two-column row now: the copy on the left,
   justified so both edges sit flush, and a picture on the right.

   Single column below 900px, where two would leave each too narrow to read,
   and the copy goes back to ragged-right because justifying short lines opens
   rivers of white space. */
.elementor-element-49e65b1 > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}

@media (min-width: 900px) {
  .elementor-element-49e65b1 .elementor-element-4f4c39c,
  .elementor-element-49e65b1 .elementor-element-4f4c39c p {
    text-align: justify;
  }
}

.elementor-element-sbs-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
}

@media (max-width: 899px) {
  .elementor-element-49e65b1 > .e-con-inner { grid-template-columns: minmax(0, 1fr); }
  /* Picture above the words on a phone, so the section still opens with an image. */
  .elementor-element-sbs-image { order: -1; }
}
