/*
 * Blu Olive, herstelde opmaak (7-10-2026, Noble Matter).
 *
 * De paginaspecifieke Elementor-stijlen (uploads/elementor/css/post-*.css) en alle
 * Elementor Pro-bestanden zijn nergens meer te vinden: niet in de Wayback Machine,
 * niet in Common Crawl, niet op archive.today en niet lokaal. De generieke Elementor-,
 * Hello- en WordPress-bestanden staan er wel weer (publieke pakketten, exacte versies).
 * Dit bestand vult de rest aan op basis van de huisstijl van Blu Olive:
 *   blauw #255879 · crème #FBFBF2 · wijnrood #6D213C · Belleza + Montserrat.
 * Het is dus een reconstructie in de stijl van de oude site, geen kopie pixel voor pixel.
 */

:root {
  --bo-blauw: #255879;
  --bo-blauw-donker: #1b425b;
  --bo-creme: #FBFBF2;
  --bo-creme-2: #F2F1E6;
  --bo-wijn: #6D213C;
  --bo-tekst: #2d3338;
  --container-max-width: 1200px;
  --bo-kop: "Belleza", Georgia, serif;
  --bo-body: "Montserrat", Arial, sans-serif;
}

/* Basiswaarden die Elementor per container in post-*.css zette */
:where(.e-con.e-flex) {
  --display: flex;
  --flex-direction: column;
  --flex-wrap: nowrap;
  --justify-content: flex-start;
  --align-items: stretch;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
}
:where(.e-con.e-flex.e-parent) { --align-items: center; }

html { scroll-behavior: smooth; }
body {
  font-family: var(--bo-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--bo-tekst);
  background: #fff;
  margin: 0;
}
h1, h2, h3, h4, h5, h6, .elementor-heading-title {
  font-family: var(--bo-kop);
  font-weight: 400;
  color: var(--bo-blauw);
  line-height: 1.2;
  margin-top: 0;
}
a { color: var(--bo-blauw); }
img { max-width: 100%; height: auto; }

/* ---------- Knoppen ---------- */
.elementor-button,
.elementor-cta__button,
.elementor-form .elementor-button {
  display: inline-block;
  font-family: var(--bo-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  line-height: 1;
  padding: 16px 30px;
  border-radius: 0;
  border: 1px solid var(--bo-blauw);
  background: var(--bo-blauw);
  color: var(--bo-creme);
  text-decoration: none;
  transition: background .25s, color .25s, border-color .25s;
}
.elementor-button:hover,
.elementor-button:focus { background: var(--bo-wijn); border-color: var(--bo-wijn); color: var(--bo-creme); }

/* ---------- Lijnen ---------- */
.elementor-widget-divider {
  --divider-border-style: solid;
  --divider-border-width: 1px;
  --divider-color: currentColor;
}
.elementor-widget-divider .elementor-divider { display: flex; padding: 14px 0; }
.elementor-widget-divider .elementor-divider-separator {
  width: 90px; margin: 0 auto;
  border-top: 1px solid var(--bo-blauw);
}

/* ---------- Secties: algemene ritmiek ---------- */
.elementor[data-elementor-type="wp-page"] > .e-con.e-parent {
  --padding-top: 90px; --padding-bottom: 90px;
  --padding-left: 24px; --padding-right: 24px;
  --gap: 28px; --row-gap: 28px; --column-gap: 28px;
  text-align: center;
}
.elementor[data-elementor-type="wp-page"] > .e-con.e-parent:empty,
.elementor[data-elementor-type="wp-page"] > .e-con.e-parent:not(:has(*)) { display: none; }
.e-con.e-con-full.e-parent > .e-con.e-child { max-width: var(--container-max-width); margin-left: auto; margin-right: auto; width: 100%; }
.elementor-widget-heading h2.elementor-heading-title { font-size: clamp(30px, 4vw, 46px); }
.elementor-widget-heading h1.elementor-heading-title { font-size: clamp(36px, 5.5vw, 68px); }
.elementor-widget-text-editor { font-size: 17px; max-width: 820px; margin-left: auto; margin-right: auto; }

/* secties met verloop als achtergrond: crèmekleurig */
.e-con[data-settings*='"background_background":"gradient"'] {
  background: linear-gradient(180deg, var(--bo-creme) 0%, var(--bo-creme-2) 100%);
}

/* ---------- Header ---------- */
.elementor-location-header > .e-con.e-parent {
  position: sticky; top: 0; z-index: 100;
  background: var(--bo-blauw);
  flex-direction: row; flex-wrap: nowrap;
  align-items: center; justify-content: space-between;
  padding: 14px clamp(16px, 4vw, 48px);
  box-shadow: 0 2px 18px rgba(0,0,0,.12);
}
body.admin-bar .elementor-location-header > .e-con.e-parent { top: 32px; }
.elementor-location-header > .e-con > .e-con.e-child { width: auto; flex: 0 1 auto; flex-direction: row; align-items: center; gap: 24px; }
.elementor-location-header .elementor-widget-theme-site-logo img { width: 190px; max-width: 46vw; display: block; }
.elementor-location-header .elementor-widget-button .elementor-button {
  background: transparent; border-color: var(--bo-creme); color: var(--bo-creme); padding: 12px 22px;
}
.elementor-location-header .elementor-widget-button .elementor-button:hover { background: var(--bo-creme); color: var(--bo-blauw); }

/* ---------- Navigatie (vervangt Elementor Pro nav-menu) ---------- */
.elementor-nav-menu { list-style: none; margin: 0; padding: 0; }
.elementor-nav-menu--main .elementor-nav-menu { display: flex; flex-wrap: wrap; gap: 6px 28px; }
.elementor-nav-menu a.elementor-item {
  display: inline-block; padding: 8px 0; position: relative;
  font-family: var(--bo-body); font-size: 13px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  color: var(--bo-creme);
}
.elementor-nav-menu--main a.elementor-item::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px;
  background: currentColor; opacity: 0; transition: opacity .25s;
}
.elementor-nav-menu--main a.elementor-item:hover::after,
.elementor-nav-menu--main .current-menu-item > a.elementor-item::after { opacity: 1; }
.elementor-nav-menu--dropdown { display: none; }
.elementor-menu-toggle {
  display: none; cursor: pointer; padding: 6px; line-height: 0;
  background: transparent; border: 0;
}
.elementor-menu-toggle svg { width: 26px; height: 26px; fill: var(--bo-creme); }
.elementor-menu-toggle .elementor-menu-toggle__icon--close { display: none; }
.elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open { display: none; }
.elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close { display: block; }

@media (max-width: 767px) {
  .elementor-location-header .elementor-nav-menu--main { display: none; }
  .elementor-location-header .elementor-menu-toggle { display: block; }
  .elementor-location-header .elementor-widget-button { display: none; }
  .elementor-location-header .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown {
    display: block; position: fixed; left: 0; right: 0; top: var(--bo-header-hoogte, 72px);
    background: var(--bo-blauw-donker); padding: 10px 0 18px; box-shadow: 0 12px 20px rgba(0,0,0,.18);
  }
  .elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item { display: block; padding: 14px 24px; font-size: 14px; }
}

/* ---------- Footer ---------- */
.elementor-location-footer > .e-con.e-parent {
  background: var(--bo-blauw-donker); color: var(--bo-creme);
  padding: 56px 24px 26px;
}
.elementor-location-footer .e-con-inner { gap: 28px; }
.elementor-location-footer .e-con.e-child { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; }
.elementor-location-footer .elementor-menu-toggle,
.elementor-location-footer .elementor-nav-menu--dropdown { display: none !important; }
.elementor-location-footer .elementor-nav-menu--main { display: block !important; }
.elementor-location-footer .elementor-heading-title,
.elementor-location-footer .elementor-heading-title a { color: var(--bo-creme); font-family: var(--bo-body); font-size: 14px; letter-spacing: .04em; text-decoration: none; }
.elementor-location-footer > .e-con > .e-con-inner > .e-con.e-child:last-child {
  border-top: 1px solid rgba(251,251,242,.2); padding-top: 22px; width: 100%;
}
.elementor-location-footer .elementor-heading-title a:hover { text-decoration: underline; }

/* ---------- Sociale iconen ---------- */
.elementor-social-icons-wrapper { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.elementor-social-icon {
  width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--bo-blauw); transition: background .25s;
}
.elementor-social-icon svg { width: 17px; height: 17px; fill: var(--bo-creme); }
.elementor-social-icon:hover { background: var(--bo-wijn); }
.elementor-location-footer .elementor-social-icon { background: var(--bo-creme); }
.elementor-location-footer .elementor-social-icon svg { fill: var(--bo-blauw-donker); }

/* ---------- Openingssectie home ---------- */
.elementor-element-6b4ef5c,
.elementor-element-5b57272c {
  min-height: 78vh; justify-content: center;
  background: linear-gradient(160deg, var(--bo-blauw) 0%, var(--bo-blauw-donker) 100%) !important;
  color: var(--bo-creme);
}
.elementor-element-6b4ef5c > .e-con-inner,
.elementor-element-5b57272c > .e-con-inner { justify-content: center; align-items: center; }
.elementor-element-6b4ef5c .elementor-heading-title,
.elementor-element-5b57272c .elementor-heading-title { color: var(--bo-creme); }
.elementor-element-6b4ef5c .elementor-element-263df48 .elementor-heading-title { font-size: clamp(40px, 6.5vw, 82px); }
.elementor-element-6b4ef5c .elementor-element-ce4484f .elementor-heading-title { font-family: var(--bo-body); font-size: clamp(17px, 2vw, 22px); letter-spacing: .02em; }
.elementor-element-6b4ef5c .elementor-divider-separator { border-color: var(--bo-creme); }
.elementor-element-6b4ef5c .elementor-button,
.elementor-element-5b57272c .elementor-social-icon { background: var(--bo-creme); color: var(--bo-blauw); border-color: var(--bo-creme); }
.elementor-element-5b57272c .elementor-social-icon svg { fill: var(--bo-blauw); }
.elementor-element-6b4ef5c .elementor-button:hover { background: var(--bo-wijn); color: var(--bo-creme); border-color: var(--bo-wijn); }
.elementor-element-5b57272c .elementor-widget-text-editor { color: var(--bo-creme); }

/* ---------- Paginakoppen met fotostrook (about, events, portfolio, contact) ---------- */
.elementor-element-38e2bb52, .elementor-element-870fe02, .elementor-element-6571c46, .elementor-element-1dec0c7 {
  background: var(--bo-blauw) !important;
  --padding-top: 70px !important; --padding-bottom: 0px !important; --padding-left: 0px !important; --padding-right: 0px !important;
}
.elementor-element-38e2bb52 .elementor-heading-title, .elementor-element-870fe02 .elementor-heading-title,
.elementor-element-6571c46 .elementor-heading-title, .elementor-element-1dec0c7 .elementor-heading-title {
  color: var(--bo-creme); text-transform: uppercase; letter-spacing: .12em; font-size: clamp(32px, 5vw, 60px);
  margin-bottom: 40px;
}
.elementor-element-38e2bb52 > .e-con.e-child, .elementor-element-870fe02 > .e-con.e-child,
.elementor-element-6571c46 > .e-con.e-child, .elementor-element-1dec0c7 > .e-con.e-child { max-width: none; }

/* rijen van foto's naast elkaar */
.e-con:has(> .elementor-widget-image + .elementor-widget-image) {
  flex-direction: row; flex-wrap: nowrap; gap: 6px; padding: 0;
}
.e-con:has(> .elementor-widget-image + .elementor-widget-image) > .elementor-widget-image { flex: 1 1 0; min-width: 0; }
.e-con:has(> .elementor-widget-image + .elementor-widget-image) img {
  width: 100%; height: clamp(200px, 30vw, 420px); object-fit: cover; display: block;
}

/* ---------- Twee kolommen ---------- */
.e-con.elementor-element-fc38241, .elementor-element-fc38241 > .e-con-inner,
.e-con.elementor-element-5e9bd340,
.e-con.elementor-element-645553a7 { --flex-direction: row; --align-items: center; flex-direction: row; align-items: center; gap: 56px; }
.elementor-element-fc38241 > .e-con-inner > .e-con,
.elementor-element-5e9bd340 > .e-con,
.elementor-element-645553a7 > .e-con { flex: 1 1 0; min-width: 0; }
.elementor-element-fc38241, .elementor-element-645553a7 { text-align: left !important; }
.elementor-element-fc38241 .elementor-divider-separator,
.elementor-element-645553a7 .elementor-divider-separator { margin-left: 0; }
.elementor-element-fc38241 .elementor-widget-text-editor,
.elementor-element-645553a7 .elementor-widget-text-editor { margin-left: 0; }
.elementor-element-5c4d856 img { height: clamp(260px, 32vw, 460px) !important; }
.elementor-element-645553a7 img { width: 100%; height: auto; }
.elementor-element-645553a7 { max-width: var(--container-max-width); margin: 0 auto; }

/* ---------- Icoonblokken (verhaal, missie, aanpak, waarden) ---------- */
.e-con:has(> .elementor-widget-icon-box + .elementor-widget-icon-box),
.e-con-inner:has(> .elementor-widget-icon-box + .elementor-widget-icon-box) {
  flex-direction: row; flex-wrap: wrap; gap: 24px; justify-content: center;
}
.e-con:has(> .elementor-widget-icon-box + .elementor-widget-icon-box) > .elementor-widget-icon-box,
.e-con-inner:has(> .elementor-widget-icon-box + .elementor-widget-icon-box) > .elementor-widget-icon-box {
  flex: 1 1 240px; max-width: 520px; width: auto !important;
}
.elementor-icon-box-wrapper {
  background: #fff; padding: 34px 30px; height: 100%; box-sizing: border-box;
  border-top: 3px solid var(--bo-blauw); box-shadow: 0 10px 30px rgba(37,88,121,.08);
}
.elementor-icon-box-title { font-family: var(--bo-kop); font-size: 26px; color: var(--bo-blauw); margin: 0 0 10px; }
.elementor-icon-box-description { margin: 0; font-size: 15px; }
.elementor-element-6051f309 .elementor-icon-box-wrapper,
.elementor-element-552f17d9 .elementor-icon-box-wrapper { box-shadow: none; background: transparent; padding: 10px 0; border-top: 0; }
.elementor-element-6051f309 { gap: 18px; align-items: flex-start; text-align: left; }
.elementor-element-6051f309 .elementor-social-icons-wrapper { justify-content: flex-start; }

/* ---------- Diensten- en teamkaarten (Call to Action) ---------- */
.e-con:has(> .e-con > .elementor-widget-call-to-action) { flex-direction: row; gap: 22px; }
.e-con:has(> .elementor-widget-call-to-action) {
  flex: 1 1 0; min-width: 0; background: var(--bo-blauw) !important;
  padding: 0; display: flex; min-height: 300px; transition: transform .3s;
}
.e-con:has(> .e-con > .elementor-widget-call-to-action) > .e-con:nth-child(even):has(> .elementor-widget-call-to-action) { background: var(--bo-wijn) !important; }
.e-con:has(> .elementor-widget-call-to-action):hover { transform: translateY(-4px); }
.elementor-widget-call-to-action { width: 100%; }
.elementor-cta { height: 100%; display: flex; }
.elementor-cta__content {
  display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 14px;
  padding: 44px 36px; width: 100%; color: var(--bo-creme); text-align: center;
}
.elementor-cta__title { font-family: var(--bo-kop); font-size: 30px; color: var(--bo-creme); margin: 0; }
.elementor-cta__description { font-size: 15px; line-height: 1.7; max-width: 460px; }
.elementor-cta__button { background: transparent; border-color: var(--bo-creme); color: var(--bo-creme); }
.elementor-cta__button:hover { background: var(--bo-creme); color: var(--bo-blauw); border-color: var(--bo-creme); }
.elementor-element-62a5bbc, .elementor-element-edcf52d, .elementor-element-1af124ff { gap: 22px; }
.elementor-element-62a5bbc { padding: 90px 24px; text-align: center; box-sizing: border-box; }
.elementor-element-62a5bbc > .elementor-widget-heading { margin-bottom: 18px; }

/* ---------- Oproepbalken onderaan (Ready to start ...) ---------- */
.elementor-element-62db3e1, .elementor-element-6a3ce2d, .elementor-element-581f76a {
  background: var(--bo-wijn) !important;
}
.elementor-element-62db3e1 .elementor-heading-title, .elementor-element-6a3ce2d .elementor-heading-title,
.elementor-element-581f76a .elementor-heading-title { color: var(--bo-creme); font-size: clamp(24px, 3vw, 36px); max-width: 860px; margin: 0 auto; }
.elementor-element-62db3e1 .elementor-button, .elementor-element-6a3ce2d .elementor-button,
.elementor-element-581f76a .elementor-button { background: var(--bo-creme); color: var(--bo-wijn); border-color: var(--bo-creme); }
.elementor-element-62db3e1 .elementor-button:hover, .elementor-element-6a3ce2d .elementor-button:hover,
.elementor-element-581f76a .elementor-button:hover { background: transparent; color: var(--bo-creme); }

/* ---------- Getuigenissen (zonder Pro-carrousel: als kaarten) ---------- */
.elementor-testimonial-carousel .swiper-wrapper,
.elementor-widget-testimonial-carousel .swiper-wrapper {
  display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; transform: none !important;
}
.elementor-widget-testimonial-carousel .swiper-slide { width: auto !important; height: auto; }
.elementor-widget-testimonial-carousel .swiper-button-prev,
.elementor-widget-testimonial-carousel .swiper-button-next,
.elementor-widget-testimonial-carousel .elementor-swiper-button,
.elementor-widget-testimonial-carousel .swiper-pagination { display: none !important; }
.elementor-testimonial { background: var(--bo-creme); padding: 36px 32px; height: 100%; box-sizing: border-box; border-left: 3px solid var(--bo-wijn); }
.elementor-testimonial__text { font-family: var(--bo-kop); font-size: 21px; color: var(--bo-blauw); line-height: 1.5; margin-bottom: 18px; }
.elementor-testimonial__footer { display: flex; align-items: center; justify-content: center; gap: 12px; }
.elementor-testimonial__image img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.elementor-testimonial__cite { font-style: normal; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.elementor-element-00c1cad > .e-con-inner { max-width: 1000px; }

/* ---------- Afbeeldingsblokken (events: portfolio showcase) ---------- */
.e-con-inner:has(> .elementor-widget-image-box + .elementor-widget-image-box) {
  flex-direction: row; flex-wrap: wrap; gap: 10px; justify-content: center;
}
.e-con-inner:has(> .elementor-widget-image-box + .elementor-widget-image-box) > .elementor-widget-image-box { flex: 1 1 220px; width: auto !important; }
.elementor-image-box-img { width: 100% !important; margin: 0 !important; }
.elementor-image-box-img img { width: 100%; height: 380px; object-fit: cover; display: block; }
.elementor-element-76ccacd6 { background: var(--bo-blauw) !important; color: var(--bo-creme); }
.elementor-element-76ccacd6 .elementor-heading-title { color: var(--bo-creme); }
.elementor-element-76ccacd6 .elementor-button { background: var(--bo-creme); color: var(--bo-blauw); border-color: var(--bo-creme); }

/* ---------- Galerij (portfolio) ---------- */
.elementor-widget-gallery .elementor-gallery__container,
.elementor-widget-gallery .e-gallery-container {
  display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 14px; height: auto !important; padding: 0 24px;
  max-width: var(--container-max-width); margin: 0 auto;
}
.elementor-widget-gallery .e-gallery-item { position: relative !important; display: block; overflow: hidden; width: auto !important; top: auto !important; left: auto !important; }
.elementor-widget-gallery .e-gallery-image {
  aspect-ratio: 3 / 2; background-size: cover; background-position: center; transition: transform .5s;
  padding-bottom: 0 !important;
}
.elementor-widget-gallery .e-gallery-item:hover .e-gallery-image { transform: scale(1.04); }
.elementor-widget-gallery .elementor-gallery-item__overlay { display: none; }
.elementor-element-2c7abc02 { --padding-top: 0px !important; }
.elementor-widget-gallery { width: 100% !important; max-width: none !important; align-self: stretch; }

/* ---------- Contactformulier ---------- */
.elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; margin: 0 -8px; text-align: left; }
.elementor-field-group { width: 100%; padding: 0 8px; margin-bottom: 16px; box-sizing: border-box; }
.elementor-field-group.elementor-col-50 { width: 50%; }
.elementor-field-group > label { display: block; font-size: 13px; letter-spacing: .06em; margin-bottom: 6px; }
.elementor-field-textual {
  width: 100%; box-sizing: border-box; font-family: var(--bo-body); font-size: 15px;
  padding: 13px 14px; border: 1px solid #cfd6da; border-radius: 0; background: #fff; color: var(--bo-tekst);
}
.elementor-field-textual:focus { outline: 2px solid var(--bo-blauw); outline-offset: 0; border-color: var(--bo-blauw); }
.elementor-field-type-submit { margin-top: 6px; }
.elementor-screen-only, .screen-reader-text {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.elementor-element-312d09b6 > .e-con-inner { flex-direction: column; text-align: left; }
.bo-formulier-melding { margin-top: 12px; font-size: 14px; color: var(--bo-blauw); }

/* ---------- Mobiel ---------- */
@media (max-width: 1024px) {
  .e-con.elementor-element-fc38241, .elementor-element-fc38241 > .e-con-inner,
  .e-con.elementor-element-5e9bd340,
  .e-con.elementor-element-645553a7 { --flex-direction: column; flex-direction: column; gap: 36px; }
  .elementor-widget-gallery .elementor-gallery__container,
  .elementor-widget-gallery .e-gallery-container { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .elementor[data-elementor-type="wp-page"] > .e-con.e-parent { --padding-top: 64px; --padding-bottom: 64px; --padding-left: 18px; --padding-right: 18px; }
  .e-con:has(> .e-con > .elementor-widget-call-to-action) { flex-direction: column; }
  .e-con:has(> .elementor-widget-image + .elementor-widget-image) { flex-wrap: wrap; }
  .e-con:has(> .elementor-widget-image + .elementor-widget-image) > .elementor-widget-image { flex: 1 1 100%; }
  .e-con:has(> .elementor-widget-image + .elementor-widget-image) > .elementor-widget-image:not(:first-child) { flex: 1 1 calc(50% - 3px); }
  .e-con:has(> .elementor-widget-image + .elementor-widget-image) img { height: 220px; }
  .elementor-element-5c4d856 img { height: 260px !important; }
  .elementor-image-box-img img { height: 300px; }
  .elementor-widget-gallery .elementor-gallery__container,
  .elementor-widget-gallery .e-gallery-container { grid-template-columns: 1fr; padding: 0 18px; }
  .elementor-field-group.elementor-col-50 { width: 100%; }
  .elementor-location-footer .e-con.e-child { justify-content: center; text-align: center; }
  .elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu { justify-content: center; }
}

/* Zonder JavaScript of als een animatie niet start: inhoud nooit onzichtbaar laten. */
.bo-toon-alles .elementor-invisible { visibility: visible !important; opacity: 1 !important; }

/* kaartenrijen binnen de inhoudsbreedte */
.elementor-element-62a5bbc > .e-con, .elementor-element-edcf52d > .e-con, .elementor-element-1af124ff > .e-con {
  max-width: var(--container-max-width); width: 100%; margin-left: auto; margin-right: auto;
}
.elementor-element-edcf52d, .elementor-element-1af124ff { padding: 0 24px; box-sizing: border-box; }

/* iconen in de blokken: eigen kleuren van de svg's behouden, geen grijs vlak */
.elementor-icon-box-icon { margin-bottom: 16px; display: flex; justify-content: center; }
.elementor-icon-box-icon .elementor-icon { background: var(--bo-creme) !important; border-radius: 50%; width: 76px; height: 76px; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.elementor-icon-box-icon .elementor-icon svg { width: 42px; height: 42px; }

/* lege secties (achtergrondbeeld dat niet meer bestaat) niet als wit gat tonen */
.elementor[data-elementor-type="wp-page"] > .e-con.e-parent:not(:has(.elementor-widget)) { display: none; }

/* oproepbalk onderaan de over-ons-pagina */
.elementor-element-04b5044 { background: var(--bo-wijn) !important; }
.elementor-element-04b5044 .elementor-heading-title { color: var(--bo-creme); font-size: clamp(24px, 3vw, 36px); max-width: 860px; margin: 0 auto; }
.elementor-element-04b5044 .elementor-button { background: var(--bo-creme); color: var(--bo-wijn); border-color: var(--bo-creme); }
.elementor-element-04b5044 .elementor-button:hover { background: transparent; color: var(--bo-creme); }

.elementor-widget-social-icons { --grid-column-gap: 10px; --grid-row-gap: 10px; }
.elementor-widget-social-icons .elementor-social-icon { border-radius: 50% !important; }
.elementor-widget-social-icons .elementor-grid-item { margin-right: 10px; }
.elementor-widget-social-icons .elementor-grid-item:last-child { margin-right: 0; }

@media (max-width: 767px) {
  .e-con:has(> .elementor-widget-call-to-action) { flex: 0 0 auto; min-height: 0; }
  .e-con:has(> .e-con > .elementor-widget-call-to-action) { gap: 16px; }
  .elementor-cta__content { padding: 36px 24px; }
}
.elementor-location-header > .e-con > .e-con.e-child:last-child { margin-left: auto; justify-content: flex-end; }
@media (max-width: 767px) {
  .elementor-element-6b4ef5c, .elementor-element-5b57272c { min-height: 62vh; }
}

/* =====================================================================
 * Verfijning 7-10-2026 (avond): bescheiden opknapbeurt, geen redesign.
 * ===================================================================== */

/* Inkomanimaties uit: inhoud stond tot 2,5 s onzichtbaar of half doorzichtig. */
.elementor-invisible { visibility: visible !important; opacity: 1 !important; }
.elementor-element.animated { animation: none !important; }

/* Openingsbeeld home: eigen eventfoto van Blu Olive (JL Studio, tent met gedekte tafels). */
.elementor-element-6b4ef5c {
  background:
    linear-gradient(180deg, rgba(20, 50, 70, .62) 0%, rgba(20, 50, 70, .52) 45%, rgba(20, 50, 70, .74) 100%),
    url("/wp-content/uploads/2024/06/jlstudioo-catherineaxel-20-1-1536x1024.jpg") center 58% / cover no-repeat !important;
}
@media (max-width: 767px) {
  .elementor-element-6b4ef5c {
    background:
      linear-gradient(180deg, rgba(20, 50, 70, .66) 0%, rgba(20, 50, 70, .58) 50%, rgba(20, 50, 70, .78) 100%),
      url("/wp-content/uploads/2024/06/jlstudioo-catherineaxel-20-1-768x512.jpg") 40% center / cover no-repeat !important;
  }
}
.elementor-element-6b4ef5c .elementor-heading-title { text-shadow: 0 2px 24px rgba(0, 0, 0, .25); }

/* Twee kolommen (contact, portfolio) binnen de inhoudsbreedte */
.e-con.elementor-element-5e9bd340,
.e-con.elementor-element-645553a7 {
  --padding-left: max(24px, calc(50% - 600px)) !important;
  --padding-right: max(24px, calc(50% - 600px)) !important;
  max-width: none;
}

/* Kaarten in een rij even hoog en op dezelfde lijn */
.e-con:has(> .elementor-widget-icon-box + .elementor-widget-icon-box),
.e-con-inner:has(> .elementor-widget-icon-box + .elementor-widget-icon-box) { align-items: stretch; }
.elementor-widget-icon-box > .elementor-widget-container { height: 100%; }
.elementor-icon-box-title { line-height: 1.25; }
.elementor-icon-box-description, .elementor-cta__description { line-height: 1.75; }
.elementor-cta__title { line-height: 1.2; }

/* Knoppen: iets ruimer, zichtbare focus */
.elementor-button, .elementor-cta__button { padding: 15px 30px; min-height: 46px; box-sizing: border-box; }
.elementor-button:focus-visible, .elementor-cta__button:focus-visible, .elementor-item:focus-visible {
  outline: 2px solid var(--bo-creme); outline-offset: 3px;
}
.elementor-button-wrapper { margin-top: 6px; }

/* Getuigenissen: Elementor-plaatshouder als avatar niet tonen */
.elementor-testimonial__image:has(img[src*="placeholder.png"]) { display: none; }

/* Events: tekst onder 'Portfolio Showcase' leesbaar smal */
.elementor-element-76ccacd6 > .elementor-widget-text-editor { max-width: 760px; margin-left: auto; margin-right: auto; }

/* Contact: formulierkop links, gegevens als nette kaart */
.elementor-element-552f17d9 .elementor-icon-box-wrapper { text-align: left; }
.elementor-element-552f17d9 .elementor-icon-box-title { font-size: clamp(28px, 3vw, 38px); }
.e-con.elementor-element-6051f309 {
  flex-direction: column; flex-wrap: nowrap; align-items: flex-start; align-self: center; gap: 22px;
  background: #fff; padding: 40px 36px; border-top: 3px solid var(--bo-blauw);
  box-shadow: 0 10px 30px rgba(37, 88, 121, .08); box-sizing: border-box;
}
.elementor-element-6051f309 > .elementor-widget-icon-box { width: 100% !important; max-width: none; }
.elementor-element-6051f309 > .elementor-widget-social-icons { order: 3; }
.elementor-element-6051f309 .elementor-icon-box-wrapper { text-align: left; padding: 0; }
.elementor-element-6051f309 .elementor-icon-box-title { font-size: 24px; margin-bottom: 4px; }
.elementor-element-6051f309 .elementor-icon-box-description { font-size: 16px; }

/* Footer: menu links, telefoon rechts; copyright links, iconen rechts */
.elementor-location-footer > .e-con > .e-con-inner { max-width: var(--container-max-width); margin: 0 auto; }
.elementor-location-footer .e-con.elementor-element-2acb521f,
.elementor-location-footer .e-con.elementor-element-38fb382c {
  flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; width: 100%;
}
.elementor-location-footer .elementor-element-2acb521f > .e-con,
.elementor-location-footer .elementor-element-38fb382c > .e-con { width: auto; flex: 0 1 auto; padding: 0; }
.elementor-location-footer .elementor-nav-menu a.elementor-item { padding: 6px 0; }
.elementor-location-footer .elementor-element-6434b1d9 .elementor-heading-title { font-size: 15px; letter-spacing: .06em; }
.elementor-location-footer .elementor-element-43f8744a .elementor-heading-title,
.elementor-location-footer .elementor-element-43f8744a .elementor-heading-title a { font-size: 12px; opacity: .8; }
.elementor-location-footer .elementor-social-icon { width: 38px; height: 38px; }
@media (max-width: 767px) {
  .elementor-location-footer .e-con.elementor-element-2acb521f,
  .elementor-location-footer .e-con.elementor-element-38fb382c { flex-direction: column; justify-content: center; text-align: center; }
  .elementor-location-footer .elementor-element-38fb382c { flex-direction: column-reverse !important; }
  .e-con.elementor-element-6051f309 { padding: 32px 24px; align-self: stretch; }
}
.elementor-element-76ccacd6 > .elementor-element-9414b33 { width: 100% !important; max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }
.e-con.elementor-element-6051f309.e-con { flex-direction: column !important; flex-wrap: nowrap !important; align-items: flex-start !important; }
.e-con.elementor-element-6051f309.e-con > .elementor-element { flex: 0 0 auto !important; height: auto !important; }
.elementor-element-6051f309 .elementor-widget-container, .elementor-element-6051f309 .elementor-icon-box-wrapper { height: auto !important; }
