/** Shopify CDN: Minification failed

Line 26:0 Unexpected "{"

**/
/* Place any CSS overrides in this file. */

/* Register Millimetre Bold */
@font-face {
  font-family: 'Millimetre';
  src: url('/cdn/shop/files/Millimetre-Bold_web.eot?v=1758218595'); /* IE9 Compat Modes */
  src: url('/cdn/shop/files/Millimetre-Bold_web.eot?#iefix&v=1758218595') format('embedded-opentype'), /* IE6-IE8 */
       url('/cdn/shop/files/Millimetre-Bold_web.woff2?v=1758218595') format('woff2'), /* Super modern browsers */
       url('/cdn/shop/files/Millimetre-Bold_web.woff?v=1758218594') format('woff'),   /* Modern browsers */
       url('/cdn/shop/files/Millimetre-Bold_web.ttf?v=1758218594') format('truetype'); /* Safari, Android, iOS */
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Apply Millimetre Bold to headings with tracking */
h1, h2, h3, h4, h5, h6,
.heading, .title, .section-title
.product-details-product-title,
.h3.product-details-product-title,
{
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700;
  letter-spacing: 0.075em; /* tracking 75 */
  text-transform: uppercase !important; /* brand rule: Millimetre only in caps */
}

/* Force Millimetre on all buttons */
button,
.btn,
.button,
.hero-button-button_EzGiqY,
.hero-button-inner-button_EzGiqY,
a[class*="button"] {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700;
  letter-spacing: 0.075em; /* tracking 75 from your style guide */
  text-transform: uppercase; /* optional: matches many button styles */
  text-transform: uppercase; /* brand rule */
}

/* Utility class for one-off use */
.font-millimetre {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}


/* Inria Serif - Light (300) */
@font-face {
  font-family: 'Inria Serif';
  src: url('/cdn/shop/files/inria-serif-light.eot?v=1758218215');
  src: url('/cdn/shop/files/inria-serif-light.eot?#iefix&v=1758218215') format('embedded-opentype'),
       url('/cdn/shop/files/inria-serif-light.woff2?v=1758218215') format('woff2'),
       url('/cdn/shop/files/inria-serif-light.woff?v=1758218215') format('woff'),
       url('/cdn/shop/files/inria-serif-light.ttf?v=1758218215') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Inria Serif - Regular (400) */
@font-face {
  font-family: 'Inria Serif';
  src: url('/cdn/shop/files/inria-serif-regular.eot?v=1758218215');
  src: url('/cdn/shop/files/inria-serif-regular.eot?#iefix&v=1758218215') format('embedded-opentype'),
       url('/cdn/shop/files/inria-serif-regular.woff2?v=1758218215') format('woff2'),
       url('/cdn/shop/files/inria-serif-regular.woff?v=1758218215') format('woff'),
       url('/cdn/shop/files/inria-serif-regular.ttf?v=1758218215') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Inria Serif - Bold (700) */
@font-face {
  font-family: 'Inria Serif';
  src: url('/cdn/shop/files/inria-serif-bold.eot?v=1758218215');
  src: url('/cdn/shop/files/inria-serif-bold.eot?#iefix&v=1758218215') format('embedded-opentype'),
       url('/cdn/shop/files/inria-serif-bold.woff2?v=1758218214') format('woff2'),
       url('/cdn/shop/files/inria-serif-bold.woff?v=1758218215') format('woff'),
       url('/cdn/shop/files/inria-serif-bold.ttf?v=1758218215') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}


body, p, li, span {
  font-family: 'Inria Serif', Georgia, Times, serif;
}



/* === Place Order button styling in header menu === */
a.custom-order-button {
  display: inline-block;
  padding: 12px 24px; /* More padding above/below */
  margin: 30px auto; /* Spacing and center alignment */
  border: 2px solid red; /* Red border */
  color: red; /* Red text */
  background-color: transparent; /* Transparent background */
  text-align: center;
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.3s ease;
}

a.custom-order-button:hover {
  background-color: red; /* Fill red on hover */
  color: #f7f2ed; /* Soft light text on hover */
}

/* ==== Solid Stash – Product page (Flow v41) qty + ATC alignment ==== */
/* Scope to the shared parent that contains the qty block and buy-buttons block */
.product--add-to-cart-form {
  /* Tunables */
  --atc-height: 54px;           /* target unified height (incl. borders) */
  --qty-width: 136px;           /* fixed column for qty selector */
  --gap: 12px;                  /* space between qty and ATC */
  --qty-label-raise: 22px;      /* how far the label floats above the box */
  --qty-label-gap: 6px;         /* tiny breathing room between label and box */

  display: flex;
  flex-wrap: wrap;
  column-gap: var(--gap);
  row-gap: 14px;
  align-items: stretch;
}

/* Make earlier blocks full-width rows; neutralize Flow’s inline bottom margins */
.product--add-to-cart-form > .product-form-block {
  flex: 1 1 100%;
  margin-bottom: 0 !important;
}

/* --- Quantity block (the block that directly contains <quantity-input>) --- */
.product--add-to-cart-form > .product-form-block:has(> quantity-input) {
  flex: 0 0 var(--qty-width);
  min-width: var(--qty-width);
  position: relative;
  align-self: stretch; /* match button height nicely */
}

/* Keep the label visible & centered above the qty box without affecting row height */
.product--add-to-cart-form > .product-form-block:has(> quantity-input) > label {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(-1 * (var(--qty-label-raise) + var(--qty-label-gap)));
  text-align: center;
  margin: 0;
}

/* Normalize the visible quantity control to the same height as the ATC button */
.product--add-to-cart-form > .product-form-block:has(> quantity-input) quantity-input { display: block; }

.product--add-to-cart-form > .product-form-block:has(> quantity-input) .js-qty,
.product--add-to-cart-form > .product-form-block:has(> quantity-input) .js-qty__num,
.product--add-to-cart-form > .product-form-block:has(> quantity-input) .js-qty__adjust {
  height: var(--atc-height);
  box-sizing: border-box;
}

.product--add-to-cart-form > .product-form-block:has(> quantity-input) .js-qty {
  display: flex;
  align-items: center;
}

.product--add-to-cart-form > .product-form-block:has(> quantity-input) .js-qty__adjust {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.product--add-to-cart-form > .product-form-block:has(> quantity-input) .js-qty__num {
  text-align: center;
}

/* --- Buy buttons block (Add to cart + dynamic checkout container) --- */
.product--add-to-cart-form > .product-form-block[data-block-id="buy_buttons"] {
  flex: 1 1 0%;
  min-width: 0; /* allow the button to truly fill remaining width */
  align-self: stretch;
}

/* Ensure the wrapper can wrap, so dynamic checkout drops below the ATC button */
.product--add-to-cart-form > .product-form-block[data-block-id="buy_buttons"] .paymentButtonsWrapper.btn-wrapper-default {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 0;
  margin: 0;
}

/* Add to cart button: same height as qty, fills the rest, sits on the first line */
.product--add-to-cart-form > .product-form-block[data-block-id="buy_buttons"] .product--add-to-cart-button {
  order: 1;
  flex: 1 1 100%;
  width: 100%;
  height: var(--atc-height);
  min-height: var(--atc-height);
  line-height: normal;
  box-sizing: border-box;
  margin: 0;
}

/* Dynamic checkout container: forced to the next line (below) */
.product--add-to-cart-form > .product-form-block[data-block-id="buy_buttons"] .dynamic-section-button--buy_buttons--dynamic {
  order: 2;
  flex: 0 0 100%;
  width: 100%;
  margin-top: 8px;
}

/* Mobile tweak: slightly narrower qty column on very small screens */
@media (max-width: 380px) {
  .product--add-to-cart-form {
    --qty-width: 120px;
    --gap: 8px;
  }
}

/* Hide dynamic checkout on this template (optional alternative) */
.product--add-to-cart-form > .product-form-block[data-block-id="buy_buttons"] 
  .dynamic-section-button--buy_buttons--dynamic { display: none; }

  /* Force quantity selector to align with Add to cart */
.product--add-to-cart-form > .product-form-block:has(> quantity-input) .js-qty {
  display: flex;
  align-items: stretch; /* make children fill the full height */
  height: var(--atc-height);
}

/* Bottom-align qty block and Add to cart so their bottoms line up */
.product--add-to-cart-form {
  align-items: flex-end; /* affects the current row only */
}

/* Be explicit in case Flow changes the container default */
.product--add-to-cart-form > .product-form-block:has(> quantity-input),
.product--add-to-cart-form > .product-form-block[data-block-id="buy_buttons"] {
  align-self: flex-end;
}

/* (Optional but recommended) keep the label from changing the block's height */
.product--add-to-cart-form > .product-form-block:has(> quantity-input) {
  position: relative;
  /* reserve a small space so the label can “float” without pushing height */
  padding-top: 0; /* if you previously added padding for the label, remove it */
}

.product--add-to-cart-form > .product-form-block:has(> quantity-input) > label {
  position: absolute;
  left: 0;
  right: 0;
  top: -24px; /* adjust if needed so it sits nicely above the box */
  text-align: center;
  margin: 0;
}

/* Flow – cart note fixes */
.template-cart .label-font[for="CartSpecialInstructions"] {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
}

.template-cart #CartSpecialInstructions {
  width: 100% !important;
  min-height: 120px;     /* comfortable default */
  padding: 12px;
  box-sizing: border-box;
  resize: vertical;
  line-height: 1.4;
}


/* Contain the floated subtotal amount so widgets can't slide between title and amount */
.template-cart .cart__row .text-right p::after {
  content: "";
  display: table;
  clear: both;
}


/* --- Compact cart layout --- */
/* Cart image: constrain the container, then let the img fill it */
.template-cart .responsive-image-wrapper {
  width: 90px !important;        /* pick your target size */
  max-width: 90px !important;
  min-width: 90px !important;    /* prevents grid/flex from forcing it wider */
  display: block !important;
  overflow: hidden;              /* just in case */
  /* If the parent is flex/grid, keep this column fixed: */
  flex: 0 0 90px !important;
}

/* Make the image follow the wrapper instead of its own attributes */
.template-cart .responsive-image-wrapper img {
  width: 100% !important;
  height: auto !important;
  max-width: none !important;    /* ignore that inline 810px cap */
  display: block !important;
}

/* ---------- Mobile compact cart layout (table → grid) ---------- */
@media (max-width: 749px) {
  /* Turn each cart row into a 4-column grid */
  .template-cart tr.cart__row.table__section {
    display: grid !important;
    grid-template-columns: 64px 1fr auto auto; /* image | title | price | qty */
    column-gap: 10px;
    row-gap: 6px;
    align-items: center;
    padding: 8px 0 !important;
    border-bottom: 1px solid #eee;
  }

  /* Remove default table cell spacing on mobile */
  .template-cart tr.cart__row.table__section > td {
    padding: 0 !important;
    border: 0 !important;
  }

  /* Place cells on the grid */
  .template-cart tr.cart__row.table__section > td:nth-child(1) { /* image */
    grid-column: 1;
    grid-row: 1 / span 2; /* image spans two rows */
  }
  .template-cart tr.cart__row.table__section > td:nth-child(2) { /* title/details */
    grid-column: 2;
    grid-row: 1;
  }
  .template-cart tr.cart__row.table__section > td:nth-child(3) { /* price */
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    text-align: right !important;
    white-space: nowrap;
  }
  .template-cart tr.cart__row.table__section > td:nth-child(4) { /* quantity */
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
  }
  .template-cart tr.cart__row.table__section > td:nth-child(5) { /* total */
    grid-column: 4;
    grid-row: 2;
    justify-self: end;
    text-align: right !important;
    white-space: nowrap;
  }

  /* Hide mobile "data-label" prefixes (Price, Quantity, etc.) */
  .template-cart tr.cart__row.table__section > td[data-label]::before {
    content: none !important;
    display: none !important;
  }

  /* Smaller thumbnail on mobile */
  .template-cart .responsive-image-wrapper {
    width: 64px !important;
    max-width: 64px !important;
    min-width: 64px !important;
    flex: 0 0 64px !important;
    overflow: hidden;
  }
  .template-cart .responsive-image-wrapper img {
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    display: block !important;
  }

  /* Tighten text */
  .template-cart .cart__row--title {
    font-size: 15px !important;
    line-height: 1.25 !important;
    display: block;
    margin: 0 !important;
  }
  .template-cart .cart__remove small { font-size: 11px !important; }

  /* Make quantity a bit smaller and fixed width */
  .template-cart .js-qty-wrapper,
  .template-cart .js-qty {
    width: auto !important;
  }
  .template-cart .js-qty {
    transform: scale(0.9);
    transform-origin: right center;
  }
}

/* Static quantity chip */
.cart__qty-static{
  display:inline-block;
  min-width:2.2em;
  padding:.25em .6em;
  border:1px solid #ddd;
  border-radius:999px;
  font-size:14px;
  line-height:1.2;
}

/* Space above the "Change my order" button */
.cart__change-order{
  margin: 10px 0 18px;
  text-align: right; /* or left/center */
}
.cart__change-order-btn{
  cursor:pointer;
}

/* Safety: if any old controls linger, hide them */
.js-qty-wrapper,
.cart__remove{ display:none !important; }

/* Keep the mobile grid from earlier working with static qty */
@media (max-width: 749px){
  .template-cart tr.cart__row.table__section{
    grid-template-columns: 64px 1fr auto auto !important; /* img | title | price | qty(text) */
  }
}


/* Center the button and keep it outside table borders */
.cart__change-order{
  margin: 18px 0 24px;           /* space from the table */
}
.cart__change-order-btn{
  display: block;                /* center reliably */
  margin: 0 auto;                /* centers the block */
  max-width: 340px;              /* optional: tidy width */
  text-align: center;
}

/* --- SAFELY hide subtotal + tax/shipping text without breaking Zapiet --- */

/* Hide the "Subtotal" title and amount */
.template-cart .grid__item.text-right .cart__subtotal-title,
.template-cart .grid__item.text-right .cart__subtotal { 
  display: none !important; 
}

/* Collapse leftover spacing on that paragraph (don't use opacity) */
.template-cart .grid__item.text-right p { 
  margin: 0 !important; 
}

/* Hide only the text inside the tax/shipping line, keep the container visible */
.template-cart .cart__shipping em { 
  display: none !important; 
}
/* Trim any extra space from that container but keep it in the DOM */
.template-cart .cart__shipping { 
  margin: 0 !important; 
  padding: 0 !important; 
}

/* Stack Checkout + Change buttons and make them full width */
.cart--checkout-default{
  display: grid;
  row-gap: 12px;
}

.cart--checkout-default .btn{
  width: 100%;
}

/* Optional: make the Change button look secondary/outlined */
.cart__change-order-btn{
  /* keep theme styles; override if you want a different look */
}

/* Full-width Checkout + Change buttons on mobile */
@media (max-width: 749px) {
  .template-cart .btn-wrapper-default.cart--checkout-default{
    display: flex !important;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;      /* ← makes children span full width */
    text-align: initial;       /* override any center text alignment */
  }

  .template-cart .btn-wrapper-default.cart--checkout-default .btn{
    display: block !important;
    width: 100% !important;
    max-width: none !important; /* some themes cap btn width */
    box-sizing: border-box;
  }
}


/* Hero heading: force Millimetre caps + tracking */
.hero-heading-heading_FfzDnA,
.hero-heading-heading_FfzDnA h1 {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700;
  letter-spacing: 0.075em;
  text-transform: uppercase !important;
  /* optional: ensure headings stack nicely */
  line-height: 1.05;
}

/* Footer section titles → Millimetre CAPS + tracking */
.footer-header,
.h3.footer-header,
.site-footer .footer-header,
.footer .footer-header {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700;
  letter-spacing: 0.075em;     /* tracking 75 */
  text-transform: uppercase !important;
  line-height: 1.1;
}

/* Chatty (Avada) FAQ — QUESTIONS: Inria Bold + CAPS + brand green */
.avada-faqs-block-section .avada-faqs-item-question,
.avada-faqs-block-section .avada-faqs-item-question > div {
  font-family: 'Inria Serif', Georgia, Times, serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em; /* optional: tiny tracking looks nicer in caps */
  color: #2f6035 !important;
}

/* Chatty (Avada) FAQ — ANSWERS: Inria Regular + brand green */
.avada-faqs-block-section .avada-faqs-item-answer,
.avada-faqs-block-section .avada-faqs-item-answer p {
  font-family: 'Inria Serif', Georgia, Times, serif !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: #2f6035 !important;
}

/* (Optional) spacing for readability */
.avada-faqs-block-section .avada-faqs-item-question { line-height: 1.15; }
.avada-faqs-block-section .avada-faqs-item-answer   { line-height: 1.6; }

/* Chatty FAQ — Chevron icons in brand green */
.avada-faqs-block-section .avada-faqs-chevron-icon path {
  fill: #2f6035 !important;
}


/* Force Millimetre + CAPS on product page title */
h1.h3.product-details-product-title,
h1.h3.product-details-product-title * {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
}

/* Klaviyo reviews widget — label text in brand green */
.kl_reviews__star_rating_widget__label {
  color: #2f6035 !important; /* brand green */
  font-family: 'Inria Serif', Georgia, Times, serif; /* keep it on-brand */
  font-weight: 400;
}

/* “Text with icon” labels → brand green */
.text-with-icon--text {
  font-family: 'Inria Serif', Georgia, Times, serif;
  font-weight: 400;
}


/* “Text with icon” labels (with .label-font) → Inria Serif CAPS */
.text-with-icon--text.label-font {
  font-family: 'Inria Serif', Georgia, Times, serif !important;
  font-weight: 700;                 /* bold so it stands out */
  text-transform: uppercase !important;
  color: #2f6035 !important;        /* brand green */
  letter-spacing: 0.02em;           /* small tracking for readability in caps */
}

/* Section titles → uppercase */
.section-title,
.section-title.text-link-animated {
  text-transform: uppercase !important;
}

/* Reviews block: set section background to site beige */
[id^="reviews-body-"],
[id^="reviews-body-"] .reviews-items-template--,
[id^="reviews-body-"] .reviews-slider-template--,
[id^="reviews-body-"] .swiper,
[id^="reviews-body-"] .swiper-wrapper,
[id^="reviews-body-"] .swiper-slide {
  background: #f7f2ed !important;   /* override inline #f3f3f3 */
}

/* Safety net if the section class is used elsewhere too */
.section-template--25719965483334__ss_product_reviews_DEwVnF {
  background: #f7f2ed !important;
}

/* If the outer product-form block is contributing a bg, make it transparent */
.product-form-block.custom-liquid.rte.text-link-animated {
  background: transparent !important;
}


/* Remove underline/line under the reviews header */
.kl_reviews__summary__header {
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  position: relative;
}

/* Hide the original text and replace it with "Reviews" */
.kl_reviews__summary__header {
  font-size: 0 !important; /* visually hide text but keep element */
}

.kl_reviews__summary__header::after {
  content: "Reviews";
  font-size: 30px; /* reapply your styling */
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.075em !important;
  color: #2f6035 !important;
  line-height: 1.1 !important;
  display: block;
  text-align: center;
}

/* 1) Hide the secondary "Reviews 10" tab/subtitle */
.kl_reviews__list__tab_buttons {
  display: none !important;
}

/* 2) "Write a review" button → Millimetre CAPS (with your tracking) */
.kl_reviews__button {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.075em !important; /* tracking 75 */
}

/* 3) Remove lines/underlines in the reviews header area */
.kl_reviews__list__tabs,
.kl_reviews__button_bar,
.kl_reviews__list__tab,
.kl_reviews__list__tab--active,
.kl_reviews__list__tabs::before,
.kl_reviews__list__tabs::after,
.kl_reviews__list__tab--active::after,
.kl_reviews__list__tab--active::before {
  border: none !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* Nutrition section heading → match Reviews title */
.section-nutrition #nutrition-heading,
#nutrition-heading {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.075em !important;   /* tracking 75 */
  color: #2f6035 !important;             /* brand green */
  font-size: 30px !important;
  line-height: 1.1 !important;
  text-align: center !important;
  margin: 0 0 20px 0 !important;         /* same bottom space as Reviews */
  border: none !important;               /* in case a theme adds a line */
  box-shadow: none !important;
}
@media (max-width: 420px) {
  .section-nutrition #nutrition-heading,
  #nutrition-heading {
    font-size: 26px !important;
    letter-spacing: 0.06em !important;
  }
}

/* Slideshow heading → Millimetre CAPS */
.image-with-text-slideshow__heading {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.075em !important; /* tracking 75 */
}


/* Product detail title → Millimetre CAPS */
.product-details-product-title {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.075em !important;  /* tracking 75 */
}

/* Homepage section titles → Millimetre CAPS */
.rte.homepage-sections--title {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.075em !important;   /* tracking 75 */
  font-size: 30px !important;            /* match Reviews/Voedingswaarden */
  line-height: 1.1 !important;
  text-align: center !important;
  margin: 0 0 20px 0 !important;
}

/* Filter button: green text + green outline */
.collection-filters .mobile-facets__open {
  color: #2f6035 !important;                 /* text */
  border-color: #2f6035 !important;          /* outline/border */
  background-color: transparent !important;  /* keep it outlined */
  /* safety: some themes draw the border with a box-shadow */
  box-shadow: inset 0 0 0 1px #2f6035 !important;
  /* if the theme uses CSS vars for button color, force it: */
  --color-foreground: #2f6035;
}

/* Keep it green on hover/focus/active */
.collection-filters .mobile-facets__open:hover,
.collection-filters .mobile-facets__open:focus,
.collection-filters .mobile-facets__open:active {
  color: #2f6035 !important;
  border-color: #2f6035 !important;
  box-shadow: inset 0 0 0 1px #2f6035 !important;
}

/* Make "Pure smaaksensatie" (and similar) uppercase */
.homepage-sections--title {
  text-transform: uppercase !important;
}

/* Blog post card titles → Millimetre CAPS */
.blog-post-card__title,
.blog-post-card__title a {
  text-transform: uppercase !important;
}

/* Richtext-block H2 → uppercase */
.h2.text-box-max-width.richtext-block.text-link-animated-custom-color p,
.info-cols--title,
.page--title,
.richtext-block h3 {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* Add-to-cart button text → Millimetre CAPS */
[data-add-to-cart-text],
[data-unavailable-text] {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.075em !important;  /* tracking 75 */
}

/* Koop nu button → Millimetre CAPS */
.pricing-table-btn-template--25719965778246__ss_pricing_table_2_BkxWcN {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.075em !important;  /* tracking 75 */
}


.upcart-header-text {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 0.075em !important; /* tracking 75 */
}

.upcart-rewards-tier-description {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 0.075em !important; /* tracking 75 */
}

.upcart-discount-code-input::placeholder {
  text-transform: uppercase !important;
}

/* ---------------------------
   DISCOUNT CODE: unified style
   --------------------------- */

/* Put input + button on the same baseline */
.upcart-discount-code-row {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

/* Some apps inject a suffix element that can push height—keep it neutral */
.DiscountCodeModule_DiscountCodeModule__suffix__ { display: none; }

/* Shared look for the input + button */
.upcart-discount-code-input,
.upcart-discount-code-button,
.upcart-discount-code-button.UpcartDesignSettings__button {
  /* Typography (Inria Serif, caps) */
  font-family: 'Inria Serif', Georgia, Times, serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;        /* lighter tracking than Millimetre */
  font-size: 14px !important;
  line-height: 1 !important;

  /* Box + colors */
  color: #2f6035 !important;
  background: transparent !important;
  border: 1px solid #2f6035 !important;
  box-shadow: inset 0 0 0 1px #2f6035 !important;
  border-radius: 2px !important;

  /* Dimensions (keeps heights identical) */
  padding: 10px 16px !important;
  min-height: 38px !important;
  box-sizing: border-box !important;

  /* Prevent browser default quirks */
  appearance: none;
}

/* Input specifics */
.upcart-discount-code-input {
  width: 100%;
  background-color: transparent !important;  /* ensure no fill */
}

/* Placeholder styling (cross-browser) */
.upcart-discount-code-input::placeholder,
.upcart-discount-code-input::-webkit-input-placeholder,
.upcart-discount-code-input::-moz-placeholder,
.upcart-discount-code-input:-ms-input-placeholder,
.upcart-discount-code-input::-ms-input-placeholder {
  color: #2f6035 !important;
  opacity: 0.7 !important;
  font-family: 'Inria Serif', Georgia, Times, serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}

/* Button interactions (keep outline look) */
.upcart-discount-code-button:hover,
.upcart-discount-code-button:focus,
.upcart-discount-code-button:active {
  background: transparent !important;
  color: #2f6035 !important;
  border-color: #2f6035 !important;
  box-shadow: inset 0 0 0 1px #2f6035 !important;
  outline: none !important;
}

/* Button hover: green background + white text */
.upcart-discount-code-button:hover,
.upcart-discount-code-button:focus {
  background: #2f6035 !important;
  color: #ffffff !important;
  border-color: #2f6035 !important;
  box-shadow: inset 0 0 0 1px #2f6035 !important;
  cursor: pointer;
}

.checkoutMethodName {
  font-family: 'Millimetre', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}

.label-font[for="CartSpecialInstructions"] {
  font-family: 'Millimetre', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}

p.delivery_note {
  font-family: 'Millimetre', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}

/* Input text */
#deliveryGeoSearchField {
  font-family: 'Millimetre', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  color: #2f6035 !important; /* optional brand green */
}

/* Placeholder text */
#deliveryGeoSearchField::placeholder {
  font-family: 'Millimetre', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  color: #2f6035 !important; /* same green for placeholder */
}

/* Hide ONLY the helper line inside the Zapiet delivery block */
#storePickupApp .checkoutMethodsContainer .checkoutMethodContainer.delivery > p.delivery_note,
#storePickupApp .checkoutMethodContainer.delivery p.delivery_note {
  display: none !important;
  margin: 0 !important;
}

/* Make the Zapiet date input placeholder uppercase and millimetre font */
#Zapiet-InputCalendar__delivery::placeholder {
  text-transform: uppercase;
  font-family: 'Millimetre', sans-serif;
}

#Zapiet-InputCalendar__delivery {
  text-transform: uppercase;
  font-family: 'Millimetre', sans-serif;
}

/* Zapiet time selector → brand green text + icon */
.Zapiet-Select__Wrapper,
.Zapiet-Select__Wrapper .Zapiet-Select__Value,
.Zapiet-Select__Wrapper .Zapiet-Select__List,
.Zapiet-Select__Wrapper .Zapiet-Select__Option {
  color: #2f6035 !important;
}

/* Make the prefix icon inherit the green */
.Zapiet-Select__Wrapper .Zapiet-Select__Prefix,
.Zapiet-Select__Wrapper .Zapiet-Select__Prefix svg {
  color: #2f6035 !important;
}
.Zapiet-Select__Wrapper .Zapiet-Select__Prefix svg *,
.Zapiet-Select__Wrapper .Zapiet-Select__Prefix svg path {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Optional: keep selected/hover states readable and on-brand */
.Zapiet-Select__Wrapper .Zapiet-Select__Option--selected {
  background: rgba(47, 96, 53, 0.08) !important; /* subtle green tint */
  color: #2f6035 !important;
}
.Zapiet-Select__Wrapper .Zapiet-Select__Option:hover,
.Zapiet-Select__Wrapper .Zapiet-Select__Option:focus {
  background: rgba(47, 96, 53, 0.12) !important;
  color: #2f6035 !important;
}

/* Month name → Millimetre CAPS (centered) */
.Zapiet-Calendar__Month > div {
  font-family: 'Millimetre', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.075em !important;   /* tracking 75 */
  color: #2f6035 !important;             /* brand green */
  text-align: center !important;
}

/* Weekday labels (optional to match) */
.Zapiet-Calendar__Days span {
  color: #2f6035 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Date numbers → brand green */
.Zapiet-Calendar__Date time,
.Zapiet-Calendar__Date--different-month time {
  color: #2f6035 !important;
}

/* Hover/focus feedback for clickable dates */
.Zapiet-Calendar__Date:hover time,
.Zapiet-Calendar__Date:focus time,
.Zapiet-Calendar__Date--different-month:hover time,
.Zapiet-Calendar__Date--different-month:focus time {
  text-decoration: underline;
}

/* Disabled dates: keep readable but muted */
.Zapiet-Calendar__Date--disabled time,
.picker__day--disabled time {
  color: rgba(47, 96, 53, 0.35) !important;
  text-decoration: none !important;
}

/* If the selected date gets a special class, keep it clearly green */
.picker__day--selected time,
.Zapiet-Calendar__Date.picker__day--selected time {
  color: #2f6035 !important;
  font-weight: 700;
}

/* Cart product title → Inria Serif uppercase */
.upcart-product-title-link,
.styles_ProductRow__productTitleLink__ {
  font-family: 'Inria Serif', serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em; /* optional, for readability */
  color: #2f6035 !important; /* keep brand green */
}

/* Cart row product title → Inria Serif uppercase */
.cart__row--title {
  font-family: 'Inria Serif', serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em; /* same tracking for consistency */
  color: #2f6035 !important; /* brand green */
}

/* Product price group → Inria Serif everywhere (override any Millimetre) */
.product-price-group,
.product-price-group .money,
.product-price-group #ProductPrice .money,
.product-price-group .compare-at-price .money {
  font-family: 'Inria Serif', serif !important;
  text-transform: none !important;     /* avoid accidental uppercase on numbers */
  letter-spacing: normal !important;    /* reset tracking from Millimetre rules */
  font-variant-numeric: tabular-nums;   /* nicer aligned digits */
}

/* (Optional) weight tuning: keep main price bolder than compare-at */
.product-price-group #ProductPrice .money { font-weight: 700 !important; }
.product-price-group .compare-at-price .money { font-weight: 400 !important; }


/* Gift pack title (e.g., Verwenpakket) */
.pricing-table-title-template--25719965778246__ss_pricing_table_2_BkxWcN {
  font-family: 'Millimetre', sans-serif !important;
  text-transform: uppercase !important;
  text-align: center;
}

/* Gift pack tagline (e.g., 5 nourishing dinners for new parents + extras) */
.pricing-table-list-template--25719965778246__ss_pricing_table_2_BkxWcN h5 {
  font-family: 'Millimetre', sans-serif !important;
  text-transform: uppercase;
  text-align: center;
}


/* Make "Alcohol-free, Nut-free en Vegan" brand green */
.text-with-icon .text-with-icon--text {
  color: #2f6035 !important; /* brand green */
}