/*
 * KScreative layout corrections — 16 October 2026.
 * Generated after native Elementor structure checks and browser measurements.
 * Keep intentional inner carousels, artwork offsets and horizontal Care plans.
 */
body.elementor-page {
    --ks-page-gutter: 32px;
}
/* Ohio's legacy row compensation overflows unpadded full-width wrappers. */
body.elementor-page .site-content .elementor[data-elementor-type="wp-page"],
body.elementor-page .elementor.elementor-location-footer {
    margin-inline: 0;
    width: 100%;
    max-width: 100%;
}
/* A full-width section needs a full-width parent, not a scrollbar-sized 100vw. */
body.elementor-page .site-content > .page-container {
    width: 100%;
    max-width: none;
    padding-inline: 0;
}
body.elementor-page .site-content .elementor[data-elementor-type="wp-page"] > .e-con.e-parent.e-con-full {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    left: 0 !important;
    right: auto !important;
}
/* One balanced gutter at the outer content boundary; retain vertical spacing. */
body.elementor-page .site-content .elementor[data-elementor-type="wp-page"] > .e-con-boxed {
    padding-inline: 0;
}
body.elementor-page .site-content .elementor[data-elementor-type="wp-page"] > .e-con-boxed > .e-con-inner {
    padding-inline: var(--ks-page-gutter);
    box-sizing: border-box;
}
body.elementor-page .site-content .e-con,
body.elementor-page .elementor-location-footer .e-con {
    min-width: 0;
}
/* Legal copy: readable line lengths, balanced margins, existing content intact. */
body:is(.page-id-252744,.page-id-252787) .elementor[data-elementor-type="wp-page"] > .e-con > .e-con-inner {
    max-width: 900px;
    margin-inline: auto;
}
/* Care plans already supplies its own hero; remove the duplicate theme headline. */
body.page-id-257229 .page-headline {
    display: none;
}
body.page-id-257229 .elementor .elementor-element-6b0ffe72 {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}
/* The portfolio grid's own negative margins need an equal outer gutter. */
body.page-id-20700 .elementor .elementor-element-c97d387 {
    padding-inline: var(--ks-page-gutter);
}
/* Footer: remove stacked 40 + 35 + 10px gutters and negative row margins. */
.elementor.elementor-location-footer[data-elementor-id="256383"] .elementor-element-c19ace9 {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 64px 0 0;
    box-sizing: border-box;
}
.elementor.elementor-location-footer[data-elementor-id="256383"] .elementor-element-916fc3e {
    width: 100%;
    max-width: 1300px;
    padding: 56px var(--ks-page-gutter) 32px;
    margin-inline: auto;
    gap: 32px;
    align-items: flex-start;
}
.elementor.elementor-location-footer[data-elementor-id="256383"] :is(.elementor-element-a3c0f73,.elementor-element-8f8fccf,.elementor-element-057a2b2) {
    padding: 0;
    min-width: 0;
}
.elementor.elementor-location-footer[data-elementor-id="256383"] .elementor-element-2b516ed {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 24px var(--ks-page-gutter) 32px;
    gap: 24px;
}
.elementor.elementor-location-footer[data-elementor-id="256383"] :is(.elementor-element-f76fe94,.elementor-element-ffc22b2) {
    flex: 1 1 0;
    min-width: 0;
}
/* Photograph CTA buttons need their natural width and permission to wrap. */
body.page-id-253997 .elementor .elementor-element-3e62f238 {
    flex-wrap: wrap;
}
body.page-id-253997 .elementor .elementor-element-3e62f238 > .elementor-widget-ohio_button {
    width: auto;
    max-width: 100%;
    flex: 0 0 auto;
}
@media (max-width: 1024px) {
    body.page-id-253997 .elementor .elementor-element-49eac30d > .e-con-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
    }
    body.page-id-253997 .elementor .elementor-element-49eac30d > .e-con-inner > .e-con {
        width: 100%;
    }
    body.elementor-page { --ks-page-gutter: 28px; }
    /* The photography hero's 29% column forces a word to break on tablet. */
    body.page-id-253997 .elementor .elementor-element-6e62d5d {
        width: min(100%, 620px);
        max-width: 100%;
    }
    .elementor.elementor-location-footer[data-elementor-id="256383"] .elementor-element-916fc3e {
        flex-wrap: wrap;
    }
    .elementor.elementor-location-footer[data-elementor-id="256383"] :is(.elementor-element-a3c0f73,.elementor-element-8f8fccf,.elementor-element-057a2b2) {
        width: calc((100% - 64px) / 3);
    }
}
@media (max-width: 767px) {
    body.elementor-page { --ks-page-gutter: 24px; }
    /* Keep long hero titles legible without breaking individual Dutch words. */
    body.page-id-253997 .elementor .elementor-element-6e62d5d {
        width: 100%;
    }
    body.page-id-253997 .elementor .elementor-element-c667b96 {
        padding-inline: var(--ks-page-gutter);
    }
    body.page-id-253997 .elementor .elementor-element-c667b96 > .e-con-inner {
        padding-inline: 0;
    }
    body.page-id-253997 h1 {
        font-size: clamp(36px, 10vw, 48px);
        overflow-wrap: normal;
        word-break: normal;
    }
    /* Webshop intro was limited to 50%, producing unnecessarily short lines. */
    body.page-id-2791 .elementor .elementor-element-24a665c {
        width: calc(100% - 48px);
        max-width: 560px;
        margin-inline: auto;
    }
    .elementor.elementor-location-footer[data-elementor-id="256383"] .elementor-element-c19ace9 {
        margin-top: 48px;
    }
    .elementor.elementor-location-footer[data-elementor-id="256383"] .elementor-element-916fc3e {
        flex-direction: column;
        gap: 28px;
        padding-block: 40px 24px;
    }
    .elementor.elementor-location-footer[data-elementor-id="256383"] :is(.elementor-element-a3c0f73,.elementor-element-8f8fccf,.elementor-element-057a2b2) {
        width: 100%;
    }
    .elementor.elementor-location-footer[data-elementor-id="256383"] .elementor-element-2b516ed {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
        padding-block: 20px 28px;
    }
    .elementor.elementor-location-footer[data-elementor-id="256383"] :is(.elementor-element-f76fe94,.elementor-element-ffc22b2) {
        width: 100%;
        flex: 0 0 auto;
        justify-content: flex-start;
    }
}
