/* === z <helmet> zrodla dc === */


  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{ margin:0; font-family:'Inter',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
  ::selection{ background:#f0692d; color:#fff; }
  :root, [data-theme="light"]{
    --bg:#ffffff; --bg-2:#f6f3ee; --surface:#ffffff; --surface-2:#faf7f2;
    --line:rgba(24,18,12,.10); --line-2:rgba(24,18,12,.16);
    --text:#16120d; --muted:#5d574e; --faint:#9b958a;
    --accent:#e85d22; --accent-2:#f0692d; --accent-soft:rgba(232,93,34,.10);
    --on-accent:#ffffff;
    --logo-filter:grayscale(1);
    --logo-img:none;
    --px-node:232,93,34; --px-line:186,74,27; --px-field:180,150,120;
    --shadow:0 1px 2px rgba(40,30,20,.04), 0 22px 48px -24px rgba(40,30,20,.18);
    --shadow-lg:0 40px 90px -34px rgba(40,30,20,.28);
    --mesh-1:rgba(240,105,45,.16); --mesh-2:rgba(255,170,90,.13); --mesh-3:rgba(240,105,45,.07);
    --grid:rgba(232,93,34,.06);
  }
  [data-theme="dark"]{
    --bg:#0f0e12; --bg-2:#16151b; --surface:#17161d; --surface-2:#1e1d25;
    --line:rgba(244,242,248,.10); --line-2:rgba(244,242,248,.18);
    --text:#f5f3ef; --muted:#a8a4ad; --faint:#6f6b76;
    --accent:#f0692d; --accent-2:#ff8048; --accent-soft:rgba(240,105,45,.16);
    --on-accent:#15110b;
    --logo-filter:grayscale(1) invert(1) brightness(1.6);
    --logo-img:brightness(0) invert(1);
    --px-node:240,105,45; --px-line:240,120,60; --px-field:130,120,110;
    --shadow:0 1px 2px rgba(0,0,0,.5), 0 22px 50px -24px rgba(0,0,0,.7);
    --shadow-lg:0 44px 96px -34px rgba(0,0,0,.8);
    --mesh-1:rgba(240,105,45,.20); --mesh-2:rgba(255,128,72,.12); --mesh-3:rgba(120,90,255,.06);
    --grid:rgba(240,105,45,.085);
  }
  @keyframes bxDrift{ 0%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(38px,-30px) scale(1.08);} 100%{ transform:translate(0,0) scale(1);} }
  @keyframes bxDrift2{ 0%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(-44px,26px) scale(1.12);} 100%{ transform:translate(0,0) scale(1);} }
  @keyframes bxFloat{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(9px);} }
  [data-reveal]{ opacity:0; transform:translateY(26px); transition:opacity .85s cubic-bezier(.2,.7,.3,1), transform .85s cubic-bezier(.2,.7,.3,1); }
  [data-reveal].in{ opacity:1; transform:none; }
  @media (prefers-reduced-motion: reduce){ [data-reveal]{ opacity:1 !important; transform:none !important; transition:none; } *{ animation:none !important; } html{ scroll-behavior:auto; } }
  ::-webkit-scrollbar{ width:0; height:0; }
  .mm-ic, .mm-ti, .mm-ds{ transition:background .2s ease, color .2s ease, transform .2s ease; }
  .mm-item:hover{ background:var(--accent-soft) !important; }
  .mm-item:hover .mm-ic{ background:var(--accent) !important; color:var(--on-accent) !important; transform:translateY(-3px) !important; }

  /* ============ RESPONSIVE / MOBILE ============ */
  [data-nav-burger]{ display:none; }
  @media (min-width:961px){ [data-mobile-drawer]{ display:none !important; } }
  @media (max-width:960px){
    [data-nav-center], [data-nav-lang], [data-nav-cta]{ display:none !important; }
    [data-nav-burger]{ display:grid !important; }
  }
  @media (max-width:900px){
    [style*="1fr 1fr"]:not([data-keep2]),
    [style*="1.1fr"], [style*="1.2fr"]{ grid-template-columns:1fr !important; }
    [style*="1fr 1fr"] > *{ order:0 !important; }
    [style*="repeat(4"]{ grid-template-columns:repeat(2,1fr) !important; }
    [style*="min(620px"]{ display:none !important; }
    [style*="1.6fr"]{ grid-template-columns:repeat(2,1fr) !important; }
  }
  @media (max-width:760px){
    [style*="repeat(2"]:not([data-keep2]){ grid-template-columns:1fr !important; }
    [style*="repeat(3"]{ grid-template-columns:repeat(2,1fr) !important; }
    [style*="0 0 380px"]{ flex-basis:min(84vw,360px) !important; }
    [style*="1280px"], [style*="1240px"], [style*="1180px"], [style*="920px"]{ padding-left:24px !important; padding-right:24px !important; }
    /* Dedykowane zespoły: logo + lata w jednej linii, opis pełną szerokością poniżej */
    [data-dt-row]{ flex-wrap:wrap !important; justify-content:space-between !important; align-items:center !important; gap:12px 14px !important; }
    [data-dt-logo]{ width:132px !important; }
    [data-dt-note]{ flex-basis:100% !important; }
    /* Branże: mniejsze marginesy w boxach logo, logotypy wypełniają box */
    [data-ind-logocell]{ height:104px !important; padding:11px !important; }
    [data-ind-logo]{ width:100% !important; height:100% !important; }
  }
  @media (max-width:520px){
    [style*="repeat(3"]{ grid-template-columns:1fr !important; }
    [style*="1.6fr"]{ grid-template-columns:1fr !important; }
    [style*="1280px"], [style*="1240px"], [style*="1180px"], [style*="920px"]{ padding-left:18px !important; padding-right:18px !important; }
  }


/* === z komponentow sekcyjnych === */



  @keyframes pxTapeL{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  @keyframes pxTapeR{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }
  .px-tape{ position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent); mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent); }
  .px-tape__track{ display:flex; gap:18px; width:max-content; padding:6px 8px; }
  .px-tape__track--a{ animation:pxTapeL 80s linear infinite; }
  .px-tape__track--b{ animation:pxTapeR 92s linear infinite; }
  .px-tape:hover .px-tape__track{ animation-play-state:paused; }
  .px-tape__card{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:24px 26px; min-width:252px; border:1px solid var(--line); border-radius:6px; background:var(--surface); transition:border-color .35s ease, transform .35s ease, box-shadow .35s ease; }
  .px-tape__card:hover{ border-color:var(--accent); transform:translateY(-3px); box-shadow:0 14px 32px -14px var(--accent); }
  .px-tape__mark{ width:233px; height:94px; background-size:contain; background-repeat:no-repeat; background-position:center; filter:var(--logo-filter); opacity:.62; transition:opacity .35s ease; }
  .px-tape__card:hover .px-tape__mark{ opacity:1; }
  .px-tape__nm{ font-family:'Inter',sans-serif; font-size:13px; font-weight:400; letter-spacing:0; white-space:nowrap; color:var(--muted); opacity:.85; transition:opacity .35s ease, color .35s ease; }
  .px-tape__card:hover .px-tape__nm{ opacity:1; color:var(--accent); }
  @media (prefers-reduced-motion: reduce){ .px-tape__track{ animation:none !important; } }



  @keyframes pxPulse{ 0%,100%{ transform:scale(1); opacity:.45; } 50%{ transform:scale(1.7); opacity:0; } }
  @keyframes pxMapGlow{ 0%,100%{ opacity:.26; transform:scale(1); } 50%{ opacity:.42; transform:scale(1.12); } }
  @keyframes pxRipple{ 0%{ transform:scale(.12); opacity:.2; } 100%{ transform:scale(1); opacity:0; } }
  .px-pl-halo{ transform-box:fill-box; transform-origin:center; animation:pxMapGlow 4s ease-in-out infinite; }
  .px-ripple{ transform-box:fill-box; transform-origin:center; animation:pxRipple 8s ease-out infinite; }
  @media (prefers-reduced-motion: reduce){ .px-pl-halo,.px-ripple{ animation:none; } }





/* === reguly style-hover / style-focus === */

.bxh0:hover{border-color:var(--accent) !important}
.bxh1:hover{background:var(--accent-soft) !important; color:var(--accent) !important; transform:translateX(3px) !important}
.bxh2:hover{border-color:var(--accent) !important; color:var(--accent) !important}
.bxh3:hover{background:var(--accent-2) !important; transform:translateY(-1px) !important}
.bxh4:hover{background:var(--accent-2) !important; transform:translateY(-2px) !important}
.bxh5:hover{gap:12px !important}
.bxh6:hover{background:var(--accent) !important; color:var(--on-accent) !important}
.bxh7:hover{border-color:var(--accent) !important; transform:translateY(-5px) !important; box-shadow:var(--shadow) !important}
.bxh8:hover{background:var(--surface-2) !important}
.bxh9:hover{border-color:var(--accent) !important; color:var(--accent) !important; transform:translateY(-2px) !important}
.bxh10:hover{color:var(--accent) !important}
.bxh11:hover{background:var(--accent-soft) !important; color:var(--accent) !important}
.bxh12:hover{border-color:var(--line-2) !important; box-shadow:var(--shadow) !important}
.bxh13:hover{opacity:1 !important}
.bxh14:focus{border-color:var(--accent) !important}
.bxh15:hover{background:var(--accent-2) !important}
.bxh16:hover{border-color:#fff !important}

/* === runtime statyku === */

/* ============================================================
   Runtime statyku byss.pl v2
   Panele wariantowe, stany aktywne i drobne poprawki dla wersji
   bez renderowania po stronie klienta.
   ============================================================ */

/* --- panele wariantowe -------------------------------------------------
   Generator owija warianty tresci (zakladki, akordeony, filtr klientow)
   w kontener data-bx-panel. Kontener nie moze tworzyc wlasnego boxa,
   bo lamalby layout flex/grid rodzica. */
[data-bx-panel] { display: contents; }
[data-bx-panel][hidden] { display: none !important; }

/* --- stany aktywne przyciskow -----------------------------------------
   Atrybut style="" ma wyzsza specyficznosc niz klasa, stad !important. */
[data-bx-set*='"tab"'].bx-active,
[data-bx-set*='"cat"'].bx-active {
  background: var(--accent) !important;
  color: var(--on-accent) !important;
  border-color: var(--accent) !important;
}
[data-bx-set*='"tab"']:not(.bx-active),
[data-bx-set*='"cat"']:not(.bx-active) {
  background: transparent !important;
  color: var(--text) !important;
  border-color: var(--line-2) !important;
}

/* --- akordeon uslug ---------------------------------------------------- */
[data-bx-row].bx-open { border-color: var(--accent) !important; }
[data-bx-toggle].bx-open { transform: rotate(45deg); }

/* --- FAQ --------------------------------------------------------------- */
[data-bx-faq-card].bx-open { border-color: var(--accent) !important; }
[data-bx-faq-icon].bx-open {
  background: var(--accent) !important;
  color: var(--on-accent) !important;
  transform: rotate(45deg);
}

/* --- menu mobilne ------------------------------------------------------ */
body.bx-locked { overflow: hidden; }

/* --- mega menu --------------------------------------------------------- */
[data-bx-panel='megaOpen'] { display: contents; }

/* --- dostepnosc: focus widoczny --------------------------------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* --- linki zastepujace przyciski nawigacyjne -------------------------- */
a[href] { color: inherit; }

/* --- karuzela opinii: ukryty pasek przewijania ------------------------ */
[data-bx-ref="track"] { scrollbar-width: none; -ms-overflow-style: none; }
[data-bx-ref="track"]::-webkit-scrollbar { width: 0; height: 0; }

/* --- formularz kontaktowy: komunikat po wyslaniu ---------------------- */
[data-bx-panel='sent'][hidden] { display: none !important; }
