/* ============================================================
   BOPETS
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{overflow-x:hidden;}
body{font-family:'Inter',system-ui,sans-serif;color:#1c1c1e;background:#fff;font-size:16px;line-height:1.6;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;height:auto;display:block;}

:root{
  --orange:#e85d04;
  --orange-dark:#c44d03;
  --orange-light:#fff3ec;
  --orange-50:#fff7ed;
  --promo-bg:#e05a03;
  --amber:#f59e0b;
  --blue:#3b82f6;
  --green-usp:#22c55e;
  --green-stock:#16a34a;
  --green-success:#22c55e;
  --green-discount:#16a34a;
  --red-stock:#dc2626;
  --neutral-900:#111827;
  --neutral-800:#1f2937;
  --neutral-700:#374151;
  --neutral-600:#4b5563;
  --neutral-500:#6b7280;
  --neutral-400:#9ca3af;
  --neutral-300:#d1d5db;
  --neutral-200:#e5e7eb;
  --neutral-100:#f3f4f6;
  --neutral-50:#f9fafb;
  --shadow-sm:0 1px 4px rgba(0,0,0,.08);
  --shadow-md:0 4px 16px rgba(0,0,0,.09);
  --shadow-lg:0 10px 36px rgba(0,0,0,.12);
  --radius-xl:20px;
  --radius-lg:14px;
  --radius-md:10px;
  --radius-sm:6px;
}

.container{max-width:1280px;margin:0 auto;padding:0 32px;}
.section{padding:80px 0;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:50px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s;white-space:nowrap;border:none;font-family:inherit;}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange-dark);box-shadow:0 6px 20px rgba(232,93,4,.3);transform:translateY(-1px);}
.btn-ghost{border:2px solid rgba(255,255,255,.55);color:#fff;background:transparent;}
.btn-ghost:hover{border-color:rgba(255,255,255,.9);background:rgba(255,255,255,.1);}
.btn-white-solid{background:#fff;color:var(--orange);font-weight:700;}
.btn-white-solid:hover{background:var(--orange-light);}
.btn-promo-cta{background:#fff;color:var(--orange-dark);font-weight:700;border-radius:50px;padding:13px 28px;}
.btn-promo-cta:hover{background:var(--orange-light);}

/* TOPBAR */
.topbar{background:#111827;padding:9px 0;}
.topbar-inner{max-width:1280px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:center;white-space:nowrap;}
.topbar-inner span{color:rgba(255,255,255,.7);font-size:.8rem;font-weight:500;padding:0 18px;}
.topbar-inner .sep{color:rgba(255,255,255,.2);padding:0;}

/* HEADER */
.site-header{background:#fff;border-bottom:1px solid var(--neutral-200);position:sticky;top:0;z-index:200;}
.header-inner{max-width:1280px;margin:0 auto;padding:0 32px;height:72px;display:flex;align-items:center;gap:28px;}

/* LOGO */
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.logo-icon{display:flex;align-items:center;width:52px;height:52px;flex-shrink:0;}
.logo-wordmark{display:flex;flex-direction:column;line-height:1;}
.logo-main{font-size:1.9rem;font-weight:900;color:var(--neutral-900);letter-spacing:-.04em;line-height:1;}
.logo-b{color:var(--orange);}
.logo-tagline{font-size:.67rem;font-weight:500;color:var(--neutral-500);letter-spacing:.03em;text-transform:uppercase;margin-top:3px;}

/* NAV — icoon + label gecentreerd, professionele SVG iconen */
.main-nav{flex:1;}
.main-nav>ul{display:flex;align-items:stretch;height:72px;}
.main-nav>ul>li{position:relative;display:flex;align-items:center;}
.main-nav>ul>li>a{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 13px;
  height:100%;
  color:var(--neutral-600);
  transition:color .18s,background .18s;
  border-bottom:2px solid transparent;
  white-space:nowrap;
}
.main-nav>ul>li>a:hover,
.main-nav>ul>li:hover>a{
  color:var(--orange);
  border-bottom-color:var(--orange);
  background:rgba(232,93,4,.04);
}
.nav-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  flex-shrink:0;
  color:inherit;
}
.nav-label{
  font-size:.73rem;
  font-weight:700;
  color:inherit;
  line-height:1;
  letter-spacing:.01em;
}

/* DROPDOWN */
.dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:260px;padding:8px;z-index:300;border:1px solid var(--neutral-200);}
.dropdown li a{display:block;white-space:nowrap;padding:9px 14px;font-size:.875rem;color:var(--neutral-700);font-weight:500;border-radius:var(--radius-sm);transition:background .15s;}
.dropdown li a:hover{background:var(--orange-light);color:var(--orange);}
.main-nav>ul>li:hover .dropdown{display:block;}

/* HEADER ACTIONS */
.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0;}
.icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--neutral-500);cursor:pointer;transition:all .18s;}
.icon-btn:hover{background:var(--neutral-100);color:var(--orange);}
.cart-btn{display:flex;align-items:center;gap:9px;background:var(--orange);color:#fff;padding:10px 20px;border-radius:50px;font-weight:700;font-size:.875rem;transition:all .18s;border:none;font-family:inherit;}
.cart-btn:hover{background:var(--orange-dark);box-shadow:0 4px 16px rgba(232,93,4,.3);transform:translateY(-1px);}
.cart-count{background:var(--amber);color:var(--neutral-900);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;}

/* Wishlist heart in header */
.wish-btn{position:relative;}
.wish-count{
  position:absolute;top:2px;right:0;
  background:var(--orange);color:#fff;border-radius:50%;
  width:17px;height:17px;font-size:.62rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;
  border:2px solid #fff;pointer-events:none;
  animation:wishPop .3s cubic-bezier(.4,0,.2,1);
}
@keyframes wishPop{0%{transform:scale(0);}60%{transform:scale(1.3);}100%{transform:scale(1);}}
.wish-btn:hover svg{color:var(--orange);}

/* Active state for cat-wish (filled heart) */
.cat-wish.active svg{color:var(--orange);fill:var(--orange);}
.cat-wish.active{opacity:1;transform:scale(1);}

/* === Rounded hero image for pages like vogelvoer en andere paginas === */

.head-card{
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,0.12);
}

.head-card img{
    width:100%;
    height:500px;
    object-fit:cover;
    display:block;
}

/* Optional: consistent rounded images for cards */
.card,
.species-card{
    border-radius:16px;
    overflow:hidden;
}

.card img,
.species-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}

/* HERO */
.hero{position:relative;height:600px;overflow:hidden;}

/* Gradient overlay onderaan hero voor diepte en leesbaarheid */
.hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    transparent 55%,
    rgba(0,0,0,.45) 100%
  );
  pointer-events:none;
  z-index:3;
}

/* Vloeiendere slide-transitie: fade + subtiele schaal */
.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.03);
  transition:opacity .9s cubic-bezier(.4,0,.2,1), transform .9s cubic-bezier(.4,0,.2,1);
  will-change:opacity,transform;
}
.hero-slide.active{
  opacity:1;
  transform:scale(1);
}

.slide-bg{position:absolute;inset:0;}
.slide-inner{position:relative;z-index:2;height:100%;max-width:1280px;margin:0 auto;padding:0 80px;display:flex;align-items:center;justify-content:space-between;gap:48px;}
.slide-text{flex:1;max-width:490px;display:flex;flex-direction:column;align-items:flex-start;}
.slide-eyebrow{display:inline-block;background:var(--orange);color:#fff;padding:5px 16px;border-radius:50px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;}
.slide-eyebrow-gold{background:var(--amber);color:var(--neutral-900);}
.slide-text h2{font-size:clamp(1.85rem,2.8vw,2.7rem);font-weight:900;color:#fff;line-height:1.1;margin-bottom:14px;letter-spacing:-.025em;}
.slide-text p{color:rgba(255,255,255,.75);font-size:.975rem;margin-bottom:28px;line-height:1.65;}
.slide-actions{display:flex;gap:12px;flex-wrap:wrap;}
.slide-visual{flex:0 0 480px;display:flex;align-items:center;justify-content:center;}

/* Productfoto-kader: subtiele glow + diepte */
.img-frame{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  overflow:hidden;
  aspect-ratio:4/3;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 24px 60px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.08);
  transition:box-shadow .4s ease, transform .4s ease;
}
.hero-slide.active .img-frame{
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 32px 80px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.1);
}
.img-frame img{width:100%;height:100%;object-fit:cover;}

.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;z-index:10;}
.hero-arrow:hover{background:rgba(255,255,255,.22);transform:translateY(-50%) scale(1.08);}
.prev-btn{left:24px;}
.next-btn{right:24px;}
.hero-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10;}
.dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;transition:all .3s;}
.dot.active{background:var(--orange);width:24px;border-radius:4px;}

/* ══════════════════════════════════════════════════════════
   PAGE HERO — gestandaardiseerd voor alle categoriepagina's
   ══════════════════════════════════════════════════════════ */
.page-hero {
  background: linear-gradient(135deg, #0d1117 0%, #1a0a00 50%, #3d1800 100%);
  color: #fff;
  padding: 64px 0 56px;
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 65% 85% at 65% 50%, rgba(232,93,4,.14) 0%, transparent 70%);
  pointer-events: none;
}
.page-hero .container {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: center;
  position: relative;
  z-index: 1;
}
.page-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(232,93,4,.15);
  border: 1px solid rgba(232,93,4,.3);
  color: var(--orange);
  padding: 5px 14px;
  border-radius: 50px;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  margin-bottom: 18px;
}
.page-hero h1 {
  font-size: clamp(1.9rem, 3.2vw, 2.8rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -.03em;
  margin-bottom: 16px;
}
.page-hero h1 span { color: var(--orange); }
.page-hero p {
  color: rgba(255,255,255,.75);
  max-width: 52ch;
  line-height: 1.65;
  margin-bottom: 28px;
  font-size: .975rem;
}
.page-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.page-hero-img {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.07);
  aspect-ratio: 4/3;
  width: 100%;
}
.page-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 900px) {
  .page-hero .container { grid-template-columns: 1fr; }
  .page-hero-img { max-width: 480px; aspect-ratio: 16/9; }
}
@media (max-width: 640px) {
  .page-hero { padding: 44px 0 36px; }
  .page-hero h1 { font-size: 1.75rem; }
}

/* USP BAR */
.usp-bar{background:#fff;border-top:1px solid var(--neutral-200);border-bottom:1px solid var(--neutral-200);padding:22px 0;}
.usp-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.usp-item{display:flex;align-items:center;gap:16px;padding:8px 28px;border-right:1px solid var(--neutral-200);}
.usp-item:last-child{border-right:none;}
.usp-icon-wrap{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.usp-orange{background:var(--orange);}
.usp-amber{background:var(--amber);}
.usp-blue{background:var(--blue);}
.usp-green{background:var(--green-usp);}
.usp-text{display:flex;flex-direction:column;}
.usp-text strong{font-size:.9rem;font-weight:700;color:var(--neutral-900);}
.usp-text span{font-size:.78rem;color:var(--neutral-500);}

/* SPECIES */
.species-section{background:var(--neutral-50);}
.section-header{text-align:center;margin-bottom:44px;}
.section-header h2{font-size:1.9rem;font-weight:800;color:var(--neutral-900);letter-spacing:-.025em;margin-bottom:8px;}
.section-header p{color:var(--neutral-500);}
.species-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.species-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s;display:block;}
.species-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.species-img{height:220px;overflow:hidden;}
.species-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.species-card:hover .species-img img{transform:scale(1.06);}
.species-label{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);}
.species-name{display:block;font-size:1.05rem;font-weight:800;color:#fff;}
.species-sub{display:block;font-size:.75rem;color:rgba(255,255,255,.7);margin-top:2px;}

/* FEATURE */
.feature-section{background:#fff;padding:80px 0;}
.feature-inner{display:flex;gap:72px;align-items:center;}
.feature-imgs{flex:0 0 520px;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.feat-main{grid-column:1/-1;border-radius:var(--radius-lg);object-fit:cover;height:240px;width:100%;box-shadow:var(--shadow-md);}
.feat-sub{border-radius:var(--radius-md);object-fit:cover;height:155px;width:100%;box-shadow:var(--shadow-sm);}
.feature-text{flex:1;}
.eyebrow-tag{display:inline-block;background:var(--orange-light);color:var(--orange);border:1px solid rgba(232,93,4,.2);padding:5px 14px;border-radius:50px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;}
.feature-text h2{font-size:clamp(1.5rem,2.3vw,2rem);font-weight:800;color:var(--neutral-900);line-height:1.2;margin-bottom:14px;letter-spacing:-.025em;}
.feature-text p{color:var(--neutral-500);line-height:1.75;margin-bottom:24px;}
.feat-list{margin-bottom:32px;}
.feat-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--neutral-200);font-size:.9rem;color:var(--neutral-700);font-weight:500;}
.feat-list li:last-child{border-bottom:none;}
.feat-list li svg{color:var(--orange);flex-shrink:0;}

/* PRODUCTS */
.products-section{background:var(--neutral-50);}
.section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;}
.section-header-row h2{font-size:1.9rem;font-weight:800;color:var(--neutral-900);letter-spacing:-.025em;}
.text-link{display:flex;align-items:center;gap:4px;color:var(--orange);font-weight:600;font-size:.875rem;}
.text-link:hover{color:var(--orange-dark);}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.product-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .2s,box-shadow .2s;border:1px solid var(--neutral-200);display:block;}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.product-img{height:220px;overflow:hidden;position:relative;background:var(--neutral-100);}
.product-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.product-card:hover .product-img img{transform:scale(1.05);}
.badge{position:absolute;top:12px;left:12px;padding:4px 12px;border-radius:50px;font-size:.7rem;font-weight:700;text-transform:uppercase;}
.badge-orange{background:#fff3ec;color:var(--orange);}
.badge-green{background:#ecfdf5;color:#16a34a;}
.badge-purple{background:#f5f3ff;color:#7c3aed;}
.product-info{padding:16px 18px 16px;}
.prod-cat{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--orange);display:block;margin-bottom:4px;}
.product-info h4{font-size:.95rem;font-weight:700;color:var(--neutral-900);margin-bottom:5px;}
.stars{color:var(--amber);font-size:.85rem;margin-bottom:12px;}
.prod-footer{display:flex;align-items:center;justify-content:space-between;}
.price{font-size:1rem;font-weight:900;color:var(--neutral-900);}
.bekijk-btn{display:inline-flex;align-items:center;background:var(--orange);color:#fff;font-size:.78rem;font-weight:700;padding:7px 14px;border-radius:50px;transition:background .18s;}
.product-card:hover .bekijk-btn{background:var(--orange-dark);}

/* PROMO STRIP — exacte kleur uit bijlage: #e05a03 */
.promo-strip{background:var(--promo-bg);padding:0;overflow:hidden;}
.promo-inner{display:flex;align-items:stretch;min-height:300px;max-width:1280px;margin:0 auto;}
.promo-text{flex:1;padding:56px 60px 56px 32px;display:flex;flex-direction:column;justify-content:center;gap:14px;}
.promo-eyebrow{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.18);color:#ffe8b0;padding:6px 16px;border-radius:50px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;width:fit-content;}
.promo-text h2{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:900;color:#fff;line-height:1.2;max-width:420px;}
.promo-text p{color:rgba(255,255,255,.82);font-size:.9rem;max-width:380px;line-height:1.65;}
.promo-img{flex:0 0 420px;overflow:hidden;}
.promo-img img{width:100%;height:100%;object-fit:cover;}

/* FAQ — JS-based (legacy, backwards compat) */
.faq-section{background:#fff;}
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{background:#fff;border:1px solid var(--neutral-200);margin-bottom:-1px;}
.faq-item:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0;}
.faq-item:last-child{border-radius:0 0 var(--radius-md) var(--radius-md);margin-bottom:0;}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:transparent;border:none;cursor:pointer;text-align:left;gap:16px;font-family:inherit;}
.faq-question span:first-child{font-size:.975rem;font-weight:700;color:var(--neutral-900);}
.faq-icon{width:28px;height:28px;border-radius:50%;background:var(--neutral-100);border:1px solid var(--neutral-200);display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:700;color:var(--neutral-500);flex-shrink:0;transition:all .2s;line-height:1;}
.faq-item.open .faq-icon{background:var(--orange);color:#fff;border-color:var(--orange);}
.faq-item.open{border-left:3px solid var(--orange);}
.faq-answer{display:none;padding:0 24px 20px;}
.faq-item.open .faq-answer{display:block;}
.faq-answer p{font-size:.9rem;color:var(--neutral-500);line-height:1.75;}

/* FAQ — details/summary accordion (homepage & categoriepagina's) */
.faq-accordion{max-width:820px;margin:0 auto;border:1px solid var(--neutral-200);border-radius:var(--radius-lg);overflow:hidden;}
.faq-accordion details{border-bottom:1px solid var(--neutral-200);background:#fff;}
.faq-accordion details:last-child{border-bottom:none;}
.faq-accordion details[open]{border-left:3px solid var(--orange);}
.faq-accordion summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 24px;
  cursor:pointer;
  font-size:.975rem;
  font-weight:700;
  color:var(--neutral-900);
  transition:color .15s;
}
.faq-accordion summary::-webkit-details-marker{display:none;}
.faq-accordion summary::after{
  content:'';
  flex-shrink:0;
  width:28px;height:28px;
  border-radius:50%;
  background:var(--neutral-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center;
  border:1px solid var(--neutral-200);
  transition:transform .2s, background .2s;
}
.faq-accordion details[open] summary::after{
  transform:rotate(180deg);
  background-color:var(--orange);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  border-color:var(--orange);
}
.faq-accordion details[open] summary{color:var(--orange);}
.faq-accordion .faq-body{padding:0 24px 20px;}
.faq-accordion .faq-body p{font-size:.9rem;color:var(--neutral-500);line-height:1.75;}

/* ABOUT */
.about-section{background:var(--neutral-50);}
.about-inner{display:flex;gap:80px;align-items:center;}
.about-img-wrap{flex:0 0 480px;position:relative;}
.about-img-wrap img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);height:420px;object-fit:cover;}
.about-float-badge{position:absolute;bottom:28px;right:-20px;background:var(--orange);color:#fff;border-radius:var(--radius-md);padding:18px 24px;text-align:center;box-shadow:0 8px 24px rgba(232,93,4,.35);}
.badge-num{display:block;font-size:2.4rem;font-weight:900;line-height:1;}
.about-float-badge span:last-child{font-size:.8rem;font-weight:600;opacity:.85;}
.about-text{flex:1;}
.about-text h2{font-size:clamp(1.6rem,2.5vw,2.1rem);font-weight:800;color:var(--neutral-900);line-height:1.2;margin-bottom:14px;letter-spacing:-.025em;}
.about-text p{color:var(--neutral-500);line-height:1.75;margin-bottom:28px;}
.stats-row{display:flex;margin-bottom:32px;border:1px solid var(--neutral-200);border-radius:var(--radius-lg);overflow:hidden;}
.stat-item{flex:1;padding:18px 0;text-align:center;border-right:1px solid var(--neutral-200);}
.stat-item:last-child{border-right:none;}
.stat-item strong{display:block;font-size:1.65rem;font-weight:900;color:var(--orange);}
.stat-item span{font-size:.78rem;color:var(--neutral-500);font-weight:500;}

/* CTA */
.cta-bar{background:#111827;padding:52px 32px;}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;max-width:1280px;margin:0 auto;}
.cta-inner h3{font-size:1.5rem;font-weight:800;color:#fff;}
.cta-inner p{color:rgba(255,255,255,.6);margin-top:6px;}

/* FOOTER */
.site-footer{background:#0d0d0d;color:rgba(255,255,255,.5);padding:64px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr 1fr 1fr;gap:32px;padding-bottom:48px;}
.footer-logo-wrap{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.footer-logo-text{font-size:1.5rem;font-weight:900;color:#fff;letter-spacing:-.04em;}
.footer-brand p{font-size:.875rem;line-height:1.7;margin-bottom:16px;}
.footer-fb{color:rgba(255,255,255,.55);font-size:.875rem;font-weight:600;}
.footer-fb:hover{color:var(--orange);}
.footer-col h4{color:#fff;font-weight:700;margin-bottom:18px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;}
.footer-col ul li a{display:block;padding:5px 0;font-size:.875rem;transition:color .15s;}
.footer-col ul li a:hover{color:var(--orange);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding:20px 0;}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.footer-bottom span{font-size:.8rem;color:rgba(255,255,255,.3);}
.pay-row{display:flex;gap:8px;}
.pay-badge{font-size:.72rem;color:rgba(255,255,255,.4);background:rgba(255,255,255,.05);padding:4px 10px;border-radius:4px;border:1px solid rgba(255,255,255,.08);}

/* RESPONSIVE */
@media(max-width:1100px){
  .species-grid{grid-template-columns:repeat(2,1fr);}
  .products-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr 1fr;}
  .feature-inner{flex-direction:column;}
  .feature-imgs{flex:none;width:100%;}
  .about-inner{flex-direction:column;}
  .about-img-wrap{flex:none;width:100%;}
  .about-float-badge{right:20px;}
  .promo-inner{flex-direction:column;}
  .promo-img{flex:none;height:200px;}
  .slide-visual{flex:0 0 340px;}
  .slide-inner{padding:0 32px;}
}
@media(max-width:768px){
  .topbar-inner{flex-wrap:wrap;white-space:normal;justify-content:center;}
  .sep{display:none;}
  .main-nav{display:none;}
  .header-inner{gap:12px;height:60px;}
  .cart-btn span:not(.cart-count){display:none;}
  .cart-btn{padding:10px 14px;gap:6px;}
  .hero{height:auto;min-height:420px;}
  .slide-inner{flex-direction:column;padding:32px 20px;gap:20px;align-items:flex-start;}
  .slide-visual{flex:none;width:100%;max-width:260px;}
  .slide-text h2{font-size:1.6rem;}
  .usp-grid{grid-template-columns:1fr 1fr;}
  .usp-item{border-right:none;padding:12px 16px;}
  .species-grid{grid-template-columns:1fr 1fr;}
  .products-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .footer-grid{grid-template-columns:1fr;}
  .cta-inner{flex-direction:column;align-items:flex-start;}
  .stats-row{flex-direction:column;}
  .stat-item{border-right:none;border-bottom:1px solid var(--neutral-200);}
  .footer-bottom-inner{flex-direction:column;}
  .promo-text{padding:40px 24px;}
}

/* ============================================================
   BOPETS — GEDEELDE COMPONENTEN v2
   Alle herhalende stijlen uit categorie- en landingspagina's
   ============================================================ */

/* ── HAMBURGER & MOBILE NAV ─────────────────────────────── */
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);padding:6px;transition:background .15s;}
.hamburger:hover{background:var(--neutral-100);}
.hamburger span{display:block;width:22px;height:2px;background:var(--neutral-700);border-radius:2px;transition:all .25s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-nav{display:none;position:fixed;inset:0;z-index:400;pointer-events:none;}
.mobile-nav.open{display:block;pointer-events:all;}
.mobile-nav-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);}
.mobile-nav-panel{position:absolute;top:0;left:0;bottom:0;width:min(300px,85vw);background:#fff;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .3s ease;}
.mobile-nav.open .mobile-nav-panel{transform:translateX(0);}
.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 16px;border-bottom:1px solid var(--neutral-200);}
.mobile-nav-logo{font-size:1.5rem;font-weight:900;color:var(--neutral-900);letter-spacing:-.04em;}
.mobile-nav-logo span{color:var(--orange);}
.mobile-nav-close{width:34px;height:34px;border:none;background:var(--neutral-100);border-radius:50%;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;color:var(--neutral-600);}
.mobile-nav-close:hover{background:var(--neutral-200);}
.mobile-nav-links{flex:1;overflow-y:auto;padding:12px 0;}
.mobile-nav-links a{display:flex;align-items:center;gap:14px;padding:14px 22px;font-size:.95rem;font-weight:700;color:var(--neutral-700);border-left:3px solid transparent;transition:all .15s;}
.mobile-nav-links a:hover{color:var(--orange);background:var(--orange-light);border-left-color:var(--orange);}
.mobile-nav-links .m-sep{height:1px;background:var(--neutral-200);margin:8px 22px;}
.mobile-nav-foot{padding:16px 20px;border-top:1px solid var(--neutral-200);}
.mobile-nav-foot a{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);color:#fff;padding:13px 20px;border-radius:50px;font-weight:700;font-size:.9rem;}
.mobile-nav-foot a:hover{background:var(--orange-dark);}

/* ── PAGE HEAD (categoriepagina's) ──────────────────────── */
.page-head{background:linear-gradient(135deg,#0d1117 0%,#1a0a00 50%,#3d1800 100%);color:#fff;padding:60px 0 50px;position:relative;overflow:hidden;}
.page-head::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 60% 50%, rgba(232,93,4,.13) 0%, transparent 70%);pointer-events:none;}
.page-head .container{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;position:relative;}
.page-head-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);background:rgba(232,93,4,.12);border:1px solid rgba(232,93,4,.25);border-radius:999px;padding:5px 13px;margin-bottom:14px;}
.page-head h1{font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.08;letter-spacing:-.03em;margin-bottom:14px;font-weight:900;}
.page-head h1 span{color:var(--orange);}
.page-head p{color:rgba(255,255,255,.75);max-width:54ch;line-height:1.6;margin-bottom:20px;}
.head-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.usp-strips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.usp-strip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:7px 11px;font-size:.8rem;color:rgba(255,255,255,.85);}
.usp-strip svg{color:var(--orange);flex-shrink:0;}
.usp-strip b{color:#fff;}
.head-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:24px;overflow:hidden;padding:8px;}
.head-card img{
    width:100%;
    height:auto;
    display:block;
    border-radius:18px;
}

/* ── BREADCRUMB ─────────────────────────────────────────── */
.crumbs{padding:14px 0;font-size:.82rem;color:var(--neutral-500);}
.crumbs a{color:var(--orange);font-weight:600;text-decoration:none;}
.crumbs a:hover{text-decoration:underline;}
.muted{color:var(--neutral-500);}

/* ── PAGE SHELL ─────────────────────────────────────────── */
.page-shell{background:var(--neutral-50);padding:32px 0 72px;}

/* ── SIDEBAR GRID ───────────────────────────────────────── */
.grid{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start;}

/* ── FILTER PANEL ───────────────────────────────────────── */
.panel{background:#fff;border:1px solid var(--neutral-200);border-radius:20px;box-shadow:0 2px 12px rgba(0,0,0,.06);position:sticky;top:20px;}
.panel-h{padding:15px 16px 13px;border-bottom:1px solid var(--neutral-200);display:flex;align-items:center;justify-content:space-between;gap:10px;}
.panel-h strong{font-size:.95rem;color:var(--neutral-900);font-weight:800;}
.panel-seo{padding:12px 16px;border-bottom:1px solid var(--neutral-200);}
.panel-seo-title{font-size:.82rem;font-weight:800;color:var(--neutral-700);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px;}
.panel-seo a{display:block;padding:5px 0;font-size:.85rem;font-weight:600;color:var(--neutral-700);transition:color .15s;}
.panel-seo a:hover{color:var(--orange);}
.panel-seo a.active{color:var(--orange);font-weight:800;}
.panel-seo a svg{display:inline;vertical-align:-1px;margin-right:4px;}
.panel-b{padding:12px 16px 16px;}
.filter-group{padding:12px 0;border-bottom:1px solid var(--neutral-100);}
.filter-group:last-child{border-bottom:none;padding-bottom:0;}
.filter-title{font-weight:800;color:var(--neutral-700);font-size:.83rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;}
.chk{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:.875rem;color:var(--neutral-700);cursor:pointer;border-radius:8px;}
.chk:hover{color:var(--neutral-900);}
.chk input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:17px;height:17px;border:2px solid var(--neutral-300,#d1d5db);border-radius:5px;cursor:pointer;flex-shrink:0;transition:border-color .15s,background .15s;position:relative;}
.chk input[type="checkbox"]:checked{background:var(--orange);border-color:var(--orange);}
.chk input[type="checkbox"]:checked::after{content:'';position:absolute;top:2px;left:5px;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg);}
.color-chk-row{display:flex;align-items:center;gap:9px;padding:6px 0;cursor:pointer;font-size:.875rem;color:var(--neutral-700);}
.color-dot{width:18px;height:18px;border-radius:50%;border:2px solid rgba(0,0,0,.1);flex-shrink:0;}
.range-row input{width:100%;accent-color:var(--orange);}
.range-meta{display:flex;justify-content:space-between;margin-top:6px;font-size:.78rem;color:var(--neutral-500);}
.price-display{font-size:1rem;font-weight:900;color:var(--orange);text-align:right;display:block;margin-bottom:6px;}
.price-inputs{display:flex;align-items:center;gap:6px;}
.price-input-wrap{display:flex;align-items:center;flex:1;border:1.5px solid var(--neutral-200);border-radius:8px;padding:0 8px;background:#fff;transition:border-color .15s;}
.price-input-wrap:focus-within{border-color:var(--orange);}
.price-input-cur{font-size:.85rem;font-weight:700;color:var(--neutral-400);margin-right:2px;user-select:none;}
.price-input-wrap input[type="number"]{border:none;outline:none;width:100%;padding:7px 0;font-size:.9rem;font-weight:600;color:var(--neutral-800);font-family:inherit;background:transparent;-moz-appearance:textfield;}
.price-input-wrap input[type="number"]::-webkit-inner-spin-button,.price-input-wrap input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.price-input-sep{color:var(--neutral-300);font-weight:700;font-size:.85rem;flex-shrink:0;}
.dual-range{position:relative;height:28px;margin-top:6px;}
.dual-range-track{position:absolute;top:50%;left:0;right:0;height:4px;transform:translateY(-50%);background:var(--neutral-200);border-radius:2px;}
.dual-range-fill{position:absolute;top:50%;height:4px;transform:translateY(-50%);background:var(--orange);border-radius:2px;pointer-events:none;}
.dual-range input[type="range"]{position:absolute;top:0;left:0;width:100%;height:100%;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;margin:0;}
.dual-range input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2.5px solid var(--orange);box-shadow:0 1px 4px rgba(0,0,0,.15);cursor:pointer;pointer-events:auto;position:relative;z-index:2;transition:box-shadow .15s,transform .1s;}
.dual-range input[type="range"]::-webkit-slider-thumb:hover{box-shadow:0 0 0 5px rgba(232,93,4,.12);transform:scale(1.1);}
.dual-range input[type="range"]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2.5px solid var(--orange);box-shadow:0 1px 4px rgba(0,0,0,.15);cursor:pointer;pointer-events:auto;position:relative;z-index:2;}
.dual-range input[type="range"]::-moz-range-thumb:hover{box-shadow:0 0 0 5px rgba(232,93,4,.12);}
.dual-range input[type="range"]::-moz-range-track{background:transparent;border:none;}
.dual-range input[type="range"]::-webkit-slider-runnable-track{background:transparent;}
.filter-tip{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:12px;padding:10px 12px;font-size:.82rem;color:var(--neutral-600);line-height:1.5;margin-top:4px;}
.filter-tip strong{color:var(--neutral-800,#1f2937);}
.filter-swatches{display:flex;flex-wrap:wrap;gap:6px;}
.chk-swatch{display:flex;align-items:center;gap:6px;padding:5px 10px 5px 6px;border:1.5px solid var(--neutral-200);border-radius:20px;cursor:pointer;font-size:.8rem;color:var(--neutral-600);background:#fff;transition:border-color .15s,box-shadow .15s;}
.chk-swatch:hover{border-color:var(--neutral-400);box-shadow:0 1px 3px rgba(0,0,0,.08);}
.chk-swatch input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.chk-swatch input[type="checkbox"]:checked+.swatch-dot{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--orange);}
.chk-swatch:has(input:checked){border-color:var(--orange);background:var(--orange-50,#fff7ed);color:var(--neutral-900);}
.swatch-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.1);transition:box-shadow .15s;}
.swatch-label{white-space:nowrap;font-weight:500;line-height:1;}

/* ── CONTROLS BAR ───────────────────────────────────────── */
.controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;background:#fff;border:1px solid var(--neutral-200);border-radius:14px;padding:10px 14px;box-shadow:0 1px 6px rgba(0,0,0,.05);}
.controls .left{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.count-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:999px;font-size:.82rem;color:var(--neutral-600);}
.count-pill b{color:var(--neutral-900);font-weight:900;}
.active-filter-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;background:rgba(232,93,4,.08);border:1px solid rgba(232,93,4,.2);border-radius:999px;font-size:.82rem;color:var(--orange);font-weight:700;}
.sort{display:flex;gap:8px;align-items:center;}
.sort label{font-size:.82rem;color:var(--neutral-500);font-weight:600;white-space:nowrap;}
.sort select{padding:8px 12px;border-radius:10px;border:1px solid var(--neutral-200);background:#fff;font-family:inherit;font-weight:700;font-size:.85rem;color:var(--neutral-700);}

/* ── PRODUCT GRID EMPTY STATE ────────────────────────────── */
.empty{padding:22px;border:1px dashed var(--neutral-200);border-radius:16px;background:#fff;margin-top:14px;text-align:center;color:var(--neutral-500);}

/* ── SEO PHOTO ROW ───────────────────────────────────────── */
.seo-photo-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin:16px 0 20px;}
.seo-photo-row img{width:100%;height:220px;object-fit:cover;border-radius:14px;box-shadow:var(--shadow-md);}

.seo-wrap{background:#fff;border-top:1px solid var(--neutral-200);}
.seo-inner{max-width:900px;margin:0 auto;padding:64px 32px;}
.seo-inner h2{font-size:1.65rem;font-weight:900;color:var(--neutral-900);letter-spacing:-.025em;margin-bottom:16px;}
.seo-inner h2 span{color:var(--orange);}
.seo-inner h3{font-size:1.05rem;font-weight:900;color:var(--neutral-900);margin:28px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--neutral-100);}
.seo-inner p{color:var(--neutral-600);line-height:1.7;margin-bottom:14px;}
.seo-inner ul{list-style:none;padding:0;margin:0 0 14px;}
.seo-inner ul li{color:var(--neutral-600);padding:5px 0 5px 22px;position:relative;line-height:1.55;}
.seo-inner ul li::before{content:'→';position:absolute;left:0;color:var(--orange);font-weight:900;}

/* ── CHECKLIST CARDS ─────────────────────────────────────── */
.checklist-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0 24px;}
.checklist-card{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:14px;padding:14px 16px;}
.checklist-card-icon{font-size:1.25rem;margin-bottom:6px;}
.checklist-card-title{font-size:.88rem;font-weight:900;color:var(--neutral-900);margin-bottom:4px;}
.checklist-card-text{font-size:.82rem;color:var(--neutral-600);line-height:1.5;}

/* ── SIZE GUIDE TABLE ────────────────────────────────────── */
.size-guide{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:16px;overflow:hidden;margin:16px 0 24px;}
.size-guide table{width:100%;border-collapse:collapse;font-size:.9rem;}
.size-guide table th{background:var(--neutral-900);color:#fff;padding:10px 14px;text-align:left;font-weight:800;font-size:.8rem;letter-spacing:.04em;}
.size-guide table td{padding:10px 14px;border-bottom:1px solid var(--neutral-200);color:var(--neutral-700);}
.size-guide table tr:last-child td{border-bottom:none;}
.size-guide table tr:nth-child(even) td{background:rgba(0,0,0,.02);}

/* ── SEO MODEL CARDS (eenvoudige tekst) ──────────────────── */
.model-cards-text{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 24px;}
.model-cards-text .mc{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:14px;padding:14px 16px;}
.model-cards-text .mc-name{font-size:.95rem;font-weight:900;color:var(--neutral-900);margin-bottom:4px;}
.model-cards-text .mc-sub{font-size:.78rem;font-weight:700;color:var(--orange);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;}
.model-cards-text .mc-text{font-size:.82rem;color:var(--neutral-600);line-height:1.5;}

/* ── FAQ DETAILS/SUMMARY (categoriepagina's) ─────────────── */
.faq{margin-top:32px;}
.faq-title{font-size:1.2rem;font-weight:900;color:var(--neutral-900);margin-bottom:16px;}
.faq-list details{border-bottom:1px solid var(--neutral-200);background:#fff;}
.faq-list details:last-child{border-bottom:none;}
.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;cursor:pointer;font-weight:800;font-size:.93rem;color:var(--neutral-800,#1f2937);}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{content:'';flex-shrink:0;width:24px;height:24px;background:var(--neutral-100);border-radius:50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23e85d04' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;transition:transform .2s;}
.faq-list details[open] summary::after{transform:rotate(180deg);}
.faq-list details[open] summary{color:var(--orange);}
.faq-list .a{padding:0 20px 18px;color:var(--neutral-600);font-size:.9rem;line-height:1.65;}

/* ── MODEL CARDS (Fantail productkaarten) ────────────────── */
.model-row{padding:32px 0 8px;background:var(--neutral-50);border-bottom:1px solid var(--neutral-200);}
.model-row-head{text-align:center;margin-bottom:22px;}
.model-row-head p{font-size:.9rem;color:var(--neutral-500);margin-top:6px;}
.model-row-title{font-size:1.25rem;font-weight:900;color:var(--neutral-900);letter-spacing:-.02em;}
.model-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.model-card{display:block;background:#fff;border:1px solid var(--neutral-200);border-radius:20px;overflow:hidden;box-shadow:0 4px 18px rgba(15,23,42,.07);text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s;}
.model-card:hover{box-shadow:0 10px 32px rgba(232,93,4,.18);transform:translateY(-3px);}
.model-card .media{aspect-ratio:4/3;background:var(--neutral-50);overflow:hidden;border-bottom:1px solid var(--neutral-100);}
.model-card .media img{width:100%;height:100%;object-fit:cover;}
.model-card .body{padding:14px 16px 18px;}
.model-card .mc-eyebrow{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);font-weight:900;margin-bottom:4px;}
.model-card .mc-name{font-size:1rem;font-weight:900;color:var(--neutral-900);margin-bottom:6px;}
.model-card .mc-desc{color:var(--neutral-600);line-height:1.5;font-size:.875rem;margin:0 0 12px;}
.model-card .mc-price{font-size:.8rem;color:var(--neutral-500);font-weight:600;margin-bottom:10px;}
.model-card .mc-link{display:inline-flex;align-items:center;gap:7px;font-weight:900;font-size:.87rem;color:var(--orange);}

/* ── SEO TIPS (Fantail pagina) ───────────────────────────── */
.seo-tips{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 28px;}
.seo-tip{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:14px;padding:14px 16px;}
.seo-tip-num{font-size:1.5rem;font-weight:900;color:var(--orange);line-height:1;margin-bottom:4px;}
.seo-tip-text{font-size:.85rem;color:var(--neutral-600);line-height:1.5;}

/* ── RESPONSIVE — SHARED COMPONENTS ─────────────────────── */
@media(max-width:768px){
  .hamburger{display:flex;}
  .main-nav{display:none;}
}
@media(max-width:980px){
  .page-head .container{grid-template-columns:1fr;}
  .head-card{display:none;}
  .grid{grid-template-columns:1fr;}
  .panel{position:static;}
  .model-cards{grid-template-columns:repeat(2,1fr);}
  .model-cards-text{grid-template-columns:1fr 1fr;}
  .seo-tips{grid-template-columns:1fr 1fr;}
  .checklist-cards{grid-template-columns:1fr;}
  .seo-photo-row{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .controls{flex-direction:column;align-items:stretch;}
  .sort{justify-content:space-between;}
  .seo-inner{padding:40px 20px;}
  .seo-tips{grid-template-columns:1fr;}
  .model-cards-text{grid-template-columns:1fr;}
  .size-guide table{font-size:.78rem;}
  .size-guide table th,.size-guide table td{padding:8px 10px;}
}
@media(max-width:520px){
  .model-cards{grid-template-columns:1fr;}
}

/* ============================================================
   BOPETS — HONDENMAND PAGINA UITBREIDINGEN
   ============================================================ */

/* ── SUB-CATEGORIE NAVIGATIE ────────────────────────────────
   Horizontale scrollbare pill-rij direct onder hero
   Vergelijkbaar met Medpets category nav — verbetert interne
   linking en UX op mobiel
─────────────────────────────────────────────────────────── */
.subcat-nav {
  background: #fff;
  border-bottom: 1px solid var(--neutral-200);
  padding: 0;
}
.subcat-nav .container {
  padding-top: 0;
  padding-bottom: 0;
}
.subcat-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 12px 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.subcat-scroll::-webkit-scrollbar { display: none; }
.subcat-pill {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 7px 16px;
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 700;
  border: 1.5px solid var(--neutral-200);
  color: var(--neutral-600);
  background: #fff;
  transition: all .15s;
  text-decoration: none;
  flex-shrink: 0;
}
.subcat-pill:hover {
  border-color: var(--orange);
  color: var(--orange);
  background: var(--orange-light);
}
.subcat-pill.active {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
}

/* ── CATEGORY INTRO ─────────────────────────────────────── */
.category-intro {
  padding: 28px 0 20px;
  background: #fff;
}
.category-intro h2 {
  font-size: 1.35rem;
  font-weight: 900;
  color: var(--neutral-900);
  letter-spacing: -.02em;
  margin-bottom: 10px;
}
.category-intro p {
  color: var(--neutral-600);
  line-height: 1.7;
}

/* ── INTERNAL LINKS BLOCK ───────────────────────────────── */
.internal-links-block {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--neutral-200);
}
.internal-links-title {
  font-size: 1rem;
  font-weight: 900;
  color: var(--neutral-900);
  margin-bottom: 14px;
}
.internal-links-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.int-link-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: var(--neutral-50);
  border: 1px solid var(--neutral-200);
  border-radius: 12px;
  text-decoration: none;
  color: var(--neutral-700);
  font-size: .875rem;
  font-weight: 600;
  transition: all .15s;
}
.int-link-card:hover {
  border-color: var(--orange);
  color: var(--orange);
  background: var(--orange-light);
  transform: translateY(-1px);
}
.int-link-icon {
  font-size: 1.2rem;
  flex-shrink: 0;
}
.int-link-name {
  line-height: 1.3;
}

/* ── RESPONSIVE AANVULLINGEN ────────────────────────────── */
@media (max-width: 768px) {
  .internal-links-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .category-intro {
    padding: 20px 0 12px;
  }
}
@media (max-width: 480px) {
  .internal-links-grid {
    grid-template-columns: 1fr 1fr;
  }
  .subcat-pill {
    font-size: .78rem;
    padding: 6px 12px;
  }
}

.usp-strips {
  margin-bottom: 30px;
}

/* ══════════════════════════════════════════════════════════
   SHOP GRID, FILTERS & PANEL (category pages)
   ══════════════════════════════════════════════════════════ */
.shop-grid {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 28px;
  align-items: start;
}
.panel {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  position: sticky;
  top: 20px;
}
.panel-h {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid var(--neutral-200);
  font-weight: 800;
  font-size: .9rem;
  color: var(--neutral-900);
}
.panel-b { padding: 16px 18px; display: flex; flex-direction: column; gap: 18px; }
.filter-group { display: flex; flex-direction: column; gap: 6px; }
.filter-title { font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; color: var(--neutral-500); margin-bottom: 2px; }
.chk { display: flex; align-items: center; gap: 8px; font-size: .875rem; color: var(--neutral-700); font-weight: 500; cursor: pointer; }
.chk input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--orange); cursor: pointer; }
.color-chk-row { display: flex; align-items: center; gap: 8px; }
.color-dot { width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0; border: 1px solid rgba(0,0,0,.1); }
.price-display { font-size: 1.1rem; font-weight: 900; color: var(--orange); }
.range-meta { display: flex; justify-content: space-between; font-size: .75rem; color: var(--neutral-400); margin-top: 4px; }
.filter-tip { font-size: .8rem; color: var(--neutral-500); line-height: 1.55; background: var(--neutral-50); border-radius: 10px; padding: 10px 12px; border: 1px solid var(--neutral-200); }
.btn-reset { padding: 7px 14px; border-radius: 999px; background: var(--orange-light); color: var(--orange); font-size: .8rem; font-weight: 800; border: 1px solid rgba(232,93,4,.2); cursor: pointer; font-family: inherit; transition: background .15s; }
.btn-reset:hover { background: rgba(232,93,4,.18); }

/* Controls bar */
.controls { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; gap: 12px; flex-wrap: wrap; }
.controls-left { display: flex; align-items: center; gap: 8px; }

/* SEO links in content */
.seo-inner a { color: var(--orange); font-weight: 600; }
.seo-inner a:hover { text-decoration: underline; }
.faq-list .a a { color: var(--orange); font-weight: 600; }
.faq-list .a a:hover { text-decoration: underline; }
.faq-accordion .faq-body a { color: var(--orange); font-weight: 600; }

/* ══════════════════════════════════════════════════════════
   MOBILE NAV
   ══════════════════════════════════════════════════════════ */
.mobile-nav { position: fixed; inset: 0; z-index: 500; pointer-events: none; }
.mobile-nav.open { pointer-events: auto; }
.mobile-nav-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.45); backdrop-filter: blur(2px); opacity: 0; transition: opacity .3s; }
.mobile-nav.open .mobile-nav-overlay { opacity: 1; }
.mobile-nav-panel { position: absolute; top: 0; left: 0; bottom: 0; width: min(300px,85vw); background: #fff; box-shadow: var(--shadow-lg); display: flex; flex-direction: column; transform: translateX(-100%); transition: transform .3s ease; }
.mobile-nav.open .mobile-nav-panel { transform: translateX(0); }
.mobile-nav-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--neutral-200); }
.mobile-nav-logo { font-size: 1.6rem; font-weight: 900; letter-spacing: -.04em; }
.mobile-nav-logo span { color: var(--orange); }
.mobile-nav-close { width: 36px; height: 36px; border: none; background: var(--neutral-100); border-radius: 50%; cursor: pointer; font-size: 1rem; display: flex; align-items: center; justify-content: center; }
.mobile-nav-links { flex: 1; overflow-y: auto; padding: 10px 0; }
.mobile-nav-links a { display: block; padding: 11px 24px; font-size: .9rem; font-weight: 600; color: var(--neutral-700); border-bottom: 1px solid var(--neutral-100); transition: color .15s, background .15s; border-left: 3px solid transparent; }
.mobile-nav-links a:hover,
.mobile-nav-links a.active { color: var(--orange); background: var(--orange-light); border-left-color: var(--orange); }
.mobile-nav-links .m-section { padding: 14px 24px 6px; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; color: var(--neutral-500); }
.mobile-nav-links .m-sub { padding-left: 36px; font-size: .855rem; font-weight: 500; }
.m-sep { height: 1px; background: var(--neutral-200); margin: 8px 0; }
.mobile-nav-foot { padding: 16px 20px; border-top: 1px solid var(--neutral-200); }
.mobile-nav-foot a { display: block; text-align: center; background: var(--orange); color: #fff; padding: 13px; border-radius: 12px; font-weight: 700; font-size: .9rem; }

/* Hamburger */
.hamburger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px; background: transparent; border: none; cursor: pointer; padding: 6px; border-radius: 8px; flex-shrink: 0; }
.hamburger span { display: block; height: 2.5px; background: var(--neutral-700); border-radius: 2px; transition: all .3s; }
.hamburger.open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }
@media (max-width: 768px) { .hamburger { display: flex; } }

/* ══════════════════════════════════════════════════════════
   BRAND / MATERIAL CARDS (snoepjes, speelgoed)
   ══════════════════════════════════════════════════════════ */
.brand-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 24px 0 32px;
}
.brand-card {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: var(--radius-xl);
  padding: 20px 22px 22px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .2s, transform .2s, border-color .2s;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.brand-card:hover { box-shadow: 0 6px 24px rgba(232,93,4,.16); transform: translateY(-3px); border-color: rgba(232,93,4,.25); }
.brand-card-icon { font-size: 2rem; line-height: 1; }
.brand-card-name { font-size: 1rem; font-weight: 900; color: var(--neutral-900); }
.brand-card-sub { font-size: .8rem; color: var(--neutral-500); line-height: 1.5; }
.brand-card-tag { display: inline-block; background: var(--orange-light); color: var(--orange); font-size: .72rem; font-weight: 800; padding: 2px 9px; border-radius: 999px; border: 1px solid rgba(232,93,4,.2); margin-top: auto; align-self: flex-start; }

.material-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 24px 0 36px;
}
.mat-card {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: var(--radius-xl);
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  transition: box-shadow .2s, transform .18s, border-color .2s;
}
.mat-card:hover { box-shadow: 0 6px 22px rgba(232,93,4,.14); transform: translateY(-2px); border-color: rgba(232,93,4,.22); }
.mat-icon { font-size: 1.75rem; line-height: 1; }
.mat-name { font-size: .95rem; font-weight: 900; color: var(--neutral-900); }
.mat-desc { font-size: .8rem; color: var(--neutral-500); line-height: 1.55; }
.mat-tag { display: inline-block; background: var(--orange-light); color: var(--orange); font-size: .7rem; font-weight: 800; padding: 2px 8px; border-radius: 999px; border: 1px solid rgba(232,93,4,.2); margin-top: auto; align-self: flex-start; }

/* ══════════════════════════════════════════════════════════
   FANTAIL INTERNAL LINKS GRID
   ══════════════════════════════════════════════════════════ */
.intern-links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.intern-link-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid rgba(232,93,4,.2);
  border-radius: 10px;
  font-size: .83rem;
  font-weight: 700;
  color: var(--neutral-800);
  text-decoration: none;
  transition: border-color .15s, background .15s;
}
.intern-link-item:hover {
  border-color: var(--orange);
  background: var(--orange-light);
  color: var(--orange);
}
.intern-link-item .arr { color: var(--orange); flex-shrink: 0; }
.intern-links-block {
  background: var(--orange-light);
  border: 2px solid rgba(232,93,4,.18);
  border-radius: 16px;
  padding: 24px 28px;
  margin: 32px 0;
}
.intern-links-block-title {
  font-size: .75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: var(--orange);
  margin-bottom: 14px;
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE — SHOP PAGES
   ══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .shop-grid { grid-template-columns: 1fr; }
  .panel { position: static; }
  .brand-cards { grid-template-columns: repeat(2, 1fr); }
  .material-strip { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .topbar-inner { justify-content: center; overflow-x: auto; scrollbar-width: none; white-space:normal; }
  .topbar-inner::-webkit-scrollbar { display: none; }
  .topbar-inner span { padding: 0 8px; font-size: .72rem; }
  .brand-cards { grid-template-columns: 1fr; }
  .material-strip { grid-template-columns: 1fr; }
}

/* Scroll reveal (fantail) */
@media (prefers-reduced-motion: no-preference) {
  .reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
  .reveal.visible { opacity: 1; transform: none; }
}

/* ══════════════════════════════════════════════════════════
   CATEGORY PAGE SHARED (cat-grid, section-hdr, promo-strip)
   ══════════════════════════════════════════════════════════ */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}

/* ── Product Card ────────────────────────────────────────── */
.cat-card{
  background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.03);
  border:1px solid var(--neutral-200);
  text-decoration:none;color:inherit;
  transition:box-shadow .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),border-color .35s;
  display:flex;flex-direction:column;position:relative;
}
.cat-card:hover{
  box-shadow:0 12px 40px rgba(232,93,4,.12),0 4px 12px rgba(0,0,0,.06);
  transform:translateY(-4px);border-color:rgba(232,93,4,.18);
}

/* ── Image area ──────────────────────────────────────────── */
.cat-img{
  aspect-ratio:1/1;overflow:hidden;position:relative;
  background:linear-gradient(145deg,#fafafa 0%,#f3f4f6 100%);
  padding:16px;
}
.cat-img img{
  width:100%;height:100%;object-fit:contain;
  transition:transform .5s cubic-bezier(.4,0,.2,1);
  mix-blend-mode:multiply;
}
.cat-img img{opacity:0;transition:opacity .3s ease,transform .5s cubic-bezier(.4,0,.2,1);}
.cat-img img.loaded{opacity:1;}
.cat-card:hover .cat-img img.loaded{transform:scale(1.06);}

/* Wishlist heart button */
.cat-wish{
  position:absolute;top:12px;right:12px;z-index:3;
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.85);backdrop-filter:blur(6px);
  border:1px solid rgba(0,0,0,.06);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;
  opacity:0;transform:scale(.85);
}
.cat-card:hover .cat-wish{opacity:1;transform:scale(1);}
.cat-wish:hover{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1);}
.cat-wish:hover svg{color:#e85d04;}
.cat-wish svg{width:18px;height:18px;color:var(--neutral-400);transition:color .2s;}

/* Badges */
.cat-img .cat-badge{
  position:absolute;top:12px;left:12px;
  padding:4px 10px;border-radius:8px;
  font-size:.68rem;font-weight:700;letter-spacing:.02em;
  z-index:2;line-height:1.3;
  backdrop-filter:blur(4px);
}
.cat-badge-stock{background:rgba(22,163,74,.12);color:#15803d;border:1px solid rgba(22,163,74,.1);}
.cat-badge-sale{background:rgba(220,38,38,.08);color:#dc2626;border:1px solid rgba(220,38,38,.08);}
.cat-badge-ship{
  background:rgba(232,93,4,.1);color:#c2410c;border:1px solid rgba(232,93,4,.1);
  top:auto !important;bottom:12px;left:12px;
  display:flex;align-items:center;gap:5px;
  font-size:.82rem;font-weight:800;
  padding:6px 14px;border-radius:10px;
}
.cat-badge-ship svg{width:14px;height:14px;flex-shrink:0;color:#c2410c;}
.cat-badge-ship::before{display:none;}

/* Low stock pulsing dot */
.cat-badge-stock .stock-dot{
  display:inline-block;width:6px;height:6px;border-radius:50%;
  background:#16a34a;margin-right:4px;vertical-align:middle;
  animation:stockPulse 2s ease-in-out infinite;
}
@keyframes stockPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(.7);}}

/* ── Card body ───────────────────────────────────────────── */
.cat-body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column;gap:2px;}
.cat-label{
  font-size:.65rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--orange);margin-bottom:2px;
}
.cat-body h3{
  font-size:.88rem;font-weight:650;margin:0;color:var(--neutral-900);
  line-height:1.38;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:2.4em;
}

/* Price row — prominent anchor */
.cat-price-row{display:flex;align-items:baseline;gap:7px;margin-top:6px;}
.cat-price{font-size:1.15rem;font-weight:800;color:var(--neutral-900);letter-spacing:-.02em;}
.cat-price-old{font-size:.78rem;font-weight:500;color:var(--neutral-400);text-decoration:line-through;}
.cat-price-from{font-size:.7rem;font-weight:600;color:var(--neutral-500);}
.cat-save-badge{font-size:.7rem;font-weight:700;color:#16a34a;background:rgba(22,163,74,.08);padding:1px 6px;border-radius:4px;white-space:nowrap;}

/* Image dots (multi-image indicator) */
.cat-dots{
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);
  display:flex;gap:5px;z-index:2;
  opacity:0;transition:opacity .2s;
}
.cat-card:hover .cat-dots{opacity:1;}
.cat-dot{
  width:7px;height:7px;border-radius:50%;
  background:rgba(0,0,0,.2);
  cursor:pointer;transition:all .2s;
  border:1px solid rgba(255,255,255,.6);
}
.cat-dot.active{background:var(--orange);border-color:var(--orange);width:16px;border-radius:4px;}
.cat-dot:hover{background:var(--orange);border-color:var(--orange);}

/* Variants pill */
.cat-variants{
  display:inline-flex;align-items:center;gap:4px;
  font-size:.7rem;font-weight:600;color:var(--neutral-600);
  background:var(--neutral-100);padding:3px 10px;border-radius:6px;margin-top:4px;
  width:fit-content;
}

/* Stock status */
.cat-stock{font-size:.72rem;font-weight:600;margin-top:4px;display:flex;align-items:center;gap:4px;}

/* Shipping line */
.cat-shipping{
  font-size:.68rem;font-weight:500;color:var(--neutral-400);
  margin-top:2px;display:flex;align-items:center;gap:4px;
}
.cat-shipping svg{width:12px;height:12px;flex-shrink:0;}

/* ── Out-of-stock card ────────────────────────────────────── */
.cat-card-oos .cat-img{opacity:.6;filter:grayscale(.3);}
.cat-card-oos:hover .cat-img{opacity:.8;filter:grayscale(.1);}
.cat-cta-notify{
  background:#fff !important;color:var(--orange) !important;
  border:2px solid var(--orange);
  box-shadow:none !important;
}
.cat-cta-notify:hover{background:var(--orange-light,#fff8f3) !important;}
.cat-cta-saved{
  background:var(--orange-light,#fff8f3) !important;
  border-color:var(--orange) !important;
}

/* ── Card footer ─────────────────────────────────────────── */
.cat-footer{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px;}
.cat-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  background:var(--orange);color:#fff;
  padding:10px 16px;border-radius:10px;
  font-weight:700;font-size:.8rem;
  transition:all .25s cubic-bezier(.4,0,.2,1);flex:1;
  box-shadow:0 2px 8px rgba(232,93,4,.2);
}
.cat-cta:hover{
  background:var(--orange-dark);
  box-shadow:0 4px 16px rgba(232,93,4,.3);
  transform:translateY(-1px);
}
.cat-cta svg{width:14px;height:14px;transition:transform .2s;}
.cat-card:hover .cat-cta svg{transform:translateX(2px);}

.cat-cart-btn{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;
  background:#fff;color:var(--neutral-500);
  border:1.5px solid var(--neutral-200);border-radius:10px;
  cursor:pointer;transition:all .2s;flex-shrink:0;
}
.cat-cart-btn:hover{
  background:var(--orange);color:#fff;border-color:var(--orange);
  box-shadow:0 2px 8px rgba(232,93,4,.25);transform:scale(1.05);
}

/* ── Hub/navigation cards ────────────────────────────────── */
.cat-card--hub .cat-img{aspect-ratio:16/9;background:none;padding:0;}
.cat-card--hub .cat-img img{object-fit:cover;mix-blend-mode:normal;}
.cat-card--hub .cat-body p{font-size:.85rem;color:var(--neutral-500);line-height:1.55;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.cat-card--hub .cat-cta{flex:0 0 auto;margin-top:auto;}
.cat-card.featured{grid-column:span 2;}
.cat-card.featured .cat-img{aspect-ratio:21/9;}

/* ── Section headers ─────────────────────────────────────── */
.section-hdr-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:16px;}
.section-hdr-row h2{font-size:1.8rem;font-weight:900;color:var(--neutral-900);letter-spacing:-.025em;}
.section-hdr-row h2 span{color:var(--orange);}
.section-hdr-row p{font-size:.88rem;color:var(--neutral-500);margin-top:6px;line-height:1.55;}
.view-all-link{color:var(--orange);font-weight:800;font-size:.87rem;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border:1px solid rgba(232,93,4,.25);border-radius:999px;transition:background .15s;flex-shrink:0;}
.view-all-link:hover{background:var(--orange-light);}

/* ── Promo strip ─────────────────────────────────────────── */
.promo-strip{background:linear-gradient(135deg,#9a3200 0%,#6b2200 100%);color:#fff;overflow:hidden;position:relative;}
.promo-strip::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 120% at 80% 50%,rgba(255,255,255,.04) 0%,transparent 70%);pointer-events:none;}
.promo-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:52px 0;position:relative;}
.promo-eyebrow{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:4px 12px;border-radius:999px;margin-bottom:12px;}
.promo-strip h2{font-size:2rem;font-weight:900;line-height:1.15;letter-spacing:-.025em;}
.promo-strip p{font-size:.92rem;color:rgba(255,255,255,.75);margin-top:8px;max-width:46ch;}

/* ── Responsive ──────────────────────────────────────────── */
@media(max-width:1024px){.cat-grid{grid-template-columns:repeat(2,1fr);}.cat-card.featured{grid-column:span 2;}}
@media(max-width:860px){.promo-strip-inner{flex-direction:column;align-items:flex-start;gap:24px;}}
@media(max-width:640px){
  .cat-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .cat-card.featured{grid-column:span 2;}
  .cat-card.featured .cat-img{aspect-ratio:16/9;}
  .section-hdr-row{flex-direction:column;align-items:flex-start;}
  .cat-img{padding:12px;aspect-ratio:1/1;}
  .cat-body{padding:12px 14px 14px;}
  .cat-body h3{font-size:.8rem;min-height:2.15em;}
  .cat-price{font-size:1rem;}
  .cat-cta{padding:8px 12px;font-size:.74rem;border-radius:8px;}
  .cat-cart-btn{width:36px;height:36px;}
  .cat-wish{opacity:1;transform:scale(1);width:32px;height:32px;top:8px;right:8px;}
  .cat-wish svg{width:15px;height:15px;}
  .cat-badge{font-size:.62rem !important;padding:3px 7px !important;}
  .cat-shipping{display:none;}
  .cat-dots{opacity:1;}
}

/* ══════════════════════════════════════════════════════════
   TRUST / MERKEN BAR (index page)
   ══════════════════════════════════════════════════════════ */
.trust-bar { background: #fff; border-top: 1px solid var(--neutral-100); border-bottom: 1px solid var(--neutral-200); padding: 16px 0; }
.trust-inner { display: flex; align-items: center; justify-content: center; gap: 32px; flex-wrap: wrap; }
.trust-item { display: flex; align-items: center; gap: 8px; font-size: .8rem; color: var(--neutral-500); font-weight: 600; }
.trust-item svg { color: var(--green-usp); }

/* ══════════════════════════════════════════════════════════
   RESPONSIVE FIXES — container padding, gaps, form wrapping
   ══════════════════════════════════════════════════════════ */
@media(max-width:900px){
  .shop-grid{gap:20px;}
}
@media(max-width:640px){
  .container,.topbar-inner,.header-inner{padding-left:16px;padding-right:16px;}
  .shop-grid{gap:16px;}
  .section{padding:28px 0;}
  .dropdown{min-width:auto;width:calc(100vw - 32px);max-width:280px;}
}
@media(max-width:480px){
  .container,.topbar-inner,.header-inner{padding-left:12px;padding-right:12px;}
  #footer-nl-form{flex-direction:column!important;}
  #footer-nl-form input[type="email"]{width:100%!important;}
  .dropdown{width:calc(100vw - 24px);}
}

/* ═══ FAVORIETEN PAGE ═══════════════════════════════════════ */
.fav-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px;}
.fav-header h1{font-size:1.6rem;font-weight:900;margin:0;}
.fav-tabs{display:flex;gap:6px;}
.fav-tab{
  padding:7px 16px;border-radius:50px;
  font-size:.82rem;font-weight:700;cursor:pointer;
  background:var(--neutral-100);color:var(--neutral-600);
  border:1px solid transparent;transition:all .2s;
}
.fav-tab:hover{background:var(--neutral-200);}
.fav-tab.active{background:var(--orange);color:#fff;border-color:var(--orange);}
.fav-tab .tab-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;border-radius:50%;
  font-size:.68rem;font-weight:900;margin-left:4px;
  background:rgba(255,255,255,.3);
}
.fav-tab.active .tab-count{background:rgba(255,255,255,.3);}

.fav-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:20px;
}
.fav-card{
  background:#fff;border:1px solid var(--neutral-200);
  border-radius:16px;overflow:hidden;position:relative;
  transition:box-shadow .2s,border-color .2s;
  display:flex;flex-direction:column;
}
.fav-card:hover{box-shadow:var(--shadow-md);border-color:var(--neutral-200);}
.fav-card a{text-decoration:none;color:inherit;}
.fav-card-img{
  aspect-ratio:1/1;background:var(--neutral-50);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.fav-card-img img{
  width:100%;height:100%;object-fit:contain;
  padding:16px;mix-blend-mode:multiply;
  transition:transform .3s ease;
}
.fav-card:hover .fav-card-img img{transform:scale(1.05);}
.fav-card-oos .fav-card-img{opacity:.6;filter:grayscale(.3);}
.fav-card-oos:hover .fav-card-img{opacity:.8;filter:grayscale(.1);}
.fav-remove{
  position:absolute;top:10px;right:10px;z-index:3;
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.9);backdrop-filter:blur(6px);
  border:1px solid rgba(0,0,0,.06);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--neutral-400);transition:all .2s;
}
.fav-remove:hover{color:#dc2626;border-color:#fca5a5;background:#fff;}
.fav-stock-badge{
  position:absolute;bottom:10px;left:10px;
  padding:4px 10px;border-radius:8px;
  font-size:.68rem;font-weight:700;
  backdrop-filter:blur(4px);
}
.fav-badge-instock{background:rgba(22,163,74,.12);color:#15803d;}
.fav-badge-oos{background:rgba(220,38,38,.08);color:#dc2626;}
.fav-badge-notify{background:rgba(232,93,4,.1);color:#c2410c;display:flex;align-items:center;gap:4px;}
.fav-body{padding:14px 16px 16px;flex:1;display:flex;flex-direction:column;gap:2px;}
.fav-brand{
  font-size:.65rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--orange);
}
.fav-name{
  font-size:.9rem;font-weight:700;color:var(--neutral-900);
  margin:3px 0 6px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.fav-price-row{display:flex;align-items:baseline;gap:6px;}
.fav-price{font-size:1.1rem;font-weight:800;color:var(--neutral-900);}
.fav-price-old{font-size:.78rem;color:var(--neutral-400);text-decoration:line-through;}
.fav-price-change{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:6px;margin-left:4px;}
.fav-price-down{background:rgba(22,163,74,.1);color:#15803d;}
.fav-price-up{background:rgba(220,38,38,.08);color:#dc2626;}
.fav-added{font-size:.68rem;color:var(--neutral-400);margin-top:4px;}
.fav-actions{display:flex;gap:8px;margin-top:auto;padding-top:12px;}
.fav-cart-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  background:var(--orange);color:#fff;
  padding:10px 14px;border-radius:10px;border:none;
  font-weight:700;font-size:.82rem;font-family:inherit;
  cursor:pointer;transition:all .2s;
}
.fav-cart-btn:hover{background:var(--orange-dark);transform:translateY(-1px);}
.fav-cart-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.fav-cart-btn.added{background:#16a34a;}
.fav-notify-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  background:#fff;color:var(--orange);
  padding:10px 14px;border-radius:10px;
  border:2px solid var(--orange);
  font-weight:700;font-size:.82rem;font-family:inherit;
  cursor:pointer;transition:all .2s;
}
.fav-notify-btn:hover{background:var(--orange-light);}
.fav-empty{text-align:center;padding:64px 20px;}
.fav-empty svg{margin:0 auto 16px;display:block;}
.fav-empty h2{font-size:1.2rem;font-weight:800;color:var(--neutral-700);margin-bottom:8px;}
.fav-empty p{color:var(--neutral-500);margin-bottom:24px;max-width:400px;margin-left:auto;margin-right:auto;}

/* Favorieten toast notification */
.fav-toast{
  position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);
  z-index:9000;
  background:#fff;color:var(--neutral-800);
  padding:14px 24px;border-radius:12px;
  font-size:.88rem;font-weight:600;line-height:1.4;
  box-shadow:0 12px 40px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.06);
  display:flex;align-items:center;gap:10px;
  transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s;
  opacity:0;pointer-events:none;
  max-width:calc(100% - 32px);
}
.fav-toast.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto;}
.fav-toast svg{flex-shrink:0;color:var(--orange);}

@media(max-width:600px){
  .fav-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .fav-body{padding:10px 12px 14px;}
  .fav-name{font-size:.82rem;}
  .fav-price{font-size:1rem;}
  .fav-cart-btn,.fav-notify-btn{padding:8px 10px;font-size:.76rem;}
  .fav-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

/* ============================================================
   ACCOUNT — Dashboard, Auth, Settings
   ============================================================ */

/* Shell */
.acc-shell{background:var(--neutral-50);padding:32px 0 72px;}

/* Welcome header */
.acc-header{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-xl);
  padding:24px 28px;margin-bottom:24px;
}
.acc-header-info h1{font-size:1.3rem;font-weight:900;line-height:1.3;}
.acc-header-info p{font-size:.88rem;color:var(--neutral-500);margin-top:2px;}
.acc-header-info .acc-badge{margin-top:8px;}
.acc-logout-btn{
  padding:8px 18px;background:var(--neutral-100);border:1px solid var(--neutral-200);
  border-radius:50px;font-size:.84rem;font-weight:600;cursor:pointer;font-family:inherit;
  transition:all .15s;white-space:nowrap;flex-shrink:0;
}
.acc-logout-btn:hover{background:var(--neutral-200);}

/* Grid: sidebar + content */
.acc-grid{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start;}

/* Sidebar */
.acc-sidebar{
  background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-xl);
  padding:8px;position:sticky;top:96px;
}
.acc-nav-group{padding:4px 0;}
.acc-nav-group+.acc-nav-group{border-top:1px solid var(--neutral-100);margin-top:4px;padding-top:4px;}
.acc-nav-item{
  display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-md);
  font-size:.88rem;font-weight:500;color:var(--neutral-600);cursor:pointer;
  transition:all .15s;border:none;background:none;width:100%;text-align:left;font-family:inherit;
}
.acc-nav-item:hover{background:var(--neutral-50);color:var(--neutral-900);}
.acc-nav-item.active{background:var(--orange-light);color:var(--orange);font-weight:700;}
.acc-nav-item svg{width:18px;height:18px;flex-shrink:0;opacity:.7;}
.acc-nav-item.active svg{opacity:1;}
.acc-nav-item.acc-nav-danger{color:#dc2626;}
.acc-nav-item.acc-nav-danger:hover{background:#fef2f2;}

/* Content area */
.acc-content{min-width:0;}
.acc-section{display:none;}
.acc-section.active{display:block;}

/* Cards */
.acc-card{
  background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-xl);
  padding:24px;margin-bottom:16px;
}
.acc-card h2{font-size:1.05rem;font-weight:800;margin-bottom:16px;}
.acc-card-danger{border-color:#fecaca;}
.acc-card-danger h2{color:#dc2626;}

/* Badges */
.acc-badge{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 10px;border-radius:50px;font-size:.78rem;font-weight:600;
}
.acc-badge-green{background:#dcfce7;color:#15803d;}
.acc-badge-orange{background:#fff7ed;color:#c2410c;}
.acc-badge-red{background:#fef2f2;color:#dc2626;}
.acc-badge-blue{background:#eff6ff;color:#1d4ed8;}
.acc-badge-gray{background:var(--neutral-100);color:var(--neutral-600);}

/* Forms */
.acc-form{display:grid;gap:14px;}
.acc-field{display:flex;flex-direction:column;gap:4px;}
.acc-label{font-size:.82rem;font-weight:700;color:var(--neutral-700);}
.acc-input{
  width:100%;padding:11px 14px;border:2px solid var(--neutral-200);border-radius:var(--radius-md);
  font-size:.9rem;font-family:inherit;transition:border-color .15s;box-sizing:border-box;
}
.acc-input:focus{outline:none;border-color:var(--orange);}
.acc-input-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.acc-hint{font-size:.78rem;color:var(--neutral-500);margin-top:2px;}
.acc-select{
  width:100%;padding:11px 14px;border:2px solid var(--neutral-200);border-radius:var(--radius-md);
  font-size:.9rem;font-family:inherit;background:#fff;cursor:pointer;box-sizing:border-box;
}
.acc-select:focus{outline:none;border-color:var(--orange);}

/* Password toggle wrapper */
.acc-pw-wrap{position:relative;}
.acc-pw-wrap .acc-input{padding-right:44px;}
.acc-pw-toggle{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  background:none;border:none;cursor:pointer;padding:4px;color:var(--neutral-500);
  display:flex;align-items:center;
}
.acc-pw-toggle:hover{color:var(--neutral-700);}

/* Password strength meter */
.acc-pw-meter{height:4px;border-radius:2px;background:var(--neutral-100);overflow:hidden;margin-top:6px;}
.acc-pw-meter-fill{height:100%;border-radius:2px;transition:width .3s,background .3s;width:0%;}
.acc-pw-meter-fill.weak{width:33%;background:#ef4444;}
.acc-pw-meter-fill.medium{width:66%;background:#f59e0b;}
.acc-pw-meter-fill.strong{width:100%;background:#22c55e;}
.acc-pw-text{font-size:.76rem;font-weight:600;margin-top:4px;}
.acc-pw-text.weak{color:#ef4444;}
.acc-pw-text.medium{color:#f59e0b;}
.acc-pw-text.strong{color:#22c55e;}

/* Message feedback */
.acc-msg{font-size:.85rem;font-weight:600;padding:10px 14px;border-radius:var(--radius-md);display:none;}
.acc-msg.show{display:block;}
.acc-msg-success{background:#dcfce7;color:#15803d;}
.acc-msg-error{background:#fef2f2;color:#dc2626;}
.acc-msg-warning{background:#fef3c7;color:#92400e;}

/* Divider */
.acc-divider{border:none;border-top:1px solid var(--neutral-200);margin:20px 0;}

/* Auth card (login/register/reset) */
.acc-auth-card{
  max-width:440px;margin:0 auto;
  background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-xl);
  padding:32px;box-shadow:var(--shadow-md);
}
.acc-auth-card h1{font-size:1.4rem;font-weight:900;text-align:center;margin-bottom:4px;}
.acc-auth-card .acc-subtitle{text-align:center;color:var(--neutral-500);font-size:.9rem;margin-bottom:24px;}

/* Auth value proposition */
.acc-value-props{
  display:flex;flex-direction:column;gap:8px;
  padding:16px;background:var(--neutral-50);border-radius:var(--radius-md);
  margin-bottom:20px;
}
.acc-value-prop{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--neutral-600);}
.acc-value-prop svg{width:16px;height:16px;color:#22c55e;flex-shrink:0;}

/* Quick actions grid (overview) */
.acc-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.acc-quick-action{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:20px 16px;background:var(--neutral-50);border:1px solid var(--neutral-200);
  border-radius:var(--radius-lg);text-align:center;cursor:pointer;
  transition:all .15s;text-decoration:none;color:inherit;font-family:inherit;
}
.acc-quick-action:hover{border-color:var(--orange);background:var(--orange-light);}
.acc-quick-action svg{width:24px;height:24px;color:var(--orange);}
.acc-quick-action span{font-size:.84rem;font-weight:600;}

/* Order list items */
.acc-order{
  display:block;border:1px solid var(--neutral-200);border-radius:var(--radius-md);
  padding:14px 16px;margin-bottom:8px;text-decoration:none;color:inherit;transition:border-color .15s;
}
.acc-order:hover{border-color:var(--orange);}
.acc-order-top{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.acc-order-number{font-size:.88rem;font-weight:700;}
.acc-order-meta{font-size:.82rem;color:var(--neutral-500);margin-top:4px;}

/* Address cards grid */
.acc-addr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.acc-addr-card{
  border:1px solid var(--neutral-200);border-radius:var(--radius-lg);padding:16px;
  font-size:.88rem;display:flex;flex-direction:column;justify-content:space-between;
}
.acc-addr-card-default{border-color:var(--orange);border-width:2px;}
.acc-addr-name{font-weight:700;margin-bottom:4px;}
.acc-addr-detail{color:var(--neutral-600);line-height:1.5;}
.acc-addr-badges{margin-top:8px;}
.acc-addr-actions{display:flex;gap:6px;margin-top:12px;}
.acc-addr-btn{
  padding:6px 12px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;
  cursor:pointer;font-family:inherit;transition:all .15s;border:1px solid var(--neutral-200);background:var(--neutral-50);
}
.acc-addr-btn:hover{background:var(--neutral-100);}
.acc-addr-btn-del{color:#dc2626;border-color:#fecaca;background:#fef2f2;}
.acc-addr-btn-del:hover{background:#fee2e2;}
.acc-addr-add{
  border:2px dashed var(--neutral-200);border-radius:var(--radius-lg);padding:16px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  cursor:pointer;transition:all .15s;min-height:120px;background:none;font-family:inherit;
  color:var(--neutral-500);font-size:.88rem;font-weight:600;
}
.acc-addr-add:hover{border-color:var(--orange);color:var(--orange);background:var(--orange-light);}

/* Wishlist grid (account) */
.acc-wish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.acc-wish-card{
  border:1px solid var(--neutral-200);border-radius:var(--radius-lg);overflow:hidden;
  background:#fff;transition:border-color .15s;
}
.acc-wish-card:hover{border-color:var(--orange);}
.acc-wish-img{
  width:100%;aspect-ratio:1;object-fit:contain;background:var(--neutral-50);padding:8px;
}
.acc-wish-body{padding:12px;}
.acc-wish-title{font-size:.84rem;font-weight:600;line-height:1.3;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.acc-wish-title a{color:inherit;text-decoration:none;}
.acc-wish-title a:hover{color:var(--orange);}
.acc-wish-price{font-size:1rem;font-weight:800;color:var(--orange);margin-bottom:8px;}
.acc-wish-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;}
.acc-wish-actions{display:flex;gap:6px;}
.acc-wish-cart-btn{
  flex:1;padding:8px 10px;background:var(--orange);color:#fff;border:none;
  border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit;
  transition:background .15s;
}
.acc-wish-cart-btn:hover{background:var(--orange-dark);}
.acc-wish-cart-btn:disabled{opacity:.5;cursor:not-allowed;}
.acc-wish-del-btn{
  padding:8px 10px;border:1px solid var(--neutral-200);background:#fff;
  border-radius:var(--radius-sm);cursor:pointer;color:var(--neutral-500);transition:all .15s;
}
.acc-wish-del-btn:hover{color:#dc2626;border-color:#fecaca;background:#fef2f2;}

/* Reorder grid */
.acc-reorder-grid{display:flex;flex-direction:column;gap:0;}
.acc-reorder-card{
  display:flex;align-items:center;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--neutral-100);
  transition:background .15s;
}
.acc-reorder-card:last-child{border-bottom:none;}
.acc-reorder-card:hover{background:var(--neutral-50);margin:0 -16px;padding:14px 16px;border-radius:var(--radius-md);}
.acc-reorder-img{width:52px;height:52px;object-fit:contain;border-radius:var(--radius-sm);background:var(--neutral-50);flex-shrink:0;border:1px solid var(--neutral-100);}
.acc-reorder-info{flex:1;min-width:0;}
.acc-reorder-name{font-size:.85rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.acc-reorder-name a{color:inherit;text-decoration:none;}
.acc-reorder-name a:hover{color:var(--orange);}
.acc-reorder-price{font-size:.82rem;font-weight:700;color:var(--orange);margin-top:1px;}
.acc-reorder-meta{font-size:.74rem;color:var(--neutral-400);margin-top:2px;}
.acc-reorder-btn{
  padding:8px 14px;background:var(--orange);color:#fff;border:none;
  border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;cursor:pointer;
  font-family:inherit;white-space:nowrap;flex-shrink:0;transition:background .15s;
}
.acc-reorder-btn:hover{background:var(--orange-dark);}

/* Return list items */
.acc-return{border:1px solid var(--neutral-200);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:8px;}
.acc-return-top{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.acc-return-number{font-size:.88rem;font-weight:700;}
.acc-return-meta{font-size:.82rem;color:var(--neutral-500);margin-top:4px;}
.acc-return-lines{font-size:.82rem;color:var(--neutral-600);margin-top:6px;}

/* Skeleton loaders */
.acc-skel{display:flex;flex-direction:column;gap:10px;padding:4px 0;}
.acc-skel-line{
  height:14px;border-radius:6px;background:var(--neutral-100);
  animation:acc-shimmer 1.5s infinite;
}
.acc-skel-line.w-60{width:60%;}
.acc-skel-line.w-80{width:80%;}
@keyframes acc-shimmer{
  0%{opacity:.6;}
  50%{opacity:1;}
  100%{opacity:.6;}
}

/* Profile display */
.acc-profile-info{display:flex;flex-direction:column;gap:8px;}
.acc-profile-row{
  display:flex;gap:12px;font-size:.88rem;padding:6px 0;
  border-bottom:1px solid var(--neutral-100);
}
.acc-profile-row:last-child{border-bottom:none;}
.acc-profile-label{font-weight:700;color:var(--neutral-500);min-width:100px;flex-shrink:0;}

/* Order search/filter */
.acc-order-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.acc-order-search{max-width:200px;padding:8px 12px !important;font-size:.82rem !important;}
.acc-order-status-filter{max-width:180px;padding:8px 12px !important;font-size:.82rem !important;}

/* Return expandable */
.acc-return-expandable{transition:border-color .15s;}
.acc-return-expandable:hover{border-color:var(--orange);}
.acc-return-chevron{color:var(--neutral-400);transition:transform .2s;flex-shrink:0;}
.acc-return-line-item{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:6px 0;border-bottom:1px solid var(--neutral-100);font-size:.85rem;
}
.acc-return-line-item:last-child{border-bottom:none;}

/* Delete account expandable */
.acc-delete-toggle{
  padding:8px 16px;background:var(--neutral-100);border:1px solid var(--neutral-200);
  border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;
  font-family:inherit;transition:all .15s;
}
.acc-delete-toggle:hover{background:var(--neutral-200);}
.acc-delete-content{display:none;margin-top:16px;}
.acc-delete-content.show{display:block;}

/* Empty state */
.acc-empty{text-align:center;padding:32px 16px;color:var(--neutral-500);}
.acc-empty p{margin-bottom:16px;font-size:.9rem;}

/* Mobile tabs (horizontal scroll) */
.acc-mobile-tabs{
  display:none;overflow-x:auto;-webkit-overflow-scrolling:touch;
  gap:6px;padding:0 0 12px;margin-bottom:16px;scrollbar-width:none;
}
.acc-mobile-tabs::-webkit-scrollbar{display:none;}
.acc-mobile-tab{
  flex-shrink:0;padding:8px 16px;border-radius:50px;font-size:.82rem;font-weight:600;
  background:var(--neutral-100);color:var(--neutral-600);border:none;cursor:pointer;
  font-family:inherit;white-space:nowrap;transition:all .15s;
}
.acc-mobile-tab.active{background:var(--orange);color:#fff;}

/* Auth tabs (login/register) */
.acc-tabs{display:flex;gap:0;border-bottom:2px solid var(--neutral-200);margin-bottom:20px;}
.acc-tab{
  flex:1;padding:10px 0;background:none;border:none;border-bottom:2px solid transparent;
  margin-bottom:-2px;font-size:.9rem;font-weight:600;color:var(--neutral-500);
  cursor:pointer;font-family:inherit;transition:all .15s;
}
.acc-tab:hover{color:var(--neutral-700);}
.acc-tab.active{color:var(--orange);border-bottom-color:var(--orange);}
.acc-tab-panel{}
.acc-email-display{
  display:flex;align-items:center;padding:10px 14px;background:var(--neutral-50);
  border-radius:var(--radius-md);font-size:.88rem;color:var(--neutral-600);margin-bottom:16px;
}

/* Not logged in prompt */
.acc-login-prompt{text-align:center;padding:48px 0;}
.acc-login-prompt h1{font-size:1.4rem;font-weight:900;margin-bottom:8px;}
.acc-login-prompt p{color:var(--neutral-500);margin-bottom:24px;}

/* Responsive */
@media(max-width:900px){
  .acc-grid{grid-template-columns:1fr;}
  .acc-sidebar{display:none;}
  .acc-mobile-tabs{
    display:flex;
    position:sticky;top:60px;z-index:90;
    background:rgba(255,255,255,.97);backdrop-filter:blur(8px);
    padding:8px 0 12px;margin:-8px 0 16px;
  }
  .acc-mobile-tab{padding:10px 18px;font-size:.84rem;}
  .acc-header{flex-direction:column;align-items:flex-start;gap:12px;}
  .acc-addr-grid{grid-template-columns:1fr;}
  .acc-wish-grid{grid-template-columns:repeat(2,1fr);}
  .acc-quick-grid{grid-template-columns:1fr 1fr;}
  .acc-order-filters{width:100%;}
  .acc-order-search{max-width:none !important;flex:1;}
  .acc-order-status-filter{max-width:none !important;flex:1;}
}
@media(max-width:480px){
  .acc-shell{padding:16px 0 48px;}
  .acc-header{padding:16px 20px;}
  .acc-card{padding:16px;border-radius:var(--radius-lg);}
  .acc-wish-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .acc-wish-body{padding:8px 10px;}
  .acc-wish-title{font-size:.8rem;}
  .acc-wish-price{font-size:.9rem;}
  .acc-reorder-card:hover{margin:0;padding:14px 0;border-radius:0;}
  .acc-quick-grid{grid-template-columns:1fr;}
  .acc-auth-card{padding:20px;border-radius:var(--radius-lg);}
  .acc-input-row{grid-template-columns:1fr;}
  .acc-profile-row{flex-direction:column;gap:2px;}
  .acc-profile-label{min-width:auto;}
  .acc-quick-action{padding:16px 12px;}
  .acc-addr-btn{padding:8px 14px;font-size:.82rem;}
  .acc-order{padding:12px 14px;}
  .acc-return{padding:12px 14px;}
}

/* ══════════════════════════════════════════════════════════
   MOBILE AUDIT FIXES — 2026-03-13
   ══════════════════════════════════════════════════════════ */

/* ── 1. Footer: collapsible columns on mobile ───────────── */
@media(max-width:768px){
  .footer-grid{gap:0;padding-bottom:24px;}
  .footer-col h4{
    cursor:pointer;
    margin-bottom:0;
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .footer-col h4::after{
    content:'+';
    font-size:1.1rem;
    font-weight:400;
    color:rgba(255,255,255,.35);
    transition:transform .2s;
  }
  .footer-col h4.fc-open::after{
    content:'−';
  }
  .footer-col ul{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
  }
  .footer-col h4.fc-open+ul{
    max-height:500px;
  }
  .footer-col ul li a{
    padding:8px 0 8px 8px;
    font-size:.82rem;
  }
  .footer-brand{
    padding-bottom:20px;
    margin-bottom:8px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
}

/* ── 2. Homepage intro block: compact on mobile ─────────── */
@media(max-width:640px){
  .intro-blok{padding:24px 0 16px;}
  .intro-titel{font-size:1.1rem;}
  .intro-tekst{
    font-size:.84rem;
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
}

/* ── 3. Topbar: compact on small screens ────────────────── */
@media(max-width:480px){
  .topbar{padding:6px 0;}
  .topbar-inner span{font-size:.68rem;padding:0 8px;}
}

/* ── 4. Product cards: smaller img height on mobile ─────── */
@media(max-width:640px){
  .product-img{height:160px;}
  .product-info{padding:10px 12px 12px;}
  .product-info h4{font-size:.85rem;margin-bottom:3px;}
  .prod-footer{gap:6px;}
  .price{font-size:.9rem;}
  .bekijk-btn{padding:6px 12px;font-size:.72rem;}
}

/* ── 5. Cookie consent: safe zone for bottom elements ───── */
@media(max-width:640px){
  .cookie-banner{
    padding:16px 14px;
    padding-bottom:max(16px, env(safe-area-inset-bottom));
  }
  .cookie-text p{font-size:.8rem;margin-bottom:10px;}
  .cookie-text strong{font-size:.92rem;}
}

/* ── 6. Page hero: tighter on mobile ────────────────────── */
@media(max-width:480px){
  .page-hero{padding:32px 0 28px;}
  .page-hero h1{font-size:1.5rem;}
  .page-hero p{font-size:.85rem;}
  .page-hero-img{max-width:100%;aspect-ratio:16/9;}
}

/* ── 7. Category hub sections: fix gaps ─────────────────── */
@media(max-width:768px){
  .species-section .section-header p{font-size:.85rem;}
  .species-grid{gap:12px;}
}

/* ── 8. SEO content blocks: truncate on mobile ──────────── */
@media(max-width:640px){
  .seo-inner{padding:32px 16px;}
  .seo-inner h2{font-size:1.15rem;}
  .seo-inner p{font-size:.84rem;}
  .about-section .about-text{font-size:.88rem;}
  .about-section .about-text p{line-height:1.6;}
}

/* ── 9. FAQ section: tighter on mobile ──────────────────── */
@media(max-width:640px){
  .faq-section .section-header h2{font-size:1.15rem;}
  .faq-q{font-size:.88rem;padding:14px 16px;}
  .faq-a{padding:0 16px 14px;font-size:.84rem;}
}

/* ── 10. Promo strip: fix mobile ────────────────────────── */
@media(max-width:640px){
  .promo-text{padding:28px 16px;}
  .promo-text h2{font-size:1.25rem;}
  .promo-text p{font-size:.84rem;}
  .promo-strip-inner{padding:32px 0;gap:16px;}
}

/* ── 11. Feature sections: tighter on mobile ────────────── */
@media(max-width:640px){
  .feature-section{margin:0;padding:32px 0;}
  .feature-inner{gap:20px;padding:28px 16px;}
}

/* ── 12. Model cards: compact on mobile ─────────────────── */
@media(max-width:480px){
  .model-card{border-radius:var(--radius-md);}
  .model-card-img{height:140px;}
  .model-card-body{padding:12px;}
  .model-card-body h3{font-size:.82rem;}
  .model-card-body p{font-size:.76rem;}
}

/* ── 13. Trust bar: scroll on mobile ────────────────────── */
@media(max-width:640px){
  .trust-inner{gap:16px;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 16px;}
  .trust-item{flex-shrink:0;}
}

/* ── 14. USP bar: 2-col grid on mobile ──────────────────── */
@media(max-width:480px){
  .usp-grid{gap:0;}
  .usp-item{padding:8px 12px;gap:10px;}
  .usp-icon-wrap{width:36px;height:36px;border-radius:8px;}
  .usp-text .usp-title{font-size:.76rem;}
  .usp-text .usp-desc{font-size:.68rem;}
}

/* ── 15. Checklist cards on mobile ──────────────────────── */
@media(max-width:640px){
  .checklist-card{padding:16px;}
  .checklist-card h3{font-size:.92rem;}
  .checklist-card li{font-size:.84rem;}
}

/* ── 16. Product detail BuyBox mobile ───────────────────── */
@media(max-width:640px){
  .buybox{padding:16px;}
  .buybox-title{font-size:1.15rem;}
}

/* ── 17. Filters panel mobile ───────────────────────────── */
@media(max-width:980px){
  .panel .filter-group{margin-bottom:12px;}
  .panel .filter-group h3{font-size:.82rem;}
}

/* ── 18. Section padding + spacing reduction on mobile ──── */
@media(max-width:640px){
  .section{padding:28px 0;}
  .section-header{margin-bottom:16px;}
  .section-header h2{font-size:1.2rem;}
  .section-header p{font-size:.84rem;}
  .section-header-row{margin-bottom:16px;}
  .section-header-row h2{font-size:1.2rem;}
  .about-inner{gap:24px;}
  .about-text p{margin-bottom:16px;}
  .about-img-wrap{flex:none;width:100%;}
  .about-img-wrap img{height:220px;}
  .about-float-badge{bottom:14px;right:10px;padding:12px 16px;}
  .badge-num{font-size:1.6rem;}
  .stats-row{margin-bottom:20px;}
  .stat-item{padding:12px 0;}
  .stat-item strong{font-size:1.2rem;}
  .cta-bar{padding:28px 16px;}
  .cta-inner{gap:16px;}
  .cta-inner h3{font-size:1.1rem;}
  .cta-inner p{font-size:.84rem;}
  .hero{min-height:auto;}
  .slide-inner{padding:20px 16px;gap:14px;}
  .slide-text h2{font-size:1.3rem;margin-bottom:8px;}
  .slide-text p{font-size:.84rem;margin-bottom:14px;}
  .slide-visual{max-width:200px;}
  .slide-eyebrow{font-size:.65rem;padding:4px 10px;}
  .hero-dots{bottom:10px;}
  .hero-arrow{width:36px;height:36px;}
  .species-img{height:140px;}
  .species-grid{gap:10px;}
  .promo-inner{min-height:auto;}
  .promo-text{padding:28px 16px;}
  .promo-img{flex:none;height:180px;}
  .reviews-section{padding:28px 0;}
  .reviews-grid{gap:12px;margin-top:16px;}
  .review-card{padding:16px;}
  .faq-section{padding:28px 0;}
  .faq-accordion details summary{padding:14px 16px;}
  .trust-bar{padding:10px 0;}
  .trust-inner{gap:12px;}
  .usp-bar{padding:12px 0;}
  .usp-text span{display:none;}
  .usp-text strong{font-size:.78rem;}
  .usp-icon-wrap{width:36px;height:36px;border-radius:8px;}
}

/* ══════════════════════════════════════════════════════════
   MOBILE AUDIT FIXES — all in @media queries
   Desktop/tablet ongewijzigd
   ══════════════════════════════════════════════════════════ */

/* ── Fix 1: Product catalog → 1-kolom horizontale kaarten ── */
@media(max-width:640px){
  .cat-grid{grid-template-columns:1fr !important;gap:10px;}
  .cat-card{border-radius:12px;}
  .cat-card > a{display:flex;flex-direction:row;}
  .cat-card.featured{grid-column:span 1;}
  .cat-card.featured .cat-img{aspect-ratio:1/1;}
  .cat-img{width:120px;min-width:120px;flex-shrink:0;aspect-ratio:auto;padding:10px;display:flex;align-items:center;justify-content:center;}
  .cat-img img{width:100%;height:100%;object-fit:contain;}
  .cat-body{padding:10px 12px;gap:3px;}
  .cat-body h3{font-size:.85rem;-webkit-line-clamp:3;min-height:auto;}
  .cat-footer{padding-top:6px;}
  .cat-cta{padding:8px 14px;font-size:.78rem;min-height:44px;}
  .cat-badge{font-size:.6rem !important;padding:2px 6px !important;top:6px !important;left:6px !important;}
  .cat-badge-ship{bottom:6px !important;left:6px !important;top:auto !important;font-size:.7rem;padding:4px 10px;}
  .cat-wish{top:6px;right:6px;width:30px;height:30px;}
  .cat-wish svg{width:14px;height:14px;}
  .cat-card-oos .cat-img{width:120px;}
  .cat-shipping{display:none;}
  .cat-dots{display:none;}
  .cat-price{font-size:.95rem;}
}

/* ── Fix 2: Filter panel → bottom-sheet overlay op mobiel ── */
@media(max-width:768px){
  .panel{
    display:none;
    position:fixed !important;
    bottom:0;left:0;right:0;
    z-index:500;
    max-height:80vh;
    overflow-y:auto;
    border-radius:20px 20px 0 0;
    background:#fff;
    box-shadow:0 -8px 32px rgba(0,0,0,.15);
    top:auto !important;
  }
  .panel.mobile-open{display:block;}
  .shop-grid{grid-template-columns:1fr !important;}
  .mobile-filter-btn{
    display:inline-flex !important;
    align-items:center;gap:6px;
    padding:9px 16px;
    border-radius:10px;
    border:1.5px solid var(--neutral-200);
    background:#fff;
    font-family:inherit;font-weight:700;font-size:.84rem;
    color:var(--neutral-700);
    cursor:pointer;
    transition:border-color .15s,background .15s;
  }
  .mobile-filter-btn:hover{border-color:var(--orange);color:var(--orange);}
  .mobile-filter-btn svg{width:16px;height:16px;color:var(--orange);}
  .mobile-filter-backdrop{
    display:none;
    position:fixed;inset:0;
    z-index:499;
    background:rgba(0,0,0,.35);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }
  .mobile-filter-backdrop.visible{display:block;}
  .panel-h{position:sticky;top:0;z-index:1;background:#fff;}
  .mobile-filter-close{
    display:inline-flex !important;
    align-items:center;justify-content:center;
    width:32px;height:32px;
    border-radius:50%;
    border:none;background:var(--neutral-100);
    cursor:pointer;font-size:1.1rem;color:var(--neutral-600);
  }
}
@media(min-width:769px){
  .mobile-filter-btn{display:none !important;}
  .mobile-filter-backdrop{display:none !important;}
  .mobile-filter-close{display:none !important;}
}

/* ── Fix 3: Sticky "In winkelwagen" bar op product detail ── */
.buybox-sticky{
  display:none;
  position:fixed;bottom:0;left:0;right:0;
  z-index:150;
  background:#fff;
  border-top:1px solid var(--neutral-200);
  box-shadow:0 -4px 20px rgba(0,0,0,.08);
  padding:10px 16px;
  transform:translateY(100%);
  transition:transform .25s ease;
}
.buybox-sticky.visible{transform:translateY(0);}
@media(max-width:768px){
  .buybox-sticky{display:flex;align-items:center;gap:12px;}
  .buybox-sticky .bs-price{font-size:1.1rem;font-weight:900;color:var(--neutral-900);white-space:nowrap;}
  .buybox-sticky .bs-old{font-size:.82rem;color:var(--neutral-400);text-decoration:line-through;margin-left:4px;}
  .buybox-sticky .bs-btn{
    flex:1;
    display:flex;align-items:center;justify-content:center;gap:8px;
    padding:12px 16px;
    background:var(--orange);color:#fff;
    border:none;border-radius:10px;
    font-family:inherit;font-weight:800;font-size:.9rem;
    cursor:pointer;min-height:44px;
    transition:opacity .15s;
  }
  .buybox-sticky .bs-btn:hover{opacity:.9;}
  .buybox-sticky .bs-btn svg{width:18px;height:18px;flex-shrink:0;}
}
@media(min-width:769px){
  .buybox-sticky{display:none !important;}
}

/* ── Fix 4: Category page-head + intro "Lees meer" toggle ── */
@media(max-width:640px){
  .page-head p{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .page-head p.expanded{
    -webkit-line-clamp:unset;
    display:block;
  }
  .intro-tekst{
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .intro-tekst.expanded{
    -webkit-line-clamp:unset;
    display:block;
  }
  .read-more-link{
    display:inline-block;
    color:var(--orange);
    font-weight:700;
    font-size:.84rem;
    cursor:pointer;
    margin-top:6px;
    border:none;background:none;
    font-family:inherit;
    padding:0;
  }
  .read-more-link:hover{text-decoration:underline;}
}
@media(min-width:641px){
  .read-more-link{display:none !important;}
}

/* ── Fix 5: Touch targets vergroten ────────────────────── */
@media(max-width:640px){
  .cat-cta{min-height:44px;}
  .faq-q,.faq-question{min-height:48px;}
  .subcat-pill{min-height:40px;}
}

/* ── Fix 6: Zoekresultaten toolbar compacter ───────────── */
@media(max-width:640px){
  .zk-toolbar{gap:8px;padding:8px 0;}
  .zk-sort{font-size:.8rem;}
  .zk-count{font-size:.78rem;}
}
