/* =========================================================
   GLOBAL VARS
   ========================================================= */
:root{
  --page-bg: #8f8f8f;
  --page-bg-light: #8f8f8f;
  --page-bg-dark:  #000000;
}


/* =========================================================
   CUSTOM SHAPE (witte box met tabs)
   ========================================================= */

/* =========================================================
   CUSTOM SHAPE – DEFINITIEVE FIX (geen transparante hoeken)
   ========================================================= */

.custom-shape{
  position: relative;
  border-radius: 40px;
  isolation: isolate;
  overflow: visible;

  /* echte achtergrond van de witte box */
  background: #ffffff;
}

/* tabs linksboven + rechtsonder */
.custom-shape::before,
.custom-shape::after{
  content: "";
  position: absolute;
  width: 90px;
  height: 46px;

  /* kleur van je pagina achtergrond */
  background: #8f8f8f;

  border-radius: 16px;
  z-index: 0; /* ACHTER de witte box */
  pointer-events: none;
}

/* linksboven */
.custom-shape::before{
  top: -12px;
  left: -12px;
}

/* rechtsonder */
.custom-shape::after{
  bottom: -14px;
  right: -22px;
}

/* witte box moet boven tabs liggen */
.custom-shape > *{
  position: relative;
  z-index: 2;
}

/* EXTRA FIX: echte witte laag boven pseudo elements */
.custom-shape::marker{ display:none; }

.custom-shape::after,
.custom-shape::before{
  box-shadow: 0 0 0 9999px rgba(0,0,0,0); /* force repaint fix Safari/Elementor */
}



/* =========================================================
   CARD BASIS
   ========================================================= */

.card-shape{
  position: relative !important;
  overflow: hidden;
  min-height: 380px;
  padding: 18px !important;
  border-radius: 24px;
  isolation: isolate;
}

/* NOTCH (alleen desktop) */
.card-shape::after{
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;

  width: var(--notch-size);
  height: var(--notch-size);

  background: var(--cutout-bg);

  border-top-left-radius: var(--notch-radius);
  border-bottom-left-radius: 28px;
  border-top-right-radius: 28px;

  z-index: 1;
  pointer-events: none;
}

.card-shape > *{
  position: relative;
  z-index: 2;
}


/* =========================================================
   BUTTON BASIS
   ========================================================= */

.card-btn{
  position: absolute !important;
  right: var(--btn-right);
  bottom: var(--btn-bottom);
  z-index: 5;

  margin: 0 !important;
  padding: 0 !important;

  width: var(--btn-size);
  height: var(--btn-size);
}

/* wrappers mogen button niet verkleinen */
.card-btn,
.card-btn .elementor-widget-container,
.card-btn .elementor-button-wrapper{
  width: var(--btn-size) !important;
  height: var(--btn-size) !important;
  display: block !important;
}

.card-btn .elementor-button{
  width: 100%;
  height: 100%;
  padding: 0;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: var(--btn-radius);
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}


/* =========================================================
   LIGHT CARD (wit met notch)
   ========================================================= */

.card-shape.card--light{
  background: #ffffff;

  --cutout-bg: var(--page-bg-light);

  --notch-size: 140px;
  --notch-radius: 32px;

  --btn-size: 110px;
  --btn-radius: 28px;

  /* knop exact in notch */
  --btn-right: calc((var(--notch-size) - var(--btn-size)) / 2);
  --btn-bottom: calc((var(--notch-size) - var(--btn-size)) / 2);
}

.card-shape.card--light .card-btn .elementor-button{
  background: #000000;
  color: #ffffff;
}


/* =========================================================
   DARK CARD (zonder notch)
   ========================================================= */

.card-shape.card--dark{
  background: #000000;

  --btn-size: 110px;
  --btn-radius: 28px;

  --btn-right: 18px;
  --btn-bottom: 18px;
}

.card-shape.card--dark::after{
  display: none;
}

.card-shape.card--dark .card-btn .elementor-button{
  background: #000000;
  color: #ffffff;
}


/* =========================================================
   ORANJE BUTTON VARIANT
   ========================================================= */

.card-btn.card-btn--orange .elementor-button{
  background: #ff7420 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(255,116,32,0.35) !important;
}


/* =========================================================
   RESPONSIVE – TABLET + MOBIEL
   👉 NOTCH VOLLEDIG UIT
   👉 Knop strak rechtsonder
   ========================================================= */

@media (max-width: 1024px){

  /* custom shape tabs uit */
  .custom-shape::before,
  .custom-shape::after{
    display: none !important;
  }

  .custom-shape{
    border-radius: 24px;
    overflow: hidden;
  }

  /* notch uit op cards */
  .card-shape::after{
    display: none !important;
  }

  /* cards compacter */
  .card-shape{
    min-height: auto;
    padding: 16px !important;
    padding-bottom: 90px !important;
  }

  /* knop netjes rechtsonder */
  .card-shape .card-btn{
    right: 16px !important;
    bottom: 16px !important;

    width: 70px !important;
    height: 70px !important;
  }

  .card-btn .elementor-button{
    border-radius: 20px !important;
  }
}


/* =========================================================
   EXTRA KLEIN MOBIEL
   ========================================================= */

@media (max-width: 480px){

  .card-shape{
    padding: 14px !important;
    padding-bottom: 80px !important;
  }

  .card-shape .card-btn{
    right: 12px !important;
    bottom: 12px !important;

    width: 58px !important;
    height: 58px !important;
  }

  .card-btn .elementor-button{
    border-radius: 16px !important;
  }
}


/* =========================================================
   CUSTOM-SHAPE TABS — ZWART op Diensten + sub-pagina's
   (alle andere pagina's behouden de grijze tab)
   ========================================================= */
body.page-id-24 .custom-shape::before,
body.page-id-24 .custom-shape::after,
body.parent-pageid-24 .custom-shape::before,
body.parent-pageid-24 .custom-shape::after,
body.page-id-702 .custom-shape::before,
body.page-id-702 .custom-shape::after,
body.page-id-25 .custom-shape::before,
body.page-id-25 .custom-shape::after{
  background: #000000;
}
