/*
Theme Name: Kayan Industrial
Theme URI: https://kayan-elektro.de
Author: Kayan Elektro
Author URI: https://kayan-elektro.de
Description: Industrial-Shop-Theme für Kayan Elektro – Rot/Schwarz-Brutalismus für hochwertige Smart-Home-, Licht- und Medientechnik. Inkl. WooCommerce-Unterstützung.
Version: 1.8.7
Requires at least: 6.2
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kayan
WC requires at least: 7.0
WC tested up to: 8.9
Tags: woocommerce, e-commerce, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ===================================================================
   1 · DESIGN TOKENS
   =================================================================== */
:root{
  --red:#D4121F;--red-dark:#A60E18;--ink:#101114;--ink-soft:#6A6F75;
  --white:#FFFFFF;--panel:#F2F3F5;--line:#E2E5E9;
  --header-h:118px;
  --mono:'Spline Sans Mono',monospace;
  --sans:'Spline Sans',sans-serif;
  --display:'Big Shoulders Display',sans-serif;
}

/* -------------------------------------------------------------------
   ZEILENHOEHE BEI DISPLAY-UEBERSCHRIFTEN — bitte nicht unter .92 setzen.

   Big Shoulders Display hat eine Versalhoehe von 0.800 em, die Umlaut-
   punkte von Ae/Oe/Ue reichen aber bis 0.885 em. Bei line-height:.84
   ragte der Umlaut der zweiten Zeile in die erste hinein: aus
   "TECHNIK, DIE / UEBERZEUGT." wurde ein Buchstabensalat, weil die
   Punkte des Ue im T der Zeile darueber klebten.

   Da nur deutsche Umlaute betroffen sind, faellt so etwas in Tests mit
   englischen Blindtexten nie auf.

   .885 = rechnerisches Minimum (Beruehrung), .92 = das, was das Theme
   bei allen uebrigen Display-Ueberschriften ohnehin verwendet.
   ------------------------------------------------------------------- */

/* ===================================================================
   2 · RESET / BASE
   =================================================================== */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip}
body{font-family:var(--sans);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;overflow-x:clip}
.container{max-width:1320px;margin:0 auto;padding:0 30px}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button{font-family:inherit;cursor:pointer;border:none}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.display{font-family:var(--display);font-weight:800;line-height:.92;text-transform:uppercase}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

/* ===================================================================
   3 · HEADER · Topbar + Suchleiste + Navigationszeile
   =================================================================== */
/* Topbar (nicht sticky): Vertrauen + Hotline immer praesent */
.topbar{background:var(--ink);color:#fff}
.topbar .tb-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:36px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}
.topbar .tb-usps{display:flex;gap:22px;align-items:center;min-width:0}
.topbar .tb-usps span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:rgba(255,255,255,.85)}
.topbar svg{width:12px;height:12px;stroke:var(--red);fill:none;stroke-width:2.4;flex:none}
.topbar .tb-contact{display:flex;gap:18px;align-items:center;white-space:nowrap}
.topbar .tb-contact a{color:#fff;font-weight:500}
.topbar .tb-contact a:hover{color:var(--red)}
.topbar .tb-contact .hrs{color:rgba(255,255,255,.6)}

/* Sticky-Block: Logozeile + Navigationszeile */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:2px solid var(--ink)}
.hd-main{display:flex;align-items:center;justify-content:space-between;height:70px;gap:26px}
.logo{font-family:var(--display);font-weight:900;font-size:30px;text-transform:uppercase;display:flex;align-items:center;gap:10px;white-space:nowrap;color:var(--ink);flex:none}
.logo .sq{width:14px;height:26px;background:var(--red);transform:skewX(-12deg)}
.logo img{max-height:40px;width:auto}

/* Such-Launcher: sieht aus wie ein Eingabefeld, oeffnet das Live-Such-Overlay */
.search-launch{flex:1;min-width:0;max-width:640px;display:flex;align-items:center;gap:12px;border:2px solid var(--ink);background:#fff;padding:0 14px;height:46px;text-align:left;cursor:text;transition:border-color .2s}
.search-launch:hover{border-color:var(--red)}
.search-launch svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:2;flex:none}
.search-launch .sl-ph{flex:1;min-width:0;font-family:var(--sans);font-size:14px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-launch kbd{font-family:var(--mono);font-size:10px;line-height:1;border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);padding:4px 7px;flex:none}

.tools{display:flex;align-items:center;gap:18px;flex:none}
.tools a,.tools button{background:none;display:flex;padding:0;border:none;color:var(--ink)}
.tools svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.6;cursor:pointer}
.tools a:hover,.tools button:hover{color:var(--red)}
.tools .tools-search{display:none}
.wish-btn{position:relative}
.wish-badge{position:absolute;top:-8px;right:-9px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:10px;min-width:17px;height:17px;display:grid;place-items:center;font-weight:600;padding:0 3px;opacity:0;transition:.2s}
.wish-badge.has{opacity:1;background:var(--red)}
.cart-btn{position:relative}
.cart-badge{position:absolute;top:-8px;right:-9px;background:var(--red);color:#fff;font-family:var(--mono);font-size:10px;min-width:17px;height:17px;display:grid;place-items:center;font-weight:600;padding:0 3px}
.burger{display:none;font-family:var(--mono);font-size:11px;text-transform:uppercase;border:2px solid var(--ink);padding:8px 13px;background:none;color:var(--ink)}

/* Navigationszeile */
.header-nav{border-top:1px solid var(--line)}
.header-nav .main-nav ul{display:flex;gap:28px;list-style:none;height:46px;align-items:center}
.main-nav a{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--red)}

/* mobile nav drawer */
.mobile-nav{position:fixed;inset:0 0 0 auto;width:300px;background:#fff;border-left:2px solid var(--ink);transform:translateX(105%);transition:transform .3s;z-index:70;padding:30px;overflow:auto}
.mobile-nav.open{transform:none}
.mobile-nav ul{list-style:none}
.mobile-nav li{border-bottom:1px solid var(--line)}
.mobile-nav a{display:block;padding:16px 0;font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.mobile-nav .close{font-family:var(--mono);font-size:11px;text-transform:uppercase;border:2px solid var(--ink);padding:8px 13px;background:none;margin-bottom:24px}

/* Anker landen nicht unterm Sticky-Header */
[id]{scroll-margin-top:calc(var(--header-h) + 20px)}

@media(max-width:900px){
  :root{--header-h:66px}
  .hd-main{height:64px;gap:14px}
  .header-nav{display:none}
  .burger{display:block}
  .logo{font-size:24px}
}
@media(max-width:640px){
  .search-launch{display:none}
  .tools .tools-search{display:flex}
  .topbar .tb-usps span:nth-child(2),.topbar .tb-usps span:nth-child(3),.topbar .hrs{display:none}
}

/* ===================================================================
   4 · BUTTONS
   =================================================================== */
.btn{padding:15px 26px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;gap:10px;align-items:center;transition:.2s}
.btn-white{background:#fff;color:var(--red)}.btn-white:hover{background:var(--ink);color:#fff}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:var(--red);color:#fff}
.btn-ow{border:2px solid #fff;color:#fff}.btn-ow:hover{background:#fff;color:var(--red)}

/* ===================================================================
   5 · PAGE HERO (red)
   =================================================================== */
.page-hero{background:var(--red);color:#fff;position:relative;overflow:hidden;border-bottom:2px solid var(--ink)}
.page-hero::after{content:"";position:absolute;right:-90px;top:-90px;width:320px;height:320px;border:38px solid rgba(255,255,255,.12);border-radius:50%}
.page-hero .container{padding:30px 30px 50px;position:relative;z-index:1}
.crumb{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85);display:flex;gap:10px;margin-bottom:32px;flex-wrap:wrap}
.crumb .sep{opacity:.55}
.page-hero .cat{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}
.page-hero .cat::before{content:"";width:26px;height:2px;background:#fff}
.page-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(44px,8vw,104px);text-transform:uppercase;line-height:.92}
.page-hero .tag{font-size:18px;color:rgba(255,255,255,.95);max-width:580px;margin-top:18px}
.page-hero .btns{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}

/* ===================================================================
   6 · FRONT PAGE
   =================================================================== */
.fp-hero{background:var(--red);color:#fff;position:relative;overflow:hidden;border-bottom:2px solid var(--ink)}
.fp-hero::after{content:"";position:absolute;right:-100px;top:-100px;width:360px;height:360px;border:40px solid rgba(255,255,255,.12);border-radius:50%}
.fp-hero .container{padding:70px 30px 80px;position:relative;z-index:1}
.fp-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(52px,9vw,132px);text-transform:uppercase;line-height:.92;max-width:14ch}
.fp-hero h1 em{font-style:normal;-webkit-text-stroke:2px #fff;color:transparent}
.fp-hero .tag{font-size:19px;color:rgba(255,255,255,.95);max-width:560px;margin-top:24px}
.fp-hero .btns{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}

/* brand marquee */
.marquee{background:var(--ink);color:#fff;padding:22px 0;overflow:hidden;white-space:nowrap;border-bottom:2px solid var(--ink)}
.marquee-track{display:inline-block;animation:scroll 32s linear infinite}
.marquee-track span{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:.14em;margin:0 40px;opacity:.55;text-transform:uppercase}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* section heads */
.sec{padding:84px 0}
.sec .head .mono{color:var(--red);display:block;margin-bottom:14px}
.sec .head h2{font-family:var(--display);font-weight:800;font-size:clamp(32px,4.4vw,60px);text-transform:uppercase;line-height:.92;margin-bottom:42px}

/* category tiles */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-left:2px solid var(--ink)}
.cat-tile{position:relative;aspect-ratio:3/2.6;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);overflow:hidden;display:flex;align-items:flex-end;padding:26px;color:#fff;background:var(--ink);isolation:isolate}
.cat-tile .ph{position:absolute;inset:0;z-index:-2;background:var(--panel);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:26px 26px;transition:transform .6s}
.cat-tile img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.cat-tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(16,17,20,.82),rgba(16,17,20,.15) 65%)}
.cat-tile:hover .ph,.cat-tile:hover img{transform:scale(1.06)}
.cat-tile h3{font-family:var(--display);font-weight:800;font-size:26px;text-transform:uppercase;line-height:.95}
.cat-tile .meta{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-top:6px}
.cat-tile .arr{position:absolute;top:20px;right:20px;width:38px;height:38px;border:1px solid rgba(255,255,255,.4);display:grid;place-items:center;transition:.3s}
.cat-tile:hover .arr{background:var(--red);border-color:var(--red)}
.cat-tile .arr svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:1.6}

/* trust strip */
.strip{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);display:grid;grid-template-columns:repeat(4,1fr)}
.strip .f{padding:30px 26px;border-right:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}
.strip .f:last-child{border-right:none}
.strip .f svg{width:26px;height:26px;stroke:var(--red);fill:none;stroke-width:1.5;flex:none}
.strip .f .t{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.strip .f .s{font-size:13px;color:var(--ink-soft);margin-top:4px}

/* CTA band */
.cta{background:var(--red);color:#fff;padding:84px 0;text-align:center}
.cta .mono{color:rgba(255,255,255,.85);display:block;margin-bottom:16px}
.cta h2{font-family:var(--display);font-weight:900;font-size:clamp(34px,5vw,76px);text-transform:uppercase;line-height:.9;margin-bottom:26px}
.cta h2 .o{-webkit-text-stroke:2px #fff;color:transparent}

/* ===================================================================
   7 · WOOCOMMERCE · SHOP ARCHIVE LAYOUT
   =================================================================== */
.shop-chips{border-bottom:2px solid var(--ink);background:#fff;overflow-x:auto}
.shop-chips .inner{display:flex;max-width:1320px;margin:0 auto;padding:0 30px}
.shop-chips a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:18px 22px;border-right:1px solid var(--line);white-space:nowrap;transition:.2s}
.shop-chips a:first-child{padding-left:0}
.shop-chips a.active{color:#fff;background:var(--ink)}
.shop-chips a:hover:not(.active){background:var(--panel);color:var(--red)}

.shop-layout{display:grid;grid-template-columns:268px 1fr;max-width:1320px;margin:0 auto}
.shop-sidebar{border-right:2px solid var(--ink);padding:38px 30px 60px;position:sticky;top:var(--header-h);align-self:start;max-height:calc(100vh - var(--header-h));overflow:auto}
.shop-main{min-width:0}

.shop-toolbar{display:flex;align-items:center;justify-content:space-between;padding:22px 30px;border-bottom:2px solid var(--ink);flex-wrap:wrap;gap:14px}
.shop-toolbar .woocommerce-result-count{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0}
.shop-toolbar .woocommerce-ordering{margin:0}
.shop-toolbar select{font-family:var(--mono);font-size:12px;text-transform:uppercase;border:2px solid var(--ink);padding:9px 12px;background:#fff;outline:none;cursor:pointer}
.filter-toggle{display:none;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--ink);padding:10px 15px;background:#fff}

/* sidebar widgets */
.shop-sidebar .widget{padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.shop-sidebar .widget:last-child{border-bottom:none}
.shop-sidebar .widget-title,.shop-sidebar h2,.shop-sidebar h3{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px;font-weight:500}
.shop-sidebar ul{list-style:none}
.shop-sidebar li{padding:7px 0;font-size:14.5px;font-weight:500}
.shop-sidebar li a:hover{color:var(--red)}
.shop-sidebar .count{font-family:var(--mono);font-size:11px;color:var(--ink-soft)}

/* ===================================================================
   8 · WOOCOMMERCE · PRODUCT GRID + CARDS
   =================================================================== */
.woocommerce ul.products,
ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0;width:100%;max-width:100%;margin:0!important;padding:0;list-style:none;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.woocommerce ul.products li.product,
ul.products li.product{width:auto!important;min-width:0;margin:0!important;float:none!important;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.2s;display:flex;flex-direction:column;padding:0!important}
ul.products li.product::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--red);transition:width .3s;z-index:3}
ul.products li.product:hover{background:var(--panel)}
ul.products li.product:hover::before{width:100%}

/* thumb */
.kayan-card .thumb{position:relative;aspect-ratio:1/1;border-bottom:1px solid var(--line);overflow:hidden;background:var(--panel);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:26px 26px}
.kayan-card .thumb-link{position:absolute;inset:0;display:grid;place-items:center}
.kayan-card .thumb img{width:100%;height:100%;object-fit:contain;padding:16px;mix-blend-mode:multiply;color:transparent;font-size:0}
.kayan-card .thumb .ph{display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;width:100%;height:100%;padding:20px;text-align:center}
.kayan-card .thumb .ph-mark{width:26px;height:46px;background:var(--red);transform:skewX(-12deg);opacity:.92}
.kayan-card .thumb .ph-txt{font-family:var(--display);font-weight:800;font-size:18px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);opacity:.45;line-height:1;overflow-wrap:anywhere}
.kayan-card .code{position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--ink-soft);background:#fff;padding:4px 7px;border:1px solid var(--line);z-index:2}
.kayan-card .wish{position:absolute;top:10px;right:10px;width:30px;height:30px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s;z-index:2}
.kayan-card .wish svg{width:15px;height:15px;stroke:var(--ink);fill:none;stroke-width:1.6}
.kayan-card .wish:hover{border-color:var(--red)}
.kayan-card .wish.on{background:var(--red);border-color:var(--red)}
.kayan-card .wish.on svg{stroke:#fff;fill:#fff}
.kayan-card .badge{position:absolute;bottom:0;left:0;background:var(--ink);color:#fff;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;z-index:2}
.kayan-card .badge.red{background:var(--red)}

/* Auf Touch-Geraeten braucht der Merken-Knopf eine groessere Flaeche.
   30x30 erfuellt zwar WCAG 2.2 (Minimum 24x24), trifft sich mit dem
   Daumen aber schlecht — besonders, weil er dicht am Kachelrand sitzt. */
@media(pointer:coarse){
  .kayan-card .wish{width:40px;height:40px}
  .kayan-card .wish svg{width:19px;height:19px}
}

/* hide woo default sale flash, we use our badge */
.kayan-card .onsale{display:none}

/* card body */
.kayan-card .cbody{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1;min-width:0}
.kayan-card .brand{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.kayan-card .card-title{font-family:var(--sans);font-weight:600;font-size:15px;line-height:1.4;margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kayan-card .card-title a{color:var(--ink)}
.kayan-card .desc{font-size:13px;color:var(--ink-soft);margin-top:8px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kayan-card .cfoot{margin-top:auto;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.kayan-card .price{font-family:var(--display);font-weight:800;font-size:25px;color:var(--ink)}
.kayan-card .price .woocommerce-Price-amount{font-family:var(--display)}
.kayan-card .price del{opacity:.4;font-size:16px;margin-right:6px}
.kayan-card .price ins{text-decoration:none}
.kayan-card .price small{font-family:var(--mono);font-size:10px;color:var(--ink-soft);display:block;font-weight:400;letter-spacing:.06em;text-transform:none}

/* add-to-cart button */
.kayan-card .button,
.kayan-card .add_to_cart_button,
.kayan-card .added_to_cart{background:var(--ink)!important;color:#fff!important;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:13px 15px!important;display:inline-flex;align-items:center;gap:8px;transition:.2s;border-radius:0;line-height:1;white-space:nowrap;margin:0}
.kayan-card .button:hover,
.kayan-card .add_to_cart_button:hover{background:var(--red)!important}
.kayan-card .add_to_cart_button.added{background:var(--red)!important}
.kayan-card .added_to_cart{margin-left:6px;font-size:10px;text-decoration:underline}

/* ===================================================================
   8b · SHOP-LOOP-BANNER (volle Breite, zwischen den Produkten)
   =================================================================== */
.kayan-promo{grid-column:1/-1;list-style:none;border-bottom:1px solid var(--line);min-width:0}
.kayan-promo .pin{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:44px 34px;flex-wrap:wrap}
.kayan-promo .mono{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:10px}
.kayan-promo h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(23px,3.4vw,38px);line-height:.95;margin:0;overflow-wrap:anywhere}
.kayan-promo p{margin-top:10px;font-size:14.5px;max-width:46ch}
.promo-red{background:var(--red);color:#fff}
.promo-red .mono{color:rgba(255,255,255,.82)}
.promo-red .pbtn{background:#fff;color:var(--ink);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:16px 26px;white-space:nowrap;transition:.2s}
.promo-red .pbtn:hover{background:var(--ink);color:#fff}
.promo-ink{background:var(--ink);color:#fff}
.promo-ink .trio{justify-content:flex-start;gap:0;align-items:stretch}
.promo-ink .t{flex:1 1 200px;min-width:0;padding:4px 28px;border-right:1px solid rgba(255,255,255,.16)}
.promo-ink .t:first-child{padding-left:0}
.promo-ink .t:last-child{border-right:none;padding-right:0}
.promo-ink .t b{font-family:var(--display);font-weight:800;font-size:20px;text-transform:uppercase;display:block;margin-bottom:4px}
.promo-ink .t span{font-size:13px;color:rgba(255,255,255,.72)}
.promo-light{background:var(--panel)}
.promo-light .mono{color:var(--red)}
.promo-light .brands{font-family:var(--display);font-weight:700;font-size:clamp(15px,2vw,21px);text-transform:uppercase;letter-spacing:.03em;opacity:.7;text-align:right;max-width:52%;overflow-wrap:anywhere}
@media(max-width:600px){
  .kayan-promo .pin{padding:30px 22px;flex-direction:column;align-items:flex-start;text-align:left}
  .promo-ink .trio{flex-direction:column;gap:16px}
  .promo-ink .t{border-right:none;border-bottom:1px solid rgba(255,255,255,.16);padding:0 0 14px}
  .promo-ink .t:last-child{border-bottom:none;padding-bottom:0}
  .promo-light .brands{text-align:left;max-width:100%}
  .promo-red .pbtn{width:100%;text-align:center}
}

/* ===================================================================
   9 · WOOCOMMERCE · SINGLE PRODUCT / CART / CHECKOUT (styled, not overridden)
   =================================================================== */
.woocommerce div.product .product_title{font-family:var(--display);font-weight:800;font-size:clamp(32px,4vw,54px);text-transform:uppercase;line-height:.92}
.woocommerce div.product p.price,
.woocommerce div.product span.price{font-family:var(--display);font-weight:800;font-size:32px;color:var(--ink)}
.woocommerce span.onsale{background:var(--red);color:#fff;border-radius:0;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;min-height:auto;min-width:auto;padding:6px 12px;line-height:1}
.woocommerce-tabs ul.tabs li{border-radius:0!important;background:var(--panel)!important;border:1px solid var(--line)!important}
.woocommerce-tabs ul.tabs li.active{background:var(--ink)!important;border-color:var(--ink)!important}
.woocommerce-tabs ul.tabs li.active a{color:#fff!important}
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error{border-top-color:var(--red);border-radius:0}

/* global woo buttons */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button{background:var(--ink);color:#fff;border-radius:0;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:14px 24px;transition:.2s;font-weight:500}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button:hover{background:var(--red);color:#fff}
.woocommerce .button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce button.button.alt{background:var(--red)}
.woocommerce .button.alt:hover{background:var(--ink)}

/* form fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection,
.woocommerce table.cart td.actions .input-text{border:2px solid var(--ink)!important;border-radius:0!important;padding:11px 12px}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{border-color:var(--red)!important;outline:none}

/* cart / checkout tables */
.woocommerce table.shop_table{border:2px solid var(--ink);border-radius:0}
.woocommerce table.shop_table th{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{border:2px solid var(--ink);padding:0}

/* page wrappers */
.site-main{padding:0}
.page-body{padding:64px 0}
.page-body .container{max-width:820px}
.page-body h1,.page-body h2,.page-body h3{font-family:var(--display);text-transform:uppercase;line-height:.95;margin:1.2em 0 .5em}
.page-body p{margin-bottom:1.1em;font-size:16.5px}
.woo-wrap{max-width:1320px;margin:0 auto;padding:56px 30px}

/* ===================================================================
   10 · FOOTER
   =================================================================== */
.site-footer{background:#fff;color:var(--ink-soft);padding:0 0 28px;border-top:4px solid var(--red);font-size:14px}
.site-footer .top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;padding:54px 0 38px;border-bottom:1px solid var(--line)}
.site-footer h4{color:var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}
.site-footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.site-footer ul a:hover{color:var(--red)}
.site-footer .logo{color:var(--ink);font-size:26px;margin-bottom:14px}
.site-footer .bottom{display:flex;justify-content:space-between;padding-top:22px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;gap:12px}

/* ===================================================================
   11 · REVEAL ANIMATION
   =================================================================== */
/* Einblenden beim Scrollen — NUR wenn JavaScript laeuft.
   Frueher stand hier .reveal{opacity:0}: damit waren Kategorien,
   Leistungen und Produktempfehlungen unsichtbar, solange main.js nicht
   ausgefuehrt war — und bei blockiertem oder fehlgeschlagenem JavaScript
   dauerhaft. Die .js-Klasse setzt ein Inline-Skript im <head>, also vor
   dem ersten Rendern; ohne JavaScript greift die Regel nie und der
   Inhalt ist von Anfang an da. */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}
.js .reveal.in{opacity:1;transform:none}

/* ===================================================================
   12 · RESPONSIVE
   =================================================================== */
.shop-overlay{position:fixed;inset:0;background:rgba(16,17,20,.5);z-index:55;display:none}
.shop-overlay.show{display:block}

@media(max-width:1040px){
  .shop-layout{grid-template-columns:1fr}
  .shop-sidebar{position:fixed;top:0;left:0;height:100vh;width:300px;max-height:none;background:#fff;z-index:60;transform:translateX(-105%);transition:transform .3s;box-shadow:8px 0 40px rgba(0,0,0,.12)}
  .shop-sidebar.open{transform:none}
  .filter-toggle{display:inline-flex}
  .woocommerce ul.products,
  ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cat-grid{grid-template-columns:1fr 1fr}
  .strip{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .main-nav{display:none}.burger{display:block}
  .site-footer .top{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .container{padding:0 20px}
  .cat-grid,.strip{grid-template-columns:1fr}
  .kayan-card .cfoot{flex-direction:column;align-items:stretch}
  .kayan-card .button{justify-content:center}
  .sec{padding:60px 0}
}
/* -------------------------------------------------------------------
   Produktraster auf dem Handy: ZWEI Spalten statt einer.

   Bei einer Spalte fuellt das quadratische Produktbild die volle
   Bildschirmbreite — pro Bildschirm ist damit genau ein Artikel zu
   sehen. Bei einem Katalog mit 28.000 Positionen, in dem Kundinnen und
   Kunden nach Artikelnummer und Typ scannen, ist das der Unterschied
   zwischen Ueberfliegen und Endlos-Scrollen.

   Damit zwei Kacheln auf 390 px nicht gequetscht wirken, wird die
   Kachel hier bewusst entschlackt: kleinere Innenabstaende, Titel auf
   zwei Zeilen begrenzt, Kurzbeschreibung ausgeblendet (dafuer ist bei
   ~180 px Spaltenbreite kein Platz), Preis und Knopf gestapelt.

   Zurueck auf eine Spalte: grid-template-columns auf 1fr aendern.
   ------------------------------------------------------------------- */
@media(max-width:600px){
  .woocommerce ul.products,
  ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  .kayan-card .cbody{padding:12px 12px 14px}
  .kayan-card .brand{font-size:10px;letter-spacing:.1em;margin-bottom:5px}
  .kayan-card .card-title{font-size:13.5px;line-height:1.35;-webkit-line-clamp:2}
  .kayan-card .desc{display:none}
  .kayan-card .cfoot{padding-top:12px;gap:8px}
  .kayan-card .price{font-size:19px}
  .kayan-card .price small{font-size:9px}
  .kayan-card .button,
  .kayan-card .add_to_cart_button{font-size:10px;letter-spacing:.05em;padding:11px 8px!important;gap:5px}
  .kayan-card .code{font-size:9px;padding:3px 5px;top:8px;left:8px}
  .kayan-card .badge{font-size:8.5px;padding:4px 7px}
  .kayan-card .thumb img{padding:10px}
}

/* Sehr schmale Geraete (unter 340 px): dort wird zweispaltig zu eng. */
@media(max-width:339px){
  .woocommerce ul.products,
  ul.products{grid-template-columns:1fr!important}
  .kayan-card .desc{display:-webkit-box}
}

/* ===================================================================
   13 · INHALTS- & MARKETING-SEITEN
   =================================================================== */
.lead{max-width:64ch;color:var(--ink-soft);font-size:16.5px}

/* Markenraster */
.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink);border-left:2px solid var(--ink)}
.brand-cell{border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:28px 24px;min-height:182px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;transition:.2s;position:relative}
.brand-cell::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--red);transition:width .3s}
.brand-cell:hover{background:var(--ink);color:#fff}
.brand-cell:hover::before{width:100%}
.brand-cell .tagn{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.brand-cell .bn{font-family:var(--display);font-weight:800;font-size:30px;text-transform:uppercase;line-height:.95}
.brand-cell .bd{font-size:13px;color:var(--ink-soft)}
.brand-cell:hover .bd{color:rgba(255,255,255,.72)}

/* Feature-Reihen (abwechselnd) */
.feat{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--ink)}
.feat:first-of-type{border-top:2px solid var(--ink)}
.feat .txt{padding:52px 44px;display:flex;flex-direction:column;justify-content:center}
.feat .num{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--red);margin-bottom:12px}
.feat h3{font-family:var(--display);font-weight:800;font-size:clamp(26px,3vw,38px);text-transform:uppercase;line-height:.96;margin-bottom:14px}
.feat .txt p{color:var(--ink-soft);font-size:15.5px}
.feat .img{position:relative;background:var(--panel);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px;border-left:2px solid var(--ink);min-height:300px;display:grid;place-items:center}
.feat .img .ghost{font-family:var(--display);font-weight:900;font-size:38px;color:rgba(16,17,20,.09);text-transform:uppercase;text-align:center;padding:24px;line-height:.95}
.feat:nth-child(even) .txt{order:2;border-left:2px solid var(--ink)}
.feat:nth-child(even) .img{order:1;border-left:none}

/* Ablauf-Schritte */
.steps{display:grid;grid-template-columns:repeat(6,1fr);border:2px solid var(--ink);background:#fff}
.steps .st{padding:24px 16px;border-right:1px solid var(--line)}
.steps .st:last-child{border-right:none}
.steps .st .n{font-family:var(--display);font-weight:900;font-size:38px;color:var(--red);line-height:1}
.steps .st .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;margin-top:10px;line-height:1.5}

/* Werte / Punkte */
.points{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--ink)}
.points .p{padding:34px 28px;border-right:1px solid var(--line)}
.points .p:last-child{border-right:none}
.points .p .pn{font-family:var(--mono);font-size:12px;color:var(--red)}
.points .p h3{font-family:var(--display);font-weight:800;font-size:22px;text-transform:uppercase;margin:12px 0 8px}
.points .p p{font-size:14px;color:var(--ink-soft)}

/* Stat-Reihe */
.statrow{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--ink);background:var(--ink);color:#fff}
.statrow .s{padding:34px 28px;border-right:1px solid rgba(255,255,255,.14)}
.statrow .s:last-child{border-right:none}
.statrow .s b{font-family:var(--display);font-weight:800;font-size:46px;color:var(--red);display:block;line-height:1}
.statrow .s span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}

/* Kontakt */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.contact-info{border-right:2px solid var(--ink);padding:48px 44px}
.contact-form{padding:48px 44px}
.contact-info h2,.contact-form h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:26px;margin-bottom:8px}
.cinfo{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.cinfo:last-child{border-bottom:none}
.cinfo svg{width:22px;height:22px;stroke:var(--red);fill:none;stroke-width:1.5;flex:none;margin-top:2px}
.cinfo .l{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.cinfo .v{font-size:16px;font-weight:600;margin-top:3px}
.map-ph{height:340px;background:var(--panel);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:30px 30px;border-bottom:2px solid var(--ink);display:grid;place-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.kform label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);display:block;margin:14px 0 6px}
.kform input,.kform textarea{width:100%;border:2px solid var(--ink);padding:12px 13px;font-family:var(--sans);font-size:15px;outline:none}
.kform input:focus,.kform textarea:focus{border-color:var(--red)}
.kform button{margin-top:18px;cursor:pointer}

/* FAQ */
.faq{border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{font-family:var(--display);font-weight:700;font-size:21px;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-family:var(--sans);font-weight:400;font-size:24px}
.faq details[open] summary::after{content:"\2013"}
.faq details p{color:var(--ink-soft);margin-top:14px;font-size:15px;max-width:74ch}

/* Info-Karten */
.icards{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-left:2px solid var(--ink)}
.icard{border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:32px 28px}
.icard .ic{width:46px;height:46px;border:2px solid var(--red);display:grid;place-items:center;margin-bottom:18px}
.icard .ic svg{width:22px;height:22px;stroke:var(--red);fill:none;stroke-width:1.5}
.icard h3{font-family:var(--display);font-weight:800;font-size:22px;text-transform:uppercase;margin-bottom:10px}
.icard p{font-size:14px;color:var(--ink-soft)}

@media(max-width:900px){
  .brand-grid{grid-template-columns:1fr 1fr}
  .feat{grid-template-columns:1fr}
  .feat .img{border-left:none;border-top:2px solid var(--ink);order:2!important;min-height:200px}
  .feat:nth-child(even) .txt{border-left:none;order:1!important}
  .steps{grid-template-columns:1fr 1fr 1fr}
  .points,.statrow,.icards{grid-template-columns:1fr}
  .points .p,.statrow .s{border-right:none;border-bottom:1px solid var(--line)}
  .contact-grid{grid-template-columns:1fr}
  .contact-info{border-right:none;border-bottom:2px solid var(--ink)}
}
@media(max-width:560px){
  .brand-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
}

/* ===================================================================
   14 · FEATURES · Live-Suche / Wunschliste / Zuletzt angesehen
   =================================================================== */
.tools .search-trigger{background:none;border:none;padding:0;margin:0;cursor:pointer;color:inherit;display:inline-flex}
.tools .search-trigger svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.wish-btn{position:relative;display:inline-flex;color:inherit}
.wish-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.wish-badge{position:absolute;top:-8px;right:-9px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:10px;min-width:17px;height:17px;display:grid;place-items:center;font-weight:600;padding:0 3px}
.wish-badge.has{background:var(--red)}
.wish.on svg{fill:var(--red);stroke:var(--red)}

/* Live-Suche Overlay */
.ksearch{position:fixed;inset:0;z-index:200;background:rgba(14,13,11,.55);display:none;padding:0 16px}
.ksearch.open{display:block}
.ksearch-panel{max-width:760px;margin:8vh auto 0;background:#fff;border:2px solid var(--ink)}
.ksearch-bar{display:flex;align-items:center;border-bottom:2px solid var(--ink)}
.ksearch-input{flex:1;min-width:0;border:none;outline:none;font-family:var(--sans);font-size:18px;padding:20px 22px;background:none;color:var(--ink)}
.ksearch-close{background:none;border:none;font-size:30px;line-height:1;padding:0 20px;cursor:pointer;color:var(--ink)}
.ksearch-results{max-height:62vh;overflow-y:auto}
.ks-hint,.ks-empty{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-soft);padding:22px}
.ks-item{display:flex;align-items:center;gap:14px;padding:12px 22px;border-bottom:1px solid var(--line);color:var(--ink)}
.ks-item.active{background:var(--panel)}
.ks-thumb{width:48px;height:48px;flex:none;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;overflow:hidden}
.ks-thumb img{width:100%;height:100%;object-fit:contain;padding:4px;mix-blend-mode:multiply}
.ks-thumb .ph-mark{width:10px;height:18px;background:var(--red);transform:skewX(-12deg);opacity:.5}
.ks-item:hover{background:var(--panel)}
.ks-title{flex:1;min-width:0;font-family:var(--sans);font-weight:600;font-size:14.5px;line-height:1.35;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ks-all{display:block;padding:15px 22px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--panel)}
.ks-all:hover{background:var(--ink);color:#fff}
.ks-meta{font-family:var(--mono);font-size:11px;color:var(--ink-soft);white-space:nowrap}
.ks-price{font-family:var(--mono);font-size:13px;font-weight:600;white-space:nowrap}
.ks-price del{opacity:.5;font-weight:400;margin-right:5px}

/* Wunschliste / Zuletzt angesehen */
.kayan-feature{margin:0 auto;max-width:1320px;padding:0 30px}
.kayan-feature-title{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(24px,3vw,38px);line-height:.95;margin:0 0 24px;padding-top:10px}
.kayan-empty{font-family:var(--mono);font-size:13px;letter-spacing:.03em;color:var(--ink-soft);padding:40px 0}
.kayan-recent{padding:60px 30px;border-top:1px solid var(--line);margin-top:30px}

@media(max-width:600px){
  .ksearch{padding:0}
  .ksearch-panel{margin-top:0;height:100%;border:none}
  .ksearch-results{max-height:calc(100vh - 72px)}
}

/* ----------------------------------------------------------------------
 * 15 · KARRIERE / STELLEN
 * ------------------------------------------------------------------- */
.jobs{border-top:2px solid var(--ink)}
.job-dept{border-bottom:2px solid var(--ink)}
.job-dept .dept-h{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);padding:26px 30px 4px}
.job-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 30px;border-top:1px solid var(--line);flex-wrap:wrap;transition:background .2s,color .2s}
.job-row:hover{background:var(--ink);color:#fff}
.job-row .ji{flex:1 1 320px;min-width:0}
.job-row .jt{font-family:var(--display);font-weight:800;font-size:23px;text-transform:uppercase;line-height:1.02}
.job-row .jm{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-top:8px}
.job-row:hover .jm{color:#fff}
.job-row .jd{font-size:13.5px;color:var(--ink-soft);margin-top:8px;max-width:62ch}
.job-row:hover .jd{color:rgba(255,255,255,.82)}
.job-row .jb{flex:0 0 auto}
.job-apply{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:2px solid currentColor;padding:11px 18px;white-space:nowrap;transition:.2s}
.job-apply:hover{background:#fff;color:var(--ink);border-color:#fff}
@media(max-width:600px){.job-row{padding:20px}.job-dept .dept-h{padding:22px 20px 4px}.job-row .jt{font-size:20px}.job-row .jb{flex:1 1 100%}.job-apply{width:100%;justify-content:center}}

/* ===================================================================
   16 · BARRIEREFREIHEIT & BEWEGUNG (Qualitäts-Grundlage)
   =================================================================== */
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:14px 22px}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.ksearch-input:focus-visible{outline:none}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .marquee{overflow-x:auto}
  .marquee-track{animation:none}
  .js .reveal{opacity:1;transform:none;transition:none}
  .cat-tile .ph,.cat-tile img,.btn,.mobile-nav,.shop-sidebar{transition:none}
}

/* ===================================================================
   17 · WOOCOMMERCE · PRODUKTDETAILSEITE (Datenblatt-Look)
   =================================================================== */
/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 30px}
.woocommerce .woocommerce-breadcrumb a{color:var(--ink-soft)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--red)}

/* Galerie als gerahmtes Datenblatt-Bild */
.woocommerce div.product div.images{border:2px solid var(--ink);background:#fff}
.woocommerce div.product div.images .woocommerce-product-gallery__image{background:var(--panel);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:26px 26px}
.woocommerce div.product div.images .woocommerce-product-gallery__image img{mix-blend-mode:multiply;object-fit:contain;padding:26px}
.woocommerce div.product div.images .flex-control-thumbs{margin-top:0;border-top:2px solid var(--ink)}
.woocommerce div.product div.images .flex-control-thumbs li{padding:0;border-right:1px solid var(--line)}
.woocommerce div.product div.images .flex-control-thumbs li img{opacity:.55;padding:8px;mix-blend-mode:multiply}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover{opacity:1}

/* Zusammenfassung rechts */
.woocommerce div.product div.summary{margin-bottom:0}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ink-soft);font-size:15.5px;margin:16px 0 6px;max-width:60ch}
.woocommerce div.product p.price{margin:14px 0 2px}
.woocommerce div.product .kayan-vat{display:block;font-family:var(--mono);font-size:10.5px;font-weight:400;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 6px}
.woocommerce div.product .kayan-vat a{text-decoration:underline;color:inherit}
.woocommerce div.product .kayan-vat a:hover{color:var(--red)}
.woocommerce div.product p.stock{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;margin:8px 0 0}
.woocommerce div.product p.stock::before{content:"";width:8px;height:8px;background:currentColor}
.woocommerce div.product p.stock.in-stock{color:#1D7A3C}
.woocommerce div.product p.stock.out-of-stock{color:var(--red)}

/* Kaufbereich */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:24px 0 8px;border:0;padding:0}
.woocommerce div.product form.cart.variations_form{display:block}
.woocommerce div.product form.cart div.quantity{margin:0;float:none}
.woocommerce .quantity .qty{width:82px;height:100%;min-height:47px;border:2px solid var(--ink);font-family:var(--mono);font-size:14px;text-align:center;border-radius:0;background:#fff}
.woocommerce div.product form.cart .button{margin:0}

/* Vertrauensliste unter dem Kaufbereich */
.ksingle-trust{list-style:none;margin:22px 0 0;padding:0;border-top:2px solid var(--ink);max-width:440px}
.ksingle-trust li{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}
.ksingle-trust svg{width:16px;height:16px;stroke:var(--red);fill:none;stroke-width:2;flex:none;margin-top:1px}

/* Produkt-Meta als Datenblatt-Kopf */
.woocommerce div.product .product_meta{margin-top:26px;padding-top:4px;border-top:2px solid var(--ink);font-size:13px}
.woocommerce div.product .product_meta>span{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);align-items:baseline;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.woocommerce div.product .product_meta .sku,
.woocommerce div.product .product_meta .kayan-meta-val{color:var(--ink);font-weight:600;letter-spacing:.04em;text-transform:none;overflow-wrap:anywhere}
.woocommerce div.product .product_meta a{color:var(--ink);font-weight:600}
.woocommerce div.product .product_meta a:hover{color:var(--red)}

/* Tabs */
.woocommerce div.product .woocommerce-tabs{margin-top:56px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0;border-bottom:2px solid var(--ink)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0;padding:0;border:2px solid var(--ink)!important;border-bottom:none!important;border-right:none!important;background:#fff!important;border-radius:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li:last-child{border-right:2px solid var(--ink)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:14px 22px;color:var(--ink)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--ink)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
.woocommerce div.product .woocommerce-Tabs-panel{padding:34px 0 8px;overflow-x:auto}
.woocommerce div.product .woocommerce-Tabs-panel>h2{font-family:var(--display);font-weight:800;font-size:26px;text-transform:uppercase;line-height:.95;margin-bottom:20px}
.woocommerce div.product .woocommerce-Tabs-panel p{margin-bottom:1em;max-width:78ch}

/* Technische Daten: alle Tabellen im Beschreibungs-/Attribut-Bereich als Datenblatt */
.woocommerce div.product .woocommerce-Tabs-panel table,
.woocommerce table.woocommerce-product-attributes{width:100%;max-width:880px;border-collapse:collapse;border:2px solid var(--ink);margin:6px 0 26px;font-size:14px}
.woocommerce div.product .woocommerce-Tabs-panel table th,
.woocommerce div.product .woocommerce-Tabs-panel table td,
.woocommerce table.woocommerce-product-attributes th,
.woocommerce table.woocommerce-product-attributes td{border:0;border-bottom:1px solid var(--line);padding:11px 16px;text-align:left;vertical-align:top;background:none;font-style:normal}
.woocommerce div.product .woocommerce-Tabs-panel table tr:last-child th,
.woocommerce div.product .woocommerce-Tabs-panel table tr:last-child td,
.woocommerce table.woocommerce-product-attributes tr:last-child th,
.woocommerce table.woocommerce-product-attributes tr:last-child td{border-bottom:0}
.woocommerce div.product .woocommerce-Tabs-panel table th,
.woocommerce div.product .woocommerce-Tabs-panel table td:first-child,
.woocommerce table.woocommerce-product-attributes th{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;width:38%;background:var(--panel);border-right:1px solid var(--line)}
.woocommerce div.product .woocommerce-Tabs-panel table td,
.woocommerce table.woocommerce-product-attributes td{color:var(--ink)}
.woocommerce table.woocommerce-product-attributes td p{margin:0;max-width:none}

/* Ähnliche Produkte / Zuletzt angesehen auf der Detailseite */
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products{margin-top:64px}
.woocommerce div.product .related.products>h2,
.woocommerce div.product .upsells.products>h2{font-family:var(--display);font-weight:800;font-size:clamp(26px,3.4vw,40px);text-transform:uppercase;line-height:.95;margin-bottom:28px}
.woocommerce div.product .related.products>h2::before,
.woocommerce div.product .upsells.products>h2::before{content:"/ ";color:var(--red)}

@media(max-width:768px){
  .woocommerce div.product div.summary,.woocommerce div.product div.images{width:100%;float:none}
  .woocommerce div.product form.cart .button{flex:1 1 auto;justify-content:center}
}

/* ===================================================================
   18 · WOOCOMMERCE · PAGINATION (33.000 Artikel brauchen Seiten)
   =================================================================== */
.woocommerce nav.woocommerce-pagination{padding:40px 30px 56px;text-align:center}
.woocommerce nav.woocommerce-pagination ul{border:0;margin:0;display:inline-flex;flex-wrap:wrap;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:2px solid var(--ink);border-right:0;float:none;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li:last-child{border-right:2px solid var(--ink)}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;min-width:46px;padding:13px 15px;line-height:1;color:var(--ink);background:#fff}
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--ink);color:#fff}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--red);color:#fff}
/* Blog-/Suchseiten-Pagination im selben Stil */
.pagination .nav-links{display:inline-flex;flex-wrap:wrap}
.pagination .page-numbers{font-family:var(--mono);font-size:12.5px;min-width:46px;padding:13px 15px;border:2px solid var(--ink);border-right:0;text-align:center}
.pagination .page-numbers:last-child{border-right:2px solid var(--ink)}
.pagination .page-numbers.current{background:var(--red);color:#fff}
.pagination a.page-numbers:hover{background:var(--ink);color:#fff}

/* ===================================================================
   19 · WOOCOMMERCE · HINWEISE, KASSE, KONTO (Feinschliff)
   =================================================================== */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error{border:2px solid var(--ink);background:#fff;font-size:14.5px}
.woocommerce .woocommerce-message{border-left:6px solid #1D7A3C}
.woocommerce .woocommerce-info{border-left:6px solid var(--ink)}
.woocommerce .woocommerce-error{border-left:6px solid var(--red)}
.woocommerce .woocommerce-message::before{color:#1D7A3C}
.woocommerce .woocommerce-info::before{color:var(--ink)}

.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line);padding:14px 16px}
.woocommerce table.shop_table td.product-name a{font-weight:600}
.woocommerce .cart-collaterals .cart_totals{padding:0 26px 26px}
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields>h3,
.woocommerce-checkout .woocommerce-additional-fields>h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:24px;line-height:.95;margin:26px 0 16px}
.woocommerce-checkout #order_review{padding:0 26px 26px}
.woocommerce table.cart td.actions .coupon .input-text{width:180px;margin-right:8px}
.woocommerce form .form-row label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}

/* Mein Konto */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;border:2px solid var(--ink)}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:13px 18px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--ink);color:#fff}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{color:var(--red)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:hover{color:#fff}

/* ===================================================================
   20 · KATALOGMODUS · „Bald bestellbar" im Markenlook
   =================================================================== */
.kayan-card .kayan-bald,
.woocommerce .kayan-bald{background:#fff!important;color:var(--ink)!important;border:2px solid var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:11px 15px!important;line-height:1;display:inline-flex;align-items:center;white-space:nowrap;border-radius:0;transition:.2s}
.kayan-card .kayan-bald:hover,
.woocommerce .kayan-bald:hover{background:var(--ink)!important;color:#fff!important}
.kayan-bald-hinweis{display:inline-block;border:2px solid var(--ink);border-left:6px solid var(--red);background:#fff;color:var(--ink);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:14px 20px;margin:22px 0 8px}

/* ===================================================================
   21 · PRODUKTSEITE 2.0 · Zweispalten-Grid + Sticky-Kaufbox
   =================================================================== */
.single-product div.product{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.single-product div.product>span.onsale{position:absolute;top:14px;left:14px;z-index:5;margin:0}
.single-product div.product div.images,
.single-product div.product div.summary{width:100%!important;float:none!important;margin:0!important}
.single-product div.product div.summary{position:sticky;top:calc(var(--header-h) + 26px)}
.single-product div.product .woocommerce-tabs,
.single-product div.product .related.products,
.single-product div.product .up-sells,
.single-product div.product .upsells.products,
.single-product div.product .kayan-recent{grid-column:1/-1}

/* Pflichthinweise von Germanized in der Produktkachel
   (Grundpreis, Steuer, Versandkosten, Lieferzeit).
   Sie kommen ueber woocommerce_after_shop_loop_item(_title) herein —
   siehe Kommentar in woocommerce/content-product.php. */
.kayan-card .wc-gzd-additional-info{font-family:var(--mono);font-size:10.5px;line-height:1.5;letter-spacing:.02em;color:var(--ink-soft);margin:0;padding:0 20px}
.kayan-card .wc-gzd-additional-info:first-of-type{padding-top:10px}
.kayan-card .wc-gzd-additional-info:last-of-type{padding-bottom:16px}
.kayan-card .wc-gzd-additional-info a{border-bottom:1px solid var(--line)}
.kayan-card .wc-gzd-additional-info.wc-gzd-additional-info-placeholder{display:none}
.kayan-card .cbody .wc-gzd-additional-info{padding-left:0;padding-right:0}
@media(max-width:600px){
  .kayan-card .wc-gzd-additional-info{font-size:9.5px;padding:0 12px}
  .kayan-card .wc-gzd-additional-info:last-of-type{padding-bottom:12px}
}

/* ===================================================================
   SHOP-BRUECKE auf Dienstleistungsseiten (inc/cross-selling.php)
   =================================================================== */
.kayan-shop-bruecke .ksb-liste{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.kayan-shop-bruecke .ksb-liste li{background:#fff}
.kayan-shop-bruecke .ksb-liste a{display:flex;align-items:center;gap:14px;padding:20px 22px;font-weight:600;font-size:16px}
.kayan-shop-bruecke .ksb-liste a:hover{background:var(--panel);color:var(--red)}
.kayan-shop-bruecke .ksb-c{font-family:var(--mono);font-size:11px;color:var(--ink-soft);margin-left:auto}
.kayan-shop-bruecke .ksb-p{font-family:var(--mono);color:var(--red)}

/* ===================================================================
   WARENKORB & KASSE (inc/kaufabschluss.php)
   =================================================================== */

/* Fortschritt: erledigt = rot, aktiv = dunkel, offen = blass.
   Der Zustand steckt zusaetzlich in aria-current, haengt also nicht
   allein an der Farbe. */
.kayan-fortschritt{margin:0 0 30px}
.kayan-fortschritt ol{list-style:none;display:flex;flex-wrap:wrap;gap:0;border:2px solid var(--ink)}
.kayan-fortschritt li{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:10px;padding:14px 16px;border-right:2px solid var(--ink);font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}
.kayan-fortschritt li:last-child{border-right:0}
.kayan-fortschritt .kf-n{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border:2px solid currentColor;font-size:11px;font-weight:600}
.kayan-fortschritt .kf-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kayan-fortschritt .kf-offen{color:var(--ink-soft)}
.kayan-fortschritt .kf-erledigt{color:var(--red)}
.kayan-fortschritt .kf-aktiv{background:var(--ink);color:#fff}

/* Vertrauenszeile */
.kayan-kauf-trust{margin-top:20px;border-left:6px solid var(--red);background:var(--panel);padding:18px 20px}
.kayan-kauf-trust ul{list-style:none;display:grid;gap:9px}
.kayan-kauf-trust li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.45}
.kayan-kauf-trust svg{width:16px;height:16px;flex:0 0 16px;margin-top:3px;fill:none;stroke:var(--red);stroke-width:3;stroke-linecap:square}
.kayan-kauf-trust a{border-bottom:1px solid var(--line)}
.kayan-kauf-trust a:hover{color:var(--red)}

/* Leerer Warenkorb: Einstieg statt Sackgasse */
.kayan-leer-hilfe{margin-top:40px;border-top:2px solid var(--ink);padding-top:28px}
.kayan-leer-hilfe h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(22px,3vw,32px);line-height:.95;margin:0 0 18px}
.kayan-leer-hilfe ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.kayan-leer-hilfe li{background:#fff}
.kayan-leer-hilfe a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;font-weight:600;font-size:15px}
.kayan-leer-hilfe a:hover{background:var(--panel);color:var(--red)}
.kayan-leer-hilfe .kl-n{font-family:var(--mono);font-size:11px;color:var(--ink-soft)}

@media(max-width:760px){
  .kayan-fortschritt li{padding:12px 10px;font-size:10.5px;letter-spacing:.06em;gap:7px}
  .kayan-fortschritt .kf-n{width:19px;height:19px;flex:0 0 19px;font-size:10px}
  .kayan-leer-hilfe ul{grid-template-columns:1fr}
}

/* ===================================================================
   CROSS-SELLING (inc/cross-selling.php)
   =================================================================== */

/* Zubehoerblock nutzt dieselbe Kachel wie Wunschliste und "zuletzt
   angesehen" — bewusst kein eigenes Kachel-Design, damit die
   Produktseite nicht in drei Gestaltungssprachen zerfaellt. */
.kayan-zubehoer{padding:56px 30px 0;border-top:1px solid var(--line);margin-top:30px}
.single-product div.product .kayan-zubehoer{grid-column:1/-1}

/* Dienstleistungshinweis: klar als Nicht-Produkt erkennbar.
   Dunkle Flaeche mit rotem Anschnitt, wie der Anfrage-Block auf der
   Produktseite — nicht als weitere Produktkachel getarnt. */
.kayan-service-cross{margin:56px auto 0;max-width:1320px;padding:0 30px}
.single-product div.product .kayan-service-cross{grid-column:1/-1}
.kayan-service-cross .ksc-in{background:var(--ink);color:#fff;border-left:6px solid var(--red);padding:34px 36px;display:grid;gap:10px}
.kayan-service-cross .ksc-label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.kayan-service-cross .ksc-title{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(22px,2.6vw,32px);line-height:.95;margin:0}
.kayan-service-cross .ksc-text{color:rgba(255,255,255,.85);font-size:15.5px;margin:0;max-width:62ch}
.kayan-service-cross .ksc-link{justify-self:start;margin-top:8px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--red);padding-bottom:3px}
.kayan-service-cross .ksc-link:hover{color:var(--red)}

@media(max-width:600px){
  .kayan-zubehoer{padding:40px 20px 0}
  .kayan-service-cross{padding:0 20px}
  .kayan-service-cross .ksc-in{padding:24px 22px}
}
@media(max-width:900px){
  .single-product div.product{display:block}
  .single-product div.product div.summary{position:static;margin-top:30px!important}
}

/* Eckdaten: die wichtigsten Attribute direkt in der Kaufbox */
.kayan-facts{margin:22px 0 4px;max-width:460px}
.kayan-facts .kf-head{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.kayan-facts table{width:100%;border-collapse:collapse;border:2px solid var(--ink);font-size:13px;margin:0}
.kayan-facts th,.kayan-facts td{border:0;border-bottom:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}
.kayan-facts tr:last-child th,.kayan-facts tr:last-child td{border-bottom:0}
.kayan-facts th{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;width:44%;background:var(--panel);border-right:1px solid var(--line)}
.kayan-facts .kf-more{display:inline-block;margin-top:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line)}
.kayan-facts .kf-more:hover{color:var(--red);border-color:var(--red)}

/* Mobile Kaufleiste */
.kbuybar{position:fixed;inset:auto 0 0 0;z-index:60;display:none;align-items:center;justify-content:space-between;gap:14px;background:#fff;border-top:2px solid var(--ink);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
.kbuybar .kb-info{display:flex;flex-direction:column;min-width:0}
.kbuybar .kb-price{font-family:var(--display);font-weight:800;font-size:21px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kbuybar .kb-price .woocommerce-Price-amount{font-family:inherit}
.kbuybar .kb-vat{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;color:var(--ink-soft);margin-top:3px}
.kbuybar .kb-btn{flex:none;background:var(--ink);color:#fff;border:none;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;padding:14px 20px;cursor:pointer}
.kbuybar .kb-btn:hover{background:var(--red)}
.kbuybar .kb-soon{flex:none;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--ink);padding:12px 16px;white-space:nowrap}
@media(max-width:900px){
  .kbuybar{display:flex}
  .single-product .site-main{padding-bottom:84px}
}

/* ===================================================================
   22 · FILTER-WIDGETS · Layered Nav, Preis-Slider, aktive Filter
   =================================================================== */
.shop-sidebar .widget{margin-bottom:34px}
.shop-sidebar .widget:last-child{margin-bottom:0}
.shop-sidebar .widget-title,
.shop-sidebar .widgettitle{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:2px solid var(--ink);padding-bottom:9px;margin:0 0 14px}

/* Attributlisten als Checkbox-Optik */
.shop-sidebar .woocommerce-widget-layered-nav-list{list-style:none;margin:0;padding:0}
.shop-sidebar .woocommerce-widget-layered-nav-list li{margin:0;padding:0}
.shop-sidebar .woocommerce-widget-layered-nav-list li a{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:13.5px;color:var(--ink)}
.shop-sidebar .woocommerce-widget-layered-nav-list li a::before{content:"";width:15px;height:15px;border:2px solid var(--ink);flex:none;background:#fff;transition:.15s}
.shop-sidebar .woocommerce-widget-layered-nav-list li a:hover::before{border-color:var(--red)}
.shop-sidebar .woocommerce-widget-layered-nav-list li.chosen a::before{background:var(--red);border-color:var(--red);box-shadow:inset 0 0 0 2.5px #fff}
.shop-sidebar .woocommerce-widget-layered-nav-list li .count{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ink-soft);background:var(--panel);padding:2px 7px}
.shop-sidebar .woocommerce-widget-layered-nav-list li.chosen .count{background:var(--ink);color:#fff}

/* Preisfilter */
.shop-sidebar .widget_price_filter .price_slider_wrapper{padding-top:6px}
.shop-sidebar .widget_price_filter .ui-slider{position:relative;height:4px;background:var(--line);margin:14px 8px 22px}
.shop-sidebar .widget_price_filter .ui-slider .ui-slider-range{position:absolute;height:100%;background:var(--red)}
.shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle{position:absolute;top:-6px;width:16px;height:16px;margin-left:-8px;background:#fff;border:2px solid var(--ink);cursor:grab;border-radius:0}
.shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle:active{cursor:grabbing;border-color:var(--red)}
.shop-sidebar .widget_price_filter .price_slider_amount{display:flex;align-items:center;justify-content:space-between;gap:10px}
.shop-sidebar .widget_price_filter .price_slider_amount .price_label{font-family:var(--mono);font-size:11px;color:var(--ink-soft)}
.shop-sidebar .widget_price_filter .price_slider_amount .button{background:var(--ink);color:#fff;border:none;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;cursor:pointer}
.shop-sidebar .widget_price_filter .price_slider_amount .button:hover{background:var(--red)}

/* Aktive Filter */
.shop-sidebar .widget_layered_nav_filters ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.shop-sidebar .widget_layered_nav_filters li{margin:0;padding:0}
.shop-sidebar .widget_layered_nav_filters li a{display:inline-flex;align-items:center;gap:7px;border:2px solid var(--ink);background:var(--ink);color:#fff;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px}
.shop-sidebar .widget_layered_nav_filters li a::before{content:"×";font-size:13px;line-height:1}
.shop-sidebar .widget_layered_nav_filters li a:hover{background:var(--red);border-color:var(--red)}

/* Kategorien-Widget angleichen */
.shop-sidebar .widget_product_categories ul{list-style:none;margin:0;padding:0}
.shop-sidebar .widget_product_categories li{padding:0}
.shop-sidebar .widget_product_categories li a{display:flex;align-items:baseline;gap:8px;padding:7px 0;font-size:13.5px}
.shop-sidebar .widget_product_categories li.current-cat>a{color:var(--red);font-weight:600}
.shop-sidebar .widget_product_categories .count{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ink-soft)}
.shop-sidebar .widget_product_categories .children{margin-left:16px;border-left:1px solid var(--line);padding-left:12px}

/* ===================================================================
   23 · FILTER-UX · Akkordeon, Widget-Suche, „Mehr anzeigen"
   =================================================================== */
.shop-sidebar .widget-title,
.shop-sidebar .widgettitle{cursor:pointer;user-select:none;position:relative;padding-right:22px}
.shop-sidebar .widget-title::after,
.shop-sidebar .widgettitle::after{content:"\2013";position:absolute;right:0;top:-2px;font-family:var(--mono);font-size:14px;color:var(--ink-soft)}
.shop-sidebar .widget.closed .widget-title::after,
.shop-sidebar .widget.closed .widgettitle::after{content:"+"}
.shop-sidebar .widget.closed>*:not(.widget-title):not(.widgettitle){display:none}
.kfilter-search{width:100%;border:2px solid var(--ink);border-radius:0;padding:8px 11px;font-size:13px;font-family:var(--sans);margin:0 0 10px;background:#fff}
.kfilter-search:focus{outline:none;border-color:var(--red)}
.shop-sidebar li.kf-hidden{display:none!important}
.kfilter-more{background:none;border:none;padding:9px 0 1px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer}
.kfilter-more:hover{color:var(--red)}

/* ===================================================================
   24 · LEISTUNGEN-SEKTION (Startseite)
   =================================================================== */
.sec .head{position:relative}
.sec .head .head-link{position:absolute;right:0;bottom:6px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--red)}
.sec .head .head-link:hover{color:var(--red)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:2px solid var(--ink)}
.service-tile{position:relative;display:block;padding:28px 26px 56px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transition:background .2s}
.service-tile:nth-child(3n){border-right:0}
.service-tile:nth-last-child(-n+3){border-bottom:0}
.service-tile .num{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--red)}
.service-tile h3{font-family:var(--display);font-weight:800;font-size:23px;text-transform:uppercase;line-height:.98;margin:10px 0 10px}
.service-tile p{font-size:13.5px;color:var(--ink-soft);margin:0;max-width:34ch}
.service-tile .go{position:absolute;left:26px;bottom:20px;font-size:18px;transition:transform .2s}
.service-tile:hover{background:var(--panel)}
.service-tile:hover .go{transform:translateX(6px);color:var(--red)}
@media(max-width:900px){
  .service-grid{grid-template-columns:1fr 1fr}
  .service-tile{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}
  .service-tile:nth-child(2n){border-right:0!important}
  .sec .head .head-link{position:static;display:inline-block;margin-top:8px}
}
@media(max-width:560px){
  .service-grid{grid-template-columns:1fr}
  .service-tile{border-right:0!important}
  .service-tile:last-child{border-bottom:0!important}
}

/* ===================================================================
   25 · WOOCOMMERCE-FILTERBLÖCKE (Block-Widgets) im Markenlook
   =================================================================== */
.shop-sidebar .widget_block{margin-bottom:34px}
.shop-sidebar .widget_block h2,
.shop-sidebar .widget_block h3,
.shop-sidebar .wp-block-heading{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:2px solid var(--ink);padding-bottom:9px;margin:0 0 14px;font-weight:500}
.shop-sidebar input[type=checkbox],
.shop-sidebar input[type=radio]{accent-color:var(--red);width:15px;height:15px}
.shop-sidebar .wc-block-components-checkbox label,
.shop-sidebar .wc-block-product-filter-checkbox-list__label,
.shop-sidebar .wc-block-attribute-filter-list li label{font-size:13.5px;color:var(--ink);gap:10px}
.shop-sidebar .wc-block-components-checkbox__mark{display:none}
.shop-sidebar .wc-block-product-filter-checkbox-list__count,
.shop-sidebar .wc-block-attribute-filter-list .wc-filter-element-label-list-count{font-family:var(--mono);font-size:10.5px;color:var(--ink-soft)}
/* „Mehr anzeigen"-Button der Blöcke */
.shop-sidebar .wc-block-product-filter-checkbox-list__show-more button,
.shop-sidebar .wc-block-attribute-filter__button{background:none;border:none;padding:9px 0 1px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;text-decoration:none}
.shop-sidebar .wc-block-product-filter-checkbox-list__show-more button:hover{color:var(--red)}
/* Preisfilter-Block: Eingabefelder + Slider */
.shop-sidebar .wc-block-price-filter__range-text input,
.shop-sidebar .wc-block-components-price-slider__amount,
.shop-sidebar .wp-block-woocommerce-product-filter-price input[type=text],
.shop-sidebar .wp-block-woocommerce-product-filter-price input[type=number]{border:2px solid var(--ink);border-radius:0;font-family:var(--mono);font-size:12.5px;padding:7px 9px;background:#fff}
.shop-sidebar input[type=range]{accent-color:var(--red)}
.shop-sidebar .wc-block-components-price-slider__range-input-progress{--range-color:var(--red)}
/* Aktive-Filter-Block als Chips */
.shop-sidebar .wc-block-active-filters__list-item span,
.shop-sidebar .wc-block-active-filters .wc-block-components-chip{border:2px solid var(--ink);border-radius:0;background:var(--ink);color:#fff;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}

/* ===================================================================
   26 · KORREKTUR · Grid-Überlauf auf der Produktseite
   =================================================================== */
/* Grid-Kinder haben min-width:auto und koennen die Spalte aufsprengen */
.single-product div.product div.images,
.single-product div.product div.summary{min-width:0;max-width:100%;overflow-wrap:anywhere}
.single-product div.product div.summary>*{max-width:100%}

/* Eckdaten-Tabelle: feste Spaltenbreiten, Inhalte brechen um */
.kayan-facts{max-width:100%}
.kayan-facts table{table-layout:fixed;max-width:100%}
.kayan-facts th,.kayan-facts td{overflow-wrap:anywhere;word-break:break-word}

/* Sticky nur, wenn die Kaufbox nicht hoeher als der Bildschirm ist */
@media(max-height:900px){
  .single-product div.product div.summary{position:static}
}

/* Lange Titel und Datenblatt-Tabellen halten die Spalte ein */
.single-product div.product .product_title{overflow-wrap:anywhere;hyphens:auto}
.woocommerce div.product .woocommerce-Tabs-panel table,
.woocommerce table.woocommerce-product-attributes{table-layout:fixed}
.woocommerce table.woocommerce-product-attributes th,
.woocommerce table.woocommerce-product-attributes td{overflow-wrap:anywhere}
