/* ============================================================
   Nirinox — Design System
   Basis: v6.html · gilt für alle Seiten
   ============================================================ */
:root{
  --paper:#f4f2ec;
  --paper2:#ece9e2;
  --gold:#a67c34;
  --gold2:#8a6429;
  --steel:#272d34;
  --steel2:#1e2329;
  --steel3:#161b20;
  --ink:#f4f2ec;
  --ink2:rgba(244,242,236,.55);
  --ink3:rgba(244,242,236,.22);
  --divider:rgba(255,255,255,.07);
  --mono:ui-monospace,"SF Mono",Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--steel);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.03em;line-height:1.05}
a{color:inherit;text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 32px}
.kicker{font-family:var(--mono);font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

/* ── NAV ── */
header{background:var(--steel3);border-bottom:1px solid var(--divider);position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;height:56px}
.logo{font-size:1rem;font-weight:800;letter-spacing:-.04em;color:var(--ink)}
.logo em{font-style:normal;color:var(--gold)}
.nav-r{display:flex;align-items:center;gap:6px}
.nl{font-size:.78rem;font-weight:500;color:var(--ink3);padding:.4rem .8rem;transition:color .15s}
.nl:hover,.nl.active{color:var(--ink)}
.nav-cta{background:var(--gold);color:var(--paper);font-size:.78rem;font-weight:700;padding:.42rem 1.1rem;letter-spacing:.01em}
.nav-cta:hover{background:var(--gold2)}
.nav-burger{display:none;background:none;border:0;color:var(--ink);width:36px;height:36px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px}
.nav-burger span{display:block;width:20px;height:2px;background:var(--ink)}
@media(max-width:760px){
  .nl{display:none}
  .nav-burger{display:flex}
  .nav-r{gap:10px}
  .nav-mobile{display:none;flex-direction:column;background:var(--steel3);border-top:1px solid var(--divider)}
  .nav-mobile.open{display:flex}
  .nav-mobile a{padding:14px 32px;font-size:.88rem;color:var(--ink2);border-bottom:1px solid var(--divider)}
  .nav-mobile a.active{color:var(--gold)}
}
@media(min-width:761px){.nav-mobile{display:none!important}}

/* ── PAGE HEADER (Unterseiten) ── */
.pagehead{background:var(--steel2);border-bottom:1px solid var(--divider)}
.pagehead-inner{padding:56px 0 40px}
.pagehead h1{font-size:clamp(2rem,4vw,3rem);color:var(--ink);margin:12px 0 14px}
.pagehead h1 em{font-style:normal;color:var(--gold)}
.pagehead p{font-size:.92rem;color:var(--ink2);max-width:54ch;line-height:1.75}
.breadcrumb{font-family:var(--mono);font-size:.68rem;color:var(--ink3);margin-bottom:4px}
.breadcrumb a:hover{color:var(--ink)}

/* ── HERO (Home) ── */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:580px;border-bottom:1px solid var(--divider)}
@media(max-width:820px){.hero{grid-template-columns:1fr;min-height:auto}}
.hero-l{background:var(--steel2);display:flex;flex-direction:column;justify-content:flex-end}
.hero-l-inner{padding:64px 48px 0;max-width:560px}
@media(max-width:820px){.hero-l-inner{padding:52px 32px 0}}
.hero-kicker{margin-bottom:18px}
.hero h1{font-size:clamp(2.6rem,4.5vw,4.4rem);color:var(--ink);margin-bottom:20px}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero-sub{font-size:.94rem;color:var(--ink2);line-height:1.75;max-width:40ch;margin-bottom:32px}
.hero-btns{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:48px}
.btn-gold{display:inline-block;background:var(--gold);color:var(--paper);font-weight:700;font-size:.88rem;padding:.7rem 1.4rem;border:0;cursor:pointer;font-family:inherit}
.btn-gold:hover{background:var(--gold2)}
.btn-ghost{display:inline-block;border:1px solid var(--ink3);color:var(--ink2);font-weight:500;font-size:.88rem;padding:.68rem 1.35rem}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.hero-photo{background-image:url('photo-tubes.svg');background-size:cover;background-position:center;background-color:var(--steel3)}
@media(max-width:820px){.hero-photo{display:none}}

/* ── SPEC STRIP ── */
.spec-strip{border-top:1px solid var(--divider);display:flex;flex-wrap:wrap}
.spec-it{flex:1;min-width:160px;padding:18px 24px;border-right:1px solid var(--divider);font-size:.78rem;color:var(--ink3)}
.spec-it:last-child{border-right:0}
.spec-it b{display:block;font-size:.84rem;font-weight:600;color:var(--ink);margin-bottom:2px}

/* ── LEISTUNGEN / SORTIMENT (paper block) ── */
.leistungen{background:var(--paper);color:var(--steel)}
.leis-inner{padding:64px 0}
.leis-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;padding-bottom:20px;border-bottom:1.5px solid var(--steel);margin-bottom:0}
@media(max-width:680px){.leis-head{grid-template-columns:1fr}}
.leis-head .kicker{color:var(--gold)}
.leis-head h2{font-size:clamp(1.8rem,3vw,2.6rem);color:var(--steel);margin-top:10px}
.leis-head p{font-size:.88rem;color:#5a5856}
.leis-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1.5px solid var(--steel)}
@media(max-width:720px){.leis-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.leis-grid{grid-template-columns:1fr}}
.lc{padding:28px 24px;border-right:1.5px solid var(--steel);border-bottom:1.5px solid var(--steel);position:relative;overflow:hidden}
.lc:nth-child(3n){border-right:0}
.lc:nth-last-child(-n+3){border-bottom:0}
.lc:hover{background:var(--paper2)}
.lc-bg{position:absolute;right:-8px;bottom:-20px;font-size:6rem;font-weight:900;color:rgba(39,45,52,.05);line-height:1;pointer-events:none;font-variant-numeric:tabular-nums}
.lc-n{font-family:var(--mono);font-size:.63rem;color:var(--gold);margin-bottom:14px;font-weight:700;letter-spacing:.1em}
.lc h3{font-size:1rem;font-weight:700;color:var(--steel);margin-bottom:8px}
.lc p{font-size:.82rem;color:#5a5856;line-height:1.65;position:relative;z-index:1}
.lc-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1}
.tag{font-family:var(--mono);font-size:.62rem;border:1px solid #c8c4ba;padding:2px 7px;color:#8a8680}
.lc-more{margin-top:14px;position:relative;z-index:1}
.lc-more summary{cursor:pointer;font-family:var(--mono);font-size:.68rem;color:var(--gold);font-weight:700;letter-spacing:.04em;list-style:none}
.lc-more summary::-webkit-details-marker{display:none}
.lc-more summary::after{content:"+ Details";}
.lc-more[open] summary::after{content:"– Details";}
.lc-more-body{margin-top:10px;font-size:.8rem;color:#5a5856;line-height:1.7}
.lc-more-body ul{margin:6px 0 0 18px}
.lc-more-body li{margin-bottom:3px}
.leis-cta{margin-top:32px;text-align:center}

/* ── FÜR WEN (steel) ── */
.fw{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider)}
.fw-inner{padding:64px 0}
.fw-top{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--divider);margin-bottom:0}
.fw-top h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.fw-top p{font-size:.84rem;color:var(--ink3);max-width:30ch;text-align:right}
@media(max-width:640px){.fw-top{flex-direction:column;gap:8px}.fw-top p{text-align:left}}
.fw-row{display:grid;grid-template-columns:64px 1fr 1fr;gap:32px;padding:22px 0;border-bottom:1px solid var(--divider);align-items:start}
.fw-row:last-child{border-bottom:0}
@media(max-width:680px){.fw-row{grid-template-columns:40px 1fr}.fw-note{display:none}}
.fw-n{font-family:var(--mono);font-size:.68rem;color:var(--ink3);padding-top:3px;font-weight:600}
.fw-row h4{font-size:.94rem;font-weight:700;color:var(--ink);margin-bottom:5px}
.fw-desc{font-size:.84rem;color:var(--ink2);line-height:1.65}
.fw-note{font-size:.78rem;color:var(--gold);line-height:1.65;font-style:italic}

/* ── PROZESS (paper block)── */
.prozess{background:var(--paper);color:var(--steel)}
.pz-inner{padding:64px 0}
.pz-head{font-family:var(--mono);font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.pz-title{font-size:clamp(1.8rem,3vw,2.6rem);color:var(--steel);padding-bottom:20px;border-bottom:1.5px solid var(--steel);margin-bottom:0}
.pz-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:0;border-bottom:1px solid #d8d3c8;align-items:start}
.pz-row:last-child{border-bottom:0}
@media(max-width:680px){.pz-row{grid-template-columns:56px 1fr}.pz-note{display:none}}
.pz-n{font-size:2.6rem;font-weight:900;color:#d8d3c8;padding:22px 0;text-align:center;line-height:1}
.pz-main{padding:22px 28px;border-left:1px solid #d8d3c8}
.pz-main h3{font-size:.96rem;font-weight:700;color:var(--steel);margin-bottom:6px}
.pz-main p{font-size:.82rem;color:#5a5856;line-height:1.65}
.pz-note{padding:22px 28px;border-left:1px solid #d8d3c8;font-size:.76rem;color:#9a9690;font-style:italic;line-height:1.7}

/* ── TEXT-SEITEN (Über uns / Impressum / Datenschutz) ── */
.textpage{background:var(--paper);color:var(--steel)}
.textpage-inner{padding:56px 0 80px;max-width:760px}
.textpage h2{font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--steel);margin:40px 0 14px}	
.textpage h2:first-child{margin-top:0}
.textpage h3{font-size:1rem;color:var(--steel);margin:20px 0 8px}
.textpage p{font-size:.9rem;color:#4a4844;line-height:1.8;margin-bottom:12px}
.textpage ul{margin:0 0 12px 20px}

.textpage li{font-size:.9rem;color:#4a4844;line-height:1.8;margin-bottom:4px}
.textpage strong{color:var(--steel)}
.values{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
@media(max-width:600px){.values{grid-template-columns:1fr}}
.value-card{border:1.5px solid var(--steel);padding:18px 20px}
.value-card h3{margin-top:0;font-size:.94rem}
.value-card p{font-size:.82rem;margin-bottom:0}

.grade-groups{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin:24px 0 8px}
@media(max-width:760px){.grade-groups{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.grade-groups{grid-template-columns:1fr}}
.grade-group{border:1.5px solid #d8d3c8;padding:16px 18px}
.grade-group h3{margin:0 4px;font-size:.86rem;color:var(--steel)}
.grade-group .gg-sub{font-size:.72rem;color:#9a9690;margin-bottom:10px;line-height:1.5}
.grade-group .lc-tags{margin-top:0}

/* ── ANFRAGE / KONTAKT  (forms) ── */
.anfrage{border-top:1px solid var(--divider)}
.anf-inner{padding:64px 0}
.anf-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:72px;align-items:start}
@media(max-width:820px){.anf-grid{grid-template-columns:1fr;gap:36px}}
.anf-l .kicker{margin-bottom:12px}
.anf-l h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:12px}
.anf-l p{font-size:.88rem;color:var(--ink2);max-width:32ch}
.pts{margin-top:24px;display:flex;flex-direction:column}
.pt{font-size:.8rem;color:var(--ink2);border-top:1px solid var(--divider);padding:10px 0;display:flex;gap:8px}
.pt::before{content:"→";color:var(--gold);font-weight:700;flex-shrink:0}
.contact-block{margin-top:28px;padding-top:20px;border-top:1px solid var(--divider)}
.contact-block a{color:var(--gold);font-size:.84rem}
.contact-block .cl{display:block;font-size:.68rem;font-family:var(--mono);color:var(--ink3);text-transform:uppercase;letter-spacing:.08em;margin:12px 0 3px}
.contact-block .cl:first-child{margin-top:0}

form{background:var(--paper);padding:28px}
.fi{margin-bottom:12px}
.fi label{display:block;font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9a9690;margin-bottom:5px}
.fi input,.fi select,.fi textarea{width:100%;padding:.58rem .72rem;border:1.5px solid #d8d3c8;background:var(--paper);color:var(--steel);font:inherit;font-size:.88rem;border-radius:0;resize:vertical}
.fi input:focus,.fi select:focus,.fi textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(166,124,52,.12)}
.fi-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:460px){.fi-row{grid-template-columns:1fr}}
.sbtn{width:100%;background:var(--gold);color:var(--paper);font-weight:700;font-size:.86rem;padding:.74rem;border:0;cursor:pointer;font-family:inherit;margin-top:4px}
.sbtn:hover{background:var(--gold2)}
.sbtn:disabled{opacity:.6;cursor:wait}
.fn{font-size:.68rem;color:#9a9690;margin-top:8px}
.fn a{color:var(--gold)}
.ok{display:none;background:#f0faf5;border:1.5px solid #b2ddc8;padding:14px;color:#1e6e44;font-size:.84rem;margin-top:10px}
.ok.show{display:block}
.err{display:none;background:#fbf0ee;border:1.5px solid #e3b8ae;padding:14px;color:#8a2f1e;font-size:.84rem;margin-top:10px}
.err.show{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── FOOTER ── */
footer{background:var(--steel3);border-top:1px solid var(--divider);padding:24px 0}
.foot-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.foot-logo{font-size:.92rem;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.foot-logo em{font-style:normal;color:var(--gold)}
.foot-links{display:flex;gap:20px;flex-wrap:wrap}
.foot-links a{font-size:.76rem;color:var(--ink3)}
.foot-links a:hover{color:var(--ink)}
.foot-copy{font-family:var(--mono);font-size:.64rem;color:var(--ink3);margin-top:12px}

/* ── CHATBOT WIDGET ── */
.cb-btn{position:fixed;right:20px;bottom:20px;width:52px;height:52px;border-radius:50%;background:var(--gold);color:var(--paper);border:0;cursor:pointer;font-size:1.3rem;font-weight:700;z-index:100;box-shadow:0 4px 16px rgba(0,0,0,.3)}
.cb-btn:hover{background:var(--gold2)}
.wa-btn{position:fixed;right:84px;bottom:20px;width:52px;height:52px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;z-index:100;box-shadow:0 4px 16px rgba(0,0,0,.3);text-decoration:none}
.wa-btn:hover{background:#1ebc59}
.wa-btn svg{width:26px;height:26px}
@media(max-width:460px){.wa-btn{right:20px;bottom:82px}}
.cb-panel{position:fixed;right:20px;bottom:82px;width:328px;max-width:calc(100vw - 40px);max-height:min(480px,70vh);background:var(--steel2);border:1px solid var(--divider);box-shadow:0 12px 32px rgba(0,0,0,.4);z-index:100;display:none;flex-direction:column;overflow:hidden}
.cb-panel.open{display:flex}
.cb-head{background:var(--steel3);padding:12px 16px;border-bottom:1px solid var(--divider);display:flex;justify-content:space-between;align-items:center}
.cb-head b{font-size:.84rem;color:var(--ink)}
.cb-head span{font-size:.66rem;color:var(--ink3);font-family:var(--mono)}
.cb-close{background:none;border:0;color:var(--ink3);cursor:pointer;font-size:1rem}
.cb-body{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.cb-msg{font-size:.8rem;line-height:1.6;padding:9px 12px;max-width:88%}
.cb-msg.bot{background:var(--steel3);color:var(--ink2);align-self:flex-start;border-left:2px solid var(--gold)}
.cb-msg.user{background:var(--gold);color:var(--paper);align-self:flex-end}
.cb-typing{display:flex;gap:4px;align-items:center;padding:12px}
.cb-typing span{width:5px;height:5px;border-radius:50%;background:var(--ink3);animation:cbBlink 1.1s infinite ease-in-out}
.cb-typing span:nth-child(2){animation-delay:.15s}
.cb-typing span:nth-child(3){animation-delay:.3s}
@keyframes cbBlink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.cb-faq{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px}
.cb-chip{font-family:var(--mono);font-size:.66rem;border:1px solid var(--ink3);color:var(--ink2);padding:5px 9px;cursor:pointer;background:none}
.cb-chip:hover{border-color:var(--gold);color:var(--gold)}
.cb-input-row{display:flex;border-top:1px solid var(--divider)}
.cb-input-row input{flex:1;background:var(--steel2);border:0;color:var(--ink);font:inherit;font-size:.8rem;padding:12px 14px}
.cb-input-row input:focus{outline:none}
.cb-input-row button{background:var(--gold);color:var(--paper);border:0;padding:0 16px;cursor:pointer;font-weight:700}
.cb-input-row button:hover{background:var(--gold2)}
