/* campingcompas.css – plugin-specifieke stijlen die NIET in het child theme staan */

/* Leaflet kaart hoogte */
#cc-kaart { height: 500px; }

/* Admin-kolom in de beheerslijst */
.column-cc_beoordeling { width: 80px; }
.column-cc_land        { width: 100px; }


/* ------------------------------------------------------------------
   v3.6.3 plugin-only homepage fixes
   ------------------------------------------------------------------ */

/* Verberg WP topbalk visueel ook als fallback */
#wpadminbar { display: none !important; }
html { margin-top: 0 !important; }
body.admin-bar { margin-top: 0 !important; padding-top: 0 !important; }

/* Zoekveld: icoon links, tekst met voldoende ruimte */
.cc-zoekbalk__input-wrap {
    position: relative !important;
    flex: 1 1 0% !important;
    min-width: 240px !important;
}
.cc-zoekbalk__icon {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
    height: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
    color: #3d8b68 !important;
    z-index: 2 !important;
}
.cc-zoekbalk__icon svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.25 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}
.cc-zoekbalk__input {
    padding-left: 46px !important;
    box-sizing: border-box !important;
}

/* Zoekresultaten: altijd hetzelfde kaartformaat als normale tegels */
.cc-grid-wrap,
#cc-kaarten-carousel,
#cc-kaarten-scroll,
#cc-kaarten-grid,
#cc-kaarten-grid > .cc-kaart {
    box-sizing: border-box !important;
}

#cc-kaarten-carousel,
#cc-kaarten-scroll {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
}

#cc-kaarten-grid {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
}

#cc-kaarten-grid > .cc-kaart {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    flex: none !important;
    justify-self: stretch !important;
    align-self: start !important;
    display: flex !important;
    flex-direction: column !important;
}

#cc-kaarten-grid > .cc-kaart .cc-kaart__foto-wrap {
    height: 260px !important;
}

@media (max-width: 900px) {
    #cc-kaarten-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 580px) {
    #cc-kaarten-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
    #cc-kaarten-grid > .cc-kaart .cc-kaart__foto-wrap {
        height: 130px !important;
    }
}


/* ------------------------------------------------------------------
   v3.6.17 homepage: 6 tegels max + gelijke containerbreedte als kaart
   ------------------------------------------------------------------ */
.cc-app--home .cc-zoekbalk,
.cc-app--home .cc-grid-wrap,
.cc-app--home .cc-home-kaart-head,
.cc-app--home .cc-home-kaart-wrap {
    width: 100% !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

.cc-app--home .cc-zoekbalk,
.cc-app--home .cc-grid-wrap,
.cc-app--home .cc-home-kaart-head,
.cc-app--home .cc-home-kaart-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.cc-app--home #cc-kaarten-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
}

/* v3.6.35: laad volgende 6 echt zichtbaar; niet langer hard verbergen vanaf tegel 7 */

@media (max-width: 580px) {
    .cc-app--home .cc-zoekbalk,
    .cc-app--home .cc-grid-wrap,
    .cc-app--home .cc-home-kaart-head,
    .cc-app--home .cc-home-kaart-wrap {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}


/* ------------------------------------------------------------------
   v3.6.31 delen van campingkaarten
   ------------------------------------------------------------------ */
.cc-kaart__acties {
    margin-top: 14px !important;
    display: flex !important;
    justify-content: flex-start !important;
}

.cc-share-btn,
.cc-popup__share-btn {
    appearance: none !important;
    border: 1px solid #d8d0c4 !important;
    background: #fff !important;
    color: #213041 !important;
    border-radius: 999px !important;
    padding: 10px 14px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 6px 16px rgba(17, 24, 39, 0.06) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.cc-share-btn:hover,
.cc-share-btn:focus-visible,
.cc-popup__share-btn:hover,
.cc-popup__share-btn:focus-visible {
    transform: translateY(-1px) !important;
    border-color: #b8cdbf !important;
    box-shadow: 0 10px 22px rgba(17, 24, 39, 0.08) !important;
    outline: none !important;
}

.cc-share-btn__icon {
    width: 22px !important;
    height: 22px !important;
    border-radius: 999px !important;
    background: #e4f0e8 !important;
    color: #2d6a4f !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    flex: 0 0 auto !important;
}


.cc-popup__acties {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

.cc-popup__share-btn {
    min-width: 118px !important;
    justify-content: center !important;
}

.cc-popup__route-btn {
    appearance: none !important;
    border: 1px solid #d8d0c4 !important;
    background: #fff !important;
    color: #213041 !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    min-height: 42px !important;
    min-width: 118px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 6px 16px rgba(17, 24, 39, 0.06) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
    text-decoration: none !important;
}

.cc-popup__route-btn:hover,
.cc-popup__route-btn:focus-visible {
    transform: translateY(-1px) !important;
    border-color: #b8cdbf !important;
    box-shadow: 0 10px 22px rgba(17, 24, 39, 0.08) !important;
    outline: none !important;
}

.cc-share-sheet {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .18s ease, visibility .18s ease !important;
}
.cc-share-sheet.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
.cc-share-sheet__backdrop {
    position: absolute !important;
    inset: 0 !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(13, 18, 24, 0.22) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
    cursor: pointer !important;
}
.cc-share-sheet__panel {
    position: relative !important;
    width: min(320px, calc(100vw - 32px)) !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(221,211,198,.9) !important;
    border-radius: 22px !important;
    box-shadow: 0 22px 50px rgba(15, 23, 42, 0.18) !important;
    padding: 18px !important;
    transform: translateY(8px) scale(.98) !important;
    transition: transform .18s ease !important;
}
.cc-share-sheet.is-open .cc-share-sheet__panel {
    transform: translateY(0) scale(1) !important;
}
.cc-share-sheet__close {
    appearance: none !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 34px !important;
    height: 34px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(244, 241, 234, .95) !important;
    color: #213041 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: transform .16s ease, background .16s ease !important;
}
.cc-share-sheet__close:hover,
.cc-share-sheet__close:focus-visible {
    background: #fff !important;
    transform: scale(1.05) !important;
    outline: none !important;
}
.cc-share-sheet__head {
    margin-bottom: 14px !important;
    padding-right: 34px !important;
}
.cc-share-sheet__title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #16202c !important;
}
.cc-share-sheet__sub {
    margin-top: 4px !important;
    font-size: 0.83rem !important;
    color: #6d7682 !important;
}
.cc-share-sheet__body {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
}
.cc-share-sheet__option {
    width: 100% !important;
    border: 1px solid #e4ddd2 !important;
    border-radius: 16px !important;
    background: #faf8f4 !important;
    padding: 12px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: #16202c !important;
    cursor: pointer !important;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease !important;
}
.cc-share-sheet__option:hover,
.cc-share-sheet__option:focus-visible {
    transform: translateY(-1px) !important;
    border-color: #b8cdbf !important;
    background: #f3f8f4 !important;
    box-shadow: 0 10px 20px rgba(17,24,39,.08) !important;
    outline: none !important;
}
.cc-share-sheet__symbol {
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #234f3d !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: inset 0 0 0 1px rgba(35,79,61,.08), 0 8px 14px rgba(17,24,39,.05) !important;
}
.cc-share-sheet__symbol svg {
    width: 20px !important;
    height: 20px !important;
    stroke: currentColor !important;
    fill: none !important;
}
.cc-share-sheet__feedback {
    min-height: 20px !important;
    margin-top: 12px !important;
    font-size: 0.82rem !important;
    color: #2d6a4f !important;
    text-align: center !important;
}
.cc-share-sheet__feedback.is-error {
    color: #b42318 !important;
}
.cc-share-sheet__feedback.is-visible {
    display: block !important;
}
body.cc-share-sheet-open {
    overflow: hidden !important;
}

@media (max-width: 700px) {
    .cc-share-sheet {
        padding: 16px !important;
    }

    .cc-share-sheet__panel {
        width: min(308px, calc(100vw - 24px)) !important;
        border-radius: 20px !important;
        padding: 16px !important;
    }
}


/* Fallback styling voor home-carrousel navigatie */

.cc-kaarten-scroll-outer {
    position: relative;
}

.cc-kaarten-scroll {
    overflow: hidden;
}

/* Carrouselnavigatie: rechts boven de tegelrijen, in een eigen zone */
/* Sectielabel links van de carrouselpijlen, zodat de pijlen
   zichtbaar bij de kaartenrij horen (v3.6.553) */
.cc-grid-nav-label {
    position: absolute;
    top: 26px;
    left: 0;
    z-index: 4;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: #8a8377;
}
:root.cc-dark .cc-grid-nav-label { color: #9ca3af; }

.cc-grid-nav {
    position: absolute;
    top: 8px;
    right: 0;
    z-index: 4;
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 6px;
    border-radius: 999px;
    background: rgba(248, 245, 238, .78);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(17,24,39,.10);
}

.cc-kaarten-scroll-outer {
    position: relative;
    padding-top: 76px;
}

.cc-kaarten-scroll {
    overflow: hidden;
}

.cc-grid-nav__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #f4f1ea 100%);
    color: #234f3d;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, opacity .18s ease;
    box-shadow: 0 10px 24px rgba(17,24,39,.12), inset 0 1px 0 rgba(255,255,255,.92);
}

.cc-grid-nav__btn::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 1px solid rgba(35,79,61,.14);
    pointer-events: none;
}

.cc-grid-nav__btn svg {
    width: 20px;
    height: 20px;
    stroke-width: 2.35;
    position: relative;
    z-index: 1;
}

.cc-grid-nav__btn:hover:not(:disabled) {
    transform: translateY(-1px);
    background: linear-gradient(180deg, #ffffff 0%, #edf5ef 100%);
    box-shadow: 0 14px 28px rgba(17,24,39,.16), 0 0 0 4px rgba(46,125,87,.08);
}

.cc-grid-nav__btn:active:not(:disabled) {
    transform: translateY(0) scale(.98);
}

.cc-grid-nav__btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(46,125,87,.16), 0 14px 28px rgba(17,24,39,.14);
}

.cc-grid-nav__btn:disabled {
    opacity: .38;
    color: #9aa3a9;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

@media (max-width: 700px) {
    .cc-kaarten-scroll-outer {
        padding-top: 0;
    }

    .cc-grid-nav {
        position: relative;
        top: auto;
        right: auto;
        display: flex;
        justify-content: center;
        width: fit-content;
        margin: 0 auto 14px;
        padding: 0;
        background: transparent;
        backdrop-filter: none;
        box-shadow: none;
    }

    .cc-grid-nav__btn {
        width: 44px;
        height: 44px;
    }

    .cc-grid-nav__btn svg {
        width: 18px;
        height: 18px;
    }
}



/* ------------------------------------------------------------------
   v3.6.26 foto verwijderknop op camping bewerken
   ------------------------------------------------------------------ */
.cc-foto-item {
    position: relative !important;
}

.cc-foto-item__del {
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1px solid rgba(33,48,65,.08) !important;
    background: rgba(255,255,255,.94) !important;
    color: #d85a5f !important;
    border-radius: 999px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    box-shadow: 0 4px 10px rgba(17,24,39,.10) !important;
    cursor: pointer !important;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease !important;
    z-index: 3 !important;
    line-height: 1 !important;
    font-size: 0 !important;
    backdrop-filter: blur(6px) !important;
    aspect-ratio: 1 / 1 !important;
}

.cc-foto-item__del svg {
    width: 10px !important;
    height: 10px !important;
    stroke: currentColor !important;
    pointer-events: none !important;
}

.cc-foto-item__del:hover,
.cc-foto-item__del:focus-visible {
    transform: translateY(-1px) scale(1.04) !important;
    background: #fff !important;
    color: #bf3f46 !important;
    box-shadow: 0 8px 16px rgba(17,24,39,.15) !important;
    outline: none !important;
}

.cc-foto-item__del:focus-visible {
    box-shadow: 0 0 0 2px rgba(45,106,79,.18), 0 8px 16px rgba(17,24,39,.15) !important;
}

.cc-foto-item__del:active {
    transform: scale(.97) !important;
}

/* ── Roteer-knop ── */
.cc-foto-item__rot {
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1px solid rgba(33,48,65,.08) !important;
    background: rgba(255,255,255,.94) !important;
    color: #2d6a4f !important;
    border-radius: 999px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    bottom: 6px !important;
    right: 6px !important;
    box-shadow: 0 4px 10px rgba(17,24,39,.10) !important;
    cursor: pointer !important;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease !important;
    z-index: 3 !important;
    line-height: 1 !important;
    font-size: 0 !important;
    backdrop-filter: blur(6px) !important;
    aspect-ratio: 1 / 1 !important;
}

.cc-foto-item__rot svg {
    width: 13px !important;
    height: 13px !important;
    stroke: currentColor !important;
    pointer-events: none !important;
}

.cc-foto-item__rot:hover,
.cc-foto-item__rot:focus-visible {
    transform: translateY(-1px) scale(1.04) rotate(90deg) !important;
    background: #fff !important;
    color: #1f5c40 !important;
    box-shadow: 0 8px 16px rgba(17,24,39,.15) !important;
    outline: none !important;
}

.cc-foto-item__rot:active {
    transform: scale(.97) rotate(90deg) !important;
}

/* Bezig-state: spinner animatie */
.cc-foto-item__rot--bezig {
    animation: cc-rot-spin .6s linear infinite !important;
    pointer-events: none !important;
    opacity: .7 !important;
}

@keyframes cc-rot-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}


/* ═══════════════════════════════════════
   PARTNERS
═══════════════════════════════════════ */
.cc-partners-wrap{padding:0 0 32px}
.cc-home-header--partners{margin-bottom:18px}
.cc-partners-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cc-partners-grid--bottom{margin-top:18px;align-items:start}
.cc-partner-card{background:#fff;border:1px solid var(--cc-border);border-radius:26px;box-shadow:0 14px 30px rgba(17,24,39,.06);padding:22px}
.cc-partner-card__head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.cc-partner-card__head h2{margin:0;font-size:1.08rem;color:var(--cc-tekst)}
.cc-partner-card__head p{margin:4px 0 0;color:var(--cc-tekst-2);font-size:.92rem;line-height:1.55}
.cc-partner-card__icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--cc-groen),var(--cc-groen-2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 10px 22px rgba(45,106,79,.22);flex:0 0 auto}
.cc-partner-form,.cc-partner-visibility-form{display:grid;gap:14px}
.cc-partner-rulebox{margin-top:16px;padding:16px 18px;border-radius:20px;background:#f7fbf8;border:1px solid #dceadf}
.cc-partner-rulebox strong{display:block;margin-bottom:8px}
.cc-partner-rulebox ul{margin:0;padding-left:18px;color:var(--cc-tekst-2);display:grid;gap:8px;font-size:.9rem}

.cc-partner-capacity{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:14px 18px;border-radius:18px;background:#f7fbf8;border:1px solid #dceadf;color:var(--cc-tekst-2);margin:0 0 18px}
.cc-partner-capacity strong{color:var(--cc-tekst)}
.cc-partner-capacity--warn{background:#fef3f2;border-color:#f3c7c2;color:#8f2d26}
.cc-partner-note{margin:14px 0 0;font-size:.88rem;color:var(--cc-tekst-2)}
.cc-partner-note--warn{color:#8f2d26;font-weight:600}

.cc-partner-visibility-list{display:grid;gap:12px}
.cc-partner-toggle{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--cc-border);border-radius:18px;background:#fcfbf8;cursor:pointer}
.cc-partner-toggle input{width:18px;height:18px;accent-color:var(--cc-groen)}
.cc-partner-toggle__info{display:flex;flex-direction:column}
.cc-partner-toggle__info strong{font-size:.95rem;color:var(--cc-tekst)}
.cc-partner-toggle__info small{color:var(--cc-grijs);font-size:.82rem}
.cc-partner-list{display:grid;gap:14px}
.cc-partner-member{border:1px solid var(--cc-border);border-radius:22px;background:#fcfbf8;padding:16px}
.cc-partner-member--pending{background:#fffdf8}
.cc-partner-member__top{display:flex;gap:12px;align-items:center}
.cc-partner-member__avatar{width:42px;height:42px;border-radius:50%;background:#eef5ef;color:var(--cc-groen);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex:0 0 auto}
.cc-partner-member__meta{min-width:0;flex:1}
.cc-partner-member__meta h3{margin:0;font-size:.98rem;color:var(--cc-tekst)}
.cc-partner-member__meta p{margin:3px 0 0;color:var(--cc-grijs);font-size:.84rem;word-break:break-word}
.cc-partner-member__details{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;color:var(--cc-tekst-2);font-size:.84rem}
.cc-partner-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:#edf7f0;color:var(--cc-groen);font-weight:600;font-size:.76rem;white-space:nowrap}
.cc-partner-badge--soft{background:#fff6df;color:#8a5a04}
.cc-partner-inline-form{margin-top:14px}
.cc-partner-remove{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#1f2937;color:#fff;padding:10px 16px;font-size:.84rem;font-weight:600;cursor:pointer;transition:transform .18s ease,opacity .18s ease}
.cc-partner-remove:hover{transform:translateY(-1px);opacity:.95}
.cc-partner-remove--ghost{background:#fff;border:1px solid var(--cc-border);color:var(--cc-tekst)}
.cc-partner-empty{margin:0;color:var(--cc-grijs);font-size:.92rem}
@media (max-width: 920px){
  .cc-partners-grid{grid-template-columns:minmax(0,1fr)}
}


/* ═══════════════════════════════════════
   HOMEPAGE — mobiel laden per 6
═══════════════════════════════════════ */
.cc-grid-more-wrap {
    display: none;
    justify-content: center;
    margin: 18px 0 0;
}

.cc-grid-more {
    appearance: none;
    border: 1px solid rgba(35,79,61,.14);
    background: linear-gradient(180deg, #ffffff 0%, #f4f1ea 100%);
    color: #234f3d;
    border-radius: 999px;
    min-height: 46px;
    padding: 0 18px;
    font-size: .92rem;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(17,24,39,.10);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.cc-grid-more:hover,
.cc-grid-more:focus-visible {
    transform: translateY(-1px);
    background: linear-gradient(180deg, #ffffff 0%, #edf5ef 100%);
    box-shadow: 0 14px 28px rgba(17,24,39,.14), 0 0 0 4px rgba(46,125,87,.08);
    outline: none;
}

/* iOS Safari geeft bij een tap een :focus state (niet :focus-visible)
   en houdt soms :hover/:active hangen na de tap. Onderstaande regels
   forceren de "rust"-styling terug zodat de knoptekst leesbaar blijft. */
.cc-grid-more:focus:not(:focus-visible),
.cc-grid-more.cc-no-hover,
.cc-grid-more.cc-no-hover:hover,
.cc-grid-more.cc-no-hover:focus,
.cc-grid-more.cc-no-hover:active {
    outline: none !important;
    box-shadow: 0 10px 24px rgba(17,24,39,.10) !important;
    transform: none !important;
    background: linear-gradient(180deg, #ffffff 0%, #f4f1ea 100%) !important;
    color: #234f3d !important;
}

/* Voorkom dat iOS Safari een grijs/blauw tap-vlak op de knop tekent */
.cc-grid-more {
    -webkit-tap-highlight-color: transparent;
}

@media (max-width: 700px) {
    .cc-grid-nav {
        display: none !important;
    }

    .cc-grid-more-wrap {
        display: flex;
        margin-top: 18px;
    }

    .cc-kaarten-grid,
    .cc-kaarten-grid.cc-cols-1,
    .cc-kaarten-grid.cc-cols-2,
    .cc-kaarten-grid.cc-cols-3 {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}


/* v3.6.37: oud footer-menu definitief verwijderen op desktop en mobiel */
.cc-nav,
.cc-nav__inner,
.cc-nav__items,
.cc-nav__gebruiker {
    display: none !important;
}


/* v3.6.38: tabletweergave altijd 2 tegels breed */
@media (min-width: 701px) and (max-width: 1024px) {
    #cc-kaarten-grid,
    #cc-kaarten-grid.cc-cols-1,
    #cc-kaarten-grid.cc-cols-2,
    #cc-kaarten-grid.cc-cols-3,
    .cc-kaarten-grid,
    .cc-kaarten-grid.cc-cols-1,
    .cc-kaarten-grid.cc-cols-2,
    .cc-kaarten-grid.cc-cols-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* v3.6.40: geschiedenis splitst verblijven binnen hetzelfde jaar in losse trips na een tussenpauze van 28+ dagen; versiebeheer en cache-busting gelijkgetrokken */

/* ------------------------------------------------------------------
   v3.7.117 popup actieknoppen gelijkgetrokken + route-cirkel boven foto
   ------------------------------------------------------------------ */
.cc-popup__share-btn,
.cc-popup__route-btn,
.cc-popup__bewerk-btn {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: #fff !important;
    color: #213041 !important;
    border: 1px solid #d8d0c4 !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    min-height: 42px !important;
    min-width: 118px !important;
    font-family: var(--cc-font-body, inherit) !important;
    font-size: .92rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: 0 6px 16px rgba(17,24,39,.06) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.cc-popup__share-btn:hover,
.cc-popup__share-btn:focus-visible,
.cc-popup__route-btn:hover,
.cc-popup__route-btn:focus-visible,
.cc-popup__bewerk-btn:hover,
.cc-popup__bewerk-btn:focus-visible {
    transform: translateY(-1px) !important;
    border-color: #b8cdbf !important;
    box-shadow: 0 10px 22px rgba(17,24,39,.08) !important;
    background: #fff !important;
    color: #213041 !important;
    outline: none !important;
}

.cc-popup__share-btn svg,
.cc-popup__route-btn svg,
.cc-popup__share-foto-btn svg,
.cc-popup__route-foto-btn svg {
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;
}

.cc-popup__share-foto-btn,
.cc-popup__route-foto-btn {
    position: absolute !important;
    top: 12px !important;
    width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    background: rgba(255,255,255,.92) !important;
    backdrop-filter: blur(4px) !important;
    border: none !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #213041 !important;
    font-size: .95rem !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
    transition: background .15s ease, transform .15s ease !important;
    z-index: 10 !important;
}

.cc-popup__share-foto-btn {
    left: 12px !important;
}

.cc-popup__route-foto-btn {
    left: 52px !important;
}

.cc-popup__share-foto-btn:hover,
.cc-popup__share-foto-btn:focus-visible,
.cc-popup__route-foto-btn:hover,
.cc-popup__route-foto-btn:focus-visible {
    background: #fff !important;
    transform: none !important;
    outline: none !important;
}

/* ------------------------------------------------------------------
   v3.7.118 popup badges uit de weg van share/route-iconen
   ------------------------------------------------------------------ */
.cc-popup__foto-wrap .cc-popup__ster-badge {
    left: auto !important;
    right: 56px !important;
    top: 12px !important;
}

.cc-popup__foto-wrap .cc-popup__aanbevolen {
    left: auto !important;
    right: 56px !important;
}


/* v3.6.250 landstatistieken uitlijnen */
.cc-land-vlag-svg svg {
    display: block !important;
}

.cc-land-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    vertical-align: middle !important;
}

.cc-jaar-chart__rij--land {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.cc-jaar-chart__label--land {
    flex: 0 0 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    display: flex !important;
    align-items: center !important;
}

.cc-jaar-chart__label--land .cc-land-label__name {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.cc-jaar-chart__rij--land .cc-jaar-chart__bar-wrap {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.cc-jaar-chart__rij--land .cc-jaar-chart__val {
    flex: 0 0 18px !important;
    text-align: right !important;
}

@media (max-width: 640px) {
    .cc-jaar-chart__label--land {
        flex-basis: 128px !important;
        min-width: 128px !important;
        max-width: 128px !important;
    }
}

/* ------------------------------------------------------------------
   v3.6.553 foto-placeholder: tent-lijnicoon i.p.v. emoji
   ------------------------------------------------------------------ */
.cc-kaart__foto-placeholder svg {
    width: 46px;
    height: 46px;
    color: #a8b0a2;
    stroke-width: 1.4;
}
:root.cc-dark .cc-kaart__foto-placeholder svg { color: #6b7280; }

/* ------------------------------------------------------------------
   v3.6.553 zoek- en landenfilter op de Alle campings-pagina
   ------------------------------------------------------------------ */
.cc-lijst-zoek {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px 20px;
    flex-wrap: wrap;
}
.cc-lijst-zoek__veld {
    flex: 1 1 260px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid #e8e3d8;
    border-radius: 14px;
    padding: 0 16px;
    color: #6b7280;
    box-shadow: 0 1px 3px rgba(31, 45, 34, .05);
}
.cc-lijst-zoek__veld input {
    flex: 1;
    border: 0;
    outline: none;
    background: transparent;
    padding: 13px 0;
    font-size: .95rem;
    color: #17201b;
}
.cc-lijst-zoek select {
    flex: 0 0 auto;
    background: #fff;
    border: 1px solid #e8e3d8;
    border-radius: 14px;
    padding: 12px 14px;
    font-size: .95rem;
    color: #17201b;
    box-shadow: 0 1px 3px rgba(31, 45, 34, .05);
    cursor: pointer;
}
.cc-lijst-zoek__leeg {
    flex: 1 0 100%;
    color: #6b7280;
    font-size: .9rem;
    padding-top: 4px;
}
/* Verbergen via class: elders staat #cc-kaarten-grid > .cc-kaart
   { display:flex !important } (ID-specificiteit), dus de verbergregel
   moet minstens even specifiek zijn. */
#cc-kaarten-grid > .cc-kaart.cc-kaart--zoek-verborgen,
.cc-kaarten-grid > .cc-kaart.cc-kaart--zoek-verborgen,
.cc-kaart.cc-kaart--zoek-verborgen { display: none !important; }
:root.cc-dark .cc-lijst-zoek__veld,
:root.cc-dark .cc-lijst-zoek select {
    background: #232630;
    border-color: #3a3f4c;
    color: #f0ede8;
}
:root.cc-dark .cc-lijst-zoek__veld input { color: #f0ede8; }

/* ------------------------------------------------------------------
   v3.6.553 legenda voor de pin-kleuren op de homekaart
   ------------------------------------------------------------------ */
.cc-kaart-legenda {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 500; /* boven de Leaflet-tegels, onder popups */
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 9px 12px;
    background: rgba(255, 255, 255, .93);
    border: 1px solid rgba(45, 106, 79, .16);
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .10);
    font-size: 12px;
    font-weight: 600;
    color: #40473f;
    line-height: 1;
    pointer-events: none; /* puur informatief; kaart blijft sleepbaar */
}
.cc-kaart-legenda__item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}
.cc-kaart-legenda__dot {
    width: 10px;
    height: 10px;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
    flex: 0 0 10px;
}
.cc-kaart-legenda__dot--eigen    { background: #2d6a4f; }
.cc-kaart-legenda__dot--openbaar { background: #e07b39; }
:root.cc-dark .cc-kaart-legenda {
    background: rgba(30, 33, 40, .93);
    border-color: #3a3f4c;
    color: #d5d9d4;
}

/* ------------------------------------------------------------------
   v3.6.265 kleine toggle voor openbare kaartpinnen
   ------------------------------------------------------------------ */
.cc-openbare-pinnen-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: max-content !important;
    margin: 8px 0 0 auto !important;
    color: #5f665e !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    user-select: none !important;
}

.cc-openbare-pinnen-toggle__input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.cc-openbare-pinnen-toggle__switch {
    position: relative !important;
    width: 30px !important;
    height: 16px !important;
    border-radius: 999px !important;
    background: #d1d5db !important;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .08) !important;
    transition: background .18s ease, box-shadow .18s ease !important;
}

.cc-openbare-pinnen-toggle__switch::after {
    content: '' !important;
    position: absolute !important;
    top: 2px !important;
    left: 2px !important;
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(17, 24, 39, .25) !important;
    transition: transform .18s ease !important;
}

.cc-openbare-pinnen-toggle__input:checked + .cc-openbare-pinnen-toggle__switch {
    background: #e07b39 !important;
}

.cc-openbare-pinnen-toggle__input:checked + .cc-openbare-pinnen-toggle__switch::after {
    transform: translateX(14px) !important;
}

.cc-openbare-pinnen-toggle:focus-within .cc-openbare-pinnen-toggle__switch {
    box-shadow: 0 0 0 3px rgba(224, 123, 57, .22) !important;
}


/* v3.6.272 - uniforme zwarte ronde sluitknoppen voor alle popups */
.cc-popup__sluiten,
.cc-popup-lightbox__sluiten,
.cc-share-sheet__close,
.cc-modal__sluiten {
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #111111 !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 6px 18px rgba(17, 17, 17, .18) !important;
    transition: transform .16s ease, background .16s ease, box-shadow .16s ease !important;
}

.cc-popup__sluiten:hover,
.cc-popup__sluiten:focus-visible,
.cc-popup-lightbox__sluiten:hover,
.cc-popup-lightbox__sluiten:focus-visible,
.cc-share-sheet__close:hover,
.cc-share-sheet__close:focus-visible,
.cc-modal__sluiten:hover,
.cc-modal__sluiten:focus-visible {
    background: #000000 !important;
    color: #ffffff !important;
    transform: scale(1.04) !important;
    outline: none !important;
}


/* v3.6.274 - logboek viewer sluitknop conform overige sluitknoppen */
.cc-logboek-viewer__terug {
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #111111 !important;
    color: #ffffff !important;
    cursor: pointer !important;
    box-shadow: 0 6px 18px rgba(17, 17, 17, .18) !important;
    transition: transform .16s ease, background .16s ease, box-shadow .16s ease !important;
    flex: 0 0 auto !important;
}

.cc-logboek-viewer__terug:hover,
.cc-logboek-viewer__terug:focus-visible {
    background: #000000 !important;
    color: #ffffff !important;
    transform: scale(1.04) !important;
    outline: none !important;
}

.cc-logboek-viewer__terug svg {
    width: 14px !important;
    height: 14px !important;
    stroke: currentColor !important;
    flex: 0 0 auto !important;
}


/* ══════════════════════════════════════════════════════════
   DUPLICAAT-FOTO POPUP  (v3.6.284)
   Consistente opmaak met cc-share-sheet.
   Getoond wanneer pHash een eerder geüploade foto detecteert.
══════════════════════════════════════════════════════════ */

#cc-duplicaat-popup {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .2s ease, visibility .2s ease !important;
}

#cc-duplicaat-popup.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.cc-dup-popup__backdrop {
    position: absolute !important;
    inset: 0 !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(13, 18, 24, 0.30) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
    cursor: pointer !important;
}

.cc-dup-popup__panel {
    position: relative !important;
    width: min(360px, calc(100vw - 32px)) !important;
    background: rgba(255, 255, 255, 0.97) !important;
    border: 1px solid rgba(221, 211, 198, 0.9) !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.20) !important;
    padding: 32px 28px 28px !important;
    text-align: center !important;
    transform: translateY(10px) scale(0.97) !important;
    transition: transform .2s ease !important;
}

#cc-duplicaat-popup.is-open .cc-dup-popup__panel {
    transform: translateY(0) scale(1) !important;
}

.cc-dup-popup__sluiten {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
}

.cc-dup-popup__icoon {
    font-size: 36px !important;
    line-height: 1 !important;
    margin-bottom: 12px !important;
}

.cc-dup-popup__titel {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 10px !important;
    line-height: 1.3 !important;
}

.cc-dup-popup__tekst {
    font-size: 14px !important;
    color: #4a4a4a !important;
    line-height: 1.55 !important;
    margin: 0 0 16px !important;
}

.cc-dup-popup__lijst {
    list-style: none !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.cc-dup-popup__bestand {
    background: #f4f1ed !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    font-family: monospace !important;
    color: #555 !important;
    word-break: break-all !important;
}

.cc-dup-popup__ok {
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #2d6a4f !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background .16s ease, transform .12s ease !important;
    box-shadow: 0 4px 14px rgba(45, 106, 79, 0.30) !important;
}

.cc-dup-popup__ok:hover,
.cc-dup-popup__ok:focus-visible {
    background: #1f4f39 !important;
    transform: translateY(-1px) !important;
    outline: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   v3.6.289 – Mobiele zoekpill & verfijnde kaartenlay-out
   ═══════════════════════════════════════════════════════════════ */

/* Zoekpill: compact element op mobiel, verborgen op desktop */
.cc-zoekpill {
    display: none;
    box-sizing: border-box;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    background: var(--cc-wit, #ffffff) !important;
    border: 1.5px solid var(--cc-border, #e5e1d8) !important;
    border-radius: 999px !important;
    padding: 10px 16px !important;
    margin-bottom: 10px !important;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,.07) !important;
    font-family: inherit;
    font-size: .88rem !important;
    color: var(--cc-tekst, #1a1a1a) !important;
    transition: box-shadow .15s, transform .12s;
    user-select: none;
    outline: none !important;
    /* reset knopstijlen van het thema */
    appearance: none !important;
    -webkit-appearance: none !important;
    text-align: left !important;
}
.cc-zoekpill:active  { transform: scale(.99); }
.cc-zoekpill:focus-visible {
    box-shadow: 0 0 0 3px rgba(45,106,79,.25) !important;
}

.cc-zoekpill__links {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--cc-grijs, #6b7280);
}
.cc-zoekpill__links svg {
    flex-shrink: 0;
    color: var(--cc-grijs, #6b7280);
}
.cc-zoekpill__count {
    font-size: .78rem;
    color: var(--cc-groen, #2d6a4f) !important;
    font-weight: 600;
    background: #edf7f0 !important;
    padding: 3px 10px !important;
    border-radius: 999px !important;
    white-space: nowrap;
}

/* ── Op mobiel: pill tonen, zoekbalk verborgen tenzij geopend ── */
@media (max-width: 700px) {
    .cc-zoekpill {
        display: flex !important;
    }
    /* Zoekbalk altijd verborgen op mobiel ... */
    .cc-zoekbalk {
        display: none !important;
    }
    /* ... tenzij de open-klasse actief is */
    .cc-zoekbalk.cc-zoek-open {
        display: flex !important;
        animation: cc-zoekbalk-in .2s ease;
        margin-bottom: 10px !important;
    }
    @keyframes cc-zoekbalk-in {
        from { opacity: 0; transform: translateY(-6px); }
        to   { opacity: 1; transform: translateY(0); }
    }
}

/* Kaarttekst compact op heel smal scherm */
@media (max-width: 400px) {
    .cc-kaart__naam { font-size: .82rem !important; line-height: 1.25 !important; }
    .cc-kaart__sub  { font-size: .72rem !important; }
    .cc-kaart__vz   { display: none !important; }
    .cc-kaart__body { padding: 8px 10px 10px !important; }
}

/* ------------------------------------------------------------------
   v3.6.301 Toolbar-stijl actieknoppen
   ------------------------------------------------------------------ */
.cc-popup__toolbar {
    display: flex !important;
    border: 1px solid #d8d0c4 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-top: 8px !important;
}
.cc-popup__toolbar-btn {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    padding: 10px 4px !important;
    border: none !important;
    border-right: 1px solid #d8d0c4 !important;
    background: #fff !important;
    color: #5c5c58 !important;
    font-size: .7rem !important;
    font-weight: 500 !important;
    font-family: var(--cc-font-body, inherit) !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    transition: background .15s ease, color .15s ease !important;
    text-decoration: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
.cc-popup__toolbar-btn:last-child {
    border-right: none !important;
}
.cc-popup__toolbar-btn:hover,
.cc-popup__toolbar-btn:focus-visible {
    background: #f5f3ee !important;
    color: #213041 !important;
    outline: none !important;
    transform: none !important;
    box-shadow: none !important;
}
.cc-popup__toolbar-btn svg {
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 17px !important;
}
.cc-popup__toolbar-btn--danger {
    color: #a33 !important;
}
.cc-popup__toolbar-btn--danger:hover,
.cc-popup__toolbar-btn--danger:focus-visible {
    background: #fdf2f2 !important;
    color: #791f1f !important;
}
.cc-popup__toolbar-btn--primair {
    background: #f5f3ee !important;
    color: #2d6a4f !important;
    font-weight: 600 !important;
}
.cc-popup__toolbar-btn--primair svg {
    stroke: #2d6a4f !important;
}
.cc-popup__toolbar-btn--primair:hover,
.cc-popup__toolbar-btn--primair:focus-visible {
    background: #eae7df !important;
    color: #245a42 !important;
}

/* ------------------------------------------------------------------
   v3.6.301 + Foto knop in gallery
   ------------------------------------------------------------------ */
.cc-popup__foto-add-btn {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    width: 68px !important;
    height: 68px !important;
    border: 1.5px dashed #c4bfb4 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #8a857a !important;
    font-size: .7rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: border-color .15s ease, color .15s ease, background .15s ease !important;
    vertical-align: top !important;
    margin-top: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
}
.cc-popup__foto-add-btn:hover,
.cc-popup__foto-add-btn:focus-visible {
    border-color: #2d6a4f !important;
    color: #2d6a4f !important;
    background: rgba(45,106,79,.04) !important;
    outline: none !important;
    transform: none !important;
}
.cc-popup__gallery {
    display: inline !important;
}
.cc-popup__gallery-btn {
    vertical-align: top !important;
}

/* ------------------------------------------------------------------
   v3.6.301 Snelle foto-upload panel
   ------------------------------------------------------------------ */
.cc-foto-snel {
    background: #faf9f6 !important;
    border: 1px solid #d8d0c4 !important;
    border-radius: 12px !important;
    padding: 14px !important;
}
.cc-foto-snel__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 10px !important;
}
.cc-foto-snel__titel {
    font-size: .9rem !important;
    font-weight: 600 !important;
    color: #213041 !important;
}
.cc-foto-snel__sluiten {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: #8a857a !important;
    padding: 4px !important;
    display: flex !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
}
.cc-foto-snel__sluiten:hover { color: #213041 !important; }
.cc-foto-snel__zone {
    border: 1.5px dashed #c4bfb4 !important;
    border-radius: 8px !important;
    padding: 18px !important;
    text-align: center !important;
    color: #8a857a !important;
    font-size: .82rem !important;
    cursor: pointer !important;
    transition: border-color .15s ease, background .15s ease !important;
}
.cc-foto-snel__zone.over,
.cc-foto-snel__zone:hover {
    border-color: #2d6a4f !important;
    background: rgba(45,106,79,.04) !important;
}
.cc-foto-snel__preview {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 10px !important;
}
.cc-foto-snel__item {
    position: relative !important;
    width: 90px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid #d8d0c4 !important;
    background: #fff !important;
}
.cc-foto-snel__item img {
    width: 90px !important;
    height: 68px !important;
    object-fit: cover !important;
    display: block !important;
}
.cc-foto-snel__item-acties {
    display: flex !important;
    justify-content: center !important;
    gap: 2px !important;
    padding: 3px 0 !important;
    background: #faf9f6 !important;
}
.cc-foto-snel__item-btn {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: #8a857a !important;
    padding: 2px 6px !important;
    font-size: .72rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
    border-radius: 4px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
}
.cc-foto-snel__item-btn:hover { background: #eee !important; color: #213041 !important; }
.cc-foto-snel__item-btn--del:hover { color: #a33 !important; }
.cc-foto-snel__upload {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    padding: 10px !important;
    margin-top: 10px !important;
    background: #2d6a4f !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: .88rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background .15s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
}
.cc-foto-snel__upload:hover { background: #245a42 !important; }
.cc-foto-snel__upload:disabled {
    opacity: .6 !important;
    cursor: not-allowed !important;
}
.cc-foto-snel__status {
    margin-top: 8px !important;
    font-size: .82rem !important;
    text-align: center !important;
    padding: 6px !important;
    border-radius: 6px !important;
}
.cc-foto-snel__status--succes {
    background: #e8f5e9 !important;
    color: #2e7d32 !important;
}
.cc-foto-snel__status--fout {
    background: #fce4ec !important;
    color: #c62828 !important;
}

/* ------------------------------------------------------------------
   v3.6.312 Foto-overzicht voor snelle upload
   ------------------------------------------------------------------ */
.cc-foto-overzicht-panel .cc-foto-snel {
    background: #fff !important;
    border: 1px solid #d8d0c4 !important;
    box-shadow: 0 12px 36px rgba(33,48,65,.14) !important;
}
.cc-foto-overzicht {
    margin-bottom: 12px !important;
}
.cc-foto-overzicht__kop {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
}
.cc-foto-overzicht__kop strong {
    display: block !important;
    font-size: 1rem !important;
    color: #213041 !important;
}
.cc-foto-overzicht__kop span {
    display: block !important;
    margin-top: 2px !important;
    font-size: .78rem !important;
    color: #777067 !important;
}
.cc-foto-overzicht__nieuw {
    flex: 0 0 auto !important;
    border: none !important;
    border-radius: 999px !important;
    background: #2d6a4f !important;
    color: #fff !important;
    padding: 8px 12px !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
}
.cc-foto-overzicht__nieuw:hover,
.cc-foto-overzicht__nieuw:focus-visible {
    background: #245a42 !important;
    outline: none !important;
}
.cc-foto-overzicht__grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(82px, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
}
.cc-foto-overzicht__thumb {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    border: 1px solid #d8d0c4 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #f5f3ee !important;
    padding: 0 !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
}
.cc-foto-overzicht__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.cc-foto-overzicht__thumb:hover,
.cc-foto-overzicht__thumb:focus-visible {
    border-color: #2d6a4f !important;
    outline: none !important;
}
.cc-foto-overzicht__leeg {
    border: 1px dashed #c4bfb4 !important;
    border-radius: 10px !important;
    padding: 14px !important;
    margin-bottom: 10px !important;
    color: #777067 !important;
    font-size: .84rem !important;
    text-align: center !important;
    background: #faf9f6 !important;
}
.cc-foto-overzicht-panel .cc-foto-snel__zone {
    display: none !important;
}
.cc-foto-overzicht-panel .cc-foto-snel__preview:not(:empty) {
    margin-top: 12px !important;
}
.cc-foto-overzicht-panel .cc-foto-snel__upload {
    margin-top: 12px !important;
}
@media (max-width: 640px) {
    .cc-foto-overzicht__kop {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
    .cc-foto-overzicht__nieuw {
        width: 100% !important;
    }
}

/* v3.6.348 - mobiele voorzieningen toggles stabiel en responsive */
.cc-toggles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.cc-toggle-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid var(--cc-border, #e5e0d8);
    border-radius: 14px;
    background: var(--cc-kaart-bg, #fff);
    color: var(--cc-tekst, #17201b);
    cursor: pointer;
    user-select: none;
    overflow: hidden;
}
.cc-toggle-item > span:first-child {
    min-width: 0;
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cc-toggle-item svg {
    width: 1.1em;
    height: 1.1em;
    flex: 0 0 auto;
}
.cc-toggle-item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}
.cc-toggle-knop {
    position: relative;
    flex: 0 0 46px;
    width: 46px;
    height: 26px;
    border-radius: 999px;
    background: #d8d6cf;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
    transition: background .18s ease;
}
.cc-toggle-knop::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.22);
    transition: transform .18s ease;
}
.cc-toggle-item input[type="checkbox"]:checked + .cc-toggle-knop {
    background: var(--cc-groen, #2d6a4f);
}
.cc-toggle-item input[type="checkbox"]:checked + .cc-toggle-knop::after {
    transform: translateX(20px);
}
.cc-toggle-item:focus-within {
    outline: 2px solid rgba(45,106,79,.25);
    outline-offset: 2px;
}
@media (max-width: 640px) {
    .cc-toggles {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .cc-toggle-item {
        padding: 11px 12px;
    }
    .cc-toggle-item > span:first-child {
        white-space: normal;
    }
}


/* v3.6.348 - mobiele fix: voorkom zwevende toggle-knoppen en houd tap-target binnen de tegel */
.cc-toggle-item {
    position: relative;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}
.cc-toggle-item input[type="checkbox"] {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}
.cc-toggle-knop {
    display: inline-block;
    align-self: center;
    flex-shrink: 0;
}
@media (max-width: 640px) {
    .cc-toggles {
        overflow: visible;
    }
    .cc-toggle-item {
        min-height: 50px;
        max-width: 100%;
    }
}

/* v3.6.361: verblijven op bewerkpagina als harmonica */
.cc-verblijf-blok {
    overflow: hidden;
}
.cc-verblijf-titel {
    display: flex;
    align-items: center;
    gap: 10px;
}
.cc-verblijf-toggle {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    width: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: left;
    cursor: pointer;
    font: inherit;
}
.cc-verblijf-toggle:focus-visible {
    outline: 2px solid rgba(45,106,79,.35);
    outline-offset: 4px;
    border-radius: 12px;
}
.cc-verblijf-samenvatting {
    flex: 1 1 auto;
    color: #6b7280;
    font-size: .9rem;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cc-verblijf-chevron {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s ease;
}
.cc-verblijf-blok--dicht .cc-verblijf-chevron {
    transform: rotate(-90deg);
}
.cc-verblijf-body {
    overflow: hidden;
    transition: max-height .25s ease, opacity .2s ease, margin-top .2s ease;
}
.cc-verblijf-blok--open .cc-verblijf-body {
    max-height: 2200px;
    opacity: 1;
}
.cc-verblijf-blok--dicht .cc-verblijf-body {
    max-height: 0;
    opacity: 0;
    margin-top: 0;
}
@media (max-width: 700px) {
    .cc-verblijf-toggle {
        align-items: flex-start;
    }
    .cc-verblijf-samenvatting {
        white-space: normal;
        font-size: .82rem;
    }
}

/* v3.6.361: harmonica-knop duidelijker en single-open gedrag */
.cc-verblijf-toggle {
    min-height: 48px;
    padding: 10px 12px !important;
    border-radius: 16px;
    background: linear-gradient(135deg, #ffffff 0%, #f7f5f0 100%);
    border: 1px solid #e5e1d8;
    box-shadow: 0 8px 20px rgba(31,41,55,.06);
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.cc-verblijf-toggle:hover {
    border-color: #b8cdbf;
    box-shadow: 0 12px 24px rgba(31,41,55,.09);
    transform: translateY(-1px);
}
.cc-verblijf-blok--open .cc-verblijf-toggle {
    background: linear-gradient(135deg, #effaf3 0%, #ffffff 100%);
    border-color: #a9ceb7;
}
.cc-verblijf-toggle-label {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 76px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #2d6a4f;
    color: #ffffff;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 6px 14px rgba(45,106,79,.18);
}
.cc-verblijf-blok--open .cc-verblijf-toggle-label {
    background: #ffffff;
    color: #2d6a4f;
    border: 1px solid #b8cdbf;
    box-shadow: none;
}
.cc-verblijf-chevron {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(45,106,79,.08);
    color: #2d6a4f;
    font-weight: 900;
}
.cc-verblijf-blok--open .cc-verblijf-chevron {
    background: #2d6a4f;
    color: #ffffff;
}
@media (max-width: 700px) {
    .cc-verblijf-toggle {
        flex-wrap: wrap;
        padding: 12px !important;
    }
    .cc-verblijf-toggle-label {
        min-width: 68px;
        padding: 7px 10px;
    }
}


/* v3.6.364 / v3.7.202 - Freemium archief: boven gratis niveau wazig, data blijft bewaard */
.cc-kaart--freemium-locked{position:relative;overflow:hidden;cursor:default;isolation:isolate;}
.cc-kaart--freemium-locked .cc-kaart__foto,
.cc-kaart--freemium-locked .cc-kaart__foto-placeholder,
.cc-kaart--freemium-locked .cc-kaart__preview,
.cc-kaart--freemium-locked .cc-kaart__body{filter:blur(5px);opacity:.72;}
.cc-kaart--freemium-locked .cc-kaart__ster-badge,
.cc-kaart--freemium-locked .cc-kaart__aanbevolen-badge{filter:blur(3px);opacity:.45;}
.cc-freemium-lock-badge{position:absolute;right:12px;top:12px;z-index:5;display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.92);color:#1f3f2d;box-shadow:0 10px 24px rgba(15,23,42,.22);font-size:1.05rem;}
.cc-freemium-lock-overlay{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px;text-align:center;background:linear-gradient(180deg,rgba(17,24,39,.22),rgba(17,24,39,.52));color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35);pointer-events:none;}
.cc-freemium-lock-overlay strong{font-size:1rem;font-weight:900;letter-spacing:.01em;}
.cc-freemium-lock-overlay span{max-width:220px;font-size:.82rem;line-height:1.35;opacity:.95;}
.cc-popup__gallery-btn{position:relative;overflow:hidden;}
.cc-popup__gallery-btn--locked{cursor:default;}
.cc-popup__gallery-btn--locked img{filter:blur(6px) brightness(.78);transform:scale(1.04);}
.cc-freemium-photo-lock{position:absolute;inset:0;display:grid;place-items:center;background:rgba(15,23,42,.18);color:#fff;font-size:1.3rem;text-shadow:0 2px 10px rgba(0,0,0,.45);}
@media(max-width:700px){.cc-freemium-lock-overlay{padding:14px}.cc-freemium-lock-overlay strong{font-size:.92rem}.cc-freemium-lock-overlay span{font-size:.76rem}.cc-freemium-lock-badge{width:34px;height:34px;right:10px;top:10px}}

/* v3.6.386 - profiel: oud dubbel detailmenu verbergen */
.cc-profiel-details-title,
.cc-profiel-tabs{
    display:none!important;
}


/* v3.6.402 - demo-sectie beter gevuld op de publieke homepage */
.cc-onboarding-guide{margin:22px 0 24px;background:#fff;border:1px solid #e4ded2;border-radius:24px;padding:22px;box-shadow:0 14px 34px rgba(31,45,34,.07)}
.cc-onboarding-guide__head{margin-bottom:16px}.cc-onboarding-guide__head span{display:inline-flex;margin-bottom:8px;padding:6px 10px;border-radius:999px;background:#e8f5ee;color:#2d6a4f;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.cc-onboarding-guide__head h2{margin:0 0 6px;color:#162319;font-family:Georgia,serif;font-size:clamp(1.35rem,2.4vw,1.9rem)}.cc-onboarding-guide__head p{margin:0;color:#667085;line-height:1.55}.cc-onboarding-guide__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cc-onboarding-step{position:relative;display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #ece7dc;border-radius:18px;background:#fffaf4;color:#18221c;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}.cc-onboarding-step:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(31,45,34,.09);border-color:#cfe7da}.cc-onboarding-step__nr{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#2d6a4f;color:#fff;font-weight:900;font-size:.8rem}.cc-onboarding-step.is-done .cc-onboarding-step__nr{background:#16a34a}.cc-onboarding-step__icon{font-size:1.25rem;line-height:1}.cc-onboarding-step__body{display:grid;gap:4px;min-width:0}.cc-onboarding-step__body strong{font-size:.92rem;line-height:1.25;color:#17201b}.cc-onboarding-step__body small{font-size:.78rem;line-height:1.45;color:#667085}.cc-onboarding-step__body em{font-style:normal;font-size:.76rem;color:#2d6a4f;font-weight:900;margin-top:3px}.cc-premium-context-upsell{display:flex;align-items:center;gap:14px;margin:16px 0;padding:16px 18px;border:1px solid #f0d6a8;border-radius:18px;background:linear-gradient(135deg,#fff8ed 0%,#ffffff 100%);box-shadow:0 12px 28px rgba(120,74,15,.08)}.cc-premium-context-upsell--compact{padding:13px 15px;margin:12px 0}.cc-premium-context-upsell__icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:14px;background:#fff3df;font-size:1.18rem}.cc-premium-context-upsell__body{flex:1;min-width:0}.cc-premium-context-upsell__body strong{display:block;color:#7a3d00;font-size:.95rem;margin-bottom:3px}.cc-premium-context-upsell__body p{margin:0;color:#724f27;font-size:.84rem;line-height:1.45}.cc-premium-context-upsell__body small{display:block;margin-top:5px;color:#9a641d;font-size:.76rem;font-weight:800}.cc-premium-context-upsell__btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border-radius:999px;background:#2d6a4f;color:#fff!important;text-decoration:none;font-weight:900;font-size:.8rem;white-space:nowrap}.cc-premium-context-upsell__btn:hover{background:#1f4d38}.cc-upgrade-banner__price{display:block;margin-top:5px;color:#8a5a12;font-size:.75rem;font-weight:800}.cc-export-premium-line{display:grid;gap:5px;margin-top:14px;padding:14px 16px;border:1px solid #f0d6a8;border-radius:18px;background:#fff8ed}.cc-export-premium-line span{width:max-content;padding:5px 9px;border-radius:999px;background:#fff;color:#b45309;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.cc-export-premium-line strong{color:#173020}.cc-export-premium-line small{color:#724f27;line-height:1.45}.cc-export-yearbook-chip{display:inline-flex;align-items:center;gap:7px;margin:10px 0 4px;padding:9px 11px;border-radius:999px;background:#fff8ed;border:1px dashed #f0c27d;color:#92400e;font-size:.78rem;font-weight:900}
@media(max-width:900px){.cc-onboarding-guide__steps{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-premium-context-upsell{align-items:flex-start}.cc-premium-context-upsell__btn{margin-left:auto}}
@media(max-width:640px){.cc-onboarding-guide{padding:18px;border-radius:20px}.cc-onboarding-guide__steps{grid-template-columns:1fr}.cc-premium-context-upsell{display:grid;grid-template-columns:auto 1fr;gap:12px}.cc-premium-context-upsell__btn{grid-column:1/-1;width:100%}}


/* v3.6.404 - Authpagina's netjes tonen buiten de landing/modal */
body:not(.cc-land-body) .cc-auth-wrap{
    min-height:calc(100vh - 140px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(28px,6vw,76px) 18px;
    background:linear-gradient(180deg,#f7f3ea 0%,#fffaf4 100%);
    box-sizing:border-box;
}
body:not(.cc-land-body) .cc-auth-kaart{
    width:min(100%,520px);
    margin:0 auto;
    padding:40px 36px 34px;
    background:#fff;
    border:1px solid #ede6d8;
    border-radius:28px;
    box-shadow:0 24px 70px rgba(28,58,40,.14);
    color:#182033;
    font-family:system-ui,-apple-system,Segoe UI,sans-serif;
    box-sizing:border-box;
}
body:not(.cc-land-body) .cc-auth-logo{
    display:block;
    margin:0 0 12px;
    text-align:center;
    font-size:2rem;
    line-height:1;
}
body:not(.cc-land-body) .cc-auth-titel{
    margin:0 0 8px!important;
    text-align:center!important;
    color:#182033!important;
    font-family:Georgia,serif!important;
    font-size:clamp(1.8rem,4vw,2.35rem)!important;
    line-height:1.08!important;
    letter-spacing:-.03em!important;
}
body:not(.cc-land-body) .cc-auth-subtitel{
    margin:0 0 26px!important;
    text-align:center!important;
    color:#667085!important;
    font-size:1rem!important;
    line-height:1.55!important;
}
body:not(.cc-land-body) .cc-auth-form{
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important;
    width:100%!important;
    margin:0!important;
}
body:not(.cc-land-body) .cc-auth-rij{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:14px!important;
}
body:not(.cc-land-body) .cc-auth-veld{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    margin:0!important;
    min-width:0!important;
}
body:not(.cc-land-body) .cc-auth-veld label{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin:0!important;
    color:#1f2937!important;
    font-size:.88rem!important;
    font-weight:800!important;
    line-height:1.25!important;
}
body:not(.cc-land-body) .cc-auth-vergeten{
    color:#1670c9!important;
    font-size:.84rem!important;
    font-weight:800!important;
    text-decoration:none!important;
    white-space:nowrap!important;
}
body:not(.cc-land-body) .cc-auth-vergeten:hover{text-decoration:underline!important;}
body:not(.cc-land-body) .cc-auth-veld input{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:52px!important;
    margin:0!important;
    padding:13px 15px!important;
    border:1px solid #d7dde5!important;
    border-radius:14px!important;
    background:#f8fafc!important;
    color:#152033!important;
    font:400 16px/1.25 system-ui,-apple-system,Segoe UI,sans-serif!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    appearance:none!important;
    -webkit-appearance:none!important;
}
body:not(.cc-land-body) .cc-auth-veld input:focus{
    border-color:#2d6a4f!important;
    background:#fff!important;
    outline:none!important;
    box-shadow:0 0 0 3px rgba(45,106,79,.14)!important;
}
body:not(.cc-land-body) .cc-ww-wrap{
    position:relative!important;
    display:block!important;
    width:100%!important;
    margin:0!important;
}
body:not(.cc-land-body) .cc-ww-wrap input{padding-right:54px!important;}
body:not(.cc-land-body) .cc-ww-toggle{
    position:absolute!important;
    right:8px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:38px!important;
    height:38px!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    color:#374151!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:1rem!important;
    line-height:1!important;
    box-shadow:none!important;
    cursor:pointer!important;
    opacity:.68!important;
}
body:not(.cc-land-body) .cc-ww-toggle:hover,
body:not(.cc-land-body) .cc-ww-toggle:focus{
    opacity:1!important;
    background:#eef2f7!important;
    outline:none!important;
}
body:not(.cc-land-body) .cc-auth-btn,
body:not(.cc-land-body) .cc-auth-submit{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:52px!important;
    margin:4px 0 0!important;
    padding:13px 18px!important;
    border:0!important;
    border-radius:14px!important;
    background:#2d6a4f!important;
    color:#fff!important;
    font:800 1rem/1.2 system-ui,-apple-system,Segoe UI,sans-serif!important;
    text-decoration:none!important;
    box-shadow:0 14px 28px rgba(45,106,79,.23)!important;
    cursor:pointer!important;
    appearance:none!important;
    -webkit-appearance:none!important;
}
body:not(.cc-land-body) .cc-auth-btn:hover,
body:not(.cc-land-body) .cc-auth-submit:hover,
body:not(.cc-land-body) .cc-auth-btn:focus,
body:not(.cc-land-body) .cc-auth-submit:focus{
    background:#24563f!important;
    transform:none!important;
    outline:2px solid rgba(45,106,79,.25)!important;
    outline-offset:2px!important;
}
body:not(.cc-land-body) .cc-auth-wissel{
    margin:22px 0 0!important;
    text-align:center!important;
    color:#667085!important;
    font-size:.96rem!important;
    line-height:1.45!important;
}
body:not(.cc-land-body) .cc-auth-wissel a{
    color:#1670c9!important;
    font-weight:800!important;
    text-decoration:none!important;
}
body:not(.cc-land-body) .cc-auth-wissel a:hover{text-decoration:underline!important;}
body:not(.cc-land-body) .cc-auth-fout,
body:not(.cc-land-body) .cc-auth-succes,
body:not(.cc-land-body) .cc-auth-info{
    border-radius:14px!important;
    padding:12px 14px!important;
    margin:0 0 16px!important;
    font:400 .92rem/1.45 system-ui,-apple-system,Segoe UI,sans-serif!important;
}
body:not(.cc-land-body) .cc-auth-fout{background:#fff1f2!important;color:#991b1b!important;border:1px solid #fecdd3!important;}
body:not(.cc-land-body) .cc-auth-succes,
body:not(.cc-land-body) .cc-auth-info{background:#ecfdf3!important;color:#166534!important;border:1px solid #bbf7d0!important;}
body:not(.cc-land-body) .cc-ww-meter{height:4px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-top:7px;}
body:not(.cc-land-body) .cc-ww-meter__balk{height:100%;width:0%;border-radius:999px;transition:width .25s,background .25s;}
body:not(.cc-land-body) .cc-ww-eisen{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;color:#6b7280;font-size:.78rem;}
body:not(.cc-land-body) .cc-ww-eisen li{position:relative;padding-left:18px;}
body:not(.cc-land-body) .cc-ww-eisen li::before{content:'✗';position:absolute;left:0;color:#ef4444;}
body:not(.cc-land-body) .cc-ww-eisen li.cc-eis-ok{color:#047857;}
body:not(.cc-land-body) .cc-ww-eisen li.cc-eis-ok::before{content:'✓';color:#047857;}
@media(max-width:640px){
    body:not(.cc-land-body) .cc-auth-wrap{padding:18px 12px;align-items:flex-start;}
    body:not(.cc-land-body) .cc-auth-kaart{padding:32px 20px 28px;border-radius:24px;}
    body:not(.cc-land-body) .cc-auth-rij{grid-template-columns:1fr!important;}
    body:not(.cc-land-body) .cc-auth-veld label{align-items:flex-start!important;flex-wrap:wrap!important;}
    body:not(.cc-land-body) .cc-auth-vergeten{margin-left:auto;}
}


/* v3.6.404 - registratie-/loginmodal: rondere rechterhoeken en scrollbar binnen ronde vorm */
.cc-modal-container{
    border-radius:32px!important;
    overflow:hidden!important;
}
.cc-modal-container .cc-auth-wrap{
    max-height:90dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:32px!important;
    scrollbar-gutter:stable;
}
.cc-modal-container .cc-auth-kaart{
    border-radius:32px!important;
}
@media(max-width:700px){
    .cc-modal-container{border-radius:28px!important;}
    .cc-modal-container .cc-auth-wrap{max-height:calc(100dvh - 32px)!important;border-radius:28px!important;}
    .cc-modal-container .cc-auth-kaart{border-radius:28px!important;}
}


/* v3.6.407 - Landfilter met echte SVG-vlaggen op desktop */
.cc-zoekbalk .cc-land-dropdown--home {
    width: 190px !important;
    flex: 0 0 190px !important;
    position: relative !important;
    z-index: 30 !important;
}
.cc-zoekbalk .cc-land-dropdown--home + .cc-zoekbalk__select--land-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}
.cc-zoekbalk .cc-land-dropdown--home .cc-land-dropdown__knop,
.cc-land-dropdown .cc-land-dropdown__knop {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    box-sizing: border-box !important;
}
.cc-zoekbalk .cc-land-dropdown--home .cc-land-dropdown__knop {
    width: 100% !important;
    min-height: 56px !important;
    height: 56px !important;
    padding: 0 16px 0 18px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,1) 100%) !important;
    border: 1px solid var(--cc-border, #ded7cc) !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 24px rgba(17, 24, 39, .04) !important;
    font-family: var(--cc-font-body, inherit) !important;
    font-size: .92rem !important;
    font-weight: 500 !important;
    color: var(--cc-tekst, #213041) !important;
    cursor: pointer !important;
    outline: none !important;
    white-space: nowrap !important;
}
.cc-zoekbalk .cc-land-dropdown--home .cc-land-dropdown__knop:hover,
.cc-zoekbalk .cc-land-dropdown--home .cc-land-dropdown__knop:focus-visible {
    border-color: rgba(82,183,136,.55) !important;
    box-shadow: 0 0 0 4px rgba(82,183,136,.14), 0 10px 28px rgba(17,24,39,.06) !important;
}
.cc-land-dropdown .cc-land-dropdown__label,
.cc-land-dropdown .cc-land-dropdown__item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.cc-land-dropdown .cc-land-dropdown__label {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.cc-land-dropdown .cc-land-dropdown__item-label {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.cc-land-dropdown .cc-land-vlag-svg {
    flex: 0 0 auto !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 14px !important;
}
.cc-land-dropdown .cc-land-vlag-svg svg {
    display: block !important;
    width: 20px !important;
    max-width: 20px !important;
    height: 14px !important;
    border-radius: 2px !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.12) !important;
}
.cc-zoekbalk .cc-land-dropdown--home .cc-land-dropdown__lijst {
    left: 0 !important;
    right: auto !important;
    top: calc(100% + 6px) !important;
    width: 100% !important;
    min-width: 190px !important;
    max-height: 340px !important;
    border-radius: 14px !important;
    z-index: 999 !important;
}
.cc-land-dropdown .cc-land-dropdown__item {
    padding: 9px 14px !important;
    line-height: 1.25 !important;
}
@media (max-width: 700px) {
    .cc-zoekbalk .cc-land-dropdown--home {
        display: none !important;
    }
    .cc-zoekbalk .cc-land-dropdown--home + .cc-zoekbalk__select--land-native {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        overflow: visible !important;
    }
}

/* 3.6.410 - Camping toevoegen: flexibel zoeken in eigen database met deelnaam- en tokenmatching */
.cc-nominatim-item--db {
    background: rgba(45, 106, 79, .06) !important;
    border-left: 3px solid var(--cc-groen, #2d6a4f) !important;
}
.cc-nominatim-item--db:hover,
.cc-nominatim-item--db.cc-nominatim-item--actief {
    background: rgba(45, 106, 79, .1) !important;
}
.cc-nominatim-source {
    display: block !important;
    margin-top: 2px !important;
    font-size: .72rem !important;
    font-weight: 600 !important;
    color: var(--cc-groen, #2d6a4f) !important;
}
.cc-nominatim-badge--db {
    background: rgba(45, 106, 79, .12) !important;
    color: var(--cc-groen, #2d6a4f) !important;
}

/* v3.6.415 / v3.7.210 - profiel vereenvoudigd, Freemium/Premium-tabel en centrale modalcomponent */
.cc-profiel-section-head{margin:8px 0 16px;padding:0 2px}.cc-profiel-section-head span{display:inline-flex;margin-bottom:7px;padding:5px 10px;border-radius:999px;background:#e8f5ee;color:var(--cc-groen,#2d6a4f);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.cc-profiel-section-head h2{margin:0 0 6px;color:var(--cc-tekst,#17201b);font-family:Georgia,serif;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.12}.cc-profiel-section-head p{max-width:760px;margin:0;color:var(--cc-tekst-2,#667085);line-height:1.55}.cc-profiel-actions--simplified{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 24px}.cc-profiel-action-card{appearance:none;text-decoration:none;width:100%;border:1px solid var(--cc-border,#e5e1d8);border-radius:20px;background:var(--cc-wit,#fff);box-shadow:0 12px 28px rgba(31,45,34,.07);padding:18px;text-align:left;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;color:var(--cc-tekst,#17201b);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.cc-profiel-action-card:hover,.cc-profiel-action-card:focus-visible,.cc-profiel-action-card.is-active{transform:translateY(-2px);border-color:#bdd8c8;box-shadow:0 18px 38px rgba(31,45,34,.11);outline:none}.cc-profiel-action-card__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:#eef8f1;color:var(--cc-groen,#2d6a4f);font-size:1.22rem}.cc-profiel-action-card__body{display:grid;gap:4px;min-width:0}.cc-profiel-action-card__body strong{font-size:1rem;line-height:1.25;color:var(--cc-tekst,#17201b)}.cc-profiel-action-card__body small{font-size:.82rem;line-height:1.45;color:var(--cc-tekst-2,#667085)}.cc-profiel-action-card__arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#f6f4ef;color:var(--cc-groen,#2d6a4f);font-weight:900}.cc-profiel-action-card--primary{border-color:#f0d6a8;background:linear-gradient(135deg,#fff8ed 0%,#ffffff 72%)}.cc-profiel-action-card--primary .cc-profiel-action-card__icon{background:#fff3df;color:#a25700}.cc-profiel-action-card--danger{border-color:#fee2e2;background:linear-gradient(135deg,#fffafa 0%,#ffffff 72%)}.cc-profiel-action-card--danger .cc-profiel-action-card__icon{background:#fef2f2;color:#b42318}.cc-profiel-detail-card{background:var(--cc-wit,#fff);border:1px solid var(--cc-border,#e5e1d8);border-radius:24px;padding:24px;box-shadow:0 14px 34px rgba(31,45,34,.07);margin-bottom:18px}.cc-profiel-detail-card--danger{border-color:#fee2e2;background:linear-gradient(135deg,#fffafa 0%,#fff 68%)}.cc-profiel-detail-card__head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.cc-profiel-detail-card__icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:16px;background:#eef8f1;color:var(--cc-groen,#2d6a4f);font-size:1.18rem}.cc-profiel-detail-card--danger .cc-profiel-detail-card__icon{background:#fef2f2;color:#b42318}.cc-profiel-detail-card__head h2{margin:0 0 5px;color:var(--cc-tekst,#17201b);font-size:1.35rem;line-height:1.18}.cc-profiel-detail-card__head p{margin:0;color:var(--cc-tekst-2,#667085);line-height:1.55}.cc-profiel-data-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.cc-profiel-data-list div,.cc-profiel-info-tile,.cc-profiel-warning-list div{padding:14px 16px;border:1px solid var(--cc-border,#e5e1d8);border-radius:16px;background:#fbfaf7}.cc-profiel-data-list span,.cc-profiel-info-tile span,.cc-profiel-warning-list span{display:block;color:var(--cc-tekst-2,#667085);font-size:.86rem;line-height:1.45}.cc-profiel-data-list strong,.cc-profiel-info-tile strong,.cc-profiel-warning-list strong{display:block;color:var(--cc-tekst,#17201b);font-size:.98rem;line-height:1.35;margin-bottom:3px}.cc-profiel-info-grid,.cc-profiel-warning-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.cc-profiel-warning-list div{border-color:#fee2e2;background:#fffafa}.cc-profiel-detail-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.cc-profiel-detail-actions button.cc-btn-secondary{cursor:pointer}.cc-modal-core{position:fixed!important;inset:0!important;z-index:99999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .2s ease,visibility .2s ease!important}.cc-modal-core.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}.cc-modal-core__backdrop{position:absolute!important;inset:0!important;border:0!important;margin:0!important;padding:0!important;background:rgba(15,23,42,.55)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;cursor:pointer!important}.cc-modal-core__panel{position:relative!important;z-index:1!important;width:min(640px,calc(100vw - 32px))!important;max-height:calc(100dvh - 32px)!important;overflow:auto!important;background:var(--cc-wit,#fff)!important;border:1px solid rgba(229,225,216,.96)!important;border-radius:28px!important;box-shadow:0 28px 80px rgba(15,23,42,.32)!important;padding:28px!important;transform:translateY(14px) scale(.98)!important;transition:transform .2s ease!important}.cc-modal-core.is-open .cc-modal-core__panel{transform:translateY(0) scale(1)!important}.cc-modal-core--wide .cc-modal-core__panel{width:min(1160px,calc(100vw - 32px))!important}.cc-modal-core__panel--narrow{width:min(520px,calc(100vw - 32px))!important}.cc-modal-core__close{appearance:none!important;position:absolute!important;right:18px!important;top:18px!important;display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border:0!important;border-radius:999px!important;background:#111827!important;color:#fff!important;font-size:28px!important;line-height:1!important;cursor:pointer!important;box-shadow:0 10px 24px rgba(15,23,42,.18)!important}.cc-modal-core__close:hover,.cc-modal-core__close:focus-visible{background:#000!important;outline:none!important;transform:scale(1.04)!important}.cc-modal-core__kicker{display:inline-flex!important;margin:0 0 8px!important;padding:5px 10px!important;border-radius:999px!important;background:#e8f5ee!important;color:var(--cc-groen,#2d6a4f)!important;font-size:.72rem!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.08em!important}.cc-modal-core__panel h2{margin:0 44px 10px 0;color:var(--cc-tekst,#17201b);font-family:Georgia,serif;font-size:clamp(1.45rem,3vw,2rem);line-height:1.14}.cc-modal-core__panel p{color:var(--cc-tekst-2,#667085);line-height:1.58}.cc-modal-core__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.cc-modal-core-open{overflow:hidden!important}.cc-export-modal.cc-modal-core{display:flex!important}.cc-export-modal.cc-modal-core .cc-export-modal__panel{margin:0!important}.cc-export-modal.cc-modal-core .cc-export-modal__backdrop{position:absolute!important}.cc-premium-compare{margin:18px 0;padding:22px;border:1px solid var(--cc-border,#e5e1d8);border-radius:24px;background:var(--cc-wit,#fff);box-shadow:0 14px 34px rgba(31,45,34,.07)}.cc-premium-compare--landing{margin-top:20px;background:rgba(255,255,255,.92)}.cc-premium-compare__head{margin-bottom:16px}.cc-premium-compare__head span{display:inline-flex;margin-bottom:8px;padding:5px 10px;border-radius:999px;background:#fff8ed;color:#a25700;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.cc-premium-compare__head h2{margin:0 0 6px;color:var(--cc-tekst,#17201b);font-family:Georgia,serif;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.12}.cc-premium-compare__head p{margin:0;color:var(--cc-tekst-2,#667085);line-height:1.55}.cc-premium-compare__table-wrap{overflow:auto;border:1px solid var(--cc-border,#e5e1d8);border-radius:18px;background:#fff}.cc-premium-compare__table{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;font-size:.92rem}.cc-premium-compare__table th,.cc-premium-compare__table td{padding:13px 16px;border-bottom:1px solid #eee8de;text-align:left;vertical-align:middle}.cc-premium-compare__table th{background:#f8f4ec;color:#173020;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}.cc-premium-compare__table tr:last-child td{border-bottom:0}.cc-premium-compare__table td:first-child{font-weight:850;color:var(--cc-tekst,#17201b)}.cc-premium-compare__premium{background:#f4fbf6;color:#1f5a3d;font-weight:900}.cc-premium-compare__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.cc-premium-compare__btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;font-weight:900;text-decoration:none}.cc-premium-compare__btn--free{background:#fff;border:1.5px solid var(--cc-border,#e5e1d8);color:var(--cc-tekst,#17201b)!important}.cc-premium-compare__btn--premium{background:var(--cc-groen,#2d6a4f);color:#fff!important;box-shadow:0 12px 24px rgba(45,106,79,.22)}.cc-premium-compare__btn--premium:hover{background:#1f4d38}@media(max-width:960px){.cc-profiel-actions--simplified{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-profiel-info-grid,.cc-profiel-warning-list{grid-template-columns:1fr}}@media(max-width:640px){.cc-profiel-section-head{margin-top:4px}.cc-profiel-actions--simplified{grid-template-columns:1fr;gap:10px}.cc-profiel-action-card{grid-template-columns:42px minmax(0,1fr) 24px;padding:15px;border-radius:18px}.cc-profiel-action-card__icon{width:42px;height:42px;border-radius:14px}.cc-profiel-data-list{grid-template-columns:1fr}.cc-profiel-detail-card{padding:18px;border-radius:20px}.cc-profiel-detail-card__head{gap:12px}.cc-profiel-detail-actions{display:grid;grid-template-columns:1fr}.cc-profiel-detail-actions a,.cc-profiel-detail-actions button,.cc-modal-core__actions a,.cc-modal-core__actions button{width:100%;justify-content:center;text-align:center}.cc-modal-core{padding:12px!important;align-items:flex-end!important}.cc-modal-core__panel{width:100%!important;max-height:calc(100dvh - 24px)!important;border-radius:24px 24px 18px 18px!important;padding:24px 18px!important}.cc-modal-core--wide .cc-modal-core__panel{width:100%!important}.cc-premium-compare{padding:16px;border-radius:20px}.cc-premium-compare__table{min-width:560px;font-size:.84rem}.cc-premium-compare__actions{display:grid;grid-template-columns:1fr}.cc-premium-compare__btn{width:100%}}
:root.cc-dark .cc-profiel-action-card,:root.cc-dark .cc-profiel-detail-card,:root.cc-dark .cc-premium-compare,:root.cc-dark .cc-modal-core__panel{background:var(--cc-card,#1e2633)!important;border-color:var(--cc-border,#334155)!important;color:var(--cc-tekst,#f3f4f6)!important}:root.cc-dark .cc-profiel-section-head p,:root.cc-dark .cc-profiel-action-card__body small,:root.cc-dark .cc-profiel-detail-card__head p,:root.cc-dark .cc-modal-core__panel p,:root.cc-dark .cc-premium-compare__head p{color:#cbd5e1!important}:root.cc-dark .cc-profiel-data-list div,:root.cc-dark .cc-profiel-info-tile,:root.cc-dark .cc-profiel-warning-list div,:root.cc-dark .cc-premium-compare__table-wrap{background:#151d29!important;border-color:#334155!important}:root.cc-dark .cc-premium-compare__table th{background:#202c3b;color:#f3f4f6}:root.cc-dark .cc-premium-compare__table td{border-color:#334155}:root.cc-dark .cc-premium-compare__premium{background:#173323;color:#9ee6bd}


/* ------------------------------------------------------------------
   v3.6.419 homepage startgids: 4 stappen weer ruim en leesbaar
   ------------------------------------------------------------------ */
.cc-onboarding-guide {
    overflow: hidden !important;
    background: linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
}

.cc-onboarding-guide__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.cc-onboarding-step {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr !important;
    gap: 10px 14px !important;
    min-height: 148px !important;
    padding: 18px 16px !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, #fffaf4 0%, #ffffff 100%) !important;
    border-color: #eadfce !important;
    box-shadow: 0 10px 24px rgba(31, 45, 34, .055) !important;
}

.cc-onboarding-step:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 32px rgba(31, 45, 34, .11) !important;
    border-color: #cfe7da !important;
}

.cc-onboarding-step__nr {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 31px !important;
    height: 31px !important;
    flex-basis: 31px !important;
    align-self: start !important;
    box-shadow: 0 7px 14px rgba(45, 106, 79, .22) !important;
}

.cc-onboarding-step__icon {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
    background: #eef8f1 !important;
    font-size: 1.3rem !important;
    line-height: 1 !important;
}

.cc-onboarding-step__body {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    gap: 7px !important;
    min-width: 0 !important;
}

.cc-onboarding-step__body strong {
    font-size: .98rem !important;
    line-height: 1.22 !important;
}

.cc-onboarding-step__body small {
    font-size: .84rem !important;
    line-height: 1.48 !important;
}

.cc-onboarding-step__body em {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin-top: 4px !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    background: #e8f5ee !important;
    color: #2d6a4f !important;
    font-size: .78rem !important;
}

@media (max-width: 640px) {
    .cc-onboarding-guide__steps {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .cc-onboarding-step {
        min-height: 0 !important;
        padding: 16px !important;
        grid-template-columns: 38px minmax(0, 1fr) !important;
    }

    .cc-onboarding-step__icon {
        width: 38px !important;
        height: 38px !important;
        border-radius: 13px !important;
    }

    .cc-onboarding-step__body strong {
        font-size: .95rem !important;
    }
}

/* ------------------------------------------------------------------
   v3.6.428 Campingkompas dashboard + frontend beheerpanelen
   ------------------------------------------------------------------ */
.cc-admin-dash a[href],
.cc-admin-dash button {
    pointer-events: auto !important;
    cursor: pointer;
    position: relative;
    z-index: 2;
}
.cc-admin-dash-card,
.cc-admin-dash-stat {
    position: relative;
}
.cc-topnav__admin-btn {
    text-decoration: none !important;
}
.cc-topnav__admin-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    color: currentColor;
    pointer-events: none;
}
.cc-topnav__admin-icon svg {
    display: block;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.cc-topnav__admin-btn:hover .cc-topnav__admin-icon {
    color: var(--cc-groen, #2d6a4f);
}

.cc-admin-dash {
    --cc-admin-bg: var(--cc-bg, #f7f4ee);
    --cc-admin-card: var(--cc-wit, #fff);
    --cc-admin-text: var(--cc-tekst, #17201a);
    --cc-admin-muted: var(--cc-grijs, #7d8791);
    --cc-admin-border: rgba(45, 106, 79, .13);
    --cc-admin-green: var(--cc-groen, #2d6a4f);
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 42px 0 58px;
    color: var(--cc-admin-text);
    box-sizing: border-box;
}
.cc-admin-dash--wp-admin {
    width: 100%;
    max-width: 1180px;
    margin: 0;
    padding-top: 18px;
}
.cc-admin-dashboard-admin-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    max-width: 1180px;
    margin: 0 0 10px;
}
.cc-admin-dash__hero {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0 0 26px;
}
.cc-admin-dash__hero-icon {
    font-size: 3rem;
    line-height: 1;
    filter: drop-shadow(0 10px 16px rgba(45,106,79,.10));
}
.cc-admin-dash__hero h1 {
    margin: 0;
    color: var(--cc-admin-text) !important;
    font-family: var(--cc-font-hoofd, Georgia, serif);
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.cc-admin-dash__hero p {
    margin: 8px 0 0;
    color: var(--cc-admin-muted);
    font-size: 1.03rem;
}
.cc-admin-dash__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}
.cc-admin-dash-stat,
.cc-admin-dash-card,
.cc-admin-dash__access-card {
    border: 1px solid var(--cc-admin-border);
    border-radius: 18px;
    background: var(--cc-admin-card);
    box-shadow: 0 14px 38px rgba(16, 24, 40, .07);
}
.cc-admin-dash-stat {
    min-height: 112px;
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 22px;
    box-sizing: border-box;
    overflow: hidden;
    color: var(--cc-admin-text) !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.cc-admin-dash-stat:hover {
    transform: translateY(-2px);
    border-color: rgba(45,106,79,.28);
    box-shadow: 0 18px 42px rgba(16,24,40,.11);
}
.cc-admin-dash-stat:focus-visible,
.cc-admin-dash-list__row:focus-visible,
.cc-admin-dash-status__row:focus-visible,
.cc-admin-dash-notice:focus-visible {
    outline: 3px solid rgba(45,106,79,.28);
    outline-offset: 3px;
}
.cc-admin-dash-stat--green { background: linear-gradient(135deg, rgba(47, 126, 86, .10), rgba(255,255,255,.96)); }
.cc-admin-dash-stat--gold { background: linear-gradient(135deg, rgba(218, 164, 32, .12), rgba(255,255,255,.96)); }
.cc-admin-dash-stat--blue { background: linear-gradient(135deg, rgba(46, 121, 184, .12), rgba(255,255,255,.96)); }
.cc-admin-dash-stat--purple { background: linear-gradient(135deg, rgba(128, 88, 166, .13), rgba(255,255,255,.96)); }
.cc-admin-dash-stat__icon {
    width: 62px;
    height: 62px;
    flex: 0 0 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: var(--cc-admin-green);
    background: rgba(45,106,79,.10);
}
.cc-admin-dash-stat--gold .cc-admin-dash-stat__icon { color: #d39a00; background: rgba(211,154,0,.13); }
.cc-admin-dash-stat--blue .cc-admin-dash-stat__icon { color: #2d79b8; background: rgba(45,121,184,.13); }
.cc-admin-dash-stat--purple .cc-admin-dash-stat__icon { color: #8158a6; background: rgba(129,88,166,.13); }
.cc-admin-dash-stat__icon svg { width: 30px; height: 30px; }
.cc-admin-dash-stat strong {
    display: block;
    color: var(--cc-admin-text);
    font-family: var(--cc-font-hoofd, Georgia, serif);
    font-size: clamp(1.55rem, 3vw, 2rem);
    line-height: 1;
    margin-bottom: 8px;
}
.cc-admin-dash-stat span {
    display: block;
    color: var(--cc-admin-text);
    font-weight: 750;
    font-size: .98rem;
}
.cc-admin-dash-stat small {
    display: block;
    margin-top: 6px;
    color: var(--cc-admin-green);
    font-size: .86rem;
    font-weight: 750;
}
.cc-admin-dash-stat__arrow {
    margin-left: auto;
    color: var(--cc-admin-muted);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    transition: transform .16s ease, color .16s ease;
}
.cc-admin-dash-stat:hover .cc-admin-dash-stat__arrow {
    color: var(--cc-admin-green);
    transform: translateX(2px);
}
.cc-admin-dash__grid {
    display: grid;
    gap: 18px;
    margin-bottom: 18px;
}
.cc-admin-dash__grid--two {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
}
.cc-admin-dash__grid--actions {
    grid-template-columns: minmax(320px, .92fr) minmax(0, 1.08fr);
}
.cc-admin-dash-card {
    padding: 18px;
    box-sizing: border-box;
}
.cc-admin-dash-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.cc-admin-dash-card__title {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.cc-admin-dash-card__title h2 {
    margin: 0;
    color: var(--cc-admin-text) !important;
    font-family: var(--cc-font-hoofd, Georgia, serif);
    font-size: 1.22rem;
    line-height: 1.1;
}
.cc-admin-dash-card__bubble {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: var(--cc-admin-green);
    background: rgba(45,106,79,.12);
}
.cc-admin-dash-card__bubble--warning { color: #d39a00; background: rgba(211,154,0,.12); }
.cc-admin-dash-card__bubble svg { width: 18px; height: 18px; }
.cc-admin-dash__small-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 10px;
    color: var(--cc-admin-text) !important;
    background: #fff;
    text-decoration: none !important;
    font-size: .88rem;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: 0 3px 10px rgba(15,23,42,.04);
}
.cc-admin-dash__small-button:hover { border-color: rgba(45,106,79,.25); color: var(--cc-admin-green) !important; }
.cc-admin-dash-list,
.cc-admin-dash-status,
.cc-admin-dash-campings {
    display: grid;
    gap: 0;
}
.cc-admin-dash-list__row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 45px;
    border-top: 1px solid rgba(15,23,42,.08);
    color: var(--cc-admin-text) !important;
    text-decoration: none !important;
    border-radius: 8px;
    transition: background .15s ease;
}
.cc-admin-dash-list__row:first-child { border-top: 0; }
.cc-admin-dash-list__row:hover { background: rgba(45,106,79,.055); }
.cc-admin-dash-list__row:hover .cc-admin-dash-list__text { color: var(--cc-admin-green); }
.cc-admin-dash-list__icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: var(--cc-admin-green);
    background: rgba(45,106,79,.10);
}
.cc-admin-dash-list__icon--gold { color: #d39a00; background: rgba(211,154,0,.12); }
.cc-admin-dash-list__icon--blue { color: #2d79b8; background: rgba(45,121,184,.12); }
.cc-admin-dash-list__icon--purple { color: #8158a6; background: rgba(129,88,166,.12); }
.cc-admin-dash-list__icon svg { width: 16px; height: 16px; }
.cc-admin-dash-list__text {
    min-width: 0;
    color: var(--cc-admin-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .94rem;
}
.cc-admin-dash-list time {
    color: var(--cc-admin-muted);
    font-size: .88rem;
    white-space: nowrap;
}
.cc-admin-dash-status__row {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(110px, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 44px;
    border-top: 1px solid rgba(15,23,42,.08);
    font-size: .94rem;
    color: var(--cc-admin-text) !important;
    text-decoration: none !important;
    border-radius: 8px;
    transition: background .15s ease;
}
.cc-admin-dash-status__row:first-child { border-top: 0; }
.cc-admin-dash-status__row:hover { background: rgba(45,106,79,.055); }
.cc-admin-dash-status__row:hover > span { color: var(--cc-admin-green); }
.cc-admin-dash-status__row strong {
    color: var(--cc-admin-text);
    font-weight: 650;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cc-admin-dash-status__row em {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    background: rgba(45,106,79,.10);
    color: #1f7a4c;
    font-style: normal;
    font-size: .8rem;
    font-weight: 800;
}
.cc-admin-dash-status__row em::before {
    content: '✓';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    border-radius: 999px;
    color: #fff;
    background: #1f8b52;
    font-size: 10px;
    line-height: 1;
}
.cc-admin-dash-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.cc-admin-dash-action {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 72px;
    padding: 12px;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 13px;
    color: var(--cc-admin-text) !important;
    text-decoration: none !important;
    background: rgba(255,255,255,.78);
    transition: transform .15s, border-color .15s, box-shadow .15s;
}
.cc-admin-dash-action:hover {
    transform: translateY(-1px);
    border-color: rgba(45,106,79,.24);
    box-shadow: 0 10px 24px rgba(15,23,42,.08);
}
.cc-admin-dash-action__icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--cc-admin-green);
    background: rgba(45,106,79,.10);
}
.cc-admin-dash-action__icon--gold { color: #d39a00; background: rgba(211,154,0,.12); }
.cc-admin-dash-action__icon svg { width: 22px; height: 22px; }
.cc-admin-dash-action strong,
.cc-admin-dash-action small {
    display: block;
    min-width: 0;
}
.cc-admin-dash-action strong {
    font-family: var(--cc-font-hoofd, Georgia, serif);
    font-size: 1rem;
    line-height: 1.18;
}
.cc-admin-dash-action small {
    color: var(--cc-admin-muted);
    margin-top: 3px;
    font-size: .81rem;
}
.cc-admin-dash-action b {
    color: var(--cc-admin-muted);
    font-size: 1.35rem;
    font-weight: 400;
}
.cc-admin-dash-campings__head,
.cc-admin-dash-campings__row {
    display: grid;
    grid-template-columns: minmax(170px, 1.4fr) minmax(110px, .8fr) minmax(125px, .9fr) minmax(105px, .75fr);
    align-items: center;
    gap: 14px;
}
.cc-admin-dash-campings__head {
    padding: 4px 0 10px;
    color: var(--cc-admin-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.cc-admin-dash-campings__row {
    min-height: 45px;
    border-top: 1px solid rgba(15,23,42,.08);
    color: var(--cc-admin-text) !important;
    text-decoration: none !important;
    font-size: .9rem;
}
.cc-admin-dash-campings__row:hover strong { color: var(--cc-admin-green); }
.cc-admin-dash-campings__name {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.cc-admin-dash-campings__name img,
.cc-admin-dash-campings__name i {
    width: 42px;
    height: 28px;
    flex: 0 0 42px;
    border-radius: 7px;
    object-fit: cover;
    background: rgba(45,106,79,.10);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    box-shadow: inset 0 0 0 1px rgba(15,23,42,.05);
}
.cc-admin-dash-campings__name strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .15s;
}
.cc-admin-dash-campings__empty {
    padding: 18px;
    border: 1px dashed rgba(45,106,79,.22);
    border-radius: 12px;
    color: var(--cc-admin-muted);
    text-align: center;
}
.cc-admin-dash-notices {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.cc-admin-dash-notice {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    padding: 13px;
    border-radius: 13px;
    border: 1px solid rgba(15,23,42,.08);
    background: rgba(255,255,255,.74);
    color: var(--cc-admin-text) !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.cc-admin-dash-notice:hover {
    transform: translateY(-1px);
    border-color: rgba(45,106,79,.28);
    box-shadow: 0 10px 24px rgba(15,23,42,.07);
}
.cc-admin-dash-notice--info { background: rgba(45,121,184,.08); border-color: rgba(45,121,184,.18); }
.cc-admin-dash-notice--warning { background: rgba(211,154,0,.09); border-color: rgba(211,154,0,.22); }
.cc-admin-dash-notice--success { background: rgba(45,106,79,.09); border-color: rgba(45,106,79,.20); }
.cc-admin-dash-notice > span {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    background: var(--cc-admin-green);
}
.cc-admin-dash-notice--info > span { background: #2d79b8; }
.cc-admin-dash-notice--warning > span { background: #d39a00; }
.cc-admin-dash-notice--success > span { background: #1f8b52; }
.cc-admin-dash-notice svg { width: 17px; height: 17px; }
.cc-admin-dash-notice strong,
.cc-admin-dash-notice small {
    display: block;
}
.cc-admin-dash-notice strong {
    color: var(--cc-admin-text);
    font-weight: 850;
    font-size: .9rem;
}
.cc-admin-dash-notice small {
    color: var(--cc-admin-muted);
    margin-top: 3px;
    font-size: .78rem;
    line-height: 1.35;
}
.cc-admin-dash-notice__button,
.cc-admin-dash__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 10px;
    background: #fff;
    color: var(--cc-admin-text) !important;
    text-decoration: none !important;
    font-size: .84rem;
    font-weight: 800;
    white-space: nowrap;
}
.cc-admin-dash__button--primary {
    background: var(--cc-admin-green);
    border-color: var(--cc-admin-green);
    color: #fff !important;
}
.cc-admin-dash--compact {
    min-height: calc(100vh - 80px);
    display: grid;
    place-items: center;
}
.cc-admin-dash__access-card {
    width: min(520px, 100%);
    padding: 34px;
    text-align: center;
}
.cc-admin-dash__access-icon {
    width: 72px;
    height: 72px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    border-radius: 22px;
    background: rgba(45,106,79,.10);
    font-size: 2.2rem;
}
.cc-admin-dash__access-card h1 {
    margin: 0 0 10px;
    font-family: var(--cc-font-hoofd, Georgia, serif);
    color: var(--cc-admin-text) !important;
}
.cc-admin-dash__access-card p {
    margin: 0 auto 20px;
    color: var(--cc-admin-muted);
    max-width: 380px;
}

:root.cc-dark .cc-admin-dash {
    --cc-admin-border: rgba(255,255,255,.10);
}
:root.cc-dark .cc-admin-dash-stat,
:root.cc-dark .cc-admin-dash-card,
:root.cc-dark .cc-admin-dash__access-card {
    background: #1e2128;
    box-shadow: 0 18px 44px rgba(0,0,0,.24);
}
:root.cc-dark .cc-admin-dash-stat--green,
:root.cc-dark .cc-admin-dash-stat--gold,
:root.cc-dark .cc-admin-dash-stat--blue,
:root.cc-dark .cc-admin-dash-stat--purple {
    background: linear-gradient(135deg, rgba(255,255,255,.05), rgba(30,33,40,.96));
}
:root.cc-dark .cc-admin-dash__small-button,
:root.cc-dark .cc-admin-dash-action,
:root.cc-dark .cc-admin-dash-notice__button,
:root.cc-dark .cc-admin-dash__button {
    background: #252a32;
    border-color: rgba(255,255,255,.12);
}
:root.cc-dark .cc-admin-dash-list__row,
:root.cc-dark .cc-admin-dash-status__row,
:root.cc-dark .cc-admin-dash-campings__row {
    border-color: rgba(255,255,255,.08);
}

@media (max-width: 980px) {
    .cc-admin-dash { width: min(100% - 32px, 760px); padding-top: 30px; }
    .cc-admin-dash__stats { grid-template-columns: 1fr 1fr; }
    .cc-admin-dash__grid--two,
    .cc-admin-dash__grid--actions { grid-template-columns: 1fr; }
    .cc-admin-dash-notices { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .cc-topnav__admin-btn {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
    }
    .cc-admin-dash { width: min(100% - 24px, 620px); padding: 24px 0 42px; }
    .cc-admin-dash__hero { gap: 12px; margin-bottom: 20px; }
    .cc-admin-dash__hero-icon { font-size: 2.3rem; }
    .cc-admin-dash__hero h1 { font-size: clamp(1.8rem, 8vw, 2.45rem); }
    .cc-admin-dash__hero p { font-size: .95rem; }
    .cc-admin-dash__stats { gap: 12px; }
    .cc-admin-dash-stat { min-height: 96px; gap: 12px; padding: 16px; }
    .cc-admin-dash-stat__icon { width: 48px; height: 48px; flex-basis: 48px; }
    .cc-admin-dash-stat__icon svg { width: 24px; height: 24px; }
    .cc-admin-dash-card { padding: 15px; border-radius: 16px; }
    .cc-admin-dash-list__row { grid-template-columns: 30px minmax(0, 1fr) auto; gap: 9px; }
    .cc-admin-dash-list time { font-size: .78rem; }
    .cc-admin-dash-actions { grid-template-columns: 1fr; }
    .cc-admin-dash-campings__head { display: none; }
    .cc-admin-dash-campings__row {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: 'name date' 'land owner';
        gap: 4px 10px;
        min-height: 62px;
        padding: 9px 0;
    }
    .cc-admin-dash-campings__row > span:nth-child(1) { grid-area: name; }
    .cc-admin-dash-campings__row > span:nth-child(2) { grid-area: land; color: var(--cc-admin-muted); font-size: .82rem; }
    .cc-admin-dash-campings__row > span:nth-child(3) { grid-area: owner; color: var(--cc-admin-muted); font-size: .82rem; text-align: right; }
    .cc-admin-dash-campings__row > span:nth-child(4) { grid-area: date; color: var(--cc-admin-muted); font-size: .82rem; text-align: right; }
    .cc-admin-dash-notice { grid-template-columns: 32px minmax(0, 1fr); }
    .cc-admin-dash-notice__button { grid-column: 2; justify-self: start; margin-top: 4px; }
}
@media (max-width: 460px) {
    .cc-admin-dash__stats { grid-template-columns: 1fr; }
    .cc-admin-dash-status__row { grid-template-columns: 1fr auto; gap: 4px 10px; padding: 9px 0; }
    .cc-admin-dash-status__row strong { grid-column: 1; grid-row: 2; color: var(--cc-admin-muted); }
    .cc-admin-dash-status__row em { grid-column: 2; grid-row: 1 / span 2; }
}

/* ------------------------------------------------------------
   v3.6.428 Frontend beheerpanelen vanuit Snelle acties
   ------------------------------------------------------------ */
.cc-admin-dash-card--frontend {
    margin-bottom: 18px;
    scroll-margin-top: 96px;
}
.cc-admin-front-head {
    align-items: center;
}
.cc-admin-front-head__badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(45,106,79,.10);
    color: var(--cc-admin-green);
    font-size: .78rem;
    font-weight: 850;
    white-space: nowrap;
}
.cc-admin-front-panels {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.cc-admin-front-panel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100%;
    padding: 14px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 16px;
    background: rgba(255,255,255,.74);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
    scroll-margin-top: 96px;
}
.cc-admin-front-panel__head {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
    color: var(--cc-admin-green);
}
.cc-admin-front-panel__head--gold { color: #d39a00; }
.cc-admin-front-panel__head > span {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(45,106,79,.10);
}
.cc-admin-front-panel__head--gold > span { background: rgba(211,154,0,.12); }
.cc-admin-front-panel__head svg {
    width: 17px;
    height: 17px;
}
.cc-admin-front-panel__head h3 {
    margin: 0;
    color: var(--cc-admin-text) !important;
    font-family: var(--cc-font-hoofd, Georgia, serif);
    font-size: 1rem;
    line-height: 1.15;
}
.cc-admin-front-tools {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin-bottom: 8px;
}
.cc-admin-front-search-wrap,
.cc-admin-front-select-wrap {
    display: block;
    min-width: 0;
}
.cc-admin-front-search,
.cc-admin-front-select,
.cc-admin-front-filter-btn {
    width: 100%;
    min-height: 34px;
    border: 1px solid rgba(15,23,42,.10) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--cc-admin-text) !important;
    font: inherit !important;
    font-size: .78rem !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
}
.cc-admin-front-search {
    padding: 0 10px !important;
}
.cc-admin-front-select {
    padding: 0 30px 0 10px !important;
    appearance: auto;
}
.cc-admin-front-filter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px !important;
    color: var(--cc-admin-muted) !important;
    font-weight: 850 !important;
    cursor: pointer;
    white-space: nowrap;
}
.cc-admin-front-search:focus,
.cc-admin-front-select:focus,
.cc-admin-front-filter-btn:focus-visible {
    border-color: rgba(45,106,79,.45) !important;
    box-shadow: 0 0 0 3px rgba(45,106,79,.10) !important;
}
.cc-admin-front-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}
.cc-admin-front-chips .cc-admin-front-select-wrap {
    flex: 1 1 94px;
}
.cc-admin-front-chips .cc-admin-front-select {
    min-height: 28px;
    border-radius: 999px !important;
    background: rgba(255,255,255,.72) !important;
    color: var(--cc-admin-muted) !important;
    font-size: .72rem !important;
    font-weight: 750 !important;
}
.cc-admin-front-list,
.cc-admin-front-table,
.cc-admin-front-logs {
    display: grid;
    gap: 0;
    min-width: 0;
}
.cc-admin-front-row,
.cc-admin-front-table__row,
.cc-admin-front-log {
    min-width: 0;
    border-top: 1px solid rgba(15,23,42,.07);
}
.cc-admin-front-row:first-child,
.cc-admin-front-table__row:first-of-type,
.cc-admin-front-log:first-child { border-top: 0; }
.cc-admin-front-row,
.cc-admin-front-table__row {
    color: var(--cc-admin-text) !important;
    text-decoration: none !important;
}
.cc-admin-front-row--camping {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    grid-template-areas: 'thumb name badge' 'thumb land badge';
    align-items: center;
    gap: 2px 8px;
    min-height: 48px;
    padding: 7px 0;
}
.cc-admin-front-thumb { grid-area: thumb; }
.cc-admin-front-row--camping strong { grid-area: name; }
.cc-admin-front-row--camping small { grid-area: land; }
.cc-admin-front-row--camping em { grid-area: badge; }
.cc-admin-front-thumb img,
.cc-admin-front-thumb i {
    width: 36px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    object-fit: cover;
    background: rgba(45,106,79,.10);
    font-style: normal;
}
.cc-admin-front-row strong,
.cc-admin-front-table__row strong,
.cc-admin-front-log strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--cc-admin-text);
    font-size: .82rem;
    font-weight: 850;
}
.cc-admin-front-row small,
.cc-admin-front-table__row small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--cc-admin-muted);
    font-size: .72rem;
}
.cc-admin-front-table__head,
.cc-admin-front-table__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(70px, .55fr) auto;
    align-items: center;
    gap: 8px;
}
.cc-admin-front-table__head {
    padding: 5px 0 7px;
    color: var(--cc-admin-muted);
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.cc-admin-front-table__row {
    min-height: 42px;
    padding: 7px 0;
    font-size: .78rem;
}
.cc-admin-front-table--premium .cc-admin-front-table__row {
    grid-template-columns: minmax(0, 1fr) minmax(74px, .65fr) auto;
}
.cc-admin-front-mini-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 9px;
}
.cc-admin-front-mini-stats span {
    display: block;
    min-width: 0;
    padding: 9px 6px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 12px;
    background: rgba(255,255,255,.70);
    text-align: center;
}
.cc-admin-front-mini-stats strong {
    display: block;
    color: var(--cc-admin-green);
    font-family: var(--cc-font-hoofd, Georgia, serif);
    font-size: 1.05rem;
    line-height: 1;
}
.cc-admin-front-mini-stats small {
    display: block;
    margin-top: 4px;
    color: var(--cc-admin-muted);
    font-size: .66rem;
    line-height: 1.2;
}
.cc-admin-front-log {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 6px 0;
}
.cc-admin-front-log time {
    color: var(--cc-admin-muted);
    font-size: .68rem;
    line-height: 1.2;
}
.cc-admin-front-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    font-style: normal;
    font-size: .68rem;
    font-weight: 850;
    white-space: nowrap;
}
.cc-admin-front-badge--success { background: rgba(31,139,82,.12); color: #1f7a4c; }
.cc-admin-front-badge--info { background: rgba(45,121,184,.12); color: #2d79b8; }
.cc-admin-front-badge--warning { background: rgba(211,154,0,.13); color: #a96c00; }
.cc-admin-front-badge--danger { background: rgba(198,40,40,.10); color: #b42318; }
.cc-admin-front-badge--neutral { background: rgba(107,114,128,.12); color: #5b6470; }
.cc-admin-front-footer {
    margin-top: auto;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 12px;
    background: #fff;
    color: var(--cc-admin-text) !important;
    text-decoration: none !important;
    font-size: .82rem;
    font-weight: 850;
}
.cc-admin-front-footer:hover {
    border-color: rgba(45,106,79,.24);
    color: var(--cc-admin-green) !important;
}
.cc-admin-front-more {
    width: 100%;
    min-height: 36px;
    margin: 10px 0 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(45,106,79,.18) !important;
    border-radius: 999px !important;
    background: rgba(45,106,79,.08) !important;
    color: var(--cc-admin-green) !important;
    font: inherit !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.cc-admin-front-more:hover,
.cc-admin-front-more:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(45,106,79,.34) !important;
    background: rgba(45,106,79,.13) !important;
    outline: none !important;
}
.cc-admin-front-more[hidden] {
    display: none !important;
}
.cc-admin-front-empty {
    padding: 14px;
    color: var(--cc-admin-muted);
    text-align: center;
    font-size: .84rem;
}
:root.cc-dark .cc-admin-front-panel,
:root.cc-dark .cc-admin-front-search,
:root.cc-dark .cc-admin-front-select,
:root.cc-dark .cc-admin-front-filter-btn,
:root.cc-dark .cc-admin-front-mini-stats span,
:root.cc-dark .cc-admin-front-footer,
:root.cc-dark .cc-admin-front-more {
    background: #252a32;
    border-color: rgba(255,255,255,.10);
}
:root.cc-dark .cc-admin-front-row,
:root.cc-dark .cc-admin-front-table__row,
:root.cc-dark .cc-admin-front-log {
    border-color: rgba(255,255,255,.08);
}

.cc-admin-front-row[hidden],
.cc-admin-front-table__row[hidden],
.cc-admin-front-log[hidden],
.cc-admin-front-empty[hidden] {
    display: none !important;
}
.cc-admin-front-panel--highlight {
    animation: cc-admin-panel-pulse 1.05s ease-out;
}
@keyframes cc-admin-panel-pulse {
    0% { box-shadow: 0 0 0 0 rgba(45,106,79,.35), inset 0 1px 0 rgba(255,255,255,.9); border-color: rgba(45,106,79,.42); }
    100% { box-shadow: 0 0 0 12px rgba(45,106,79,0), inset 0 1px 0 rgba(255,255,255,.9); }
}

@media (max-width: 1180px) {
    .cc-admin-front-panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .cc-admin-front-head { align-items: flex-start; }
    .cc-admin-front-panels { grid-template-columns: 1fr; }
    .cc-admin-front-panel { padding: 13px; }
    .cc-admin-front-table__head { display: none; }
    .cc-admin-front-table__row,
    .cc-admin-front-table--premium .cc-admin-front-table__row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 4px 8px;
    }
    .cc-admin-front-table__row > span:first-child { grid-column: 1; grid-row: 1 / span 2; }
    .cc-admin-front-table__row > span:nth-child(2) { grid-column: 2; grid-row: 1; text-align: right; color: var(--cc-admin-muted); }
    .cc-admin-front-table__row > span:nth-child(3) { grid-column: 2; grid-row: 2; justify-self: end; }
    .cc-admin-front-log { grid-template-columns: minmax(0, 1fr) auto; }
    .cc-admin-front-log time { grid-column: 1 / -1; }
}

/* v3.6.428 Publieke homepage anchors: vaste header netjes compenseren */
.cc-land-highlights,
.cc-land-redenen,
.cc-land-demo,
.cc-land-plannen,
.cc-land-faq-preview {
    scroll-margin-top: 96px;
}


/* v3.6.428 Dashboard: globale campinginzage voor eigenaar */
.cc-admin-front-panel__badge{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px;
  border-radius:999px;
  border:1px solid rgba(45,111,85,.18);
  background:rgba(45,111,85,.10);
  color:#2d6f55;
  font-size:11px;
  font-weight:800;
  font-style:normal;
  line-height:1.2;
  white-space:nowrap;
}
@media (max-width:640px){
  .cc-admin-front-panel__badge{margin-left:0;margin-top:4px;}
}

/* v3.6.433: frontend dashboard pagination replaces the visible 8 rows instead of extending the panel. */
.cc-admin-front-pager {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin: 10px 0 8px;
}
.cc-admin-front-pager[hidden],
.cc-admin-front-pager__status[hidden] {
    display: none !important;
}
.cc-admin-front-pager .cc-admin-front-more {
    width: 100%;
    margin: 0;
}
.cc-admin-front-pager__status {
    min-width: 76px;
    color: var(--cc-admin-muted);
    font-size: .76rem;
    font-weight: 800;
    text-align: center;
    white-space: nowrap;
}
.cc-admin-front-more--prev[hidden],
.cc-admin-front-more--next[hidden] {
    visibility: hidden;
    display: inline-flex !important;
    pointer-events: none;
}
:root.cc-dark .cc-admin-front-pager__status {
    color: rgba(226,232,240,.70);
}

/* v3.6.434: frontend gebruikersdetail vanuit dashboard */
.cc-admin-user-detail {
    margin: 0 0 16px;
    padding: 18px;
    border: 1px solid rgba(45,106,79,.16);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(244,250,247,.82) 100%);
    box-shadow: 0 18px 44px rgba(15,23,42,.08);
    scroll-margin-top: 104px;
}
.cc-admin-user-detail__top,
.cc-admin-user-detail__hero,
.cc-admin-user-detail__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}
.cc-admin-user-detail__top {
    justify-content: space-between;
    margin-bottom: 14px;
}
.cc-admin-user-detail__back,
.cc-admin-user-detail__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 999px;
    background: #fff;
    color: var(--cc-admin-green) !important;
    text-decoration: none !important;
    font-size: .82rem;
    font-weight: 850;
}
.cc-admin-user-detail__hero {
    align-items: flex-start;
    margin-bottom: 16px;
}
.cc-admin-user-detail__avatar {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: rgba(45,106,79,.12);
    color: var(--cc-admin-green);
    font-size: 1.4rem;
    font-weight: 950;
}
.cc-admin-user-detail__eyebrow {
    margin: 0 0 4px;
    color: var(--cc-admin-green);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.cc-admin-user-detail h3 {
    margin: 0;
    color: var(--cc-admin-text);
    font-family: var(--cc-font-hoofd, Georgia, serif);
    font-size: clamp(1.35rem, 3vw, 2rem);
    line-height: 1.05;
}
.cc-admin-user-detail__hero p:last-child {
    margin: 6px 0 0;
    color: var(--cc-admin-muted);
}
.cc-admin-user-detail__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.cc-admin-user-detail__item {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 14px;
    background: rgba(255,255,255,.76);
}
.cc-admin-user-detail__item span,
.cc-admin-user-detail__item em,
.cc-admin-user-detail__campings small,
.cc-admin-user-detail__empty {
    display: block;
    color: var(--cc-admin-muted);
    font-size: .76rem;
    font-style: normal;
}
.cc-admin-user-detail__item strong {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--cc-admin-text);
    font-size: .9rem;
}
.cc-admin-user-detail__actions {
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.cc-admin-user-detail__campings {
    border-top: 1px solid rgba(15,23,42,.08);
    padding-top: 14px;
}
.cc-admin-user-detail__campings h4 {
    margin: 0 0 8px;
    color: var(--cc-admin-text);
    font-size: .98rem;
}
.cc-admin-user-detail__camping-list {
    display: grid;
    gap: 0;
}
.cc-admin-user-detail__camping-list a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 10px;
    padding: 9px 0;
    border-top: 1px solid rgba(15,23,42,.07);
    color: var(--cc-admin-text) !important;
    text-decoration: none !important;
}
.cc-admin-user-detail__camping-list a:first-child { border-top: 0; }
.cc-admin-user-detail__camping-list strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .86rem;
}
.cc-admin-user-detail__camping-list small {
    grid-column: 1 / -1;
}
:root.cc-dark .cc-admin-user-detail,
:root.cc-dark .cc-admin-user-detail__item,
:root.cc-dark .cc-admin-user-detail__back,
:root.cc-dark .cc-admin-user-detail__actions a {
    background: #252a32;
    border-color: rgba(255,255,255,.10);
}
:root.cc-dark .cc-admin-user-detail__campings,
:root.cc-dark .cc-admin-user-detail__camping-list a {
    border-color: rgba(255,255,255,.08);
}
@media (max-width: 980px) {
    .cc-admin-user-detail__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .cc-admin-user-detail { padding: 14px; }
    .cc-admin-user-detail__top,
    .cc-admin-user-detail__hero { align-items: flex-start; }
    .cc-admin-user-detail__top { flex-direction: column; }
    .cc-admin-user-detail__grid { grid-template-columns: 1fr; }
}

/* v3.6.436: popup sluiten zonder dashboard-actie-interceptie */
.cc-admin-user-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, .30);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}
.cc-admin-user-modal__backdrop {
    position: absolute;
    inset: 0;
    display: block;
    cursor: default;
}
.cc-admin-user-detail--modal {
    position: relative;
    z-index: 1;
    width: min(960px, 100%);
    max-height: calc(100dvh - 48px);
    overflow: auto;
    margin: 0;
    padding: 20px;
    box-shadow: 0 30px 90px rgba(15, 23, 42, .24);
    animation: cc-admin-user-modal-in .18s ease-out;
}
@keyframes cc-admin-user-modal-in {
    from { opacity: 0; transform: translateY(10px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.cc-admin-user-detail__top-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.cc-admin-user-modal__close {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 999px;
    background: #111827;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .18);
}
.cc-admin-user-modal__close:hover,
.cc-admin-user-modal__close:focus-visible {
    transform: translateY(-1px);
    outline: none;
}
html.cc-admin-user-modal-is-open,
html.cc-admin-user-modal-is-open body {
    overflow: hidden;
}
body.admin-bar .cc-admin-user-modal {
    padding-top: calc(24px + 32px);
}
:root.cc-dark .cc-admin-user-modal {
    background: rgba(2, 6, 23, .52);
}
:root.cc-dark .cc-admin-user-modal__close {
    background: #f8fafc;
    color: #111827 !important;
}
@media (max-width: 782px) {
    body.admin-bar .cc-admin-user-modal {
        padding-top: calc(18px + 46px);
    }
}
@media (max-width: 620px) {
    .cc-admin-user-modal {
        align-items: flex-end;
        padding: 12px;
    }
    .cc-admin-user-detail--modal {
        max-height: calc(100dvh - 24px);
        border-radius: 22px 22px 18px 18px;
    }
    .cc-admin-user-detail__top-actions {
        width: 100%;
        justify-content: space-between;
    }
    .cc-admin-user-modal__close {
        width: 40px;
        height: 40px;
    }
}


/* v3.6.441: agenda-knoppen op Mijn reisplanning */
.cc-vr-rij {
    position: relative;
    gap: 14px;
}
.cc-vr-agenda {
    position: relative;
    z-index: 5;
    pointer-events: auto;
    margin-left: auto;
    align-self: center;
    min-width: 255px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    padding-left: 12px;
}
.cc-vr-agenda__kop {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border: 1px solid rgba(45, 119, 86, .18);
    border-radius: 999px;
    background: rgba(45, 119, 86, .08);
    color: #286f50;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}
.cc-vr-agenda__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.cc-vr-agenda__knoppen {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}
.cc-vr-agenda__btn {
    position: relative;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .10);
    background: #fff;
    color: #174d38 !important;
    text-decoration: none !important;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.cc-vr-agenda__btn:hover,
.cc-vr-agenda__btn:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(45, 119, 86, .32);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .10);
    outline: none;
}
.cc-vr-agenda__btn--google { background: linear-gradient(180deg, #fff, #f8fafc); }
.cc-vr-agenda__btn--ms { background: linear-gradient(180deg, #f7fbff, #eef7ff); }
.cc-vr-agenda__btn--apple { background: linear-gradient(180deg, #f8fff9, #eefbf2); }

/* v3.6.475 - één primaire agenda-knop (auto op basis van toestel) + uitklap voor overige */
.cc-vr-agenda__primair {
    cursor: pointer;
    text-decoration: none !important;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.cc-vr-agenda__primair:hover,
.cc-vr-agenda__primair:focus-visible {
    background: rgba(45, 119, 86, .16);
    border-color: rgba(45, 119, 86, .34);
    transform: translateY(-1px);
    outline: none;
}
.cc-vr-agenda__meer {
    background: none;
    border: none;
    padding: 2px 6px;
    cursor: pointer;
    color: #6b7280;
    font-size: .72rem;
    font-weight: 700;
    text-decoration: underline;
    line-height: 1;
}
.cc-vr-agenda__meer:hover,
.cc-vr-agenda__meer:focus-visible { color: #286f50; outline: none; }
.cc-vr-agenda__knoppen[hidden] { display: none; }
:root.cc-dark .cc-vr-agenda__kop {
    background: rgba(74, 222, 128, .12);
    border-color: rgba(74, 222, 128, .22);
    color: #bbf7d0;
}
:root.cc-dark .cc-vr-agenda__btn {
    background: #1f2937;
    border-color: rgba(255,255,255,.10);
    color: #f8fafc !important;
    box-shadow: none;
}
@media (max-width: 920px) {
    .cc-vr-agenda {
        min-width: 0;
        width: 100%;
        align-items: flex-start;
        padding-left: 0;
        margin-left: 0;
        margin-top: 8px;
    }
    .cc-vr-agenda__knoppen {
        justify-content: flex-start;
    }
}
@media (max-width: 560px) {
    .cc-vr-agenda__kop {
        width: 100%;
        justify-content: center;
    }
    .cc-vr-agenda__knoppen {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .cc-vr-agenda__btn {
        width: 100%;
        padding-inline: 8px;
        font-size: .72rem;
    }
}
.cc-vr-rij {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}
.cc-vr-link {
    flex: 1 1 auto;
    min-width: 0;
}
@media (max-width: 920px) {
    .cc-vr-rij { flex-wrap: wrap; }
}

/* v3.6.446: adaptive mini-routekaart en compacte sluitknop op Mijn reisplanning */
.cc-trip-route {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) minmax(180px, 26%);
    gap: 14px;
    align-items: center;
    margin: 10px 0 10px 36px;
    padding: 12px 16px;
    border: 1px solid rgba(45, 119, 86, .16);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(240, 253, 244, .84), rgba(255, 255, 255, .96));
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    overflow: hidden;
}
.cc-trip-route::before {
    content: '';
    position: absolute;
    left: -24px;
    top: -10px;
    bottom: -10px;
    width: 2px;
    background: linear-gradient(180deg, rgba(45,119,86,.20), rgba(45,119,86,.46), rgba(45,119,86,.20));
}
.cc-trip-route__icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fff;
    color: #2d7756;
    border: 1px solid rgba(45,119,86,.18);
    box-shadow: 0 8px 18px rgba(45,119,86,.10);
}
.cc-trip-route__content {
    min-width: 0;
}
.cc-trip-route__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px 16px;
}
.cc-trip-route__stats {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.cc-trip-route__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
.cc-trip-route__eyebrow {
    display: block;
    margin-bottom: 3px;
    color: #2d7756;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.cc-trip-route strong {
    display: block;
    color: #102033;
    font-size: 1.1rem;
    font-weight: 900;
    line-height: 1.1;
}
.cc-trip-route__divider {
    width: 1px;
    height: 36px;
    background: rgba(15, 23, 42, .14);
}
.cc-trip-route__note {
    color: #64748b;
    font-size: .82rem;
    font-weight: 700;
}
.cc-trip-route__button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 8px 13px;
    border-radius: 999px;
    border: 1px solid rgba(45,119,86,.18);
    background: #fff;
    color: #276d4f !important;
    text-decoration: none !important;
    font-size: .88rem;
    font-weight: 900;
    box-shadow: 0 10px 18px rgba(15, 23, 42, .05);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.cc-trip-route__button:hover,
.cc-trip-route__button:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(45,119,86,.36);
    box-shadow: 0 14px 24px rgba(15, 23, 42, .08);
    outline: none;
}
.cc-trip-route__visual {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    opacity: .96;
}
.cc-trip-route__map {
    width: min(260px, 100%);
    height: 96px;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(45,119,86,.18);
    background: linear-gradient(135deg, #e9f4ec, #f7fbf7);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.42), 0 10px 22px rgba(15,23,42,.06);
}
.cc-trip-route__map .leaflet-container {
    width: 100%;
    height: 100%;
    background: #e7efe7;
    font: inherit;
}
.cc-trip-route__map .cc-trip-route__tile {
    filter: saturate(.72) contrast(.95) brightness(1.04);
}
.cc-trip-route__map .leaflet-control-container { display: none; }
.cc-trip-route__map .leaflet-pane,
.cc-trip-route__map .leaflet-tile,
.cc-trip-route__map .leaflet-marker-icon,
.cc-trip-route__map .leaflet-marker-shadow,
.cc-trip-route__map .leaflet-tile-container,
.cc-trip-route__map .leaflet-pane > svg,
.cc-trip-route__map .leaflet-pane > canvas,
.cc-trip-route__map .leaflet-zoom-box,
.cc-trip-route__map .leaflet-image-layer,
.cc-trip-route__map .leaflet-layer {
    position: absolute !important;
    left: 0;
    top: 0;
}
.cc-trip-route__caravan {
    width: min(190px, 100%);
    height: auto;
}
.cc-trip-route__hill--back { fill: rgba(45,119,86,.08); }
.cc-trip-route__hill { fill: rgba(45,119,86,.13); }
.cc-trip-route__road {
    fill: none;
    stroke: rgba(45,119,86,.68);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 8 8;
}
.cc-trip-route__pin { fill: #2d7756; }
.cc-trip-route__pin circle { fill: #fff; }
.cc-trip-route__pin--end { fill: #f59e0b; }
.cc-trip-route__combo {
    fill: #fff;
    stroke: #2d7756;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 6px 6px rgba(15,23,42,.08));
}
.cc-trip-route__combo circle { fill: #102033; stroke: #fff; stroke-width: 3; }
:root.cc-dark .cc-trip-route {
    background: linear-gradient(135deg, rgba(22, 101, 52, .18), rgba(15, 23, 42, .96));
    border-color: rgba(74, 222, 128, .20);
    box-shadow: none;
}
:root.cc-dark .cc-trip-route__icon,
:root.cc-dark .cc-trip-route__button {
    background: #111827;
    border-color: rgba(255,255,255,.10);
    color: #bbf7d0 !important;
    box-shadow: none;
}
:root.cc-dark .cc-trip-route strong { color: #f8fafc; }
:root.cc-dark .cc-trip-route__note { color: #cbd5e1; }
:root.cc-dark .cc-trip-route__divider { background: rgba(255,255,255,.14); }
@media (max-width: 920px) {
    .cc-trip-route {
        grid-template-columns: 42px minmax(0, 1fr);
        margin-left: 0;
    }
    .cc-trip-route__top {
        grid-template-columns: 1fr;
    }
    .cc-trip-route__actions {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }
    .cc-trip-route__visual {
        grid-column: 1 / -1;
        justify-content: center;
        min-height: 66px;
    }
    .cc-trip-route__map { width: min(100%, 280px); height: 104px; }
    .cc-trip-route__caravan { width: min(170px, 100%); }
    .cc-trip-route::before { display: none; }
}
@media (max-width: 560px) {
    .cc-trip-route {
        grid-template-columns: 1fr;
        padding: 14px;
        border-radius: 18px;
    }
    .cc-trip-route__icon { display: none; }
    .cc-trip-route__stats {
        gap: 12px;
        align-items: stretch;
    }
    .cc-trip-route__divider { display: none; }
    .cc-trip-route__stats > div:not(.cc-trip-route__divider) {
        flex: 1 1 140px;
    }
    .cc-trip-route__actions {
        align-items: stretch;
    }
    .cc-trip-route__button {
        width: 100%;
        justify-content: center;
    }
    .cc-trip-route__visual { min-height: 58px; }
    .cc-trip-route__map { width: 100%; height: 112px; }
    .cc-trip-route__caravan { width: min(150px, 100%); }
}


.cc-trip-route-collapse[hidden] { display: none !important; }
.cc-trip-route-collapse.is-open { display: block; }
.cc-vr-route-toggle-wrap {
    margin-left: 8px;
}
.cc-vr-route-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(45,119,86,.16);
    background: #fff;
    color: #276d4f;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(15,23,42,.05);
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.cc-vr-route-toggle:hover,
.cc-vr-route-toggle:focus-visible,
.cc-vr-route-toggle.is-active {
    border-color: rgba(45,119,86,.34);
    background: #f4fbf6;
    box-shadow: 0 12px 22px rgba(15,23,42,.08);
    outline: none;
}
.cc-vr-route-toggle:focus-visible,
.cc-vr-route-toggle:hover { transform: translateY(-1px); }
.cc-vr-route-toggle__icon {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.cc-trip-route {
    position: relative;
}
.cc-trip-route__close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 999px;
    background: #183c2d;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 8px 18px rgba(15,23,42,.16);
    transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
    z-index: 5;
}
.cc-trip-route__close:hover,
.cc-trip-route__close:focus-visible {
    transform: translateY(-1px) scale(1.04);
    background: #0f2b20;
    box-shadow: 0 12px 22px rgba(15,23,42,.22);
    outline: none;
}
@media (max-width: 920px) {
    .cc-vr-route-toggle-wrap {
        margin-left: 0;
    }
}


/* v3.6.446: Auto & caravan in Mijn profiel */
.cc-vehicle-profile-card {
    position: relative;
    overflow: hidden;
}
.cc-vehicle-profile-card::after {
    content: '';
    position: absolute;
    right: -80px;
    top: -80px;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(45,119,86,.12), rgba(45,119,86,0) 66%);
    pointer-events: none;
}
.cc-vehicle-profile-form {
    position: relative;
    z-index: 1;
}
.cc-vehicle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}
.cc-vehicle-card {
    border: 1px solid var(--cc-border, #e5e1d8);
    border-radius: 22px;
    padding: 18px;
    background: linear-gradient(135deg, #ffffff 0%, #fbfaf7 100%);
    box-shadow: 0 12px 28px rgba(31,45,34,.06);
}
.cc-vehicle-card--caravan {
    background: linear-gradient(135deg, #f4fbf6 0%, #ffffff 74%);
    border-color: rgba(45,119,86,.18);
}
.cc-vehicle-card__head {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 14px;
}
.cc-vehicle-card__icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 16px;
    background: #eef8f1;
    color: var(--cc-groen, #2d6a4f);
    font-size: 1.15rem;
}
.cc-vehicle-card__head h3 {
    margin: 0 0 4px;
    color: var(--cc-tekst, #17201b);
    font-size: 1.1rem;
    line-height: 1.2;
}
.cc-vehicle-card__head p {
    margin: 0;
    color: var(--cc-tekst-2, #667085);
    font-size: .88rem;
    line-height: 1.45;
}
.cc-vehicle-plate-row {
    margin: 7px 0 14px;
}
.cc-vehicle-plate {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 900;
    font-size: 1.05rem;
    background: #fffbe8 !important;
    border-color: #ead46b !important;
    color: #152033 !important;
}
.cc-vehicle-data {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}
.cc-vehicle-kv {
    padding: 11px 12px;
    border: 1px solid var(--cc-border, #e5e1d8);
    border-radius: 14px;
    background: #fff;
}
.cc-vehicle-kv span {
    display: block;
    margin-bottom: 3px;
    color: var(--cc-tekst-2, #667085);
    font-size: .78rem;
    line-height: 1.3;
}
.cc-vehicle-kv strong {
    display: block;
    color: var(--cc-tekst, #17201b);
    font-size: .94rem;
    line-height: 1.3;
}
.cc-vehicle-kv--important {
    border-color: rgba(45,119,86,.22);
    background: #f0fbf4;
    box-shadow: inset 0 0 0 1px rgba(45,119,86,.04);
}
.cc-vehicle-kv--important strong {
    color: var(--cc-groen, #2d6a4f);
    font-weight: 900;
}
.cc-vehicle-profile-actions {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid rgba(45,119,86,.14);
    border-radius: 18px;
    background: #fbfaf7;
}
.cc-vehicle-profile-actions p {
    margin: 0;
    flex: 1 1 280px;
    color: var(--cc-tekst-2, #667085);
    font-size: .9rem;
    line-height: 1.45;
}
:root.cc-dark .cc-vehicle-card,
:root.cc-dark .cc-vehicle-kv,
:root.cc-dark .cc-vehicle-profile-actions {
    background: #151d29 !important;
    border-color: #334155 !important;
}
:root.cc-dark .cc-vehicle-card--caravan {
    background: linear-gradient(135deg, rgba(22,101,52,.18), #151d29 72%) !important;
}
:root.cc-dark .cc-vehicle-card__head h3,
:root.cc-dark .cc-vehicle-kv strong {
    color: var(--cc-tekst, #f3f4f6) !important;
}
:root.cc-dark .cc-vehicle-card__head p,
:root.cc-dark .cc-vehicle-kv span,
:root.cc-dark .cc-vehicle-profile-actions p {
    color: #cbd5e1 !important;
}
@media (max-width: 920px) {
    .cc-vehicle-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 560px) {
    .cc-vehicle-card {
        padding: 15px;
        border-radius: 18px;
    }
    .cc-vehicle-data {
        grid-template-columns: 1fr;
    }
    .cc-vehicle-profile-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .cc-vehicle-profile-actions .cc-submit {
        width: 100%;
    }
}

/* v3.6.448: Rijbewijsindicatie onder auto- en caravangegevens */

.cc-vehicle-license-position {
    margin-top: 16px;
}
.cc-vehicle-license-position .cc-vehicle-license {
    margin: 0;
}
.cc-vehicle-license {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 16px;
    margin: 16px 0 18px;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(45,119,86,.18);
    background: linear-gradient(135deg, #f0fbf4 0%, #fff 74%);
    box-shadow: 0 14px 32px rgba(31,45,34,.07);
}
.cc-vehicle-license--attention {
    border-color: rgba(245,158,11,.28);
    background: linear-gradient(135deg, #fff7ed 0%, #fff 76%);
}
.cc-vehicle-license--warning {
    border-color: rgba(220,38,38,.24);
    background: linear-gradient(135deg, #fff1f2 0%, #fff 76%);
}
.cc-vehicle-license--unknown {
    border-color: rgba(148,163,184,.28);
    background: linear-gradient(135deg, #f8fafc 0%, #fff 76%);
}
.cc-vehicle-license__badge {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(45,119,86,.10), 0 10px 20px rgba(15,23,42,.05);
    font-size: 1.35rem;
}
.cc-vehicle-license__eyebrow {
    display: block;
    margin-bottom: 4px;
    color: var(--cc-groen, #2d6a4f);
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.cc-vehicle-license strong {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 7px 14px;
    border-radius: 999px;
    background: var(--cc-groen, #2d6a4f);
    color: #fff;
    font-size: 1.22rem;
    line-height: 1;
    font-weight: 950;
    box-shadow: 0 12px 22px rgba(45,119,86,.16);
}
.cc-vehicle-license--attention strong { background: #b45309; box-shadow: 0 12px 22px rgba(180,83,9,.14); }
.cc-vehicle-license--warning strong { background: #b91c1c; box-shadow: 0 12px 22px rgba(185,28,28,.14); }
.cc-vehicle-license--unknown strong { background: #64748b; box-shadow: none; }
.cc-vehicle-license h3 {
    margin: 12px 0 4px;
    color: var(--cc-tekst, #17201b);
    font-size: 1.15rem;
    line-height: 1.25;
}
.cc-vehicle-license p {
    margin: 0;
    color: var(--cc-tekst-2, #667085);
    line-height: 1.5;
}
.cc-vehicle-license__chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}
.cc-vehicle-license__chips span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(45,119,86,.12);
    color: var(--cc-groen, #2d6a4f);
    font-size: .82rem;
    font-weight: 850;
}
.cc-vehicle-license__warnings {
    margin: 12px 0 0;
    padding-left: 18px;
    color: #9a3412;
    font-size: .88rem;
    line-height: 1.45;
}
.cc-vehicle-license small {
    display: block;
    margin-top: 10px;
    color: var(--cc-tekst-2, #667085);
    font-size: .8rem;
    line-height: 1.45;
}
.cc-vehicle-data--editable {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cc-vehicle-field {
    display: grid;
    gap: 6px;
    padding: 11px 12px;
    border: 1px solid var(--cc-border, #e5e1d8);
    border-radius: 14px;
    background: #fff;
}
.cc-vehicle-field--important {
    border-color: rgba(45,119,86,.22);
    background: #f0fbf4;
    box-shadow: inset 0 0 0 1px rgba(45,119,86,.04);
}
.cc-vehicle-field > span:first-child {
    color: var(--cc-tekst-2, #667085);
    font-size: .78rem;
    line-height: 1.3;
    font-weight: 800;
}
.cc-vehicle-field__control {
    display: flex;
    align-items: center;
    gap: 8px;
}
.cc-vehicle-field__control input {
    width: 100%;
    min-width: 0;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    color: var(--cc-tekst, #17201b) !important;
    font-size: .95rem;
    font-weight: 900;
    box-shadow: none !important;
    outline: none;
}
.cc-vehicle-field__control input:focus {
    outline: 2px solid rgba(45,119,86,.18);
    outline-offset: 5px;
    border-radius: 8px;
}
.cc-vehicle-field__control em {
    flex: 0 0 auto;
    color: var(--cc-groen, #2d6a4f);
    font-style: normal;
    font-size: .8rem;
    font-weight: 900;
}
:root.cc-dark .cc-vehicle-license,
:root.cc-dark .cc-vehicle-license__badge,
:root.cc-dark .cc-vehicle-license__chips span,
:root.cc-dark .cc-vehicle-field {
    background: #151d29 !important;
    border-color: #334155 !important;
}
:root.cc-dark .cc-vehicle-field--important,
:root.cc-dark .cc-vehicle-license--attention,
:root.cc-dark .cc-vehicle-license--warning,
:root.cc-dark .cc-vehicle-license--unknown {
    background: linear-gradient(135deg, rgba(22,101,52,.15), #151d29 72%) !important;
}
:root.cc-dark .cc-vehicle-license h3,
:root.cc-dark .cc-vehicle-field__control input {
    color: var(--cc-tekst, #f3f4f6) !important;
}
:root.cc-dark .cc-vehicle-license p,
:root.cc-dark .cc-vehicle-license small,
:root.cc-dark .cc-vehicle-field > span:first-child {
    color: #cbd5e1 !important;
}
@media (max-width: 720px) {
    .cc-vehicle-license {
        grid-template-columns: 1fr;
    }
    .cc-vehicle-data--editable {
        grid-template-columns: 1fr;
    }
}

/* ── Dagboek per dag (invoer binnen een verblijf) ── */
.cc-veld--dagboek .cc-dagboek-hint{margin:.25rem 0 .7rem;font-size:.82rem;color:#6b7280;line-height:1.4}
.cc-dagen-lijst{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.cc-dag-rij{border:1px solid #e2e8e0;border-radius:10px;padding:10px 12px;background:#f7f5f0}
.cc-dag-rij-top{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.cc-dag-rij-top .cc-dag-datum{flex:0 0 auto}
.cc-dag-rij-top .cc-dag-weer{flex:1 1 120px;min-width:120px}
.cc-dag-rij-top .cc-dag-temp{width:72px;flex:0 0 auto}
.cc-dag-verwijder{margin-left:auto;border:none;background:transparent;color:#b45309;cursor:pointer;font-size:1rem;line-height:1;padding:4px 8px;border-radius:6px}
.cc-dag-verwijder:hover{background:#fdeede}
.cc-dag-tekst{width:100%;min-height:54px;resize:vertical}
.cc-dag-toevoegen{background:#2d6a4f;color:#fff;border:none;border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer;font-size:.9rem}
.cc-dag-toevoegen:hover{background:#245a42}
.cc-dag-kop{font-size:.78rem;font-weight:700;color:#2d6a4f;margin-bottom:6px;letter-spacing:.01em}
.cc-dag-acties{display:flex;gap:8px;flex-wrap:wrap}
.cc-dagen-vullen{background:#fff;color:#2d6a4f;border:1px solid #2d6a4f;border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer;font-size:.9rem}
.cc-dagen-vullen:hover{background:#eef5f0}

/* ── Reisroute-kaart (uitklapbare harmonica + kaart) ── */
.cc-trip-route-blok{margin:18px 0 22px;display:flex;flex-direction:column;align-items:center}
.cc-trip-route-knop{display:inline-flex;align-items:center;gap:8px;background:#2d6a4f;color:#fff;border:none;border-radius:999px;padding:12px 22px;font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 12px 24px rgba(45,106,79,.22);transition:background .16s ease,transform .16s ease}
.cc-trip-route-knop:hover{background:#245a42;transform:translateY(-1px)}
.cc-trip-route-knop__chevron{display:inline-block;font-size:1.1rem;line-height:1;transition:transform .2s ease}
.cc-trip-route-knop.is-open .cc-trip-route-knop__chevron{transform:rotate(180deg)}
.cc-trip-route-paneel{width:100%;margin-top:14px;padding:20px;background:var(--cc-wit,#fff);border:1px solid var(--cc-border,#e5e1d8);border-radius:20px;box-shadow:0 14px 34px rgba(31,45,34,.07);animation:ccRouteOpen .22s ease}
@keyframes ccRouteOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.cc-trip-route-paneel__kicker{display:inline-flex;margin:0 0 8px;padding:5px 10px;border-radius:999px;background:#e8f5ee;color:var(--cc-groen,#2d6a4f);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.cc-trip-route-paneel__titel{margin:0 0 6px;color:var(--cc-tekst,#17201b);font-family:Georgia,serif;font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.15}
.cc-trip-route-paneel__sub{margin:0;color:var(--cc-tekst-2,#667085);line-height:1.5}
.cc-trip-route-home-note{display:flex;align-items:flex-start;gap:9px;margin:12px 0 0;padding:10px 12px;border:1px solid #dbeee3;border-radius:14px;background:#f2fbf5;color:var(--cc-groen,#2d6a4f);font-size:.9rem;line-height:1.35}
.cc-trip-route-home-note strong{font-weight:800}
.cc-trip-route-home-note--warn{border-color:#fed7aa;background:#fff7ed;color:#b45309}
.cc-trip-route-kaart{height:693px;min-height:400px;width:100%;border-radius:16px;overflow:hidden;border:1px solid #e5e1d8;margin-top:14px}
@media(max-width:640px){.cc-trip-route-kaart{height:80vh;min-height:427px}}
.cc-trip-route-pin{display:grid;place-items:center;width:28px;height:28px;background:#2d6a4f;color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.35);font-size:.82rem;font-weight:700;font-family:system-ui,sans-serif}

/* v3.6.465: routekaart in Mijn reisplanning 1/3 hoger */
.cc-trip-route-paneel:not([hidden]) .cc-trip-route-kaart{
    display:block!important;
    width:100%!important;
    min-height:453px!important;
    height:min(747px,96vh)!important;
    background:#e8efe9!important;
    border:1px solid #dfe6dc!important;
}
.cc-trip-route-paneel:not([hidden]) .cc-trip-route-kaart .leaflet-container,
.cc-trip-route-paneel:not([hidden]) .cc-trip-route-kaart.leaflet-container{
    width:100%!important;
    height:100%!important;
    min-height:453px!important;
}
@media(max-width:640px){
    .cc-trip-route-paneel:not([hidden]) .cc-trip-route-kaart{
        min-height:453px!important;
        height:80vh!important;
    }
}

/* v3.6.467: thuisadres in Mijn gegevens + thuis-marker in reisroutekaart */
.cc-home-address-form{margin:18px 0 4px;padding:18px;border:1px solid var(--cc-border,#e5e1d8);border-radius:20px;background:linear-gradient(135deg,#fbfaf7 0%,#fff 74%);box-shadow:0 10px 24px rgba(31,45,34,.05)}
.cc-home-address-form__head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}
.cc-home-address-form__head span{display:inline-flex;margin-bottom:6px;padding:4px 9px;border-radius:999px;background:#e8f5ee;color:var(--cc-groen,#2d6a4f);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.cc-home-address-form__head h3{margin:0 0 5px;color:var(--cc-tekst,#17201b);font-size:1.12rem;line-height:1.2}
.cc-home-address-form__head p{margin:0;color:var(--cc-tekst-2,#667085);line-height:1.5}
.cc-home-address-status{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#f6f4ef;color:#667085;font-size:.78rem;font-weight:800;white-space:nowrap}
.cc-home-address-status--ok{background:#e8f5ee;color:var(--cc-groen,#2d6a4f)}
.cc-home-address-status--warn{background:#fff7ed;color:#b45309}
.cc-home-address-current{display:grid;gap:3px;margin:0 0 14px;padding:12px 14px;border:1px solid #dbeee3;border-radius:16px;background:#f2fbf5}
.cc-home-address-current span{color:var(--cc-groen,#2d6a4f);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.cc-home-address-current strong{color:var(--cc-tekst,#17201b);font-size:.95rem;line-height:1.35}
.cc-home-address-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:12px}
.cc-home-address-field{display:grid;gap:6px;min-width:0}
.cc-home-address-field--wide{grid-column:span 2}
.cc-home-address-field span{color:var(--cc-tekst-2,#667085);font-size:.82rem;font-weight:800}
.cc-home-address-field input{width:100%;height:42px;border:1px solid var(--cc-border,#e5e1d8);border-radius:12px;background:#fff;color:var(--cc-tekst,#17201b);font:inherit;padding:9px 11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.cc-home-address-field input:focus{outline:none;border-color:#9ccab0;box-shadow:0 0 0 3px rgba(45,106,79,.13)}
.cc-home-address-field select{width:100%;height:42px;border:1px solid var(--cc-border,#e5e1d8);border-radius:12px;background:#fff;color:var(--cc-tekst,#17201b);font:inherit;padding:9px 11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.cc-home-address-field select:focus{outline:none;border-color:#9ccab0;box-shadow:0 0 0 3px rgba(45,106,79,.13)}
.cc-home-address-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.cc-home-address-actions p{margin:0;color:var(--cc-tekst-2,#667085);font-size:.88rem;line-height:1.45;max-width:700px}
.cc-trip-route-pin--home{width:34px;height:34px;background:#17201b;font-size:1.05rem;border-color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.32)}
@media(max-width:760px){.cc-home-address-form__head{display:grid}.cc-home-address-status{justify-self:start}.cc-home-address-grid{grid-template-columns:1fr}.cc-home-address-field--wide{grid-column:auto}.cc-home-address-actions .cc-submit{width:100%;justify-content:center}}

/* v3.6.468: voorkeursroute auto + caravan op reisroutekaart */
.cc-trip-route-profile-note{display:flex;align-items:flex-start;gap:9px;margin:12px 0 0;padding:10px 12px;border:1px solid #dbeee3;border-radius:14px;background:#f2fbf5;color:var(--cc-groen,#2d6a4f);font-size:.88rem;line-height:1.35}
.cc-trip-route-profile-note strong{font-weight:800}

/* ─────────────────────────────────────────────────────────────
   Verblijf annuleren (bewerkformulier) — annuleren ≠ verwijderen.
   Een geannuleerd verblijf blijft bewaard, maar telt niet mee.
   ───────────────────────────────────────────────────────────── */
.cc-verblijf-annuleer{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#fff8ed;color:#b45309;border:1px solid #f0d6a8;font-size:1rem;font-weight:800;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.cc-verblijf-annuleer:hover{background:#fef3c7;border-color:#e3b864;transform:translateY(-1px)}
.cc-verblijf-annuleer:focus-visible{outline:2px solid rgba(180,83,9,.35);outline-offset:2px}
.cc-verblijf-annulering{display:none;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 4px;padding:12px 14px;border:1px solid #f0e0c2;border-radius:12px;background:#fffaf2}
.cc-verblijf-annulering__tekst{flex:1 1 220px;min-width:180px;font-size:.84rem;line-height:1.45;color:#85673a}
.cc-verblijf-herstel{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;background:#2d6a4f;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-family:inherit;font-size:.83rem;font-weight:700;cursor:pointer;transition:background .15s}
.cc-verblijf-herstel:hover{background:#1f5438}
.cc-verblijf-blok--geannuleerd{opacity:.92}
.cc-verblijf-blok--geannuleerd .cc-verblijf-toggle{background:linear-gradient(135deg,#faf6ef 0%,#fff 100%);border-color:#e8dcc2}
.cc-verblijf-blok--geannuleerd .cc-verblijf-nr{color:#b08642}
.cc-verblijf-blok--geannuleerd .cc-verblijf-samenvatting{text-decoration:line-through;color:#b08642}
.cc-verblijf-blok--geannuleerd .cc-verblijf-annulering{display:flex}
.cc-verblijf-blok--geannuleerd .cc-verblijf-body>.cc-form-rij,
.cc-verblijf-blok--geannuleerd .cc-veld--dagboek{opacity:.5}

/* Popup: geannuleerd verblijf herkenbaar markeren */
.cc-popup-verblijf--geannuleerd{opacity:.7}
.cc-popup-verblijf--geannuleerd .cc-popup-verblijf__datum{text-decoration:line-through}
.cc-popup-verblijf__annul{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#fef3c7;color:#b45309;font-size:.66rem;font-weight:800;letter-spacing:.02em;vertical-align:middle}

/* ─────────────────────────────────────────────────────────────
   Mobiele zoekbalk gelijk aan webversie: één zoekveld, geen
   losse zoekpill die een tweede regel opent (v3.6.483).
   ───────────────────────────────────────────────────────────── */
@media (max-width: 700px){
    #cc-zoekpill.cc-zoekpill{display:none !important;}
    #cc-zoekbalk.cc-zoekbalk{display:flex !important;flex-wrap:wrap;gap:10px;margin-bottom:10px;animation:none !important;}
}


/* Verbruik-eenheid wisselknop + reden-veld (v3.6.483) */
.cc-verbruik-waarde{cursor:pointer;border-bottom:1px dashed currentColor;text-underline-offset:2px;white-space:nowrap}
.cc-verbruik-waarde:hover{opacity:.78}
.cc-verbruik-waarde:focus-visible{outline:2px solid rgba(45,106,79,.35);outline-offset:2px;border-radius:4px}
.cc-brandstof-pill--gem{background:#eef6f1;color:#2d6a4f;font-weight:700}
.cc-bp__getal .cc-verbruik-waarde{border-bottom-color:rgba(45,106,79,.4)}
.cc-v-geannuleerd-reden{flex:1 1 200px;min-width:160px;padding:8px 11px;border:1px solid #e3d3ad;border-radius:8px;background:#fff;font:inherit;font-size:.85rem;color:#5c4a22}
.cc-v-geannuleerd-reden::placeholder{color:#b29a63}

/* Logboek lezen + notitie toevoegen (v3.6.484) */
.cc-logboek-form{margin-top:14px;border-top:1px solid #e5e1d8;padding-top:14px}
.cc-logboek-form__tekst{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #e5e1d8;border-radius:10px;font:inherit;font-size:.9rem;resize:vertical;min-height:64px;background:#fff;color:#1a1a1a}
.cc-logboek-form__tekst:focus{outline:none;border-color:#9ccab0;box-shadow:0 0 0 3px rgba(45,106,79,.13)}
.cc-logboek-form__rij{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;flex-wrap:wrap}
.cc-logboek-form__status{font-size:.82rem;color:#2d6a4f;font-weight:600}
.cc-logboek-form__btn{flex:0 0 auto;background:#2d6a4f;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s}
.cc-logboek-form__btn:hover{background:#1f5438}
.cc-logboek-form__btn:disabled{opacity:.6;cursor:default}
.cc-logboek-leeg{color:#6b7280;font-size:.88rem;line-height:1.5;padding:8px 0}
.cc-kaart__logboek-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;background:#eef6f1;color:#2d6a4f;border:1px solid #cfe3d7;border-radius:8px;padding:7px 12px;font-family:inherit;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}
.cc-kaart__logboek-btn:hover{background:#dff0e7;border-color:#a9ceb7}
:root.cc-dark .cc-logboek-form__tekst{background:#1e2633;border-color:rgba(255,255,255,.14);color:#f3efe7}
:root.cc-dark .cc-kaart__logboek-btn{background:#1e2633;border-color:rgba(255,255,255,.12);color:#a9ceb7}

/* Vertrekpunt kiezen in reisplanning (v3.6.485) */
.cc-trip-vertrek{margin:14px 0 4px;padding:14px 16px;border:1px solid #e5e1d8;border-radius:14px;background:#fbfaf7}
.cc-trip-vertrek__titel{font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#2d6a4f;margin-bottom:10px}
.cc-trip-vertrek__keuze{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.9rem}
.cc-trip-vertrek__keuze label{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-weight:600;color:#374151}
.cc-trip-vertrek__form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.cc-trip-vertrek__form input{padding:9px 11px;border:1px solid #e5e1d8;border-radius:8px;font:inherit;font-size:.88rem;background:#fff;color:#1a1a1a}
.cc-trip-vertrek__form input:focus{outline:none;border-color:#9ccab0;box-shadow:0 0 0 3px rgba(45,106,79,.13)}
.cc-trip-vertrek__btn{grid-column:1 / -1;justify-self:start;background:#2d6a4f;color:#fff;border:none;border-radius:8px;padding:9px 18px;font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s}
.cc-trip-vertrek__btn:hover{background:#1f5438}
.cc-trip-vertrek__status{margin-top:9px;font-size:.82rem;color:#2d6a4f;font-weight:600;min-height:1em}
@media(max-width:560px){.cc-trip-vertrek__form{grid-template-columns:1fr}}
:root.cc-dark .cc-trip-vertrek{background:#1e2633;border-color:rgba(255,255,255,.10)}
:root.cc-dark .cc-trip-vertrek__form input{background:#141a22;border-color:rgba(255,255,255,.14);color:#f3efe7}
:root.cc-dark .cc-trip-vertrek__keuze label{color:#cbd5e1}


/* v3.6.484: verblijf-acties rustiger - geen chevron, verwijderen onderaan */
.cc-verblijf-chevron{display:none!important}
.cc-verblijf-acties-onderaan{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:18px 0 4px;padding-top:14px;border-top:1px solid #e8e1d6}
.cc-verblijf-verwijder{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 16px;border-radius:999px;border:1px solid #f3c8c4;background:#fff;color:#b42318;font-family:inherit;font-size:.84rem;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(180,35,24,.06);transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}
.cc-verblijf-verwijder:hover{background:#fff1f1;border-color:#efaca6;transform:translateY(-1px);box-shadow:0 10px 20px rgba(180,35,24,.09)}
.cc-verblijf-verwijder:focus-visible{outline:2px solid rgba(180,35,24,.25);outline-offset:2px}
@media(max-width:700px){.cc-verblijf-acties-onderaan{justify-content:stretch}.cc-verblijf-verwijder{width:100%}}

/* v3.6.485: verwijderknop past zich aan aan de tekst */
.cc-verblijf-verwijder--onderaan{width:auto!important;max-width:none!important;min-width:max-content!important;flex:0 0 auto!important;white-space:nowrap!important;line-height:1.1!important;padding-inline:16px!important}
@media(max-width:700px){.cc-verblijf-acties-onderaan{justify-content:flex-end}.cc-verblijf-verwijder--onderaan{width:auto!important;max-width:none!important;min-width:max-content!important;white-space:nowrap!important}}

/* v3.6.489 - kaartpagina: statistiektegels zonder overbodige Bekijk kaart-tegel */
.cc-app--kaart .cc-uitlijning-wrap .cc-stats-rij--zonder-kaarttegel {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}
.cc-app--kaart .cc-uitlijning-wrap .cc-stats-rij--zonder-kaarttegel .cc-stat-card {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    box-sizing: border-box !important;
}
@media (max-width: 700px) {
    .cc-app--kaart .cc-uitlijning-wrap .cc-stats-rij--zonder-kaarttegel {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 8px !important;
        overflow: hidden !important;
    }
}


/* v3.6.491: named trip cards and lower fuel overview */
.cc-trip-plannen{margin:0 0 18px}
.cc-trip-plannen__titel{font-size:1.05rem;margin:0 0 10px;color:var(--cc-tekst);font-weight:800}
.cc-trip-plannen__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.cc-trip-plan-card{background:#fff;border:1px solid var(--cc-rand);border-radius:18px;padding:16px;box-shadow:0 8px 20px rgba(0,0,0,.035)}
.cc-trip-plan-card__kop{display:flex;gap:12px;align-items:flex-start}
.cc-trip-plan-card__icon{width:42px;height:42px;border-radius:14px;background:#e9f7ef;color:#1f6b4a;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.cc-trip-plan-card h3{margin:0;color:var(--cc-groen);font-size:1rem;line-height:1.25}
.cc-trip-plan-card p{margin:.25rem 0 0;color:var(--cc-grijs);font-size:.9rem}
.cc-trip-plan-card__note{border-top:1px solid var(--cc-rand);padding-top:10px;margin-top:12px!important}
.cc-trip-plan-card__link{display:inline-flex;margin-top:12px;text-decoration:none;color:var(--cc-groen);font-weight:800;font-size:.9rem}
.cc-brandstof-hint{margin:0 0 14px;color:var(--cc-grijs);font-size:.9rem;line-height:1.45}
.cc-tijdlijn-sectie + .cc-bp,.cc-trip-route-blok + .cc-bp{margin-top:18px}
@media(max-width:700px){.cc-trip-plannen__grid{grid-template-columns:1fr}.cc-trip-plan-card{padding:14px}}

.cc-bp__empty{width:100%;min-height:90px;display:flex;align-items:center;justify-content:center;color:var(--cc-grijs);font-weight:700;text-align:center}

/* v3.6.493: paklijst verwijderen in lijstmenu */
.cc-checklist-scope-menu__delete{margin-top:10px!important;color:#b42318!important;border-color:#ffd0cc!important;background:#fff7f6!important;width:100%!important;justify-content:center!important;}
.cc-checklist-scope-menu__delete:hover{background:#ffeceb!important;color:#8f1d14!important;}

/* v3.6.498 / v3.7.225 - Reisplanner + historie uit oude geschiedenis + afsluiten verwijderen */
.cc-trip-plannen__titel{display:flex;align-items:center;gap:.5rem;margin:22px 0 14px;color:var(--cc-groen,#2d6a4f)}
.cc-trip-plannen__titel::after{content:'nieuwste bovenaan';font:700 .68rem/1 var(--cc-font-body,Inter,system-ui,sans-serif);letter-spacing:.04em;text-transform:uppercase;color:#2f855a;background:#e8f5ee;border:1px solid rgba(47,133,90,.16);border-radius:999px;padding:6px 9px}
.cc-trip-plannen__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.cc-trip-plan-card.cc-trip-tegel{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:100%;cursor:pointer;border-radius:18px;background:#fff;border:1px solid rgba(45,106,79,.16);box-shadow:0 10px 28px rgba(15,23,42,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.cc-trip-plan-card.cc-trip-tegel:hover,.cc-trip-plan-card.cc-trip-tegel:focus-visible{transform:translateY(-2px);box-shadow:0 16px 38px rgba(15,23,42,.12);border-color:rgba(45,106,79,.35);outline:none}
.cc-trip-tegel__foto{position:relative;min-height:112px;background:linear-gradient(135deg,#dcefe4,#f2eadc);background-size:cover;background-position:center;display:flex;justify-content:flex-end;align-items:flex-start;padding:10px}
.cc-trip-tegel__foto::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20));pointer-events:none}
.cc-trip-tegel__badge{position:relative;z-index:1;display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:900;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.16)}
.cc-trip-tegel__badge--gepland,.cc-trip-tegel__badge--actief{background:#2F855A}.cc-trip-tegel__badge--afgesloten{background:#B08A4A}
.cc-trip-tegel__body{padding:14px 15px 15px;display:flex;flex-direction:column;gap:10px;flex:1}
.cc-trip-tegel__kop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cc-trip-tegel__kop h3{margin:0;color:#10251a;font-size:1.03rem;line-height:1.2}.cc-trip-tegel__kop p{margin:5px 0 0!important;font-size:.78rem;color:#6b7280}.cc-trip-tegel__chevron{width:26px;height:26px;border-radius:50%;background:#f2f7f3;color:#2d6a4f;display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1;flex:0 0 auto}.cc-trip-tegel__route{margin:0!important;color:#374151!important;font-size:.82rem!important;line-height:1.45;min-height:2.3em}.cc-trip-tegel__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.cc-trip-tegel__meta span{display:inline-flex;align-items:center;gap:5px;background:#f7f5f0;border:1px solid var(--cc-border,#e5e1d8);border-radius:999px;padding:5px 8px;color:#4b5563;font-size:.76rem;font-weight:700}.cc-trip-tegel__paklijst{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--cc-border,#e5e1d8);padding-top:10px}.cc-trip-tegel__paklijst .cc-trip-plan-card__link{margin:0;color:#2F855A;background:#ecfdf3;border:1px solid rgba(47,133,90,.15);border-radius:8px;padding:5px 8px;font-size:.76rem}.cc-trip-tegel__paklijst small{color:#6b7280;font-size:.7rem;line-height:1.25;text-align:right}.cc-trip-tegel .cc-fuelmini{margin-top:0;padding-top:10px}.cc-trip-tegel .cc-fuelmini__acties{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cc-trip-tegel .cc-fuelmini__open,.cc-trip-tegel .cc-fuelmini__add{width:100%;margin:0;padding:8px 10px;font-size:.78rem;border-radius:10px}.cc-trip-autopack{display:flex;flex-direction:column;gap:4px;margin:0 0 14px;padding:12px 14px;border:1px solid rgba(47,133,90,.22);border-radius:12px;background:#eefaf3;color:#174b31}.cc-trip-autopack strong{font-size:.88rem}.cc-trip-autopack span{font-size:.8rem;line-height:1.45;color:#2f6046}.cc-vr-rij--actief{border-left:5px solid #2F855A}.cc-vr-rij--geweest{border-left:5px solid #B08A4A}.cc-vr-rij--actief .cc-vr-naam::after{content:'Nu / nog te gaan';display:inline-flex;margin-left:8px;vertical-align:middle;border-radius:999px;background:rgba(47,133,90,.10);color:#2F855A;padding:3px 7px;font-size:.66rem;font-weight:900}.cc-vr-rij--geweest .cc-vr-naam::after{content:'Al geweest';display:inline-flex;margin-left:8px;vertical-align:middle;border-radius:999px;background:rgba(176,138,74,.14);color:#B08A4A;padding:3px 7px;font-size:.66rem;font-weight:900}
:root.cc-dark .cc-trip-plannen__titel::after{background:rgba(104,211,145,.12);border-color:rgba(104,211,145,.30);color:#68D391}:root.cc-dark .cc-trip-plan-card.cc-trip-tegel{background:#1e2633;border-color:rgba(255,255,255,.10);box-shadow:0 14px 32px rgba(0,0,0,.28)}:root.cc-dark .cc-trip-tegel__foto{background:linear-gradient(135deg,#143323,#4a3b1f)}:root.cc-dark .cc-trip-tegel__badge--gepland,:root.cc-dark .cc-trip-tegel__badge--actief{background:#68D391;color:#10251a}:root.cc-dark .cc-trip-tegel__badge--afgesloten{background:#D6B36A;color:#1f1606}:root.cc-dark .cc-trip-tegel__kop h3{color:#f8fafc}:root.cc-dark .cc-trip-tegel__kop p,:root.cc-dark .cc-trip-tegel__paklijst small{color:#cbd5e1}:root.cc-dark .cc-trip-tegel__route{color:#e5e7eb!important}:root.cc-dark .cc-trip-tegel__chevron,:root.cc-dark .cc-trip-tegel__meta span{background:#141a22;border-color:rgba(255,255,255,.12);color:#d1d5db}:root.cc-dark .cc-trip-tegel__paklijst{border-color:rgba(255,255,255,.10)}:root.cc-dark .cc-trip-tegel__paklijst .cc-trip-plan-card__link{background:rgba(104,211,145,.12);border-color:rgba(104,211,145,.30);color:#68D391}:root.cc-dark .cc-trip-autopack{background:rgba(104,211,145,.10);border-color:rgba(104,211,145,.28);color:#dbfbe7}:root.cc-dark .cc-trip-autopack span{color:#b7edc9}:root.cc-dark .cc-vr-rij--actief{border-left-color:#68D391}:root.cc-dark .cc-vr-rij--geweest{border-left-color:#D6B36A}:root.cc-dark .cc-vr-rij--actief .cc-vr-naam::after{background:rgba(104,211,145,.14);color:#68D391}:root.cc-dark .cc-vr-rij--geweest .cc-vr-naam::after{background:rgba(214,179,106,.16);color:#D6B36A}
@media(max-width:980px){.cc-trip-plannen__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.cc-trip-plannen__grid{grid-template-columns:1fr}.cc-trip-tegel__foto{min-height:124px}.cc-trip-tegel__paklijst{align-items:flex-start;flex-direction:column}.cc-trip-tegel__paklijst small{text-align:left}.cc-trip-tegel .cc-fuelmini__acties{grid-template-columns:1fr}.cc-vr-rij--actief .cc-vr-naam::after,.cc-vr-rij--geweest .cc-vr-naam::after{display:table;margin:5px 0 0}}


.cc-trip-delete-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(180,35,24,.22);background:#fff1f0;color:#b42318;border-radius:10px;padding:8px 10px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;text-decoration:none}.cc-trip-delete-btn:hover{background:#ffe4e1;border-color:rgba(180,35,24,.38)}.cc-trip-delete-btn:disabled{opacity:.65;cursor:wait}.cc-trip-tegel__paklijst--history .cc-trip-plan-card__link{background:#f8f1df!important;border-color:rgba(176,138,74,.22)!important;color:#8a6428!important}.cc-tripdetail__delete{margin-top:16px;padding-top:14px;border-top:1px solid var(--cc-border,#e5e1d8)}:root.cc-dark .cc-trip-delete-btn{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.28);color:#fca5a5}:root.cc-dark .cc-trip-delete-btn:hover{background:rgba(248,113,113,.18);border-color:rgba(248,113,113,.42)}:root.cc-dark .cc-trip-tegel__paklijst--history .cc-trip-plan-card__link{background:rgba(214,179,106,.14)!important;border-color:rgba(214,179,106,.30)!important;color:#D6B36A!important}:root.cc-dark .cc-tripdetail__delete{border-color:rgba(255,255,255,.10)}


/* v3.6.501 / v3.7.228 - compactere reisplanner-tijdlijn */
.cc-tijdlijn-sectie .cc-vr-rij--compact {
    gap: 10px;
    padding: 8px 10px;
    border-radius: 12px;
    align-items: center;
    flex-wrap: nowrap;
}
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-link {
    gap: 10px;
    min-width: 0;
}
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-foto,
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-foto--leeg {
    width: 58px;
    height: 44px;
    border-radius: 9px;
}
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-info {
    gap: 2px;
    min-width: 0;
}
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-naam {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.2;
    font-size: .98rem;
}
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-locatie,
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-datum {
    font-size: .76rem;
    line-height: 1.25;
    gap: 5px;
}
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-agenda,
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-badge {
    display: none !important;
}
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-route-toggle-wrap {
    margin-left: 0;
    align-self: center;
    flex: 0 0 auto;
}
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-route-toggle {
    min-height: 32px;
    padding: 0 10px;
    gap: 6px;
    border-radius: 10px;
    font-size: .76rem;
    box-shadow: none;
}
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-route-toggle__icon {
    width: 16px;
    height: 16px;
}
.cc-tijdlijn-sectie .cc-tijdlijn-brandstof .cc-brandstof-rij {
    padding: 8px 10px;
    border-radius: 12px;
    gap: 10px;
    border-left: 4px solid #B08A4A;
    box-shadow: 0 4px 14px rgba(17,24,39,.04);
}
.cc-tijdlijn-sectie .cc-tijdlijn-brandstof .cc-brandstof-icoon {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    align-self: center;
}
.cc-tijdlijn-sectie .cc-tijdlijn-brandstof .cc-brandstof-titel {
    font-size: .9rem;
    line-height: 1.2;
}
.cc-tijdlijn-sectie .cc-tijdlijn-brandstof .cc-brandstof-meta {
    gap: 5px;
}
.cc-tijdlijn-sectie .cc-tijdlijn-brandstof .cc-brandstof-pill {
    padding: 3px 7px;
    font-size: .72rem;
}
:root.cc-dark .cc-tijdlijn-sectie .cc-tijdlijn-brandstof .cc-brandstof-rij {
    border-left-color: #D6B36A;
}
@media (max-width: 700px) {
    .cc-tijdlijn-sectie .cc-vr-rij--compact {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-route-toggle-wrap {
        width: 100%;
    }
    .cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-route-toggle {
        width: 100%;
        justify-content: center;
    }
}


/* v3.6.501 / v3.7.228 - compactere campingregels in reispopup + route onder agenda */
.cc-vr-side-actions {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    flex: 0 0 auto;
    min-width: 0;
}
.cc-vr-side-actions .cc-vr-agenda {
    margin-left: 0;
    padding-left: 0;
    min-width: 0;
    width: auto;
    align-self: flex-end;
}
.cc-vr-side-actions .cc-vr-route-toggle-wrap {
    margin-left: 0;
    align-self: flex-end;
}
.cc-vr-side-actions .cc-vr-route-toggle {
    justify-content: center;
}
.cc-tripdetail__campings {
    gap: 8px;
}
.cc-tripdetail__campings .cc-vr-rij {
    gap: 12px;
    padding: 10px 12px;
    border-radius: 14px;
    align-items: center;
}
.cc-tripdetail__campings .cc-vr-link {
    gap: 12px;
    min-width: 0;
}
.cc-tripdetail__campings .cc-vr-foto,
.cc-tripdetail__campings .cc-vr-foto--leeg {
    width: 74px;
    height: 56px;
    border-radius: 10px;
}
.cc-tripdetail__campings .cc-vr-info {
    gap: 2px;
    min-width: 0;
}
.cc-tripdetail__campings .cc-vr-naam {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.16;
    font-size: 1rem;
}
.cc-tripdetail__campings .cc-vr-locatie,
.cc-tripdetail__campings .cc-vr-datum {
    font-size: .78rem;
    line-height: 1.25;
    gap: 5px;
}
.cc-tripdetail__campings .cc-vr-nachten {
    padding: 2px 8px;
    font-size: .72rem;
}
.cc-tripdetail__campings .cc-vr-agenda__kop,
.cc-tripdetail__campings .cc-vr-route-toggle {
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: .78rem;
}
.cc-tripdetail__campings .cc-vr-route-toggle {
    width: 100%;
}
.cc-tripdetail__campings .cc-vr-side-actions {
    min-width: 158px;
}
.cc-tijdlijn-sectie .cc-vr-rij--compact .cc-vr-side-actions {
    margin-left: 0;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}
@media (max-width: 760px) {
    .cc-tripdetail__campings .cc-vr-rij {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .cc-tripdetail__campings .cc-vr-side-actions {
        width: 100%;
        min-width: 0;
        align-items: stretch;
        margin-left: 0;
    }
    .cc-tripdetail__campings .cc-vr-agenda__kop,
    .cc-tripdetail__campings .cc-vr-route-toggle {
        width: 100%;
        justify-content: center;
    }
}

/* v3.6.502 / v3.7.229 - popup acties: agenda, route en open gelijke knoppen + tankmoment verbergen bij afgesloten reizen */
.cc-vr-open-wrap {
    margin-left: 0;
    align-self: flex-end;
}
.cc-vr-open-camping {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(45,119,86,.16);
    background: #fff;
    color: #276d4f;
    font: inherit;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(15,23,42,.05);
    cursor: pointer;
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.cc-vr-open-camping:hover,
.cc-vr-open-camping:focus-visible {
    border-color: rgba(45,119,86,.34);
    background: #f4fbf6;
    box-shadow: 0 12px 22px rgba(15,23,42,.08);
    transform: translateY(-1px);
    outline: none;
}
.cc-vr-open-camping__icon {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.cc-tripdetail__campings .cc-vr-side-actions {
    width: 180px;
    min-width: 180px;
    align-items: stretch;
}
.cc-tripdetail__campings .cc-vr-side-actions .cc-vr-agenda,
.cc-tripdetail__campings .cc-vr-side-actions .cc-vr-route-toggle-wrap,
.cc-tripdetail__campings .cc-vr-side-actions .cc-vr-open-wrap {
    width: 100%;
    align-self: stretch;
}
.cc-tripdetail__campings .cc-vr-agenda__kop,
.cc-tripdetail__campings .cc-vr-route-toggle,
.cc-tripdetail__campings .cc-vr-open-camping {
    width: 100%;
    min-height: 38px;
    justify-content: center;
    box-sizing: border-box;
    padding: 0 14px;
    font-size: .78rem;
}
.cc-tripdetail__campings .cc-vr-route-toggle__icon,
.cc-tripdetail__campings .cc-vr-open-camping__icon {
    width: 17px;
    height: 17px;
}
.cc-trip-tegel--afgesloten .cc-fuelmini__add {
    display: none !important;
}
:root.cc-dark .cc-vr-open-camping {
    background: #1f2937;
    border-color: rgba(255,255,255,.10);
    color: #f8fafc;
    box-shadow: none;
}
:root.cc-dark .cc-vr-open-camping:hover,
:root.cc-dark .cc-vr-open-camping:focus-visible {
    background: #263445;
    border-color: rgba(104,211,145,.28);
}
@media (max-width: 760px) {
    .cc-tripdetail__campings .cc-vr-side-actions {
        width: 100%;
        min-width: 0;
    }
}

/* v3.6.510 / v3.7.235: routekaart in reis-popup weer inklapbaar + zoomknoppen zichtbaar */
.cc-rp-mapwrap{
  display:block!important;
  overflow:hidden!important;
  transition:max-height .32s ease!important;
}
.cc-rp-maptoggle[aria-expanded="false"] + .cc-rp-mapwrap{
  max-height:0!important;
  min-height:0!important;
  height:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border-top:0!important;
}
.cc-rp-maptoggle[aria-expanded="false"] + .cc-rp-mapwrap .cc-rp-map,
.cc-rp-maptoggle[aria-expanded="false"] + .cc-rp-mapwrap .cc-rp-map.leaflet-container{
  height:0!important;
  min-height:0!important;
}
.cc-rp-maptoggle[aria-expanded="true"] + .cc-rp-mapwrap{
  max-height:430px!important;
  min-height:340px!important;
  height:auto!important;
}
.cc-rp-map{
  display:block!important;
  width:100%!important;
  height:300px!important;
  min-height:300px!important;
  background:#e8efe9!important;
  border-bottom:1px solid #f0ede6;
}
.cc-rp-map.leaflet-container,
.cc-modal .cc-rp-map,
.cc-trip-detail-modal .cc-rp-map,
.cc-reis-popup .cc-rp-map{
  height:300px!important;
  min-height:300px!important;
}
.cc-rp-map .leaflet-control-container,
.cc-rp-map .leaflet-control-zoom{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:1000!important;
}
.cc-rp-map .leaflet-control-zoom{
  border:0!important;
  box-shadow:0 8px 22px rgba(28,58,40,.20)!important;
  margin:12px!important;
}
.cc-rp-map .leaflet-control-zoom a{
  display:block!important;
  width:32px!important;
  height:32px!important;
  line-height:32px!important;
  text-align:center!important;
  background:#fff!important;
  color:#0f5132!important;
  border-color:#e5e0d5!important;
  font-weight:900!important;
}
@media(max-width:700px){
  .cc-rp-maptoggle[aria-expanded="true"] + .cc-rp-mapwrap{max-height:390px!important;min-height:300px!important;}
  .cc-rp-map,.cc-rp-map.leaflet-container{height:260px!important;min-height:260px!important;}
}


/* v3.6.511 / v3.7.236: routekaart start altijd ingeklapt */
.cc-rp-maptoggle[aria-expanded="false"] + .cc-rp-mapwrap{max-height:0!important;min-height:0!important;overflow:hidden!important;}
.cc-rp-maptoggle[aria-expanded="false"] + .cc-rp-mapwrap .cc-rp-map{height:0!important;min-height:0!important;}
.cc-rp-maptoggle[aria-expanded="true"] + .cc-rp-mapwrap{max-height:420px!important;min-height:300px!important;}
.cc-rp-maptoggle[aria-expanded="true"] + .cc-rp-mapwrap .cc-rp-map{height:300px!important;min-height:300px!important;}

/* === Logboek: status-modi (gepland / lopend / afgesloten) === */
.cc-logboek-modusbadge{display:inline-flex;align-items:center;margin-left:auto;margin-right:10px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap;background:#e9f1ec;color:#2d6a4f;}
.cc-logboek-viewer[data-mode="gepland"] .cc-logboek-modusbadge{background:#fbeede;color:#b45309;}
.cc-logboek-viewer[data-mode="afgesloten"] .cc-logboek-modusbadge{background:#eef1f0;color:#4b5a53;}
.cc-logboek-toevoegen-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 0;background:none;border:none;color:#2d6a4f;font-size:14px;font-weight:600;cursor:pointer;}
.cc-logboek-toevoegen-link:hover{text-decoration:underline;}
.cc-logboek-toevoegen-link span{font-size:16px;line-height:1;}

/* cc-verborgen zelfstandig binnen de logboek-viewer (los van het child-theme) */
.cc-logboek-viewer .cc-verborgen{display:none !important;}


/* v3.6.516 - logboek-viewer volledig zelfstandig en standaard verborgen */
.cc-logboek-viewer{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  z-index:100050!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
  background:rgba(17,24,39,.55)!important;
  box-sizing:border-box!important;
}
.cc-logboek-viewer[aria-hidden="true"]{display:none!important;}
.cc-logboek-viewer.cc-logboek-viewer--open{display:flex!important;}
.cc-logboek-viewer__kaart{
  width:min(680px,100%)!important;
  max-height:calc(100vh - 40px)!important;
  overflow:hidden!important;
  background:#fff!important;
  border-radius:18px!important;
  box-shadow:0 24px 80px rgba(15,23,42,.28)!important;
}
.cc-logboek-viewer__body{
  max-height:calc(100vh - 145px)!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.cc-logboek-viewer .cc-verborgen{display:none!important;}


/* v3.6.518 - Gebruik alleen Foto-overzicht in de campingpopup; oude "Toegevoegde foto's" sectie blijft verborgen als datastorage. */
.cc-popup-gallery-store,
#cc-popup-gallery-wrap.cc-popup-gallery-store {
    display: none !important;
}
#cc-popup-foto-panel.cc-foto-overzicht-panel {
    display: block !important;
}
#cc-popup-foto-panel.cc-verborgen {
    display: none !important;
}
.cc-popup-gallery-store .cc-popup__sectie-titel,
.cc-popup-gallery-store .cc-popup__foto-add-btn {
    display: none !important;
}

/* v3.6.519 - Fotobeheer: verwijder- en draaiknop kleiner maken. */
.cc-foto-manager .cc-foto-item__del,
.cc-foto-manager .cc-foto-item__rot {
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    min-height: 12px !important;
    max-width: 12px !important;
    max-height: 12px !important;
    padding: 0 !important;
    line-height: 1 !important;
    box-shadow: 0 2px 5px rgba(17,24,39,.12) !important;
}

.cc-foto-manager .cc-foto-item__del {
    top: 4px !important;
    right: 4px !important;
}

.cc-foto-manager .cc-foto-item__rot {
    right: 4px !important;
    bottom: 4px !important;
}

.cc-foto-manager .cc-foto-item__del svg,
.cc-foto-manager .cc-foto-item__rot svg {
    width: 7px !important;
    height: 7px !important;
}

.cc-foto-manager .cc-foto-item__del:hover,
.cc-foto-manager .cc-foto-item__del:focus-visible {
    transform: translateY(-.5px) scale(1.03) !important;
}

.cc-foto-manager .cc-foto-item__rot:hover,
.cc-foto-manager .cc-foto-item__rot:focus-visible {
    transform: translateY(-.5px) scale(1.03) rotate(90deg) !important;
}

.cc-foto-manager .cc-foto-item__del:active {
    transform: scale(.96) !important;
}

.cc-foto-manager .cc-foto-item__rot:active {
    transform: scale(.96) rotate(90deg) !important;
}

/* v3.6.522 - logboek/dagboek subtegel met inklapbare dagen en autosave */
.cc-logboek-viewer__kaart{max-width:min(760px,calc(100vw - 32px));}
.cc-logboek-verblijf{display:flex;flex-direction:column;gap:10px;margin:12px 0 18px;}
.cc-logboek-verblijf__kop{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px;color:#2d6a4f;}
.cc-logboek-verblijf__kop strong{font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;}
.cc-logboek-verblijf__kop span{font-size:.82rem;color:#8a918f;}
.cc-logboek-dag{border:1px solid #e5e1d8;border-radius:14px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.03);overflow:hidden;}
.cc-logboek-dag__kop{width:100%;display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px 14px;background:#fbfaf7;border:0;color:#0f3d2e;font-family:inherit;font-weight:800;text-align:left;cursor:pointer;}
.cc-logboek-dag__titel{font-size:.95rem;line-height:1.25;}
.cc-logboek-dag__status{margin-left:auto;font-size:.76rem;font-weight:700;color:#6b7280;white-space:nowrap;}
.cc-logboek-dag__status.is-saving{color:#b45309;}
.cc-logboek-dag__status.is-saved{color:#2d6a4f;}
.cc-logboek-dag__status.is-error{color:#b42318;}
.cc-logboek-dag__chev{font-size:1rem;transition:transform .18s ease;color:#2d6a4f;}
.cc-logboek-dag--open .cc-logboek-dag__chev{transform:rotate(180deg);}
.cc-logboek-dag__body{padding:12px 14px 14px;border-top:1px solid #eee9df;background:#fff;}
.cc-logboek-dag__velden{display:grid;grid-template-columns:1fr 1fr minmax(90px,.7fr);gap:10px;margin-bottom:10px;}
.cc-logboek-dag label{display:flex;flex-direction:column;gap:5px;font-size:.75rem;font-weight:700;color:#6b7280;}
.cc-logboek-dag input,.cc-logboek-dag select,.cc-logboek-dag textarea{width:100%;box-sizing:border-box;border:1px solid #e5e1d8;border-radius:10px;background:#fff;color:#1f2937;font:inherit;font-size:.9rem;padding:9px 10px;}
.cc-logboek-dag textarea{min-height:96px;resize:vertical;line-height:1.45;}
.cc-logboek-dag input:focus,.cc-logboek-dag select:focus,.cc-logboek-dag textarea:focus{outline:none;border-color:#9ccab0;box-shadow:0 0 0 3px rgba(45,106,79,.12);}
.cc-logboek-dag__tekstlabel span{margin-bottom:0;}
:root.cc-dark .cc-logboek-dag{background:#18212c;border-color:rgba(255,255,255,.12);}
:root.cc-dark .cc-logboek-dag__kop{background:#1e2834;color:#d6f2df;}
:root.cc-dark .cc-logboek-dag__body{background:#141c26;border-top-color:rgba(255,255,255,.10);}
:root.cc-dark .cc-logboek-dag input,:root.cc-dark .cc-logboek-dag select,:root.cc-dark .cc-logboek-dag textarea{background:#111923;border-color:rgba(255,255,255,.13);color:#f3efe7;}
@media (max-width:640px){.cc-logboek-viewer__kaart{max-width:100%;}.cc-logboek-verblijf__kop{display:block;}.cc-logboek-verblijf__kop span{display:block;margin-top:2px;}.cc-logboek-dag__velden{grid-template-columns:1fr;}.cc-logboek-dag__kop{padding:11px 12px;}.cc-logboek-dag__body{padding:11px 12px 13px;}}
/* v3.6.549 - 'Naam wijzigen'-knop op reistegels (groene tegenhanger van de verwijderknop) */
.cc-trip-rename-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(45,106,79,.22);background:#eef6f0;color:#2d6a4f;border-radius:10px;padding:8px 10px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;text-decoration:none}
.cc-trip-rename-btn:hover{background:#e1efe7;border-color:rgba(45,106,79,.38)}
.cc-trip-rename-btn:disabled{opacity:.65;cursor:wait}
:root.cc-dark .cc-trip-rename-btn{background:rgba(156,202,176,.12);border-color:rgba(156,202,176,.28);color:#9ccab0}
:root.cc-dark .cc-trip-rename-btn:hover{background:rgba(156,202,176,.18);border-color:rgba(156,202,176,.42)}
/* v3.6.550 - 'camping aan deze reis koppelen'-kiezer in het reisdetail */
.cc-trip-add-camping{display:flex;gap:8px;align-items:center;margin:0 0 6px;flex-wrap:wrap}
.cc-trip-add-camping__select{flex:1 1 180px;min-width:0}
.cc-trip-add-camping__btn{flex:0 0 auto;width:auto;min-width:120px;display:inline-flex;align-items:center;justify-content:center}
.cc-trip-add-camping__btn:disabled{opacity:.65;cursor:wait}
/* v3.6.551 - vangnet tegen horizontaal uit het scherm vallen (vooral mobiel).
   Plugin-CSS laadt alleen op de app- en landingspagina's, dus dit raakt niet de
   rest van de WordPress-site. Er wordt nergens position:sticky gebruikt en de
   fixed-elementen zijn viewport-modals/actiebalken, dus overflow-x op html/body
   knipt die niet weg. */
html,body{overflow-x:hidden!important;max-width:100%}
.cc-app img,.cc-app video,.cc-app iframe{max-width:100%}
.cc-app,.cc-app *{overflow-wrap:break-word}
.cc-app table{max-width:100%}

/* v3.6.599 - herstelpagina voor verplichte e-mailverificatie */
body:not(.cc-land-body) .cc-verify-card{width:min(100%,620px)}
body:not(.cc-land-body) .cc-verify-address{display:grid;gap:5px;margin:0 0 14px;padding:15px 16px;border:1px solid #d8e8df;border-radius:16px;background:#f3faf6;text-align:center;color:#4b5563}
body:not(.cc-land-body) .cc-verify-address span{font-size:.82rem;font-weight:700}
body:not(.cc-land-body) .cc-verify-address strong{overflow-wrap:anywhere;color:#173c2b;font-size:1.02rem}
body:not(.cc-land-body) .cc-verify-help,body:not(.cc-land-body) .cc-verify-validity{margin:10px 0;color:#667085;font-size:.88rem;line-height:1.55}
body:not(.cc-land-body) .cc-verify-validity{margin-bottom:18px}
body:not(.cc-land-body) .cc-verify-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}
body:not(.cc-land-body) .cc-verify-action-form{display:flex;flex-direction:column;gap:7px;min-width:0}
body:not(.cc-land-body) .cc-auth-btn--secondary{border:1px solid #cbd5e1!important;background:#fff!important;color:#285c45!important;box-shadow:none!important}
body:not(.cc-land-body) .cc-auth-btn--secondary:hover,body:not(.cc-land-body) .cc-auth-btn--secondary:focus{border-color:#2d6a4f!important;background:#f1f8f4!important;color:#1f4d38!important}
body:not(.cc-land-body) .cc-verify-cooldown{display:block;color:#667085;font-size:.75rem;line-height:1.35;text-align:center}
body:not(.cc-land-body) .cc-verify-change{margin:0 0 18px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;overflow:hidden}
body:not(.cc-land-body) .cc-verify-change summary{padding:15px 16px;color:#285c45;font-weight:800;cursor:pointer;list-style-position:inside}
body:not(.cc-land-body) .cc-verify-change[open] summary{border-bottom:1px solid #e2e8f0;background:#f8fafc}
body:not(.cc-land-body) .cc-verify-change__body{padding:16px}
body:not(.cc-land-body) .cc-verify-change__body>p{margin:0 0 15px;color:#667085;font-size:.88rem;line-height:1.55}
body:not(.cc-land-body) .cc-verify-security{margin-top:0!important;background:#eff6ff!important;border-color:#bfdbfe!important;color:#1e3a8a!important}
body:not(.cc-land-body) .cc-verify-footer{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap}
body:not(.cc-land-body) .cc-verify-card button:disabled{opacity:.58!important;cursor:not-allowed!important;box-shadow:none!important}
@media(max-width:640px){body:not(.cc-land-body) .cc-verify-actions{grid-template-columns:1fr}body:not(.cc-land-body) .cc-verify-change__body{padding:14px}}

/* v3.6.601 — Eén herkenbare zoekfunctie op de homepage */
.cc-zoekbalk__input-wrap .cc-zoekbalk__input[type="search"] {
    padding-right: 46px !important;
}
.cc-zoekbalk__input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}
.cc-zoekbalk__clear {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #eef4f0;
    color: #2d6a4f;
    font: 700 20px/1 Arial, sans-serif;
    cursor: pointer;
}
.cc-zoekbalk__clear:hover,
.cc-zoekbalk__clear:focus-visible {
    background: #dfece4;
    outline: 2px solid rgba(45,106,79,.22);
    outline-offset: 2px;
}
.cc-zoekbalk__clear[hidden] { display: none !important; }

/* v3.6.603 — rustige paginering onder de campingtegels + kaartwissel */
.cc-app--home .cc-kaarten-scroll-outer {
    padding-top: 0;
    perspective: 1400px;
}

.cc-app--home .cc-grid-nav--onder {
    position: static;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    width: fit-content;
    margin: 24px auto 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.cc-app--home .cc-grid-nav__btn--text {
    width: auto;
    min-width: 118px;
    height: 44px;
    padding: 0 17px;
    gap: 8px;
    border: 1px solid #ddd6ca;
    border-radius: 14px;
    background: #fff;
    color: #234f3d;
    box-shadow: 0 8px 22px rgba(17,24,39,.07);
    font: inherit;
    font-size: .9rem;
    font-weight: 750;
}

.cc-app--home .cc-grid-nav__btn--text::after { display: none; }
.cc-app--home .cc-grid-nav__btn--text svg { width: 17px; height: 17px; }
.cc-app--home .cc-grid-nav__btn--text:hover:not(:disabled) {
    background: #f1f7f3;
    border-color: #b9cfc0;
    transform: translateY(-1px);
    box-shadow: 0 11px 24px rgba(17,24,39,.09);
}
.cc-app--home .cc-grid-nav__btn--text:disabled {
    opacity: .42;
    cursor: default;
    background: #f7f5f1;
    box-shadow: none;
}

.cc-app--home .cc-grid-nav__status {
    min-width: 58px;
    color: #7a756d;
    font-size: .84rem;
    font-weight: 750;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.cc-app--home #cc-kaarten-grid {
    transform-style: preserve-3d;
    transform-origin: center center;
    will-change: transform, opacity;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-out-left {
    animation: ccGridFlipOutLeft .2s ease-in both;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-out-right {
    animation: ccGridFlipOutRight .2s ease-in both;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-in-right {
    animation: ccGridFlipInRight .5s cubic-bezier(.2,.72,.2,1) both;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-in-left {
    animation: ccGridFlipInLeft .5s cubic-bezier(.2,.72,.2,1) both;
}

@keyframes ccGridFlipOutLeft {
    from { opacity: 1; transform: rotateY(0deg) translateX(0); }
    to { opacity: 0; transform: rotateY(-18deg) translateX(-24px) scale(.985); }
}
@keyframes ccGridFlipOutRight {
    from { opacity: 1; transform: rotateY(0deg) translateX(0); }
    to { opacity: 0; transform: rotateY(18deg) translateX(24px) scale(.985); }
}
@keyframes ccGridFlipInRight {
    from { opacity: 0; transform: rotateY(18deg) translateX(28px) scale(.985); }
    to { opacity: 1; transform: rotateY(0deg) translateX(0) scale(1); }
}
@keyframes ccGridFlipInLeft {
    from { opacity: 0; transform: rotateY(-18deg) translateX(-28px) scale(.985); }
    to { opacity: 1; transform: rotateY(0deg) translateX(0) scale(1); }
}

@media (max-width: 700px) {
    .cc-app--home .cc-grid-nav--onder { gap: 8px; margin-top: 18px; }
    .cc-app--home .cc-grid-nav__btn--text { min-width: 104px; height: 42px; padding: 0 13px; font-size: .84rem; }
    .cc-app--home .cc-grid-nav__status { min-width: 48px; }
}

@media (prefers-reduced-motion: reduce) {
    .cc-app--home #cc-kaarten-grid { animation: none !important; }
}


/* v3.6.603 — mobiele navigatie zichtbaar en volledige kaartomdraaiing */
@media (max-width: 700px) {
    .cc-app--home .cc-grid-nav.cc-grid-nav--onder {
        display: flex !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: max-content !important;
        max-width: calc(100% - 24px);
        margin: 18px auto 0 !important;
    }
    .cc-app--home .cc-grid-nav__btn--text {
        display: inline-flex !important;
        min-width: 0;
        padding: 0 12px;
    }
    .cc-app--home .cc-grid-nav__btn--text span { display: inline; }
}

.cc-app--home #cc-kaarten-grid.cc-grid-flip-out-left {
    animation: ccGridFlipOutLeftFull .58s cubic-bezier(.55,.05,.68,.53) both;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-out-right {
    animation: ccGridFlipOutRightFull .58s cubic-bezier(.55,.05,.68,.53) both;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-in-right {
    animation: ccGridFlipInRightFull .68s cubic-bezier(.22,.61,.36,1) both;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-in-left {
    animation: ccGridFlipInLeftFull .68s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes ccGridFlipOutLeftFull {
    from { opacity: 1; transform: perspective(1400px) rotateY(0deg); }
    70% { opacity: .92; }
    to { opacity: 0; transform: perspective(1400px) rotateY(-90deg); }
}
@keyframes ccGridFlipOutRightFull {
    from { opacity: 1; transform: perspective(1400px) rotateY(0deg); }
    70% { opacity: .92; }
    to { opacity: 0; transform: perspective(1400px) rotateY(90deg); }
}
@keyframes ccGridFlipInRightFull {
    from { opacity: 0; transform: perspective(1400px) rotateY(90deg); }
    30% { opacity: .92; }
    to { opacity: 1; transform: perspective(1400px) rotateY(0deg); }
}
@keyframes ccGridFlipInLeftFull {
    from { opacity: 0; transform: perspective(1400px) rotateY(-90deg); }
    30% { opacity: .92; }
    to { opacity: 1; transform: perspective(1400px) rotateY(0deg); }
}

/* v3.6.604 — compacte kaartomdraaiing per tegel, zonder beweging over de pagina */
.cc-app--home #cc-kaarten-grid {
    perspective: 1200px;
    transform: none !important;
    transform-style: flat;
    will-change: auto;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-out-left,
.cc-app--home #cc-kaarten-grid.cc-grid-flip-out-right,
.cc-app--home #cc-kaarten-grid.cc-grid-flip-in-left,
.cc-app--home #cc-kaarten-grid.cc-grid-flip-in-right {
    animation: none !important;
}
.cc-app--home #cc-kaarten-grid > .cc-kaart {
    transform-origin: center center;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    will-change: transform, opacity;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-out-left > .cc-kaart {
    animation: ccCardFlipOutLeftCompact .58s cubic-bezier(.55,.05,.68,.53) both;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-out-right > .cc-kaart {
    animation: ccCardFlipOutRightCompact .58s cubic-bezier(.55,.05,.68,.53) both;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-in-right > .cc-kaart {
    animation: ccCardFlipInRightCompact .68s cubic-bezier(.22,.61,.36,1) both;
}
.cc-app--home #cc-kaarten-grid.cc-grid-flip-in-left > .cc-kaart {
    animation: ccCardFlipInLeftCompact .68s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes ccCardFlipOutLeftCompact {
    from { opacity: 1; transform: rotateY(0deg) scale(1); }
    70% { opacity: .94; }
    to { opacity: 0; transform: rotateY(-90deg) scale(.98); }
}
@keyframes ccCardFlipOutRightCompact {
    from { opacity: 1; transform: rotateY(0deg) scale(1); }
    70% { opacity: .94; }
    to { opacity: 0; transform: rotateY(90deg) scale(.98); }
}
@keyframes ccCardFlipInRightCompact {
    from { opacity: 0; transform: rotateY(90deg) scale(.98); }
    30% { opacity: .94; }
    to { opacity: 1; transform: rotateY(0deg) scale(1); }
}
@keyframes ccCardFlipInLeftCompact {
    from { opacity: 0; transform: rotateY(-90deg) scale(.98); }
    30% { opacity: .94; }
    to { opacity: 1; transform: rotateY(0deg) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    .cc-app--home #cc-kaarten-grid > .cc-kaart { animation: none !important; }
}


/* v3.6.605 — paginawissel eindigt zonder tweede laad-/springeffect */
.cc-app--home #cc-kaarten-grid.cc-grid-flip-out-left > .cc-kaart,
.cc-app--home #cc-kaarten-grid.cc-grid-flip-out-right > .cc-kaart,
.cc-app--home #cc-kaarten-grid.cc-grid-flip-in-left > .cc-kaart,
.cc-app--home #cc-kaarten-grid.cc-grid-flip-in-right > .cc-kaart {
    animation-delay: 0s !important;
}


/* v3.6.606 — na de kaartdraai volledig stil; geen tweede laad- of springbeweging */
.cc-app--home #cc-kaarten-grid > .cc-kaart.cc-kaart--flip-settled {
    animation: none !important;
    animation-delay: 0s !important;
    transform: none !important;
    opacity: 1 !important;
    will-change: auto !important;
}
.cc-app--home #cc-kaarten-grid > .cc-kaart.cc-kaart--flip-settled,
.cc-app--home #cc-kaarten-grid > .cc-kaart.cc-kaart--flip-settled:hover {
    transition: box-shadow .18s ease, border-color .18s ease !important;
}


/* v3.6.613: etappekaart opent eerst de eigen caravanroute in Campingkompas */
.cc-rp-segment-route { width: 100%; }
.cc-rp-segment-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.cc-rp-route-primary,
.cc-rp-secondary-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 8px 13px;
    border-radius: 9px;
    font: inherit;
    font-size: .79rem;
    font-weight: 700;
    cursor: pointer;
}
.cc-rp-route-primary {
    border: 0;
    background: #2d6a4f;
    color: #fff;
}
.cc-rp-route-primary:hover,
.cc-rp-route-primary:focus-visible,
.cc-rp-route-primary[aria-expanded="true"] { background: #245a43; }
.cc-rp-route-primary .cc-rp-chev { margin-left: 1px; transition: transform .25s ease; }
.cc-rp-secondary-button {
    border: 1px solid #e5e1d8;
    background: #fff;
    color: #1a1a1a;
}
.cc-rp-segment-wrap { width: 100%; }
.cc-rp-segment-panel {
    margin-top: 10px;
    padding: 12px;
    border: 1px solid #dfe8e1;
    border-radius: 13px;
    background: linear-gradient(180deg, #f8fbf9 0%, #fff 100%);
}
.cc-rp-segment-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}
.cc-rp-segment-heading > div { min-width: 0; }
.cc-rp-segment-heading strong { display: block; color: #17201b; font-size: .86rem; }
.cc-rp-segment-heading span:not(.cc-rp-route-status) {
    display: block;
    margin-top: 2px;
    color: #7b8490;
    font-size: .72rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cc-rp-route-status {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: .64rem;
    font-weight: 800;
    line-height: 1.2;
}
.cc-rp-route-status.is-caravan { background: #e7f4ec; color: #236344; }
.cc-rp-route-status.is-fallback { background: #fff2d9; color: #9a5b00; }
.cc-rp-segment-map {
    width: 100%;
    height: 220px !important;
    min-height: 220px !important;
    border: 1px solid #dce5de;
    border-radius: 12px;
    overflow: hidden;
    background: #e8efe9;
}
.cc-rp-segment-map--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    color: #667085;
    text-align: center;
    font-size: .78rem;
}
.cc-rp-external-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
}
.cc-rp-external-label { color: #667085; font-size: .7rem; font-weight: 700; }
.cc-rp-external-buttons { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.cc-rp-external-button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 9px;
    border: 1px solid #d9dfda;
    border-radius: 8px;
    background: #fff;
    color: #2d6a4f;
    text-decoration: none;
    font-size: .69rem;
    font-weight: 800;
}
.cc-rp-external-button:hover,
.cc-rp-external-button:focus-visible { border-color: #2d6a4f; background: #f4faf6; }
.cc-rp-route-warning {
    margin: 9px 0 0;
    padding-top: 9px;
    border-top: 1px solid #e4e9e5;
    color: #7b8490;
    font-size: .68rem;
    line-height: 1.45;
}
:root.cc-dark .cc-rp-secondary-button,
:root.cc-dark .cc-rp-segment-panel,
:root.cc-dark .cc-rp-external-button { background: #17201b; color: #e8eee9; border-color: rgba(255,255,255,.12); }
:root.cc-dark .cc-rp-segment-heading strong { color: #f4f7f5; }
:root.cc-dark .cc-rp-segment-panel { background: linear-gradient(180deg, rgba(45,106,79,.15), rgba(15,23,42,.96)); }
:root.cc-dark .cc-rp-route-warning { border-color: rgba(255,255,255,.1); }
@media (max-width: 640px) {
    .cc-rp-segment-heading { flex-direction: column; gap: 7px; }
    .cc-rp-route-status { align-self: flex-start; }
    .cc-rp-segment-map { height: 190px !important; min-height: 190px !important; }
    .cc-rp-external-row { align-items: flex-start; flex-direction: column; }
    .cc-rp-external-buttons { justify-content: flex-start; }
}

/* ------------------------------------------------------------------
   v3.6.616 eigen kalender voor verblijfsdatums + mobiele breedtefix
   ------------------------------------------------------------------ */
.cc-kalender-veld {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.cc-kalender-knop {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 13px 14px !important;
    border: 1px solid #d8d0c4 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #213041 !important;
    box-sizing: border-box !important;
    font: inherit !important;
    line-height: 1.25 !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}
.cc-kalender-knop:hover {
    border-color: #9fbaa9 !important;
    background: #fcfdfc !important;
}
.cc-kalender-knop:focus-visible,
.cc-kalender-knop[aria-expanded="true"] {
    outline: none !important;
    border-color: #2d6a4f !important;
    box-shadow: 0 0 0 3px rgba(45,106,79,.14) !important;
}
.cc-kalender-veld__waarde {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    color: #213041 !important;
    font: inherit !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.cc-kalender-veld__waarde.is-placeholder { color: #757d86 !important; }
.cc-kalender-veld__icoon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    color: #2d6a4f !important;
    pointer-events: none !important;
}
.cc-kalender-veld__icoon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}
.cc-kalender-veld > input[type="hidden"] { display: none !important; }

body.cc-datumkiezer-open { overflow: hidden !important; }
.cc-datumkiezer {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    background: rgba(19,31,25,.48) !important;
    box-sizing: border-box !important;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}
.cc-datumkiezer[hidden] { display: none !important; }
.cc-datumkiezer__paneel {
    width: min(390px, 100%) !important;
    max-width: 100% !important;
    padding: 18px !important;
    border: 1px solid rgba(45,106,79,.18) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 24px 70px rgba(17,24,39,.28) !important;
    box-sizing: border-box !important;
}
.cc-datumkiezer__kop {
    display: grid !important;
    grid-template-columns: 44px minmax(0,1fr) 44px !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}
.cc-datumkiezer__titel {
    margin: 0 !important;
    color: #173020 !important;
    font-family: inherit !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-transform: capitalize !important;
}
.cc-datumkiezer__nav {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 1px solid #dce8df !important;
    border-radius: 13px !important;
    background: #f4faf6 !important;
    color: #2d6a4f !important;
    font: inherit !important;
    font-size: 1.65rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
}
.cc-datumkiezer__weekdagen,
.cc-datumkiezer__dagen {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0,1fr)) !important;
    gap: 5px !important;
}
.cc-datumkiezer__weekdagen {
    margin-bottom: 5px !important;
    color: #7c857f !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}
.cc-datumkiezer__weekdagen span { padding: 5px 0 !important; }
.cc-datumkiezer__dag {
    appearance: none !important;
    -webkit-appearance: none !important;
    aspect-ratio: 1 / 1 !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 0 !important;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    background: transparent !important;
    color: #26342c !important;
    font: inherit !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}
.cc-datumkiezer__dag:hover:not(:disabled),
.cc-datumkiezer__dag:focus-visible:not(:disabled) {
    outline: none !important;
    border-color: #9ec5ad !important;
    background: #edf8f1 !important;
}
.cc-datumkiezer__dag.is-buiten-maand { color: #adb4af !important; }
.cc-datumkiezer__dag.is-vandaag { border-color: #2d6a4f !important; }
.cc-datumkiezer__dag.is-geselecteerd {
    border-color: #2d6a4f !important;
    background: #2d6a4f !important;
    color: #fff !important;
}
.cc-datumkiezer__dag:disabled {
    color: #c9cfcb !important;
    background: #fafafa !important;
    cursor: not-allowed !important;
    opacity: .65 !important;
}
.cc-datumkiezer__acties {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 8px !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid #edf0ed !important;
}
.cc-datumkiezer__actie {
    appearance: none !important;
    -webkit-appearance: none !important;
    min-height: 42px !important;
    padding: 8px 10px !important;
    border: 1px solid #dce8df !important;
    border-radius: 12px !important;
    background: #f7fbf8 !important;
    color: #2d6a4f !important;
    font: inherit !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}
.cc-datumkiezer__sluiten {
    border-color: #2d6a4f !important;
    background: #2d6a4f !important;
    color: #fff !important;
}

@media (max-width: 700px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    .cc-app,
    .cc-toevoegen-wrap,
    .cc-form-wrap,
    #cc-camping-form,
    .cc-form-sectie,
    #cc-verblijven-lijst,
    .cc-verblijf-blok,
    .cc-verblijf-body,
    .cc-form-rij,
    .cc-veld {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .cc-app,
    .cc-toevoegen-wrap,
    .cc-form-wrap,
    #cc-camping-form,
    .cc-form-sectie,
    #cc-verblijven-lijst,
    .cc-verblijf-blok,
    .cc-verblijf-body,
    .cc-form-rij,
    .cc-veld {
        width: 100% !important;
    }
    .cc-toevoegen-wrap {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .cc-form-wrap {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .cc-form-sectie {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    .cc-form-rij {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) !important;
        gap: 14px !important;
    }
    .cc-veld > input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
    .cc-veld > select,
    .cc-veld > textarea,
    .cc-input-prefix-wrap,
    .cc-kalender-veld,
    .cc-kalender-knop {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .cc-kalender-knop {
        min-height: 54px !important;
        border-radius: 13px !important;
        padding: 15px 14px !important;
        font-size: 16px !important;
    }
    .cc-datumkiezer {
        align-items: flex-end !important;
        padding: 8px !important;
    }
    .cc-datumkiezer__paneel {
        width: 100% !important;
        padding: 16px 14px calc(16px + env(safe-area-inset-bottom)) !important;
        border-radius: 24px 24px 16px 16px !important;
    }
    .cc-datumkiezer__dag { min-height: 42px !important; }
}

/* ──────────────────────────────────────────────
   Datumkiezer past ALTIJD binnen het scherm (3.6.618)
   Op brede/korte schermen (o.a. liggend) rekte het paneel te ver
   uit — de vierkante dagcellen werden enorm en de bovenkant met de
   maandnavigatie viel buiten beeld. Nu: paneel begrensd op scherm-
   breedte én -hoogte; kop en actieknoppen blijven altijd zichtbaar,
   alleen het dagenrooster scrollt als het echt niet past.
────────────────────────────────────────────── */
.cc-datumkiezer__paneel {
    display: flex !important;
    flex-direction: column !important;
    width: min(400px, 100%) !important;
    max-width: 400px !important;
    max-height: calc(100vh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    overflow: hidden !important;
}
.cc-datumkiezer__dagen {
    flex: 0 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
}
.cc-datumkiezer__dag {
    aspect-ratio: auto !important;
    height: 42px !important;
    min-height: 0 !important;
}


/* ──────────────────────────────────────────────
   Compacte datumkiezer (3.6.619)
   De kalender bedekte op mobiel vrijwel het hele scherm: hij opende
   als schermbrede bottom-sheet met grote dagcellen. Nu opent hij als
   een compacte, gecentreerde kaart die ruim binnen het scherm blijft.
   Geldt voor elke plek waar de kalender wordt gebruikt — aankomst- en
   vertrekdatum delen dezelfde datumkiezer (.cc-datumkiezer).
────────────────────────────────────────────── */
.cc-datumkiezer {
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
}
.cc-datumkiezer__paneel {
    display: flex !important;
    flex-direction: column !important;
    width: min(330px, calc(100% - 24px)) !important;
    max-width: 330px !important;
    max-height: calc(100vh - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
    padding: 14px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}
.cc-datumkiezer__kop {
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
}
.cc-datumkiezer__titel { font-size: .95rem !important; }
.cc-datumkiezer__nav {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    font-size: 1.4rem !important;
}
.cc-datumkiezer__weekdagen,
.cc-datumkiezer__dagen { gap: 4px !important; }
.cc-datumkiezer__weekdagen {
    margin-bottom: 3px !important;
    font-size: .62rem !important;
}
.cc-datumkiezer__weekdagen span { padding: 3px 0 !important; }
.cc-datumkiezer__dagen {
    flex: 0 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
}
.cc-datumkiezer__dag {
    aspect-ratio: auto !important;
    height: 36px !important;
    min-height: 0 !important;
    border-radius: 9px !important;
    font-size: .82rem !important;
}
.cc-datumkiezer__acties {
    gap: 6px !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
}
.cc-datumkiezer__actie {
    min-height: 36px !important;
    padding: 6px 8px !important;
    border-radius: 10px !important;
    font-size: .76rem !important;
}

/* ──────────────────────────────────────────────
   Geen iOS-zoom bij focus op invoervelden (3.6.620)
   iOS Safari zoomt de hele pagina automatisch in zodra je een
   input/select/textarea met een lettergrootte < 16px aantikt — o.a.
   het Naam-veld bij "Camping toevoegen"/camping zoeken. Minimaal 16px
   op mobiel voorkomt dat, zonder de pagina zelf te vergroten.
   (Geldt voor alle invoervelden op de Campingkompas-pagina's.)
────────────────────────────────────────────── */
@media (max-width: 700px) {
    input:not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea {
        font-size: 16px !important;
    }
}

/* ──────────────────────────────────────────────
   Camping-koppelkiezer + eigen-pinnen toggle (3.6.621)
   1) Nette, per-land gegroepeerde keuze i.p.v. de native select-popup
      bij "Camping aan deze reis koppelen".
   2) Tweede kaart-toggle (groen) voor je eigen pinnen op de hoofdpagina.
────────────────────────────────────────────── */

/* Trigger-knop die de kiezer opent (vervangt de <select>) */
.cc-campingkeuze {
    appearance: none !important;
    -webkit-appearance: none !important;
    flex: 1 1 180px !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    border: 1px solid #d8d0c4 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #213041 !important;
    box-sizing: border-box !important;
    font: inherit !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}
.cc-campingkeuze:hover { border-color: #9fbaa9 !important; background: #fcfdfc !important; }
.cc-campingkeuze:focus-visible,
.cc-campingkeuze[aria-expanded="true"] {
    outline: none !important;
    border-color: #2d6a4f !important;
    box-shadow: 0 0 0 3px rgba(45,106,79,.14) !important;
}
.cc-campingkeuze__waarde {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #213041 !important;
}
.cc-campingkeuze__waarde.is-placeholder { color: #757d86 !important; }
.cc-campingkeuze__icoon { flex: 0 0 auto !important; color: #2d6a4f !important; font-size: .9rem !important; }

/* Overlay + paneel: compacte, gecentreerde kaart */
.cc-campingkiezer {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483001 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
    background: rgba(19,31,25,.48) !important;
    box-sizing: border-box !important;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}
.cc-campingkiezer[hidden] { display: none !important; }
.cc-campingkiezer__paneel {
    display: flex !important;
    flex-direction: column !important;
    width: min(390px, calc(100% - 24px)) !important;
    max-width: 390px !important;
    max-height: calc(100vh - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
    padding: 16px !important;
    border: 1px solid rgba(45,106,79,.18) !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 24px 70px rgba(17,24,39,.28) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
.cc-campingkiezer__kop {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
}
.cc-campingkiezer__titel {
    margin: 0 !important;
    color: #173020 !important;
    font-family: inherit !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}
.cc-campingkiezer__sluiten {
    appearance: none !important;
    -webkit-appearance: none !important;
    flex: 0 0 auto !important;
    width: 30px !important;
    height: 30px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}
.cc-campingkiezer__zoekwrap { margin-bottom: 10px !important; }
.cc-campingkiezer__zoek {
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid #d8d0c4 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #213041 !important;
    font: inherit !important;
    font-size: 16px !important;
}
.cc-campingkiezer__zoek:focus {
    outline: none !important;
    border-color: #2d6a4f !important;
    box-shadow: 0 0 0 3px rgba(45,106,79,.14) !important;
}
.cc-campingkiezer__lijst {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 -4px !important;
    padding: 0 4px !important;
}
.cc-campingkiezer__groep {
    position: sticky !important;
    top: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 6px 5px !important;
    background: #fff !important;
    color: #2d6a4f !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
}
.cc-campingkiezer__vlag { font-size: 1rem !important; line-height: 1 !important; }
.cc-campingkiezer__optie {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    width: 100% !important;
    margin: 0 0 4px !important;
    padding: 11px 12px !important;
    border: 1px solid #eef0ec !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #26342c !important;
    font: inherit !important;
    text-align: left !important;
    cursor: pointer !important;
}
.cc-campingkiezer__optie:hover,
.cc-campingkiezer__optie:focus-visible {
    outline: none !important;
    border-color: #9ec5ad !important;
    background: #edf8f1 !important;
}
.cc-campingkiezer__naam { font-size: .95rem !important; font-weight: 700 !important; line-height: 1.25 !important; }
.cc-campingkiezer__plaats { font-size: .8rem !important; color: #6b7280 !important; line-height: 1.2 !important; }
.cc-campingkiezer__leeg { margin: 12px 6px !important; color: #9ca3af !important; font-size: .85rem !important; }

/* Twee kaart-toggles gestapeld, rechts uitgelijnd onder de kaart */
.cc-kaart-toggles {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px 18px !important;
    width: auto !important;
    margin: 8px 0 0 !important;
}
.cc-kaart-toggles .cc-openbare-pinnen-toggle { margin: 0 !important; }

/* Eigen-pinnen toggle: groen (past bij de groene eigen pins) */
.cc-eigen-pinnen-toggle .cc-openbare-pinnen-toggle__input:checked + .cc-openbare-pinnen-toggle__switch {
    background: #2d6a4f !important;
}
.cc-eigen-pinnen-toggle:focus-within .cc-openbare-pinnen-toggle__switch {
    box-shadow: 0 0 0 3px rgba(45,106,79,.22) !important;
}

/* ──────────────────────────────────────────────
   Reisdatum wijzigen bij een reisplanning (3.6.623)
   Knop + inline formulier met vertrek- en terugkomstdatum in de
   reismodal, naast "Naam wijzigen".
────────────────────────────────────────────── */
.cc-trip-datum-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 1px solid rgba(45,106,79,.22) !important;
    background: #eef6f0 !important;
    color: #2d6a4f !important;
    border-radius: 10px !important;
    padding: 8px 10px !important;
    font: inherit !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}
.cc-trip-datum-btn:hover { background: #e1efe7 !important; border-color: rgba(45,106,79,.38) !important; }
.cc-trip-datum-form {
    margin-top: 12px !important;
    padding: 12px !important;
    border: 1px solid var(--cc-border,#e5e1d8) !important;
    border-radius: 12px !important;
    background: #fbfaf7 !important;
}
.cc-trip-datum-form.cc-verborgen { display: none !important; }
.cc-trip-datum-form__velden { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
.cc-trip-datum-form__veld { display: flex !important; flex-direction: column !important; gap: 4px !important; font-size: .75rem !important; font-weight: 700 !important; color: #5f665e !important; }
.cc-trip-datum-form__veld input {
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
    padding: 9px 10px !important;
    border: 1px solid #d8d0c4 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #213041 !important;
    font: inherit !important;
    font-size: 16px !important;
}
.cc-trip-datum-form__veld input:focus { outline: none !important; border-color: #2d6a4f !important; box-shadow: 0 0 0 3px rgba(45,106,79,.14) !important; }
.cc-trip-datum-form__acties { display: flex !important; gap: 8px !important; margin-top: 10px !important; }
.cc-trip-datum-opslaan {
    flex: 1 1 auto !important;
    border: 1px solid #2d6a4f !important;
    background: #2d6a4f !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 9px 12px !important;
    font: inherit !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}
.cc-trip-datum-opslaan:disabled { opacity: .65 !important; cursor: wait !important; }
.cc-trip-datum-annuleren {
    flex: 0 0 auto !important;
    border: 1px solid #d8d0c4 !important;
    background: #fff !important;
    color: #5f665e !important;
    border-radius: 10px !important;
    padding: 9px 12px !important;
    font: inherit !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}
.cc-trip-datum-form__status { margin-top: 8px !important; }
@media (max-width: 380px) {
    .cc-trip-datum-form__velden { grid-template-columns: 1fr !important; }
}

/* ──────────────────────────────────────────────
   Reisknoppen naast elkaar (3.6.625)
   "Naam wijzigen", "Datum wijzigen" en "Reis verwijderen" op één rij,
   gelijke breedte, tekst mag afbreken zodat alle drie passen.
────────────────────────────────────────────── */
.cc-tripdetail__acties {
    display: flex !important;
    gap: 6px !important;
    align-items: stretch !important;
}
.cc-tripdetail__acties > button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 8px 6px !important;
    font-size: .72rem !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: normal !important;
}

/* ══════════════════════════════════════════════
   Visuele verbeteringen (3.6.626)
   1) info-pills in de reismodal-kop
   2) rustigere hiërarchie voor de Koppelen-knop
   3) ondermarge camping-toevoegen (velden vrij van de onderbalk)
   4) dark-mode voor de nieuwe popups (kalender + camping-kiezer)
   ══════════════════════════════════════════════ */

/* 1) Info-pills onder de reistitel */
.cc-modal__pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 8px 0 0 !important;
}
.cc-modal__pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    background: #eef6f0 !important;
    color: #2d6a4f !important;
    font-size: .74rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* 2) Koppelen-knop: rustig tot er een camping is gekozen */
.cc-trip-add-camping__btn {
    background: #fff !important;
    color: #2d6a4f !important;
    border: 1px solid rgba(45,106,79,.32) !important;
    box-shadow: none !important;
    transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}
.cc-trip-add-camping__btn:hover { background: #eef6f0 !important; border-color: rgba(45,106,79,.5) !important; }
.cc-trip-add-camping.is-gekozen .cc-trip-add-camping__btn {
    background: #2d6a4f !important;
    color: #fff !important;
    border-color: #2d6a4f !important;
}
.cc-trip-add-camping.is-gekozen .cc-trip-add-camping__btn:hover { background: #1f5438 !important; border-color: #1f5438 !important; }

/* 3) Camping toevoegen: genoeg ruimte onder het formulier op mobiel */
@media (max-width: 700px) {
    .cc-toevoegen-wrap {
        padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
    }
}

/* 4) ── Dark-mode voor de kalender-popup, camping-kiezer en datum-bewerken ── */
:root.cc-dark .cc-kalender-knop,
:root.cc-dark .cc-campingkeuze {
    background: #12161c !important;
    border-color: rgba(255,255,255,.14) !important;
    color: #f0ede8 !important;
}
:root.cc-dark .cc-kalender-knop:hover,
:root.cc-dark .cc-campingkeuze:hover { background: #171c23 !important; border-color: rgba(156,202,176,.4) !important; }
:root.cc-dark .cc-kalender-veld__waarde,
:root.cc-dark .cc-campingkeuze__waarde { color: #f0ede8 !important; }
:root.cc-dark .cc-kalender-veld__waarde.is-placeholder,
:root.cc-dark .cc-campingkeuze__waarde.is-placeholder { color: #8a8f88 !important; }
:root.cc-dark .cc-kalender-veld__icoon,
:root.cc-dark .cc-campingkeuze__icoon { color: #9ccab0 !important; }

:root.cc-dark .cc-datumkiezer__paneel,
:root.cc-dark .cc-campingkiezer__paneel {
    background: #1b1f26 !important;
    border-color: rgba(255,255,255,.10) !important;
}
:root.cc-dark .cc-datumkiezer__titel,
:root.cc-dark .cc-campingkiezer__titel { color: #f0ede8 !important; }
:root.cc-dark .cc-datumkiezer__nav {
    background: rgba(255,255,255,.05) !important;
    border-color: rgba(255,255,255,.13) !important;
    color: #9ccab0 !important;
}
:root.cc-dark .cc-datumkiezer__weekdagen { color: #8f968d !important; }
:root.cc-dark .cc-datumkiezer__dag { color: #e6e3dd !important; }
:root.cc-dark .cc-datumkiezer__dag:hover:not(:disabled),
:root.cc-dark .cc-datumkiezer__dag:focus-visible:not(:disabled) {
    border-color: rgba(156,202,176,.45) !important;
    background: rgba(156,202,176,.12) !important;
}
:root.cc-dark .cc-datumkiezer__dag.is-buiten-maand { color: #656c63 !important; }
:root.cc-dark .cc-datumkiezer__dag.is-vandaag { border-color: #9ccab0 !important; }
:root.cc-dark .cc-datumkiezer__dag.is-geselecteerd { background: #2d6a4f !important; border-color: #2d6a4f !important; color: #fff !important; }
:root.cc-dark .cc-datumkiezer__dag:disabled { color: #4b5563 !important; background: rgba(255,255,255,.02) !important; }
:root.cc-dark .cc-datumkiezer__acties { border-top-color: rgba(255,255,255,.09) !important; }
:root.cc-dark .cc-datumkiezer__actie {
    background: rgba(255,255,255,.05) !important;
    border-color: rgba(255,255,255,.13) !important;
    color: #9ccab0 !important;
}
:root.cc-dark .cc-datumkiezer__sluiten { background: #2d6a4f !important; border-color: #2d6a4f !important; color: #fff !important; }

:root.cc-dark .cc-campingkiezer__zoek {
    background: #12161c !important;
    border-color: rgba(255,255,255,.14) !important;
    color: #f0ede8 !important;
}
:root.cc-dark .cc-campingkiezer__groep { background: #1b1f26 !important; color: #9ccab0 !important; }
:root.cc-dark .cc-campingkiezer__optie {
    background: #12161c !important;
    border-color: rgba(255,255,255,.08) !important;
    color: #e6e3dd !important;
}
:root.cc-dark .cc-campingkiezer__optie:hover,
:root.cc-dark .cc-campingkiezer__optie:focus-visible {
    border-color: rgba(156,202,176,.4) !important;
    background: rgba(156,202,176,.12) !important;
}
:root.cc-dark .cc-campingkiezer__naam { color: #f0ede8 !important; }
:root.cc-dark .cc-campingkiezer__plaats { color: #9aa29b !important; }
:root.cc-dark .cc-campingkiezer__leeg { color: #8f968d !important; }

/* datum-bewerkformulier + eigen datum-knop in dark mode */
:root.cc-dark .cc-trip-datum-form { background: rgba(255,255,255,.03) !important; border-color: rgba(255,255,255,.10) !important; }
:root.cc-dark .cc-trip-datum-form__veld { color: #a9b0a8 !important; }
:root.cc-dark .cc-trip-datum-btn { background: rgba(156,202,176,.12) !important; border-color: rgba(156,202,176,.28) !important; color: #9ccab0 !important; }
:root.cc-dark .cc-trip-datum-annuleren { background: #12161c !important; border-color: rgba(255,255,255,.14) !important; color: #cdd2cb !important; }

/* pills + koppelen-knop in dark mode */
:root.cc-dark .cc-modal__pill { background: rgba(156,202,176,.12) !important; color: #9ccab0 !important; }
:root.cc-dark .cc-trip-add-camping__btn { background: transparent !important; color: #9ccab0 !important; border-color: rgba(156,202,176,.35) !important; }
:root.cc-dark .cc-trip-add-camping__btn:hover { background: rgba(156,202,176,.12) !important; }
:root.cc-dark .cc-trip-add-camping.is-gekozen .cc-trip-add-camping__btn { background: #2d6a4f !important; color: #fff !important; border-color: #2d6a4f !important; }

/* ──────────────────────────────────────────────
   Reisschema-tijdlijn strak binnen de modal (3.6.627)
   In de reismodal maakte overflow-y:auto de x-as automatisch scrollbaar,
   waardoor een te breed tijdlijn-onderdeel horizontaal liet scrollen
   (vooral bij afgesloten/geweest reizen). Nu blijft alles binnen de rand
   en breekt lange inhoud netjes af i.p.v. uit te steken.
────────────────────────────────────────────── */
.cc-modal { overflow-x: hidden !important; }
.cc-tripdetail__tijdlijn,
.cc-tripdetail__campings {
    min-width: 0 !important;
    max-width: 100% !important;
}
.cc-tripdetail__tijdlijn > *,
.cc-tripdetail__campings > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.cc-modal .cc-vr-link,
.cc-modal .cc-vr-info,
.cc-modal .cc-vr-naam,
.cc-modal .cc-vr-datum,
.cc-modal .cc-vr-locatie,
.cc-modal .cc-trip-endpoint__body,
.cc-modal .cc-trip-endpoint__address {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}
/* mini-routekaart: geen harde 180px-kolom die op smalle schermen uitsteekt */
.cc-modal .cc-trip-route {
    grid-template-columns: 42px minmax(0, 1fr) minmax(0, 26%) !important;
    margin-left: 0 !important;
}

/* ──────────────────────────────────────────────
   Reisschema-blok blijft strak binnen de modal (3.6.628)
   Oorzaak van het horizontaal kunnen slepen: het statistiek-raster
   gebruikte repeat(4,1fr); een 1fr-kolom krimpt niet onder z'n inhoud,
   dus vier tegels (o.a. "66 u 37 min") duwden samen buiten het scherm en
   rekten de hele modal breder. Nu: minmax(0,1fr) (kolommen mogen krimpen)
   + op smalle schermen 2 kolommen, en de buitenste modal-laag kan niet
   meer horizontaal scrollen.
────────────────────────────────────────────── */
.cc-modal-overlay { overflow-x: hidden !important; }
.cc-rp,
.cc-rp > * {
    min-width: 0 !important;
    max-width: 100% !important;
}
.cc-rp-stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
}
.cc-rp-stats > * { min-width: 0 !important; }
@media (max-width: 560px) {
    .cc-rp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ──────────────────────────────────────────────
   Modal-body kan niet meer horizontaal slepen (3.6.629)
   De echte scroll-laag zat in het THEMA: op mobiel maakt
   ".cc-modal--brandstof .cc-modal__body" zichzelf scrollbaar
   (overflow-y:auto → x-as wordt automatisch ook scrollbaar).
   Daarom bleef de titel staan terwijl alles vanaf "Reisschema"
   heen en weer te slepen was. Die laag staat nu horizontaal op slot
   en horizontale sleepgestures op de body zijn uitgeschakeld
   (verticaal scrollen en pinch-zoom blijven werken; de routekaart
   regelt z'n eigen gestures en blijft gewoon sleepbaar).
────────────────────────────────────────────── */
.cc-modal__body {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    touch-action: pan-y pinch-zoom !important;
    overscroll-behavior-x: none !important;
}
.cc-modal__body > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
