.container,
.container50,
.container-75,
.container-default,
.container-fullwidth,
.container-fluid {
    width: 100%;
}

.navigation .the_nav ul li a.btn {
    height: var(--button_height);
    line-height: 1;
}

.cookie_overlay {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    background: rgba(0,0,0,0.5);
    transition: all 0.25s;
}
.cookie_wrapper {
    display: none;
    position: fixed;
    z-index: 9999;
    right: 10px;
    bottom: 10px;
    background: #fff;
    border-radius: 10px;
    max-width: 315px;
    max-height: 90vh;
    overflow: auto;
    box-shadow: 0 0 10px rgba(0,0,0,0.15);
    .inner {
        padding: 25px;
        .text {
            font-size: 1.6rem;
            line-height: 1.5;
            margin: 0 0 25px;
            p {
                &:last-of-type {
                    margin: 0;
                }
            }
            .more_info {
                a {
                    text-decoration: underline;
                    &:hover,
                    &:focus,
                    &:active {
                        text-decoration: none;
                    }
                }
            }
        }
        .buttons {
            .btn {
                cursor: pointer;
                padding: 0 15px;
                height: 45px;
                line-height: 45px;
                font-size: 85%;
            }
        }
    }
}

.navigation .the_nav ul li.megamenu {
    position: static;
}
.megamenu-dropdown ul,
.megamenu-dropdown ul li,
.megamenu-dropdown ul li {
    display: block!important;
    width: 100%;
}

@media (max-width: 768px) {

    .cookie_wrapper {
        max-width: 100%;
        width: auto;
        left: 15px;
        right: 15px;
    }

    }
/* Sticky nav placeholder */
.ww-header-placeholder { display: none; }

/* ── Smooth transitions voor links en buttons ─────────────── */
a {
    transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease;
}
button,
.btn,
.button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
}

/* ── Zoek shortcodes ──────────────────────────────────────────────────────── */
.ww-search-wrap { display:inline-block; }
.ww-search-form { display:flex; width:100%; }
.ww-search-inner {
    display:flex; align-items:center; position:relative;
    width:100%; border:1.5px solid rgba(0,0,0,0.15);
    border-radius:var(--input_border_radius,8px);
    background:#fff; transition:border-color 0.2s, box-shadow 0.2s;
    overflow:hidden;
}
.ww-search-inner:focus-within {
    border-color:var(--primary,#2271b1);
    box-shadow:0 0 0 3px rgba(34,113,177,0.12);
}
.ww-search-input {
    flex:1; height:44px; padding:0 14px;
    border:none; background:transparent;
    font-size:var(--body_font_size,1rem); font-family:var(--bodyFont,inherit);
    color:inherit; outline:none; min-width:0;
}
.ww-search-input::placeholder { color:#aaa; }

/* Zoekicoon rechts (submit button) */
.ww-search-btn {
    display:flex; align-items:center; justify-content:center;
    height:44px; width:44px; flex-shrink:0;
    background:none; border:none; border-left:1px solid rgba(0,0,0,0.08);
    cursor:pointer; color:#888; transition:background 0.15s, color 0.15s;
}
.ww-search-btn:hover { background:var(--primary,#2271b1); color:#fff; }
.ww-search-svg { width:18px; height:18px; }
.ww-search-btn-hidden { display:none; }

/* Zoekicoon links */
.ww-search-icon-left .ww-search-icon-el {
    display:flex; align-items:center; justify-content:center;
    height:44px; width:42px; flex-shrink:0;
    color:#aaa; border-right:1px solid rgba(0,0,0,0.08);
}
.ww-search-icon-left .ww-search-icon-el .ww-search-svg { width:17px; height:17px; }
.ww-search-icon-left .ww-search-input { padding-left:10px; }

/* Toggle variant */
.ww-search-toggle-wrap { position:relative; display:inline-flex; align-items:center; }
.ww-search-toggle-btn {
    display:flex; align-items:center; justify-content:center;
    width:40px; height:40px; background:none; border:none;
    cursor:pointer; color:inherit; padding:0; transition:opacity 0.2s;
}
.ww-search-toggle-btn svg { width:20px; height:20px; }
.ww-search-toggle-btn:hover { opacity:0.7; }

.ww-search-toggle-form {
    position:absolute; top:calc(100% + 8px); right:0;
    width:320px; max-width:90vw;
    background:#fff; border-radius:10px;
    box-shadow:0 8px 32px rgba(0,0,0,0.15), 0 2px 8px rgba(0,0,0,0.08);
    padding:12px; opacity:0; transform:translateY(-8px) scale(0.97);
    pointer-events:none; transition:opacity 0.2s ease, transform 0.2s ease;
    z-index:9999;
}
.ww-search-toggle-wrap.ww-open .ww-search-toggle-form {
    opacity:1; transform:translateY(0) scale(1); pointer-events:auto;
}
.ww-search-close {
    position:absolute; right:8px; top:50%; transform:translateY(-50%);
    background:none; border:none; cursor:pointer; color:#aaa;
    width:32px; height:32px; display:flex; align-items:center; justify-content:center;
    border-radius:50%; transition:background 0.15s, color 0.15s;
    padding:0;
}
.ww-search-close:hover { background:#f0f0f0; color:#333; }
.ww-search-close svg { width:16px; height:16px; }
/* Als er een sluit-knop is, input wat smaller */
.ww-search-toggle-form .ww-search-input { padding-right:80px; }

/* Inline variant in navigatie */
.ww-nav-extra .ww-search-toggle-wrap { align-self:center; }

/* ── Google Reviews widget ────────────────────────────────────────────────── */
.ww-google-reviews { display:flex; flex-direction:column; gap:16px; }
.ww-reviews-summary {
    display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.ww-reviews-score {
    font-size:2rem; font-weight:700; line-height:1;
    color:var(--heading_color,inherit);
}
.ww-stars { display:inline-flex; gap:1px; }
.ww-star { font-size:1.3rem; line-height:1; color:#f4a637; }
.ww-star.half { position:relative; color:#ddd; }
.ww-star.half::before { content:'★'; position:absolute; left:0; width:50%; overflow:hidden; color:#f4a637; }
.ww-star.empty { color:#ddd; }
.ww-reviews-count { color:#888; font-size:0.9rem; }
.ww-reviews-link {
    font-size:0.85rem; color:var(--primary,#2271b1); text-decoration:none;
    border-bottom:1px solid; margin-left:4px;
}
.ww-reviews-list { display:flex; flex-direction:column; gap:16px; }
.ww-review-item {
    padding:14px 16px; background:rgba(0,0,0,0.025);
    border-radius:8px; border-left:3px solid var(--primary,#2271b1);
}
.ww-review-header { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.ww-review-avatar { width:36px; height:36px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.ww-review-meta { flex:1; display:flex; flex-direction:column; gap:1px; }
.ww-review-author { font-weight:600; font-size:0.9rem; }
.ww-review-time { font-size:0.78rem; color:#999; }
.ww-review-rating .ww-star { font-size:1rem; }
.ww-review-text { margin:0; font-size:0.9rem; line-height:1.6; color:inherit; }

/* ── [pages] shortcode lijst ──────────────────────────────────────────────── */
.ww-pages-list { list-style: none; padding: 0; margin: 0; }
.ww-pages-list.ww-pages-block .ww-pages-item { display: block; }
.ww-pages-list.ww-pages-inline { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.ww-pages-list.ww-pages-inline .ww-pages-item { display: inline-block; margin: 0; }
.ww-pages-list .ww-pages-item a { text-decoration: none; }
.ww-pages-list .ww-pages-item a:hover { text-decoration: none; }

/* ── Google Reviews kaarten [reviews_google] ──────────────────────────────── */
.ww-rev-grid {
    display: grid;
    grid-template-columns: repeat(var(--ww-rev-cols, 3), 1fr);
    gap: 20px;
    align-items: stretch;
}
.ww-rev-card {
    background: #fff;
    border-radius: 8px;
    padding: var(--ww-rev-pad, 28px);
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-shadow: var(--ww-rev-shadow, 0 2px 8px rgba(0,0,0,0.06));
    border: var(--ww-rev-border-w, 0px) solid var(--ww-rev-border-c, #e0e0e0);
    height: 100%;
    box-sizing: border-box;
}
.ww-rev-stars {
    display: flex;
    gap: 2px;
    font-size: 20px;
    color: #ddd;
    line-height: 1;
}
.ww-rev-star.filled { color: var(--primary, #0073aa); }
.ww-rev-text {
    font-size: 1.5rem;
    line-height: 1.5;
    flex: 1 1 auto;
}
.ww-rev-author-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 15px;
    border-top: 1px solid rgba(0,0,0,0.075);
    margin-top: 15px;
}
.ww-rev-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}
.ww-rev-author-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}
.ww-rev-author-name {
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.2;
}
.ww-rev-date {
    font-size: 12px;
    color: #999;
    line-height: 1.2;
}
.ww-rev-google { flex-shrink: 0; display: flex; align-items: center; }
.ww-rev-google-g { display: block; }

/* Tablet */
@media (max-width: 1100px) {
    .ww-rev-card { padding: var(--ww-rev-pad-t, 24px); }
    .ww-rev-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Mobiel: horizontaal scrollen, 85% + stukje van de volgende */
@media (max-width: 767px) {
    .ww-rev-grid {
        display: flex;
        grid-template-columns: none;
        align-items: stretch;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 14px;
        padding-bottom: 10px;
        margin: 0 -16px;
        padding-left: 16px;
        padding-right: 16px;
        scroll-padding-left: 16px;
        scrollbar-width: thin;
    }
    .ww-rev-card {
        flex: 0 0 85%;
        scroll-snap-align: start;
        height: auto;
        padding: 22px;
    }
    .ww-rev-text { font-size: 1.5rem; }
    .ww-rev-stars { font-size: 17px; }
}
