/* One outer gutter per mobile section, without accumulating nested Elementor padding. */
@media (max-width: 767px) {
    body { --lu-mobile-gutter: 20px; }

    :is(.elementor[data-elementor-type="wp-page"], .elementor-location-single, .elementor-location-archive) > .e-con:not(.lu-box-970) {
        padding-inline: var(--lu-mobile-gutter) !important;
        margin-inline: 0 !important;
        width: 100%;
        max-width: 100%;
    }

    /* Transparent layout wrappers must not add a second or third gutter. */
    :is(.elementor[data-elementor-type="wp-page"], .elementor-location-single, .elementor-location-archive) > .e-con:not(.lu-box-970) :is(.e-con, .e-con-inner):not(.lu-home-topic-card, .lu-home-stamp-row, .anomalie, .lu-envelope, .lu-team-life-card, .lu-team-life-rules):not(.lu-home-topic-card *, .anomalie *, .lu-envelope *) {
        padding-inline: 0 !important;
        margin-inline: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* A card's interior is distinct from the page gutter. */
    .elementor .lu-team-life-card,
    .elementor .lu-team-life-rules,
    .elementor .lu-home-topic-card,
    .elementor .anomalie,
    .elementor .lu-envelope,
    .elementor .lu-random-dossiers .lu-home-card-body { padding-inline: 20px !important; }

    /* These default-template pages already receive the outer gutter from VintWood. */
    :is(.page-id-798, .page-id-1911) .elementor[data-elementor-type="wp-page"] > .e-con { padding-inline: 0 !important; }
    .page_content > .container,
    footer .container {
        width: calc(100% - 2 * var(--lu-mobile-gutter));
        max-width: none;
        padding-inline: 0;
        margin-inline: var(--lu-mobile-gutter);
    }
    .lu-mentions-legales { padding-inline: var(--lu-mobile-gutter); }
    .single-cws_staff #page_content > .grid_row {
        width: calc(100% - 2 * var(--lu-mobile-gutter));
        margin-inline: var(--lu-mobile-gutter);
    }

    /* Remove local widget indents, preserving the full-width hero artwork. */
    .elementor .elementor-widget-lu_eyebrow > .elementor-widget-container { padding-inline: 0 !important; }
    .elementor .elementor-widget-lu_eyebrow { width: 100% !important; max-width: 100%; }
    .lu-border-etoiles > .e-con::before { left: calc(4px - var(--lu-mobile-gutter)) !important; }
    .lu-border-etoiles > .e-con::after { right: calc(4px - var(--lu-mobile-gutter)) !important; }
    .home .elementor :is([data-id="5f5633c"], [data-id="6c93339"]) {
        width: 100% !important;
        margin-inline: 0 !important;
    }
    .home .elementor :is([data-id="1adc3626"], [data-id="69198a0"], [data-id="790d45"]),
    .page-id-1795 .elementor [data-id="5c7ac5ee"],
    .page-id-1835 .elementor [data-id="515bc4ed"] { width: 100% !important; }
    .page-id-317 .elementor [data-id="b1abbe6"] { margin-inline: 0 !important; }
    .page-id-506 .elementor [data-id="67cd8ad"] > .e-con-inner > :is([data-id="cf41b22"], [data-id="1e19571"]) {
        margin-inline: 20px !important;
        max-width: calc(100% - 40px) !important;
    }
    .page-id-506 .elementor [data-id="1e19571"] { width: calc(100% - 40px); }

    /* Enquête results: include the icon's 19px outer ring and the ribbon tail
       inside the shared gutter, with an equal full-width ribbon for each item. */
    .page-id-506 [data-id="62b1d09"] .lu-service-ruban .elementor-icon-box-wrapper {
        position: relative;
        align-items: center !important;
        min-height: 88px;
        width: 100%;
    }
    .page-id-506 [data-id="62b1d09"] .lu-service-ruban .elementor-icon-box-icon {
        position: absolute !important;
        left: 19px;
        top: 50% !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        width: 50px;
        height: 50px;
        line-height: 0;
        display: flex;
        align-items: center;
    }
    .page-id-506 [data-id="62b1d09"] .lu-service-ruban .elementor-icon-box-content {
        align-self: center !important;
        width: 100%;
        min-width: 0;
    }
    .page-id-506 [data-id="62b1d09"] .lu-service-ruban .elementor-icon-box-title {
        display: flex !important;
        align-items: center;
        justify-content: center;
        text-align: center !important;
        box-sizing: border-box;
        width: calc(100% - 26px) !important;
        min-height: 56px;
        margin: 0 26px 0 0 !important;
        padding: 4px 8px 4px 92px !important;
        line-height: 1.15 !important;
    }
    .page-id-506 [data-id="62b1d09"] .lu-service-ruban .elementor-icon-box-title::after {
        right: -26px !important;
        width: 45px !important;
        height: calc(100% - 10px) !important;
        top: -10px !important;
    }
    .page-id-506 [data-id="62b1d09"] .lu-service-ruban .elementor-icon-box-title > :is(span, a) {
        transform: translateX(-12px);
    }
}
