/* =============================================================================
   YCW Dynamische Categoriecontent - v1.5.0
   Front-end styling, 1-op-1 gebaseerd op de Life & Garden voorbeeldpagina.
   Bewust zeer specifiek en met !important om Themler en andere thema-CSS te
   overschrijven zonder elementen buiten de plug-in te beïnvloeden.
   Koppen: "Playfair Display" (serif) · Lopende tekst: "Poppins".
   ============================================================================= */

.ycw-cat[data-ycw-category-content],
.ycw-cat[data-ycw-category-content] *,
.ycw-cat[data-ycw-category-content] *::before,
.ycw-cat[data-ycw-category-content] *::after {
    box-sizing: border-box !important;
}

.ycw-cat[data-ycw-category-content] {
    --ycw-green: #7bb648;
    --ycw-green-dark: #659f38;
    --ycw-green-deep: #588920;
    --ycw-green-tile: #eef7e4;
    --ycw-band-green: #f1f7ed;
    --ycw-band-cream: #f9f9f7;
    --ycw-ink: #292929;
    --ycw-copy: #8b8b8b;
    --ycw-copy-dark: #4a4a4a;
    --ycw-line: #ebebe6;
    --ycw-pink: #d5498f;
    --ycw-radius: 10px;
    --ycw-shadow: 0 6px 18px rgba(41, 41, 41, 0.06);
    --ycw-font-head: "Playfair Display", Georgia, "Times New Roman", serif;
    --ycw-font-body: "Poppins", "Helvetica Neue", Arial, sans-serif;
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ycw-ink) !important;
    background: transparent !important;
    font-family: var(--ycw-font-body) !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
}

/* -- Harde reset binnen de wrapper (Themler-proof) --------------------------- */
.ycw-cat[data-ycw-category-content] section,
.ycw-cat[data-ycw-category-content] article,
.ycw-cat[data-ycw-category-content] header,
.ycw-cat[data-ycw-category-content] div,
.ycw-cat[data-ycw-category-content] span,
.ycw-cat[data-ycw-category-content] a,
.ycw-cat[data-ycw-category-content] img,
.ycw-cat[data-ycw-category-content] button {
    font-family: inherit !important;
    background-image: none !important;
    text-shadow: none !important;
}

.ycw-cat[data-ycw-category-content] h1,
.ycw-cat[data-ycw-category-content] h2,
.ycw-cat[data-ycw-category-content] h3,
.ycw-cat[data-ycw-category-content] h4,
.ycw-cat[data-ycw-category-content] p,
.ycw-cat[data-ycw-category-content] ul,
.ycw-cat[data-ycw-category-content] ol,
.ycw-cat[data-ycw-category-content] li {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    list-style: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.ycw-cat[data-ycw-category-content] img {
    max-width: 100% !important;
    height: auto !important;
    border: 0 !important;
    box-shadow: none !important;
    display: block !important;
}

.ycw-cat[data-ycw-category-content] a {
    text-decoration: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.ycw-cat[data-ycw-category-content] a:focus-visible,
.ycw-cat[data-ycw-category-content] button:focus-visible {
    outline: 2px solid var(--ycw-green-dark) !important;
    outline-offset: 2px !important;
    border-radius: 4px;
}

/* -- Secties: banden over de volledige breedte -------------------------------- */
.ycw-cat[data-ycw-category-content] .ycw-cat-section {
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 72px 0 !important;
    background: #ffffff !important;
    position: relative !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-section__inner {
    width: 100% !important;
    max-width: 1188px !important;
    margin: 0 auto !important;
    padding: 0 10px !important;
}

/* Bandkleuren exact volgens voorbeeld */
.ycw-cat[data-ycw-category-content] .ycw-cat-intro        { background: var(--ycw-band-cream) !important; }
.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories{ background: #ffffff !important; }
.ycw-cat[data-ycw-category-content] .ycw-cat-match        { background: var(--ycw-band-green) !important; }
.ycw-cat[data-ycw-category-content] .ycw-cat-place        { background: var(--ycw-band-cream) !important; }
.ycw-cat[data-ycw-category-content] .ycw-cat-health       { background: var(--ycw-band-green) !important; }
.ycw-cat[data-ycw-category-content] .ycw-cat-faq          { background: #ffffff !important; }
.ycw-cat[data-ycw-category-content] .ycw-cat-cta          { background: var(--ycw-green) !important; }
.ycw-cat[data-ycw-category-content] .ycw-cat-description  { background: var(--ycw-band-cream) !important; }

/* -- Sectiekoppen (gecentreerd, serif) ---------------------------------------- */
.ycw-cat[data-ycw-category-content] .ycw-cat-section__header {
    display: block !important;
    max-width: 640px !important;
    margin: 0 auto 44px !important;
    text-align: center !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-section__header h2 {
    font-family: var(--ycw-font-head) !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: var(--ycw-ink) !important;
    margin: 0 0 12px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-section__intro,
.ycw-cat[data-ycw-category-content] .ycw-cat-section__intro p {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: var(--ycw-copy) !important;
    margin: 0 !important;
}

/* -- Richtext (kaartteksten, antwoorden) -------------------------------------- */
.ycw-cat[data-ycw-category-content] .ycw-cat-richtext,
.ycw-cat[data-ycw-category-content] .ycw-cat-richtext p {
    font-size: 14px !important;
    line-height: 1.75 !important;
    color: var(--ycw-copy) !important;
    margin: 0 !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-richtext p + p { margin-top: 12px !important; }
.ycw-cat[data-ycw-category-content] .ycw-cat-richtext a { color: var(--ycw-green-dark) !important; text-decoration: underline !important; }

/* =============================================================================
   1. Introductie (eyebrow + kop + tekst + afbeelding)
   ============================================================================= */
.ycw-cat[data-ycw-category-content] .ycw-cat-intro__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important;
    gap: 56px !important;
    align-items: center !important;
    max-width: 1010px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-intro__media {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    border-radius: var(--ycw-radius) !important;
    background: var(--ycw-band-green) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-intro__media img,
.ycw-cat[data-ycw-category-content] .ycw-cat-intro__image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 0 !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-intro__inner--no-media {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 790px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-intro__inner--no-media .ycw-cat-intro__text {
    max-width: 720px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-eyebrow {
    display: block !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--ycw-green) !important;
    margin: 0 0 12px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-intro__text h2 {
    font-family: var(--ycw-font-head) !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: var(--ycw-ink) !important;
    margin: 0 0 16px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-intro__text .ycw-cat-richtext,
.ycw-cat[data-ycw-category-content] .ycw-cat-intro__text .ycw-cat-richtext p {
    font-size: 14.5px !important;
}

/* =============================================================================
   2. Subcategorieën ("Bekijk per soort")
   ============================================================================= */
.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__card {
    background: #ffffff !important;
    border: 1px solid var(--ycw-line) !important;
    border-radius: var(--ycw-radius) !important;
    box-shadow: var(--ycw-shadow) !important;
    overflow: hidden !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 30px rgba(41, 41, 41, 0.10) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__card > a {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    color: inherit !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__media {
    display: block !important;
    aspect-ratio: 3 / 2 !important;
    overflow: hidden !important;
    background: var(--ycw-band-green) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .35s ease !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__card:hover .ycw-cat-subcategories__media img {
    transform: scale(1.04) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__placeholder {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, var(--ycw-band-green), #dcecc9) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__body {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 18px 20px !important;
    margin-top: auto !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__body h3 {
    font-family: var(--ycw-font-head) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: var(--ycw-ink) !important;
    margin: 0 !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ycw-green-dark) !important;
    white-space: nowrap !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__button svg {
    width: 16px !important;
    height: 16px !important;
    transition: transform .18s ease !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__card:hover .ycw-cat-subcategories__button svg {
    transform: translateX(3px) !important;
}

/* =============================================================================
   3. "Welke ... past bij jou?" - advieskaarten met groene topline
   ============================================================================= */
.ycw-cat[data-ycw-category-content] .ycw-cat-match__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-match__card {
    background: #ffffff !important;
    border: 1px solid var(--ycw-line) !important;
    border-top: 3px solid var(--ycw-green) !important;
    border-radius: var(--ycw-radius) !important;
    box-shadow: var(--ycw-shadow) !important;
    padding: 26px 26px 28px !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-match__card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 30px rgba(41, 41, 41, 0.10) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-match__card h3 {
    font-family: var(--ycw-font-head) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--ycw-ink) !important;
    margin: 0 0 10px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-match__card ul {
    margin: 14px 0 0 !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-match__card li {
    position: relative !important;
    padding: 4px 0 4px 20px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: var(--ycw-copy-dark) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-match__card li::before {
    content: "" !important;
    position: absolute !important;
    left: 2px !important;
    top: 13px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: var(--ycw-pink) !important;
}

/* =============================================================================
   4. "Kies op plek in huis" - compacte kaarten met lichtgroene icoontegel
   ============================================================================= */
.ycw-cat[data-ycw-category-content] .ycw-cat-place__grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-place__card {
    background: #ffffff !important;
    border: 1px solid var(--ycw-line) !important;
    border-radius: var(--ycw-radius) !important;
    box-shadow: var(--ycw-shadow) !important;
    padding: 26px 16px !important;
    text-align: center !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-place__card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 30px rgba(41, 41, 41, 0.10) !important;
    border-color: #dcebc8 !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-place__card:hover .ycw-cat-place__icon {
    transform: scale(1.07) !important;
    filter: brightness(0.97) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-place__icon {
    transition: transform .25s ease, filter .25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 10px !important;
    background: var(--ycw-green-tile) !important;
    margin: 0 auto 14px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-place__icon img {
    width: 26px !important;
    height: 26px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-place__card h3 {
    font-family: var(--ycw-font-head) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--ycw-ink) !important;
    margin: 0 0 6px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-place__card .ycw-cat-richtext,
.ycw-cat[data-ycw-category-content] .ycw-cat-place__card .ycw-cat-richtext p {
    font-size: 12.5px !important;
    line-height: 1.55 !important;
}

/* =============================================================================
   5. "Zo houd je ze gezond" - kaarten met groene icoontegel (wit icoon)
   ============================================================================= */
.ycw-cat[data-ycw-category-content] .ycw-cat-health__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 26px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-health__card {
    background: #ffffff !important;
    border: 1px solid var(--ycw-line) !important;
    border-radius: var(--ycw-radius) !important;
    box-shadow: var(--ycw-shadow) !important;
    padding: 26px !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-health__card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 30px rgba(41, 41, 41, 0.10) !important;
    border-color: #dcebc8 !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-health__card:hover .ycw-cat-health__icon {
    transform: scale(1.07) !important;
    filter: brightness(0.94) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-health__icon {
    transition: transform .25s ease, filter .25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 10px !important;
    background: var(--ycw-green) !important;
    margin: 0 0 16px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-health__icon img,
.ycw-cat[data-ycw-category-content] .ycw-cat-health__icon svg {
    width: 26px !important;
    height: 26px !important;
}

/* Tabler-iconen (zwarte lijnen) wit maken op de groene tegel */
.ycw-cat[data-ycw-category-content] .ycw-cat-health__icon img.ycw-cat-icon--tabler {
    filter: brightness(0) invert(1) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-health__icon svg {
    fill: none !important;
    stroke: #ffffff !important;
    stroke-width: 3 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-health__card h3 {
    font-family: var(--ycw-font-head) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--ycw-ink) !important;
    margin: 0 0 8px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-health__card .ycw-cat-richtext,
.ycw-cat[data-ycw-category-content] .ycw-cat-health__card .ycw-cat-richtext p {
    font-size: 13.5px !important;
}

/* =============================================================================
   6. Veelgestelde vragen - witte kaartjes met + / −
   ============================================================================= */
.ycw-cat[data-ycw-category-content] .ycw-cat-faq__items {
    display: block !important;
    max-width: 760px !important;
    margin: 0 auto !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__item {
    background: #ffffff !important;
    border: 1px solid var(--ycw-line) !important;
    border-radius: 8px !important;
    box-shadow: 0 3px 10px rgba(41, 41, 41, 0.04) !important;
    transition: box-shadow .25s ease, border-color .25s ease !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__item:hover {
    border-color: #dcebc8 !important;
    box-shadow: 0 8px 18px rgba(41, 41, 41, 0.07) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__item + .ycw-cat-faq__item {
    margin-top: 14px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__item h3 { margin: 0 !important; }

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__question {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    padding: 18px 22px !important;
    cursor: pointer !important;
    text-align: left !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__question > span:first-child {
    font-family: var(--ycw-font-head) !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: var(--ycw-ink) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-thickness: 1px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__question[aria-expanded="true"] > span:first-child {
    text-decoration: none !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__symbol {
    transition: transform .2s ease, color .2s ease !important;
    flex: 0 0 auto !important;
    font-family: var(--ycw-font-body) !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    color: var(--ycw-green) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__question:hover .ycw-cat-faq__symbol {
    transform: scale(1.15) !important;
    color: var(--ycw-green-dark) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__symbol::before { content: "+" !important; }

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__question[aria-expanded="true"] .ycw-cat-faq__symbol::before { content: "\2212" !important; }

.ycw-cat[data-ycw-category-content] .ycw-cat-faq__answer {
    padding: 0 22px 20px !important;
}

/* =============================================================================
   7. CTA-band ("Kom naar onze winkel")
   ============================================================================= */
.ycw-cat[data-ycw-category-content] .ycw-cat-cta { padding: 56px 0 !important; }

.ycw-cat[data-ycw-category-content] .ycw-cat-cta__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 40px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-cta__text h2 {
    font-family: var(--ycw-font-head) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #ffffff !important;
    margin: 0 0 10px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-cta__text p {
    font-size: 14px !important;
    line-height: 1.75 !important;
    color: #e6f6d2 !important;
    max-width: 62ch !important;
    margin: 0 !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-cta__button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
    background: #ffffff !important;
    color: var(--ycw-green-deep) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    padding: 15px 24px !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    transition: background .18s ease, transform .18s ease !important;
    white-space: nowrap !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-cta__button:hover {
    background: #f3faec !important;
    transform: translateY(-1px) !important;
}

/* =============================================================================
   8. Categorieomschrijving onderaan (SEO-tekst met fade en Lees meer)
   ============================================================================= */
.ycw-cat[data-ycw-category-content] .ycw-cat-description__inner { max-width: 908px !important; }

.ycw-cat[data-ycw-category-content] .ycw-cat-description__content {
    position: relative !important;
    overflow: hidden !important;
    max-height: 340px !important;
    transition: max-height .45s ease !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description.is-expanded .ycw-cat-description__content {
    max-height: 6000px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description.is-short .ycw-cat-description__content {
    max-height: none !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description__content::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 130px !important;
    background: linear-gradient(180deg, rgba(249, 249, 247, 0), var(--ycw-band-cream)) !important;
    pointer-events: none !important;
    opacity: 1 !important;
    transition: opacity .3s ease !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description.is-expanded .ycw-cat-description__content::after,
.ycw-cat[data-ycw-category-content] .ycw-cat-description.is-short .ycw-cat-description__content::after {
    opacity: 0 !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description__content h2,
.ycw-cat[data-ycw-category-content] .ycw-cat-description__content h3,
.ycw-cat[data-ycw-category-content] .ycw-cat-description__content h4 {
    font-family: var(--ycw-font-head) !important;
    font-weight: 700 !important;
    color: var(--ycw-ink) !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description__content h2 { font-size: 24px !important; margin: 0 0 14px !important; }
.ycw-cat[data-ycw-category-content] .ycw-cat-description__content h3 { font-size: 18px !important; margin: 26px 0 8px !important; }
.ycw-cat[data-ycw-category-content] .ycw-cat-description__content h4 { font-size: 16px !important; margin: 22px 0 6px !important; }

.ycw-cat[data-ycw-category-content] .ycw-cat-description__content p,
.ycw-cat[data-ycw-category-content] .ycw-cat-description__content li {
    font-size: 15px !important;
    line-height: 1.85 !important;
    color: var(--ycw-copy) !important;
    margin: 0 0 14px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description__content ul,
.ycw-cat[data-ycw-category-content] .ycw-cat-description__content ol {
    margin: 0 0 14px 20px !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description__content ul li { list-style: disc !important; }
.ycw-cat[data-ycw-category-content] .ycw-cat-description__content ol li { list-style: decimal !important; }

.ycw-cat[data-ycw-category-content] .ycw-cat-description__content a {
    color: var(--ycw-green-dark) !important;
    text-decoration: underline !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description__toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 22px auto 0 !important;
    background: #ffffff !important;
    border: 1px solid var(--ycw-green) !important;
    border-radius: 6px !important;
    color: var(--ycw-green-dark) !important;
    font-family: var(--ycw-font-body) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    padding: 12px 22px !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: background .18s ease !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description__toggle-row {
    text-align: center !important;
    margin: 0 !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description__toggle:hover { background: var(--ycw-band-green) !important; }

.ycw-cat[data-ycw-category-content] .ycw-cat-description__toggle::after {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) translateY(-2px) !important;
    transition: transform .18s ease !important;
}

.ycw-cat[data-ycw-category-content] .ycw-cat-description.is-expanded .ycw-cat-description__toggle::after {
    transform: rotate(225deg) translateY(-1px) !important;
}

/* =============================================================================
   Responsief
   ============================================================================= */
@media (max-width: 1024px) {
    .ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__grid,
    .ycw-cat[data-ycw-category-content] .ycw-cat-match__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .ycw-cat[data-ycw-category-content] .ycw-cat-health__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .ycw-cat[data-ycw-category-content] .ycw-cat-place__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 782px) {
    .ycw-cat[data-ycw-category-content] .ycw-cat-section { padding: 48px 0 !important; }
    .ycw-cat[data-ycw-category-content] .ycw-cat-section__header { margin-bottom: 32px !important; }
    .ycw-cat[data-ycw-category-content] .ycw-cat-section__header h2 { font-size: 26px !important; }
    .ycw-cat[data-ycw-category-content] .ycw-cat-intro__inner { grid-template-columns: 1fr !important; gap: 28px !important; }
    .ycw-cat[data-ycw-category-content] .ycw-cat-intro__text h2 { font-size: 25px !important; }
    .ycw-cat[data-ycw-category-content] .ycw-cat-cta__inner { flex-direction: column !important; align-items: flex-start !important; gap: 22px !important; }
    .ycw-cat[data-ycw-category-content] .ycw-cat-place__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 560px) {
    .ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__grid,
    .ycw-cat[data-ycw-category-content] .ycw-cat-match__grid,
    .ycw-cat[data-ycw-category-content] .ycw-cat-health__grid { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
    .ycw-cat[data-ycw-category-content] *,
    .ycw-cat[data-ycw-category-content] *::before,
    .ycw-cat[data-ycw-category-content] *::after { transition: none !important; }

    .ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__card:hover,
    .ycw-cat[data-ycw-category-content] .ycw-cat-match__card:hover,
    .ycw-cat[data-ycw-category-content] .ycw-cat-place__card:hover,
    .ycw-cat[data-ycw-category-content] .ycw-cat-health__card:hover,
    .ycw-cat[data-ycw-category-content] .ycw-cat-place__card:hover .ycw-cat-place__icon,
    .ycw-cat[data-ycw-category-content] .ycw-cat-health__card:hover .ycw-cat-health__icon,
    .ycw-cat[data-ycw-category-content] .ycw-cat-faq__question:hover .ycw-cat-faq__symbol,
    .ycw-cat[data-ycw-category-content] .ycw-cat-subcategories__card:hover .ycw-cat-subcategories__media img { transform: none !important; }
}
