/* OHM Academy — Bijscholingen v2.5
   Volledig nieuwe zichtbare layout. Teksten en foto's zijn origineel. */

.ohm-bijscholingen-native {
    --bij-green:#55963b;
    --bij-green-dark:#346b2a;
    --bij-green-soft:#eef6ea;
    --bij-blue:#62b9dc;
    --bij-ink:#35413b;
    --bij-text:#5e6964;
    --bij-line:#e1e8e3;
    --bij-radius:18px;
    --bij-shadow:0 14px 34px rgba(36,67,45,.08);
    background:#f8faf8;
}

.ohm-bijscholingen-page,
.ohm-bijscholingen-page *,
.ohm-bijscholingen-page *::before,
.ohm-bijscholingen-page *::after { box-sizing:border-box; }

.ohm-bijscholingen-page {
    padding:42px 18px 76px;
    color:var(--bij-text);
}

.ohm-bij-wrap {
    width:min(1180px,100%);
    margin:0 auto;
}

.ohm-bij-jumps {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:30px;
    padding:12px;
    border:1px solid var(--bij-line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 28px rgba(36,67,45,.05);
}

.ohm-bij-jump {
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:11px 14px;
    border-radius:11px;
    background:var(--bij-green-soft);
    color:var(--bij-green-dark)!important;
    font-size:14px;
    font-weight:800;
    line-height:1.25;
    text-align:center;
    text-decoration:none!important;
    transition:background .2s ease,color .2s ease,transform .2s ease;
}

.ohm-bij-jump:hover,
.ohm-bij-jump:focus-visible {
    background:var(--bij-green);
    color:#fff!important;
    transform:translateY(-1px);
}

.ohm-bij-categories {
    display:grid;
    gap:42px;
}

.ohm-bij-category {
    scroll-margin-top:110px;
}

.ohm-bij-category-heading {
    margin-bottom:18px;
    padding:15px 20px;
    border-radius:13px;
    background:linear-gradient(90deg,#65b8d9,#77c4df);
    box-shadow:0 8px 20px rgba(73,151,183,.12);
}

.ohm-bij-category-heading h2 {
    margin:0;
    color:#fff;
    font-size:clamp(25px,3vw,34px);
    line-height:1.15;
}

.ohm-bij-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    align-items:stretch;
}

.ohm-bij-card {
    position:relative;
    min-width:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border:1px solid var(--bij-line);
    border-radius:var(--bij-radius);
    background:#fff;
    box-shadow:var(--bij-shadow);
    transition:transform .22s ease,box-shadow .22s ease;
}

.ohm-bij-card:hover {
    transform:translateY(-3px);
    box-shadow:0 20px 42px rgba(36,67,45,.12);
}

.ohm-bij-badge {
    position:absolute;
    z-index:2;
    top:13px;
    left:13px;
    padding:7px 10px;
    border-radius:999px;
    background:var(--bij-green);
    color:#fff;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    box-shadow:0 5px 14px rgba(31,73,37,.18);
}

.ohm-bij-card-media {
    width:100%;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#edf2ee;
}

.ohm-bij-card-media > a,
.ohm-bij-card-media > img {
    display:block;
    width:100%;
    height:100%;
}

.ohm-bij-card-media img {
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    object-fit:cover;
    object-position:center;
    transition:transform .32s ease;
}

.ohm-bij-card:hover .ohm-bij-card-media img {
    transform:scale(1.025);
}

.ohm-bij-card-body {
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    padding:25px 24px 24px;
}

.ohm-bij-card-text {
    flex:0 0 auto;
}

.ohm-bij-card-text h2,
.ohm-bij-card-text h3,
.ohm-bij-card-text h4 {
    margin:0 0 11px;
    color:var(--bij-ink);
    font-size:24px;
    line-height:1.16;
    letter-spacing:-.018em;
}

.ohm-bij-card-text h2 + h2,
.ohm-bij-card-text h3 + h3,
.ohm-bij-card-text h2:nth-of-type(2) {
    margin-top:-2px;
    color:var(--bij-green-dark);
    font-size:15px;
    line-height:1.35;
    letter-spacing:0;
}

.ohm-bij-card-text h2 span,
.ohm-bij-card-text h2 strong,
.ohm-bij-card-text h3 span,
.ohm-bij-card-text h3 strong {
    font-size:inherit!important;
    color:inherit!important;
}

.ohm-bij-card-text p {
    margin:0 0 13px;
    color:var(--bij-text);
    font-size:15px;
    line-height:1.67;
}

.ohm-bij-card-text p:last-child {
    margin-bottom:0;
}

.ohm-bij-card-button {
    align-self:flex-start;
    min-height:45px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:22px;
    padding:12px 17px;
    border-radius:10px;
    background:var(--bij-blue);
    color:#fff!important;
    font-size:14px;
    font-weight:800;
    line-height:1.2;
    text-decoration:none!important;
    box-shadow:0 7px 18px rgba(60,146,181,.17);
    transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
}

.ohm-bij-card-button:hover,
.ohm-bij-card-button:focus-visible {
    filter:brightness(.93);
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(60,146,181,.23);
}

/* De complete oorspronkelijke Elementor-inhoud blijft bewaard,
   inclusief alle tijdelijk verborgen bijscholingen. */
.ohm-bijscholingen-legacy-source {
    display:none!important;
}

@media(max-width:980px) {
    .ohm-bij-jumps { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ohm-bij-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:640px) {
    .ohm-bijscholingen-page { padding:24px 10px 48px; }

    .ohm-bij-jumps {
        grid-template-columns:1fr;
        gap:8px;
        margin-bottom:22px;
        padding:9px;
        border-radius:15px;
    }

    .ohm-bij-jump {
        justify-content:flex-start;
        min-height:44px;
        padding:10px 13px;
        text-align:left;
    }

    .ohm-bij-categories { gap:30px; }

    .ohm-bij-category-heading {
        margin-bottom:12px;
        padding:13px 16px;
        border-radius:11px;
    }

    .ohm-bij-grid {
        grid-template-columns:1fr;
        gap:14px;
    }

    .ohm-bij-card { border-radius:15px; }
    .ohm-bij-card-media { aspect-ratio:16/9; }
    .ohm-bij-card-body { padding:22px 20px 21px; }
    .ohm-bij-card-text h2,
    .ohm-bij-card-text h3,
    .ohm-bij-card-text h4 { font-size:23px; }
    .ohm-bij-card-button { width:100%; }
}

@media(prefers-reduced-motion:reduce) {
    .ohm-bij-card,
    .ohm-bij-card-media img,
    .ohm-bij-jump,
    .ohm-bij-card-button { transition:none!important; }
}
