/*
Theme Name: Zaunzentrum NRW Shop
Theme URI: https://zaunzentrum-nrw.de/
Author: Zaunzentrum NRW
Description: Eigenständiges WooCommerce-Theme im Look von Corvix, optimiert für Zaunzentrum NRW. Ohne Parent-Theme, Preloader oder externe Theme-Abhängigkeiten.
Version: 2.6.1
Text Domain: zaunzentrum-shop
Requires at least: 6.0
Requires PHP: 7.4
*/


/* v2.1.2 – Hero vollflächig + mobiles Off-Canvas-Menü */
/* Der Hero selbst ist immer 100% breit. Der Regler steuert nur noch die Bildbreite/den Zoom. */
.zz-hero{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  background:#25272b!important;
}
.zz-hero-bg{
  top:0!important;
  bottom:0!important;
  left:50%!important;
  right:auto!important;
  width:var(--zz-hero-width,100%)!important;
  min-width:100%!important;
  background-position:var(--zz-hero-bg-x,50%) var(--zz-hero-bg-y,50%)!important;
  background-size:var(--zz-hero-bg-size,cover)!important;
  transform:translateX(-50%) scale(1.002)!important;
}
.site-content,.zz-home{width:100%;max-width:none;overflow-x:hidden}

/* Desktop-Untermenüs */
.zz-primary-nav .zz-submenu-toggle{display:none}

@media(max-width:1080px){
  html.zz-menu-open,body.zz-menu-open{overflow:hidden}
  .zz-nav{position:sticky;top:0;z-index:1200}
  .zz-nav-inner{position:relative}
  .zz-menu-toggle{
    display:inline-flex!important;align-items:center;justify-content:center;
    width:46px;height:46px;border-radius:10px;background:var(--zz-accent-color,#1f7cec)!important;
    color:#fff!important;font-size:0!important;line-height:1;cursor:pointer;margin-left:auto!important;
  }
  .zz-menu-toggle::before{content:"☰";font-size:27px;font-weight:400}
  body.zz-menu-open .zz-menu-toggle::before{content:"×";font-size:34px;line-height:1}

  .zz-primary-nav{
    display:block!important;position:fixed!important;
    top:0!important;right:0!important;left:auto!important;bottom:0!important;
    width:min(88vw,380px)!important;height:100dvh!important;
    padding:92px 22px 28px!important;margin:0!important;
    background:#15171c!important;color:#fff!important;
    transform:translateX(105%);transition:transform .28s ease;
    overflow-y:auto!important;overflow-x:hidden!important;
    box-shadow:-18px 0 50px rgba(0,0,0,.35);z-index:1190!important;
    align-items:stretch!important;justify-content:flex-start!important;
  }
  .zz-primary-nav.is-open{transform:translateX(0)}
  .zz-primary-nav::before{
    content:"MENÜ";display:block;margin:0 0 18px;padding:0 2px 14px;
    color:var(--zz-accent-color,#1f7cec);font-size:12px;font-weight:800;letter-spacing:.16em;
    border-bottom:1px solid rgba(255,255,255,.12)
  }
  .zz-primary-nav>div,.zz-primary-nav>ul{height:auto!important;width:100%!important}
  .zz-primary-nav ul{display:block!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important}
  .zz-primary-nav li{position:relative!important;margin:0!important;padding:0!important;border-bottom:1px solid rgba(255,255,255,.08)}
  .zz-primary-nav li>a{
    display:block!important;width:100%!important;padding:15px 42px 15px 4px!important;
    color:#fff!important;font-size:16px!important;line-height:1.25!important;font-weight:700!important;
    white-space:normal!important;text-align:left!important;
  }
  .zz-primary-nav li>a:hover{color:var(--zz-accent-color,#1f7cec)!important}
  .zz-primary-nav .menu-item-has-children>.zz-submenu-toggle{
    display:flex!important;position:absolute;right:0;top:8px;width:36px;height:36px;
    border:0;border-radius:8px;background:rgba(255,255,255,.08);color:#fff;
    align-items:center;justify-content:center;font-size:19px;cursor:pointer;z-index:2
  }
  .zz-primary-nav .menu-item-has-children>.zz-submenu-toggle::before{content:"+"}
  .zz-primary-nav .menu-item-has-children.zz-submenu-open>.zz-submenu-toggle::before{content:"−"}
  .zz-primary-nav .sub-menu{
    display:none!important;position:static!important;min-width:0!important;width:100%!important;
    margin:0!important;padding:0 0 10px 14px!important;background:rgba(255,255,255,.025)!important;
    box-shadow:none!important;border-radius:0!important
  }
  .zz-primary-nav .zz-submenu-open>.sub-menu{display:block!important}
  .zz-primary-nav .sub-menu li{border-bottom:0!important}
  .zz-primary-nav .sub-menu a{padding:10px 38px 10px 10px!important;font-size:14px!important;font-weight:600!important;color:#d9dde5!important}

  body.zz-menu-open::after{
    content:"";position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:1180
  }
  .zz-nav-actions{position:relative;z-index:1201}
  .zz-menu-toggle{position:relative;z-index:1201}
}

@media(max-width:600px){
  .zz-topbar{font-size:12px}
  .zz-topbar-inner{width:calc(100% - 24px);padding:7px 0}
  .zz-nav .zz-container{width:calc(100% - 24px)!important}
  .zz-nav-inner{gap:10px!important}
  .zz-logo{width:145px!important;min-width:145px!important;max-width:145px!important;flex-basis:145px!important}
  .zz-logo .custom-logo-link img,.zz-logo img.custom-logo{width:auto!important;max-width:142px!important;max-height:52px!important}
  .zz-nav-actions{gap:8px;font-size:18px}
  .zz-menu-toggle{width:42px;height:42px}
  .zz-primary-nav{width:min(92vw,350px)!important;padding:82px 18px 24px!important}
  .zz-hero{min-height:min(var(--zz-hero-height,500px),620px)!important}
  .zz-hero-bg{width:max(100%,var(--zz-hero-width,100%))!important}
}


/* v2.1.3 – scharfe Produktgalerie + moderne Produktbeschreibung */
/* Produktbilder: keine Weichzeichnung/Interpolation erzwingen, Galerie großzügig darstellen. */
.single-product .woocommerce-product-gallery{
  margin-bottom:34px!important;
}
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image{
  background:#fff;
}
.single-product .woocommerce-product-gallery__image a{
  display:flex!important;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #e7e9ee;
  border-radius:18px;
  overflow:hidden;
}
.single-product .woocommerce-product-gallery__image img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  filter:none!important;
  image-rendering:auto!important;
  backface-visibility:hidden;
  transform:translateZ(0);
}
.single-product .flex-control-thumbs{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:12px!important;
}
.single-product .flex-control-thumbs li{
  width:auto!important;
  float:none!important;
  margin:0!important;
}
.single-product .flex-control-thumbs img{
  border-radius:10px;
  border:1px solid #e6e8ec;
  opacity:.72;
  transition:.18s ease;
}
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover{
  opacity:1;
  border-color:var(--zz-accent-color,#1f7cec);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--zz-accent-color,#1f7cec) 20%,transparent);
}

/* Einzelprodukt: Summary moderner und luftiger. */
.single-product div.product{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  column-gap:58px;
  align-items:start;
}
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary{
  width:100%!important;
  float:none!important;
  margin-right:0!important;
}
.single-product div.product .summary{
  padding:26px 0 10px;
}
.single-product .product_title{
  font-family:var(--zz-heading-font,Arial)!important;
  line-height:1.08!important;
  letter-spacing:-.025em;
  margin:0 0 16px!important;
}
.single-product .summary .price{
  color:#17191f!important;
  font-weight:800!important;
  margin:12px 0 18px!important;
}
.single-product .woocommerce-product-details__short-description{
  font-size:16px;
  line-height:1.75;
  color:#4b5563;
  margin:14px 0 22px;
}
.single-product form.cart{
  padding:18px;
  margin:20px 0!important;
  border:1px solid #e5e7eb;
  background:#f8fafc;
  border-radius:14px;
}
.single-product form.cart .button{
  min-height:48px;
  padding:0 22px!important;
  border-radius:8px!important;
  background:var(--zz-accent-color,#1f7cec)!important;
  color:#fff!important;
  font-weight:800!important;
}
.single-product .product_meta{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #e6e8ec;
  color:#6b7280;
  font-size:13px;
  line-height:1.8;
}

/* Beschreibung/Tabs komplett neu gestaltet. */
.single-product .woocommerce-tabs{
  grid-column:1/-1;
  width:100%!important;
  float:none!important;
  clear:both!important;
  margin:58px 0 26px!important;
}
.single-product .woocommerce-tabs ul.tabs{
  display:flex!important;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 0!important;
  padding:0!important;
  border:0!important;
}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{
  display:none!important;
  content:none!important;
}
.single-product .woocommerce-tabs ul.tabs li{
  border:0!important;
  background:#eef1f5!important;
  border-radius:10px 10px 0 0!important;
  margin:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.single-product .woocommerce-tabs ul.tabs li a{
  display:block!important;
  padding:14px 20px!important;
  color:#4b5563!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2;
}
.single-product .woocommerce-tabs ul.tabs li.active{
  background:#fff!important;
  position:relative;
  z-index:2;
}
.single-product .woocommerce-tabs ul.tabs li.active a{
  color:var(--zz-accent-color,#1f7cec)!important;
}
.single-product .woocommerce-tabs ul.tabs li.active::after{
  display:block!important;
  content:""!important;
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:3px;
  background:var(--zz-accent-color,#1f7cec);
  border-radius:3px 3px 0 0;
}
.single-product .woocommerce-Tabs-panel{
  margin:0!important;
  padding:34px 38px 38px!important;
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:0 16px 16px 16px;
  box-shadow:0 14px 40px rgba(18,27,42,.07);
  color:#394150;
  font-size:16px;
  line-height:1.78;
}
.single-product .woocommerce-Tabs-panel>h2:first-child{
  margin-top:0!important;
  line-height:1.15;
  color:#17191f!important;
}
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3,
.single-product .woocommerce-Tabs-panel h4{
  color:#17191f!important;
  margin-top:30px;
  margin-bottom:12px;
  letter-spacing:-.015em;
}
.single-product .woocommerce-Tabs-panel p{
  margin:0 0 17px;
  max-width:1000px;
}
.single-product .woocommerce-Tabs-panel ul,
.single-product .woocommerce-Tabs-panel ol{
  margin:14px 0 22px;
  padding-left:0;
  list-style:none;
  max-width:1000px;
}
.single-product .woocommerce-Tabs-panel li{
  position:relative;
  padding:7px 0 7px 30px;
  border-bottom:1px solid #f0f1f3;
}
.single-product .woocommerce-Tabs-panel li:last-child{border-bottom:0}
.single-product .woocommerce-Tabs-panel li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:7px;
  width:20px;
  height:20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,var(--zz-accent-color,#1f7cec) 13%,white);
  color:var(--zz-accent-color,#1f7cec);
  font-size:12px;
  font-weight:900;
}
.single-product .woocommerce-product-attributes{
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0 8px!important;
}
.single-product .woocommerce-product-attributes tr{
  background:#f7f8fa;
}
.single-product .woocommerce-product-attributes th,
.single-product .woocommerce-product-attributes td{
  border:0!important;
  padding:13px 16px!important;
}
.single-product .woocommerce-product-attributes th{
  width:32%;
  color:#23262d;
  font-weight:800!important;
  border-radius:8px 0 0 8px;
}
.single-product .woocommerce-product-attributes td{
  border-radius:0 8px 8px 0;
  color:#4b5563;
}

/* "Passend dazu" und verwandte Produkte optisch vom Beschreibungsteil trennen. */
.single-product .related.products,
.single-product .up-sells.products{
  grid-column:1/-1;
  margin-top:44px;
  padding-top:36px;
  border-top:1px solid #e8eaee;
}
.single-product .related.products>h2,
.single-product .up-sells.products>h2{
  font-size:32px;
  margin-bottom:24px;
}

@media(max-width:980px){
  .single-product div.product{grid-template-columns:1fr;column-gap:0}
  .single-product .woocommerce-tabs,
  .single-product .related.products,
  .single-product .up-sells.products{grid-column:1}
}
@media(max-width:600px){
  .single-product .woocommerce-tabs{margin-top:36px!important}
  .single-product .woocommerce-tabs ul.tabs{display:grid!important;grid-template-columns:1fr 1fr;gap:6px}
  .single-product .woocommerce-tabs ul.tabs li{border-radius:8px!important;text-align:center}
  .single-product .woocommerce-Tabs-panel{padding:24px 20px 26px!important;border-radius:12px!important}
  .single-product .woocommerce-Tabs-panel>h2:first-child{font-size:25px!important}
  .single-product .flex-control-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* v2.1.8 – Produkttitel-Regler zuverlässig + Zaunbedarfsrechner volle Breite */
body.single-product .product .summary h1,
body.single-product .product .summary h1.product_title,
body.single-product .product .summary h1.product_title.entry-title,
body.single-product .summary.entry-summary h1,
body.single-product .summary.entry-summary .product_title,
body.single-product .woocommerce div.product .product_title,
.woocommerce.single-product div.product .product_title{
  font-size:var(--zz-product-title-size,34px)!important;
  line-height:1.08!important;
}

/* Der Zaunbedarfsrechner darf die komplette verfügbare Breite nutzen. */
.zz-fullwidth-page,
.zz-fence-calculator-page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
.zz-fence-calculator-page > article,
.zz-fence-calculator-page .entry-content,
.zz-fence-calculator-page .wp-block-group,
.zz-fence-calculator-page .elementor,
.zz-fence-calculator-page .elementor-section-wrap,
.zz-fence-calculator-page .elementor-section,
.zz-fence-calculator-page .elementor-container,
.zz-fence-calculator-page [class*="fence-calculation"],
.zz-fence-calculator-page [class*="zaunbedarfs"],
.zz-fence-calculator-page [id*="fence-calculation"],
.zz-fence-calculator-page [id*="zaunbedarfs"]{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}


/* v2.1.9 – harter Fix: Produkt-H1 + Zaunbedarfsrechner Full-Bleed */
body.single-product div.product div.summary.entry-summary h1.product_title.entry-title,
body.single-product div.product div.summary h1.product_title,
body.single-product .summary.entry-summary > h1,
body.single-product main h1.product_title {
  font-size: var(--zz-product-title-size, 34px) !important;
  line-height: 1.08 !important;
}

/* Rechner-Seite bricht aus jedem Theme-Container auf die komplette Viewportbreite aus. */
main.zz-fence-calculator-page,
.zz-fence-calculator-page > article {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.zz-fence-calculator-page > article > *,
.zz-fence-calculator-page .entry-content,
.zz-fence-calculator-page .entry-content > *,
.zz-fence-calculator-page [class*="container"],
.zz-fence-calculator-page [class*="wrapper"],
.zz-fence-calculator-page [class*="fence"],
.zz-fence-calculator-page [class*="zaun"] {
  max-width: none !important;
}
.zz-fence-calculator-page .entry-content,
.zz-fence-calculator-page .entry-content > * {
  width: 100% !important;
}

/* v2.2.0 – eingebetteter Zaunbedarfsrechner auf Produktseiten */
body.single-product .zz-calculator-wide{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
body.single-product .zz-calculator-wide > *{
  max-width:none !important;
  box-sizing:border-box !important;
}
body.single-product .woocommerce-Tabs-panel .zz-calculator-wide{
  width:100% !important;
}

/* Produkttitel: echte WooCommerce-Template-Ausgabe hat den Customizer-Wert inline. */
body.single-product h1.zz-product-title{
  font-size:var(--zz-product-title-size,34px) !important;
  line-height:1.08 !important;
}


/* v2.2.1 – Zaunbedarfsrechner wirklich über die komplette Beschreibungsbreite */
body.single-product .woocommerce-tabs,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
body.single-product .woocommerce-Tabs-panel .zz-calculator-path,
body.single-product .woocommerce-Tabs-panel .zz-calculator-path > *{
  max-width:none !important;
  box-sizing:border-box !important;
}
body.single-product .woocommerce-Tabs-panel .zz-calculator-root{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
body.single-product .woocommerce-Tabs-panel .zz-calculator-root > *{
  max-width:none !important;
  box-sizing:border-box !important;
}

/* v2.2.3 – Rechner sitzt als drittes Kind im zweispaltigen Produkt-Grid.
   Deshalb muss er über ALLE Grid-Spalten spannen. */
body.single-product div.product > section.zzzr-product.zz-calculator-wide,
body.single-product div.product > .zzzr-product.zz-calculator-wide,
body.single-product #product-1225 > section.zzzr-product.zz-calculator-wide,
body.single-product section.zzzr-product.zz-calculator-wide {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
body.single-product section.zzzr-product.zz-calculator-wide > * {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* v2.2.3 – echte Rechnerklasse des Plugins: über beide Produktspalten */
body.single-product div.product > section.zzzr-product,
body.single-product div.product > .zzzr-product,
body.single-product section.zzzr-product {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
}
body.single-product section.zzzr-product > * {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
@media (max-width: 900px) {
  body.single-product div.product > section.zzzr-product,
  body.single-product section.zzzr-product {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
  }
}


/* ========================================================================
   v2.3.0 – Premium Fachhandel Design
   Ruhigere Farbwelt: Zaunzentrum-Grün, Anthrazit, warmes Off-White und Stein.
   ======================================================================== */
:root{
  --zz-accent-color:#1f7cec;
  --zz-accent-hover:#155fb8;
  --zz-accent-soft:#edf4ee;
  --zz-stone:#a88e72;
  --zz-premium-dark:#15191a;
  --zz-premium-ink:#202524;
  --zz-premium-muted:#69716c;
  --zz-premium-bg:#f7f7f4;
  --zz-premium-line:#e4e8e3;
  --zz-premium-shadow:0 14px 38px rgba(20,35,25,.07);
}

body{
  color:var(--zz-premium-ink);
  background:#fff;
  font-family:var(--zz-body-font,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Header + Topbar */
.zz-topbar{background:var(--zz-accent-color)!important;color:#fff!important}
.zz-nav{background:var(--zz-premium-dark)!important;border-bottom:1px solid rgba(255,255,255,.06)}
.zz-primary-nav a{letter-spacing:.005em}
.zz-primary-nav a:hover,.site-footer a:hover{color:#8fb593!important}
.zz-nav-actions b{background:var(--zz-accent-color)!important}
.zz-menu-toggle{background:var(--zz-accent-color)!important}

/* Hero */
.zz-eyebrow{color:#9bc09e!important;letter-spacing:.14em!important}
.zz-btn{border-radius:10px!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important}
.zz-btn:hover{transform:translateY(-1px)}
.zz-btn-primary{background:var(--zz-accent-color)!important;box-shadow:0 8px 22px rgba(31,124,236,.20)!important}
.zz-btn-primary:hover{background:var(--zz-accent-hover)!important;box-shadow:0 10px 26px rgba(46,107,58,.26)!important}
.zz-btn-outline{border-color:#cfd6cf!important;color:var(--zz-premium-ink)!important;background:#fff!important}

/* Kategorien */
.zz-section{background:#fff}
.zz-category-grid{gap:20px!important}
.zz-category-card{
  border:1px solid var(--zz-premium-line)!important;
  border-radius:18px!important;
  box-shadow:var(--zz-premium-shadow)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.zz-category-card:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(20,35,25,.11)!important;border-color:#d3dbd3!important}
.zz-category-card>div{padding:20px 20px 22px!important}
.zz-category-card h2{color:var(--zz-premium-ink)!important;letter-spacing:-.02em!important}
.zz-category-card strong{color:#6e806f!important;font-weight:700!important}
.zz-category-card p{color:var(--zz-premium-muted)!important;line-height:1.6!important}
.zz-text-link{color:var(--zz-accent-color)!important}
.zz-text-link:hover{color:var(--zz-accent-hover)!important}

/* Vertrauensleiste + Service */
.zz-trust{background:var(--zz-premium-bg)!important;border-top:1px solid #eef0ec;border-bottom:1px solid #eef0ec}
.zz-trust-grid b{color:var(--zz-premium-ink)}
.zz-trust-grid span{color:var(--zz-premium-muted)!important}
.zz-service-card{background:#f3f6f2!important;border:1px solid #e3e9e2!important;box-shadow:0 14px 42px rgba(20,35,25,.06)!important}
.zz-service-card h2,.zz-section-head h2,.zz-seo h2,.zz-faq h2{letter-spacing:-.025em;color:var(--zz-premium-ink)}
.zz-seo{background:var(--zz-premium-bg)!important}
.zz-faq details{border-color:var(--zz-premium-line)!important;border-radius:12px!important;box-shadow:0 3px 14px rgba(20,35,25,.025)}

/* WooCommerce Karten: mehr Premium, weniger Standard-WooCommerce */
.woocommerce ul.products{gap:22px!important}
.woocommerce ul.products li.product{
  border:1px solid var(--zz-premium-line)!important;
  border-radius:18px!important;
  padding:14px 14px 16px!important;
  box-shadow:var(--zz-premium-shadow)!important;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(20,35,25,.11)!important;border-color:#d3dbd3!important}
.woocommerce ul.products li.product img{border-radius:13px!important;background:#fafbf9!important;margin-bottom:15px!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--zz-premium-ink)!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:-.012em!important;
  margin:6px 0 8px!important;
}
.woocommerce ul.products li.product .price{
  color:var(--zz-premium-dark)!important;
  font-weight:800!important;
  letter-spacing:-.015em;
  margin:9px 0 5px!important;
}
.woocommerce ul.products li.product .button{
  background:var(--zz-accent-color)!important;
  color:#fff!important;
  border-radius:9px!important;
  padding:11px 15px!important;
  font-weight:750!important;
  box-shadow:none!important;
}
.woocommerce ul.products li.product .button:hover{background:var(--zz-accent-hover)!important}
.woocommerce ul.products li.product .woocommerce-loop-product__link + .button{margin-top:12px!important}

/* Preis-Meta bewusst visuell zurücknehmen */
.woocommerce ul.products li.product .tax-info,
.woocommerce ul.products li.product .shipping-costs-info,
.woocommerce ul.products li.product .delivery-time-info,
.woocommerce ul.products li.product small,
.woocommerce ul.products li.product .wgm-info,
.woocommerce ul.products li.product .wc-gzd-additional-info{
  color:#7a817d!important;
  font-size:12px!important;
  line-height:1.45!important;
  margin:3px 0!important;
}

/* Einzelprodukt */
.single-product div.product{column-gap:64px!important}
.single-product .woocommerce-product-gallery__image a{border-color:var(--zz-premium-line)!important;border-radius:20px!important;box-shadow:0 10px 34px rgba(20,35,25,.05)}
.single-product .flex-control-thumbs img{border-color:var(--zz-premium-line)!important}
.single-product .flex-control-thumbs img.flex-active,.single-product .flex-control-thumbs img:hover{border-color:var(--zz-accent-color)!important;box-shadow:0 0 0 2px rgba(31,124,236,.12)!important}
.single-product .summary .price{color:var(--zz-premium-dark)!important}
.single-product form.cart{background:#f7f9f6!important;border-color:#e1e7e0!important;border-radius:16px!important}
.single-product form.cart .button,.single-product .single_add_to_cart_button{background:var(--zz-accent-color)!important;border-radius:10px!important;box-shadow:0 8px 20px rgba(31,124,236,.16)!important}
.single-product form.cart .button:hover,.single-product .single_add_to_cart_button:hover{background:var(--zz-accent-hover)!important}
.single-product .zz-product-trust span{background:var(--zz-accent-soft)!important;color:#315638!important;border:1px solid #dae7db!important}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--zz-accent-color)!important}
.single-product .woocommerce-tabs ul.tabs li.active::after{background:var(--zz-accent-color)!important}
.single-product .woocommerce-Tabs-panel{border-color:var(--zz-premium-line)!important;box-shadow:0 12px 36px rgba(20,35,25,.045)!important}

/* Zaunbedarfsrechner farblich ans Theme anbinden, ohne Plugin-Funktion zu verändern */
body.single-product section.zzzr-product{border-color:#dfe6de!important;box-shadow:0 12px 35px rgba(20,35,25,.05)!important}
body.single-product section.zzzr-product button{border-radius:9px}
body.single-product section.zzzr-product button.zzzr-p-calculate{background:var(--zz-accent-color)!important;color:#fff!important;border-color:var(--zz-accent-color)!important}
body.single-product section.zzzr-product button.zzzr-p-calculate:hover{background:var(--zz-accent-hover)!important}

/* Footer */
.site-footer{background:var(--zz-premium-dark)!important}
.zz-footer-bottom{border-color:#303632!important;color:#9da59f!important}

@media(max-width:600px){
  .woocommerce ul.products li.product{border-radius:16px!important;padding:12px!important}
  .zz-category-card{border-radius:16px!important}
}

/* v2.4.0 – commerce-first layout inspired by leading specialist fence shops */
.zz-home-shop{background:#fff}
.zz-hero-commerce{min-height:560px!important}
.zz-hero-commerce-inner{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:64px;align-items:center;min-height:inherit}
.zz-hero-copy{max-width:760px}.zz-hero-copy h1{max-width:760px}
.zz-hero-shopbox{background:rgba(255,255,255,.96);color:#15181c;border-radius:18px;padding:28px;box-shadow:0 22px 70px rgba(0,0,0,.22);backdrop-filter:blur(7px)}
.zz-shopbox-kicker{display:block;color:var(--zz-accent-color,#1f7cec);font-size:12px;font-weight:900;letter-spacing:.12em;margin-bottom:8px}
.zz-hero-shopbox h2{font-size:28px;line-height:1.08;margin:0 0 16px}.zz-hero-shopbox ul{list-style:none;padding:0;margin:0 0 18px}.zz-hero-shopbox li{padding:10px 0;border-bottom:1px solid #e5eefb;font-weight:700}.zz-hero-shopbox li::before{content:'✓';color:var(--zz-accent-color,#1f7cec);margin-right:9px}.zz-btn-block{display:flex!important;width:100%;justify-content:center}.zz-hero-shopbox small{display:block;color:#64748b;line-height:1.45;margin-top:10px}
.zz-commerce-trust{background:#f5f7f3;border-bottom:1px solid #e2e7df}.zz-commerce-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.zz-commerce-trust-grid>div{padding:18px 24px;border-right:1px solid #e0e5dc}.zz-commerce-trust-grid>div:last-child{border-right:0}.zz-commerce-trust b,.zz-commerce-trust span{display:block}.zz-commerce-trust b{font-size:14px;color:#202427}.zz-commerce-trust span{font-size:12px;color:#69716d;margin-top:3px}
.zz-section-head-left{text-align:left!important;max-width:780px;margin-left:0!important}.zz-section-head-left h2{margin-left:0!important}
.zz-shop-categories{padding-top:72px}.zz-shop-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.zz-shop-category-tile{display:grid;grid-template-columns:46% 54%;min-height:280px;background:#f8fbff;border:1px solid #dbe5f3;border-radius:18px;overflow:hidden;text-decoration:none!important;color:#171a18!important;transition:.2s ease;box-shadow:0 8px 26px rgba(20,31,25,.05)}.zz-shop-category-tile:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(20,31,25,.10);border-color:#bfd0ea}.zz-shop-category-image{background-position:center;background-size:contain;background-repeat:no-repeat;background-color:#fff}.zz-shop-category-copy{padding:30px;display:flex;flex-direction:column;justify-content:center}.zz-shop-category-copy small{color:var(--zz-accent-color,#1f7cec);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.zz-shop-category-copy strong{font-size:29px;line-height:1.05;margin:7px 0 10px}.zz-shop-category-copy em{font-style:normal;color:#64748b;margin-bottom:28px}.zz-shop-category-copy>span:last-child{font-weight:900;color:var(--zz-accent-color,#1f7cec)}
.zz-package-section{background:#0f172a;color:#fff}.zz-package-card{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.zz-package-copy h2{color:#fff!important;font-size:42px;line-height:1.05;max-width:650px}.zz-package-copy p:not(.zz-eyebrow){color:#cbd5e1;font-size:17px;line-height:1.7;max-width:680px}.zz-package-steps{display:grid;gap:12px}.zz-package-steps>div{display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto;column-gap:16px;background:#1e293b;border:1px solid #334155;border-radius:14px;padding:18px}.zz-package-steps span{grid-row:1/3;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--zz-accent-color,#1f7cec);font-weight:900}.zz-package-steps b{font-size:17px}.zz-package-steps small{color:#94a3b8;margin-top:3px}
.zz-bestsellers-commerce{padding-top:80px}.zz-bestsellers-commerce ul.products{margin-top:30px!important}
.zz-popular-links{background:#f8fbff}.zz-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.zz-link-grid a{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #dbe5f3;border-radius:12px;padding:20px 22px;text-decoration:none!important;color:#0f172a!important;font-size:16px;font-weight:800;transition:.18s ease}.zz-link-grid a span{color:var(--zz-accent-color,#1f7cec);font-size:22px}.zz-link-grid a:hover{border-color:var(--zz-accent-color,#1f7cec);transform:translateY(-1px)}
.zz-service-commerce{padding-top:72px;padding-bottom:72px}.zz-service-commerce .zz-service-card{background:#f3f6f1!important}
@media(max-width:980px){.zz-hero-commerce-inner,.zz-package-card{grid-template-columns:1fr}.zz-hero-shopbox{max-width:560px}.zz-commerce-trust-grid{grid-template-columns:repeat(2,1fr)}.zz-shop-category-grid{grid-template-columns:1fr}.zz-package-copy h2{font-size:34px}}
@media(max-width:640px){.zz-hero-commerce{min-height:auto!important}.zz-hero-commerce-inner{padding-top:54px!important;padding-bottom:44px!important;gap:26px}.zz-hero-shopbox{padding:20px}.zz-hero-shopbox h2{font-size:23px}.zz-commerce-trust-grid{grid-template-columns:1fr 1fr}.zz-commerce-trust-grid>div{padding:14px 12px}.zz-shop-category-tile{grid-template-columns:1fr;min-height:0}.zz-shop-category-image{height:210px}.zz-shop-category-copy{padding:22px}.zz-shop-category-copy strong{font-size:24px}.zz-package-copy h2{font-size:29px}.zz-link-grid{grid-template-columns:1fr}.zz-package-section{padding-top:54px;padding-bottom:54px}}


/* v2.4.1 – Akzentfarbe konsequent im gesamten Theme und in Frontend-Plugins */
:root{
  --zz-accent-color:#1f7cec;
  --zz-accent-hover:#155fb8;
  --zz-accent-soft:#eef6ef;
}

/* Normale Aktionsbuttons: auch WooCommerce- und Filter-Plugins an die Themefarbe anbinden */
body:not(.wp-admin) input[type="submit"],
body:not(.wp-admin) input[type="button"],
body:not(.wp-admin) input[type="reset"],
body:not(.wp-admin) button[type="submit"],
body:not(.wp-admin) .button,
body:not(.wp-admin) a.button,
body:not(.wp-admin) .wp-element-button,
body:not(.wp-admin) .woocommerce a.button,
body:not(.wp-admin) .woocommerce button.button,
body:not(.wp-admin) .woocommerce input.button,
body:not(.wp-admin) .woocommerce #respond input#submit,
body:not(.wp-admin) .woocommerce a.button.alt,
body:not(.wp-admin) .woocommerce button.button.alt,
body:not(.wp-admin) .woocommerce input.button.alt,
body:not(.wp-admin) .wpfFilterButton,
body:not(.wp-admin) .wpfButton,
body:not(.wp-admin) .berocket_aapf_widget_update_button,
body:not(.wp-admin) [class*="filter"] button[type="button"],
body:not(.wp-admin) [class*="filter"] button[type="submit"],
body:not(.wp-admin) [class*="Filter"] button[type="button"],
body:not(.wp-admin) [class*="Filter"] button[type="submit"]{
  background-color:var(--zz-accent-color)!important;
  background-image:none!important;
  border-color:var(--zz-accent-color)!important;
  color:#fff!important;
}

body:not(.wp-admin) input[type="submit"]:hover,
body:not(.wp-admin) input[type="button"]:hover,
body:not(.wp-admin) button[type="submit"]:hover,
body:not(.wp-admin) .button:hover,
body:not(.wp-admin) a.button:hover,
body:not(.wp-admin) .wp-element-button:hover,
body:not(.wp-admin) .woocommerce a.button:hover,
body:not(.wp-admin) .woocommerce button.button:hover,
body:not(.wp-admin) .woocommerce input.button:hover,
body:not(.wp-admin) .wpfFilterButton:hover,
body:not(.wp-admin) .wpfButton:hover,
body:not(.wp-admin) .berocket_aapf_widget_update_button:hover,
body:not(.wp-admin) [class*="filter"] button:hover,
body:not(.wp-admin) [class*="Filter"] button:hover{
  background-color:var(--zz-accent-hover)!important;
  border-color:var(--zz-accent-hover)!important;
  color:#fff!important;
}

/* Filter-Slider, Auswahlpunkte und aktive Filter ebenfalls konsistent */
body:not(.wp-admin) .ui-slider .ui-slider-range,
body:not(.wp-admin) .ui-slider .ui-slider-handle,
body:not(.wp-admin) .wpfPriceRangeField .ui-slider-range,
body:not(.wp-admin) .wpfPriceRangeField .ui-slider-handle,
body:not(.wp-admin) [class*="filter"] .ui-slider-range,
body:not(.wp-admin) [class*="Filter"] .ui-slider-range{
  background:var(--zz-accent-color)!important;
  border-color:var(--zz-accent-color)!important;
}

body:not(.wp-admin) [class*="filter"] input[type="checkbox"]:checked,
body:not(.wp-admin) [class*="filter"] input[type="radio"]:checked,
body:not(.wp-admin) [class*="Filter"] input[type="checkbox"]:checked,
body:not(.wp-admin) [class*="Filter"] input[type="radio"]:checked{
  accent-color:var(--zz-accent-color)!important;
}

/* Ausnahmen: Navigation/Hero-Geisterbuttons behalten ihre spezielle Darstellung */
body:not(.wp-admin) .zz-menu-toggle{background:var(--zz-accent-color)!important}
body:not(.wp-admin) .zz-btn-ghost{background:rgba(0,0,0,.18)!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important}
body:not(.wp-admin) .zz-btn-outline{background:transparent!important;color:var(--dark)!important;border-color:var(--dark)!important}
