/* G&P GmbH — Industrial Engineering design system v2 (2026-04-26)
   Design tokens, layout primitives, mobile-safe v2 + FIT-v3 boilerplate
   v25 (2026-04-27 night): hero gold accent + blue→gold buttons + favicon refresh */

/* ==================== HERO GOLD ACCENT (Pinky 2026-04-27) ==================== */
.hl-gold {
  display: inline-block;
  background: linear-gradient(135deg, #FBBF24 0%, #F59E0B 45%, #DC8B0A 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  position: relative;
  filter: drop-shadow(0 4px 18px rgba(245,158,11,.35));
  letter-spacing: -.01em;
  background-size: 200% 100%;
  animation: hlGoldShimmer 6s ease-in-out infinite;
}
@keyframes hlGoldShimmer {
  0%,100% { background-position: 0% 50%; }
  50%     { background-position: 100% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .hl-gold { animation: none; }
}

/* ==================== PINKY-MOBILE-SAFE-v2 + FIT-v3 ==================== */
*{box-sizing:border-box}
html, body {
  overflow-x: hidden !important;
  max-width: 100vw;
  width: 100%;
  touch-action: pan-y;
  overscroll-behavior-x: none;
  -webkit-overflow-scrolling: touch;
}
html { position: relative; scroll-behavior: smooth; -webkit-text-size-adjust:100%; }
body { position: relative; }
main, section, header, footer, nav { max-width: 100vw; }
img, video, svg, canvas, iframe { max-width: 100%; height: auto; }

/* ==================== TOKENS ==================== */
/* Global dark-blue context — text vars flipped to light (Pinky 2026-04-27)
 * Components with light backgrounds (.acc-card, .btn.invert, .btn.amber) restore dark vars locally below */
:root{
  --bg:transparent;
  --surface:rgba(255,255,255,.04);
  --surface-2:rgba(255,255,255,.07);
  --steel:#1F2937;
  --ink:#FFFFFF;
  --ink-2:#FFFFFF;
  --muted:rgba(255,255,255,.72);
  --soft:rgba(255,255,255,.50);
  --line:rgba(255,255,255,.12);
  --line-2:rgba(255,255,255,.20);
  --gp-red:#D4151D;
  --gp-blue:#1B4BB7;
  --green:#16A34A;
  --green-bg:rgba(22,163,74,.08);
  /* New industrial premium palette (logo-aligned) */
  --brand-1:#1E3A5F;
  --brand-2:#0F4C81;
  --brand-3:#3A4A5C;
  --accent:#F59E0B;
  --accent-2:#DC8B0A;
  --accent-bg:rgba(245,158,11,.10);
  --grad-cta:linear-gradient(135deg,#1E3A5F 0%,#0F4C81 60%,#1E5A9F 100%);
  --grad-cta-hover:linear-gradient(135deg,#0F4C81 0%,#1B6BB7 60%,#2778C9 100%);
  --grad-amber:linear-gradient(135deg,#F59E0B 0%,#DC8B0A 100%);
  --black:#0A0A0A;
  --white:#FFFFFF;
  --radius:2px;
  --radius-card:4px;
  --shadow:0 1px 0 rgba(0,0,0,.04), 0 12px 32px -16px rgba(0,0,0,.08);
  --shadow-sticky:0 1px 0 rgba(255,255,255,.06), 0 6px 24px -10px rgba(0,0,0,.4);
  --max:1280px;
  --pad:24px;
  --font-sans:'Inter Tight','Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --font-mono:'JetBrains Mono','SF Mono',Menlo,Consolas,monospace;
}

body{
  margin:0;
  font-family:var(--font-sans);
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  font-size:26px; /* +3px global bump (Pinky 2026-04-28, was 23px) */
  font-feature-settings:"ss01","cv11";
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:inherit;text-decoration:none}
a:hover{color:var(--gp-red)}

/* ==================== TYPOGRAPHY ==================== */
h1,h2,h3,h4{margin:0;letter-spacing:-.02em;line-height:1.15;font-weight:800}
h1{font-size:clamp(2.4rem, 5vw + .5rem, 4.4rem)}
h2{font-size:clamp(1.7rem, 2.5vw + .5rem, 2.6rem)}
h3{font-size:clamp(1.2rem, 1.5vw + .5rem, 1.55rem);font-weight:700}
h4{font-size:1.08rem;font-weight:700}

.kicker{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
  font-weight:600;
  padding-bottom:14px;
}
.kicker.green{color:var(--green)}
.kicker.dot::before{
  content:"";
  display:inline-block;
  width:6px;height:6px;border-radius:50%;
  background:var(--green);
  vertical-align:middle;
  margin-right:8px;
  margin-top:-2px;
  box-shadow:0 0 0 4px var(--green-bg);
}
.lead{font-size:1.12rem;color:var(--muted);max-width:62ch;line-height:1.7}
.eyebrow{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);font-weight:600}
.mono{font-family:var(--font-mono)}

/* ==================== LAYOUT ==================== */
.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad);width:100%}
.section{padding:96px 0;position:relative}
.section.tight{padding:64px 0}
.section.thin{padding:40px 0}

.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

.row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.row.sb{justify-content:space-between}
.row.col{flex-direction:column;align-items:stretch}

.divider{height:1px;background:var(--line);margin:0;border:0}
.divider.dark{background:rgba(255,255,255,.08)}
.spacer{height:80px}
.spacer.s{height:32px}
.spacer.l{height:120px}

/* ==================== BUTTONS — Brand Blue → Gold hover (Pinky 2026-04-27) ==================== */
.btn{
  position:relative;
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 22px;
  font-family:var(--font-sans);font-size:14px;font-weight:600;
  background:#1E40AF;color:#FFFFFF;
  border:1px solid #1E3A8A;
  border-radius:6px;
  cursor:pointer;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
  letter-spacing:.01em;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 1px 0 rgba(255,255,255,.10) inset, 0 6px 18px -10px rgba(30,64,175,.55);
}
.btn::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,#FBBF24 0%,#F59E0B 100%);
  transform:translateY(101%);
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
  z-index:-1;
}
.btn:hover{
  transform:translateY(-2px);
  background:#F59E0B;
  color:#0A0A0A;
  border-color:#F59E0B;
  box-shadow:0 14px 32px -10px rgba(245,158,11,.6), 0 2px 0 rgba(255,255,255,.15) inset;
}
.btn:hover::before{transform:translateY(0)}
/* Ghost: outline style, white text on dark, blue→gold border on hover */
.btn.ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.32);box-shadow:none}
.btn.ghost:hover{color:#0A0A0A;border-color:#F59E0B;background:#F59E0B}
.btn.ghost::before{display:none}
/* Invert: white on dark page, hover blue */
.btn.invert{background:var(--white);color:#0A0A0A;border-color:var(--white)}
.btn.invert:hover{background:#F59E0B;color:#0A0A0A;border-color:#F59E0B}
/* Primary CTA — kept under .red class to avoid template churn (now solid blue → gold) */
.btn.red{
  background:#1E40AF;
  border:1px solid #1E3A8A;
  color:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.14) inset, 0 14px 32px -14px rgba(30,64,175,.7);
}
.btn.red:hover{
  background:#F59E0B;
  color:#0A0A0A;
  border-color:#F59E0B;
  box-shadow:0 18px 40px -14px rgba(245,158,11,.65), 0 1px 0 rgba(255,255,255,.18) inset;
}
.btn.amber{background:linear-gradient(135deg,#FBBF24 0%,#F59E0B 100%);border-color:transparent;color:#0A0A0A;font-weight:700}
.btn.amber:hover{
  background:#1E40AF;color:#FFFFFF;border-color:#1E3A8A;
  box-shadow:0 18px 40px -14px rgba(30,64,175,.65);
}
.btn.amber::before{display:none}
.btn.sm{padding:10px 14px;font-size:13px}
.btn.lg{padding:18px 28px;font-size:15px}
.btn::after{
  content:"→";
  font-size:16px;
  transition:transform .2s;
}
.btn.no-arrow::after{content:none}
.btn:hover::after{transform:translateX(3px)}

/* ==================== HEADER ==================== */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--black);
  color:var(--white);
  border-bottom:1px solid rgba(255,255,255,.06);
  backdrop-filter:saturate(150%);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;max-width:var(--max);margin:0 auto;gap:24px;
}
.brand{
  display:inline-flex;align-items:center;gap:14px;
  font-weight:800;font-size:18px;letter-spacing:-.01em;
}
.brand{gap:14px;align-items:center}
.brand-logo{
  display:block;
  height:64px;width:auto;flex:none;
  filter:drop-shadow(0 6px 18px rgba(245,158,11,.25));
  transition:transform .35s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}
.brand:hover .brand-logo{transform:translateY(-1px) scale(1.03);filter:drop-shadow(0 10px 24px rgba(245,158,11,.4))}
.brand .tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600;align-self:center}
.site-header .nav-inner{padding-top:14px;padding-bottom:14px}
@media(max-width:920px){
  .brand-logo{height:56px}
}
@media(max-width:640px){
  .brand-logo{height:48px}
  .brand .tag{display:none}
}

.nav-links{display:flex;gap:6px;align-items:center}
.nav-links a, .nav-trigger{
  padding:11px 15px;font-size:18px;font-weight:500;
  color:rgba(255,255,255,.78);
  border-radius:var(--radius);
  transition:color .15s, background .15s;
  background:none;border:0;font-family:inherit;cursor:pointer;
  text-decoration:none;
}
/* Hover ciemnoniebieski (G&P brand-1 #1E3A5F) — Pinky 2026-04-27 */
.nav-links a:hover, .nav-trigger:hover, .nav-item.has-dropdown:hover .nav-trigger{
  color:var(--white) !important;background:var(--brand-1) !important;
}
.nav-links a.active, .nav-item.has-dropdown.active .nav-trigger{
  color:var(--white) !important;background:var(--brand-1) !important;
}

/* ==================== DROPDOWN — Produkte ==================== */
.nav-item.has-dropdown{position:relative;display:inline-flex;align-items:center}
.nav-trigger{display:inline-flex;align-items:center;gap:6px}
.nav-trigger .chevron{width:10px;height:10px;flex:none;transition:transform .25s ease}
.nav-item.has-dropdown:hover .chevron,
.nav-item.has-dropdown:focus-within .chevron{transform:rotate(180deg)}

.dropdown{
  position:absolute;
  top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(-8px);
  min-width:300px;
  background:rgba(15,30,55,.96);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:10px;
  box-shadow:0 32px 80px -24px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.06) inset;
  opacity:0;visibility:hidden;
  transition:opacity .2s ease, transform .25s cubic-bezier(.2,.8,.2,1), visibility 0s linear .25s;
  z-index:100;
}
/* niewidoczny "most" między triggerem a dropdownem aby hover się nie zerwał */
.dropdown::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.nav-item.has-dropdown:hover .dropdown,
.nav-item.has-dropdown:focus-within .dropdown{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);
  transition:opacity .2s ease, transform .25s cubic-bezier(.2,.8,.2,1), visibility 0s;
}
.dropdown-item{
  display:flex !important;align-items:center;gap:14px;
  padding:12px 14px !important;
  border-radius:10px;
  color:rgba(255,255,255,.88) !important;
  font-size:15.5px !important;
  font-weight:500 !important;
  text-decoration:none;
  background:none !important;
  transition:background .15s, color .15s, transform .2s;
  width:100%;box-sizing:border-box;
}
.dropdown-item:hover{
  background:var(--brand-1) !important;color:#fff !important;transform:translateX(2px);
}
.dd-icon-wrap{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:8px;
  background:rgba(245,158,11,.10);
  border:1px solid rgba(245,158,11,.18);
  flex:none;
}
.dd-icon{width:20px;height:20px;opacity:.92;filter:brightness(0) invert(1)}
.dropdown-item:hover .dd-icon-wrap{background:rgba(245,158,11,.20);border-color:rgba(245,158,11,.45)}
.dd-label{flex:1;letter-spacing:.005em}

.lang-switch{display:flex;gap:4px;font-family:var(--font-mono);font-size:13px;letter-spacing:.1em;color:rgba(255,255,255,.5)}
.lang-switch a{padding:9px 11px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);text-transform:uppercase}
.lang-switch a:hover{color:#fff;background:var(--brand-1);border-color:var(--brand-1)}
.lang-switch a.on{color:#fff;background:var(--brand-1);border-color:var(--brand-1)}

.nav-cta{margin-left:8px}
.nav-cta.btn{justify-content:center;text-align:center}  /* tekst CTA wyśrodkowany — Pinky 2026-04-27 */
.nav-cta.btn.sm{font-size:16px;padding:12px 22px}

.burger{display:none;background:none;border:0;color:var(--white);padding:8px;cursor:pointer}
.burger svg{width:22px;height:22px}

@media(max-width:920px){
  .nav-links{
    position:absolute;top:100%;left:0;right:0;
    background:var(--black);
    flex-direction:column;
    padding:12px;
    border-bottom:1px solid rgba(255,255,255,.08);
    transform-origin:top;transform:scaleY(0);transition:transform .2s;
  }
  .nav-links.open{transform:scaleY(1)}
  .nav-links a, .nav-trigger{padding:14px 16px;width:100%;font-size:17px;justify-content:flex-start}
  .nav-item.has-dropdown{display:flex;flex-direction:column;align-items:stretch;width:100%}
  .nav-trigger .chevron{display:none}
  /* Dropdown mobile: rozwinięty zawsze (zero hover na mobile) */
  .dropdown{
    position:static;transform:none;
    opacity:1;visibility:visible;
    background:rgba(255,255,255,.03) !important;
    -webkit-backdrop-filter:none;backdrop-filter:none;
    border:0;box-shadow:none;border-radius:8px;
    padding:6px 4px;margin:4px 4px 8px;
    min-width:0;width:auto;
    transition:none;
  }
  .dropdown::before{display:none}
  .dropdown-item{padding:12px 14px 12px 36px !important;font-size:15px !important}
  .burger{display:inline-flex}
  .nav-cta{display:none}
}
@media(max-width:640px){
  body{font-size:25px}  /* +3px from previous 22 (Pinky 2026-04-28) */
  .nav-links a, .nav-trigger{font-size:18px}
  .dropdown-item{font-size:16.5px !important}
}

/* ==================== HERO (lighter blue tier · animated max — Pinky 2026-04-27) ==================== */
.hero{
  position:relative;
  background:
    radial-gradient(1100px 720px at 78% 18%, rgba(245,158,11,.22), transparent 60%),
    radial-gradient(900px 700px at 12% 82%, rgba(43,118,187,.40), transparent 60%),
    linear-gradient(180deg, #143B6A 0%, #1B5092 50%, #163E70 100%);
  color:#FFFFFF;
  padding:96px 0 112px;
  overflow:hidden;
  isolation:isolate;
}
/* Animated mesh sheen across hero (additional layer over blobs) */
.hero::after{
  background:linear-gradient(90deg, transparent 0%, rgba(245,158,11,.85) 30%, rgba(43,118,187,.85) 70%, transparent 100%) !important;
}
/* Animated diagonal shimmer overlay */
.hero{
  background-image:
    radial-gradient(1100px 720px at 78% 18%, rgba(245,158,11,.22), transparent 60%),
    radial-gradient(900px 700px at 12% 82%, rgba(43,118,187,.40), transparent 60%),
    linear-gradient(180deg, #143B6A 0%, #1B5092 50%, #163E70 100%);
}
.hero .blob{mix-blend-mode:screen !important;opacity:.55 !important}
.hero::before{
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px) !important;
}
.hero-text h1, .hero-text .lead, .hero-text{color:#FFFFFF}
.hero-stat .v{color:#FFFFFF}
.hero-stat .l{color:rgba(255,255,255,.65)}
/* Soft animated blobs (steel + amber instead of green) */
.hero .blob{
  position:absolute;border-radius:50%;
  filter:blur(90px);
  opacity:.45;
  pointer-events:none;
  mix-blend-mode:multiply;
  z-index:0;
  will-change:transform;
}
.hero .blob.b1{width:600px;height:600px;background:radial-gradient(circle,rgba(15,76,129,.45) 0%,rgba(15,76,129,0) 70%);top:-180px;left:-140px;animation:bfloat 24s ease-in-out infinite}
.hero .blob.b2{width:520px;height:520px;background:radial-gradient(circle,rgba(245,158,11,.40) 0%,rgba(245,158,11,0) 70%);bottom:-180px;right:-120px;animation:bfloat 30s ease-in-out infinite reverse;animation-delay:-6s}
.hero .blob.b3{width:360px;height:360px;background:radial-gradient(circle,rgba(58,74,92,.35) 0%,rgba(58,74,92,0) 70%);top:40%;left:50%;transform:translateX(-50%);animation:bfloat 19s ease-in-out infinite;animation-delay:-3s}
@keyframes bfloat{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(60px,-40px) scale(1.08)}
  66%{transform:translate(-40px,50px) scale(.94)}
}
/* Legacy leaf elements – stylised as drifting amber/steel sparks */
.hero .leaf{
  position:absolute;width:22px;height:22px;
  pointer-events:none;
  opacity:.25;
  z-index:0;
  animation:lfloat 16s linear infinite;
  will-change:transform, opacity;
}
.hero .leaf svg{width:100%;height:100%;color:var(--accent)}
.hero .leaf.l1{top:18%;left:8%;animation-delay:0s}
.hero .leaf.l2{top:74%;left:14%;animation-delay:-3s;width:18px;height:18px;color:var(--brand-2)}
.hero .leaf.l3{top:30%;left:42%;animation-delay:-7s;width:14px;height:14px;opacity:.18}
.hero .leaf.l4{top:60%;right:18%;animation-delay:-2s;width:20px;height:20px;color:var(--brand-2)}
.hero .leaf.l5{top:12%;right:6%;animation-delay:-10s;width:18px;height:18px;opacity:.22}
@keyframes lfloat{
  0%{transform:translate(0,0) rotate(0deg);opacity:0}
  10%{opacity:.4}
  50%{transform:translate(24px,-36px) rotate(180deg);opacity:.45}
  90%{opacity:.25}
  100%{transform:translate(48px,-100px) rotate(360deg);opacity:0}
}
/* Engineering grid pattern */
.hero::before{
  content:"";
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(15,76,129,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,76,129,.06) 1px, transparent 1px);
  background-size:56px 56px;
  pointer-events:none;
  mask-image:radial-gradient(1100px 800px at 50% 40%, black 30%, transparent 85%);
  -webkit-mask-image:radial-gradient(1100px 800px at 50% 40%, black 30%, transparent 85%);
  z-index:0;
  animation:gridDrift 60s linear infinite;
}
@keyframes gridDrift{
  0%{background-position:0 0, 0 0}
  100%{background-position:56px 56px, 56px 56px}
}
/* Top sweep highlight + bottom edge */
.hero::after{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(245,158,11,.55) 30%, rgba(15,76,129,.55) 70%, transparent 100%);
  z-index:1;
  animation:sweep 8s ease-in-out infinite alternate;
}
@keyframes sweep{
  0%{transform:translateX(-30%);opacity:.3}
  100%{transform:translateX(30%);opacity:.9}
}
/* Spotlight under machine */
.hero-art::before{
  content:"";position:absolute;inset:auto 0 -20px 0;height:60%;
  background:radial-gradient(50% 60% at 50% 100%, rgba(15,76,129,.18), transparent 70%);
  pointer-events:none;z-index:0;
  animation:pulseLight 6s ease-in-out infinite;
}
@keyframes pulseLight{
  0%,100%{opacity:.5;transform:scale(1)}
  50%{opacity:.85;transform:scale(1.04)}
}
/* Particles (added via .particle in HTML) */
.hero .particle{
  position:absolute;width:4px;height:4px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 8px rgba(245,158,11,.6);
  pointer-events:none;z-index:1;opacity:0;
  animation:particleRise 9s linear infinite;
}
.hero .particle.p1{left:10%;animation-delay:0s}
.hero .particle.p2{left:25%;animation-delay:-2s;background:var(--brand-2);box-shadow:0 0 8px rgba(15,76,129,.6)}
.hero .particle.p3{left:42%;animation-delay:-4s}
.hero .particle.p4{left:60%;animation-delay:-1s;background:var(--brand-2);box-shadow:0 0 8px rgba(15,76,129,.6)}
.hero .particle.p5{left:75%;animation-delay:-6s}
.hero .particle.p6{left:88%;animation-delay:-3s;background:var(--brand-3)}
.hero .particle.p7{left:18%;animation-delay:-5s;animation-duration:11s;width:3px;height:3px}
.hero .particle.p8{left:35%;animation-delay:-7s;background:var(--brand-2);box-shadow:0 0 6px rgba(15,76,129,.5);animation-duration:13s;width:3px;height:3px}
.hero .particle.p9{left:52%;animation-delay:-1.5s;animation-duration:10s}
.hero .particle.p10{left:68%;animation-delay:-8s;animation-duration:12s;width:5px;height:5px}
@keyframes particleRise{
  0%{transform:translateY(80vh) translateX(0);opacity:0}
  10%{opacity:.7}
  50%{transform:translateY(40vh) translateX(20px);opacity:.9}
  90%{opacity:.4}
  100%{transform:translateY(0) translateX(40px);opacity:0}
}

/* ==================== HERO · industrial gears + blueprint lines ==================== */
.hero-gear{
  position:absolute;pointer-events:none;z-index:0;
  filter:drop-shadow(0 4px 16px rgba(15,76,129,.18));
  will-change:transform;
}
.hero-gear.g1{top:8%;right:6%;width:160px;height:160px;color:rgba(15,76,129,.10);animation:gearSpin 40s linear infinite}
.hero-gear.g2{top:62%;left:4%;width:110px;height:110px;color:rgba(245,158,11,.12);animation:gearSpinReverse 28s linear infinite}
.hero-gear.g3{top:30%;left:38%;width:70px;height:70px;color:rgba(15,76,129,.08);animation:gearSpin 22s linear infinite}
@keyframes gearSpin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes gearSpinReverse{
  from{transform:rotate(360deg)}
  to{transform:rotate(0deg)}
}

.hero-lines{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.hero-lines .bline{
  position:absolute;height:1px;width:140%;left:-20%;
  background:linear-gradient(90deg, transparent 0%, rgba(15,76,129,.18) 30%, rgba(245,158,11,.22) 60%, transparent 100%);
  transform-origin:0 0;
  will-change:transform, opacity;
}
.hero-lines .bl1{top:22%;transform:rotate(-8deg);animation:lineSweep 14s ease-in-out infinite}
.hero-lines .bl2{top:54%;transform:rotate(6deg);animation:lineSweep 18s ease-in-out infinite;animation-delay:-4s;opacity:.7}
.hero-lines .bl3{top:78%;transform:rotate(-12deg);animation:lineSweep 22s ease-in-out infinite;animation-delay:-9s;opacity:.55}
@keyframes lineSweep{
  0%,100%{transform:translateX(-15%) rotate(-8deg);opacity:.0}
  20%{opacity:.7}
  50%{transform:translateX(8%) rotate(-8deg);opacity:.9}
  80%{opacity:.5}
}

/* Scanning vertical beam */
.hero-scan{
  position:absolute;top:0;bottom:0;width:2px;left:0;
  background:linear-gradient(180deg, transparent 0%, rgba(245,158,11,.55) 35%, rgba(15,76,129,.6) 65%, transparent 100%);
  filter:blur(1px);
  pointer-events:none;z-index:0;
  animation:scanBeam 11s ease-in-out infinite;
}
@keyframes scanBeam{
  0%,100%{left:0%;opacity:0}
  10%{opacity:.6}
  50%{left:100%;opacity:.8}
  90%{opacity:.4}
}

@media (prefers-reduced-motion:reduce){
  .hero-gear,.hero-lines .bline,.hero-scan,.hero .particle,.hero .blob,.hero .leaf{animation:none !important}
}
@media (max-width:640px){
  .hero-gear.g1{width:100px;height:100px;top:4%;right:-2%}
  .hero-gear.g2{width:70px;height:70px}
  .hero-gear.g3{display:none}
  .hero-lines .bline{opacity:.4 !important}
}
.hero-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;
}
.hero-text .kicker.green{color:var(--green)}
.hero-text h1{margin:18px 0 22px;color:var(--ink)}
.hero-text .lead{color:var(--ink-2);max-width:54ch;font-size:1.15rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-art{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  min-height:480px;
}
.hero-machine-wrap{
  position:relative;
  width:100%;max-width:640px;
  aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 70% 60% at 50% 50%, #2A2D33 0%, #1F2227 35%, #14161A 70%, #0C0D10 100%);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:
    0 1px 0 rgba(255,255,255,.06) inset,
    0 28px 70px -30px rgba(15,76,129,.35),
    0 60px 120px -60px rgba(0,0,0,.35);
}
.hero-machine-wrap::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(60% 80% at 50% 110%, rgba(255,255,255,.08), transparent 60%),
    radial-gradient(40% 30% at 50% -10%, rgba(245,158,11,.10), transparent 70%);
  pointer-events:none;z-index:1;
}
.hero-machine{
  width:92%;height:92%;
  object-fit:contain;
  filter:drop-shadow(0 28px 50px rgba(0,0,0,.55));
  transition:opacity .9s cubic-bezier(.4,0,.2,1), transform 1.2s cubic-bezier(.2,.8,.2,1);  /* lazy crossfade — Pinky 2026-04-27 */
  position:relative;z-index:2;
  animation:machineBreath 9s ease-in-out infinite;
}
.hero-machine.fade{opacity:0;transform:scale(.98)}
@keyframes machineBreath{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-8px) scale(1.012)}
}
/* Diagonal shine slide across machine box every 8s */
.hero-machine-wrap::after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.10) 47%, rgba(255,255,255,.18) 50%, rgba(255,255,255,.10) 53%, transparent 70%);
  transform:translateX(-110%);
  animation:machineShine 8s ease-in-out infinite;
}
@keyframes machineShine{
  0%,15%{transform:translateX(-110%)}
  35%,100%{transform:translateX(110%)}
}

/* Auto slider progress bar */
.hero-progress{
  position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:5;
  display:flex;gap:5px;padding:7px 12px;
  background:rgba(20,22,26,.6);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  box-shadow:0 8px 24px -8px rgba(0,0,0,.18);
}
.hero-progress .seg{
  width:18px;height:4px;border-radius:99px;
  background:rgba(255,255,255,.22);border:0;cursor:pointer;
  padding:0;transition:background .25s, width .25s, transform .15s;
}
.hero-progress .seg:hover{background:rgba(255,255,255,.4)}
.hero-progress .seg.active{
  background:var(--accent);
  width:36px;
  box-shadow:0 0 0 3px rgba(245,158,11,.20);
}

.hero-stats{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin-top:64px;
  border-top:1px solid rgba(0,0,0,.08);
  border-bottom:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.4);
  backdrop-filter:blur(4px);
  border-radius:4px;
}
.hero-stat{
  padding:24px 20px;
  border-right:1px solid rgba(0,0,0,.06);
}
.hero-stat:last-child{border-right:0}
.hero-stat .v{font-size:1.7rem;font-weight:800;color:var(--ink);font-family:var(--font-sans);letter-spacing:-.02em;line-height:1}
.hero-stat .l{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin-top:8px;font-weight:500}

@media(max-width:880px){
  .hero{padding:48px 0 64px}
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .hero-art{min-height:300px;order:-1}
  .hero-machine{max-width:380px}
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:0}
  .hero-stat{border-bottom:1px solid rgba(255,255,255,.08)}
  .hero-stat:nth-child(2n){border-right:0}
}

/* ==================== CATEGORIES BAR (glass mleczne — Pinky 2026-04-27) ==================== */
.cats-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:transparent;border:0;margin:48px 0}
.cat-tile{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
  border-radius:14px;
  padding:32px 28px;display:block;
  transition:background .25s, border-color .25s, transform .25s, box-shadow .25s;
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 12px 36px -16px rgba(0,0,0,.5);
}
.cat-tile:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(245,158,11,.4);
  transform:translateY(-3px);
  box-shadow:0 1px 0 rgba(255,255,255,.12) inset, 0 24px 48px -18px rgba(245,158,11,.25);
}
.cat-tile .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--soft);font-weight:600;text-transform:uppercase}
.cat-tile h3{margin:14px 0 8px;letter-spacing:-.02em}
.cat-tile p{color:var(--muted);font-size:14.5px;margin:0}
.cat-tile .arrow{margin-top:18px;color:var(--gp-red);font-weight:600;font-size:13.5px;letter-spacing:.01em}

@media(max-width:760px){
  .cats-bar{grid-template-columns:1fr;gap:1px}
}

/* ==================== PRODUCT CARDS (glass mleczne na ciemnoniebieskim — Pinky 2026-04-27) ==================== */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.product-card{
  display:block;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
  border-radius:14px;
  overflow:hidden;
  transition:border-color .25s, transform .25s, box-shadow .25s, background .25s;
  position:relative;
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 16px 40px -20px rgba(0,0,0,.5);
}
.product-card:hover{
  border-color:rgba(245,158,11,.45);
  transform:translateY(-4px);
  background:rgba(255,255,255,.09);
  box-shadow:0 1px 0 rgba(255,255,255,.12) inset, 0 28px 60px -20px rgba(245,158,11,.25);
}
.product-card .img{
  aspect-ratio:4/3;
  background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.02) 100%);
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid rgba(255,255,255,.08);
  position:relative;overflow:hidden;
}
.product-card .img img{width:88%;height:88%;object-fit:contain;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.product-card:hover .img img{transform:scale(1.05)}
.product-card .body{padding:22px 24px}
.product-card .cat-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#F39329;font-weight:700}
.product-card h4{margin:10px 0 8px;font-size:1.15rem;color:#FFFFFF}
.product-card .desc{color:rgba(255,255,255,.78);font-size:14.5px;line-height:1.65;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-card .badge{position:absolute;top:14px;right:14px;background:var(--gp-red);color:#fff;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;padding:5px 10px;border-radius:4px;font-weight:700;text-transform:uppercase;z-index:2;box-shadow:0 8px 20px -8px rgba(212,21,29,.6)}

@media(max-width:980px){.product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.product-grid{grid-template-columns:1fr}}

/* ==================== PRODUCT DETAIL ==================== */
.prod-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;padding:48px 0 24px}
.prod-gallery{
  background:
    radial-gradient(ellipse 70% 60% at 50% 50%, #2A2D33 0%, #1F2227 30%, #14161A 65%, #0C0D10 100%);
  border:1px solid rgba(255,255,255,.06);
  aspect-ratio:4/3;
  display:flex;align-items:center;justify-content:center;
  border-radius:18px;overflow:hidden;position:relative;
  box-shadow:
    0 1px 0 rgba(255,255,255,.05) inset,
    0 30px 70px -30px rgba(15,76,129,.25),
    0 60px 120px -60px rgba(0,0,0,.35);
}
.prod-gallery::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(60% 80% at 50% 110%, rgba(255,255,255,.08), transparent 60%),
    radial-gradient(40% 30% at 50% -10%, rgba(245,158,11,.10), transparent 70%);
  pointer-events:none;z-index:1;
}
.prod-gallery::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(40% 30% at 50% 95%, rgba(0,0,0,.6), transparent 70%);
  pointer-events:none;z-index:1;
  filter:blur(20px);transform:translateY(20%);
}
.prod-gallery img{
  position:relative;z-index:2;
  width:88%;height:88%;object-fit:contain;
  transition:opacity .3s, transform .45s cubic-bezier(.2,.8,.2,1);
  filter:drop-shadow(0 24px 40px rgba(0,0,0,.5));
}
.prod-gallery:hover img{transform:scale(1.05)}
.prod-thumbs{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.prod-thumbs button{
  width:74px;height:60px;border:1px solid var(--line);background:var(--surface);
  border-radius:var(--radius-card);cursor:pointer;padding:6px;
  transition:border-color .2s, transform .25s ease;
  overflow:hidden;
}
.prod-thumbs button img{transition:transform .35s ease}
.prod-thumbs button:hover{border-color:var(--ink-2)}
.prod-thumbs button:hover img{transform:scale(1.08)}
.prod-thumbs button.active{border-color:var(--ink)}

/* ===== Global gentle hover-zoom on imagery ===== */
.cat-tile,
.value-cell,
.contact-card{overflow:hidden}
.cat-tile,
.product-card,
.prod-gallery,
.hero-machine-wrap{transform:translateZ(0)}
/* Hero machine: subtle lift on hover */
.hero-machine{transition:transform .55s cubic-bezier(.2,.8,.2,1), opacity .25s ease}
.hero-machine-wrap:hover .hero-machine:not(.fade){transform:scale(1.04)}
/* Generic image scale on direct hover (covers free-floating <img> in articles, partials etc) */
img.zoomable,
main img:not(.no-zoom):not(.hero-machine):not([alt=""]):not([alt="WhatsApp"]){transition:transform .4s cubic-bezier(.2,.8,.2,1)}
@media (hover:hover){
  main img.zoomable:hover{transform:scale(1.03)}
}
.prod-thumbs img{max-width:100%;max-height:100%;object-fit:contain}

.prod-info h1{font-size:clamp(2rem, 3.2vw, 2.7rem);margin:0 0 14px}
.prod-info .cat-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--green);font-weight:600}
.prod-info .desc{color:var(--ink-2);font-size:15.5px;line-height:1.75;margin:18px 0 32px}
.prod-actions{display:flex;gap:12px;flex-wrap:wrap}

.spec-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:13px;margin-top:24px}
.spec-table th, .spec-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line)}
.spec-table thead th{background:var(--surface);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);font-weight:700}
.spec-table tbody tr:hover{background:var(--surface)}

/* Premium color picker — moves below description */
.color-picker{
  margin-top:8px;padding:22px 22px 20px;
  background:linear-gradient(180deg, #fff 0%, #FAFBFD 100%);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 14px 36px -22px rgba(15,76,129,.18);
}
.color-picker-label{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--soft);font-weight:700;margin-bottom:14px;
}
.color-picker-label .selected{
  color:var(--brand-1);font-weight:800;letter-spacing:.04em;text-transform:none;font-size:13.5px;
  font-family:var(--font-sans);
}
.color-variants{display:flex;gap:12px;flex-wrap:wrap}
.color-chip{
  position:relative;
  display:inline-flex;align-items:center;gap:12px;
  padding:10px 18px 10px 10px;
  border:1.5px solid var(--line);
  border-radius:999px;
  cursor:pointer;font-size:13.5px;font-weight:600;
  transition:transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .3s ease;
  font-family:var(--font-sans);
  background:#fff;color:var(--ink);
}
.color-chip:hover{
  transform:translateY(-2px);
  border-color:var(--brand-2);
  box-shadow:0 12px 26px -16px rgba(15,76,129,.4);
}
.color-chip.active{
  border-color:var(--brand-1);
  background:linear-gradient(135deg, #fff, #F4F8FB);
  box-shadow:0 0 0 4px rgba(15,76,129,.10), 0 14px 30px -16px rgba(15,76,129,.45);
}
.color-chip.active::after{
  content:"✓";position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;font-size:11px;font-weight:800;
  color:#fff;background:var(--brand-2);border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 4px 10px -4px rgba(15,76,129,.6);
}
.color-chip.active{padding-right:36px}
.color-chip .swatch{
  width:34px;height:34px;border-radius:50%;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.08), 0 6px 14px -6px rgba(0,0,0,.25);
  position:relative;
}
.color-chip .swatch::after{
  content:"";position:absolute;inset:3px;border-radius:50%;
  background:radial-gradient(120% 120% at 30% 25%, rgba(255,255,255,.5), transparent 55%);
}
.color-chip .swatch.red{background:var(--gp-red)}
.color-chip .swatch.blue{background:var(--gp-blue)}

/* Sticky gallery on desktop */
@media(min-width:881px){
  .prod-hero > :first-child{position:sticky;top:96px;align-self:start}
}

/* Quick-fact pills under product H1 */
.fact-pills{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 18px}
.fact-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;
  background:rgba(15,76,129,.06);
  border:1px solid rgba(15,76,129,.18);
  color:var(--brand-1);
  font-family:var(--font-mono);font-size:11.5px;font-weight:700;letter-spacing:.06em;
}
.fact-pill .v{color:var(--ink);font-weight:800}
.fact-pill .l{color:var(--brand-2);text-transform:uppercase;letter-spacing:.14em}

/* "Inkludiert" / Included list */
.included-list{
  margin:14px 0 22px;padding:14px 18px;
  background:linear-gradient(135deg, rgba(245,158,11,.06), rgba(15,76,129,.04));
  border-left:3px solid var(--accent);
  border-radius:8px;
  font-size:13.5px;color:var(--ink-2);
}
.included-list strong{color:var(--ink)}

/* Section reveal animation */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);
  will-change:opacity, transform;
}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="100"]{transition-delay:.10s}
.reveal[data-delay="200"]{transition-delay:.20s}
.reveal[data-delay="300"]{transition-delay:.30s}
.reveal[data-delay="400"]{transition-delay:.40s}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* Product description block (long copy) — jasny tekst na ciemnoniebieskim global (Pinky 2026-04-27) */
.prod-section{padding:64px 0;color:#EAF2FB}
.prod-section h2{font-size:clamp(1.5rem,2.4vw,2rem);margin:0 0 22px;letter-spacing:-.01em;color:#fff}
.prod-section h2 .accent-bar{
  display:inline-block;width:38px;height:3px;background:var(--accent);
  vertical-align:middle;margin-right:14px;border-radius:99px;
}
.prod-section .lead{color:#FFFFFF;font-size:1.05rem;line-height:1.75;max-width:72ch;margin:0 0 18px}
.prod-section p{color:#FFFFFF;line-height:1.75;margin:0 0 14px}
.prod-section.alt{background:rgba(255,255,255,.04);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.prod-section a{color:#F39329}
.prod-section a:hover{color:#FFB958}
.prod-section ul, .prod-section ol{color:#FFFFFF}
.prod-section li{color:#FFFFFF;line-height:1.75}
.prod-section .eyebrow{color:#F39329 !important}

/* Accessory carousel (gunter-style "Zusätzliche Ausrüstung") */
.acc-carousel{position:relative;margin-top:8px}
.acc-track{
  display:flex;gap:18px;overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:6px 2px 22px;
  scrollbar-width:thin;scrollbar-color:var(--brand-2) transparent;
}
.acc-track::-webkit-scrollbar{height:8px}
.acc-track::-webkit-scrollbar-track{background:transparent}
.acc-track::-webkit-scrollbar-thumb{background:rgba(15,76,129,.25);border-radius:99px}
.acc-track::-webkit-scrollbar-thumb:hover{background:var(--brand-2)}
.acc-card{
  flex:0 0 280px;scroll-snap-align:start;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(12px) saturate(140%);
  backdrop-filter:blur(12px) saturate(140%);
  color:#FFFFFF;
  border-radius:14px;overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .25s ease, background .25s ease;
  display:flex;flex-direction:column;
}
.acc-card:hover{
  transform:translateY(-4px);
  border-color:var(--brand-2);
  box-shadow:0 22px 44px -22px rgba(15,76,129,.45);
}
.acc-card .img{
  aspect-ratio:4/3;overflow:hidden;
  background:radial-gradient(ellipse 70% 60% at 50% 50%, #F4F8FB 0%, #E2E8F0 100%);
}
.acc-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.acc-card:hover .img img{transform:scale(1.06)}
.acc-card .body{padding:14px 16px 16px}
.acc-card .name{font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:-.005em;margin:0 0 4px}
.acc-card .meta{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);font-weight:700}
.acc-nav{display:flex;gap:10px;justify-content:flex-end;margin-bottom:14px}
.acc-nav button{
  width:42px;height:42px;border-radius:50%;
  border:1px solid var(--line-2);background:#fff;
  cursor:pointer;color:var(--brand-1);
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .25s ease;
}
.acc-nav button:hover{transform:translateY(-2px);border-color:var(--brand-2);background:var(--brand-2);color:#fff;box-shadow:0 12px 24px -12px rgba(15,76,129,.5)}
.acc-nav button:disabled{opacity:.35;cursor:default;transform:none;box-shadow:none}
.acc-nav svg{width:18px;height:18px}
.acc-foot{
  margin-top:14px;font-size:13px;color:var(--ink-2);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.acc-foot a{color:var(--brand-2);font-weight:700;border-bottom:1px solid rgba(15,76,129,.3)}
.acc-foot a:hover{color:var(--accent-2);border-bottom-color:var(--accent-2)}
@media(max-width:640px){
  .acc-card{flex-basis:240px}
}

/* Spec grid (label/value tiles like gunter) */
.spec-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
  border-radius:12px;overflow:hidden;
}
.spec-grid .row{
  background:#fff;padding:18px 20px;
  display:flex;flex-direction:column;gap:6px;
  transition:background .25s ease, transform .25s ease;
}
.spec-grid .row:hover{background:#FAFBFD}
.spec-grid .row .lbl{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);font-weight:700}
.spec-grid .row .val{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.005em}
@media(max-width:880px){.spec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.spec-grid{grid-template-columns:1fr}}

@media(max-width:880px){
  .prod-hero{grid-template-columns:1fr;gap:24px;padding:32px 0 16px}
  .prod-info h1{font-size:1.8rem}
}

/* ==================== VALUES / FEATURES ==================== */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.value-cell{padding:32px 28px;border-right:1px solid var(--line);position:relative}
.value-cell:last-child{border-right:0}
.value-cell .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--gp-red);font-weight:700;text-transform:uppercase}
.value-cell h4{margin:14px 0 10px;font-size:1.08rem}
.value-cell p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}

@media(max-width:880px){
  .values{grid-template-columns:repeat(2,1fr)}
  .value-cell{border-bottom:1px solid var(--line)}
  .value-cell:nth-child(2n){border-right:0}
}
@media(max-width:520px){
  .values{grid-template-columns:1fr}
  .value-cell{border-right:0}
}

/* ==================== ABOUT ==================== */
.about-lead{display:grid;grid-template-columns:1fr 1.6fr;gap:48px;align-items:start;padding:48px 0 24px}
.about-lead h1{font-size:clamp(2rem, 4vw, 3rem)}
.about-lead .lead{font-size:1.2rem;color:var(--ink-2)}
@media(max-width:760px){.about-lead{grid-template-columns:1fr;gap:24px}}

/* Country chip list */
.country-chips{display:flex;flex-wrap:wrap;gap:10px}
.country-chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;
  color:var(--ink);
  transition:transform .25s ease, border-color .2s ease, background .2s ease;
}
.country-chip::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--green);box-shadow:0 0 0 3px rgba(22,163,74,.18);
}
.country-chip:hover{transform:translateY(-2px);border-color:var(--ink-2);background:var(--surface)}

/* Country marquee — subtle EU delivery ticker */
.country-marquee{
  position:relative;
  width:100%;
  max-width:100%;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
}
.country-marquee-track{
  display:inline-flex;
  gap:10px;
  white-space:nowrap;
  animation:country-marquee 42s linear infinite;
  will-change:transform;
  padding-block:4px;
}
.country-marquee:hover .country-marquee-track,
.country-marquee:focus-within .country-marquee-track{animation-play-state:paused}
.country-marquee .country-chip{flex-shrink:0}
@keyframes country-marquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media(prefers-reduced-motion:reduce){
  .country-marquee{mask-image:none;-webkit-mask-image:none;overflow:visible}
  .country-marquee-track{display:flex;flex-wrap:wrap;animation:none;white-space:normal}
}

/* Manufacturing process grid */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.process-step{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  padding:24px 22px;
  position:relative;overflow:hidden;
  transition:transform .3s ease, border-color .25s ease, box-shadow .3s ease;
}
.process-step::after{
  content:"";position:absolute;left:0;top:0;width:36px;height:3px;
  background:var(--green);
}
.process-step .num{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;
  color:var(--soft);font-weight:700;margin-bottom:18px;
}
.process-step h4{margin:0 0 8px;font-size:1.05rem;letter-spacing:-.005em}
.process-step p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.6}
.process-step:hover{
  transform:translateY(-3px);
  border-color:var(--ink-2);
  box-shadow:0 14px 32px -18px rgba(0,0,0,.18);
}
@media(max-width:880px){.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.process-grid{grid-template-columns:1fr}}

/* ==================== FORMS ==================== */
.form{display:grid;gap:14px;max-width:540px}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.form .row2{grid-template-columns:1fr}}
label{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);font-weight:600;margin-bottom:6px;display:block}
input[type=text],input[type=email],input[type=tel],input[type=password],textarea,select{
  width:100%;padding:12px 14px;
  font-size:15px;font-family:var(--font-sans);
  border:1px solid var(--line-2);border-radius:var(--radius);
  background:var(--white);color:var(--ink);
  transition:border-color .15s;
}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--ink)}
textarea{min-height:140px;resize:vertical}
.consent{font-size:13px;color:var(--muted);display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.consent input{margin-top:3px;flex:none}
.form-msg{padding:14px 16px;border-radius:var(--radius);font-size:14px;background:var(--green-bg);color:var(--green);border:1px solid rgba(22,163,74,.2)}
.form-msg.error{background:#fff1ef;color:var(--gp-red);border-color:rgba(212,21,29,.2)}

/* ==================== NEWSLETTER (footer) ==================== */
.newsletter-block{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  padding:32px;
}
.newsletter-block h3{margin:0 0 6px;font-size:1.3rem}
.newsletter-block .lead{font-size:14.5px;margin:0 0 18px;color:var(--muted);max-width:none}
.nl-form{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch;margin-top:6px}
.nl-form input[type=email]{flex:1;min-width:200px}
.nl-form button{flex:none}
.nl-consent{font-size:12px;color:var(--soft);margin-top:10px;line-height:1.55}

/* ==================== CONTACT ==================== */
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:start;padding:32px 0}
.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:32px}
.contact-card h3{margin:0 0 14px;font-size:1.15rem}
.contact-card .item{padding:14px 0;border-top:1px solid var(--line);font-size:14.5px}
.contact-card .item:first-of-type{border-top:0;padding-top:0}
.contact-card .label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);font-weight:600;margin-bottom:6px}
.contact-card .v{color:var(--ink);font-weight:500}
.contact-card .v a{color:var(--ink);border-bottom:1px solid var(--line)}
@media(max-width:880px){.contact-grid{grid-template-columns:1fr;gap:32px}}

/* ==================== FOOTER ==================== */
.site-footer{
  background:var(--black);
  color:rgba(255,255,255,.7);
  padding:64px 0 24px;
  margin-top:96px;
  font-size:14px;
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:40px}
.footer-grid h4{color:var(--white);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-family:var(--font-mono);font-weight:600;margin:0 0 18px}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{padding:6px 0}
.footer-grid a{color:rgba(255,255,255,.65);transition:color .15s}
.footer-grid a:hover{color:var(--white)}
.foot-brand{margin-bottom:18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.foot-logo{
  display:block;height:60px;width:auto;flex:none;
  background:rgba(255,255,255,.96);
  padding:8px 12px;border-radius:10px;
  filter:drop-shadow(0 6px 18px rgba(245,158,11,.25));
}
.foot-tag{color:var(--accent);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;align-self:center}
.foot-addr{font-size:13px;color:rgba(255,255,255,.55);line-height:1.7;margin:14px 0;font-style:normal}
.foot-addr a{color:rgba(255,255,255,.85)}

.nl-form-dark input[type=email]{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:var(--white)}
.nl-form-dark input[type=email]::placeholder{color:rgba(255,255,255,.4)}
.nl-form-dark input[type=email]:focus{border-color:rgba(255,255,255,.4)}
.nl-form-dark .nl-consent{color:rgba(255,255,255,.5)}

.foot-bottom{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;
  margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);
  font-size:12.5px;color:rgba(255,255,255,.4);
}
.foot-bottom .powered{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
.foot-bottom .powered a{color:rgba(255,255,255,.7)}

@media(max-width:880px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .foot-bottom{flex-direction:column;align-items:flex-start}
}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}

/* ==================== WHATSAPP FLOATING ==================== */
/* bottom: 96px aby NIE zasłaniał "Powered by Pinky Creative Studio" w stopce (Pinky 2026-04-27) */
.wa-float{
  position:fixed;bottom:96px;right:22px;z-index:55;
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 18px 12px 14px;
  background:#25D366;color:#fff;
  border-radius:999px;font-weight:700;font-size:14px;
  text-decoration:none;
  box-shadow:0 12px 32px -8px rgba(37,211,102,.4), 0 0 0 4px rgba(37,211,102,.12);
  transition:transform .2s, box-shadow .2s;
  font-family:var(--font-sans);
  letter-spacing:.01em;
}
.wa-float:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 40px -8px rgba(37,211,102,.55), 0 0 0 6px rgba(37,211,102,.18);color:#fff}
.wa-float svg{width:22px !important;height:22px !important;flex:none}
.wa-float .wa-text{font-size:13px}
.wa-float .wa-pulse{
  position:absolute;inset:0;border-radius:999px;border:2px solid #25D366;
  animation:wapulse 2.5s ease-out infinite;
  pointer-events:none;
}
@keyframes wapulse{
  0%{transform:scale(1);opacity:.7}
  80%{transform:scale(1.4);opacity:0}
  100%{transform:scale(1.4);opacity:0}
}
@media(max-width:520px){
  .wa-float{padding:11px 16px 11px 12px;font-size:13px;bottom:84px;right:14px}
  .wa-float .wa-text{display:none}
}

/* WhatsApp inline button (contact card) */
.wa-link{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;
  background:#25D366;color:#fff;
  border-radius:var(--radius);font-weight:600;font-size:13.5px;
  text-decoration:none;
  transition:background .15s;
}
.wa-link:hover{background:#1DA851;color:#fff}
.wa-link svg{width:18px !important;height:18px !important;flex:none}

/* ==================== EASTER EGGS ==================== */
.night-badge{
  position:fixed;bottom:20px;left:20px;z-index:40;
  background:var(--black);color:var(--white);
  padding:10px 14px;border-radius:999px;font-size:12px;font-weight:600;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
  display:none;align-items:center;gap:8px;
  font-family:var(--font-mono);letter-spacing:.04em;
  cursor:default;border:1px solid rgba(255,255,255,.1);
}
.night-badge.show{display:inline-flex}
.night-badge::before{content:"🌙"}

.pinky-overlay{
  position:fixed;inset:auto 20px 20px auto;z-index:40;
  background:linear-gradient(135deg,#0a0a0a,#1f2937);color:var(--white);
  border:1px solid rgba(255,255,255,.1);
  padding:14px 18px;border-radius:8px;
  font-family:var(--font-mono);font-size:12px;
  max-width:280px;line-height:1.6;
  box-shadow:0 24px 48px -12px rgba(0,0,0,.5);
  display:none;
}
.pinky-overlay.show{display:block}
.pinky-overlay h5{margin:0 0 8px;font-size:13px;color:var(--green);letter-spacing:.1em;text-transform:uppercase}
.pinky-overlay code{color:var(--gp-red);background:rgba(212,21,29,.1);padding:1px 5px;border-radius:2px}

.konami-overlay{
  position:fixed;inset:0;z-index:200;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.92), rgba(0,0,0,.98));
  display:none;align-items:center;justify-content:center;
  font-family:var(--font-mono);color:var(--white);text-align:center;
  flex-direction:column;
}
.konami-overlay.show{display:flex;animation:fadein .3s}
.konami-overlay h2{font-size:clamp(2rem,7vw,4.5rem);background:linear-gradient(90deg,var(--gp-red),var(--gp-blue));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em;margin-bottom:18px}
.konami-overlay p{color:rgba(255,255,255,.7);max-width:480px;font-size:14px;line-height:1.7;letter-spacing:.04em}
.konami-overlay button{margin-top:24px;background:var(--white);color:var(--black);border:0;padding:12px 22px;font-family:inherit;font-size:13px;font-weight:600;border-radius:2px;cursor:pointer;letter-spacing:.04em;text-transform:uppercase}
@keyframes fadein{from{opacity:0}to{opacity:1}}

/* ==================== COOKIE BANNER (premium) ==================== */
.cookie-banner{
  position:fixed;left:50%;bottom:24px;z-index:60;
  width:min(720px, calc(100vw - 32px));
  transform:translate(-50%, 24px);
  opacity:0;visibility:hidden;
  transition:transform .45s cubic-bezier(.2,.8,.2,1), opacity .35s ease, visibility 0s linear .45s;
}
.cookie-banner.show{opacity:1;visibility:visible;transform:translate(-50%, 0);transition-delay:0s}
.cookie-card{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;
  background:rgba(15,18,25,.94);
  color:#F4F6FA;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:16px 20px;
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  box-shadow:0 22px 60px -22px rgba(0,0,0,.6), 0 1px 0 rgba(255,255,255,.06) inset;
  position:relative;overflow:hidden;
}
.cookie-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,158,11,.7),rgba(15,76,129,.7),transparent);
}
.cookie-icon{
  width:42px;height:42px;flex:none;
  border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, rgba(245,158,11,.18), rgba(15,76,129,.18));
  color:var(--accent);
}
.cookie-icon svg{width:24px;height:24px}
.cookie-body{min-width:0}
.cookie-title{font-size:14px;font-weight:700;letter-spacing:-.005em;color:#fff;margin-bottom:2px}
.cookie-text{margin:0;font-size:12.5px;line-height:1.55;color:rgba(244,246,250,.78)}
.cookie-text a{color:var(--accent);border-bottom:1px solid rgba(245,158,11,.4)}
.cookie-text a:hover{color:#fff;border-bottom-color:#fff}
.cookie-actions{display:flex;align-items:center;gap:14px;flex:none}
.cookie-link{
  font-size:12.5px;color:rgba(244,246,250,.7);
  border-bottom:1px solid rgba(255,255,255,.16);
  padding-bottom:1px;
}
.cookie-link:hover{color:#fff;border-bottom-color:#fff}
.cookie-btn{
  appearance:none;border:0;cursor:pointer;
  font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.01em;
  padding:10px 18px;border-radius:8px;
  background:var(--grad-amber);color:#0A0A0A;
  box-shadow:0 8px 24px -8px rgba(245,158,11,.55), 0 1px 0 rgba(255,255,255,.25) inset;
  transition:transform .2s ease, box-shadow .25s ease;
}
.cookie-btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px -10px rgba(245,158,11,.7)}
.cookie-btn:active{transform:translateY(0)}
@media(max-width:640px){
  .cookie-banner{bottom:14px;width:calc(100vw - 24px)}
  .cookie-card{grid-template-columns:auto 1fr;padding:14px 14px;gap:12px}
  .cookie-actions{grid-column:1 / -1;justify-content:flex-end}
  .cookie-text{font-size:12px}
}

/* ==================== CONSTRUCTION / GATE ==================== */
.constr{
  min-height:80vh;display:flex;align-items:center;justify-content:center;
  padding:48px 24px;
}
.constr-card{
  max-width:580px;text-align:center;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);
  padding:56px 48px;
}
.constr-card .kicker{color:var(--green);margin-bottom:6px}
.constr-card h1{margin:0 0 16px}
.constr-card p{color:var(--muted);font-size:1.05rem;margin:0 0 24px}
.constr-contact{font-family:var(--font-mono);font-size:13.5px;letter-spacing:.04em;color:var(--ink);margin-top:12px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.constr-contact a{border-bottom:1px solid var(--line)}

/* ==================== LEGAL PAGES (jasny tekst na ciemnoniebieskim — Pinky 2026-04-27) ==================== */
.legal{padding:48px 0 96px;max-width:780px;color:#FFFFFF}
.legal h1{font-size:clamp(2rem, 3.2vw, 2.6rem);margin-bottom:24px;color:#FFFFFF}
.legal h2{font-size:1.3rem;margin:36px 0 12px;letter-spacing:-.01em;color:#FFFFFF}
.legal h3, .legal h4{color:#FFFFFF}
.legal p{color:#FFFFFF;font-size:15px;line-height:1.8}
.legal ul, .legal ol{padding-left:20px;color:#FFFFFF;font-size:15px;line-height:1.8}
.legal li{color:#FFFFFF}
.legal a{color:#F39329;border-bottom:1px solid rgba(245,158,11,.4)}
.legal a:hover{color:#FFB958;border-bottom-color:#FFB958}
.legal address{color:#FFFFFF;font-style:normal}
.legal strong{color:#FFFFFF}

/* Local dark-text restore — only for components keeping white backgrounds (Pinky 2026-04-27) */
.btn.invert{
  --ink:#0A0A0A;
  --ink-2:#222;
  --muted:#666;
  --line:#E5E5E5;
  color:#0A0A0A;
}
.btn.amber{color:#0A0A0A !important}

/* ==================== CONTACT · BLUE BRAND HERO (Pinky 2026-04-27) ==================== */
/* Cała strona kontakt na G&P brand blue, animowany mesh background, logo zintegrowane bez "belki" */

body{
  background:
    radial-gradient(ellipse 80% 60% at 20% 0%, rgba(245,158,11,.12) 0%, transparent 55%),
    radial-gradient(ellipse 100% 80% at 80% 100%, rgba(43,118,187,.35) 0%, transparent 60%),
    linear-gradient(180deg, #0A1A33 0%, #0F2C50 30%, #143866 60%, #0F2C50 100%);
  background-attachment:fixed;
  color:#EAF2FB;
}
body .site-header{
  background:rgba(10,26,51,.55);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,.06);
}
body .nav-links a{color:rgba(234,242,251,.85)}
body .nav-links a:hover,
body .nav-links a.active{color:#fff}
body .lang-switch a{color:rgba(234,242,251,.7)}
body .lang-switch a.on{color:#F39329}
body .brand .tag{color:rgba(234,242,251,.55)}
body h1, body h2, body h3{color:#fff}
body .lead{color:rgba(234,242,251,.78)}
body .kicker{color:#F39329 !important}

/* Animowany mesh background nakładka (subtle drift) */
body::before{
  content:"";
  position:fixed;inset:-20%;
  background:
    radial-gradient(circle 600px at 25% 30%, rgba(43,118,187,.40), transparent 60%),
    radial-gradient(circle 500px at 75% 65%, rgba(245,158,11,.18), transparent 65%),
    radial-gradient(circle 700px at 50% 100%, rgba(30,90,160,.30), transparent 60%);
  filter:blur(40px);
  pointer-events:none;
  z-index:0;
  animation:contactMeshDrift 22s ease-in-out infinite alternate;
}
@keyframes contactMeshDrift{
  0%  {transform:translate(0,0) scale(1)}
  50% {transform:translate(40px,-30px) scale(1.06)}
  100%{transform:translate(-30px,40px) scale(1.02)}
}

/* Engineering grid nakładka (subtle) */
body::after{
  content:"";
  position:fixed;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 30%, black 30%, transparent 90%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%, black 30%, transparent 90%);
  pointer-events:none;
  z-index:0;
  animation:contactGridDrift 80s linear infinite;
}
@keyframes contactGridDrift{ to{transform:translate(64px,64px)} }

body main{position:relative;z-index:1}
body main > section{position:relative;z-index:1}

/* Hero z logo zintegrowane (bez osobnej "belki") */
.contact-hero-logo{
  padding:24px 0 64px;
  position:relative;
}
.contact-logo-wrap{
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:24px 0 8px;
  background:none;
  border:0;box-shadow:none;
  overflow:visible;
}
.contact-logo-wrap::before{
  content:"";
  position:absolute;inset:auto 0 -10% 0;
  height:60%;
  background:radial-gradient(ellipse 60% 100% at 50% 50%, rgba(245,158,11,.20) 0%, transparent 70%);
  filter:blur(20px);
  pointer-events:none;z-index:0;
  animation:logoGlow 5s ease-in-out infinite alternate;
}
@keyframes logoGlow{
  0%  {opacity:.6;transform:scale(.95)}
  100%{opacity:1;transform:scale(1.08)}
}
.contact-big-logo{
  position:relative;z-index:1;
  height:280px;width:auto;max-width:100%;
  filter:
    drop-shadow(0 30px 60px rgba(0,0,0,.45))
    drop-shadow(0 0 40px rgba(43,118,187,.35));
  animation:logoFloat 7s ease-in-out infinite;
}
@keyframes logoFloat{
  0%,100%{transform:translateY(0) rotate(0)}
  50%{transform:translateY(-14px) rotate(-.4deg)}
}

/* Glass cards na niebieskim tle */
body .contact-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 24px 60px -24px rgba(0,0,0,.55), 0 1px 0 rgba(255,255,255,.08) inset;
  color:#EAF2FB;
}
body .contact-card h3{color:#fff}
body .contact-card .label{color:rgba(245,158,11,.85)}
body .contact-card .v{color:#fff}
body .contact-card .v a{color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}
body .contact-card .v a:hover{color:#F39329;border-bottom-color:#F39329}
body .contact-card .item{border-top-color:rgba(255,255,255,.10)}

/* Glass form */
body .form{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-radius:var(--radius-card);
  padding:28px;
}
body .form label{color:rgba(234,242,251,.78)}
body .form input,
body .form textarea,
body .form select{
  background:rgba(255,255,255,.06);
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
}
body .form input:focus,
body .form textarea:focus,
body .form select:focus{
  border-color:#F39329;
  background:rgba(255,255,255,.10);
  outline:none;
  box-shadow:0 0 0 3px rgba(245,158,11,.18);
}
body .form input::placeholder,
body .form textarea::placeholder{color:rgba(234,242,251,.4)}
body .form .consent{color:rgba(234,242,251,.72)}
body .form .consent a{color:#F39329;border-bottom-color:rgba(245,158,11,.4)}
body .form-msg{color:#F39329}
body .form-msg.error{color:#FF8A8A}

/* Btn red CTA na ciemnym tle */
body .btn.red{
  box-shadow:0 12px 36px -10px rgba(212,21,29,.6);
}

@media (max-width:640px){
  .contact-hero-logo{padding:16px 0 40px}
  .contact-logo-wrap{padding:16px 0 4px}
  .contact-big-logo{height:170px}
  body .form{padding:22px}
}

/* ==================== UTILS / FIT-v3 ==================== */
@media(max-width:640px){
  .container,.nav-inner{padding-left:16px !important;padding-right:16px !important}
  h1,h2,h3,h4{word-break:break-word;overflow-wrap:break-word;hyphens:auto;max-width:100%}
  p,li,a,span,label,button{overflow-wrap:break-word}
  .hero h1{font-size:clamp(1.8rem, 7.5vw, 2.6rem) !important;line-height:1.18 !important}
  .hero .lead{font-size:.98rem !important;line-height:1.65 !important}
  section,header,footer,main,.hero{min-width:0}
  .kicker,.eyebrow{white-space:normal !important;font-size:.65rem !important;letter-spacing:.14em !important;line-height:1.4 !important;max-width:100% !important}
  .product-card,.contact-card,.newsletter-block{max-width:100%;min-width:0}
  table,pre,code{max-width:100%;overflow-x:auto}
  .section{padding:64px 0}
  .spacer{height:48px}
  .spacer.l{height:80px}
}

/* ==================== SUBPAGES GLASS OVERRIDE — Pinky 2026-04-27 ====================
   Purpose: every subpage (kategorie, produkt, ueber-uns, legal, 404, newsletter)
   inherits the dark-blue mesh body. All previously-white-background components
   are flipped to glass mleczne (rgba(255,255,255,.06) + blur 14px).
   Fixes for screenshots 22:48-22:52 (mini-bagger empty filter + white block bug). */

/* --- Filter chips (products / kategorie) — beats inline style="background:var(--ink)" --- */
.btn.ghost.sm.no-arrow{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:rgba(255,255,255,.88) !important;
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  backdrop-filter:blur(10px) saturate(140%);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset;
  transition:background .25s, border-color .25s, transform .25s, color .25s;
}
.btn.ghost.sm.no-arrow:hover{
  background:rgba(245,158,11,.18) !important;
  border-color:rgba(245,158,11,.55) !important;
  color:#fff !important;
  transform:translateY(-1px);
}
.btn.ghost.sm.no-arrow.is-active{
  background:linear-gradient(135deg, rgba(245,158,11,.95) 0%, rgba(220,139,10,.95) 100%) !important;
  border-color:rgba(245,158,11,.9) !important;
  color:#0A0A0A !important;
  font-weight:700 !important;
  box-shadow:0 8px 24px -10px rgba(245,158,11,.55), 0 1px 0 rgba(255,255,255,.25) inset !important;
}

/* --- Empty-state card (constr-card) on category/newsletter/404 — glass instead of white --- */
.constr-card{
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  backdrop-filter:blur(16px) saturate(140%);
  border-radius:18px !important;
  box-shadow:0 1px 0 rgba(255,255,255,.10) inset, 0 28px 70px -28px rgba(0,0,0,.55) !important;
  color:#fff !important;
  padding:56px 40px !important;
  max-width:100% !important;
  position:relative;overflow:hidden;
}
.constr-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,158,11,.7),rgba(43,118,187,.7),transparent);
}
.constr-card .kicker{color:#F39329 !important}
.constr-card h1, .constr-card h2{color:#fff !important}
.constr-card p{color:rgba(255,255,255,.78) !important}
.constr-contact a{color:#fff;border-bottom-color:rgba(255,255,255,.25) !important}
.constr-contact a:hover{color:#F39329;border-bottom-color:#F39329 !important}

/* --- Spec grid (product detail / Technische Daten) — glass tiles --- */
.spec-grid{
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:14px !important;
  overflow:hidden;
  gap:1px;
}
.spec-grid .row{
  background:rgba(20,40,70,.55) !important;
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  backdrop-filter:blur(10px) saturate(140%);
}
.spec-grid .row:hover{background:rgba(245,158,11,.10) !important}
.spec-grid .row .lbl{color:rgba(255,255,255,.60) !important}
.spec-grid .row .val{color:#fff !important}

/* --- Spec table thead / hover dark — keep contrast --- */
.spec-table{color:#fff}
.spec-table th, .spec-table td{border-bottom-color:rgba(255,255,255,.10) !important}
.spec-table thead th{background:rgba(255,255,255,.06) !important;color:rgba(255,255,255,.65) !important}
.spec-table tbody tr:hover{background:rgba(255,255,255,.04) !important}

/* --- Color picker (product detail) — glass dark instead of white --- */
.color-picker{
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 16px 40px -20px rgba(0,0,0,.5) !important;
}
.color-picker-label{color:rgba(255,255,255,.55) !important}
.color-picker-label .selected{color:#F39329 !important}
.color-chip{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.18) !important;
  color:#fff !important;
}
.color-chip:hover{
  border-color:rgba(245,158,11,.55) !important;
  background:rgba(255,255,255,.12) !important;
  box-shadow:0 12px 26px -16px rgba(245,158,11,.4) !important;
}
.color-chip.active{
  border-color:rgba(245,158,11,.85) !important;
  background:linear-gradient(135deg, rgba(245,158,11,.18), rgba(255,255,255,.10)) !important;
  box-shadow:0 0 0 4px rgba(245,158,11,.18), 0 14px 30px -16px rgba(245,158,11,.45) !important;
}
.color-chip.active::after{
  background:var(--accent) !important;
  color:#0A0A0A !important;
  box-shadow:0 4px 10px -4px rgba(245,158,11,.6) !important;
}
.color-chip .swatch{border-color:rgba(255,255,255,.85) !important}

/* --- Process steps (about page) — glass --- */
.process-step{
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 16px 40px -20px rgba(0,0,0,.4);
  border-radius:14px !important;
}
.process-step::after{background:var(--accent) !important}
.process-step .num{color:rgba(255,255,255,.55) !important}
.process-step h4{color:#fff}
.process-step p{color:rgba(255,255,255,.75) !important}
.process-step:hover{
  border-color:rgba(245,158,11,.45) !important;
  background:rgba(255,255,255,.08) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.12) inset, 0 28px 60px -20px rgba(245,158,11,.20) !important;
}

/* --- Country chips (about) — glass pills --- */
.country-chip{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.country-chip:hover{
  background:rgba(245,158,11,.15) !important;
  border-color:rgba(245,158,11,.45) !important;
  color:#fff !important;
}

/* --- Values (about) — borders to white-translucent + cell text --- */
.values{border-top-color:rgba(255,255,255,.12) !important;border-bottom-color:rgba(255,255,255,.12) !important}
.value-cell{border-right-color:rgba(255,255,255,.12) !important}
.value-cell .num{color:#F39329 !important}
.value-cell h4{color:#fff !important}
.value-cell p{color:rgba(255,255,255,.75) !important}
@media(max-width:880px){
  .value-cell{border-bottom-color:rgba(255,255,255,.12) !important}
}

/* --- Hero-stats translucent bar (used on .hero — about page) — match darker hero --- */
.hero .hero-stats{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.14) !important;
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  backdrop-filter:blur(10px) saturate(140%);
  border-top:1px solid rgba(255,255,255,.14) !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
  border-radius:14px;
}
.hero .hero-stat{border-right-color:rgba(255,255,255,.12) !important}
.hero .hero-stat .v{color:#fff !important}
.hero .hero-stat .l{color:rgba(255,255,255,.65) !important}

/* --- Accessory carousel nav arrows (when present on product detail) --- */
.acc-nav button{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.16) !important;
  color:#fff !important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.acc-nav button:hover{
  background:rgba(245,158,11,.20) !important;
  border-color:rgba(245,158,11,.55) !important;
  color:#fff !important;
}

/* --- Form inputs (any subpage that exposes raw <input>) — already covered by body .form, but plain forms outside .form too --- */
input[type=text],input[type=email],input[type=tel],input[type=password],textarea,select{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:#fff !important;
}
input::placeholder, textarea::placeholder{color:rgba(255,255,255,.4) !important}
input:focus,textarea:focus,select:focus{
  border-color:rgba(245,158,11,.6) !important;
  background:rgba(255,255,255,.10) !important;
  box-shadow:0 0 0 3px rgba(245,158,11,.18) !important;
}

/* --- Newsletter block (footer) — already glass via surface, but force opacity --- */
.newsletter-block{
  background:rgba(255,255,255,.05) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#fff;
}
.newsletter-block h3{color:#fff}
.newsletter-block .lead{color:rgba(255,255,255,.75) !important}
.nl-consent{color:rgba(255,255,255,.55) !important}

/* --- Cat-tag (product card / breadcrumb) keep amber on dark --- */
.prod-info .cat-tag{color:#F39329 !important}

/* --- prod-section.alt darker glass band on dark blue --- */
.prod-section.alt{
  background:rgba(0,0,0,.18) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

/* --- Fact-pills under product H1 — keep readable on dark blue --- */
.fact-pill{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:#fff !important;
}
.fact-pill .v{color:#fff !important}
.fact-pill .l{color:rgba(255,255,255,.65) !important}

/* --- Included list (product detail) on dark blue --- */
.included-list{
  background:linear-gradient(135deg, rgba(245,158,11,.10), rgba(43,118,187,.08)) !important;
  border-left-color:var(--accent) !important;
  color:rgba(255,255,255,.85) !important;
}
.included-list strong{color:#fff !important}

/* --- Form-msg (success/error) glass --- */
.form-msg{
  background:rgba(22,163,74,.15) !important;
  color:#A4F2BE !important;
  border:1px solid rgba(22,163,74,.4) !important;
}
.form-msg.error{
  background:rgba(212,21,29,.18) !important;
  color:#FFB4B4 !important;
  border-color:rgba(212,21,29,.4) !important;
}

/* --- Prod-thumbs (product detail thumbnails) glass --- */
.prod-thumbs button{
  background:rgba(255,255,255,.05) !important;
  border-color:rgba(255,255,255,.14) !important;
}
.prod-thumbs button:hover{border-color:rgba(245,158,11,.55) !important}
.prod-thumbs button.active{border-color:rgba(245,158,11,.85) !important;box-shadow:0 0 0 3px rgba(245,158,11,.20) !important}

/* --- VIEWPORT-FIT v3 hardening for subpages (Pinky 2026-04-27) --- */
.spec-grid, .spec-table, .product-grid, .process-grid, .values, .country-chips, .fact-pills, .acc-track, .prod-thumbs, .color-variants, .hero-stats{
  max-width:100%;
  min-width:0;
}
.prod-hero{max-width:100%;min-width:0}
.prod-gallery{max-width:100%}
.legal{max-width:min(780px, 100%)}

/* Tables wrapper safety on narrow viewports */
@media(max-width:640px){
  .spec-table{font-size:12px}
  .spec-table th, .spec-table td{padding:10px 12px}
  .constr-card{padding:36px 22px !important}
  .color-chip{font-size:12.5px;padding:8px 14px 8px 8px}
  .color-chip .swatch{width:26px;height:26px}
  .fact-pills{gap:6px}
  .fact-pill{padding:6px 10px;font-size:10.5px}
  .country-chip{padding:8px 12px;font-size:11.5px}
  .process-step{padding:20px 18px}
  .value-cell{padding:24px 22px}
}
@media(max-width:480px){
  .product-grid{grid-template-columns:1fr;gap:16px}
  .prod-info h1{font-size:1.6rem}
  .legal h1{font-size:1.7rem}
  .legal h2{font-size:1.1rem}
}
/* ==================== END SUBPAGES GLASS OVERRIDE ==================== */
