:root {
    --ssf-orange: #EB5E1C;
    --ssf-black: #1B1B1A;
    --ssf-navy: #181830;
    --ssf-green: #307520;
    --ssf-teal: #1E5065;
    --ssf-sky: #3E9CC6;
    --ssf-yellow: #F2DB00;
    --ssf-white: #ffffff;
    --ssf-border: #d6d6d6;
    --ssf-text: #1B1B1A;
    --ssf-muted: #181830;
    --ssf-light: #f3f3f3;
    --ssf-orange-soft: #fff3ed;
    --ssf-blue-soft: rgba(62,156,198,.10);
    --ssf-green-soft: rgba(48,117,32,.10);
}

.ssf-experts-overzicht,
.ssf-experts-grid-overview { margin: 30px 0; color: var(--ssf-text); }

.ssf-experts-filters {
    background: var(--ssf-light);
    border: 1px solid var(--ssf-border);
    border-left: 5px solid var(--ssf-orange);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 24px;
}
.ssf-experts-filters-row { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr auto; gap:12px; align-items:end; }
.ssf-filter-item label { display:block; font-size:.82rem; font-weight:700; margin-bottom:4px; color:var(--ssf-navy); }
.ssf-filter-item input,.ssf-filter-item select { width:100%; min-height:40px; padding:9px 11px; border:1px solid rgba(27,27,26,.20); border-radius:8px; background:#fff; color:var(--ssf-navy); font-size:14px; box-sizing:border-box; }
.ssf-filter-item input:focus,.ssf-filter-item select:focus { border-color:var(--ssf-orange); outline:3px solid rgba(242,219,0,.55); outline-offset:1px; }
.ssf-filter-reset-wrap { display:flex; align-items:center; padding-bottom:8px; }
.ssf-reset-text-link { color:var(--ssf-orange)!important; text-decoration:none; white-space:nowrap; font-size:.92rem; font-weight:700; }
.ssf-reset-text-link:hover { color:var(--ssf-black)!important; text-decoration:underline; }
.ssf-geen-resultaten { margin:20px 0; padding:14px 16px; border-left:5px solid var(--ssf-orange); background:var(--ssf-orange-soft); color:var(--ssf-navy); }
.ssf-experts-section { margin-bottom:40px; }
.ssf-experts-grid { display:grid; grid-template-columns:1fr; gap:24px; }

.ssf-expert-card,.ssf-grid-card { height:100%; overflow:hidden; background:#fff; border:1px solid var(--ssf-border); border-radius:16px; box-shadow:0 4px 14px rgba(27,27,26,.08); }
.ssf-expert-card-top,.ssf-grid-card-top { border:2px solid var(--ssf-orange); background:var(--ssf-orange-soft); box-shadow:0 6px 18px rgba(235,94,28,.14); }
.ssf-expert-card-inner { display:grid; grid-template-columns:320px minmax(0,1fr); align-items:stretch; min-height:100%; }
.ssf-expert-card-inner-top { grid-template-columns:minmax(0,1fr) 380px; }
.ssf-expert-image-wrap,.ssf-expert-image,.ssf-expert-image a { display:block; height:100%; }
.ssf-expert-image img { display:block; width:100%; height:100%; min-height:260px; object-fit:cover; }
.ssf-expert-content { display:flex; flex-direction:column; min-width:0; }

.ssf-expert-title-bar { background:var(--ssf-orange); padding:14px 20px; }
.ssf-experts-overzicht .ssf-expert-card h2.ssf-expert-name,
.ssf-experts-overzicht .ssf-expert-card .ssf-expert-content h2.ssf-expert-name,
.ssf-experts-grid-overview .ssf-grid-card h2.ssf-grid-card-title,
.ssf-single-expert h2.ssf-single-title,
.ssf-single-expert h2.ssf-single-section-title { display:block!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; text-transform:none!important; letter-spacing:normal!important; line-height:1.2!important; font-family:inherit!important; font-weight:700!important; color:#fff!important; }
.ssf-experts-overzicht .ssf-expert-card-standaard h2.ssf-expert-name { font-size:1.25rem!important; }
.ssf-experts-overzicht .ssf-expert-card-top h2.ssf-expert-name { font-size:1.65rem!important; }
.ssf-experts-overzicht h2.ssf-expert-name a,.ssf-experts-grid-overview h2.ssf-grid-card-title a { color:#fff!important; text-decoration:none!important; font:inherit!important; }

.ssf-expert-subtitel,.ssf-expert-omschrijving,.ssf-expert-naw,.ssf-expert-button-wrap,.ssf-expert-info-bar { margin-left:20px; margin-right:20px; }
.ssf-expert-subtitel { margin-top:16px!important; margin-bottom:12px!important; color:var(--ssf-navy)!important; font-size:1rem!important; font-weight:700!important; }
.ssf-expert-omschrijving { margin-bottom:16px!important; color:var(--ssf-text)!important; line-height:1.6!important; }
.ssf-expert-omschrijving p { margin:0 0 10px; }
.ssf-expert-naw { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; margin-bottom:16px; color:var(--ssf-text); font-size:.95rem; line-height:1.6; }
.ssf-expert-naw-line { word-break:break-word; }
.ssf-expert-naw-line a,.ssf-single-info-line a { color:var(--ssf-orange)!important; text-decoration:underline; word-break:break-word; font-weight:600; }
.ssf-expert-naw-line a:hover,.ssf-single-info-line a:hover { color:var(--ssf-teal)!important; }
.ssf-expert-button-wrap { margin-top:0; margin-bottom:16px; }

.ssf-expert-button,.ssf-back-overview { display:inline-block; padding:10px 18px; border:2px solid var(--ssf-orange); border-radius:8px; background:var(--ssf-orange); color:#fff!important; text-decoration:none!important; font-weight:700; box-shadow:0 3px 8px rgba(235,94,28,.18); transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.ssf-expert-button:hover,.ssf-back-overview:hover { background:var(--ssf-navy)!important; border-color:var(--ssf-navy)!important; color:#fff!important; transform:translateY(-1px); }
.ssf-expert-button:focus,.ssf-back-overview:focus,.ssf-grid-read-more-link:focus { outline:3px solid var(--ssf-yellow); outline-offset:3px; }

.ssf-expert-info-bar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; margin-bottom:20px; padding:14px 16px; background:var(--ssf-blue-soft); border:1px solid rgba(24,24,48,.12); border-left:4px solid var(--ssf-sky); border-radius:12px; }
.ssf-expert-info-item { display:flex; flex-direction:column; gap:2px; min-width:0; }
.ssf-expert-info-label,.ssf-grid-card-meta-label { color:var(--ssf-teal); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.02em; }
.ssf-expert-info-value,.ssf-grid-card-meta-value { color:var(--ssf-navy); font-size:.88rem; line-height:1.45; }

.ssf-experts-grid-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ssf-grid-card { display:flex; flex-direction:column; }
.ssf-grid-card-image a { display:block; }
.ssf-grid-card-image img { display:block; width:100%; height:220px; object-fit:cover; }
.ssf-grid-card-content { display:flex; flex-direction:column; height:100%; }
.ssf-grid-card-title-bar { margin-bottom:16px; }
.ssf-experts-grid-overview .ssf-grid-card h2.ssf-grid-card-title { font-size:1.3rem!important; }
.ssf-grid-card-subtitle,.ssf-grid-card-text,.ssf-grid-card-meta,.ssf-grid-card-button-wrap { margin-left:20px; margin-right:20px; }
.ssf-grid-card-subtitle { margin-bottom:12px; color:var(--ssf-navy); font-size:1rem; font-weight:700; }
.ssf-grid-card-text { margin-bottom:16px; color:var(--ssf-text); line-height:1.6; }
.ssf-grid-card-text-inner { display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden; }
.ssf-grid-card-text-inner p { margin:0 0 10px; }
.ssf-grid-read-more-link { display:inline-block; margin-top:6px; color:var(--ssf-orange)!important; text-decoration:none; font-weight:800; }
.ssf-grid-read-more-link:hover { color:var(--ssf-teal)!important; text-decoration:underline; }
.ssf-grid-card-meta { margin-top:auto; margin-bottom:16px; padding:12px 14px; background:var(--ssf-green-soft); border:1px solid rgba(48,117,32,.22); border-left:4px solid var(--ssf-green); border-radius:12px; }
.ssf-grid-card-meta-label,.ssf-grid-card-meta-value { display:block; }
.ssf-grid-card-meta-label { margin-bottom:4px; color:var(--ssf-green); }
.ssf-grid-card-button-wrap { margin-top:0; margin-bottom:20px; }

/* Detailpagina */
.ssf-single-expert { max-width:1100px; margin:40px auto; padding:0 20px; color:var(--ssf-text); }
.ssf-single-back-wrap { margin-bottom:18px; }
.ssf-back-overview span { margin-right:5px; }
.ssf-single-header-block { overflow:hidden; margin-bottom:30px; background:#fff; border:1px solid var(--ssf-border); border-radius:18px; box-shadow:0 4px 14px rgba(27,27,26,.08); }
.ssf-single-top .ssf-single-header-block,.ssf-single-top .ssf-single-block { border-color:var(--ssf-orange); background:var(--ssf-orange-soft); }
.ssf-single-header-body { display:grid; grid-template-columns:1.1fr .9fr; align-items:stretch; }
.ssf-single-header-no-image { grid-template-columns:1fr; }
.ssf-single-header-content { min-width:0; }
.ssf-single-title { font-size:1.65rem!important; }
.ssf-single-header-text { padding:30px; }
.ssf-single-subtitel { margin-bottom:14px; color:var(--ssf-navy); font-size:1.35rem; font-weight:800; }
.ssf-single-korte { margin-bottom:18px; color:var(--ssf-text); font-size:1.05rem; line-height:1.7; }
.ssf-single-korte p { margin:0 0 12px; }
.ssf-single-image-box img { display:block; width:100%; height:100%; min-height:320px; object-fit:cover; }
.ssf-single-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-bottom:24px; }
.ssf-single-block { padding:28px; background:#fff; border:1px solid var(--ssf-border); border-top:4px solid var(--ssf-orange); border-radius:18px; box-shadow:0 4px 14px rgba(27,27,26,.06); }
.ssf-single-block-full { grid-column:1 / -1; }
.ssf-single-block h2,.ssf-single-block h3 { margin-top:0; margin-bottom:16px; color:var(--ssf-navy); }
.ssf-single-block h2 { font-size:1.35rem; }
.ssf-single-block h3 { font-size:1.2rem; }
.ssf-single-info-line { margin-bottom:10px; line-height:1.7; }
.ssf-single-long-text { color:var(--ssf-text); line-height:1.8; }
.ssf-single-long-text p { margin:0 0 14px; }
.ssf-single-info-bar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; margin-top:10px; padding:18px; background:var(--ssf-blue-soft); border:1px solid rgba(24,24,48,.12); border-left:5px solid var(--ssf-sky); border-radius:14px; }
.ssf-single-info-bar-item { display:flex; flex-direction:column; gap:4px; }
.ssf-single-info-label { color:var(--ssf-teal); font-size:.9rem; font-weight:800; }
.ssf-single-info-value { color:var(--ssf-navy); line-height:1.6; }
.ssf-single-aanbod { padding:0; overflow:hidden; background:var(--ssf-orange-soft); border-color:var(--ssf-orange); }
.ssf-single-section-title { font-size:1.35rem!important; }
.ssf-single-aanbod-content { padding:28px; }
.ssf-single-aanbod-content h3 { color:var(--ssf-black); }
.ssf-single-aanbod-content strong { color:var(--ssf-teal); }

@media (max-width:1024px) { .ssf-experts-grid-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:768px) {
    .ssf-experts-filters-row,.ssf-expert-info-bar,.ssf-expert-naw,.ssf-experts-grid-cards,.ssf-single-header-body,.ssf-single-grid,.ssf-single-info-bar { grid-template-columns:1fr; }
    .ssf-filter-reset-wrap { padding-bottom:0; }
    .ssf-expert-card-inner,.ssf-expert-card-inner-top { display:flex; flex-direction:column; }
    .ssf-expert-image-wrap,.ssf-expert-image-wrap-left,.ssf-expert-image-wrap-right { order:-1; width:100%; }
    .ssf-expert-content { order:2; }
    .ssf-expert-image img,.ssf-grid-card-image img { height:220px; min-height:220px; }
    .ssf-experts-overzicht .ssf-expert-card-top h2.ssf-expert-name,.ssf-experts-overzicht .ssf-expert-card-standaard h2.ssf-expert-name,.ssf-experts-grid-overview .ssf-grid-card h2.ssf-grid-card-title,.ssf-single-title { font-size:1.3rem!important; }
    .ssf-expert-subtitel,.ssf-expert-omschrijving,.ssf-expert-naw,.ssf-expert-button-wrap,.ssf-expert-info-bar,.ssf-grid-card-subtitle,.ssf-grid-card-text,.ssf-grid-card-meta,.ssf-grid-card-button-wrap { margin-left:16px; margin-right:16px; }
    .ssf-single-header-text,.ssf-single-block,.ssf-single-aanbod-content { padding:22px; }
    .ssf-single-aanbod { padding:0; }
}


/* =========================================================
   Verfijningen versie 1.8.3
   Officiële SSF-hoofdkleur oranje: #EB5E1C
   ========================================================= */

/* Rustigere filters */
.ssf-experts-filters {
    position: relative;
    background: var(--ssf-white);
    border: 1px solid rgba(27, 27, 26, .14);
    border-top: 4px solid var(--ssf-orange);
    border-left-width: 1px;
    border-radius: 10px;
    padding: 16px 18px 18px;
    box-shadow: 0 3px 12px rgba(27, 27, 26, .045);
}

.ssf-filter-item label {
    color: var(--ssf-navy);
    font-size: .78rem;
    letter-spacing: .015em;
}

.ssf-filter-item input,
.ssf-filter-item select {
    min-height: 42px;
    border: 1px solid rgba(27, 27, 26, .16);
    border-radius: 6px;
    background: #fafafa;
    color: var(--ssf-black);
    box-shadow: none;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.ssf-filter-item input:hover,
.ssf-filter-item select:hover {
    border-color: rgba(24, 24, 48, .38);
    background: var(--ssf-white);
}

.ssf-filter-item input:focus,
.ssf-filter-item select:focus {
    border-color: var(--ssf-orange);
    background: var(--ssf-white);
    outline: none;
    box-shadow: 0 0 0 3px rgba(235, 94, 28, .14);
}

.ssf-filter-reset-wrap {
    padding-bottom: 2px;
}

.ssf-reset-text-link {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    padding: 0 12px;
    border: 1px solid rgba(27, 27, 26, .15);
    border-radius: 6px;
    background: var(--ssf-white);
    color: var(--ssf-navy) !important;
    font-size: .85rem;
    font-weight: 700;
}

.ssf-reset-text-link:hover {
    border-color: var(--ssf-orange);
    color: var(--ssf-orange) !important;
    text-decoration: none;
}

/* Strakkere knoppen */
.ssf-expert-button,
.ssf-back-overview {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 9px 18px;
    border: 1px solid var(--ssf-orange);
    border-radius: 5px;
    background: var(--ssf-orange);
    color: var(--ssf-white) !important;
    box-shadow: none;
    font-size: .95rem;
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: .01em;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.ssf-expert-button::after {
    content: "›";
    font-size: 1.15em;
    line-height: 1;
    transform: translateY(-1px);
}

.ssf-back-overview {
    background: var(--ssf-white);
    color: var(--ssf-orange) !important;
}

.ssf-back-overview:hover,
.ssf-expert-button:hover {
    border-color: var(--ssf-navy) !important;
    background: var(--ssf-navy) !important;
    color: var(--ssf-white) !important;
    transform: translateY(-1px);
}

.ssf-expert-button:active,
.ssf-back-overview:active {
    transform: translateY(0);
}

/* TOP Experts chiquer en herkenbaarder */
.ssf-expert-card,
.ssf-grid-card {
    position: relative;
}

.ssf-expert-card-top,
.ssf-grid-card-top {
    border: 1px solid var(--ssf-orange);
    background: linear-gradient(180deg, var(--ssf-white) 0%, rgba(235, 94, 28, .045) 100%);
    box-shadow: 0 10px 28px rgba(24, 24, 48, .12);
}

.ssf-expert-card-top::before,
.ssf-grid-card-top::before {
    content: "TOP EXPERT";
    position: absolute;
    z-index: 5;
    top: 14px;
    right: 14px;
    padding: 6px 10px;
    border-radius: 4px;
    background: var(--ssf-orange);
    color: var(--ssf-white);
    box-shadow: 0 3px 10px rgba(27, 27, 26, .16);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .07em;
}

.ssf-expert-card-top::after,
.ssf-grid-card-top::after {
    content: "";
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--ssf-orange);
}

.ssf-single-top .ssf-single-header-block {
    position: relative;
    border: 1px solid var(--ssf-orange);
    box-shadow: 0 10px 28px rgba(24, 24, 48, .12);
}

.ssf-single-top .ssf-single-header-block::before {
    content: "TOP EXPERT";
    position: absolute;
    z-index: 5;
    top: 14px;
    right: 14px;
    padding: 6px 10px;
    border-radius: 4px;
    background: var(--ssf-orange);
    color: var(--ssf-white);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .07em;
}

/* Officiële oranje tint afdwingen binnen de plugin */
.ssf-experts-overzicht,
.ssf-experts-grid-overview,
.ssf-single-expert {
    --ssf-orange: #EB5E1C;
}

@media (max-width: 768px) {
    .ssf-experts-filters {
        padding: 14px;
    }

    .ssf-filter-reset-wrap,
    .ssf-reset-text-link {
        width: 100%;
    }

    .ssf-reset-text-link {
        justify-content: center;
    }

    .ssf-expert-card-top::before,
    .ssf-grid-card-top::before,
    .ssf-single-top .ssf-single-header-block::before {
        top: 10px;
        right: 10px;
        padding: 5px 8px;
        font-size: .62rem;
    }
}
