﻿/** Shopify CDN: Minification failed

Line 4193:0 Unexpected "}"

**/
/* === KLAVIYO BIS — CAASI WRAPPER AANPAK === v20260331 */

/* Wrapper: vaste hoogte = button--small (line-height: 42px) */
.caasi-bis-wrapper {
    position: relative !important;
    display: block !important;
    height: 42px !important;
    margin-bottom: 5px !important;
}

/* Disabled button: absoluut (uit flow), onzichtbaar, Klaviyo kan het detecteren */
.caasi-bis-wrapper .product-item__action-button.button--disabled {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 100% !important;
    height: 42px !important;
}

/* klaviyo-product-container: geen flow hoogte */
.caasi-bis-wrapper .klaviyo-product-container {
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Klaviyo container: vul de wrapper precies */
.caasi-bis-wrapper .klaviyo-button-container {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    background: transparent !important;
    padding: 0 !important;
}

/* Verberg alle standalone Klaviyo links in wrapper */
.caasi-bis-wrapper a.btn.klaviyo-bis-trigger {
    display: none !important;
}

/* Stijl de BIS trigger link binnen de container */
.caasi-bis-wrapper .klaviyo-button-container a.btn.klaviyo-bis-trigger {
    display: block !important;
    width: 100% !important;
    line-height: 42px !important;
    text-align: center !important;
    padding: 0 15px !important;
    background: #66ffcc !important;
    color: #0b2751 !important;
    border-radius: 14px !important;
    font-weight: 600 !important;
    font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 14px)) !important;
    box-sizing: border-box !important;
    touch-action: manipulation !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}

/* Mobiel: kleinere tekst zodat alles op 1 regel past */
@media (max-width: 767px) {
    .caasi-bis-wrapper .klaviyo-button-container a.btn.klaviyo-bis-trigger {
        font-size: 11px !important;
        padding: 0 6px !important;
        border-radius: 12px !important;
    }
}
.template-search .empty-state, .empty-state {
  margin: 0px;
  /* background: url('/cdn/shop/files/Frame_427320958.png?v=1739526489'); */
  background-repeat: no-repeat;
  background-size: cover; 
  padding: 100px 0;
}
/* ITG CSS */
.mega-menu__image-wrapper {
    border-radius: 50%;
    overflow: hidden;
    max-width: 80px;
    margin: 0 auto;
    height: auto;
    outline: 1px solid;
    outline-offset: 5px;
}
.mega-menu__image-wrapper img {
    max-height: 80px;
    object-fit: contain;
}
/* .mega-menu__column display restored to theme default (block) */
.menu_box {
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 350px;
    margin-left: auto;
    background: #0b2751;
    padding: 10px;
    text-align: center;
    border-radius: 5px;
}
.menu_box h2 {
    color: #fff;
    font-size: 24px;
    text-transform: uppercase;
    line-height: normal;
    margin-bottom: 10px;
}
.menu_box a {
    display: inline-block;
    padding: 3px 30px;
    background: #faebd7;
    border-radius: 25px;
    text-transform: uppercase;
}
.mega-menu__image-heading {
    margin-top: 8px;
    font-size: 14px;
    font-weight: 400;
}
.mega-menu__promo+.mega-menu__promo {
    margin-left: 0px;
}
span.menu_overlay {
    position: fixed;
    top: 120px;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: #00000033;
    display:none;
}
.menu-open-overlay span.menu_overlay {
   display:block;
}
.jdgm-widget-actions-wrapper .jdgm-write-rev-link.jdgm-write-rev-link {
    color: var(--primary-button-text-color);
}
.jdgm-widget-actions-wrapper .jdgm-write-rev-link.jdgm-write-rev-link:hover {
    color: var(--primary-button-text-color) !important;
    background: #66ffcc !important;
    opacity: 1;
}
@media screen and (max-width: 640px){
a.button.klaviyo-bis-trigger {
  max-width: 100%;
}
}
@media screen and (min-width: 767px){
.nav-bar .mega-menu {
    max-height: max-content;
    padding: 30px 0;
    max-width: 1520px;
}
  .mega-menu__promo {
    margin: 0;
    width: max-content;
    flex-basis: unset;
}
  .mega-menu .mega-menu__promo {
    min-width: 180px;
    padding: 10px;
}
  .mega-menu__inner{
    padding: 0;
  }
.mega-menu {
    left: 50%;
    transform: translate(-50%);
}
}
/* custom-cc */
.article-item a img {
    /* aspect-ratio: 1/1; */
}
@media screen and (max-width: 640px){
.article-item a img {
    aspect-ratio: unset;
  }
}
#g7jfWk4dLM, h1.page__title.heading.h1 {
    font-weight: 600;
}
@media (max-width:999px){
  span.menu_overlay,.menu_overlay,body.menu-open-overlay span.menu_overlay{
    display:none!important;
    pointer-events:none!important;
  }
  .header,.shopify-section--header,.header__wrapper,.header__inner{
    position:relative!important;
    z-index:999999!important;
  }
  .header__menu-toggle,.header__menu-toggle *,button[aria-controls*="menu"],.header__icon-wrapper{
    position:relative!important;
    z-index:9999999!important;
    pointer-events:auto!important;
  }
}
[id^="desktop-menu-"] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
[id^="desktop-menu-"].is-hover-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.header__search-bar-wrapper.is-visible.is-fixed{
  top: 86px !important;
}

/* ── Caasi Blog Fixes (24 maart 2026) ── */

/* Sidebar lager starten op blogpagina */
.blog-sidebar {
  margin-top: 140px !important;
}

/* Mobiele zoekbalk: fixed bovenaan + hamburger verbergen */
@media (max-width: 999px) {
  .header__search-bar-wrapper.is-visible.is-fixed {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
  }
  .header--search-expanded .header__action-item--navigation,
  .header--search-expanded [data-action=toggle-menu],
  .header--search-expanded .header__menu-toggle {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Navigatie op 1 rij: alleen laptop */
@media (min-width: 1024px) and (max-width: 1440px) {
  .nav-bar__linklist {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .nav-bar__item {
    flex-shrink: 0 !important;
    margin-right: 4px !important;
  }
  .nav-bar .nav-bar__link {
    font-size: 12px !important;
    white-space: nowrap !important;
  }
}

/* === CAASI MEGA MENU FIX === */

/* Fix white background behind dropdown */
.shopify-section-group-header-group {
  background: #0b2751 !important;
}
#shopify-section-sections--25138969706831__header,
#shopify-section-sections--25138969706831__header .header {
  background: #0b2751 !important;
  overflow: visible !important;
}

/* Topbar: announcement bar text in caasi color */
.announcement-bar,
.announcement-bar p,
.announcement-bar span,
.announcement-bar a,
.announcement-bar .announcement-bar__text,
.__fbcw__bar-widget,
.__fbcw__bar-widget span,
.__fbcw__bar-widget a {
  color: #66ffcc !important;
}
.announcement-bar strong {
  color: #ffffff !important;
}
.announcement-bar {
  background: #0b2751 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
#shopify-section-sections--25138969706831__announcement-bar {
}

/* Reviews widget text */
.__fbcw__bar-widget__amount-of-reviews,
.__fbcw__bar-widget__amount-of-reviews * {
  color: #66ffcc !important;
}
/* Announcement bar icons — invert to light color */
.announcement-bar img {
  filter: brightness(0) saturate(100%) invert(85%) sepia(30%) saturate(700%) hue-rotate(105deg) brightness(105%) contrast(102%) !important;
}

/* Reviews widget — force caasi color */
.__fbcw__bar-widget__amount-of-reviews,
div.__fbcw__bar-widget__amount-of-reviews,
.__fbcw__bar-widget div,
.__fbcw__bar-widget span,
.__fbcw__bar-widget a,
[class*="fbcw"] {
  color: #66ffcc !important;
}

/* Header action items — even spacing */
.header__action-item {
  margin-left: 16px !important;
  margin-right: 0 !important;
}
.header__action-item:first-child {
  margin-left: 0 !important;
}

/* Search bar — caasi style */
.search-bar__top {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(102, 255, 204, 0.3) !important;
  border-radius: 8px !important;
  border-bottom-color: rgba(102, 255, 204, 0.3) !important;
}
.search-bar__top:focus-within {
  border-color: #66ffcc !important;
  background: rgba(255, 255, 255, 0.12) !important;
}
.search-bar__submit {
  background: #66ffcc !important;
  border-radius: 0 7px 7px 0 !important;
}

/* Red/white line between header and nav — make it subtle caasi */
:root {
  --header-border-color: transparent !important;
}

/* Kill line between header and nav */
.header {
  border-bottom: none !important;
  box-shadow: none !important;
}
.nav-bar {
  background: #ffffff !important;
  border: none !important;
  border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: none !important;
  margin-top: 0 !important;
  padding-top: 1px !important;
  padding-bottom: 1px !important;
}
.search-bar__top {
  box-shadow: none !important;
}
.header::after,
.header::before,
.nav-bar::before,
.nav-bar::after {
  display: none !important;
}
/* Equal spacing around the separator line */
.header--inline {
  padding-bottom: 16px !important;
  margin-bottom: 0 !important;
}

/* Search magnifying glass: caasi red */
.search-bar__submit {
  background: transparent !important;
}
.search-bar__submit svg,
.search-bar__submit .icon {
  color: #66ffcc !important;
  fill: #66ffcc !important;
}

/* Cart badge red */
.header__cart-count,
.header__action-item--cart .header__cart-count {
  background: #ff1011 !important;
  color: #0b2751 !important;
}

/* Search placeholder caasi color */
.search-bar__input {
  color: #66ffcc !important;
}
.search-bar__input::placeholder {
  color: #66ffcc !important;
}

/* Slideshow content centered */
.slideshow__content-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
}
.slideshow__content {
  position: relative !important;
  top: auto !important;
  transform: none !important;
}
.slideshow__slide {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Slide image: crop and position to show balloons better */
.slideshow__image {
  object-fit: cover !important;
  object-position: center center !important;
}

/* Slider: less tall */
.slideshow {
  max-height: 680px !important;
}
.slideshow__slide {
  max-height: 680px !important;
}
.slideshow__image-container {
  max-height: 680px !important;
}

/* USP bar: no gap, caasi divider on top */
#shopify-section-sections--25138969706831__announcement-bar {
  margin-top: 0 !important;
  border-top: 2px solid #ffffff !important;
}

/* Navbar styling */
.nav-bar {
  background: #ffffff !important;
}
.nav-bar__inner {
  justify-content: center !important;
}
.nav-bar__linklist {
  text-align: center !important;
}
.nav-bar__item {
  display: inline-block !important;
  float: none !important;
}
/* Kill any white backgrounds in dropdown area */
.nav-bar__item > .mega-menu,
.nav-bar__item > .mega-menu *:not(.mega-menu__inner) {
  background-color: transparent !important;
}
.nav-bar__item > a,
.nav-bar__item > button {
  color: #0b2751 !important;
}
.nav-bar__item > a:hover,
.nav-bar__item > button:hover {
  color: #0b2751 !important;
}
/* Hover: alleen pijltje turquoise */
.nav-bar__item:hover .icon--nav-triangle-borderless path,
.nav-bar__item:hover .icon--nav-triangle path,
.nav-bar__item:hover > a .icon path,
.nav-bar__item:hover > button .icon path {
  fill: #66ffcc !important;
  stroke: #66ffcc !important;
}

/* Nav item positioning */
.nav-bar__item.nav-bar__item--static {
  position: relative !important;
}

/* Dropdown arrow: caasi color */
.nav-bar__item .icon--nav-triangle path {
  fill: #66ffcc !important;
  stroke: #66ffcc !important;
}

/* Chevron met afgeronde hoek */
.nav-bar__item .icon--arrow-bottom {
  overflow: visible !important;
}
.nav-bar__item .icon--arrow-bottom path {
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 1.5 !important;
}

/* Nav-triangle: verborgen, vervangen door CSS bridge */
.nav-bar__item .icon--nav-triangle {
  display: none !important;
}

/* Zachte glow overgang van nav naar dropdown */
.mega-menu__inner {
  margin-top: 4px !important;
  position: relative !important;
  box-shadow: 0 -8px 20px rgba(102, 255, 204, 0.12), 0 8px 30px rgba(102, 255, 204, 0.1) !important;
}

/* Dropdown container — fix white background leak */
.mega-menu,
.mega-menu.assas {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  overflow: visible !important;
  width: auto !important;
  min-width: 0 !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

/* Container passthrough */
.mega-menu > .container,
.mega-menu.assas > .container {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  background: transparent !important;
}

/* Inner: dropdown card — winkelwagen stijl */
.mega-menu__inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 6px 0 !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  width: auto !important;
  min-width: 280px !important;
  background: #ffffff !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 30px rgba(102, 255, 204, 0.1) !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  border-bottom: none !important;
}

/* Column wrapper */
.mega-menu__column {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}

/* Menu items — caasi color, light weight */
.mega-menu__column .mega-menu__title {
  display: block !important;
  padding: 9px 24px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: #0b2751 !important;
  font-family: var(--text-font-family) !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  text-align: left !important;
  transition: background 0.1s ease !important;
  letter-spacing: 0.06em !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
}

/* Turquoise pijltje bij hover */
.mega-menu__column {
  border: none !important;
}
.mega-menu__column .mega-menu__title {
  position: relative !important;
  padding-left: 24px !important;
  transition: padding-left 0.2s ease !important;
}
.mega-menu__column .mega-menu__title::before {
  content: "\279C" !important;
  position: absolute !important;
  left: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #66ffcc !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  opacity: 0 !important;
  transition: opacity 0.2s ease !important;
}
.mega-menu__column .mega-menu__title:hover {
  padding-left: 38px !important;
}
.mega-menu__column .mega-menu__title:hover::before {
  opacity: 1 !important;
  left: 18px !important;
}
/* Subtiele underline bij hover */
.mega-menu__column .mega-menu__title::after {
  content: "" !important;
  position: absolute !important;
  bottom: 4px !important;
  left: 24px !important;
  right: 24px !important;
  height: 1px !important;
  background: rgba(102, 255, 204, 0.4) !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform 0.3s ease !important;
}
.mega-menu__column .mega-menu__title:hover::after {
  transform: scaleX(1) !important;
}

/* Hover: visible highlight + brighter text */
.mega-menu__column .mega-menu__title:hover {
  background: rgba(102, 255, 204, 0.2) !important;
  color: #0b2751 !important;
  /* padding handled by ::before rule */
}

/* Remove bottom border/streep from dropdown items */
.mega-menu__column,
.mega-menu__column .mega-menu__title,
.mega-menu__inner > *,
.mega-menu__inner .mega-menu__column:last-child {
  border-bottom: none !important;
  border-top: none !important;
}
/* Hide unused */
.mega-menu .menu_box { display: none !important; }
.mega-menu__promo { display: none !important; }
.mega-menu__linklist { display: none !important; }

/* --- Rechterkolom: product info card --- */
.product-block-list__item--info > .card {
  border-radius: 20px;
  border: 1px solid #e8edf2;
  box-shadow: 0 2px 12px rgba(11, 39, 81, 0.06);
  overflow: hidden;
}

/* --- Merk & SKU --- */
.product-meta__reference {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
}
.product-meta__sku {
  font-size: 0.78em !important;
  color: #7a96b0 !important;
}

/* --- Prijs --- */
.product-form__info-list {
  margin-bottom: 8px;
}
.product-form__info-item {
  padding: 8px 0 !important;
}

/* --- Voorraad indicator --- */
.inventory {
  font-size: 0.85em !important;
  font-weight: 500 !important;
}
.inventory--high {
  color: #0b2751 !important;
}
.inventory:before {
  width: 8px !important;
  height: 8px !important;
}
/* Groene voorraad balk */
.product-form__inventory-bar {
  height: 4px !important;
  border-radius: 4px !important;
  background: #e8edf2 !important;
  overflow: hidden;
  margin-top: 4px;
}

/* --- Hoeveelheid selector --- */
.quantity-selector {
  border-radius: 14px !important;
  border: 2px solid rgba(102, 255, 204, 0.2) !important;
  overflow: hidden;
  height: 48px !important;
}
.quantity-selector__button {
  width: 48px !important;
  transition: background 0.15s ease !important;
}
.quantity-selector__value {
  font-weight: 400 !important;
  font-size: 1em !important;
  color: #0b2751 !important;
  min-width: 48px !important;
}

/* --- Labels (Prijs:, Voorraad:, Hoeveelheid:) --- */
.product-form__info-title {
  font-size: 0.82em !important;
  font-weight: 500 !important;
  color: #7a96b0 !important;
  text-transform: none !important;
  letter-spacing: 0;
  min-width: 100px;
}

/* --- Beschrijving card --- */
.product-block-list__item--description > .card {
  border-radius: 20px;
  border: 1px solid #e8edf2;
  box-shadow: 0 2px 12px rgba(11, 39, 81, 0.06);
}
.product-block-list__item--description .card__title {
  font-size: 1.1em !important;
  font-weight: 400 !important;
  color: #0b2751 !important;
}

/* --- Trust / Payment card --- */
.product-block-list__item--trust > .card {
  border-radius: 20px;
  border: 1px solid #e8edf2;
  box-shadow: 0 2px 12px rgba(11, 39, 81, 0.06);
}
.product-block-list__item--trust .card__title {
  font-size: 1em !important;
  font-weight: 400 !important;
  color: #0b2751 !important;
}

/* --- Reviews badge --- */
.product-meta__reviews-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid #e8edf2;
  font-size: 0.82em !important;
  color: #0b2751 !important;
  text-decoration: none !important;
  margin-top: 4px;
}

/* --- Body HTML (beschrijving) secties --- */
.caasi-intro h2,
.caasi-features h2,
.caasi-specs h2,
.caasi-box-contents h2,
.caasi-warranty h2 {
  font-size: 1.1em !important;
  font-weight: 400 !important;
  color: #0b2751 !important;
  margin-top: 24px;
  margin-bottom: 10px;
}
.caasi-intro h2:first-child {
  margin-top: 0;
}
.caasi-specs td {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(102, 255, 204, 0.12);
  font-size: 0.9em;
  color: #0b2751;
}

/* --- Voorraad indicator in Caasi kleuren --- */
/* 03-09-2026: voorraadtekst navy met een mintstip; lage voorraad amber */
.inventory--high {
  color: #0b2751 !important;
}
.inventory--low {
  color: #0b2751 !important;
}
.inventory:before {
  background: #66ffcc !important;
  box-shadow: inset 0 0 0 1px rgba(11, 39, 81, 0.12);
}
.inventory--low::before {
  background: #66ffcc !important;
}
.inventory--low * {
  color: #0b2751 !important;
}
.product-form__inventory-bar > div {
  background: #66ffcc !important;
}
.product-form__inventory-bar {
  background: rgba(102, 255, 204, 0.15) !important;
}

/* --- Zoom notice in Caasi stijl --- */
.product-gallery__zoom-notice {
  color: #7a96b0 !important;
  font-size: 0.78em !important;
  font-weight: 500 !important;
  gap: 6px;
}

/* --- Beschrijving card titel (het theme-label) --- */
.product-block-list__item--description .card__header {
  padding-bottom: 12px !important;
}

/* --- Bullet lists in beschrijving --- */
.rte ul {
  padding-left: 18px;
  margin-bottom: 12px;
}
.rte li {
  margin-bottom: 6px;
  font-size: 0.92em;
  line-height: 1.5;
  color: #3d5a80;
}/* --- Caasi fit-check in rechterkolom --- */

.product-meta__liquid .caasi-faq h2,
.product-meta__liquid h3 {
  font-size: 0.95em !important;
  font-weight: 400 !important;
  color: #0b2751 !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  border-top: none !important;
  padding-top: 0 !important;
}
.product-meta__liquid summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 0.85em;
  color: #0b2751;
  padding: 4px 0;
}
.product-meta__liquid details p {
  font-size: 0.82em;
  color: #5a7a99;
  margin-top: 6px;
  line-height: 1.5;
}

/* --- Kopteksten met Caasi accent-blok --- */

/* --- Voorraad: Caasi stijl zonder balk --- */
.inventory--high,
.inventory--low,
.inventory {
  color: #0b2751 !important;
  font-size: 0.85em !important;
  font-weight: 500 !important;
}

/* --- Zoom notice --- */
.product-gallery__zoom-notice {
  color: #7a96b0 !important;
  font-size: 0.78em !important;
  font-weight: 500 !important;
}
.product-gallery__zoom-notice svg,
.product-gallery__zoom-notice .icon {
  color: #7a96b0 !important;
  width: 14px !important;
  height: 14px !important;
}
.product-meta__sku-number {
  font-weight: 400 !important;
  color: #0b2751 !important;
}
.rte li {
  margin-bottom: 6px;
  font-size: 0.92em;
  line-height: 1.55;
  color: #3d5a80;
}

/* --- Specs tabel netter --- */
.caasi-specs table {
  width: 100%;
  border-collapse: collapse;
}

/* --- FAQ rechterkolom --- */
.product-meta__liquid .caasi-faq h2 {
  display: inline-block !important;
  font-size: 0.85em !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  background: #0b2751 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  margin-bottom: 12px !important;
  border-top: none !important;
}
.product-meta__liquid details {
  border-bottom: 1px solid rgba(102, 255, 204, 0.12);
  padding-bottom: 8px;
  margin-bottom: 8px;
}
.product-meta__liquid summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 0.82em;
  color: #0b2751;
  padding: 4px 0;
}
.product-meta__liquid details p {
  font-size: 0.8em;
  color: #5a7a99;
  margin-top: 6px;
  line-height: 1.5;
}
.product-meta__liquid li {
  font-size: 0.8em;
  color: #3d5a80;
  margin-bottom: 4px;
  line-height: 1.45;
}

/* ========================================
   CAASI DESIGN SYSTEM — Product Page
   Kleuren: navy #0b2751, mint #66ffcc, #66ffcc
   ======================================== */

/* --- Globale tekst: nooit zwart, altijd Caasi navy --- */
/* Caasi navy als basis tekstkleur - alleen specifieke elementen */
.product-meta__title,
.product-meta__vendor,
.product-meta__sku,
.product-meta__sku-number,
.quantity-selector__value,
.card__title,
.rte p,
.rte li,
.rte td {
  color: #0b2751;
}
/* Fix: winkelwagen drawer tekst zichtbaar */
.mini-cart *,
.cart-drawer *,
.drawer *,
.side-cart *,
[class*="cart"] .line-item *,
[class*="cart"] .cart-item *,
[class*="mini-cart"] * {
  color: inherit;
}

/* --- Merk --- */
.product-meta__vendor {
  font-weight: 400 !important;
  color: #0b2751 !important;
  text-transform: uppercase;
  font-size: 0.8em !important;
  letter-spacing: 0.05em;
  text-decoration: none !important;
}

/* --- Artikelnummer --- */
.product-meta__sku {
  font-size: 0.82em !important;
  color: #0b2751 !important;
  background: rgba(102, 255, 204, 0.06);
  padding: 3px 10px;
  border-radius: 6px;
  font-weight: 500 !important;
}
.product-meta__sku-number {
  font-weight: 400 !important;
}

/* --- Labels (Prijs:, Voorraad:, Hoeveelheid:) --- */
.product-form__info-title {
  font-size: 0.82em !important;
  font-weight: 500 !important;
  color: #7a96b0 !important;
}

/* --- Voorraad: Caasi mint, geen balk --- */
.inventory,
.inventory--high {
  color: #0b2751 !important;
}
.inventory--low {
  color: #0b2751 !important;
  font-size: 0.85em !important;
  font-weight: 500 !important;
}
.product-form__inventory-bar,
.inventory-bar,
.inventory-bar__progress {
  display: none !important;
  height: 0 !important;
  visibility: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Hoeveelheid selector --- */
.quantity-selector {
  border-radius: 14px !important;
  border: 2px solid rgba(102, 255, 204, 0.2) !important;
  height: 48px !important;
}
.quantity-selector__value {
  font-weight: 400 !important;
  color: #0b2751 !important;
}

/* --- Scheidingslijnen --- */
.card__separator {
  border-top: 1px solid rgba(102, 255, 204, 0.12) !important;
  margin: 16px 0 !important;
}

/* --- Cards: afgerond --- */
.product-block-list__item--info > .card,
.product-block-list__item--description > .card,
.product-block-list__item--trust > .card {
  border-radius: 30px;
  border: 1px solid rgba(102, 255, 204, 0.25);
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06);
  background: #ffffff;
}

/* --- Beschrijving card titel --- */
.product-block-list__item--description .card__title,
.product-block-list__item--trust .card__title {
  font-size: 0.88em !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  background: #0b2751;
  display: inline-block;
  padding: 8px 18px !important;
  border-radius: 10px;
}

/* --- Body kopteksten (h2) in blokstijl --- */
.rte h2 {
  display: inline-block !important;
  font-size: 0.88em !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  background: #0b2751 !important;
  padding: 8px 18px !important;
  border-radius: 10px !important;
  letter-spacing: 0.04em;
  font-size: 0.85em !important;
  margin-top: 32px !important;
  margin-bottom: 16px !important;
  border-top: none !important;
}

/* --- Body kopteksten (h3) --- */
.rte h3 {
  font-size: 1em !important;
  font-weight: 400 !important;
  color: #0b2751 !important;
  margin-top: 20px !important;
  margin-bottom: 10px !important;
}

/* --- Body secties: duidelijk bij koptekst horen --- */
/* Secties: koptekst + inhoud als visuele groep */
.caasi-intro,
.caasi-features,
.caasi-specs,
.caasi-box-contents,
.caasi-warranty {
  background: #f8fafc;
  border: 1px solid rgba(102, 255, 204, 0.2);
  border-radius: 24px;
  padding: 22px !important;
  margin-bottom: 16px;
  margin-top: 16px;
}
.caasi-intro {
  background: transparent;
  border: none;
  padding: 0 !important;
  margin-top: 0;
}
/* Koptekst binnen het blok: geen extra marge bovenaan */
.caasi-features h2,
.caasi-specs h2,
.caasi-box-contents h2,
.caasi-warranty h2 {
}
/* Lijsten binnen blokken: geen extra achtergrond */
.caasi-features ul,
.caasi-box-contents ul,
.caasi-warranty ul {
  background: transparent !important;
  border: none !important;
  padding-left: 18px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 0;
}
.rte li {
  margin-bottom: 6px;
  font-size: 0.9em;
  line-height: 1.55;
  color: #3d5a80;
}
.caasi-specs td {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(102, 255, 204, 0.12);
  font-size: 0.88em;
  color: #0b2751;
}
.caasi-specs tr td:first-child {
  font-weight: 600;
  color: #7a96b0;
  width: 40%;
}

/* --- Zoom notice --- */
.product-gallery__zoom-notice {
  color: #7a96b0 !important;
  font-size: 0.78em !important;
}
.product-gallery__zoom-notice svg,
.product-gallery__zoom-notice .icon {
  color: #7a96b0 !important;
}

/* --- Breadcrumbs --- */
.breadcrumb {
  font-size: 0.8em !important;
  color: #7a96b0 !important;
}

/* --- Related products --- */
.product-recommendations .section__title,
.recently-viewed-products .section__title {
  font-size: 1.2em !important;
  font-weight: 400 !important;
  color: #0b2751 !important;
}

/* --- Fix: shipping block tekst altijd wit --- */
.caasi-shipping-combined,
.caasi-shipping-combined * {
  color: rgba(255,255,255,0.75) !important;
}
.caasi-shipping-combined__delivery-label {
  color: #0b2751 !important;
}
.caasi-shipping-combined__row strong {
  color: #0b2751 !important;
}
.caasi-shipping-combined__row--subtle,
.caasi-shipping-combined__row--subtle * {
  color: rgba(255,255,255,0.4) !important;
}

.product-meta__liquid .caasi-faq h2 {
  display: inline-block !important;
  font-size: 0.85em !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  background: #0b2751 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  margin-bottom: 12px !important;
}
.product-meta__liquid .caasi-faq details {
  border: 1px solid rgba(102, 255, 204, 0.2);
  border-radius: 12px;
  padding: 0;
  margin-bottom: 8px;
  overflow: hidden;
}
.product-meta__liquid .caasi-faq summary {
  cursor: pointer;
  font-weight: 500;
  font-size: 0.82em;
  color: #0b2751;
  padding: 10px 14px;
  background: rgba(102, 255, 204, 0.06);
  display: flex;
  align-items: center;
  list-style: none;
  transition: background 0.15s ease;
}
.product-meta__liquid .caasi-faq summary:hover {
  background: rgba(102, 255, 204, 0.12);
}
.product-meta__liquid .caasi-faq summary::-webkit-details-marker {
  display: none;
}
.product-meta__liquid .caasi-faq summary::after {
  content: '+';
  margin-left: auto;
  font-size: 1.2em;
  font-weight: 300;
  color: #7a96b0;
  transition: transform 0.2s ease;
}
.product-meta__liquid .caasi-faq details[open] summary::after {
  content: '-';
}
.product-meta__liquid .caasi-faq details[open] summary {
  border-bottom: 1px solid rgba(102, 255, 204, 0.15);
}
.product-meta__liquid .caasi-faq details p {
  font-size: 0.8em;
  color: #5a7a99 !important;
  margin: 0;
  padding: 10px 14px;
  line-height: 1.5;
}

.product-meta__liquid h3 {
  font-size: 0.85em !important;
  font-weight: 400 !important;
  color: #0b2751 !important;
}
.product-meta__liquid li {
  font-size: 0.8em;
  color: #3d5a80;
  margin-bottom: 4px;
}

/* --- Payment & Security: verberg uit linkerkolom (nu in rechterkolom) --- */
.product-block-list__item--trust {
  display: none !important;
}
/* Payment icons in rechterkolom */
.product-meta__trust .payment-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.product-meta__trust .payment-icons svg {
  height: 24px;
  width: auto;
}

/* --- EAN badge --- */
.product-meta__ean {
  font-size: 0.82em !important;
  color: #0b2751 !important;
  background: rgba(102, 255, 204, 0.06);
  padding: 3px 10px;
  border-radius: 6px;
  font-weight: 500 !important;
}
.product-meta__ean-number {
  font-weight: 400 !important;
}

/* --- Contact hint: alles op één regel --- */
.caasi-contact-hint {
  margin-top: 10px;
  font-size: 0.78em;
  color: #7a96b0;
}
.caasi-contact-hint__line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.caasi-contact-hint__intro {
  font-weight: 600;
  color: #0b2751 !important;
  font-size: 1em;
}
.caasi-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 0.9em;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.caasi-contact-btn--phone {
  background: rgba(102, 255, 204, 0.15) !important;
  color: #0b2751 !important;
}
.caasi-contact-btn--phone:hover {
  background: rgba(102, 255, 204, 0.25) !important;
}
.caasi-contact-btn--phone svg {
  color: #0b2751 !important;
}
.caasi-contact-btn--mail {
  background: rgba(102, 255, 204, 0.15) !important;
  color: #0b2751 !important;
}
.caasi-contact-btn--mail:hover {
  background: rgba(102, 255, 204, 0.25) !important;
}
.caasi-contact-btn--mail svg {
  color: #0b2751 !important;
}
.caasi-contact-hint__sub {
  color: #7a96b0 !important;
  font-size: 0.9em;
}

/* --- Prijs verfijning --- */
.price-list > .price {
  font-size: 2em !important;
  font-weight: 800 !important;
  color: #0b2751 !important;
  letter-spacing: -0.02em;
}

/* --- Voorraad: compacter --- */
.inventory,
.inventory--high {
  font-size: 0.82em !important;
}

/* --- Hoeveelheid: verfijning --- */
.quantity-selector {
  border-color: rgba(102, 255, 204, 0.2) !important;
}

/* --- Globaal: zwarte tekst → Caasi navy #0b2751 --- */
body,
.product-meta *,
.product-form *,
.card *,
.rte *,
h1, h2, h3, h4, h5, h6,
p, li, td, th, span, a,
label, input, select, button,
.heading,
.text--strong,
.price,
.price-list *,
summary {
  color: #0b2751;
}/* Uitzonderingen: elementen die NIET navy moeten zijn */
.caasi-shipping-combined *,
.caasi-buy-button,
.caasi-buy-button *,
.rte h2,
.product-block-list__item--description .card__title,
.product-meta__liquid .caasi-faq h2,
.caasi-contact-hint,
.caasi-contact-hint *,
.product-meta__liquid details p,
.breadcrumb,
.header *,
.footer * {
  color: unset;
}
/* Re-apply specifieke kleuren die we willen */
.caasi-shipping-combined * { color: rgba(255,255,255,0.75) !important; }
.caasi-shipping-combined__delivery-label { color: #ffffff !important; }
.caasi-shipping-combined__countdown { color: #66ffcc !important; }
.caasi-shipping-combined__row strong { color: #ffffff !important; }
.caasi-shipping-combined__row--subtle * { color: rgba(255,255,255,0.4) !important; }
.caasi-buy-button, .caasi-buy-button * { color: #0b2751 !important; }
.rte h2, .product-block-list__item--description .card__title { color: #ffffff !important; }
.product-meta__liquid .caasi-faq h2 { color: #ffffff !important; }
.caasi-contact-hint { color: #7a96b0 !important; }
.caasi-contact-hint svg { color: #0b2751 !important; }
.caasi-contact-hint strong { color: #0b2751 !important; }
.product-meta__liquid details p { color: #5a7a99 !important; }
.product-form__info-title { color: #7a96b0 !important; }
.caasi-specs tr td:first-child { color: #7a96b0 !important; }
.inventory, .inventory--high { color: #0b2751 !important; }
.breadcrumb { color: #7a96b0 !important; }

/* --- Force: alle kopteksten licht --- */
.card__title,
.card__title.heading,
.card__title.heading.h3,
.rte h2,
h2.card__title {
  font-weight: 400 !important;
}

/* --- Force: koptekst blokken regular weight via specifieke selectors --- */
.product-block-list .rte h2,
.product-block-list .card__title,
.product-block-list .card__title.heading.h3,
.product-block-list__item--description .card__title,
.product-block-list__item--description .heading {
  font-weight: 400 !important;
  font-family: inherit !important;
}

/* --- Contact hint intro --- */
.caasi-contact-hint__intro {
  font-size: 0.82em !important;
  color: #3d5a80 !important;
  margin-bottom: 4px;
  font-weight: 500;
}

/* ========================================
   CAASI: Foto thumbnails rechts van hoofdfoto
   ======================================== */
.product-gallery {
  display: flex !important;
  flex-direction: row-reverse !important;
}
.product-gallery__thumbnail-list {
  order: 2 !important;
}
.product-gallery__carousel-wrapper {
  order: 1 !important;
}

@media screen and (max-width: 999px) {
  .product-gallery {
    flex-direction: column !important;
  }
}

/* ========================================
   CAASI KOPTEKSTEN v2: mint accent pill
   ======================================== */
.product-block-list .rte h2,
.product-block-list .card__title,
.product-block-list .card__title.heading.h3,
.product-block-list__item--description .card__title,
.product-block-list__item--description .heading {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  font-size: 0.9em !important;
  font-weight: 500 !important;
  color: #0b2751 !important;
  background: rgba(102, 255, 204, 0.22) !important;
  border-left: 3px solid #0b2751 !important;
  padding: 10px 20px !important;
  border-radius: 0 12px 12px 0 !important;
  margin-top: 28px !important;
  margin-bottom: 16px !important;
  letter-spacing: 0.01em;
  font-family: inherit !important;
}
.product-block-list .rte h2:first-child,
.product-block-list .rte > div:first-child h2:first-child {
  margin-top: 4px !important;
}

/* Beschrijving card titel: zelfde stijl */
.product-block-list__item--description .card__header {
  padding: 20px 20px 8px !important;
}

/* Secties binnen beschrijving: subtiele achtergrond */
.caasi-features,
.caasi-box-contents {
  background: rgba(102, 255, 204, 0.03) !important;
  border: 1px solid rgba(102, 255, 204, 0.1) !important;
  border-radius: 16px !important;
  padding: 16px 20px !important;
  margin-top: 4px !important;
  margin-bottom: 20px !important;
}

.caasi-specs {
  background: rgba(11, 39, 81, 0.02) !important;
  border: 1px solid rgba(102, 255, 204, 0.1) !important;
  border-radius: 16px !important;
  padding: 16px 20px !important;
  margin-top: 4px !important;
  margin-bottom: 20px !important;
}

.caasi-intro {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 8px !important;
}

/* Lijsten in secties: clean */
.caasi-features ul,
.caasi-box-contents ul {
  background: transparent !important;
  border: none !important;
  padding: 0 0 0 18px !important;
  margin: 0 !important;
}

/* Specs tabel in sectie: clean */
.caasi-specs table {
  background: transparent !important;
  border: none !important;
}

/* --- Doos-inhoud groepen --- */
.caasi-box-group {
  margin-bottom: 12px;
}
.caasi-box-group:last-child {
  margin-bottom: 0;
}
.caasi-box-label {
  font-weight: 600 !important;
  font-size: 0.88em !important;
  color: #0b2751 !important;
  margin-bottom: 4px !important;
  padding-left: 0;
  border-bottom: 1px solid rgba(102, 255, 204, 0.15);
  padding-bottom: 4px;
}
.caasi-box-group ul {
  margin-top: 6px !important;
  margin-bottom: 0 !important;
}

/* ========================================
   CAASI ACCORDION
   ======================================== */
.caasi-accordion {
  border: 1px solid rgba(102, 255, 204, 0.2);
  border-radius: 16px;
  margin-bottom: 10px;
  overflow: hidden;
  transition: all 0.2s ease;
}
.caasi-accordion[open] {
  border-color: rgba(102, 255, 204, 0.35);
}
.caasi-accordion__header {
  display: flex;
  align-items: center;
  padding: 14px 20px;
  cursor: pointer;
  background: rgba(102, 255, 204, 0.08);
  list-style: none;
  user-select: none;
  transition: background 0.15s ease;
}
.caasi-accordion__header:hover {
  background: rgba(102, 255, 204, 0.15);
}
.caasi-accordion__header::-webkit-details-marker {
  display: none;
}
.caasi-accordion__title {
  font-weight: 600 !important;
  font-size: 0.9em !important;
  color: #0b2751 !important;
}
.caasi-accordion__hint {
  font-size: 0.78em;
  color: #7a96b0 !important;
  margin-left: 8px;
  font-weight: 400;
}
.caasi-accordion__icon {
  margin-left: auto;
  width: 20px;
  height: 20px;
  position: relative;
  flex-shrink: 0;
}
.caasi-accordion__icon:before,
.caasi-accordion__icon:after {
  content: '';
  position: absolute;
  background: #0b2751;
  border-radius: 1px;
  transition: transform 0.2s ease;
}
.caasi-accordion__icon:before {
  width: 12px;
  height: 2px;
  top: 9px;
  left: 4px;
}
.caasi-accordion__icon:after {
  width: 2px;
  height: 12px;
  top: 4px;
  left: 9px;
}
.caasi-accordion[open] .caasi-accordion__icon:after {
  transform: rotate(90deg);
  opacity: 0;
}
.caasi-accordion__body {
  padding: 16px 20px;
}
.caasi-accordion__body ul {
  padding-left: 18px !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}
.caasi-accordion__body li {
  margin-bottom: 6px;
  font-size: 0.88em;
  color: #3d5a80 !important;
  line-height: 1.5;
}
.caasi-accordion__body li strong {
  color: #0b2751 !important;
}
.caasi-accordion__body table {
  width: 100%;
  border-collapse: collapse;
}
.caasi-accordion__body td {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(102, 255, 204, 0.12);
  font-size: 0.88em;
}
.caasi-accordion__body tr td:first-child {
  font-weight: 500;
  color: #7a96b0 !important;
  width: 40%;
}
.caasi-accordion__body tr td:last-child {
  text-align: right;
  color: #0b2751 !important;
  font-weight: 500;
}
.caasi-accordion__body tr:last-child td {
  border-bottom: none;
}

/* --- Shipping accordion --- */
.caasi-shipping-accordion {
  border-radius: 20px;
}
.caasi-shipping-accordion summary {
  list-style: none;
  cursor: pointer;
}
.caasi-shipping-accordion summary::-webkit-details-marker {
  display: none;
}
.caasi-shipping-accordion__toggle {
  margin-left: auto;
  font-size: 0.72em;
  color: rgba(255,255,255,0.5) !important;
  border: 1px solid rgba(255,255,255,0.2);
  padding: 2px 8px;
  border-radius: 6px;
  white-space: nowrap;
}
.caasi-shipping-accordion[open] .caasi-shipping-accordion__toggle {
  display: none;
}

/* --- FAQ items in accordion (linkerkolom) --- */
.caasi-faq-item {
  border: 1px solid rgba(102, 255, 204, 0.15);
  border-radius: 10px;
  margin-bottom: 6px;
  overflow: hidden;
}
.caasi-faq-item summary {
  cursor: pointer;
  font-weight: 500;
  font-size: 0.88em;
  color: #0b2751;
  padding: 10px 14px;
  list-style: none;
  display: flex;
  align-items: center;
  background: rgba(102, 255, 204, 0.04);
}
.caasi-faq-item summary:hover {
  background: rgba(102, 255, 204, 0.1);
}
.caasi-faq-item summary::-webkit-details-marker {
  display: none;
}
.caasi-faq-item summary::after {
  content: '+';
  margin-left: auto;
  font-size: 1.1em;
  font-weight: 300;
  color: #7a96b0;
}
.caasi-faq-item[open] summary::after {
  content: '-';
}
.caasi-faq-item[open] summary {
  border-bottom: 1px solid rgba(102, 255, 204, 0.12);
}
.caasi-faq-item p {
  padding: 10px 14px;
  font-size: 0.85em;
  color: #3d5a80 !important;
  margin: 0;
  line-height: 1.5;
}

/* ========================================
   CAASI CART DRAWER FIXES
   ======================================== */

/* Cart drawer: tekst zichtbaar + Caasi stijl */
.mini-cart,
.mini-cart *,
.drawer *,
[class*="mini-cart"] * {
  color: #0b2751 !important;
}
.mini-cart .mini-cart__content,
.drawer__content {
  background: #ffffff !important;
}
.mini-cart .mini-cart__title,
.drawer .drawer__title {
  color: #0b2751 !important;
  font-weight: 600 !important;
}
/* Cart items */
.mini-cart .line-item__title,
.mini-cart .line-item__price,
.mini-cart .line-item__variant {
  color: #0b2751 !important;
}
/* Cart buttons */
.mini-cart .button--primary {
  background: #66ffcc !important;
  color: #0b2751 !important;
  border-radius: 20px !important;
  font-weight: 600 !important;
}
.mini-cart .button--secondary,
.mini-cart .button:not(.button--primary) {
  border-radius: 20px !important;
  border-color: #0b2751 !important;
  color: #0b2751 !important;
}
/* Cart quantity selector */
.mini-cart .quantity-selector {
  border-radius: 14px !important;
  border-color: rgba(102, 255, 204, 0.2) !important;
}
/* Cart totaal */
.mini-cart .mini-cart__total,
.mini-cart .mini-cart__amount {
  color: #0b2751 !important;
  font-weight: 700 !important;
}

/* ========================================
   HOEVEELHEID: direct boven de buy button
   ======================================== */
.product-info__block-item--buy-buttons {
  display: flex;
  flex-direction: column;
}
.product-info__block-item--variant-selector {
  order: -1;
}

/* Verplaats quantity selector visueel boven de buy button */
.product-form__buy-buttons {
  display: flex;
  flex-direction: column;
}

/* --- Cart drawer: linkerknop tekst zichtbaar --- */
.mini-cart .button--secondary,
.mini-cart .button:not(.button--primary) {
  background: #ffffff !important;
  color: #0b2751 !important;
  border: 2px solid #0b2751 !important;
}

/* --- Hoeveelheid: verplaats onder fit-check, boven buy button --- */
.product-info__block-item--buy-buttons .product-form__info-list {
  order: -1;
}
.product-info__block-item[data-block-type="buy-buttons"] {
  display: flex;
  flex-direction: column;
}
.product-info__block-item[data-block-type="buy-buttons"] .product-form__info-list {
  order: -1;
}
.product-info__block-item[data-block-type="buy-buttons"] .product-form__buy-buttons {
  order: 1;
}

/* --- Verberg losse garantie/retour link (zit nu in accordion) --- */
.product__refund-policy-link,
.product-block-list__item--shipping,
[class*="refund-policy"] {
  display: none !important;
}
#modal-refunds-policy {
  display: none !important;
}

/* ========================================
   CAASI: Afgeronde hoeken gallery + thumbnails
   ======================================== */

/* Hoofdafbeelding blok: zachte afronding */
.product-gallery__carousel-wrapper {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Individuele slides: afronden */
.product-gallery__carousel-item {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Thumbnails: afgerond met subtiele border */
.product-gallery__thumbnail {
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  padding: 2px !important;
}

/* Thumbnail hover: lichte highlight */
.product-gallery__thumbnail:hover {
  border-color: rgba(102, 255, 204, 0.4) !important;
}

/* Thumbnail geselecteerd: Caasi turquoise border */
.product-gallery__thumbnail.is-nav-selected {
  border-color: #66ffcc !important;
  box-shadow: 0 0 0 1px rgba(102, 255, 204, 0.3) !important;
}

/* Thumbnail images: niet afsnijden, volledig tonen */
.product-gallery__thumbnail img {
  object-fit: contain !important;
  border-radius: 6px !important;
}

/* Zoom overlay: ook afronden */
.pswp__img {
  border-radius: 0 !important;
}

/* ========================================
   CAASI: Gallery card zelfde stijl als omschrijving blokken
   ======================================== */
.product-block-list__item--gallery > .card {
  border-radius: 30px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06) !important;
  overflow: hidden !important;
}

/* Padding zodat thumbnails niet tegen de afgeronde rand zitten */
.product-block-list__item--gallery .card__section--tight {
  padding: 16px !important;
}

/* ========================================
   CAASI: Fabrikantsnummer/Modelnummer — kleiner, subtiel, op dezelfde lijn als EAN rij
   ======================================== */
.product-block-list__item--info .product-meta__reference.product-meta__reference--extra {
  font-size: 0.75em !important;
  color: #7a96b0 !important;
  gap: 16px !important;
}
.product-block-list__item--info .product-meta__reference--extra .product-meta__mpn,
.product-block-list__item--info .product-meta__reference--extra .product-meta__model {
  font-size: inherit !important;
  color: #7a96b0 !important;
  font-weight: 400 !important;
}
.product-block-list__item--info .product-meta__reference--extra .product-meta__mpn-number,
.product-block-list__item--info .product-meta__reference--extra .product-meta__model-number {
  color: #3d5a80 !important;
  font-weight: 500 !important;
}

/* ========================================
   CAASI: Spatie tussen euroteken en bedrag (€ 95,99)
   ======================================== */
.price .money::before,
.product-meta__price .money::before,
span.money::before {
  content: none;
}

/* ========================================
   CAASI: Verberg "EUR" tekst overal (euroteken is genoeg)
   ======================================== */
.mini-cart__recap-price-line [class*="currency"],
.cart-recap__price-line [class*="currency"] {
  display: none !important;
}

/* ========================================
   CAASI: Winkelwagen blokken afronden (zelfde stijl als productpagina)
   ======================================== */
.cart-wrapper .card,
.cart-recap .card,
.cart-recap__scroller .card {
  border-radius: 30px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06) !important;
}

/* ========================================
   CAASI: Alle card blokken sitebreed afronden
   Dezelfde stijl als productpagina: border-radius 30px,
   turquoise border, zachte shadow
   ======================================== */

/* Universele card styling */
.card {
  border-radius: 30px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06) !important;
}

/* Mini-cart (slide-in) */
.mini-cart .card,
.drawer .card {
  border-radius: 30px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06) !important;
}

/* Collectie/filter sidebar */
.collection__sidebar .card {
  border-radius: 30px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06) !important;
}

/* Product cards op collectie/overzichtspagina's */
.product-item .card,
.product-list .card {
  border-radius: 20px !important;
  border: 1px solid rgba(102, 255, 204, 0.15) !important;
  box-shadow: 0 2px 12px rgba(102, 255, 204, 0.04) !important;
}

/* Recently viewed / aanbevelingen wrapper */
.recently-viewed-products .card,
.product-recommendations .card {
  border-radius: 30px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06) !important;
}

/* ========================================
   CAASI: Knoppen sitebreed afronden + consistente stijl
   Matcht de "Ja, ik wil dit!" knop op productpagina
   ======================================== */

/* "In winkelmand" knop op collectie/overzichtspagina's */
.product-item__action-button.button--primary,
.product-item__action-button[data-action="add-to-cart"] {
  border-radius: 20px !important;
}

/* "Snel bekijken" knop */
.product-item__action-button:not(.button--primary) {
  border-radius: 20px !important;
}

/* Cart pagina: "Veilig afrekenen" + "Bestelling bekijken" */
.cart-recap__checkout,
.cart__checkout-button,
.button--primary {
  border-radius: 20px !important;
}

/* Alle secondary/outline knoppen */
.button--secondary,
.button:not(.button--primary):not(.product-item__action-button) {
  border-radius: 20px !important;
}

/* Mini-cart knoppen */
.mini-cart .button,
.mini-cart__checkout {
  border-radius: 20px !important;
}

/* ========================================
   CAASI: Mini-cart dropdown + winkelwagen overzicht
   ======================================== */

/* Mini-cart dropdown blok */
.mini-cart {
  border-radius: 20px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 8px 30px rgba(102, 255, 204, 0.1) !important;
  overflow: hidden !important;
}

/* Mini-cart recap (totaal sectie onderaan) */
.mini-cart__recap {
  border-radius: 0 0 20px 20px !important;
}

/* Winkelwagen overzichtspagina (/cart) */
.cart-wrapper .card,
.cart-recap .card,
.cart-recap__scroller > .card {
  border-radius: 30px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06) !important;
  overflow: hidden !important;
}

/* Cart items container */
.cart-item-list .card {
  border-radius: 30px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06) !important;
}

/* ========================================
   CAASI: Card overflow hidden (zodat afgeronde hoeken content clippen)
   ======================================== */
.card {
  overflow: hidden !important;
}

/* Recent bekeken sectie wrapper */
.recently-viewed-products-placeholder .card,
.recently-viewed-products .card,
section[id*="recently"] .card,
section[id*="recommendation"] .card {
  border-radius: 30px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06) !important;
  overflow: hidden !important;
}

/* ========================================
   CAASI: Recent bekeken sectie (geen .card wrapper, custom styling)
   ======================================== */
.recently-viewed-products-placeholder {
  border-radius: 30px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06) !important;
  overflow: hidden !important;
  background: #fff !important;
}
.recently-viewed-products-placeholder .scroller,
.recently-viewed-products-placeholder .scroller__inner,
.recently-viewed-products-placeholder .product-list {
  border-radius: 30px !important;
  overflow: hidden !important;
}

/* ========================================
   CAASI: Product items in grid/collectie afronden
   ======================================== */
.product-item {
  border-radius: 0 !important;
  overflow: hidden !important;
  border: none !important;
  border-right: 1px solid rgba(102, 255, 204, 0.2) !important;
  outline: none !important;
  background: #fff !important;
  transition: box-shadow 0.2s ease !important;
}
.product-item:last-child {
  border-right: none !important;
}
.product-item:hover {
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.15) !important;
}

/* Product afbeelding container */
.product-item__image-wrapper {
  border-radius: 16px 16px 0 0 !important;
  overflow: hidden !important;
}

/* ========================================
   CAASI: Filter checkboxes afronden
   ======================================== */
.collection__sidebar .checkbox-wrapper input[type="checkbox"],
.collection__sidebar .color-swatch-filter input[type="checkbox"],
.value-picker-item__checkbox {
  border-radius: 6px !important;
}

/* Custom checkbox styling */
.value-picker-item__checkbox::before,
.checkbox-wrapper .checkbox::before {
  border-radius: 6px !important;
}

/* ========================================
   CAASI: Prijs input velden afronden
   ======================================== */
.price-range__input,
.collection__sidebar input[type="text"],
.collection__sidebar input[type="number"] {
  border-radius: 12px !important;
  border: 1px solid rgba(102, 255, 204, 0.3) !important;
}
.price-range__input:focus,
.collection__sidebar input[type="text"]:focus,
.collection__sidebar input[type="number"]:focus {
  border-color: #66ffcc !important;
  outline: none !important;
}

/* ========================================
   CAASI: Filter checkboxes afronden (exacte selectors)
   ======================================== */
input.checkbox,
.checkbox-wrapper input,
.collection__filter-checkbox input {
  border-radius: 5px !important;
  border-color: rgba(102, 255, 204, 0.4) !important;
}
input.checkbox:checked,
.checkbox-wrapper input:checked {
  border-color: #0b2751 !important;
  background-color: #0b2751 !important;
}

/* ========================================
   CAASI: Collection toolbar scheidingslijn verwijderen
   ======================================== */
.collection__toolbar--bordered {
  box-shadow: none !important;
}

/* --- Product meta: alles op één regel --- */
.product-meta__reference--extra {
  display: contents !important;
}

/* Zoom minder intens: beperk zoom image afmetingen */
.drift-zoom-pane img {
  max-width: 1100px !important;
  max-height: 800px !important;
}
.product-meta__reference--extra {
  display: inline-flex !important;
  margin-top: -4px !important;
}
.product-meta__mpn {
  font-size: 0.75em;
  color: #6b7280;
}
.product-meta__mpn,
.product-meta__model {
  background: rgba(102, 255, 204, 0.06) !important;
  border-radius: 6px !important;
  padding: 3px 10px !important;
  font-size: 0.75em;
  color: #0b2751 !important;
}

/* --- Product afbeeldingen: hoeken afronden via parent clip --- */
.product-gallery__carousel .aspect-ratio {
  overflow: hidden !important;
  border-radius: 16px !important;
}

/* ========================================
   FIX: Zoom vervorming + streep-artifact
   ======================================== */
.product__zoom-wrapper img,
.pswp__img,
.drift-zoom-pane img,
.product-gallery__carousel--zoomable img {
  object-fit: contain !important;
}

/* Zoom minder intens: beperk zoom image afmetingen (ca. 1.5x i.p.v. 3x) */
.drift-zoom-pane img {
  max-width: 800px !important;
  max-height: 600px !important;
}

/* ========================================
   FIX: Productafbeelding verhouding (laptop/tablet)
   Voorkomt uitsnijden door geforceerde aspect-ratio
   ======================================== */
.product-gallery__image {
  object-fit: contain !important;
  width: 100% !important;
  height: 100% !important;
}

/* Aspect-ratio wrapper: laat afbeelding volledig zichtbaar */
.product-gallery__carousel-item .aspect-ratio {
  overflow: visible !important;
}

/* Size limiter mag niet te klein knippen op laptop/tablet */
@media screen and (min-width: 1000px) and (max-width: 1400px) {
  .product-gallery__size-limiter {
    max-width: 100% !important;
  }
}

/* ========================================
   FIX: Productafbeelding verhouding (laptop/tablet)
   Vaste container, afbeelding altijd volledig zichtbaar
   ======================================== */
.product-gallery__image {
  object-fit: contain !important;
  object-position: center center !important;
  width: 100% !important;
  height: 100% !important;
}

/* Vaste vierkante container: alle foto's zelfde formaat */
.product-gallery__carousel-item .aspect-ratio {
  padding-bottom: 100% !important;
  overflow: hidden !important;
}

/* ========================================
   FIX: Productafbeelding verhouding (laptop/tablet)
   Vaste vierkante container, foto altijd volledig zichtbaar
   ======================================== */
.product-gallery__image {
  object-fit: contain !important;
  object-position: center center !important;
  aspect-ratio: auto !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

/* Flickity viewport: stabiele hoogte */
@media screen and (min-width: 1000px) {
  .product-gallery .flickity-viewport {
    height: auto !important;
    min-height: 400px;
  }
}

/* ========================================
   FIX: Productafbeelding verhouding (laptop/tablet)
   Vaste vierkante container, foto altijd volledig zichtbaar
   ======================================== */
img.product-gallery__image,
.product-gallery .product-gallery__image,
.product-gallery__carousel-item .aspect-ratio img {
  object-fit: contain !important;
  object-position: center center !important;
  aspect-ratio: auto !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Vaste vierkante container: alle foto's zelfde formaat */
.product-gallery__carousel-item .aspect-ratio {
  padding-bottom: 100% !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Zoom venster breder: tot de rechterrand */
.product__zoom-wrapper {
  overflow: hidden !important;
  width: 100% !important;
}
.drift-zoom-pane {
  width: 100% !important;
  max-width: none !important;
}

/* Fix eerste dropdown menu dat links buiten scherm valt op laptop */
@media screen and (min-width: 768px) and (max-width: 1350px) {
  .nav-bar__item:first-child .mega-menu {
    left: 0 !important;
    transform: none !important;
  }
}

/* Fix: mobiel menu tekst zichtbaar (navy op wit) */
.mobile-menu {
  background: #ffffff !important;
}
.mobile-menu__nav-link,
.mobile-menu__nav-list-item a,
.mobile-menu__nav-list-toggle,
.mobile-menu__section-title,
.mobile-menu__image-heading,
.mobile-menu__image-text,
.mobile-menu * {
  color: #ffffff !important;
}

/* Fix: mobiel menu subcategorieen (nested panel) zichtbaar */
.mobile-menu__panel.is-nested,
.mobile-menu__panel.is-nested * {
  background: #0b2751 !important;
  color: #ffffff !important;
}
.mobile-menu__back-button,
.mobile-menu__back-button * {
  color: #66ffcc !important;
}

/* Fix: alle mobiele menu panels wit + navy tekst */
#mobile-menu,
#mobile-menu .mobile-menu__panel,
#mobile-menu .mobile-menu__panel.is-nested,
#mobile-menu .mobile-menu__section,
#mobile-menu .mobile-menu__section.is-sticky {
  background: #0b2751 !important;
  background-color: #0b2751 !important;
}
#mobile-menu .mobile-menu__nav-link,
#mobile-menu .mobile-menu__nav-list-item,
#mobile-menu .mobile-menu__nav-list-toggle,
#mobile-menu .mobile-menu__back-button,
#mobile-menu a,
#mobile-menu span,
#mobile-menu button {
  color: #ffffff !important;
}
#mobile-menu .mobile-menu__section-title {
  color: #66ffcc !important;
}

/* Fix: subcategorieen zichtbaar in mobiel menu (theme.css bug op max-width:1000px) */
#mobile-menu .mobile-menu__nav-list-item {
  display: block !important;
}

/* ========================================
   CAASI DESIGN SYSTEM — Product Page
   Kleuren: navy #0b2751, mint #66ffcc, #66ffcc
   ======================================== */

/* --- Globale tekst: nooit zwart, altijd Caasi navy --- */
.product-meta,
.product-meta *,
.product-form,
.product-form *,
.card__section,
.card__section *,
.rte,
.rte * {
  color: #0b2751;
}

/* --- Titel --- */
.product-meta__title {
  font-size: 1.5em !important;
  font-weight: 800 !important;
  color: #0b2751 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em;
  margin-bottom: 8px !important;
}

/* --- Merk --- */
.product-meta__vendor {
  font-weight: 700 !important;
  color: #0b2751 !important;
  text-transform: uppercase;
  font-size: 0.8em !important;
  letter-spacing: 0.05em;
  text-decoration: none !important;
}

/* --- Artikelnummer --- */
.product-meta__sku {
  font-size: 0.82em !important;
  color: #0b2751 !important;
  background: #f0f4f8;
  padding: 3px 10px;
  border-radius: 6px;
  font-weight: 500 !important;
}
.product-meta__sku-number {
  font-weight: 700 !important;
}

/* --- Prijs --- */
.price-list > .price {
  font-size: 1.8em !important;
  font-weight: 800 !important;
  color: #0b2751 !important;
}

/* --- Labels (Prijs:, Voorraad:, Hoeveelheid:) --- */
.product-form__info-title {
  font-size: 0.82em !important;
  font-weight: 600 !important;
  color: #8896a8 !important;
}

/* --- Voorraad: Caasi mint, geen balk --- */
.inventory,
.inventory--high {
  color: #0b2751 !important;
}
.inventory--low {
  color: #0b2751 !important;
  font-size: 0.85em !important;
  font-weight: 600 !important;
}
.inventory:before {
  background: #66ffcc !important;
  width: 8px !important;
  height: 8px !important;
  box-shadow: 0 0 6px rgba(102, 255, 204, 0.5);
}
.product-form__inventory-bar {
  display: none !important;
}

/* --- Hoeveelheid selector --- */
.quantity-selector {
  border-radius: 14px !important;
  border: 2px solid #e8edf2 !important;
  height: 48px !important;
}
.quantity-selector__button:hover {
  background: #f0fdf8 !important;
}
.quantity-selector__value {
  font-weight: 700 !important;
  color: #0b2751 !important;
}

/* --- Scheidingslijnen --- */
.card__separator {
  border-top: 1px solid #e8edf2 !important;
  margin: 16px 0 !important;
}

/* --- Cards: afgerond --- */
.product-block-list__item--info > .card,
.product-block-list__item--description > .card,
.product-block-list__item--trust > .card {
  border-radius: 20px;
  border: 1px solid #e8edf2;
  box-shadow: 0 2px 12px rgba(11, 39, 81, 0.06);
}

/* --- Beschrijving card titel --- */
.product-block-list__item--description .card__title,
.product-block-list__item--trust .card__title {
  font-size: 0.88em !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background: #0b2751;
  display: inline-block;
  padding: 8px 18px !important;
  border-radius: 10px;
}

/* --- Body kopteksten (h2) in blokstijl --- */
.rte h2 {
  display: inline-block !important;
  font-size: 0.88em !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background: #0b2751 !important;
  padding: 8px 18px !important;
  border-radius: 10px !important;
  margin-top: 32px !important;
  margin-bottom: 16px !important;
  border-top: none !important;
}
.rte h2:first-child,
.rte > div:first-child h2:first-child {
  margin-top: 4px !important;
}

/* --- Body kopteksten (h3) --- */
.rte h3 {
  font-size: 1em !important;
  font-weight: 700 !important;
  color: #0b2751 !important;
  margin-top: 20px !important;
  margin-bottom: 10px !important;
}

/* --- Body secties: duidelijk bij koptekst horen --- */
.rte h2 + ul,
.rte h2 + p,
.rte h2 + table,
.rte div + ul,
.caasi-features ul,
.caasi-box-contents ul {
  background: #f8fafc;
  border: 1px solid #e8edf2;
  border-radius: 12px;
  padding: 16px 16px 16px 34px !important;
  margin-bottom: 8px;
}

/* --- Bullet lists --- */
.rte ul {
  padding-left: 18px;
  margin-bottom: 14px;
}
.rte li {
  margin-bottom: 6px;
  font-size: 0.9em;
  line-height: 1.55;
  color: #374151;
}

/* --- Specs tabel --- */
.caasi-specs table {
  width: 100%;
  border-collapse: collapse;
  background: #f8fafc;
  border: 1px solid #e8edf2;
  border-radius: 12px;
  overflow: hidden;
}
.caasi-specs td {
  padding: 10px 14px;
  border-bottom: 1px solid #e8edf2;
  font-size: 0.88em;
  color: #0b2751;
}
.caasi-specs tr td:first-child {
  font-weight: 600;
  color: #8896a8;
  width: 40%;
}
.caasi-specs tr td:last-child {
  text-align: right;
  font-weight: 500;
}
.caasi-specs tr:last-child td {
  border-bottom: none;
}

/* --- Thumbnails: meer afgeronde hoeken --- */
.product-gallery__thumbnail {
  border-radius: 14px !important;
  overflow: hidden !important;
}
.product-gallery__thumbnail img {
  border-radius: 12px !important;
}

/* --- Zoom notice --- */
.product-gallery__zoom-notice {
  color: #8896a8 !important;
  font-size: 0.78em !important;
}
.product-gallery__zoom-notice svg,
.product-gallery__zoom-notice .icon {
  color: #8896a8 !important;
}

/* --- Breadcrumbs --- */
.breadcrumb {
  font-size: 0.8em !important;
  color: #8896a8 !important;
}
.breadcrumb a {
  color: #0b2751 !important;
  text-decoration: none !important;
}
.breadcrumb a:hover {
  color: #0b2751 !important;
}

/* --- Reviews badge --- */
.product-meta__reviews-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid #e8edf2;
  font-size: 0.82em !important;
  text-decoration: none !important;
}

/* --- Related products --- */
.product-recommendations .section__title,
.recently-viewed-products .section__title {
  font-size: 1.2em !important;
  font-weight: 700 !important;
  color: #0b2751 !important;
}

/* ========================================
   CAASI BUY BUTTON
   ======================================== */
.caasi-buy-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100% !important;
  padding: 16px 32px !important;
  font-size: 1.05em !important;
  min-height: 58px !important;
  background: #66ffcc !important;
  color: #0b2751 !important;
  border: none !important;
  border-radius: 20px !important;
  font-weight: 700 !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(102, 255, 204, 0.3) !important;
  box-sizing: border-box !important;
}
.caasi-buy-button:hover {
  background: #52e6b5 !important;
  box-shadow: 0 6px 20px rgba(102, 255, 204, 0.45) !important;
  transform: translateY(-1px) !important;
}
.caasi-buy-button__icon {
  display: flex;
  align-items: center;
}
.caasi-buy-button__text {
  display: flex;
  align-items: center;
}
.caasi-buy-button__main {
  font-size: 1em;
  font-weight: 700;
}

/* --- Collection grid: compacte buy button --- */
.product-item .caasi-buy-button {
  padding: 10px 16px !important;
  font-size: 0.9em !important;
  min-height: 42px !important;
  line-height: 1.3 !important;
  border-radius: 14px !important;
  gap: 8px !important;
}
.product-item .caasi-buy-button__icon svg {
  width: 18px !important;
  height: 18px !important;
}

/* --- Tablet: iets compacter --- */
@media screen and (max-width: 999px) {
  .product-item .caasi-buy-button {
    padding: 9px 14px !important;
    font-size: 0.85em !important;
    min-height: 40px !important;
    gap: 6px !important;
  }
}

/* --- Mobiel: extra compact --- */
@media screen and (max-width: 640px) {
  .product-item .caasi-buy-button {
    padding: 8px 12px !important;
    font-size: 0.82em !important;
    min-height: 38px !important;
    border-radius: 12px !important;
    gap: 6px !important;
  }
  .product-item .caasi-buy-button__icon svg {
    width: 16px !important;
    height: 16px !important;
  }
}

/* --- Spacing na buy button --- */
.product-info__block-item--liquid {
  margin-top: 24px;
}

.product-meta__liquid .caasi-faq h2 {
  display: inline-block !important;
  font-size: 0.85em !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background: #0b2751 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  margin-bottom: 12px !important;
}
.product-meta__liquid details {
  border-bottom: 1px solid #e8edf2;
  padding-bottom: 8px;
  margin-bottom: 8px;
}
.product-meta__liquid summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 0.82em;
  color: #0b2751;
}
.product-meta__liquid details p {
  font-size: 0.8em;
  color: #6b7280;
  margin-top: 6px;
}

.product-meta__liquid h3 {
  font-size: 0.85em !important;
  font-weight: 700 !important;
  color: #0b2751 !important;
}
.product-meta__liquid ul {
  padding-left: 16px;
}
.product-meta__liquid li {
  font-size: 0.8em;
  color: #374151;
  margin-bottom: 4px;
}

/* ========================================
   RESET: Mobiel/tablet — undo oude gallery overrides
   Er staan oude regels in custom.css die mobiel breken,
   deze reset zorgt dat het thema zijn eigen gallery gebruikt
   ======================================== */
@media screen and (max-width: 999px) {
  img.product-gallery__image,
  .product-gallery .product-gallery__image,
  .product-gallery__carousel-item .aspect-ratio img,
  .product-gallery__image {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    aspect-ratio: auto !important;
  }
  .product-gallery__carousel-item .aspect-ratio {
    overflow: hidden !important;
    position: relative !important;
  }
  .product-gallery .flickity-viewport {
    aspect-ratio: auto !important;
  }
  .product-gallery__size-limiter {
    max-width: none !important;
  }
}

/* ========================================
   FIX: Productafbeelding verhouding (alleen desktop/laptop)
   Vaste vierkante container, foto altijd volledig zichtbaar
   Niet op mobiel — daar heeft het thema eigen gallery
   ======================================== */
@media screen and (min-width: 1000px) {
  img.product-gallery__image,
  .product-gallery .product-gallery__image,
  .product-gallery__carousel-item .aspect-ratio img {
    object-fit: contain !important;
    object-position: center center !important;
    aspect-ratio: auto !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* Vaste vierkante container: alle foto's zelfde formaat */
  .product-gallery__carousel-item .aspect-ratio {
    padding-bottom: 100% !important;
    overflow: hidden !important;
    position: relative !important;
  }

  /* Flickity viewport: vierkant forceren zodat het niet knipt */
  .product-gallery .flickity-viewport {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }

  /* Size limiter iets groter */
  .product-gallery__size-limiter {
    max-width: 620px !important;
  }

  /* Zoom venster breder: tot de rechterrand */
  .product__zoom-wrapper {
    overflow: hidden !important;
    width: 100% !important;
  }
  .drift-zoom-pane {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ========================================
   FIX: Zoom vervorming + streep-artifact
   ======================================== */
.product__zoom-wrapper img,
.pswp__img,
.drift-zoom-pane img {
  object-fit: contain !important;
}

/* Wrapper moet overflow clippen zodat zoom pane niet over productinfo valt */
.product__zoom-wrapper {
  overflow: hidden !important;
}

/* Zoom pane moet volledig verdwijnen bij sluiten */
.drift-zoom-pane:not(.drift-open) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
.drift-zoom-pane.drift-closing {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Verwijder navy border van zoom pane (veroorzaakt streep) */
.drift-zoom-pane {
  border: none !important;
  box-shadow: none !important;
}

/* Zoom sterker: grotere afmetingen voor meer inzoom (ca. 2.5x) */
.drift-zoom-pane img {
  max-width: 1400px !important;
  max-height: 1050px !important;
}

/* Fix: carousel pijltjes niet afkappen op laptop */
@media screen and (min-width: 768px) and (max-width: 1350px) {
  .flickity-prev-next-button.previous {
    left: 8px !important;
  }
  .flickity-prev-next-button.next {
    right: 8px !important;
  }
}

/* Fix: announcement bar 4e kolom niet afkappen op laptop */
@media screen and (min-width: 768px) and (max-width: 1350px) {
  .announcement-bar .container {
    padding: 0 8px !important;
  }
  .announcement_slider {
    gap: 4px !important;
  }
  .block-4 .announcement-bar__inner {
    flex: 1 1 0 !important;
    flex-shrink: 1 !important;
    width: 0 !important;
    min-width: 0 !important;
    font-size: 12px !important;
  }
}


/* ========================================
   CAASI: Anderen bekeken ook — zelfde stijl als Recent bekenen
   ======================================== */
.product-recommendations {
  border-radius: 30px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 4px 20px rgba(102, 255, 204, 0.06) !important;
  overflow: hidden !important;
  background: #fff !important;
}
.product-recommendations .scroller,
.product-recommendations .scroller__inner,
.product-recommendations .product-list {
  border-radius: 30px !important;
  overflow: hidden !important;
}

/* ========================================
   CAASI STICKY HEADER (fixed, want overflow-x:hidden breekt sticky)
   Selecteer ALLEEN header secties, NIET de announcement/USP bar
   die door move-usp-bar.js naar main verplaatst wordt.
   ======================================== */
.shopify-section-group-header-group:not([id*="announcement"]) {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 300 !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* USP/announcement bar: NOOIT fixed, altijd normaal in de flow */
.shopify-section-group-header-group[id*="announcement"] {
  position: relative !important;
  z-index: 3 !important;
}

/* ========================================
   CAASI QUICK VIEW MODAL FIX
   Modal moet BOVEN de fixed header verschijnen
   en content moet niet achter de header zitten
   ======================================== */
.modal {
  z-index: 400 !important;
}
.modal__dialog {
  padding-top: 150px !important;
}
@media screen and (max-width: 768px) {
  .modal__dialog {
    padding-top: 120px !important;
  }
}
/* ========================================
   CAASI VERDER WINKELEN LINK FIX
   Link moet zichtbaar en klikbaar zijn op alle apparaten
   ======================================== */

/* Mini-cart moet scrollen in plaats van overflow hidden */
#mini-cart.mini-cart {
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Verder winkelen link: duidelijk zichtbaar met genoeg ruimte */
.mini-cart__bottom-link {
  padding: 12px 20px 24px !important;
  text-align: center !important;
}
.mini-cart__bottom-link a {
  display: inline-block;
  padding: 10px 20px !important;
  font-weight: 600 !important;
  color: #0b2751 !important;
  text-decoration: underline !important;
  font-size: 0.9em !important;
}

/* ========================================
   CAASI EURO SIGN FIX (CSS-only, geen JS flicker)
   Euro teken direct klein via CSS zodat fixEuro() JS
   geen zichtbaar verspringen veroorzaakt
   ======================================== */
/* Euro teken alvast klein via CSS — voorkomt flits door fixEuro() JS */
.price::first-letter,
.price-list .price::first-letter,
.mini-cart__price-list .price::first-letter,
.mini-cart__total .price::first-letter,
.mini-cart__footer .price::first-letter {
  font-size: 0.6em;
  vertical-align: baseline;
  margin-right: 4px;
}

/* caasi-euro span (door fixEuro() gezet) — zelfde grootte als ::first-letter */
.caasi-euro {
  font-size: 0.6em !important;
  vertical-align: baseline !important;
  margin-right: 6px !important;
  transition: none !important;
}

/* ========================================
   CAASI CLICKABLE PRICE IN COLLECTION GRID
   Prijs, voorraad en reviews klikbaar naar product
   ======================================== */
.product-item__price-list,
.product-item__inventory,
.product-item .jdgm-widget {
  cursor: pointer;
}


/* ========================================
   CAASI SOLD OUT BIS BUTTON
   ======================================== */

/* Productpagina: Meld mij bij voorraad knop */
.caasi-bis-button {
  background: #66ffcc !important;
  color: #0b2751 !important;
  border: none !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  font-size: 1em !important;
  padding: 14px 24px !important;
  border-radius: 60px !important;
  width: 100% !important;
  text-align: center !important;
  transition: all 0.25s ease !important;
  opacity: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.caasi-bis-button:hover {
  background: #52e6b5 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(102, 255, 204, 0.35) !important;
}
.caasi-bis-button:active {
  transform: translateY(0);
}

/* Verberg de door Klaviyo gegenereerde trigger link (onze knop vervangt deze) */
.product-form__payment-container > a.klaviyo-bis-trigger,
.product-form > a.klaviyo-bis-trigger,
.product-form a.klaviyo-bis-trigger {
  display: none !important;
}

/* Verberg TimesAct popup (we gebruiken Klaviyo) */
.timesact_bis_popup_overlay,
.timesact_bis_dialog {
  display: none !important;
}


/* Lage voorraad (Nog 1/2 beschikbaar): groen tekst+bolletje, alleen het getal rood via Liquid */
.inventory.inventory--low {
  color: #0b2751 !important;
}
.inventory.inventory--low::before {
  background-color: #66ffcc !important;
}

/* Uitverkocht: rood tekst + bolletje */
.product-item__inventory.inventory:not(.inventory--high):not(.inventory--low) {
  color: #dc2626 !important;
}
.product-item__inventory.inventory:not(.inventory--high):not(.inventory--low)::before {
  background-color: #dc2626 !important;
}


/* Mini-cart prijzen: geen grote font-size override (voorkomt flits bij openen) */
.mini-cart__price-list > .price,
.mini-cart .price-list > .price {
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px)) !important;
  font-weight: var(--text-font-bolder-weight) !important;
}


/* Mobiel: voorraad op 1 regel */
@media (max-width: 999px) {
  .product-item .product-item__inventory.inventory,
  .product-item .product-item__inventory.inventory.inventory--low,
  .product-item .product-item__inventory.inventory.inventory--high {
    white-space: nowrap !important;
    font-size: 0.7em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}


/* Mobiel: titel blok niet achter gallery */
@media screen and (max-width: 999px) {
  .product-block-list__item.product-block-list__item--info {
    position: relative !important;
    z-index: 1 !important;
    clear: both !important;
  }
  .product-block-list__item.product-block-list__item--info > .card.card--sticky {
    position: relative !important;
    top: auto !important;
  }
}


/* Mobiel: ruimte tussen gallery en info blok */
@media screen and (max-width: 999px) {
  .product-block-list__item--gallery {
    margin-bottom: 15px !important;
  }
  .product-block-list__item--gallery > .card {
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
}

/* ========================================
   CAASI MOBILE: neutraliseer OverflowScroller
   Theme's JS zet style.top op product info panel bij scroll.
   Op desktop gewenst (sticky sidebar), op mobiel niet (stacked layout).
   ======================================== */
@media screen and (max-width: 999px) {
  .product-block-list__item--info {
    top: auto !important;
    position: relative !important;
  }
}


/* Taalkiezer dropdown: navy tekst op witte achtergrond */
.popover--locale .popover__link-item {
  color: #0b2751 !important;
}


/* Scheidingslijnen tussen product cards */
.product-list .product-item {
  border-bottom: 1px solid rgba(102, 255, 204, 0.2) !important;
  border-right: 1px solid rgba(102, 255, 204, 0.2) !important;
}


/* Toolbar boven producten: groene scheidingslijnen ipv grijs */
@media screen and (min-width: 641px) {
  .collection__toolbar--bordered {
    box-shadow: 0 1px rgba(102, 255, 204, 0.2), 0 -1px rgba(102, 255, 204, 0.2) !important;
  }
}
/* Mobiel: toolbar lijn ook groen */
.collection__toolbar--bordered {
  border-color: rgba(102, 255, 204, 0.2) !important;
  box-shadow: 0 1px rgba(102, 255, 204, 0.2), 0 -1px rgba(102, 255, 204, 0.2) !important;
}


/* Grijze lijn boven producten (mobile filters recap) groen maken */
.collection__mobile-filters-recap {
  border-bottom-color: rgba(102, 255, 204, 0.2) !important;
}


/* Alle collection toolbar lijnen groen (ook zonder --bordered) */
.collection__toolbar {
  box-shadow: 0 1px rgba(102, 255, 204, 0.2) !important;
}

/* Fade-out class: wordt toegevoegd door JS vlak voor verwijdering */
.collection .product-item.caasi-fading,
.collection-products .product-item.caasi-fading,
.product-list .product-item.caasi-fading {
  opacity: 0 !important;
  transform: scale(0.96) !important;
  pointer-events: none;
}

/* Fade-in class: voor nieuw verschijnende producten */
.collection .product-item.caasi-appearing,
.collection-products .product-item.caasi-appearing,
.product-list .product-item.caasi-appearing {
  opacity: 0;
  transform: scale(0.96);
}

/* Product items in collectie grid: zachte fade-out bij verwijdering */
.collection .product-item,
.collection-products .product-item,
.product-list .product-item {
  transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Product items in collectie grid: zachte fade-out bij verwijdering */
.collection .product-item,
.collection-products .product-item,
.product-list .product-item {
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.collection .product-item.caasi-fading,
.collection-products .product-item.caasi-fading,
.product-list .product-item.caasi-fading {
  opacity: 0 !important;
  transform: scale(0.97) !important;
  pointer-events: none;
}

/* Stap 2: lege ruimte klapt dicht */
.collection .product-item.caasi-collapsing,
.collection-products .product-item.caasi-collapsing,
.product-list .product-item.caasi-collapsing {
  opacity: 0 !important;
  transform: scale(0.95) !important;
  pointer-events: none;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: none !important;
  transition: max-width 0.5s ease, max-height 0.5s ease,
              margin 0.5s ease, padding 0.5s ease;
}

/* Stap 1: fade-out (opacity + lichte schaal) */
.collection .product-item,
.collection-products .product-item,
.product-list .product-item {
  transition: opacity 0.7s ease, transform 0.7s ease,
              max-width 0.5s ease 0.5s, max-height 0.5s ease 0.5s,
              margin 0.5s ease 0.5s, padding 0.5s ease 0.5s;
  overflow: visible;
}

/* Stap 1: product fadet uit */
.collection .product-item.caasi-fading,
.collection-products .product-item.caasi-fading,
.product-list .product-item.caasi-fading {
  opacity: 0 !important;
  transform: scale(0.95) !important;
  pointer-events: none;
}


/* Newsletter blok: tekst wit forceren */
.blog-sidebar__item--newsletter .rte,
.blog-sidebar__item--newsletter .newsletter__text,
.blog-sidebar__item--newsletter p {
  color: inherit !important;
}


/* CAASI CART: Discount badge kleur + doorgestreepte prijs verbergen */
.line-item__discount {
  background-color: rgba(102, 255, 204, 0.15) !important;
  color: #0b2751 !important;
}
.line-item__discount .icon--sale {
  color: #0b2751 !important;
}
.line-item__price.line-item__price--compare,
span.line-item__price--compare,
.line-item__price--compare.line-item__price,
.line-item__price-list [bss-b2b-cart-item-key] span.line-item__price--compare,
[bss-b2b-cart-item-key] .line-item__price--compare {
  font-size: 12px !important;
  opacity: 0.5 !important;
  color: #0b2751 !important;
  text-decoration: line-through !important;
}


/* CAASI CART: Bespaard tekst — alleen bedrag groen */
.cart-recap__amount-saved {
  color: #0b2751 !important;
  background: none !important;
  padding: 0 !important;
  font-size: 14px !important;
}
.cart-recap__amount-saved span {
  color: #0b2751 !important;
  font-weight: 700;
}

/* CAASI CART: Badge kleiner en mooier — alle cart contexten */
.line-item__discount,
.mini-cart .line-item__discount,
cart-drawer .line-item__discount {
  font-size: 11px !important;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  background-color: rgba(102, 255, 204, 0.15) !important;
  color: #0b2751 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.line-item__discount .icon--sale,
.mini-cart .line-item__discount .icon--sale {
  color: #0b2751 !important;
  width: 14px !important;
  height: 14px !important;
}

/* Verberg doorgestreepte prijs — alle cart contexten */
.line-item__price--compare,
.mini-cart .line-item__price--compare,
cart-drawer .line-item__price.line-item__price--compare,
span.line-item__price--compare,
.line-item__price--compare.line-item__price,
.line-item__price-list [bss-b2b-cart-item-key] span.line-item__price--compare,
[bss-b2b-cart-item-key] .line-item__price--compare {
  font-size: 12px !important;
  opacity: 0.5 !important;
  color: #0b2751 !important;
  text-decoration: line-through !important;
}


/* CAASI MINI-CART DRAWER: Zelfde styling als cart page */
.mini-cart__discount {
  background-color: rgba(102, 255, 204, 0.15) !important;
  color: #0b2751 !important;
  font-size: 11px !important;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.mini-cart__discount .icon--sale {
  color: #0b2751 !important;
  width: 14px !important;
  height: 14px !important;
}
.mini-cart .price--compare,
.mini-cart__price-list .price--compare {
  font-size: 12px !important;
  opacity: 0.5 !important;
  color: #0b2751 !important;
  text-decoration: line-through !important;
}
.mini-cart__amount-saved {
  color: #0b2751 !important;
  font-size: 14px !important;
}
.mini-cart__amount-saved span {
  color: #0b2751 !important;
  font-weight: 700;
}


/* Smooth fade voor product items (alleen bij initieel laden) */
.collection .product-item,
.collection-products .product-item,
.product-list .product-item {
  transition: opacity 0.6s ease, transform 0.6s ease;
}

/* Fade-out class: visueel verborgen maar BLIJFT in DOM voor filters */
.collection .product-item.caasi-fading,
.collection-products .product-item.caasi-fading,
.product-list .product-item.caasi-fading {
  opacity: 0 !important;
  transform: scale(0.96) !important;
  pointer-events: none;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}


/* Blog cards: ronde hoeken matchen met card image */
.article-item__image-container {
  border-radius: 16px !important;
  overflow: hidden !important;
}


/* Mini-cart: niet breder dan scherm op mobiel */
@media screen and (max-width: 999px) {
  .mini-cart,
  #mini-cart.mini-cart {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }
  .mini-cart__inner,
  .mini-cart__content,
  .mini-cart__recap,
  .mini-cart__line-item-list {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }
}


/* Fix: actieve filter tag op mobiel leesbaar maken */
.collection__mobile-active-filter-item {
  background: #66ffcc !important;
  color: #0b2751 !important;
}
.collection__mobile-active-filter-cross svg {
  fill: #0b2751 !important;
  stroke: #0b2751 !important;
}

/* Fix: cart tabel kolommen vaste breedte zodat ze niet verspringen bij quantity update */
.line-item-table { table-layout: fixed; width: 100%; }
.line-item-table .line-item__line-price { width: 100px; min-width: 100px; }
.line-item-table .line-item__quantity { width: 160px; min-width: 160px; }
/* Fix: euro-spatie consistent houden na cart rerender */
.line-item__price,
.line-item__line-price,
.cart-recap__total .money,
.cart-recap__price-line .money { white-space: nowrap; }


/* Populaire collecties: ruimte onderaan via wrapper margin */
#shopify-section-collection-list {
  margin-bottom: 28px !important;
}

/* === HOMEPAGE UITLIJNING: alle titels op 40px startpositie === */

/* Populaire collecties: zelfde padding als standaard container */
.caasi-coll-row {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Zojuist binnengekomen: titel padding toevoegen (zit in container--flush) */
.featured-collection__header {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Blog sectie header uitlijnen */
.blog-posts .section__header {
  padding-left: 0 !important;
}

@media screen and (max-width: 749px) {
  .caasi-coll-row {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .featured-collection__header {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Over Caasi blok: iets naar rechts op normaal desktop, niet op breedbeeld */
@media screen and (min-width: 750px) and (max-width: 1439px) {
  #shopify-section-template--25138968887631__1774687266ed000fa9 .container,
  #shopify-section-template--25138968887631__1774687266ed000fa9 .container--flush {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
}


/* ========================================
   CAASI SHIPPING COMBINED (timer + info)
   ======================================== */
.caasi-shipping-combined {
  width: 100%;
  margin-top: 12px;
  background: #0b2751;
  border-radius: 20px;
  overflow: hidden;
}
.caasi-shipping-combined__timer {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
}
.caasi-shipping-combined__timer svg {
  flex-shrink: 0;
}
.caasi-shipping-combined__timer-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.caasi-shipping-combined__delivery-label {
  font-weight: 700;
  color: #ffffff;
  font-size: 0.95em;
}
.caasi-shipping-combined__countdown {
  font-weight: 600;
  color: #66ffcc;
  font-size: 0.82em;
}
.caasi-shipping-combined__date {
  color: rgba(255,255,255,0.8);
  font-size: 0.78em;
}
.caasi-shipping-combined__divider {
  height: 1px;
  background: rgba(255,255,255,0.1);
  margin: 0 20px;
}
.caasi-shipping-combined__details {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.caasi-shipping-combined__row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  color: rgba(255,255,255,0.75);
  font-size: 0.8em;
  line-height: 1.5;
}
.caasi-shipping-combined__row svg {
  flex-shrink: 0;
  margin-top: 0px;
}
.caasi-shipping-combined__row--subtle {
  color: rgba(255,255,255,0.4);
  font-size: 0.72em;
}

/* --- Centreer USP bar items --- */
.announcement_slider.block-4 {
  justify-content: space-evenly !important;
}
.announcement_slider.block-4 .announcement-bar__inner {
  flex: 0 0 auto !important;
  width: auto !important;
  justify-content: center !important;
}
.caasi-contact-hint {
  margin-bottom: 4px !important;
}
.caasi-contact-hint__sub {
  color: rgb(61, 90, 128) !important;
  font-weight: 500 !important;
  font-size: 9.6px !important;
}

/* --- Product meta: alles op één regel --- */
.product-meta__reference {
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}
.product-meta__reference--extra {
  display: none !important;
}
.product-meta__sku,
.product-meta__ean,
.product-meta__mpn,
.product-meta__model {
  background: rgba(102, 255, 204, 0.12) !important;
  border-radius: 6px !important;
  padding: 3px 10px !important;
  color: #0b2751 !important;
}
.product-meta__ean-number,
.product-meta__mpn-number,
.product-meta__model-number {
  font-weight: 700 !important;
}

/* ========================================
   CAASI COLLECTION FADE TRANSITION
   Verberg filter-opties met count 0.
   Sortering: server-side via shopify_sort_collections.py.
   ======================================== */

/* Verberg filter-opties met count 0 */
.collection__filter-checkbox.caasi-zero-count {
  display: none !important;
}

/* ============================================================
   CAASI BLOG ARTICLE STYLING
   ============================================================ */

/* --- Featured image --- */
[data-section-type="blog-post"] .article__image-wrapper {
  border-radius: 20px !important;
  overflow: hidden !important;
  margin-bottom: 28px !important;
}
[data-section-type="blog-post"] .article__image-wrapper img {
  border-radius: 20px !important;
}

/* --- Title --- */
[data-section-type="blog-post"] .page__title {
  color: #0b2751 !important;
  font-weight: 800 !important;
  font-size: 36px !important;
  line-height: 1.2 !important;
}
@media (max-width: 749px) {
  [data-section-type="blog-post"] .page__title {
    font-size: 26px !important;
  }
}

/* --- Date meta --- */
[data-section-type="blog-post"] .page__meta-item--date {
  color: #4a5e80 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* --- Article content typography --- */
[data-section-type="blog-post"] .article__content {
  font-size: 16.5px !important;
  line-height: 1.75 !important;
  color: #1a2a3a !important;
}

/* --- H2: override navy badge to mint-accent style (BLOG ONLY) --- */
[data-section-type="blog-post"] .article__content h2,
[data-section-type="blog-post"] .rte h2 {
  display: block !important;
  color: #0b2751 !important;
  background: #f0fdf9 !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  margin-top: 40px !important;
  margin-bottom: 16px !important;
  padding: 12px 18px !important;
  border-left: 4px solid #66ffcc !important;
  border-radius: 0 12px 12px 0 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

/* --- H3 --- */
[data-section-type="blog-post"] .article__content h3,
[data-section-type="blog-post"] .rte h3 {
  color: #0b2751 !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  margin-top: 32px !important;
  margin-bottom: 12px !important;
}

/* --- Blockquotes --- */
[data-section-type="blog-post"] .article__content blockquote,
[data-section-type="blog-post"] .rte blockquote {
  background: #f0fdf9 !important;
  border-left: 4px solid #66ffcc !important;
  border-radius: 0 16px 16px 0 !important;
  padding: 20px 24px !important;
  margin: 24px 0 !important;
  font-style: normal !important;
  color: #0b2751 !important;
  border: none !important;
  border-left: 4px solid #66ffcc !important;
}

/* --- Bold text --- */
[data-section-type="blog-post"] .article__content strong {
  color: #0b2751 !important;
}

/* --- Content blocks after H2 (override existing bg) --- */
[data-section-type="blog-post"] .rte h2 + ul,
[data-section-type="blog-post"] .rte h2 + p,
[data-section-type="blog-post"] .rte h2 + table {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* --- TOC sidebar --- */
[data-section-type="blog-post"] .blog-sidebar .card:first-child {
  border-radius: 20px !important;
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  box-shadow: 0 2px 12px rgba(11, 39, 81, 0.05) !important;
}

/* --- Tags --- */
[data-section-type="blog-post"] .article__aside .link--accented {
  display: inline-block !important;
  background: rgba(102, 255, 204, 0.12) !important;
  color: #0b2751 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  margin: 2px 4px 2px 0 !important;
}

/* --- Navigation (prev/next) --- */
[data-section-type="blog-post"] .article__navigation-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 24px !important;
  background: #0b2751 !important;
  color: #fff !important;
  border-radius: 20px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}
[data-section-type="blog-post"] .article__navigation-item:hover {
  opacity: 0.9 !important;
}
[data-section-type="blog-post"] .article__navigation-item svg {
  fill: #fff !important;
  color: #fff !important;
}

/* --- Newsletter sidebar --- */
[data-section-type="blog-post"] .blog-sidebar [style*="background"] {
  border-radius: 20px !important;
}

/* --- Caasi author/info box --- */
[data-section-type="blog-post"] .caasi-author-box {
  border: 1px solid rgba(102, 255, 204, 0.25) !important;
  border-left: 4px solid #66ffcc !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(11, 39, 81, 0.05) !important;
}

/* ============================================================
   CAASI BLOG ARTICLE — FIXES v3
   ============================================================ */

/* --- Volgend artikel knop: centreren --- */
[data-section-type="blog-post"] .article__navigation {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

/* --- IN DIT ARTIKEL (TOC sidebar) — rustig, lichte achtergrond --- */
[data-section-type="blog-post"] .blog-sidebar .card,
[data-section-type="blog-post"] .blog-sidebar .toc-card {
  border-radius: 16px !important;
  border: none !important;
  box-shadow: 0 2px 12px rgba(11, 39, 81, 0.06) !important;
  overflow: hidden !important;
  background: #f7f9fc !important;
}
[data-section-type="blog-post"] .blog-sidebar .card__section--header,
[data-section-type="blog-post"] .blog-sidebar .toc-card__header {
  background: transparent !important;
  border-bottom: 1px solid #e8edf2 !important;
  padding: 16px 20px 12px !important;
}
[data-section-type="blog-post"] .blog-sidebar .card__section--header .card__title,
[data-section-type="blog-post"] .blog-sidebar .toc-card__title {
  color: #4a5e80 !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}
[data-section-type="blog-post"] .blog-sidebar .card__section:not(.card__section--header) {
  padding: 14px 20px 18px !important;
}
[data-section-type="blog-post"] .blog-sidebar .toc-link,
[data-section-type="blog-post"] .blog-sidebar .card a {
  color: #4a5e80 !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
[data-section-type="blog-post"] .blog-sidebar .toc-link:hover,
[data-section-type="blog-post"] .blog-sidebar .card a:hover {
  color: #0b2751 !important;
}
/* TOC nummers rustiger */
[data-section-type="blog-post"] .blog-sidebar .card ol li,
[data-section-type="blog-post"] .blog-sidebar .toc-card ol li {
  font-weight: 400 !important;
  color: #4a5e80 !important;
}

/* --- WORD LID (newsletter sidebar) — afgerond, mint button --- */
[data-section-type="blog-post"] .blog-sidebar .block-newsletter,
[data-section-type="blog-post"] .blog-sidebar [class*="newsletter"] {
  border-radius: 16px !important;
  overflow: hidden !important;
  border: none !important;
  box-shadow: 0 2px 12px rgba(11, 39, 81, 0.06) !important;
}
[data-section-type="blog-post"] .blog-sidebar .block-newsletter .heading,
[data-section-type="blog-post"] .blog-sidebar [class*="newsletter"] .heading {
  font-size: 20px !important;
  font-weight: 700 !important;
}
[data-section-type="blog-post"] .blog-sidebar .block-newsletter .form__submit,
[data-section-type="blog-post"] .blog-sidebar [class*="newsletter"] .form__submit,
[data-section-type="blog-post"] .blog-sidebar .block-newsletter button[type="submit"],
[data-section-type="blog-post"] .blog-sidebar [class*="newsletter"] button[type="submit"] {
  background: #66ffcc !important;
  color: #0b2751 !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  border: none !important;
  padding: 14px 32px !important;
  transition: background 0.25s ease, transform 0.15s ease !important;
}
[data-section-type="blog-post"] .blog-sidebar .block-newsletter .form__submit:hover,
[data-section-type="blog-post"] .blog-sidebar [class*="newsletter"] .form__submit:hover,
[data-section-type="blog-post"] .blog-sidebar .block-newsletter button[type="submit"]:hover,
[data-section-type="blog-post"] .blog-sidebar [class*="newsletter"] button[type="submit"]:hover {
  background: #52e6b5 !important;
  transform: translateY(-1px) !important;
}
[data-section-type="blog-post"] .blog-sidebar .block-newsletter input[type="email"],
[data-section-type="blog-post"] .blog-sidebar [class*="newsletter"] input[type="email"] {
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  padding: 12px 16px !important;
}

/* --- Gerelateerde artikelen --- */
[data-section-type="blog-post"] .related-articles__title {
  color: #0b2751 !important;
  font-weight: 700 !important;
}
[data-section-type="blog-post"] .related-articles .article-item__image-container {
  border-radius: 14px !important;
  overflow: hidden !important;
}
[data-section-type="blog-post"] .related-articles .article-item__title a {
  color: #0b2751 !important;
  font-weight: 600 !important;
}
[data-section-type="blog-post"] .related-articles .article-item__meta-item {
  color: #4a5e80 !important;
}

/* --- Verwijder groene lijnen/borders die niet bedoeld zijn --- */
[data-section-type="blog-post"] .blog-sidebar .card__section {
  border-left: none !important;
}
[data-section-type="blog-post"] .blog-sidebar .card {
  border-left: none !important;
}


/* ============================================================
   CAASI USP BAR STYLING
   ============================================================ */
#shopify-section-template--25138968887631__text_with_icons_KUHhwF {
  background: #eef2f9 !important;
  padding: 36px 0 !important;
}
#shopify-section-template--25138968887631__text_with_icons_KUHhwF .text-with-icons__item {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 28px 22px !important;
  box-shadow: 0 2px 12px rgba(11,39,81,0.05) !important;
  border: 1px solid rgba(102, 255, 204,0.12) !important;
  text-align: center !important;
}
#shopify-section-template--25138968887631__text_with_icons_KUHhwF .text-with-icons__icon {
  color: #0b2751 !important;
  margin-bottom: 14px !important;
}
#shopify-section-template--25138968887631__text_with_icons_KUHhwF .text-with-icons__icon svg {
  width: 34px !important;
  height: 34px !important;
}
#shopify-section-template--25138968887631__text_with_icons_KUHhwF .text-with-icons__title {
  color: #0b2751 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}
#shopify-section-template--25138968887631__text_with_icons_KUHhwF .text-with-icons__content,
#shopify-section-template--25138968887631__text_with_icons_KUHhwF .text-with-icons__content p {
  color: #4a5e80 !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
}
@media (max-width: 749px) {
  #shopify-section-template--25138968887631__text_with_icons_KUHhwF .text-with-icons__item {
    padding: 20px 16px !important;
  }
}

/* ============================================================
   CAASI HOMEPAGE LAYOUT FIXES
   ============================================================ */

/* --- Sectie spacing --- */
#shopify-section-template--25138968887631__caasi_new_arrivals_section {
  padding-bottom: 20px !important;
}
#shopify-section-template--25138968887631__caasi-blog-posts {
  padding-top: 10px !important;
  padding-bottom: 30px !important;
}

/* --- Blog cards wit op licht navy achtergrond --- */
.caasi-blog .caasi-blog__card {
  background: #fff !important;
}

/* --- "Bekijk nieuwe producten" knop: outline stijl zodat ie minder zwaar is --- */
.caasi-na-footer .caasi-na-viewall {
  background: transparent !important;
  color: #0b2751 !important;
  border: 2px solid #0b2751 !important;
}
.caasi-na-footer .caasi-na-viewall:hover {
  background: #0b2751 !important;
  color: #fff !important;
}
.caasi-na-footer .caasi-na-viewall svg {
  stroke: currentColor !important;
}


/* --- Fix grijze balken rond blog sectie --- */
#shopify-section-template--25138968887631__caasi-blog-posts {
  background: #eef2f9 !important;
  margin: 0 !important;
  border: none !important;
}
#shopify-section-template--25138968887631__caasi-blog-posts .section {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}
/* Fix ook de overgang van new arrivals naar blog */
#shopify-section-template--25138968887631__caasi_new_arrivals_section {
  margin-bottom: 0 !important;
  border-bottom: none !important;
}


/* --- Grijze balken kleuren matchen met aangrenzende secties --- */
/* Boven blog: match met new arrivals (wit) */
#shopify-section-template--25138968887631__caasi_new_arrivals_section {
  background: #ffffff !important;
}
/* Onder blog / boven footer: match met blog (licht navy) */
#shopify-section-template--25138968887631__caasi-blog-posts + [id^="shopify-section"],
#shopify-section-sections--25138969674063__footer {
  margin-top: 0 !important;
}

/* ============================================================
   CAASI MOBILE MENU STYLING v2
   ============================================================ */

/* Override CSS vars binnen mobile-menu scope */
.mobile-menu,
.mobile-menu__panel,
.mobile-menu__inner,
#mobile-menu {
  --secondary-background: #0b2751 !important;
  --border-color: rgba(102, 255, 204, 0.12) !important;
  --text-color: #ffffff !important;
  --heading-color: #ffffff !important;
  background: #0b2751 !important;
  color: #ffffff !important;
}

/* Panel achtergrond forceren */
.mobile-menu__panel {
  background: #0b2751 !important;
}

/* Menu sectie padding compacter */
.mobile-menu__section {
  padding: 10px 16px !important;
}

/* Nav items */
.mobile-menu__nav-item {
  margin-bottom: 4px !important;
}

/* Nav links: afgeronde rijen */
.mobile-menu__nav-link {
  padding: 13px 16px !important;
  color: #ffffff !important;
  font-size: 15.5px !important;
  font-weight: 500 !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border-radius: 12px !important;
  border: none !important;
  text-decoration: none !important;
}
.mobile-menu__nav-link:hover,
.mobile-menu__nav-link:active {
  background: rgba(255, 255, 255, 0.12) !important;
}

/* Pijl iconen: mint, kleiner, van de rand af */
.mobile-menu__nav-link .icon,
.mobile-menu__nav-link svg {
  color: #66ffcc !important;
  fill: none !important;
  stroke: #66ffcc !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  margin-right: 2px !important;
}

/* Submenu items */
.mobile-menu__nav-list .mobile-menu__nav-link {
  font-size: 14.5px !important;
  font-weight: 400 !important;
  padding: 11px 16px !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

/* Back button */
.mobile-menu__nav-link[data-action=close-panel] {
  color: #66ffcc !important;
  font-weight: 600 !important;
  background: transparent !important;
  font-size: 14px !important;
}

/* Sectie borders zachter */
.mobile-menu__section:not(:last-child) {
  border-bottom: 1px solid rgba(102, 255, 204, 0.10) !important;
}

/* HULP NODIG blok */
.mobile-menu__section--loose {
  margin: 8px 16px 16px !important;
  padding: 18px 16px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 14px !important;
  border: 1px solid rgba(102, 255, 204, 0.12) !important;
}
.mobile-menu__section-title {
  color: #66ffcc !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 12px !important;
}
.mobile-menu__help-wrapper {
  color: #ffffff !important;
  font-size: 14.5px !important;
  margin-bottom: 8px !important;
}
.mobile-menu__help-wrapper a {
  color: #ffffff !important;
}
.mobile-menu__help-wrapper .icon,
.mobile-menu__help-wrapper svg {
  color: #66ffcc !important;
  fill: #66ffcc !important;
  stroke: none !important;
}

/* Triangle verbergen */
.mobile-menu > .icon--nav-triangle-borderless {
  display: none !important;
}

/* Linker blauwe lijn/sidebar indicator verbergen */
.mobile-menu__panel::before,
.mobile-menu__panel::after {
  display: none !important;
}


/* ============================================================
   CAASI MOBILE MENU — FULLSCREEN FIX
   ============================================================ */

/* Menu fullscreen: dek het hele scherm */
.mobile-menu {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 999 !important;
}
.mobile-menu[aria-hidden="false"] {
  max-height: 100vh !important;
  max-height: 100dvh !important;
  transform: none !important;
}
.mobile-menu__inner {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  border-radius: 0 !important;
}
.mobile-menu__panel {
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
}

/* Pijlen: mint kleur, iets meer padding rechts */
.mobile-menu__nav-link .icon--arrow-right,
.mobile-menu__nav-link > svg:last-child {
  color: #66ffcc !important;
  stroke: #66ffcc !important;
  margin-right: 8px !important;
}

/* Close (X) button: mint */
.header__mobile-nav-toggle .icon--close,
[aria-controls="mobile-menu"] .icon--close,
.mobile-menu ~ .header__mobile-nav-toggle .icon {
  color: #66ffcc !important;
}


/* --- Mobile menu: kruisje boven de lijst, niet over tekst --- */
.mobile-menu__section:first-child {
  padding-top: 50px !important;
}
.header__mobile-nav-toggle[aria-expanded="true"],
.header__mobile-nav .icon-state.is-active {
  position: fixed !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 1000 !important;
}


/* Caasi: Betaalmethoden altijd op 1 rij */
.payment-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  justify-content: center;
}
.payment-list svg {
  width: auto;
  height: 20px;
}
@media (max-width: 749px) {
  .payment-list svg {
    height: 18px;
  }
}

/* Caasi: Content pagina padding op desktop (Over Caasi, FAQ, Verzenden) */
@media (min-width: 750px) {
  [id^="shopify-section-template--28029620584783"] > section > div,
  [id^="shopify-section-template--28029792026959"] > section > div,
  [id^="shopify-section-template--25138969018703"] .faq-section,
  [id^="shopify-section-template--25138969018703"] .rte,
  .page__content .rte,
  .template-page .rte {
    padding-left: 40px;
    padding-right: 40px;
  }
}
}
}

/* ----- SALE BADGE ----- */
/* Alle plekken: collection, product page, recently viewed */
.product-label--on-sale {
  background: #0b2751 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  padding: 5px 12px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  border: none !important;
  box-shadow: none !important;
}

/* ========================================
   CAASI SALE BADGE & PRICE REDESIGN
   Badge: navy pill, white text
   Compare prijs: kleiner, grijs, dunne strikethrough
   Cart savings: mint label
   ======================================== */

/* ----- SALE BADGE ----- */
/* Override de CSS variabele zodat het thema zelf navy gebruikt */
:root {
  --product-on-sale-accent: #0b2751 !important;
  --product-on-sale-accent-rgb: 11, 39, 81 !important;
}

/* Extra zekerheid: hoge specificity override */
.product-label--on-sale,
span.product-label--on-sale,
.product-item__label-list .product-label--on-sale,
.product-meta__label-list .product-label--on-sale,
.product-label.product-label--on-sale {
  background: #0b2751 !important;
  background-color: #0b2751 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  padding: 5px 12px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  border: none !important;
  box-shadow: none !important;
}

/* ----- DOORGESTREEPTE PRIJS ----- */
/* Overal: veel kleiner dan actieprijs, subtiel grijs */
.price-list > .price.price--compare,
.price.price--compare {
  font-size: 1.05em !important;
  font-weight: 400 !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1.5px !important;
  text-decoration-color: #b0b8c4 !important;
  opacity: 0.85;
  vertical-align: baseline;
}

/* Product cards: nog wat compacter */
.product-item .price.price--compare,
.product-item .price-list > .price.price--compare {
  font-size: 0.85em !important;
}

/* Mini-cart & cart page: iets groter leesbaar */
.mini-cart .price.price--compare,
.mini-cart .price-list .price--compare,
.cart .price--compare,
.cart-items .price--compare {
  font-size: 0.9em !important;
}

/* Actieprijs extra benadrukken */
.price.price--highlight {
  font-weight: 800 !important;
  color: #0b2751 !important;
}

/* ----- CART SAVINGS BADGE ----- */
.caasi-savings-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(102, 255, 204, 0.1);
  color: #0b2751;
  border: 1px solid rgba(102, 255, 204, 0.35);
  border-radius: 6px;
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 600;
  margin-top: 6px;
  line-height: 1.3;
  white-space: nowrap;
}
.caasi-savings-badge svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  stroke: #0b2751;
}

/* ========================================
   CAASI PRICE CENTS STYLING
   Centen (achter de komma) op 60% van het euro bedrag,
   iets omhoog gepositioneerd (superscript-achtig)
   ======================================== */
.caasi-cents {
  font-size: 0.6em !important;
  vertical-align: super;
  font-weight: inherit;
  line-height: 1;
}

/* Scrollable secties: prijzen altijd op 1 regel, vaste hoogte */
.product-list--scrollable .product-item__price-list {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: nowrap !important;
  gap: 6px;
  min-height: 32px;
}

/* Doorgestreepte prijs compacter in scrollable secties */
.product-list--scrollable .price--compare {
  white-space: nowrap;
}

/* Caasi aanbevelingen: prijzen consistent */
.caasi-aanbevelingen__price {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: nowrap !important;
  gap: 6px;
  min-height: 28px;
}

/* ========================================
   CAASI SCROLLABLE PRICE CONSISTENCY
   Prijsblokken consistent in horizontale secties
   (Zojuist binnengekomen, Wat anderen kopen, etc.)
   ======================================== */

/* Doorgestreepte prijs verbergen in scrollable secties */
.product-list--scrollable .price--compare {
  display: none !important;
}

/* Doorgestreepte prijs verbergen in Aigen/AI Popup secties (Wat anderen kopen) */
[class*="ai-pop"] .price--compare {
  display: none !important;
}

/* Caasi aanbevelingen: doorgestreepte prijs ook verbergen */
.caasi-aanbevelingen__price-compare {
  display: none !important;
}

/* =========================================================
   CAASI-HYBRIDE-KAART v1
   Hybride productkaart: merk, titel, prijs, levertijd, voorraad

   Let op: dit blok staat bewust achteraan custom.css en gebruikt
   !important, omdat de regel op regel 2504 (.product-item) met
   border: none !important en een border-right als scheidingslijn
   anders wint.
   ========================================================= */

/* Leverbelofte op de kaart --------------------------------- */
.product-item__delivery {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 4px 0 2px;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 500;
  color: #5b6b85;
  min-height: 17px;
}

.product-item__delivery-icon {
  flex-shrink: 0;
}

.product-item--horizontal .product-item__delivery,
.product-item--compact .product-item__delivery {
  display: none;
}

/* Verticaal ritme ------------------------------------------ */
.product-item--vertical .product-item__vendor {
  display: block;
  margin-bottom: 2px;
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: 0.02em;
  opacity: 0.62;
}

.product-item--vertical .product-item__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 8px;
  min-height: 2.7em;
  line-height: 1.35;
}

.product-item--vertical .product-item__price-list {
  margin-bottom: 2px;
}

/* Let op: geen inline-flex hier. Het label bevat losse tekstknopen
   ("Nog ", <span>2</span>, " beschikbaar") en flex gooit de spaties
   daartussen weg, wat "Nog2beschikbaar" oplevert. */
.product-item--vertical .product-item__inventory {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 1.4;
}

/* Losse kaarten in plaats van scheidingslijnen --------------
   De kaarten liggen tegen elkaar aan (flexbox, 25% breed, geen
   gap). Een rand op het element zelf geeft dus dubbele lijnen en
   marge zou de breedteberekening breken. Daarom tekent ::before
   de kaart een paar pixels naar binnen. */
.product-list .product-item--vertical {
  position: relative;
  padding: 14px 16px 16px !important;
  border: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: #fff !important;
}

.product-list .product-item--vertical::before {
  content: '';
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(11, 39, 81, 0.12);
  border-radius: 12px;
  pointer-events: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  z-index: 0;
}

.product-list .product-item--vertical:hover::before,
.product-list .product-item--vertical:focus-within::before {
  border-color: rgba(11, 39, 81, 0.28);
  box-shadow: 0 2px 12px rgba(11, 39, 81, 0.08);
}

.product-list .product-item--vertical > * {
  position: relative;
  z-index: 1;
}

.product-list .product-item--vertical .product-item__info {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.product-list .product-item--vertical .product-item__action-list {
  margin-top: auto;
}

/* Foto's op gelijke schaal --------------------------------- */
.product-item--vertical .product-item__image-wrapper {
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff;
}

.product-item--vertical .product-item__primary-image,
.product-item--vertical .product-item__secondary-image {
  object-fit: contain;
  padding: 6%;
}

/* Terug-op-voorraad knop ------------------------------------
   De eigen knop is nu de basis en altijd zichtbaar. Zodra Klaviyo
   zijn trigger in de container heeft gezet, neemt die het over.
   Voorheen stond de eigen knop op opacity 0, waardoor een falende
   Klaviyo een leeg vak van 42px achterliet. */
.caasi-bis-wrapper .caasi-bis-fallback {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 42px !important;
  line-height: 42px !important;
  padding: 0 !important;
  text-align: center !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.caasi-bis-wrapper:has(.klaviyo-button-container a.klaviyo-bis-trigger) .caasi-bis-fallback {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Mobiel: twee kolommen blijven leesbaar ------------------- */
@media screen and (max-width: 640px) {
  .product-list .product-item--vertical {
    padding: 10px 10px 12px !important;
  }

  .product-list .product-item--vertical::before {
    inset: 4px;
    border-radius: 10px;
  }

  .product-item--vertical .product-item__title {
    font-size: 13px;
  }

  .product-item__delivery {
    font-size: 11px;
  }
}

/* EINDE CAASI-HYBRIDE-KAART v1 */




/* ========================================
   CAASI FIT-CHECK v4 (autoritatief blok)
   Geschreven door scripts/shopify_fit_check_css.py.
   Voeg hier niets met de hand aan toe - pas het script aan en draai opnieuw,
   anders begint het stapelen van voren af aan.
   ======================================== */

.product-meta__liquid .caasi-fit-check,
.caasi-fit-check {
  background: #ffffff !important;
  border: 1px solid #e6ecf2 !important;
  border-radius: 14px !important;
  padding: 18px 20px !important;
  margin: 4px 0 18px !important;
}

.product-meta__liquid .caasi-fit-check .caasi-fit-head,
.caasi-fit-check .caasi-fit-head {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 4px 10px !important;
  margin: 0 0 14px !important;
}
.product-meta__liquid .caasi-fit-check .caasi-fit-title,
.caasi-fit-check .caasi-fit-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #0b2751 !important;
  line-height: 1.3 !important;
}
.product-meta__liquid .caasi-fit-check .caasi-fit-sub,
.caasi-fit-check .caasi-fit-sub {
  font-size: 12.5px !important;
  color: #8a9cb0 !important;
  line-height: 1.4 !important;
}

.product-meta__liquid .caasi-fit-check .caasi-fit-columns,
.caasi-fit-check .caasi-fit-columns {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)) !important;
  gap: 16px 22px !important;
}

.product-meta__liquid .caasi-fit-check h3,
.caasi-fit-check h3 {
  display: inline-block !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  padding: 5px 12px !important;
  border-radius: 8px !important;
  margin: 0 0 10px !important;
  border-top: none !important;
  text-transform: none !important;
}
.product-meta__liquid .caasi-fit-columns > div:first-child h3,
.caasi-fit-columns > div:first-child h3 {
  background: rgba(102, 255, 204, 0.16) !important;
  color: #0b2751 !important;
}
.product-meta__liquid .caasi-fit-columns > div:last-child h3,
.caasi-fit-columns > div:last-child h3 {
  background: rgba(239, 159, 39, 0.14) !important;
  color: #8a5a08 !important;
}

.product-meta__liquid .caasi-fit-check ul,
.caasi-fit-check ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.product-meta__liquid .caasi-fit-check li,
.caasi-fit-check li {
  position: relative !important;
  padding-left: 22px !important;
  margin: 0 0 8px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #3d5a80 !important;
}
.product-meta__liquid .caasi-fit-check li:last-child,
.caasi-fit-check li:last-child {
  margin-bottom: 0 !important;
}

.caasi-fit-columns > div:first-child li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 5px;
  width: 9px;
  height: 5px;
  border-left: 2px solid #66ffcc;
  border-bottom: 2px solid #66ffcc;
  transform: rotate(-45deg);
}
.caasi-fit-columns > div:last-child li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 6px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #c9954a;
  border-right: 2px solid #c9954a;
  transform: rotate(45deg);
}

@media screen and (max-width: 480px) {
  .product-meta__liquid .caasi-fit-check,
  .caasi-fit-check {
    padding: 16px !important;
  }
  .product-meta__liquid .caasi-fit-check .caasi-fit-columns,
  .caasi-fit-check .caasi-fit-columns {
    gap: 14px !important;
  }
}


/* ==========================================================================
   CAASI KOOPBLOK (19-08-2026)
   Leverbelofte compact boven de knop, geruststelling pas eronder,
   plus een meelopende koopbalk zodra de knop uit beeld is.
   Vervangt .caasi-shipping-combined (donkerblauw paneel, markup verwijderd).
   ========================================================================== */

/* --- Leverbelofte, twee regels, direct boven de knop --- */
.caasi-delivery-line {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  padding: 10px 14px;
  background: rgba(102, 255, 204, 0.16);
  border: 1px solid rgba(11, 39, 81, 0.08);
  border-radius: 14px;
}
.caasi-delivery-line__icon { flex-shrink: 0; color: #0b2751; opacity: 0.7; }
.caasi-delivery-line__text { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.caasi-delivery-line__label {
  font-weight: 700; font-size: 0.92em; line-height: 1.3;
  color: #0b2751; min-height: 1.2em;
}
.caasi-delivery-line__countdown {
  font-weight: 600; font-size: 0.78em; line-height: 1.3;
  color: rgba(11, 39, 81, 0.62); min-height: 1.02em;
}

/* --- Geruststelling, pas na de knop --- */
.caasi-assurance {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.caasi-assurance__row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-size: 0.82em;
  line-height: 1.45;
  color: #3f5473;
}
.caasi-assurance__row svg { flex-shrink: 0; margin-top: 1px; color: #0b2751; opacity: 0.45; }
.caasi-assurance__row strong { color: #0b2751; font-weight: 700; }
.caasi-assurance__row--note {
  margin-top: 2px;
  padding-left: 28px;
  font-size: 0.73em;
  line-height: 1.4;
  color: #93a3b8;
}

/* --- Meelopende koopbalk --- */
.caasi-sticky-buy {
  position: fixed;
  left: 0; right: 0; top: 0;
  z-index: 250;
  background: #ffffff;
  border-bottom: 1px solid rgba(11, 39, 81, 0.1);
  box-shadow: 0 8px 20px rgba(11, 39, 81, 0.08);
  transform: translateY(-110%);
  opacity: 0;
  visibility: hidden;
  transition: transform 0.22s ease, opacity 0.18s ease, visibility 0s linear 0.22s;
}
.caasi-sticky-buy.is-visible {
  transform: none;
  opacity: 1;
  visibility: visible;
  transition: transform 0.22s ease, opacity 0.18s ease, visibility 0s;
}
.caasi-sticky-buy__inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center; gap: 12px;
  padding: 8px 20px;
}
.caasi-sticky-buy__img {
  width: 44px; height: 44px; flex-shrink: 0;
  object-fit: contain; border-radius: 8px; background: #fff;
}
.caasi-sticky-buy__text { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.caasi-sticky-buy__title {
  font-weight: 600; font-size: 0.85em; line-height: 1.3; color: #0b2751;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.caasi-sticky-buy__meta { display: flex; align-items: center; gap: 6px; font-size: 0.8em; line-height: 1.3; }
.caasi-sticky-buy__price { font-weight: 700; color: #0b2751; }
.caasi-sticky-buy__sep { color: rgba(11, 39, 81, 0.3); }
.caasi-sticky-buy__delivery { color: rgba(11, 39, 81, 0.6); white-space: nowrap; }
.caasi-sticky-buy__button {
  flex-shrink: 0; border: 0; cursor: pointer;
  border-radius: 999px; padding: 11px 22px;
  font-weight: 700; font-size: 0.85em;
  background: #66ffcc; color: #0b2751 !important;
  transition: filter 0.15s ease;
}
.caasi-sticky-buy__button:hover { filter: brightness(0.94); }
@media screen and (max-width: 768px) {
  .caasi-sticky-buy__inner { padding: 8px 14px; gap: 10px; }
  .caasi-sticky-buy__img { width: 38px; height: 38px; }
  .caasi-sticky-buy__title { font-size: 0.8em; }
  .caasi-sticky-buy__button { padding: 10px 16px; font-size: 0.8em; }
}
@media screen and (max-width: 400px) {
  .caasi-sticky-buy__img { display: none; }
  .caasi-sticky-buy__sep, .caasi-sticky-buy__delivery { display: none; }
}
@media print { .caasi-sticky-buy { display: none; } }


/* --- Correctie 19-08: leverregel en vinkjes vullen de kolom ---
   .product-form__payment-container is display:flex, dus zonder breedte
   krimpen ze naar hun inhoud (312px) terwijl de knop 534px is. */
.product-form__payment-container > .caasi-delivery-line,
.product-form__payment-container > .caasi-assurance {
  flex: 0 0 100%;
  width: 100%;
  box-sizing: border-box;
}

/* --- Correctie 19-08: leesbare kop op de omschrijvingskaart ---
   Regel ~1728 zet een mintpil met !important, regel ~11000 zette witte
   tekst met !important. Achtergrond van de een won, kleur van de ander,
   dus wit op lichtmint. Navy op mint is de leesbare combinatie. */
.product-block-list__item--description .card__title,
.product-block-list__item--description .card__collapsible-button .card__title,
.product-block-list__item--trust .card__title {
  color: #0b2751 !important;
}


/* ==========================================================================
   CAASI KOOPKOLOM RONDE 2 (19-08-2026)
   Labelkolom weg, merk als zichtbare knop, winkelbeoordeling onder de titel.
   ========================================================================== */

/* --- Geen labelkolom meer voor prijs en voorraad ---
   Het thema zet .product-form__info-list op display:table met een
   table-cell van 100px die geen informatie draagt. */
.product-block-list__item--info .product-form__info-list { display: block; }
.product-block-list__item--info .product-form__info-item {
  display: block;
  margin: 0 0 10px;
}
.product-block-list__item--info .product-form__info-content { display: block; width: 100%; }
.product-block-list__item--info .product-form__info-title { display: none; }

/* Hoeveelheid houdt zijn label voor schermlezers, alleen visueel weg */
.product-block-list__item--info .product-form__info-item--quantity {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
}
.product-block-list__item--info .product-form__info-item--quantity .product-form__info-title {
  display: block;
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* --- Merk als zichtbare knop in plaats van onopvallende tekst --- */
.product-meta__reference .caasi-brand-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px 5px 12px;
  border: 1px solid rgba(11, 39, 81, 0.16);
  border-radius: 999px;
  background: #fff;
  text-decoration: none !important;
  line-height: 1.2;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.product-meta__reference .caasi-brand-link:hover {
  border-color: rgba(11, 39, 81, 0.4);
  background: rgba(102, 255, 204, 0.14);
}
.caasi-brand-link__name {
  font-weight: 700;
  color: #0b2751 !important;
  letter-spacing: 0.02em;
}
.caasi-brand-link__cta {
  font-size: 0.82em;
  font-weight: 500;
  color: rgba(11, 39, 81, 0.55) !important;
  text-transform: none;
}
.caasi-brand-link__chevron { color: rgba(11, 39, 81, 0.45); flex-shrink: 0; }
.caasi-brand-link:hover .caasi-brand-link__chevron { color: #0b2751; }

/* --- Winkelbeoordeling onder de titel --- */
.caasi-shop-rating {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  text-decoration: none !important;
  font-size: 0.82em;
  line-height: 1;
}
.caasi-shop-rating[hidden] { display: none; }
.caasi-shop-rating__stars { display: inline-flex; gap: 1px; color: #f5a623; }
.caasi-shop-rating__score { font-weight: 700; color: #0b2751 !important; }
.caasi-shop-rating__count { color: rgba(11, 39, 81, 0.55) !important; }
.caasi-shop-rating:hover .caasi-shop-rating__count { text-decoration: underline; }

/* --- Hulp nodig staat nu onder het koopblok --- */
.product-meta__trust .caasi-contact-hint {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(11, 39, 81, 0.08);
}


/* --- Correctie 19-08: carousel-pijlen nooit afgekapt ---
   Het basisthema zet ze op left/right: -25px, dus half buiten .product-list
   die overflow:hidden heeft. Er stond al een correctie, maar die gold alleen
   tussen 768 en 1350px; op bredere schermen viel hij terug op afgekapt. */
@media screen and (min-width: 768px) {
  .flickity-prev-next-button.previous { left: 8px !important; }
  .flickity-prev-next-button.next { right: 8px !important; }
}


/* --- Prijs per maateenheid, onder de prijs --- */
.caasi-unit-price {
  margin-top: 2px;
  font-size: 0.82em;
  font-weight: 600;
  line-height: 1.3;
  color: rgba(11, 39, 81, 0.55);
}

/* --- Ingekort trust-blok --- */
.product-meta__trust .caasi-trust-regel {
  margin: 8px 0 0;
  font-size: 0.78em;
  line-height: 1.4;
  color: #93a3b8;
}

/* --- Kruimelpad: derde niveau mag niet gaan wikkelen op smal --- */
.breadcrumb__list { flex-wrap: wrap; }


/* --- Geschikt voor: op welke toestellen past dit accessoire --- */
.caasi-fits {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  font-size: 0.82em;
  line-height: 1.4;
}
.caasi-fits__icon { color: #0b2751; flex-shrink: 0; }
.caasi-fits__label { font-weight: 700; color: #0b2751; }
.caasi-fits__list { display: inline-flex; flex-wrap: wrap; gap: 5px; }
.caasi-fits__item {
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(11, 39, 81, 0.06);
  color: #3f5473;
  white-space: nowrap;
}

/* ========================================
   CAASI: COMPACTE KOPBALKEN (03-09-2026)
   Gemeten op 1600x900: logo-balk 80, navigatie 75, USP-balk 59 = 214px
   voordat de pagina begint. Nu ongeveer 64 + 58 + 42 = 164px. De maten
   van het thema zitten in theme.css, vandaar !important.
   ======================================== */
.header--inline {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.nav-bar__item {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.nav-bar .nav-bar__link {
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}
.announcement-bar {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}
.announcement-bar__content {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}
/* categoriepagina: kop en toolbar strakker */
.card__header--tight {
  padding-top: 14px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
.collection__toolbar {
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.collection__toolbar-item {
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}
.collection__products-count {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}
