/* =========================================================
   OHM Academy — workshop detailpagina's v2.9
   Nieuwe layout voor Weerbaarheidstraining en Lichttherapie.
   ========================================================= */

.ohm-workshop-detail-native {
    --wd-green:#55963b;
    --wd-green-dark:#346b2a;
    --wd-blue:#62b9dc;
    --wd-blue-dark:#57a8c9;
    --wd-ink:#35413b;
    --wd-text:#5e6964;
    --wd-line:#e1e8e3;
    --wd-soft:#f5f8f5;
    --wd-radius:20px;
    --wd-control-radius:10px;
    --wd-shadow:0 16px 40px rgba(36,67,45,.09);
    background:#f8faf8;
}

.ohm-workshop-detail,
.ohm-workshop-detail *,
.ohm-workshop-detail *::before,
.ohm-workshop-detail *::after {
    box-sizing:border-box;
}

.ohm-workshop-detail {
    padding:42px 18px 78px;
    color:var(--wd-text);
}

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

.ohm-preserved-content {
    display:grid;
    gap:24px;
}

.ohm-detail-card {
    overflow:hidden;
    border:1px solid var(--wd-line);
    border-radius:var(--wd-radius);
    background:#fff;
    box-shadow:var(--wd-shadow);
}

.ohm-detail-card--full .ohm-detail-copy,
.ohm-detail-card--accent .ohm-detail-copy {
    padding:clamp(30px,5vw,58px);
}

.ohm-detail-card--split {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(340px,.86fr);
    align-items:stretch;
}

.ohm-detail-card--split > .ohm-detail-media:first-child {
    order:0;
}
.ohm-detail-card--split > .ohm-detail-media:first-child + .ohm-detail-copy {
    order:1;
}

.ohm-detail-copy {
    min-width:0;
    padding:clamp(30px,5vw,54px);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.ohm-detail-copy h1,
.ohm-detail-copy h2,
.ohm-detail-copy h3,
.ohm-detail-copy h4 {
    margin:0 0 17px!important;
    color:var(--wd-ink)!important;
    font-size:clamp(29px,3.4vw,44px)!important;
    line-height:1.1!important;
    letter-spacing:-.025em!important;
}

.ohm-detail-copy p,
.ohm-detail-copy li,
.ohm-detail-copy div {
    color:var(--wd-text);
    font-size:16px;
    line-height:1.72;
}

.ohm-detail-copy p {
    margin:0 0 15px;
}

.ohm-detail-copy p:last-child {
    margin-bottom:0;
}

.ohm-detail-copy ul,
.ohm-detail-copy ol {
    margin:13px 0 17px;
    padding-left:1.4em;
}

.ohm-detail-copy strong,
.ohm-detail-copy b {
    color:var(--wd-ink);
}

.ohm-detail-media {
    min-height:390px;
    background:#eaf0eb;
}

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

.ohm-detail-media img {
    display:block;
    width:100%!important;
    height:100%!important;
    min-height:390px;
    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;
}

.ohm-detail-card--accent {
    background:linear-gradient(145deg,#eef6ea,#f9fbf9);
    border-color:#d7e7d2;
}

/* Form */
.ohm-detail-form-card {
    margin-top:28px;
    padding:clamp(28px,5vw,52px);
    border:1px solid var(--wd-line);
    border-radius:var(--wd-radius);
    background:#fff;
    box-shadow:var(--wd-shadow);
}

.ohm-detail-form-card h2 {
    margin:0 0 24px;
    color:var(--wd-ink);
    font-size:clamp(28px,3.2vw,40px);
    line-height:1.12;
}

.ohm-form-status {
    margin:0 0 22px;
    padding:14px 16px;
    border-radius:var(--wd-control-radius);
    font-weight:700;
    line-height:1.5;
}

.ohm-form-status.is-success {
    border:1px solid #bcd9b2;
    background:#eff8ec;
    color:#356c2d;
}

.ohm-form-status.is-error {
    border:1px solid #e6b8b8;
    background:#fff2f2;
    color:#8a3333;
}

.ohm-native-form {
    position:relative;
}

.ohm-form-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.ohm-field {
    display:grid;
    gap:7px;
    color:var(--wd-ink);
    font-size:14px;
    font-weight:800;
}

.ohm-field input {
    width:100%;
    min-height:48px;
    padding:10px 13px;
    border:1px solid #ccd7cf;
    border-radius:var(--wd-control-radius);
    outline:none;
    background:#fff;
    color:var(--wd-ink);
    font:inherit;
    font-weight:400;
    transition:border-color .18s ease,box-shadow .18s ease;
}

.ohm-field input:focus {
    border-color:var(--wd-blue);
    box-shadow:0 0 0 3px rgba(98,185,220,.16);
}

.ohm-check,
.ohm-radio {
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:20px;
    color:var(--wd-text);
    font-size:15px;
    line-height:1.5;
}

.ohm-check input,
.ohm-radio input {
    width:18px;
    height:18px;
    margin-top:2px;
    accent-color:var(--wd-green);
}

.ohm-radio-group {
    margin:20px 0 0;
    padding:16px 18px;
    border:1px solid var(--wd-line);
    border-radius:var(--wd-control-radius);
}

.ohm-radio-group legend {
    padding:0 6px;
    color:var(--wd-ink);
    font-size:14px;
    font-weight:800;
}

.ohm-radio-group .ohm-radio {
    margin-top:4px;
}

.ohm-form-submit {
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:24px;
    padding:12px 22px;
    border:1px solid var(--wd-blue);
    border-radius:var(--wd-control-radius);
    background:var(--wd-blue);
    color:#fff;
    font:inherit;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(60,146,181,.17);
    transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.ohm-form-submit:hover,
.ohm-form-submit:focus-visible {
    background:var(--wd-blue-dark);
    border-color:var(--wd-blue-dark);
    transform:translateY(-1px);
}

.ohm-honeypot {
    position:absolute!important;
    left:-10000px!important;
    top:auto!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}

.ohm-workshop-legacy-source {
    display:none!important;
}

@media(max-width:850px) {
    .ohm-detail-card--split {
        grid-template-columns:1fr;
    }

    .ohm-detail-card--split .ohm-detail-media,
    .ohm-detail-card--split .ohm-detail-copy {
        order:initial!important;
    }

    .ohm-detail-media,
    .ohm-detail-media img {
        min-height:300px;
        height:min(60vw,420px)!important;
    }
}

@media(max-width:620px) {
    .ohm-workshop-detail {
        padding:24px 10px 50px;
    }

    .ohm-preserved-content {
        gap:15px;
    }

    .ohm-detail-card,
    .ohm-detail-form-card {
        border-radius:16px;
    }

    .ohm-detail-card--full .ohm-detail-copy,
    .ohm-detail-card--accent .ohm-detail-copy,
    .ohm-detail-copy,
    .ohm-detail-form-card {
        padding:25px 21px;
    }

    .ohm-detail-media,
    .ohm-detail-media img {
        min-height:235px;
        height:62vw!important;
        max-height:340px;
    }

    .ohm-detail-copy h1,
    .ohm-detail-copy h2,
    .ohm-detail-copy h3,
    .ohm-detail-copy h4 {
        font-size:clamp(27px,8.4vw,37px)!important;
    }

    .ohm-detail-copy p,
    .ohm-detail-copy li,
    .ohm-detail-copy div {
        font-size:15px;
    }

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

    .ohm-form-submit {
        width:100%;
    }
}
