/**
 * AH – Prose
 * Widget: dc-ah-prose
 *
 * Instelbare waarden komen binnen als custom properties via de Elementor
 * control-selectors; er staat niets inline in de PHP.
 */

.dc-ah-prose {
    --pr-accent: #b8845c;
    --pr-bg: #ffffff;
    --pr-cols: minmax(0, 1fr) 300px;
    --pr-text: #2c2420;
    --pr-muted: #6d6058;
    --pr-border: rgba(44,36,32,.1);
    display: block; background: var(--pr-bg);
    padding: 92px 24px;
}
.dc-ah-prose .ah-pr__inner {
    max-width: 1180px; margin: 0 auto;
    display: grid;
    grid-template-columns: var(--pr-cols);
    gap: 60px; align-items: start;
}
.dc-ah-prose--noaside { --pr-cols: minmax(0, 1fr); }
.dc-ah-prose--noaside .ah-pr__main { max-width: 820px; margin: 0 auto; }

.dc-ah-prose .ah-pr__eyebrow {
    display: inline-flex; align-items: center; gap: 12px;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 11px; font-weight: 600; letter-spacing: 2px;
    text-transform: uppercase; color: var(--pr-accent); margin-bottom: 15px;
}
.dc-ah-prose .ah-pr__eyebrow-line {
    width: 28px; height: 1px; flex-shrink: 0;
    background: linear-gradient(90deg, var(--pr-accent), transparent);
}
.dc-ah-prose .ah-pr__title {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(26px, 2.9vw, 40px); font-weight: 400;
    line-height: 1.16; color: var(--pr-text); margin: 0 0 20px;
}
.dc-ah-prose .ah-pr__hl { font-style: italic; color: var(--pr-accent); }
.dc-ah-prose .ah-pr__lead {
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 17.5px; line-height: 1.68; font-weight: 500;
    color: var(--pr-text); margin: 0 0 26px;
    padding-left: 18px; border-left: 2px solid var(--pr-accent);
}

.dc-ah-prose .ah-pr__body {
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 15.5px; line-height: 1.82; color: var(--pr-muted);
}
.dc-ah-prose .ah-pr__body p { font-family: inherit; font-size: inherit; line-height: inherit; color: inherit; margin: 0 0 17px; }
.dc-ah-prose .ah-pr__body h2 {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(21px, 2.1vw, 27px); font-weight: 400;
    color: var(--pr-text); line-height: 1.25;
    margin: 48px 0 14px; padding-top: 22px;
    border-top: 1px solid var(--pr-border);
    scroll-margin-top: 130px;
}
.dc-ah-prose .ah-pr__body h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.dc-ah-prose .ah-pr__body h3 {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px; font-weight: 400; color: var(--pr-text);
    margin: 32px 0 10px; scroll-margin-top: 130px;
}
.dc-ah-prose .ah-pr__body h4 {
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 15px; font-weight: 700; color: var(--pr-text); margin: 26px 0 8px;
}
.dc-ah-prose .ah-pr__body ul,
.dc-ah-prose .ah-pr__body ol { margin: 0 0 18px; padding-left: 4px; list-style: none; }
.dc-ah-prose .ah-pr__body ul li {
    position: relative; padding-left: 26px; margin-bottom: 10px;
}
.dc-ah-prose .ah-pr__body ul li::before {
    content: ''; position: absolute; left: 4px; top: 11px;
    width: 6px; height: 6px; border-radius: 50%; background: var(--pr-accent);
}
.dc-ah-prose .ah-pr__body ol { counter-reset: ahpr; }
.dc-ah-prose .ah-pr__body ol li {
    position: relative; padding-left: 34px; margin-bottom: 12px; counter-increment: ahpr;
}
.dc-ah-prose .ah-pr__body ol li::before {
    content: counter(ahpr); position: absolute; left: 0; top: 1px;
    width: 23px; height: 23px; border-radius: 50%;
    background: rgba(184,132,92,.12); color: var(--pr-accent);
    font-family: system-ui, sans-serif; font-size: 11.5px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
}
.dc-ah-prose .ah-pr__body strong { color: var(--pr-text); font-weight: 600; }
.dc-ah-prose .ah-pr__body a { color: var(--pr-accent); text-decoration: underline; text-underline-offset: 3px; }
.dc-ah-prose .ah-pr__body a:hover { opacity: .78; }
.dc-ah-prose .ah-pr__body img { border-radius: 14px; margin: 8px 0 18px; }
.dc-ah-prose .ah-pr__body table {
    width: 100%; border-collapse: collapse; margin: 0 0 22px;
    font-size: 14.5px;
}
.dc-ah-prose .ah-pr__body th,
.dc-ah-prose .ah-pr__body td {
    padding: 11px 14px; border-bottom: 1px solid var(--pr-border); text-align: left;
}
.dc-ah-prose .ah-pr__body th { color: var(--pr-text); font-weight: 600; }

/* Video */
.dc-ah-prose .ah-pr__video {
    margin: 30px 0; border-radius: 16px; overflow: hidden;
    background: #14120f; aspect-ratio: 16/9;
    box-shadow: 0 20px 46px rgba(44,36,32,.13);
}
.dc-ah-prose .ah-pr__video iframe { width: 100%; height: 100%; border: 0; display: block; }
.dc-ah-prose .ah-pr__video-cap {
    display: block; margin: -18px 0 30px;
    font-family: system-ui, sans-serif; font-size: 12.5px; color: var(--pr-muted);
}

/* Aside */
.dc-ah-prose .ah-pr__aside { position: sticky; top: 120px; }
.dc-ah-prose .ah-pr__toc {
    border: 1px solid var(--pr-border); border-radius: 16px;
    padding: 22px 20px; background: #faf8f5;
}
.dc-ah-prose .ah-pr__toc-title {
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 11px; font-weight: 700; letter-spacing: 1.6px;
    text-transform: uppercase; color: var(--pr-accent); margin: 0 0 14px;
}
.dc-ah-prose .ah-pr__toc ol { margin: 0; padding: 0; list-style: none; counter-reset: ahtoc; }
.dc-ah-prose .ah-pr__toc li { counter-increment: ahtoc; margin-bottom: 3px; }
.dc-ah-prose .ah-pr__toc a {
    display: block; padding: 8px 10px; border-radius: 9px;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 13px; line-height: 1.5; color: var(--pr-muted);
    text-decoration: none; transition: all .25s ease;
}
.dc-ah-prose .ah-pr__toc a:hover,
.dc-ah-prose .ah-pr__toc a.is-active { background: #fff; color: var(--pr-text); box-shadow: 0 2px 10px rgba(44,36,32,.06); }
.dc-ah-prose .ah-pr__toc a.is-active { color: var(--pr-accent); font-weight: 600; }

.dc-ah-prose .ah-pr__card {
    border: 1px solid var(--pr-border); border-radius: 16px;
    overflow: hidden; background: #faf8f5;
}
.dc-ah-prose .ah-pr__card-img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.dc-ah-prose .ah-pr__card-body { padding: 22px 20px; }
.dc-ah-prose .ah-pr__card-title {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 19px; font-weight: 400; color: var(--pr-text); margin: 0 0 10px;
}
.dc-ah-prose .ah-pr__card-text {
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 13.5px; line-height: 1.7; color: var(--pr-muted);
}
.dc-ah-prose .ah-pr__card-text p { font-family: inherit; font-size: inherit; line-height: inherit; color: inherit; margin: 0 0 9px; }
.dc-ah-prose .ah-pr__card-text a { color: var(--pr-accent); text-decoration: underline; text-underline-offset: 3px; }
.dc-ah-prose .ah-pr__card-btn {
    margin-top: 14px; width: 100%;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 13px 22px; border-radius: 100px;
    background: var(--pr-accent); color: #fff; border: 1px solid var(--pr-accent);
    font-family: system-ui, sans-serif; font-size: 12.5px; font-weight: 600;
    text-decoration: none; transition: all .35s ease;
}
.dc-ah-prose .ah-pr__card-btn svg { width: 13px; height: 13px; transition: transform .3s ease; }
.dc-ah-prose .ah-pr__card-btn:hover { background: transparent; color: var(--pr-accent); }
.dc-ah-prose .ah-pr__card-btn:hover svg { transform: translateX(3px); }

@media (max-width: 980px) {
    .dc-ah-prose .ah-pr__inner { grid-template-columns: minmax(0,1fr); gap: 34px; }
    .dc-ah-prose .ah-pr__aside { position: static; }
    .dc-ah-prose .ah-pr__main { max-width: none; }
}
@media (max-width: 900px) { .dc-ah-prose { padding: 64px 22px; } }
@media (max-width: 640px) {
    .dc-ah-prose { padding: 52px 18px; }
    .dc-ah-prose .ah-pr__body { font-size: 15px; }
    .dc-ah-prose .ah-pr__body table { display: block; overflow-x: auto; }
}

.dc-ah-prose .ah-pr__card--spaced { margin-top: 16px; }
