
/* WC Vars */
:root{
  --KK-WC-PRIMARY: rgb(26,60,52);
  --KK-WC-PRIMARY-ALT: #0f2a24;
  --KK-WC-ACCENT: #2e6b5e;
  --KK-WC-TEXT: var(--KK-SCHRIFTFARBE-ALLGEMEIN, #111);
  --KK-WC-BG: var(--KK-DESIGN-CONTAINER-HINTERGRUND, #fff);
  --KK-WC-MUTED: var(--KK-GRAU-200, #f3f4f6);
  --KK-WC-BORDER: var(--KK-GRAU-300, #e5e7eb);
  --KK-WC-LINK: var(--KK-LINKFARBE, var(--KK-WC-PRIMARY));
  --KK-WC-LINK-HOVER: var(--KK-LINKFARBE-HOVER, var(--KK-WC-PRIMARY-ALT));
  --KK-WC-DANGER: var(--KK-ROT, #dc2626);
}

/* 5em Top-Abstand auf Woo-Seiten */
body.woocommerce-page { --kk-top-offset: 5em; }
body.woocommerce-page .site-content,
body.woocommerce-page .content-area,
body.woocommerce-page .entry-content,
body.woocommerce-page .kk-shop-archive.container,
body.woocommerce-page .kk-single-product.container,
body.woocommerce-page .wc-block-cart,
body.woocommerce-page .wc-block-checkout {
  padding-top: var(--kk-top-offset);
}

/* Buttons */
.wp-element-button, .wp-block-button__link, .wc-block-components-button, .button, .woocommerce button.button {
  background: var(--KK-WC-PRIMARY); color:#fff; border:1px solid var(--KK-WC-PRIMARY);
  border-radius:8px; padding:.65rem 1rem; cursor:pointer; transition: background .2s ease, border-color .2s ease;
}
.wp-element-button:hover, .wp-block-button__link:hover, .wc-block-components-button:hover, .button:hover, .woocommerce button.button:hover {
  background: var(--KK-WC-PRIMARY-ALT); border-color: var(--KK-WC-PRIMARY-ALT);
}
a { color: var(--KK-WC-LINK); } a:hover{ color: var(--KK-WC-LINK-HOVER); }

/* Archive/Product grid */
.kk-product-card { list-style:none; border:1px solid var(--KK-WC-BORDER); border-radius:10px; padding:.75rem; }
.kk-product-thumb img { width:100%; height:auto; display:block; border-radius:8px; }
.kk-product-body { display:grid; gap:.35rem; margin-top:.5rem; }
.kk-product-actions .button { width:100%; text-align:center; }

/* Shop Kategorien */
.kk-cat-section { margin-bottom: 1.5rem; }
.kk-cat-heading { margin: 0 0 .75rem; font-size: 1.15rem; font-weight: 600; }
.kk-cat-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:1rem; }
.kk-cat-card { display:grid; grid-template-rows: auto auto auto; align-items:start; gap:.4rem; text-decoration:none; color:inherit; border:1px solid var(--KK-WC-BORDER); border-radius:12px; padding:.6rem; background:var(--KK-WC-BG); transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
.kk-cat-card:hover { transform: translateY(-2px); border-color: var(--KK-WC-PRIMARY); box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.kk-cat-img { width:100%; height:220px; object-fit:cover; border-radius:10px; display:block; }
.kk-cat-thumb.kk-noimg { display:block; height:220px; border-radius:10px; background: var(--KK-WC-MUTED); }
.kk-cat-title { font-weight: 600; }
.kk-cat-count { font-size:.85rem; color:#6b7280; }
@media (max-width:1200px){ .kk-cat-grid{ grid-template-columns: repeat(3,1fr);} }
@media (max-width:860px){ .kk-cat-grid{ grid-template-columns: repeat(2,1fr);} .kk-cat-img, .kk-cat-thumb.kk-noimg{ height:180px; } }
@media (max-width:560px){ .kk-cat-grid{ grid-template-columns: 1fr;} .kk-cat-img, .kk-cat-thumb.kk-noimg{ height:200px; } }

/* Tax Header + Layout */
.kk-archive-layout{ display:grid; grid-template-columns: 260px 1fr; gap:1.25rem; }
@media (max-width: 960px){ .kk-archive-layout{ grid-template-columns: 1fr; } }
.kk-tax-header { margin:0 0 1rem; }
.kk-tax-title { margin:0 0 .25rem; }
.kk-tax-desc { color:#6b7280; }

/* Header Icons (FA) */
.kk-header-icon{ display:inline-flex; align-items:center; gap:.4rem; text-decoration:none; padding:.25rem .5rem; margin-left:.5rem; }
.kk-header-icon .mobilemenu{ font-size:.85em; }
.kk-header-icon .fa{ font-size:1.15em; line-height:1; }
.kk-header-icon .kk-cart-count{ background: var(--KK-WC-PRIMARY, #1a3c34); color:#fff; border-radius:999px; padding:0 .45em; font-size:.75em; line-height:1.6; margin-left:.25rem; }

/* Brand filter list */
.kk-filter { border: 1px solid var(--KK-WC-BORDER); border-radius: 10px; padding: .75rem; margin-bottom: 1rem; background: var(--KK-WC-BG); }
.kk-filter-title { margin: 0 0 .5rem; font-weight: 600; }
.kk-brand-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .25rem; }
.kk-brand-list a { text-decoration: none; color: var(--KK-WC-TEXT); display: inline-block; padding: .3rem .4rem; border-radius: 6px; }
.kk-brand-list a:hover { background: var(--KK-WC-MUTED); }
.kk-brand-list a.is-active, .kk-brand-list a[aria-current="true"] { background: var(--KK-WC-PRIMARY); color: #fff; }
.kk-brand-reset a { color: var(--KK-WC-DANGER); }
