.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; }

/* ── Uitgebreid menu-item (Type = "Uitgebreid") ───────────────────────────── */
/* Desktop / megamenu */
a.nav-rich-wrap,.nav-rich-wrap{display:block;text-decoration:none;color:inherit;}
a.nav-rich-wrap:hover .nav-rich-title{text-decoration:underline;}
.nav-rich{display:flex;flex-direction:column;gap:3px;width:100%;}
.nav-rich-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.nav-rich-title{font-weight:600;display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.nav-rich-badge{font-size:0.7em;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;background:var(--primary,#2271b1);color:#fff;padding:2px 8px;border-radius:999px;white-space:nowrap;line-height:1.5;}
.nav-rich-price{font-weight:700;white-space:nowrap;flex-shrink:0;}
.nav-rich-desc{font-size:0.85em;opacity:0.7;line-height:1.45;font-weight:400;}
/* Mobiel */
.mobile_navigation .item-rich{display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:12px 0;}
.mobile_navigation .item-rich .rich-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.mobile_navigation .item-rich .rich-title{font-weight:600;display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.mobile_navigation .item-rich .rich-badge{font-size:0.65em;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;background:var(--primary,#2271b1);color:#fff;padding:2px 8px;border-radius:999px;white-space:nowrap;line-height:1.5;}
.mobile_navigation .item-rich .rich-price{font-weight:700;white-space:nowrap;flex-shrink:0;}
.mobile_navigation .item-rich .rich-desc{font-size:0.85em;opacity:0.7;line-height:1.4;font-weight:400;}
/* Gewoon item mét beschrijving (mobiel) */
.mobile_navigation .item-label .label-main{display:block;}
.mobile_navigation .item-label .item-desc{display:block;font-size:0.85em;opacity:0.65;line-height:1.4;margin-top:2px;font-weight:400;}

/* ── [phone_icon] telefoon met rond icoon ─────────────────────────────────── */
.tel{font-weight:600;font-size:14.5px;color:#003f6b;display:inline-flex;align-items:center;white-space:nowrap;margin-right:25px;}
.tel .tel-link{display:flex;gap:8px;align-items:center;color:inherit;text-decoration:none;}
.tel .tel-link:hover{text-decoration:none;color:inherit;}
.tel i,.tel .tel-icon{width:34px;height:34px;border-radius:50%;background:#e3f5fd;color:#00acee;display:grid;place-items:center;flex-shrink:0;}
.tel .tel-number{line-height:1;}
/* hide_number_mobile="yes": op mobiel alleen het (klikbare) icoon */
@media(max-width:767px){ .tel .tel-number.ww-hide-mob{display:none;} }

/* ── Google Reviews widget ────────────────────────────────────────────────── */
.ww-google-reviews-link-wrap { display:block; text-decoration:none; color:inherit; }
.ww-google-reviews-link-wrap:hover { text-decoration:none; }
.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; }
}

/* ── Openingstijden ([openingstijden] / [openingstijden_special]) ─────────── */
.openinghours{list-style:none;padding:0;margin:0;}
.openinghours .time-item{
    display:flex;justify-content:space-between;align-items:center;gap:20px;
    padding:6px 0;border-bottom:1px solid rgba(0,0,0,0.08);
}
.openinghours .time-item:last-child{border-bottom:none;}
.openinghours .col-day,
.openinghours .col-time{display:flex;}
.openinghours .day{font-weight:600;text-transform:capitalize;}
.openinghours .time{display:flex;gap:5px;}
.openinghours .time-item.is-closed .time,
.openinghours .closed-text{opacity:0.6;}
.openinghours-special-heading{font-weight:600;margin:0 0 6px;}
@media(max-width:768px){ .openinghours{font-size:1.5rem;} }

/* ── Live status ([openingstijden_live] / [openingstijden_google_live]) ────── */
/* Groen/rood bolletje (dot="yes" of standaard Google-live) */
.ot-dot{
    display:inline-block;width:10px;height:10px;border-radius:50%;
    margin-right:7px;flex-shrink:0;vertical-align:baseline;
    background:#9ca3af;position:relative;top:1px;
}
.ot-dot.open{ background:#22c55e; box-shadow:0 0 0 3px rgba(34,197,94,0.18); }
.ot-dot.closed{ background:#ef4444; box-shadow:0 0 0 3px rgba(239,68,68,0.15); }

/* Compacte één-regel weergave: {dot} Nu open (sluit om 17:30) */
.ot-live-compact{ display:inline-flex; align-items:center; gap:0; line-height:1.3; }
.ot-live-compact .ot-dot{ margin-right:8px; top:0; }
.ot-live-compact .ot-status-text{ font-weight:600; }
.ot-live-compact .ot-detail{ font-weight:400; opacity:0.7; margin-left:5px; }

/* Eigen live-shortcode met dot */
.openingstijden-live.is-open .ot-dot,
.openingstijden-live.is-closed .ot-dot{ position:relative; top:1px; }
