/* Wide block-composition page layouts (landing, service, location, driver network) */

.landing-page,
.service-page,
.location-page,
.driver-network-page,
.faq-page,
.contact-page {
  padding-block: 0;
}

.landing-page .entry-content,
.landing-page article,
.service-page .entry-content,
.service-page article,
.location-page__content,
.location-page article,
.driver-network-page .entry-content,
.driver-network-page article,
.faq-page .entry-content,
.faq-page article,
.contact-page .entry-content,
.contact-page article {
  margin: 0;
}

/*
 * Gallery repair left an unclosed outer c-marketing-intro wrapper on the homepage.
 * Shell sections nested inside it inherit 760px prose width — restore 1220px.
 */
.landing-page section.c-marketing-intro:not(.c-marketing-intro--home):not(.c-marketing-intro--contact) > :is(
  section.c-trust-strip,
  section.c-services-section,
  section.c-why-choose,
  section.c-how-it-works,
  section.c-testimonials-section,
  section.c-coverage-section,
  section.c-industries,
  section.c-trust-compliance,
  section.c-work-gallery,
  section.c-faq-accordion,
  section.c-cta-banner
) {
  width: min(100% - 2rem, var(--wp--style--global--wide-size, 1220px));
  max-width: var(--wp--style--global--wide-size, 1220px);
  margin-inline: auto;
}

/* Wide marketing shell sections: direct children use wide size, intros stay prose width. */
.landing-page :is(
  section.c-trust-strip,
  section.c-services-section,
  section.c-why-choose,
  section.c-how-it-works,
  section.c-testimonials-section,
  section.c-coverage-section,
  section.c-industries,
  section.c-trust-compliance,
  section.c-work-gallery,
  section.c-faq-accordion,
  section.c-cta-banner,
  section.c-marketing-intro--home,
  section.c-marketing-intro--contact
).is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.c-section-intro):not(.c-why-choose__intro):not(.c-services-section__intro):not(.c-marketing-intro__lead)) {
  max-width: var(--wp--style--global--wide-size, 1220px);
  width: min(100% - 2rem, var(--wp--style--global--wide-size, 1220px));
  margin-inline: auto;
}

/* Service, location, contact, and driver pages: shell sections at wide width. */
.service-page :is(
  section.c-trust-strip,
  section.c-service-benefits,
  section.c-service-includes,
  section.c-how-it-works,
  section.c-why-choose,
  section.c-testimonials-section,
  section.c-coverage-section,
  section.c-case-study,
  section.c-work-gallery,
  section.c-faq-accordion,
  section.c-pricing-guidance,
  section.c-trust-compliance,
  section.c-cta-banner,
  section.c-location-services
).is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.c-section-intro):not(.c-why-choose__intro)) {
  max-width: var(--wp--style--global--wide-size, 1220px);
  width: min(100% - 2rem, var(--wp--style--global--wide-size, 1220px));
  margin-inline: auto;
}

.location-page :is(
  section.c-trust-strip,
  section.c-location-services,
  section.c-why-choose,
  section.c-testimonials-section,
  section.c-coverage-section,
  section.c-faq-accordion,
  section.c-cta-banner
).is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.c-section-intro):not(.c-why-choose__intro)) {
  max-width: var(--wp--style--global--wide-size, 1220px);
  width: min(100% - 2rem, var(--wp--style--global--wide-size, 1220px));
  margin-inline: auto;
}

.contact-page :is(
  section.c-trust-strip,
  section.c-contact-trust,
  section.c-contact-form-stack,
  section.c-faq-accordion,
  section.c-cta-banner
).is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.c-section-intro)) {
  max-width: var(--wp--style--global--wide-size, 1220px);
  width: min(100% - 2rem, var(--wp--style--global--wide-size, 1220px));
  margin-inline: auto;
}

.driver-network-page :is(
  section.c-trust-strip,
  section.c-why-choose,
  section.c-cta-banner
).is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.c-section-intro):not(.c-why-choose__intro)) {
  max-width: var(--wp--style--global--wide-size, 1220px);
  width: min(100% - 2rem, var(--wp--style--global--wide-size, 1220px));
  margin-inline: auto;
}

/* Editorial intro sections: wide shell, prose-width copy centered inside. */
.service-page section.c-service-overview.is-layout-constrained,
.location-page section.c-location-neighbourhoods.is-layout-constrained,
.location-page section.c-location-areas-section.is-layout-constrained,
.contact-page section.c-contact-channels.is-layout-constrained,
.faq-page section.c-faq-hub-nav.is-layout-constrained,
.driver-network-page section.c-driver-fleet-standards.is-layout-constrained,
.landing-page section.c-marketing-intro.is-layout-constrained,
.service-page section.c-faq-accordion.is-layout-constrained {
  width: min(100% - 2rem, var(--wp--style--global--wide-size, 1220px));
  max-width: var(--wp--style--global--wide-size, 1220px);
  margin-inline: auto;
}

.service-page section.c-service-overview.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.location-page section.c-location-neighbourhoods.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.location-page section.c-location-areas-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.contact-page section.c-contact-channels.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.c-contact-channels-grid)),
.faq-page section.c-faq-hub-nav.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.c-faq-hub-category-grid)),
.driver-network-page section.c-driver-fleet-standards.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.landing-page section.c-marketing-intro.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.c-marketing-intro--home):not(.c-marketing-intro--contact)) {
  max-width: var(--wp--style--global--content-size, 760px);
  margin-inline: auto;
}

.contact-page section.c-contact-channels.is-layout-constrained > .c-contact-channels-grid,
.contact-page section.c-contact-channels.is-layout-constrained > .wp-block-group.c-contact-channels-grid {
  max-width: var(--wp--style--global--wide-size, 1220px);
  width: min(100%, var(--wp--style--global--wide-size, 1220px));
  margin-inline: auto;
}

.faq-page section.c-faq-hub-nav.is-layout-constrained > .c-faq-hub-category-grid,
.faq-page section.c-faq-hub-nav.is-layout-constrained > .wp-block-group.c-faq-hub-category-grid {
  max-width: var(--wp--style--global--wide-size, 1220px);
  width: min(100%, var(--wp--style--global--wide-size, 1220px));
  margin-inline: auto;
}

.contact-page section.c-marketing-intro--contact.is-layout-constrained {
  width: min(100% - 2rem, var(--wp--style--global--wide-size, 1220px));
  max-width: var(--wp--style--global--wide-size, 1220px);
  margin-inline: auto;
}

.contact-page section.c-marketing-intro--contact.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--wp--style--global--content-size, 760px);
  margin-inline: auto;
  text-align: center;
}

.landing-page .entry-content > .alignfull,
.landing-page .entry-content > .wp-block-group.alignfull,
.landing-page article > .alignfull,
.landing-page article > .wp-block-group.alignfull,
.service-page .entry-content > .alignfull,
.service-page .entry-content > .wp-block-group.alignfull,
.service-page article > .alignfull,
.service-page article > .wp-block-group.alignfull,
.location-page .entry-content > .alignfull,
.location-page .entry-content > .wp-block-group.alignfull,
.location-page article > .alignfull,
.location-page article > .wp-block-group.alignfull,
.driver-network-page .entry-content > .alignfull,
.driver-network-page .entry-content > .wp-block-group.alignfull,
.driver-network-page article > .alignfull,
.driver-network-page article > .wp-block-group.alignfull,
.faq-page .entry-content > .alignfull,
.faq-page .entry-content > .wp-block-group.alignfull,
.faq-page article > .alignfull,
.faq-page article > .wp-block-group.alignfull,
.contact-page article > .alignfull,
.contact-page article > .wp-block-group.alignfull {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.landing-page .hero-section.alignfull,
.service-page .hero-section.alignfull,
.driver-network-page .hero-section.alignfull,
.faq-page .hero-section.alignfull,
.contact-page .hero-section.alignfull,
.location-page .hero-section.alignfull {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.service-page .c-trust-strip,
.service-page .c-why-choose,
.service-page .c-testimonials-section,
.service-page .c-coverage-section,
.service-page .c-trust-compliance,
.service-page .c-industries,
.service-page .c-cta-banner {
  padding-inline: 0;
}

.service-page .c-service-overview,
.service-page .c-service-benefits,
.service-page .c-service-includes,
.service-page .c-how-it-works--service,
.service-page .c-case-study--service,
.service-page .c-pricing-guidance {
  padding-inline: 0;
}

.landing-page .c-marketing-intro:not(.c-marketing-intro--home):not(.c-marketing-intro--contact) > .c-marketing-intro--home,
.landing-page .c-marketing-intro:not(.c-marketing-intro--home):not(.c-marketing-intro--contact) > .c-marketing-intro--contact,
.contact-page .c-marketing-intro:not(.c-marketing-intro--home):not(.c-marketing-intro--contact) > .c-marketing-intro--contact {
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding-block: 0;
}

.landing-page .c-marketing-intro,
.location-page .c-location-neighbourhoods,
.location-page .c-location-areas-section,
.contact-page .c-contact-channels,
.faq-page .c-faq-hub-nav,
.driver-network-page .c-driver-fleet-standards,
.service-page .wp-block-group.c-service-overview:not(.is-layout-constrained),
.landing-page .wp-block-group.c-marketing-intro:not(.is-layout-constrained),
.location-page .wp-block-group.c-location-neighbourhoods:not(.is-layout-constrained),
.location-page .wp-block-group.c-location-areas-section:not(.is-layout-constrained),
.contact-page .wp-block-group.c-contact-channels:not(.is-layout-constrained),
.faq-page .wp-block-group.c-faq-hub-nav:not(.is-layout-constrained),
.driver-network-page .wp-block-group.c-driver-fleet-standards:not(.is-layout-constrained),
.service-page .wp-block-group.c-faq-accordion:not(.is-layout-constrained),
.location-page .c-location-areas-grid,
.faq-page .c-faq-hub-category-grid {
  width: min(100% - 2rem, var(--wp--style--global--wide-size, 1220px));
  max-width: var(--wp--style--global--wide-size, 1220px);
  margin-inline: auto;
}

.faq-page .wp-block-group.c-faq-hub-nav:not(.is-layout-constrained) > .c-faq-hub-category-grid,
.faq-page .wp-block-group.c-faq-hub-nav:not(.is-layout-constrained) > .wp-block-group.c-faq-hub-category-grid {
  max-width: var(--wp--style--global--wide-size, 1220px);
  width: min(100%, var(--wp--style--global--wide-size, 1220px));
  margin-inline: auto;
}

.service-page .wp-block-group.c-service-overview:not(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.landing-page .wp-block-group.c-marketing-intro:not(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.location-page .wp-block-group.c-location-neighbourhoods:not(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.location-page .wp-block-group.c-location-areas-section:not(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.contact-page .wp-block-group.c-contact-channels:not(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.c-contact-channels-grid)),
.faq-page .wp-block-group.c-faq-hub-nav:not(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.c-faq-hub-category-grid)),
.driver-network-page .wp-block-group.c-driver-fleet-standards:not(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.service-page .wp-block-group.c-faq-accordion:not(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--wp--style--global--content-size, 760px);
  margin-inline: auto;
}

/* Mid-page CTAs built without centered button layout in block attrs. */
.service-page .c-cta-banner--service .wp-block-buttons,
.service-page .c-cta-banner--mid .wp-block-buttons,
.contact-page .c-cta-banner .wp-block-buttons,
.driver-network-page .c-cta-banner .wp-block-buttons,
.location-page .c-cta-banner .wp-block-buttons {
  justify-content: center;
}

.landing-page .c-trust-strip,
.landing-page .c-why-choose,
.landing-page .c-how-it-works,
.landing-page .c-testimonials-section,
.landing-page .c-coverage-section,
.landing-page .c-industries,
.landing-page .c-trust-compliance,
.landing-page .c-cta-banner,
.landing-page .hero-section {
  padding-inline: 0;
}

.landing-page .moveops-fluent-form,
.landing-page .c-trust-badges {
  padding-inline: 0;
}
