/* ── Topbar ──────────────────────────────────── */
.om-topbar {
    background-color: var(--wp--preset--color--primary);
    width: 100%;
}

.om-topbar__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.4rem var(--wp--preset--spacing--40);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.om-topbar__phone a {
    color: #FFFFFF !important;
    text-decoration: none !important;
    font-size: 0.875rem;
    font-family: var(--wp--preset--font-family--body);
}

.om-topbar__phone a:hover {
    text-decoration: underline !important;
}

.om-topbar__lang {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-family: var(--wp--preset--font-family--body);
}

.om-topbar__lang a {
    color: rgba(255, 255, 255, 0.7) !important;
    text-decoration: none !important;
    font-weight: 400;
}

.om-topbar__lang a:hover {
    color: #FFFFFF !important;
}

.om-topbar__lang-active {
    color: #FFFFFF;
    font-weight: 700;
}

.om-topbar__lang-sep {
    color: rgba(255, 255, 255, 0.5);
}

@media (max-width: 600px) {
    .om-topbar__inner {
        padding: 0.3rem var(--wp--preset--spacing--30);
    }

    .om-topbar__phone a,
    .om-topbar__lang {
        font-size: 0.8rem;
    }
}

/* ── Header — compact padding, kill theme.json group defaults ── */
.site-header {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
    margin-top: 0 !important;
}
.site-header > .wp-block-group {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ── Header — logo ── */
.site-header .wp-block-site-logo {
    line-height: 0;
    margin: 0;
    flex-shrink: 0;
}
.site-header .wp-block-site-logo img {
    display: block;
}

/* ── Header — hoofdmenu gecentreerd (3-col flex) ── */
.site-header .wp-block-navigation:not(.header-taalmenu) {
    flex: 1 1 0%;
    justify-content: center;
}

/* ── Header — taalmenu rechts (zelfde breedte als logo) ── */
.header-taalmenu {
    flex: 0 0 200px !important;
    justify-content: flex-end !important;
}
.header-taalmenu a {
    color: var(--wp--preset--color--dark) !important;
    text-decoration: none;
    opacity: 0.5;
}
.header-taalmenu .current-menu-item a,
.header-taalmenu a:hover {
    opacity: 1;
}
.header-taalmenu .current-menu-item a {
    font-weight: 700;
}

/* Hero Slider — project-specific fixed height */
.om-slider {
    height: 600px;
}

.om-slider > .wp-block-cover {
    min-height: 600px !important;
    height: 600px;
}

/* ── Stappen-cards — equal height + full-bleed images ── */
.has-light-background-color .wp-block-columns.alignwide {
    align-items: stretch;
}

.has-light-background-color .wp-block-columns.alignwide > .wp-block-column {
    display: flex;
    flex-direction: column;
}

.has-light-background-color .wp-block-columns.alignwide > .wp-block-column > .wp-block-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.has-light-background-color .wp-block-columns.alignwide .wp-block-image {
    margin-left: calc(var(--wp--preset--spacing--50) * -1) !important;
    margin-right: calc(var(--wp--preset--spacing--50) * -1) !important;
    width: calc(100% + var(--wp--preset--spacing--50) * 2);
    max-width: none;
}

.has-light-background-color .wp-block-columns.alignwide .wp-block-image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

/* ── Footer direct tegen content — geen blockGap witruimte ── */
.wp-site-blocks > footer.wp-block-template-part {
    margin-block-start: 0 !important;
}

/* ── OpenStreetMap volledige breedte zonder tussenruimte ── */
.om-map-full {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0;
}

.om-map-full + .wp-block-group {
    margin-top: 0 !important;
}

/* ── Witte links in CTA banners met primary achtergrond ── */
.has-primary-background-color a:not(.wp-block-button__link) {
    color: #FFFFFF !important;
    text-decoration: underline;
}

.has-primary-background-color a:not(.wp-block-button__link):hover {
    text-decoration: none;
}

/* ── Gelijke hoogte knoppen in CTA ── */
.has-primary-background-color .wp-block-buttons {
    align-items: stretch;
}

.has-primary-background-color .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem !important;
    min-height: 48px;
    box-sizing: border-box;
}

.has-primary-background-color .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    border: 2px solid transparent;
}

/* ── WPML footer taalswitch verbergen (topbar is voldoende) ── */
.wpml-ls-statics-footer {
    display: none !important;
}
