/*
Theme Name: Tam Fossils — The Specimen
Template: shoptimizer
Version: 1.4.75
Author: 072DESIGN
Description: Maatwerk child theme voor tamfossils.com. Richting "The Specimen": wit, Space Grotesk + Inter, glacier-teal accent, zwart logo.
*/

:root{
  --tf-ink:#121212;
  --tf-ink-2:#3C3C3A;
  --tf-bg:#F6F6F3;
  --tf-white:#FFFFFF;
  --tf-stone:#8C8C86;
  --tf-line:#E7E7E1;
  --tf-glacier:#0E5C5A;
  --tf-glacier-bright:#127A77;
  --tf-glacier-tint:#E5F0EF;
  --tf-amber:#C77F2E;
  --tf-disp:"Space Grotesk",system-ui,sans-serif;
  --tf-sans:"Inter",system-ui,sans-serif;
}

/* Basis-typografie (verfijnd tijdens de bouw) */
body{font-family:var(--tf-sans)}
h1,h2,h3,h4,.shoptimizer-title,.entry-title{font-family:var(--tf-disp);letter-spacing:-.01em}

/* === HOMEPAGE (auto) === */
/* ============================================================
   Tam Fossils — homepage (The Specimen) — child theme CSS
   Gescoped onder .tf-home zodat het de rest van de site niet raakt.
   ============================================================ */

.tf-home{font-family:"Inter",system-ui,sans-serif;color:var(--tf-ink);}
.tf-home .tf-disp{font-family:"Space Grotesk",system-ui,sans-serif;}
.tf-home section{scroll-margin-top:120px;}
.tf-home .tf-wrap{max-width:1240px;margin:0 auto;padding:0 28px;}
.tf-home .tf-eyebrow{font-family:"Space Grotesk",sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--tf-glacier);font-weight:600;}

/* HERO */
.tf-hero{background:var(--tf-white);border-bottom:1px solid var(--tf-line);padding:84px 0 92px;}
.tf-hero .tf-wrap{display:grid;grid-template-columns:1fr 1.12fr;gap:56px;align-items:center;}
.tf-hero h1{font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:clamp(34px,4.4vw,54px);line-height:1.03;letter-spacing:-.03em;margin:14px 0 0;}
.tf-hero h1 .tf-accent{color:var(--tf-glacier);}
.tf-hero p.tf-lead{font-size:17px;color:var(--tf-ink-2);max-width:46ch;margin:18px 0 0;}
.tf-hero .tf-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:28px;}
.tf-hero .tf-figure{position:relative;min-height:440px;border-radius:8px;overflow:hidden;border:1px solid var(--tf-line);background:linear-gradient(160deg,#F1F1ED,#E2E2DC);}
.tf-hero .tf-figure img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.tf-hero .tf-badge{position:absolute;left:22px;bottom:22px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-radius:4px;padding:11px 15px;box-shadow:0 12px 30px -14px rgba(0,0,0,.3);}
.tf-hero .tf-badge .n{font-size:11px;color:var(--tf-stone);letter-spacing:.06em;text-transform:uppercase;}
.tf-hero .tf-badge .v{font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:14px;}

/* knoppen */
.tf-home .tf-btn{font-family:"Inter",sans-serif;font-size:14px;font-weight:600;padding:14px 26px;border-radius:4px;border:1.5px solid transparent;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:8px;text-decoration:none;}
.tf-home .tf-btn-primary{background:var(--tf-ink);color:#fff;}
.tf-home .tf-btn-primary:hover{background:var(--tf-glacier);}
.tf-home .tf-btn-ghost{background:transparent;color:var(--tf-glacier);padding:14px 6px;}
.tf-home .tf-btn-ghost:hover{color:var(--tf-glacier-bright);}
.tf-home .tf-btn-outline{background:transparent;border-color:var(--tf-line);color:var(--tf-ink);}
.tf-home .tf-btn-outline:hover{border-color:var(--tf-ink);}

/* TRUST STRIP (onder hero) */
.tf-trust{background:var(--tf-ink);}
.tf-trust .tf-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-left:0;padding-right:0;}
.tf-trust .t{padding:24px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.08);}
.tf-trust .t:last-child{border-right:none;}
.tf-trust .t .h{font-family:"Space Grotesk",sans-serif;font-size:13px;font-weight:600;color:#fff;margin-bottom:3px;}
.tf-trust .t .d{font-size:12px;color:#a0a09a;}

/* SECTIE-koppen */
.tf-section{padding:88px 0;}
.tf-section.tf-bg{background:var(--tf-bg);}
.tf-sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:30px;}
.tf-sechead h2{font-family:"Space Grotesk",sans-serif;font-size:clamp(24px,3vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:6px 0 0;}

/* CATEGORIE-TEGELS */
.tf-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.tf-cat{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:1/1;border:1px solid var(--tf-line);background:#eee;text-decoration:none;display:block;}
.tf-cat.tf-wide{grid-column:span 2;aspect-ratio:2/1;}
.tf-cat img{width:100%;height:100%;object-fit:cover;transition:.5s;}
.tf-cat:hover img{transform:scale(1.05);}
.tf-cat .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(18,18,18,.78),rgba(18,18,18,.05) 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:18px;}
.tf-cat .nm{font-family:"Space Grotesk",sans-serif;font-size:16px;font-weight:600;color:#fff;}
.tf-cat .ct{font-size:12px;color:rgba(255,255,255,.78);}

/* BRAND STORY */
.tf-story{background:var(--tf-bg);border-top:1px solid var(--tf-line);border-bottom:1px solid var(--tf-line);padding:84px 0;}
.tf-story .tf-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.tf-story .tf-si{min-height:420px;border-radius:8px;overflow:hidden;border:1px solid var(--tf-line);background:#e2e2dc;position:relative;}
.tf-story .tf-si img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.tf-story h2{font-family:"Space Grotesk",sans-serif;font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.12;margin:14px 0 0;}
.tf-story p{color:var(--tf-ink-2);font-size:15.5px;margin:16px 0 0;}
.tf-story ul.tf-pts{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
.tf-story ul.tf-pts li{display:flex;gap:11px;align-items:flex-start;font-size:14px;}
.tf-story ul.tf-pts li::before{content:"\2713";color:var(--tf-glacier);font-weight:700;}

/* NEWSLETTER */
.tf-news{background:var(--tf-ink);color:#fff;padding:64px 0;}
.tf-news .tf-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;}
.tf-news h2{font-family:"Space Grotesk",sans-serif;font-size:28px;font-weight:600;letter-spacing:-.02em;margin:6px 0 0;}
.tf-news p{color:#b6b6b0;max-width:48ch;margin:0;}

/* LATEST FOSSILS — grid-container (basis; mobiele overrides hieronder).
   Homepage-body heeft GEEN .woocommerce-class, dus de shop-kaart-CSS pakt
   dit grid niet. Deze regel moet vóór de media-queries staan zodat die winnen. */
.tf-latest .products{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:20px !important;margin:0 !important;}

@media(max-width:980px){
  .tf-cats{grid-template-columns:repeat(2,1fr);}
  .tf-latest .products{grid-template-columns:repeat(2,1fr) !important;}
}
@media(max-width:820px){
  .tf-hero .tf-wrap,.tf-story .tf-wrap{grid-template-columns:1fr;gap:32px;}
  .tf-hero{padding:48px 0;}
  .tf-trust .tf-wrap{grid-template-columns:repeat(3,1fr);}
  .tf-trust .t{padding:18px 6px;}
  .tf-trust .t .h{font-size:12px;}
  .tf-trust .t .d{font-size:11px;}
  .tf-section,.tf-story{padding:56px 0;}
}
@media(max-width:560px){
  .tf-cats,.tf-latest .products{grid-template-columns:1fr !important;}
  .tf-cat.tf-wide{grid-column:span 1;aspect-ratio:1/1;}
}

/* Homepage: geen paginatitel/entry-header tonen */
body.home .entry-title,
body.home header.entry-header,
body.home .page-header,
body.home .shop-page-title,
body.home .shoptimizer-breadcrumb,
body.home .woocommerce-breadcrumb{display:none !important;}
body.home .tf-home{margin-top:0 !important;}

/* Homepage full-bleed: container vol laten lopen, sectie-banden edge-to-edge */
body.home .col-full:has(> .content-area){max-width:100% !important;padding-left:0 !important;padding-right:0 !important;}
body.home .content-area,body.home .site-main,body.home .entry-content,body.home article.page{max-width:100% !important;width:100% !important;}
body.home .tf-home.has-global-padding{padding-left:0 !important;padding-right:0 !important;}
body.home .tf-home > *{max-width:100% !important;}

/* Sectie-ritme: verhaal wit (was grijs) */
body.home .tf-story{background:#fff !important;}

/* Footer wit: dunne bovenrand + nette betaalchips + copyright-scheiding */
.site-footer,.footer-widgets{border-top:1px solid var(--tf-line);}
.site-footer .tf-pay{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;}
.site-footer .tf-pay span{display:none;} /* fallback */
.site-footer .copyright,.site-info{border-top:1px solid var(--tf-line);}

/* Nieuwsbrief */
.tf-news .tf-news-form { margin: 0 auto; width: min(520px,100%); }
.tf-news .mailpoet_form { margin: 0; padding: 0 !important; }
.tf-news .mailpoet_form > * { margin-top: 0 !important; }
.tf-news .mailpoet_form_columns,
.tf-news .mailpoet_column_with_background { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.tf-news .mailpoet_paragraph { margin: 0 0 12px !important; flex: 1; min-width: 220px; }
.tf-news .mailpoet_paragraph:last-child { margin-bottom: 0 !important; }
.tf-news .mailpoet_text,
.tf-news .mailpoet_email,
.tf-news input[type=text],
.tf-news input[type=email] { width: 100%; height: 48px; background: rgba(255,255,255,.08); border: 1.5px solid rgba(255,255,255,.18); border-radius: 4px; padding: 0 16px; color: #fff; font-family: "Inter",sans-serif; font-size: 14px; }
.tf-news input::placeholder { color: #8a8a84; }
.tf-news input.mailpoet_submit,
.tf-news .mailpoet_submit input { background: #0E5C5A !important; color: #fff !important; border: none !important; border-radius: 4px !important; height: 48px !important; padding: 0 26px !important; font-family: "Inter",sans-serif !important; font-weight: 600 !important; font-size: 14px; cursor: pointer; }
.tf-news input.mailpoet_submit:hover,
.tf-news .mailpoet_submit input:hover { background: #127A77 !important; }
.tf-news .mailpoet-heading,
.tf-news .mailpoet_form_paragraph:first-of-type { display: none !important; }
.tf-news .mailpoet_spacer { display: none !important; }
.tf-news .mailpoet_validate_success { color: #fff !important; }

/* === FIXES: stray borders weg + nieuwsbrief-form dichter op tekst === */
/* Secties scheiden op achtergrondkleur, niet op losse lijnen */
body.home .tf-hero{border-bottom:none !important;}
body.home .tf-story{border-top:none !important;border-bottom:none !important;}
body.home .site-footer,body.home .footer-widgets,body.home .site-info,body.home .copyright{border-top:none !important;}

/* === RONDE: button-underline, categorie volledig beeld, productkaarten, Lucide-iconen === */
.tf-home .tf-btn{text-decoration:none !important;}

/* Categorie-tegels: volledig beeld (3:2 = bronfoto-ratio), uniform */
body.home .tf-cat{aspect-ratio:3/2;}
body.home .tf-cat.tf-wide{grid-column:auto;aspect-ratio:3/2;}

/* Trust-strip Lucide-iconen */
.tf-trust .tf-ic{display:inline-flex;margin-bottom:9px;color:var(--tf-glacier-bright);}
.tf-trust .tf-ic svg{width:24px;height:24px;}

/* === EYEBROW als glacier-badge (wit op groen) === */
.tf-home .tf-eyebrow{display:inline-block;background:var(--tf-glacier);color:#fff !important;padding:6px 12px;border-radius:3px;letter-spacing:.14em;}
.tf-news .tf-eyebrow{background:var(--tf-glacier-bright);}

/* === CATEGORIEEN ALS CAROUSEL (scroll-snap, grote tegels, swipebaar) === */
body.home .tf-cats{display:flex !important;grid-template-columns:none !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding:4px 0 18px;scroll-behavior:smooth;}
body.home .tf-cats::-webkit-scrollbar{height:6px;}
body.home .tf-cats::-webkit-scrollbar-track{background:transparent;}
body.home .tf-cats::-webkit-scrollbar-thumb{background:#d8d8d1;border-radius:3px;}
body.home .tf-cat,body.home .tf-cat.tf-wide{flex:0 0 380px;grid-column:auto;scroll-snap-align:start;aspect-ratio:3/2;}
@media(max-width:768px){body.home .tf-cat,body.home .tf-cat.tf-wide{flex:0 0 80%;}}

/* === PRODUCTKAARTEN: natuurlijke volgorde herstellen (native flow) === */
.tf-latest ul.products li.product{display:block !important;}
.tf-latest li.product .product__categories{margin:15px 16px 5px !important;}
.tf-latest li.product .price{margin:0 16px 2px !important;}
.tf-latest li.product .add_to_cart_button,.tf-latest li.product a.button{margin:8px 16px 16px !important;}

/* === CAROUSEL 2-up + pijlen === */
body.home .tf-cats-wrap{position:relative;}
body.home .tf-cat,body.home .tf-cat.tf-wide{flex:0 0 calc(50% - 9px);}
@media(max-width:768px){body.home .tf-cat,body.home .tf-cat.tf-wide{flex:0 0 86%;}}
.tf-caro-btn{position:absolute;top:calc(50% - 9px);transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--tf-line);box-shadow:0 8px 22px -8px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--tf-ink);transition:.2s;padding:0;}
.tf-caro-btn:hover{background:var(--tf-glacier);color:#fff;border-color:var(--tf-glacier);}
.tf-caro-btn svg{width:22px;height:22px;}
.tf-caro-prev{left:-16px;}
.tf-caro-next{right:-16px;}
@media(max-width:768px){.tf-caro-btn{display:none;}}

/* === PRODUCTKAART: volgorde + uitlijning forceren === */
.tf-latest .woocommerce-card__header{display:flex !important;flex-direction:column !important;align-items:flex-start !important;padding:15px 16px 16px !important;}
.tf-latest .woocommerce-card__header > *{margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;width:auto !important;text-align:left !important;}
.tf-latest .woocommerce-card__header .product__categories{order:1;margin:0 0 5px !important;}
.tf-latest .woocommerce-card__header .woocommerce-loop-product__title{order:2;margin:0 0 8px !important;}
.tf-latest .woocommerce-card__header .price{order:3;margin:0 !important;}
.tf-latest .woocommerce-card__header a.button,.tf-latest .woocommerce-card__header .add_to_cart_button{order:4;margin:10px 0 0 !important;}
.tf-latest .woocommerce-card__header .screen-reader-text{order:5;}

/* === FIX: topbalk-woordafstand (selector zonder .topbar-ancestor) === */
.tf-topbar-usps{display:flex !important;justify-content:center;align-items:center;gap:8px 28px;flex-wrap:wrap;}
.tf-topbar-usps .u{display:inline-flex;align-items:center;}

/* === FIX: add-to-cart in de flow houden; Shoptimizer zet hem absolute waardoor hij op hover door de prijs loopt === */
.tf-latest .woocommerce-card__header a.button,
.tf-latest .woocommerce-card__header .add_to_cart_button{position:static !important;transform:none !important;opacity:1 !important;visibility:visible !important;top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;}
.tf-latest li.product:hover .woocommerce-card__header a.button{transform:none !important;}

/* ============================================================
   SHOP / ARCHIVE — productkaarten
   Scoped op body.woocommerce + body.tax-product_cat
   ============================================================ */

/* Product grid — CSS grid */
body.woocommerce ul.products,
body.tax-product_cat ul.products {
    display: grid !important;
    grid-template-columns: repeat(3,1fr) !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
@media(max-width:900px){
    body.woocommerce ul.products,
    body.tax-product_cat ul.products{grid-template-columns:repeat(2,1fr) !important;}
}
@media(max-width:560px){
    body.woocommerce ul.products,
    body.tax-product_cat ul.products{grid-template-columns:1fr !important;}
}

/* Card */
body.woocommerce ul.products li.product,
body.tax-product_cat ul.products li.product {
    background: #F4F3EB;
    border: 1px solid #E7E7E1;
    border-radius: 6px;
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: auto !important;
    display: flex !important;
    flex-direction: column !important;
}
body.woocommerce ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover {
    box-shadow: 0 16px 38px -22px rgba(0,0,0,.4);
    transform: translateY(-3px);
}

/* Afbeeldingszone — vaste 3:2 verhouding */
body.woocommerce ul.products li.product .woocommerce-image__wrapper,
body.tax-product_cat ul.products li.product .woocommerce-image__wrapper {
    display: block;
    aspect-ratio: 3/2;
    overflow: hidden;
    background: #F6F6F3;
    position: relative;
    flex-shrink: 0;
}
body.woocommerce ul.products li.product .woocommerce-image__wrapper a,
body.tax-product_cat ul.products li.product .woocommerce-image__wrapper a {
    display: block;
    width: 100%;
    height: 100%;
}
body.woocommerce ul.products li.product .shoptimizer-plp-carousel-container,
body.woocommerce ul.products li.product .shoptimizer-plp-image-wrapper,
body.tax-product_cat ul.products li.product .shoptimizer-plp-carousel-container,
body.tax-product_cat ul.products li.product .shoptimizer-plp-image-wrapper {
    width: 100%;
    height: 100%;
}
body.woocommerce ul.products li.product .shoptimizer-plp-image-wrapper img,
body.tax-product_cat ul.products li.product .shoptimizer-plp-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    padding: 0 !important;
    transition: transform .5s;
}
body.woocommerce ul.products li.product:hover .shoptimizer-plp-image-wrapper img,
body.tax-product_cat ul.products li.product:hover .shoptimizer-plp-image-wrapper img {
    transform: scale(1.04);
}

/* Card tekst-zone */
body.woocommerce ul.products li.product .woocommerce-card__header,
body.tax-product_cat ul.products li.product .woocommerce-card__header {
    padding: 14px 16px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1;
}

/* Titel — klein museum-label */
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title {
    font-family: Inter, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: #121212 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    line-height: 1.45 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
body.woocommerce ul.products li.product .woocommerce-loop-product__title a,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title a {
    color: #121212 !important;
    text-decoration: none !important;
}

/* Prijs */
body.woocommerce ul.products li.product .price,
body.tax-product_cat ul.products li.product .price {
    font-family: Inter, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #3C3C3A !important;
    letter-spacing: 0 !important;
    margin: 0 0 14px !important;
    line-height: 1 !important;
}

/* Add-to-cart button — outline, vol-breed */
body.woocommerce ul.products li.product a.button,
body.tax-product_cat ul.products li.product a.button {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    color: #121212 !important;
    border: 1.5px solid #121212 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Inter, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 16px !important;
    border-radius: 4px !important;
    margin: auto 0 0 !important;
    box-sizing: border-box !important;
    transition: background .2s, color .2s;
    letter-spacing: .02em;
}
body.woocommerce ul.products li.product a.button:hover,
body.tax-product_cat ul.products li.product a.button:hover {
    background: #121212 !important;
    color: #fff !important;
}

/* === AWL labels: rechtsboven, The Specimen-stijl === */

/* Container van linksboven naar rechtsboven */
.woocommerce-image__wrapper .advanced-woo-labels {
    left: auto !important;
    right: 0 !important;
    top: 0 !important;
    justify-content: flex-end !important;
}

/* Base label — reset inline rommel */
.awl-product-label .awl-label-text {
    font-family: Inter, sans-serif !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    padding: 5px 9px !important;
    border-radius: 0 0 0 4px !important;
    line-height: 1.2 !important;
    color: #fff !important;
}

/* NEW — glacier */
.awl-label-id-1177 .awl-label-text {
    background: #0E5C5A !important;
}

/* SOLD — rood (Ronald-feedback 2026-06-25) */
.awl-label-id-1206 .awl-label-text {
    background: #C0392B !important;
}

/* === HOMEPAGE .tf-latest — zelfde kaart-stijl als shop/archive === */
.tf-latest ul.products li.product {
    background: #fff !important;
    border: 1px solid #E7E7E1 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: auto !important;
    display: flex !important;
    flex-direction: column !important;
    transition: box-shadow .2s, transform .2s;
}
.tf-latest ul.products li.product:hover {
    box-shadow: 0 16px 38px -22px rgba(0,0,0,.4);
    transform: translateY(-3px);
}

/* Afbeelding rand-tot-rand, 3:2 */
.tf-latest ul.products li.product .woocommerce-image__wrapper {
    display: block !important;
    aspect-ratio: 3/2 !important;
    overflow: hidden !important;
    background: #F6F6F3 !important;
    position: relative !important;
    flex-shrink: 0 !important;
}
.tf-latest ul.products li.product .woocommerce-image__wrapper a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
.tf-latest ul.products li.product .shoptimizer-plp-carousel-container,
.tf-latest ul.products li.product .shoptimizer-plp-image-wrapper {
    width: 100% !important;
    height: 100% !important;
}
.tf-latest ul.products li.product .shoptimizer-plp-image-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    padding: 0 !important;
    transition: transform .5s;
}
.tf-latest ul.products li.product:hover .shoptimizer-plp-image-wrapper img {
    transform: scale(1.04);
}

/* Card header */
.tf-latest ul.products li.product .woocommerce-card__header {
    padding: 14px 16px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

/* Titel als specimen-label */
.tf-latest ul.products li.product .woocommerce-loop-product__title {
    font-family: "Inter", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: #121212 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    line-height: 1.45 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.tf-latest ul.products li.product .woocommerce-loop-product__title a {
    color: #121212 !important;
    text-decoration: none !important;
}

/* Prijs */
.tf-latest ul.products li.product .price {
    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #3C3C3A !important;
    letter-spacing: 0 !important;
    margin: 0 0 10px !important;
    line-height: 1 !important;
}

/* Button outline, gelijk met tekst */
.tf-latest ul.products li.product a.button,
.tf-latest ul.products li.product .add_to_cart_button {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    color: #121212 !important;
    border: 1.5px solid #121212 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: "Inter", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 16px !important;
    border-radius: 4px !important;
    margin: auto 0 0 !important;
    box-sizing: border-box !important;
    transition: background .2s, color .2s;
    letter-spacing: .02em;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
}
.tf-latest ul.products li.product a.button:hover {
    background: #121212 !important;
    color: #fff !important;
}

/* AWL labels rechtsboven */
.tf-latest .woocommerce-image__wrapper .advanced-woo-labels {
    left: auto !important;
    right: 0 !important;
    top: 0 !important;
    justify-content: flex-end !important;
}

/* ============================================================
   CUSTOM FOOTER — Variant B
   ============================================================ */

.tf-site-footer {
	background: #121212;
	font-family: "Inter", sans-serif;
	color: #8C8C86;
}

/* Shoptimizer footer widget area verbergen */
.site-footer,
.copyright { display: none !important; }

.tf-footer-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}

/* Top zone */
.tf-footer-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 52px 0 44px;
}

.tf-footer-name {
	display: block;
	font-family: "Space Grotesk", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 12px;
}

.tf-footer-tagline {
	font-size: 13px;
	line-height: 1.65;
	color: #8C8C86;
	max-width: 280px;
}

.tf-footer-contact {
	text-align: right;
}

.tf-footer-email {
	display: block;
	font-size: 15px;
	font-weight: 500;
	color: #0E5C5A;
	text-decoration: none;
	margin-bottom: 8px;
	transition: color .2s;
}

.tf-footer-email:hover {
	color: #127A77;
}

.tf-footer-ship {
	font-size: 12px;
	color: #4A4A47;
	margin-bottom: 16px;
}

.tf-footer-social {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}

.tf-footer-social-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 4px;
	color: #8C8C86;
	text-decoration: none;
	transition: border-color .15s, color .15s;
}

.tf-footer-social-btn:hover {
	border-color: #0E5C5A;
	color: #0E5C5A;
}

.tf-footer-divider {
	border: none;
	margin: 0;
}

/* Links zone */
.tf-footer-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 40px;
	padding: 36px 0;
}

.tf-footer-col-head {
	font-family: "Inter", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 16px;
}

.tf-footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.tf-footer-col ul li {
	margin-bottom: 10px;
}

.tf-footer-col ul li a {
	font-size: 13px;
	color: #8C8C86;
	text-decoration: none;
	transition: color .15s;
}

.tf-footer-col ul li a:hover {
	color: #0E5C5A;
}

/* Bottom bar */
.tf-footer-bottom {
	padding: 20px 0 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.tf-footer-copy {
	font-size: 12px;
	color: #4A4A47;
}

/* Payment icons — mini card frames */
.tf-footer-payment {
	display: flex;
	gap: 6px;
	align-items: center;
}

.tf-pay-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 28px;
	background: #e0dfd2;
	border-radius: 4px;
	padding: 3px 4px;
	overflow: hidden;
}

.tf-pay-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Responsive */
@media (max-width: 768px) {
	.tf-footer-wrap { padding: 0 20px; }
	.tf-footer-top { flex-direction: column; gap: 28px; padding: 36px 0 28px; }
	.tf-footer-contact { text-align: left; }
	.tf-footer-social { justify-content: flex-start; }
	.tf-footer-links { grid-template-columns: 1fr; gap: 28px 0; padding: 28px 0; }
	.tf-footer-bottom { flex-direction: column; gap: 16px; align-items: flex-start; }
}

/* ============================================================
   FOOTER — vier kolommen (v1.4.1)
   Vervangt de Variant-B layout-regels hierboven.
   ============================================================ */

/* Nieuwsbrief: glacier ipv ink */
.tf-news { background: #0E5C5A !important; }
.tf-news p { color: rgba(255,255,255,.72) !important; }

/* Vier-koloms grid */
.tf-footer-cols {
	display: grid;
	grid-template-columns: 26% 1fr 1fr 1fr;
	gap: 0 36px;
	padding: 52px 0 48px;
}

/* Kolom 4 specifiek */
.tf-footer-col-contact .tf-footer-email {
	display: block;
	font-size: 13px;
	color: #8C8C86;
	text-decoration: none;
	margin-bottom: 10px;
	transition: color .15s;
}

.tf-footer-col-contact .tf-footer-email:hover { color: #0E5C5A; }

.tf-footer-ship {
	font-size: 12px;
	color: #4A4A47;
	line-height: 1.5;
	margin-bottom: 18px;
}

/* Verberg Variant-B-specifieke zones als die nog in de DOM staan */
.tf-footer-top,
.tf-footer-links { display: none !important; }

@media (max-width: 900px) {
	.tf-footer-cols {
		grid-template-columns: 1fr 1fr;
		gap: 36px;
		padding: 40px 0;
	}
}

@media (max-width: 560px) {
	.tf-footer-cols {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 32px 0;
	}
}

/* ============================================================
   FOOTER — glacier achtergrond (v1.4.2)
   ============================================================ */

/* Nieuwsbrief terug naar ink */
.tf-news { background: var(--tf-ink) !important; }
.tf-news p { color: #b6b6b0 !important; }

/* Footer: glacier */
.tf-site-footer { background: #0E5C5A; }

/* Tekst op glacier */
.tf-footer-tagline,
.tf-footer-col ul li a,
.tf-footer-col-contact .tf-footer-email { color: rgba(255,255,255,.65); }

.tf-footer-name,
.tf-footer-col-head { color: #fff; }

.tf-footer-col ul li a:hover,
.tf-footer-col-contact .tf-footer-email:hover { color: #fff; }

.tf-footer-ship { color: rgba(255,255,255,.42); }

.tf-footer-copy { color: rgba(255,255,255,.42); }

.tf-footer-divider { border-top-color: rgba(255,255,255,.15); }

/* Social knoppen op glacier */
.tf-footer-social-btn {
	border-color: rgba(255,255,255,.25);
	color: rgba(255,255,255,.65);
}
.tf-footer-social-btn:hover {
	border-color: #fff;
	color: #fff;
}

/* Betaaliconen: iets doorzichtiger frame op groen */
.tf-pay-icon { background: rgba(255,255,255,.92); }

/* ============================================================
   FOOTER TWEAKS v1.4.3
   ============================================================ */

/* Betere leesbaarheid links op glacier */
.tf-footer-tagline,
.tf-footer-col ul li a,
.tf-footer-col-contact .tf-footer-email { color: rgba(255,255,255,.78); }

/* Hover: wit + underline voor duidelijk effect */
.tf-footer-col ul li a:hover,
.tf-footer-col-contact .tf-footer-email:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Social iconen links uitlijnen (kolom-uitlijning) */
.tf-footer-col-contact .tf-footer-social { justify-content: flex-start; }

/* ============================================================
   HEADER UTILITY ICONS — lichter en moderner (v1.4.4)
   ============================================================ */

#menu-header-secondary .icon-wrapper svg {
	width: 20px !important;
	height: 20px !important;
	stroke-width: 1.35 !important;
}

/* ============================================================
   PRIMARY NAV TYPOGRAFIE — Space Grotesk 500 (v1.4.4)
   ============================================================ */

.shoptimizer-primary-navigation ul li a {
	font-family: 'Space Grotesk', sans-serif !important;
	font-weight: 500 !important;
	font-size: 14px !important;
	letter-spacing: 0.02em !important;
}

/* ============================================================
   GTRANSLATE IN PRIMARY NAV (v1.4.5)
   ============================================================ */

/* Maak de nav-balk position:relative voor absolute positionering */
.shoptimizer-primary-navigation {
	position: relative;
}

/* GTranslate wrapper in de glacierbalk (niet meer absoluut gepind — botste
   met de cart-trigger). Desktop-layout staat in de min-width:1000px-blok hieronder. */
.shoptimizer-primary-navigation .gtranslate_wrapper {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 0 4px;
}

/* Desktop: nav groeit, vlaggen schuiven naar rechts net vóór de cart-trigger */
@media (min-width: 1000px) {
	.shoptimizer-primary-navigation .main-navigation { flex: 1 1 auto; }
	.shoptimizer-primary-navigation #menu-main-menu {
		display: flex;
		align-items: center;
		width: 100%;
	}
	.shoptimizer-primary-navigation .tf-gtranslate-item { margin-left: auto !important; }
	.shoptimizer-primary-navigation .site-header-cart { margin-left: 18px; }
}

/* Cart-teller leesbaar in beide states. Default Shoptimizer-amber wordt door de
   glacier-override wit; bij hover vulde de badge wit met witte tekst = onzichtbaar.
   Fix: wit cijfer op transparant (default, op de teal balk), glacier cijfer op
   witte vulling bij hover. */
.shoptimizer-cart a.cart-contents .count,
.shoptimizer-cart a.cart-contents .count:after {
	border-color: rgba(255, 255, 255, 0.75) !important;
	color: #fff !important;
}
.shoptimizer-cart a.cart-contents:hover .count {
	background-color: #fff !important;
	color: #0E5C5A !important;
}
.shoptimizer-cart a.cart-contents:hover .count:after {
	border-color: #fff !important;
	background-color: #fff !important;
}

/* Vlaggen: kleine ronde cirkels, lichte opacity op glacier */
.shoptimizer-primary-navigation .gtranslate_wrapper a.glink img {
	border-radius: 50%;
	opacity: 0.75;
	transition: opacity 0.15s;
	display: block;
}

.shoptimizer-primary-navigation .gtranslate_wrapper a.glink:hover img {
	opacity: 1;
}

/* GTranslate als <li> rechts in de nav — push naar rechts via auto margin */
#menu-primary {
	display: flex;
	align-items: center;
}

.tf-gtranslate-item {
	margin-left: auto !important;
	padding: 0 !important;
	list-style: none;
}

.tf-gtranslate-item .gtranslate_wrapper {
	display: flex;
	align-items: center;
	gap: 6px;
}

.tf-gtranslate-item a.glink img {
	border-radius: 50%;
	opacity: 0.72;
	transition: opacity 0.15s;
	display: block;
	width: 20px !important;
	height: 20px !important;
}

.tf-gtranslate-item a.glink:hover img {
	opacity: 1;
}

/* Verberg hover-submenu op dit item */
.tf-gtranslate-item > ul { display: none !important; }

/* Vlaggen: traditionele rechthoekige vorm i.p.v. cirkel (v1.4.7) */
.tf-gtranslate-item a.glink img {
	border-radius: 2px !important;
}

/* Vlag-correctie: hogere specificiteit om eigen 50%-regel te wissen */
.shoptimizer-primary-navigation .tf-gtranslate-item .gtranslate_wrapper a.glink img {
	border-radius: 3px !important;
}

/* ============================================================
   MOBIEL MENU — touch targets + vlaggen links (v1.4.8)
   ============================================================ */

/* Grotere tikgebieden (32px → 48px) */
@media (max-width: 999px) {
	.main-navigation ul li a {
		padding-top: 13px !important;
		padding-bottom: 13px !important;
		display: block;
	}

	/* Vlaggen: eigen rij, links uitgelijnd */
	.tf-gtranslate-item {
		margin-left: 0 !important;
		width: 100%;
		padding: 8px 0 4px !important;
	}

	.tf-gtranslate-item .gtranslate_wrapper {
		justify-content: flex-start;
	}
}

/* Vlaggen links op mobiel — fix flex-container uitlijning */
@media (max-width: 999px) {
	#menu-primary {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Reset GTranslate absolute positionering in mobiel menu */
@media (max-width: 999px) {
	.gtranslate_wrapper {
		position: static !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
		margin-left: 0 !important;
		justify-content: flex-start !important;
	}
}

/* Hero: afbeelding boven tekst op mobiel (v1.4.11) */
@media(max-width:820px){
	.tf-hero .tf-figure{order:-1;min-height:280px;}
}

/* ============================================================
   FOOTER — kolomtitels groter + wit logo (v1.4.13)
   ============================================================ */

.tf-footer-col-head {
	font-family: 'Space Grotesk', sans-serif !important;
	font-size: 12px !important;
	letter-spacing: 0.12em !important;
}

.tf-footer-logo {
	display: block;
	max-width: 150px;
	height: auto;
	margin-bottom: 18px;
}

/* ============================================================
   CATEGORIE-BANNER: afbeelding blend + iets kleiner (v1.4.14)
   ============================================================ */

header.woocommerce-products-header img.cg-cat-image,
header.woocommerce-products-header .term-description + img.cg-cat-image,
header.woocommerce-products-header .term-description + noscript + img.cg-cat-image {
	mix-blend-mode: multiply;
	width: 22% !important;
	min-width: 22% !important;
	max-width: 22% !important;
}

/* Categorie-banner: tekst wit, afbeelding op beige (v1.4.19) */
.woocommerce-products-header .term-description {
	background: #e0dfd2;
	align-self: stretch;
	display: flex;
	align-items: center;
}

/* Productgrid: kolommen passen in container ipv overflow (v1.4.23) */
.woocommerce ul.products.columns-3 {
	grid-template-columns: repeat(3, 1fr) !important;
}

/* ============================================================
   CATEGORIEPAGINA — FULLWIDTH + CATEGORIEBALK (v1.4.24)
   ============================================================ */

/* Sidebar verbergen op categorie-/shop-pagina's */
body.tax-product_cat #secondary,
body.woocommerce-archive #secondary,
body.woocommerce-shop #secondary {
	display: none !important;
}

/* Content area fullwidth */
body.tax-product_cat .content-area,
body.woocommerce-archive .content-area,
body.woocommerce-shop .content-area {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	float: none !important;
	margin-left: 0 !important;
}

/* ============================================================
   SHOP-LANDING — categorie-ingang (v1.4.57)
   /shop/ toont categorie-tegels, gestyled als de homepage-tegels
   (beeld met naam-overlay). Geen sidebar, geen pill-balk.
   ============================================================ */

body.woocommerce-shop ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
@media (max-width: 900px) {
	body.woocommerce-shop ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Tegel: geen kaart-chrome op de li, alles op de inner <a> */
body.woocommerce-shop ul.products li.product-category {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	float: none !important;
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.woocommerce-shop ul.products li.product-category > a {
	position: relative;
	display: block;
	aspect-ratio: 3/2;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid var(--tf-line, #E7E7E1);
	background: #eee;
	text-decoration: none;
}
body.woocommerce-shop ul.products li.product-category .cat-image-wrapper {
	display: block;
	width: 100%;
	height: 100%;
}
body.woocommerce-shop ul.products li.product-category .cat-image-wrapper img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	margin: 0 !important;
	padding: 0 !important;
	transition: transform .5s;
}
body.woocommerce-shop ul.products li.product-category:hover .cat-image-wrapper img {
	transform: scale(1.05);
}
body.woocommerce-shop ul.products li.product-category .woocommerce-loop-category__title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 !important;
	padding: 16px 18px !important;
	font-family: 'Space Grotesk', sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #fff !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	background: linear-gradient(to top, rgba(18,18,18,.78), rgba(18,18,18,.05) 90%);
	z-index: 2;
}
/* Vangnet: telling weg (ook al via woocommerce_subcategory_count_html-filter) */
body.woocommerce-shop ul.products li.product-category .count,
body.woocommerce-shop ul.products li.product-category mark.count {
	display: none !important;
}

/* Categoriebalk */
.tf-cat-nav {
	margin: 0 0 28px;
}

.tf-cat-nav__track {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-bottom: 2px;
}

.tf-cat-nav__track::-webkit-scrollbar {
	display: none;
}

.tf-cat-nav__item {
	display: inline-block;
	flex-shrink: 0;
	scroll-snap-align: start;
	white-space: nowrap;
	padding: 7px 18px;
	border-radius: 4px;
	border: 1.5px solid #0E5C5A;
	color: #0E5C5A;
	font-family: 'Space Grotesk', sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
	line-height: 1;
}

.tf-cat-nav__item:hover {
	background: rgba(14, 92, 90, 0.08);
	color: #0E5C5A;
	text-decoration: none;
}

.tf-cat-nav__item--active {
	background: #0E5C5A;
	color: #fff;
}

/* Infinite scroll loader (v1.4.26) */
#tf-scroll-loader {
	display: none;
	justify-content: center;
	gap: 6px;
	padding: 32px 0 48px;
}

#tf-scroll-loader span {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #0E5C5A;
	opacity: 0.3;
	animation: tf-bounce 1s ease-in-out infinite;
}

#tf-scroll-loader span:nth-child(2) { animation-delay: 0.15s; }
#tf-scroll-loader span:nth-child(3) { animation-delay: 0.3s; }

@keyframes tf-bounce {
	0%, 80%, 100% { transform: scale(0.6); opacity: 0.3; }
	40%           { transform: scale(1);   opacity: 1; }
}

/* Resultaatteller + paginatie verbergen bij infinite scroll (v1.4.27) */
body.tax-product_cat .woocommerce-ordering,
body.woocommerce-archive .woocommerce-ordering,
body.tax-product_cat .woocommerce-result-count,
body.woocommerce-archive .woocommerce-result-count,
body.tax-product_cat .woocommerce-pagination,
body.woocommerce-archive .woocommerce-pagination {
	display: none !important;
}

/* ============================================================
   CATEGORIE — SEO-tekst onder de producten (v1.4.65)
   below_category_content. Standaard 32px-H2's oogden te zwaar onderaan;
   rustiger formaat + leesbare regellengte, eigen sectie via top-rand.
   ============================================================ */
.below-woocommerce-category {
	margin-top: 4px;
	padding-top: 40px;
	border-top: 1px solid var(--tf-line, #E7E7E1);
}
.below-woocommerce-category > * {
	max-width: 760px;
}
.below-woocommerce-category > *:first-child {
	margin-top: 0 !important;
}
.below-woocommerce-category h2 {
	font-size: 21px !important;
	line-height: 1.3 !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em !important;
	margin: 30px 0 10px !important;
	color: #121212 !important;
}
.below-woocommerce-category h3 {
	font-size: 17px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
	margin: 24px 0 8px !important;
	color: #121212 !important;
}
.below-woocommerce-category p,
.below-woocommerce-category li {
	font-size: 15px;
	line-height: 1.7;
	color: var(--tf-ink-2, #3C3C3A);
}
.below-woocommerce-category a {
	color: #0E5C5A;
	text-decoration: underline;
}

/* ============================================================
   MOBIEL — categoriepagina fixes (v1.4.29)
   ============================================================ */

/* Filter-toggle verbergen (sidebar is al weg) */
body.tax-product_cat .shoptimizer-mobile-toggle,
body.woocommerce-archive .shoptimizer-mobile-toggle {
	display: none !important;
}

/* Intro-header: afbeelding verbergen op mobiel, tekst vult volledige breedte */
@media (max-width: 768px) {
	/* Productgrid: 2 kolommen op mobiel */
	.woocommerce ul.products.columns-3 {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	header.woocommerce-products-header img.cg-cat-image,
	header.woocommerce-products-header .term-description + img.cg-cat-image,
	header.woocommerce-products-header .term-description + noscript + img.cg-cat-image {
		display: none !important;
	}

	.woocommerce-products-header .term-description {
		min-width: 100% !important;
		max-width: 100% !important;
	}
}

/* ===========================
   404 pagina — The Specimen
   =========================== */

.tf-404 {
    max-width: 860px;
    margin: 0 auto;
    padding: 64px 24px 80px;
}

.tf-404__hero {
    text-align: center;
    padding-bottom: 56px;
    border-bottom: 1px solid #E7E7E1;
    margin-bottom: 56px;
}

.tf-404__label {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #0E5C5A;
    margin-bottom: 20px;
}

.tf-404__title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 36px;
    font-weight: 600;
    letter-spacing: -1px;
    line-height: 1.1;
    color: #111;
    margin: 0 0 16px;
}

.tf-404__sub {
    font-size: 16px;
    color: #666;
    max-width: 520px;
    margin: 0 auto 32px;
    line-height: 1.6;
}

.tf-404__actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.tf-404__btn {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 4px;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}

.tf-404__btn--primary {
    background: #0E5C5A;
    color: #fff;
    border: 1.5px solid #0E5C5A;
}

.tf-404__btn--primary:hover {
    background: #0a4240;
    color: #fff;
    text-decoration: none;
}

.tf-404__btn--outline {
    background: transparent;
    color: #0E5C5A;
    border: 1.5px solid #0E5C5A;
}

.tf-404__btn--outline:hover {
    background: rgba(14,92,90,0.07);
    color: #0E5C5A;
    text-decoration: none;
}

.tf-404__recent-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.3px;
    margin: 0 0 28px;
    text-align: center;
}

@media (max-width: 768px) {
    .tf-404__title { font-size: 26px; }
}

/* 404 — productkaarten zelfde stijl als category-archief */
body.error404 .tf-404__recent ul.products li.product {
    background: #F4F3EB !important;
    border: 1px solid #E7E7E1 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: auto !important;
}

/* Verberg tweede hover-afbeelding op 404 */
body.error404 .tf-404__recent .bbloomer-second-image,
body.error404 .tf-404__recent ul.products li.product > a > img:nth-child(2) {
    display: none !important;
}

/* Teal knop in plaats van Shoptimizer-groen */
body.error404 .tf-404__recent ul.products li.product .button,
body.error404 .tf-404__recent ul.products li.product .added_to_cart {
    background-color: #0E5C5A !important;
    border-color: #0E5C5A !important;
    color: #fff !important;
}

body.error404 .tf-404__recent ul.products li.product .button:hover {
    background-color: #0a4240 !important;
}

/* 404 — grid layout voor productkaarten */
body.error404 .tf-404__recent ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
}

body.error404 .tf-404__recent ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    body.error404 .tf-404__recent ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* =============================================
   FAQ ACCORDION
   ============================================= */
.tf-faq {
    max-width: 780px;
    margin: 0 auto;
}
.tf-faq__item {
    border-bottom: 1px solid #E7E7E1;
}
.tf-faq__item:first-child {
    border-top: 1px solid #E7E7E1;
}
.tf-faq__question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 20px 0;
    cursor: pointer;
    font-family: "Space Grotesk", sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: #121212;
    list-style: none;
    user-select: none;
    margin: 0;
}
.tf-faq__question::-webkit-details-marker { display: none; }
.tf-faq__question::after {
    content: "+";
    font-size: 22px;
    font-weight: 300;
    color: #0E5C5A;
    flex-shrink: 0;
    line-height: 1;
    transition: transform 0.15s ease;
}
details[open] > .tf-faq__question::after {
    content: "−";
}
.tf-faq__answer {
    padding: 0 0 24px;
    color: #444;
    line-height: 1.75;
    font-size: 15px;
}
.tf-faq__answer p { margin: 0 0 12px; }
.tf-faq__answer p:last-child { margin: 0; }
.tf-faq__answer a { color: #0E5C5A; }
.tf-faq__answer a:hover { text-decoration: underline; }

/* =============================================
   CONTACT PAGINA
   ============================================= */

.tf-contact {
    display: flex;
    align-items: flex-start;
    gap: 60px;
}
.tf-contact__info {
    flex: 0 0 320px;
    width: 320px;
    background: #f5f5f3;
    border-radius: 8px;
    padding: 32px 28px;
    align-self: flex-start;
}
.tf-contact__form {
    flex: 1;
    min-width: 0;
}
.tf-contact__info-inner {
    padding-top: 4px;
}
.tf-contact__intro {
    font-size: 16px;
    line-height: 1.75;
    color: #555;
    margin-bottom: 36px;
}
.tf-contact__details {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.tf-contact__details li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 15px;
}
.tf-contact__detail-label {
    display: block;
    font-family: "Space Grotesk", sans-serif;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #999;
    margin-bottom: 3px;
}
.tf-contact__icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 16px;
    color: #0E5C5A;
}
.tf-contact__detail-text {
    display: flex;
    flex-direction: column;
}
.tf-contact__details a {
    color: #121212;
    text-decoration: none;
}
.tf-contact__details a:hover { color: #0E5C5A; }

/* Gravity Forms required label — teal i.p.v. standaard oranje */
.tf-contact .gfield_required,
.tf-contact .gfield_required * {
    color: #0E5C5A !important;
}

/* Gravity Forms <legend>-veldlabel (o.a. het Name-veld) negeert van zichzelf
   de fieldset-breedte en rendert op zijn intrinsieke breedte → 14-45px
   horizontale overflow op mobiel. Forceer block + volle breedte. */
.gform_wrapper legend.gfield_label {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    float: none;
}

/* Gravity Forms veldstijling */
.tf-contact .gform_wrapper input[type="text"],
.tf-contact .gform_wrapper input[type="email"],
.tf-contact .gform_wrapper textarea {
    border: 1px solid #E0DFD8 !important;
    border-radius: 4px !important;
    padding: 11px 14px !important;
    width: 100% !important;
    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    color: #121212 !important;
    box-shadow: none !important;
    background: #fff !important;
}
.tf-contact .gform_wrapper input[type="text"]:focus,
.tf-contact .gform_wrapper input[type="email"]:focus,
.tf-contact .gform_wrapper textarea:focus {
    border-color: #0E5C5A !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(14,92,90,0.12) !important;
}
.tf-contact .gform_wrapper .gfield_label {
    font-family: "Space Grotesk", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #121212 !important;
    margin-bottom: 6px !important;
}
.tf-contact .gform_wrapper .gform_footer input[type="submit"],
.tf-contact .gform_wrapper .gform_button {
    background-color: #0E5C5A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 14px 32px !important;
    font-family: "Space Grotesk", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    width: 100% !important;
    margin-top: 8px !important;
}
.tf-contact .gform_wrapper .gform_footer input[type="submit"]:hover,
.tf-contact .gform_wrapper .gform_button:hover {
    background-color: #0a4240 !important;
}
/* Honeypot veld verbergen (failsafe naast GF eigen CSS) */
.tf-contact .gform_validation_container {
    display: none !important;
}
@media (max-width: 768px) {
    .tf-contact {
        flex-direction: column;
    }
    .tf-contact__info-inner {
        padding-bottom: 32px;
    }
}

/* =============================================
   ABOUT PAGINA
   ============================================= */
.tf-about {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    margin-bottom: 60px;
}
.tf-about__text {
    flex: 1;
    min-width: 0;
}
.tf-about__text p {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    margin-bottom: 20px;
}
.tf-about__cta {
    display: inline-block;
    margin-top: 32px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #0E5C5A;
    text-decoration: none;
}
.tf-about__cta:hover { text-decoration: underline; }
.tf-about__image {
    flex: 0 0 380px;
    width: 380px;
}
.tf-about__image img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    display: block;
}
.tf-about__img-caption {
    font-size: 12px;
    color: #aaa;
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}
@media (max-width: 768px) {
    .tf-about {
        flex-direction: column-reverse;
    }
    .tf-about__image {
        flex: none;
        width: 100%;
    }
}
.tf-about-text p {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    margin-bottom: 20px;
}

/* ============================================================
   PAGINA-SIDEBAR (info-pagina's) — Shoptimizer sidebar-pages
   ============================================================ */
.tf-side { margin-bottom: 34px; }
.tf-side-head {
    font-family: "Space Grotesk", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #121212;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #E7E7E1;
}
/* Categorie-lijst */
.tf-side-cats { list-style: none; margin: 0; padding: 0; }
.tf-side-cats a {
    display: block;
    padding: 8px 0;
    font-size: 14px;
    color: #3C3C3A;
    text-decoration: none;
    border-bottom: 1px solid #F0EFEA;
    transition: color .15s;
}
.tf-side-cats li:last-child a { border-bottom: none; }
.tf-side-cats a:hover { color: #0E5C5A; }
/* Laatste fossielen */
.tf-side-latest { list-style: none; margin: 0; padding: 0; }
.tf-side-latest li { margin: 0 0 14px; }
.tf-side-latest a { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.tf-sl-thumb img {
    width: 56px; height: 56px; object-fit: cover;
    border-radius: 4px; display: block; border: 1px solid #E7E7E1;
}
.tf-sl-meta { display: flex; flex-direction: column; min-width: 0; }
.tf-sl-title {
    font-size: 12px; font-weight: 600; color: #121212; line-height: 1.3;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.tf-sl-price { font-size: 13px; color: #3C3C3A; margin-top: 3px; }
.tf-side-latest .tf-sl-price del { color: #8C8C86; font-weight: 400; }
.tf-side-latest .tf-sl-price ins { text-decoration: none; }
/* Good to know */
.tf-side-info { list-style: none; margin: 0 0 16px; padding: 0; }
.tf-side-info li {
    font-size: 13.5px; color: #3C3C3A; padding: 5px 0 5px 22px;
    position: relative; line-height: 1.45;
}
.tf-side-info li::before {
    content: "\2713"; position: absolute; left: 0; top: 5px; color: #0E5C5A; font-weight: 700;
}
.tf-side-cta {
    display: inline-block;
    font-family: "Space Grotesk", sans-serif;
    font-size: 14px; font-weight: 600;
    color: #0E5C5A; text-decoration: none;
}
.tf-side-cta:hover { text-decoration: underline; }
/* Contactblok in de sidebar — tekst + huisstijl-button */
.tf-side-contact-text {
    font-size: 13.5px;
    line-height: 1.55;
    color: #3C3C3A;
    margin: 0 0 14px;
}
.tf-side-btn {
    display: block;
    text-align: center;
    background: #0E5C5A;
    color: #fff !important;
    font-family: "Space Grotesk", sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 16px;
    border-radius: 4px;
    text-decoration: none;
    transition: background .15s;
}
.tf-side-btn:hover { background: #0a4745; }

/* =============================================
   SINGLE PRODUCT — Add to cart knop
   ============================================= */
.single-product .single_add_to_cart_button,
.single-product form.cart .button {
    background-color: #0E5C5A !important;
    border-color: #0E5C5A !important;
    color: #fff !important;
    font-family: "Inter", sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    border-radius: 4px !important;
}
.single-product .single_add_to_cart_button:hover,
.single-product form.cart .button:hover {
    background-color: #0a4745 !important;
    border-color: #0a4745 !important;
    color: #fff !important;
}

/* Ruimte tussen content (gerelateerde producten) en de footer op de
   productpagina. Andere webshop-pagina's hebben deze 48px al op #content;
   single-product stond op 0 → kaarten plakten aan de footer. Niet op home
   scopen: daar sluit de nieuwsbrief-band bewust aan op de footer. */
.single-product #content {
    padding-bottom: 48px;
}

/* Mobiel: related/up-sell grid binnen de container houden. De parent-grid
   gebruikt vaste minmax(320px)-tracks → 2× 320px loopt 14px over de 390px-
   viewport (de .related-sectie heeft 15px side-padding). Forceer 2 gelijke
   kolommen + volle containerbreedte zodat de tracks meekrimpen. */
@media (max-width: 768px) {
    .woocommerce .related ul.products.columns-3,
    .woocommerce .up-sells ul.products.columns-3 {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .woocommerce .related ul.products li.product,
    .woocommerce .up-sells ul.products li.product {
        min-width: 0 !important;
    }
}

/* =============================================
   FLOATING / CALL-BACK KNOP
   ============================================= */
.shoptimizer-floating-button,
.shoptimizer-floating-button a,
#shoptimizer-floating-button,
.call-back-feature button {
    background-color: #0E5C5A !important;
    border-color: #0E5C5A !important;
    color: #fff !important;
}
.shoptimizer-floating-button:hover,
.shoptimizer-floating-button a:hover,
.call-back-feature:hover button,
.call-back-feature button:hover {
    background-color: #0a4745 !important;
    border-color: #0a4745 !important;
}

/* =============================================
   PRODUCT PAGE — trust block
   ============================================= */
.tf-pdp-trust {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #e8e8e4;
}
.tf-pdp-trust__usps {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.tf-pdp-trust__usps li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: #3C3C3A;
    margin: 0;
    padding: 0;
}
.tf-pdp-trust__usps li::before { display: none; }
.tf-pdp-trust__usps li svg {
    flex-shrink: 0;
    width: 17px;
    height: 17px;
    color: #0E5C5A;
}
.tf-pdp-trust__payment {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.tf-pdp-trust__payment-label {
    font-size: 11px;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}
.tf-pdp-trust__logos {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}
.tf-pdp-pay-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 30px;
    border: 1px solid #e4e4e0;
    border-radius: 4px;
    background: #fff;
    padding: 3px 5px;
}
.tf-pdp-pay-chip img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* =============================================
   DESCRIPTION TAB — specs table
   ============================================= */
.woocommerce-Tabs-panel .tf-specs {
    width: 100%;
    max-width: 460px;
    border-collapse: collapse;
    margin: 0 0 24px;
    font-size: 14px;
    line-height: 1.5;
}
.woocommerce-Tabs-panel .tf-specs th,
.woocommerce-Tabs-panel .tf-specs td {
    padding: 7px 16px 7px 0;
    border-bottom: 1px solid #f0efeb;
    vertical-align: top;
    text-align: left;
}
.woocommerce-Tabs-panel .tf-specs th {
    font-weight: 600;
    color: #888;
    width: 42%;
    white-space: nowrap;
    font-size: 13px;
}
.woocommerce-Tabs-panel .tf-specs tr:last-child th,
.woocommerce-Tabs-panel .tf-specs tr:last-child td {
    border-bottom: none;
}

/* Description tab — heading links uitlijnen */
.woocommerce-Tabs-panel--description > h2 {
    text-align: left;
}

/* Description tab label — uitlijnen met panelinhoud grid */
.woocommerce-tabs .tabs.wc-tabs {
    text-align: left;
    max-width: calc(5.2325em + 1170px);
    margin-left: auto;
    margin-right: auto;
    padding-left: calc(2.618rem - 12px);
}

/* =============================================
   WOOCOMMERCE — brand color overrides (notices + My Account)
   ============================================= */

/* Notices — glacier teal full-bleed (matches Shoptimizer notice pattern) */
.woocommerce-message {
    background-color: #0E5C5A !important;
}
.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
    background-color: #0E5C5A !important;
}
/* Error stays red (semantic) */

/* Checkout progress bar → teal (overrides Kirki-generated Shoptimizer defaults) */
ul.checkout-bar:before {
    background-color: #0E5C5A !important;
}
.checkout-bar li.active:after,
.woocommerce-checkout .checkout-bar li.next:after {
    background-color: #0E5C5A !important;
}
.woocommerce-cart ul.checkout-bar li.active:before,
.woocommerce-checkout ul.checkout-bar li.active:before,
.woocommerce-checkout ul.checkout-bar li.next:before {
    background: #0E5C5A !important;
}

/* My Account — active nav item */
.woocommerce-MyAccount-navigation ul li.is-active > a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active > a {
    color: #0E5C5A;
    font-weight: 600;
    border-left: 3px solid #0E5C5A;
    padding-left: 10px;
}

/* Cart / Checkout — override any residual default button colors */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background-color: #0E5C5A !important;
    color: #fff !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background-color: #127A77 !important;
    color: #fff !important;
}

/* Footer: 072DESIGN web-development credit */
.tf-footer-bottom .tf-footer-credit{color:#ffffff!important;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.tf-footer-bottom .tf-footer-credit:hover{color:#fff!important}
.tf-footer-copy em{font-style:italic}
.tf-footer-sep{opacity:.5;margin:0 5px}

/* Tweede galerijfoto bij hover op productkaarten */
.woocommerce ul.products li.product .woocommerce-card__header{position:relative}
.woocommerce ul.products li.product img.tf-second-image{position:absolute;top:0;left:0;width:100%;height:auto;opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:1}
.woocommerce ul.products li.product:hover img.tf-second-image{opacity:1}
@media (hover:none){.woocommerce ul.products li.product img.tf-second-image{display:none}}
