/* ---- Schriften, selbst gehostet. Kein externer Aufruf, DSGVO-konform. ---- */
@font-face{font-family:"Barlow";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/Barlow-300-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/Barlow-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/Barlow-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/Barlow-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/Barlow-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/Barlow-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/Barlow-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/Barlow-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/Barlow-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/Barlow-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/IBMPlexMono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/IBMPlexMono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/IBMPlexMono-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/IBMPlexMono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Saira Condensed";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/SairaCondensed-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Saira Condensed";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/SairaCondensed-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Saira Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/SairaCondensed-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Saira Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/SairaCondensed-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Saira Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/SairaCondensed-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Saira Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/SairaCondensed-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Saira Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/SairaCondensed-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Saira Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/SairaCondensed-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/*
Theme Name: Peddy
Theme URI: https://peddy.de
Description: Industrial-Precision-Theme fuer den peddy.de-Relaunch (Peddinghaus). Produktkatalog, mehrsprachig (Polylang), CPT 'produkt'.
Author: Migration
Version: 0.1
Text Domain: peddy
*/

/* ============================================================ TOKENS */
:root{
  --orange:#f47821; --orange-700:#cb641b; --orange-100:#fef4ed;
  --ink:#14181b; --steel:#566069; --steel-2:#7b858d;
  --line:#e4e7e9; --line-2:#eef0f1; --paper:#ffffff; --mist:#f6f7f8; --char:#0f1316;
  --display:"Saira Condensed",Impact,sans-serif;
  --body:"Barlow",system-ui,sans-serif;
  --mono:"IBM Plex Mono",monospace;
  --wrap:1240px; --gut:clamp(16px,4vw,40px);
  --shadow:0 1px 2px rgba(20,24,27,.06),0 8px 28px rgba(20,24,27,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1;}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--orange)}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}

/* headings */
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.02;letter-spacing:.01em;margin:0 0 .4em}
h1{font-size:clamp(2.1rem,5vw,3.4rem);text-transform:uppercase}
h2{font-size:clamp(1.5rem,3vw,2rem);text-transform:uppercase}
h3{font-size:1.15rem;letter-spacing:.02em}

/* ============================================================ HEADER */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);
  border-top:4px solid var(--orange);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:28px;height:74px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);
  font-weight:600;text-transform:uppercase;font-size:1.6rem;letter-spacing:.02em;color:var(--ink)}
.brand b{color:var(--orange);font-weight:inherit}
.brand small{font-family:var(--body);font-weight:600;font-size:.6rem;letter-spacing:.32em;
  color:var(--steel-2);text-transform:uppercase;display:block;margin-top:-4px}
.main-nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
.main-nav a{font-family:var(--display);text-transform:uppercase;font-size:1rem;letter-spacing:.03em;
  padding:8px 12px;color:var(--steel);border-bottom:3px solid transparent}
.main-nav a:hover,.main-nav a.active{color:var(--ink);border-bottom-color:var(--orange)}
.lang-switch{display:flex;gap:6px;align-items:center;padding-left:18px;margin-left:6px;border-left:1px solid var(--line)}
.lang-switch a{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;color:var(--steel-2);padding:3px 5px}
.lang-switch a.current{color:var(--paper);background:var(--ink)}
.nav-toggle{display:none;margin-left:auto;background:var(--ink);color:#fff;border:0;
  font-family:var(--display);text-transform:uppercase;padding:10px 14px;cursor:pointer}

/* ============================================================ BREADCRUMB */
.crumb{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;
  color:var(--steel-2);padding:18px 0 0}
.crumb a{color:var(--steel-2)} .crumb a:hover{color:var(--orange)}
.crumb span{color:var(--orange-700)}

/* ============================================================ PRODUCT */
.product-head{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,64px);
  align-items:center;padding:30px 0 44px;border-bottom:1px solid var(--line)}
.product-head .ph-media{background:var(--mist);border:1px solid var(--line);padding:28px;display:flex;justify-content:center}
.product-head .ph-media img{max-height:460px;width:auto;object-fit:contain}
.product-kicker{font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--orange-700);margin-bottom:14px}
.product-head h1{margin-bottom:.2em}
.product-lead{color:var(--steel);font-size:1.1rem;max-width:46ch}
.product-intro{padding:28px 0 26px;border-bottom:2px solid var(--ink)}
.product-intro .product-kicker{margin-bottom:8px}
.product-body{padding:34px 0 64px}
.tbl-scroll{max-width:100%}

/* strukturierte Sektionen */
.psec{padding:6px 0}
.psec + .psec{border-top:1px solid var(--line);margin-top:34px;padding-top:38px}
.psec h2{font-size:1.5rem;padding-left:14px;border-left:5px solid var(--orange);margin:0 0 1.2rem}

/* Produkt-Hauptzeile: Bild LINKS, Technische Daten RECHTS (wie Original) */
.product-main{display:flex;gap:52px;align-items:flex-start;flex-wrap:wrap;
  padding-bottom:36px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.pm-media{flex:0 0 340px;max-width:340px}
/* nur das grosse Produktfoto (in einem Bild-Link) fuellt+rahmt die Spalte */
/* Bilder im Bild-Bereich: natuerliche Groesse (max Spaltenbreite), NIE hochgestreckt */
.pm-media img{max-width:100%;height:auto}
.pm-media a img{box-sizing:border-box;background:var(--mist);border:1px solid var(--line);padding:18px}
.pm-media h2,.pm-media h3{font-size:1.05rem}
.pm-data{flex:1 1 480px;min-width:0}
@media(max-width:760px){.pm-media{flex:1 1 100%;max-width:100%}}

/* Technische Daten = kompaktes Datenblatt (auto-breit, linksbuendig wie Original) */
.psec-tech h1{display:none} /* Modellname steht schon im Titel */
.pm-data table,.psec-tech table{width:auto;max-width:100%;margin:0 0 1.2rem;
  background:var(--mist);padding:10px 16px;border:1px solid var(--line-2)}
.pm-data table h3,.psec-tech table h3{margin:.2rem 0 .5rem;color:var(--orange-700)}
.pm-data td,.psec-tech td{padding:4px 22px 4px 0;font-variant-numeric:tabular-nums}
.pm-data td:last-child,.psec-tech td:last-child{padding-right:6px}

/* aufgeloeste Layout-Tabellen -> flexible Spalten */
.lt{display:flex;flex-wrap:wrap;gap:30px;align-items:flex-start;margin:0 0 1rem}
.lt-cell{flex:1 1 240px;min-width:0}
.lt-cell:empty{display:none}
.lt .lt{gap:18px}
/* Extra-Sektion = heterogener Prosa-Inhalt -> einspaltig stapeln (verhindert Void
   bei ungleich hohen Spalten wie "schmale Sidebar + langer Haupttext") */
.psec-extra .lt{display:block}
.psec-extra .lt-cell{width:auto;max-width:860px;margin-bottom:.6rem}

/* Content-Bilder: natuerliche/Attribut-Groesse respektieren (wie das Original!),
   nur responsiv auf Containerbreite deckeln - KEINE willkuerlichen Mini-Caps */
.product-body img{max-width:100%;height:auto}

/* the imported 2003-tables -> clean modern data */
.entry-content{max-width:none}
.entry-content table{width:100%!important;border-collapse:collapse;margin:0 0 1.4rem;table-layout:auto}
.entry-content td,.entry-content th{border:0!important;width:auto!important;height:auto!important;
  padding:6px 18px 6px 0;vertical-align:top;text-align:left}
.entry-content tr.TabZeile td{border-bottom:1px solid var(--line-2)!important}
.entry-content tr.TabZeile:hover td{background:var(--orange-100)}
.entry-content h1{font-size:1.9rem;color:var(--ink);margin-top:1.4rem}
.entry-content h2{font-size:1.35rem;padding-left:14px;border-left:5px solid var(--orange);margin:2rem 0 1rem}
.entry-content h3{font-family:var(--display);font-size:1rem;color:var(--ink);text-transform:uppercase}
.entry-content p{margin:.3rem 0}
.entry-content img{display:inline-block;vertical-align:middle}
/* spec numbers feel technical */
.entry-content table p{font-variant-numeric:tabular-nums}
.entry-content a[href$=".pdf"],.entry-content a[href*=".pdf"]{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--display);text-transform:uppercase;
  font-size:.92rem;letter-spacing:.02em;color:var(--ink);background:var(--mist);
  border:1px solid var(--line);padding:8px 14px;margin:4px 0}
.entry-content a[href*=".pdf"]::before{content:"PDF";font-family:var(--mono);font-size:.66rem;
  background:var(--orange);color:#fff;padding:2px 6px;letter-spacing:.05em}
.entry-content a[href*=".pdf"]:hover{border-color:var(--orange);color:var(--orange-700)}

/* ============================================================ HERO (Startseite mit Bild) */
.hero-home{position:relative;padding:96px 0;overflow:hidden}
.hero-home::before{content:"";position:absolute;inset:0;background:url(/media/peddy_hero/hero-bg.jpg) center/cover no-repeat;opacity:.55;z-index:0}
.hero-home::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,15,18,.95) 0%,rgba(12,15,18,.7) 50%,rgba(12,15,18,.45) 100%);z-index:1}
.hero-home .wrap{position:relative;z-index:2}
.hero-home h1{color:#fff}
/* Kategorie-Karten mit Bild */
.card-cat .thumb{aspect-ratio:4/3;background:var(--mist);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:4px}
.card-cat .thumb img{max-width:100%;max-height:100%;width:auto;object-fit:contain;mix-blend-mode:multiply}

/* ============================================================ GRID / ARCHIVE */
.page-hero{background:var(--char);color:#fff;padding:54px 0;border-bottom:4px solid var(--orange)}
.page-hero h1{color:#fff} .page-hero .crumb{color:#9aa4ab}
.page-hero .crumb a{color:#9aa4ab}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin:36px 0 64px}
.card-grid-img{gap:2px;background:var(--line);border:1px solid var(--line)}   /* Startseite: Gitterlinien-Look */
.card{background:var(--paper);padding:22px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--line-2);
  transition:transform .18s ease,box-shadow .18s ease;position:relative}
.card-grid-img .card{border:0}   /* Startseite: randlos, Lücken trennen */
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);z-index:1}
.card .thumb{aspect-ratio:4/3;background:var(--mist);display:flex;align-items:center;justify-content:center;overflow:hidden}
.card .thumb img{max-height:100%;width:auto;object-fit:contain;mix-blend-mode:multiply}
.card h3{font-size:1.25rem;margin:0}
.card .cat{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--orange-700)}
.card .more{margin-top:auto;font-family:var(--display);text-transform:uppercase;font-size:.85rem;color:var(--steel)}
.card:hover .more{color:var(--orange-700)}
.card::after{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:var(--orange);transition:width .2s}
.card:hover::after{width:100%}
.card-shop{background:var(--orange);color:#fff;justify-content:center}
.card-shop .cat,.card-shop .more{color:#fff}
.card-shop h3{color:#fff}
.card-shop:hover{background:var(--orange-700)}
.card-shop::after{display:none}
/* ===== Startseiten-Hero: Cinematic Heritage × Precision (Mix C) ===== */
.fp-hero{position:relative;overflow:hidden;isolation:isolate;background:var(--ink)}
.fp-hero::before{content:"";position:absolute;inset:0;z-index:-3;background:url(/media/peddy_hero/hero-bg.jpg) center/cover;transform:scale(1.05)}
.fp-hero::after{content:"";position:absolute;inset:0;z-index:-2;
  background:linear-gradient(100deg,rgba(8,10,12,.97) 0%,rgba(8,10,12,.82) 40%,rgba(8,10,12,.3) 72%,rgba(8,10,12,.55) 100%),
             radial-gradient(120% 80% at 80% 42%,rgba(244,120,33,.14),transparent 58%)}
.fp-stage{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px;min-height:600px;color:#fff}
.fp-copy{padding:48px 0}
.fp-kick{font-family:var(--mono);font-size:.76rem;letter-spacing:.32em;color:var(--orange);text-transform:uppercase;margin-bottom:24px;display:flex;align-items:center;gap:14px}
.fp-kick::before{content:"";width:44px;height:2px;background:var(--orange)}
.fp-hero h1{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(3.4rem,7.6vw,6.8rem);line-height:.85;letter-spacing:-.01em;color:#fff;text-shadow:0 4px 40px rgba(0,0,0,.5)}
.fp-hero h1 .o{color:var(--orange)}
.fp-sub{font-weight:300;font-size:1.14rem;line-height:1.55;color:#c6cbcf;margin:24px 0 32px;max-width:32ch}
.fp-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.fp-machine{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:480px}
.fp-bp{position:absolute;inset:10% 0 10% 6%;border:1px solid rgba(255,255,255,.08)}
.fp-bp::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px}
.fp-bp-tag{position:absolute;top:11%;left:8%;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;color:#7d848a;text-transform:uppercase;z-index:2}
.fp-bp-tag b{color:var(--orange)}
.fp-machine img{position:relative;width:100%;max-width:560px;filter:drop-shadow(0 38px 56px rgba(0,0,0,.6));display:block}
.fp-kpis{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.12);background:rgba(8,10,12,.45)}
.fp-kpis-in{display:flex;gap:0;padding:22px 0;color:#fff}
.fp-kpis-in>div{flex:1;border-left:1px solid rgba(255,255,255,.1);padding:4px 0 4px 24px}
.fp-kpis-in>div:first-child{border-left:0;padding-left:0}
.fp-kpis .n{font-family:var(--display);font-weight:700;font-size:2rem;line-height:1;color:#fff}
.fp-kpis .n b{color:var(--orange)}
.fp-kpis .l{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:#9aa0a5;text-transform:uppercase;margin-top:7px}
@media(max-width:860px){.fp-stage{grid-template-columns:1fr}.fp-machine{min-height:320px;order:-1}.fp-kpis-in{flex-wrap:wrap;gap:18px}.fp-kpis-in>div{flex:1 1 40%;border-left:0;padding-left:0}}

/* ===== Premium-Motion-Pass (soft-skill, markenadaptiert: Industrie-Heritage, kein Glas/Pills) ===== */
:root{--ease:cubic-bezier(.32,.72,0,1)}
/* Scroll-Reveal: ruhiges, schweres Fade-up mit leichtem Blur (nur via JS aktiviert -> ohne JS alles sichtbar) */
.reveal{opacity:0;transform:translateY(26px);filter:blur(6px);will-change:transform,opacity}
.reveal.in{opacity:1;transform:none;filter:none;
  transition:opacity .85s var(--ease),transform .85s var(--ease),filter .85s var(--ease)}
@media (prefers-reduced-motion:reduce){.reveal,.reveal.in{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}
/* Karten: physikalischeres Easing statt linearem ease + Press-Feedback */
.card{transition:transform .55s var(--ease),box-shadow .55s var(--ease)}
.card:hover{box-shadow:0 2px 4px rgba(20,24,27,.05),0 18px 44px rgba(20,24,27,.10)}
.card:active{transform:translateY(-2px) scale(.992)}
.card::after{transition:width .45s var(--ease)}
.pd-card{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.pd-card:active{transform:translateY(-1px) scale(.99)}
a.pd-card-link .ph::after{transition:opacity .3s var(--ease),transform .45s var(--ease)}
a.pd-card-link:hover .ph::after{transform:translateX(3px)}
/* Buttons & Tags: Press-Physik + ruhiges Easing (Industrie-Look bleibt scharf, keine Pills) */
.btn,.shop-cta,.pd-tag,.pd-dl a,.pd-dltable td.d a,.link,.btn-pri,.btn-gho{
  transition:transform .4s var(--ease),background .28s var(--ease),color .28s var(--ease),border-color .28s var(--ease),box-shadow .4s var(--ease)}
.btn:active,.shop-cta:active,.btn-pri:active,.btn-gho:active{transform:scale(.97)}
.btn-pri:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(244,120,33,.28)}
.pd-tag:active{transform:scale(.96)}

/* ===== DESIGN-AUDIT-UMSETZUNG (sicheres High-Impact-Bündel, additive Overrides) ===== */
/* #1 Scharfkanten-Sweep: runde Ecken raus (Markenbruch ggü. scharfer Industrie-Anmutung) */
.pd-hero-media figure,.pd-hero-media img,.pd-card .ph,.pd-figure,.pd-figure img,
.pd-gallery figure,.cat-intro,.pd-video-embed{border-radius:0}
.pd-hero-media figure{box-shadow:0 26px 60px rgba(0,0,0,.42);border-top:3px solid var(--orange)} /* Tiefe via Schatten + Akzentkante statt Radius */
/* #2/#3 Grid-Geisterzellen killen + Bild-Bühnen vereinheitlichen */
.pd-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));background:transparent;border:0;gap:16px}
.pd-card{border:1px solid var(--line-2)}
.pd-gallery,.cat-intro .pd-gallery{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.pd-catalog{max-width:880px}
/* #4 Homepage-Hero: Maschine präsenter, Blueprint + Daten-Tag lesbar */
.fp-machine{align-items:flex-end}
.fp-machine img{max-width:640px;transform:translateY(8px)}
.fp-bp{border-color:rgba(255,255,255,.14)}
.fp-bp::before{background-image:linear-gradient(rgba(255,255,255,.085) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.085) 1px,transparent 1px)}
.fp-bp-tag{color:#aeb4ba;font-size:.66rem;letter-spacing:.18em}
.fp-kpis .n b{font-family:var(--body);font-weight:700}  /* ∞/% sauber rendern statt dünn in Saira */
/* #11 Kategorie-/Karten-Politur */
.card-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:clamp(18px,2vw,26px)}
.card h3{font-size:1.45rem;line-height:1.06}
.card .more{border-top:1px solid var(--line-2);padding-top:13px;display:flex;align-items:center;gap:8px}
.card:hover .more{color:var(--orange-700)}
.card::after{top:auto;bottom:0}  /* Akzentlinie an Unterkante (wie Hero-Bottom/Nav-Underline) */
/* #12 Orange Shop-Kachel: großer Chevron statt leere Fläche */
.card-shop{position:relative;overflow:hidden}
.card-shop::after{content:"›";display:block;position:absolute;right:16px;bottom:2px;font-family:var(--display);font-size:5.5rem;line-height:1;color:rgba(255,255,255,.20);pointer-events:none}

/* ===== Round-2 #5: Quer-Link-Chips prominenter (Werkzeug→Maschine, Zubehör→Modelle sichtbar) ===== */
.pd-modhead{color:var(--steel);font-weight:500;display:flex;align-items:center;gap:9px}
.pd-modhead::before{content:"";width:16px;height:2px;background:var(--orange);display:inline-block}
.pd-tag{padding:8px 15px;font-size:.92rem;background:var(--paper);border-color:var(--line-2)}
.pd-tag:not(.pd-tag-ext):not(.pd-tag-img):not(.pd-tag-doc):not(.pd-tag-plain)::after{content:"›";margin-left:8px;color:var(--orange);font-family:var(--display);display:inline-block;transition:transform .35s var(--ease)}
.pd-tag:not(.pd-tag-plain):hover{background:var(--orange);color:#fff;border-color:var(--orange)}
.pd-tag:not(.pd-tag-plain):hover::after{color:#fff;transform:translateX(3px)}
.pd-tag-plain{color:var(--steel-2);background:var(--mist);cursor:default}  /* Modell ohne eigene Seite: stummer Chip */

/* ===== Round-2 #9: Sektions-Rhythmus großzügiger + responsive ===== */
section.pd-blk{padding:clamp(56px,7vw,92px) 0}
.pd-sec{margin-bottom:clamp(26px,3.5vw,40px)}

/* ===== Audit-Fixes Round-3 (Schwarm-Befund) ===== */
/* #2 Shop-CTA: dunkler Button auf orangem Band (vorher weiß/blassorange = fast unsichtbar) */
.shop-cta-btn{background:var(--ink);color:#fff}
.shop-cta:hover .shop-cta-btn{background:#fff;color:var(--orange-700)}
/* #5 Scharfkanten-Sweep breiter: alle Content-Bilder/Karten/Poster scharf */
.product-body img,.product-body figure,.product-body .card,.product-body .thumb,
.pd-video-embed,.shop-cta,.shop-cta-btn,.pd-hero-media figure,.pd-hero-media img,
.pd-figure,.pd-figure img,.pd-gallery figure,.pd-card,.pd-card .ph,.cat-intro,.card .thumb{border-radius:0}

/* ============================================================ PAGE / CONTENT */
.page-body{padding:34px 0 64px;max-width:64rem}
.page-body.entry-content table{margin-bottom:1rem}

/* ============================================================ FOOTER */
.site-footer{background:var(--char);color:#aeb6bc;margin-top:40px;padding:54px 0 30px;font-size:.95rem}
.site-footer a{color:#cfd5d9}.site-footer a:hover{color:var(--orange)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.foot-brand{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:1.5rem;color:#fff}
.foot-brand b{color:var(--orange);font-weight:inherit}
.site-footer h4{font-family:var(--display);text-transform:uppercase;color:#fff;letter-spacing:.04em;font-size:1rem}
.site-footer ul{list-style:none;padding:0;margin:0;line-height:2}
.foot-base{border-top:1px solid #2a3035;margin-top:36px;padding-top:20px;font-family:var(--mono);
  font-size:.72rem;letter-spacing:.04em;color:#7d878e;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ============================================================ SHOP-CTA */
.shop-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:var(--orange);color:#fff;padding:22px 28px;margin:34px 0 10px;text-decoration:none}
.shop-cta strong{display:block;font-family:var(--display);text-transform:uppercase;font-size:1.3rem;letter-spacing:.01em}
.shop-cta span{color:#fff5e8;font-size:.95rem}
.shop-cta-btn{font-family:var(--display);text-transform:uppercase;background:#fff;color:var(--orange-700);padding:11px 20px;white-space:nowrap}
.shop-cta:hover{background:var(--orange-700)}
.shop-cta:hover .shop-cta-btn{background:var(--ink);color:#fff}

/* ============================================================ V3 BLOCK-LAYOUT */
.product-body.v3{padding:30px 0 64px}
.v3-lead{display:flex;gap:48px;align-items:flex-start;flex-wrap:wrap;
  padding-bottom:32px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.v3-hero{flex:0 0 360px;max-width:360px;margin:0}
.v3-hero.v3-solo{max-width:400px;margin:0 0 1.6rem}
.v3-hero img{width:100%;background:var(--mist);border:1px solid var(--line);padding:22px;box-sizing:border-box}
.v3-hero figcaption{font-family:var(--mono);font-size:.78rem;color:var(--steel);margin-top:8px}
.v3-firstspec{flex:1 1 460px;min-width:0}
.v3 .v3-h{font-family:var(--display);font-size:1.5rem;text-transform:uppercase;letter-spacing:.01em;
  padding-left:14px;border-left:5px solid var(--orange);margin:2.2rem 0 1rem;color:var(--ink)}
.v3-text{max-width:70ch;color:#2a2f33;margin:.55rem 0;line-height:1.6}
.v3-list{max-width:72ch;margin:.5rem 0 1.2rem;padding-left:1.15rem}
.v3-list li{margin:.25rem 0}
.v3-table{border-collapse:collapse;margin:.3rem 0 1.3rem;background:var(--mist);
  border:1px solid var(--line-2);width:auto;max-width:100%}
.v3-table td{padding:5px 22px 5px 14px;font-variant-numeric:tabular-nums;vertical-align:top;border:0}
.v3-table tr:not(:last-child) td{border-bottom:1px solid #e9ebec}
.v3-firstspec .v3-table,.v3-spec .v3-table{width:100%}
.v3-figure{margin:1.2rem 0 1.5rem;max-width:700px}
.v3-figure img{max-width:100%;height:auto;background:var(--mist);border:1px solid var(--line);padding:16px;box-sizing:border-box}
.v3-figure figcaption{font-size:.85rem;color:var(--steel);margin-top:6px;line-height:1.4}
.v3-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px;margin:1rem 0 1.6rem}
.v3-gallery figure{margin:0;background:var(--mist);border:1px solid var(--line);padding:14px;box-sizing:border-box;display:flex;flex-direction:column}
.v3-gallery img{max-width:100%;max-height:210px;width:auto;height:auto;object-fit:contain;margin:0 auto}
.v3-gallery figcaption{font-size:.85rem;color:var(--steel);margin-top:10px;line-height:1.35}
.v3-downloads{display:flex;flex-wrap:wrap;gap:10px;margin:1rem 0 1.4rem}
.v3-pdf{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);text-transform:uppercase;
  font-size:.9rem;background:var(--mist);border:1px solid var(--line);padding:9px 15px;color:var(--ink)}
.v3-pdf span{font-family:var(--mono);font-size:.66rem;background:var(--orange);color:#fff;padding:2px 6px}
.v3-pdf:hover{border-color:var(--orange);color:var(--orange-700)}
.v3-video{font-family:var(--display);text-transform:uppercase;color:var(--orange-700);font-size:.95rem;margin:.6rem 0}
.v3-modhead{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--steel-2);margin:1.2rem 0 .5rem}
.v3-models{display:flex;flex-wrap:wrap;gap:8px;margin:.2rem 0 1.4rem}
.v3-tag{display:inline-block;font-family:var(--display);text-transform:uppercase;font-size:.9rem;letter-spacing:.02em;
  padding:6px 13px;background:var(--mist);border:1px solid var(--line);color:var(--ink)}
.v3-tag:hover{border-color:var(--orange);color:var(--orange-700);background:var(--orange-100)}
.v3-tag-plain{color:var(--steel)}
@media(max-width:760px){.v3-hero{flex:1 1 100%;max-width:100%}}

/* ============================================================ DESIGN-PRODUKTSEITE (pd-*) */
.pd-hero{background:linear-gradient(110deg,var(--char) 0%,var(--char) 40%,#1b2024 100%);color:#fff;position:relative;overflow:hidden}
.pd-hero::after{content:"";position:absolute;right:-8%;top:-30%;width:60%;height:160%;background:radial-gradient(circle,rgba(244,120,33,.18),transparent 60%);pointer-events:none}
.pd-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:center;padding-block:50px;position:relative;z-index:1}
.pd-hero h1{font-size:clamp(2.4rem,5.5vw,4.2rem);text-transform:uppercase;margin:.16em 0 .12em;color:#fff}
.pd-kick{font-family:var(--mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.pd-sub{color:#c9d0d6;max-width:44ch;font-size:1.1rem}
.pd-kpi{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.pd-kpi .k{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:11px 15px;min-width:92px}
.pd-kpi .k b{display:block;font-family:var(--display);font-size:1.6rem;color:var(--orange);line-height:1.1}
.pd-kpi .k span{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;color:#aeb6bc}
.pd-cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.btn{font-family:var(--display);text-transform:uppercase;font-size:1rem;letter-spacing:.02em;padding:13px 24px;display:inline-flex;align-items:center;gap:9px}
.btn-pri{background:var(--orange);color:#fff}.btn-pri:hover{background:var(--orange-700);color:#fff}
.btn-gho{border:1px solid rgba(255,255,255,.3);color:#fff}.btn-gho:hover{border-color:var(--orange);color:var(--orange)}
.pd-hero-media figure{margin:0;background:#fff;border-radius:18px;padding:clamp(16px,2.4vw,28px);box-shadow:0 28px 60px rgba(0,0,0,.42);position:relative}
.pd-hero-media img{width:100%;border-radius:8px}
/* freigestelltes Studiofoto (peddinghaus.com): schwebt ohne Panel auf dem dunklen Hero */
.pd-hero-media.pd-hero-studio{overflow:visible}
.pd-hero-media.pd-hero-studio figure{background:none;box-shadow:none;padding:0;border-radius:0;overflow:visible}
.pd-hero-media.pd-hero-studio img{border-radius:0;transform:scale(1.24);transform-origin:center;filter:drop-shadow(0 22px 38px rgba(0,0,0,.55))}
section.pd-blk{padding:60px 0}
section.pd-blk.alt{background:var(--mist)}
.pd-sec{display:flex;align-items:baseline;gap:16px;margin-bottom:28px;border-bottom:2px solid var(--ink);padding-bottom:13px}
.pd-sec h2{font-size:clamp(1.6rem,3.2vw,2.3rem);text-transform:uppercase}
.pd-sec .n{font-family:var(--mono);color:var(--orange-700);font-size:.85rem}
.pd-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;align-items:start}
@media(max-width:680px){.pd-specs{grid-template-columns:1fr}}
.ps-card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--orange);width:auto}
.ps-card h3{font-size:1.1rem;text-transform:uppercase;padding:15px 20px;border-bottom:1px solid var(--line-2)}
.ps-card table{width:100%;border-collapse:collapse;font-size:.93rem}
.ps-card td{padding:6px 20px;vertical-align:top}
.ps-card tr:not(:last-child) td{border-bottom:1px solid var(--line-2)}
.ps-card td.l{color:var(--steel)}
.ps-card td.u{color:var(--steel-2);font-size:.82rem;text-align:right;white-space:nowrap;width:1%}
.ps-card td.v{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}
.ps-card tr.sub td{font-family:var(--display);text-transform:uppercase;font-size:.84rem;color:var(--orange-700);background:var(--mist);padding-top:9px}
.pd-note{color:var(--steel);font-size:.85rem;margin-top:18px}
.pd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px;background:var(--line);border:1px solid var(--line)}
.pd-card{background:var(--paper);padding:20px;text-align:center;transition:transform .15s}
.pd-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,24,27,.09);z-index:1;position:relative}
.pd-card .ph{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:var(--mist);margin-bottom:12px;overflow:hidden;border-radius:10px}
.pd-card .ph img{max-height:100%;width:auto;mix-blend-mode:multiply}
.pd-card .nm{font-family:var(--display);text-transform:uppercase;font-size:.9rem;line-height:1.15}
a.pd-card-link{display:block;color:inherit;text-decoration:none}
a.pd-card-link:hover .nm{color:var(--orange-700)}
a.pd-card-link .ph{position:relative}
a.pd-card-link .ph::after{content:"›";position:absolute;right:8px;bottom:6px;font-family:var(--display);font-size:1.1rem;color:var(--orange);opacity:0;transition:opacity .15s}
a.pd-card-link:hover .ph::after{opacity:1}
.pd-imglink{display:inline-block}
/* echte Tabelle auf Nicht-Maschinen-Seiten (Kontakt/Impressum/Reparatur) */
.pd-table{border-collapse:collapse;width:100%;max-width:760px;margin:.7rem 0 1.6rem;font-size:.9rem;
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.pd-table td{padding:9px 16px;border-bottom:1px solid var(--line-2);vertical-align:top}
.pd-table tr:last-child td{border-bottom:0}
.pd-table tr:nth-child(even) td{background:var(--mist)}
.pd-table tr.h th{text-align:left;font-family:var(--display);text-transform:uppercase;font-size:.74rem;letter-spacing:.06em;
  color:var(--steel);background:var(--paper);padding:8px 16px;border-bottom:2px solid var(--orange)}
.pd-table tr:hover td{background:#f1ede7}
.pd-catalog{max-width:none;font-variant-numeric:tabular-nums}
.pd-catalog th{text-align:left;white-space:nowrap}
.pd-catalog td{white-space:nowrap;font-family:var(--mono);font-size:.82rem}
.pd-catalog td:first-child,.pd-catalog th:first-child{font-weight:600;font-family:var(--display)}
/* Modell -> Datenblatt-Tabelle (feine zweispaltige Download-Liste, keine Dedup) */
.pd-dltable{max-width:560px;border-top:0}
.pd-dltable td.m{font-family:var(--display);text-transform:uppercase;font-size:.82rem;letter-spacing:.02em;font-weight:600;color:var(--ink)}
.pd-dltable td.d{text-align:right;width:1%;white-space:nowrap}
.pd-dltable td.d a{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-family:var(--mono);font-size:.76rem;text-decoration:none}
.pd-dltable td.d a span{background:var(--orange);color:#fff;font-size:.58rem;letter-spacing:.05em;padding:2px 6px}
.pd-dltable td.d a:hover{color:var(--orange)}
.pd-subh{text-transform:uppercase;margin:40px 0 18px;font-size:1.3rem;padding-left:14px;border-left:5px solid var(--orange);font-family:var(--display)}
.pd-deliver{columns:2;column-gap:48px;max-width:980px;padding:0;margin:0;list-style:none}
.pd-deliver li{break-inside:avoid;margin:0 0 12px;padding-left:30px;position:relative}
.pd-deliver li::before{content:"";position:absolute;left:0;top:6px;width:15px;height:15px;background:var(--orange);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}
.pd-dl{display:flex;gap:12px;flex-wrap:wrap}
.pd-dl a{display:inline-flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);padding:13px 18px;font-family:var(--display);text-transform:uppercase}
.pd-dl a span{font-family:var(--mono);font-size:.66rem;background:var(--orange);color:#fff;padding:3px 7px}
.pd-dl a:hover{border-color:var(--orange);color:var(--orange-700)}
.pd-prose .pd-h{font-family:var(--display);text-transform:uppercase;font-size:1.4rem;padding-left:14px;border-left:5px solid var(--orange);margin:2rem 0 1rem}
.pd-text{max-width:72ch;color:#2a2f33;margin:.55rem 0}
.pd-list{max-width:72ch;margin:.5rem 0 1.2rem;padding-left:1.15rem}
.pd-list li{margin:.25rem 0}
.pd-video{font-family:var(--display);text-transform:uppercase;color:var(--orange-700)}
.pd-modhead{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--steel-2);margin:1.2rem 0 .5rem}
.pd-models{display:flex;flex-wrap:wrap;gap:8px;margin:.2rem 0 1.4rem}
.pd-tag{display:inline-block;font-family:var(--display);text-transform:uppercase;font-size:.9rem;padding:6px 13px;background:var(--mist);border:1px solid var(--line);color:var(--ink)}
.pd-tag:hover{border-color:var(--orange);color:var(--orange-700)}
.pd-tag-ext::after{content:"↗";font-size:.78em;margin-left:5px;color:var(--steel-2)}
.pd-tag-img::after{content:"⤢";font-size:.8em;margin-left:5px;color:var(--steel-2)}
.pd-tag-doc::after{content:"PDF";font-size:.62em;margin-left:6px;letter-spacing:.04em;color:var(--orange-700)}
/* wiederhergestellte Inline-Content-Links (Audit 2026-06-15) */
.pd-ilink{color:var(--orange-700);text-decoration:none;border-bottom:1px solid rgba(204,112,0,.35);transition:border-color .15s,color .15s}
.pd-ilink:hover{color:var(--orange);border-bottom-color:var(--orange)}
.pd-ilink-ext::after{content:"↗";font-size:.78em;margin-left:2px;vertical-align:.05em}
.pd-ilink-doc::after{content:"↧";font-size:.82em;margin-left:2px}
.pd-ilink-img::after{content:"⤢";font-size:.8em;margin-left:2px}
/* DSGVO-YouTube-Embed: dunkle Klick-Fassade, kein externer Request vor Klick */
.pd-video-embed{position:relative;max-width:760px;margin:1.4rem 0 1.6rem;aspect-ratio:16/9;border-radius:12px;overflow:hidden;
  background:radial-gradient(120% 140% at 30% 0%,#262d33 0%,#14181b 70%);border:1px solid var(--line)}
.pd-video-play{position:absolute;inset:0;width:100%;height:100%;border:0;cursor:pointer;background:transparent;color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-family:var(--display);text-align:center;padding:20px}
.pd-video-play:hover .pd-video-ico{background:var(--orange);transform:scale(1.06)}
.pd-video-ico{width:66px;height:66px;border-radius:50%;background:rgba(244,120,33,.92);display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;padding-left:5px;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .15s,background .15s}
.pd-video-ttl{text-transform:uppercase;font-size:1.05rem;letter-spacing:.02em;max-width:34ch}
.pd-video-note{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--steel-2)}
.pd-video-frame{width:100%;height:100%;border:0;display:block}
/* Kategorie-Intro (Original-Uebersichtsinhalt ueber den Produktkarten) */
.cat-intro{margin:8px 0 30px;padding:26px 30px;background:var(--mist);border:1px solid var(--line);border-left:5px solid var(--orange);border-radius:8px}
.cat-intro .pd-prose{max-width:none}
.cat-intro .pd-h:first-child,.cat-intro .pd-prose>*:first-child{margin-top:0}
.cat-intro .pd-text{max-width:80ch}
.cat-intro .pd-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.cat-intro .pd-figure{max-width:340px}
.pd-figure{margin:1.2rem 0 1.5rem;max-width:720px}
.pd-figure img{max-width:100%;height:auto;background:var(--mist);border:1px solid var(--line);padding:16px;box-sizing:border-box;border-radius:10px}
.pd-figure figcaption{font-size:.85rem;color:var(--steel);margin-top:6px}
.pd-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px;margin:1rem 0 1.6rem}
.pd-gallery figure{margin:0;background:var(--mist);border:1px solid var(--line);padding:14px;box-sizing:border-box;border-radius:10px;display:flex;flex-direction:column}
.pd-gallery img{max-width:100%;max-height:210px;width:auto;height:auto;object-fit:contain;margin:0 auto}
.pd-gallery figcaption{font-size:.85rem;color:var(--steel);margin-top:10px}
@media(max-width:880px){.pd-hero-grid{grid-template-columns:1fr}.pd-deliver{columns:1}}

/* ============================================================ RESPONSIVE */
@media(max-width:900px){
  .product-head{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .main-nav,.lang-switch{display:none}
  .nav-toggle{display:block}
  .site-header.open .main-nav{display:flex;position:absolute;top:74px;left:0;right:0;background:var(--paper);
    flex-direction:column;padding:10px var(--gut);border-bottom:1px solid var(--line)}
  .site-header.open .lang-switch{display:flex;position:absolute;top:74px;right:var(--gut)}
}

/* ============================================================ FIX-OVERRIDES (ANS DATEIENDE — gewinnen gegen frühere Original-Regeln Z.290-452) */
/* Scharfkanten-Sweep (Original-Rundungen 18px/10px/8px überstimmen) */
.pd-hero-media figure,.pd-hero-media img,.pd-card .ph,.pd-figure,.pd-figure img,
.pd-gallery figure,.cat-intro,.pd-video-embed,.product-body img,.product-body figure{border-radius:0}
.pd-hero-media figure{box-shadow:0 26px 60px rgba(0,0,0,.42);border-top:3px solid var(--orange)}
/* Grid: transparenter Hintergrund + auto-fit (keine grauen Geisterzellen mehr) */
.pd-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));background:transparent;border:0;gap:16px}
.pd-card{border:1px solid var(--line-2)}
.pd-gallery,.cat-intro .pd-gallery{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
/* Shop-CTA: dunkler Button auf orangem Band (höhere Spezifität schlägt .shop-cta span) */
.shop-cta .shop-cta-btn{background:var(--ink);color:#fff}
.shop-cta:hover .shop-cta-btn{background:#fff;color:var(--orange-700)}
/* Quer-Link-Chips prominent (Original .pd-tag überstimmen) */
.pd-tag{padding:8px 15px;font-size:.92rem;background:var(--paper);border-color:var(--line-2)}
.pd-tag:not(.pd-tag-ext):not(.pd-tag-img):not(.pd-tag-doc):not(.pd-tag-plain)::after{content:"›";margin-left:8px;color:var(--orange);font-family:var(--display);display:inline-block}
.pd-tag:not(.pd-tag-plain):hover{background:var(--orange);color:#fff;border-color:var(--orange)}
.pd-tag-plain{color:var(--steel-2);background:var(--mist);cursor:default}
/* Funktions-Icon im Spec-Karten-Header (Symbol + Funktion + Tabelle = eine Einheit, Stahlbau-relevant) */
.ps-head{display:flex;align-items:center;gap:11px;margin-bottom:9px}
.ps-head h3{margin:0}
.ps-icon{width:42px;height:auto;flex:0 0 auto;display:block}
/* FAQ (Ghost-Content / GEO): Frage fett, Antwort darunter, sauber abgesetzt */
.pd-faq{margin:.3rem 0 1.4rem;max-width:760px}
.pd-faq-item{padding:15px 0;border-top:1px solid var(--line-2)}
.pd-faq-item:first-child{border-top:0}
.pd-faq-q{font-family:var(--display);font-size:1.05rem;font-weight:600;color:var(--ink);margin:0 0 6px}
.pd-faq-a{margin:0;color:var(--steel);line-height:1.6}
/* Ghost-Content-Unterüberschriften: klare h2>h3-Hierarchie (SEO) */
.pd-h.pd-h3{font-size:1.2rem;margin-top:1.7rem;margin-bottom:.5rem}
.pd-h.pd-h4{font-size:1.02rem;margin-top:1.2rem;margin-bottom:.4rem}
/* Ersatzteil-Positionstabellen (PDF-Daten) */
.pd-parttable{width:100%;border-collapse:collapse;margin:.2rem 0 1.4rem;font-size:.9rem}
.pd-parttable th{text-align:left;background:var(--ink);color:#fff;font-family:var(--display);font-weight:600;padding:8px 11px;font-size:.82rem;text-transform:uppercase;letter-spacing:.02em}
.pd-parttable td{padding:7px 11px;border-bottom:1px solid var(--line-2);vertical-align:top}
.pd-parttable tbody tr:nth-child(even){background:var(--mist)}
.pd-parttable td:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}

/* ===== Tastatur-Navigation / Barrierefreiheit ===== */
/* Skip-Link: nur bei Fokus sichtbar (springt zum Inhalt) */
.skip-link{position:absolute;left:8px;top:-60px;z-index:1000;background:var(--orange);color:#fff;
  padding:12px 20px;font-family:var(--display);text-transform:uppercase;font-size:.9rem;letter-spacing:.04em;
  transition:top .2s var(--ease)}
.skip-link:focus{top:8px}
/* Sichtbarer Fokus-Indikator für ALLE interaktiven Elemente (nur bei Tastatur-Fokus) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
.card:focus-visible,.pd-card-link:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--orange);outline-offset:2px;border-radius:0}
/* Auf dunklen Flächen (Hero/Nav-offen/Footer): weißer Ring für Kontrast */
.fp-hero a:focus-visible,.pd-hero a:focus-visible,.site-footer a:focus-visible,
.pd-hero .btn:focus-visible,.fp-hero .btn:focus-visible{outline-color:#fff;outline-offset:3px}
/* Lightbox-Overlay per Tastatur fokussierbar (Esc schließt bereits) */
.peddy-lightbox:focus-visible{outline:none}

/* ===== Bild-Behandlung sauber: kein mix-blend (verfälscht Fotos/Zeichnungen zu „transparent"),
   weiße Bühne, korrektes Contain ohne Hochskalieren kleiner Bilder ===== */
.card-cat .thumb, .card .thumb, .pd-card .ph{background:#fff}
.card-cat .thumb img, .card .thumb img, .pd-card .ph img,
.pd-figure img, .pd-gallery img{mix-blend-mode:normal !important; object-fit:contain;
  max-width:100%; max-height:100%; width:auto; height:auto}

/* Video-Facade mit lokalem Produkt-Poster (DSGVO-konform, kein Google-Request): füllt den sonst leeren Kasten */
.pd-video-embed.has-poster{background-size:cover;background-position:center}
.pd-video-embed.has-poster .pd-video-play{background:linear-gradient(180deg,rgba(15,18,20,.42),rgba(15,18,20,.8))}

/* "X Pluspunkte"-Feature-Grid: nummerierte Bild+Text-Karten statt monotoner Ein-Spalten-Leiter */
.pd-featgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:2px;background:var(--line);border:1px solid var(--line);margin:1.8rem 0 2.2rem}
.pd-feat{background:var(--paper);display:flex;flex-direction:column}
.pd-feat-ph{aspect-ratio:4/3;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line-2)}
.pd-feat-ph img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.pd-feat-body{padding:24px 20px 22px;position:relative}
.pd-feat-num{position:absolute;top:-19px;left:18px;width:38px;height:38px;background:var(--orange);color:#fff;font-family:var(--display);font-size:1.15rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(20,24,27,.28)}
.pd-feat-ttl{font-family:var(--display);text-transform:uppercase;font-size:.96rem;margin:.2rem 0 .5rem;line-height:1.2;color:var(--ink)}
.pd-feat-txt{margin:.1rem 0 0;color:var(--steel);line-height:1.55;font-size:.92rem}
@media(max-width:560px){.pd-featgrid{grid-template-columns:1fr}}

/* SEO/GEO-Themen-Hub: Anwendungs-Cluster, die fertige Produktseiten bündeln */
.pd-hub-intro{max-width:780px;margin:2rem auto 1rem}
.pd-hub-intro p{font-size:1.06rem;line-height:1.7;color:var(--steel)}
.pd-hub-cluster{padding:1.6rem 0;background:var(--paper)}
.pd-hub-cluster:nth-of-type(even){background:var(--mist)}
.pd-hub-h2{font-family:var(--display);text-transform:uppercase;font-size:1.3rem;border-left:4px solid var(--orange);padding-left:14px;margin:0 0 .35rem}
.pd-hub-lead{color:var(--steel);margin:0 0 1.2rem;max-width:700px;line-height:1.55}
.pd-hub-cards{margin-top:.3rem}

/* ===== Korrektur 09.08.2026 =====
   Auf der orangen Shop-Kachel wurde der Text beim Ueberfahren unsichtbar:
   .card:hover .more (0,3,0) schlaegt .card-shop .more (0,2,0) und faerbte den
   Text auf --orange-700, waehrend .card-shop:hover den Grund auf denselben Ton
   setzt. Gemessener Kontrast: exakt 1.00. Auf farbigem Grund bleibt Text weiss,
   die Rueckmeldung beim Ueberfahren kommt allein aus dem dunkleren Hintergrund. */
.card-shop:hover .cat,
.card-shop:hover h3,
.card-shop:hover .more{color:#fff}

/* Kategorieseiten mit sehr wenigen Eintraegen: mit auto-fit fallen leere
   Spalten weg und eine einzelne Karte zieht sich ueber die ganze Breite.
   auto-fill behaelt die Spalten, die Karte bleibt in Spaltenbreite stehen. */
.card-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}

/* Sprache, in der es diese Seite nicht gibt: der Umschalter fuehrt dann auf
   die dortige Startseite und zeigt das gedaempft an. */
.lang-switch a.fehlt{opacity:.45}
.lang-switch a.fehlt:hover{opacity:1}

/* Kopfzeile der Datentabellen mit dem Piktogramm der Werkzeuggruppe,
   wie in der Vorlage (Flachstahlschere, Ausklinker, Lochstanze ...). */
.pd-spec thead th.pd-spec-kopf{background:var(--mist);border-bottom:2px solid var(--orange);
  text-align:left;padding:7px 11px;font-family:var(--display);text-transform:uppercase;
  letter-spacing:.02em;font-size:.92rem;color:var(--ink);vertical-align:middle}
.pd-spec-kopf img{display:inline-block;vertical-align:middle;margin-right:10px}
.pd-spec-kopf span{vertical-align:middle}

/* ===== Produktseite dreispaltig, wie die Vorlage =====
   .page-body hat aus dem WordPress-Theme ein max-width:64rem als Lesebreite.
   Das ist fuer reine Textseiten richtig, macht aber die Datentabelle auf
   grossen Bildschirmen unnoetig schmal. Seiten mit Spalten heben es auf. */
/* NICHT max-width:none - das hebt auch die Seitenbegrenzung von .wrap auf und
   der Inhalt laeuft randlos ueber den ganzen Bildschirm. Stattdessen ein
   groesseres Mass als die 64rem Lesebreite, aber weiterhin begrenzt. */
.page-body.page-breit{max-width:1560px}
.page-breit .product-main{align-items:flex-start;gap:clamp(24px,2.6vw,44px)}
.page-breit .pm-media{flex:0 0 clamp(260px,22vw,360px);max-width:360px}
.page-breit .pm-data{flex:1 1 420px;min-width:0}
.pm-extra{flex:0 0 clamp(220px,19vw,300px);min-width:0}
.pm-extra .pd-gallery{grid-template-columns:1fr;gap:14px}
.pm-extra .pd-gallery img{max-height:150px}
.pm-extra h2,.pm-extra h3{font-size:1rem;margin-top:0}
@media(max-width:1100px){
  .pm-extra{flex:1 1 100%}
  .pm-extra .pd-gallery{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
}

/* Nummerierte Bildpunkte ("10 Pluspunkte"): die Nummer steht wie in der
   Vorlage grau vor dem Text, das Raster liefert die Galerie. */
.pd-gallery figcaption .pd-nr{display:block;font-family:var(--display);color:var(--steel-2);
  font-size:1rem;line-height:1;margin-bottom:4px}

/* Datentabellen mobiltauglich: die Tabelle darf seitlich scrollen, die Seite
   nicht. Kein display:block auf der Tabelle, das zerbricht die Spalten. */
.pd-tabelle{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.pd-tabelle > table{min-width:min(100%,520px)}
@media(max-width:760px){
  .entry-content table{table-layout:auto}
  .pd-tabelle{margin-bottom:1.2rem}
}

/* Beschreibungszeile in der Kachel, wie in der Vorlage unter dem Bild */
.card .card-text{margin:2px 0 10px;font-size:.88rem;line-height:1.4;color:var(--steel)}

/* Piktogramm der Bearbeitungsart in der Kachel, wie in der Vorlage oben links.
   Es sagt dem Fachmann, ob gestanzt, geschert oder ausgeklinkt wird. */
.card .cat{display:flex;align-items:center;gap:8px}
.card-piktogramm{flex:0 0 auto;width:39px;height:25px;object-fit:contain}


/* Rasterspalten duerfen nie breiter sein als der Bildschirm. minmax(210px,1fr)
   kann nicht unter 210 Pixel schrumpfen; auf schmalen Geraeten stand die
   Bildstrecke dadurch ueber den Rand. min(...,100%) hebt die Sperre auf. */
.pd-gallery,.cat-intro .pd-gallery{grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr))}
.pd-cards{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}

/* ===== Raster der Vorlage =====
   Die alte Seite ist ein Raster aus Zeilen: eine Variante je Zeile, darin
   Foto, Datentabelle und Zeichnung nebeneinander. Genau so wird es hier
   wieder aufgebaut. Die Spaltenbreiten setzt das Template als Stil, sie
   stammen aus den gemessenen Zellen der Vorlage. */
.pd-band{display:grid;gap:10px 34px;align-items:start;margin:0 0 34px}
.pd-band:last-child{margin-bottom:12px}
.pd-zelle{min-width:0}
.pd-zelle > :first-child{margin-top:0}
.pd-zelle > :last-child{margin-bottom:0}

/* Zeilen sichtbar trennen, sonst verschwimmen mehrere Varianten ineinander */
.page-breit .pd-band + .pd-band{border-top:1px solid var(--line);padding-top:26px}

/* Auf schmalen Geraeten wird aus jeder Zeile ein Stapel. Die Reihenfolge
   bleibt die der Vorlage, also Foto vor Daten. */
@media(max-width:860px){
  .pd-band{grid-template-columns:1fr !important;gap:6px}
  .pd-zelle{grid-column:1 !important}
  .page-breit .pd-band + .pd-band{padding-top:20px}
}

/* ===== Massverhaeltnisse der Vorlage =====
   Die alte Seite hat einen Inhaltsbereich von 800 Pixeln. Auf 1560 gezogen
   wirkt dieselbe Seite leer: die Datentabelle spannt sich ueber die ganze
   Spalte und Bezeichnung und Wert stehen weit auseinander. Deshalb eine
   ruhigere Gesamtbreite und Tabellen in ihrer natuerlichen Groesse. */
.page-body.page-breit{max-width:1180px}

/* Datentabellen fuellen ihre Zelle NICHT aus. Diese Regel hing bisher an der
   alten Spaltenklasse .pm-data und griff nach dem Umbau auf das Raster nicht
   mehr — daher die auseinandergezogenen Zeilen. */
.pd-zelle table{width:auto;max-width:100%}
.pd-zelle .pd-tabelle{max-width:100%}
.pd-zelle .pd-tabelle > table{min-width:0}

/* Zeilen enger setzen, die Vorlage ist kompakt */
.pd-band{gap:8px 30px;margin-bottom:22px}
.page-breit .pd-band + .pd-band{padding-top:18px}
.pd-zelle .pd-spec td,.pd-zelle .pd-spec th{padding:5px 12px}

/* Die Regel .entry-content table{width:100% !important} weiter oben zwingt
   jede Tabelle auf die volle Breite. Im Raster ist das falsch: die
   Datentabelle der Vorlage ist so breit wie ihr Inhalt, sonst stehen
   Bezeichnung und Wert weit auseinander und die Seite wirkt leer. */
.pd-zelle table{width:auto !important}
.pd-zelle .pd-spec td,.pd-zelle .pd-spec th{padding:4px 14px;line-height:1.4}
.pd-zelle figure{margin-bottom:.5rem}
.pd-zelle p{margin:0 0 .55rem}
.pd-zelle h2,.pd-zelle h3,.pd-zelle h4{margin:.2rem 0 .5rem}

/* Die Datentabelle der Vorlage ist 472 Pixel breit und fuellt ihre Zelle.
   Rein inhaltsbreit wirkt sie verloren, voll gedehnt zerfaellt sie. Ein
   Mindestmass trifft die Vorlage am besten. */
.pd-zelle .pd-spec{min-width:min(100%,440px)}
.page-body.page-breit{max-width:1100px}
/* Nachtrag: die Regel .pd-zelle .pd-tabelle > table{min-width:0} weiter oben
   ist spezifischer und hat das Mindestmass ausgehebelt. */
.pd-zelle .pd-tabelle > table.pd-spec{min-width:min(100%,440px)}

/* ===== Ordnung im Raster =====
   Eine Variante ist EINE Einheit: Foto und Beschreibung links, Kenn-Nummer,
   Datentabelle, Zeichnung und Datenblatt rechts. In der Vorlage stehen
   Zeichnung und Datenblatt in einer eigenen Tabellenzeile, gehoeren aber zur
   Variante darueber. Deshalb bekommt eine Fortsetzungszeile weder Trennstrich
   noch Abstand — der Strich mitten durch die Variante war der Grund, warum
   die Seite auseinanderfiel. */
.pd-band-fort{margin-top:-14px;margin-bottom:26px}
.page-breit .pd-band + .pd-band.pd-band-fort{border-top:0;padding-top:0}
.page-breit .pd-band + .pd-band{padding-top:22px;margin-top:6px}

/* Naeher an den Massen der Vorlage: Inhaltsbreite 800, Foto 250, kompakte
   Tabellenzeilen. Auf 1100 gezogen wandert das Auge zu weit. */
.page-body.page-breit{max-width:1010px}
.pd-zelle .pd-figure img,.pd-zelle figure img{max-width:280px}
.pd-zelle .pd-spec td,.pd-zelle .pd-spec th{padding:3px 12px;line-height:1.35;font-size:.92rem}
.pd-zelle .pd-tabelle{margin-bottom:.6rem}
/* Drei Spalten brauchen mehr Platz als zwei, sonst bricht in der
   Datentabelle jede Zeile um. */
.page-body.page-breit.page-breit3{max-width:1240px}

/* In einer schmalen Rasterspalte darf kein Bild seine feste Hoechstbreite
   behalten, sonst steht es ueber den Rand. Vier Seiten liefen so breit oder
   auf dem Handy ueber. */
.pd-zelle .pd-figure img,.pd-zelle figure img{max-width:min(280px,100%)}
.pd-zelle a{max-width:100%}
.pd-zelle .pd-gallery{grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr))}

/* Lange Artikelnamen und Brotkrumen muessen auf dem Handy umbrechen duerfen.
   «Stempelschnellwechselvorrichtung» hat die Seite sonst auf 517 Pixel
   gedehnt und sie liess sich seitlich schieben. */
.page-hero h1,.crumb{overflow-wrap:anywhere}
/* display:flex war hier falsch: ein einzelner langer Verweis kann als
   Flex-Element nicht schrumpfen und schob 16 Seiten ueber den Rand. */
.crumb > *{min-width:0}

/* Bildstrecken: die verschachtelten Flex-Kaesten haben das Bild an einer
   Breite ausgerichtet, die groesser war als die Zelle — auf 16 Seiten stand
   es dadurch 11 Pixel ueber den Rand. Als schlichter Block gesetzt kann das
   nicht mehr passieren. */
.pd-gallery figure{display:block}
.pd-gallery figure > a{display:block;width:auto;max-width:100%;padding:0;text-align:center}
.pd-gallery figure > a > img{display:inline-block;margin:0;max-width:100%}

/* Ursache des Ueberlaufs gefunden: die Regel .entry-content a[href*=".pdf"]
   macht JEDEN PDF-Verweis zu einem Knopf mit Plakette und Innenabstand. Zeigt
   ein BILD auf ein Datenblatt, bekam es diesen Knopf ringsum — und stand
   dadurch 11 Pixel ueber den Rand. Bilder bleiben Bilder. */
.pd-gallery figure > a,.pd-figure > a,.pd-zelle figure > a{
  display:block !important;padding:0 !important;border:0 !important;
  background:none !important;margin:0 !important}
.pd-gallery figure > a::before,.pd-figure > a::before,.pd-zelle figure > a::before{content:none !important}
/* In der Vorlage kleben Woerter ohne Leerzeichen aneinander
   («WinkelstahlmesserProfilstahlmesser»). In einer schmalen Spalte muss so
   etwas umbrechen duerfen. */
.pd-zelle{overflow-wrap:break-word}

/* Rasterfelder duerfen nicht breiter werden als ihre Spur. Ohne min-width:0
   nimmt ein Feld die Breite seines Inhalts an und schiebt die Seite ueber den
   Rand — die letzten drei Seiten mit waagerechtem Ueberlauf. */
.pd-band,.pd-zelle,.pd-gallery,.pd-gallery figure,.pd-cards,.card{min-width:0;max-width:100%}

/* ===== Ein Gitter fuer die ganze Seite =====
   Die Vorlage ist EINE Tabelle mit rowspan und colspan. Genau so wird sie
   nachgebaut: eine Rasterflaeche, jede Zelle mit Spalte, Spaltenspanne, Zeile
   und Zeilenspanne. Nur so steht der Lieferumfang neben den Datentabellen und
   nicht darunter. */
.pd-raster{display:grid;gap:10px 30px;align-items:start;margin:0 0 22px}
.pd-raster > .pd-zelle{min-width:0;max-width:100%}
@media(max-width:860px){
  .pd-raster{grid-template-columns:1fr !important;gap:6px}
  .pd-raster > .pd-zelle{grid-column:1 !important;grid-row:auto !important}
}
/* Vier Spalten: die Vorlage hat 980 Pixel bei 11-Pixel-Schrift. Unsere Schrift
   ist groesser, also braucht dasselbe Raster mehr Flaeche. */
.page-body.page-breit.page-breit4{max-width:1420px}

/* Zusammengefuehrte Editor-Bloecke (2026-08-17): Listen und Ueberschriften
   innerhalb von .pd-text sehen aus wie die frueheren Einzelbloecke. */
.pd-text ul,.pd-text ol{margin:.5rem 0 1.2rem;padding-left:1.15rem}
.pd-text li{margin:.25rem 0}
.pd-text h2:first-child,.pd-text h3:first-child{margin-top:.6rem}

/* Dokument-Ansicht: eine Seite = ein Editor-Block (2026-08-17). Der Inhalt
   kommt aus CKEditor 5 (figure.image, figure.table, p, ul, h2-h4). */
.pd-doc{color:#2a2f33}
.pd-doc p,.pd-doc ul,.pd-doc ol{max-width:80ch}
.pd-doc h2,.pd-doc h3,.pd-doc h4{max-width:80ch}
.pd-doc h2:first-child{margin-top:.4rem}
.pd-doc figure.image{display:inline-block;vertical-align:top;margin:.6rem 1.6rem 1rem 0;max-width:100%}
.pd-doc figure.image.image-style-side,.pd-doc figure.image.image-style-align-right{float:right;margin:0 0 1rem 1.6rem;max-width:45%}
.pd-doc figure.image.image-style-align-left{float:left;margin:0 1.6rem 1rem 0;max-width:45%}
.pd-doc figure.image img{display:block;max-width:100%;height:auto;background:#f6f6f6;border:1px solid var(--line);padding:6px}
.pd-doc figure.image figcaption{font-size:.8rem;color:#666;margin-top:.35rem;font-family:var(--mono)}
.pd-doc figure.table{margin:.8rem 0 1.4rem;max-width:640px;display:block}
.pd-doc figure.table table{width:100%}
.pd-doc figure.table th{text-align:left;font-family:var(--display);text-transform:uppercase;font-size:.82rem;letter-spacing:.02em;border-left:5px solid var(--orange);padding-left:10px}
.pd-doc figure.table td{padding:5px 10px 5px 0;vertical-align:top;border-bottom:1px solid var(--line-2)}
.pd-doc figure.table tr:hover td{background:var(--orange-100)}
.pd-doc a[href*=".pdf"]{margin:.2rem 0}
.pd-doc::after{content:"";display:block;clear:both}

/* Original-Dokumente (html2doc, 2026-08-17): PDF-Verweise innerhalb von
   Tabellen bleiben schlank (Plakette + Text), keine grossen Kacheln; Maschinen-
   namen als h3-Verweis auf ein PDF sind Ueberschriften, keine Knoepfe. */
.pd-doc td a[href*=".pdf"]{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border:0;background:none;
  font-family:var(--body);font-size:.85rem;text-transform:none;letter-spacing:0}
.pd-doc h3 a[href*=".pdf"],.pd-doc h2 a[href*=".pdf"]{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit}
.pd-doc h3 a[href*=".pdf"]::before,.pd-doc h2 a[href*=".pdf"]::before{content:none}
.pd-doc td.TabZeile,.pd-doc tr.TabZeile > td:only-child h3{background:var(--mist)}
.pd-doc h3{font-family:var(--display);font-size:1rem;text-transform:uppercase;margin:.4rem 0 .2rem}
.pd-doc table table{margin:0 0 .6rem}
.pd-doc table.pd-layout > tbody > tr > td:first-child:empty{padding:0;width:0}

/* Feinschliff Original-Dokumente (2026-08-17): verschachtelte Tabellen kompakt,
   grauer Balken fuer td.TabZeile wie in der Vorlage. */
.pd-doc table table td,.pd-doc table table th{padding:3px 10px 3px 0}
.pd-doc td.TabZeile{background:var(--mist);padding:3px 8px}
.pd-doc td.TabZeile h3,.pd-doc td.TabZeile h2{margin:0;font-size:.9rem}
.pd-doc table table h3{margin:.15rem 0}
.pd-doc table table p{margin:.15rem 0}

/* Dichte wie in der Vorlage (2026-08-17): Zellen und Absaetze in Original-
   Dokumenten eng, damit Spalten nicht unnoetig hoch werden. */
.pd-doc td,.pd-doc th{padding:2px 14px 2px 0 !important;line-height:1.35}
.pd-doc td p,.pd-doc th p{margin:0 0 .15rem}
.pd-doc td h2{margin:.5rem 0 .3rem}
.pd-doc td h3{margin:.15rem 0;line-height:1.25}
.pd-doc table table td,.pd-doc table table th{padding:1px 8px 1px 0 !important}
.pd-doc td.TabZeile{padding:1px 8px !important}
.pd-doc td a[href*=".pdf"]{padding:0 4px;line-height:1.3}
.pd-doc td a[href*=".pdf"]::before{font-size:.58rem;padding:1px 4px}
.pd-doc table{margin:0 0 .8rem}

/* Original-Dokumente, Runde 2 (2026-08-17): Rahmen/Farben der Vorlage, keine
   PDF-Plakette auf verlinkten Bildern, Kategorieseiten ohne Kasten. */
.pd-doc table.pd-border td,.pd-doc table.pd-border th{border:1px solid var(--line) !important;padding:6px 8px !important}
.pd-doc table.grille td,.pd-doc table.grille th{border:1px solid var(--line-2) !important;padding:6px 8px !important}
.pd-doc a:has(img)::before{content:none !important}
.pd-doc a:has(img){display:inline-block;padding:0 !important;border:0 !important;background:none !important}
.pd-doc [style*="text-align:center"] img{display:inline-block}
.pd-doc [style*="text-align:center"] a:has(img){display:inline-block}
.pd-doc td[style*="background-color"] h2,.pd-doc td[style*="background-color"] h3{border-left:0;padding-left:0;margin:.2rem 0}
.pd-doc td[style*="background-color"]{padding:6px 10px !important}
.page-body.entry-content .pd-doc{max-width:none}

/* Runde 3 (2026-08-17): Ausrichtung aus der Vorlage gewinnt gegen die
   Basisregel td{text-align:left}; zentrierte Bilder mittig. */
.pd-doc tr[style*="text-align:center"] > td,.pd-doc tr[style*="text-align:center"] > th,.pd-doc td[style*="text-align:center"],.pd-doc th[style*="text-align:center"],.pd-doc p[style*="text-align:center"],.pd-doc h2[style*="text-align:center"],.pd-doc h3[style*="text-align:center"]{text-align:center !important}
.pd-doc tr[style*="text-align:right"] > td,.pd-doc td[style*="text-align:right"],.pd-doc p[style*="text-align:right"]{text-align:right !important}
.pd-doc [style*="text-align:center"] img{display:inline-block;vertical-align:middle}
.pd-doc [style*="text-align:center"] a:has(img){display:inline-block}
.pd-doc [style*="vertical-align:middle"] > td,.pd-doc td[style*="vertical-align:middle"]{vertical-align:middle !important}
.pd-doc [style*="vertical-align:bottom"] > td,.pd-doc td[style*="vertical-align:bottom"]{vertical-align:bottom !important}

/* Runde 4 (2026-08-17): verschachtelte Tabellen in natuerlicher Breite (die
   Vorlage hat sie am Inhalt bemessen), Ueberschriften in Zellen ohne Balken. */
.pd-doc table table:not([style*="width"]){width:auto !important;max-width:100%}
.pd-doc table table[style*="width"]{max-width:100%}
.pd-doc td h2{border-left:0;padding-left:0;font-size:1rem;margin:.3rem 0}
.pd-doc table.pd-layout > tbody > tr > td > h2:first-child{border-left:5px solid var(--orange);padding-left:14px;font-size:1.35rem}

/* Runde 5 (2026-08-17): Ueberschriften direkt in Layoutzellen behalten den Balken. */
.pd-doc table.pd-layout > tbody > tr > td > h2{border-left:5px solid var(--orange);padding-left:14px;font-size:1.35rem;margin:.6rem 0 .6rem}
.pd-doc table.pd-layout > tbody > tr > td > h2 + h2{margin-top:-.3rem}

/* Runde 6 (2026-08-17): Kaesten wie in der Vorlage (td.grille mit Rahmen und
   Innenabstand), Luft zwischen aufeinanderfolgenden Tabellen. */
.pd-doc td.grille,.pd-doc th.grille{border:1px solid var(--line-2) !important;padding:6px 8px !important}
.pd-doc table.grille{border:1px solid var(--line-2)}
.pd-doc table + table{margin-top:1.1rem}
.pd-doc td.grille img{margin:2px 0}

/* Runde 7 (2026-08-17): Lesbarkeit zurueck. Die Verdichtung aus Runde 3 war
   zu hart (2px Zellen, keine Absatzabstaende). Satz wie in der Vorlage:
   luftig, klare Absaetze, Zeilenhoehe 1.5. */
.pd-doc{line-height:1.5}
.pd-doc p{margin:.45rem 0 .7rem}
.pd-doc ul,.pd-doc ol{margin:.5rem 0 1rem;padding-left:1.2rem}
.pd-doc li{margin:.25rem 0}
.pd-doc h2{margin:1.4rem 0 .7rem}
.pd-doc h3{margin:.9rem 0 .35rem;line-height:1.3}
.pd-doc td,.pd-doc th{padding:7px 16px 7px 0 !important;line-height:1.5}
.pd-doc td p,.pd-doc th p{margin:0 0 .5rem}
.pd-doc td p:last-child,.pd-doc th p:last-child{margin-bottom:0}
.pd-doc td h2{margin:.5rem 0 .4rem}
.pd-doc td h3{margin:.4rem 0 .25rem}
.pd-doc table table td,.pd-doc table table th{padding:5px 12px 5px 0 !important}
.pd-doc td.grille,.pd-doc th.grille{padding:8px 10px !important}
.pd-doc td.TabZeile{padding:5px 10px !important}
.pd-doc table{margin:0 0 1.2rem}
.pd-doc table + table{margin-top:1.6rem}
.pd-doc table.pd-layout > tbody > tr > td{padding:10px 22px 14px 0 !important}
.pd-doc td a[href*=".pdf"]{padding:2px 6px;line-height:1.4}
.pd-doc figure.image,.pd-doc td img{margin:.3rem 0}

/* Runde 8 (2026-08-17): Abschnittsrhythmus der Vorlage. Leerabsaetze bleiben
   als Abstandhalter, Kaesten und Abschnitte bekommen deutlich Luft. */
.pd-doc p.pd-abstand{margin:0;height:1.4rem}
.pd-doc > table + table,.pd-doc > p + table,.pd-doc > table + p{margin-top:1.8rem}
.pd-doc table.pd-layout > tbody > tr > td > table + table{margin-top:1.8rem}
.pd-doc table.pd-layout > tbody > tr{border-bottom:0}
.pd-doc h2{margin:1.8rem 0 .8rem}
.pd-doc table.pd-layout > tbody > tr > td > h2:first-child{margin-top:.6rem}
.pd-doc td.grille p{margin:.2rem 0}

/* Runde 9 (2026-08-17): Zoom-Overlay, Hauptbild, feste Spalten in Kaesten. */
.pd-zoom-dialog{border:0;padding:0;background:transparent;max-width:min(94vw,1200px);max-height:94vh}
.pd-zoom-dialog::backdrop{background:rgba(10,12,14,.82)}
.pd-zoom-dialog img{display:block;max-width:min(94vw,1200px);max-height:86vh;width:auto;height:auto;background:#fff;padding:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.pd-zoom-dialog .pd-zoom-cap{color:#fff;font-family:var(--mono);font-size:.8rem;text-align:center;margin:.6rem 0 0}
.pd-zoom-close{position:fixed;top:14px;right:18px;font-size:2.2rem;line-height:1;color:#fff;background:transparent;border:0;cursor:pointer}
.pd-doc a.pd-zoom{cursor:zoom-in}
.pd-doc img.pd-hauptbild{max-width:100%;height:auto}
/* table-layout:fixed entfernt (2026-08-17): liess prozentbreite Tabellen in Auto-Zellen auf Mindestbreite schrumpfen */
.pd-doc table table[style*="width"] img{max-width:100%;height:auto}

/* Suche (2026-08-21): Feld im Kopf + Ergebnisseite. */
.pd-suche-kopf{display:flex;align-items:center;gap:0;margin-left:auto;margin-right:14px}
.pd-suche-kopf input{width:150px;height:32px;border:1px solid var(--line);border-right:0;padding:0 10px;font-family:var(--body);font-size:.85rem;background:#fff;color:var(--ink)}
.pd-suche-kopf input:focus{outline:0;border-color:var(--orange);width:210px;transition:width .18s}
.pd-suche-kopf button{height:32px;padding:0 10px;border:1px solid var(--orange);background:var(--orange);color:#fff;cursor:pointer;display:flex;align-items:center}
.pd-suche-kopf button:hover{background:var(--orange-700,#c85c14);border-color:var(--orange-700,#c85c14)}
@media(max-width:900px){.pd-suche-kopf{order:3;width:100%;margin:8px 0 0}.pd-suche-kopf input{flex:1;width:auto}}
.pd-suche-titel{border-left:5px solid var(--orange);padding-left:14px;margin:1.2rem 0 1rem}
.pd-suche-form{display:flex;gap:0;max-width:620px;margin:0 0 .6rem}
.pd-suche-form input{flex:1;height:46px;border:1px solid var(--line);border-right:0;padding:0 14px;font-family:var(--body);font-size:1rem}
.pd-suche-form input:focus{outline:0;border-color:var(--orange)}
.pd-suche-form button{height:46px;padding:0 24px;border:1px solid var(--orange);background:var(--orange);color:#fff;font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;cursor:pointer}
.pd-suche-hinweis{color:#6b7176;font-size:.88rem;margin:0 0 1.6rem}
.pd-suche-zahl{font-family:var(--mono);font-size:.8rem;color:#6b7176;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .8rem}
.pd-suche-liste{list-style:none;padding:0;margin:0 0 2rem;max-width:800px}
.pd-suche-liste li{padding:.9rem 0;border-bottom:1px solid var(--line-2)}
.pd-suche-liste a{font-family:var(--display);text-transform:uppercase;font-size:1.02rem;color:var(--ink);text-decoration:none}
.pd-suche-liste a:hover{color:var(--orange)}
.pd-suche-pfad{display:block;font-family:var(--mono);font-size:.72rem;color:#8b9196;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.pd-suche-text{margin:.35rem 0 0;color:#4a5055;font-size:.92rem;line-height:1.5}
.pd-suche-text mark{background:var(--orange-100,#fde5d4);color:inherit;padding:0 2px}
.pd-suche-leer{color:#6b7176}

/* ===== Einheitlicher Seitenkopf (2026-09-10) =====
   Zusatzfelder art_kopf_bild / art_kennnr / art_kurzdaten. Ohne Pflege
   greift keine dieser Regeln, der Kopf bleibt Brotkrume + Ueberschrift. */
.page-hero.hat-kopf{padding:40px 0 38px}
.pd-kopf{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:32px;align-items:center;margin-top:22px}
.pd-kopf-bild{margin:0;background:#fff;border:1px solid rgba(255,255,255,.16);padding:14px;
  display:flex;align-items:center;justify-content:center;min-height:150px}
.pd-kopf-bild img{max-width:100%;height:auto;max-height:300px;object-fit:contain;display:block}
.pd-kopf-text{min-width:0}
.pd-kopf-text h1{margin:0}
.pd-kennnr{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;
  color:#9aa4ab;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.pd-kennnr span{color:#fff;background:var(--orange);padding:2px 9px;letter-spacing:.06em}
.pd-kurzdaten{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px}
.pd-kurzdaten li{font-size:.95rem;color:#d6dbdf;position:relative;padding-left:15px}
.pd-kurzdaten li::before{content:"";position:absolute;left:0;top:.66em;width:7px;height:1px;background:var(--orange)}
@media (max-width:720px){
  .pd-kopf{grid-template-columns:1fr;gap:20px}
  .pd-kopf-bild{max-width:270px}
  .pd-kurzdaten{gap:6px 20px}
}