.elementor-kit-73{--e-global-color-primary:#0B3D2E;--e-global-color-secondary:#008A50;--e-global-color-text:#12241B;--e-global-color-accent:#00A860;--e-global-color-eb0d8f7:#E8A33D;--e-global-color-b6d21c4:#F0C377;--e-global-color-878ce0c:#2A2410;--e-global-color-a9c7b7a:#9FE8C3;--e-global-color-138902d:#EAF6EF;--e-global-color-5d4b1d9:#F1F5F2;--e-global-color-13dda63:#D8E4DC;--e-global-color-4df9271:#5A6B61;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-size:52px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Fraunces";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:16.5px;--e-global-typography-accent-font-weight:700;--e-global-typography-78e4875-font-family:"Fraunces";--e-global-typography-78e4875-font-size:88px;--e-global-typography-78e4875-font-weight:600;--e-global-typography-78e4875-line-height:1.08em;--e-global-typography-78e4875-letter-spacing:0.015em;--e-global-typography-dcccfe4-font-family:"Fraunces";--e-global-typography-dcccfe4-font-size:52px;--e-global-typography-dcccfe4-font-weight:600;--e-global-typography-dcccfe4-line-height:1.1em;--e-global-typography-2802887-font-family:"Fraunces";--e-global-typography-2802887-font-size:22px;--e-global-typography-2802887-font-weight:600;--e-global-typography-2802887-line-height:1.25em;--e-global-typography-0cdf772-font-family:"Fraunces";--e-global-typography-0cdf772-font-size:19px;--e-global-typography-0cdf772-font-weight:600;--e-global-typography-0cdf772-line-height:1.3em;--e-global-typography-2dc7958-font-family:"Inter";--e-global-typography-2dc7958-font-size:16px;--e-global-typography-2dc7958-font-weight:700;--e-global-typography-2dc7958-line-height:1.4em;--e-global-typography-4602cdb-font-family:"Inter";--e-global-typography-4602cdb-font-size:13.5px;--e-global-typography-4602cdb-font-weight:700;--e-global-typography-4602cdb-text-transform:uppercase;--e-global-typography-4602cdb-line-height:1.4em;--e-global-typography-4602cdb-letter-spacing:0.18em;background-color:#FFFFFF;color:#11241B;font-family:"Inter", Sans-serif;font-size:17px;font-weight:400;}.elementor-kit-73 button,.elementor-kit-73 input[type="button"],.elementor-kit-73 input[type="submit"],.elementor-kit-73 .elementor-button{background-color:#E8A33D;font-family:var( --e-global-typography-2dc7958-font-family ), Sans-serif;font-size:var( --e-global-typography-2dc7958-font-size );font-weight:var( --e-global-typography-2dc7958-font-weight );line-height:var( --e-global-typography-2dc7958-line-height );color:#2A2410;border-radius:14px 14px 14px 14px;padding:16px 32px 16px 32px;}.elementor-kit-73 button:hover,.elementor-kit-73 button:focus,.elementor-kit-73 input[type="button"]:hover,.elementor-kit-73 input[type="button"]:focus,.elementor-kit-73 input[type="submit"]:hover,.elementor-kit-73 input[type="submit"]:focus,.elementor-kit-73 .elementor-button:hover,.elementor-kit-73 .elementor-button:focus{background-color:#D6932F;color:#2A2410;box-shadow:0px 6px 16px 0px rgba(11, 61, 45.999999999999964, 0.18);border-radius:14px 14px 14px 14px;}.elementor-kit-73 e-page-transition{background-color:#FFBC7D;}.elementor-kit-73 a{color:#008A50;}.elementor-kit-73 a:hover{color:#007343;}.elementor-kit-73 h1{color:#12241B;font-family:var( --e-global-typography-78e4875-font-family ), Sans-serif;font-size:var( --e-global-typography-78e4875-font-size );font-weight:var( --e-global-typography-78e4875-font-weight );line-height:var( --e-global-typography-78e4875-line-height );letter-spacing:var( --e-global-typography-78e4875-letter-spacing );}.elementor-kit-73 h2{color:#12241B;font-family:var( --e-global-typography-dcccfe4-font-family ), Sans-serif;font-size:var( --e-global-typography-dcccfe4-font-size );font-weight:var( --e-global-typography-dcccfe4-font-weight );line-height:var( --e-global-typography-dcccfe4-line-height );}.elementor-kit-73 h3{color:#12241B;font-family:var( --e-global-typography-2802887-font-family ), Sans-serif;font-size:var( --e-global-typography-2802887-font-size );font-weight:var( --e-global-typography-2802887-font-weight );line-height:var( --e-global-typography-2802887-line-height );}.elementor-kit-73 h4{color:#12241B;font-family:var( --e-global-typography-0cdf772-font-family ), Sans-serif;font-size:var( --e-global-typography-0cdf772-font-size );font-weight:var( --e-global-typography-0cdf772-font-weight );line-height:var( --e-global-typography-0cdf772-line-height );}.elementor-kit-73 h5{color:#12241B;font-family:var( --e-global-typography-2dc7958-font-family ), Sans-serif;font-size:var( --e-global-typography-2dc7958-font-size );font-weight:var( --e-global-typography-2dc7958-font-weight );line-height:var( --e-global-typography-2dc7958-line-height );}.elementor-kit-73 h6{color:#12241B;font-family:var( --e-global-typography-4602cdb-font-family ), Sans-serif;font-size:var( --e-global-typography-4602cdb-font-size );font-weight:var( --e-global-typography-4602cdb-font-weight );text-transform:var( --e-global-typography-4602cdb-text-transform );line-height:var( --e-global-typography-4602cdb-line-height );letter-spacing:var( --e-global-typography-4602cdb-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1290px;}.e-con{--container-max-width:1290px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-73 h1{font-size:var( --e-global-typography-78e4875-font-size );line-height:var( --e-global-typography-78e4875-line-height );letter-spacing:var( --e-global-typography-78e4875-letter-spacing );}.elementor-kit-73 h2{font-size:var( --e-global-typography-dcccfe4-font-size );line-height:var( --e-global-typography-dcccfe4-line-height );}.elementor-kit-73 h3{font-size:var( --e-global-typography-2802887-font-size );line-height:var( --e-global-typography-2802887-line-height );}.elementor-kit-73 h4{font-size:var( --e-global-typography-0cdf772-font-size );line-height:var( --e-global-typography-0cdf772-line-height );}.elementor-kit-73 h5{font-size:var( --e-global-typography-2dc7958-font-size );line-height:var( --e-global-typography-2dc7958-line-height );}.elementor-kit-73 h6{font-size:var( --e-global-typography-4602cdb-font-size );line-height:var( --e-global-typography-4602cdb-line-height );letter-spacing:var( --e-global-typography-4602cdb-letter-spacing );}.elementor-kit-73 button,.elementor-kit-73 input[type="button"],.elementor-kit-73 input[type="submit"],.elementor-kit-73 .elementor-button{font-size:var( --e-global-typography-2dc7958-font-size );line-height:var( --e-global-typography-2dc7958-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-73{--e-global-typography-78e4875-font-size:42px;--e-global-typography-dcccfe4-font-size:32px;}.elementor-kit-73 h1{font-size:var( --e-global-typography-78e4875-font-size );line-height:var( --e-global-typography-78e4875-line-height );letter-spacing:var( --e-global-typography-78e4875-letter-spacing );}.elementor-kit-73 h2{font-size:var( --e-global-typography-dcccfe4-font-size );line-height:var( --e-global-typography-dcccfe4-line-height );}.elementor-kit-73 h3{font-size:var( --e-global-typography-2802887-font-size );line-height:var( --e-global-typography-2802887-line-height );}.elementor-kit-73 h4{font-size:var( --e-global-typography-0cdf772-font-size );line-height:var( --e-global-typography-0cdf772-line-height );}.elementor-kit-73 h5{font-size:var( --e-global-typography-2dc7958-font-size );line-height:var( --e-global-typography-2dc7958-line-height );}.elementor-kit-73 h6{font-size:var( --e-global-typography-4602cdb-font-size );line-height:var( --e-global-typography-4602cdb-line-height );letter-spacing:var( --e-global-typography-4602cdb-letter-spacing );}.elementor-kit-73 button,.elementor-kit-73 input[type="button"],.elementor-kit-73 input[type="submit"],.elementor-kit-73 .elementor-button{font-size:var( --e-global-typography-2dc7958-font-size );line-height:var( --e-global-typography-2dc7958-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== TYPOGRAFIE — hubs & kennisartikelen (Post Content) ===== */
.elementor-widget-theme-post-content h2 {
    font-size: 26px;
    line-height: 1.3;
    color: #0B3D2E;
    margin-top: 16px;
    margin-bottom: 4px;
}
.elementor-widget-theme-post-content h2:first-child {
    margin-top: 0;
}
.elementor-widget-theme-post-content h3 {
    font-size: 21px;
    line-height: 1.35;
    color: #0B3D2E;
    margin-top: 0px;
    margin-bottom: 4px;
}
@media (max-width: 767px) {
    .elementor-widget-theme-post-content h2 { font-size: 23px; }
    .elementor-widget-theme-post-content h3 { font-size: 19px; }
}

/* Uitzondering: koppen ín listing-kaarten volgen hun eigen kaartopmaak */
.elementor-widget-theme-post-content .jet-listing-grid h2,
.elementor-widget-theme-post-content .jet-listing-grid h3 {
    font-size: 20px;
    line-height: 1.3;
    color: #12241B;
    margin-top: 0;
    margin-bottom: 6px;
}

/* ===== BUTTONS ===== */
.elementor-button {
    transition: all 0.35s ease;
}

/* Secundair — emerald */
.btn-secondary .elementor-button {
    background-color: #00A860;
    color: #FFFFFF;
}
.btn-secondary .elementor-button:hover {
    background-color: #008A50;
    color: #FFFFFF;
}

/* Ghost — op lichte achtergrond */
.btn-ghost .elementor-button {
    background-color: transparent;
    color: #008A50;
    border: 1.5px solid #008A50;
    padding: 14.5px 30.5px;
}
.btn-ghost .elementor-button:hover {
    background-color: #EAF6EF;
    color: #008A50;
}

/* Ghost — op bosgroen */
.btn-ghost-dark .elementor-button {
    background-color: transparent;
    color: #FFFFFF;
    border: 1.5px solid rgba(255,255,255,0.55);
    padding: 14.5px 30.5px;
}
.btn-ghost-dark .elementor-button:hover {
    background-color: rgba(255,255,255,0.12);
    box-shadow: none;
    color: #FFFFFF;
}

/* ===== PRODUCTKAART — mandknop ===== */
.vz-mand {
    position: relative;
    z-index: 2;
    flex: none;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #D8E4DC;
    border-radius: 99px;
    background: #fff;
    color: #5A6B61;
    text-decoration: none;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
}
.vz-mand:hover,
.vz-mand:focus-visible {
    background: #00A860;
    border-color: #00A860;
    color: #fff;
}
.vz-mand svg {
    width: 19px;
    height: 19px;
    display: block;
}

/* ===== PRODUCTKAART — klikbare overlay ===== */
.vz-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    margin: 0;
}
.vz-overlay .elementor-widget-container,
.vz-overlay .jet-listing,
.vz-overlay .jet-listing-dynamic-link {
    position: static;
    height: 100%;
}
.vz-overlay a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    font-size: 0;
    line-height: 0;
    color: transparent;
}

/* ===== PRODUCTKAART — teller ===== */
.vz-teller {
    display: none;
    width: fit-content;
    margin-left: auto;
    align-items: center;
    gap: 2px;
    height: 42px;
    padding: 0 5px;
    border-radius: 99px;
    background: #00A860;
    color: #fff;
    position: relative;
    z-index: 2;
    flex: none;
}
.vz-teller button,
.vz-teller button:hover,
.vz-teller button:focus,
.vz-teller button:active {
    position: relative;
    top: -1px;
    width: 32px;
    height: 32px;
    min-height: 0;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 99px;
    background: transparent;
    box-shadow: none;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 0;
    cursor: pointer;
    transition: background .15s;
}
.vz-teller button:hover {
    background: rgba(255,255,255,.2);
}
.vz-teller button:active {
    background: rgba(255,255,255,.32);
}
.vz-teller .aantal {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    min-width: 24px;
    font-family: Inter, sans-serif;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 0;
    color: #fff;
}
body.vz-bezig .vz-teller,
body.vz-bezig .vz-mand {
    opacity: .6;
    pointer-events: none;
}

/* ===== PRODUCTKAART — uitverkocht ===== */
.vz-uitverkocht {
    display: inline-block;
    background: #F1F5F2;
    color: #5A6B61;
    border-radius: 99px;
    padding: 8px 14px;
    font-family: Inter, sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
}
.jet-listing-grid__item:has(.vz-uitverkocht) .elementor-widget-image,
.jet-listing-grid__item:has(.vz-uitverkocht) .jet-listing-dynamic-image {
    opacity: .55;
}

/* ==========================================================================
   vezels.nl — Mini-winkelwagen in de header (Blocksy)
   Variant 2: licht, zelfde familie als de productkaarten.
   Hoort in je SITEBREDE CSS — de dropdown staat op elke pagina.
   ========================================================================== */

.ct-cart-content {
  font-family: "Inter", system-ui, sans-serif;
  border-radius: 20px !important;
  overflow: hidden;
}

/* --- Productregels --------------------------------------------------------- */

.ct-cart-content ul.woocommerce-mini-cart {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ct-cart-content li.woocommerce-mini-cart-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid #D8E4DC;
  list-style: none;
}

.ct-cart-content li.woocommerce-mini-cart-item:first-child {
  padding-top: 0;
}

.ct-cart-content a.ct-media-container {
  flex: none;
  width: 56px;
  border-radius: 8px;
  overflow: hidden;
  background: #EAF6EF;
}

.ct-cart-content .product-data {
  flex: 1;
  min-width: 0;
}

.ct-cart-content a.product-title {
  display: block;
  color: #0B3D2E;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
}

.ct-cart-content a.product-title:hover {
  color: #00A860;
}

.ct-cart-content .quantity {
  display: block;
  margin-top: 4px;
  color: #5A6B62;
  font-size: 13px;
}

.ct-cart-content a.remove_from_cart_button {
  flex: none;
  color: #5A6B62 !important;
  opacity: .7;
  transition: color .15s ease, opacity .15s ease;
}

.ct-cart-content a.remove_from_cart_button:hover {
  color: #B3261E !important;
  opacity: 1;
  background: transparent !important;
}

/* --- Subtotaal ------------------------------------------------------------- */

.ct-cart-content p.woocommerce-mini-cart__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 0;
  padding: 14px 0;
  border-bottom: none;
  color: #12241B;
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
}

.ct-cart-content p.woocommerce-mini-cart__total .woocommerce-Price-amount {
  color: #0B3D2E;
  font-size: 17px;
  font-weight: 500;
}

/* --- Knoppen ---------------------------------------------------------------
   In de HTML staat "Bekijk winkelwagen" eerst en "Afrekenen" daarna.
   Met flex + order draaien we dat om: afrekenen is de primaire actie.
   --------------------------------------------------------------------------- */

.ct-cart-content p.woocommerce-mini-cart__buttons {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}

.ct-cart-content p.woocommerce-mini-cart__buttons a.button {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 2.875rem;
  margin: 0;
  padding: .75rem 1.25rem !important;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2 !important;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  border-radius: 14px !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

/* Primair — Afrekenen */
.ct-cart-content p.woocommerce-mini-cart__buttons a.button.checkout {
  order: 1;
  background: #0B3D2E !important;
  color: #FFFFFF !important;
  border: 1px solid #0B3D2E !important;
}

.ct-cart-content p.woocommerce-mini-cart__buttons a.button.checkout:hover {
  background: #00A860 !important;
  border-color: #00A860 !important;
  color: #FFFFFF !important;
}

/* Secundair — Bekijk winkelwagen */
.ct-cart-content p.woocommerce-mini-cart__buttons a.button:not(.checkout) {
  order: 2;
  background: #FFFFFF !important;
  color: #0B3D2E !important;
  border: 1px solid #D8E4DC !important;
}

.ct-cart-content p.woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
  background: #EAF6EF !important;
  border-color: #0B3D2E !important;
  color: #0B3D2E !important;
}

/* --- Lege winkelwagen ------------------------------------------------------ */

.ct-cart-content .woocommerce-mini-cart__empty-message {
  margin: 0;
  padding: 1rem 0;
  color: #5A6B62;
  font-size: 14px;
}

/* ==========================================================================
   vezels.nl — WooCommerce-meldingen
   "Toegevoegd aan winkelwagen", "Verwijderd", info- en foutmeldingen.
   Sitebreed: meldingen verschijnen op product-, winkelwagen- en afrekenpagina.
   ========================================================================== */

.woocommerce-message,
.woocommerce-info {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #EAF6EF !important;
  border: 1px solid #D8E4DC !important;
  border-radius: 14px !important;
  color: #12241B !important;
  font-family: "Inter", sans-serif;
}

/* --- Foutmeldingen ---------------------------------------------------------
   Het thema zet hier een verzadigd rood vlak neer met groene tekst erop.
   Lichte achtergrond met donkerrode tekst leest beter. De kleur staat ook op
   li, p en strong omdat WooCommerce fouten in een lijst zet en het thema die
   apart kleurt.
   --------------------------------------------------------------------------- */

.woocommerce-error {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #FDECEA !important;
  border: 1px solid #F3C6C1 !important;
  border-radius: 14px !important;
  color: #7A1C15 !important;
  font-family: "Inter", sans-serif;
}

.woocommerce-error li,
.woocommerce-error p,
.woocommerce-error strong {
  color: #7A1C15 !important;
}

.woocommerce-error a:not(.button) {
  color: #7A1C15 !important;
  text-decoration: underline;
}

.woocommerce-error::before,
.woocommerce-error .ct-icon,
.woocommerce-error svg {
  color: #B3261E !important;
  fill: #B3261E !important;
}

/* --- Knoppen binnen een melding — "Bekijk winkelwagen", "Ongedaan maken?" -- */

.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button,
.woocommerce-message a.restore-item,
.woocommerce-info a.restore-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 2.75rem;
  padding: .75rem 1.25rem !important;
  background: #0B3D2E !important;
  color: #FFFFFF !important;
  font-family: "Inter", sans-serif;
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.2 !important;
  border: 1px solid #0B3D2E !important;
  border-radius: 14px !important;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
}

.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
.woocommerce-error a.button:hover,
.woocommerce-message a.restore-item:hover,
.woocommerce-info a.restore-item:hover {
  background: #00A860 !important;
  border-color: #00A860 !important;
  color: #FFFFFF !important;
}

/* --- Gedeeld: verborgen <br> in knoppen (mini-winkelwagen + meldingen) ----- */

.ct-cart-content p.woocommerce-mini-cart__buttons a.button br,
.woocommerce-message a.button br,
.woocommerce-info a.button br {
  display: none !important;
}/* End custom CSS */