/* OHM Academy homepage — fresh design v1.16
   Pure CSS redesign on top of the preserved migrated content. */

.home {
    --ohm-green: #57963d;
    --ohm-green-deep: #356b2a;
    --ohm-green-soft: #eef6ea;
    --ohm-blue: #63b9dc;
    --ohm-blue-deep: #3885a4;
    --ohm-blue-soft: #edf8fc;
    --ohm-ink: #36413c;
    --ohm-text: #5e6964;
    --ohm-muted: #7b8781;
    --ohm-line: #e1e9e3;
    --ohm-surface: #ffffff;
    --ohm-page: #f6f9f6;
    background: var(--ohm-page);
    color: var(--ohm-text);
}

.home .site-main {
    overflow: clip;
}

.home .page-header {
    width: min(1180px, calc(100% - 36px));
    margin: 20px auto 10px;
    padding: 0;
}

.home .page-header .entry-title {
    margin: 0;
    color: #819087;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.home .page-content,
.home .elementor-6 {
    margin: 0 !important;
    padding: 0 !important;
}

.home .elementor-6 > .e-parent {
    --container-max-width: 1180px;
}

.home .elementor-6 p {
    color: var(--ohm-text);
    line-height: 1.72;
}

.home .elementor-6 .elementor-button {
    min-height: 46px;
    padding: 12px 18px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--ohm-blue) !important;
    color: #fff !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(62,143,174,.18);
    transform: none !important;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.home .elementor-6 .elementor-button:hover {
    background: var(--ohm-blue-deep) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 12px 24px rgba(62,143,174,.24);
}

/* HERO — keep original video, make it genuinely responsive. */
.home .elementor-6 > [data-id="67f29df"] {
    position: relative !important;
    isolation: isolate;
    min-height: clamp(600px, 76svh, 790px) !important;
    overflow: hidden !important;
    background-color: #24452f !important;
}

.home .elementor-6 > [data-id="67f29df"]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(21,47,30,.84) 0%, rgba(27,62,38,.65) 45%, rgba(24,54,34,.24) 76%, rgba(19,42,27,.15) 100%),
        linear-gradient(0deg, rgba(15,34,22,.28), rgba(15,34,22,.08));
}

.home [data-id="67f29df"] > .e-con-inner {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    width: min(1180px, 100%) !important;
    min-height: inherit !important;
    margin: 0 auto !important;
    padding: 86px 28px 110px !important;
}

.home [data-id="67f29df"] .elementor-background-video-container {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

.home [data-id="67f29df"] .elementor-background-video-hosted {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) !important;
}

.home [data-id="6774772"] {
    width: min(720px, 100%) !important;
    max-width: 720px !important;
    padding: 0 !important;
    align-items: flex-start !important;
}

.home [data-id="0f2eec1"] .elementor-heading-title {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(48px, 6vw, 78px) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    text-shadow: 0 2px 22px rgba(0,0,0,.17);
}

.home [data-id="8b0cb3c"] .elementor-heading-title {
    margin: 12px 0 0 !important;
    color: #d9f0cf !important;
    font-size: clamp(22px, 2.6vw, 34px) !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
}

.home [data-id="2905eb5"] {
    max-width: 660px;
    margin-top: 22px !important;
}

.home [data-id="2905eb5"] article,
.home [data-id="2905eb5"] article div {
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home [data-id="2905eb5"] .ql-block,
.home [data-id="2905eb5"] p {
    margin: 0 0 5px !important;
    color: rgba(255,255,255,.92) !important;
    font-size: clamp(17px, 1.7vw, 21px) !important;
    line-height: 1.55 !important;
}

.home [data-id="af797a1"] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 28px !important;
}

.home [data-id="af797a1"] > .elementor-widget {
    width: auto !important;
    margin: 0 !important;
}

.home [data-id="af797a1"] .elementor-button {
    background: #fff !important;
    color: var(--ohm-green-deep) !important;
    box-shadow: 0 9px 24px rgba(0,0,0,.15);
}

.home [data-id="af797a1"] > .elementor-widget:nth-child(2) .elementor-button {
    border: 1px solid rgba(255,255,255,.52) !important;
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
    backdrop-filter: blur(5px);
}

.home [data-id="67f29df"] .elementor-shape-bottom {
    z-index: 2 !important;
}

/* Three quick choices. */
.home .elementor-6 > [data-id="b78b9d1"] {
    padding: 42px 18px 28px !important;
    background: transparent !important;
}

.home [data-id="b78b9d1"] > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: min(1180px, 100%) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.home [data-id="b78b9d1"] > .e-con-inner > a {
    position: relative !important;
    isolation: isolate;
    min-height: 275px !important;
    overflow: hidden !important;
    padding: 30px !important;
    justify-content: flex-end !important;
    border: 1px solid rgba(222,232,224,.85) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 36px rgba(41,68,49,.09);
    text-decoration: none !important;
    transition: transform .22s ease, box-shadow .22s ease !important;
}

.home [data-id="b78b9d1"] > .e-con-inner > a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(255,255,255,.08) 18%, rgba(255,255,255,.88) 63%, rgba(255,255,255,.98) 100%);
}

.home [data-id="b78b9d1"] > .e-con-inner > a:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 44px rgba(41,68,49,.14);
}

.home [data-id="b78b9d1"] .elementor-heading-title {
    margin: 0 0 8px !important;
    color: var(--ohm-ink) !important;
    font-size: 25px !important;
    line-height: 1.15 !important;
}

.home [data-id="b78b9d1"] p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* About + first preserved slider. */
.home .elementor-6 > [data-id="32977a5"] {
    padding: 30px 18px !important;
    background: transparent !important;
}

.home [data-id="32977a5"] > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
    width: min(1180px, 100%) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--ohm-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(42,69,50,.08);
}

.home [data-id="ba5fae3"] {
    padding: clamp(34px, 5vw, 62px) !important;
    justify-content: center !important;
}

.home [data-id="445d6f9"] .elementor-heading-title,
.home [data-id="b5c667c"] .elementor-heading-title {
    margin: 0 0 5px !important;
    color: var(--ohm-green) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

.home [data-id="eac9062"] .elementor-heading-title,
.home [data-id="6a0e6a4"] .elementor-heading-title {
    margin: 0 0 18px !important;
    color: var(--ohm-ink) !important;
    font-size: clamp(30px, 3.4vw, 46px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
}

.home [data-id="e9650272"],
.home [data-id="e965027"] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 22px !important;
}

.home [data-id="58c5231"] {
    min-width: 0 !important;
    min-height: 530px !important;
    padding: 22px !important;
    background-color: var(--ohm-green-soft) !important;
}

.home [data-id="a8fb4ed"],
.home [data-id="a8fb4ed"] > .elementor-widget-container,
.home [data-id="a8fb4ed"] .e-n-carousel {
    height: 100% !important;
    min-height: 486px !important;
}

.home [data-id="a8fb4ed"] .swiper-slide > .e-con {
    height: 100% !important;
}

.home [data-id="a8fb4ed"] [data-id="b925edb"],
.home [data-id="a8fb4ed"] [data-id="87e2594"] {
    min-height: 465px !important;
    padding: 38px !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    box-shadow: inset 0 -170px 120px -100px rgba(24,52,34,.78);
}

.home [data-id="1e4fecd"] .elementor-heading-title,
.home [data-id="9efb123"] .elementor-heading-title {
    display: inline-flex !important;
    width: auto !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    background: var(--ohm-blue) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.home [data-id="856af24"] .elementor-heading-title,
.home [data-id="346baa5"] .elementor-heading-title {
    color: #fff !important;
    font-size: clamp(27px, 3vw, 38px) !important;
    line-height: 1.08 !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.22);
}

.home [data-id="3b47cd4"] article,
.home [data-id="3b47cd4"] article div,
.home [data-id="8fcf184"] article,
.home [data-id="8fcf184"] article div {
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home [data-id="3b47cd4"] p,
.home [data-id="8fcf184"] p {
    color: rgba(255,255,255,.94) !important;
    line-height: 1.55 !important;
}

/* Why OHM + accordion. */
.home .elementor-6 > [data-id="cc8fb05"] {
    padding: 32px 18px !important;
    background: transparent !important;
}

.home [data-id="c94e567"] {
    width: min(1180px, 100%) !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    border: 1px solid var(--ohm-line) !important;
    border-radius: 22px !important;
    background-color: #f4f8f3 !important;
    box-shadow: 0 18px 44px rgba(42,69,50,.07);
}

.home [data-id="c94e567"] > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    gap: 36px !important;
    padding: clamp(34px, 5vw, 58px) !important;
}

.home [data-id="c2fa9d7"] .elementor-heading-title {
    margin: 0 0 7px !important;
    color: var(--ohm-green) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.home [data-id="f2db230"] .elementor-heading-title {
    margin: 0 0 18px !important;
    color: var(--ohm-ink) !important;
    font-size: clamp(31px, 3.6vw, 48px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
}

.home [data-id="2784ab2"] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

/* Both accordion blocks: native details, modern card behaviour. */
.home [data-id="0275f10"] .e-n-accordion,
.home [data-id="9fa3a71"] .e-n-accordion {
    display: grid !important;
    gap: 10px !important;
}

.home [data-id="0275f10"] details,
.home [data-id="9fa3a71"] details {
    overflow: hidden !important;
    margin: 0 !important;
    border: 1px solid var(--ohm-line) !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 6px 16px rgba(43,68,51,.035);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}

.home [data-id="0275f10"] details[open],
.home [data-id="9fa3a71"] details[open] {
    border-color: #bad9ad !important;
    box-shadow: 0 10px 24px rgba(55,100,59,.08);
    transform: translateY(-1px);
}

.home [data-id="0275f10"] summary,
.home [data-id="9fa3a71"] summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 58px !important;
    padding: 15px 58px 15px 17px !important;
    list-style: none !important;
    cursor: pointer !important;
    color: var(--ohm-ink) !important;
    font-weight: 800 !important;
}

.home [data-id="0275f10"] summary::-webkit-details-marker,
.home [data-id="9fa3a71"] summary::-webkit-details-marker {
    display: none !important;
}

.home [data-id="0275f10"] summary .e-n-accordion-item-title-icon,
.home [data-id="9fa3a71"] summary .e-n-accordion-item-title-icon {
    display: none !important;
}

.home [data-id="0275f10"] summary::after,
.home [data-id="9fa3a71"] summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 14px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--ohm-green-soft);
    color: var(--ohm-green-deep);
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    transform: translateY(-50%);
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.home [data-id="0275f10"] details[open] > summary::after,
.home [data-id="9fa3a71"] details[open] > summary::after {
    background: var(--ohm-green);
    color: #fff;
    transform: translateY(-50%) rotate(45deg);
}

.home [data-id="0275f10"] details > [role="region"],
.home [data-id="9fa3a71"] details > [role="region"] {
    padding: 0 18px 18px !important;
    animation: ohmFaqIn .22s ease both;
}

@keyframes ohmFaqIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Online + practice, preserving its original background image. */
.home .elementor-6 > [data-id="f8d502f"] {
    padding: 32px 18px !important;
    background: transparent !important;
}

.home [data-id="f8d502f"] > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr) !important;
    width: min(1180px, 100%) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--ohm-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(42,69,50,.08);
}

.home [data-id="aae9f51"] {
    min-height: 520px !important;
    background-color: #dfeadf !important;
    background-size: cover !important;
    background-position: center center !important;
}

.home [data-id="fa659b5"] {
    padding: clamp(35px, 5vw, 62px) !important;
    justify-content: center !important;
}

.home [data-id="f52440b"] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

/* Eight-card preserved carousel. */
.home .elementor-6 > [data-id="0a18c4b"] {
    padding: 38px 18px 54px !important;
    background: linear-gradient(180deg, #f6f9f6 0%, #eef5ed 100%) !important;
}

.home [data-id="0a18c4b"] > .e-con-inner {
    width: min(1180px, 100%) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.home [data-id="bb5fb8f"] .e-n-carousel {
    padding: 8px 4px 34px !important;
}

.home [data-id="bb5fb8f"] .swiper-slide {
    padding: 7px !important;
}

.home [data-id="bb5fb8f"] .swiper-slide .e-con-full {
    height: 100% !important;
    min-height: 255px !important;
    padding: 26px !important;
    border: 1px solid var(--ohm-line) !important;
    border-radius: 16px !important;
    background-color: #fff !important;
    box-shadow: 0 10px 26px rgba(43,68,51,.065);
}

.home [data-id="bb5fb8f"] .elementor-icon-box-icon {
    margin-bottom: 16px !important;
}

.home [data-id="bb5fb8f"] .elementor-icon {
    display: inline-grid !important;
    place-items: center !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 13px !important;
    background: var(--ohm-green-soft) !important;
    color: var(--ohm-green) !important;
}

.home [data-id="bb5fb8f"] .elementor-icon-box-title {
    margin: 0 0 9px !important;
    color: var(--ohm-ink) !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
}

.home [data-id="bb5fb8f"] .elementor-icon-box-description {
    color: var(--ohm-text) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

/* Shared carousel controls. */
.home .elementor-widget-n-carousel .elementor-swiper-button {
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.96) !important;
    color: var(--ohm-green-deep) !important;
    box-shadow: 0 8px 20px rgba(35,67,45,.14) !important;
}

.home .elementor-widget-n-carousel .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    background: #aebbb2 !important;
    opacity: .65 !important;
}

.home .elementor-widget-n-carousel .swiper-pagination-bullet-active {
    width: 22px !important;
    border-radius: 999px !important;
    background: var(--ohm-green) !important;
    opacity: 1 !important;
}

/* FAQ + personal contact. */
.home .elementor-6 > [data-id="e1749de"] {
    padding: 54px 18px 70px !important;
    background: #fff !important;
}

.home [data-id="e1749de"] > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr) !important;
    gap: 22px !important;
    width: min(1180px, 100%) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: start !important;
}

.home [data-id="f0e4f84"] {
    padding: clamp(26px, 4vw, 42px) !important;
    border: 1px solid var(--ohm-line) !important;
    border-radius: 20px !important;
    background-color: #f8faf8 !important;
}

.home [data-id="4b6fba7"] {
    position: sticky !important;
    top: 105px !important;
    padding: 34px !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, #4f9138, #356d2d) !important;
    box-shadow: 0 17px 38px rgba(45,89,49,.18);
}

.home [data-id="4b6fba7"] .elementor-heading-title,
.home [data-id="4b6fba7"] p {
    color: #fff !important;
}

.home [data-id="df9b29b"] .elementor-heading-title {
    margin: 0 0 7px !important;
    color: #cfebc6 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

.home [data-id="99dd901"] .elementor-heading-title {
    margin: 0 0 14px !important;
    font-size: 30px !important;
    line-height: 1.08 !important;
}

.home [data-id="6a6dbcd"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

.home [data-id="4b6fba7"] .elementor-button {
    width: 100% !important;
    background: #fff !important;
    color: var(--ohm-green-deep) !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .home [data-id="67f29df"] > .e-con-inner {
        padding-top: 70px !important;
        padding-bottom: 90px !important;
    }

    .home [data-id="b78b9d1"] > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .home [data-id="b78b9d1"] > .e-con-inner > a:last-child {
        grid-column: 1 / -1;
        min-height: 230px !important;
    }

    .home [data-id="32977a5"] > .e-con-inner,
    .home [data-id="f8d502f"] > .e-con-inner {
        grid-template-columns: 1fr !important;
    }

    .home [data-id="58c5231"],
    .home [data-id="aae9f51"] {
        min-height: 460px !important;
    }

    .home [data-id="c94e567"] > .e-con-inner,
    .home [data-id="e1749de"] > .e-con-inner {
        grid-template-columns: 1fr !important;
    }

    .home [data-id="4b6fba7"] {
        position: static !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .home .page-header {
        width: calc(100% - 28px);
        margin-top: 13px;
        margin-bottom: 8px;
    }

    .home .elementor-6 > [data-id="67f29df"] {
        min-height: 72svh !important;
        height: auto !important;
        max-height: none !important;
    }

    .home [data-id="67f29df"] > .e-con-inner {
        min-height: 72svh !important;
        padding: 62px 20px 86px !important;
        align-items: center !important;
    }

    /* Critical mobile video fix: never inherit Elementor's desktop pixel geometry. */
    .home [data-id="67f29df"] .elementor-background-video-container {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 72svh !important;
        overflow: hidden !important;
    }

    .home [data-id="67f29df"] .elementor-background-video-hosted {
        display: block !important;
        top: 50% !important;
        left: 50% !important;
        width: 100% !important;
        height: 100% !important;
        min-width: 100% !important;
        min-height: 100% !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
        object-position: 52% center !important;
        transform: translate(-50%, -50%) !important;
    }

    .home [data-id="0f2eec1"] .elementor-heading-title {
        font-size: clamp(42px, 13vw, 58px) !important;
    }

    .home [data-id="8b0cb3c"] .elementor-heading-title {
        font-size: 22px !important;
    }

    .home [data-id="2905eb5"] .ql-block,
    .home [data-id="2905eb5"] p {
        font-size: 16px !important;
    }

    .home [data-id="af797a1"] {
        width: 100% !important;
        flex-direction: column !important;
    }

    .home [data-id="af797a1"] > .elementor-widget,
    .home [data-id="af797a1"] .elementor-button {
        width: 100% !important;
    }

    .home .elementor-6 > [data-id="b78b9d1"],
    .home .elementor-6 > [data-id="32977a5"],
    .home .elementor-6 > [data-id="cc8fb05"],
    .home .elementor-6 > [data-id="f8d502f"],
    .home .elementor-6 > [data-id="0a18c4b"],
    .home .elementor-6 > [data-id="e1749de"] {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .home [data-id="b78b9d1"] > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .home [data-id="b78b9d1"] > .e-con-inner > a,
    .home [data-id="b78b9d1"] > .e-con-inner > a:last-child {
        grid-column: auto !important;
        min-height: 235px !important;
        padding: 24px !important;
    }

    .home [data-id="32977a5"] > .e-con-inner,
    .home [data-id="f8d502f"] > .e-con-inner,
    .home [data-id="c94e567"],
    .home [data-id="f0e4f84"],
    .home [data-id="4b6fba7"] {
        border-radius: 15px !important;
    }

    .home [data-id="ba5fae3"],
    .home [data-id="fa659b5"],
    .home [data-id="c94e567"] > .e-con-inner,
    .home [data-id="f0e4f84"],
    .home [data-id="4b6fba7"] {
        padding: 26px 21px !important;
    }

    .home [data-id="58c5231"] {
        min-height: 430px !important;
        padding: 12px !important;
    }

    .home [data-id="a8fb4ed"],
    .home [data-id="a8fb4ed"] > .elementor-widget-container,
    .home [data-id="a8fb4ed"] .e-n-carousel {
        min-height: 405px !important;
    }

    .home [data-id="a8fb4ed"] [data-id="b925edb"],
    .home [data-id="a8fb4ed"] [data-id="87e2594"] {
        min-height: 385px !important;
        padding: 25px !important;
    }

    .home [data-id="c94e567"] > .e-con-inner {
        gap: 24px !important;
    }

    .home [data-id="aae9f51"] {
        min-height: 340px !important;
        background-position: center !important;
    }

    .home [data-id="bb5fb8f"] .swiper-slide .e-con-full {
        min-height: 230px !important;
        padding: 22px !important;
    }

    .home [data-id="e1749de"] > .e-con-inner {
        gap: 14px !important;
    }

    .home [data-id="0275f10"] summary,
    .home [data-id="9fa3a71"] summary {
        min-height: 56px !important;
        padding-left: 14px !important;
        font-size: 14px !important;
    }

    .home .elementor-widget-n-carousel .elementor-swiper-button {
        width: 38px !important;
        height: 38px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home *,
    .home *::before,
    .home *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* ==========================================================
   v1.18 — layout repair
   Elementor stores historical container widths in CSS custom
   properties. These must be reset when those containers are
   placed inside our new CSS Grid layouts.
   ========================================================== */

/* Generic reset for DIRECT children of homepage grids we own. */
.home [data-id="b78b9d1"] > .e-con-inner > .e-con,
.home [data-id="32977a5"] > .e-con-inner > .e-con,
.home [data-id="c94e567"] > .e-con-inner > .e-con,
.home [data-id="f8d502f"] > .e-con-inner > .e-con,
.home [data-id="e1749de"] > .e-con-inner > .e-con {
    --width: 100% !important;
    --min-height: 0px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    flex-basis: auto !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ----------------------------------------------------------
   1. Opleidingen / Bijscholingen / Open dag
   Three REAL equal cards, not three old Elementor columns.
   ---------------------------------------------------------- */
.home [data-id="b78b9d1"] > .e-con-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
}

.home [data-id="0a40f5e"],
.home [data-id="9d3bd5b"],
.home [data-id="c36a5bd"] {
    --width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 330px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
    background-size: cover !important;
    background-position: center center !important;
}

.home [data-id="0a40f5e"] > .elementor-element,
.home [data-id="9d3bd5b"] > .elementor-element,
.home [data-id="c36a5bd"] > .elementor-element {
    --width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.home [data-id="0a40f5e"] .elementor-widget-container,
.home [data-id="9d3bd5b"] .elementor-widget-container,
.home [data-id="c36a5bd"] .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
}

.home [data-id="0a40f5e"] p,
.home [data-id="9d3bd5b"] p,
.home [data-id="c36a5bd"] p {
    max-width: 31rem !important;
}

/* ----------------------------------------------------------
   2. Over OHM Academy + first slider
   Both halves fill the columns assigned by the grid.
   ---------------------------------------------------------- */
.home [data-id="32977a5"] > .e-con-inner {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
    align-items: stretch !important;
}

.home [data-id="ba5fae3"],
.home [data-id="58c5231"] {
    --width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.home [data-id="ba5fae3"] > .elementor-element,
.home [data-id="ba5fae3"] .elementor-widget,
.home [data-id="ba5fae3"] .elementor-widget-container {
    --width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.home [data-id="ba5fae3"] .elementor-widget-text-editor,
.home [data-id="ba5fae3"] .elementor-widget-text-editor p {
    text-align: left !important;
}

.home [data-id="a8fb4ed"],
.home [data-id="a8fb4ed"] > .elementor-widget-container,
.home [data-id="a8fb4ed"] .e-n-carousel,
.home [data-id="a8fb4ed"] .swiper,
.home [data-id="a8fb4ed"] .swiper-wrapper {
    --width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.home [data-id="a8fb4ed"] .swiper-slide {
    min-width: 0 !important;
    max-width: 100% !important;
}

.home [data-id="a8fb4ed"] .swiper-slide > .e-con,
.home [data-id="a8fb4ed"] .swiper-slide > .e-con > .e-con-inner,
.home [data-id="a8fb4ed"] [data-id="b925edb"],
.home [data-id="a8fb4ed"] [data-id="87e2594"] {
    --width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* Remove ChatGPT-copy wrapper geometry left inside two slider texts.
   Text itself remains untouched. */
.home [data-id="3b47cd4"] article,
.home [data-id="3b47cd4"] article > div,
.home [data-id="3b47cd4"] article div,
.home [data-id="8fcf184"] article,
.home [data-id="8fcf184"] article > div,
.home [data-id="8fcf184"] article div {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* ----------------------------------------------------------
   3. Waarom OHM section
   ---------------------------------------------------------- */
.home [data-id="c94e567"] > .e-con-inner {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
}

.home [data-id="c94e567"] > .e-con-inner > .e-con > .elementor-element,
.home [data-id="c94e567"] > .e-con-inner > .e-con > .elementor-element > .elementor-widget-container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* ----------------------------------------------------------
   4. Online + praktijk section
   ---------------------------------------------------------- */
.home [data-id="f8d502f"] > .e-con-inner {
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr) !important;
}

.home [data-id="aae9f51"],
.home [data-id="fa659b5"] {
    --width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* ----------------------------------------------------------
   5. Benefits carousel
   Keep the carousel itself full width.
   ---------------------------------------------------------- */
.home [data-id="bb5fb8f"],
.home [data-id="bb5fb8f"] > .elementor-widget-container,
.home [data-id="bb5fb8f"] .e-n-carousel,
.home [data-id="bb5fb8f"] .swiper,
.home [data-id="bb5fb8f"] .swiper-wrapper {
    --width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.home [data-id="bb5fb8f"] .swiper-slide {
    min-width: 0 !important;
}

/* ----------------------------------------------------------
   6. FAQ + contact card
   ---------------------------------------------------------- */
.home [data-id="e1749de"] > .e-con-inner {
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr) !important;
}

.home [data-id="f0e4f84"],
.home [data-id="4b6fba7"] {
    --width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* Tablet layout */
@media (max-width: 1024px) {
    .home [data-id="b78b9d1"] > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .home [data-id="c36a5bd"] {
        grid-column: 1 / -1 !important;
    }

    .home [data-id="32977a5"] > .e-con-inner,
    .home [data-id="c94e567"] > .e-con-inner,
    .home [data-id="f8d502f"] > .e-con-inner,
    .home [data-id="e1749de"] > .e-con-inner {
        grid-template-columns: 1fr !important;
    }
}

/* Phone layout */
@media (max-width: 767px) {
    .home [data-id="b78b9d1"] > .e-con-inner {
        grid-template-columns: 1fr !important;
    }

    .home [data-id="c36a5bd"] {
        grid-column: auto !important;
    }

    .home [data-id="0a40f5e"],
    .home [data-id="9d3bd5b"],
    .home [data-id="c36a5bd"] {
        min-height: 260px !important;
    }

    .home [data-id="32977a5"] > .e-con-inner,
    .home [data-id="c94e567"] > .e-con-inner,
    .home [data-id="f8d502f"] > .e-con-inner,
    .home [data-id="e1749de"] > .e-con-inner {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .home [data-id="ba5fae3"],
    .home [data-id="58c5231"],
    .home [data-id="aae9f51"],
    .home [data-id="fa659b5"],
    .home [data-id="f0e4f84"],
    .home [data-id="4b6fba7"] {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ==========================================================
   v1.19 — carousel repair
   Let the JS fallback own track/slide widths. Only the outer
   viewport and the content cards are forced to full width.
   ========================================================== */

.home [data-id="a8fb4ed"] .e-n-carousel,
.home [data-id="bb5fb8f"] .e-n-carousel {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.home [data-id="a8fb4ed"] .swiper-wrapper,
.home [data-id="bb5fb8f"] .swiper-wrapper {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
}

.home [data-id="a8fb4ed"] .swiper-slide,
.home [data-id="bb5fb8f"] .swiper-slide {
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Reset every migrated Elementor container inside a carousel slide. */
.home [data-id="a8fb4ed"] .swiper-slide > .e-con,
.home [data-id="a8fb4ed"] .swiper-slide > .e-con > .e-con-inner,
.home [data-id="a8fb4ed"] .swiper-slide .e-con,
.home [data-id="a8fb4ed"] .swiper-slide .e-con-inner,
.home [data-id="bb5fb8f"] .swiper-slide > .e-con,
.home [data-id="bb5fb8f"] .swiper-slide > .e-con > .e-con-inner,
.home [data-id="bb5fb8f"] .swiper-slide .e-con,
.home [data-id="bb5fb8f"] .swiper-slide .e-con-inner {
    --width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* The benefits carousel cards fill their assigned slide. */
.home [data-id="bb5fb8f"] .swiper-slide .e-con-full {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
}

/* One-card feature carousel. */
.home [data-id="a8fb4ed"] .swiper-slide [data-id="b925edb"],
.home [data-id="a8fb4ed"] .swiper-slide [data-id="87e2594"] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* Keep arrows above the track and clickable. */
.home .elementor-widget-n-carousel .elementor-swiper-button {
    z-index: 20 !important;
    pointer-events: auto !important;
}

/* The fallback creates only reachable pagination positions. */
.home .ohm-fallback-pagination {
    display: flex !important;
    align-items: center !important;
    gap: 3px !important;
}

.home .ohm-fallback-pagination .swiper-pagination-bullet {
    flex: 0 0 auto !important;
}
