/** Shopify CDN: Minification failed

Line 701:2 Unexpected "<"
Line 754:0 Unexpected "<"
Line 848:0 Unexpected "<"
Line 934:0 Unexpected "<"
Line 973:0 Unexpected "<"
Line 1003:0 Unexpected "<"
Line 1017:0 Unexpected "<"
Line 1028:0 Unexpected "<"
Line 1061:0 Unexpected "<"
Line 1075:0 Unexpected "<"
... and 13 more hidden warnings

**/
/* === FONT OVERRIDE ===
     Satoshi voor lopende tekst, Clash Grotesk voor koppen (Fontshare).
     Buiten de AURELÉA-blokken (header, footer, cart, Horizon-UI) forceren we
     de body-letter met !important, omdat het thema daar zijn eigen fonts zet.
     BINNEN .ap-block gebeurt dat zonder !important, zodat de blokken zelf
     mogen kiezen: titels, cijfers en CTA's staan daar op --ap-font-display. */
  html, body,
  body *:not(svg):not(svg *):not(.ap-block):not(.ap-block *){
    font-family:var(--ap-font-body) !important;
  }
  /* :where() telt niet mee voor specificiteit, zodat een blokregel als
     `.a-nb-num{font-family:var(--ap-font-display)}` hier nog van wint. */
  .ap-block, .ap-block :where(*:not(svg):not(svg *)){
    font-family:var(--ap-font-body);
  }
  body h1, body h2, body h3, body h4, body h5, body h6,
  body .h1, body .h2, body .h3, body .h4,
  body :is(h1,h2,h3,h4,h5,h6) *:not(svg):not(svg *){
    font-family:var(--ap-font-display) !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
  }

  /* === COLOR PALETTE OVERRIDES === Lynae tokens */
  :root, body{
    --ap-green:#164A33;
    --ap-green-hover:#5FE9A8;
    --ap-green-deep:#0E3322;
    --ap-green-accent:#2FBF7E;
    --ap-green-pill:#5FE9A8;
    --ap-green-tint:#EAFBF2;
    --ap-bg-badge:#E4FAEE;
    --ap-text:#103B2B;
    --ap-text-muted:#5D6A62;
    --ap-star:#2FBF7E;

    /* Horizon palette overrides — primary swap */
    --color-primary:#164A33;
    --color-button:#164A33;
    --color-button-hover:#5FE9A8;
    --color-button-text:#FFFFFF;
    --color-link:#164A33;
    --color-foreground:#103B2B;
    --color-base-text:#103B2B;
    --color-base-accent-1:#164A33;
    --color-base-accent-2:#0E3322;
    --color-base-solid-button-background:#164A33;
    --color-base-solid-button-labels:#FFFFFF;
  }

  /* === BODY BASE === */
  /* `overflow-x:hidden` + `max-width:100vw` op html/body maakt van de pagina een
     scroll-container: dat breekt position:sticky en het touch-scrollen/vegen op
     iOS. `clip` knipt wel af maar maakt géén scroll-container. */
  html, body{overflow-x:clip}
  body{color:#103B2B;background:#FFFFFF}
  body p, body span, body li, body div{color:inherit}
  /* prevent any section from exceeding viewport */
  body section, body .ap-block, body .a-hr, body .a-pl, body .a-tr, body .a-in, body .a-tl, body .a-st, body .a-ba, body .a-rp, body .a-press, body .a-cp, body .a-rv, body .a-fm, body .a-st-row, body .a-bd, body .a-ct{max-width:100vw}

  /* === LINKS & ACCENTS === */
  body a{color:#164A33}
  body a:hover{color:#0E3322}

  /* === BUTTONS === Force primary CTA across site.
     IMPORTANT: scoped tight to actual CTAs — NEVER apply to .button-unstyled
     (used by slideshow-control thumbnails, icon buttons, etc). */
  body button[type="submit"]:not(.button-unstyled):not(.slideshow-control),
  body .shopify-payment-button__button,
  body .product-form__submit,
  body .cart__checkout-button,
  body .button--primary,
  body .button:not(.button-unstyled):not(.slideshow-control):not(.button--secondary):not(.button--tertiary){
    background:#164A33 !important;
    color:#FFFFFF !important;
    border:0 !important;
    border-radius:8px !important;
    font-family:var(--ap-font-body) !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    padding:14px 24px !important;
    transition:background .2s ease !important;
  }
  body button[type="submit"]:not(.button-unstyled):not(.slideshow-control):hover,
  body .shopify-payment-button__button:hover,
  body .product-form__submit:hover,
  body .cart__checkout-button:hover,
  body .button:not(.button-unstyled):not(.slideshow-control):not(.button--secondary):not(.button--tertiary):hover{
    background:#5FE9A8 !important;color:#FFFFFF !important
  }
  /* Explicit reset for slideshow / thumbnail / icon buttons */
  body .button-unstyled,
  body .slideshow-control,
  body .slideshow-controls__thumbnail{
    background:transparent !important;color:inherit !important;padding:0 !important;
    border-radius:8px !important;text-transform:none !important;letter-spacing:0 !important;
    font-weight:inherit !important
  }

  body .button--secondary, body .button--tertiary{
    background:#FFFFFF !important;color:#164A33 !important;border:1px solid #164A33 !important;border-radius:8px !important
  }
  body .button--secondary:hover, body .button--tertiary:hover{background:#EAFBF2 !important}

  /* === VARIANT PICKER (Horizon native) === */
  body variant-picker .variant-option__button-label,
  body .product-form__input--pill input:checked + label,
  body .variant-picker__option-value[aria-checked="true"]{
    background:#EAFBF2 !important;border-color:#2FBF7E !important;color:#0E3322 !important
  }

  /* === PRICE STYLING === */
  body .price__regular .price-item,
  body .product-info__price,
  body .price .price-item--regular{color:#103B2B !important;font-weight:700 !important}
  body .price-item--sale,body .price__sale .price-item{color:#164A33 !important}
  body .price-item--last,body .price-item--compare,body s{color:#5D6A62 !important;text-decoration:line-through}

  /* === STARS (universal) === */
  body .star-rating, body .stars, body [class*="rating"] svg, body .judgeme_caption_link svg,
  body .spr-icon-star, body .spr-icon-star-empty{color:#2FBF7E !important;fill:#2FBF7E !important}

  /* === FORM FIELDS === */
  body input[type="text"], body input[type="email"], body input[type="password"], body input[type="number"], body input[type="tel"],
  body textarea, body select{
    font-family:var(--ap-font-body) !important;
    color:#103B2B !important;
    border:1px solid #E0E0E0 !important;
    border-radius:8px !important;
    background:#FFFFFF !important;
  }
  body input:focus, body textarea:focus, body select:focus{
    border-color:#164A33 !important;outline:none !important;box-shadow:0 0 0 3px rgba(2,131,112,.12) !important
  }

  /* === HEADER === */
  body .header, body .site-header, body header.section-header{background:#FFFFFF !important}
  body .header__heading-link, body .header__nav a, body .header-link, body .nav-link{
    color:#103B2B !important;font-family:var(--ap-font-body) !important;font-weight:500 !important
  }
  body .header__heading-link:hover, body .header__nav a:hover{color:#164A33 !important}
  body .header-icons svg, body .header__icon svg{color:#103B2B !important}

  /* === MENU TYPOGRAPHY === direct property overrides (inline vars beat body-level vars) */
  html body .menu-list,
  html body .menu-list__list,
  html body .menu-list__list-item,
  html body .menu-list__link{
    --menu-top-level-font-family:var(--ap-font-body) !important;
    --menu-top-level-font-weight:500 !important;
    --menu-top-level-font-size:13px !important;
    --menu-top-level-font-size-desktop:13px !important;
    --menu-top-level-font-line-height:1.3 !important;
    --menu-top-level-font-color:#103B2B !important;
    --menu-top-level-font-case:none !important;
    --menu-top-level-font-style:normal !important;
  }

  /* Top-level nav: refined editorial style + animated underline + soft hover pill */
  html body .menu-list__link{
    font-family:var(--ap-font-body) !important;
    font-weight:500 !important;
    font-size:13px !important;
    font-style:normal !important;
    line-height:1.3 !important;
    color:#103B2B !important;
    text-transform:none !important;
    letter-spacing:.02em !important;
    transition:color .25s cubic-bezier(.22,.61,.36,1), background .25s ease !important;
    padding:8px 16px !important;
    margin:0 2px !important;
    border-radius:999px !important;
    text-decoration:none !important;
    position:relative !important;
  }
  @media (min-width:750px){
    html body .menu-list__link{font-size:13px !important}
  }
  html body .menu-list__link::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;bottom:2px !important;
    width:0 !important;height:1.5px !important;
    background:#164A33 !important;border-radius:2px !important;
    transform:translateX(-50%) !important;
    transition:width .3s cubic-bezier(.22,.61,.36,1) !important;
    pointer-events:none !important;
  }
  html body .menu-list__link:hover{
    color:#164A33 !important;
    background:rgba(2,131,112,.06) !important;
  }
  html body .menu-list__link:hover::after,
  html body .menu-list__link--active::after,
  html body .menu-list__link[aria-expanded="true"]::after{
    width:calc(100% - 32px) !important;
  }
  html body .menu-list__link--active,
  html body .menu-list__link[aria-expanded="true"]{color:#164A33 !important;background:rgba(2,131,112,.05) !important}
  html body .menu-list__link-title{padding-inline:0 !important;font-family:inherit !important;font-size:inherit !important;font-weight:inherit !important;color:inherit !important;text-transform:inherit !important}

  /* Header icons (search, account, cart): circular hover backgrounds */
  html body .header-actions__action,
  html body .header__icon,
  html body .header-actions__cart-icon{
    width:38px !important;height:38px !important;
    border-radius:50% !important;
    display:inline-flex !important;align-items:center !important;justify-content:center !important;
    transition:background .25s ease, transform .25s ease !important;
    padding:0 !important;
  }
  html body .header-actions__action:hover,
  html body .header__icon:hover,
  html body .header-actions__cart-icon:hover{
    background:rgba(2,131,112,.08) !important;
    transform:translateY(-1px) !important;
  }
  html body .header-actions__action svg,
  html body .header__icon svg{width:18px !important;height:18px !important;color:#222 !important;transition:color .25s ease !important}
  html body .header-actions__action:hover svg,
  html body .header__icon:hover svg{color:#164A33 !important}

  /* Cart bubble accent — green badge */
  html body .cart-bubble{
    background:#164A33 !important;color:#fff !important;
    min-width:18px !important;height:18px !important;border-radius:999px !important;
    font-size:10px !important;font-weight:700 !important;
    border:2px solid #fff !important;
    box-shadow:0 2px 6px rgba(2,131,112,.3) !important;
  }

  /* Floating header on scroll */
  html body header.section-header,
  html body header[class*="header"]{
    transition:box-shadow .25s ease, backdrop-filter .25s ease !important;
  }
  html body header.section-header.is-scrolled,
  html body header.section-header[data-scrolled="true"]{
    box-shadow:0 1px 0 rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.05) !important;
    backdrop-filter:blur(8px) !important;
    background:rgba(255,255,255,.92) !important;
  }

  /* Logo: subtle hover */
  html body .header__heading-link,
  html body .header__heading{
    transition:opacity .25s ease !important;
  }
  html body .header__heading-link:hover{opacity:.75 !important}

  /* Mega menu / submenu: card-style panel with mint accent */
  html body .menu-list__submenu{
    background:#FFFFFF !important;
    border-top:1px solid rgba(2,131,112,.12) !important;
    box-shadow:0 20px 60px rgba(2,131,112,.08), 0 4px 12px rgba(0,0,0,.04) !important;
    padding-block:32px !important;
    border-radius:0 0 16px 16px !important;
  }
  html body .menu-list__submenu::before{
    content:"" !important;
    position:absolute !important;top:0 !important;left:0 !important;right:0 !important;
    height:2px !important;
    background:linear-gradient(90deg, transparent 0%, #164A33 50%, transparent 100%) !important;
  }
  html body .mega-menu__grid{gap:32px !important;max-width:1180px !important;margin:0 auto !important;padding-inline:24px !important}

  html body .menu-list__submenu a,
  html body .mega-menu a,
  html body .mega-menu-list__link{
    font-family:var(--ap-font-body) !important;
    font-size:13.5px !important;font-weight:500 !important;
    color:#103B2B !important;letter-spacing:.01em !important;
    line-height:1.5 !important;text-decoration:none !important;
    transition:color .2s ease, transform .2s ease !important;
    display:inline-flex !important;align-items:center !important;gap:6px !important;
    padding:6px 0 !important;
  }
  html body .menu-list__submenu a:hover,
  html body .mega-menu a:hover,
  html body .mega-menu-list__link:hover{
    color:#164A33 !important;
    transform:translateX(2px) !important;
  }
  html body .menu-list__submenu a::before,
  html body .mega-menu-list__link::before{
    content:"›" !important;
    display:inline-block !important;
    color:#164A33 !important;font-weight:700 !important;
    opacity:0 !important;width:0 !important;overflow:hidden !important;
    transition:opacity .2s ease, width .2s ease !important;
  }
  html body .menu-list__submenu a:hover::before,
  html body .mega-menu-list__link:hover::before{
    opacity:1 !important;width:12px !important;
  }

  html body .mega-menu-list__heading,
  html body .menu-list__submenu h3,
  html body .menu-list__submenu h4{
    font-family:var(--ap-font-body) !important;
    font-size:10.5px !important;font-weight:700 !important;
    color:#164A33 !important;letter-spacing:.16em !important;
    text-transform:uppercase !important;margin:0 0 12px !important;
    padding-bottom:8px !important;
    border-bottom:1px solid rgba(2,131,112,.15) !important;
  }

  /* === MOBILE DRAWER MENU — editorial premium === */
  /* Drawer container: cream background + subtle dark green accent strip */
  html body .header-drawer,
  html body .menu-drawer-container,
  html body .menu-drawer__navigation,
  html body theme-drawer[id*="header-drawer"] dialog{
    background:#FBFAF7 !important;
    color:#222 !important;
  }
  html body .menu-drawer__menu,
  html body .header-drawer .menu-drawer__menu{
    padding:8px 0 !important;
  }

  /* Mobile menu items — editorial size + green-accent left border on tap */
  html body .menu-drawer__menu-item,
  html body .menu-drawer__menu-item--mainlist{
    font-family:var(--ap-font-body) !important;
    font-size:16px !important;font-weight:500 !important;
    letter-spacing:.005em !important;
    color:#222 !important;
    padding:18px 22px !important;
    border-bottom:1px solid rgba(2,131,112,.08) !important;
    background:transparent !important;
    text-transform:none !important;
    position:relative !important;
    transition:background .25s ease, padding-left .25s ease, color .2s ease !important;
    display:flex !important;align-items:center !important;justify-content:space-between !important;
  }
  html body .menu-drawer__list-item:last-child .menu-drawer__menu-item{border-bottom:0 !important}
  html body .menu-drawer__menu-item::before{
    content:"" !important;
    position:absolute !important;left:0 !important;top:14px !important;bottom:14px !important;
    width:3px !important;background:#164A33 !important;border-radius:0 3px 3px 0 !important;
    opacity:0 !important;transition:opacity .25s ease !important;
  }
  html body .menu-drawer__menu-item:hover,
  html body .menu-drawer__menu-item:focus,
  html body .menu-drawer__menu-item:active,
  html body .menu-drawer__menu-item--active{
    background:rgba(2,131,112,.04) !important;
    color:#164A33 !important;
    padding-left:26px !important;
  }
  html body .menu-drawer__menu-item:hover::before,
  html body .menu-drawer__menu-item:active::before,
  html body .menu-drawer__menu-item--active::before{opacity:1 !important}
  html body .menu-drawer__menu-item-text{font-family:inherit !important;font-size:inherit !important;font-weight:inherit !important;color:inherit !important}

  /* Chevron / icon on each item */
  html body .menu-drawer__menu-item .icon,
  html body .menu-drawer__menu-item svg{
    width:14px !important;height:14px !important;
    stroke:#5D6A62 !important;color:#5D6A62 !important;
    transition:stroke .2s ease, transform .25s cubic-bezier(.22,.61,.36,1) !important;
  }
  html body .menu-drawer__menu-item:hover svg,
  html body .menu-drawer__menu-item--active svg{
    stroke:#164A33 !important;color:#164A33 !important;
    transform:translateX(2px) !important;
  }

  /* Submenu (child list) inside drawer */
  html body .menu-drawer__menu--childlist,
  html body .menu-drawer__menu.has-submenu{
    background:#fff !important;
    padding:4px 0 !important;
  }
  html body .menu-drawer__menu-item--child{
    font-size:14.5px !important;font-weight:500 !important;
    color:#222 !important;padding:14px 22px 14px 36px !important;
    border-bottom:1px solid #F0EFEA !important;
  }
  html body .menu-drawer__menu-item--child:hover{
    color:#164A33 !important;background:#EAFBF2 !important;padding-left:40px !important;
  }

  /* Close button — top right of drawer */
  html body .menu-drawer__close-button,
  html body .header-drawer .close-button{
    background:#fff !important;
    border:1px solid #E5E0D2 !important;
    border-radius:50% !important;
    width:36px !important;height:36px !important;
    display:inline-flex !important;align-items:center !important;justify-content:center !important;
    color:#222 !important;
    box-shadow:0 2px 6px rgba(0,0,0,.04) !important;
    transition:background .2s ease, transform .2s ease !important;
  }
  html body .menu-drawer__close-button:hover{
    background:#EAFBF2 !important;transform:rotate(90deg) !important;
  }
  html body .menu-drawer__close-button svg{width:14px !important;height:14px !important;stroke:#222 !important}

  /* Hamburger toggle button — circle with subtle hover */
  html body .header-drawer summary,
  html body button.header-drawer-button,
  html body .header-drawer .menu-icon-button{
    width:38px !important;height:38px !important;
    border-radius:50% !important;
    background:transparent !important;
    transition:background .25s ease !important;
    display:inline-flex !important;align-items:center !important;justify-content:center !important;
    padding:0 !important;
  }
  html body .header-drawer summary:hover,
  html body .header-drawer summary:active{background:rgba(2,131,112,.08) !important}
  html body .header-drawer-icon svg,
  html body .header-drawer summary svg{width:18px !important;height:18px !important;color:#222 !important}

  /* Drawer header with logo if present */
  html body .menu-drawer__navigation > :first-child{
    padding:14px 18px !important;
    border-bottom:1px solid rgba(2,131,112,.1) !important;
    background:#fff !important;
  }

  /* Accordion arrows */
  html body .menu-drawer__menu-item--mainlist summary::after,
  html body .menu-drawer details > summary::after{
    content:"›" !important;
    color:#5D6A62 !important;
    font-size:18px !important;font-weight:300 !important;
    transition:transform .25s ease, color .2s ease !important;
  }
  html body .menu-drawer details[open] > summary::after{
    transform:rotate(90deg) !important;color:#164A33 !important;
  }

  /* Smooth backdrop blur when drawer opens */
  html body .header-drawer dialog::backdrop,
  html body theme-drawer dialog::backdrop{
    background:rgba(20,30,30,.35) !important;
    backdrop-filter:blur(3px) !important;
  }

  /* Underline hover effect on top-level */
  body .menu-list__list-item:not([slot='overflow']) .menu-list__link{position:relative}
  body .menu-list__list-item:not([slot='overflow']) .menu-list__link::before{
    content:"";position:absolute;left:14px;right:14px;bottom:-2px;height:2px;
    background:#164A33;transform:scaleX(0);transform-origin:left center;
    transition:transform .25s cubic-bezier(.22,.61,.36,1)
  }
  body .menu-list__list-item:not([slot='overflow']) .menu-list__link:hover::before,
  body .menu-list__list-item:not([slot='overflow']) .menu-list__link--active::before{transform:scaleX(1)}

  /* Mega menu / submenu styling: cleaner card look */
  body .menu-list__submenu{
    background:#FFFFFF !important;
    border-top:1px solid #E0E0E0 !important;
    box-shadow:0 16px 48px rgba(0,0,0,.06) !important;
    padding-block:24px !important;
  }
  body .mega-menu__grid{gap:24px !important;max-width:1180px !important;margin:0 auto !important}

  /* Sub-menu links: smaller, lighter */
  body .menu-list__submenu a,
  body .mega-menu a,
  body .mega-menu-list__link{
    font-family:var(--ap-font-body) !important;
    font-size:13px !important;font-weight:500 !important;
    color:#103B2B !important;letter-spacing:.01em !important;
    line-height:1.4 !important;text-decoration:none !important;
    transition:color .2s ease !important
  }
  body .menu-list__submenu a:hover,
  body .mega-menu a:hover,
  body .mega-menu-list__link:hover{color:#164A33 !important}

  /* Sub-menu headings (if mega menu has columns with titles) */
  body .mega-menu-list__heading,
  body .menu-list__submenu h3,
  body .menu-list__submenu h4{
    font-family:var(--ap-font-body) !important;
    font-size:11px !important;font-weight:700 !important;
    color:#164A33 !important;letter-spacing:.12em !important;
    text-transform:uppercase !important;margin:0 0 10px !important
  }

  /* Mobile drawer menu: smaller, cleaner */
  body .menu-list--mobile .menu-list__link{font-size:15px !important;padding-block:14px !important}
  body .menu-list--mobile .menu-list__list-item{border-bottom:1px solid #F0F0F0 !important}

  /* Cart bubble + count: smaller */
  body .cart-bubble, body .cart-bubble__text{font-size:10px !important;font-weight:700 !important}

  /* Announcement bar: dark green background, white text */
  body .announcement-bar, body .header-announcement, body .header-announcements,
  body header-announcements, body section[id*="header_announcements"]{
    background:#0E3322 !important;
    font-size:13px !important;letter-spacing:.04em !important;
    padding-block:11px !important;font-weight:600 !important;
    color:#FFFFFF !important;
  }
  body .announcement-bar *, body .header-announcement *, body .header-announcements *,
  body header-announcements *, body section[id*="header_announcements"] *{
    color:#FFFFFF !important;
    font-family:var(--ap-font-body) !important;
  }
  body .announcement-bar a, body .header-announcement a, body .header-announcements a,
  body header-announcements a, body section[id*="header_announcements"] a{
    color:#FFFFFF !important;text-decoration:none !important;
  }
  body .announcement-bar a:hover, body .header-announcement a:hover,
  body header-announcements a:hover{
    color:#A8D5C8 !important;text-decoration:underline !important;
  }

  /* === FOOTER === */
  body footer.section-footer, body .footer{background:#FFFFFF !important;color:#103B2B !important;border-top:1px solid #E0E0E0 !important}
  body .footer__heading, body .footer h3, body .footer h4{color:#103B2B !important;font-weight:700 !important}
  body .footer a{color:#5D6A62 !important}
  body .footer a:hover{color:#164A33 !important}

  /* === CART DRAWER === */
  body cart-drawer .drawer__inner, body .cart-drawer{background:#FFFFFF !important;color:#103B2B !important}
  body cart-drawer .drawer__heading, body .cart-drawer h2{color:#103B2B !important;font-family:var(--ap-font-body) !important;font-weight:700 !important}
  body .cart-drawer__price, body .cart__price{color:#103B2B !important;font-weight:700 !important}

  /* === BADGES (sale, new, sold-out) === */
  body .badge, body .product__badge{
    background:#E4FAEE !important;color:#2FBF7E !important;
    border:1px solid #5FE9A8 !important;border-radius:999px !important;
    padding:4px 10px !important;font-weight:600 !important;font-size:11px !important;letter-spacing:.04em !important;text-transform:uppercase !important
  }
  body .badge--on-sale, body .product__badge--on-sale{background:#164A33 !important;color:#FFFFFF !important;border-color:#164A33 !important}

  /* === COLLECTION / PRODUCT CARDS === */
  body .product-card, body .card-product, body .product-grid-item{border-radius:8px !important;overflow:hidden}
  body .product-card__title, body .card-product__title{font-family:var(--ap-font-body) !important;font-weight:600 !important;color:#103B2B !important}

  /* === ANNOUNCEMENT BAR === */
  body .announcement-bar, body .header-announcement{background:#0E3322 !important;color:#FFFFFF !important;font-weight:500 !important}
  body .announcement-bar a, body .header-announcement a{color:#FFFFFF !important;text-decoration:underline}

  /* === TYPOGRAPHY HIERARCHY === */
  body h1{font-size:clamp(28px,4vw,40px) !important;line-height:1.05 !important;letter-spacing:0 !important;color:#103B2B !important}
  body h2{font-size:clamp(22px,3vw,32px) !important;line-height:1.15 !important;color:#103B2B !important}
  body h3{font-size:clamp(18px,2vw,22px) !important;line-height:1.25 !important;color:#103B2B !important}
  body p{font-size:16px;line-height:1.5;color:#103B2B}
  @media (max-width:767px){
    body p{font-size:14px;line-height:1.45}
  }

  /* === MISC: dividers, sections, accents === */
  body hr, body .divider{border-color:#E0E0E0 !important;background:#E0E0E0 !important}

  /* Selection */
  body ::selection{background:#EAFBF2;color:#0E3322}

  /* === TYPOGRAPHIC PLAY === italic + weight contrast */
  body em, body i{font-style:italic !important;font-weight:400 !important}
  body strong, body b{font-weight:700 !important}
  /* italic words inside paragraphs get a soft deep-green tint for editorial feel */
  body p em, body li em, body div em, body span em{color:#0E3322 !important}
  /* highlighted bold inside headings stays primary green */
  body h1 strong, body h2 strong, body h3 strong{color:#164A33 !important;font-weight:700 !important}
  /* thin display lines — use class .ap-thin in richtext */
  body .ap-thin{font-weight:300 !important;letter-spacing:.01em !important}

  /* === SOFTER PAGE BACKGROUND option for clean editorial sections === */
  .ap-canvas-cream{background:#FAF8F2 !important}

  /* === HIDE NATIVE PRODUCT FORM ON PDP === Bundle CTA submits the form, so we hide
     the native variant picker, add-to-cart, quantity, accelerated-checkout, sticky bar,
     pickup widget — but keep them in the DOM so /cart/add still works. */
  body .product-details variant-picker,
  body .product-details buy-buttons,
  body .product-details .product-form__buttons,
  body .product-details .product-form__submit,
  body .product-details accelerated-checkout,
  body .product-details shopify-payment-button,
  body .product-details quantity-selector,
  body .product-details .quantity,
  body .product-details .pickup-availability,
  body sticky-add-to-cart{
    position:absolute !important;
    width:1px !important;height:1px !important;
    padding:0 !important;margin:-1px !important;
    overflow:hidden !important;clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;border:0 !important;
    opacity:0 !important;pointer-events:none !important;
  }

  /* === KILL NATIVE HORIZON CART DRAWER === aggressive */
  html body theme-drawer#cart-drawer,
  html body theme-drawer[id="cart-drawer"],
  html body cart-drawer-component,
  html body .cart-drawer,
  html body #shopify-section-cart-drawer-section,
  html body .cart-drawer__dialog,
  html body dialog.cart-drawer__dialog,
  html body dialog#cart-drawer,
  html body dialog[id*="cart-drawer"],
  html body .theme-drawer:has(#cart-drawer),
  html body div[id^="cart-drawer"],
  html body .cart-drawer__content,
  html body .cart-drawer__inner{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
    position:fixed !important;
    z-index:-99999 !important;
    width:0 !important;height:0 !important;
    opacity:0 !important;
    transform:scale(0) translateX(-100vw) !important;
    clip-path:inset(100%) !important;
    overflow:hidden !important;
  }
  /* Kill dialog even when open via top-layer */
  html body dialog[open].theme-drawer__dialog,
  html body dialog[open].cart-drawer__dialog,
  html body dialog#cart-drawer[open]{display:none !important;visibility:hidden !important}

  /* === ENSURE AURELÉA DRAWER ALWAYS CLICKABLE === */
  html body #aurelea-cart.is-open,
  html body #aurelea-cart.is-open *{pointer-events:auto !important}
  html body #aurelea-cart{z-index:999999 !important}

  /* === PDP product-details: kill gap between rating subtitle and benefits === */
  html body .product-details .group-block,
  html body .product-details > div,
  html body [data-testid="product-information-details"] .group-block{
    gap:4px !important;row-gap:4px !important;
  }
  /* Pull benefits up to remove residual gap */
  html body .product-details .a-bn,
  html body .product-details .a-bn-row{margin-top:-12px !important;padding-top:0 !important}
  /* Tight subtitle bottom margin */
  html body .product-details .a-rh .a-rh-sub,
  html body .product-details .a-rh{margin-bottom:0 !important;padding-bottom:0 !important}

  /* === MEDIA GALLERY: 5 thumbnails visible, scrollable, auto-tracks active === */
  body .slideshow-controls__thumbnails-container{width:100% !important;max-width:100% !important;overflow:hidden !important}
  body .slideshow-controls__thumbnails{
    width:100% !important;max-width:100% !important;
    display:flex !important;gap:8px !important;
    overflow-x:auto !important;overflow-y:hidden !important;
    scroll-snap-type:none !important;scroll-behavior:smooth !important;
    -webkit-overflow-scrolling:touch !important;scrollbar-width:none !important;
    padding:2px !important;
  }
  body .slideshow-controls__thumbnails::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important}
  body .slideshow-controls__thumbnails > *,
  body .slideshow-controls__thumbnail{
    flex:0 0 66px !important;
    min-width:66px !important;max-width:66px !important;width:66px !important;
    aspect-ratio:1/1 !important;height:auto !important;
    border-radius:10px !important;overflow:hidden !important;
    scroll-snap-align:none !important;
    border:1px solid rgba(16,59,43,.10) !important;
    background:#fff !important;
    opacity:.62 !important;
    transition:opacity .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease !important;
  }
  body .slideshow-controls__thumbnail img{width:100% !important;height:100% !important;object-fit:cover !important}
  body .slideshow-controls__thumbnails > *:hover,
  body .slideshow-controls__thumbnail:hover{ opacity:.88 !important; }
  body .slideshow-controls__thumbnail[aria-current="true"],
  body .slideshow-controls__thumbnail[data-active="true"],
  body .slideshow-controls__thumbnail--active,
  body .slideshow-controls__thumbnail.is-active{
    opacity:1 !important;
    border-color:var(--ap-green,#164A33) !important;
    box-shadow:0 0 0 1px var(--ap-green,#164A33), 0 3px 10px rgba(22,74,51,.16) !important;
    transform:translateY(-1px) !important;
  }

  @media (max-width: 480px){
    body .slideshow-controls__thumbnails{gap:6px !important}
    body .slideshow-controls__thumbnails > *,
    body .slideshow-controls__thumbnail{
      flex:0 0 56px !important;min-width:56px !important;max-width:56px !important;width:56px !important;border-radius:8px !important;
    }
  }

  /* === AUTO-SCROLL active thumbnail into view === */
  </style>
<script>
(function(){
  function watchThumbs(){
    var track = document.querySelector('.slideshow-controls__thumbnails');
    if(!track){ return; }
    function scrollActive(){
      var active = track.querySelector('[aria-current="true"], .slideshow-controls__thumbnail--active, .slideshow-controls__thumbnail.is-active');
      if(!active){ return; }
      var trackRect = track.getBoundingClientRect();
      var activeRect = active.getBoundingClientRect();
      if(activeRect.left < trackRect.left || activeRect.right > trackRect.right){
        active.scrollIntoView({behavior:'smooth', block:'nearest', inline:'center'});
      }
    }
    var mo = new MutationObserver(function(){ scrollActive(); });
    mo.observe(track, {attributes:true, subtree:true, attributeFilter:['aria-current','class']});
    setTimeout(scrollActive, 200);
  }
  if(document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', watchThumbs); } else { watchThumbs(); }
  window.addEventListener('load', watchThumbs);
})();
</script>
<style>
  /* === continue global styles === */

  /* Style thumbnails uniformly when present */
  body .product-media-gallery__thumbnail:not(.product-media-thumbnail--placeholder){border-radius:8px;overflow:hidden;background:transparent !important}
  body .product-media-gallery__thumbnail img{width:100%;height:100%;object-fit:cover;background:#F1F3EA}
  body .product-media-gallery__thumbnail.is-active{outline:2px solid #164A33;outline-offset:-2px}


  /* === DON'T COLOR VARIANT PICKER BUTTONS GREEN === scope the green button rule */
  body variant-picker button,
  body .variant-picker button,
  body .product-form__input button{
    background:#fff !important;color:#222 !important;
  }
  body variant-picker button[aria-checked="true"],
  body .variant-picker button[aria-checked="true"]{
    background:#EAFBF2 !important;border-color:#2FBF7E !important;color:#0E3322 !important
  }


  /* Variantkiezer verbergen: de bundelkaarten zijn de keuze.
     Blok blijft bestaan omdat Shopify het vereist in product-details. */
  body .product-details variant-picker,
  body .product-details .variant-picker,
  body .shopify-block[id*="variant_picker"]{ display:none !important; }

  /* Oude benefits-lijst verborgen: vervangen door de feature-tags.
     Blok blijft bestaan omdat Shopify het vereist in product-details. */
  body .shopify-block[id*="a_benefits"], body .ap-block.a-bn{ display:none !important; }
</style>

<script>
(function(){
  function scrollActiveThumb(){
    document.querySelectorAll('.slideshow-controls__thumbnails').forEach(function(track){
      var active = track.querySelector('[aria-current="true"], [data-active="true"], .slideshow-controls__thumbnail--active, .slideshow-controls__thumbnail.is-active');
      if(!active) return;
      var tr = track.getBoundingClientRect();
      var ar = active.getBoundingClientRect();
      if(ar.left < tr.left + 4 || ar.right > tr.right - 4){
        var offset = ar.left + ar.width/2 - tr.left - tr.width/2;
        track.scrollBy({left: offset, behavior: 'smooth'});
      }
    });
  }
  function bind(){
    document.querySelectorAll('.slideshow-controls__thumbnails').forEach(function(track){
      if(track.dataset.acdBound) return; track.dataset.acdBound='1';
      new MutationObserver(scrollActiveThumb).observe(track, {attributes:true, subtree:true, attributeFilter:['aria-current','data-active','class']});
    });
    document.querySelectorAll('slideshow-component, slideshow-container, [ref="slideshow"]').forEach(function(slider){
      if(slider.dataset.acdBound) return; slider.dataset.acdBound='1';
      ['slidechange','slideschange','change','transitionend'].forEach(function(ev){
        slider.addEventListener(ev, function(){ setTimeout(scrollActiveThumb, 30); });
      });
    });
    setTimeout(scrollActiveThumb, 200);
  }
  if(document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', bind); } else { bind(); }
  window.addEventListener('load', bind);
  (function(){ var mo=new MutationObserver(bind);
    function start(){ if(document.body) mo.observe(document.body, {childList:true, subtree:true}); }
    if(document.body){ start(); } else { document.addEventListener('DOMContentLoaded', start); } })();
})();
</script>

<style>
  /* ================= DONKERE SECTIES =================
     De globale regels hierboven gaan uit van een lichte achtergrond en zetten
     tekst en <strong> hard op donkergroen. In de donkere secties leverde dat
     donkergroen-op-donkergroen op: koppen waren onzichtbaar. Alles hieronder
     draait dat om, met dezelfde !important-kracht.                          */

  .a-nb, .a-nb *:not(svg):not(svg *),
  .a-fb, .a-fb *:not(svg):not(svg *),
  .a-vs, .a-vs *:not(svg):not(svg *),
  .a-cd, .a-cd *:not(svg):not(svg *){ color:#fff !important; }

  /* accentregel in de kop */
  .a-nb .a-nb-h2 strong,
  .a-fb .a-fb-h2 strong,
  .a-vs .a-vs-h2 strong,
  .a-vs .a-vs-check li strong{ color:var(--ap-green-pill,#5FE9A8) !important; }

  /* secundaire tekst iets gedempt, maar ruim leesbaar */
  .a-nb .a-nb-sub, .a-nb .a-nb-sub p, .a-nb .a-nb-cap, .a-nb .a-nb-note,
  .a-fb .a-fb-sub, .a-fb .a-fb-sub p{ color:rgba(255,255,255,.86) !important; }

  /* cijfers in mint */
  .a-nb .a-nb-num{ color:var(--ap-green-pill,#5FE9A8) !important; }

  /* crème knoppen houden donkere tekst */
  .a-nb .a-nb-btn, .a-vs .a-vs-cta{
    color:var(--ap-green-deep,#0E3322) !important;
    background:var(--ap-bg-cream,#F7F8F1) !important;
  }
  .a-nb .a-nb-btn:hover, .a-vs .a-vs-cta:hover{
    color:var(--ap-bg-cream,#F7F8F1) !important; background:transparent !important;
  }

  /* vergelijkingstabel: linkerkolom donkergroen met witte tekst,
     rechterkolom wit met donkere tekst (contrast > 7:1 aan beide kanten) */
  .a-vs .a-vs-head-ours{ background:var(--ap-green-soft,#1D5240) !important; }
  .a-vs .a-vs-cell-ours{ background:var(--ap-green-soft,#1D5240) !important; }
  .a-vs .a-vs-head-them, .a-vs .a-vs-head-them *:not(svg):not(svg *),
  .a-vs .a-vs-cell-them, .a-vs .a-vs-cell-them *:not(svg):not(svg *){
    color:var(--ap-text,#103B2B) !important;
  }
  .a-vs .a-vs-head-them, .a-vs .a-vs-cell-them{ background:#fff !important; }

  /* ================= CIJFERBALK: groter en strakker ================= */
  .a-nb .a-nb-num{
    font-size:clamp(42px,11vw,52px) !important;
    line-height:1 !important;
    letter-spacing:-.03em !important;
  }
  .a-nb .a-nb-head{ font-size:16.5px !important; line-height:1.3 !important; margin-top:8px !important; }
  .a-nb .a-nb-cap{ font-size:14px !important; line-height:1.4 !important; }
  .a-nb .a-nb-h2{ font-size:clamp(27px,6.4vw,34px) !important; }
  @media (min-width:915px){
    .a-nb .a-nb-num{ font-size:60px !important; }
    .a-nb .a-nb-head{ font-size:17px !important; }
  }
</style>

<style>
  /* ============ 1-OP-1 MET RESILIA ============
     Waarden overgenomen uit hun product-selector.min.css, zodat maten,
     marges en gewichten exact overeenkomen. Desktop eerst, daarna hun
     eigen mobiele override (<=991px).                                    */

  /* sterrenbalk: pill op desktop, kale regel op mobiel */
  .ap-block .a-rh-bar{
    background:#fbfbfb !important; border:none !important;
    padding:8.47px 32px 11px 14.42px !important; border-radius:106.64px !important;
    gap:10.38px !important; font-weight:400 !important;
    font-size:15px !important; line-height:19.74px !important; margin-bottom:16.94px !important;
  }
  /* eyebrow + titel + subkop */
  .ap-block .a-rh-eyebrow{
    font-weight:400 !important; font-size:16.94px !important; line-height:30px !important;
    letter-spacing:0 !important; text-transform:none !important; color:var(--ap-text) !important;
  }
  body .ap-block .a-rh-title{
    font-family:var(--ap-font-display) !important; font-weight:500 !important;
    font-size:28px !important; line-height:1.2 !important; letter-spacing:0 !important;
    text-transform:none !important; color:var(--ap-text) !important; margin:0 0 10px !important;
  }
  .ap-block .a-rh-sub{
    font-size:16.94px !important; line-height:23px !important; margin-bottom:27px !important;
  }
  /* feature tags */
  .ap-block .a-ft-grid{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .ap-block .a-ft-tag{ font-weight:500 !important; font-size:15.81px !important; line-height:19.14px !important; }

  /* voorraadbalk als witte kaart met schaduw */
  .ap-block.a-sb{
    width:100% !important; max-width:100% !important; margin:8px auto 4px !important;
    padding:14px 18px !important; background:#fff !important; border:0 !important;
    border-radius:12px !important; box-shadow:0 2px 8px rgba(0,0,0,.08) !important;
  }
  .ap-block .a-sb-pct{ min-width:75px !important; color:#c93b3b !important; font-size:15px !important;
    font-weight:600 !important; text-align:right !important; }

  /* bundelkaarten */
  .a-bd .a-bd-tier{ border:1px solid var(--ap-border,#E0E0E0) !important; border-radius:10px !important; }
  .a-bd .a-bd-tier.is-active{ border-color:var(--ap-green) !important; }
  .a-bd .a-bd-tier-inner{ padding:16px 24px !important; }
  .a-bd .a-bd-grid{ gap:19px !important; }
  .a-bd .a-bd-tier-price{ font-weight:700 !important; font-size:15.81px !important; line-height:21px !important; }

  /* koopknop */
  .a-bd .a-bd-cta{
    margin-top:15px !important; padding:14px 24px !important; border-radius:4.52px !important;
    height:63px !important; font-family:var(--ap-font-display) !important; font-weight:500 !important;
    font-size:16.94px !important; line-height:18.07px !important; letter-spacing:0 !important;
    text-transform:capitalize !important; box-shadow:none !important;
  }
  .a-bd .a-bd-cta-label,.a-bd .a-bd-cta-price{ font-size:16.94px !important; font-weight:500 !important; }
  .a-bd .a-bd-cta-was{ font-size:15px !important; }

  /* eenmalige aankoop */
  .a-bd .a-bd-once{
    margin:18px auto 0 !important; font-size:16px !important; line-height:1.4 !important;
    text-transform:none !important; text-decoration:underline !important; text-underline-offset:2px !important;
  }

  @media (max-width:991px){
    .ap-block .a-rh-bar{
      background:transparent !important; padding:0 !important; border-radius:0 !important;
      font-size:14px !important; line-height:17.48px !important;
      margin:15.5px 0 14.5px !important;
    }
    .ap-block .a-rh-eyebrow{ font-size:15px !important; line-height:27px !important; }
    body .ap-block .a-rh-title{ font-size:22px !important; }
    .ap-block .a-rh-sub{ font-size:15px !important; line-height:20px !important; margin-bottom:20px !important; }
    .ap-block .a-ft-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .ap-block .a-ft-tag{ font-size:14px !important; line-height:16.94px !important; padding:0 !important; }
    .a-bd .a-bd-tier-inner{ padding:9px 12px !important; }
    .a-bd .a-bd-grid{ gap:17px !important; }
    .a-bd .a-bd-tier-price{ font-size:14px !important; line-height:19px !important; }
    .a-bd .a-bd-cta{
      margin-top:13px !important; border-radius:4px !important; height:56px !important;
      font-size:15px !important; line-height:16px !important;
    }
    .a-bd .a-bd-cta-label,.a-bd .a-bd-cta-price{ font-size:15px !important; }
    .a-bd .a-bd-cta-was{ font-size:13.5px !important; }
    .a-bd .a-bd-once{ margin-top:14px !important; font-size:14px !important; }
  }
</style>

<style>
  /* ====== koptekst buy box: kaal zoals Resilia, geen pill, geen avatars ====== */
  .ap-block .a-rh-bar{
    background:transparent !important; border:0 !important; padding:0 !important;
    border-radius:0 !important; gap:10px !important; margin:0 0 14px !important;
    font-weight:400 !important; font-size:17px !important; line-height:1.25 !important;
  }
  .ap-block .a-rh-bar-stars svg{ width:24px !important; height:24px !important; }
  .ap-block .a-rh-bar-stars{ gap:1px !important; }
  .ap-block .a-rh-bar-txt{ font-size:17px !important; font-weight:400 !important; }
  .ap-block .a-rh-bar-avatars{ display:none !important; }
  .ap-block .a-rh-eyebrow{ margin:0 0 2px !important; }

  /* ====== voorraadbalk: rode vulling met ronde uiteinden en gloed ====== */
  .ap-block .a-sb-track{ height:14px !important; border-radius:99px !important;
    background:#EDEDED !important; overflow:visible !important; }
  .ap-block .a-sb-fill{ height:14px !important; border-radius:99px !important;
    background:#D64545 !important; box-shadow:0 0 10px rgba(214,69,69,.45) !important; }
  .ap-block .a-sb-note{ display:none !important; }

  /* ====== scheidingslijn boven de Subscribe & Save-regel ====== */
  .a-bd .a-bd-ps{ border-top:1px solid rgba(16,59,43,.14) !important;
    padding-top:18px !important; margin-top:22px !important; }
  .a-bd .a-bd-ps-label{ font-size:20px !important; font-weight:700 !important;
    color:var(--ap-green-accent,#2FBF7E) !important; }
  .a-bd .a-bd-ps-price{ font-size:20px !important; font-weight:700 !important;
    color:var(--ap-green-accent,#2FBF7E) !important; }
  .a-bd .a-bd-ps-was{ font-size:18px !important; color:var(--ap-text-soft,#9AA3A0) !important; }
  .a-bd .a-bd-head{ display:none !important; }

  @media (max-width:991px){
    .ap-block .a-rh-bar{ font-size:15.5px !important; margin:14px 0 12px !important; }
    .ap-block .a-rh-bar-txt{ font-size:15.5px !important; }
    .ap-block .a-rh-bar-stars svg{ width:21px !important; height:21px !important; }
    .a-bd .a-bd-ps-label,.a-bd .a-bd-ps-price{ font-size:18px !important; }
    .a-bd .a-bd-ps-was{ font-size:16px !important; }
  }
</style>

<style>
  /* ====== RITME TUSSEN DE SECTIES ======
     Elke sectie had eigen boven- en onderruimte; achter elkaar gaf dat
     dubbele witruimte. Eén schaal voor alles, en aangrenzende secties
     met dezelfde achtergrond raken elkaar zonder gat.                  */
  .ap-block.a-mq{ margin-top:0 !important; margin-bottom:0 !important; }
  .ap-block.a-nb{ padding:34px 0 !important; }
  .ap-block.a-fb{ padding:34px 0 0 !important; }
  .ap-block.a-fc{ padding:34px 0 36px !important; }
  .ap-block.a-tm{ padding:34px 0 !important; }
  .ap-block.a-rs{ padding:34px 0 !important; }
  .ap-block.a-jn{ padding:34px 0 !important; }
  .ap-block.a-vs{ padding:34px 0 !important; }
  .ap-block.a-rf{ padding:34px 0 !important; }
  .ap-block.a-sh{ padding:34px 20px 8px !important; }
  @media (min-width:992px){
    .ap-block.a-nb,.ap-block.a-fc,.ap-block.a-tm,.ap-block.a-rs,
    .ap-block.a-jn,.ap-block.a-vs,.ap-block.a-rf{ padding:56px 0 !important; }
    .ap-block.a-fb{ padding:56px 0 0 !important; }
    .ap-block.a-sh{ padding:56px 20px 10px !important; }
  }

  /* ====== BUY BOX: strakker verticaal ritme ====== */
  .ap-block.a-ft{ margin:14px 0 0 !important; }
  .ap-block.a-sb{ margin:14px auto 0 !important; }
  .a-bd{ margin-top:0 !important; }
  .a-bd .a-bd-ps{ margin-top:18px !important; padding-top:16px !important; }
  .a-bd .a-bd-grid{ padding-top:2px !important; }
</style>

<style>
  /* Horizon zet 48px `gap` op de sectiegrid van de productpagina. Onze secties
     hebben hun eigen padding, dus dat gaf dubbele witruimte tussen elke band. */
  .product-information.section{ row-gap:0 !important; }
  /* alleen onder de buy box blijft er lucht staan */
  .product-information.section > .product-details,
  .product-information.section > [class*="product-details"]{ margin-bottom:34px !important; }

  /* knop in de garantiesectie stond donkergroen op donkergroen */
  .ap-block.a-rf .a-rf-cta,
  .ap-block.a-rf .a-rf-cta:visited,
  .ap-block.a-rf .a-rf-cta:hover{ color:#fff !important; }
</style>

<style>
  /* De buy-boxkolom is een flexkolom met 28px `row-gap` van Horizon. Samen met
     de eigen marges van de blokken gaf dat te veel lucht rond de voorraadbalk. */
  .product-details .layout-panel-flex--column{ row-gap:12px !important; }
  .product-details .ap-block.a-ft{ margin:6px 0 0 !important; }
  .product-details .ap-block.a-sb{ margin:2px auto !important; padding:12px 16px !important; }
  .product-details .ap-block.a-rh{ margin-bottom:0 !important; }
  .product-details .ap-block.a-ac{ margin-top:16px !important; }
  .a-bd{ margin:2px -8px 8px !important; }
</style>

<style>
  /* ====== ÉÉN KOPSCHAAL VOOR ALLE SECTIES ======
     Resilia gebruikt overal 31px op desktop en 26px op mobiel. Bij ons liepen
     de koppen uiteen van 32 tot 36px, wat rommelig oogt bij het scrollen.  */
  .ap-block.a-nb .a-nb-h2, .ap-block.a-rs .a-rs-h2, .ap-block.a-tm .a-tm-h2,
  .ap-block.a-fb .a-fb-h2, .ap-block.a-fc .a-fc-h2, .ap-block.a-jn .a-jn-h2,
  .ap-block.a-vs .a-vs-h2, .ap-block.a-rf .a-rf-h2, .ap-block.a-sh .a-sh-h2{
    font-size:26px !important; line-height:1.23 !important; letter-spacing:-.01em !important;
  }
  /* ondertitels */
  .ap-block.a-nb .a-nb-sub, .ap-block.a-rs .a-rs-sub, .ap-block.a-tm .a-tm-sub,
  .ap-block.a-fb .a-fb-sub, .ap-block.a-fc .a-fc-sub, .ap-block.a-jn .a-jn-txt,
  .ap-block.a-rf .a-rf-txt{ font-size:16px !important; line-height:1.35 !important; }

  /* kaarttekst in de sliders was te klein om prettig te lezen */
  .ap-block.a-rs .a-rs-text{ font-size:15.5px !important; line-height:1.5 !important;
    color:var(--ap-text,#103B2B) !important; opacity:.86; }
  .ap-block.a-rs .a-rs-title{ font-size:20px !important; line-height:1.2 !important; }

  @media (min-width:992px){
    .ap-block.a-nb .a-nb-h2, .ap-block.a-rs .a-rs-h2, .ap-block.a-tm .a-tm-h2,
    .ap-block.a-fb .a-fb-h2, .ap-block.a-fc .a-fc-h2, .ap-block.a-jn .a-jn-h2,
    .ap-block.a-vs .a-vs-h2, .ap-block.a-rf .a-rf-h2, .ap-block.a-sh .a-sh-h2{
      font-size:31px !important; line-height:1.23 !important;
    }
    .ap-block.a-nb .a-nb-sub, .ap-block.a-rs .a-rs-sub, .ap-block.a-tm .a-tm-sub,
    .ap-block.a-fb .a-fb-sub, .ap-block.a-fc .a-fc-sub, .ap-block.a-jn .a-jn-txt,
    .ap-block.a-rf .a-rf-txt{ font-size:17px !important; }
    .ap-block.a-rs .a-rs-text{ font-size:16.5px !important; }
    .ap-block.a-rs .a-rs-title{ font-size:23px !important; }
  }
</style>

<style>
  /* Safari kleurt het gebied achter de statusbalk met de achtergrond van <html>
     zodra je naar boven doortrekt. Boven staat de countdown (#164A33) en de
     footer is #0E3322, dus donkergroen klopt aan beide uiteinden. */
  /* iOS 26 Safari negeert `theme-color` en leest de achtergrondkleur van <body>.
     Daarom staat body op merkgroen en krijgt de inhoudswikkel het wit. Visueel
     verandert er niets; Safari heeft nu wel een groene kleur om mee te tinten. */
  html{ background-color:#164A33; }
  body{ background-color:#164A33; }
  body > .page-wrapper,
  body > .page-wrapper > .content-for-layout,
  main.content-for-layout{ background-color:#fff; }
</style>

<style>
  /* miniaturen uit; de stippen blijven als bediening */
  body .slideshow-controls__thumbnails-container,
  body .slideshow-controls__thumbnails{ display:none !important; }
  /* sticky koopbalk blijft altijd onderaan staan */
  body .a-sa{ position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important;
    transform:none !important; opacity:1 !important; visibility:visible !important; z-index:9998 !important; }
</style>

<style>
  /* minder ruimte tussen de productfoto en de tekst eronder */
  .product-information.section > .media-gallery,
  .product-information.section media-gallery{ margin-bottom:0 !important; padding-bottom:0 !important; }
  .product-details .layout-panel-flex--column > *:first-child{ margin-top:0 !important; }
  .product-details .ap-block.a-rh{ margin-top:2px !important; }
  .product-details .ap-block.a-rh .a-rh-bar{ margin-top:0 !important; }
</style>

<style>
  /* ---- stippen onder de productfoto: grijs, klein, minimalistisch ----
     Let op: `.slideshow-control` is óók de klasse van de pijlknoppen, dus
     altijd binnen `.slideshow-controls__dots` blijven. ---- */
  body .slideshow-controls__dots{ display:flex !important; align-items:center !important;
    justify-content:center !important; gap:7px !important; padding:10px 0 0 !important;
    margin:0 !important; list-style:none !important; }
  body .slideshow-controls__dots li{ width:auto !important; height:auto !important; line-height:0 !important; }
  body .slideshow-controls__dots .slideshow-control{
    width:6px !important; height:6px !important; min-width:0 !important; min-height:0 !important;
    padding:0 !important; margin:0 !important; border:0 !important; border-radius:99px !important;
    background:rgba(16,59,43,.20) !important; box-shadow:none !important; opacity:1 !important;
    transition:background .22s ease, width .22s ease; }
  body .slideshow-controls__dots .slideshow-control svg,
  body .slideshow-controls__dots .slideshow-control .svg-wrapper{ display:none !important; }
  body .slideshow-controls__dots .slideshow-control[aria-current="true"],
  body .slideshow-controls__dots .slideshow-control[aria-selected="true"],
  body .slideshow-controls__dots li[aria-current="true"] .slideshow-control,
  body .slideshow-controls__dots .slideshow-control.is-active{
    width:18px !important; background:rgba(16,59,43,.55) !important; }

  /* ---- header-iconen: dun, rustig, één lijndikte ---- */
  body .header svg{ stroke-width:1.4 !important; }
  body .header .header-actions__link svg,
  body .header button svg{ width:22px !important; height:22px !important; color:var(--ap-text,#103B2B) !important; }
  body .header .menu-drawer__toggle svg,
  body .header [aria-label*="Menu" i] svg{ width:24px !important; height:24px !important; }
  body .header .cart-bubble{ background:var(--ap-green,#164A33) !important; color:#fff !important;
    font-size:10px !important; min-width:16px !important; height:16px !important; }
</style>

<style>
  /* ---- Subscribe & Save-regel exact als Resilia ----
     label links, prijzen rechtsboven, badge daaronder, lijn boven én onder. */
  .a-bd .a-bd-ps{
    display:grid !important; grid-template-columns:1fr auto !important;
    align-items:center !important; column-gap:16px !important; row-gap:10px !important;
    border-top:1px solid rgba(16,59,43,.14) !important;
    border-bottom:1px solid rgba(16,59,43,.14) !important;
    padding:18px 0 !important; margin:18px 0 0 !important;
  }
  .a-bd .a-bd-ps-label{
    grid-column:1 !important; grid-row:1 / span 2 !important; align-self:center !important;
    font-size:21px !important; font-weight:700 !important; line-height:1.15 !important;
    color:var(--ap-green-accent,#2FBF7E) !important;
  }
  .a-bd .a-bd-ps-prices{
    grid-column:2 !important; grid-row:1 !important; justify-self:end !important;
    display:inline-flex !important; align-items:baseline !important; gap:12px !important;
  }
  .a-bd .a-bd-ps-price{ font-size:21px !important; font-weight:700 !important;
    color:var(--ap-green-accent,#2FBF7E) !important; }
  .a-bd .a-bd-ps-was{ font-size:19px !important; font-weight:400 !important;
    color:var(--ap-text,#103B2B) !important; opacity:.75 !important; text-decoration:line-through !important; }
  .a-bd .a-bd-ps-badge{
    grid-column:2 !important; grid-row:2 !important; justify-self:end !important;
    background:var(--ap-green-accent,#2FBF7E) !important; color:#fff !important;
    font-size:13px !important; font-weight:600 !important; letter-spacing:.01em !important;
    padding:9px 14px !important; border-radius:4px !important; line-height:1 !important;
  }
  @media (max-width:420px){
    .a-bd .a-bd-ps{ padding:15px 0 !important; row-gap:8px !important; }
    .a-bd .a-bd-ps-label,.a-bd .a-bd-ps-price{ font-size:18px !important; }
    .a-bd .a-bd-ps-was{ font-size:16px !important; }
    .a-bd .a-bd-ps-badge{ font-size:11.5px !important; padding:8px 11px !important; }
  }
</style>

<style>
  /* stippen én teller onder de productfoto's helemaal weg; vegen blijft werken */
  body .slideshow-controls__dots,
  body media-gallery slideshow-controls{ display:none !important; }
</style>

<style>
  /* ---- Groen tot achter de statusbalk van iPhone ----
     Met `viewport-fit=cover` loopt de pagina door in de veilige zone. De
     countdown-balk krijgt die hoogte er als padding bij, zodat het gebied
     onder de statusbalk dezelfde groene kleur heeft. Dit werkt ongeacht of
     Safari `theme-color` oppakt. */
  .a-cd{
    padding-top:env(safe-area-inset-top,0px) !important;
    padding-left:env(safe-area-inset-left,0px);
    padding-right:env(safe-area-inset-right,0px);
  }
  /* de vaste koopbalk onderaan moet boven de home-indicator blijven */
  body .a-sa{ padding-bottom:env(safe-area-inset-bottom,0px) !important; }
  body cart-drawer-component, body .acd-panel{ padding-bottom:env(safe-area-inset-bottom,0px); }
</style>

<style>
  /* [hidden] werd overruled door onze eigen display-regels: de lege groene
     badge en de lege prijsregel waren even zichtbaar vóór het script draaide. */
  .a-bd [hidden]{ display:none !important; }
  .a-bd .a-bd-ps-price:empty, .a-bd .a-bd-ps-was:empty{ display:none !important; }

  /* ---- Abbonati e risparmia in de kopletter ---- */
  .a-bd .a-bd-ps-label{
    font-family:var(--ap-font-display) !important; font-weight:600 !important;
    letter-spacing:-.01em !important;
  }
  .a-bd .a-bd-ps-price{ font-family:var(--ap-font-display) !important; font-weight:600 !important; }
  .a-bd .a-bd-ps-was{ font-family:var(--ap-font-body) !important; }
  .a-bd .a-bd-ps-badge{ font-family:var(--ap-font-body) !important; font-weight:600 !important; }

  /* ---- sterrenbalk op één regel, zoals Resilia ---- */
  .ap-block .a-rh-bar{
    display:flex !important; flex-wrap:nowrap !important; align-items:center !important;
    gap:9px !important; white-space:nowrap !important;
  }
  .ap-block .a-rh-bar-stars{ display:inline-flex !important; gap:1px !important; flex:0 0 auto !important; }
  .ap-block .a-rh-bar-stars svg{ width:17px !important; height:17px !important; }
  .ap-block .a-rh-bar-txt{
    font-size:15px !important; font-weight:400 !important; line-height:1.2 !important;
    white-space:normal !important; color:var(--ap-text,#103B2B) !important;
  }
  @media (min-width:768px){
    .ap-block .a-rh-bar-stars svg{ width:18px !important; height:18px !important; }
    .ap-block .a-rh-bar-txt{ font-size:16px !important; }
  }

  /* ---- cijferbalk: 2 kolommen op mobiel, rustiger raster ---- */
  .ap-block.a-nb .a-nb-grid{
    display:grid !important; grid-template-columns:1fr 1fr !important;
    column-gap:22px !important; row-gap:0 !important;
  }
  .ap-block.a-nb .a-nb-item{ width:auto !important; padding:18px 0 !important; margin:0 !important;
    border-top:0 !important; }
  .ap-block.a-nb .a-nb-item:nth-child(n+3){ border-top:1px solid rgba(255,255,255,.22) !important; }
  .ap-block.a-nb .a-nb-num{ font-size:clamp(38px,10vw,46px) !important; }
  .ap-block.a-nb .a-nb-head{ font-size:15px !important; margin-top:6px !important; }
  .ap-block.a-nb .a-nb-cap{ font-size:12.5px !important; opacity:.78 !important; }
  @media (min-width:915px){
    .ap-block.a-nb .a-nb-grid{ column-gap:34px !important; }
    .ap-block.a-nb .a-nb-num{ font-size:56px !important; }
    .ap-block.a-nb .a-nb-head{ font-size:16.5px !important; }
    .ap-block.a-nb .a-nb-cap{ font-size:13.5px !important; }
  }
</style>

<style>
  /* voordelen-tags iets dichter op elkaar (2px minder verticale ruimte) */
  .ap-block.a-ft .a-ft-grid{ row-gap:11px !important; }
</style>

<style>
  /* evenveel lucht boven en onder de voorraadbalk */
  .product-details .ap-block.a-sb{ margin:2px auto !important; }
  /* de flexkolom zet er nog 12px `gap` tussen; die halen we er hier af */
  .product-details .a-bd{ margin-top:-12px !important; }
  .product-details .a-bd .a-bd-ps{ margin-top:0 !important; padding-top:16px !important; }
</style>

<style>
  /* producttitel 6px groter (28 -> 34 desktop, 22 -> 28 mobiel) */
  body .ap-block .a-rh-title{ font-size:34px !important; }
  @media (max-width:991px){ body .ap-block .a-rh-title{ font-size:28px !important; } }
</style>

<style>
  /* Abbonati e risparmia: kleiner, en label + badge in de kleur van de koopknop */
  .a-bd .a-bd-ps-label{ font-size:18px !important; color:var(--ap-green,#164A33) !important; }
  .a-bd .a-bd-ps-price{ font-size:18px !important; color:var(--ap-green,#164A33) !important; }
  .a-bd .a-bd-ps-was{ font-size:16px !important; }
  .a-bd .a-bd-ps-badge{ background:var(--ap-green,#164A33) !important; color:#fff !important;
    font-size:12.5px !important; padding:8px 13px !important; }
  @media (max-width:420px){
    .a-bd .a-bd-ps-label,.a-bd .a-bd-ps-price{ font-size:16px !important; }
    .a-bd .a-bd-ps-was{ font-size:14.5px !important; }
    .a-bd .a-bd-ps-badge{ font-size:11px !important; padding:7px 11px !important; }
  }
</style>

<style>
  /* prijs op dezelfde regel als het label, badge eronder en kleiner */
  .a-bd .a-bd-ps{ grid-template-columns:auto 1fr !important; align-items:baseline !important;
    column-gap:14px !important; row-gap:8px !important; }
  .a-bd .a-bd-ps-label{ grid-column:1 !important; grid-row:1 !important; align-self:baseline !important; }
  .a-bd .a-bd-ps-prices{ grid-column:2 !important; grid-row:1 !important; justify-self:end !important;
    align-items:baseline !important; }
  .a-bd .a-bd-ps-badge{ grid-column:1 / -1 !important; grid-row:2 !important; justify-self:end !important;
    font-size:11px !important; padding:6px 10px !important; border-radius:4px !important;
    letter-spacing:.01em !important; }
  @media (max-width:420px){
    .a-bd .a-bd-ps-badge{ font-size:10px !important; padding:5px 9px !important; }
  }
</style>

<style>
  /* sterrenbalk op één regel + gelijke ademruimte onder alle regels van de kop */
  .ap-block .a-rh-bar{ margin:0 0 12px !important; }
  .ap-block .a-rh-bar-txt{ font-size:14px !important; }
  .ap-block .a-rh-bar-stars svg{ width:15px !important; height:15px !important; }
  .ap-block .a-rh-eyebrow{ margin:0 0 12px !important; font-size:15px !important; line-height:1.3 !important; }
  body .ap-block .a-rh-title{ margin:0 0 12px !important; line-height:1.12 !important; }
  .ap-block .a-rh-sub{ margin:0 0 12px !important; line-height:1.5 !important; }
  @media (min-width:768px){
    .ap-block .a-rh-bar-txt{ font-size:15px !important; }
    .ap-block .a-rh-bar-stars svg{ width:16px !important; height:16px !important; }
  }
</style>

<style>
  /* knop in het traject stond donkergroen op donkergroen */
  .ap-block.a-jn .a-jn-cta,
  .ap-block.a-jn .a-jn-cta:visited{ color:#fff !important; }
  .ap-block.a-jn .a-jn-cta:hover{ color:var(--ap-green,#164A33) !important;
    background:transparent !important; box-shadow:0 0 0 2px var(--ap-green,#164A33) inset !important; }

  /* sticky koopbalk in het merkgroen: nodig omdat Safari 26 de kleur van een
     vast element aan de schermrand overneemt, en een witte balk maakte de
     browserbalk weer wit zodra je gescrold had. */
  body .a-sa, body .sticky-add-to-cart__bar{
    background:var(--ap-green,#164A33) !important;
    border-top:0 !important; box-shadow:0 -8px 24px rgba(8,30,22,.18) !important;
  }
  body .a-sa *:not(svg):not(svg *){ color:#fff !important; }
  body .a-sa .a-sa-btn, body .sticky-add-to-cart__bar button[type="submit"]{
    background:var(--ap-bg-cream,#F7F8F1) !important; color:var(--ap-green-deep,#0E3322) !important; }
  body .a-sa .a-sa-btn *{ color:var(--ap-green-deep,#0E3322) !important; }
  body .a-sa s, body .a-sa .a-sa-was{ opacity:.65 !important; }

/* De regel die donkere secties wit maakt stond direct na een losse <style>-tag
   en werd daardoor door de CSS-parser weggegooid: koppen kwamen donkergroen op
   donkergroen. Hier opnieuw, op een plek die wél parseert. De guard hieronder
   vangt de parseerfout van een eventuele voorafgaande tag op. */
.aurelea-css-guard{color:inherit}
.ap-block.a-nb, .ap-block.a-nb *:not(svg):not(svg *),
.ap-block.a-fb, .ap-block.a-fb *:not(svg):not(svg *),
.ap-block.a-vs, .ap-block.a-vs *:not(svg):not(svg *),
.ap-block.a-cd, .ap-block.a-cd *:not(svg):not(svg *){ color:#fff !important; }
.ap-block.a-nb .a-nb-h2 strong,
.ap-block.a-fb .a-fb-h2 strong,
.ap-block.a-vs .a-vs-h2 strong,
.ap-block.a-vs .a-vs-check li strong{ color:var(--ap-green-pill,#5FE9A8) !important; }
.ap-block.a-nb .a-nb-sub, .ap-block.a-nb .a-nb-sub p,
.ap-block.a-nb .a-nb-cap, .ap-block.a-nb .a-nb-note,
.ap-block.a-fb .a-fb-sub, .ap-block.a-fb .a-fb-sub p{ color:rgba(255,255,255,.86) !important; }
.ap-block.a-nb .a-nb-num{ color:var(--ap-green-pill,#5FE9A8) !important; }

/* Knopleesbaarheid. De regel hierboven zet .a-nb-btn en .a-vs-cta op crème —
   bedoeld toen beide op een donkere sectie stonden. Twee gevolgen:
   1) de witte-tekstregel voor donkere secties maakte het label op de crème
      knop óók wit (crème op crème);
   2) de vergelijkingssectie staat nu op wit, dus daar moet de knop juist
      groen zijn in plaats van crème. */
.ap-block.a-nb .a-nb-btn,
.ap-block.a-nb .a-nb-btn *{ color:var(--ap-green-deep,#0E3322) !important; }
.ap-block.a-vs .a-vs-cta,
.ap-block.a-vs .a-vs-cta *{ background:var(--ap-green,#164A33) !important; color:#fff !important; }

/* ── Sectie-aansluiting ─────────────────────────────────────────────
   Geen witruimte tussen twee volle-breedte blokken, en waar twee
   verschillende achtergronden botsen een zachte kleurovergang in
   plaats van een harde rand. */
.ap-block.a-hh, .ap-block.a-ur, .ap-block.a-rq, .ap-block.a-tb,
.ap-block.a-vs, .ap-block.a-rf, .ap-block.a-nb, .ap-block.a-rs,
.ap-block.a-jn, .ap-block.a-sh{
  margin-top:0 !important; margin-bottom:0 !important;
}

/* wit blok na de donkere cijfersectie: bovenaan een zweem groen */
.ap-block.a-hh{
  background:linear-gradient(180deg, #EDF4EF 0, #fff 130px) !important;
}
/* muntgroen blok tussen twee witte: aan beide kanten uitvloeien */
.ap-block.a-ur{
  background:linear-gradient(180deg,
    #fff 0,
    var(--ap-green-tint,#EAFBF2) 70px,
    var(--ap-green-tint,#EAFBF2) calc(100% - 70px),
    #fff 100%) !important;
}
/* donkergroene trust-balk komt uit wit: bovenaan invloeien */
.ap-block.a-tb{
  background:linear-gradient(180deg,
    #DCEFE3 0,
    var(--ap-green,#164A33) 88px,
    var(--ap-green,#164A33) 100%) !important;
}
/* witte vergelijkingssectie na de muntgroene 5-motivi: zachte aanzet */
.ap-block.a-vs{
  background:linear-gradient(180deg, #F2FAF5 0, #fff 110px) !important;
}

/* De 48px tussen de blokken is de row-gap van Horizon's productraster,
   geen marge — daar hielp margin:0 dus niet tegen. */
.product-information.section{ row-gap:0 !important; }
.product-information__grid{ row-gap:0 !important; }

/* ── Kleurovergangen tussen secties (vervangt de eerdere set) ────────
   Elke gekleurde sectie vloeit boven- en onderaan uit naar wit, zodat
   elke naad klopt ongeacht welke buur ernaast komt te staan. Twee
   cremekleurige blokken die aan elkaar grenzen worden als één run
   behandeld: de eerste vloeit in, de laatste vloeit uit. */

/* volgt op de donkergroene cijfersectie: ramp van donker naar wit */
.ap-block.a-hh{
  background:linear-gradient(180deg,
    #0E3322 0, #1C4634 40px, #C9DED2 120px, #EDF4EF 170px, #fff 230px) !important;
}
/* muntgroen blok: aan beide kanten uitvloeien */
.ap-block.a-ur{
  background:linear-gradient(180deg,
    #fff 0, var(--ap-green-tint,#EAFBF2) 80px,
    var(--ap-green-tint,#EAFBF2) calc(100% - 80px), #fff 100%) !important;
}
.ap-block.a-rq{ background:#fff !important; }
/* donkergroene trust-balk: uit wit in, naar wit uit */
.ap-block.a-tb{
  background:linear-gradient(180deg,
    #fff 0, #9FC9B2 46px, var(--ap-green,#164A33) 118px,
    var(--ap-green,#164A33) calc(100% - 118px), #9FC9B2 calc(100% - 46px), #fff 100%) !important;
}
/* 5-motivi staat op munt: zelfde in- en uitvloei */
.ap-block.a-rs{
  background:linear-gradient(180deg,
    #fff 0, var(--ap-green-tint,#EAFBF2) 80px,
    var(--ap-green-tint,#EAFBF2) calc(100% - 80px), #fff 100%) !important;
}
/* vergelijking ligt tussen twee witte randen: vlak wit volstaat */
.ap-block.a-vs{ background:#fff !important; }
/* garantie + delen vormen samen één cremeblok */
.ap-block.a-rf{
  background:linear-gradient(180deg, #fff 0, var(--ap-bg-soft,#F1F3EA) 90px,
    var(--ap-bg-soft,#F1F3EA) 100%) !important;
}
.ap-block.a-sh{
  background:linear-gradient(180deg, var(--ap-bg-soft,#F1F3EA) 0,
    var(--ap-bg-soft,#F1F3EA) calc(100% - 90px), #fff 100%) !important;
}

/* De vergelijkingssectie stond op donkergroen toen de witte-tekstregel voor
   donkere secties werd geschreven. Sinds de ombouw staat hij op wit, dus die
   regel maakte alle labels wit-op-wit. Hier teruggedraaid, met uitzondering
   van de tekst die wél op de groene merkkolom of op de knop staat. */
.ap-block.a-vs, .ap-block.a-vs *:not(svg):not(svg *){
  color:var(--ap-text,#103B2B) !important;
}
.ap-block.a-vs .a-vs-hd-ours, .ap-block.a-vs .a-vs-hd-ours *,
.ap-block.a-vs .a-vs-cta, .ap-block.a-vs .a-vs-cta *{
  color:#fff !important;
}

/* De trust-balk moet juist massief zijn: door de in-/uitvloei zaten de titel
   en de tegels in de vervaagde zone en waren ze nauwelijks leesbaar. */
.ap-block.a-tb{ background:var(--ap-green,#164A33) !important; }

/* De overgang naar wit liep door tot 230px, waardoor de kop van de
   ingrediënten-hero midden in de donkere zone stond. De ramp is nu klaar
   ruim vóór de tekst begint. */
.ap-block.a-hh{
  background:linear-gradient(180deg,
    #0E3322 0, #2A5942 16px, #A8C6B6 42px, #EDF4EF 62px, #fff 84px) !important;
}

/* De overgang hoort onderaan de donkere cijfersectie, niet bovenaan de hero:
   daar begon de kop al op 26px en stond hij dus in de donkere zone. De hero
   is nu gewoon wit; a-nb vloeit aan zijn eigen onderkant uit naar wit, over
   de achtergrondfoto heen. */
.ap-block.a-hh{ background:#fff !important; }
.ap-block.a-nb{ position:relative; padding-bottom:104px !important; }
.ap-block.a-nb::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:132px;
  pointer-events:none; z-index:4;
  background:linear-gradient(180deg,
    rgba(14,51,34,0) 0, rgba(14,51,34,.72) 34%, rgba(14,51,34,.96) 58%, #fff 100%);
}

/* De knop in de cijfersectie viel nog net binnen de uitvloei en kreeg daar een
   donkere sluier over zich heen; extra ruimte zodat hij er ruim boven blijft. */
.ap-block.a-nb{ padding-bottom:156px !important; }
/* ondertitel van de hero iets donkerder: 4,2 was aan de lage kant */
.ap-block.a-hh .a-hh-sub, .ap-block.a-hh .a-hh-sub p{ color:#5F6B63 !important; }

/* Geen kleurovergang onderaan de cijfersectie: strakke rand naar wit. */
.ap-block.a-nb::after{ display:none !important; }
.ap-block.a-nb{ padding-bottom:44px !important; }

/* Laatste leesbaarheidsronde — echte fouten, gemeten op de live pagina:
   - journey-knop: donkergroene tekst op donkergroene vulling (contrast 1,05)
   - garantie-knop: wit op mintgroen (2,37)
   - accenten in mint op een witte achtergrond (1,5 en 2,4) */
.ap-block.a-jn .a-jn-cta, .ap-block.a-jn .a-jn-cta *{
  color:#fff !important; border-color:var(--ap-green,#164A33) !important;
}
.ap-block.a-rf .a-rf-cta, .ap-block.a-rf .a-rf-cta *{
  background:var(--ap-green,#164A33) !important; color:#fff !important;
}
.ap-block.a-vs .a-vs-h2 strong{ color:var(--ap-green,#164A33) !important; }
.ap-block.a-jn .a-jn-hl{ color:var(--ap-green,#164A33) !important; }

/* Buy-box kolom: de flex-container staat op gap:24px en elk blok legt daar nog
   eigen marges bovenop, wat oploopt tot 54px tussen twee blokken. (De eerdere
   regel hiervoor stond direct na een losse <style>-tag en werd nooit toegepast.) */
.product-details .layout-panel-flex--column{ row-gap:10px !important; }
.product-details .ap-block.a-ft{ margin-top:2px !important; }
.product-details .ap-block.a-sb{ margin:0 !important; }
.product-details .ap-block.a-qc{ margin:6px 0 2px !important; }
.product-details .ap-block.a-ac{ margin:8px 0 6px !important; }

/* De garantiefoto is staand (941×1671) en stond op width:100%/height:auto,
   dus 710px hoog. Vaste verhouding met cover, uitsnede op gezicht én flesje.
   object-fit stond bovendien op `fill`, wat het beeld zou uitrekken. */
.ap-block.a-rf .a-rf-img{
  aspect-ratio:1/1 !important;
  height:auto !important;
  object-fit:cover !important;
  object-position:50% 45% !important;
}
@media (min-width:768px){
  .ap-block.a-rf .a-rf-img{ aspect-ratio:5/4 !important; object-position:50% 38% !important; }
}

/* Sticky ATC: env(safe-area-inset-bottom) is 0 zolang de URL-balk van iOS
   uitstaat en springt naar ~34px zodra die bij het scrollen inklapt — vandaar
   dat de balk halverwege dikker werd. De inset wordt nu afgetopt en binnenin
   gecompenseerd, zodat de zichtbare dikte gelijk blijft. */
body .a-sa{ padding-bottom:min(env(safe-area-inset-bottom,0px), 12px) !important; }
body .a-sa .a-sa-inner{
  padding-bottom:calc(10px - min(env(safe-area-inset-bottom,0px), 10px)) !important;
}

/* De media_radius-instelling van de galerij komt niet op het beeld terecht;
   hoofdfoto licht afgerond, miniaturen strak vierkant zoals gevraagd. */
body .product-information__media .product-media,
body .product-information__media .product-media img,
body .product-information__media .media-gallery__slide img{
  border-radius:12px !important;
}
body .product-information__media [class*="thumbnail"],
body .product-information__media [class*="thumbnail"] img{
  border-radius:0 !important;
}

/* De reviewregel plakte tegen de ondertitel; de marge in het blok zelf werd
   overschreven, vandaar hier met meer gewicht. */
body .ap-block.a-rh .a-rh-bar{ margin-top:5px !important; }

/* Miniaturen: iets meer lucht boven de strook, en de actieve krijgt een
   duidelijke donkergroene rand (was #103B2B, nu de merkgroen-tint). */
body .product-information__media .slideshow-controls__thumbnails{ margin-top:3px !important; }
body .product-information__media .slideshow-controls__thumbnail[aria-selected="true"]{
  outline:2px solid var(--ap-green,#164A33) !important;
  outline-offset:-2px !important;
  border-color:var(--ap-green,#164A33) !important;
}

/* Verkoopbalk: de rand die je zag is een box-shadow, geen border. Weg ermee,
   beige vlak met 6px ronding in de plaats. */
body .ap-block.a-sb{
  box-shadow:none !important;
  background:var(--ap-bg-cream,#F7F8F1) !important;
  border-radius:6px !important;
  margin-top:8px !important;
  margin-bottom:2px !important;
}
/* Sterren- en reviewregel: iets meer lucht boven, minder eronder. */
body .ap-block.a-rh .a-rh-bar{ margin-top:10px !important; margin-bottom:0 !important; }
body .ap-block.a-rh{ margin-bottom:2px !important; }

/* Deze twee verloren van de eerdere `.product-details .ap-block...`-regels,
   die een klasse meer wegen. Zelfde gewicht, dus nu winnen ze. */
.product-details .ap-block.a-sb{ margin:8px 0 2px !important; }
.product-details .ap-block.a-rh .a-rh-bar{ margin-top:10px !important; margin-bottom:0 !important; }

/* Verkoopbalk helemaal kaal: geen vlak, geen rand, geen schaduw — alleen de
   voortgangsbalk en het percentage op de pagina zelf. */
body .ap-block.a-sb,
.product-details .ap-block.a-sb{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Miniaturen: geen groene rand meer op de actieve. In plaats daarvan zoomt de
   foto zelf iets in, met een zachte overgang. De tegel houdt overflow:hidden,
   dus het beeld groeit binnen zijn eigen kader. */
body .product-information__media .slideshow-controls__thumbnail,
body .product-information__media .slideshow-controls__thumbnail[aria-selected="true"]{
  outline:none !important;
  border-color:transparent !important;
  overflow:hidden !important;
}
body .product-information__media .slideshow-controls__thumbnail img{
  transition:transform .34s cubic-bezier(.22,1,.28,1) !important;
  transform-origin:center center;
  will-change:transform;
}
body .product-information__media .slideshow-controls__thumbnail[aria-selected="true"] img{
  transform:scale(1.16) !important;
}
@media (prefers-reduced-motion:reduce){
  body .product-information__media .slideshow-controls__thumbnail img{ transition:none !important; }
}

/* De zijpadding op .a-vs zelf wordt overschreven (computed 34px 0px), dus de
   lucht links en rechts van de tabel komt van de binnenwrapper. */
body .ap-block.a-vs .a-vs-inner{ padding-inline:20px !important; }
@media (min-width:768px){
  body .ap-block.a-vs .a-vs-inner{ padding-inline:28px !important; }
}

/* De cadeau-ladder bovenaan de buy box ("REGALI SBLOCCATI") kostte te veel
   ruimte. De cadeaus zijn nu alleen te zien in de gekozen bundelkaart zelf,
   vanaf het tweede formaat. De losse blokken blijven bestaan als databron. */
body .a-bd .a-bd-gifts{ display:none !important; }

/* Het uitgebreide bonusblok onderin de buy box (manuale + piano) herhaalde wat
   nu al in de bundelkaart zelf staat, en kostte veel hoogte. Weg. */
body .a-bd .a-bd-bonus{ display:none !important; }

/* FAQ-uitklappers: lichtgroen vlak, open én dicht, zonder rand. */
body .ap-block.a-ac .a-ac-item,
body .ap-block.a-ac .a-ac-item.is-open,
body .ap-block.a-ac .a-ac-item:hover{
  background:var(--ap-green-tint,#EAFBF2) !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Kop van de 5-motivi sectie groter; de globale kopschaal zette alle secties
   op 26px, wat hier te klein uitpakt voor een kop van twee regels. */
body .ap-block.a-rs .a-rs-h2{
  font-size:30px !important; line-height:1.14 !important; letter-spacing:-.02em !important;
}
@media (min-width:768px){
  body .ap-block.a-rs .a-rs-h2{ font-size:36px !important; }
}
