/*
Theme Name: Reisreport Child
Description: Schoon Blocksy child theme voor Reisreport.
Template: blocksy
Version: 1.0.0
Text Domain: reisreport-child
*/

.ct-back-to-top {
    display: none !important;
}

/*
 * Footer: donker + leesbare tekst/links.
 * Single post + hero: zie inline CSS in functions.php (foto + donkere laag, golvende aansluiting).
 */
#main-container > footer.ct-footer#footer,
footer.ct-footer#footer {
    background-color: #333333 !important;
    color: #e8e8e8 !important;
    --theme-text-color: #e8e8e8;
    --theme-heading-color: #ffffff;
    --theme-link-initial-color: #ffffff;
    --theme-link-hover-color: rgba(255, 255, 255, 0.78);
    --theme-border-color: rgba(255, 255, 255, 0.14);
    --theme-palette-color-1: #ffffff;
    --theme-palette-color-2: #e8e8e8;
}

footer.ct-footer#footer a,
footer.ct-footer#footer .menu a,
footer.ct-footer#footer .ct-menu-link {
    color: #ffffff !important;
}

footer.ct-footer#footer a:hover,
footer.ct-footer#footer .menu a:hover,
footer.ct-footer#footer .ct-menu-link:hover {
    color: rgba(255, 255, 255, 0.78) !important;
}

footer.ct-footer#footer .ct-module-title,
footer.ct-footer#footer .widget-title {
    color: #ffffff !important;
}

footer.ct-footer#footer .ct-footer-copyright,
footer.ct-footer#footer .ct-widget {
    color: #e8e8e8 !important;
}

/* Logo: donkere variant op lichte header → licht maken in footer (verwijder filter als je al een wit logo gebruikt) */
footer.ct-footer#footer .site-branding img,
footer.ct-footer#footer [data-id="logo"] img {
    filter: brightness(0) invert(1);
    opacity: 0.95;
    max-height: 40px;
    max-width: 150px;
    width: auto;
    height: auto;
    object-fit: contain;
}

footer.ct-footer#footer [data-id="logo"] svg {
    max-height: 40px;
    max-width: 150px;
    width: auto;
    height: auto;
}

/* Footer menu's: items onder elkaar (Blocksy zet standaard horizontale flex op .menu) */
footer.ct-footer#footer .footer-menu-inline > ul.menu,
footer.ct-footer#footer nav[id^="footer-menu"] > ul.menu {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    row-gap: 0.35rem;
    column-gap: 0 !important;
}

footer.ct-footer#footer .footer-menu-inline > ul.menu > li,
footer.ct-footer#footer nav[id^="footer-menu"] > ul.menu > li {
    width: auto !important;
    max-width: 100%;
    margin: 0 !important;
    align-items: flex-start !important;
}

footer.ct-footer#footer .footer-menu-inline > ul.menu > li > .ct-menu-link,
footer.ct-footer#footer nav[id^="footer-menu"] > ul.menu > li > .ct-menu-link {
    --menu-item-padding: 0.2rem 0;
    height: auto !important;
    min-height: 0;
    justify-content: flex-start !important;
}

/* Footer widget “Aangepast menu” (zelfde horizontale .menu als Blocksy) */
footer.ct-footer#footer .widget_nav_menu ul.menu {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    row-gap: 0.35rem;
}

footer.ct-footer#footer .widget_nav_menu ul.menu > li {
    width: auto !important;
    margin: 0 !important;
    align-items: flex-start !important;
}

footer.ct-footer#footer .widget_nav_menu ul.menu > li > a {
    padding: 0.2rem 0;
}

footer.ct-footer#footer .ct-header-socials a,
footer.ct-footer#footer .ct-footer-socials a {
    color: #e8e8e8 !important;
}

footer.ct-footer#footer .ct-header-socials a:hover,
footer.ct-footer#footer .ct-footer-socials a:hover {
    color: #ffffff !important;
}

footer.ct-footer#footer .ct-icon-container svg,
footer.ct-footer#footer svg {
    fill: currentColor;
    color: inherit;
}

/* Single post: gerelateerde berichten — crème vlak; boven- en ondergolf binnen dit blok */
.single-post .ct-related-posts-container,
.single-post article > .ct-related-posts {
    background-color: #f5f2ef !important;
    position: relative;
    overflow: hidden;
    z-index: 0;
}

/* Gerelateerde berichten (slider/grid): layout en flexy volledig door Blocksy — geen child-overrides. */

/*
 * Boven/onder: ruimte voor licht golvende strook (220px) + tekst.
 */
.single-post .ct-related-posts-container {
    padding-top: calc(220px + 1.5rem) !important;
    padding-bottom: calc(140px + 2.5rem) !important;
    padding-left: clamp(1.25rem, 5vw, 3rem) !important;
    padding-right: clamp(1.25rem, 5vw, 3rem) !important;
}

.single-post article > .ct-related-posts {
    padding-top: calc(220px + 1.25rem) !important;
    padding-bottom: calc(140px + 2.25rem) !important;
    padding-left: clamp(1.25rem, 5vw, 3rem) !important;
    padding-right: clamp(1.25rem, 5vw, 3rem) !important;
    border-top: none;
}

/* Tips-producten: geen overflow knippen (rotatie + drop-shadow op kaartafbeeldingen). */
.single-post .reisreport-tips-products .ct-container,
.single-post .reisreport-related-products {
    overflow: visible !important;
}

/*
 * "Nu populair in onze webshop" op crème achtergrond met eigen boven- en ondergolf.
 * Bovengolf (wit > crème) = dezelfde Q-curve als voorheen op ct-related-posts.
 * Ondergolf (crème > wit) is de overgang naar het witte "Gerelateerde berichten"-blok.
 */
.single-post .reisreport-tips-products {
    background-color: #f5f2ef;
    position: relative;
    z-index: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: calc(120px + 1rem + 25px);
    padding-bottom: calc(2rem + 50px);
    padding-left: clamp(1.25rem, 5vw, 3rem);
    padding-right: clamp(1.25rem, 5vw, 3rem);
    overflow: visible !important;
}

.single-post .reisreport-tips-products > .ct-container {
    position: relative;
    z-index: 2;
}

.single-post .reisreport-tips-products::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 120px;
    z-index: 0;
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: top center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0%2C0%20L1440%2C0%20L1440%2C120%20L0%2C120%20Z'/%3E%3Cpath fill='%23f5f2ef' d='M0%2C102%20Q360%2C124%20720%2C102%20Q1080%2C81%201440%2C102%20L1440%2C120%20L0%2C120%20Z'/%3E%3C/svg%3E");
}

.single-post .reisreport-tips-products::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 140px;
    z-index: 0;
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: bottom center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 140' preserveAspectRatio='none'%3E%3Cpath fill='%23f5f2ef' d='M0%2C0%20L1440%2C0%20L1440%2C120%20Q1080%2C145%20720%2C120%20Q360%2C94%200%2C120%20Z'/%3E%3Cpath fill='%23ffffff' d='M0%2C120%20Q360%2C94%20720%2C120%20Q1080%2C145%201440%2C120%20L1440%2C140%20L0%2C140%20Z'/%3E%3C/svg%3E");
}

/*
 * "Gerelateerde berichten" op witte achtergrond als "Nu populair" erboven staat.
 * Bovengolf verbergen (zit nu op tips-producten).
 * Ondergolf: wit > #333 i.p.v. crème > #333.
 */
.single-post .reisreport-tips-products + .ct-related-posts-container,
.single-post .reisreport-tips-products + .ct-related-posts {
    background-color: #ffffff !important;
    margin-top: 0 !important;
    padding-top: 2.5rem !important;
}

.single-post .reisreport-tips-products + .ct-related-posts-container::before,
.single-post .reisreport-tips-products + .ct-related-posts::before {
    display: none !important;
}

.single-post .reisreport-tips-products + .ct-related-posts-container::after,
.single-post .reisreport-tips-products + .ct-related-posts::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 220' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0%2C0%20L1440%2C0%20L1440%2C188%20Q1080%2C228%20720%2C188%20Q360%2C148%200%2C188%20Z'/%3E%3Cpath fill='%23333333' d='M0%2C188%20Q360%2C148%20720%2C188%20Q1080%2C228%201440%2C188%20L1440%2C220%20L0%2C220%20Z'/%3E%3C/svg%3E") !important;
}

/* Lijn onder de titel; titel staat buiten deze section (zie related-connect-products.php). */
.single-post .reisreport-related-products {
    margin-bottom: 0;
    margin-top: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding-top: 1rem;
}

.single-post .reisreport-related-products__title {
    margin-bottom: 0.65rem !important;
    margin-top: 0 !important;
    font-weight: 700;
}

/*
 * Tips-grid: vaste kolomaantallen per schermgrootte. Overschot wordt verborgen.
 * Mobile  (<690px):  1 kolom, toon alleen 1e product
 * Tablet  (690–999px): 2 kolommen, toon 1e + 2e product
 * Desktop (≥1000px): 3 kolommen, toon alle 3
 */
.single-post .reisreport-tips-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    width: 100%;
    box-sizing: border-box;
    overflow: visible;
}

/* Mobile: toon alleen het eerste product */
.single-post .reisreport-tips-grid .reisreport-related-products__item:nth-child(n+2) {
    display: none;
}

/* Tablet (≥690px): 2 kolommen, toon eerste twee */
@media (min-width: 690px) {
    .single-post .reisreport-tips-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .single-post .reisreport-tips-grid .reisreport-related-products__item:nth-child(2) {
        display: block;
    }

    .single-post .reisreport-tips-grid .reisreport-related-products__item:nth-child(n+3) {
        display: none;
    }
}

/* Desktop (≥1000px): 3 kolommen, toon alle producten */
@media (min-width: 1000px) {
    .single-post .reisreport-tips-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .single-post .reisreport-tips-grid .reisreport-related-products__item:nth-child(n+3) {
        display: block;
    }
}

.single-post .reisreport-tips-grid .reisreport-related-products__item {
    min-width: 0;
    box-sizing: border-box;
    overflow: visible;
}

.single-post .reisreport-related-products__card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(0.75rem, 3vw, 1.25rem);
    height: 100%;
    text-decoration: none;
    color: inherit;
    border-radius: 6px;
    overflow: visible !important;
}

.single-post .reisreport-related-products__card:focus-visible {
    outline: 2px solid var(--theme-button-background-initial-color, var(--theme-palette-color-1, #e4791b));
    outline-offset: 3px;
}

.single-post .reisreport-related-products__card:hover .reisreport-related-products__name,
.single-post .reisreport-related-products__card:focus-visible .reisreport-related-products__name {
    color: var(--theme-link-hover-color, var(--theme-palette-color-1, #c45a00));
}

/*
 * Padding rondom img: ruimte voor rotatie + schaduw. Filter hoort op __media, niet op img:
 * transform + filter op hetzelfde element knipt de drop-shadow in veel browsers af (“vast in een box”).
 */
.single-post .reisreport-related-products__media {
    flex: 0 0 auto;
    max-width: min(40%, 140px);
    overflow: visible;
    line-height: 0;
    padding: 16px 20px 42px;
    box-sizing: content-box;
    filter:
        drop-shadow(0 5px 14px rgba(0, 0, 0, 0.16))
        drop-shadow(0 2px 6px rgba(0, 0, 0, 0.1));
    transition: filter 0.28s ease;
}

.single-post .reisreport-related-products__media img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    border-radius: 0;
    transform: rotate(-4deg);
    transform-origin: center center;
    transition: transform 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.single-post .reisreport-related-products__card:hover .reisreport-related-products__media,
.single-post .reisreport-related-products__card:focus-visible .reisreport-related-products__media {
    filter:
        drop-shadow(0 8px 22px rgba(0, 0, 0, 0.18))
        drop-shadow(0 3px 10px rgba(0, 0, 0, 0.12));
}

.single-post .reisreport-related-products__card:hover .reisreport-related-products__media img,
.single-post .reisreport-related-products__card:focus-visible .reisreport-related-products__media img {
    transform: rotate(0deg);
}

.single-post .reisreport-related-products__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
}

.single-post .reisreport-related-products__name {
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.35;
    color: #1a1a1a;
    transition: color 0.2s ease;
}

.single-post .reisreport-related-products__excerpt {
    font-size: 0.82rem;
    line-height: 1.5;
    color: #444;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Prijs: verborgen tot hover/focus (touch: altijd zichtbaar via hover: none) */
.single-post .reisreport-related-products__price-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    padding: 0;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    border-radius: var(--theme-button-border-radius, 3px);
    background-color: #f0f0f0;
    color: #1a1a1a;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    border: none;
    transition: none;
}

.single-post .reisreport-related-products__card:hover .reisreport-related-products__price-btn,
.single-post .reisreport-related-products__card:focus-visible .reisreport-related-products__price-btn {
    opacity: 1;
    visibility: visible;
    max-height: 5rem;
    margin-top: 0.25rem;
    padding: 0.55em 1.15em;
    box-shadow: var(--theme-button-box-shadow, none);
    background-color: var(--theme-button-background-hover-color, var(--theme-button-background-initial-color, var(--theme-palette-color-1, #e4791b)));
    color: var(--theme-button-text-hover-color, var(--theme-button-text-initial-color, #ffffff));
    filter: brightness(1.05);
}

@media (hover: none) {
    .single-post .reisreport-related-products__card .reisreport-related-products__price-btn {
        opacity: 1;
        visibility: visible;
        max-height: none;
        margin-top: 0.25rem;
        padding: 0.55em 1.15em;
        box-shadow: var(--theme-button-box-shadow, none);
        background-color: #f0f0f0;
        color: #1a1a1a;
        filter: none;
    }

    .single-post .reisreport-related-products__card:active .reisreport-related-products__price-btn {
        filter: brightness(1.03);
    }
}

/* Gratis verzending altijd zichtbaar; bij hover/focus vet */
.single-post .reisreport-related-products__shipping-hint {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.35;
    color: #1b5e20;
    letter-spacing: 0.01em;
}

.single-post .reisreport-related-products__card:hover .reisreport-related-products__shipping-hint,
.single-post .reisreport-related-products__card:focus-visible .reisreport-related-products__shipping-hint {
    font-weight: 700;
}

/* Mobile: kaart horizontaal (rij), afbeelding kleiner → meer ruimte voor tekst */
@media (max-width: 689.98px) {
    .single-post .reisreport-related-products__media {
        max-width: 80px;
        padding: 10px 12px 30px;
    }

    .single-post .reisreport-related-products__name {
        font-size: 1.05rem;
    }

    .single-post .reisreport-related-products__excerpt {
        font-size: 0.875rem;
        -webkit-line-clamp: 5;
    }

    .single-post .reisreport-related-products__price-btn {
        font-size: 0.9rem;
    }

    .single-post .reisreport-related-products__shipping-hint {
        font-size: 0.875rem;
    }
}

/* Tablet: iets grotere tekst dan desktop (meer ruimte per kaart) */
@media (min-width: 690px) and (max-width: 999.98px) {
    .single-post .reisreport-related-products__name {
        font-size: 1rem;
    }

    .single-post .reisreport-related-products__excerpt {
        font-size: 0.85rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .single-post .reisreport-related-products__media,
    .single-post .reisreport-related-products__media img,
    .single-post .reisreport-related-products__name {
        transition-duration: 0.01ms;
    }

    .single-post .reisreport-related-products__media img {
        transform: none;
    }

    .single-post .reisreport-related-products__price-btn {
        opacity: 1 !important;
        visibility: visible !important;
        max-height: none !important;
        margin-top: 0.25rem;
        padding: 0.55em 1.15em;
        box-shadow: var(--theme-button-box-shadow, none);
    }
}

/* Iets extra tussen titel en raster */
.single-post .ct-related-posts-container .ct-module-title,
.single-post article > .ct-related-posts .ct-module-title {
    margin-bottom: 1.15rem !important;
}

/*
 * Dubbele "Gerelateerde berichten" vangnet: als een Blocksy Companion content-block
 * via een action-hook een extra .ct-module-title injecteert, verberg dan het tweede exemplaar.
 */
.single-post .ct-related-posts .ct-module-title ~ .ct-module-title {
    display: none !important;
}

.single-post .ct-related-posts-container .ct-related-posts-items,
.single-post article > .ct-related-posts .ct-related-posts-items {
    gap: 1.35rem 1.35rem;
}

/* Gerelateerde berichten: geen publicatiedatum (Blocksy: li.meta-date) */
.single-post .ct-related-posts .entry-meta li.meta-date {
    display: none !important;
}

/* Korte inhoud onder de kaarttitel (related-posts-excerpt.php) */
.single-post .ct-related-posts .reisreport-related-excerpt {
    margin: 0.4rem 0 0;
    padding: 0;
    max-width: 100%;
    font-size: 0.9rem;
    line-height: 1.55;
    font-weight: 400;
    color: #4a4a4a;
}

/* Iets lucht tussen excerpt en meta (als meta onder titel staat) */
.single-post .ct-related-posts .reisreport-related-excerpt + .entry-meta {
    margin-top: 0.5rem;
}

/* Inhoud boven boven- en ondergolf */
.single-post .ct-related-posts-container > .ct-container,
.single-post article > .ct-related-posts > * {
    position: relative;
    z-index: 2;
}

/* Bovengolf: wit + crème (Q) */
.single-post .ct-related-posts-container::before,
.single-post article > .ct-related-posts::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 220px;
    z-index: 0;
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: top center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 220' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0%2C0%20L1440%2C0%20L1440%2C220%20L0%2C220%20Z'/%3E%3Cpath fill='%23f5f2ef' d='M0%2C188%20Q360%2C228%20720%2C188%20Q1080%2C148%201440%2C188%20L1440%2C220%20L0%2C220%20Z'/%3E%3C/svg%3E");
}

/*
 * Ondergolf: horizontaal gespiegelde variant van de bovengolf (zelfde Q-curve),
 * crème (#f5f2ef) naar #333. Zonder hero op de post: effen #333 onder de curve.
 * Mét hero: functions.php zet hier foto + donkere laag onder alleen-crème-SVG (fixed),
 * zodat de golf over het beeld ligt en er geen “lege” strook tussen sectie en footer is.
 */
.single-post .ct-related-posts-container::after,
.single-post article > .ct-related-posts::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 220px;
    z-index: 0;
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: bottom center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 220' preserveAspectRatio='none'%3E%3Cpath fill='%23f5f2ef' d='M0%2C0%20L1440%2C0%20L1440%2C188%20Q1080%2C228%20720%2C188%20Q360%2C148%200%2C188%20Z'/%3E%3Cpath fill='%23333333' d='M0%2C188%20Q360%2C148%20720%2C188%20Q1080%2C228%201440%2C188%20L1440%2C220%20L0%2C220%20Z'/%3E%3C/svg%3E");
}

/* Verzendingmsg: klein, zwart, wit bij transparante header */
.verzendingmsg {
    font-size: 0.85rem;
    color: #000000;
}

header#header [data-transparent] .verzendingmsg {
    color: #ffffff !important;
}

/* Zelfde bedoeling als .verzendingmsg, iets compacter */
.verzendingmsg2 {
    font-size: 0.75rem;
    line-height: 1.25;
    color: #000000;
}

header#header [data-transparent] .verzendingmsg2 {
    color: #ffffff !important;
}

/* Sitebreed lettertype: Nunito */
body,
.entry-content,
.site-title,
h1, h2, h3, h4, h5, h6 {
    font-family: 'Nunito', sans-serif;
}

/* Donkerdere hoofdtekst (body + artikelen) */
body {
    color: #1a1a1a;
}

.entry-content {
    color: #1a1a1a;
}

/* Sidebar 50px breder; content-kolom krimpt (Blocksy grid, zelfde breakpoint als lg: 1000px) */
@media (min-width: 1000px) {
    [data-sidebar="right"] {
        --grid-template-columns: minmax(100px, 1fr) calc(var(--sidebar-width, 27%) + 50px);
    }

    [data-sidebar="left"] {
        --grid-template-columns: calc(var(--sidebar-width, 27%) + 50px) minmax(100px, 1fr);
    }

    /*
     * Blocksy sidebar type 3: ::after = verticale scheidingslijn aan de binnenrand van de kolom.
     * Type 4: ::after = grijs verlengd vlak naar de content toe. Beide ogen als “balk” links van de sidebar.
     */
    [data-sidebar] > aside[data-type='type-3']::after,
    [data-sidebar] > aside[data-type='type-4']::after {
        display: none;
        content: none;
    }
}

/* Header winkelmand: groter mand-icoon */
.ct-header-cart .ct-icon-container > svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

/* Single post: witte menu items op transparante header over hero */
.single-post header#header [data-transparent] .menu > li > a,
.single-post header#header [data-transparent] .site-branding a,
.single-post header#header [data-transparent] .site-title,
.single-post header#header [data-transparent] [data-items] > a,
.single-post header#header [data-transparent] .ct-header-socials a,
.single-post header#header [data-transparent] svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

.single-post header#header [data-transparent] .menu > li > a:hover {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* Alleen het hoofdmenu (middle row): grootte en geen text-transform */
.single-post header#header [data-row="middle"] .menu > li > a {
    font-size: 1rem !important;
}

header#header [data-row="middle"] .menu > li > a {
    text-transform: none !important;
}

/* Hoofdmenu: ruimte tussen items schaalt mee; +8px t.o.v. eerder; max 33px, groeit niet door op ultrabreed */
header#header [data-row="middle"] [data-menu] {
    --menu-items-spacing: clamp(19px, calc(2vw + 8px), 33px);
}

/*
 * Top-level menulinks in de site-header: geen gevulde “primary button” (oranje).
 * Alleen directe kinderen van root ul.menu → submenu’s / megamenu blijven ongemoeid.
 * Offcanvas/panel buiten #header: zelfde patroon op .ct-panel (menu in slide-out).
 */
header#header ul.menu > li > .ct-menu-link,
header#header ul.menu > li > a.ct-menu-link {
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
}

.ct-panel:not(#account-modal) ul.menu > li > .ct-menu-link,
.ct-panel:not(#account-modal) ul.menu > li > a.ct-menu-link {
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Topmenu: zwarte semi-transparante achtergrond */
.single-post header#header [data-row="top"] {
    background-color: rgba(0, 0, 0, 0.6) !important;
}

/* Header Menu 3: kolom onder elkaar + breedte = breedte van de menuknoppen (niet hele pagina) */
/* Blocksy zet op .header-menu height:100% en .menu height:inherit → ul vult anders de hele rij. */
#header-menu-3 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: fit-content;
    max-width: 100%;
    height: auto !important;
    min-height: 0 !important;
}

#header-menu-3 > ul.menu {
    margin-bottom: 0 !important;
    height: auto !important;
    min-height: 0 !important;
}

/* Header Menu 3: kleinere knoppen (minder hoog, strakker rondom tekst) */
#header-menu-3 > ul > li > .ct-menu-link {
    height: auto !important;
    padding: 8px 16px !important;
    border-radius: 4px;
}

/*
 * Megamenu in "Meer"-container: Companion stijlt alleen nav > ul > direct .ct-mega-menu.
 * In de flyout ontbreekt grid/breedte → herstel hier (zonder scrollbalken in het paneel).
 */
header#header .more-items-container:has([class*="ct-mega-menu"]) > .sub-menu {
    overflow: visible !important;
    max-height: none !important;
}

header#header .more-items-container.ct-active > .sub-menu,
header#header .more-items-container > .sub-menu:has([class*="ct-mega-menu"]) {
    overflow: visible !important;
    max-height: none !important;
}

header#header .more-items-container [class*="ct-mega-menu"].animated-submenu-inline {
    --dropdown-width: min(calc(100vw - 48px), var(--theme-normal-container-max-width, 1290px));
}

header#header .more-items-container [class*="ct-mega-menu"] > .sub-menu {
    display: grid !important;
    grid-template-columns: var(
        --grid-template-columns,
        repeat(auto-fit, minmax(180px, 1fr))
    ) !important;
    width: min(calc(100vw - 48px), var(--mega-menu-max-width, var(--theme-normal-container-max-width, 1290px))) !important;
    max-width: min(calc(100vw - 48px), var(--mega-menu-max-width, var(--theme-normal-container-max-width, 1290px))) !important;
    min-width: min(320px, calc(100vw - 48px)) !important;
    background-color: var(--dropdown-background-color, var(--theme-palette-color-4)) !important;
    box-shadow: var(--theme-box-shadow);
    z-index: 250;
}

header#header .more-items-container [class*="ct-mega-menu"] > .sub-menu > li {
    opacity: 1 !important;
    transform: none !important;
    min-width: 0;
    padding: var(--columns-padding, 16px 20px);
}

header#header .more-items-container [class*="ct-mega-menu"] > .sub-menu .menu-item {
    flex-direction: column;
    align-items: initial;
}

/* Standaard megamenu in flyout: geen data-submenu → geen left/right uit theme; open naar rechts van item. */
header#header .more-items-container [class*="ct-mega-menu"].animated-submenu-inline:not([data-submenu]) > .sub-menu {
    left: calc(100% + var(--dropdown-horizontal-offset, 5px)) !important;
    right: auto !important;
}

/* Smalle viewport: megapanels niet naar rechts uit beeld. */
@media (max-width: 1280px) {
    header#header .more-items-container [class*="ct-mega-menu"].animated-submenu-inline[data-submenu="right"] > .sub-menu {
        left: auto !important;
        right: 100% !important;
        margin-right: var(--dropdown-horizontal-offset, 5px);
        margin-left: 0;
    }
}

/* Single post: kleinere categorienamen op hero */
.single-post .wp-block-cover.ct-dynamic-cover .ct-dynamic-data:first-child {
    font-size: 11px !important;
}

/* Single post: verberg Greenshift meta/share rij (auteur, datum, deel knoppen, lijn) */
div[id^="gspb_row-id"] {
    display: none !important;
}

/* Single post: verberg share/deel knoppen (Blocksy) */
.single-post .ct-share-box {
    display: none;
}

/* Single post: verwijder overtollige ruimte tussen hero en content */
.single-post #main.site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.single-post [data-vertical-spacing*="top"] {
    padding-top: 30px !important;
}

.single-post .ct-featured-image {
    display: none;
}

/* Single post: grotere tekst en smallere content kolom */
.single-post .entry-content {
    font-size: 1.125rem;
    line-height: 1.8;
}

.single-post .entry-content img:not(.wp-block-cover__image-background) {
    max-width: 100%;
    height: auto;
}

.single-post .entry-content .wp-caption,
.single-post .entry-content figure {
    max-width: 100%;
}

.single-post .entry-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)) {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

/* Single post: golvende onderkant cover/hero */
.single-post .wp-block-cover.ct-dynamic-cover {
    position: relative;
    overflow: visible !important;
    margin-bottom: 0 !important;
}

.single-post .wp-block-cover.ct-dynamic-cover::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 160px;
    /* Laag genoeg dat titel/overlay erboven blijven; sidebar ligt via aparte stacking boven de hele hero */
    z-index: 2;
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: bottom center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0,152 C380,112 760,158 1120,120 C1240,108 1340,132 1440,134 L1440,160 L0,160 Z'/%3E%3C/svg%3E");
}

/*
 * Hero-titel: zo laag mogelijk; bij weinig ruimte (witte golf) liever extra regels dan omhoog schuiven.
 */
.single-post .wp-block-cover.ct-dynamic-cover .wp-block-cover__inner-container {
    position: relative;
    z-index: 4;
    justify-content: flex-end !important;
    align-items: center !important;
    padding-bottom: clamp(0.75rem, 2.5vw, 1.5rem) !important;
    box-sizing: border-box;
}

.single-post .wp-block-cover.ct-dynamic-cover .page-title {
    max-width: min(100%, 34rem);
    margin-left: auto;
    margin-right: auto;
    white-space: normal;
    overflow-wrap: break-word;
    word-wrap: break-word;
    line-height: 1.3;
    text-wrap: balance;
    box-sizing: border-box;
}

/* Desktop: ruimte rechts t.o.v. witte golf */
@media (min-width: 1000px) {
    .single-post .wp-block-cover.ct-dynamic-cover .wp-block-cover__inner-container {
        padding-right: 70px !important;
        box-sizing: border-box;
    }
}

/*
 * Tablet/mobiel: links gelijk aan logo / site-container (Blocksy --theme-container-edge-spacing).
 * Rechts extra ruimte voor de witte golf (niet spiegelen met links).
 */
@media (max-width: 999.98px) {
    .single-post .wp-block-cover.ct-dynamic-cover .wp-block-cover__inner-container {
        padding-left: max(
            0px,
            calc(
                (
                        100vw
                        - min(
                            100vw,
                            var(--theme-container-edge-spacing, 90vw)
                                - var(--theme-frame-size, 0px) * 2
                        )
                    )
                    / 2
            )
        ) !important;
        padding-right: clamp(2rem, 10vw, 4rem) !important;
        box-sizing: border-box;
    }

    .single-post .wp-block-cover.ct-dynamic-cover .page-title {
        max-width: min(100%, 28rem);
        line-height: 1.32;
    }
}

@media (max-width: 599.98px) {
    .single-post .wp-block-cover.ct-dynamic-cover .wp-block-cover__inner-container {
        padding-right: clamp(2.5rem, 16vw, 5.5rem) !important;
    }

    .single-post .wp-block-cover.ct-dynamic-cover .page-title {
        max-width: 100%;
        line-height: 1.35;
    }
}

/* Reacties: formulier pas na klik op knop (comment-form-toggle.js) */
/* Verberg #respond volledig wanneer ingeklapt — voorkomt lege ruimte/lijn onder de panel. */
.single-post #respond.reisreport-comment-area--form-collapsed {
    display: none !important;
}


/*
 * “Reageren? Leuk!”-paneel: standaard oranje, na openen grijs.
 */
.single-post .reisreport-comment-form-panel {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 0 1.25rem 0;
    padding: 2.2rem 1.45rem 1.3rem 1.45rem;
    position: relative;
    background: #f9f9f9;
    box-shadow: none;
    border-radius: 0.65rem 1.05rem 0.82rem 0.92rem / 0.92rem 0.7rem 1.1rem 0.76rem;
    transition: background-color 0.2s ease;
}

/* Na openen van het formulier: zelfde grijs */
.single-post .reisreport-comment-form-panel.reisreport-comment-form-panel--open {
    background: #f9f9f9;
}

/* Wrapper: paneel + #respond; onder de reactiebox als die er is. */
.single-post .reisreport-comments-invite-row {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 0 1.25rem;
    overflow: visible;
}

.single-post .reisreport-comments-invite-row__left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

/*
 * Met reacties staat de rij onder de wave-box: zelfde inspringing links als die box (desktop).
 * Zonder reacties blijft de rij in de normale contentkolom (geen extra marge).
 */
@media (min-width: 1000px) {
    .single-post .reisreport-comments-invite-row--with-comments .reisreport-comments-invite-row__left {
        margin-left: 100px;
        max-width: calc(100% - 100px);
        box-sizing: border-box;
    }
}

.single-post .reisreport-comment-form-panel__title {
    position: absolute;
    top: -0.95rem;
    left: 0.75rem;
    margin: 0;
    padding: 0.42rem 1.05rem 0.48rem;
    background: #e8aa74;
    color: #ffffff;
    font-size: clamp(0.96rem, 0.88rem + 0.32vw, 1.1rem);
    font-weight: 700;
    line-height: 1.2;
    font-family: inherit;
    border-radius: 0.5rem 1.2rem 0.48rem 1.0rem / 0.9rem 0.5rem 0.85rem 0.55rem;
    white-space: nowrap;
}

.single-post .reisreport-comment-form-panel--open .reisreport-comment-form-panel__title {
    color: #ffffff;
}

.single-post .reisreport-comment-form-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0.58rem 1.35rem;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.03em;
    font-family: inherit;
    cursor: pointer;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background: #ffffff;
    color: #a05c21;
    box-shadow: none;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.single-post .reisreport-comment-form-toggle:hover,
.single-post .reisreport-comment-form-toggle:focus-visible {
    color: var(--rr-bestemming-accent, #a65d28);
    background: #ffffff;
    border-color: rgba(166, 93, 40, 0.35);
    transform: translateY(-1px);
    outline: none;
    filter: none;
}

@media (prefers-reduced-motion: reduce) {
    .single-post .reisreport-comment-form-toggle {
        transition: none;
    }
}

/*
 * Reactielijst (“Reacties op dit bericht:”): gradient lichtgrijs → bijna wit, sterkere organische hoeken.
 */
.single-post .reisreport-comments-wave-panel {
    position: relative;
    margin: 50px 0 1.35rem;
    padding: 1.55rem 1.85rem 3.5rem 1.7rem;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    background-color: #ffffff;
    background-image: linear-gradient(180deg, #f5f2ef 0%, #ffffff 100%);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
    border-radius: 10px;
    overflow: hidden;
    border: none;
}

@media (min-width: 1000px) {
    .single-post .reisreport-comments-wave-panel {
        margin-left: 100px;
        width: calc(100% - 100px);
        max-width: calc(100% - 100px);
    }
}

.single-post .reisreport-comments-wave-panel > * {
    position: relative;
    z-index: 1;
}

/* Titel; theme-lijnen (::before/::after) uit */
.single-post .reisreport-comments-wave-panel h2.ct-comments-title,
.single-post .reisreport-comments-wave-panel h3.ct-comments-title,
.single-post .reisreport-comments-wave-panel .ct-comments-title {
    margin: 0 0 0.75rem !important;
    padding: 0 !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #1a1a1a !important;
    border: none !important;
    box-shadow: none !important;
}

.single-post .reisreport-comments-wave-panel h2.ct-comments-title::before,
.single-post .reisreport-comments-wave-panel h2.ct-comments-title::after,
.single-post .reisreport-comments-wave-panel h3.ct-comments-title::before,
.single-post .reisreport-comments-wave-panel h3.ct-comments-title::after,
.single-post .reisreport-comments-wave-panel .ct-comments-title::before,
.single-post .reisreport-comments-wave-panel .ct-comments-title::after {
    content: none !important;
    display: none !important;
}

.single-post .reisreport-comments-wave-panel .ct-comments-heading,
.single-post .reisreport-comments-wave-panel .ct-module-title {
    margin-top: 0 !important;
    margin-bottom: 0.4rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.single-post .reisreport-comments-wave-panel .ct-comments-heading::before,
.single-post .reisreport-comments-wave-panel .ct-comments-heading::after,
.single-post .reisreport-comments-wave-panel .ct-module-title::before,
.single-post .reisreport-comments-wave-panel .ct-module-title::after {
    content: none !important;
    display: none !important;
}

.single-post .reisreport-comments-wave-panel .comment-list,
.single-post .reisreport-comments-wave-panel ol.comment-list {
    margin-bottom: 0 !important;
}

.single-post .reisreport-comments-wave-panel hr {
    display: none !important;
    margin: 0 !important;
    height: 0 !important;
    border: none !important;
}

/* Meer dan 3 reacties: verborgen items + fade + knop rechtsonder */
.single-post .reisreport-comments-wave-panel.reisreport-comments--collapsed {
    padding-bottom: 4.75rem;
}

.single-post .reisreport-comments-wave-panel.reisreport-comments--collapsed li.reisreport-comment-truncate--hidden {
    display: none !important;
}

.single-post .reisreport-comments-wave-panel.reisreport-comments--collapsed .reisreport-comment-truncate--nav-hidden {
    display: none !important;
}

.single-post .reisreport-comments-wave-panel > .reisreport-comments-truncate__shade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5.5rem;
    pointer-events: none;
    z-index: 4;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.55) 45%,
        #ffffff 88%,
        #ffffff 100%
    );
}

.single-post .reisreport-comments-wave-panel > .reisreport-comments-truncate__footer {
    position: absolute;
    right: 1.65rem;
    bottom: 1.35rem;
    z-index: 5;
    margin: 0;
    padding: 0;
}

.single-post .reisreport-comments-truncate__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0.5em 1em;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    font-family: inherit;
    cursor: pointer;
    border-radius: var(--theme-button-border-radius, 3px);
    border: 1px solid rgba(0, 0, 0, 0.12);
    background-color: #ffffff;
    color: #1a1a1a;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transition: filter 0.15s ease, box-shadow 0.15s ease;
}

.single-post .reisreport-comments-truncate__btn:hover,
.single-post .reisreport-comments-truncate__btn:focus-visible {
    filter: brightness(1.02);
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
    outline: none;
}

.single-post .reisreport-comments-truncate__btn:focus-visible {
    outline: 2px solid var(--theme-button-background-initial-color, var(--theme-palette-color-1, #e4791b));
    outline-offset: 2px;
}

/* Reactietekst iets kleiner dan artikeltekst (single ~1.125rem) */
.single-post .ct-comments .ct-comment-content,
.single-post .comment-list .comment-content,
.single-post .comment-list .comment-body,
.single-post .comments-area .comment-content,
.single-post .comments-area .comment-body,
.single-post .comment-list .ct-comment-content {
    font-size: 0.9375rem !important;
    line-height: 1.55 !important;
}

.single-post .ct-comments .ct-comment-meta-data,
.single-post .comment-list .comment-meta,
.single-post .comment-list .comment-metadata {
    font-size: 0.85rem !important;
}

.single-post .ct-comments .ct-comment-author,
.single-post .comment-list .comment-author {
    font-size: 0.9375rem !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   Bestemmingen Start Top – page template
   ═══════════════════════════════════════════════════════════════════════════ */

/* --- Layout reset: template draait buiten Blocksy single/page flow --- */
body.bestemmingen-start-top #main.site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.bestemmingen-start-top [data-vertical-spacing] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* TOC-ankers (o.a. Weer & klimaat): ruimte onder header; zachte scroll op de pagina */
@media (prefers-reduced-motion: no-preference) {
    html:has(body.bestemmingen-start-top) {
        scroll-behavior: smooth;
    }
}

#bestemmingen-climate-weer-heading,
#bestemmingen-destinations-intro-heading,
#bestemmingen-destinations-main-heading,
#bestemmingen-reisgids-magazine,
#bestemmingen-uitgelichte-reizen {
    scroll-margin-top: clamp(4rem, 11vw, 6.25rem);
}

/*
 * Header over hero: forceer absolute positionering zodat de hero erachter doorloopt,
 * ongeacht of Blocksy [data-transparent] zet op basis van Display Conditions.
 */
body.bestemmingen-start-top header#header {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: transparent !important;
}

body.bestemmingen-start-top header#header [data-row="top"] {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

body.bestemmingen-start-top header#header [data-row="middle"] {
    background: transparent !important;
}

/* Witte tekst/iconen/logo: geen [data-transparent] nodig */
body.bestemmingen-start-top header#header .menu > li > a,
body.bestemmingen-start-top header#header .site-branding a,
body.bestemmingen-start-top header#header .site-title,
body.bestemmingen-start-top header#header [data-items] > a,
body.bestemmingen-start-top header#header .ct-header-socials a,
body.bestemmingen-start-top header#header svg,
body.bestemmingen-start-top header#header .ct-header-cart .ct-icon-container {
    color: #ffffff !important;
    fill: #ffffff !important;
}

body.bestemmingen-start-top header#header .site-branding img,
body.bestemmingen-start-top header#header [data-id="logo"] img {
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

body.bestemmingen-start-top header#header .menu > li > a:hover {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* HTML-/tekstblok in header (Blocksy: ct-header-text), links van het menu */
body.bestemmingen-start-top header#header .ct-header-text,
body.bestemmingen-start-top header#header .ct-header-text .entry-content,
body.bestemmingen-start-top header#header .ct-header-text p,
body.bestemmingen-start-top header#header .ct-header-text span,
body.bestemmingen-start-top header#header .ct-header-text div,
body.bestemmingen-start-top header#header .ct-header-text a {
    color: #ffffff !important;
}

body.bestemmingen-start-top header#header .ct-header-text a:hover {
    color: rgba(255, 255, 255, 0.75) !important;
}

body.bestemmingen-start-top header#header .verzendingmsg,
body.bestemmingen-start-top header#header .verzendingmsg2 {
    color: #ffffff !important;
}

/* Winkelwagen: subtotaal/label naast het icoon (niet de dropdown .ct-cart-content) */
body.bestemmingen-start-top header#header .ct-header-cart > a.ct-cart-item,
body.bestemmingen-start-top header#header .ct-header-cart > a.ct-cart-item .ct-label,
body.bestemmingen-start-top header#header .ct-header-cart > a.ct-cart-item .ct-amount,
body.bestemmingen-start-top header#header .ct-header-cart > a.ct-cart-item .woocommerce-Price-amount {
    color: #ffffff !important;
}

body.bestemmingen-start-top header#header .ct-header-cart > a.ct-cart-item:hover .ct-label,
body.bestemmingen-start-top header#header .ct-header-cart > a.ct-cart-item:hover .ct-amount {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Submenu's / dropdowns: normale kleuren behouden */
body.bestemmingen-start-top header#header .sub-menu a,
body.bestemmingen-start-top header#header .sub-menu svg {
    color: var(--theme-text-color, #1a1a1a) !important;
    fill: var(--theme-text-color, #1a1a1a) !important;
}

body.bestemmingen-start-top header#header .sub-menu a:hover {
    color: var(--theme-link-hover-color, var(--theme-palette-color-1, #e4791b)) !important;
}

/* --- Hero ---------------------------------------------------------------- */

.bestemmingen-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    height: 100vh;
    height: 100dvh;
    color: #ffffff;
    text-align: left;
    overflow: hidden;
}

.bestemmingen-hero__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.bestemmingen-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0,0,0,0.32) 0%, rgba(0,0,0,0.48) 50%, rgba(0,0,0,0.72) 100%);
    pointer-events: none;
}

.bestemmingen-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    /* Iets hoger op het scherm: meer ruimte onder het blok */
    padding: 0 0 clamp(2.5rem, 7.5vh, 4.5rem);
    box-sizing: border-box;
}

.bestemmingen-hero__text {
    flex: 1 1 auto;
    min-width: 0;
}

.bestemmingen-hero__title {
    margin: 0 0 0.65rem;
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(2.35rem, 5.5vw + 0.5rem, 4.25rem);
    font-weight: 700;
    font-style: normal;
    line-height: 1.08;
    letter-spacing: 0.03em;
    text-transform: none;
    color: #ffffff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45), 0 1px 0 rgba(0, 0, 0, 0.12);
}

.bestemmingen-hero__subtitle {
    margin: 0;
    font-family: 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(0.94rem, 0.76rem + 0.65vw, 1.15rem);
    font-weight: 500;
    font-style: normal;
    line-height: 1.58;
    letter-spacing: 0.02em;
    color: #ffffff;
    opacity: 0.95;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.38);
}

/* --- Scroll indicator ---------------------------------------------------- */

.bestemmingen-scroll-indicator {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    margin-bottom: 0.35rem;
    color: #ffffff;
    text-decoration: none;
    opacity: 0.85;
    animation: bestemmingen-bounce 2s ease-in-out infinite;
    transition: opacity 0.2s ease;
}

.bestemmingen-scroll-indicator svg {
    width: 80px;
    height: 80px;
}

.bestemmingen-scroll-indicator:hover {
    opacity: 1;
}

@keyframes bestemmingen-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(12px); }
}

/* --- Intro --------------------------------------------------------------- */

.bestemmingen-intro {
    --rr-bestemming-accent: #a65d28;
    --rr-bestemming-accent-mid: #8b4d22;
    --rr-bestemming-accent-soft: rgba(166, 93, 40, 0.38);
    --rr-toc-hover-orange: #ea580c;
    padding: clamp(3rem, 8vw, 5rem) 0;
    padding-bottom: clamp(3.125rem, 6vw, 5rem);
    background-color: #f5f2ef;
    overflow: visible;
}

/* Zelfde breedte als hero-titel (Blocksy container-vars) */
.bestemmingen-intro__inner {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    overflow: visible;
}

.bestemmingen-intro__body {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
    container-type: inline-size;
}

.bestemmingen-intro__heading {
    margin: 0 0 1.25rem;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    /* Vloeiend uitgangspunt; JS verkleint indien nodig zodat alles op één regel past */
    font-size: clamp(0.75rem, 0.1rem + 5.5cqi, 2.65rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
}

.bestemmingen-intro__text {
    font-size: clamp(1rem, 0.94rem + 0.22vw, 1.1rem);
    line-height: 1.72;
    color: #333;
}

.bestemmingen-intro__text p:last-child {
    margin-bottom: 0;
}

/* Inhoudsopgave: titel → streep → items met inline iconen (--rr-bestemming-accent) */
.bestemmingen-intro__toc {
    margin-top: clamp(1.75rem, 4vw, 2.5rem);
    max-width: 100%;
}

.bestemmingen-intro__toc-title {
    margin: 0 0 1rem;
    font-family: var(--theme-font-family, inherit);
    font-size: clamp(1.28rem, 0.9rem + 2.8vw, 1.75rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: #1a1a1a;
}

.bestemmingen-intro__toc-cards {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.bestemmingen-intro__toc-row--plannen {
    padding-bottom: clamp(1.35rem, 4vw, 2.25rem);
}

.bestemmingen-intro__toc-plannen-box {
    position: relative;
    background-color: #ffffff;
    border: 1px solid rgba(44, 36, 28, 0.1);
    border-radius: 12px;
    padding: clamp(1rem, 2.5vw, 1.35rem) clamp(1rem, 2.5vw, 1.25rem);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
}

.bestemmingen-intro__toc-plannen-badge {
    position: absolute;
    top: clamp(0.65rem, 2vw, 0.85rem);
    right: clamp(0.65rem, 2vw, 0.85rem);
    z-index: 1;
    padding: 0.28rem 0.5rem;
    font-size: clamp(0.62rem, 0.5rem + 0.35vw, 0.72rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ffffff;
    background-color: #2d8659;
    border-radius: 5px;
    pointer-events: none;
}

.bestemmingen-intro__toc-plannen-box .bestemmingen-intro__toc-intro {
    padding-right: clamp(4.5rem, 22vw, 6.5rem);
}

.bestemmingen-intro__toc-row--plannen .bestemmingen-intro__toc-card {
    border-bottom: none;
    padding-top: 0;
    padding-bottom: 0;
}

.bestemmingen-intro__toc-row--pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    column-gap: clamp(0.45rem, 2.5vw, 1.75rem);
    padding: clamp(0.85rem, 2.5vw, 1.5rem) 0;
    box-sizing: border-box;
}

.bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-card {
    border-bottom: none;
    padding-top: clamp(0.25rem, 1.5vw, 0.65rem);
    padding-bottom: clamp(0.25rem, 1.5vw, 0.65rem);
}

.bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-col--wanneer {
    min-width: 0;
    padding-right: clamp(0.35rem, 2vw, 1.25rem);
    border-right: 1px solid rgba(44, 36, 28, 0.1);
}

.bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-col--voorbereiden {
    min-width: 0;
    padding-left: clamp(0.35rem, 2vw, 1.25rem);
}

.bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-col:only-child {
    grid-column: 1 / -1;
    padding-right: 0;
    padding-left: 0;
    border-right: none;
}

.bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-col--wanneer:only-child {
    border-right: none;
}

.bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-heading {
    font-size: clamp(0.78rem, 0.42rem + 2.6vw, 1.32rem);
    letter-spacing: 0.05em;
    line-height: 1.22;
    hyphens: auto;
    overflow-wrap: break-word;
}

.bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-rule {
    max-width: 100%;
}

.bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-list li {
    font-size: inherit;
}

.bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-link {
    gap: clamp(0.25rem, 1.5vw, 0.55rem);
}

.bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-item-icon {
    width: clamp(0.95em, 3.5vw, 1.35em);
    height: clamp(0.95em, 3.5vw, 1.35em);
}

.bestemmingen-intro__toc-row--extra .bestemmingen-intro__toc-card {
    border-bottom: 1px solid rgba(44, 36, 28, 0.1);
}

.bestemmingen-intro__toc-row--extra:last-child .bestemmingen-intro__toc-card {
    border-bottom: none;
}

.bestemmingen-intro__toc-card {
    display: block;
    padding: clamp(1.15rem, 3vw, 1.5rem) 0;
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    box-sizing: border-box;
}

.bestemmingen-intro__toc-main {
    flex: 1 1 auto;
    min-width: 0;
}

.bestemmingen-intro__toc-intro {
    margin-bottom: 0.85rem;
    font-size: clamp(0.96rem, 0.88rem + 0.25vw, 1.06rem);
    line-height: 1.58;
}

.bestemmingen-intro__toc-heading {
    margin: 0 0 0.65rem;
    font-family: var(--theme-font-family, inherit);
    font-size: clamp(1.08rem, 0.72rem + 2.5vw, 1.38rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1a1a1a;
}

.bestemmingen-intro__toc-rule {
    height: 3px;
    max-width: 14rem;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--rr-bestemming-accent) 0%, var(--rr-bestemming-accent-soft) 100%);
}

.bestemmingen-intro__toc-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bestemmingen-intro__toc-list li {
    margin: 0 0 0.55rem;
    padding-left: 0;
    font-size: clamp(0.88rem, 0.8rem + 0.35vw, 1.02rem);
    line-height: 1.52;
}

.bestemmingen-intro__toc-list li:last-child {
    margin-bottom: 0;
}

.bestemmingen-intro__toc-link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.28em 0.5em;
    margin: 0 -0.5em;
    color: #2c241c;
    text-decoration: none;
    font-weight: 600;
    border-radius: 6px;
    transition: background-color 0.18s ease, color 0.18s ease;
}

.bestemmingen-intro__toc-item-icon {
    flex: 0 0 auto;
    width: 1.35em;
    height: 1.35em;
    color: var(--rr-bestemming-accent);
    opacity: 0.88;
}

.bestemmingen-intro__toc-link-text {
    flex: 1 1 auto;
    min-width: 0;
}

.bestemmingen-intro__toc-item-badge {
    flex: 0 0 auto;
    margin-left: 0.35rem;
    padding: 0.2em 0.45em;
    font-size: clamp(0.62rem, 0.52rem + 0.3vw, 0.72rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5c4a3a;
    background-color: rgba(166, 93, 40, 0.14);
    border-radius: 4px;
}

/*
 * Tablet/mobiel: sectietitels en TOC-items op één regel; lettergrootte schaalt mee
 * met de kaartbreedte (cqi). Ellipsis als laatste redmiddel bij extreem lange strings.
 */
@media (max-width: 1023.98px) {
    .bestemmingen-intro__toc-plannen-box,
    .bestemmingen-intro__toc-col--wanneer,
    .bestemmingen-intro__toc-col--voorbereiden,
    .bestemmingen-intro__toc-row--extra .bestemmingen-intro__toc-card {
        container-type: inline-size;
    }

    .bestemmingen-intro__toc-heading {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
        line-height: 1.22;
        hyphens: none;
        overflow-wrap: normal;
        /* Grotere vloer + steilere cqi: leesbaarder op mobiel/tablet, schaalt mee met kolombreedte */
        font-size: clamp(0.72rem, 0.55rem + 4.25cqi, 1.38rem);
    }

    .bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-heading {
        hyphens: none;
        overflow-wrap: normal;
        font-size: clamp(0.7rem, 0.52rem + 4cqi, 1.28rem);
    }

    .bestemmingen-intro__toc-list li {
        line-height: 1.3;
        /* Zelfde schaal als linktekst (link-text overschrijft anders met kleinere cqi) */
        font-size: clamp(0.82rem, 0.62rem + 4.5cqi, 1.06rem);
    }

    .bestemmingen-intro__toc-link {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        flex-wrap: nowrap;
    }

    .bestemmingen-intro__toc-link-text {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: clamp(0.82rem, 0.62rem + 4.5cqi, 1.06rem);
    }

    .bestemmingen-intro__toc-item-icon {
        width: clamp(0.95em, 0.75em + 3.2cqi, 1.35em);
        height: clamp(0.95em, 0.75em + 3.2cqi, 1.35em);
    }

    .bestemmingen-intro__toc-row--pair .bestemmingen-intro__toc-item-icon {
        width: clamp(0.9em, 0.72em + 3cqi, 1.35em);
        height: clamp(0.9em, 0.72em + 3cqi, 1.35em);
    }

    .bestemmingen-intro__toc-item-badge {
        flex-shrink: 0;
        max-width: 38cqi;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: clamp(0.48rem, 2.1cqi + 0.22rem, 0.72rem);
    }
}

@keyframes bestemmingen-toc-tip-attention {
    0%,
    58% {
        transform: rotate(0deg) scale(1);
        color: #5c4a3a;
        background-color: rgba(166, 93, 40, 0.14);
        box-shadow: none;
    }
    68% {
        transform: rotate(-2.5deg) scale(1.06);
        color: #ffffff;
        background-color: #d97706;
        box-shadow: 0 1px 6px rgba(217, 119, 6, 0.35);
    }
    78% {
        transform: rotate(2deg) scale(1.1);
        color: #ffffff;
        background-color: #ea580c;
        box-shadow: 0 2px 10px rgba(234, 88, 12, 0.42);
    }
    90% {
        transform: rotate(-1deg) scale(1.04);
        color: #ffffff;
        background-color: #f97316;
        box-shadow: 0 2px 8px rgba(249, 115, 22, 0.32);
    }
    100% {
        transform: rotate(0deg) scale(1);
        color: #5c4a3a;
        background-color: rgba(166, 93, 40, 0.14);
        box-shadow: none;
    }
}

/* Lichtbruine highlight achter labeltekst (o.a. Reisgids magazine), sync met tip-badge */
@keyframes bestemmingen-toc-magazine-label-bg {
    0%,
    58% {
        opacity: 0;
    }
    63% {
        opacity: 0.35;
    }
    70% {
        opacity: 1;
    }
    82% {
        opacity: 0.85;
    }
    92% {
        opacity: 0.25;
    }
    100% {
        opacity: 0;
    }
}

.bestemmingen-intro__toc-item-badge--attention {
    transform-origin: center center;
    animation: bestemmingen-toc-tip-attention 3s ease-in-out infinite;
}

.bestemmingen-intro__toc-link:has(.bestemmingen-intro__toc-item-badge--attention) .bestemmingen-intro__toc-link-text {
    position: relative;
    isolation: isolate;
}

.bestemmingen-intro__toc-link:has(.bestemmingen-intro__toc-item-badge--attention) .bestemmingen-intro__toc-link-text::before {
    content: '';
    position: absolute;
    z-index: -1;
    left: -0.3em;
    right: -0.3em;
    top: -0.14em;
    bottom: -0.14em;
    border-radius: 5px;
    background-color: rgba(122, 72, 38, 0.16);
    pointer-events: none;
    opacity: 0;
    animation: bestemmingen-toc-magazine-label-bg 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}

@media (prefers-reduced-motion: reduce) {
    .bestemmingen-intro__toc-item-badge--attention {
        animation: none;
    }

    .bestemmingen-intro__toc-link:has(.bestemmingen-intro__toc-item-badge--attention) .bestemmingen-intro__toc-link-text::before {
        animation: none;
        opacity: 0;
    }
}

@media (hover: hover) {
    .bestemmingen-intro__toc-link:hover {
        background-color: var(--rr-toc-hover-orange);
        color: #ffffff;
        font-weight: 700;
        text-decoration: none;
    }

    .bestemmingen-intro__toc-link:hover .bestemmingen-intro__toc-item-icon {
        opacity: 1;
        color: #ffffff;
    }

    .bestemmingen-intro__toc-link:hover .bestemmingen-intro__toc-item-badge {
        color: #ea580c;
        background-color: #ffffff;
    }

    .bestemmingen-intro__toc-link:hover .bestemmingen-intro__toc-item-badge--attention {
        animation: none;
        transform: none;
        box-shadow: none;
    }

    .bestemmingen-intro__toc-link:hover:has(.bestemmingen-intro__toc-item-badge--attention) .bestemmingen-intro__toc-link-text::before {
        animation: none;
        opacity: 0;
    }
}

.bestemmingen-intro__toc-link:focus-visible {
    background-color: var(--rr-toc-hover-orange);
    color: #ffffff;
    font-weight: 700;
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.bestemmingen-intro__toc-link:focus-visible .bestemmingen-intro__toc-item-icon {
    color: #ffffff;
    opacity: 1;
}

.bestemmingen-intro__toc-link:focus-visible .bestemmingen-intro__toc-item-badge {
    color: #ea580c;
    background-color: #ffffff;
}

.bestemmingen-intro__toc-link:focus-visible .bestemmingen-intro__toc-item-badge--attention {
    animation: none;
    transform: none;
    box-shadow: none;
}

.bestemmingen-intro__toc-link:focus-visible:has(.bestemmingen-intro__toc-item-badge--attention) .bestemmingen-intro__toc-link-text::before {
    animation: none;
    opacity: 0;
}

/* TOC: verborgen tot JS stagger (2 regels per stap, zie bestemmingen-scroll.js) */
.bestemmingen-intro__toc--stagger .bestemmingen-intro__toc-intro,
.bestemmingen-intro__toc--stagger .bestemmingen-intro__toc-list li {
    opacity: 0;
    transform: translateY(0.45rem);
    pointer-events: none;
    transition: opacity 0.22s ease, transform 0.22s ease;
}

.bestemmingen-intro__toc--stagger .bestemmingen-intro__toc-intro.is-visible,
.bestemmingen-intro__toc--stagger .bestemmingen-intro__toc-list li.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
    .bestemmingen-intro__toc--stagger .bestemmingen-intro__toc-intro,
    .bestemmingen-intro__toc--stagger .bestemmingen-intro__toc-list li {
        transition: none;
    }
}

/* Portret + bruine kaart die rechtsonder deels over de foto valt */
.bestemmingen-intro__media {
    position: relative;
    flex: 0 1 auto;
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 2.5rem;
    padding-right: clamp(0.5rem, 4vw, 1.25rem);
}

.bestemmingen-intro__image-wrap {
    position: relative;
    z-index: 1;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 2 / 3;
    max-height: min(72vh, 520px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

.bestemmingen-intro__image-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Desktop: bij hover op Plannen-items — tekstbox oranje (directe toggle, geen fade) */
@media (hover: hover) and (min-width: 768px) {
    .bestemmingen-intro__media.is-plannen-hover-active .bestemmingen-intro__overlay-card {
        background-color: var(--rr-toc-hover-orange, #ea580c);
        box-shadow: 0 8px 28px rgba(234, 88, 12, 0.32), 0 2px 12px rgba(180, 60, 10, 0.22);
    }
}

.bestemmingen-intro__overlay-card {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    width: min(100%, 22rem);
    max-width: calc(100% + 1.5rem);
    padding: 1.65rem 1.85rem 1.75rem 2.25rem;
    background-color: var(--rr-toc-hover-orange, #ea580c);
    color: #ffffff;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(234, 88, 12, 0.3), 0 2px 10px rgba(234, 88, 12, 0.2);
    transform: translate(12%, 18%);
}

.bestemmingen-intro__overlay-title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.15rem, 0.75rem + 2.4vw, 1.52rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #ffffff;
}

.bestemmingen-intro__overlay-body {
    margin: 0 0 1rem;
    font-size: clamp(0.9rem, 0.86rem + 0.15vw, 1rem);
    font-weight: 400;
    line-height: 1.62;
    color: rgba(255, 255, 255, 0.95);
}

.bestemmingen-intro__overlay-body p {
    margin: 0 0 0.5em;
}

.bestemmingen-intro__overlay-body p:last-child {
    margin-bottom: 0;
}

.bestemmingen-intro__overlay-text {
    margin: 0 0 clamp(0.5rem, 1.5vw, 0.75rem);
    font-size: clamp(0.88rem, 0.5rem + 1vw, 1.02rem);
    font-weight: 400;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.92);
}

.bestemmingen-intro__overlay-form {
    display: flex;
    flex-direction: column;
    gap: clamp(0.45rem, 1.2vw, 0.65rem);
}

.bestemmingen-intro__overlay-input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.55rem 0.75rem;
    font: inherit;
    font-size: clamp(0.85rem, 0.55rem + 0.8vw, 0.95rem);
    line-height: 1.4;
    color: #1a1a1a;
    background-color: #ffffff !important;
    border: 1.5px solid rgba(255, 255, 255, 0.9);
    border-radius: 6px;
    -webkit-appearance: none;
    appearance: none;
    opacity: 1;
    box-shadow: none;
    transition:
        box-shadow 0.25s ease,
        border-color 0.2s ease;
}

.bestemmingen-intro__overlay-input::placeholder {
    color: #6b7280;
}

.bestemmingen-intro__overlay-input:hover {
    box-shadow:
        0 0 0 3px rgba(250, 204, 21, 0.45),
        0 0 22px rgba(253, 224, 71, 0.55);
}

.bestemmingen-intro__overlay-input:focus {
    outline: none;
    background-color: #ffffff !important;
    border-color: #facc15;
    box-shadow:
        0 0 0 3px rgba(250, 204, 21, 0.6),
        0 0 28px rgba(253, 224, 71, 0.65);
}

.bestemmingen-intro__overlay-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    margin-top: clamp(0.2rem, 0.6vw, 0.35rem);
}

.bestemmingen-intro__overlay-check {
    flex-shrink: 0;
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.1rem;
    accent-color: #ffffff;
    cursor: pointer;
}

.bestemmingen-intro__overlay-check-label {
    font-size: clamp(0.72rem, 0.48rem + 0.6vw, 0.82rem);
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
}

.bestemmingen-intro__overlay-turnstile {
    margin: 0.25rem 0;
}

.bestemmingen-intro__overlay-submit {
    align-self: flex-start;
    padding: 0.55rem 1.25rem;
    font: inherit;
    font-size: clamp(0.85rem, 0.58rem + 0.7vw, 0.95rem);
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.3;
    color: #f5f5f5;
    background-color: #262626;
    border: 3px solid transparent;
    border-radius: 999px;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
    animation: startpakket-cta-pulse 4s ease-in-out infinite;
}

@keyframes startpakket-cta-pulse {
    0%, 20%, 100% {
        transform: scale(1);
        background-color: #262626;
        color: #f5f5f5;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
    }
    6% {
        transform: scale(1.045);
        background-color: #3a3a3a;
        color: #ffffff;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
    }
    13% {
        transform: scale(1);
        background-color: #262626;
        color: #f5f5f5;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
    }
}

.bestemmingen-intro__overlay-submit:hover,
.bestemmingen-intro__overlay-submit:focus-visible {
    transform: translateY(-1px);
    background-color: #404040;
    color: #ffffff;
    border: 3px solid #ffffff;
    box-shadow: none;
    animation: none;
    outline: none;
}

.bestemmingen-intro__overlay-submit:active {
    transform: translateY(0);
    background-color: #171717;
    color: #ffffff;
    border: 3px solid #ffffff;
    box-shadow: none;
    animation: none;
    outline: none;
}

.bestemmingen-intro__overlay-submit:disabled {
    opacity: 0.6;
    cursor: wait;
}

.bestemmingen-intro__overlay-status {
    box-sizing: border-box;
    margin-top: 0.5rem;
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    font-size: clamp(0.78rem, 0.56rem + 0.6vw, 0.88rem);
    line-height: 1.45;
    color: #a40000;
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.bestemmingen-intro__overlay-success[hidden] {
    display: none;
}

.bestemmingen-intro__overlay-success {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    text-align: center;
    padding: 1.5rem 1rem;
}

.bestemmingen-intro__overlay-success-icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    color: #ffffff;
}

.bestemmingen-intro__overlay-success-text {
    margin: 0;
    font-size: clamp(0.92rem, 0.7rem + 0.6vw, 1.05rem);
    font-weight: 600;
    line-height: 1.45;
    color: #ffffff;
}

.bestemmingen-intro__overlay-hover-title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.15rem, 0.75rem + 2.4vw, 1.52rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #ffffff;
}

.bestemmingen-intro__overlay-hover-body {
    margin: 0;
    font-size: clamp(0.9rem, 0.86rem + 0.15vw, 1rem);
    font-weight: 400;
    line-height: 1.62;
    color: rgba(255, 255, 255, 0.95);
}

.bestemmingen-intro__overlay-hover-body p {
    margin: 0;
}

.bestemmingen-intro__overlay-btn {
    display: inline-block;
    margin-top: 0.15rem;
    padding: 0.55rem 1.15rem;
    font-size: clamp(0.88rem, 0.72rem + 0.55vw, 0.98rem);
    font-weight: 600;
    line-height: 1.3;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    background-color: transparent;
    border: 5px solid #ffffff;
    border-radius: 999px;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.bestemmingen-intro__overlay-btn:hover,
.bestemmingen-intro__overlay-btn:focus-visible {
    background-color: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    border-color: #ffffff;
    outline: none;
}

@media (max-width: 689.98px) {
    /* Meer lucht onder de bruine “Op ontdekkingstocht”-kaart (absolute positie) */
    .bestemmingen-intro__media {
        padding-bottom: clamp(3.75rem, 12vw, 5.5rem);
    }

    .bestemmingen-intro__overlay-card {
        transform: translate(6%, 14%);
        width: min(100%, 19rem);
    }
}

@media (min-width: 690px) {
    .bestemmingen-intro__inner {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: clamp(1rem, 2.5vw, 2rem);
    }

    /* Tekst tot ca. 50% — beeldblok iets naar links */
    .bestemmingen-intro__body {
        flex: 1 1 50%;
        max-width: 50%;
    }

    .bestemmingen-intro__media {
        position: sticky;
        top: 2rem;
        flex: 0 1 50%;
        max-width: 50%;
        width: auto;
        margin-left: clamp(-1.25rem, -2.5vw, -0.25rem);
        margin-right: 0;
        margin-bottom: 0;
        padding-right: 0;
        display: flex;
        justify-content: center;
        align-self: flex-start;
    }

    .bestemmingen-intro__image-wrap {
        max-width: min(100%, clamp(240px, 28vw, 300px));
        width: 100%;
    }

    .bestemmingen-intro__overlay-card {
        transform: translate(8%, 20%);
        width: min(120%, 23rem);
    }
}

/* --- Reisgids-magazine promo (onder klimaatband; gecentreerde foto zonder ronding; tekst + prijs op foto) */

.bestemmingen-destinations-promo {
    margin-top: clamp(1.5rem, 4vw, 2.75rem);
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.bestemmingen-destinations-promo__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    overflow: visible;
}

.bestemmingen-destinations-promo__title {
    width: 100%;
    max-width: min(100%, 36rem);
    margin: 0 0 clamp(0.85rem, 2.5vw, 1.25rem);
    font-size: clamp(1.35rem, 0.92rem + 2.5vw, 1.82rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: #1a1a1a;
    text-align: center;
}

.bestemmingen-destinations-promo__stage {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: min(100%, 36rem);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.bestemmingen-destinations-promo__image-slot {
    position: relative;
    width: 100%;
    z-index: 1;
}

/* Supertip: vaste helling; draait niet mee bij hover (foto recht + scale in __image-wrap) */
.bestemmingen-destinations-promo__supertip {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    opacity: 0;
    transform: rotate(-2.29deg);
    transform-origin: center center;
    transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.bestemmingen-destinations-promo__supertip.is-active {
    opacity: 1;
}

/* Breder dan de foto: x 0–32 = ruimte links buiten de afbeelding, 32–132 = beeld (100 eenheden) */
.bestemmingen-destinations-promo__supertip-svg {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: -32%;
    width: 132%;
    height: 100%;
    display: block;
    color: #ffffff;
    overflow: visible;
    pointer-events: none;
}

.bestemmingen-destinations-promo__supertip-line {
    stroke: currentColor;
    fill: none;
    stroke-dasharray: var(--bestemmingen-supertip-len, 80) var(--bestemmingen-supertip-len, 80);
    stroke-dashoffset: var(--bestemmingen-supertip-len, 80);
    transition: stroke-dashoffset 0.78s cubic-bezier(0.33, 0.85, 0.25, 1);
}

.bestemmingen-destinations-promo__supertip.is-active .bestemmingen-destinations-promo__supertip-line {
    stroke-dashoffset: 0;
}

.bestemmingen-destinations-promo__supertip-dot {
    opacity: 0;
    transform: scale(0.2);
    transform-origin: center;
    transform-box: fill-box;
    transition:
        opacity 0.4s cubic-bezier(0.33, 1.1, 0.32, 1),
        transform 0.45s cubic-bezier(0.33, 1.1, 0.32, 1);
}

.bestemmingen-destinations-promo__supertip.is-active .bestemmingen-destinations-promo__supertip-dot--start {
    opacity: 1;
    transform: scale(1);
    transition-delay: 0.52s;
}

.bestemmingen-destinations-promo__supertip.is-active .bestemmingen-destinations-promo__supertip-dot--end {
    opacity: 1;
    transform: scale(1);
    transition-delay: 0.68s;
}

/* Links naast het linker bolletje (SVG cx=9 → -32%+9% t.o.v. slot; cy=92 → top 92%) */
.bestemmingen-destinations-promo__supertip-copy {
    position: absolute;
    top: 92%;
    right: auto;
    bottom: auto;
    /* Anker: horizontaal midden van startdot; rechterrand van het vak + kleine ruimte tot de dot */
    left: calc(-32% + 9%);
    margin-top: 0;
    max-width: min(17.5rem, calc(100% - 0.5rem));
    padding: 0.55rem 0.7rem 0.58rem;
    z-index: 3;
    pointer-events: none;
    background-color: rgba(0, 0, 0, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
    opacity: 0;
    transform: translate3d(calc(-100% - 0.45rem - 10px), -50%, 0);
    transition:
        opacity 0.4s ease 0.2s,
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
}

.bestemmingen-destinations-promo__image-slot.is-supertip-active .bestemmingen-destinations-promo__supertip-copy {
    opacity: 1;
    transform: translate3d(calc(-100% - 0.45rem), -50%, 0);
}

.bestemmingen-destinations-promo__supertip-title {
    display: block;
    margin: 0 0 0.28rem;
    font-size: clamp(0.72rem, 2.2vw, 0.82rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #ffffff;
}

.bestemmingen-destinations-promo__supertip-text {
    margin: 0;
    font-size: clamp(0.88rem, 2.45vw, 1.05rem);
    font-weight: 600;
    line-height: 1.45;
    color: #ffffff;
}

/* Tweede cue: linksboven in de foto (zelfde schaal als supertip-SVG, alleen bovenste deel van de slot) */
.bestemmingen-destinations-promo__cover-cue {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.bestemmingen-destinations-promo__cover-cue.is-active {
    opacity: 1;
}

.bestemmingen-destinations-promo__cover-cue-svg {
    position: absolute;
    top: 0;
    left: -32%;
    width: 132%;
    height: 52%;
    bottom: auto;
    display: block;
    color: #ffffff;
    overflow: visible;
    pointer-events: none;
}

.bestemmingen-destinations-promo__cover-cue-line {
    stroke: currentColor;
    fill: none;
    stroke-dasharray: var(--bestemmingen-cover-cue-len, 80) var(--bestemmingen-cover-cue-len, 80);
    stroke-dashoffset: var(--bestemmingen-cover-cue-len, 80);
    transition: stroke-dashoffset 0.78s cubic-bezier(0.33, 0.85, 0.25, 1);
}

.bestemmingen-destinations-promo__cover-cue.is-active .bestemmingen-destinations-promo__cover-cue-line {
    stroke-dashoffset: 0;
}

.bestemmingen-destinations-promo__cover-cue-dot {
    opacity: 0;
    transform: scale(0.2);
    transform-origin: center;
    transform-box: fill-box;
    transition:
        opacity 0.4s cubic-bezier(0.33, 1.1, 0.32, 1),
        transform 0.45s cubic-bezier(0.33, 1.1, 0.32, 1);
}

.bestemmingen-destinations-promo__cover-cue.is-active .bestemmingen-destinations-promo__cover-cue-dot--start {
    opacity: 1;
    transform: scale(1);
    transition-delay: 0.52s;
}

.bestemmingen-destinations-promo__cover-cue.is-active .bestemmingen-destinations-promo__cover-cue-dot--end {
    opacity: 1;
    transform: scale(1);
    transition-delay: 0.68s;
}

/* Tekstvak: rechtsboven hoek dicht tegen linker bolletje (cx=10, cy=24 in viewBox; SVG-hoogte = 52% van slot → ~12.5% vanaf bovenkant slot) */
.bestemmingen-destinations-promo__cover-cue-copy {
    position: absolute;
    top: clamp(10%, 11.5vw, 13.5%);
    right: auto;
    bottom: auto;
    left: calc(-32% + 10%);
    margin-top: 0;
    max-width: min(18.5rem, calc(100% - 0.5rem));
    padding: 0.55rem 0.7rem 0.58rem;
    z-index: 3;
    pointer-events: none;
    background-color: rgba(0, 0, 0, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
    opacity: 0;
    transform: translate3d(calc(-100% + 0.1rem - 10px), -0.15rem, 0);
    transition:
        opacity 0.4s ease 0.2s,
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
}

.bestemmingen-destinations-promo__image-slot.is-supertip-active .bestemmingen-destinations-promo__cover-cue-copy {
    opacity: 1;
    transform: translate3d(calc(-100% + 0.1rem), -0.15rem, 0);
}

.bestemmingen-destinations-promo__cover-cue-text {
    margin: 0;
    font-size: clamp(0.82rem, 2.2vw, 0.98rem);
    font-weight: 600;
    line-height: 1.45;
    color: #ffffff;
}

.bestemmingen-destinations-promo__media {
    position: relative;
    flex: 0 1 auto;
    width: 100%;
    max-width: min(100%, 22rem);
    margin-left: 0;
    margin-right: 0;
    padding: clamp(0.35rem, 1.5vw, 0.65rem) clamp(0.35rem, 1.5vw, 0.65rem) clamp(3.75rem, 11vw, 5.25rem);
    box-sizing: border-box;
    overflow: visible;
}

.bestemmingen-destinations-promo__image-wrap {
    position: relative;
    z-index: 1;
    border-radius: 0;
    overflow: visible;
    aspect-ratio: 2 / 3;
    max-height: min(70vh, 480px);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.14);
    /* ~4% helling t.o.v. horizontaal: atan(0.04) ≈ 2,29° (subtieler dan −4deg) */
    transform: rotate(-2.29deg) scale(1);
    transform-origin: center center;
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

.bestemmingen-destinations-promo__image-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (hover: hover) {
    .bestemmingen-destinations-promo__media:hover .bestemmingen-destinations-promo__image-wrap {
        transform: rotate(0deg) scale(1.05);
    }

    .bestemmingen-destinations-promo__media:hover .bestemmingen-destinations-promo__overlay-card {
        background-color: #2d8659;
        box-shadow: 0 8px 26px rgba(45, 134, 89, 0.35), 0 2px 12px rgba(20, 90, 55, 0.28);
    }
}

@media (prefers-reduced-motion: reduce) {
    .bestemmingen-destinations-promo__image-wrap {
        transform: rotate(0deg) scale(1);
        transition: none;
    }

    .bestemmingen-destinations-promo__media:hover .bestemmingen-destinations-promo__image-wrap {
        transform: rotate(0deg) scale(1);
    }

    .bestemmingen-destinations-promo__supertip {
        transform: none;
    }
}

a.bestemmingen-destinations-promo__overlay-card {
    text-decoration: none;
    cursor: pointer;
    color: inherit;
}

.bestemmingen-destinations-promo__magazine-image-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.bestemmingen-destinations-promo__magazine-image-link:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.92);
    outline-offset: 4px;
    border-radius: 6px;
}

.bestemmingen-destinations-promo__overlay-card {
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: clamp(1.35rem, 8vw, 3rem);
    width: min(10.5rem, 78%);
    max-width: calc(100% + 0.35rem);
    padding: 0.65rem 0.85rem 0.75rem 1rem;
    background-color: var(--rr-bestemming-accent);
    color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(139, 77, 34, 0.22);
    transform: translate(8%, 0);
    text-align: center;
    box-sizing: border-box;
    transition:
        background-color 0.28s ease,
        box-shadow 0.28s ease;
}

.bestemmingen-destinations-promo__price {
    margin: 0 0 0.35rem;
    font-size: clamp(1.22rem, 0.9rem + 2.2vw, 1.58rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #ffffff;
}

.bestemmingen-destinations-promo__shipping {
    margin: 0;
    font-size: clamp(0.72rem, 0.62rem + 0.35vw, 0.82rem);
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.92);
}

@media (max-width: 389.98px) {
    .bestemmingen-destinations-promo__overlay-card {
        bottom: clamp(1.1rem, 9vw, 2.5rem);
        transform: translate(4%, 0);
        width: min(100%, 9.25rem);
    }

    .bestemmingen-destinations-promo__supertip-copy,
    .bestemmingen-destinations-promo__cover-cue-copy {
        max-width: min(13rem, 82%);
        padding: 0.4rem 0.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bestemmingen-destinations-promo__supertip {
        transition-duration: 0.01ms;
    }

    .bestemmingen-destinations-promo__supertip-line {
        transition-duration: 0.01ms;
    }

    .bestemmingen-destinations-promo__supertip-dot {
        transition-duration: 0.01ms;
        transition-delay: 0s !important;
    }

    .bestemmingen-destinations-promo__supertip-copy,
    .bestemmingen-destinations-promo__cover-cue-copy {
        transition-duration: 0.01ms;
        transition-delay: 0s;
    }

    .bestemmingen-destinations-promo__cover-cue {
        transition-duration: 0.01ms;
    }

    .bestemmingen-destinations-promo__cover-cue-line {
        transition-duration: 0.01ms;
    }

    .bestemmingen-destinations-promo__cover-cue-dot {
        transition-duration: 0.01ms;
        transition-delay: 0s !important;
    }

    .bestemmingen-destinations-promo__supertip.is-active .bestemmingen-destinations-promo__supertip-line {
        stroke-dashoffset: 0;
    }

    .bestemmingen-destinations-promo__supertip.is-active .bestemmingen-destinations-promo__supertip-dot {
        opacity: 1;
        transform: scale(1);
    }

    .bestemmingen-destinations-promo__image-slot.is-supertip-active .bestemmingen-destinations-promo__supertip-copy,
    .bestemmingen-destinations-promo__image-slot.is-supertip-active .bestemmingen-destinations-promo__cover-cue-copy {
        opacity: 1;
    }

    .bestemmingen-destinations-promo__image-slot.is-supertip-active .bestemmingen-destinations-promo__supertip-copy {
        transform: translate3d(calc(-100% - 0.45rem), -50%, 0);
    }

    .bestemmingen-destinations-promo__image-slot.is-supertip-active .bestemmingen-destinations-promo__cover-cue-copy {
        transform: translate3d(calc(-100% + 0.1rem), -0.15rem, 0);
    }

    .bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__image-slot.is-supertip-active .bestemmingen-destinations-promo__cover-cue-copy {
        transform: translate3d(calc(-100% + 0.1rem), -50%, 0);
    }

    .bestemmingen-destinations-promo__cover-cue.is-active .bestemmingen-destinations-promo__cover-cue-line {
        stroke-dashoffset: 0;
    }

    .bestemmingen-destinations-promo__cover-cue.is-active .bestemmingen-destinations-promo__cover-cue-dot {
        opacity: 1;
        transform: scale(1);
    }
}

/* --- Reisgids magazine: zelfde crème als .bestemmingen-intro (volle breedte) --- */

.bestemmingen-reisgids-magazine {
    --rr-reisgids-magazine-bg: #f5f2ef;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background-color: var(--rr-reisgids-magazine-bg);
}

.bestemmingen-reisgids-magazine--full-bleed {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    box-sizing: border-box;
}

/* Ondergolf: zelfde vorm als bovengolf Introductie-band (crème → wit richting reizen-sectie) */
.bestemmingen-reisgids-magazine__wave {
    display: block;
    width: 100%;
    height: clamp(28px, 6vw, 52px);
    flex-shrink: 0;
}

.bestemmingen-reisgids-magazine__wave--bottom {
    margin-bottom: -1px;
}

/* Zelfde kolom als .bestemmingen-destinations__inner / intro (logo, hoofdinhoud) */
.bestemmingen-reisgids-magazine__container {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    padding-top: clamp(2rem, 4.75vw, 3.5rem);
    padding-left: clamp(1.25rem, 5vw, 3rem);
    padding-right: clamp(1.25rem, 5vw, 3rem);
}

.bestemmingen-reisgids-magazine__promo-copy {
    min-width: 0;
}

/* Zelfde titel-streep als reisgids-magazine (accent → zacht) */
.bestemmingen-reisgids-magazine__title-rule,
.bestemmingen-reisgids-trips__title-rule,
.bestemmingen-destinations-intro-band__title-rule,
.bestemmingen-climate-band__title-rule {
    display: block;
    height: 3px;
    max-width: 14rem;
    width: 100%;
    margin: 0 0 clamp(0.6rem, 1.5vw, 0.85rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.bestemmingen-reisgids-magazine__lead {
    margin: 0 0 clamp(0.85rem, 2vw, 1.1rem);
    max-width: 100%;
    font-size: clamp(1rem, 0.94rem + 0.22vw, 1.1rem);
    font-weight: 500;
    line-height: 1.68;
    color: #333;
}

.bestemmingen-reisgids-magazine__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.58rem 1.35rem;
    font-size: clamp(0.9rem, 0.78rem + 0.45vw, 1rem);
    font-weight: 700;
    line-height: 1.3;
    color: #ffffff;
    text-decoration: none;
    background-color: #14532d;
    border-radius: 999px;
    border: 1px solid transparent;
    box-shadow: none;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.bestemmingen-reisgids-magazine__cta:hover,
.bestemmingen-reisgids-magazine__cta:focus-visible {
    background-color: var(--rr-toc-hover-orange, #ea580c);
    color: #ffffff;
    border-color: #ffffff;
    box-shadow: none;
    outline: none;
}

.bestemmingen-reisgids-magazine__cta:active {
    background-color: #c2410c;
    color: #ffffff;
    border-color: #ffffff;
    outline: none;
}

.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo {
    margin-top: 0;
    margin-bottom: clamp(1.25rem, 3.5vw, 2.25rem);
}

/* Mobiel: één kolom, foto gecentreerd; geen supertip-lijn/bolletjes/tekst */
.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__inner {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: clamp(1rem, 3vw, 1.5rem);
    padding-top: clamp(1.35rem, 3.5vw, 2.25rem);
}

.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__stage {
    justify-self: center;
    width: 100%;
    max-width: min(100%, 22rem);
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 639.98px) {
    .bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__supertip,
    .bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__supertip-copy,
    .bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__cover-cue,
    .bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__cover-cue-copy {
        display: none !important;
    }

    .bestemmingen-reisgids-magazine__cta {
        display: none;
    }
}

/* Tablet: bovenste cover-cue (streep + tekstbox) verbergen; desktop ≥1024px weer tonen */
@media (min-width: 640px) and (max-width: 1023.98px) {
    .bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__cover-cue,
    .bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__cover-cue-copy {
        display: none !important;
    }
}

/* Tablet en desktop: smallere tekstkolom; titel + tekst links, foto rechts */
@media (min-width: 640px) {
    .bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, auto);
        align-items: start;
        gap: clamp(1.35rem, 3.5vw, 2.75rem);
    }

    .bestemmingen-reisgids-magazine__promo-copy {
        justify-self: start;
        min-width: 0;
        max-width: min(16.5rem, 100%);
    }

    .bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__stage {
        justify-self: end;
        width: auto;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }
}

.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__title {
    margin-top: 0;
    margin-bottom: clamp(0.4rem, 1.2vw, 0.55rem);
    max-width: 100%;
    font-size: clamp(1.45rem, 0.95rem + 3.2vw, 1.95rem);
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: -0.015em;
    text-transform: none;
    color: #1a1a1a;
    text-align: left;
}

/* Lijn wit; bolletjes oranje (overlay-kaart) */
.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__supertip-line,
.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__cover-cue-line {
    stroke: #ffffff;
}

.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__supertip-dot,
.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__cover-cue-dot {
    fill: #ea580c;
}

/* Cover-cue: SVG iets omhoog; tekstvak hoger en verticaal gecentreerd op startbolletje (cy=24 → 24% van SVG-hoogte 52%) */
.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__cover-cue-svg {
    top: -2.25%;
}

.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__cover-cue-copy {
    top: calc(-2.25% + 52% * 0.24);
    transform: translate3d(calc(-100% + 0.1rem - 10px), -50%, 0);
}

.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__image-slot.is-supertip-active .bestemmingen-destinations-promo__cover-cue-copy {
    transform: translate3d(calc(-100% + 0.1rem), -50%, 0);
}

.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__overlay-card {
    background-color: #ea580c;
    box-shadow:
        0 6px 22px rgba(0, 0, 0, 0.22),
        0 2px 10px rgba(234, 88, 12, 0.35);
}

/* Lichte achtergrond: zachte schaduw (vergelijkbaar met intro-foto) */
.bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__image-wrap {
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
}

@media (hover: hover) {
    .bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__media:hover .bestemmingen-destinations-promo__image-wrap {
        box-shadow: 0 14px 40px rgba(0, 0, 0, 0.14), 0 4px 12px rgba(0, 0, 0, 0.08);
    }

    .bestemmingen-reisgids-magazine .bestemmingen-destinations-promo__media:hover .bestemmingen-destinations-promo__overlay-card {
        background-color: #f97316;
        box-shadow:
            0 8px 28px rgba(0, 0, 0, 0.2),
            0 2px 14px rgba(249, 115, 22, 0.4);
    }
}

.bestemmingen-destinations__inner .bestemmingen-band--viewport-bleed {
    display: block;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    box-sizing: border-box;
}

.bestemmingen-reisgids-trips {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
    margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
}

/* Witte band + golven over volle viewportbreedte (breekt uit padded __inner) */
.bestemmingen-destinations__inner > .bestemmingen-reisgids-trips--full-bleed {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 0;
    position: relative;
    box-sizing: border-box;
}

.bestemmingen-reisgids-trips__body {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: clamp(1.5rem, 4vw, 2.75rem) 0 clamp(2rem, 5vw, 3.25rem);
    background-color: #ffffff;
    min-width: 0;
}

.bestemmingen-reisgids-trips__container {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    padding-left: clamp(1.25rem, 5vw, 3rem);
    padding-right: clamp(1.25rem, 5vw, 3rem);
}

/* Titel + streep volle breedte; met Reisscanner: kop → aside (intro, daarna Powered by) → kaarten; tablet+ links aside (zelfde rijhoogte als kaarten voor sticky), rechts kaarten */
.bestemmingen-reisgids-trips__layout {
    display: grid;
    gap: clamp(0.85rem, 2.2vw, 1.35rem) clamp(1.1rem, 3vw, 2.25rem);
    grid-template-columns: 1fr;
    grid-template-areas:
        'head'
        'aside'
        'cards';
    width: 100%;
    min-width: 0;
}

/* Geen Reisscanner-blok: grid zonder partner-rij (landen_start.reisscanner_url leeg) */
.bestemmingen-reisgids-trips__layout--no-reisscanner {
    grid-template-areas:
        'head'
        'intro'
        'cards';
}

.bestemmingen-reisgids-trips__head {
    grid-area: head;
    min-width: 0;
    width: 100%;
}

.bestemmingen-reisgids-trips__heading {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-size: clamp(1.4rem, 0.98rem + 2.8vw, 1.9rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
    text-align: left;
}

.bestemmingen-reisgids-trips__aside {
    grid-area: aside;
    display: flex;
    flex-direction: column;
    gap: clamp(0.85rem, 2.2vw, 1.35rem);
    min-width: 0;
}

.bestemmingen-reisgids-trips__intro {
    grid-area: intro;
    margin: 0;
    font-size: clamp(1rem, 0.94rem + 0.22vw, 1.1rem);
    font-weight: 500;
    line-height: 1.68;
    color: #333;
    text-align: left;
    max-width: 42rem;
}

/* Zelfde bruine toon als “Op ontdekkingstocht”-overlay */
.bestemmingen-reisgids-trips__partner {
    margin: 0;
    padding: clamp(1.35rem, 3vw, 1.75rem) clamp(1.25rem, 3vw, 1.85rem);
    background-color: var(--rr-bestemming-accent, #a65d28);
    color: #ffffff;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2), 0 2px 10px rgba(139, 77, 34, 0.28);
}

.bestemmingen-reisgids-trips__partner-title {
    margin: 0 0 0.55rem;
    font-size: clamp(0.98rem, 0.72rem + 1.35vw, 1.2rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: #ffffff;
}

.bestemmingen-reisgids-trips__partner-text {
    margin: 0 0 1rem;
    font-size: clamp(0.9rem, 0.86rem + 0.15vw, 1rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.95);
}

.bestemmingen-reisgids-trips__partner-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.1rem;
    font-size: clamp(0.88rem, 0.74rem + 0.45vw, 0.98rem);
    font-weight: 600;
    line-height: 1.3;
    color: #ffffff;
    text-decoration: none;
    background-color: transparent;
    border: 2px solid #ffffff;
    border-radius: 999px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.bestemmingen-reisgids-trips__partner-btn:hover,
.bestemmingen-reisgids-trips__partner-btn:focus-visible {
    background-color: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    outline: none;
}

.bestemmingen-reisgids-trips__partner-btn-icon {
    flex-shrink: 0;
}

.bestemmingen-reisgids-trips__grid {
    grid-area: cards;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.85rem, 1.8vw, 1.35rem);
    width: 100%;
    min-width: 0;
}

/*
 * Mobiel + tablet (<1024): 2×2 — toon reiskaarten 1–3 + load-more (6e child).
 * 4e en 5e reiskaart zijn verborgen; desktop toont 3×2 met vijf reizen + load-more.
 */
@media (max-width: 1023.98px) {
    .bestemmingen-reisgids-trips__grid .bestemmingen-reisgids-trips__card--trip:nth-child(4),
    .bestemmingen-reisgids-trips__grid .bestemmingen-reisgids-trips__card--trip:nth-child(5) {
        display: none;
    }
}

@media (min-width: 640px) {
    .bestemmingen-reisgids-trips__layout {
        grid-template-columns: minmax(0, 18.5rem) minmax(0, 1fr);
        grid-template-areas:
            'head head'
            'aside cards';
        align-items: start;
    }

    .bestemmingen-reisgids-trips__layout.bestemmingen-reisgids-trips__layout--no-reisscanner {
        grid-template-areas:
            'head head'
            'intro cards';
    }

    .bestemmingen-reisgids-trips__intro {
        max-width: none;
    }

    /* Linkerkolom even hoog als kaartenkolom: sticky-einde valt samen met onderkant uitgelichte-reizen-blok */
    .bestemmingen-reisgids-trips__aside {
        align-self: stretch;
        min-height: 0;
    }

    /* Powered by plakt onder intro; blijft plakken tot onderkant .aside (= einde container naast kaarten) */
    .bestemmingen-reisgids-trips__aside .bestemmingen-reisgids-trips__partner {
        position: sticky;
        top: 1.5rem;
        align-self: start;
    }
}

@media (min-width: 1024px) {
    .bestemmingen-reisgids-trips__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bestemmingen-reisgids-trips__grid .bestemmingen-reisgids-trips__card--trip:nth-child(4),
    .bestemmingen-reisgids-trips__grid .bestemmingen-reisgids-trips__card--trip:nth-child(5) {
        display: flex;
    }

    .bestemmingen-reisgids-trips__grid .bestemmingen-reisgids-trips__card:nth-child(n + 7) {
        display: none;
    }
}

.bestemmingen-reisgids-trips__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    text-decoration: none;
    color: inherit;
    background-color: #faf9f7;
    border: 1px solid rgba(44, 36, 28, 0.08);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    transition:
        box-shadow 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.bestemmingen-reisgids-trips__card:hover,
.bestemmingen-reisgids-trips__card:focus-visible {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    border-color: rgba(166, 93, 40, 0.25);
    transform: translateY(-2px);
    outline: none;
}

.bestemmingen-reisgids-trips__card--load-more {
    justify-content: center;
    align-items: stretch;
    text-align: center;
    background: linear-gradient(160deg, #faf7f3 0%, #f0ebe4 45%, #e8e2d8 100%);
    border: 1px dashed rgba(166, 93, 40, 0.35);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.bestemmingen-reisgids-trips__card--load-more:hover,
.bestemmingen-reisgids-trips__card--load-more:focus-visible {
    border-color: rgba(166, 93, 40, 0.55);
    background: linear-gradient(160deg, #fffdfb 0%, #f5efe6 50%, #ede6dc 100%);
}

.bestemmingen-reisgids-trips__load-more-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    padding: clamp(1rem, 3vw, 1.5rem) clamp(0.85rem, 2vw, 1.15rem);
    min-height: clamp(11rem, 28vw, 14rem);
    flex: 1 1 auto;
}

.bestemmingen-reisgids-trips__load-more-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rr-bestemming-accent, #a65d28);
    opacity: 0.9;
}

.bestemmingen-reisgids-trips__load-more-title {
    font-size: clamp(0.88rem, 1.5vw, 1rem);
    font-weight: 800;
    line-height: 1.3;
    color: #1a1a1a;
}

.bestemmingen-reisgids-trips__load-more-text {
    font-size: clamp(0.68rem, 1.15vw, 0.78rem);
    line-height: 1.45;
    color: rgba(26, 26, 26, 0.72);
    max-width: 16rem;
}

.bestemmingen-reisgids-trips__load-more-btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin-top: 0.35rem;
    padding: 0.55rem 1.1rem 0.55rem 1rem;
    font-size: clamp(0.72rem, 1.2vw, 0.82rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #ffffff;
    background: linear-gradient(135deg, #a65d28 0%, #c46e32 100%);
    border-radius: 999px;
    box-shadow: 0 2px 10px rgba(166, 93, 40, 0.35);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.bestemmingen-reisgids-trips__card--load-more:hover .bestemmingen-reisgids-trips__load-more-btn,
.bestemmingen-reisgids-trips__card--load-more:focus-visible .bestemmingen-reisgids-trips__load-more-btn {
    box-shadow: 0 4px 16px rgba(166, 93, 40, 0.45);
    transform: translateY(-1px);
}

.bestemmingen-reisgids-trips__load-more-btn-icon {
    flex-shrink: 0;
}

.bestemmingen-reisgids-trips__card-image-wrap {
    display: block;
    aspect-ratio: 26 / 17;
    overflow: hidden;
    background-color: #ece8e3;
}

.bestemmingen-reisgids-trips__card-image-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bestemmingen-reisgids-trips__card-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 0.5rem;
    padding: clamp(0.65rem, 1.5vw, 0.85rem) clamp(0.65rem, 1.5vw, 0.85rem) clamp(0.75rem, 1.8vw, 0.95rem);
    min-width: 0;
}

.bestemmingen-reisgids-trips__card-title {
    display: block;
    font-size: clamp(0.78rem, 1.35vw, 0.9rem);
    font-weight: 700;
    line-height: 1.35;
    color: #1a1a1a;
}

.bestemmingen-reisgids-trips__card-labels {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem 0.4rem;
}

.bestemmingen-reisgids-trips__card-label {
    display: inline-block;
    padding: 0.2rem 0.45rem;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(26, 26, 26, 0.72);
    background-color: rgba(166, 93, 40, 0.1);
    border-radius: 4px;
}

.bestemmingen-reisgids-trips__card-excerpt {
    display: block;
    flex: 1 1 auto;
    font-size: clamp(0.68rem, 1.2vw, 0.78rem);
    line-height: 1.5;
    color: #444;
}

.bestemmingen-reisgids-trips__card-footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.25rem;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(44, 36, 28, 0.08);
}

.bestemmingen-reisgids-trips__org {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}

.bestemmingen-reisgids-trips__org-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.85rem;
    height: 1.85rem;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #ffffff;
    background: linear-gradient(135deg, #a65d28 0%, #c46e32 100%);
    border-radius: 6px;
}

.bestemmingen-reisgids-trips__org-name {
    font-size: 0.68rem;
    font-weight: 700;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 5.5rem;
}

.bestemmingen-reisgids-trips__price {
    flex-shrink: 0;
    font-size: clamp(0.78rem, 1.35vw, 0.88rem);
    font-weight: 800;
    color: var(--rr-bestemming-accent, #a65d28);
}

.bestemmingen-reisgids-trips__wave {
    display: block;
    width: 100%;
    height: clamp(28px, 6vw, 52px);
    margin-top: -1px;
    flex-shrink: 0;
}

@media (max-width: 639.98px) {
    .bestemmingen-reisgids-trips__org-name {
        max-width: 4.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bestemmingen-reisgids-trips__card {
        transition: none;
    }

    .bestemmingen-reisgids-trips__card:hover,
    .bestemmingen-reisgids-trips__card:focus-visible {
        transform: none;
    }
}

/* --- Destinations grid --------------------------------------------------- */

.bestemmingen-destinations {
    --rr-bestemming-accent: #a65d28;
    --rr-bestemming-accent-soft: rgba(166, 93, 40, 0.38);
    --rr-toc-hover-orange: #ea580c;
    padding: 0;
    background-color: #f5f2ef;
    overflow-x: clip;
}

/* Zelfde breedte als hero / intro (Blocksy container-vars) */
.bestemmingen-destinations__inner {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    padding-left: clamp(1.25rem, 5vw, 3rem);
    padding-right: clamp(1.25rem, 5vw, 3rem);
}

/* Destinations intro: bovengolf (beige → wit); zelfde witte band + container als Weer & klimaat; titel + tekst links, één foto rechts */
.bestemmingen-destinations-intro-band {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
    margin: 0;
}

.bestemmingen-destinations-intro-band__wave {
    display: block;
    width: 100%;
    height: clamp(28px, 6vw, 52px);
    flex-shrink: 0;
}

.bestemmingen-destinations-intro-band__wave--top {
    margin-bottom: -1px;
}

.bestemmingen-destinations__inner > .bestemmingen-destinations-intro-band--viewport-bleed {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 0;
    position: relative;
    box-sizing: border-box;
}

.bestemmingen-destinations-intro-band__body {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: clamp(1.75rem, 4.5vw, 3.25rem) 0 clamp(2rem, 5vw, 3.75rem);
    background-color: #ffffff;
    min-width: 0;
}

.bestemmingen-destinations-intro-band__container {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    padding-left: 0;
    padding-right: clamp(1.25rem, 5vw, 3rem);
    padding-bottom: clamp(1.25rem, 3vw, 1.85rem);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.bestemmingen-destinations-intro-band__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.32fr);
    grid-template-areas:
        'head collage'
        'copy collage';
    align-items: start;
    gap: clamp(1rem, 3vw, 2rem);
    width: 100%;
    min-width: 0;
}

.bestemmingen-destinations-intro-band--reversed .bestemmingen-destinations-intro-band__layout {
    grid-template-columns: minmax(0, 1.32fr) minmax(0, 1fr);
    grid-template-areas:
        'collage head'
        'collage copy';
}

.bestemmingen-destinations-intro-band__head {
    grid-area: head;
    min-width: 0;
}

.bestemmingen-destinations-intro-band__heading {
    margin: 0;
    margin-bottom: clamp(0.35rem, 1vw, 0.5rem);
    font-size: clamp(1.4rem, 0.98rem + 2.8vw, 1.95rem);
    font-weight: 800;
    line-height: 1.22;
    color: #1a1a1a;
    text-align: left;
}

.bestemmingen-destinations-intro-band__collage {
    grid-area: collage;
    min-width: 0;
    align-self: start;
}

.bestemmingen-destinations-intro-band__photo {
    margin: 0;
    width: 100%;
    max-width: min(100%, clamp(18rem, 54vw, 34rem));
    margin-left: auto;
    margin-right: 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.bestemmingen-destinations-intro-band__photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.bestemmingen-destinations-intro-band__copy {
    grid-area: copy;
    min-width: 0;
}

.bestemmingen-destinations-intro-band__text {
    margin: 0;
    font-size: clamp(1rem, 0.94rem + 0.22vw, 1.1rem);
    line-height: 1.7;
    color: #333;
    text-align: left;
}

.bestemmingen-destinations-intro-band__text p {
    margin: 0;
}

.bestemmingen-destinations-intro-band__read-more {
    display: none;
    margin-top: 0.65rem;
    padding: 0;
    border: none;
    background: none;
    font: inherit;
    font-size: clamp(0.98rem, 0.85rem + 0.45vw, 1.08rem);
    font-weight: 700;
    color: var(--rr-bestemming-accent, #a65d28);
    text-decoration: underline;
    text-underline-offset: 0.15em;
    cursor: pointer;
    text-align: left;
}

.bestemmingen-destinations-intro-band__read-more:hover,
.bestemmingen-destinations-intro-band__read-more:focus-visible {
    color: var(--rr-toc-hover-orange, #ea580c);
    outline: none;
}

@media (max-width: 767px) {
    .bestemmingen-destinations-intro-band__layout {
        grid-template-columns: 1fr;
        grid-template-areas:
            'head'
            'collage'
            'copy';
        gap: clamp(1rem, 4vw, 1.5rem);
    }

    .bestemmingen-destinations-intro-band__heading {
        margin-bottom: clamp(0.35rem, 2vw, 0.5rem);
    }

    .bestemmingen-destinations-intro-band__photo {
        max-width: min(100%, 26rem);
        margin-left: auto;
        margin-right: auto;
    }

    .bestemmingen-destinations-intro-band__text {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

    .bestemmingen-destinations-intro-band__copy.is-expanded .bestemmingen-destinations-intro-band__text {
        display: block;
        -webkit-line-clamp: unset;
        overflow: visible;
    }

    .bestemmingen-destinations-intro-band__read-more {
        display: block;
        width: fit-content;
        max-width: 100%;
        margin-left: auto;
        margin-right: 0;
        margin-top: 0.65rem;
        margin-bottom: 0;
        color: #a65d28;
        text-align: right;
    }

    .bestemmingen-destinations-intro-band__read-more:hover,
    .bestemmingen-destinations-intro-band__read-more:focus-visible {
        color: #8b4d22;
    }
}

/* Klimaat: witte band (golf staat boven Introductie-blok); inhoud in __container = zelfde maat als __inner */
.bestemmingen-climate-band {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
    margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
}

.bestemmingen-destinations__inner > .bestemmingen-climate-band--viewport-bleed {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 0;
    position: relative;
    box-sizing: border-box;
}

.bestemmingen-climate-band__body {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: clamp(1.75rem, 4.5vw, 3.25rem) 0 clamp(2rem, 5vw, 3.75rem);
    background-color: #ffffff;
    min-width: 0;
}

/* Geen padding-links: zelfde start als .bestemmingen-intro__inner (o.a. “Ontdek het beste van …”) */
.bestemmingen-climate-band__container {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    padding-left: 0;
    padding-right: clamp(1.25rem, 5vw, 3rem);
}

.bestemmingen-climate-band__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    grid-template-areas:
        'chart head'
        'chart copy';
    align-items: start;
    gap: clamp(1rem, 3vw, 2rem);
    width: 100%;
    min-width: 0;
}

.bestemmingen-climate-band__chart-col {
    grid-area: chart;
    min-width: 0;
}

.bestemmingen-climate-band__copy {
    grid-area: copy;
    min-width: 0;
}

.bestemmingen-climate-band__head {
    grid-area: head;
    min-width: 0;
}

.bestemmingen-climate-band__heading {
    margin: 0;
    margin-bottom: clamp(0.35rem, 1vw, 0.5rem);
    font-size: clamp(1.4rem, 0.98rem + 2.8vw, 1.95rem);
    font-weight: 800;
    line-height: 1.22;
    color: #1a1a1a;
    text-align: left;
}

.bestemmingen-climate-band__text {
    margin: 0;
    font-size: clamp(1rem, 0.94rem + 0.22vw, 1.1rem);
    line-height: 1.7;
    color: #333;
    text-align: left;
}

.bestemmingen-climate-band__text p {
    margin: 0;
}

.bestemmingen-climate-band__read-more {
    display: none;
    margin-top: 0.65rem;
    padding: 0;
    border: none;
    background: none;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--rr-bestemming-accent, #a65d28);
    text-decoration: underline;
    text-underline-offset: 0.15em;
    cursor: pointer;
    text-align: left;
}

.bestemmingen-climate-band__read-more:hover,
.bestemmingen-climate-band__read-more:focus-visible {
    color: var(--rr-toc-hover-orange, #ea580c);
    outline: none;
}

@media (max-width: 767px) {
    .bestemmingen-climate-band__layout {
        grid-template-columns: 1fr;
        grid-template-areas:
            'head'
            'chart'
            'copy';
        gap: clamp(1rem, 4vw, 1.5rem);
    }

    .bestemmingen-climate-band__heading {
        margin-bottom: clamp(0.35rem, 2vw, 0.5rem);
    }

    .bestemmingen-climate-band__text {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

    .bestemmingen-climate-band__copy.is-expanded .bestemmingen-climate-band__text {
        display: block;
        -webkit-line-clamp: unset;
        overflow: visible;
    }

    .bestemmingen-climate-band__read-more {
        display: block;
        width: fit-content;
        max-width: 100%;
        margin-left: auto;
        margin-right: 0;
        margin-top: 0.65rem;
        margin-bottom: clamp(1.5rem, 6vw, 2.5rem);
        color: #a65d28;
        text-align: right;
    }

    .bestemmingen-climate-band__read-more:hover,
    .bestemmingen-climate-band__read-more:focus-visible {
        color: #8b4d22;
    }
}

.bestemmingen-climate-band__label {
    margin: 0 0 0.5rem;
    font-size: clamp(0.75rem, 0.62rem + 0.45vw, 0.88rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(26, 26, 26, 0.65);
    text-align: left;
}

/* Highcharts: transparant op witte climate-band */
.bestemmingen-climate-chart {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 220px;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: visible;
    margin: 0;
    padding: 0;
    background: transparent !important;
    background-color: transparent !important;
}

.bestemmingen-climate-chart.highcharts-container,
.bestemmingen-climate-chart .highcharts-container {
    background: transparent !important;
    background-color: transparent !important;
}

.bestemmingen-climate-chart svg {
    background: transparent !important;
}

.bestemmingen-climate-chart .highcharts-background,
.bestemmingen-climate-chart .highcharts-plot-background,
.bestemmingen-climate-chart .highcharts-plot-border {
    fill: none !important;
    stroke: none !important;
}

.bestemmingen-climate-chart .highcharts-root {
    background: transparent !important;
}

@media (min-width: 400px) {
    .bestemmingen-climate-chart {
        height: 250px;
    }
}

@media (min-width: 768px) {
    .bestemmingen-climate-chart {
        height: 300px;
    }
}

@media (min-width: 1000px) {
    .bestemmingen-climate-chart {
        height: 320px;
    }
}

/* Hoogtepunten: achtergrondfoto vult de band; SVG-golven maskeren boven/onder naar wit (zelfde #fff als pagina) */
.bestemmingen-destinations-highlights--viewport-bleed {
    --rr-highlights-wave-h: clamp(48px, 10vw, 80px);
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    box-sizing: border-box;
    background-color: #ffffff;
}

.bestemmingen-destinations-highlights__shell {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    min-width: 0;
    overflow: clip;
    isolation: isolate;
    background-color: #ffffff;
    padding-top: 0;
    padding-bottom: var(--rr-highlights-wave-h);
}

.bestemmingen-destinations-highlights__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: var(--rr-highlights-bg-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.bestemmingen-destinations-highlights__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        180deg,
        rgba(10, 8, 6, 0.82) 0%,
        rgba(10, 8, 6, 0.58) 42%,
        rgba(10, 8, 6, 0.76) 100%
    );
    pointer-events: none;
}

.bestemmingen-destinations-highlights__wave {
    display: block;
    width: 100%;
    height: var(--rr-highlights-wave-h);
    flex-shrink: 0;
    pointer-events: none;
}

.bestemmingen-destinations-highlights__wave--top {
    display: none;
}

.bestemmingen-destinations-highlights__wave--bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
}

.bestemmingen-destinations-highlights__container {
    position: relative;
    z-index: 3;
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    padding: clamp(1.85rem, 4.5vw, 3rem) clamp(1.25rem, 5vw, 3rem) clamp(3.5rem, 8vw, 6rem);
}

.bestemmingen-destinations-highlights__head {
    text-align: left;
}

.bestemmingen-destinations-highlights__heading {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-size: clamp(1.4rem, 0.98rem + 2.8vw, 1.9rem);
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    text-align: left;
    text-shadow: 0 1px 20px rgba(0, 0, 0, 0.45);
}

.bestemmingen-destinations-highlights__title-rule {
    display: block;
    height: 3px;
    max-width: 14rem;
    width: 100%;
    margin: 0 0 clamp(0.5rem, 1.2vw, 0.75rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        rgba(255, 248, 240, 0.92) 100%
    );
}

/* Hoogtepunten tabs: links lijst, rechts content + foto */
.bestemmingen-highlights-tabs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.25rem, 3vw, 2rem);
    margin-top: clamp(1.1rem, 2.8vw, 1.85rem);
}

@media (min-width: 768px) {
    .bestemmingen-highlights-tabs {
        grid-template-columns: minmax(14rem, 1fr) minmax(0, 1fr);
        gap: clamp(1.25rem, 3.5vw, 2.5rem);
        align-items: start;
    }
}

/* --- Tab list (left column) --- */
.bestemmingen-highlights-tabs__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bestemmingen-highlights-tabs__list li {
    margin: 0;
    padding: 0;
}

.bestemmingen-highlights-tabs__tab {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    margin: 0;
    padding: 0.6rem 0.85rem;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    font: inherit;
    font-size: clamp(0.88rem, 0.6rem + 0.85vw, 1.02rem);
    font-weight: 600;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.92);
    text-align: left;
    cursor: pointer;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
    transition: background 0.18s ease, color 0.18s ease;
}

.bestemmingen-highlights-tabs__tab:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

.bestemmingen-highlights-tabs__tab:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
}

.bestemmingen-highlights-tabs__tab.is-active {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
    font-weight: 700;
    box-shadow: inset 3px 0 0 var(--rr-bestemming-accent, #a65d28);
}

.bestemmingen-highlights-tabs__tab-number {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    color: rgba(255, 255, 255, 0.82);
    border: 1.5px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}

.bestemmingen-highlights-tabs__tab.is-active .bestemmingen-highlights-tabs__tab-number {
    color: #ffffff;
    background: var(--rr-bestemming-accent, #a65d28);
    border-color: var(--rr-bestemming-accent, #a65d28);
}

.bestemmingen-highlights-tabs__tab-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --- Tab panels (right column) --- */
.bestemmingen-highlights-tabs__panels {
    min-width: 0;
}

.bestemmingen-highlights-tabs__panel {
    display: none;
    flex-direction: column;
    gap: clamp(0.85rem, 2vw, 1.25rem);
    min-width: 0;
    animation: highlights-panel-in 0.28s ease;
}

.bestemmingen-highlights-tabs__panel.is-active {
    display: flex;
}

@keyframes highlights-panel-in {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}



.bestemmingen-highlights-tabs__content {
    min-width: 0;
}

.bestemmingen-highlights-tabs__panel-title {
    margin: 0 0 0.45rem;
    font-size: clamp(1.12rem, 0.72rem + 1.2vw, 1.36rem);
    font-weight: 800;
    line-height: 1.28;
    color: #ffffff;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.4);
}

.bestemmingen-highlights-tabs__panel-text {
    margin: 0;
    font-size: clamp(0.96rem, 0.62rem + 0.95vw, 1.1rem);
    line-height: 1.75;
    color: #ffffff;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}


/* Mobiel: accordion zichtbaar, tabs verborgen */
.bestemmingen-highlights-accordion {
    display: none;
}

@media (max-width: 767.98px) {
    .bestemmingen-highlights-tabs--desktop {
        display: none;
    }

    .bestemmingen-highlights-accordion {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin-top: clamp(1rem, 2.5vw, 1.5rem);
    }
}

/* --- Accordion items --- */
.bestemmingen-highlights-accordion__item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.bestemmingen-highlights-accordion__item:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.bestemmingen-highlights-accordion__trigger {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    margin: 0;
    padding: 0.85rem 0.25rem;
    border: none;
    background: none;
    font: inherit;
    font-size: clamp(0.92rem, 0.65rem + 0.85vw, 1.04rem);
    font-weight: 600;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.92);
    text-align: left;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: color 0.18s ease;
}

.bestemmingen-highlights-accordion__trigger:hover {
    color: #ffffff;
}

.bestemmingen-highlights-accordion__trigger:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
}

.bestemmingen-highlights-accordion__trigger[aria-expanded="true"] {
    color: #ffffff;
    font-weight: 700;
}

.bestemmingen-highlights-accordion__number {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
    color: rgba(255, 255, 255, 0.75);
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.bestemmingen-highlights-accordion__trigger[aria-expanded="true"] .bestemmingen-highlights-accordion__number {
    color: #ffffff;
    background: var(--rr-bestemming-accent, #a65d28);
    border-color: var(--rr-bestemming-accent, #a65d28);
}

.bestemmingen-highlights-accordion__title {
    flex: 1 1 auto;
    min-width: 0;
}

.bestemmingen-highlights-accordion__chevron {
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.6);
    transition: transform 0.25s ease;
}

.bestemmingen-highlights-accordion__trigger[aria-expanded="true"] .bestemmingen-highlights-accordion__chevron {
    transform: rotate(180deg);
    color: rgba(255, 255, 255, 0.9);
}

/* Accordion body: hidden by default, revealed via JS removing hidden attr */
.bestemmingen-highlights-accordion__body {
    padding: 0 0.25rem 1rem 2.3rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    animation: highlights-acc-in 0.25s ease;
}

.bestemmingen-highlights-accordion__body[hidden] {
    display: none;
}

@keyframes highlights-acc-in {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}



.bestemmingen-highlights-accordion__text {
    margin: 0;
    font-size: clamp(0.9rem, 0.6rem + 0.85vw, 1.02rem);
    line-height: 1.7;
    color: #ffffff;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}

.bestemmingen-destinations + .bestemmingen-spotlight {
    margin-top: -1px;
}

/* --- Spotlight ----------------------------------------------------------- */

.bestemmingen-spotlight {
    padding: clamp(3rem, 8vw, 5rem) clamp(1.25rem, 5vw, 3rem);
    background-color: #ffffff;
}

.bestemmingen-spotlight__inner {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
}

.bestemmingen-spotlight__image-wrap {
    flex: 1 1 50%;
    border-radius: 12px;
    overflow: hidden;
}

.bestemmingen-spotlight__image-wrap img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

.bestemmingen-spotlight__content {
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.5rem;
}

.bestemmingen-spotlight__label {
    display: inline-block;
    width: fit-content;
    padding: 0.3em 0.9em;
    font-size: clamp(0.78rem, 0.68rem + 0.35vw, 0.88rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #ffffff;
    background-color: var(--theme-palette-color-1, #e4791b);
    border-radius: 4px;
}

.bestemmingen-spotlight__title {
    margin: 0;
    font-size: clamp(1.45rem, 0.95rem + 2.8vw, 2.05rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
}

.bestemmingen-spotlight__duration {
    margin: 0;
    font-size: clamp(0.98rem, 0.85rem + 0.45vw, 1.1rem);
    color: #666;
    font-style: italic;
}

.bestemmingen-spotlight__text {
    margin: 0;
    font-size: clamp(1rem, 0.94rem + 0.22vw, 1.1rem);
    line-height: 1.65;
    color: #333;
}

.bestemmingen-spotlight__cta {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 0.5rem;
    padding: 0.65em 1.4em;
    font-size: 0.9rem;
    font-weight: 600;
    color: #ffffff;
    background-color: var(--theme-palette-color-1, #e4791b);
    border-radius: var(--theme-button-border-radius, 3px);
    text-decoration: none;
    transition: filter 0.2s ease;
}

.bestemmingen-spotlight__cta:hover {
    filter: brightness(1.08);
    color: #ffffff;
}

@media (min-width: 690px) {
    .bestemmingen-spotlight__inner {
        flex-direction: row;
        align-items: center;
    }

    .bestemmingen-spotlight__image-wrap img {
        aspect-ratio: 3 / 4;
        max-height: 420px;
    }
}

/* --- Accommodaties ------------------------------------------------------- */

.bestemmingen-accommodaties {
    padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 5vw, 3rem);
    background-color: #ffffff;
}

.bestemmingen-accommodaties__inner {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
}

.bestemmingen-accommodaties__head {
    margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.bestemmingen-accommodaties__heading {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-size: clamp(1.4rem, 0.98rem + 2.8vw, 1.9rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
}

.bestemmingen-accommodaties__title-rule {
    display: block;
    height: 3px;
    max-width: 14rem;
    width: 100%;
    margin: 0;
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

/* --- Body: sidebar (intro) + cards layout --- */
.bestemmingen-accommodaties__body {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2.5vw, 1.5rem);
}

@media (min-width: 768px) {
    .bestemmingen-accommodaties__body {
        display: grid;
        grid-template-columns: 1fr 2fr;
        align-items: start;
        gap: clamp(1.25rem, 3vw, 2rem);
    }
}

/* --- Intro: tekst + button (left column on desktop) --- */
.bestemmingen-accommodaties__intro {
    display: flex;
    flex-direction: column;
    gap: clamp(0.65rem, 1.5vw, 1rem);
}

.bestemmingen-accommodaties__intro-text {
    margin: 0;
    font-size: clamp(0.9rem, 0.86rem + 0.15vw, 1rem);
    line-height: 1.65;
    color: #444;
}

.bestemmingen-accommodaties__intro-text--rich > :first-child {
    margin-top: 0;
}

.bestemmingen-accommodaties__intro-text--rich > :last-child {
    margin-bottom: 0;
}

.bestemmingen-accommodaties__all-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    padding: 0.6rem 1.25rem;
    font-size: clamp(0.86rem, 0.62rem + 0.65vw, 0.96rem);
    font-weight: 700;
    line-height: 1.3;
    color: #ffffff;
    text-decoration: none;
    background: linear-gradient(135deg, var(--rr-bestemming-accent, #a65d28) 0%, #c46e32 100%);
    border-radius: 999px;
    box-shadow: 0 2px 10px rgba(166, 93, 40, 0.3);
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.bestemmingen-accommodaties__all-btn:hover,
.bestemmingen-accommodaties__all-btn:focus-visible {
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(166, 93, 40, 0.45);
    transform: translateY(-1px);
    outline: none;
}

/* --- Cards grid: icon-cards (right column on desktop) --- */
.bestemmingen-accommodaties__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.5rem, 1.2vw, 0.75rem);
}

@media (min-width: 768px) {
    .bestemmingen-accommodaties__cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .bestemmingen-accommodaties__cards {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Mobiel + tablet: max. 6 zichtbare kaarten; 7e en 8e staan als links onder Meer plaatsen */
@media (max-width: 1023px) {
    .bestemmingen-accommodaties__card:nth-child(n + 7) {
        display: none;
    }
}

.bestemmingen-accommodaties__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0.4rem, 1vw, 0.6rem);
    text-decoration: none;
    color: #333;
    padding: clamp(0.75rem, 2vw, 1.1rem) clamp(0.5rem, 1.5vw, 0.85rem);
    border-radius: 10px;
    background-color: #f8f6f3;
    border: 1px solid rgba(0, 0, 0, 0.06);
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

@media (hover: hover) {
    .bestemmingen-accommodaties__card:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
        background-color: #ffffff;
    }
}

.bestemmingen-accommodaties__card-icon {
    flex-shrink: 0;
    width: clamp(1.5rem, 3.5vw, 2rem);
    height: clamp(1.5rem, 3.5vw, 2rem);
    color: var(--rr-bestemming-accent, #a65d28);
}

.bestemmingen-accommodaties__card-name {
    font-size: clamp(0.96rem, 0.7rem + 0.85vw, 1.15rem);
    font-weight: 700;
    line-height: 1.3;
    color: #1a1a1a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

/* --- Meer plaatsen: horizontale lijst onder de cards --- */
.bestemmingen-accommodaties__more {
    margin-top: clamp(1.25rem, 3vw, 1.75rem);
}

.bestemmingen-accommodaties__more-title {
    margin: 0 0 0.6rem;
    font-size: clamp(0.88rem, 0.6rem + 0.75vw, 1.02rem);
    font-weight: 700;
    line-height: 1.3;
    color: #1a1a1a;
}

.bestemmingen-accommodaties__place-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
}

.bestemmingen-accommodaties__place-list--desktop-only {
    display: none;
}

@media (min-width: 1024px) {
    .bestemmingen-accommodaties__place-list--upto-desktop {
        display: none;
    }

    .bestemmingen-accommodaties__place-list--desktop-only {
        display: flex;
    }
}

.bestemmingen-accommodaties__place-link {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.75rem;
    font-size: clamp(0.82rem, 0.56rem + 0.7vw, 0.92rem);
    font-weight: 500;
    line-height: 1.35;
    color: var(--rr-bestemming-accent, #a65d28);
    text-decoration: none;
    background-color: #f8f6f3;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 999px;
    transition: color 0.18s ease, background-color 0.18s ease;
}

.bestemmingen-accommodaties__place-link:hover {
    color: var(--rr-toc-hover-orange, #ea580c);
    background-color: #f0ece7;
}

/* --- Activities ---------------------------------------------------------- */

.bestemmingen-activities {
    position: relative;
    padding: clamp(3rem, 8vw, 5rem) 0 0;
    background-color: #f5f2ef;
    overflow: hidden;
}

.bestemmingen-activities__wave {
    display: block;
    width: 100%;
    height: clamp(48px, 10vw, 80px);
    flex-shrink: 0;
    margin-top: clamp(2rem, 5vw, 3.5rem);
}

.bestemmingen-activities__wave--bottom {
    background-color: #f5f2ef;
}

.bestemmingen-activities__inner {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    padding: 0 clamp(1.25rem, 5vw, 3rem);
}

.bestemmingen-activities__suptitle {
    margin: 0 0 0.3rem;
    font-size: clamp(0.92rem, 0.78rem + 0.45vw, 1.02rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--theme-palette-color-1, #e4791b);
}

.bestemmingen-activities__heading {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-size: clamp(1.35rem, 0.92rem + 2.5vw, 1.95rem);
    font-weight: 700;
    line-height: 1.28;
    color: #1a1a1a;
}

.bestemmingen-activities__title-rule {
    display: block;
    height: 3px;
    max-width: 14rem;
    width: 100%;
    margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.bestemmingen-activities__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(0.75rem, 1.8vw, 1.1rem);
}

.bestemmingen-activities__card {
    position: relative;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: #1a1a1a;
    background-color: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.bestemmingen-activities__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.bestemmingen-activities__badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 2;
    padding: 0.25em 0.7em;
    font-size: clamp(0.72rem, 0.62rem + 0.3vw, 0.8rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #ffffff;
    background-color: var(--theme-palette-color-1, #e4791b);
    border-radius: 4px;
}

.bestemmingen-activities__card-img-wrap {
    display: block;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}

.bestemmingen-activities__card-img-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.bestemmingen-activities__card:hover .bestemmingen-activities__card-img-wrap img {
    transform: scale(1.05);
}

.bestemmingen-activities__card-body {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.85rem 1rem 1rem;
    flex: 1;
}

.bestemmingen-activities__card-name {
    font-size: clamp(1.05rem, 0.92rem + 0.4vw, 1.15rem);
    font-weight: 700;
    line-height: 1.3;
    color: #1a1a1a;
}

.bestemmingen-activities__card-desc {
    font-size: clamp(0.9rem, 0.86rem + 0.15vw, 1rem);
    line-height: 1.55;
    color: #555;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bestemmingen-activities__card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    margin-top: auto;
    padding-top: 0.5rem;
}

.bestemmingen-activities__card-rating {
    display: flex;
    align-items: center;
    gap: 0.2rem;
}

.bestemmingen-activities__card-stars {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    color: #f5a623;
}

.bestemmingen-activities__star {
    flex-shrink: 0;
}

.bestemmingen-activities__star--empty {
    color: #ccc;
}

.bestemmingen-activities__card-rating-number {
    font-size: 0.88rem;
    font-weight: 600;
    color: #333;
    margin-left: 0.15rem;
}

.bestemmingen-activities__card-reviews {
    font-size: 0.82rem;
    color: #777;
}

.bestemmingen-activities__card-price {
    font-size: clamp(0.92rem, 0.82rem + 0.35vw, 1.02rem);
    font-weight: 700;
    color: var(--theme-palette-color-1, #e4791b);
    white-space: nowrap;
}

@media (min-width: 640px) {
    .bestemmingen-activities__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .bestemmingen-activities__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* --- Blog grid ----------------------------------------------------------- */

.bestemmingen-blog-grid {
    padding: clamp(3rem, 8vw, 5rem) clamp(1.25rem, 5vw, 3rem);
    background-color: #ffffff;
}

.bestemmingen-blog-grid__inner {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
}

.bestemmingen-blog-grid__suptitle {
    margin: 0 0 0.3rem;
    font-size: clamp(0.92rem, 0.78rem + 0.45vw, 1.02rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--theme-palette-color-1, #e4791b);
    text-align: left;
}

.bestemmingen-blog-grid__heading {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-size: clamp(1.35rem, 0.92rem + 2.5vw, 1.95rem);
    font-weight: 700;
    line-height: 1.28;
    color: #1a1a1a;
    text-align: left;
}

.bestemmingen-blog-grid__title-rule {
    display: block;
    height: 3px;
    max-width: 14rem;
    width: 100%;
    margin: 0 0 clamp(1.25rem, 3vw, 2rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.bestemmingen-blog-grid__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.65rem, 1.5vw, 1rem);
}

/* Echte posts: alles tonen; infinite scroll voegt kaarten toe (geen "verberg5+") */
.bestemmingen-blog-grid__grid--infinite .bestemmingen-blog-grid__card {
    display: flex;
}

.bestemmingen-blog-grid__grid:not(.bestemmingen-blog-grid__grid--infinite) .bestemmingen-blog-grid__card:nth-child(n + 5) {
    display: none;
}

.bestemmingen-blog-grid__grid:not(.bestemmingen-blog-grid__grid--infinite).is-expanded .bestemmingen-blog-grid__card:nth-child(n + 5) {
    display: flex;
}

@media (min-width: 640px) {
    .bestemmingen-blog-grid__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bestemmingen-blog-grid__grid:not(.bestemmingen-blog-grid__grid--infinite) .bestemmingen-blog-grid__card:nth-child(n + 5) {
        display: flex;
    }

    .bestemmingen-blog-grid__grid:not(.bestemmingen-blog-grid__grid--infinite) .bestemmingen-blog-grid__card:nth-child(n + 7) {
        display: none;
    }

    .bestemmingen-blog-grid__grid:not(.bestemmingen-blog-grid__grid--infinite).is-expanded .bestemmingen-blog-grid__card:nth-child(n + 7) {
        display: flex;
    }
}

@media (min-width: 1024px) {
    .bestemmingen-blog-grid__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .bestemmingen-blog-grid__grid:not(.bestemmingen-blog-grid__grid--infinite) .bestemmingen-blog-grid__card:nth-child(n + 7) {
        display: flex;
    }

    .bestemmingen-blog-grid__grid:not(.bestemmingen-blog-grid__grid--infinite) .bestemmingen-blog-grid__card:nth-child(n + 9) {
        display: none;
    }

    .bestemmingen-blog-grid__grid:not(.bestemmingen-blog-grid__grid--infinite).is-expanded .bestemmingen-blog-grid__card:nth-child(n + 9) {
        display: flex;
    }
}

.bestemmingen-blog-grid__infinite-sentinel {
    height: 1px;
    margin-top: clamp(1rem, 3vw, 2rem);
    pointer-events: none;
}

.bestemmingen-blog-grid__card {
    position: relative;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.bestemmingen-blog-grid__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

.bestemmingen-blog-grid__card-img-wrap {
    display: block;
    aspect-ratio: 3 / 4;
    overflow: hidden;
}

.bestemmingen-blog-grid__card-img-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.bestemmingen-blog-grid__card:hover .bestemmingen-blog-grid__card-img-wrap img {
    transform: scale(1.05);
}

.bestemmingen-blog-grid__card-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(0.75rem, 2vw, 1.1rem);
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 30%,
        rgba(0, 0, 0, 0.55) 100%
    );
    pointer-events: none;
}

.bestemmingen-blog-grid__card-title {
    display: block;
    margin: 0;
    font-size: clamp(0.88rem, 0.62rem + 0.8vw, 1.06rem);
    font-weight: 700;
    line-height: 1.32;
    color: #ffffff;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
}

.bestemmingen-blog-grid__card-country {
    display: block;
    margin-top: 0.2rem;
    font-size: clamp(0.68rem, 0.5rem + 0.55vw, 0.78rem);
    font-weight: 500;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.82);
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

/* Meer laden */
.bestemmingen-blog-grid__load-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: clamp(1.5rem, 3.5vw, 2.25rem);
}

.bestemmingen-blog-grid__load-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.7rem 1.75rem;
    font: inherit;
    font-size: clamp(0.9rem, 0.68rem + 0.65vw, 1rem);
    font-weight: 700;
    line-height: 1.3;
    color: var(--rr-bestemming-accent, #a65d28);
    background-color: transparent;
    border: 2px solid var(--rr-bestemming-accent, #a65d28);
    border-radius: 999px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.bestemmingen-blog-grid__load-more:hover,
.bestemmingen-blog-grid__load-more:focus-visible {
    color: #ffffff;
    background-color: var(--rr-bestemming-accent, #a65d28);
    box-shadow: 0 4px 14px rgba(166, 93, 40, 0.35);
    outline: none;
}

/* --- Reduced motion ------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
    .bestemmingen-scroll-indicator {
        animation: none;
    }

    .bestemmingen-destinations-highlight-card,
    .bestemmingen-activities__card,
    .bestemmingen-blog-grid__card {
        transition: none;
    }

    .bestemmingen-destinations-highlight-card:hover {
        transform: none;
    }

    .bestemmingen-activities__card-img-wrap img,
    .bestemmingen-blog-grid__card-img-wrap img {
        transition: none;
    }
}

/* ═══════════════════════════════════════
   FAQ / Veelgestelde vragen (zelfde band als activiteiten + golf naar wit)
   ═══════════════════════════════════════ */

.bestemmingen-faq {
    position: relative;
    padding: clamp(3rem, 8vw, 5rem) 0 0;
    background-color: #f5f2ef;
    overflow: hidden;
}

.bestemmingen-faq__wave {
    display: block;
    width: 100%;
    height: clamp(48px, 10vw, 80px);
    flex-shrink: 0;
    margin-top: clamp(2rem, 5vw, 3.5rem);
}

.bestemmingen-faq__wave--bottom {
    background-color: #f5f2ef;
}

.bestemmingen-faq__inner {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    padding: 0 clamp(1.25rem, 5vw, 3rem);
}

.bestemmingen-faq__heading {
    font-size: clamp(1.35rem, 0.92rem + 2.5vw, 1.95rem);
    font-weight: 700;
    line-height: 1.28;
    color: #1a1a1a;
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
}

.bestemmingen-faq__title-rule {
    display: block;
    height: 3px;
    max-width: 14rem;
    width: 100%;
    margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.bestemmingen-faq__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

@media (min-width: 768px) {
    .bestemmingen-faq__grid {
        grid-template-columns: 1fr 1fr;
        column-gap: clamp(2rem, 4vw, 3.5rem);
    }
}

.bestemmingen-faq__item {
    border-bottom: 1px solid #e4e4e4;
}

.bestemmingen-faq__item:first-of-type {
    border-top: 1px solid #e4e4e4;
}

@media (min-width: 768px) {
    .bestemmingen-faq__item:nth-of-type(2) {
        border-top: 1px solid #e4e4e4;
    }
}

.bestemmingen-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: clamp(0.9rem, 1.8vw, 1.25rem) 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font: inherit;
    font-size: clamp(0.92rem, 0.88rem + 0.15vw, 1.02rem);
    font-weight: 600;
    color: #1a1a1a;
    transition: color 0.2s ease;
}

.bestemmingen-faq__question:hover {
    color: var(--rr-bestemming-accent, #a65d28);
}

.bestemmingen-faq__question:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
    border-radius: 4px;
}

.bestemmingen-faq__question-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    color: #999;
    transition: transform 0.3s ease, color 0.2s ease;
}

.bestemmingen-faq__question[aria-expanded="true"] .bestemmingen-faq__question-icon {
    transform: rotate(180deg);
    color: var(--rr-bestemming-accent, #a65d28);
}

.bestemmingen-faq__answer {
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.25s ease;
    max-height: 0;
    opacity: 0;
    visibility: hidden;
}

.bestemmingen-faq__answer.is-open {
    max-height: 40rem;
    opacity: 1;
    visibility: visible;
}

.bestemmingen-faq__answer-inner {
    padding: 0 0 clamp(1rem, 2vw, 1.5rem);
    font-size: clamp(0.875rem, 0.84rem + 0.14vw, 0.96rem);
    line-height: 1.7;
    color: #555;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Overnachten Land – page template
   ═══════════════════════════════════════════════════════════════════════════ */

body.overnachten-land {
    --rr-bestemming-accent: #a65d28;
    --rr-bestemming-accent-soft: rgba(166, 93, 40, 0.38);
    --rr-toc-hover-orange: #ea580c;
}

/* --- Layout reset: template draait buiten Blocksy single/page flow --- */
body.overnachten-land #main.site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.overnachten-land [data-vertical-spacing] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

@media (prefers-reduced-motion: no-preference) {
    html:has(body.overnachten-land) {
        scroll-behavior: smooth;
    }
}

/* --- Header over hero ---------------------------------------------------- */
body.overnachten-land header#header {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: transparent !important;
}

body.overnachten-land header#header [data-row="top"] {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

body.overnachten-land header#header [data-row="middle"] {
    background: transparent !important;
}

body.overnachten-land header#header .menu > li > a,
body.overnachten-land header#header .site-branding a,
body.overnachten-land header#header .site-title,
body.overnachten-land header#header [data-items] > a,
body.overnachten-land header#header .ct-header-socials a,
body.overnachten-land header#header svg,
body.overnachten-land header#header .ct-header-cart .ct-icon-container {
    color: #ffffff !important;
    fill: #ffffff !important;
}

body.overnachten-land header#header .site-branding img,
body.overnachten-land header#header [data-id="logo"] img {
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

body.overnachten-land header#header .menu > li > a:hover {
    color: rgba(255, 255, 255, 0.7) !important;
}

body.overnachten-land header#header .ct-header-text,
body.overnachten-land header#header .ct-header-text .entry-content,
body.overnachten-land header#header .ct-header-text p,
body.overnachten-land header#header .ct-header-text span,
body.overnachten-land header#header .ct-header-text div,
body.overnachten-land header#header .ct-header-text a {
    color: #ffffff !important;
}

body.overnachten-land header#header .ct-header-text a:hover {
    color: rgba(255, 255, 255, 0.75) !important;
}

body.overnachten-land header#header .verzendingmsg,
body.overnachten-land header#header .verzendingmsg2 {
    color: #ffffff !important;
}

body.overnachten-land header#header .ct-header-cart > a.ct-cart-item,
body.overnachten-land header#header .ct-header-cart > a.ct-cart-item .ct-label,
body.overnachten-land header#header .ct-header-cart > a.ct-cart-item .ct-amount,
body.overnachten-land header#header .ct-header-cart > a.ct-cart-item .woocommerce-Price-amount {
    color: #ffffff !important;
}

body.overnachten-land header#header .ct-header-cart > a.ct-cart-item:hover .ct-label,
body.overnachten-land header#header .ct-header-cart > a.ct-cart-item:hover .ct-amount {
    color: rgba(255, 255, 255, 0.85) !important;
}

body.overnachten-land header#header .sub-menu a,
body.overnachten-land header#header .sub-menu svg {
    color: var(--theme-text-color, #1a1a1a) !important;
    fill: var(--theme-text-color, #1a1a1a) !important;
}

body.overnachten-land header#header .sub-menu a:hover {
    color: var(--theme-link-hover-color, var(--theme-palette-color-1, #e4791b)) !important;
}

/* --- Hero ---------------------------------------------------------------- */

.overnachten-land-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    height: 70vh;
    height: 70dvh;
    min-height: 420px;
    color: #ffffff;
    text-align: left;
    overflow: hidden;
}

.overnachten-land-hero__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.overnachten-land-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0,0,0,0.32) 0%, rgba(0,0,0,0.48) 50%, rgba(0,0,0,0.72) 100%);
    pointer-events: none;
}

.overnachten-land-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    padding: 0 0 clamp(2.5rem, 7.5vh, 4.5rem);
    box-sizing: border-box;
}

.overnachten-land-hero__text {
    flex: 1 1 auto;
    min-width: 0;
}

.overnachten-land-hero__suptitle {
    margin: 0 0 0.25rem;
    font-family: 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(0.85rem, 0.7rem + 0.5vw, 1.05rem);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.85);
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

.overnachten-land-hero__title {
    margin: 0 0 0.65rem;
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(2.35rem, 5.5vw + 0.5rem, 4.25rem);
    font-weight: 700;
    font-style: normal;
    line-height: 1.08;
    letter-spacing: 0.03em;
    text-transform: none;
    color: #ffffff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45), 0 1px 0 rgba(0, 0, 0, 0.12);
}

.overnachten-land-hero__intro {
    margin: 0;
    max-width: 100%;
    font-family: 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(0.94rem, 0.76rem + 0.65vw, 1.15rem);
    font-weight: 500;
    font-style: normal;
    line-height: 1.58;
    letter-spacing: 0.02em;
    color: #ffffff;
    opacity: 0.95;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.38);
}

@media (min-width: 768px) {
    .overnachten-land-hero__intro {
        max-width: 50%;
    }
}

.overnachten-land-hero__intro p {
    margin: 0 0 0.65em;
    color: inherit;
}

.overnachten-land-hero__intro p:last-child {
    margin-bottom: 0;
}

.overnachten-land-hero__intro--rich > :first-child {
    margin-top: 0;
}

.overnachten-land-hero__intro--rich > :last-child {
    margin-bottom: 0;
}

.overnachten-land-hero__intro a {
    color: rgba(255, 255, 255, 0.98);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.overnachten-land-hero__intro a:hover {
    color: #ffffff;
}

/* --- Scroll indicator ---------------------------------------------------- */

.overnachten-land-scroll-indicator {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(3.25rem, 5vw, 5rem);
    height: clamp(3.25rem, 5vw, 5rem);
    color: #ffffff;
    opacity: 0.65;
    text-decoration: none;
    transition: opacity 0.25s ease;
}

.overnachten-land-scroll-indicator:hover {
    opacity: 1;
}

.overnachten-land-scroll-indicator svg {
    width: 100%;
    height: 100%;
}

@media (max-width: 767px) {
    .overnachten-land-scroll-indicator {
        display: none;
    }
}

/* --- Onder hero: DOM = split → plaats-cards → regio’s; desktop = eerste twee naast elkaar */

@media (min-width: 900px) {
    /*
     * Volle breedte voor bandkleuren (#f5f2ef / #faf8f5 / wit), inhoud split+regio’s binnen theme-max.
     * Grid: [vlak] [slapen-kolom] [gap] [regio-kolom] [vlak]; rij 2–3 spannen alle kolommen.
     */
    .overnachten-land-below-hero {
        --overnachten-band-pad: clamp(1.25rem, 5vw, 3rem);
        --overnachten-split-regios-gap: clamp(1.5rem, 4vw, 2.5rem);
        --overnachten-inner: min(
            var(--theme-normal-container-max-width, 1290px),
            100% - 2 * var(--overnachten-band-pad)
        );
        --overnachten-split-w: min(
            max(0px, calc((var(--overnachten-inner) - var(--overnachten-split-regios-gap)) * 1.05 / 2)),
            100%
        );
        --overnachten-regios-w: min(
            max(0px, calc((var(--overnachten-inner) - var(--overnachten-split-regios-gap)) * 0.95 / 2)),
            100%
        );
        display: grid;
        grid-template-columns:
            minmax(var(--overnachten-band-pad), 1fr)
            minmax(0, var(--overnachten-split-w))
            var(--overnachten-split-regios-gap)
            minmax(0, var(--overnachten-regios-w))
            minmax(var(--overnachten-band-pad), 1fr);
        column-gap: 0;
        row-gap: 0;
        align-items: start;
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        background-color: #f5f2ef;
    }

    .overnachten-land-below-hero__split {
        grid-column: 2;
        grid-row: 1;
    }

    .overnachten-land-below-hero__regios {
        grid-column: 4;
        grid-row: 1;
    }

    .overnachten-land-below-hero__places {
        grid-column: 1 / -1;
        grid-row: 2;
        background-color: #faf8f5;
    }

    .overnachten-land-below-hero__extras {
        grid-column: 1 / -1;
        grid-row: 3;
        background-color: #ffffff;
    }

    .overnachten-land-below-hero--no-places .overnachten-land-below-hero__extras {
        grid-row: 2;
    }

    .overnachten-land-split {
        padding: clamp(2rem, 5vw, 3.5rem) 0;
        background-color: transparent;
        scroll-margin-top: clamp(4rem, 11vw, 6.25rem);
    }

    .overnachten-land-regios-panel {
        padding: clamp(2rem, 5vw, 3.5rem) 0;
        background-color: transparent;
    }
}

/* --- Split: slapen / populair (kolom links; regio’s staan in .overnachten-land-regios-panel) */

.overnachten-land-split__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 4vw, 2.5rem);
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
}

@media (max-width: 899px) {
    .overnachten-land-split {
        padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 3rem);
        background-color: #f5f2ef;
        scroll-margin-top: clamp(4rem, 11vw, 6.25rem);
    }

    .overnachten-land-regios-panel {
        padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 3rem);
        background-color: #f5f2ef;
    }
}

.overnachten-land-regios-panel {
    box-sizing: border-box;
    width: 100%;
}

/* Oranje blok links */
.overnachten-land-slapen-box {
    padding: clamp(1.35rem, 3.5vw, 2rem);
    border-radius: 14px;
    background: linear-gradient(
        145deg,
        #c2561a 0%,
        var(--rr-bestemming-accent, #a65d28) 45%,
        #d97706 100%
    );
    color: #ffffff;
    box-shadow: 0 12px 40px rgba(166, 93, 40, 0.28);
}

.overnachten-land-slapen-box__title {
    margin: 0 0 clamp(0.65rem, 1.5vw, 1rem);
    /* Zelfde schaal als .bestemmingen-accommodaties__heading (wit op oranje) */
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1.4rem, 0.98rem + 2.8vw, 1.9rem);
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.25);
}

.overnachten-land-slapen-box__body {
    font-size: clamp(0.88rem, 0.78rem + 0.35vw, 1.02rem);
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.94);
}

.overnachten-land-slapen-box__body p {
    margin: 0 0 0.75em;
}

.overnachten-land-slapen-box__body p:last-child {
    margin-bottom: 0;
}

.overnachten-land-slapen-box__body a {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.overnachten-land-popular__heading {
    margin: clamp(1.25rem, 3vw, 1.75rem) 0 clamp(0.35rem, 1vw, 0.5rem);
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1.4rem, 0.98rem + 2.8vw, 1.9rem);
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.25);
}

.overnachten-land-popular__title-rule {
    display: block;
    height: 3px;
    max-width: 10rem;
    width: 100%;
    margin: 0 0 clamp(0.85rem, 2vw, 1.15rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.35) 100%
    );
}

.overnachten-land-popular__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.45rem, 1.2vw, 0.65rem);
}

.overnachten-land-popular__card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(4rem, 10vw, 5.25rem);
    padding: clamp(0.55rem, 1.6vw, 0.9rem) clamp(0.45rem, 1.1vw, 0.7rem);
    text-align: center;
    text-decoration: none;
    color: #1a1a1a;
    background-color: rgba(255, 255, 255, 0.96);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

@media (hover: hover) {
    .overnachten-land-popular__card:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    }
}

.overnachten-land-popular__card-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0.12rem, 0.5vw, 0.28rem);
    min-width: 0;
    width: 100%;
}

/* Zelfde typografie als .bestemmingen-accommodaties__card-name */
.overnachten-land-popular__card-name {
    font-size: clamp(0.96rem, 0.7rem + 0.85vw, 1.15rem);
    font-weight: 700;
    line-height: 1.3;
    color: #1a1a1a;
    word-break: break-word;
    max-width: 100%;
}

.overnachten-land-popular__card-tagline {
    font-size: clamp(0.68rem, 0.55rem + 0.45vw, 0.82rem);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.02em;
    color: rgba(26, 26, 26, 0.68);
    max-width: 100%;
}

.overnachten-land-popular__empty {
    margin: 0;
    font-size: clamp(0.86rem, 0.78rem + 0.3vw, 0.98rem);
    color: rgba(255, 255, 255, 0.88);
}

/* Rechterkolom: regio's + snel naar */
/* Zelfde als .bestemmingen-accommodaties__heading */
.overnachten-land-regios__heading {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1.4rem, 0.98rem + 2.8vw, 1.9rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
}

.overnachten-land-regios__title-rule {
    display: block;
    height: 3px;
    max-width: 14rem;
    width: 100%;
    margin: 0 0 clamp(0.85rem, 2vw, 1.15rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.overnachten-land-regios__body {
    font-size: clamp(0.9rem, 0.84rem + 0.22vw, 1.03rem);
    line-height: 1.68;
    color: #444;
}

.overnachten-land-regios__body p {
    margin: 0 0 0.75em;
}

.overnachten-land-regios__body p:last-child {
    margin-bottom: 0;
}

.overnachten-land-snel-naar-wrap {
    margin-top: clamp(1.25rem, 3vw, 1.85rem);
}

.overnachten-land-snel-naar-wrap .bestemmingen-intro__toc-card {
    padding: clamp(1.4rem, 3.5vw, 2rem) clamp(1.25rem, 3vw, 1.75rem);
    border-radius: 12px;
    box-shadow: 0 4px 22px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.06);
    background-color: #ffffff;
    box-sizing: border-box;
}

.overnachten-land-snel-naar-wrap .bestemmingen-intro__toc-intro {
    margin-bottom: 1rem;
}

@media (hover: hover) {
    .overnachten-land-snel-naar-wrap .bestemmingen-intro__toc-link:hover {
        background-color: var(--rr-toc-hover-orange, #ea580c);
        color: #ffffff;
        font-weight: 700;
        text-decoration: none;
    }

    .overnachten-land-snel-naar-wrap .bestemmingen-intro__toc-link:hover .bestemmingen-intro__toc-item-icon {
        opacity: 1;
        color: #ffffff;
    }

    .overnachten-land-snel-naar-wrap .bestemmingen-intro__toc-link:hover .bestemmingen-intro__toc-item-badge {
        color: #ea580c;
        background-color: #ffffff;
    }

    .overnachten-land-snel-naar-wrap .bestemmingen-intro__toc-link:hover .bestemmingen-intro__toc-item-badge--attention {
        animation: none;
        transform: none;
        box-shadow: none;
    }

    .overnachten-land-snel-naar-wrap .bestemmingen-intro__toc-link:hover:has(.bestemmingen-intro__toc-item-badge--attention) .bestemmingen-intro__toc-link-text::before {
        animation: none;
        opacity: 0;
    }
}

.overnachten-land-snel-naar-wrap .bestemmingen-intro__toc-link:focus-visible {
    background-color: var(--rr-toc-hover-orange, #ea580c);
    color: #ffffff;
    font-weight: 700;
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.overnachten-land-snel-naar-wrap .bestemmingen-intro__toc-link:focus-visible .bestemmingen-intro__toc-item-icon {
    color: #ffffff;
    opacity: 1;
}

.overnachten-land-snel-naar-wrap .bestemmingen-intro__toc-link:focus-visible .bestemmingen-intro__toc-item-badge {
    color: #ea580c;
    background-color: #ffffff;
}

.overnachten-land-snel-naar-wrap .bestemmingen-intro__toc-link:focus-visible .bestemmingen-intro__toc-item-badge--attention {
    animation: none;
    transform: none;
    box-shadow: none;
}

/* --- Alle plaatsen: grote cards ---------------------------------------- */

.overnachten-land-all {
    padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 3rem) clamp(3rem, 7vw, 5rem);
    background-color: #faf8f5;
}

.overnachten-land-all__inner {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
}

.overnachten-land-all__head {
    margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.overnachten-land-all__heading {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1.4rem, 0.98rem + 2.8vw, 1.9rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
}

.overnachten-land-all__title-rule {
    display: block;
    height: 3px;
    max-width: 14rem;
    width: 100%;
    margin: 0;
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.overnachten-land-all__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.15rem, 3vw, 1.75rem);
}

@media (min-width: 640px) {
    .overnachten-land-all__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .overnachten-land-all__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.overnachten-land-place-card {
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

@media (hover: hover) {
    .overnachten-land-place-card:hover {
        box-shadow: 0 12px 36px rgba(0, 0, 0, 0.1);
        transform: translateY(-3px);
    }
}

.overnachten-land-place-card__media-link {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: #e8e4df;
}

.overnachten-land-place-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.overnachten-land-place-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: clamp(1rem, 2.5vw, 1.35rem);
    gap: clamp(0.45rem, 1.2vw, 0.65rem);
}

.overnachten-land-place-card__title {
    margin: 0;
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1.05rem, 0.88rem + 0.65vw, 1.35rem);
    font-weight: 700;
    line-height: 1.2;
}

.overnachten-land-place-card__title a {
    color: #1a1a1a;
    text-decoration: none;
}

.overnachten-land-place-card__title a:hover {
    color: var(--rr-bestemming-accent, #a65d28);
}

.overnachten-land-place-card__desc {
    margin: 0;
    flex: 1 1 auto;
    font-size: clamp(0.84rem, 0.76rem + 0.28vw, 0.96rem);
    line-height: 1.6;
    color: #555;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.overnachten-land-place-card__cta {
    align-self: flex-start;
    margin-top: 0.15rem;
    font-size: clamp(0.82rem, 0.72rem + 0.35vw, 0.94rem);
    font-weight: 700;
    color: var(--rr-bestemming-accent, #a65d28);
    text-decoration: none;
    border-bottom: 2px solid rgba(166, 93, 40, 0.35);
    padding-bottom: 0.1em;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.overnachten-land-place-card__cta:hover {
    color: #8b4e22;
    border-bottom-color: rgba(139, 78, 34, 0.55);
}

/* --- Prijzen + slaaptips | FAQ (onder plaats-cards) ---------------------- */

.overnachten-land-extras {
    padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 5vw, 3rem) clamp(3rem, 7vw, 5rem);
    background-color: #ffffff;
}

.overnachten-land-extras__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(2rem, 4vw, 3rem);
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    align-items: start;
}

@media (min-width: 960px) {
    .overnachten-land-extras__inner {
        grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
        gap: clamp(2rem, 4vw, 3.5rem);
    }
}

.overnachten-land-extras__col--left {
    display: flex;
    flex-direction: column;
    gap: clamp(1.75rem, 3vw, 2.5rem);
    min-width: 0;
}

.overnachten-land-extras__heading {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1.25rem, 0.95rem + 1.5vw, 1.65rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
}

.overnachten-land-extras__title-rule {
    display: block;
    height: 3px;
    max-width: 12rem;
    width: 100%;
    margin: 0 0 clamp(1rem, 2vw, 1.35rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.overnachten-land-extras__body {
    font-size: clamp(0.875rem, 0.82rem + 0.2vw, 0.96rem);
    line-height: 1.7;
    color: #555;
}

.overnachten-land-extras__body p {
    margin: 0 0 0.85em;
}

.overnachten-land-extras__body p:last-child {
    margin-bottom: 0;
}

body.overnachten-land .bestemmingen-faq.bestemmingen-faq--overnachten-sidebar {
    position: relative;
    padding: clamp(1.25rem, 3vw, 1.85rem);
    margin: 0;
    background-color: #f5f2ef;
    border-radius: 14px;
    overflow: hidden;
}

body.overnachten-land .bestemmingen-faq--overnachten-sidebar .bestemmingen-faq__heading {
    font-size: clamp(1.2rem, 0.95rem + 1.35vw, 1.55rem);
}

body.overnachten-land .bestemmingen-faq--overnachten-sidebar .bestemmingen-faq__grid {
    grid-template-columns: 1fr;
    column-gap: 0;
}

body.overnachten-land .bestemmingen-faq--overnachten-sidebar .bestemmingen-faq__item:nth-of-type(2) {
    border-top: none;
}

@media (min-width: 768px) {
    body.overnachten-land .bestemmingen-faq--overnachten-sidebar .bestemmingen-faq__item:nth-of-type(2) {
        border-top: none;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Overnachten Plaats – virtuele template
   ═══════════════════════════════════════════════════════════════════════════ */

body.overnachten-plaats {
    --rr-bestemming-accent: #a65d28;
    --rr-bestemming-accent-soft: rgba(166, 93, 40, 0.38);
    --rr-toc-hover-orange: #ea580c;
}

body.overnachten-plaats #main.site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.overnachten-plaats [data-vertical-spacing] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

@media (prefers-reduced-motion: no-preference) {
    html:has(body.overnachten-plaats) {
        scroll-behavior: smooth;
    }
}

/* --- Header over hero ---------------------------------------------------- */

body.overnachten-plaats header#header {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: transparent !important;
}

body.overnachten-plaats header#header [data-row="top"] {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

body.overnachten-plaats header#header [data-row="middle"] {
    background: transparent !important;
}

body.overnachten-plaats header#header .menu > li > a,
body.overnachten-plaats header#header .site-branding a,
body.overnachten-plaats header#header .site-title,
body.overnachten-plaats header#header [data-items] > a,
body.overnachten-plaats header#header .ct-header-socials a,
body.overnachten-plaats header#header svg,
body.overnachten-plaats header#header .ct-header-cart .ct-icon-container {
    color: #ffffff !important;
    fill: #ffffff !important;
}

body.overnachten-plaats header#header .site-branding img,
body.overnachten-plaats header#header [data-id="logo"] img {
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

body.overnachten-plaats header#header .menu > li > a:hover {
    color: rgba(255, 255, 255, 0.7) !important;
}

body.overnachten-plaats header#header .ct-header-text,
body.overnachten-plaats header#header .ct-header-text .entry-content,
body.overnachten-plaats header#header .ct-header-text p,
body.overnachten-plaats header#header .ct-header-text span,
body.overnachten-plaats header#header .ct-header-text div,
body.overnachten-plaats header#header .ct-header-text a {
    color: #ffffff !important;
}

body.overnachten-plaats header#header .ct-header-text a:hover {
    color: rgba(255, 255, 255, 0.75) !important;
}

body.overnachten-plaats header#header .verzendingmsg,
body.overnachten-plaats header#header .verzendingmsg2 {
    color: #ffffff !important;
}

body.overnachten-plaats header#header .ct-header-cart > a.ct-cart-item,
body.overnachten-plaats header#header .ct-header-cart > a.ct-cart-item .ct-label,
body.overnachten-plaats header#header .ct-header-cart > a.ct-cart-item .ct-amount,
body.overnachten-plaats header#header .ct-header-cart > a.ct-cart-item .woocommerce-Price-amount {
    color: #ffffff !important;
}

body.overnachten-plaats header#header .ct-header-cart > a.ct-cart-item:hover .ct-label,
body.overnachten-plaats header#header .ct-header-cart > a.ct-cart-item:hover .ct-amount {
    color: rgba(255, 255, 255, 0.85) !important;
}

body.overnachten-plaats header#header .sub-menu a,
body.overnachten-plaats header#header .sub-menu svg {
    color: var(--theme-text-color, #1a1a1a) !important;
    fill: var(--theme-text-color, #1a1a1a) !important;
}

body.overnachten-plaats header#header .sub-menu a:hover {
    color: var(--theme-link-hover-color, var(--theme-palette-color-1, #e4791b)) !important;
}

/* --- Hero (korter dan Overnachten Land) ---------------------------------- */

.overnachten-plaats-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    height: 45vh;
    height: 45dvh;
    min-height: 320px;
    color: #ffffff;
    text-align: left;
    overflow: hidden;
}

.overnachten-plaats-hero__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.overnachten-plaats-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0,0,0,0.32) 0%, rgba(0,0,0,0.48) 50%, rgba(0,0,0,0.72) 100%);
    pointer-events: none;
}

.overnachten-plaats-breadcrumbs-wrap {
    background-color: #f5f2ef;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.overnachten-plaats-breadcrumbs-wrap__inner {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    padding: clamp(0.65rem, 1.5vw, 0.9rem) clamp(1.25rem, 5vw, 3rem);
}

.overnachten-plaats-breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.15rem;
    list-style: none;
    margin: 0;
    padding: 0;
    font-family: 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(0.72rem, 0.62rem + 0.35vw, 0.88rem);
    font-weight: 500;
    line-height: 1.35;
}

.overnachten-plaats-breadcrumbs__item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #555;
}

.overnachten-plaats-breadcrumbs__item:not(:last-child)::after {
    content: '/';
    color: rgba(0, 0, 0, 0.28);
    font-weight: 400;
    pointer-events: none;
}

.overnachten-plaats-breadcrumbs__link {
    color: #444;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
}

@media (hover: hover) {
    .overnachten-plaats-breadcrumbs__link:hover {
        color: var(--rr-bestemming-accent, #a65d28);
        border-bottom-color: rgba(166, 93, 40, 0.35);
    }
}

.overnachten-plaats-breadcrumbs__link:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
    border-radius: 2px;
}

.overnachten-plaats-breadcrumbs__current {
    color: #1a1a1a;
    font-weight: 600;
}

.overnachten-plaats-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    padding: 0 0 clamp(1.75rem, 5vh, 3rem);
    box-sizing: border-box;
}

.overnachten-plaats-hero__text {
    flex: 1 1 auto;
    min-width: 0;
}

.overnachten-plaats-hero__title {
    margin: 0 0 0.45rem;
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(2rem, 4.5vw + 0.4rem, 3.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.03em;
    color: #ffffff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45), 0 1px 0 rgba(0, 0, 0, 0.12);
}

.overnachten-plaats-hero__subtitle {
    margin: 0;
    max-width: 100%;
    font-family: 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(0.88rem, 0.72rem + 0.55vw, 1.08rem);
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.02em;
    color: #ffffff;
    opacity: 0.92;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.38);
}

@media (min-width: 768px) {
    .overnachten-plaats-hero__subtitle {
        max-width: 55%;
    }
}

/* --- Scroll indicator ---------------------------------------------------- */

.overnachten-plaats-scroll-indicator {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(3.25rem, 5vw, 5rem);
    height: clamp(3.25rem, 5vw, 5rem);
    color: #ffffff;
    opacity: 0.65;
    text-decoration: none;
    transition: opacity 0.25s ease;
}

.overnachten-plaats-scroll-indicator:hover {
    opacity: 1;
}

.overnachten-plaats-scroll-indicator svg {
    width: 100%;
    height: 100%;
}

@media (max-width: 767px) {
    .overnachten-plaats-scroll-indicator {
        display: none;
    }
}

/* --- Below hero: grid layout (split + favorieten | hotels) --------------- */

@media (min-width: 900px) {
    .overnachten-plaats-below-hero {
        --ovp-band-pad: clamp(1.25rem, 5vw, 3rem);
        --ovp-split-gap: clamp(1.5rem, 4vw, 2.5rem);
        --ovp-inner: min(
            var(--theme-normal-container-max-width, 1290px),
            100% - 2 * var(--ovp-band-pad)
        );
        --ovp-split-w: min(
            max(0px, calc((var(--ovp-inner) - var(--ovp-split-gap)) * 1.05 / 2)),
            100%
        );
        --ovp-fav-w: min(
            max(0px, calc((var(--ovp-inner) - var(--ovp-split-gap)) * 0.95 / 2)),
            100%
        );
        display: grid;
        grid-template-columns:
            minmax(var(--ovp-band-pad), 1fr)
            minmax(0, var(--ovp-split-w))
            var(--ovp-split-gap)
            minmax(0, var(--ovp-fav-w))
            minmax(var(--ovp-band-pad), 1fr);
        column-gap: 0;
        row-gap: 0;
        align-items: start;
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        background-color: #f5f2ef;
    }

    .overnachten-plaats-below-hero__split {
        grid-column: 2;
        grid-row: 1;
    }

    .overnachten-plaats-below-hero__favorieten {
        grid-column: 4;
        grid-row: 1;
    }

    .overnachten-plaats-below-hero__hotels {
        grid-column: 1 / -1;
        grid-row: 2;
        background-color: #faf8f5;
    }

    .overnachten-plaats-below-hero__country-places {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .overnachten-plaats-split {
        padding: clamp(2rem, 5vw, 3.5rem) 0;
        background-color: transparent;
        scroll-margin-top: clamp(4rem, 11vw, 6.25rem);
    }

    .overnachten-plaats-favorieten-panel {
        padding: clamp(2rem, 5vw, 3.5rem) 0;
        background-color: transparent;
    }
}

/* --- Split inner --------------------------------------------------------- */

.overnachten-plaats-split__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 4vw, 2.5rem);
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
}

@media (max-width: 899px) {
    .overnachten-plaats-split {
        padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 3rem);
        background-color: #f5f2ef;
        scroll-margin-top: clamp(4rem, 11vw, 6.25rem);
    }

    .overnachten-plaats-favorieten-panel {
        padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 3rem);
        background-color: #f5f2ef;
    }
}

.overnachten-plaats-favorieten-panel {
    box-sizing: border-box;
    width: 100%;
}

/* --- Oranje blok (slapen / plaatsintro) ---------------------------------- */

.overnachten-plaats-slapen-box {
    padding: clamp(1.35rem, 3.5vw, 2rem);
    border-radius: 14px;
    background: linear-gradient(
        145deg,
        #c2561a 0%,
        var(--rr-bestemming-accent, #a65d28) 45%,
        #d97706 100%
    );
    color: #ffffff;
    box-shadow: 0 12px 40px rgba(166, 93, 40, 0.28);
}

.overnachten-plaats-slapen-box__title {
    margin: 0 0 clamp(0.65rem, 1.5vw, 1rem);
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1.4rem, 0.98rem + 2.8vw, 1.9rem);
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.25);
}

.overnachten-plaats-slapen-box__body {
    font-size: clamp(0.88rem, 0.78rem + 0.35vw, 1.02rem);
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.94);
}

.overnachten-plaats-slapen-box__body p {
    margin: 0 0 0.75em;
}

.overnachten-plaats-slapen-box__body p:last-child {
    margin-bottom: 0;
}

/* --- Favorieten panel (rechterkolom) ------------------------------------- */

.overnachten-plaats-favorieten__heading {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1.4rem, 0.98rem + 2.8vw, 1.9rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
}

.overnachten-plaats-favorieten__title-rule {
    display: block;
    height: 3px;
    max-width: 14rem;
    width: 100%;
    margin: 0 0 clamp(0.85rem, 2vw, 1.15rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.overnachten-plaats-favorieten__body {
    font-size: clamp(0.875rem, 0.82rem + 0.2vw, 0.96rem);
    line-height: 1.7;
    color: #555;
}

.overnachten-plaats-favorieten__body p {
    margin: 0 0 0.85em;
}

.overnachten-plaats-favorieten__body p:last-child {
    margin-bottom: 0;
}

.overnachten-plaats-favorieten__context-links {
    margin-top: clamp(0.85rem, 2vw, 1.25rem);
    padding-top: clamp(0.75rem, 1.5vw, 1rem);
    border-top: 1px solid rgba(26, 26, 26, 0.1);
}

.overnachten-plaats-favorieten__context-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.overnachten-plaats-favorieten__context-list li {
    margin: 0;
    padding: 0;
}

.overnachten-plaats-favorieten__context-list a {
    display: inline-block;
    padding: 0.35em 0.8em;
    font-size: clamp(0.78rem, 0.72rem + 0.3vw, 0.88rem);
    font-weight: 600;
    line-height: 1.4;
    color: var(--rr-bestemming-accent, #a65d28);
    background: rgba(166, 93, 40, 0.08);
    border: 1px solid rgba(166, 93, 40, 0.28);
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.overnachten-plaats-favorieten__context-list a:hover,
.overnachten-plaats-favorieten__context-list a:focus {
    background: rgba(166, 93, 40, 0.16);
    border-color: rgba(166, 93, 40, 0.45);
    color: #7a4518;
    text-decoration: none;
}

/* --- Hotel cards --------------------------------------------------------- */

.overnachten-plaats-hotels {
    padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 3rem) clamp(3rem, 7vw, 5rem);
    background-color: #faf8f5;
}

.overnachten-plaats-hotels--empty-admin .overnachten-plaats-hotels__admin-hint {
    margin: 0;
    padding: 1rem 1.15rem;
    font-size: 0.9rem;
    line-height: 1.5;
    color: #5c4a3a;
    background: rgba(166, 93, 40, 0.12);
    border: 1px solid rgba(166, 93, 40, 0.35);
    border-radius: 10px;
}

.overnachten-plaats-hotels__inner {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
}

.overnachten-plaats-hotels__head {
    margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.overnachten-plaats-hotels__heading {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1.05rem, 0.78rem + 2.4vw, 1.9rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
}

.overnachten-plaats-hotels__title-rule {
    display: block;
    height: 3px;
    max-width: 14rem;
    width: 100%;
    margin: 0;
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.overnachten-plaats-hotels__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.5rem, 2.2vw, 1.75rem);
}

@media (min-width: 1024px) {
    .overnachten-plaats-hotels__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(1.15rem, 3vw, 1.75rem);
    }
}

/* --- Hotel card ---------------------------------------------------------- */

.overnachten-plaats-hotel-card {
    display: flex;
    flex-direction: column;
    border-radius: clamp(10px, 2vw, 14px);
    overflow: hidden;
    background-color: #ffffff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    /* Prijsklasse-accenten (per modifier overschreven) */
    --rr-ov-hotel-accent: #2563eb;
    --rr-ov-hotel-accent-hover: #1d4ed8;
    --rr-ov-hotel-accent-soft: rgba(37, 99, 235, 0.38);
    --rr-ov-hotel-accent-soft-hover: rgba(29, 78, 216, 0.55);
    --rr-ov-hotel-label-bg: #1e40af;
}

.overnachten-plaats-hotel-card--price-budget {
    --rr-ov-hotel-accent: #0f766e;
    --rr-ov-hotel-accent-hover: #0d9488;
    --rr-ov-hotel-accent-soft: rgba(15, 118, 110, 0.4);
    --rr-ov-hotel-accent-soft-hover: rgba(13, 148, 136, 0.58);
    --rr-ov-hotel-label-bg: #0d9488;
}

.overnachten-plaats-hotel-card--price-middenklasse {
    --rr-ov-hotel-accent: #2563eb;
    --rr-ov-hotel-accent-hover: #1d4ed8;
    --rr-ov-hotel-accent-soft: rgba(37, 99, 235, 0.38);
    --rr-ov-hotel-accent-soft-hover: rgba(29, 78, 216, 0.55);
    --rr-ov-hotel-label-bg: #1d4ed8;
}

.overnachten-plaats-hotel-card--price-luxe-comfort {
    --rr-ov-hotel-accent: #b91c1c;
    --rr-ov-hotel-accent-hover: #991b1b;
    --rr-ov-hotel-accent-soft: rgba(185, 28, 28, 0.42);
    --rr-ov-hotel-accent-soft-hover: rgba(153, 27, 27, 0.58);
    --rr-ov-hotel-label-bg: #c53030;
}

@media (hover: hover) {
    .overnachten-plaats-hotel-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14);
    }
}

.overnachten-plaats-hotel-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
}

.overnachten-plaats-hotel-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.overnachten-plaats-hotel-card__price-label {
    position: absolute;
    bottom: clamp(0.35rem, 2vw, 0.65rem);
    left: clamp(0.35rem, 2vw, 0.65rem);
    padding: 0.25em 0.5em;
    font-family: 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(0.58rem, 0.48rem + 1.65vw, 0.82rem);
    font-weight: 600;
    line-height: 1.25;
    color: #ffffff;
    background-color: var(--rr-ov-hotel-label-bg, rgba(0, 0, 0, 0.62));
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    pointer-events: none;
}

@media (min-width: 1024px) {
    .overnachten-plaats-hotel-card__price-label {
        bottom: 0.65rem;
        left: 0.65rem;
        padding: 0.3em 0.7em;
        border-radius: 6px;
    }
}

.overnachten-plaats-hotel-card__body {
    display: flex;
    flex-direction: column;
    gap: clamp(0.2rem, 1.2vw, 0.35rem);
    padding: clamp(0.45rem, 2.2vw + 0.2rem, 1.25rem);
    flex: 1 1 auto;
}

.overnachten-plaats-hotel-card__title {
    margin: 0;
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(0.75rem, 0.5rem + 2.4vw, 1.25rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
}

.overnachten-plaats-hotel-card__desc {
    margin: 0;
    flex: 1 1 auto;
    font-size: clamp(0.65rem, 0.52rem + 1.35vw, 0.96rem);
    line-height: 1.45;
    color: #555;
}

.overnachten-plaats-hotel-card__desc-link {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
}

@media (hover: hover) {
    .overnachten-plaats-hotel-card__desc-link:hover {
        color: var(--rr-bestemming-accent, #a65d28);
        border-bottom-color: rgba(166, 93, 40, 0.35);
    }
}

.overnachten-plaats-hotel-card__desc-link:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
    border-radius: 2px;
}

@media (min-width: 1024px) {
    .overnachten-plaats-hotel-card__desc {
        line-height: 1.6;
    }

    .overnachten-plaats-hotel-card__desc-link {
        line-height: 1.6;
        -webkit-line-clamp: 4;
    }
}

.overnachten-plaats-hotel-card__media-link {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 0;
    color: inherit;
    text-decoration: none;
}

.overnachten-plaats-hotel-card__media-link:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
}

.overnachten-plaats-hotel-card__title a {
    color: #1a1a1a;
    text-decoration: none;
    border-bottom: none;
    padding-bottom: 0;
    transition: color 0.2s ease;
}

.overnachten-plaats-hotel-card__title a:hover {
    color: var(--rr-bestemming-accent, #a65d28);
}

.overnachten-plaats-hotel-card__cta {
    align-self: flex-start;
    margin-top: clamp(0.15rem, 1.5vw, 0.35rem);
    display: inline-block;
    font-size: clamp(0.65rem, 0.52rem + 1.35vw, 0.94rem);
    font-weight: 700;
    line-height: 1.35;
    color: #ffffff;
    background-color: var(--rr-bestemming-accent, #a65d28);
    text-decoration: none;
    border: none;
    border-radius: 6px;
    padding: 0.55em 1.15em;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.overnachten-plaats-hotel-card__cta:hover {
    color: #ffffff;
    background-color: #8b4e22;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);
}

.overnachten-plaats-hotel-card__cta:focus-visible {
    outline: 2px solid #1a1a1a;
    outline-offset: 2px;
}

/* --- FAQ in Ontdek-kolom (Overnachten Plaats) ----------------------------- */

.overnachten-plaats-country-places__faq {
    margin: 0;
    padding: clamp(1.15rem, 2.5vw, 1.5rem);
    background-color: #ffffff;
    border-radius: clamp(8px, 1.5vw, 12px);
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

.overnachten-plaats-country-places__faq-title {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1rem, 0.82rem + 1.1vw, 1.35rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
}

.overnachten-plaats-country-places__faq-rule {
    display: block;
    height: 3px;
    max-width: 10rem;
    width: 100%;
    margin-bottom: clamp(0.75rem, 2vw, 1rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.overnachten-plaats-country-places__faq-grid {
    display: grid;
    gap: 0;
}

/* --- Land: hotels per plaats (onder hotelkaarten) ------------------------ */

.overnachten-plaats-country-places {
    padding: clamp(1.75rem, 4.5vw, 3rem) clamp(1.25rem, 5vw, 3rem) clamp(2.5rem, 6vw, 4rem);
    background-color: #f5f2ef;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.overnachten-plaats-country-places__inner {
    box-sizing: border-box;
    width: min(100%, var(--theme-container-width-base, calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px) * 2)));
    max-width: var(--theme-normal-container-max-width, 1290px);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
}

.overnachten-plaats-country-places__main-head {
    margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

.overnachten-plaats-country-places__heading {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1.05rem, 0.78rem + 2.4vw, 1.9rem);
    font-weight: 700;
    line-height: 1.25;
}

.overnachten-plaats-country-places__heading-link {
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.2s ease;
}

@media (hover: hover) {
    .overnachten-plaats-country-places__heading-link:hover {
        color: var(--rr-bestemming-accent, #a65d28);
    }
}

.overnachten-plaats-country-places__heading-link:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 3px;
    border-radius: 2px;
}

.overnachten-plaats-country-places__title-rule {
    display: block;
    height: 3px;
    max-width: 14rem;
    width: 100%;
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.overnachten-plaats-country-places__layout {
    display: grid;
    gap: clamp(1.25rem, 3vw, 2rem);
    align-items: start;
}

@media (min-width: 900px) {
    .overnachten-plaats-country-places__layout--with-discover {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .overnachten-plaats-country-places__layout--with-discover .overnachten-plaats-country-places__discover {
        grid-column: 1;
    }

    .overnachten-plaats-country-places__layout--with-discover .overnachten-plaats-country-places__main {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

.overnachten-plaats-country-places__main {
    min-width: 0;
}

.overnachten-plaats-country-places__bottom {
    display: grid;
    gap: clamp(1.25rem, 3vw, 2rem);
    margin-top: clamp(1.75rem, 3.5vw, 2.75rem);
    padding-top: clamp(1.5rem, 3vw, 2.25rem);
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.overnachten-plaats-country-places__bottom-left {
    display: flex;
    flex-direction: column;
    gap: clamp(1.25rem, 3vw, 2rem);
}

@media (min-width: 900px) {
    .overnachten-plaats-country-places__bottom {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: start;
    }

    .overnachten-plaats-country-places__bottom--no-faq {
        grid-template-columns: minmax(0, 1fr);
    }
}

.overnachten-plaats-country-places__snel-naar-wrap .bestemmingen-intro__toc-card {
    margin: 0;
    height: 100%;
    box-sizing: border-box;
    padding: clamp(1.15rem, 2.5vw, 1.5rem);
    background-color: #ffffff;
    border-radius: clamp(8px, 1.5vw, 12px);
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
}

.overnachten-plaats-country-places__snel-naar-wrap .bestemmingen-intro__toc-intro {
    margin-bottom: 0.35rem;
}

@media (hover: hover) {
    .overnachten-plaats-country-places__snel-naar-wrap .bestemmingen-intro__toc-link:hover {
        color: var(--rr-bestemming-accent, #a65d28);
    }

    .overnachten-plaats-country-places__snel-naar-wrap .bestemmingen-intro__toc-link:hover .bestemmingen-intro__toc-item-icon {
        color: var(--rr-bestemming-accent, #a65d28);
    }

    .overnachten-plaats-country-places__snel-naar-wrap .bestemmingen-intro__toc-link:hover .bestemmingen-intro__toc-item-badge {
        color: var(--rr-bestemming-accent, #a65d28);
    }

    .overnachten-plaats-country-places__snel-naar-wrap .bestemmingen-intro__toc-link:hover .bestemmingen-intro__toc-item-badge--attention {
        color: #ffffff;
    }

    .overnachten-plaats-country-places__snel-naar-wrap .bestemmingen-intro__toc-link:hover:has(.bestemmingen-intro__toc-item-badge--attention) .bestemmingen-intro__toc-link-text::before {
        background: var(--rr-bestemming-accent, #a65d28);
    }
}

.overnachten-plaats-country-places__snel-naar-wrap .bestemmingen-intro__toc-link:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
}

.overnachten-plaats-country-places__snel-naar-wrap .bestemmingen-intro__toc-link:focus-visible .bestemmingen-intro__toc-item-icon {
    color: var(--rr-bestemming-accent, #a65d28);
}

.overnachten-plaats-country-places__snel-naar-wrap .bestemmingen-intro__toc-link:focus-visible .bestemmingen-intro__toc-item-badge {
    color: var(--rr-bestemming-accent, #a65d28);
}

.overnachten-plaats-country-places__snel-naar-wrap .bestemmingen-intro__toc-link:focus-visible .bestemmingen-intro__toc-item-badge--attention {
    color: #ffffff;
}

.overnachten-plaats-country-places__accommodaties {
    margin: 0;
    padding: clamp(1.15rem, 2.5vw, 1.5rem);
    background-color: #ffffff;
    border-radius: clamp(8px, 1.5vw, 12px);
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

.overnachten-plaats-country-places__accommodaties-title {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1rem, 0.82rem + 1.1vw, 1.35rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
}

.overnachten-plaats-country-places__accommodaties-rule {
    display: block;
    height: 3px;
    max-width: 10rem;
    width: 100%;
    margin-bottom: clamp(0.75rem, 2vw, 1rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        var(--rr-bestemming-accent, #a65d28) 0%,
        var(--rr-bestemming-accent-soft, rgba(166, 93, 40, 0.38)) 100%
    );
}

.overnachten-plaats-country-places__accommodaties-body {
    font-size: clamp(0.84rem, 0.76rem + 0.25vw, 0.95rem);
    line-height: 1.65;
    color: #555;
}

.overnachten-plaats-country-places__accommodaties-body p {
    margin: 0 0 0.75em;
}

.overnachten-plaats-country-places__accommodaties-body p:last-child {
    margin-bottom: 0;
}

.overnachten-plaats-country-places__discover {
    margin: 0;
    padding: clamp(1.35rem, 3.5vw, 2rem);
    border-radius: 14px;
    background: linear-gradient(
        145deg,
        #c2561a 0%,
        var(--rr-bestemming-accent, #a65d28) 45%,
        #d97706 100%
    );
    color: #ffffff;
    box-shadow: 0 12px 40px rgba(166, 93, 40, 0.28);
    box-sizing: border-box;
}

.overnachten-plaats-country-places__discover-title {
    margin: 0 0 clamp(0.35rem, 1vw, 0.5rem);
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(1rem, 0.82rem + 1.1vw, 1.35rem);
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.25);
}

.overnachten-plaats-country-places__discover-rule {
    display: block;
    height: 3px;
    max-width: 10rem;
    width: 100%;
    margin-bottom: clamp(0.75rem, 2vw, 1rem);
    border-radius: 2px;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.55) 0%,
        rgba(255, 255, 255, 0.12) 100%
    );
}

.overnachten-plaats-country-places__discover-body {
    display: flex;
    flex-direction: column;
    gap: clamp(0.65rem, 1.5vw, 1rem);
}

.overnachten-plaats-country-places__discover-lead {
    font-size: clamp(0.88rem, 0.78rem + 0.35vw, 1.02rem);
    font-weight: 700;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.96);
}

.overnachten-plaats-country-places__discover-lead p {
    margin: 0 0 0.75em;
}

.overnachten-plaats-country-places__discover-lead p:last-child {
    margin-bottom: 0;
}

.overnachten-plaats-country-places__discover-more {
    font-size: clamp(0.84rem, 0.74rem + 0.3vw, 0.98rem);
    font-weight: 400;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.9);
}

.overnachten-plaats-country-places__discover-more p {
    margin: 0 0 0.75em;
}

.overnachten-plaats-country-places__discover-more p:last-child {
    margin-bottom: 0;
}

.overnachten-plaats-country-places__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: clamp(1rem, 2.5vw, 1.5rem);
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 640px) {
    .overnachten-plaats-country-places__main .overnachten-plaats-country-places__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.overnachten-plaats-country-places__item {
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: #ffffff;
    border-radius: clamp(8px, 1.5vw, 12px);
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    min-height: 0;
}

.overnachten-plaats-country-places__item--current {
    box-shadow: 0 0 0 2px rgba(166, 93, 40, 0.35), 0 2px 12px rgba(0, 0, 0, 0.08);
}

.overnachten-plaats-country-places__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    padding: clamp(0.85rem, 2vw, 1.15rem);
    box-sizing: border-box;
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

@media (hover: hover) {
    .overnachten-plaats-country-places__card:hover {
        background-color: #fffdfb;
    }

    .overnachten-plaats-country-places__card:hover .overnachten-plaats-country-places__place-title {
        color: var(--rr-bestemming-accent, #a65d28);
    }
}

.overnachten-plaats-country-places__card:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
    border-radius: clamp(6px, 1.2vw, 10px);
}

.overnachten-plaats-country-places__place-title {
    margin: 0 0 0.35rem;
    font-family: 'Oswald', 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(0.92rem, 0.72rem + 1.1vw, 1.15rem);
    font-weight: 700;
    line-height: 1.3;
    color: inherit;
    transition: color 0.2s ease;
}

.overnachten-plaats-country-places__place-desc {
    margin: 0;
    flex: 1 1 auto;
    font-size: clamp(0.78rem, 0.68rem + 0.35vw, 0.9rem);
    line-height: 1.55;
    color: #555;
}

/* ─── Category sidebar widgets ─────────────────────────────────────────── */

.reisreport-sidebar-widget + .reisreport-sidebar-widget {
    margin-top: 1.5rem;
}

/*
 * Extra ruimte auteur → Lees ook eens: margin-top op de binnenste box collapset
 * met margin-bottom van de auteur-widget; daarom padding-top op de ct-widget.
 */
.reisreport-sidebar-post-author.ct-widget + .reisreport-sidebar-related-articles.ct-widget {
    padding-top: 2.75rem;
}

/* ─── Sidebar: relevante artikelen (zelfde categorieën) ───────────────── */

.reisreport-related-articles-box {
    position: relative;
    background: #f9f9f9;
    border-radius: 0.65rem 1.05rem 0.82rem 0.92rem / 0.92rem 0.7rem 1.1rem 0.76rem;
    padding: 2.2rem 1rem 1.15rem;
    margin-top: 0;
}

.reisreport-sidebar-related-articles__title {
    position: absolute;
    top: -0.95rem;
    left: 0.75rem;
    margin: 0;
    padding: 0.42rem 1.05rem 0.48rem;
    background: #e8aa74;
    color: #ffffff;
    font-size: clamp(0.96rem, 0.88rem + 0.32vw, 1.1rem);
    font-weight: 700;
    line-height: 1.2;
    border-radius: 0.55rem 1.35rem 0.42rem 1.05rem / 1.05rem 0.48rem 0.95rem 0.52rem;
    white-space: nowrap;
}

.reisreport-related-articles__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.reisreport-related-articles__item {
    margin: 0;
}

/* Rij: organische thumbnail links, titel rechts */
.reisreport-related-articles__link {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.85rem;
    text-decoration: none;
    color: inherit;
}

.reisreport-related-articles__thumb-wrap {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    overflow: hidden;
    line-height: 0;
}

/* Organische vormen per item */
.reisreport-related-articles__item--shape-1 .reisreport-related-articles__thumb-wrap {
    border-radius: 40% 60% 54% 46% / 48% 52% 42% 58%;
}

.reisreport-related-articles__item--shape-2 .reisreport-related-articles__thumb-wrap {
    border-radius: 60% 40% 46% 54% / 42% 58% 54% 46%;
}

.reisreport-related-articles__item--shape-3 .reisreport-related-articles__thumb-wrap {
    border-radius: 46% 54% 62% 38% / 56% 44% 48% 52%;
}

.reisreport-related-articles__thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.reisreport-related-articles__thumb-fallback {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 72px;
    background: linear-gradient(145deg, #e8e4df 0%, #d9d3cc 100%);
}

.reisreport-related-articles__post-title {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    font-size: clamp(0.94rem, 0.86rem + 0.32vw, 1.06rem);
    font-weight: 600;
    line-height: 1.35;
    color: #1a1a1a;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    transition: text-decoration 0.15s ease;
}

@media (hover: hover) {
    .reisreport-related-articles__link:hover .reisreport-related-articles__post-title {
        text-decoration: underline;
        text-underline-offset: 0.15em;
    }
}

.reisreport-related-articles__link:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ─── Sidebar: nieuwsbrief aanmeldformulier ───────────────────────────── */

.reisreport-sidebar-newsletter {
    padding-top: 0;
}

/* Desktop: sidebar-Supertip zichtbaar; mobiele kopie verborgen */
.reisreport-sidebar-newsletter--after-comments {
    display: none;
}

@media (max-width: 999.98px) {
    /* Sidebar-versie verbergen op mobiel/tablet */
    .ct-sidebar .reisreport-sidebar-newsletter.ct-widget {
        display: none !important;
    }

    /* Mobiele Supertip (in content-kolom via blocksy:single:bottom) */
    .reisreport-sidebar-newsletter--after-comments {
        display: block;
        position: relative;
        width: 100%;
        max-width: 100%;
        margin: 1.5rem 0 2rem;
        padding: 0;
        box-sizing: border-box;
    }
}

.reisreport-newsletter-box {
    position: relative;
    background: #f9f9f9;
    border-radius: 0.65rem 1.05rem 0.82rem 0.92rem / 0.92rem 0.7rem 1.1rem 0.76rem;
    padding: 2.2rem 1.35rem 1.35rem 1.35rem;
    margin-top: 0;
    transition: background 0.6s ease;
}

.reisreport-sidebar-newsletter__title {
    position: absolute;
    top: -0.95rem;
    left: 0.75rem;
    margin: 0;
    padding: 0.42rem 1.05rem 0.48rem;
    background: #e8aa74;
    color: #ffffff;
    font-size: clamp(0.96rem, 0.88rem + 0.32vw, 1.1rem);
    font-weight: 700;
    line-height: 1.2;
    border-radius: 1.15rem 0.52rem 0.95rem 0.45rem / 0.5rem 1.05rem 0.42rem 0.92rem;
    white-space: nowrap;
    transition: background 0.5s ease, color 0.5s ease;
}

.reisreport-newsletter-box__desc {
    margin: 0 0 1rem;
    font-size: 1.02rem;
    line-height: 1.55;
    color: #444;
    transition: color 0.5s ease;
}

.reisreport-newsletter-box__form {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.reisreport-newsletter-box__input {
    width: 100%;
    padding: 0.65rem 0.85rem;
    border: 1px solid #ddd;
    border-radius: 0.45rem;
    font-size: 0.9rem;
    font-family: inherit;
    background: #ffffff;
    transition: border-color 0.2s ease;
}

.reisreport-newsletter-box__input:focus {
    outline: none;
    border-color: var(--rr-bestemming-accent, #a65d28);
    box-shadow: 0 0 0 2px rgba(160, 92, 33, 0.12);
}

.reisreport-newsletter-box__checkbox {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.reisreport-newsletter-box__check {
    flex-shrink: 0;
    margin-top: 0.2rem;
    accent-color: var(--rr-bestemming-accent, #a65d28);
}

.reisreport-newsletter-box__check-label {
    font-size: 0.92rem;
    line-height: 1.45;
    color: #555;
    transition: color 0.5s ease;
}

.reisreport-newsletter-box__submit {
    width: 100%;
    padding: 0.7rem 1.2rem;
    border: none;
    border-radius: 0.45rem;
    background: var(--rr-bestemming-accent, #a65d28);
    color: #fff;
    font-size: 0.92rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.4s ease, transform 0.15s ease;
}

.reisreport-newsletter-box__submit:hover {
    background: #8a4d20;
    transform: translateY(-1px);
}

.reisreport-newsletter-box__submit:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}

.reisreport-newsletter-box .bestemmingen-intro__overlay-status {
    font-size: 0.84rem;
    line-height: 1.4;
    color: #b71c1c;
    padding: 0.35rem 0;
}

.reisreport-newsletter-box__success {
    text-align: center;
    padding: 1.5rem 1rem;
}

.reisreport-newsletter-box__success-icon {
    display: block;
    margin: 0 auto 0.65rem;
    color: #2e7d32;
}

.reisreport-newsletter-box__success-text {
    font-size: 0.92rem;
    line-height: 1.5;
    color: #333;
    margin: 0;
}

.reisreport-newsletter-box__form.is-submitting .reisreport-newsletter-box__input {
    opacity: 0.55;
}

.reisreport-newsletter-box__turnstile {
    margin: 0.25rem 0;
}


/* ── Geactiveerde staat: zodra box het midden van het scherm bereikt ── */
.reisreport-newsletter-box.is-activated {
    background: #e8aa74;
}

.reisreport-newsletter-box.is-activated .reisreport-newsletter-box__desc,
.reisreport-newsletter-box.is-activated .reisreport-newsletter-box__check-label {
    color: #ffffff;
}

.reisreport-newsletter-box.is-activated .reisreport-sidebar-newsletter__title {
    background: #f9f9f9;
    color: #1a1a1a;
}

.reisreport-newsletter-box.is-activated .reisreport-newsletter-box__submit {
    background: #ff6b00;
    animation: rr-newsletter-btn-pulse 0.45s ease 0.5s 2;
}

@keyframes rr-newsletter-btn-pulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.06); }
    100% { transform: scale(1); }
}

.reisreport-newsletter-box.is-activated .reisreport-newsletter-box__submit:hover {
    background: #e05e00;
}

.reisreport-newsletter-box__input,
.reisreport-newsletter-box.is-activated .reisreport-newsletter-box__input {
    background: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.4);
}

.reisreport-newsletter-box.is-activated .bestemmingen-intro__overlay-status {
    color: #fff3e0;
}

/* Popular posts */
.reisreport-sw-popular-posts__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.reisreport-sw-popular-posts__link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    color: inherit;
    transition: color 0.2s ease;
}

.reisreport-sw-popular-posts__link:hover .reisreport-sw-popular-posts__title {
    color: var(--theme-palette-color-1, #a65d28);
}

.reisreport-sw-popular-posts__thumb {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border-radius: 6px;
    overflow: hidden;
}

.reisreport-sw-popular-posts__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.reisreport-sw-popular-posts__title {
    flex: 1 1 auto;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
    transition: color 0.2s ease;
}

/* Newsletter signup */
.reisreport-sw-newsletter__desc {
    margin: 0 0 0.75rem;
    font-size: 0.9rem;
    line-height: 1.5;
    color: #555;
}

.reisreport-sw-newsletter__form {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.reisreport-sw-newsletter__input {
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 0.2s ease;
}

.reisreport-sw-newsletter__input:focus {
    outline: none;
    border-color: var(--theme-palette-color-1, #a65d28);
}

.reisreport-sw-newsletter__btn {
    padding: 0.6rem 1rem;
    border: none;
    border-radius: 6px;
    background-color: var(--theme-palette-color-1, #a65d28);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.reisreport-sw-newsletter__btn:hover {
    background-color: var(--theme-palette-color-2, #8a4d20);
}

/* Custom HTML */
.reisreport-sw-custom-html {
    font-size: 0.9rem;
    line-height: 1.6;
}

.reisreport-sw-custom-html p:last-child {
    margin-bottom: 0;
}

/* ─── Connect author card (sidebar + auteursarchief) ───────────────────── */

.reisreport-author-card__inner {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1rem;
}

.reisreport-author-card__media {
    flex: 0 0 auto;
    line-height: 0;
}

.reisreport-author-card__media img,
.reisreport-author-card__media .avatar {
    display: block;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
}

.reisreport-author-card__img {
    border-radius: 50%;
    object-fit: cover;
}

.reisreport-author-card__body {
    flex: 1 1 auto;
    min-width: 0;
}

.reisreport-author-card__name {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    line-height: 1.3;
}

.reisreport-author-card__bio {
    font-size: 0.9rem;
    line-height: 1.55;
    color: #555;
}

.reisreport-author-card__bio p {
    margin: 0 0 0.5rem;
}

.reisreport-author-card__bio p:last-child {
    margin-bottom: 0;
}

.reisreport-author-card__social {
    list-style: none;
    margin: 0.75rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
}

.reisreport-author-card__social-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--theme-palette-color-1, #a65d28);
    text-decoration: none;
    transition: color 0.2s ease;
}

.reisreport-author-card__icon-svg {
    flex-shrink: 0;
    opacity: 0.92;
}

@media (hover: hover) {
    .reisreport-author-card__social-link:hover {
        color: var(--theme-palette-color-2, #8a4d20);
        text-decoration: underline;
    }
}

.reisreport-author-card__more {
    margin: 0.65rem 0 0;
    font-size: 0.88rem;
}

.reisreport-author-card__archive-link:not(.reisreport-author-card__archive-btn) {
    font-weight: 600;
    color: var(--theme-palette-color-1, #a65d28);
    text-decoration: none;
    transition: color 0.2s ease;
}

@media (hover: hover) {
    .reisreport-author-card__archive-link:not(.reisreport-author-card__archive-btn):hover {
        color: var(--theme-palette-color-2, #8a4d20);
        text-decoration: underline;
    }
}

.reisreport-author-card .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

/* Sidebar: zelfde crèmegrijs als Bestemmingen-intro (#f5f2ef), donkergrijze tekst; foto steekt halverwege boven het paneel uit */
.reisreport-sidebar-post-author.ct-widget {
    border: none !important;
    box-shadow: none;
    background: transparent;
    padding: 0;
    margin-bottom: 5rem;
}

.reisreport-author-card--sidebar {
    --author-photo-size: clamp(90px, 28vw, 110px);
    position: relative;
    padding: 0;
    background: transparent;
    overflow: visible;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

/* Grijze achtergrond-box (zelfde stijl als Onderwerpen / Lees ook eens) */
.reisreport-author-card--sidebar::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: calc(var(--author-photo-size) / 2);
    bottom: 0;
    background: #f9f9f9;
    border-radius: 0.65rem 1.05rem 0.82rem 0.92rem / 0.92rem 0.7rem 1.1rem 0.76rem;
    box-shadow: none;
    z-index: 0;
}

.reisreport-author-card--sidebar .reisreport-author-card__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 0.45rem;
    padding: calc(var(--author-photo-size) / 2 + 1.8rem) 1.5rem 1.5rem 1.65rem;
}

/* "Over de auteur" als bruin badge linksboven (zelfde stijl als Onderwerpen / Lees ook eens) */
.reisreport-author-card--sidebar .reisreport-author-card__over-title {
    position: absolute;
    top: calc(var(--author-photo-size) / 2 - 0.95rem);
    left: 0.75rem;
    margin: 0;
    padding: 0.42rem 1.05rem 0.48rem;
    background: #e8aa74;
    color: #ffffff;
    font-size: clamp(0.96rem, 0.88rem + 0.32vw, 1.1rem);
    font-weight: 700;
    line-height: 1.2;
    border-radius: 1.1rem 0.42rem 1.15rem 0.5rem / 0.52rem 1.12rem 0.45rem 0.88rem;
    white-space: nowrap;
    width: auto;
    text-align: left;
    z-index: 2;
}

/* Foto rechtsboven, half over de grijze box */
.reisreport-author-card--sidebar .reisreport-author-card__media {
    position: absolute;
    top: 0;
    right: 1rem;
    z-index: 2;
    flex-shrink: 0;
    line-height: 0;
}

.reisreport-author-card--sidebar .reisreport-author-card__media img,
.reisreport-author-card--sidebar .reisreport-author-card__media .avatar {
    display: block;
    width: var(--author-photo-size);
    height: var(--author-photo-size);
    object-fit: cover;
    border-radius: 36% 64% 58% 42% / 44% 56% 46% 54%;
    box-shadow: none;
}

.reisreport-author-card--sidebar .reisreport-author-card__body {
    width: 100%;
    max-width: 100%;
    color: #333;
}

.reisreport-author-card--sidebar .reisreport-author-card__name {
    margin: 0.15rem 0 0;
    font-size: clamp(1.12rem, 3.2vw, 1.32rem);
    font-weight: 700;
    color: #1a1a1a;
}

.reisreport-author-card--sidebar .reisreport-author-card__bio {
    margin-top: 0.95rem;
    font-size: 0.88rem;
    line-height: 1.55;
    color: #444;
    text-align: left;
}

.reisreport-author-card--sidebar .reisreport-author-card__bio > p:first-child {
    margin-top: 0;
}

.reisreport-author-card--sidebar .reisreport-author-card__bio > p:last-child {
    margin-bottom: 0;
}

.reisreport-author-card--sidebar .reisreport-author-card__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 0.85rem;
    margin-top: 0.85rem;
    width: 100%;
}

.reisreport-author-card--sidebar .reisreport-author-card__footer .reisreport-author-card__more {
    margin-top: 0;
    margin-bottom: 0;
    width: auto;
    flex: 0 1 auto;
}

.reisreport-author-card--sidebar .reisreport-author-card__footer .reisreport-author-card__social {
    margin: 0;
    margin-left: auto;
    justify-content: flex-end;
    gap: 0.75rem;
}

.reisreport-author-card--sidebar .reisreport-author-card__social-link {
    width: 2.65rem;
    height: 2.65rem;
    justify-content: center;
    padding: 0;
    gap: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.06);
    color: #555;
    box-shadow: none;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.reisreport-author-card--sidebar .reisreport-author-card__social-link:hover {
    text-decoration: none;
    background: rgba(0, 0, 0, 0.1);
    color: var(--rr-bestemming-accent, #a05c21);
    transform: translateY(-1px);
    box-shadow: none;
}

.reisreport-author-card--sidebar .reisreport-author-card__social-link:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
}

.reisreport-author-card--sidebar .reisreport-author-card__more {
    display: flex;
    justify-content: flex-start;
}

.reisreport-author-card--sidebar .reisreport-author-card__archive-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.58rem 1.35rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: #a05c21;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 999px;
    box-shadow: none;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

@media (hover: hover) {
    .reisreport-author-card--sidebar .reisreport-author-card__archive-btn:hover {
        color: var(--rr-bestemming-accent, #a65d28);
        text-decoration: none;
        background: #ffffff;
        border-color: rgba(166, 93, 40, 0.35);
        box-shadow: none;
        transform: translateY(-1px);
    }
}

.reisreport-author-card--sidebar .reisreport-author-card__archive-btn:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 3px;
}

/* ── Auteursarchief: Blocksy hero verbergen ─────────────────────── */
.author .hero-section[data-type="type-2"] {
    display: none !important;
}

.author section > .hero-section[data-type="type-1"] {
    display: none !important;
}

/* Header over de custom hero: absoluut positioneren (net als Blocksy transparent state) */
.author header#header {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
}

/* Top-bar: donker semi-transparant (net als single post) */
.author header#header [data-row="top"] {
    background-color: rgba(0, 0, 0, 0.6) !important;
    border: none !important;
    box-shadow: none !important;
}

/* Hoofdmenu-balk: transparant, geen streep */
.author header#header [data-row="middle"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Eventuele bottom-row ook schoon */
.author header#header [data-row="bottom"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Alle rows: geen border-bottom lijn */
.author header#header [data-row]::after,
.author header#header [data-row]::before {
    display: none !important;
}

/* Witte menu-items */
.author header#header .menu > li > a,
.author header#header .site-branding a,
.author header#header .site-title,
.author header#header [data-items] > a,
.author header#header .ct-header-socials a,
.author header#header svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

.author header#header .menu > li > a:hover {
    color: rgba(255, 255, 255, 0.7) !important;
}

.author header#header .verzendingmsg,
.author header#header .verzendingmsg2 {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* ── Auteursarchief: eigen hero met random postfoto ─────────────── */
.reisreport-author-hero {
    position: relative;
    width: 100%;
    min-height: 420px;
    padding-top: var(--header-height, 100px);
    background-color: #2a2a2a;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: flex-end;
    overflow: visible;
    margin-bottom: 0;
}

.reisreport-author-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.72) 0%,
        rgba(0, 0, 0, 0.38) 50%,
        rgba(0, 0, 0, 0.18) 100%
    );
    z-index: 1;
}

/* Witte golf onderaan hero (zelfde stijl als single post cover) */
.reisreport-author-hero::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 120px;
    z-index: 3;
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: bottom center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0,112 C380,80 760,118 1120,88 C1240,78 1340,96 1440,98 L1440,120 L0,120 Z'/%3E%3C/svg%3E");
}

.reisreport-author-hero__inner {
    position: relative;
    z-index: 4;
    width: 100%;
    padding-top: 2.5rem;
    padding-bottom: calc(120px + 1rem);
    padding-left: clamp(1.25rem, 4vw, 2.5rem);
    padding-right: clamp(1.25rem, 4vw, 2.5rem);
}

/* "OVER AUTEUR" label */
.reisreport-author-hero__label {
    display: block;
    margin-bottom: 0.75rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
}

/* Auteurskaart (archive) op de hero */
.reisreport-author-hero .reisreport-author-card--archive {
    color: #fff;
}

.reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__inner {
    padding: 0;
    border-bottom: none;
    margin-bottom: 0;
    gap: 1.25rem;
}

.reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__media img,
.reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__media .avatar {
    width: 100px;
    height: 100px;
    border: none;
    border-radius: 36% 64% 58% 42% / 44% 56% 46% 54%;
    object-fit: cover;
}

.reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__name {
    font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem);
    color: #fff;
}

.reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__bio {
    font-size: 0.95rem;
    max-width: 52rem;
    color: rgba(255, 255, 255, 0.88);
}

.reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__bio p {
    color: inherit;
}

.reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__social-link {
    color: rgba(255, 255, 255, 0.8);
}

.reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__social-link:hover {
    color: #fff;
}

.reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__social-label {
    color: inherit;
}

@media (max-width: 689.98px) {
    .reisreport-author-hero {
        min-height: 360px;
    }

    .reisreport-author-hero::after {
        height: 80px;
    }

    .reisreport-author-hero__inner {
        padding-bottom: calc(80px + 0.75rem);
    }

    /* Foto + naam naast elkaar, bio eronder */
    .reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__inner {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 0.5rem 1rem;
    }

    .reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__media {
        grid-row: 1;
        grid-column: 1;
        align-self: center;
    }

    .reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__body {
        display: contents;
    }

    .reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__name {
        grid-row: 1;
        grid-column: 2;
        align-self: center;
    }

    .reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__bio {
        grid-row: 2;
        grid-column: 1 / -1;
    }

    .reisreport-author-hero .reisreport-author-card--archive .reisreport-author-card__social {
        grid-row: 3;
        grid-column: 1 / -1;
    }
}

/* ── Auteursarchief: post-cards overlay ─────────────────────────── */
/* Verberg alles behalve titel op author cards */
.author .entries article.entry-card .entry-meta,
.author .entries article.entry-card .entry-excerpt,
.author .entries article.entry-card .entry-button,
.author .entries article.entry-card .entry-button-container {
    display: none !important;
}

/* Grid: minder ruimte tussen cards; kolommen: mobiel 2, tablet 3, desktop 4 */
.author .entries[data-layout] {
    --grid-columns-gap: 6px !important;
}

.author .entries[data-layout="grid"],
.author .entries[data-layout="enhanced-grid"] {
    --grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (min-width: 690px) {
    .author .entries[data-layout="grid"],
    .author .entries[data-layout="enhanced-grid"] {
        --grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1000px) {
    .author .entries[data-layout="grid"],
    .author .entries[data-layout="enhanced-grid"] {
        --grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* enhanced-grid: standaard span-regels van Blocksy uitschakelen op auteur */
.author .entries[data-layout="enhanced-grid"] > * {
    grid-column: auto / span 1 !important;
}

/*
 * Card zelf IS de afbeelding. Geen frame, geen achtergrond eromheen.
 * Werkt voor zowel boxed (title/excerpt direct in article)
 * als simple (title/excerpt in child .card-content div).
 */
.author .entries article.entry-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    aspect-ratio: 5 / 6;
    background: #1a1a1a !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Reset Blocksy spacing op card-content kinderen */
.author .entries article.entry-card > * {
    margin-block: 0 !important;
}

/* Featured image vult de volledige card */
.author .entries article.entry-card .ct-media-container {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.author .entries article.entry-card .ct-media-container,
.author .entries article.entry-card .ct-media-container a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.author .entries article.entry-card .ct-media-container img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border-radius: 0 !important;
    transition: transform 0.35s ease;
}

/* Gradient overlay via pseudo-element */
.author .entries article.entry-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.78) 0%,
        rgba(0, 0, 0, 0.35) 45%,
        transparent 100%
    );
    pointer-events: none;
}

/* ─ Boxed / grid layout: alleen titel als direct kind ─ */
.author .entries article.entry-card > .entry-title {
    position: relative;
    z-index: 3;
    margin: 0;
    padding: 0 1.35rem 1.35rem;
    font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.55rem);
    font-weight: 700;
    line-height: 1.35;
}

.author .entries article.entry-card > .entry-title a {
    color: #fff !important;
    text-decoration: none;
}

/* ─ Simple layout: child .card-content div wraps tekst ─ */
.author .entries article.entry-card > .card-content {
    position: absolute !important;
    inset: 0 !important;
    z-index: 3;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    gap: 0;
    padding: 1.35rem !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.author .entries article.entry-card > .card-content .entry-title {
    margin: 0;
    padding: 0;
    font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.55rem);
    font-weight: 700;
    line-height: 1.35;
}

.author .entries article.entry-card > .card-content .entry-title a {
    color: #fff !important;
    text-decoration: none;
}

/* Hover */
@media (hover: hover) {
    .author .entries article.entry-card {
        transition: transform 0.25s ease, box-shadow 0.25s ease;
    }

    .author .entries article.entry-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18) !important;
    }

    .author .entries article.entry-card:hover .ct-media-container img {
        transform: scale(1.04);
    }
}

/* Mobiel: vierkante cards, kleinere titels */
@media (max-width: 689.98px) {
    .author .entries article.entry-card {
        aspect-ratio: 1 / 1;
    }

    .author .entries article.entry-card > .entry-title,
    .author .entries article.entry-card > .card-content .entry-title {
        font-size: 0.85rem;
        line-height: 1.3;
        padding: 0 0.75rem 0.75rem;
    }

    .author .entries article.entry-card > .card-content {
        padding: 0.75rem !important;
    }
}

/* Single blogpost: primaire categorie in hero + broodkruimels onder hero */
/* Fallback wanneer Blocksy geen hero rendert (type/customizer) */
.reisreport-single-fallback-hero {
    padding: 1rem 0 0;
}

.reisreport-single-fallback-hero .reisreport-hero-primary-category {
    margin: 0 0 0.35rem;
    padding: 0;
    font-family: 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(0.78rem, 0.68rem + 0.35vw, 0.92rem);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.3;
    color: #333;
}

.reisreport-single-fallback-hero .reisreport-hero-primary-category__link {
    color: var(--rr-bestemming-accent, #a65d28);
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, currentColor 38%, transparent);
    transition:
        color 0.2s ease,
        border-color 0.2s ease;
}

@media (hover: hover) {
    .reisreport-single-fallback-hero .reisreport-hero-primary-category__link:hover {
        border-bottom-color: color-mix(in srgb, currentColor 62%, transparent);
    }
}

.reisreport-single-fallback-hero .reisreport-hero-primary-category__link:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
    border-radius: 2px;
}

.hero-section .reisreport-hero-primary-category {
    margin: 0 0 0.4rem;
    padding: 0;
    font-family: 'Syne', var(--theme-font-family, system-ui, sans-serif);
    font-size: clamp(0.78rem, 0.68rem + 0.35vw, 0.92rem);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.3;
}

.hero-section .reisreport-hero-primary-category__link {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, currentColor 38%, transparent);
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        opacity 0.2s ease;
}

@media (hover: hover) {
    .hero-section .reisreport-hero-primary-category__link:hover {
        opacity: 0.92;
        border-bottom-color: color-mix(in srgb, currentColor 62%, transparent);
    }
}

.hero-section .reisreport-hero-primary-category__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
    border-radius: 2px;
}

.reisreport-single-breadcrumbs-wrap {
    background-color: #ffffff;
    margin-top: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Desktop: ruimte tussen breadcrumbs en artikeltekst */
@media (min-width: 1000px) {
    .single-post .reisreport-single-breadcrumbs-wrap {
        margin-bottom: 2.25rem;
    }
}

.reisreport-single-breadcrumbs-wrap .ct-container {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

.reisreport-single-breadcrumbs__list {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem 0.15rem;
    list-style: none;
    margin: 0;
    padding: 0 0 clamp(0.45rem, 1vw, 0.65rem);
    border-bottom: 1px solid #e0e0e0;
    font-size: 0.85em;
    line-height: 1.35;
    max-width: 100%;
    overflow: hidden;
}

.reisreport-single-breadcrumbs__item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #555;
    flex-shrink: 0;
    white-space: nowrap;
}

.reisreport-single-breadcrumbs__item:last-child {
    flex-shrink: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.reisreport-single-breadcrumbs__item:not(:last-child)::after {
    content: '/';
    color: rgba(0, 0, 0, 0.28);
    font-weight: 400;
    pointer-events: none;
}

.reisreport-single-breadcrumbs__link {
    color: #444;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition:
        color 0.2s ease,
        border-color 0.2s ease;
}

@media (hover: hover) {
    .reisreport-single-breadcrumbs__link:hover {
        color: var(--rr-bestemming-accent, #a65d28);
        border-bottom-color: rgba(166, 93, 40, 0.35);
    }
}

.reisreport-single-breadcrumbs__link:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
    border-radius: 2px;
}

.reisreport-single-breadcrumbs__current {
    color: #1a1a1a;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

/* ── Sidebar: inhoudsopgave (TOC) ─────────────────────────────────── */

.reisreport-sidebar-toc {
    margin-bottom: 1.5rem;
}

.reisreport-toc-box {
    position: relative;
    background: #f9f9f9;
    border-radius: 0.65rem 1.05rem 0.82rem 0.92rem / 0.92rem 0.7rem 1.1rem 0.76rem;
    padding: 2.2rem 1.35rem 1.25rem 1.65rem;
    margin-top: 1.1rem;
}

/* Donkerbruin label dat half boven de grijze box uitsteekt */
.reisreport-toc__title {
    position: absolute;
    top: -0.95rem;
    left: 0.75rem;
    margin: 0;
    padding: 0.42rem 1.05rem 0.48rem;
    background: #e8aa74;
    color: #ffffff;
    font-size: clamp(0.96rem, 0.88rem + 0.32vw, 1.1rem);
    font-weight: 700;
    line-height: 1.2;
    border-radius: 0.4rem 1.08rem 1.2rem 0.48rem / 0.95rem 0.55rem 0.5rem 1.18rem;
    white-space: nowrap;
}

.reisreport-toc__list {
    list-style-type: disc !important;
    margin: 0;
    padding: 0 0 0 1.25rem;
}

.reisreport-toc__sublist {
    list-style-type: circle !important;
    margin: 0;
    padding: 0.15rem 0 0 1.25rem;
}

.reisreport-toc__item {
    margin: 0;
    padding: 0.3rem 0;
    display: list-item;
}

.reisreport-toc__item--h2 {
    color: #444;
}

.reisreport-toc__item--h2::marker {
    color: #999;
    font-size: 0.75em;
}

.reisreport-toc__item--h3 {
    color: #666;
    margin-inline-start: 0.85rem;
}

.reisreport-toc__item--h3::marker {
    color: #bbb;
    font-size: 0.65em;
}

.reisreport-toc__link {
    display: inline;
    font-size: clamp(0.96rem, 0.88rem + 0.32vw, 1.08rem);
    line-height: 1.4;
    color: #333;
    text-decoration: none;
    transition: text-decoration 0.15s ease;
}

.reisreport-toc__item--h3 > .reisreport-toc__link {
    font-size: clamp(0.88rem, 0.82rem + 0.25vw, 0.98rem);
    color: #555;
}

.reisreport-toc__link:hover {
    color: #333 !important;
    text-decoration: underline !important;
    text-underline-offset: 0.15em;
}

.reisreport-toc__item--h3 > .reisreport-toc__link:hover {
    color: #555 !important;
}

.reisreport-toc__link:focus-visible {
    color: #333 !important;
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 2px;
    border-radius: 2px;
}

.reisreport-toc__item--h3 > .reisreport-toc__link:focus-visible {
    color: #555 !important;
}

/* ── Mobiel/tablet: inhoudsopgave accordion onder breadcrumbs ───── */

.reisreport-mobile-toc {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.reisreport-mobile-toc__details {
    margin: 0;
    border-radius: 0.55rem;
    background: #f9f9f9;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.reisreport-mobile-toc__summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    margin: 0;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a1a;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.reisreport-mobile-toc__summary::-webkit-details-marker {
    display: none;
}

.reisreport-mobile-toc__summary-text {
    flex: 1;
    min-width: 0;
}

.reisreport-mobile-toc__chevron {
    flex-shrink: 0;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 7px solid #555;
    margin-top: 2px;
    transition: transform 0.2s ease;
}

.reisreport-mobile-toc__details[open] .reisreport-mobile-toc__chevron {
    transform: rotate(180deg);
}

.reisreport-mobile-toc__nav {
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.reisreport-mobile-toc__inner {
    padding: 0.5rem 1rem 1rem 1.15rem;
}

.reisreport-mobile-toc__inner .reisreport-toc__list {
    margin: 0;
}

@media (min-width: 1000px) {
    .reisreport-mobile-toc {
        display: none !important;
    }
}

@media (max-width: 999.98px) {
    .ct-sidebar .reisreport-sidebar-toc.ct-widget {
        display: none !important;
    }

    /* Breadcrumbs → accordion: korte afstand; zonder accordion: meer ruimte tot content */
    .single-post .reisreport-single-breadcrumbs-wrap:has(+ .reisreport-mobile-toc) {
        margin-bottom: 0.65rem;
    }

    .single-post .reisreport-single-breadcrumbs-wrap:not(:has(+ .reisreport-mobile-toc)) {
        margin-bottom: 1.5rem;
    }

    /* Onder de inhoudsopgave: lucht voor de blogcontent */
    .single-post .reisreport-mobile-toc {
        margin: 0 0 1.5rem;
    }

    /* Sidebar-auteur verbergen: zelfde blok staat onder de tekst als accordion */
    .ct-sidebar .reisreport-sidebar-post-author.ct-widget {
        display: none !important;
    }

    .single-post .reisreport-mobile-author {
        margin: 1.5rem 0 2.75rem;
    }
}

/* ── Mobiel/tablet: “Over de auteur” accordion onder blogtekst ─── */

.reisreport-mobile-author {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.reisreport-mobile-author__details {
    margin: 0;
    border-radius: 0.55rem;
    background: #f9f9f9;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.reisreport-mobile-author__summary {
    list-style: none;
    margin: 0;
    padding: 0.85rem 1rem 0.95rem;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.reisreport-mobile-author__summary::-webkit-details-marker {
    display: none;
}

.reisreport-mobile-author__summary-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
}

.reisreport-mobile-author__summary-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}

.reisreport-mobile-author__title {
    margin: 0;
    padding: 0.42rem 1.05rem 0.48rem;
    background: #e8aa74;
    color: #ffffff;
    font-size: clamp(0.96rem, 0.88rem + 0.32vw, 1.1rem);
    font-weight: 700;
    line-height: 1.2;
    border-radius: 1.1rem 0.42rem 1.15rem 0.5rem / 0.52rem 1.12rem 0.45rem 0.88rem;
    width: fit-content;
    max-width: 100%;
}

.reisreport-mobile-author__name-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
}

.reisreport-mobile-author__thumb {
    flex-shrink: 0;
    line-height: 0;
    align-self: flex-start;
}

.reisreport-mobile-author__thumb-img,
.reisreport-mobile-author__thumb .avatar {
    display: block;
    width: clamp(64px, 18vw, 80px);
    height: clamp(64px, 18vw, 80px);
    object-fit: cover;
    border-radius: 36% 64% 58% 42% / 44% 56% 46% 54%;
}

.reisreport-mobile-author__name {
    font-size: clamp(1.05rem, 3vw, 1.22rem);
    font-weight: 700;
    color: #1a1a1a;
}

.reisreport-mobile-author__chevron {
    flex-shrink: 0;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #555;
    margin-top: 3px;
    transition: transform 0.2s ease;
}

.reisreport-mobile-author__details[open] .reisreport-mobile-author__chevron {
    transform: rotate(180deg);
}

.reisreport-mobile-author__panel {
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.reisreport-mobile-author__panel-inner {
    padding: 0 0 0.35rem;
}

/* In het paneel: geen dubbele kop, foto of naam; wel bio, knop en socials */
.reisreport-mobile-author__panel-inner .reisreport-author-card--sidebar::before {
    top: 0;
}

.reisreport-mobile-author__panel-inner .reisreport-author-card--sidebar .reisreport-author-card__media,
.reisreport-mobile-author__panel-inner .reisreport-author-card--sidebar .reisreport-author-card__over-title,
.reisreport-mobile-author__panel-inner .reisreport-author-card--sidebar .reisreport-author-card__name {
    display: none !important;
}

.reisreport-mobile-author__panel-inner .reisreport-author-card--sidebar .reisreport-author-card__inner {
    padding: 1.1rem 1.1rem 1.25rem;
}

.reisreport-mobile-author__panel-inner .reisreport-author-card--sidebar .reisreport-author-card__bio {
    margin-top: 0;
}

@media (min-width: 1000px) {
    .reisreport-mobile-author {
        display: none !important;
    }
}

/* ── Sidebar base-country (land-reizen box) ─────────────────────── */

.reisreport-sidebar-base-country {
    margin-bottom: 1.5rem;
}

.reisreport-base-country-box {
    position: relative;
    background: #e8aa74;
    border-radius: 0.65rem 1.05rem 0.82rem 0.92rem / 0.92rem 0.7rem 1.1rem 0.76rem;
    padding: 2.2rem 1.35rem 1.25rem 1.65rem;
    margin-top: 1.1rem;
}

.reisreport-base-country__title {
    position: absolute;
    top: -0.95rem;
    left: 0.75rem;
    margin: 0;
    padding: 0.42rem 1.05rem 0.48rem;
    background: #f9f9f9;
    color: #444;
    font-size: clamp(0.96rem, 0.88rem + 0.32vw, 1.1rem);
    font-weight: 700;
    line-height: 1.2;
    border-radius: 0.4rem 1.08rem 1.2rem 0.48rem / 0.95rem 0.55rem 0.5rem 1.18rem;
    white-space: nowrap;
}

.reisreport-base-country__list {
    list-style-type: disc !important;
    margin: 0;
    padding: 0 0 0 1.25rem;
}

.reisreport-base-country__item {
    margin: 0;
    padding: 0.3rem 0;
    display: list-item;
    color: rgba(255, 255, 255, 0.7);
}

.reisreport-base-country__item::marker {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.75em;
}

.reisreport-base-country__link {
    display: inline;
    font-size: clamp(0.96rem, 0.88rem + 0.32vw, 1.08rem);
    line-height: 1.4;
    color: #fff;
    text-decoration: none;
    transition: text-decoration 0.15s ease;
}

.reisreport-base-country__link:hover {
    color: #fff !important;
    text-decoration: underline !important;
    text-underline-offset: 0.15em;
}

.reisreport-base-country__link:focus-visible {
    color: #fff !important;
    outline: 2px solid rgba(255, 255, 255, 0.8);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ── Sidebar product-fan (waaier) ────────────────────────────────── */

.reisreport-sidebar-product-fan {
    margin-top: 0;
    margin-bottom: 3rem;
    padding-top: 0;
    padding-bottom: 0.6rem;
    position: relative;
    z-index: 20;
    transition: padding-bottom 0.3s ease;
}

/*
 * Ruimte onder de waaier voor TOC / “Lees ook eens”.
 */
.ct-sidebar .reisreport-sidebar-product-fan.ct-widget {
    margin-top: 0 !important;
    margin-bottom: 3rem !important;
    padding-top: 0 !important;
    padding-bottom: 0.6rem !important;
}

/* Meer lucht onder “Lees ook eens” vóór volgende widget (nieuwsbrief / TOC) */
.ct-sidebar .reisreport-sidebar-related-articles.ct-widget {
    margin-bottom: 6rem;
}

/* Sticky-groep op grote desktop: minder tussenruimte zodat het blok compact blijft */
@media (min-width: 1921px) {
    .reisreport-sidebar-sticky-group .reisreport-sidebar-related-articles.ct-widget {
        margin-bottom: 2rem;
    }
}

/* Lees ook eens direct vóór nieuwsbrief: geen extra margin-top op nieuwsbrief (ruimte komt van related hierboven) */
.ct-sidebar .reisreport-sidebar-related-articles.ct-widget + .reisreport-sidebar-newsletter.ct-widget {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.ct-sidebar .reisreport-sidebar-related-articles.ct-widget + .reisreport-sidebar-newsletter .reisreport-newsletter-box {
    margin-top: 0 !important;
}

.reisreport-sidebar-product-fan .rr-product-fan {
    padding-bottom: 0 !important;
}

.reisreport-sidebar-product-fan .rr-product-fan__caption {
    margin-bottom: 0 !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
}

.rr-product-fan__title {
    text-align: center;
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 0.35rem;
    line-height: 1.35;
}

.rr-product-fan {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 210px;
    padding: 24px 12px 0;
    transition: transform 0.35s ease, min-height 0.3s ease;
}

/*
 * Elke kaart bewaart z'n eigen rotatie + verschuiving in custom properties.
 * Hover verandert alleen --fan-scale: de kaart groeit op z'n plek.
 */
.rr-product-fan__card {
    --fan-rotate: 0deg;
    --fan-tx: 0px;
    --fan-scale: 1;
    position: absolute;
    display: block;
    width: 140px;
    overflow: hidden;
    background: #fff;
    box-shadow:
        0 6px 20px rgba(0, 0, 0, 0.22),
        0 2px 6px rgba(0, 0, 0, 0.12);
    transform: rotate(var(--fan-rotate)) translateX(var(--fan-tx)) scale(var(--fan-scale));
    transition:
        transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
        box-shadow 0.3s ease;
    transform-origin: center bottom;
    cursor: pointer;
}

.rr-product-fan__card img {
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
}

/* ── 1 product: sidebar rechtop, popup licht gedraaid ── */
.rr-product-fan[data-count="1"] .rr-product-fan__card--0 {
    position: relative;
    --fan-rotate: 0deg;
    z-index: 1;
}

.rr-sticky-fan__cards.rr-product-fan[data-count="1"] .rr-product-fan__card--0 {
    --fan-rotate: -3deg;
}

/* ── 2 producten ── */
.rr-product-fan[data-count="2"] .rr-product-fan__card--0 {
    --fan-rotate: -8deg;
    --fan-tx: -18px;
    z-index: 2;
}

.rr-product-fan[data-count="2"] .rr-product-fan__card--1 {
    --fan-rotate: 3deg;
    --fan-tx: 18px;
    z-index: 1;
}

/* ── 3 producten ── */
.rr-product-fan[data-count="3"] .rr-product-fan__card--0 {
    --fan-rotate: -10deg;
    --fan-tx: -38px;
    z-index: 3;
}

.rr-product-fan[data-count="3"] .rr-product-fan__card--1 {
    --fan-rotate: -2deg;
    --fan-tx: 0px;
    z-index: 2;
}

.rr-product-fan[data-count="3"] .rr-product-fan__card--2 {
    --fan-rotate: 7deg;
    --fan-tx: 38px;
    z-index: 1;
}

/* ── Tablet: alleen eerste product, gecentreerd en licht schuin ── */
@media (max-width: 999.98px) {
    .rr-product-fan__card--1,
    .rr-product-fan__card--2 {
        display: none !important;
    }

    .rr-product-fan__card--0 {
        position: relative !important;
        --fan-rotate: -3deg !important;
        --fan-tx: 0px !important;
        --fan-scale: 1 !important;
    }

    .rr-product-fan {
        min-height: auto;
        justify-content: center;
    }
}

/* ── Hover: kaart groeit op z'n plek, komt naar voren ── */
@media (hover: hover) {
    .rr-product-fan__card:hover {
        --fan-scale: 1.18;
        z-index: 10 !important;
        box-shadow:
            0 10px 30px rgba(0, 0, 0, 0.25),
            0 3px 8px rgba(0, 0, 0, 0.12);
    }
}

.rr-product-fan__card:focus-visible {
    --fan-scale: 1.18;
    z-index: 10 !important;
    outline: 3px solid var(--rr-bestemming-accent, #e67e22);
    outline-offset: 3px;
}

/*
 * Post-contentgrid ALTIJD boven de hero (ook bij ct-container / ct-container-narrow,
 * niet alleen ct-container-full — anders gold eerdere z-index:1 niet).
 */
.single-post .hero-section {
    position: relative;
    z-index: 0;
}

.single-post .site-main [data-sidebar] {
    position: relative;
    z-index: 5;
    isolation: isolate;
}

.single-post [data-sidebar] > aside {
    position: relative;
    z-index: 1;
}

/* ── Single post: sidebar sticky bij scrollen ──
 * Blocksy: widgets staan soms direct in aside, soms in .ct-sidebar — selector dekt beide.
 * Sidebar-kolom moet even hoog zijn als de contentkolom (grid stretch), anders verdwijnt
 * de hele aside te vroeg en werkt position:sticky niet.
 *
 * 1000–1920 px  → alleen de nieuwsbrief plakt (huidige gedrag).
 * ≥ 1921 px     → "Lees ook eens" + nieuwsbrief plakken samen als groep.
 */
@media (min-width: 1000px) {
    .single-post .site-main [data-sidebar] {
        align-items: stretch;
    }

    .single-post [data-sidebar] > aside {
        align-self: stretch;
        min-height: 100%;
    }

    .single-post [data-sidebar] > aside .ct-sidebar {
        min-height: 100%;
    }

    .single-post [data-sidebar] aside .reisreport-sidebar-newsletter.ct-widget {
        position: sticky;
        top: calc(
            var(--sidebar-offset, 50px) + var(--admin-bar, 0px) + var(--theme-frame-size, 0px) +
                var(--header-sticky-height, 0px) * (var(--sticky-shrink, 100) / 100)
        );
        align-self: flex-start;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        z-index: 6;
    }
}

/* Wrapper is standaard onzichtbaar voor layout zodat nieuwsbrief-sticky ongehinderd werkt */
.reisreport-sidebar-sticky-group {
    display: contents;
}

/* Grote desktop: "Lees ook eens" + nieuwsbrief plakken samen */
@media (min-width: 1921px) {
    .single-post [data-sidebar] aside .reisreport-sidebar-sticky-group {
        display: block;
        position: sticky;
        top: calc(
            var(--sidebar-offset, 50px) + var(--admin-bar, 0px) + var(--theme-frame-size, 0px) +
                var(--header-sticky-height, 0px) * (var(--sticky-shrink, 100) / 100)
        );
        align-self: flex-start;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        z-index: 6;
    }

    .single-post [data-sidebar] aside .reisreport-sidebar-newsletter.ct-widget {
        position: static;
        align-self: auto;
    }
}

/* ── Caption onder de waaier ── */
.rr-product-fan__caption {
    text-align: center;
    margin-top: 2.2rem;
    margin-bottom: 0;
    min-height: 0;
    transition: transform 0.3s ease, margin-top 0.3s ease, min-height 0.3s ease;
}


/* Groene titel + oranje organisch streepje eronder */
.rr-product-fan__caption-default {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    line-height: 1.2;
}

.rr-product-fan__caption-default__text {
    display: block;
    color: #2e7d32;
    font-weight: 700;
    font-size: 1.02rem;
    letter-spacing: 0.015em;
}

.rr-product-fan__caption-default::after {
    content: '';
    display: block;
    width: calc(100% + 0.5rem);
    max-width: 11rem;
    height: 0.55rem;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 18' fill='none'%3E%3Cpath d='M4 13.5 C 20 6.5 38 15.5 56 9 C 72 3.5 90 12.5 106 5.5' stroke='%23FF6B00' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
}

.rr-product-fan__caption-hover {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
}

.rr-product-fan__caption.is-hover .rr-product-fan__caption-default {
    display: none;
}

.rr-product-fan__caption.is-hover .rr-product-fan__caption-hover {
    display: flex;
}

.rr-product-fan__caption-name {
    color: #1a1a1a;
    font-size: 0.9rem;
    line-height: 1.3;
}

.rr-product-fan__caption-shipping {
    color: #2e7d32;
    font-weight: 700;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
}

/* CTA onder caption (sidebar-waaier) + sticky label */
.rr-product-fan__all-tips-wrap {
    margin: 1rem 0 0;
    padding: 0;
    text-align: center;
}

.rr-product-fan__all-tips {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    max-width: 100%;
    padding: 0.52rem 1.2rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.25;
    white-space: nowrap;
    color: #ffffff !important;
    text-decoration: none !important;
    background: var(--theme-palette-color-1, #e87925);
    border-radius: 0.42rem;
    border: none;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

@media (hover: hover) {
    .rr-product-fan__all-tips:hover {
        background: #cf6b1f !important;
        color: #ffffff !important;
        transform: translateY(-1px);
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
    }
}

.rr-product-fan__all-tips:focus-visible {
    outline: 2px solid var(--rr-bestemming-accent, #a65d28);
    outline-offset: 3px;
}

/* ── Related posts extra (Meer artikelen) ────────────────────────── */

.reisreport-related-extra {
    padding: 2rem 0 1.5rem;
}

.reisreport-related-extra__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 0.75rem;
}

.reisreport-related-extra__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.25rem 2.5rem;
}

@media (min-width: 768px) {
    .reisreport-related-extra__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.reisreport-related-extra__list {
    list-style: disc;
    margin: 0;
    padding: 0 0 0 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.reisreport-related-extra__item {
    margin: 0;
    padding: 0.2rem 0;
    display: list-item;
    color: rgba(255, 255, 255, 0.4);
}

.reisreport-related-extra__item::marker {
    font-size: 0.75em;
}

.reisreport-related-extra__link {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.92rem;
    line-height: 1.4;
    transition: color 0.15s ease;
}

.reisreport-related-extra__link:hover {
    color: #fff !important;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

/* ── Sticky bottom productwaaier ────────────────────────────────── */

/* --- Sticky product fan --- */
.rr-sticky-fan {
    position: fixed;
    bottom: env(safe-area-inset-bottom, 0px);
    right: 14vw;
    z-index: 9000;
    pointer-events: none;
    transform: translateY(100%);
    transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@media (min-width: 1000px) {
    .rr-sticky-fan {
        right: auto;
    }
}

.rr-sticky-fan[hidden] {
    display: none;
}

.rr-sticky-fan.is-visible {
    transform: translateY(12.5%);
    pointer-events: auto;
}

.rr-sticky-fan__inner {
    position: relative;
}

.rr-sticky-fan__label {
    position: absolute;
    right: 100%;
    bottom: 35%;
    margin-right: 140px;
    background: #fff;
    padding: 0.45rem 1.85rem 0.55rem 0.85rem;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    animation: rr-label-nudge 5s ease-out infinite;
    z-index: 20;
    pointer-events: auto;
    white-space: normal;
    max-width: min(360px, calc(100vw - 2.5rem));
}

.rr-sticky-fan__label-close {
    position: absolute;
    top: 2px;
    right: 3px;
    width: 1.65rem;
    height: 1.65rem;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: #555;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rr-sticky-fan__label-close:hover {
    background: rgba(0, 0, 0, 0.06);
    color: #111;
}

.rr-sticky-fan__label-close:focus-visible {
    outline: 2px solid var(--theme-palette-color-1, #e87925);
    outline-offset: 1px;
}

.rr-sticky-fan__label::after {
    content: "➤";
    position: absolute;
    right: -2rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.8rem;
    color: var(--theme-palette-color-1, #e87925);
    line-height: 1;
}

.rr-sticky-fan__label-title {
    font-size: 0.95rem;
    font-weight: 800;
    color: #1a1a1a;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 220px;
    align-self: flex-start;
}

.rr-sticky-fan__label-title--single {
    display: none;
}

.rr-sticky-fan__label-title--hover {
    display: none;
}

.rr-sticky-fan.is-card-hover .rr-sticky-fan__label-title--default {
    display: none;
}

.rr-sticky-fan.is-card-hover .rr-sticky-fan__label-title--hover {
    display: -webkit-box;
}

.rr-sticky-fan__label-shipping {
    font-size: 0.72rem;
    font-weight: 700;
    color: #2e7d32;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.rr-sticky-fan__all-tips {
    margin-top: 0.35rem;
    align-self: stretch;
    width: 100%;
    padding: 0.42rem 0.75rem;
    font-size: 0.72rem;
}

@keyframes rr-label-nudge {
    0%   { transform: translateX(0); }
    5%   { transform: translateX(12px); }
    12%  { transform: translateX(0); }
    100% { transform: translateX(0); }
}

.rr-sticky-fan__cards.rr-product-fan {
    min-height: 180px;
    padding: 16px 8px 0;
}

.rr-sticky-fan__cards .rr-product-fan__card {
    width: 120px;
}

@media (hover: hover) {
    .rr-sticky-fan__cards .rr-product-fan__card:hover {
        --fan-scale: 1.22;
        z-index: 10 !important;
    }
}

/* Desktop: één product — producttitel (max. 2 regels), witte box dichter bij de waaier */
@media (min-width: 1000px) {
    .rr-sticky-fan[data-count="1"] .rr-sticky-fan__label {
        margin-right: 50px;
        white-space: normal;
        min-width: 220px;
        max-width: 320px;
    }

    .rr-sticky-fan[data-count="1"] .rr-sticky-fan__label-title--multi {
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        max-width: none;
        line-height: 1.22;
    }

    .rr-sticky-fan[data-count="1"].is-card-hover .rr-sticky-fan__label-title--hover {
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        max-width: none;
        line-height: 1.22;
    }
}

/* Mobile: 1 product, toon productnaam */
@media (max-width: 767.98px) {
    .rr-sticky-fan {
        right: 0.5rem;
    }

    .rr-sticky-fan.is-visible {
        transform: translateY(calc(-0.65rem - env(safe-area-inset-bottom, 0px)));
    }

    .rr-sticky-fan__label-title--multi {
        display: none !important;
    }

    .rr-sticky-fan__label-title--single {
        display: -webkit-box !important;
    }

    .rr-sticky-fan__label {
        padding: 0.35rem 1.55rem 0.4rem 0.55rem;
        gap: 0.1rem;
        bottom: 15%;
        margin-right: 50px;
        white-space: normal;
        min-width: 220px;
        max-width: min(360px, calc(100vw - 1.25rem));
    }

    .rr-sticky-fan__label-close {
        width: 1.45rem;
        height: 1.45rem;
        font-size: 1.2rem;
        top: 1px;
        right: 2px;
    }

    .rr-sticky-fan[data-count="1"] .rr-sticky-fan__label {
        margin-right: 34px;
    }

    .rr-sticky-fan__label::after {
        font-size: 1.1rem;
        right: -1.4rem;
    }

    .rr-sticky-fan__label-title {
        font-size: 0.8rem;
        max-width: 300px;
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .rr-sticky-fan__label-shipping {
        font-size: 0.62rem;
    }

    .rr-sticky-fan__cards.rr-product-fan {
        min-height: 120px;
        padding: 8px 4px 0;
    }

    .rr-sticky-fan__cards .rr-product-fan__card {
        width: 80px;
    }

    .rr-sticky-fan__cards .rr-product-fan__card--1,
    .rr-sticky-fan__cards .rr-product-fan__card--2 {
        display: none !important;
    }

    .rr-sticky-fan__cards .rr-product-fan__card--0 {
        position: relative !important;
        --fan-rotate: -3deg !important;
        --fan-tx: 0px !important;
        --fan-scale: 1 !important;
    }

    .rr-sticky-fan__cards .rr-product-fan {
        min-height: auto;
    }
}

/* Tablet: 1 product, toon productnaam */
@media (min-width: 768px) and (max-width: 999.98px) {
    .rr-sticky-fan {
        right: 4rem;
    }

    .rr-sticky-fan__label-title--multi {
        display: none !important;
    }

    .rr-sticky-fan__label-title--single {
        display: -webkit-box !important;
    }

    .rr-sticky-fan__label {
        padding: 0.4rem 1.65rem 0.45rem 0.6rem;
        bottom: 15%;
        margin-right: 55px;
        white-space: normal;
        min-width: 220px;
        max-width: min(360px, calc(100vw - 1.25rem));
    }

    .rr-sticky-fan__label-close {
        width: 1.5rem;
        height: 1.5rem;
        font-size: 1.25rem;
    }

    .rr-sticky-fan[data-count="1"] .rr-sticky-fan__label {
        margin-right: 38px;
    }

    .rr-sticky-fan__label-title {
        max-width: 340px;
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .rr-sticky-fan__cards .rr-product-fan__card {
        width: 100px;
    }

    .rr-sticky-fan__cards .rr-product-fan__card--1,
    .rr-sticky-fan__cards .rr-product-fan__card--2 {
        display: none !important;
    }

    .rr-sticky-fan__cards .rr-product-fan__card--0 {
        position: relative !important;
        --fan-rotate: -3deg !important;
        --fan-tx: 0px !important;
        --fan-scale: 1 !important;
    }

    .rr-sticky-fan__cards.rr-product-fan {
        min-height: 140px;
    }
}

/* =========================================================================
   Rondreis land-pagina: hero afbeelding (zelfde stijl als auteur hero)
   ========================================================================= */

/* Header over de hero: absoluut positioneren (net als auteur-hero) */
.rondreis-land--hero header#header {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
}

.rondreis-land--hero header#header [data-row="top"] {
    background-color: rgba(0, 0, 0, 0.6) !important;
    border: none !important;
    box-shadow: none !important;
}

.rondreis-land--hero header#header [data-row="middle"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.rondreis-land--hero header#header [data-row="bottom"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.rondreis-land--hero header#header [data-row]::after,
.rondreis-land--hero header#header [data-row]::before {
    display: none !important;
}

.rondreis-land--hero header#header .menu > li > a,
.rondreis-land--hero header#header .site-branding a,
.rondreis-land--hero header#header .site-title,
.rondreis-land--hero header#header [data-items] > a,
.rondreis-land--hero header#header .ct-header-socials a,
.rondreis-land--hero header#header svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

.rondreis-land--hero header#header .menu > li > a:hover {
    color: rgba(255, 255, 255, 0.7) !important;
}

.rondreis-land--hero header#header .verzendingmsg,
.rondreis-land--hero header#header .verzendingmsg2 {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Hero afbeelding */
.rondreis-hero {
    position: relative;
    width: 100%;
    min-height: 380px;
    padding-top: var(--header-height, 100px);
    background-color: #2a2a2a;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    margin-bottom: 0;
}

.rondreis-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.75) 0%,
        rgba(0, 0, 0, 0.40) 50%,
        rgba(0, 0, 0, 0.18) 100%
    );
    z-index: 1;
}

.rondreis-hero__inner {
    position: relative;
    z-index: 4;
    width: 100%;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    padding-left: clamp(1.25rem, 4vw, 2.5rem);
    padding-right: clamp(1.25rem, 4vw, 2.5rem);
}

.rondreis-hero__title {
    margin: 0 0 0.75rem;
    font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
    font-weight: 700;
    line-height: 1.25;
    color: #fff;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.rondreis-hero__intro {
    max-width: 52rem;
    font-size: 1rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.88);
}

.rondreis-hero__intro p {
    margin: 0 0 0.5em;
    color: inherit;
}

.rondreis-hero__intro p:last-child {
    margin-bottom: 0;
}

/* Breadcrumbs binnen hero: witte tekst */
/* Breadcrumbs op reis-detail (standaard, niet-hero) */
.rondreis-reis .rondreis-breadcrumbs {
    margin-top: 1.5rem;
    margin-bottom: 1.25rem;
}

.rondreis-breadcrumbs--hero {
    margin-bottom: 1rem;
}

.rondreis-breadcrumbs--hero a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}

.rondreis-breadcrumbs--hero a:hover {
    color: #fff;
    text-decoration: underline;
}

.rondreis-breadcrumbs--hero .sep {
    color: rgba(255, 255, 255, 0.5);
}

.rondreis-breadcrumbs--hero .current {
    color: rgba(255, 255, 255, 0.95);
    font-weight: 500;
}

@media (max-width: 689.98px) {
    .rondreis-hero {
        min-height: 320px;
    }

    .rondreis-hero__intro {
        font-size: 0.9375rem;
    }
}
