/*
 * Almighty Bail Bonds shared content rail
 *
 * Every public route uses the same responsive left and right guides. Large
 * color bands may still span the viewport, while the content and major panels
 * inside them align to this one rail. Readable copy keeps its own line-length
 * limits inside the rail.
 */

:root,
[data-theme="light"],
[data-theme="dark"] {
  --site-content-gutter: var(--public-gutter, clamp(1rem, 3.2vw, 4.5rem));
  --site-content-width: calc(100% - var(--site-content-gutter) - var(--site-content-gutter));
}

/* Shared chrome follows the same guides as the page body. */
.utility-bar__inner,
.footer > .wrap {
  width: var(--site-content-width);
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}

.nav {
  padding-inline: var(--site-content-gutter);
}

body.home-page .footer,
body.interior-page .footer {
  padding-inline: 0;
}

/* The direct section wrapper is the canonical site rail. */
body[class] main > section[class] > .wrap,
body[class] main > .section[class] > .wrap,
body.home-page main .faith-services-scene > section > .wrap {
  width: var(--site-content-width);
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}

body.interior-page .page-head > .wrap {
  flex: none;
}

/* These presentation surfaces predate the shared .wrap shell. */
body.faq-page .faq-layout,
body.process-page .process-presentation__inner,
body.services-page .services-directory__intro,
body.services-page .services-directory__rows,
body.services-page .service-faith-note__inner,
body.interior-page .split,
body.interior-page .servicearea-split,
body.interior-page .contact-grid,
body.interior-page .payment-entry,
body.interior-page .location-hub__inner,
body.interior-page .about-covenant > .wrap {
  width: var(--site-content-width);
  max-width: none;
  margin-inline: auto;
}

body.services-page .services-directory__rows {
  padding-inline: 0;
}

/* Parents that supplied a second, competing horizontal inset now supply only
 * vertical rhythm. Their child surface owns the single site rail. */
body.process-page .process-presentation,
body.services-page .services-directory,
body.services-page .service-faith-note,
body.contact-page .contact-stage,
body.service-area-page .location-hub {
  padding-inline: 0;
}

/* Legal pages now use a full-width panel on the shared rail without turning
 * policy copy into unreadably long lines. */
body.legal-page .prose > * {
  max-width: 72ch;
}

@media (max-width: 63.999rem) {
  :root,
  [data-theme="light"],
  [data-theme="dark"] {
    --site-content-gutter: clamp(1rem, 4vw, 2rem);
  }
}

@media (max-width: 22rem) {
  :root,
  [data-theme="light"],
  [data-theme="dark"] {
    --site-content-gutter: .875rem;
  }
}
