/* Shared visible content edges, matching the modern Home/header shell.
 * Only verified public pages receive this body marker. Heroes and inner columns
 * retain their own layout; these rules address the outermost content frames. */
body.hirondelle-design-2026.hfd-content-width {
 --hfd-page-content-max:1176px;
 --hfd-page-content-gutter:32px;
}

/* Native pages: replace Astra's independent 20px gutters with the common frame.
 * Elementor pages use a full-width host so their hero/background rows can bleed. */
body.hirondelle-design-2026.hfd-content-width #content > .ast-container {
 box-sizing:border-box;
 width:calc(100% - 2 * var(--hfd-page-content-gutter));
 max-width:var(--hfd-page-content-max);
 padding-inline:0;
 margin-inline:auto;
}
body.hirondelle-design-2026.hfd-content-width #content > .ast-container:has(.elementor[data-elementor-type="wp-page"]) {
 width:100%;
 max-width:none;
 padding-inline:0;
}

/* A direct Elementor row is an outer frame, never a nested text or card column. */
body.hirondelle-design-2026.hfd-content-width #content .elementor[data-elementor-type="wp-page"] > .e-con:not(.fh-hero-slider):not(.hfd-detail-hero):not(.hfd-home-modern-root):not([data-id="6372b40"]):has(> .e-con-inner) {
 box-sizing:border-box;
 width:100%!important;
 max-width:none!important;
 padding-inline:0!important;
 margin-inline:0!important;
}
body.hirondelle-design-2026.hfd-content-width #content .elementor[data-elementor-type="wp-page"] > .e-con:not(.fh-hero-slider):not(.hfd-detail-hero):not(.hfd-home-modern-root):not([data-id="6372b40"]) > .e-con-inner {
 box-sizing:border-box;
 width:calc(100% - 2 * var(--hfd-page-content-gutter))!important;
 max-width:var(--hfd-page-content-max)!important;
 padding-inline:0!important;
 margin-inline:auto!important;
}
body.hirondelle-design-2026.hfd-content-width #content .elementor[data-elementor-type="wp-page"] > .e-con:not(.fh-hero-slider):not(.hfd-detail-hero):not(.hfd-home-modern-root):not([data-id="6372b40"]):not(:has(> .e-con-inner)) {
 box-sizing:border-box;
 width:calc(100% - 2 * var(--hfd-page-content-gutter))!important;
 max-width:var(--hfd-page-content-max)!important;
 padding-inline:0!important;
 margin-inline:auto!important;
}

/* Legacy section-based Elementor documents follow the same first-level rule. */
body.hirondelle-design-2026.hfd-content-width #content .elementor[data-elementor-type="wp-page"] > .elementor-section:not(.fh-hero-slider):not(.hfd-detail-hero) > .elementor-container {
 box-sizing:border-box;
 width:calc(100% - 2 * var(--hfd-page-content-gutter))!important;
 max-width:var(--hfd-page-content-max)!important;
 margin-inline:auto!important;
}

/* Reviewed native content roots fill their host; remove only duplicate outer
 * horizontal gutters. Their typography, inner cards and vertical space remain. */
body.hirondelle-design-2026.hfd-content-width #content :is(.hfd-modern-training.hfd-modern-training,.hfd-travel-detail,.hfd-terrain-detail-layout,.hfd-terrain-detail,.hfd-learn-overview,.hfd-video-library,.hfd-downloads-library,.hfd-tandem-2026,.hfd-insurance,.hfd-team-profiles,.hfd-shop-panorama,.hfd-travel-overview-cards,.htr-explorer,.htc-community) {
 box-sizing:border-box;
 width:100%!important;
 max-width:none!important;
 padding-inline:0!important;
 margin-inline:auto!important;
}
/* These two native tools also had an extra inset around their complete public
 * root. Their controls, map canvas, product cards and private screens are not
 * selected. The underlying native store stays in its original container. */
body.hirondelle-design-2026.hfd-content-width.page-id-11 #content .entry-content > .hseb,
body.hirondelle-design-2026.hfd-content-width.page-id-44 #content .entry-content > .hfw-weather {
 box-sizing:border-box;
 width:100%;
 max-width:none;
 padding-inline:0;
}

/* Some response-only sections sit directly beside the Elementor rows. Give
 * those roots exactly one frame, rather than a frame plus an inner frame. */
body.hirondelle-design-2026.hfd-content-width #content .elementor[data-elementor-type="wp-page"] > :is(.hfd-modern-training.hfd-modern-training,.hfd-travel-overview-cards,.hfd-team-profiles,.hfd-shop-panorama,.htr-explorer),
body.hirondelle-design-2026.hfd-content-width #content .entry-content:has(> .elementor[data-elementor-type="wp-page"]) > :is(.hfd-modern-training.hfd-modern-training,.hfd-travel-detail,.hfd-video-library,.hfd-downloads-library,.hfd-team-profiles,.hfd-shop-panorama,.hfd-travel-overview-cards,.htr-explorer,.htc-community) {
 width:calc(100% - 2 * var(--hfd-page-content-gutter))!important;
 max-width:var(--hfd-page-content-max)!important;
}

/* This existing blue travel introduction is itself the outer card. Its inner
 * 50px padding intentionally stays inside the now-aligned outside edges. */
body.hirondelle-design-2026.hfd-content-width.page-id-907 #content .elementor-907 > [data-id="6372b40"] {
 box-sizing:border-box;
 width:calc(100% - 2 * var(--hfd-page-content-gutter))!important;
 max-width:var(--hfd-page-content-max)!important;
 margin-inline:auto!important;
}

@media(max-width:550px) {
 body.hirondelle-design-2026.hfd-content-width {--hfd-page-content-gutter:18px}
}
