.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egbn:hover{color:#D9D4CB!important}
@media (max-width:767px){body .egfb{height:auto!important;min-height:0!important;line-height:1.5!important}}
@media (max-width:767px){body .wpcf7-list-item{margin-left:0!important}body .wpcf7-acceptance label{display:flex!important;align-items:flex-start!important;gap:8px!important}body .wpcf7-list-item-label{white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.45!important}}
@media (max-width:767px){body .wpcf7-acceptance input[type="checkbox"]{width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;flex:0 0 20px!important;margin:2px 0 0!important}body .wpcf7-acceptance .wpcf7-list-item-label{display:block!important;min-width:0!important;width:auto!important;flex:1 1 auto!important;word-break:normal!important;overflow-wrap:break-word!important}}
@media (max-width:767px){body.home .elementor-element-hero002{top:150px!important;left:24px!important;right:24px!important;width:auto!important;font-size:16px!important;line-height:1.45!important;letter-spacing:.08em!important}body.home .elementor-element-hero002 p{font-size:16px!important;line-height:1.45!important;margin:0!important}body.home .elementor-element-hero003{top:270px!important;left:24px!important;right:24px!important;width:auto!important}body.home .elementor-element-hero003 h1{font-size:44px!important;line-height:1!important;letter-spacing:-.02em!important;margin:0!important}body.home .elementor-element-hero004{top:510px!important;left:24px!important;right:24px!important;width:auto!important}body.home .elementor-element-hero004 p{font-size:17px!important;line-height:1.55!important;margin:0!important;max-width:31ch!important}body.home .elementor-element-hero005{top:645px!important;left:24px!important}}
/* Mobile stabilisatie 2026-09-11 */
@media (max-width:767px){
html,body{overflow-x:hidden!important}
body .elementor a{line-height:1.45!important}
body .elementor p{line-height:1.65!important}
body .elementor h1,body .elementor .elementor-heading-title.elementor-size-default:is(h1){font-size:clamp(40px,12vw,48px)!important;line-height:1.02!important}
body .elementor h2,body .elementor .elementor-heading-title.elementor-size-default:is(h2){font-size:clamp(34px,10vw,42px)!important;line-height:1.06!important}
body .elementor h3,body .elementor .elementor-heading-title.elementor-size-default:is(h3){font-size:clamp(25px,8vw,30px)!important;line-height:1.14!important}
body .elementor h4{line-height:1.2!important}
body .elementor .elementor-widget-image-box a{line-height:0!important}
body .elementor .elementor-image-box-title{font-size:28px!important;line-height:1.12!important}
body .elementor .elementor-image-box-description{line-height:1.6!important}
body .egh,body .eghi,body .egb,body .egbn,body .egbs,body .egm,body .egm summary{height:auto!important;min-height:0!important;line-height:1!important}
body .egh{width:100%!important;background:#1E2422!important}
/* Mobiele Elementor hoogtecorrectie 2026-09-11 */
@media (max-width:767px){
body .elementor-element,body .elementor-widget-container{line-height:normal!important}
body .elementor-widget-image,body .elementor-widget-image .elementor-widget-container{line-height:0!important}
body .elementor-widget-button,body .elementor-widget-button .elementor-widget-container,body .elementor-widget-button .elementor-button-wrapper{height:auto!important;min-height:0!important;line-height:normal!important}
body .elementor-widget-heading{height:auto!important;min-height:0!important}
body .elementor-widget-heading .elementor-heading-title{margin-block-start:0!important;margin-block-end:0!important}
body .e-con:not(.elementor-element-hero001){min-height:0!important}
}

body .eghi{padding:15px 20px!important}
body .egbs{line-height:1.2!important}
body .egmp a{line-height:1.4!important}
body .egfi{padding:36px 20px 22px!important}
body .egfg{grid-template-columns:1fr!important;gap:22px!important}
body .egf h2{font-size:30px!important;line-height:1.05!important;margin-bottom:10px!important}
body .egf h3{font-size:11px!important;line-height:1.25!important;margin-bottom:8px!important}
body .egf p,body .egf a{line-height:1.6!important}
body .egfb{margin-top:28px!important;padding-top:16px!important;gap:6px!important}
body.page-id-161040 .elementor-element-d010{flex-wrap:wrap!important}
body.page-id-161040 .elementor-element-d011,body.page-id-161040 .elementor-element-d012,body.page-id-161040 .elementor-element-d013{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
body.page-id-160124 .egon-business-showcase h1{font-size:48px!important}
body.page-id-160124 .egon-business-showcase .intro,body.page-id-160124 .egon-business-showcase .textbeat{padding-top:58px!important;padding-bottom:58px!important}
body.page-id-160124 .egon-business-showcase figure{max-height:72vh!important}
}

.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio daadwerkelijk schermbreed binnen 32 px paginamarge */
@media (min-width: 768px) {
  body .elementor-element.elementor-element-port001.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  body .elementor-element.elementor-element-port003.e-con {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body .elementor-element.elementor-element-port003.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Dienstenblok – onderscheidend groen en vier Elementor-kaarten */
body .elementor-element.elementor-element-serv001 {
  background: #26352D !important;
  padding: clamp(78px, 8vw, 118px) 32px !important;
}
body .elementor-element.elementor-element-serv001.e-con-boxed > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
}
body .elementor-element-serv002 {
  max-width: 760px !important;
  margin: 0 0 34px !important;
}
body .elementor-element-serv002::before {
  content: "DIENSTEN";
  display: block;
  margin-bottom: 14px;
  color: #D8B675;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
body .elementor-element-serv002 h2 {
  margin: 0 !important;
  color: #F5F3EE !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(46px, 5.2vw, 72px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
}
body .elementor-element.elementor-element-serv003 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .elementor-element.elementor-element-serv003.e-con-boxed > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 258px !important;
  margin: 0 !important;
  padding: 24px 20px 28px !important;
  background: #F5F3EE !important;
  border: 1px solid #D9D4CB !important;
  border-right-width: 0 !important;
  box-sizing: border-box;
}
body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor:last-child {
  border-right-width: 1px !important;
}
body .elementor-element-serv003 .service-number {
  display: block !important;
  margin-bottom: 56px !important;
  color: #B69559 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}
body .elementor-element-serv003 h3 {
  margin: 0 0 10px !important;
  color: #1E2422 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
body .elementor-element-serv003 p {
  margin: 0 !important;
  color: #66706C !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
@media (max-width: 1024px) {
  body .elementor-element-serv003.e-con-boxed > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor {
    border-right-width: 1px !important;
  }
}
@media (max-width: 767px) {
  body .elementor-element.elementor-element-serv001 {
    padding: 64px 20px !important;
  }
  body .elementor-element-serv002 h2 {
    font-size: 44px !important;
  }
  body .elementor-element-serv003.e-con-boxed > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
  body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor {
    min-height: 0 !important;
    padding: 24px 20px 28px !important;
  }
  body .elementor-element-serv003 .service-number {
    margin-bottom: 28px !important;
  }
}

/* Consistente koppenhiërarchie op alle gegenereerde Elementor-pagina's */
body .elementor h1.elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(52px, 5.4vw, 72px) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
}
body .elementor h2.elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(38px, 4.2vw, 56px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}
body .elementor h3.elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(26px, 2.5vw, 34px) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}
body .elementor h1.elementor-heading-title,
body .elementor h2.elementor-heading-title,
body .elementor h3.elementor-heading-title {
  color: #1E2422;
}
body .elementor-element-hero001 h1.elementor-heading-title,
body .elementor-element-serv002 h2.elementor-heading-title {
  color: #F5F3EE !important;
}
@media (max-width: 767px) {
  body .elementor h1.elementor-heading-title { font-size: 46px !important; }
  body .elementor h2.elementor-heading-title { font-size: 38px !important; }
  body .elementor h3.elementor-heading-title { font-size: 28px !important; }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio daadwerkelijk schermbreed binnen 32 px paginamarge */
@media (min-width: 768px) {
  body .elementor-element.elementor-element-port001.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  body .elementor-element.elementor-element-port003.e-con {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body .elementor-element.elementor-element-port003.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Mobiele verfijning portfolio en diensten */
@media (max-width: 767px) {
  body .elementor-element.elementor-element-serv003.e-con-boxed > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }
  body .elementor-element.elementor-element-portcat1,
  body .elementor-element.elementor-element-portcat2,
  body .elementor-element.elementor-element-portcat3 {
    bottom: 96px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio daadwerkelijk schermbreed binnen 32 px paginamarge */
@media (min-width: 768px) {
  body .elementor-element.elementor-element-port001.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  body .elementor-element.elementor-element-port003.e-con {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body .elementor-element.elementor-element-port003.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !im[Truncated]

/* Definitieve mobiele eenkolomsweergave diensten */
@media screen and (max-width: 767px) {
  html body .elementor .elementor-element.elementor-element-serv003.e-con-boxed > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio daadwerkelijk schermbreed binnen 32 px paginamarge */
@media (min-width: 768px) {
  body .elementor-element.elementor-element-port001.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  body .elementor-element.elementor-element-port003.e-con {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body .elementor-element.elementor-element-port003.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Dienstenblok – onderscheidend groen en vier Elementor-kaarten */
body .elementor-element.elementor-element-serv001 {
  background: #26352D !important;
  padding: clamp(78px, 8vw, 118px) 32px !important;
}
body .elementor-element.elementor-element-serv001.e-con-boxed > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
}
body .elementor-element-serv002 {
  max-width: 760px !important;
  margin: 0 0 34px !important;
}
body .elementor-element-serv002::before {
  content: "DIENSTEN";
  display: block;
  margin-bottom: 14px;
  color: #D8B675;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
body .elementor-element-serv002 h2 {
  margin: 0 !important;
  color: #F5F3EE !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(46px, 5.2vw, 72px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
}
body .elementor-element.elementor-element-serv003 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .elementor-element.elementor-element-serv003.e-con-boxed > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 258px !important;
  margin: 0 !important;
  padding: 24px 20px 28px !important;
  background: #F5F3EE !important;
  border: 1px solid #D9D4CB !important;
  border-right-width: 0 !important;
  box-sizing: border-box;
}
body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor:last-child {
  border-right-width: 1px !important;
}
body .elementor-element-serv003 .service-number {
  display: block !important;
  margin-bottom: 56px !important;
  color: #B69559 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}
body .elementor-element-serv003 h3 {
  margin: 0 0 10px !important;
  color: #1E2422 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
body .elementor-element-serv003 p {
  margin: 0 !important;
  color: #66706C !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
@media (max-width: 1024px) {
  body .elementor-element-serv003.e-con-boxed > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor {
    border-right-width: 1px !important;
  }
}
@media (max-width: 767px) {
  body .elementor-element.elementor-element-serv001 {
    padding: 64px 20px !important;
  }
  body .elementor-element-serv002 h2 {
    font-size: 44px !important;
  }
  body .elementor-element-serv003.e-con-boxed > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
  body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor {
    min-height: 0 !important;
    padding: 24px 20px 28px !important;
  }
  body .elementor-element-serv003 .service-number {
    margin-bottom: 28px !important;
  }
}

/* Consistente koppenhiërarchie op alle gegenereerde Elementor-pagina's */
body .elementor h1.elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(52px, 5.4vw, 72px) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
}
body .elementor h2.elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(38px, 4.2vw, 56px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}
body .elementor h3.elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(26px, 2.5vw, 34px) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}
body .elementor h1.elementor-heading-title,
body .elementor h2.elementor-heading-title,
body .elementor h3.elementor-heading-title {
  color: #1E2422;
}
body .elementor-element-hero001 h1.elementor-heading-title,
body .elementor-element-serv002 h2.elementor-heading-title {
  color: #F5F3EE !important;
}
@media (max-width: 767px) {
  body .elementor h1.elementor-heading-title { font-size: 46px !important; }
  body .elementor h2.elementor-heading-title { font-size: 38px !important; }
  body .elementor h3.elementor-heading-title { font-size: 28px !important; }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio daadwerkelijk schermbreed binnen 32 px paginamarge */
@media (min-width: 768px) {
  body .elementor-element.elementor-element-port001.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  body .elementor-element.elementor-element-port003.e-con {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body .elementor-element.elementor-element-port003.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Mobiele verfijning portfolio en diensten */
@media (max-width: 767px) {
  body .elementor-element.elementor-element-serv003.e-con-boxed > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }
  body .elementor-element.elementor-element-portcat1,
  body .elementor-element.elementor-element-portcat2,
  body .elementor-element.elementor-element-portcat3 {
    bottom: 96px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio daadwerkelijk schermbreed binnen 32 px paginamarge */
@media (min-width: 768px) {
  body .elementor-element.elementor-element-port001.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  body .elementor-element.elementor-element-port003.e-con {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body .elementor-element.elementor-element-port003.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Dienstenblok – onderscheidend groen en vier Elementor-kaarten */
body .elementor-element.elementor-element-serv001 {
  background: #26352D !important;
  padding: clamp(78px, 8vw, 118px) 32px !important;
}
body .elementor-element.elementor-element-serv001.e-con-boxed > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
}
body .elementor-element-serv002 {
  max-width: 760px !important;
  margin: 0 0 34px !important;
}
body .elementor-element-serv002::before {
  content: "DIENSTEN";
  display: block;
  margin-bottom: 14px;
  color: #D8B675;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
body .elementor-element-serv002 h2 {
  margin: 0 !important;
  color: #F5F3EE !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(46px, 5.2vw, 72px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
}
body .elementor-element.elementor-element-serv003 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .elementor-element.elementor-element-serv003.e-con-boxed > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 258px !important;
  margin: 0 !important;
  padding: 24px 20px 28px !important;
  background: #F5F3EE !important;
  border: 1px solid #D9D4CB !important;
  border-right-width: 0 !important;
  box-sizing: border-box;
}
body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor:last-child {
  border-right-width: 1px !important;
}
body .elementor-element-serv003 .service-number {
  display: block !important;
  margin-bottom: 56px !important;
  color: #B69559 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}
body .elementor-element-serv003 h3 {
  margin: 0 0 10px !important;
  color: #1E2422 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
body .elementor-element-serv003 p {
  margin: 0 !important;
  color: #66706C !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
@media (max-width: 1024px) {
  body .elementor-element-serv003.e-con-boxed > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor {
    border-right-width: 1px !important;
  }
}
@media (max-width: 767px) {
  body .elementor-element.elementor-element-serv001 {
    padding: 64px 20px !important;
  }
  body .elementor-element-serv002 h2 {
    font-size: 44px !important;
  }
  body .elementor-element-serv003.e-con-boxed > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
  body .elementor-element-serv003 > .e-con-inner > .elementor-widget-text-editor {
    min-height: 0 !important;
    padding: 24px 20px 28px !important;
  }
  body .elementor-element-serv003 .service-number {
    margin-bottom: 28px !important;
  }
}

/* Consistente koppenhiërarchie op alle gegenereerde Elementor-pagina's */
body .elementor h1.elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(52px, 5.4vw, 72px) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
}
body .elementor h2.elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(38px, 4.2vw, 56px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}
body .elementor h3.elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(26px, 2.5vw, 34px) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}
body .elementor h1.elementor-heading-title,
body .elementor h2.elementor-heading-title,
body .elementor h3.elementor-heading-title {
  color: #1E2422;
}
body .elementor-element-hero001 h1.elementor-heading-title,
body .elementor-element-serv002 h2.elementor-heading-title {
  color: #F5F3EE !important;
}
@media (max-width: 767px) {
  body .elementor h1.elementor-heading-title { font-size: 46px !important; }
  body .elementor h2.elementor-heading-title { font-size: 38px !important; }
  body .elementor h3.elementor-heading-title { font-size: 28px !important; }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio daadwerkelijk schermbreed binnen 32 px paginamarge */
@media (min-width: 768px) {
  body .elementor-element.elementor-element-port001.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  body .elementor-element.elementor-element-port003.e-con {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body .elementor-element.elementor-element-port003.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Portfolio raster – volle paginabreedte */
@media (min-width: 768px) {
  .elementor-element-port001 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 {
    width: 100% !important;
    max-width: none !important;
  }
  .elementor-element-port003 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: repeat(2, clamp(300px, 19vw, 430px)) !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}


/* Homepage portfolio – redactionele beeldcompositie */
.elementor-element-port001 {
  background: #F5F3EE !important;
  padding: clamp(72px, 8vw, 118px) 32px !important;
}
.elementor-element-port001 > .e-con-inner {
  max-width: 1280px !important;
}
.elementor-element-port002 {
  margin-bottom: 34px !important;
}
.elementor-element-port002::before {
  content: "PORTFOLIO";
  display: block;
  margin-bottom: 14px;
  color: #5E5B4F;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
}
.elementor-element-port002::after {
  content: "Grote fotografie, kort gehouden context en ruimte voor het beeld.";
  display: block;
  margin-top: 12px;
  color: #66706C;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.elementor-element-port002 h2 {
  font-size: clamp(42px, 5.4vw, 76px) !important;
  line-height: 1.02 !important;
}
.elementor-element-port003 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(270px, 31vw)) !important;
  gap: 14px !important;
  max-width: none !important;
}
.elementor-element-portc1 {
  grid-row: 1 / 3;
}
.elementor-element-portc1,
.elementor-element-portc2,
.elementor-element-portc3 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1E2422;
}
.elementor-element-portc1 > .e-con-inner,
.elementor-element-portc2 > .e-con-inner,
.elementor-element-portc3 > .e-con-inner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.elementor-element-portc1::after,
.elementor-element-portc2::after,
.elementor-element-portc3::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(30,36,34,0), rgba(30,36,34,.82));
}
.elementor-element-portimg1,
.elementor-element-portimg2,
.elementor-element-portimg3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element-portimg1 .elementor-widget-container,
.elementor-element-portimg2 .elementor-widget-container,
.elementor-element-portimg3 .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.elementor-element-portimg1 img,
.elementor-element-portimg2 img,
.elementor-element-portimg3 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3,
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 28px) !important;
  right: clamp(18px, 2vw, 28px) !important;
  z-index: 3 !important;
  width: auto !important;
}
.elementor-element-portcat1,
.elementor-element-portcat2,
.elementor-element-portcat3 {
  bottom: 54px !important;
  color: #D8B675 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-porttitle1,
.elementor-element-porttitle2,
.elementor-element-porttitle3 {
  bottom: 20px !important;
  margin: 0 !important;
}
.elementor-element-porttitle1 h3,
.elementor-element-porttitle2 h3,
.elementor-element-porttitle3 h3 {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
@media (max-width: 767px) {
  .elementor-element-port001 {
    padding: 64px 20px !important;
  }
  .elementor-element-port003 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: 460px 290px 290px !important;
    gap: 12px !important;
  }
  .elementor-element-portc1 {
    grid-row: auto;
  }
  .elementor-element-port002 h2 {
    font-size: 44px !important;
  }
}
.elementor-element-hhdr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hhdrhtml {
  width: 100% !important;
  max-width: none !important;
}
.egh {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #5E5B4F !important;
  color: #F5F3EE !important;
}
.eghi {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 64px !important;
  box-sizing: border-box;
}
.egh a,
.egbn {
  color: #F5F3EE !important;
}
.egh a:hover,
.egh a[aria-current="page"],
.egbs {
  color: #D9D4CB !important;
}
.egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.egh .egwa:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Eén beeldvullende Slider Revolution hero */
.elementor-element-hero001 {
  background-image: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.elementor-element-hero001 > .e-con-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.elementor-element-6b4cd6a {
  grid-area: 1 / 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}
.elementor-element-6b4cd6a::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(30,36,34,.72) 0%, rgba(30,36,34,.40) 48%, rgba(30,36,34,.08) 78%) !important;
}
.elementor-element-hero002,
.elementor-element-hero003,
.elementor-element-hero004,
.elementor-element-hero005 {
  position: absolute !important;
  z-index: 5 !important;
  left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
}
.elementor-element-hero002 {
  top: 17% !important;
  width: min(760px, calc(100% - 128px)) !important;
}
.elementor-element-hero003 {
  top: 25% !important;
  width: min(820px, calc(100% - 128px)) !important;
}
.elementor-element-hero004 {
  top: 49% !important;
  width: min(650px, calc(100% - 128px)) !important;
}
.elementor-element-hero005 {
  top: 64% !important;
  width: auto !important;
}
.elementor-element-hero002,
.elementor-element-hero003 .elementor-heading-title,
.elementor-element-hero004 {
  color: #F5F3EE !important;
}
.elementor-element-hero002 * ,
.elementor-element-hero004 * {
  color: inherit !important;
}
.elementor-element-hero005 .elementor-button {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
.elementor-element-hero005 .elementor-button:hover {
  background: #F5F3EE !important;
  color: #1E2422 !important;
}

/* Globale knopstijl volgens het aardse palet */
body .elementor-button {
  background-color: #5E5B4F;
  color: #F5F3EE;
  border-color: #5E5B4F;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: #26352D;
  color: #F5F3EE;
  border-color: #26352D;
}

/* Complianz cookiebanner */
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #5E5B4F !important;
  border-color: #5E5B4F !important;
  color: #F5F3EE !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background-color: #F5F3EE !important;
  border-color: #D9D4CB !important;
  color: #1E2422 !important;
}
body .cmplz-cookiebanner a {
  color: #5E5B4F !important;
}

@media (max-width: 767px) {
  .eghi {
    padding: 15px 20px !important;
  }
  .elementor-element-6b4cd6a::after {
    background: linear-gradient(90deg, rgba(30,36,34,.76), rgba(30,36,34,.28)) !important;
  }
  .elementor-element-hero002,
  .elementor-element-hero003,
  .elementor-element-hero004,
  .elementor-element-hero005 {
    left: 24px !important;
    width: calc(100% - 48px) !important;
  }
  .elementor-element-hero002 { top: 12% !important; }
  .elementor-element-hero003 { top: 21% !important; }
  .elementor-element-hero004 { top: 51% !important; }
  .elementor-element-hero005 { top: 68% !important; width: auto !important; }
}

/* Footerachtergrond over de volledige schermbreedte */
.elementor-element-hftr {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-element-hftrhtml,
.egf {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Consistente CTA-knoppen */
body .elementor-button,
body input[type="submit"].wpcf7-submit {
  background: #5E5B4F !important;
  color: #F5F3EE !important;
  border: 1px solid #5E5B4F !important;
  border-radius: 999px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 15px 26px !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .elementor-button:hover,
body .elementor-button:focus,
body input[type="submit"].wpcf7-submit:hover,
body input[type="submit"].wpcf7-submit:focus {
  background: #26352D !important;
  color: #F5F3EE !important;
  border-color: #26352D !important;
  transform: translateY(-1px);
}
body .egh .egwa {
  background: #D9D4CB !important;
  color: #1E2422 !important;
  border-color: #D9D4CB !important;
}
body .egh .egwa:hover,
body .egh .egwa:focus {
  background: #F5F3EE !important;
  color: #1E2422 !important;
  border-color: #F5F3EE !important;
}

/* Contact Form 7 – rustige kaart in de huisstijl */
body .wpcf7 {
  margin-top: 32px;
}
body .wpcf7 form {
  background: #F5F3EE;
  border: 1px solid #D9D4CB;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 44px rgba(30, 36, 34, .08);
}
body .wpcf7 form p {
  margin: 0 0 18px;
}
body .wpcf7 label {
  display: block;
  color: #1E2422;
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wpcf7 select,
body .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid #C8C2B7;
  border-radius: 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpcf7 textarea {
  min-height: 170px;
  resize: vertical;
}
body .wpcf7 input:focus,
body .wpcf7 select:focus,
body .wpcf7 textarea:focus {
  outline: none;
  border-color: #5E5B4F;
  box-shadow: 0 0 0 3px rgba(94, 91, 79, .16);
}
body .wpcf7 .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
body .wpcf7 .wpcf7-acceptance input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5E5B4F;
  flex: 0 0 auto;
}
body .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #8A3D35;
  font-size: 14px;
}
body .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  body .wpcf7 form {
    border-radius: 14px;
    padding: 20px;
  }
  body .wpcf7 input[type="submit"].wpcf7-submit {
    width: 100%;
  }
}