/* ═══════════════════════════════════════════════
   LUWE SHOP V2 — Dark Theme Overrides
   Loaded after theme.css to restyle header,
   footer, homepage and add amber accents.
═══════════════════════════════════════════════ */

:root {
  --v2-amber-50: #fef9e7;
  --v2-amber-100: #fdf0c4;
  --v2-amber-200: #f5e6b8;
  --v2-amber-300: #e8b84a;
  --v2-amber-400: #d4a017;
  --v2-amber-500: #b8890f;
  --v2-amber-600: #96700c;
  --v2-dark-50: #eef0f4;
  --v2-dark-100: #c8cdd8;
  --v2-dark-200: #7a8299;
  --v2-dark-300: #4a5568;
  --v2-dark-400: #353d50;
  --v2-dark-500: #2a3040;
  --v2-dark-600: #1e2435;
  --v2-dark-700: #1a1f2e;
  --v2-dark-800: #141821;
  --v2-dark-900: #111520;
  --v2-dark-950: #0c0e13;
}

/* ── Fonts ───────────────────────────────── */
.font-heading,
.site-header__logo,
.site-menu > li > a,
.home-hero__eyebrow,
.home-hero__content h1,
.home-section__head h2,
.home-card h3,
.home-b2b__item h3,
.home-cta h2,
.home-faq summary,
.site-footer__title,
.site-footer__brand {
  font-family: 'Oswald', sans-serif;
}

/* ── Header: Dark ────────────────────────── */
.site-header {
  background: var(--v2-dark-950) !important;
  border-bottom-color: var(--v2-dark-500) !important;
}

.site-header__top {
  background-color: rgba(12, 14, 19, 0.85) !important;
  backdrop-filter: blur(10px);
  border-bottom-color: var(--v2-dark-500) !important;
}

.site-header__logo {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--v2-amber-400) !important;
}
.site-header__logo:hover {
  color: var(--v2-amber-300) !important;
}

/* Topbar menu */
.site-topbar-menu li + li::before {
  background: var(--v2-dark-500) !important;
}
.site-topbar-menu a {
  color: #fff !important;
}
.site-topbar-menu a:hover {
  color: var(--v2-amber-400) !important;
}

/* Price toggle — match topbar icon style */
.price-mode-toggle__text,
.price-mode-toggle__label,
.site-topbar__toggle,
.site-topbar__toggle label,
.site-topbar__toggle span {
  color: #fff !important;
}
.price-mode-toggle__text {
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
}
.price-mode-toggle__control {
  gap: 6px !important;
}
/* Smaller, refined switch */
.price-mode-toggle__switch {
  width: 36px !important;
  height: 18px !important;
}
.price-mode-toggle__track {
  background: var(--v2-dark-500) !important;
  border: 1px solid var(--v2-dark-400) !important;
  border-radius: 999px !important;
}
.price-mode-toggle__thumb {
  width: 14px !important;
  height: 14px !important;
  left: 2px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}
.price-mode-toggle__input:checked + .price-mode-toggle__track {
  background: var(--v2-amber-400) !important;
  border-color: var(--v2-amber-400) !important;
}
.price-mode-toggle__input:checked ~ .price-mode-toggle__thumb {
  transform: translateX(18px) !important;
}

/* Topbar: ensure menu + icons sit together */
.site-topbar {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

/* Topbar icons (account, cart, checkout) */
.site-topbar__icons {
  display: flex;
  align-items: center;
  gap: 0;
  margin-left: 16px;
}
.site-topbar__icon {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #fff !important;
  text-decoration: none;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  transition: color 0.2s;
  position: relative;
  padding: 0 12px;
  border-right: 1px solid var(--v2-dark-500);
  white-space: nowrap;
}
.site-topbar__icon:first-child {
  padding-left: 0;
}
.site-topbar__icon:last-child {
  border-right: none;
  padding-right: 0;
}
.site-topbar__icon:hover {
  color: var(--v2-amber-400) !important;
}
.site-topbar__icon svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}
.site-topbar__icon span {
  color: inherit !important;
}
.site-topbar__cart-count {
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  background: var(--v2-amber-400);
  color: var(--v2-dark-950);
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  border-radius: 8px;
  margin-left: 2px;
}
.site-topbar__cart-count.is-empty {
  display: none;
}

/* Hide icon labels on small screens */
@media (max-width: 1200px) {
  .site-topbar__icon span:not(.site-topbar__cart-count) {
    display: none;
  }
  .site-topbar__icons {
    margin-left: 8px;
  }
  .site-topbar__icon {
    padding: 0 8px;
  }
}

/* Nav bar */
.site-header__nav-bar {
  background-color: var(--v2-dark-900) !important;
  border-top-color: var(--v2-dark-500) !important;
  border-bottom-color: var(--v2-dark-500) !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.site-header__nav-inner {
  display: flex !important;
  justify-content: center !important;
}

.site-nav {
  background-color: transparent !important;
  display: flex !important;
  justify-content: center !important;
}

.site-nav-desktop {
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
}

.site-menu > li > a {
  color: var(--v2-dark-100) !important;
  font-family: 'Oswald', sans-serif;
  font-size: 1rem !important;
  letter-spacing: 0.06em !important;
}
.site-menu > li > a:hover {
  color: var(--v2-amber-400) !important;
}

/* Submenu links: dark text on light dropdown */
.site-menu .sub-menu a,
.site-menu .sub-menu--simple a {
  color: var(--v2-dark-800) !important;
}
.site-menu .sub-menu a:hover,
.site-menu .sub-menu--simple a:hover {
  color: var(--v2-amber-500) !important;
}

/* Megamenu icons: PHP-injected icons visible and amber (non-simple menus) */
.site-menu > li:not(.menu-simple) .sub-menu .menu-icon {
  display: inline-flex !important;
  color: var(--v2-amber-400) !important;
}
.site-menu > li:not(.menu-simple) .sub-menu .menu-icon svg {
  width: 16px !important;
  height: 16px !important;
  stroke: var(--v2-amber-400) !important;
  fill: none !important;
}
/* Hide icons in simple/service menu (bestellen, offerte etc.) */
.site-menu > li.menu-simple .menu-icon,
.site-menu .sub-menu--simple .menu-icon {
  display: none !important;
}

/* CSS-generated icons for all megamenu leaf items (non-simple menus) */
.site-menu > li:not(.menu-simple) > .sub-menu .sub-menu > li > a::before {
  content: '' !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px;
  margin-right: 6px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4a017' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") !important;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}
/* Don't double-up icons if PHP already injected one */
.site-menu > li:not(.menu-simple) > .sub-menu .sub-menu > li.menu-icon-doc > a::before {
  display: none !important;
}

/* Category heading links in mega menu */
.site-menu > li:not(.menu-simple) > .sub-menu > li > a {
  color: var(--v2-dark-800) !important;
  border-bottom-color: var(--v2-amber-400) !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
}
/* Icon for category headings (Elektrische lieren, Hydraulische lieren, etc.) */
.site-menu > li:not(.menu-simple) > .sub-menu > li > a::before {
  content: '' !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4a017' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") !important;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.site-menu > li.menu-item-button > a {
  background-color: var(--v2-amber-400) !important;
  color: var(--v2-dark-950) !important;
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 6px 20px !important;
  margin-top: 0 !important;
  line-height: inherit !important;
  border-radius: 4px !important;
}
.site-menu > li.menu-item-button > a:hover {
  background-color: var(--v2-amber-300) !important;
  box-shadow: 0 8px 25px rgba(212,160,23,0.4);
}

/* Nav toggle (mobile) */
.site-nav-toggle {
  color: var(--v2-dark-100) !important;
}

/* Header hero (search panel) */
.site-header__hero {
  background-color: var(--v2-dark-950) !important;
  background-position: center 55% !important;
  background-size: cover !important;
  background-attachment: fixed !important;
  position: relative;
}
.site-header__hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12,14,19,0.88) 0%, rgba(12,14,19,0.6) 50%, rgba(12,14,19,0.3) 100%);
  z-index: 1;
  pointer-events: none;
}
.site-header__hero > * {
  position: relative;
  z-index: 2;
}

.site-header__hero .home-hero__panel {
  background: rgba(20, 24, 33, 0.8) !important;
  border-color: var(--v2-dark-500) !important;
}
.site-header__hero .home-hero__panel h2 {
  color: var(--v2-dark-50) !important;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Search input in header — white */
.site-header__hero .home-hero__search .dgwt-wcas-search-input,
.home-hero__search .dgwt-wcas-search-input,
.site-header__hero .dgwt-wcas-search-wrapp input[type="search"],
.site-nav-mobile__search .dgwt-wcas-search-input {
  background-color: #fff !important;
  border-color: #fff !important;
  color: var(--v2-dark-800) !important;
}
.site-header__hero .dgwt-wcas-search-wrapp input[type="search"]::placeholder,
.home-hero__search .dgwt-wcas-search-input::placeholder {
  color: #9ca3af !important;
}

/* ── Buttons ─────────────────────────────── */
.btn {
  display: inline-block;
  padding: 12px 32px;
  border-radius: 6px;
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: all 0.3s;
  cursor: pointer;
  border: 2px solid transparent;
}
.btn-primary {
  background: var(--v2-amber-400) !important;
  color: var(--v2-dark-950) !important;
}
.btn-primary:hover {
  background: var(--v2-amber-300) !important;
  color: var(--v2-dark-950) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(212,160,23,0.4), 0 0 60px rgba(212,160,23,0.15);
}
/* Default: dark text for light pages */
.btn-outline {
  background: transparent !important;
  color: var(--v2-dark-700) !important;
  border: 2px solid var(--v2-dark-300) !important;
}
.btn-outline:hover {
  border-color: var(--v2-amber-400) !important;
  color: var(--v2-amber-500) !important;
  transform: translateY(-2px);
}
/* Light text when inside dark sections */
.home-b2b .btn-outline,
.home-cta .btn-outline,
.site-header__hero .btn-outline {
  color: var(--v2-dark-50) !important;
  border-color: var(--v2-dark-400) !important;
}
.home-b2b .btn-outline:hover,
.home-cta .btn-outline:hover,
.site-header__hero .btn-outline:hover {
  color: var(--v2-amber-400) !important;
  border-color: var(--v2-amber-400) !important;
}

/* ── Homepage Hero ───────────────────────── */
.home-hero {
  background: #fff !important;
  padding: 56px 24px 48px;
  margin: -24px -24px 0;
  border-bottom: 1px solid #e5e7eb;
}
.home-hero__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px;
  align-items: center;
}
.home-hero__eyebrow {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--v2-amber-500);
  margin: 0 0 16px;
}
.home-hero__eyebrow::before {
  content: '';
  display: inline-block;
  width: 40px;
  height: 3px;
  background: var(--v2-amber-400);
  vertical-align: middle;
  margin-right: 12px;
}
.home-hero__content h1 {
  font-size: 2.8rem;
  font-weight: 800;
  color: var(--v2-dark-800);
  text-transform: uppercase;
  line-height: 1.1;
  margin: 0 0 20px;
  letter-spacing: 0.01em;
}
.home-hero__lead {
  color: #6b7280;
  font-size: 1rem;
  line-height: 1.7;
  margin: 0 0 28px;
  max-width: 540px;
}
.home-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.home-hero__bullets {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.home-hero__bullets span {
  font-size: 0.8rem;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  position: relative;
  padding-left: 14px;
}
.home-hero__bullets span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: var(--v2-amber-400);
  border-radius: 50%;
}
.home-hero__panel--content {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 28px;
}
.home-hero__panel--content h2 {
  color: var(--v2-dark-800);
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 16px;
}

@media (max-width: 900px) {
  .home-hero__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .home-hero__content h1 {
    font-size: 2rem;
  }
}
@media (max-width: 480px) {
  .home-hero {
    padding: 48px 16px 40px;
  }
  .home-hero__content h1 {
    font-size: 1.6rem;
  }
}

/* ── Section Heads ───────────────────────── */
.home-section__head {
  text-align: center;
  margin-bottom: 36px;
}
.home-section__head h2 {
  font-size: 1.8rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin: 0 0 8px;
}
.home-section__head h2::before {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: var(--v2-amber-400);
  margin: 0 auto 12px;
  border-radius: 2px;
}
.home-section__head p {
  color: var(--luwe-text-secondary, #6b7280);
  font-size: 1rem;
  margin: 0;
}

/* ── Category Cards ──────────────────────── */
.home-categories {
  padding: 48px 0;
}
.home-categories__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.home-card {
  display: block;
  background: var(--luwe-bg-surface, #fff);
  border: 1px solid var(--luwe-border, #e9eef5);
  border-radius: 6px;
  padding: 28px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: all 0.3s;
}
.home-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--v2-amber-400);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s;
}
.home-card:hover {
  transform: translateY(-4px);
  border-color: var(--v2-amber-400);
  box-shadow: 0 8px 32px rgba(212,160,23,0.1), 0 4px 16px rgba(0,0,0,0.08);
}
.home-card:hover::before {
  transform: scaleX(1);
}
.home-card h3 {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 8px;
}
.home-card:hover h3 {
  color: var(--v2-amber-500);
}
.home-card p {
  font-size: 0.85rem;
  color: var(--luwe-text-secondary, #6b7280);
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 768px) {
  .home-categories__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .home-categories__grid { grid-template-columns: 1fr; }
}

/* ── B2B Section (dark) ──────────────────── */
.home-b2b {
  background: var(--v2-dark-950);
  color: var(--v2-dark-100);
  padding: 64px 24px;
  margin: 0 -24px;
}
.home-b2b .home-section__head h2 {
  color: var(--v2-dark-50);
}
.home-b2b .home-section__head p {
  color: var(--v2-dark-200);
}
.home-b2b__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1320px;
  margin: 0 auto 32px;
}
.home-b2b__item {
  background: var(--v2-dark-800);
  border: 1px solid var(--v2-dark-500);
  border-radius: 6px;
  padding: 28px;
  transition: all 0.3s;
}
.home-b2b__item:hover {
  border-color: var(--v2-amber-400);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(212,160,23,0.08);
}
.home-b2b__item h3 {
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--v2-amber-400);
  margin: 0 0 8px;
}
.home-b2b__item p {
  font-size: 0.85rem;
  color: var(--v2-dark-200);
  line-height: 1.6;
  margin: 0;
}
.home-b2b__cta {
  text-align: center;
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  gap: 12px;
  justify-content: center;
}

@media (max-width: 768px) {
  .home-b2b__grid { grid-template-columns: 1fr; }
}

/* ── CTA Section (dark) ──────────────────── */
.home-cta {
  background: var(--v2-dark-800);
  padding: 56px 24px;
  margin: 0 -24px;
  text-align: center;
  border-top: 3px solid var(--v2-amber-400);
}
.home-cta__inner {
  max-width: 600px;
  margin: 0 auto;
}
.home-cta h2 {
  font-size: 1.8rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--v2-dark-50);
  margin: 0 0 12px;
}
.home-cta p {
  color: var(--v2-dark-200);
  margin: 0 0 24px;
}
.home-cta__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── Products Section ────────────────────── */
.home-products {
  padding: 48px 0;
}

/* ── FAQ Section ─────────────────────────── */
.home-faq {
  padding: 48px 0 0;
}
.home-faq__list {
  max-width: 800px;
  margin: 0 auto;
}
.home-faq details {
  border: 1px solid var(--luwe-border, #e9eef5);
  border-radius: 6px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color 0.2s;
}
.home-faq details[open] {
  border-color: var(--v2-amber-400);
}
.home-faq summary {
  font-weight: 700;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 16px 20px;
  cursor: pointer;
  list-style: none;
}
.home-faq summary::-webkit-details-marker {
  display: none;
}
.home-faq summary::after {
  content: '+';
  float: right;
  font-size: 1.2rem;
  color: var(--v2-amber-400);
  font-weight: 700;
}
.home-faq details[open] summary::after {
  content: '\2212';
}
.home-faq__answer,
.home-faq details p {
  padding: 0 20px 16px;
  color: var(--luwe-text-secondary, #6b7280);
  font-size: 0.9rem;
  line-height: 1.7;
  margin: 0;
}

/* ── Footer: Dark with amber accents ─────── */
.site-footer {
  border-top: 3px solid var(--v2-amber-400) !important;
  background: var(--v2-dark-950) !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.site-footer > .site-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Brand bar — full width top section */
.site-footer__brand-bar {
  padding: 32px 0 20px;
  border-bottom: 1px solid var(--v2-dark-700);
  margin-bottom: 28px;
}
.site-footer__brand {
  font-family: 'Oswald', sans-serif !important;
  color: var(--v2-amber-400) !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 4px !important;
}
.site-footer__text {
  color: var(--v2-dark-300) !important;
  font-size: 0.8rem !important;
  margin: 0 !important;
  line-height: 1.5;
}

/* 4-column grid */
.site-footer__grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 32px !important;
  padding-bottom: 28px;
}

/* Column titles */
.site-footer__title {
  font-family: 'Oswald', sans-serif !important;
  color: var(--v2-amber-400) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  margin: 0 0 12px !important;
}

/* Contact list */
.site-footer__contact {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.site-footer__contact li {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
  font-size: 0.8rem !important;
  color: var(--v2-dark-100) !important;
}
.site-footer__icon {
  color: var(--v2-amber-400) !important;
  flex-shrink: 0;
}
.site-footer__icon svg {
  width: 15px !important;
  height: 15px !important;
}
.site-footer__contact a {
  color: var(--v2-dark-100) !important;
  text-decoration: none;
  transition: color 0.2s;
  font-size: 0.8rem;
}
.site-footer__contact a:hover {
  color: var(--v2-amber-400) !important;
}

/* Hours */
.site-footer__hours {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.site-footer__hours li {
  display: flex !important;
  justify-content: space-between !important;
  font-size: 0.8rem !important;
  padding: 2px 0 !important;
  color: var(--v2-dark-200) !important;
}
.site-footer__hours-day {
  color: var(--v2-dark-100) !important;
  min-width: 80px;
}
.site-footer__hours-time {
  color: var(--v2-dark-300) !important;
}
.site-footer__hours-note,
.site-footer__note {
  font-size: 0.75rem !important;
  color: var(--v2-dark-400) !important;
  margin: 8px 0 0 !important;
  font-style: italic;
}

/* Links list */
.site-footer__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.site-footer__list li {
  margin-bottom: 4px !important;
}
.site-footer__list a {
  color: var(--v2-dark-200) !important;
  text-decoration: none;
  font-size: 0.8rem !important;
  transition: color 0.2s;
}
.site-footer__list a:hover {
  color: var(--v2-amber-400) !important;
}

/* Bottom bar */
.site-footer__bottom {
  border-top: 1px solid var(--v2-dark-700) !important;
  padding: 16px 0 !important;
  text-align: center;
}
.site-footer__bottom span {
  font-size: 0.7rem !important;
  color: var(--v2-dark-400) !important;
  letter-spacing: 0.02em;
}

/* Onderdelen CTA – dark overrides */
.home-onderdelen {
  background: var(--v2-dark-900, #111318) !important;
  border-top: 3px solid var(--v2-amber-400) !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 56px 24px !important;
  text-align: center !important;
}
.home-onderdelen__inner {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding-bottom: 0 !important;
}
.home-onderdelen h2 {
  font-family: 'Oswald', sans-serif !important;
  color: #fff !important;
}
.home-onderdelen__btn {
  background: var(--v2-amber-400) !important;
  border-color: var(--v2-amber-400) !important;
  color: var(--v2-dark-950) !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}
.home-onderdelen__btn:hover {
  background: var(--v2-amber-500, #b8880f) !important;
  border-color: var(--v2-amber-500, #b8880f) !important;
}

/* Footer responsive */
@media (max-width: 1023px) and (min-width: 769px) {
  .site-footer__grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px !important;
  }
}
@media (max-width: 768px) {
  .site-footer__grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* WhatsApp float - amber tint */
.whatsapp-float {
  box-shadow: 0 4px 20px rgba(212,160,23,0.2) !important;
}

/* ── Submenu (keep light for readability) ── */
.site-menu > li > .sub-menu::before {
  background: var(--luwe-bg-surface, #fff) !important;
  border-top-color: var(--v2-dark-500) !important;
}

/* ── Mobile nav: dark ────────────────────── */
.site-nav-mobile {
  background: var(--v2-dark-950) !important;
}
.site-nav-mobile__panel {
  background: var(--v2-dark-900) !important;
}
.site-nav-mobile__title {
  color: var(--v2-amber-400) !important;
  font-family: 'Oswald', sans-serif;
}
.site-menu-mobile a {
  color: var(--v2-dark-100) !important;
}
.site-menu-mobile a:hover {
  color: var(--v2-amber-400) !important;
}
.site-nav-close {
  color: var(--v2-dark-200) !important;
}

/* ── WooCommerce button overrides ────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--v2-amber-400) !important;
  color: var(--v2-dark-950) !important;
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transition: all 0.3s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--v2-amber-300) !important;
  color: var(--v2-dark-950) !important;
  box-shadow: 0 8px 25px rgba(212,160,23,0.4);
}

/* ═══════════════════════════════════════════════
   HYBRID: Product areas stay light, amber accents
═══════════════════════════════════════════════ */

/* ── Breadcrumbs: amber instead of blue ───── */
.product-detail__breadcrumb .woocommerce-breadcrumb a:hover {
  color: var(--v2-amber-500) !important;
}
.product-detail__breadcrumb .woocommerce-breadcrumb span:last-child {
  color: var(--v2-amber-500) !important;
}

/* ── Search results band — light, minimal ─── */
.shop-search-band {
  background: transparent !important;
  padding: 16px 0 12px !important;
  border-bottom: 1px solid #e5e7eb !important;
  margin-bottom: 16px !important;
}

.shop-results-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.shop-results-title {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--v2-dark-800) !important;
  margin-bottom: 6px !important;
}

.shop-results-actions p {
  color: #6b7280 !important;
  font-size: 0.8rem !important;
}

/* Action links: subtle compact pills */
.shop-results-actions__links {
  gap: 8px !important;
}
.shop-results-actions__links .btn {
  background: #f3f4f6 !important;
  border: 1px solid #d1d5db !important;
  color: var(--v2-dark-700) !important;
  font-family: 'Work Sans', system-ui, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 5px 12px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 6px !important;
  transition: all 0.2s !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
}
.shop-results-actions__links .btn:hover {
  border-color: var(--v2-amber-400) !important;
  color: var(--v2-amber-500) !important;
  background: #fef9e7 !important;
  transform: none !important;
  box-shadow: none !important;
}
.shop-results-actions__icon {
  width: 12px !important;
  height: 12px !important;
  flex-shrink: 0 !important;
}
.shop-results-actions__links .btn.shop-results-actions__whatsapp,
a.shop-results-actions__whatsapp.btn {
  background: #25d366 !important;
  border-color: #25d366 !important;
  color: #fff !important;
}
.shop-results-actions__links .btn.shop-results-actions__whatsapp:hover,
a.shop-results-actions__whatsapp.btn:hover {
  background: #1ebe57 !important;
  border-color: #1ebe57 !important;
  color: #fff !important;
}

/* Ordering dropdown (Relevantie) */
.woocommerce .woocommerce-ordering select {
  background: #fff !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  font-size: 0.8rem !important;
  height: 34px !important;
  color: var(--v2-dark-700) !important;
}
.woocommerce .woocommerce-ordering select:focus {
  border-color: var(--v2-amber-400) !important;
  box-shadow: 0 0 0 2px rgba(212, 160, 23, 0.12) !important;
  outline: none !important;
}

/* ── Product detail title ─────────────────── */
.product-detail__summary .product_title {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* ── Product detail price ─────────────────── */
.product-detail__summary .price {
  color: var(--v2-amber-500) !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
}
.product-detail__summary .price ins {
  color: var(--v2-amber-500) !important;
  font-weight: 500 !important;
}

/* ── Archive product cards: amber accents ─── */
.product-card:hover {
  border-color: var(--v2-amber-400) !important;
  box-shadow: 0 8px 32px rgba(212,160,23,0.1), 0 4px 16px rgba(0,0,0,0.06) !important;
}

/* Archive card price badge: larger, lighter weight */
.product-card__price-badge {
  background: var(--v2-amber-400) !important;
  color: var(--v2-dark-950) !important;
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: 1rem !important;
  padding: 6px 14px !important;
}
.product-card__price-badge--sale {
  background: #dc2626 !important;
  color: #fff !important;
}

/* Sale styling: consistent red across all views */
body.product-price-on-sale .product-detail__summary .price {
  background: #dc2626 !important;
  color: #fff !important;
}
.product-detail__summary .price del {
  color: rgba(255, 255, 255, 0.7) !important;
}
.woocommerce span.onsale {
  background: #dc2626 !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 4px !important;
}
.product-card__price-current {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
}

.woocommerce-loop-product__title {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* ── Shop filters: inline compact ─────────── */
.shop-filters-bar {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #e5e7eb !important;
  border-radius: 0 !important;
  padding: 0 0 16px !important;
  margin-bottom: 24px !important;
  margin-top: 0 !important;
  box-shadow: none !important;
}

/* Hide intro text — filters speak for themselves */
.shop-filters-bar__intro {
  display: none !important;
}

/* Form: single row, left-aligned — override grid from theme.css */
.shop-filters-form {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  grid-template-columns: none !important;
}

/* Fields wrapper: no stretch */
.shop-filters-fields {
  display: contents !important;
}

/* Filter fields: compact inline, no stretching */
.shop-filter-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  width: auto !important;
}

/* Labels: small, subtle */
.shop-filter-field span {
  color: #6b7280 !important;
  font-family: 'Work Sans', system-ui, sans-serif;
  font-size: 0.7rem !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* Select dropdowns: clean, light */
.shop-filter-select {
  background: #fff !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  color: var(--v2-dark-800) !important;
  font-size: 0.82rem !important;
  padding: 0 10px !important;
  height: 36px !important;
  transition: border-color 0.2s, box-shadow 0.2s;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  padding-right: 28px !important;
}
.shop-filter-select:hover {
  border-color: #9ca3af !important;
}
.shop-filter-select:focus {
  border-color: var(--v2-amber-400) !important;
  box-shadow: 0 0 0 2px rgba(212, 160, 23, 0.12) !important;
  outline: none !important;
}

/* Hide Toepassen button — selects auto-submit */
.shop-filters-actions .btn.btn-primary {
  display: none !important;
}

/* Reset link: inline with filters, left-aligned */
.shop-filters-actions {
  display: flex !important;
  align-items: flex-end !important;
  padding-bottom: 8px !important;
  margin-left: 0 !important;
  justify-self: start !important;
  flex: 0 0 auto !important;
  width: auto !important;
}
.shop-filters-reset {
  color: #9ca3af !important;
  font-size: 0.75rem !important;
  text-decoration: none !important;
  transition: color 0.2s;
  white-space: nowrap;
}
.shop-filters-reset:hover {
  color: var(--v2-amber-500) !important;
}

@media (max-width: 640px) {
  .shop-filters-form {
    gap: 10px !important;
  }
  .shop-filter-field {
    min-width: 0 !important;
    flex: 1 1 calc(50% - 5px) !important;
  }
}

/* ── Category/archive title + result count ── */
.woocommerce-products-header__title,
.woocommerce-products-header .page-title,
.shop-content > .term-description + .woocommerce .page-title,
.woocommerce .page-title {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--v2-dark-800) !important;
  margin: 0 0 4px !important;
}

.woocommerce .woocommerce-result-count {
  font-size: 0.75rem !important;
  color: #9ca3af !important;
  font-weight: 400 !important;
  margin: 0 0 16px !important;
}

/* ── Fluent Forms: premium restyle ────────── */

/* Labels */
.ff-el-group label,
.ff-el-group .ff-el-input--label label {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--v2-dark-700) !important;
  margin-bottom: 6px !important;
}

/* Input fields & textareas */
.ff-el-form-control {
  background: #fff !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-size: 0.9rem !important;
  font-family: 'Work Sans', system-ui, sans-serif !important;
  color: var(--v2-dark-800) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.ff-el-form-control:focus {
  border-color: var(--v2-amber-400) !important;
  box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.12) !important;
  outline: none !important;
  background: #fff !important;
}
.ff-el-form-control::placeholder {
  color: #9ca3af !important;
  font-size: 0.85rem !important;
}

/* Select dropdowns in forms */
.ff-el-form-control[type="select"],
select.ff-el-form-control {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 32px !important;
}

/* Spacing between fields */
.ff-el-group {
  margin-bottom: 16px !important;
}

/* Submit button */
.ff-btn-submit,
.ff-btn.ff-btn-submit,
.fluentform .ff-btn-submit {
  background: var(--v2-amber-400) !important;
  color: var(--v2-dark-950) !important;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 12px 28px !important;
  height: auto !important;
  min-height: 44px !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
}
.ff-btn-submit:hover,
.ff-btn.ff-btn-submit:hover,
.fluentform .ff-btn-submit:hover {
  background: var(--v2-amber-300) !important;
  box-shadow: 0 6px 20px rgba(212, 160, 23, 0.35) !important;
  transform: translateY(-1px) !important;
}

/* Radio & checkboxes */
.ff-el-form-check-input:checked {
  background-color: var(--v2-amber-400) !important;
  border-color: var(--v2-amber-400) !important;
}

/* Multi-step / progress bar */
.ff-step-header .ff-step-titles li.active {
  color: var(--v2-amber-500) !important;
}
.ff-el-progress-bar {
  background-color: var(--v2-amber-400) !important;
}

/* Error messages */
.ff-el-is-error .ff-el-form-control {
  border-color: #dc2626 !important;
}
.ff-el-is-error .error {
  color: #dc2626 !important;
  font-size: 0.75rem !important;
}

/* Success message */
.ff-message-success {
  background: #f0fdf4 !important;
  border: 1px solid #86efac !important;
  border-radius: 6px !important;
  color: #166534 !important;
}

/* Price request modal form overrides */
.price-request-modal .ff-el-form-control {
  background: #f9fafb !important;
}
.price-request-modal .ff-btn-submit {
  width: 100% !important;
}

/* ── Contact page ─────────────────────────── */

/* Hero: dark band */
.contact-page__hero {
  background: var(--v2-dark-950);
  margin: -25px -24px 0 !important;
  padding: 48px 24px 40px !important;
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  text-align: center;
}
.contact-page__eyebrow {
  font-family: 'Oswald', sans-serif !important;
  color: var(--v2-amber-400) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
}
.contact-page__eyebrow::before {
  content: '';
  display: inline-block;
  width: 32px;
  height: 2px;
  background: var(--v2-amber-400);
  vertical-align: middle;
  margin-right: 10px;
}
.contact-page__eyebrow::after {
  content: '';
  display: inline-block;
  width: 32px;
  height: 2px;
  background: var(--v2-amber-400);
  vertical-align: middle;
  margin-left: 10px;
}
.contact-page__title {
  font-family: 'Oswald', sans-serif !important;
  color: var(--v2-dark-50) !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}
.contact-page__lead {
  color: var(--v2-dark-200) !important;
  font-size: 0.95rem !important;
}

/* Map: visible, full width */
.contact-page__map-embed {
  display: block !important;
  overflow: hidden !important;
  border-bottom: 3px solid var(--v2-amber-400) !important;
  margin-bottom: 0 !important;
}
.contact-page__map-embed iframe {
  width: 100% !important;
  height: 220px !important;
  display: block !important;
  filter: saturate(0.6) brightness(0.95);
}

/* Grid */
.contact-page__grid {
  gap: 28px !important;
  margin-top: 32px !important;
}

/* Info panel: dark card */
.contact-page__panel--info {
  background: var(--v2-dark-950) !important;
  border: 1px solid var(--v2-dark-500) !important;
  border-radius: 6px !important;
  padding: 28px !important;
}
.contact-page__panel--info h2 {
  font-family: 'Oswald', sans-serif !important;
  color: var(--v2-dark-50) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-size: 1.1rem !important;
}
.contact-page__intro {
  color: var(--v2-dark-200) !important;
}

/* Contact list items */
.contact-page__list li {
  color: var(--v2-dark-100) !important;
}
.contact-page__icon {
  color: var(--v2-amber-400) !important;
}
.contact-page__list a {
  color: var(--v2-dark-100) !important;
  transition: color 0.2s;
}
.contact-page__list a:hover {
  color: var(--v2-amber-400) !important;
}

/* Hours block */
.contact-page__hours-block h3 {
  font-family: 'Oswald', sans-serif !important;
  color: var(--v2-amber-400) !important;
  text-transform: uppercase !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.06em !important;
  border-top: 1px solid var(--v2-dark-500);
  padding-top: 16px !important;
  margin-top: 16px !important;
}
.contact-page__hours li {
  color: var(--v2-dark-200) !important;
}
.contact-page__hours-day {
  color: var(--v2-dark-100) !important;
}
.contact-page__note {
  color: var(--v2-dark-300) !important;
}

/* Form panel: light, clean */
.contact-page__panel--form {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  padding: 28px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06) !important;
}
.contact-page__panel--form h2 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-size: 1.1rem !important;
  color: var(--v2-dark-800) !important;
  margin-bottom: 20px !important;
}

/* Override the underline-style inputs for contact form */
.contact-page__form .ff-el-form-control {
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  background: #f9fafb !important;
  padding: 10px 14px !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  font-family: 'Work Sans', system-ui, sans-serif !important;
  color: var(--v2-dark-800) !important;
}
.contact-page__form .ff-el-form-control:focus {
  border-color: var(--v2-amber-400) !important;
  box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.12) !important;
  background: #fff !important;
}
.contact-page__form .ff-el-form-control::placeholder {
  color: #9ca3af !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
}

/* Contact form labels */
.contact-page__form .ff-el-input--label label {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--v2-dark-600) !important;
}

/* ── Form pages (offerte/bestellen) ───────── */
.form-page {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

/* Light hero — seamless with body */
.form-page__hero {
  background: #f9fafb !important;
  border-bottom: none;
  text-align: center;
  padding: 40px 24px 24px;
  margin: -25px -24px 0;
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
.form-page__eyebrow {
  font-family: 'Oswald', sans-serif;
  color: var(--v2-amber-500);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin: 0 0 8px;
}
.form-page__eyebrow::before,
.form-page__eyebrow::after {
  display: none;
}
.form-page__title {
  font-family: 'Oswald', sans-serif !important;
  color: var(--v2-dark-800) !important;
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  margin: 0 0 8px !important;
}
.form-page__lead {
  color: #6b7280;
  font-size: 0.9rem;
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Form card — full width section */
.form-page__body {
  padding: 32px 24px 48px;
  background: #f9fafb;
  min-height: 400px;
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
.form-page__card {
  max-width: 760px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 32px;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.04);
}
.form-page__card .entry-content {
  max-width: none !important;
}

@media (max-width: 640px) {
  .form-page__hero {
    padding: 32px 16px 28px;
  }
  .form-page__title {
    font-size: 1.5rem !important;
  }
  .form-page__card {
    padding: 20px 16px;
  }
}

/* ── Body/page background: white ─────────── */
:root {
  --luwe-bg: #ffffff;
}
body {
  background-color: #fff !important;
  font-family: 'Work Sans', system-ui, sans-serif !important;
}

/* ── Site main: remove default padding ────── */
.site-main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ── All pages: full-width background ─────── */
.page .prose,
.page article.prose {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.page .entry-content {
  background: #f9fafb;
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 32px 24px 48px;
}
.page .entry-content > * {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

/* Don't double-apply on form pages (already handled) */
.form-page .entry-content {
  background: transparent !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
}

/* Category intro: amber link accents */
.category-intro a {
  color: var(--v2-amber-500);
}
.category-intro a:hover {
  color: var(--v2-amber-400);
}

/* ── Product tabs: amber active state ─────── */
.woocommerce-tabs .tabs li.active a {
  color: var(--v2-amber-500) !important;
  border-bottom-color: var(--v2-amber-400) !important;
}
.woocommerce-tabs .tabs li a:hover {
  color: var(--v2-amber-500) !important;
}

/* ── Related products heading ─────────────── */
.related.products > h2,
.upsells.products > h2 {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* ── Price toggle: amber accent ───────────── */
.price-mode-toggle__input:checked + .price-mode-toggle__track {
  background: var(--v2-amber-400) !important;
  border-color: var(--v2-amber-400) !important;
}

/* ── Pagination: amber active ─────────────── */
.woocommerce-pagination .page-numbers.current {
  background: var(--v2-amber-400) !important;
  color: var(--v2-dark-950) !important;
}
.woocommerce-pagination .page-numbers:hover:not(.current) {
  color: var(--v2-amber-500) !important;
}

/* ═══════════════════════════════════════════════
   PRODUCT FINDER — Keuzehulp wizard
═══════════════════════════════════════════════ */
.product-finder {
  background: #fff !important;
  color: var(--v2-dark-800);
  padding: 48px 24px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  border-bottom: 1px solid #e5e7eb;
}
.product-finder__inner {
  max-width: 960px;
  margin: 0 auto;
}
.product-finder__head {
  text-align: center;
  margin-bottom: 24px;
}
.product-finder__head h2 {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em;
  color: var(--v2-amber-400) !important;
  margin: 0 0 8px !important;
}
.product-finder__head p {
  color: #6b7280;
  font-size: 0.95rem;
  margin: 0;
}

/* Progress bar */
.product-finder__progress {
  height: 3px;
  background: #e5e7eb;
  border-radius: 2px;
  margin-bottom: 32px;
  overflow: hidden;
}
.product-finder__progress-bar {
  height: 100%;
  width: 0;
  background: var(--v2-amber-400);
  border-radius: 2px;
  transition: width 0.4s ease;
}

/* Steps */
.product-finder__step[hidden] {
  display: none !important;
}
.product-finder__question {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--v2-amber-400) !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 20px !important;
  text-align: center;
}

/* Option cards grid */
.product-finder__options {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}
.product-finder__options--2 { grid-template-columns: repeat(2, 1fr); }
.product-finder__options--3 { grid-template-columns: repeat(3, 1fr); }
.product-finder__options--4 { grid-template-columns: repeat(4, 1fr); }
.product-finder__options--5 { grid-template-columns: repeat(3, 1fr); }
.product-finder__options--6 { grid-template-columns: repeat(3, 1fr); }

/* Individual card */
.product-finder__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 20px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  color: var(--v2-dark-800);
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  line-height: 1.4;
}
.product-finder__card:hover {
  border-color: var(--v2-amber-400);
  background: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(212, 160, 23, 0.15);
}
.product-finder__card:active {
  transform: translateY(0);
}

/* Card icon */
.product-finder__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--v2-amber-400);
}
.product-finder__icon svg {
  width: 32px;
  height: 32px;
}

/* Card label & desc */
.product-finder__label {
  font-family: 'Oswald', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--v2-dark-800);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.product-finder__desc {
  font-size: 0.8rem;
  color: #6b7280;
  line-height: 1.3;
}

/* Back button */
.product-finder__back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 12px;
  padding: 6px 12px;
  background: none;
  border: none;
  color: #9ca3af;
  font-size: 0.85rem;
  cursor: pointer;
  transition: color 0.2s;
}
.product-finder__back:hover {
  color: var(--v2-amber-500);
}

/* Result summary */
.product-finder__result {
  text-align: center;
}
.product-finder__summary-tags {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.product-finder__tag {
  display: inline-block;
  padding: 6px 14px;
  background: #fffbeb;
  border: 1px solid var(--v2-amber-400);
  border-radius: 6px;
  color: var(--v2-amber-600, #b8860b);
  font-family: 'Oswald', sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.product-finder__categories {
  margin-bottom: 20px;
}
.product-finder__cat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  max-width: 640px;
  margin: 0 auto;
}
.product-finder__cat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 16px 12px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.product-finder__cat-card:hover {
  border-color: var(--v2-amber-400);
  box-shadow: 0 2px 8px rgba(212,160,23,0.15);
}
.product-finder__cat-label {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  color: #1f2937;
}
.product-finder__cat-desc {
  font-size: 0.8rem;
  color: #6b7280;
}
.product-finder__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.product-finder__go {
  font-size: 1rem !important;
  padding: 12px 32px !important;
}

/* Inline product results */
.product-finder__results {
  margin-bottom: 20px;
}
.product-finder__results .products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.product-finder__results .product-card {
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  overflow: hidden;
}
.product-finder__results .product-card:hover {
  border-color: var(--v2-amber-400) !important;
}
.product-finder__results-count {
  text-align: center;
  font-size: 0.8rem;
  color: #6b7280;
  margin-bottom: 16px;
}
.product-finder__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 32px 0;
  color: #6b7280;
  font-size: 0.9rem;
}
.product-finder__loading[hidden] {
  display: none;
}
.product-finder__spinner {
  width: 20px;
  height: 20px;
  border: 2px solid #e5e7eb;
  border-top-color: var(--v2-amber-400);
  border-radius: 50%;
  animation: finder-spin 0.6s linear infinite;
}
@keyframes finder-spin {
  to { transform: rotate(360deg); }
}
.product-finder__no-results {
  text-align: center;
  padding: 24px 0;
  color: #6b7280;
  font-size: 0.9rem;
}
.product-finder__no-results p { margin: 4px 0; }
.product-finder__cat-heading {
  color: #9ca3af;
  font-size: 0.85rem;
  margin: 16px 0 8px;
  text-align: center;
}

/* Responsive */
@media (max-width: 768px) {
  .product-finder__options--3,
  .product-finder__options--4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .product-finder__head h2 {
    font-size: 1.4rem !important;
  }
  .product-finder__results .products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  .product-finder__options--2,
  .product-finder__options--3,
  .product-finder__options--4 {
    grid-template-columns: 1fr;
  }
  .product-finder {
    padding: 32px 16px;
  }
  .product-finder__cat-grid {
    grid-template-columns: 1fr;
  }
  .product-finder__results .products {
    grid-template-columns: 1fr !important;
  }
  .product-finder__other-links {
    flex-wrap: wrap;
  }
}

/* "Zoekt u iets anders?" links */
.product-finder__other {
  margin-top: 32px;
  text-align: center;
}
.product-finder__other-heading {
  font-size: 0.85rem;
  color: #9ca3af;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.product-finder__other-links {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.product-finder__other-links a {
  display: inline-block;
  padding: 8px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #374151;
  font-size: 0.85rem;
  font-weight: 600;
  transition: border-color 0.2s, background 0.2s;
}
.product-finder__other-links a:hover {
  border-color: var(--v2-amber-400);
  background: #fffbeb;
  color: #1f2937;
}

/* ── Sidebar layout (experiment) ─────────── */
.shop-sidebar-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 32px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
}
.shop-sidebar {
  position: sticky;
  top: 120px;
  align-self: start;
}
.shop-sidebar__filters {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.03);
}
.shop-sidebar__title {
  font-family: 'Oswald', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--v2-amber-400);
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e5e7eb;
}
.shop-sidebar__filters .shop-filters-bar {
  border: none !important;
  border-bottom: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.shop-sidebar__filters .shop-filters-form {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 16px !important;
}
.shop-sidebar__filters .shop-filter-field {
  min-width: 0 !important;
  flex: none !important;
  width: 100% !important;
}
.shop-sidebar__filters .shop-filter-field select {
  width: 100% !important;
}
.shop-sidebar__filters .shop-filters-actions {
  padding-bottom: 0 !important;
  margin-top: 8px !important;
}
.shop-sidebar__filters .shop-filters-actions .btn.btn-primary {
  display: none !important;
}
.shop-sidebar__filters .shop-filters-reset {
  font-size: 0.8rem !important;
  color: #9ca3af !important;
}
.shop-sidebar__filters .shop-filters-reset:hover {
  color: var(--v2-amber-400) !important;
}

/* Price filter highlight */
.shop-filter-field--price {
  background: #fef9ee;
  border: 1px solid #f0c95c;
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 4px;
}
.shop-filter-field--price span {
  color: #92600a;
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.shop-filter-select--price {
  border-color: #f0c95c !important;
  background: #fff !important;
}
.shop-filter-select--price:focus {
  border-color: #d4a017 !important;
  box-shadow: 0 0 0 2px rgba(212, 160, 23, 0.15) !important;
}

/* Products grid: 3 columns when sidebar is present */
.shop-content--with-sidebar ul.products {
  grid-template-columns: repeat(3, 1fr) !important;
}

@media (max-width: 1024px) {
  .shop-sidebar-layout {
    grid-template-columns: 220px 1fr;
    gap: 20px;
  }
  .shop-content--with-sidebar ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 768px) {
  .shop-sidebar-layout {
    grid-template-columns: 1fr;
  }
  .shop-sidebar {
    position: static;
  }
  .shop-sidebar__filters .shop-filters-form {
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }
  .shop-sidebar__filters .shop-filter-field {
    flex: 1 1 calc(50% - 8px) !important;
  }
  .shop-content--with-sidebar ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  .shop-content--with-sidebar ul.products {
    grid-template-columns: 1fr !important;
  }
  .shop-sidebar__filters .shop-filters-form {
    flex-direction: column !important;
  }
  .shop-sidebar__filters .shop-filter-field {
    flex: 1 1 100% !important;
  }
}
