/*
Theme Name: NEUPACK
Theme URI: https://www.neupack.de/
Author: NEUPACK Verpackungen
Description: Individuelles NEUPACK WordPress-Theme.
Version: 2.9.172
Text Domain: neupack
*/

:root{
  --np-red:#e30613;
  --np-black:#141414;
  --np-gray:#666;
  --np-light:#f6f6f6;
  --np-line:#e5e5e5;
  --np-max:1380px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--np-black);
  background:#fff;
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.np-wrap{width:min(calc(100% - 64px),var(--np-max));margin:0 auto}

/* Header */
.site-header{
  background:#fff;
  border-bottom:1px solid var(--np-line);
  position:sticky;
  top:0;
  z-index:50;
}
.admin-bar .site-header{top:32px}
.np-header{
  min-height:108px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.np-brand img{
  display:block;
  width:280px;
  max-height:86px;
  object-fit:contain;
  object-position:left center;
}
.np-nav ul{
  list-style:none;
  display:flex;
  align-items:center;
  gap:32px;
  margin:0;
  padding:0;
}
.np-nav li{position:relative}
.np-nav a{font-size:16px;font-weight:700}
.np-nav a:hover,
.np-nav .current-menu-item>a,
.np-nav .current-menu-ancestor>a{color:var(--np-red)}
.np-nav .sub-menu{
  display:none;
  position:absolute;
  left:-18px;
  top:100%;
  min-width:230px;
  padding:14px 0;
  background:#fff;
  border:1px solid var(--np-line);
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.np-nav li:hover>.sub-menu{display:block}
.np-nav .sub-menu a{display:block;padding:10px 18px;font-size:14px}
.np-nav .sub-menu .sub-menu{left:100%;top:0}

/* Hero */
.np-hero{
  min-height:690px;
  display:grid;
  grid-template-columns:minmax(500px,.9fr) minmax(620px,1.1fr);
  background:#fff;
}
.np-hero-copy{
  padding:94px 54px 76px max(32px, calc((100vw - var(--np-max))/2));
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:2;
}
.np-kicker{
  color:var(--np-red);
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
  font-size:17px;
  margin-bottom:26px;
}
.np-hero h1{
  font-size:clamp(58px,5vw,88px);
  line-height:1.01;
  letter-spacing:-.035em;
  margin:0 0 28px;
  max-width:760px;
}
.np-hero h1 .dot{color:var(--np-red)}
.np-hero p{
  font-size:22px;
  line-height:1.55;
  color:#4b4b4b;
  max-width:660px;
  margin:0 0 36px;
}
.np-actions{display:flex;gap:16px;flex-wrap:wrap}
.np-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:0 26px;
  font-weight:800;
  border:1px solid var(--np-red);
  background:var(--np-red);
  color:#fff;
}
.np-btn.secondary{background:#fff;color:var(--np-black);border-color:#bbb}
.np-hero-image{
  background-image:
    linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.92) 6%, rgba(255,255,255,.40) 18%, rgba(255,255,255,0) 34%),
    url("assets/images/illig-ph70.jpg");
  background-size:cover;
  background-position:center center;
  min-height:690px;
}

/* Category strip */
.np-category-strip{
  border-top:1px solid var(--np-line);
  border-bottom:1px solid var(--np-line);
  background:#fff;
}
.np-category-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.np-cat{
  padding:24px 24px;
  min-height:110px;
  border-right:1px solid var(--np-line);
}
.np-cat:last-child{border-right:0}
.np-cat strong{display:block;font-size:18px}
.np-cat span{color:#555}
.np-cat b{color:var(--np-red);font-size:20px;margin-left:6px}

/* Sections */
.np-section{padding:82px 0}
.np-section.alt{background:var(--np-light)}
.np-mini{
  color:var(--np-red);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:8px;
}
.np-section h2{
  margin:0 0 14px;
  font-size:44px;
  letter-spacing:-.025em;
}
.np-lead{
  margin:0 0 38px;
  max-width:920px;
  color:#626262;
  font-size:20px;
}
.np-image-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.np-feature{
  background:#fff;
  border:1px solid var(--np-line);
  overflow:hidden;
}
.np-feature-image{
  aspect-ratio:16/10;
  background:#eee;
  overflow:hidden;
}
.np-feature-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.np-feature-body{padding:26px}
.np-feature h3{margin:0 0 10px;font-size:25px}
.np-feature p{margin:0;color:#666}
.np-link{display:inline-block;margin-top:18px;color:var(--np-red);font-weight:800}

.np-production-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.np-production{
  position:relative;
  min-height:410px;
  overflow:hidden;
  background:#111;
}
.np-production img{
  width:100%;
  height:100%;
  min-height:410px;
  object-fit:cover;
  display:block;
  opacity:.88;
}
.np-production:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.76) 100%);
}
.np-production-copy{
  position:absolute;
  left:26px;right:26px;bottom:24px;
  color:#fff;z-index:2;
}
.np-production-copy h3{font-size:28px;margin:0 0 8px}
.np-production-copy p{margin:0;color:#e7e7e7}
.np-production-copy a{display:inline-block;margin-top:14px;color:#fff;font-weight:800}

.np-deco{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:26px;
  align-items:stretch;
}
.np-deco-main,.np-deco-side{
  border:1px solid var(--np-line);
  background:#fff;
  overflow:hidden;
}
.np-deco-main img,.np-deco-side img{width:100%;height:330px;object-fit:cover;display:block}
.np-deco-copy{padding:26px}
.np-deco-copy h3{margin:0 0 8px;font-size:26px}
.np-deco-copy p{margin:0;color:#666}

.np-cycle{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:26px;
}
.np-cycle span{
  background:#fff;
  border:1px solid var(--np-line);
  padding:11px 14px;
  font-weight:700;
}
.np-cycle b{color:var(--np-red);font-size:20px}

.np-company{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
}
.np-company img{width:100%;height:100%;min-height:420px;object-fit:cover}
.np-company-copy{padding:26px 10px 26px 10px}
.np-company-copy h2{margin-top:0}
.np-company-copy p{font-size:19px;color:#5d5d5d}

.np-cta{
  background:#1a1a1a;color:#fff;
  padding:60px 0;
}
.np-cta-row{
  display:flex;justify-content:space-between;align-items:center;gap:28px;
}
.np-cta h2{margin:0;font-size:38px}
.np-cta p{margin:8px 0 0;color:#c8c8c8}

/* Generic content */
.np-content{padding:60px 0;min-height:60vh}
.np-content>article{max-width:1120px}
.np-content h1{font-size:48px;margin:0 0 30px}
.entry-content{font-size:17px}

/* Footer */
.site-footer{background:#171717;color:#fff}
.np-footer{
  padding:46px 0;
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:34px;
}
.np-footer strong{font-size:18px}
.np-footer p,.np-footer small{color:#b8b8b8}
.np-footer a{color:#fff}

@media(max-width:1100px){
  .np-header{align-items:flex-start;flex-direction:column;padding:18px 0}
  .np-nav ul{gap:18px;flex-wrap:wrap}
  .np-hero{grid-template-columns:1fr}
  .np-hero-copy{padding:68px 32px}
  .np-hero-image{min-height:460px}
  .np-category-grid{grid-template-columns:repeat(2,1fr)}
  .np-cat:nth-child(2){border-right:0}
  .np-image-grid,.np-production-grid{grid-template-columns:1fr}
  .np-deco,.np-company{grid-template-columns:1fr}
}
@media(max-width:650px){
  .np-wrap{width:min(calc(100% - 32px),var(--np-max))}
  .np-brand img{width:220px}
  .np-nav ul{display:block}
  .np-nav li{margin:8px 0}
  .np-nav .sub-menu{position:static;display:block;border:0;box-shadow:none;padding-left:15px}
  .np-hero-copy{padding:50px 20px}
  .np-kicker{font-size:14px}
  .np-hero p{font-size:19px}
  .np-hero-image{min-height:330px}
  .np-category-grid{grid-template-columns:1fr}
  .np-cat{border-right:0;border-bottom:1px solid var(--np-line)}
  .np-cat:last-child{border-bottom:0}
  .np-cta-row{align-items:flex-start;flex-direction:column}
  .np-footer{grid-template-columns:1fr}
}


/* ===== V0.8 layout correction ===== */
body{
  font-size:16px;
}
.np-wrap{
  width:min(1380px, calc(100% - 64px)) !important;
  max-width:1380px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.site-header .np-wrap{
  width:min(1380px, calc(100% - 64px)) !important;
}
.np-header{
  min-height:104px;
}
.np-brand{
  flex:0 0 300px;
}
.np-brand img{
  width:300px !important;
  height:auto !important;
  max-height:78px !important;
}
.np-nav{
  flex:1 1 auto;
  display:flex;
  justify-content:flex-end;
}
.np-nav > ul{
  justify-content:flex-end;
  gap:30px;
}
.np-nav > ul > li > a{
  font-size:16px !important;
  white-space:nowrap;
}

/* Hero desktop proportions */
.np-hero{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:minmax(540px, 43%) minmax(0, 57%) !important;
  min-height:690px;
}
.np-hero-copy{
  padding-left:max(32px, calc((100vw - 1380px)/2)) !important;
  padding-right:64px !important;
}
.np-hero h1{
  font-size:clamp(64px, 5vw, 88px) !important;
  max-width:700px !important;
}
.np-hero p{
  font-size:21px !important;
  max-width:620px !important;
}
.np-hero-image{
  min-height:690px;
}

/* Category and homepage content sizing */
.np-category-grid{
  width:min(1380px, calc(100% - 64px)) !important;
  max-width:1380px !important;
}
.np-cat{
  padding:25px 28px !important;
}
.np-cat strong{
  font-size:19px !important;
}
.np-section{
  padding:88px 0 !important;
}
.np-section h2{
  font-size:46px !important;
}
.np-lead{
  font-size:20px !important;
  line-height:1.55;
}
.np-image-grid{
  gap:28px !important;
}
.np-feature-body{
  padding:28px !important;
}
.np-feature h3{
  font-size:27px !important;
}
.np-feature p{
  font-size:17px !important;
  line-height:1.55;
}
.np-feature-image{
  aspect-ratio:16/9;
}
.np-production-grid{
  gap:28px !important;
}

/* Hide accidental legacy/duplicate menu if WP injects a second menu list */
.np-nav > ul + ul{
  display:none !important;
}

@media (min-width:1101px){
  .np-header{
    flex-direction:row !important;
    align-items:center !important;
  }
}

/* V0.9: Logo ohne eingebetteten Rahmen; Hero/Layout aus V0.8 unverändert */
.np-brand img{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}


/* ===== V1.4 Homepage: Produkt-Schnellwahl ===== */
.np-cat{
  display:flex;
  align-items:center;
  gap:20px;
  min-height:126px;
  transition:background-color .18s ease, transform .18s ease;
}
.np-cat:hover{
  background:#fafafa;
}
.np-cat-icon{
  flex:0 0 76px;
  width:76px;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.np-cat-icon svg{
  width:74px;
  height:62px;
  fill:none;
  stroke:#141414;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.np-cat-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.np-cat-copy > span{
  color:#555;
  font-size:16px;
}
.np-cat:hover .np-cat-copy strong,
.np-cat:hover .np-cat-copy b{
  color:var(--np-red);
}
@media(max-width:1100px){
  .np-cat{min-height:112px}
}
@media(max-width:650px){
  .np-cat{gap:16px}
  .np-cat-icon{flex-basis:62px;width:62px}
  .np-cat-icon svg{width:60px;height:52px}
}


/* ===== V1.5: feinere Produkt-Piktogramme ===== */
.np-cat{
  min-height:102px;
  padding:18px 24px !important;
  gap:14px;
}
.np-cat-icon{
  flex:0 0 58px;
  width:58px;
  height:54px;
}
.np-cat-icon svg{
  width:56px;
  height:48px;
  fill:none !important;
  stroke:#202020 !important;
  stroke-width:1.25 !important;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.np-cat-copy strong{
  font-size:17px !important;
}
.np-cat-copy > span{
  font-size:15px !important;
}


/* ===== V1.6: prägnantere Produkt-Piktogramme ===== */
.np-cat{
  min-height:122px;
  padding:22px 28px !important;
  gap:20px;
}
.np-cat-icon{
  flex:0 0 92px;
  width:92px;
  height:72px;
}
.np-cat-icon svg{
  width:92px;
  height:70px;
  fill:none !important;
  stroke:#181818 !important;
  stroke-width:1.6 !important;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.np-cat-icon .top{
  opacity:.95;
}
.np-cat-copy strong{
  font-size:18px !important;
}
.np-cat-copy > span{
  font-size:15.5px !important;
}


/* ===== V1.7: echte Auswahlbilder aus der WordPress-Mediathek ===== */
.np-cat{
  min-height:170px;
  padding:20px 26px !important;
  gap:18px;
  display:flex;
  align-items:center;
}
.np-cat-image{
  flex:0 0 150px;
  width:150px;
  height:112px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.np-cat-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.np-cat-icon{
  display:none !important;
}
.np-cat-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.np-cat-copy strong{
  font-size:18px !important;
}
.np-cat-copy > span{
  font-size:15.5px !important;
}
.np-cat:hover .np-cat-copy strong,
.np-cat:hover .np-cat-copy b{
  color:var(--np-red);
}

@media(max-width:1100px){
  .np-cat{
    min-height:150px;
  }
  .np-cat-image{
    flex-basis:130px;
    width:130px;
    height:98px;
  }
}
@media(max-width:650px){
  .np-cat{
    min-height:132px;
    gap:14px;
  }
  .np-cat-image{
    flex-basis:110px;
    width:110px;
    height:82px;
  }
}


/* ===== V1.8: fünfte Produktkachel Klappschalen ===== */
.np-category-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.np-cat{
  min-width:0;
  padding:18px 18px !important;
  gap:14px;
}
.np-cat-image{
  flex:0 0 112px;
  width:112px;
  height:92px;
}
.np-cat-copy{
  min-width:0;
}
.np-cat-copy strong{
  font-size:17px !important;
}
.np-cat-copy > span{
  font-size:14.5px !important;
}
.np-cat-klappschalen .np-cat-image img{
  object-fit:contain;
}

@media(max-width:1250px){
  .np-category-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .np-cat{
    padding:16px 12px !important;
    gap:10px;
  }
  .np-cat-image{
    flex-basis:90px;
    width:90px;
    height:76px;
  }
  .np-cat-copy strong{
    font-size:15.5px !important;
  }
  .np-cat-copy > span{
    font-size:13.5px !important;
  }
}
@media(max-width:900px){
  .np-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .np-cat:nth-child(2n){
    border-right:0;
  }
  .np-cat:last-child{
    grid-column:1 / -1;
  }
}
@media(max-width:560px){
  .np-category-grid{
    grid-template-columns:1fr;
  }
  .np-cat{
    border-right:0;
    border-bottom:1px solid var(--np-line);
  }
}


/* ===== V1.9: kompakte 5er-Leiste unter dem Hero ===== */
.np-category-strip{
  overflow:hidden;
}
.np-category-grid{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}
.np-cat{
  min-height:118px !important;
  padding:12px 14px !important;
  gap:10px !important;
  align-items:center !important;
}
.np-cat-image{
  flex:0 0 82px !important;
  width:82px !important;
  height:72px !important;
}
.np-cat-copy{
  gap:2px !important;
}
.np-cat-copy strong{
  font-size:15.5px !important;
  line-height:1.15 !important;
}
.np-cat-copy > span{
  font-size:13.5px !important;
  line-height:1.25 !important;
}
.np-cat-copy b{
  margin-left:4px;
}
.np-cat-klappschalen .np-cat-image{
  flex-basis:86px !important;
  width:86px !important;
  height:72px !important;
}

@media(max-width:1450px){
  .np-cat{
    padding:10px 10px !important;
    gap:8px !important;
  }
  .np-cat-image{
    flex-basis:72px !important;
    width:72px !important;
    height:64px !important;
  }
  .np-cat-klappschalen .np-cat-image{
    flex-basis:76px !important;
    width:76px !important;
    height:64px !important;
  }
  .np-cat-copy strong{
    font-size:14.5px !important;
  }
  .np-cat-copy > span{
    font-size:12.5px !important;
  }
}

/* Tablet weiterhin zweispaltig */
@media(max-width:900px){
  .np-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .np-cat:last-child{
    grid-column:auto !important;
  }
}

/* Mobil einspaltig */
@media(max-width:560px){
  .np-category-grid{
    grid-template-columns:1fr !important;
  }
}


/* ===== V2.0: definitive 5-column hero product strip =====
   Also fixes stale stylesheet caching from the former enqueue version 0.8. */
@media (min-width: 901px){
  .np-category-strip .np-category-grid{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  .np-category-strip .np-cat{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:112px !important;
    padding:10px 16px !important;
    gap:10px !important;
    display:grid !important;
    grid-template-columns:84px minmax(0,1fr) !important;
    align-items:center !important;
    border-right:1px solid var(--np-line) !important;
    border-bottom:0 !important;
  }

  .np-category-strip .np-cat:last-child{
    border-right:0 !important;
  }

  .np-category-strip .np-cat-image{
    width:84px !important;
    height:72px !important;
    min-width:0 !important;
    flex:none !important;
  }

  .np-category-strip .np-cat-image img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }

  .np-category-strip .np-cat-copy{
    min-width:0 !important;
    display:block !important;
  }

  .np-category-strip .np-cat-copy strong{
    display:block !important;
    font-size:15px !important;
    line-height:1.15 !important;
    margin-bottom:5px !important;
    white-space:normal !important;
  }

  .np-category-strip .np-cat-copy > span{
    display:block !important;
    font-size:13px !important;
    line-height:1.25 !important;
    white-space:normal !important;
  }
}

@media (min-width: 901px) and (max-width: 1250px){
  .np-category-strip .np-cat{
    grid-template-columns:68px minmax(0,1fr) !important;
    padding:9px 9px !important;
    gap:7px !important;
  }
  .np-category-strip .np-cat-image{
    width:68px !important;
    height:60px !important;
  }
  .np-category-strip .np-cat-copy strong{
    font-size:13.5px !important;
  }
  .np-category-strip .np-cat-copy > span{
    font-size:12px !important;
  }
}

/* ===== V2.1: Unsere Produkte ===== */
.np-products-v21 h2{max-width:980px}
.np-products-lead{max-width:1050px;font-size:22px;line-height:1.5;margin:0 0 30px}
.np-product-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;max-width:1180px;margin:0 0 46px}
.np-product-intro p{margin:0;line-height:1.7}
.np-product-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--np-line);border-bottom:1px solid var(--np-line)}
.np-product-area{padding:30px 34px 32px 0;min-height:220px}
.np-product-area+.np-product-area{border-left:1px solid var(--np-line);padding-left:34px}
.np-product-area-no{display:block;color:var(--np-red);font-size:13px;font-weight:700;letter-spacing:.08em;margin-bottom:14px}
.np-product-area h3{margin:0 0 12px;font-size:25px}
.np-product-area p{margin:0 0 24px;line-height:1.6;max-width:390px}
.np-product-area a{font-weight:700;text-decoration:none}
.np-product-area a span{color:var(--np-red);margin-left:6px}
@media(max-width:900px){
 .np-product-intro{grid-template-columns:1fr;gap:16px}
 .np-product-areas{grid-template-columns:1fr}
 .np-product-area,.np-product-area+.np-product-area{padding:26px 0;border-left:0;border-top:1px solid var(--np-line);min-height:0}
 .np-product-area:first-child{border-top:0}
}


/* ===== V2.3: Produktbereich kompakter ===== */
.np-products-v21 .np-products-lead{
  margin-bottom:22px;
  line-height:1.45;
}
.np-products-v21 .np-product-intro{
  gap:38px;
  margin-bottom:30px;
}
.np-products-v21 .np-product-intro p{
  line-height:1.5;
}
.np-products-v21 .np-product-area{
  padding-top:26px;
  padding-bottom:27px;
  min-height:205px;
}
.np-products-v21 .np-product-area p{
  line-height:1.5;
  margin-bottom:20px;
}
@media(max-width:900px){
  .np-products-v21 .np-product-intro{
    gap:12px;
    margin-bottom:24px;
  }
  .np-products-v21 .np-product-area,
  .np-products-v21 .np-product-area + .np-product-area{
    padding-top:22px;
    padding-bottom:22px;
  }
}


/* ===== V2.4: Kompetenz + Verantwortung ===== */
.np-products-v21 .np-product-intro h3{
  margin:0 0 9px;
  font-size:20px;
  line-height:1.25;
}
.np-responsibility{
  padding:64px 0 68px;
  background:#fff;
  border-top:1px solid var(--np-line);
}
.np-responsibility-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:70px;
  align-items:start;
  margin-top:12px;
}
.np-responsibility-head h2{
  margin:0;
  font-size:clamp(30px,3vw,46px);
  line-height:1.12;
  max-width:650px;
}
.np-responsibility-copy p{
  margin:4px 0 0;
  font-size:18px;
  line-height:1.55;
  max-width:690px;
}
.np-responsibility-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:42px;
  border-top:1px solid var(--np-line);
  border-bottom:1px solid var(--np-line);
}
.np-responsibility-points > div{
  padding:24px 28px 26px 0;
}
.np-responsibility-points > div + div{
  border-left:1px solid var(--np-line);
  padding-left:28px;
}
.np-responsibility-points strong{
  display:block;
  font-size:19px;
  margin-bottom:8px;
}
.np-responsibility-points span{
  display:block;
  line-height:1.5;
}
@media(max-width:900px){
  .np-responsibility{
    padding:48px 0;
  }
  .np-responsibility-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  .np-responsibility-points{
    grid-template-columns:1fr;
    margin-top:30px;
  }
  .np-responsibility-points > div,
  .np-responsibility-points > div + div{
    padding:20px 0;
    border-left:0;
    border-top:1px solid var(--np-line);
  }
  .np-responsibility-points > div:first-child{
    border-top:0;
  }
}


/* ===== V2.5: vertikale Abstände zwischen Homepage-Blöcken verdichtet ===== */

/* Produktbereich insgesamt etwas kompakter */
.np-products-v21{
  padding-top:52px !important;
  padding-bottom:46px !important;
}
.np-products-v21 .np-products-lead{
  margin-bottom:18px !important;
}
.np-products-v21 .np-product-intro{
  margin-bottom:22px !important;
}
.np-products-v21 .np-product-areas{
  margin-bottom:0 !important;
}

/* Keine unnötige Leerzone unter den drei Produktkarten */
.np-products-v21 .np-product-area{
  min-height:0 !important;
  padding-top:22px !important;
  padding-bottom:22px !important;
}

/* Verantwortungsblock näher an den Produktbereich rücken */
.np-responsibility{
  padding-top:44px !important;
  padding-bottom:48px !important;
}
.np-responsibility-grid{
  gap:48px !important;
  margin-top:8px !important;
}
.np-responsibility-points{
  margin-top:28px !important;
}
.np-responsibility-points > div{
  padding-top:20px !important;
  padding-bottom:20px !important;
}

/* Falls zwischen den Sektionen alte Standardabstände greifen */
.np-products-v21 + .np-responsibility{
  margin-top:0 !important;
}
.np-responsibility + .np-section{
  margin-top:0 !important;
}

@media(max-width:900px){
  .np-products-v21{
    padding-top:42px !important;
    padding-bottom:38px !important;
  }
  .np-responsibility{
    padding-top:38px !important;
    padding-bottom:40px !important;
  }
  .np-responsibility-grid{
    gap:16px !important;
  }
  .np-responsibility-points{
    margin-top:22px !important;
  }
}


/* ===== V2.6: Produktleiste skaliert wie der restliche Seiteninhalt =====
   Die Leiste nutzt jetzt denselben zentrierten Inhaltscontainer wie die
   übrigen Homepage-Bereiche. Dadurch bleibt sie beim Browser-Zoom optisch
   proportional zum restlichen Layout. */
.np-category-strip{
  width:100%;
}
.np-category-strip .np-category-grid{
  width:calc(100% - 48px) !important;
  max-width:1380px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Desktop: fünf Spalten innerhalb desselben Seitenrasters */
@media (min-width: 901px){
  .np-category-strip .np-category-grid{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  }
  .np-category-strip .np-cat{
    min-height:112px !important;
    padding:10px 14px !important;
    grid-template-columns:minmax(62px,82px) minmax(0,1fr) !important;
  }
  .np-category-strip .np-cat-image{
    width:clamp(62px,5vw,82px) !important;
    height:clamp(56px,4.5vw,72px) !important;
  }
  .np-category-strip .np-cat-copy strong{
    font-size:clamp(13px,1vw,15px) !important;
  }
  .np-category-strip .np-cat-copy > span{
    font-size:clamp(11.5px,.9vw,13px) !important;
  }
}

/* Auf schmaleren Screens bleibt der gleiche Außenrand wie im Seiteninhalt */
@media (max-width: 900px){
  .np-category-strip .np-category-grid{
    width:calc(100% - 32px) !important;
  }
}
@media (max-width: 560px){
  .np-category-strip .np-category-grid{
    width:calc(100% - 24px) !important;
  }
}


/* ===== V2.7: Kachelleiste exakt im selben Inhaltsraster wie .np-wrap ===== */
.np-category-strip .np-category-grid{
  box-sizing:border-box !important;
  width:calc(100% - 48px) !important;
  max-width:1380px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Bei sehr breiten logischen Viewports (z. B. Browser stark herausgezoomt)
   bleibt die Leiste auf 1380 CSS-Pixel begrenzt – genau wie der Seiteninhalt. */
@media (min-width: 1429px){
  .np-category-strip .np-category-grid{
    width:1380px !important;
  }
}

@media (max-width: 900px){
  .np-category-strip .np-category-grid{
    width:calc(100% - 32px) !important;
    max-width:1380px !important;
  }
}

@media (max-width: 560px){
  .np-category-strip .np-category-grid{
    width:calc(100% - 24px) !important;
  }
}


/* ===== V2.8: Hero exakt im selben Inhaltsraster wie die übrige Seite ===== */
.np-hero{
  width:min(calc(100% - 64px), var(--np-max)) !important;
  max-width:var(--np-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Die Textspalte braucht innerhalb des zentrierten Hero-Containers
   keine zusätzliche viewportabhängige Einrückung mehr. */
.np-hero-copy{
  padding-left:32px !important;
}

/* Hero-Bild bleibt innerhalb des gemeinsamen Seitenrasters */
.np-hero-image{
  min-width:0 !important;
  width:100% !important;
}

/* Produktleiste direkt darunter exakt auf dieselbe Breite setzen */
.np-category-strip .np-category-grid{
  width:min(calc(100% - 64px), var(--np-max)) !important;
  max-width:var(--np-max) !important;
}

/* Tablet / Mobil */
@media(max-width:900px){
  .np-hero{
    width:calc(100% - 32px) !important;
  }
  .np-hero-copy{
    padding-left:24px !important;
    padding-right:24px !important;
  }
  .np-category-strip .np-category-grid{
    width:calc(100% - 32px) !important;
  }
}
@media(max-width:560px){
  .np-hero{
    width:calc(100% - 24px) !important;
  }
  .np-hero-copy{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .np-category-strip .np-category-grid{
    width:calc(100% - 24px) !important;
  }
}


/* ===== V2.9: Fertigung als zusammenhängende Prozesskette ===== */
.np-production-process{
  padding-top:52px;
  padding-bottom:54px;
}
.np-production-process > .np-wrap > h2{
  margin:8px 0 8px;
}
.np-production-lead{
  margin:0 0 26px;
  max-width:850px;
  line-height:1.5;
}
.np-process-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.np-process-card{
  min-width:0;
  border:1px solid var(--np-line);
  background:#fff;
  display:flex;
  flex-direction:column;
}
.np-process-image{
  aspect-ratio:16/9;
  overflow:hidden;
  background:#f2f2f2;
}
.np-process-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.np-process-body{
  padding:20px 22px 22px;
  display:flex;
  flex:1;
  flex-direction:column;
}
.np-process-no{
  display:block;
  color:var(--np-red);
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  margin-bottom:8px;
}
.np-process-body h3{
  margin:0 0 9px;
  font-size:23px;
  line-height:1.2;
}
.np-process-body p{
  margin:0 0 18px;
  line-height:1.5;
}
.np-process-body a{
  margin-top:auto;
  font-weight:700;
  text-decoration:none;
}
.np-process-body a span{
  color:var(--np-red);
  margin-left:8px;
}
.np-quality-line{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:24px;
  margin-top:22px;
  padding:18px 0;
  border-top:1px solid var(--np-line);
  border-bottom:1px solid var(--np-line);
}
.np-quality-line strong{
  font-size:17px;
}
.np-quality-line span{
  line-height:1.45;
}
@media(max-width:900px){
  .np-production-process{
    padding-top:42px;
    padding-bottom:44px;
  }
  .np-process-grid{
    grid-template-columns:1fr;
  }
  .np-process-image{
    aspect-ratio:16/7;
  }
  .np-quality-line{
    grid-template-columns:1fr;
    gap:6px;
  }
}
@media(max-width:560px){
  .np-process-image{
    aspect-ratio:16/9;
  }
  .np-process-body{
    padding:18px;
  }
}

/* V2.9.4: kompakter Übergang Nachhaltigkeit -> Produktion */
.np-production-process{
  padding-top:34px;
}


/* =========================================================
   V2.9.5 COMPACT LAYOUT
   Mehr Inhalt auf einen Blick: ausschließlich Abstände,
   Höhen und Innenräume gestrafft; Schriftgrößen bleiben.
   ========================================================= */

/* Allgemeine Inhaltssektionen */
.np-section{
  padding-top:34px;
  padding-bottom:34px;
}
.np-section + .np-section{
  margin-top:0;
}

/* Überschriften / Einleitungen enger zusammenführen */
.np-section .np-mini{
  margin-bottom:8px;
}
.np-section h2{
  margin-top:6px;
  margin-bottom:12px;
}
.np-section h3{
  margin-top:0;
  margin-bottom:8px;
}
.np-section p{
  margin-top:0;
  margin-bottom:10px;
}

/* Produkt-/Anforderungsbereich */
.np-products-section,
.np-requirements,
.np-responsibility{
  padding-top:34px;
  padding-bottom:34px;
}

/* Dreier-Kacheln kompakter */
.np-process-body{
  padding:16px 18px 18px;
}
.np-process-no{
  margin-bottom:5px;
}
.np-process-body h3{
  margin-bottom:7px;
}
.np-process-body p{
  margin-bottom:12px;
}
.np-process-grid{
  gap:14px;
}

/* Produktionsbereich */
.np-production-process{
  padding-top:30px;
  padding-bottom:34px;
}
.np-production-lead{
  margin-bottom:18px;
}

/* Bestehende Karten-/Grid-Abstände global behutsam straffen */
.np-grid,
.np-three,
.np-cards{
  gap:16px;
}

/* Hero etwas kompakter, ohne Bild-/Schrift-Skalierung */
.np-hero{
  min-height:auto;
}
.np-hero .np-wrap,
.np-hero-inner{
  padding-top:30px;
  padding-bottom:30px;
}

/* Produkt-Schnellnavigation unter Hero */
.np-product-strip,
.np-quick-products{
  margin-top:0;
  margin-bottom:0;
}
.np-product-strip a,
.np-quick-products a{
  padding-top:14px;
  padding-bottom:14px;
}

/* Vertikale Lücken vor/nach Trennern reduzieren */
.np-section hr,
.np-divider{
  margin-top:18px;
  margin-bottom:18px;
}

/* Mobile: ebenfalls kompakt, aber mit ausreichender Touch-/Lesefläche */
@media(max-width:900px){
  .np-section,
  .np-products-section,
  .np-requirements,
  .np-responsibility,
  .np-production-process{
    padding-top:28px;
    padding-bottom:28px;
  }
  .np-hero .np-wrap,
  .np-hero-inner{
    padding-top:24px;
    padding-bottom:24px;
  }
}

/* ===== V2.9.9: Produktleiste direkt unter dem Hero =====
   Hero bleibt unverändert. Die echten Produktbilder werden stärker betont,
   ohne die kompakte Seitenwirkung aufzugeben. */
.np-category-strip{
  background:#fff;
  border-top:1px solid var(--np-line);
  border-bottom:1px solid var(--np-line);
}
.np-category-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.np-cat{
  min-height:126px !important;
  padding:12px 18px !important;
  gap:12px !important;
}
.np-cat-image{
  flex:0 0 112px !important;
  width:112px !important;
  height:88px !important;
}
.np-cat-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  transform:scale(1.04);
}
.np-cat-copy strong{
  font-size:16px !important;
  line-height:1.15;
}
.np-cat-copy > span{
  font-size:13px !important;
  line-height:1.25;
}
@media(max-width:1100px){
  .np-category-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
  .np-cat{min-height:112px !important;padding:10px 12px !important;gap:9px !important;}
  .np-cat-image{flex-basis:82px !important;width:82px !important;height:68px !important;}
  .np-cat-copy strong{font-size:14px !important;}
  .np-cat-copy > span{font-size:11.5px !important;}
}
@media(max-width:760px){
  .np-category-grid{grid-template-columns:repeat(2,1fr);}
  .np-cat{min-height:108px !important;}
  .np-cat:nth-child(2){border-right:0;}
}
@media(max-width:480px){
  .np-category-grid{grid-template-columns:1fr;}
  .np-cat{min-height:96px !important;}
}


/* =========================================================
   V2.9.10: Produktleiste sichtbar stärker, Hero bleibt Media
   =========================================================
   Der Hero selbst wird weiterhin aus /wp-content/uploads/
   geladen. Hier wird ausschließlich die Produktleiste direkt
   darunter verändert.
*/
.np-category-strip{
  background:#fff !important;
}

.np-category-strip .np-category-grid{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}

/* kompakt halten, aber Produkt selbst deutlich größer darstellen */
.np-category-strip .np-cat{
  min-height:104px !important;
  padding:8px 14px !important;
  gap:10px !important;
  overflow:hidden !important;
}

.np-category-strip .np-cat-image{
  flex:0 0 104px !important;
  width:104px !important;
  height:82px !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Die PNGs besitzen relativ viel Weißraum. Deshalb wird nicht
   nur der Bildcontainer vergrößert, sondern das Motiv selbst. */
.np-category-strip .np-cat-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  transform:scale(1.38) !important;
  transform-origin:center center !important;
}

/* Klappschale braucht wegen anderer Bildproportion etwas weniger Zoom */
.np-category-strip .np-cat-klappschalen .np-cat-image img{
  transform:scale(1.20) !important;
}

.np-category-strip .np-cat-copy strong{
  font-size:15.5px !important;
  line-height:1.1 !important;
}
.np-category-strip .np-cat-copy > span{
  font-size:12.5px !important;
  line-height:1.2 !important;
}

@media(max-width:1100px){
  .np-category-strip .np-cat{
    min-height:96px !important;
    padding:7px 10px !important;
  }
  .np-category-strip .np-cat-image{
    flex-basis:82px !important;
    width:82px !important;
    height:68px !important;
  }
  .np-category-strip .np-cat-image img{
    transform:scale(1.30) !important;
  }
  .np-category-strip .np-cat-klappschalen .np-cat-image img{
    transform:scale(1.15) !important;
  }
}

@media(max-width:760px){
  .np-category-strip .np-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:480px){
  .np-category-strip .np-category-grid{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   V2.9.11: Produktleiste – saubere Bild/Text-Aufteilung
   Korrektur von V2.9.10: kein Überdecken/Abschneiden der Texte.
   ========================================================= */

@media (min-width:901px){
  .np-category-strip .np-cat{
    display:grid !important;
    grid-template-columns:100px minmax(0,1fr) !important;
    column-gap:12px !important;
    min-height:108px !important;
    padding:8px 12px !important;
    overflow:visible !important;
  }

  .np-category-strip .np-cat-image{
    width:100px !important;
    height:82px !important;
    min-width:100px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .np-category-strip .np-cat-image img,
  .np-category-strip .np-cat-klappschalen .np-cat-image img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    transform:none !important;
  }

  .np-category-strip .np-cat-copy{
    min-width:0 !important;
    overflow:visible !important;
    position:relative !important;
    z-index:2 !important;
  }

  .np-category-strip .np-cat-copy strong,
  .np-category-strip .np-cat-copy > span{
    overflow:visible !important;
    text-indent:0 !important;
    margin-left:0 !important;
    padding-left:0 !important;
  }
}

@media (max-width:1100px) and (min-width:901px){
  .np-category-strip .np-cat{
    grid-template-columns:82px minmax(0,1fr) !important;
    column-gap:8px !important;
    padding:7px 9px !important;
  }
  .np-category-strip .np-cat-image{
    width:82px !important;
    min-width:82px !important;
    height:68px !important;
  }
}


/* ===== V2.9.12: Produktleiste + echte Inhaltsseiten ===== */
@media (min-width:1101px){
  .np-category-strip .np-cat{
    grid-template-columns:112px minmax(0,1fr) !important;
    column-gap:10px !important;
  }
  .np-category-strip .np-cat-image{
    width:112px !important;
    min-width:112px !important;
    height:88px !important;
  }
  .np-category-strip .np-cat-image img{
    max-width:108px !important;
    max-height:86px !important;
  }
  .np-category-strip .np-cat-klappschalen .np-cat-image img{
    max-width:116px !important;
    max-height:90px !important;
  }
}

.np-subhero{padding:42px 0 30px;border-bottom:1px solid var(--np-line);background:#fff}
.np-subhero-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.np-subhero h1{margin:5px 0 12px;font-size:clamp(38px,4.4vw,66px);line-height:1.02;letter-spacing:-.035em}
.np-subhero p{max-width:720px;margin:0;font-size:19px;line-height:1.55;color:#4f4f4f}
.np-subhero-image{min-height:300px;overflow:hidden}
.np-subhero-image img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block}
.np-page-section{padding:38px 0}
.np-page-section.alt{background:var(--np-light)}
.np-page-section h2{margin:0 0 12px;font-size:34px;letter-spacing:-.02em}
.np-page-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.np-page-card{border:1px solid var(--np-line);background:#fff;overflow:hidden}
.np-page-card img{width:100%;height:210px;object-fit:cover;display:block}
.np-page-card-body{padding:18px}
.np-page-card-body h3{margin:0 0 7px;font-size:22px}
.np-page-card-body p{margin:0;color:#555;line-height:1.5}
.np-page-card-body .np-link{margin-top:13px}
.np-page-split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.np-page-split img{width:100%;max-height:390px;object-fit:cover;display:block}
.np-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--np-line);border-bottom:1px solid var(--np-line)}
.np-fact{padding:18px 20px;border-right:1px solid var(--np-line)}
.np-fact:last-child{border-right:0}
.np-fact strong{display:block;margin-bottom:5px;font-size:18px}
.np-fact span{color:#555;line-height:1.45}
.np-page-cta{padding:34px 0;background:#171717;color:#fff}
.np-page-cta-row{display:flex;justify-content:space-between;gap:24px;align-items:center}
.np-page-cta h2{margin:0 0 5px;font-size:31px}
.np-page-cta p{margin:0;color:#c9c9c9}
.np-contact-box{border:1px solid var(--np-line);padding:24px;background:#fff}
.np-contact-box h3{margin-top:0}
@media(max-width:900px){
  .np-subhero-grid,.np-page-split{grid-template-columns:1fr}
  .np-page-grid-3,.np-facts{grid-template-columns:1fr}
  .np-fact{border-right:0;border-bottom:1px solid var(--np-line)}
  .np-fact:last-child{border-bottom:0}
  .np-page-cta-row{align-items:flex-start;flex-direction:column}
}


/* V2.9.20 Folienrechner */
.np-card-sep{color:#aaa;margin:0 7px}
.np-tool-notice{padding:24px;border:1px solid var(--np-line);background:var(--np-light)}
.np-tool-notice p{margin:6px 0 0;color:var(--np-gray)}


/* V2.9.21 Folienrechner: Rechner sofort sichtbar links, kompaktes Bild rechts */
.np-folienrechner-hero{padding:34px 0 46px;background:#fff}
.np-folienrechner-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:38px;align-items:start}
.np-folienrechner-main h1{margin:5px 0 8px}
.np-folienrechner-intro{max-width:760px;margin:0 0 16px;color:var(--np-gray);line-height:1.55}
.np-folienrechner-main .npfr{max-width:none;margin:0;padding:20px 22px}
.np-folienrechner-main .npfr-grid{gap:14px 20px}
.np-folienrechner-main .npfr input,.np-folienrechner-main .npfr select{padding:9px 11px}
.np-folienrechner-main .npfr-buttons{margin-top:16px}
.np-folienrechner-main .npfr button{padding:10px 20px}
.np-folienrechner-main #npfr-error{min-height:18px;margin-top:6px}
.np-folienrechner-main .npfr-result{margin-top:6px}
.np-folienrechner-main .npfr-result>div{padding:14px}
.np-folienrechner-main .npfr-result strong{font-size:1.7rem}
.np-folienrechner-main .npfr-note{margin:10px 0 0}
.np-folienrechner-image{align-self:start;max-width:390px;justify-self:end;margin-top:42px}
.np-folienrechner-image img{display:block;width:100%;height:auto;max-height:410px;object-fit:contain}
@media(max-width:900px){
 .np-folienrechner-layout{grid-template-columns:1fr}
 .np-folienrechner-image{max-width:520px;justify-self:start;margin-top:0}
}


/* V2.9.22 Folienrechner: kompakte, einheitliche Feldbreite */
.np-folienrechner-layout{grid-template-columns:max-content minmax(240px,330px);justify-content:start;gap:34px}
.np-folienrechner-main{width:max-content;max-width:100%}
.np-folienrechner-intro{max-width:620px}
.np-folienrechner-main .npfr{width:max-content;max-width:100%}
.np-folienrechner-main .npfr-grid{grid-template-columns:repeat(2,190px);width:max-content;max-width:100%}
.np-folienrechner-main .npfr-grid label{width:190px;max-width:190px}
.np-folienrechner-main .npfr input,.np-folienrechner-main .npfr select{width:190px;max-width:190px}
.np-folienrechner-image{max-width:330px;justify-self:start}
@media(max-width:760px){
 .np-folienrechner-layout{grid-template-columns:1fr}
 .np-folienrechner-main{width:100%}
 .np-folienrechner-main .npfr{width:100%}
 .np-folienrechner-main .npfr-grid{grid-template-columns:1fr;width:100%}
 .np-folienrechner-main .npfr-grid label,.np-folienrechner-main .npfr input,.np-folienrechner-main .npfr select{width:100%;max-width:none}
}


/* V2.9.23 Folienrechner: ruhiges Raster, Beschriftungen einzeilig,
   Bild exakt so groß wie der Rechnerrahmen */
.np-folienrechner-hero{padding:34px 0 46px;background:#fff}
.np-folienrechner-hero h1{margin:5px 0 8px}
.np-folienrechner-intro{max-width:760px;margin:0 0 16px;color:var(--np-gray);line-height:1.55}
.np-folienrechner-tools{
  display:grid;
  grid-template-columns:514px 514px;
  gap:34px;
  align-items:stretch;
  justify-content:start;
}
.np-folienrechner-main{width:514px;max-width:100%;display:flex}
.np-folienrechner-main .npfr{
  width:514px !important;
  max-width:514px !important;
  margin:0 !important;
  padding:20px 22px !important;
}
.np-folienrechner-main .npfr-grid{
  grid-template-columns:repeat(2,225px) !important;
  gap:14px 20px !important;
  width:470px !important;
  max-width:470px !important;
}
.np-folienrechner-main .npfr-grid label{
  width:225px !important;
  max-width:225px !important;
  white-space:nowrap !important;
}
.np-folienrechner-main .npfr input,
.np-folienrechner-main .npfr select{
  width:225px !important;
  max-width:225px !important;
  padding:9px 11px !important;
}
.np-folienrechner-main .npfr-buttons{margin-top:16px !important}
.np-folienrechner-main .npfr button{padding:10px 20px !important}
.np-folienrechner-main #npfr-error{min-height:18px;margin-top:6px}
.np-folienrechner-main .npfr-result{margin-top:6px}
.np-folienrechner-main .npfr-result>div{padding:14px}
.np-folienrechner-main .npfr-result strong{font-size:1.7rem}
.np-folienrechner-main .npfr-note{margin:10px 0 0}
.np-folienrechner-image{
  width:514px;
  max-width:514px;
  min-height:100%;
  overflow:hidden;
  margin:0;
}
.np-folienrechner-image img{
  display:block;
  width:100%;
  height:100% !important;
  min-height:100%;
  max-height:none !important;
  object-fit:cover;
}
@media(max-width:1120px){
  .np-folienrechner-tools{grid-template-columns:minmax(0,514px) minmax(0,514px);gap:24px}
  .np-folienrechner-main,.np-folienrechner-main .npfr,.np-folienrechner-image{width:100%;max-width:514px !important}
}
@media(max-width:900px){
  .np-folienrechner-tools{grid-template-columns:1fr}
  .np-folienrechner-main,.np-folienrechner-main .npfr,.np-folienrechner-image{width:100%;max-width:514px !important}
  .np-folienrechner-image{aspect-ratio:514 / 360}
}
@media(max-width:560px){
  .np-folienrechner-main .npfr{width:100% !important;max-width:100% !important}
  .np-folienrechner-main .npfr-grid{grid-template-columns:1fr !important;width:100% !important;max-width:100% !important}
  .np-folienrechner-main .npfr-grid label,
  .np-folienrechner-main .npfr input,
  .np-folienrechner-main .npfr select{width:100% !important;max-width:none !important;white-space:normal !important}
}


/* V2.9.24: Rechner bestimmt die Höhe; Bild folgt der natürlichen Rechnerhöhe */
.np-folienrechner-tools{align-items:start !important}
.np-folienrechner-main{display:block !important;align-self:start !important}
.np-folienrechner-image{min-height:0 !important;align-self:start !important}
.np-folienrechner-image img{height:100% !important;min-height:0 !important;object-fit:cover !important}

/* V2.9.25: Datenschutz, Impressum und AGB */
.np-legal-hero{padding:42px 0 20px;background:#fff;border-bottom:1px solid var(--np-line)}
.np-legal-hero h1{margin:5px 0 0;font-size:clamp(2rem,4vw,3rem);line-height:1.1}
.np-legal-section{padding:34px 0 64px}
.np-legal-content{max-width:940px;font-size:16px;line-height:1.65}
.np-legal-content h2{font-size:1.25rem;margin:34px 0 10px;line-height:1.3}
.np-legal-content p{margin:0 0 14px}
.np-legal-content ul{margin:8px 0 18px;padding-left:22px}
.np-legal-content a{text-decoration:underline;text-underline-offset:2px}
.np-legal-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 22px;padding:18px 20px;margin:0 0 30px;background:var(--np-light);border:1px solid var(--np-line)}
.np-legal-toc strong{grid-column:1/-1;margin-bottom:4px}
.np-legal-toc a{text-decoration:none;color:#333}
.np-legal-long{max-width:1050px}
@media(max-width:700px){.np-legal-toc{grid-template-columns:1fr}.np-legal-section{padding-top:24px}}


/* ===== V2.9.26: Karriere ===== */
.np-career-hero .np-subhero-image{
  min-height:360px;
}
.np-career-hero .np-subhero-image img{
  min-height:360px;
  object-position:center center;
}
.np-career-intro{
  max-width:920px;
}
.np-career-intro p{
  margin:0;
  color:#555;
  font-size:19px;
  line-height:1.65;
}
.np-career-values{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.np-career-value{
  border-top:3px solid var(--np-red);
  background:#fff;
  padding:24px 22px;
  min-height:190px;
}
.np-career-value h3{
  margin:0 0 10px;
  font-size:21px;
}
.np-career-value p{
  margin:0;
  color:#626262;
  line-height:1.55;
}
.np-career-fields{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:var(--np-line);
  border:1px solid var(--np-line);
  margin-top:26px;
}
.np-career-field{
  background:#fff;
  padding:26px 22px;
  min-height:150px;
}
.np-career-field strong{
  display:block;
  font-size:20px;
  margin-bottom:8px;
}
.np-career-field span{
  color:#626262;
}
.np-career-status{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:38px;
  align-items:center;
  padding:34px 38px;
  border:1px solid var(--np-line);
  background:#fff;
}
.np-career-status h2{
  margin:4px 0 10px;
}
.np-career-status p{
  margin:0;
  color:#5d5d5d;
  font-size:18px;
  line-height:1.6;
}
.np-career-status-action{
  text-align:right;
}
.np-career-note{
  display:block;
  margin-top:12px;
  color:#777;
  font-size:14px;
}
@media(max-width:1000px){
  .np-career-values,.np-career-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .np-career-status{grid-template-columns:1fr}
  .np-career-status-action{text-align:left}
}
@media(max-width:650px){
  .np-career-values,.np-career-fields{grid-template-columns:1fr}
  .np-career-status{padding:26px 22px}
}


/* V2.9.28 Unternehmenspolitik */
.np-company-policy{padding-top:0}
.np-policy-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center;border-top:1px solid var(--np-line);padding-top:42px}
.np-policy-box h2{margin:8px 0 14px}
.np-policy-box p{max-width:850px}
.np-policy-meta{font-size:.9rem;color:var(--np-gray);margin-top:18px}
.np-policy-action{display:flex;flex-direction:column;align-items:flex-start;gap:8px;white-space:nowrap}
.np-policy-action span{font-size:.82rem;color:var(--np-gray)}
@media(max-width:760px){.np-policy-box{grid-template-columns:1fr;gap:22px}.np-policy-action{white-space:normal}}


/* V2.9.29 Kontakt */
.np-contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:64px;align-items:start}
.np-contact-main h2{margin:7px 0 10px}
.np-contact-main>p{margin:0 0 24px;color:var(--np-gray)}
.np-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.np-contact-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}
.np-contact-form input,.np-contact-form select,.np-contact-form textarea{width:100%;padding:12px 13px;border:1px solid #cfcfcf;border-radius:3px;background:#fff;color:var(--np-black);font:inherit}
.np-contact-form input:focus,.np-contact-form select:focus,.np-contact-form textarea:focus{outline:2px solid rgba(227,6,19,.12);border-color:var(--np-red)}
.np-contact-form textarea{resize:vertical}
.np-contact-form .wide{grid-column:1/-1}
.np-contact-consent{flex-direction:row!important;align-items:flex-start;font-size:.9rem;font-weight:400!important;line-height:1.45}
.np-contact-consent input{width:auto;margin:4px 3px 0 0}
.np-contact-consent a{text-decoration:underline}
.np-contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.np-form-message{margin:0 0 22px;padding:13px 15px;border-left:4px solid}
.np-form-message.success{background:#f3f8f3;border-color:#438a43}
.np-form-message.error{background:#fff3f3;border-color:var(--np-red)}
.np-contact-side{display:grid;gap:18px}
.np-contact-card{padding:25px;border:1px solid var(--np-line);background:#fff}
.np-contact-card h3{margin:5px 0 13px;font-size:1.25rem}
.np-contact-card p{margin:0 0 14px}
.np-contact-card p:last-child{margin-bottom:0}
.np-contact-card a[href^="tel:"],.np-contact-card a[href^="mailto:"]{font-weight:700}
.np-contact-card a[href^="mailto:"]{color:var(--np-red)}
.np-contact-product{background:var(--np-light)}
@media(max-width:900px){.np-contact-layout{grid-template-columns:1fr;gap:38px}}
@media(max-width:620px){.np-contact-form{grid-template-columns:1fr}.np-contact-form .wide{grid-column:auto}}


/* V2.9.31 Folienrechner: Aktionsbuttons kompakt */
.np-fr-actions,
.npfr-buttons{
  display:flex !important;
  width:100%;
  max-width:100%;
  gap:12px;
}
.np-fr-actions button,
.npfr-buttons button{
  width:auto !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  white-space:nowrap;
}


/* V2.9.32 Folienrechner: beide Buttons zusammen maximal so breit wie ein Eingabefeld */
.npfr .npfr-buttons{
  width:190px !important;
  max-width:190px !important;
  display:grid !important;
  grid-template-columns:auto auto !important;
  gap:8px !important;
}
.npfr .npfr-buttons button{
  width:auto !important;
  min-width:0 !important;
  padding:9px 11px !important;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}


/* V2.9.33 Folienrechner: Buttonzeile exakt so breit wie das Feld darüber */
.npfr .npfr-buttons{
  width:190px !important;
  max-width:190px !important;
  display:grid !important;
  grid-template-columns:max-content 1fr !important;
  gap:8px !important;
}
.npfr .npfr-buttons button{
  min-width:0 !important;
  width:100% !important;
  padding:9px 10px !important;
  font-size:12px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}


/* V2.9.34 Kontakt: kompakter Einstieg ohne Bild */
.np-contact-hero{padding-bottom:42px}
.np-contact-hero .np-wrap>p{max-width:850px}
.np-contact-quick{display:flex;flex-wrap:wrap;gap:16px;margin-top:26px}
.np-contact-quickitem{display:flex;align-items:center;gap:13px;min-width:270px;padding:14px 18px;border:1px solid var(--np-line);background:#fff;transition:border-color .15s ease,transform .15s ease}
.np-contact-quickitem:hover{border-color:var(--np-red);transform:translateY(-1px)}
.np-contact-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;background:var(--np-red)}
.np-contact-icon svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.np-contact-quickitem small,.np-contact-quickitem strong{display:block}
.np-contact-quickitem small{font-size:.78rem;color:var(--np-gray);margin-bottom:1px}
.np-contact-quickitem strong{font-size:1rem}
@media(max-width:620px){.np-contact-quick{display:grid}.np-contact-quickitem{min-width:0}}


/* V2.9.35 Typografie: Überschriften insgesamt zurückhaltender */
.np-subhero h1{
  font-size:clamp(2.35rem,4vw,4rem) !important;
  line-height:1.04 !important;
}
.np-page-section h2,
.np-section h2,
.np-contact-main h2{
  font-size:clamp(1.8rem,2.7vw,2.65rem) !important;
  line-height:1.12 !important;
}
.np-page-section h3,
.np-section h3{
  font-size:clamp(1.15rem,1.5vw,1.45rem) !important;
}
@media(max-width:700px){
  .np-subhero h1{font-size:2.25rem !important}
  .np-page-section h2,.np-section h2,.np-contact-main h2{font-size:1.75rem !important}
}


/* ===== V2.9.36: Suche in der Hauptnavigation ===== */
.np-header-search{
  position:relative;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  margin-left:20px;
}
.np-search-toggle{
  width:42px;
  height:42px;
  padding:8px;
  border:0;
  background:transparent;
  cursor:pointer;
  color:var(--np-black);
}
.np-search-toggle:hover,.np-search-toggle:focus-visible{color:var(--np-red)}
.np-search-toggle svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.np-search-form{
  position:absolute;
  right:0;
  top:calc(100% + 13px);
  width:min(430px,calc(100vw - 32px));
  padding:12px;
  display:flex;
  gap:8px;
  background:#fff;
  border:1px solid var(--np-line);
  border-radius:8px;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px);
  transition:opacity .15s ease,transform .15s ease,visibility .15s;
}
.np-header-search.is-open .np-search-form{opacity:1;visibility:visible;transform:translateY(0)}
.np-search-form input{
  min-width:0;flex:1 1 auto;height:42px;padding:0 12px;
  border:1px solid #cfcfcf;border-radius:5px;font:inherit;
}
.np-search-form input:focus{outline:2px solid rgba(227,6,19,.18);border-color:var(--np-red)}
.np-search-form button{
  height:42px;padding:0 17px;border:0;border-radius:5px;background:var(--np-red);color:#fff;font-weight:700;cursor:pointer;
}
.np-search-page{padding:64px 0 90px}
.np-search-page h1{font-size:clamp(34px,4vw,52px);margin:0 0 12px}
.np-search-intro{font-size:19px;color:#555;margin:0 0 34px}
.np-search-results{display:grid;gap:12px;max-width:980px}
.np-search-result{display:block;padding:19px 22px;border:1px solid var(--np-line);border-radius:8px;background:#fff}
.np-search-result:hover{border-color:#bbb;box-shadow:0 5px 16px rgba(0,0,0,.05)}
.np-search-result__type{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--np-red);margin-bottom:4px}
.np-search-result h2{font-size:22px;margin:0 0 5px}
.np-search-result p{margin:0;color:#5a5a5a}
.np-search-empty{padding:26px;border:1px solid var(--np-line);border-radius:8px;background:#fafafa;max-width:900px}
@media(max-width:1100px){
  .np-header-search{margin-left:0}
  .np-nav{align-items:flex-start;gap:10px}
}
@media(max-width:700px){
  .np-nav{width:100%;justify-content:space-between;align-items:flex-start}
  .np-header-search{margin-top:2px}
  .np-search-form{right:-4px}
  .np-search-page{padding:40px 0 65px}
}

/* V2.9.39 – Suchtreffer mit Kurzbeschreibung */
.np-search-result p{line-height:1.5;max-width:850px}

/* V2.9.42: Paketpfad korrigiert; Theme-Template-Suche aus 2.9.41 aktiv. */


/* ===== V2.9.43: Folienextrusion ===== */
.np-foil-intro{
  max-width:980px;
  font-size:1.08rem;
  line-height:1.7;
  margin-bottom:34px;
}
.np-foil-intro p{margin:0 0 16px}
.np-foil-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.np-foil-card{
  border:1px solid var(--np-line);
  border-radius:10px;
  background:#fff;
  padding:24px;
}
.np-foil-card__head{
  padding-bottom:15px;
  margin-bottom:16px;
  border-bottom:2px solid var(--np-red);
}
.np-foil-card__head h2{
  font-size:1.55rem !important;
  margin:0 0 5px !important;
}
.np-foil-card__head strong{
  display:block;
  font-size:1rem;
  color:var(--np-gray);
}
.np-foil-card p{
  margin:0;
  line-height:1.65;
}
.np-foil-cta{
  margin-top:28px;
  padding:25px 28px;
  border-radius:10px;
  background:#f5f5f5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.np-foil-cta h2{
  font-size:1.65rem !important;
  margin:4px 0 7px !important;
}
.np-foil-cta p{margin:0;max-width:760px}
.np-foil-cta .np-button{flex:0 0 auto}
@media(max-width:900px){
  .np-foil-grid{grid-template-columns:1fr}
  .np-foil-cta{align-items:flex-start;flex-direction:column}
}

/* V2.9.44 – Produktionsseite: Hero ohne wiederholtes Anlagenbild */
body.page-template-page-produktion .np-subhero-grid{grid-template-columns:minmax(0,900px);}

/* V2.9.45 – Dekorationsseite ohne doppeltes Hero-Bild */
body.page-template-page-dekoration .np-subhero-grid{grid-template-columns:minmax(0,900px);}

/* V2.9.46 – Produktseite ohne doppeltes Hero-Bild */
body.page-template-page-produkte .np-subhero-grid{
  grid-template-columns:minmax(0,900px);
}


/* ===== V2.9.47: Nachhaltigkeits-Kennzahlen ===== */
body.page-template-page-nachhaltigkeit .np-subhero-grid{
  grid-template-columns:minmax(0,900px);
}
.np-sus-intro{
  max-width:900px;
  margin-bottom:30px;
}
.np-sus-intro h2{
  margin-bottom:10px !important;
}
.np-sus-intro p{
  margin:0;
  line-height:1.65;
}
.np-sus-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
}
.np-sus-card{
  grid-column:span 2;
  min-height:250px;
  border:2px solid #dedede;
  border-top:5px solid var(--np-red);
  border-radius:10px;
  padding:24px;
  background:#fff;
}
.np-sus-card:nth-child(4){grid-column:2 / span 2;}
.np-sus-card:nth-child(5){grid-column:4 / span 2;}
.np-sus-number{
  font-size:3.25rem;
  line-height:1;
  font-weight:800;
  letter-spacing:-.04em;
  margin-bottom:14px;
}
.np-sus-card h3{
  font-size:1.25rem;
  margin:0 0 12px;
}
.np-sus-card p{
  margin:0;
  line-height:1.6;
}
.np-sus-cycle{
  margin-top:30px;
  padding:28px 30px;
  background:#f5f5f5;
  border-radius:10px;
}
.np-sus-cycle h2{
  font-size:1.7rem !important;
  margin:5px 0 10px !important;
}
.np-sus-cycle p{
  max-width:900px;
  margin:0;
  line-height:1.65;
}
@media(max-width:900px){
  .np-sus-grid{grid-template-columns:1fr;}
  .np-sus-card,
  .np-sus-card:nth-child(4),
  .np-sus-card:nth-child(5){
    grid-column:auto;
    min-height:0;
  }
}


/* ===== V2.9.48: Produktionskreislauf ohne Fotos ===== */
.np-sus-cycle__intro{
  max-width:900px;
  margin:0 0 26px;
  line-height:1.65;
}
.np-cycle-diagram{
  position:relative;
  display:grid;
  grid-template-columns:1fr 90px 1fr;
  grid-template-rows:auto auto;
  gap:26px 22px;
  align-items:center;
  max-width:980px;
  margin-top:18px;
}
.np-cycle-stage{
  border:2px solid #1f9d55;
  border-radius:10px;
  background:#fff;
  padding:18px 20px;
  min-height:105px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.np-cycle-stage strong{
  font-size:1.12rem;
  margin-bottom:6px;
}
.np-cycle-stage span{
  line-height:1.45;
}
.np-cycle-stage--forming,
.np-cycle-stage--products{
  border-color:#1769aa;
}
.np-cycle-stage--extrusion{grid-column:1;grid-row:1}
.np-cycle-arrow--to-forming{
  grid-column:2;grid-row:1;
  text-align:center;
  font-size:3rem;
  line-height:1;
  color:#1769aa;
}
.np-cycle-stage--forming{grid-column:3;grid-row:1}

.np-cycle-branch{
  position:relative;
}
.np-cycle-branch__label{
  font-size:.9rem;
  font-weight:700;
  margin-bottom:8px;
}
.np-cycle-branch--products{
  grid-column:3;grid-row:2;
  padding-top:8px;
}
.np-cycle-arrow--down{
  font-size:2.5rem;
  line-height:1;
  color:#1769aa;
  text-align:center;
  margin:2px 0 8px;
}
.np-cycle-branch--scrap{
  grid-column:1 / span 2;
  grid-row:2;
  display:grid;
  grid-template-columns:1fr 70px 1fr;
  gap:14px;
  align-items:center;
}
.np-cycle-branch--scrap .np-cycle-branch__label{
  grid-column:3;
  grid-row:1;
  align-self:end;
  margin-bottom:0;
  color:#1f8f48;
}
.np-cycle-arrow--left{
  grid-column:2;
  grid-row:2;
  font-size:2.5rem;
  line-height:1;
  color:#1f9d55;
  text-align:center;
}
.np-cycle-stage--mill{
  grid-column:1;
  grid-row:2;
}
.np-cycle-branch--scrap::after{
  content:"";
  grid-column:3;
  grid-row:2;
  height:2px;
  background:#1f9d55;
  align-self:center;
}
.np-cycle-return{
  position:absolute;
  left:70px;
  top:88px;
  transform:translateY(100%);
  color:#1f8f48;
  font-weight:700;
  text-align:center;
}
.np-cycle-return__label{
  display:block;
  font-size:.88rem;
  margin-bottom:2px;
}
.np-cycle-return__arrow{
  display:block;
  font-size:3.3rem;
  line-height:1;
}

@media(max-width:800px){
  .np-cycle-diagram{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .np-cycle-stage,
  .np-cycle-branch,
  .np-cycle-branch--scrap{
    width:100%;
  }
  .np-cycle-arrow--to-forming,
  .np-cycle-arrow--down,
  .np-cycle-arrow--left{
    transform:none;
    text-align:center;
  }
  .np-cycle-branch--scrap{
    display:flex;
    flex-direction:column;
  }
  .np-cycle-branch--scrap::after{display:none}
  .np-cycle-return{
    position:static;
    transform:none;
    margin-top:4px;
  }
  .np-cycle-return__arrow{transform:rotate(45deg)}
}


/* ===== V2.9.49: Nachhaltigkeit – fünf Kennzahlen in einer Reihe ===== */
.np-sus-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch;
}
.np-sus-card,
.np-sus-card:nth-child(4),
.np-sus-card:nth-child(5){
  grid-column:auto !important;
  min-height:0 !important;
  padding:17px 17px 16px !important;
  border-width:3px !important;
  border-style:solid !important;
  border-top-width:3px !important;
  border-radius:7px !important;
}
.np-sus-card--green{border-color:#397d2d !important}
.np-sus-card--brightgreen{border-color:#0cab5d !important}
.np-sus-card--purple{border-color:#7030a0 !important}
.np-sus-card--lightblue{border-color:#5b9bd5 !important}
.np-sus-card--blue{border-color:#1f5f9f !important}

.np-sus-topline{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}
.np-sus-icon{
  flex:0 0 auto;
  font-size:2.8rem;
  line-height:1;
}
.np-sus-card--green .np-sus-icon{color:#2c6f2b}
.np-sus-card--brightgreen .np-sus-icon{color:#0a9a50}
.np-sus-card--purple .np-sus-icon{color:#7030a0}
.np-sus-card--lightblue .np-sus-icon{color:#355968}
.np-sus-card--blue .np-sus-icon{color:#1f5f9f}
.np-sus-icon--small{font-size:2rem}

.np-sus-number{
  font-size:2.45rem !important;
  margin:0 !important;
  white-space:nowrap;
}
.np-sus-card h3{
  font-size:1.02rem !important;
  margin:3px 0 10px !important;
}
.np-sus-card p{
  font-size:.92rem;
  line-height:1.48;
}

/* ===== V2.9.49: Produktionskreislauf nach Referenz ===== */
.np-sus-cycle{
  margin-top:30px !important;
  padding:28px 30px 34px !important;
}
.np-cycle-diagram{
  position:relative !important;
  display:block !important;
  width:min(760px,100%) !important;
  height:470px !important;
  margin:14px auto 0 !important;
}
.np-cycle-stage{
  position:absolute !important;
  z-index:2;
  width:180px !important;
  min-height:86px !important;
  padding:14px 16px !important;
  text-align:center;
  background:#fff;
  border:2px solid #159447 !important;
  border-radius:12px !important;
}
.np-cycle-stage strong{
  display:block;
  font-size:1rem !important;
  margin-bottom:6px !important;
}
.np-cycle-stage span{
  font-size:.84rem;
  line-height:1.38;
}
.np-cycle-stage--extrusion{left:225px;top:0}
.np-cycle-stage--forming{
  left:495px;top:115px;
  border-color:#165b9a !important;
}
.np-cycle-stage--products{
  left:515px;top:320px;
  border-color:#165b9a !important;
}
.np-cycle-stage--mill{left:75px;top:310px}

.np-cycle-label{
  position:absolute;
  z-index:3;
  font-size:.9rem;
  line-height:1.35;
  font-weight:700;
}
.np-cycle-label--products{left:635px;top:240px;color:#174f86}
.np-cycle-label--scrap{left:315px;top:255px;color:#07883b}
.np-cycle-label--return{left:0;top:80px;color:#07883b}

.np-cycle-svg{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  overflow:visible;
}
.np-cycle-path{
  fill:none;
  stroke-width:4;
  stroke-linecap:round;
}
.np-cycle-path--blue{
  stroke:#125b98;
  marker-end:url(#np-arrow-blue);
}
.np-cycle-path--green{
  stroke:#079447;
  marker-end:url(#np-arrow-green);
}
.np-cycle-svg #np-arrow-blue path{fill:#125b98}
.np-cycle-svg #np-arrow-green path{fill:#079447}

@media(max-width:1050px){
  .np-sus-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:720px){
  .np-sus-grid{
    grid-template-columns:1fr !important;
  }
  .np-cycle-diagram{
    height:auto !important;
    display:flex !important;
    flex-direction:column;
    gap:14px;
  }
  .np-cycle-stage{
    position:static !important;
    width:100% !important;
  }
  .np-cycle-label{position:static !important;text-align:center}
  .np-cycle-svg{display:none}
}


/* ===== V2.9.51: Qualität ===== */
body.page-template-page-qualitaet .np-subhero-grid{grid-template-columns:minmax(0,900px);}
.np-quality-copy{max-width:920px;}
.np-quality-copy h2{margin-bottom:18px !important;}
.np-quality-copy p{font-size:1.03rem;line-height:1.72;margin:0 0 16px;}
.np-certificates{margin-top:48px;padding-top:38px;border-top:1px solid #ddd;}
.np-certificates>h2{margin:5px 0 22px !important;}
.np-certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.np-certificate-card{border:1px solid #ddd;border-top:5px solid var(--np-red);border-radius:9px;padding:24px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;}
.np-certificate-standard{font-size:1.65rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;}
.np-certificate-card h3{font-size:1.18rem;margin:0 0 12px;}
.np-certificate-card p{line-height:1.58;margin:0 0 14px;}
.np-certificate-meta{font-weight:700;margin-top:auto !important;}
.np-certificate-card .np-button{margin-top:5px;}
.np-button--disabled{opacity:.55;cursor:default;pointer-events:none;}
.np-certificate-note{font-size:.9rem;color:#555;margin:16px 0 0;}
@media(max-width:760px){.np-certificate-grid{grid-template-columns:1fr;}}

@media(max-width:1050px){.np-certificate-grid{grid-template-columns:1fr;}}


/* Karriere */
.np-karriere-page .np-karriere-hero{
    padding: 34px 0 10px;
    background: #fff;
}
.np-karriere-image-wrap{
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
}
.np-karriere-image{
    display: block;
    width: 100%;
    height: auto;
}
.np-karriere-page .np-content-narrow{
    max-width: 980px;
}
.np-karriere-mail{
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 24px;
    align-items: center;
    margin-top: 34px;
    padding: 26px 28px;
    border: 1px solid #e1e4e8;
    border-radius: 8px;
    background: #f7f8f9;
}
.np-karriere-mail-icon{
    width: 78px;
    height: 78px;
    border: 3px solid currentColor;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 46px;
    font-weight: 700;
    line-height: 1;
}
.np-karriere-mail h3{
    margin-top: 0;
    margin-bottom: 8px;
}
@media (max-width: 720px){
    .np-karriere-mail{
        grid-template-columns: 1fr;
    }
}


/* Karriere 2.9.55 – Text links, Bild rechts */
.np-karriere-intro{
    padding-top: 42px;
}
.np-karriere-grid{
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    gap: 54px;
    align-items: start;
}
.np-karriere-copy{
    min-width: 0;
}
.np-karriere-image-wrap{
    width: 100%;
    margin: 0;
    overflow: hidden;
    border-radius: 8px;
}
.np-karriere-image{
    display: block;
    width: 100%;
    height: auto;
}
.np-karriere-copy h1{
    margin-top: 0;
}
.np-karriere-copy h2{
    margin-top: 30px;
}
.np-karriere-mail{
    margin-top: 30px;
}
@media (max-width: 900px){
    .np-karriere-grid{
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .np-karriere-image-wrap{
        max-width: 720px;
    }
}


/* Karriere 2.9.56 – kompaktere Bildspalte */
.np-karriere-grid{
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, 480px);
    gap: 58px;
    align-items: start;
}
.np-karriere-image-wrap{
    max-width: 480px;
    justify-self: end;
    margin-top: 8px;
}
.np-karriere-image{
    width: 100%;
    height: auto;
    object-fit: contain;
}
@media (max-width: 1100px){
    .np-karriere-grid{
        grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
        gap: 38px;
    }
    .np-karriere-image-wrap{max-width:420px}
}
@media (max-width: 900px){
    .np-karriere-grid{grid-template-columns:1fr}
    .np-karriere-image-wrap{
        justify-self:start;
        max-width:600px;
        margin-top:0;
    }
}


/* Karriere 2.9.57 – Ausrichtung an Logo/Navigationsraster */
.np-karriere-intro > .np-container{
    width: calc(100% - 80px);
    max-width: none;
    margin-left: 40px;
    margin-right: 40px;
}
@media (max-width: 900px){
    .np-karriere-intro > .np-container{
        width: calc(100% - 40px);
        margin-left: 20px;
        margin-right: 20px;
    }
}


/* ===== V2.9.58: Responsive Hauptnavigation ===== */
.np-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:10px 8px;
  border:0;
  background:transparent;
  cursor:pointer;
  color:var(--np-black);
  flex:0 0 44px;
}
.np-menu-toggle span{
  display:block;
  height:2px;
  margin:5px 0;
  background:currentColor;
  border-radius:2px;
  transition:transform .18s ease, opacity .18s ease;
}
.np-menu-toggle:hover,
.np-menu-toggle:focus-visible{color:var(--np-red)}
.np-nav.is-menu-open .np-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.np-nav.is-menu-open .np-menu-toggle span:nth-child(2){opacity:0}
.np-nav.is-menu-open .np-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1050px){
  .np-header{
    min-height:96px !important;
    padding:0 !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
    position:relative;
  }
  .np-brand{
    flex:0 1 250px !important;
    min-width:0;
  }
  .np-brand img{
    width:250px !important;
    max-height:74px !important;
  }
  .np-nav{
    flex:0 0 auto !important;
    width:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:6px !important;
    position:relative;
  }
  .np-menu-toggle{display:block}

  .np-nav > ul.np-primary-menu{
    display:none !important;
    position:absolute !important;
    right:0;
    top:calc(100% + 14px);
    width:min(360px,calc(100vw - 32px));
    margin:0 !important;
    padding:12px 0 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    flex-wrap:nowrap !important;
    background:#fff;
    border:1px solid var(--np-line);
    border-radius:8px;
    box-shadow:0 14px 32px rgba(0,0,0,.13);
    z-index:100;
  }
  .np-nav.is-menu-open > ul.np-primary-menu{
    display:flex !important;
  }
  .np-nav > ul.np-primary-menu > li{
    margin:0 !important;
    width:100%;
  }
  .np-nav > ul.np-primary-menu > li > a{
    display:block;
    width:100%;
    padding:12px 20px;
    font-size:16px !important;
    line-height:1.25;
  }
  .np-nav > ul.np-primary-menu .sub-menu{
    display:block !important;
    position:static !important;
    min-width:0 !important;
    padding:0 0 6px 18px !important;
    border:0 !important;
    box-shadow:none !important;
    background:#fff !important;
  }
  .np-nav > ul.np-primary-menu .sub-menu a{
    padding:9px 20px !important;
    font-size:14px !important;
  }
  .np-header-search{
    margin-left:0 !important;
    order:1;
  }
  .np-menu-toggle{order:2}
  .np-search-form{
    right:-50px;
    top:calc(100% + 14px);
  }
}

@media (max-width:650px){
  .np-wrap,
  .site-header .np-wrap{
    width:min(calc(100% - 32px),var(--np-max)) !important;
  }
  .np-header{
    min-height:82px !important;
    gap:10px !important;
  }
  .np-brand{
    flex:0 1 195px !important;
  }
  .np-brand img{
    width:195px !important;
    max-height:62px !important;
  }
  .np-nav{
    width:auto !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:2px !important;
  }
  .np-search-toggle,
  .np-menu-toggle{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
  .np-nav > ul.np-primary-menu{
    right:0;
    width:min(330px,calc(100vw - 24px));
  }
  .np-search-form{
    right:-44px;
    width:calc(100vw - 24px);
  }
}

@media (max-width:420px){
  .np-brand{flex-basis:165px !important}
  .np-brand img{width:165px !important}
}

@media (max-width:782px){
  .admin-bar .site-header{top:46px}
}


/* ===== V2.9.59: Desktop-Menü bleibt bis 1050 px sichtbar ===== */
@media (min-width:1051px) and (max-width:1350px){
  .np-header{
    min-height:112px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
    gap:24px !important;
  }
  .np-brand{
    flex:0 0 205px !important;
  }
  .np-brand img{
    width:205px !important;
    max-height:78px !important;
  }
  .np-nav{
    flex:1 1 auto !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:16px !important;
  }
  .np-nav > ul.np-primary-menu{
    display:flex !important;
    flex:1 1 auto !important;
    flex-wrap:nowrap !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:20px !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    width:auto !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
  .np-nav > ul.np-primary-menu > li{
    width:auto !important;
    margin:0 !important;
    flex:0 0 auto !important;
  }
  .np-nav > ul.np-primary-menu > li > a{
    display:block !important;
    padding:8px 0 !important;
    font-size:16px !important;
    white-space:nowrap !important;
  }
  .np-menu-toggle{
    display:none !important;
  }
  .np-header-search{
    flex:0 0 auto !important;
    margin-left:4px !important;
  }
}

@media (min-width:1051px) and (max-width:1180px){
  .np-nav > ul.np-primary-menu{
    gap:14px !important;
  }
  .np-nav > ul.np-primary-menu > li > a{
    font-size:15px !important;
  }
  .np-brand{
    flex-basis:185px !important;
  }
  .np-brand img{
    width:185px !important;
  }
}


/* ===== V2.9.60: Header-Höhe und Navigation verbindlich korrigiert =====
   Verhindert den großen Leerraum zwischen Logo und Menü bei mittleren Fensterbreiten. */
@media (min-width:1051px){
  .site-header .np-header{
    display:grid !important;
    grid-template-columns:220px minmax(0,1fr) !important;
    align-items:center !important;
    justify-content:stretch !important;
    column-gap:28px !important;
    width:min(1380px,calc(100% - 64px)) !important;
    height:104px !important;
    min-height:104px !important;
    max-height:104px !important;
    padding:0 !important;
  }

  .site-header .np-brand{
    display:flex !important;
    align-items:center !important;
    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
    height:100% !important;
    flex:none !important;
    align-self:center !important;
  }

  .site-header .np-brand img{
    display:block !important;
    width:205px !important;
    height:auto !important;
    max-width:205px !important;
    max-height:78px !important;
    object-fit:contain !important;
    object-position:left center !important;
    margin:0 !important;
  }

  .site-header .np-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    gap:18px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .site-header .np-nav > ul.np-primary-menu{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex:1 1 auto !important;
    flex-wrap:nowrap !important;
    gap:clamp(14px,1.65vw,30px) !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .site-header .np-nav > ul.np-primary-menu > li{
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 0 auto !important;
  }

  .site-header .np-nav > ul.np-primary-menu > li > a{
    display:block !important;
    padding:8px 0 !important;
    font-size:clamp(14px,1.08vw,16px) !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }

  .site-header .np-header-search{
    display:flex !important;
    align-items:center !important;
    align-self:center !important;
    flex:0 0 auto !important;
    margin:0 !important;
  }

  .site-header .np-menu-toggle{
    display:none !important;
  }
}

/* Etwas mehr Platz für die Menüpunkte auf sehr breiten Fenstern. */
@media (min-width:1360px){
  .site-header .np-header{
    grid-template-columns:260px minmax(0,1fr) !important;
  }
  .site-header .np-brand{
    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;
  }
  .site-header .np-brand img{
    width:230px !important;
    max-width:230px !important;
  }
}

/* Unterhalb des Umschaltpunkts: kompakter Header mit Such- und Menüschaltfläche. */
@media (max-width:1050px){
  .site-header .np-header{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    height:88px !important;
    min-height:88px !important;
    max-height:88px !important;
    padding:0 !important;
  }
  .site-header .np-brand{
    display:flex !important;
    align-items:center !important;
    height:100% !important;
    flex:0 1 220px !important;
  }
  .site-header .np-brand img{
    width:205px !important;
    max-width:205px !important;
    max-height:68px !important;
  }
  .site-header .np-nav{
    height:100% !important;
    align-items:center !important;
  }
  .site-header .np-menu-toggle{
    display:block !important;
  }
}

@media (max-width:650px){
  .site-header .np-header{
    height:78px !important;
    min-height:78px !important;
    max-height:78px !important;
  }
  .site-header .np-brand{
    flex-basis:180px !important;
  }
  .site-header .np-brand img{
    width:170px !important;
    max-width:170px !important;
    max-height:58px !important;
  }
}


/* ===== V2.9.64: Breitere Einleitungsbereiche auf Inhaltsseiten =====
   Seiten ohne Hero-Bild nutzen ca. 70 % des 1380-px-Inhaltsrasters statt nur 900 px. */
body.page-template-page-produkte .np-subhero-grid,
body.page-template-page-dekoration .np-subhero-grid,
body.page-template-page-nachhaltigkeit .np-subhero-grid,
body.page-template-page-qualitaet .np-subhero-grid{
  grid-template-columns:minmax(0,966px) !important;
}

/* Weitere einspaltige Subheros, bei denen das Bild bewusst entfernt wurde. */
.np-subhero-grid:not(:has(.np-subhero-image)){
  grid-template-columns:minmax(0,966px) !important;
}

/* Der Einleitungstext darf die neue Breite auch tatsächlich nutzen. */
.np-subhero-grid:not(:has(.np-subhero-image)) .np-subhero p,
body.page-template-page-produkte .np-subhero p,
body.page-template-page-dekoration .np-subhero p,
body.page-template-page-nachhaltigkeit .np-subhero p,
body.page-template-page-qualitaet .np-subhero p{
  max-width:900px !important;
}

@media(max-width:1100px){
  body.page-template-page-produkte .np-subhero-grid,
  body.page-template-page-dekoration .np-subhero-grid,
  body.page-template-page-nachhaltigkeit .np-subhero-grid,
  body.page-template-page-qualitaet .np-subhero-grid,
  .np-subhero-grid:not(:has(.np-subhero-image)){
    grid-template-columns:1fr !important;
  }
}


/* ===== V2.9.65: Einheitliche Inhaltsbreiten und ruhigere Typografie =====
   Einleitungsbereiche ohne Bild nutzen die Seite stärker; große Überschriften
   werden auf allen Hauptseiten zurückgenommen. */

/* Einspaltige Seiteneinleitungen – einheitlich breiter */
.np-subhero-grid:not(:has(.np-subhero-image)){
  grid-template-columns:minmax(0,1100px) !important;
}
.np-subhero-grid:not(:has(.np-subhero-image)) > div{
  width:100% !important;
  max-width:1100px !important;
}
.np-subhero-grid:not(:has(.np-subhero-image)) p{
  max-width:1020px !important;
}

/* Kontakt hat keinen np-subhero-grid, daher separat angleichen */
.np-contact-hero > .np-wrap{
  max-width:var(--np-max) !important;
}
.np-contact-hero > .np-wrap > p{
  max-width:1020px !important;
}

/* Einleitungstexte in den nachfolgenden Inhaltsbereichen ebenfalls nicht unnötig schmal */
.np-sus-intro,
.np-quality-copy,
.np-foil-intro{
  max-width:1100px !important;
}
.np-sus-cycle__intro{
  max-width:1020px !important;
}

/* Hauptüberschriften auf Inhaltsseiten ruhiger */
.np-subhero h1{
  font-size:clamp(2.15rem,3.2vw,3.35rem) !important;
  line-height:1.06 !important;
  letter-spacing:-.03em !important;
  max-width:1100px !important;
}

/* Überschriften innerhalb der Inhaltsbereiche */
.np-page-section h2,
.np-section h2,
.np-contact-main h2,
.np-sus-intro h2,
.np-quality h2{
  font-size:clamp(1.65rem,2.2vw,2.2rem) !important;
  line-height:1.14 !important;
  letter-spacing:-.018em !important;
}

/* Karriere verwendet eine eigene Seitenstruktur */
.np-karriere-copy h1{
  font-size:clamp(2rem,2.8vw,2.75rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
}
.np-karriere-copy h2{
  font-size:clamp(1.65rem,2.2vw,2.2rem) !important;
  line-height:1.14 !important;
}

/* Startseite: Hauptaussage weiterhin stark, aber nicht mehr überdimensioniert */
.np-hero h1{
  font-size:clamp(3rem,4.25vw,4.25rem) !important;
  line-height:1.02 !important;
  max-width:680px !important;
}
.np-hero p{
  font-size:20px !important;
  line-height:1.5 !important;
}

/* Bei mittleren und kleinen Breiten volle verfügbare Inhaltsbreite nutzen */
@media(max-width:1180px){
  .np-subhero-grid:not(:has(.np-subhero-image)){
    grid-template-columns:1fr !important;
  }
  .np-subhero-grid:not(:has(.np-subhero-image)) > div,
  .np-subhero-grid:not(:has(.np-subhero-image)) p,
  .np-contact-hero > .np-wrap > p,
  .np-sus-intro,
  .np-quality-copy,
  .np-foil-intro{
    max-width:100% !important;
  }
}

@media(max-width:700px){
  .np-subhero h1{
    font-size:2rem !important;
  }
  .np-hero h1{
    font-size:2.65rem !important;
  }
  .np-page-section h2,
  .np-section h2,
  .np-contact-main h2,
  .np-sus-intro h2,
  .np-quality h2,
  .np-karriere-copy h2{
    font-size:1.65rem !important;
  }
  .np-karriere-copy h1{
    font-size:2rem !important;
  }
}


/* ===== V2.9.67: Druckdarstellung – Header/Logo sauber am Seitenanfang ===== */
@media print{
  /* Nur ein Logo im Ausdruck: Headerlogo oben, Footer-/sonstige Wiederholungen ausblenden. */
  .site-footer .np-brand,
  .site-footer .custom-logo-link,
  footer .np-brand,
  footer .custom-logo-link{
    display:none !important;
  }

  .site-header{
    position:static !important;
    top:auto !important;
    box-shadow:none !important;
    border-bottom:1px solid #ddd !important;
    page-break-after:avoid !important;
  }

  .site-header .np-header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:6mm 0 4mm !important;
  }

  .site-header .np-brand{
    display:block !important;
    position:static !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  .site-header .np-brand img,
  .site-header .custom-logo{
    display:block !important;
    width:36mm !important;
    max-width:36mm !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    object-fit:contain !important;
    object-position:left center !important;
  }

  .site-header .np-nav{
    display:none !important;
  }

  /* Das Drucklayout darf kein weiteres Logo an einen Seitenumbruch ziehen. */
  .np-brand,
  .custom-logo-link{
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
}

/* ===== V2.9.68: Karriere – E-Mail-Kasten statt Bild rechts ===== */
.np-karriere-grid > .np-karriere-mail{
  width:100%;
  max-width:480px;
  justify-self:end;
  align-self:start;
  margin:8px 0 0;
}

@media(max-width:1100px){
  .np-karriere-grid > .np-karriere-mail{
    max-width:420px;
  }
}

@media(max-width:900px){
  .np-karriere-grid > .np-karriere-mail{
    max-width:600px;
    justify-self:start;
    margin-top:0;
  }
}


/* ===== V2.9.69 Unternehmensseite: Standorte, Produktionsverbund und Geschichte ===== */
.np-company-page .np-company-hero .np-subhero-grid{align-items:stretch}
.np-company-page .np-company-hero .np-subhero-image img{height:100%;min-height:420px;object-fit:cover}

.np-company-intro{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:56px;
  align-items:center;
}
.np-company-intro>img{
  width:100%;
  height:390px;
  object-fit:cover;
  display:block;
}
.np-company-lead{
  font-size:20px;
  line-height:1.58;
  color:#383838;
}
.np-company-intro p:not(.np-company-lead){color:var(--np-gray);max-width:820px}

.np-company-section-head{max-width:900px;margin-bottom:32px}
.np-company-section-head h2{margin:7px 0 12px}
.np-company-section-head p{margin:0;color:var(--np-gray);font-size:18px;line-height:1.55}

.np-company-site-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.np-company-site-card{
  position:relative;
  padding:34px 34px 30px;
  border:1px solid var(--np-line);
  background:#fff;
  min-height:280px;
}
.np-company-site-no{
  display:block;
  margin-bottom:28px;
  font-size:14px;
  font-weight:700;
  letter-spacing:.12em;
  color:var(--np-red);
}
.np-company-site-card h3{margin:0 0 10px;font-size:28px}
.np-company-site-card p{margin:0 0 25px;max-width:560px;color:var(--np-gray)}
.np-company-site-fields{display:flex;flex-wrap:wrap;gap:8px}
.np-company-site-fields span{
  padding:7px 11px;
  border:1px solid #ddd;
  background:#fafafa;
  font-size:14px;
  font-weight:700;
}

.np-company-network{background:#171717;color:#fff}
.np-company-network .np-mini{color:#fff}
.np-company-network-grid{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
  gap:70px;
  align-items:start;
}
.np-company-network h2{margin:7px 0 0;max-width:480px;color:#fff}
.np-company-network-points{border-top:1px solid #454545}
.np-company-network-points>div{
  display:grid;
  grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);
  gap:28px;
  padding:21px 0;
  border-bottom:1px solid #454545;
}
.np-company-network-points strong{font-size:18px}
.np-company-network-points span{color:#c6c6c6;line-height:1.5}

.np-company-figure-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--np-line);
  border-bottom:1px solid var(--np-line);
}
.np-company-figure{padding:26px 25px;border-right:1px solid var(--np-line)}
.np-company-figure:last-child{border-right:0}
.np-company-figure strong{
  display:block;
  margin-bottom:6px;
  font-size:46px;
  line-height:1;
  letter-spacing:-.04em;
}
.np-company-figure span{display:block;color:#555;line-height:1.4}
.np-company-source-note{margin:15px 0 0;font-size:13px;color:#777}

.np-company-history-image{margin:0 0 48px}
.np-company-history-image img{
  display:block;
  width:100%;
  max-height:650px;
  object-fit:cover;
  filter:grayscale(100%);
}
.np-company-history-image figcaption{margin-top:9px;font-size:13px;color:#777}

.np-timeline{position:relative;margin-top:14px}
.np-timeline:before{
  content:"";
  position:absolute;
  left:126px;
  top:0;
  bottom:0;
  width:1px;
  background:#d7d7d7;
}
.np-timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:106px minmax(0,1fr);
  gap:40px;
  padding:0 0 36px;
}
.np-timeline-item:before{
  content:"";
  position:absolute;
  left:121px;
  top:7px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#fff;
  border:2px solid var(--np-red);
}
.np-timeline-year{
  text-align:right;
  font-size:18px;
  font-weight:700;
  color:var(--np-red);
}
.np-timeline-copy{
  max-width:820px;
  padding-bottom:2px;
}
.np-timeline-copy h3{margin:0 0 6px;font-size:23px}
.np-timeline-copy p{margin:0;color:var(--np-gray);line-height:1.55}
.np-timeline-item.is-today:before{background:var(--np-red)}
.np-timeline-item.is-today .np-timeline-copy h3{font-weight:800}

@media(max-width:1000px){
  .np-company-intro{grid-template-columns:1fr;gap:30px}
  .np-company-intro>img{height:auto;max-height:460px}
  .np-company-network-grid{grid-template-columns:1fr;gap:34px}
  .np-company-figure-grid{grid-template-columns:repeat(2,1fr)}
  .np-company-figure:nth-child(2){border-right:0}
  .np-company-figure:nth-child(-n+2){border-bottom:1px solid var(--np-line)}
}
@media(max-width:760px){
  .np-company-site-grid{grid-template-columns:1fr}
  .np-company-network-points>div{grid-template-columns:1fr;gap:6px}
  .np-timeline:before{left:12px}
  .np-timeline-item{grid-template-columns:1fr;gap:8px;padding-left:40px;padding-bottom:30px}
  .np-timeline-item:before{left:7px}
  .np-timeline-year{text-align:left}
}
@media(max-width:520px){
  .np-company-figure-grid{grid-template-columns:1fr}
  .np-company-figure{border-right:0;border-bottom:1px solid var(--np-line)}
  .np-company-figure:last-child{border-bottom:0}
  .np-company-figure:nth-child(2){border-bottom:1px solid var(--np-line)}
  .np-company-site-card{padding:26px 22px}
}


/* ===== V2.9.70 Unternehmensseite: kompaktere Historie ===== */
.np-company-story-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:52px;
  align-items:start;
}
.np-company-story-copy p{font-size:17px;line-height:1.68;color:#4b4b4b}
.np-company-story-copy .np-company-lead{font-size:20px;line-height:1.58;color:#303030}
.np-company-story-media{position:sticky;top:110px}
.np-company-history-image{margin:0}
.np-company-history-image img{width:100%;height:auto;max-height:none;object-fit:contain;filter:none}
.np-company-history-placeholder{
  min-height:320px;
  border:1px dashed #bbb;
  background:#f5f5f5;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:8px;
  padding:30px;
  text-align:center;
  color:#555;
}
.np-company-history-placeholder strong{font-size:22px;color:#222}
.np-company-history-placeholder span{max-width:420px}
.np-company-history-years{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:46px;
  border-top:1px solid var(--np-line);
  border-bottom:1px solid var(--np-line);
}
.np-company-history-years>div{padding:24px 24px 25px;border-right:1px solid var(--np-line)}
.np-company-history-years>div:last-child{border-right:0}
.np-company-history-years strong{display:block;margin-bottom:6px;font-size:27px;color:var(--np-red)}
.np-company-history-years span{display:block;line-height:1.4;color:#555}
.np-company-today-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:52px;
  align-items:center;
}
.np-company-today-grid p{font-size:17px;line-height:1.65;color:#4b4b4b}
.np-company-today-grid img{width:100%;height:360px;object-fit:cover}
@media(max-width:900px){
  .np-company-story-grid,.np-company-today-grid{grid-template-columns:1fr}
  .np-company-story-media{position:static}
  .np-company-history-years{grid-template-columns:1fr 1fr}
  .np-company-history-years>div:nth-child(2){border-right:0}
  .np-company-history-years>div:nth-child(-n+2){border-bottom:1px solid var(--np-line)}
}
@media(max-width:560px){
  .np-company-history-years{grid-template-columns:1fr}
  .np-company-history-years>div{border-right:0;border-bottom:1px solid var(--np-line)}
  .np-company-history-years>div:last-child{border-bottom:0}
}


/* ===== V2.9.71 Unternehmensseite: Werk Rotenburg oben + einheitliche Bildgrößen ===== */
.np-company-page{
  --np-company-image-height: 360px;
}

/* Alle großen Inhaltsbilder der Unternehmensseite erhalten dieselbe sichtbare Höhe */
.np-company-page .np-subhero-image,
.np-company-page .np-company-story-media,
.np-company-page .np-company-today-grid > img{
  height:var(--np-company-image-height);
}

.np-company-page .np-subhero-image img,
.np-company-page .np-company-history-image,
.np-company-page .np-company-history-image img,
.np-company-page .np-company-today-grid > img{
  width:100%;
  height:100%;
}

.np-company-page .np-subhero-image img,
.np-company-page .np-company-history-image img,
.np-company-page .np-company-today-grid > img{
  object-fit:cover;
  display:block;
}

.np-company-page .np-company-history-image{
  margin:0;
  overflow:hidden;
}

.np-company-page .np-company-history-image figcaption{
  position:absolute;
  left:-9999px;
}

.np-company-page .np-company-story-media{
  position:sticky;
  top:110px;
  overflow:hidden;
}

.np-company-page .np-company-history-placeholder{
  height:100%;
  min-height:0;
}

@media(max-width:900px){
  .np-company-page{
    --np-company-image-height: 300px;
  }
  .np-company-page .np-company-story-media{
    position:static;
  }
}

@media(max-width:560px){
  .np-company-page{
    --np-company-image-height: 230px;
  }
}


/* 2.9.73 – Folienextrusion: Einleitung in den Hero gezogen */
body.page-template-page-folienextrusion .np-subhero-grid{align-items:stretch;}
body.page-template-page-folienextrusion .np-subhero-grid > div:first-child{display:flex;flex-direction:column;justify-content:center;}
body.page-template-page-folienextrusion .np-foil-intro--hero{max-width:720px !important;margin-top:22px;}
body.page-template-page-folienextrusion .np-subhero .np-foil-intro--hero p{font-size:16px;line-height:1.55;color:#333;margin:0 0 14px;}
body.page-template-page-folienextrusion .np-subhero .np-foil-intro--hero p:last-child{margin-bottom:0;}


/* 2.9.75 – Folienextrusion: Hero-Bild deutlich kleiner */
@media(min-width:901px){
  body.page-template-page-folienextrusion .np-subhero-grid{
    grid-template-columns:minmax(0,1fr) 330px;
    gap:54px;
    align-items:center;
  }
  body.page-template-page-folienextrusion .np-subhero-image{
    width:330px;
    max-width:330px;
    min-height:0;
    justify-self:end;
    overflow:visible;
  }
  body.page-template-page-folienextrusion .np-subhero-image img{
    display:block;
    width:330px;
    height:auto;
    min-height:0;
    max-height:none;
    object-fit:contain;
  }
}


/* ===== V2.9.77: Responsiver Header für Tablet und Mobilgeräte =====
   Der Header bleibt im normalen Dokumentfluss und wird sticky.
   Dadurch überdeckt er keinen Inhalt und bleibt beim Scrollen oben. */
@media (max-width:1050px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:clip;
  }

  body{
    padding-top:0 !important;
  }

  .site-header{
    position:sticky !important;
    top:0 !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    z-index:9990 !important;
  }

  /* Ist die WordPress-Adminleiste sichtbar und fixiert, sitzt der Header darunter. */
  body.admin-bar .site-header{
    top:32px !important;
  }

  .site-header .np-wrap{
    width:calc(100% - 32px) !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .site-header .np-header{
    width:100% !important;
    min-width:0 !important;
  }

  .site-header .np-brand{
    min-width:0 !important;
  }

  .site-header .np-nav{
    min-width:0 !important;
  }

  /* Suchfeld und mobiles Menü dürfen nie breiter als der Viewport werden. */
  .site-header .np-search-form,
  .site-header .np-nav > ul.np-primary-menu{
    max-width:calc(100vw - 24px) !important;
  }

  /* Genereller Schutz gegen horizontales Überlaufen auf Inhaltsseiten. */
  main,
  .np-wrap,
  .np-container,
  .np-content,
  .np-subhero,
  .np-subhero-grid,
  .np-page-section,
  .entry-content{
    min-width:0 !important;
    max-width:100% !important;
  }

  img{
    max-width:100% !important;
  }
}

/* WordPress-Adminleiste ist zwischen 601 und 782 px 46 px hoch. */
@media (min-width:601px) and (max-width:782px){
  body.admin-bar .site-header{
    top:46px !important;
  }
}

/* Unter 600 px scrollt die WordPress-Adminleiste selbst weg.
   Deshalb muss der Webseiten-Header wieder direkt an den oberen Viewportrand. */
@media (max-width:600px){
  body.admin-bar .site-header{
    top:0 !important;
  }
}

/* Kompakter Smartphone-Header. */
@media (max-width:650px){
  .site-header .np-wrap{
    width:calc(100% - 24px) !important;
  }

  .site-header .np-header{
    height:72px !important;
    min-height:72px !important;
    max-height:72px !important;
    gap:8px !important;
  }

  .site-header .np-brand{
    flex:1 1 auto !important;
    max-width:175px !important;
  }

  .site-header .np-brand img{
    width:160px !important;
    max-width:160px !important;
    max-height:56px !important;
  }

  .site-header .np-nav{
    flex:0 0 auto !important;
    gap:0 !important;
  }

  .site-header .np-search-toggle,
  .site-header .np-menu-toggle{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
  }

  .site-header .np-search-form{
    position:fixed !important;
    top:74px !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-width:none !important;
  }

  .site-header .np-nav > ul.np-primary-menu{
    position:fixed !important;
    top:74px !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - 86px) !important;
    overflow-y:auto !important;
  }

  body.admin-bar .site-header .np-search-form,
  body.admin-bar .site-header .np-nav > ul.np-primary-menu{
    top:74px !important;
  }
}


/* ===== V2.9.78: Folienrechner responsiv – kein Überdecken durch das Bild =====
   Ursache: Zwischen 901 und 1120 px blieb das Zweispaltenraster aktiv,
   obwohl Rechner und Bild feste Maximalbreiten hatten. Dadurch konnten sich
   beide Bereiche überlagern. In diesem Bereich wird jetzt sauber gestapelt. */
@media (max-width:1120px){
  .np-folienrechner-tools{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:24px !important;
    align-items:start !important;
  }

  .np-folienrechner-main,
  .np-folienrechner-main .npfr,
  .np-folienrechner-image{
    grid-column:1 !important;
    width:100% !important;
    max-width:514px !important;
    min-width:0 !important;
    justify-self:start !important;
  }

  .np-folienrechner-image{
    position:static !important;
    margin:0 !important;
    aspect-ratio:514 / 360;
  }

  .np-folienrechner-image img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-width:100% !important;
    object-fit:cover !important;
  }
}

/* Auf schmaleren Geräten passt sich auch der eigentliche Rechner an die
   verfügbare Breite an; keine festen 514/470/225 px mehr. */
@media (max-width:620px){
  .np-folienrechner-main,
  .np-folienrechner-main .npfr,
  .np-folienrechner-image{
    width:100% !important;
    max-width:100% !important;
  }

  .np-folienrechner-main .npfr-grid{
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
  }

  .np-folienrechner-main .npfr-grid label,
  .np-folienrechner-main .npfr input,
  .np-folienrechner-main .npfr select{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    white-space:normal !important;
  }

  .np-folienrechner-image{
    aspect-ratio:4 / 3;
  }
}


/* ===== V2.9.79: Produktionskreislauf responsiv =====
   Das große absolute Diagramm ist nur für breite Ansichten geeignet.
   Unter 900 px wird daraus eine saubere vertikale Prozessfolge. */
@media (max-width:900px){
  .np-sus-cycle{
    overflow:hidden !important;
  }

  .np-cycle-diagram{
    position:relative !important;
    width:100% !important;
    max-width:560px !important;
    height:auto !important;
    min-height:0 !important;
    margin:24px auto 0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    overflow:visible !important;
  }

  .np-cycle-stage{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:18px 20px !important;
    text-align:center !important;
    background:#fff !important;
  }

  .np-cycle-stage strong{
    display:block !important;
    margin-bottom:5px !important;
  }

  /* Klare Prozesspfeile zwischen den Stationen. */
  .np-cycle-stage:not(.np-cycle-stage--mill){
    margin-bottom:42px !important;
  }

  .np-cycle-stage:not(.np-cycle-stage--mill)::after{
    content:"↓";
    position:absolute;
    left:50%;
    bottom:-35px;
    transform:translateX(-50%);
    font-size:28px;
    line-height:1;
    font-weight:700;
    color:#125b98;
  }

  .np-cycle-stage--products::after{
    color:#079447;
  }

  .np-cycle-stage--mill{
    margin-bottom:54px !important;
  }

  /* Rückführung des Mahlguts als verständlicher Abschluss der mobilen Folge. */
  .np-cycle-diagram::after{
    content:"↻  Rückführung des Mahlguts zur Folienextrusion";
    display:block;
    padding:13px 16px;
    border:1px solid #079447;
    border-radius:8px;
    color:#07883b;
    background:#fff;
    text-align:center;
    font-weight:700;
    line-height:1.4;
  }

  .np-cycle-label,
  .np-cycle-svg{
    display:none !important;
  }
}

@media (max-width:560px){
  .np-sus-cycle{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .np-cycle-stage{
    padding:16px !important;
  }

  .np-sus-cycle__intro{
    line-height:1.55 !important;
  }
}

/* 2.9.82: Startseite ohne Dual-Use-Block */
.np-product-intro.np-product-intro-single{grid-template-columns:1fr;max-width:760px}


/* V2.9.85: Hinweis zu technischen Produktangaben */
.np-product-data-note{margin:28px 0 8px;padding:14px 16px;border-top:1px solid #ddd;color:#666;font-size:13px;line-height:1.55;}
.np-product-data-note strong{color:#444;}


/* ===== V2.9.87 Unternehmensseite: dynamischere Historie + vertikale Zeitachse ===== */
.np-company-page .np-company-hero h1{
  max-width:720px;
}

.np-company-excursus{
  margin-top:56px;
  padding:34px 38px 36px;
  border-left:4px solid var(--np-red);
  background:#f3f3f3;
}
.np-company-excursus h2{
  margin:7px 0 25px;
  max-width:820px;
}
.np-company-excursus-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 38px;
}
.np-company-excursus-grid p{
  margin:0;
  color:#4b4b4b;
  font-size:16px;
  line-height:1.62;
}
.np-company-excursus-strong{
  color:#252525 !important;
}

.np-company-history-section .np-timeline{
  max-width:980px;
  margin-top:10px;
}
.np-company-history-section .np-timeline:before{
  left:150px;
}
.np-company-history-section .np-timeline-item{
  grid-template-columns:128px minmax(0,1fr);
  gap:46px;
  padding-bottom:38px;
}
.np-company-history-section .np-timeline-item:last-child{
  padding-bottom:0;
}
.np-company-history-section .np-timeline-item:before{
  left:145px;
}
.np-company-history-section .np-timeline-year{
  font-size:17px;
  line-height:1.3;
}
.np-company-history-section .np-timeline-copy{
  padding:0 0 2px;
}
.np-company-history-section .np-timeline-copy h3{
  font-size:24px;
}
.np-company-history-section .np-timeline-copy p{
  font-size:16.5px;
  line-height:1.6;
  max-width:760px;
}

@media(max-width:900px){
  .np-company-excursus-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .np-company-excursus{
    margin-top:38px;
    padding:27px 24px 29px;
  }
  .np-company-history-section .np-timeline:before{
    left:12px;
  }
  .np-company-history-section .np-timeline-item{
    grid-template-columns:1fr;
    gap:7px;
    padding-left:40px;
    padding-bottom:31px;
  }
  .np-company-history-section .np-timeline-item:before{
    left:7px;
  }
  .np-company-history-section .np-timeline-year{
    text-align:left;
  }
}


/* ===== V2.9.90 Unternehmensseite: einheitliche Bildwirkung ===== */
/* Unterschiedliche Quelldateien werden in gleich große Bildflächen eingepasst.
   Kleine Bilder werden nur bis zur Fläche skaliert; object-fit verhindert Verzerrungen. */
.np-company-page .np-company-equal-frame{
  width:100%;
  height:360px;
  overflow:hidden;
  margin:0;
}
.np-company-page .np-company-equal-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.np-company-page img.np-company-equal-image{
  width:100%;
  height:360px;
  object-fit:cover;
  display:block;
}
.np-company-page .np-subhero-image{
  height:360px;
  overflow:hidden;
}
.np-company-page .np-subhero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media(max-width:760px){
  .np-company-page .np-company-equal-frame,
  .np-company-page img.np-company-equal-image,
  .np-company-page .np-subhero-image{
    height:260px;
  }
}


/* ===== V2.9.91 Unternehmensseite: Produktionsverbund blau ===== */
.np-company-page .np-company-network{
  background:#0b4f7c;
  color:#fff;
}
.np-company-page .np-company-network h2,
.np-company-page .np-company-network strong{
  color:#fff;
}
.np-company-page .np-company-network .np-mini,
.np-company-page .np-company-network span{
  color:rgba(255,255,255,.82);
}


/* ===== V2.9.94 Unternehmensseite: Werk Rotenburg im Hero ===== */
/* Unteren Bildbereich vollständig priorisieren, damit die Schranke sichtbar bleibt.
   Falls für die feste Hero-Höhe beschnitten werden muss, geschieht dies oben. */
.np-company-page .np-company-hero .np-subhero-image{
  position:relative;
}
.np-company-page .np-company-hero .np-subhero-image img{
  object-position:center bottom !important;
}

/* Wie beim Startseiten-Hero läuft das Bild links weich in den weißen Textbereich aus. */
.np-company-page .np-company-hero .np-subhero-image::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0 auto 0 0;
  width:34%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,.92) 18%,
    rgba(255,255,255,.40) 54%,
    rgba(255,255,255,0) 100%
  );
}

@media(max-width:760px){
  .np-company-page .np-company-hero .np-subhero-image::before{
    width:24%;
  }
}


/* ===== V2.9.95 Druckansicht Unternehmensseite ===== */
/* Im Ausdruck das Werkbild nicht beschneiden: vollständiges Originalbild zeigen. */
@media print{
  .np-company-page .np-company-hero .np-subhero-image{
    height:auto !important;
    overflow:visible !important;
  }
  .np-company-page .np-company-hero .np-subhero-image img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
  .np-company-page .np-company-hero .np-subhero-image::before{
    display:none !important;
  }
}

/* ===== V2.9.97 Newsletter im Kontaktformular ===== */
.np-contact-newsletter{
  flex-direction:row!important;
  align-items:flex-start;
  font-size:.9rem;
  font-weight:400!important;
  line-height:1.45;
}
.np-contact-newsletter input{width:auto;margin:4px 3px 0 0}


/* ===== V2.9.102 Unternehmensseite: Historie wieder über volle Breite ===== */
.np-company-story .np-company-section-head-wide{
  max-width:none;
}
.np-company-story-wide{
  width:100%;
  max-width:none;
  columns:2;
  column-gap:52px;
}
.np-company-story-wide p{
  margin-top:0;
  margin-bottom:20px;
  break-inside:avoid;
  font-size:17px;
  line-height:1.68;
  color:#4b4b4b;
}
.np-company-story-wide .np-company-lead{
  font-size:20px;
  line-height:1.58;
  color:#303030;
}
.np-company-story .np-company-excursus{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  margin-top:46px;
  padding:34px 38px 36px;
  border-left:4px solid var(--np-red);
  background:#f3f3f3;
}
.np-company-story .np-company-excursus h2{
  margin:7px 0 25px;
  max-width:none;
}
.np-company-story .np-company-excursus-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 38px;
}
@media (max-width: 780px){
  .np-company-story-wide{columns:1;}
  .np-company-story .np-company-excursus-grid{grid-template-columns:1fr;}
  .np-company-story .np-company-excursus{
    padding:27px 24px 29px;
  }
}

/* V2.9.105 – language switch */
.np-language-switch{display:flex;align-items:center;gap:4px;margin-left:14px;font-size:13px;white-space:nowrap}
.np-language-switch a{text-decoration:none;color:inherit}
.np-language-switch strong{color:var(--np-red)}
@media(max-width:1050px){.np-language-switch{margin-left:auto;margin-right:8px}}


/* ===== V2.9.128: Tiefziehen – kompakte, integrierte Zweispalten-Komposition ===== */
.np-thermoforming-page .np-subhero-grid{
  grid-template-columns:minmax(0,760px) 240px;
  gap:44px;
  align-items:start;
  justify-content:start;
}
.np-thermoforming-page .np-thermoforming-hero-image{
  min-height:0;
  overflow:visible;
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
}
.np-thermoforming-page .np-thermoforming-hero-image img{
  width:240px;
  height:auto;
  max-width:100%;
  max-height:none;
  min-height:0;
  object-fit:contain;
  display:block;
}
.np-thermoforming-page .np-copy p{margin:0;}
.np-thermoforming-page .np-copy p + p{margin-top:1.25em;}
@media (max-width:1100px){
  .np-thermoforming-page .np-subhero-grid{
    grid-template-columns:minmax(0,1fr) 220px;
    gap:34px;
  }
  .np-thermoforming-page .np-thermoforming-hero-image img{width:220px;}
}
@media (max-width:900px){
  .np-thermoforming-page .np-subhero-grid{grid-template-columns:1fr;}
  .np-thermoforming-page .np-thermoforming-hero-image{justify-content:flex-start;}
  .np-thermoforming-page .np-thermoforming-hero-image img{width:min(240px,100%);}
}


/* ===== V2.9.129: Tiefziehen – Bild beginnt erst mit dem Text unter der Überschrift ===== */
@media (min-width:901px){
  .np-thermoforming-page .np-thermoforming-hero-image{
    padding-top:138px;
  }
}
@media (max-width:900px){
  .np-thermoforming-page .np-thermoforming-hero-image{
    padding-top:0;
  }
}


/* ===== V2.9.130: Tiefziehen – Abstand zwischen Unterzeile und erstem Absatz ===== */
.np-thermoforming-page .np-subhero-grid > div:first-child > .np-copy{
  margin-top:18px;
}


/* ===== V2.9.131: Tiefziehen – zweite Überschrift im Standard-H2-Format ===== */
.np-thermoforming-page .np-thermoforming-subheading{
  margin:14px 0 0;
  max-width:760px;
  font-size:34px;
  line-height:1.18;
  letter-spacing:-.02em;
}
.np-thermoforming-page .np-subhero-grid > div:first-child > .np-copy{
  margin-top:24px;
}
@media (min-width:901px){
  .np-thermoforming-page .np-thermoforming-hero-image{
    padding-top:190px;
  }
}
@media (max-width:900px){
  .np-thermoforming-page .np-thermoforming-subheading{font-size:28px;}
}

/* ===== V2.9.132: Tiefziehen – Bild exakt auf Höhe des ersten Fließtext-Absatzes ===== */
@media (min-width:901px){
  .np-thermoforming-page .np-thermoforming-hero-image{
    padding-top:256px;
  }
}


/* ===== V2.9.134: Folienextrusion – Folienrollen unter dem linken Einführungstext ===== */
.np-foil-rolls-image{
  margin-top:24px;
  width:100%;
  max-width:690px;
  height:175px;
  overflow:hidden;
}
.np-foil-rolls-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 55%;
}
@media (max-width:900px){
  .np-foil-rolls-image{
    max-width:none;
    height:210px;
  }
}

/* ===== V2.9.135: Folienextrusion – Folienrollenbild bis Unterkante rechtes Hero-Bild ===== */
@media (min-width:901px){
  .np-foil-rolls-image{
    height:270px;
  }
}


/* ===== V2.9.136: Folienrollenbild minimal höher ===== */
@media (min-width:901px){
  .np-foil-rolls-image{height:285px;}
}


/* V2.9.144 – Folienextrusion: Unterüberschrift deutlicher absetzen */
body.page-template-page-folienextrusion .np-subhero p.np-foil-subtitle{
  max-width:720px;
  margin:16px 0 0;
  font-size:24px;
  line-height:1.35;
  font-weight:700;
  color:#202020;
}
body.page-template-page-folienextrusion .np-foil-subtitle + .np-foil-intro--hero{margin-top:26px;}
@media (max-width:700px){
  body.page-template-page-folienextrusion .np-subhero p.np-foil-subtitle{font-size:21px;}
}

/* ===== V2.9.147: Startseiten-Hero ca. 10 % herauszoomen =====
   Bildspalte bleibt unverändert; nur das Motiv wird kleiner dargestellt,
   damit insbesondere der NEUPACK-Deckel vollständig sichtbar ist. */
.np-hero-image{
  background-size:100% 100%, 90% auto !important;
  background-repeat:no-repeat, no-repeat !important;
  background-position:center center, center center !important;
}
@media(max-width:900px){
  .np-hero-image{
    background-size:100% 100%, 90% auto !important;
  }
}


/* ===== V2.9.149: Produktions-Schnellauswahl näher an den Einleitungstext ===== */
body.page-template-page-produktion .np-subhero{
  padding-bottom:18px;
}
body.page-template-page-produktion .np-subhero + .np-page-section{
  padding-top:18px;
}


/* ===== V2.9.150: Produktionsseite – unteren Leerraum mit nach oben ziehen ===== */
body.page-template-page-produktion .np-subhero + .np-page-section{
  padding-top:18px;
  padding-bottom:18px;
}
body.page-template-page-produktion .np-subhero + .np-page-section + .np-page-section{
  padding-top:18px;
}


/* ===== V2.9.151: Produktseite – Abstände zwischen den Bereichen kompakter ===== */
body.page-template-page-produkte .np-subhero{
  padding-bottom:18px;
}
body.page-template-page-produkte .np-subhero + .np-page-section{
  padding-top:18px;
  padding-bottom:18px;
}
body.page-template-page-produkte .np-subhero + .np-page-section + .np-page-section{
  padding-top:18px;
}


/* ===== V2.9.152: Startseite – Schnellauswahl näher an den Hero ziehen =====
   Reduziert ausschließlich die Höhe des Startseiten-Heros. Die fünf
   Produkt-Schnelllinks und das Hero-Motiv selbst bleiben unverändert. */
@media (min-width:901px){
  body.home .np-hero-image{
    min-height:600px !important;
  }
}

/* ===== V2.9.153: Startseite – vertikale Leerzonen konsequent verdichten =====
   Nur Homepage. Hero-Inhalt rückt näher an die Navigation, Schnellauswahl
   folgt direkt auf den Hero; große Zwischenräume zwischen Inhaltsblöcken
   werden reduziert. */
@media (min-width:901px){
  body.home .np-hero{
    min-height:520px !important;
  }
  body.home .np-hero-copy{
    padding-top:36px !important;
    padding-bottom:36px !important;
  }
  body.home .np-hero-image{
    min-height:520px !important;
  }
}
body.home .np-category-strip{
  margin-top:0 !important;
}
body.home .np-products-v21{
  padding-top:34px !important;
  padding-bottom:34px !important;
}
body.home .np-responsibility{
  padding-top:34px !important;
  padding-bottom:30px !important;
}
body.home .np-responsibility-grid{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
body.home .np-responsibility-points{
  margin-top:20px !important;
  margin-bottom:0 !important;
}
body.home .np-production-process{
  padding-top:30px !important;
  padding-bottom:34px !important;
  margin-top:0 !important;
}
body.home .np-responsibility + .np-production-process{
  margin-top:0 !important;
}
@media (max-width:900px){
  body.home .np-products-v21,
  body.home .np-responsibility,
  body.home .np-production-process{
    padding-top:28px !important;
    padding-bottom:28px !important;
  }
}

/* ===== V2.9.154: Produktionsseite – Leerraum vor Faktenleiste entfernen =====
   Die zweite Sektion enthält nur die drei Fakten. Deren vertikales Section-
   Padding entfällt, damit die Leiste direkt an die Prozesskarten anschließt. */
body.page-template-page-produktion .np-subhero + .np-page-section + .np-page-section{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* ===== V2.9.155: Startseite – Restliche vertikale Zwischenräume vereinheitlicht =====
   Homepage-only: verhindert, dass sich das untere Padding einer Sektion und
   das obere Padding der Folgesektion zu großen Leerzonen addieren. */
body.home .np-section,
body.home .np-products-v21,
body.home .np-responsibility,
body.home .np-production-process{
  padding-top:24px !important;
  padding-bottom:24px !important;
}
body.home .np-production-process + .np-section,
body.home .np-responsibility + .np-production-process,
body.home .np-products-v21 + .np-responsibility{
  padding-top:24px !important;
  margin-top:0 !important;
}
body.home .np-process-grid{
  margin-bottom:0 !important;
}
body.home .np-production-process > .np-wrap,
body.home .np-production-process + .np-section > .np-wrap{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
@media(max-width:900px){
  body.home .np-section,
  body.home .np-products-v21,
  body.home .np-responsibility,
  body.home .np-production-process{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }
}


/* ===== V2.9.156: Startseite – weiterführende Links einheitlich NEUPACK-rot ===== */
body.home .np-product-area a,
body.home .np-process-body a{
  color:var(--np-red) !important;
}
body.home .np-product-area a:visited,
body.home .np-process-body a:visited{
  color:var(--np-red) !important;
}
body.home .np-product-area a:hover,
body.home .np-product-area a:focus-visible,
body.home .np-process-body a:hover,
body.home .np-process-body a:focus-visible{
  color:var(--np-red) !important;
  text-decoration:underline;
}

/* ===== V2.9.157: Startseite – alle textlichen Weiterführungslinks rot ===== */
.np-products-v21 .np-product-area a,
.np-production-process .np-process-body a,
.np-product-area a,
.np-process-body a,
.np-products-v21 .np-product-area a:link,
.np-products-v21 .np-product-area a:visited,
.np-production-process .np-process-body a:link,
.np-production-process .np-process-body a:visited {
  color: var(--np-red) !important;
}


/* ===== V2.9.158: Karriereseite – normales responsives Zoom-/Breitenverhalten =====
   Die Karriere-Seite wird wieder in dasselbe Inhaltsraster wie die übrigen
   Seiten gelegt. Alte Sonderregeln mit nahezu voller Viewportbreite werden
   bewusst überschrieben. */
body.page-template-page-karriere .np-karriere-intro{
  max-width:none !important;
  width:100% !important;
  padding:42px 0 54px !important;
}
body.page-template-page-karriere .np-karriere-intro > .np-container{
  width:min(1380px, calc(100% - 64px)) !important;
  max-width:1380px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.page-template-page-karriere .np-karriere-grid{
  grid-template-columns:minmax(0,1fr) minmax(300px,360px) !important;
  gap:clamp(28px,4vw,58px) !important;
}
body.page-template-page-karriere .np-karriere-copy{
  min-width:0 !important;
}
body.page-template-page-karriere .np-karriere-copy p{
  font-size:1rem !important;
  line-height:1.6 !important;
}
body.page-template-page-karriere .np-karriere-grid > .np-karriere-mail{
  width:100% !important;
  max-width:360px !important;
  margin:8px 0 0 !important;
}
@media(max-width:900px){
  body.page-template-page-karriere .np-karriere-intro > .np-container{
    width:min(100% - 40px, 1380px) !important;
  }
  body.page-template-page-karriere .np-karriere-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  body.page-template-page-karriere .np-karriere-grid > .np-karriere-mail{
    max-width:600px !important;
    justify-self:start !important;
  }
}
@media(max-width:650px){
  body.page-template-page-karriere .np-karriere-intro > .np-container{
    width:min(100% - 32px, 1380px) !important;
  }
  body.page-template-page-karriere .np-karriere-intro{
    padding-top:30px !important;
    padding-bottom:38px !important;
  }
}

/* ===== V2.9.159: Karriere – Container sicher an Standardraster binden =====
   Nicht von der WordPress body-template-Klasse abhängig: die Seite selbst
   trägt zuverlässig .np-karriere-page. */
.np-karriere-page .np-karriere-intro > .np-container{
  width:min(calc(100% - 64px), var(--np-max)) !important;
  max-width:var(--np-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.np-karriere-page .np-karriere-grid{
  grid-template-columns:minmax(0,1fr) minmax(300px,360px) !important;
  gap:clamp(28px,4vw,58px) !important;
}
.np-karriere-page .np-karriere-grid > .np-karriere-mail{
  width:100% !important;
  max-width:360px !important;
  justify-self:end !important;
}
@media(max-width:900px){
  .np-karriere-page .np-karriere-intro > .np-container{
    width:min(calc(100% - 40px), var(--np-max)) !important;
  }
  .np-karriere-page .np-karriere-grid{grid-template-columns:1fr !important;}
  .np-karriere-page .np-karriere-grid > .np-karriere-mail{
    max-width:600px !important;
    justify-self:start !important;
  }
}
@media(max-width:650px){
  .np-karriere-page .np-karriere-intro > .np-container{
    width:min(calc(100% - 32px), var(--np-max)) !important;
  }
}

/* ===== V2.9.160: Startseite DE + EN – große vertikale Leerzonen entfernen =====
   Die Regeln hängen direkt am Frontpage-Markup (.np-homepage) und funktionieren
   deshalb auch auf /en/, wo WordPress nicht zwingend die body-Klasse .home setzt. */
.np-homepage > .np-section,
.np-homepage > .np-products-v21,
.np-homepage > .np-responsibility,
.np-homepage > .np-production-process{
  padding-top:18px !important;
  padding-bottom:18px !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.np-homepage > .np-products-v21 + .np-responsibility,
.np-homepage > .np-responsibility + .np-production-process,
.np-homepage > .np-production-process + .np-section{
  margin-top:0 !important;
}
.np-homepage .np-responsibility-grid,
.np-homepage .np-responsibility-points,
.np-homepage .np-process-grid{
  margin-bottom:0 !important;
}
.np-homepage .np-responsibility-points{
  margin-top:16px !important;
}
.np-homepage .np-production-lead{
  margin-bottom:14px !important;
}
@media(max-width:900px){
  .np-homepage > .np-section,
  .np-homepage > .np-products-v21,
  .np-homepage > .np-responsibility,
  .np-homepage > .np-production-process{
    padding-top:16px !important;
    padding-bottom:16px !important;
  }
}


/* ===== V2.9.162: Startseiten-Hero mobil =====
   Desktop bleibt zweispaltig. Mobil: Text -> Hero-Bild -> Aktionen.
   Verhindert außerdem horizontalen Overflow durch ältere Desktop-Regeln. */
@media(min-width:1101px){
  .np-homepage > .np-hero{
    grid-template-rows:1fr auto !important;
  }
  .np-homepage > .np-hero .np-hero-copy{
    grid-column:1 !important;
    grid-row:1 !important;
    padding-bottom:20px !important;
  }
  .np-homepage > .np-hero .np-hero-image{
    grid-column:2 !important;
    grid-row:1 / span 2 !important;
  }
  .np-homepage > .np-hero .np-hero-actions{
    grid-column:1 !important;
    grid-row:2 !important;
    padding:0 64px 76px 32px !important;
  }
}
@media(max-width:1100px){
  .np-homepage > .np-hero{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto auto auto !important;
    width:calc(100% - 32px) !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  .np-homepage > .np-hero .np-hero-copy{
    grid-column:1 !important; grid-row:1 !important;
    min-width:0 !important; width:100% !important; max-width:100% !important;
    padding:48px 24px 28px !important;
  }
  .np-homepage > .np-hero .np-hero-copy h1,
  .np-homepage > .np-hero .np-hero-copy p{
    max-width:100% !important; overflow-wrap:anywhere;
  }
  .np-homepage > .np-hero .np-hero-image{
    grid-column:1 !important; grid-row:2 !important;
    min-width:0 !important; width:100% !important; min-height:360px !important;
    background-position:center center !important;
  }
  .np-homepage > .np-hero .np-hero-actions{
    grid-column:1 !important; grid-row:3 !important;
    width:100% !important; min-width:0 !important;
    padding:24px !important;
  }
}
@media(max-width:560px){
  .np-homepage > .np-hero{width:calc(100% - 24px) !important;}
  .np-homepage > .np-hero .np-hero-copy{padding:38px 18px 24px !important;}
  .np-homepage > .np-hero .np-hero-copy h1{font-size:clamp(42px,13vw,58px) !important;}
  .np-homepage > .np-hero .np-hero-copy p{font-size:18px !important;}
  .np-homepage > .np-hero .np-hero-image{min-height:300px !important;}
  .np-homepage > .np-hero .np-hero-actions{
    padding:20px 18px 28px !important;
    flex-direction:column !important; align-items:stretch !important;
  }
  .np-homepage > .np-hero .np-hero-actions .np-btn{width:100% !important;}
}


/* ===== V2.9.163: Startseiten-Hero mobil kompakter =====
   Gilt fuer DE und EN, da beide dieselbe .np-homepage-Struktur nutzen.
   Reduziert die Leerzone zwischen Einleitung, Hero-Motiv und Aktionen. */
@media(max-width:560px){
  .np-homepage > .np-hero .np-hero-copy{
    padding-bottom:8px !important;
  }
  .np-homepage > .np-hero .np-hero-copy p{
    margin-bottom:0 !important;
  }
  .np-homepage > .np-hero .np-hero-image{
    min-height:240px !important;
    background-position:center center !important;
  }
  .np-homepage > .np-hero .np-hero-actions{
    padding-top:12px !important;
  }
}

/* ===== V2.9.164 Unternehmensseite: Werkbild mobil vollständig zeigen ===== */
/* Auf Smartphones keine feste Hero-Bildhöhe und kein Cropping. Das Werkbild
   behält sein natürliches Seitenverhältnis; Desktop bleibt unverändert. */
@media(max-width:760px){
  .np-company-page .np-company-hero .np-subhero-image{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  .np-company-page .np-company-hero .np-subhero-image img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}

/* V2.9.171 – Unternehmensgeschichte: zwei echte Textspalten ohne Spaltenausgleich/Luecken */
@media (min-width: 781px){
  .np-company-story-wide{
    columns:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:52px;
    align-items:start;
  }
  .np-company-story-wide p:nth-child(1),
  .np-company-story-wide p:nth-child(2){grid-column:1;}
  .np-company-story-wide p:nth-child(3),
  .np-company-story-wide p:nth-child(4){grid-column:2;}
  .np-company-story-wide p:nth-child(1){grid-row:1;}
  .np-company-story-wide p:nth-child(2){grid-row:2;}
  .np-company-story-wide p:nth-child(3){grid-row:1;}
  .np-company-story-wide p:nth-child(4){grid-row:2;}
}


/* V2.9.172 – Rueckblick: unabhaengige Textspalten ohne gemeinsame Grid-Zeilenhoehen */
.np-company-story .np-company-excursus-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:38px;
  row-gap:0;
  align-items:start;
}
.np-company-story .np-company-excursus-col{
  display:flex;
  flex-direction:column;
  gap:18px;
  min-width:0;
}
.np-company-story .np-company-excursus-col p{margin:0;}
@media(max-width:780px){
  .np-company-story .np-company-excursus-grid{grid-template-columns:1fr;}
  .np-company-story .np-company-excursus-col{gap:18px;}
}
