/* ============================================================
   STYL TECHNICZNY — wspólna baza dla podstron (07.2026).
   Ten sam język co strona główna i wycena.html:
   tło #101216, powierzchnie #14161b, akcent #ffbb00,
   Archivo + IBM Plex Mono, ostre rogi (zero border-radius),
   ramki rgba(255,255,255,0.12), mono-etykiety UPPERCASE.
   Strona główna i wycena.html mają style inline — przy zmianach
   globalnych (np. kolor akcentu) poprawić też tam.
   ============================================================ */

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; color-scheme:dark; }
body{ margin:0; background:#101216; color:#ECECEE; font-family:'Space Grotesk',sans-serif; }
input::placeholder, textarea::placeholder{ color:#8a9099; opacity:1; }
::selection{ background:#ffbb00; color:#101216; }
a{ -webkit-tap-highlight-color:transparent; }
img{ max-width:100%; }
[hidden]{ display:none !important; }

.mono{ font-family:'IBM Plex Mono',monospace; }
.wrap{ max-width:1320px; margin:0 auto; padding-left:44px; padding-right:44px; }

/* ---------- NAV ---------- */
nav.top{ position:sticky; top:0; z-index:60; display:flex; align-items:center; justify-content:space-between; gap:18px; height:72px; padding:0 44px; background:rgba(16,18,22,0.86); backdrop-filter:blur(8px); border-bottom:1px solid rgba(255,255,255,0.08); }
.nav-logo{ display:flex; align-items:flex-end; gap:11px; text-decoration:none; color:inherit; }
.nav-logo-mark{ height:33px; width:auto; display:block; }
.nav-logo-word{ font-weight:800; font-size:38px; line-height:0.72; letter-spacing:-0.02em; }
.nav-mid{ display:flex; gap:28px; font-size:14.5px; white-space:nowrap; }
.nav-link{ text-decoration:none; color:#c7cacf; cursor:pointer; }
.nav-link:hover{ color:#fff; }
.nav-right{ display:flex; align-items:center; gap:12px; }
.nav-tel{ display:flex; align-items:center; gap:8px; text-decoration:none; color:#ffbb00; font-weight:600; font-size:14.5px; white-space:nowrap; }
.nav-tel:hover{ color:#fff; }
.nav-burger{ display:none; width:42px; height:42px; align-items:center; justify-content:center; background:transparent; border:1px solid rgba(255,255,255,0.25); color:#fff; cursor:pointer; }
.nav-burger:hover{ border-color:#ffbb00; color:#ffbb00; }
#mobile-menu{ position:absolute; top:72px; left:0; right:0; z-index:59; background:#101216; border-bottom:1px solid rgba(255,255,255,0.12); box-shadow:0 18px 40px rgba(0,0,0,0.55); display:flex; flex-direction:column; }
#mobile-menu a{ padding:16px 22px; font-size:16px; color:#ECECEE; text-decoration:none; border-top:1px solid rgba(255,255,255,0.07); }
#mobile-menu a:hover{ background:rgba(255,255,255,0.05); color:#ffbb00; }

/* ---------- PRZYCISKI ---------- */
.btn-y{ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:'Space Grotesk',sans-serif; font-weight:700; color:#101216; background:#ffbb00; border:none; cursor:pointer; text-decoration:none; }
.btn-y:hover{ background:#ffc933; }
.btn-o{ display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-weight:600; color:#fff; background:transparent; border:1px solid rgba(255,255,255,0.28); cursor:pointer; text-decoration:none; }
.btn-o:hover{ border-color:#fff; }
.btn-wa{ display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-size:15px; font-weight:700; color:#101216; background:#25D366; border:none; cursor:pointer; text-decoration:none; }
.btn-wa:hover{ filter:brightness(1.05); }
.lnk-y{ font-family:'IBM Plex Mono',monospace; font-size:13px; color:#c7cacf; cursor:pointer; text-decoration:none; }
.lnk-y:hover{ color:#ffbb00; }

/* ---------- HERO PODSTRONY ---------- */
.page-hero{ position:relative; overflow:hidden; border-bottom:1px solid rgba(255,255,255,0.08); }
.page-hero .grid-bg{ position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px); background-size:48px 48px; pointer-events:none; }
.ph-inner{ position:relative; z-index:2; padding-top:40px; padding-bottom:36px; }
.ph-top{ display:flex; justify-content:space-between; align-items:baseline; gap:24px; }
.ph-eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:#ffbb00; }
.ph-tag{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.16em; color:#b6bbc2; }
.ph-line{ height:1px; background:rgba(255,255,255,0.12); margin-top:16px; }
.crumbs{ margin:22px 0 0; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.06em; color:#6f747c; }
.crumbs a{ color:#b6bbc2; text-decoration:none; }
.crumbs a:hover{ color:#ffbb00; }
.page-hero h1{ margin:18px 0 0; font-size:clamp(34px, 4.5vw, 52px); font-weight:800; line-height:1.04; letter-spacing:-0.025em; color:#fff; }
.ph-lead{ margin:16px 0 0; max-width:680px; color:#c7cacf; font-size:17px; line-height:1.55; }
.ph-sub{ margin:10px 0 0; color:#b6bbc2; font-size:14.5px; }
.chip-row{ margin-top:24px; display:flex; flex-wrap:wrap; gap:10px; }
.chip{ display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,0.16); padding:8px 13px; font-size:13px; color:#c7cacf; }
.chip b{ color:#fff; }
.chip svg{ flex:0 0 auto; }

/* ---------- SEKCJE ---------- */
.sec{ padding-top:80px; padding-bottom:80px; }
.sec-alt{ background:#0B0C0F; border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); }
.sec-eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:#ffbb00; margin-bottom:20px; }
.sec-title{ margin:0; font-size:clamp(28px, 3.4vw, 42px); font-weight:800; letter-spacing:-0.025em; line-height:1.05; color:#fff; }
.sec-sub{ margin:14px 0 0; max-width:640px; color:#b6bbc2; font-size:15.5px; line-height:1.6; }
.sec-head-row{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; }

/* ---------- SIATKI ---------- */
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.split{ display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:start; }

/* ---------- KARTY / RAMKI ---------- */
.t-card{ border:1px solid rgba(255,255,255,0.12); background:#14161b; padding:24px; color:inherit; text-decoration:none; display:block; }
a.t-card{ transition:border-color .15s ease, background .15s ease; }
a.t-card:hover{ border-color:#ffbb00; background:#181a20; }
.t-card h3{ margin:0; font-size:19px; font-weight:700; letter-spacing:-0.01em; color:#fff; }
.t-card .tc-meta{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:#ffbb00; margin-top:6px; }
.t-card p{ font-size:14px; color:#b6bbc2; margin:10px 0 0; line-height:1.55; }
.t-img{ width:100%; display:block; object-fit:cover; border:1px solid rgba(255,255,255,0.1); }
.t-img-plate{ background:#fff; object-fit:contain; padding:14px; }
.fig-frame{ position:relative; border:1px solid rgba(255,255,255,0.14); background:#0B0C0F; }
.fig-frame .tick-tl{ position:absolute; top:8px; left:8px; width:13px; height:13px; border-left:1px solid #ffbb00; border-top:1px solid #ffbb00; z-index:3; }
.fig-frame .tick-tr{ position:absolute; top:8px; right:8px; width:13px; height:13px; border-right:1px solid #ffbb00; border-top:1px solid #ffbb00; z-index:3; }
.fig-frame .fig-label{ position:absolute; top:14px; left:14px; z-index:3; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:#ffbb00; text-shadow:0 1px 4px rgba(0,0,0,0.8); }
.fig-frame img{ display:block; width:100%; object-fit:cover; }

/* wiersze z ikoną (zalety, kroki, kontakty) */
.t-row{ display:flex; gap:16px; padding:20px 0; border-top:1px solid rgba(255,255,255,0.12); }
.t-row:last-of-type{ border-bottom:1px solid rgba(255,255,255,0.12); }
.t-row .tr-ic{ flex-shrink:0; width:36px; height:36px; border:1px solid #ffbb00; display:flex; align-items:center; justify-content:center; color:#ffbb00; font-family:'IBM Plex Mono',monospace; font-weight:600; }
.t-row h4{ margin:0; font-size:17px; font-weight:700; color:#fff; }
.t-row p{ margin:5px 0 0; font-size:14px; color:#b6bbc2; line-height:1.5; }

/* tabela parametrów */
.t-spec{ width:100%; border-collapse:collapse; margin-top:20px; }
.t-spec th, .t-spec td{ text-align:left; padding:13px 10px; border-top:1px solid rgba(255,255,255,0.12); font-size:14.5px; vertical-align:top; }
.t-spec tr:last-child th, .t-spec tr:last-child td{ border-bottom:1px solid rgba(255,255,255,0.12); }
.t-spec th{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:#b6bbc2; font-weight:500; width:38%; }
.t-spec td{ color:#ECECEE; }
.t-spec td b{ color:#ffbb00; }

/* karty cenowe */
.t-price{ border:1px solid rgba(255,255,255,0.12); background:#14161b; padding:22px; display:flex; flex-direction:column; gap:6px; }
.t-price.featured{ border-color:#ffbb00; }
.t-price .plan{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:#b6bbc2; }
.t-price .price{ font-size:30px; font-weight:800; color:#fff; letter-spacing:-0.02em; }
.t-price .price small{ font-size:14px; color:#b6bbc2; font-weight:500; }
.t-price .per{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:#ffbb00; }
.t-price .desc{ margin:6px 0 0; font-size:13.5px; color:#b6bbc2; line-height:1.5; }

/* kontakt: osoby */
.person-row{ display:flex; gap:16px; padding:22px 0; border-top:1px solid rgba(255,255,255,0.12); }
.person-row:last-of-type{ border-bottom:1px solid rgba(255,255,255,0.12); }
.person-row .pr-av{ flex-shrink:0; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,0.06); display:flex; align-items:center; justify-content:center; color:#b6bbc2; }
.person-row .pr-name{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:#b6bbc2; }
.tel-big{ display:block; font-size:26px; font-weight:700; color:#fff; text-decoration:none; margin-top:3px; }
.tel-big:hover{ color:#ffbb00; }
.person-row .pr-desc{ font-size:13px; color:#b6bbc2; margin-top:5px; }

/* ---------- KONTAKT (sekcja 06, zsynchronizowana z index.html) ---------- */
.ct-grid{ display:grid; grid-template-columns:1fr; gap:24px; margin-top:28px; align-items:stretch; }
.ct-left, .ct-form-col{ display:flex; flex-direction:column; border:1px solid rgba(255,255,255,0.12); background:#14161b; padding:clamp(24px,3.5vw,32px); }
.ct-hours{ margin:0 0 4px; display:flex; align-items:center; gap:8px; font-size:13.5px; color:#b6bbc2; line-height:1.5; text-wrap:pretty; }
.ct-divider{ height:1px; background:rgba(255,255,255,0.12); margin:24px 0 20px; }
.ct-channels{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; margin-top:auto; padding-top:20px; border-top:1px solid rgba(255,255,255,0.1); }
.ct-channel{ display:flex; align-items:center; gap:10px; color:#fff; font-weight:700; font-size:15.5px; text-decoration:none; }
.ct-channel:hover{ color:#ffbb00; }
.ct-channel svg{ flex:0 0 auto; }
.ct-channel-wa svg{ color:#25D366; }
.ct-channel-mail svg{ color:#ffbb00; }
.form-row2{ display:grid; grid-template-columns:1fr 1.6fr; gap:16px; }
@media (min-width:640px){
  .ct-channels{ flex-direction:row; align-items:center; gap:24px; }
}
@media (min-width:1081px){
  .ct-grid{ grid-template-columns:1fr 1fr; gap:28px; }
}

/* formularz */
.t-form{ border:1px solid rgba(255,255,255,0.12); background:#14161b; padding:32px; }
.t-label{ display:block; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:#b6bbc2; margin:16px 0 8px; }
.t-input{ width:100%; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.18); color:#fff; font-family:'Space Grotesk',sans-serif; font-size:16px; padding:13px 15px; }
.t-input:focus{ outline:none; border-color:rgba(255,187,0,0.55); }
textarea.t-input{ resize:vertical; min-height:100px; line-height:1.5; }
.t-note{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:#8a9099; line-height:1.55; margin-top:14px; }
.t-note a{ color:#b6bbc2; }

/* FAQ */
.t-faq{ border-top:1px solid rgba(255,255,255,0.12); }
.t-faq details{ border-bottom:1px solid rgba(255,255,255,0.12); }
.t-faq summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 0; font-size:16.5px; font-weight:700; color:#fff; }
.t-faq summary::-webkit-details-marker{ display:none; }
.t-faq summary::after{ content:"+"; font-family:'IBM Plex Mono',monospace; color:#ffbb00; font-size:18px; }
.t-faq details[open] summary::after{ content:"–"; }
.t-faq .faq-a{ padding:0 0 18px; color:#b6bbc2; font-size:14.5px; line-height:1.6; max-width:720px; }

/* mapa */
.t-map{ border:1px solid rgba(255,255,255,0.12); }
.t-map iframe{ display:block; width:100%; height:340px; border:0; filter:grayscale(0.2) contrast(1.02); }

/* pasek CTA */
.cta-band{ border:1px solid rgba(255,255,255,0.14); background:#14161b; padding:34px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.cta-band h3{ margin:0; font-size:24px; font-weight:800; letter-spacing:-0.02em; color:#fff; }
.cta-band p{ margin:8px 0 0; color:#b6bbc2; font-size:14.5px; }

/* ---------- STOPKA ---------- */
footer.t-foot{ background:#0B0C0F; border-top:1px solid rgba(255,255,255,0.08); }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; }
.foot-lnk{ color:#b6bbc2; cursor:pointer; text-decoration:none; }
.foot-lnk:hover{ color:#fff; }
.foot-h{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:#6f747c; margin-bottom:16px; }
.foot-col{ display:flex; flex-direction:column; gap:11px; font-size:14px; }
.foot-bottom{ margin-top:44px; padding-top:22px; border-top:1px solid rgba(255,255,255,0.08); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:#6f747c; }

/* ---------- STOPKA v2 (nowy branding, zsynchronizowana z index.html) ---------- */
.pewne-brand{ display:flex; align-items:flex-end; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:14px; }
.pewne-logo{ height:clamp(28px,6vw,34px); width:auto; display:block; flex:0 0 auto; }
.pewne-name{ font-weight:800; font-size:38px; line-height:0.72; letter-spacing:-0.02em; color:#fff; }
.pewne-dash{ font-size:clamp(18px,4.2vw,24px); font-weight:700; letter-spacing:-0.01em; color:#ffc107; margin-left:-3px; transform:translateY(2px); }
.pewne-lockup{ font-size:clamp(30px,6vw,46px); font-weight:800; letter-spacing:-0.02em; line-height:1.04; color:#fff; }
.pewne-lockup span{ color:#ffbb00; }
.foot-top{ display:grid; grid-template-columns:1fr; gap:34px; text-align:center; }
.foot-cta{ display:inline-flex; align-items:center; gap:10px; font-size:22px; font-weight:800; letter-spacing:-0.01em; color:#ffbb00; text-decoration:none; }
.foot-social{ display:flex; gap:12px; justify-content:center; }
.foot-ico{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid rgba(255,255,255,0.14); color:#b6bbc2; text-decoration:none; }
.foot-ico:hover{ border-color:#ffbb00; color:#ffbb00; }
.foot-legal{ margin-top:40px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.08); text-align:center; font-family:'IBM Plex Mono',monospace; font-size:12px; }
.foot-legal .sep{ color:#6f747c; margin:0 4px; }
@media (min-width:760px){
  .foot-top{ grid-template-columns:1fr auto 1fr; align-items:flex-end; column-gap:36px; text-align:left; }
  .pewne-brand{ justify-content:flex-start; }
  .foot-social{ justify-self:center; }
  .foot-mid{ justify-self:end; }
}
@media (max-width:640px){
  .foot-legal .sep{ display:none; }
  .foot-legal a{ display:block; padding:9px 0; font-size:13px; }
  .foot-wrap{ padding-bottom:100px !important; }
}

/* ---------- MOBILNY PASEK CTA ---------- */
.mobile-bar{ display:none; position:fixed; bottom:0; left:0; right:0; z-index:70; background:rgba(11,12,15,0.96); border-top:1px solid rgba(255,255,255,0.14); padding:10px 12px; gap:10px; backdrop-filter:blur(8px); transform:translateY(105%); transition:transform .25s ease; }
.mobile-bar.show{ transform:none; }
.mobile-bar a{ flex:1 1 0; min-width:0; padding:13px 6px; font-size:14.5px; white-space:nowrap; }

/* strony prawne */
.legal{ max-width:820px; }
.legal h2{ font-size:22px; margin:34px 0 12px; letter-spacing:-0.01em; color:#fff; }
.legal p, .legal li{ color:#c7cacf; font-size:15.5px; line-height:1.65; }
.legal ul{ margin:10px 0 0; padding-left:22px; display:flex; flex-direction:column; gap:7px; }
.legal .legal-meta{ font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:#8a9099; margin-top:6px; }
.legal a{ color:#ffbb00; }

/* ---------- RESPONSYWNOŚĆ ---------- */
@media (max-width:1080px){
  .wrap{ padding-left:28px; padding-right:28px; }
  .grid-4{ grid-template-columns:1fr 1fr; }
  .grid-3{ grid-template-columns:1fr 1fr; }
  .split{ grid-template-columns:1fr; gap:32px; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:960px){
  .nav-mid{ display:none !important; }
  .nav-burger{ display:flex; }
}
@media (max-width:640px){
  .wrap{ padding-left:18px; padding-right:18px; }
  nav.top{ padding:0 18px; }
  .nav-logo-mark{ height:26px; }
  .nav-logo-word{ font-size:30px; }
  .pewne-name{ font-size:30px; }
  .nav-order{ display:none !important; }
  .tel-txt{ display:none; }
  .grid-2, .grid-3, .grid-4{ grid-template-columns:1fr; }
  .sec{ padding-top:56px; padding-bottom:56px; }
  .mobile-bar{ display:flex; }
  body{ padding-bottom:74px; }
  .t-form{ padding:22px 16px; }
  .cta-band{ padding:24px 18px; }
}

/* ---------- PASEK KATEGORII (identyczny na stronach kategorii) ---------- */
.cat-bar{ background:#0B0C0F; border-bottom:1px solid rgba(255,255,255,0.08); }
.cat-bar .wrap{ display:flex; align-items:center; gap:10px; padding-top:12px; padding-bottom:12px; overflow-x:auto; scrollbar-width:none; }
.cat-bar .wrap::-webkit-scrollbar{ display:none; }
.cat-chip{ flex:0 0 auto; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:#b6bbc2; text-decoration:none; border:1px solid rgba(255,255,255,0.14); padding:8px 14px; white-space:nowrap; transition:border-color .15s ease, color .15s ease; }
.cat-chip:hover{ color:#fff; border-color:rgba(255,255,255,0.3); }
.cat-chip.is-active{ color:#101216; background:#ffbb00; border-color:#ffbb00; font-weight:600; }
.cat-szukaj{ flex:0 0 auto; display:flex; align-items:center; gap:8px; border:1px solid rgba(255,187,0,0.45); padding:0 12px; background:rgba(255,187,0,0.05); }
.cat-szukaj svg{ flex:0 0 auto; color:#ffbb00; }
.catq{ width:168px; background:transparent; border:0; color:#fff; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.06em; padding:9px 0; text-transform:uppercase; transition:width .15s ease; }
.catq:focus{ outline:none; width:230px; }
.catq::placeholder{ color:#b6bbc2; }
.catq-sug{ position:fixed; z-index:120; background:#16181d; border:1px solid rgba(255,255,255,0.18); box-shadow:0 14px 44px rgba(0,0,0,0.55); }
.catq-row{ display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px 15px; border-bottom:1px solid rgba(255,255,255,0.07); cursor:pointer; font-size:14px; color:#ECECEE; }
.catq-row:last-child{ border-bottom:0; }
.catq-row:hover, .catq-row.active{ background:rgba(255,255,255,0.06); }
.catq-cat{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:#ffbb00; white-space:nowrap; }

/* ---------- v2.4: rozwijane menu desktop + akordeony burgera + pasek + solidny header mobile ---------- */
.nav-dd{ position:relative; padding:26px 0; margin:-26px 0; }
.nav-dd > .nav-link{ display:inline-flex; align-items:center; gap:6px; }
.nav-dd-caret{ width:11px; height:11px; flex:0 0 auto; margin-top:1px; }
.nav-dd-menu{ position:absolute; top:100%; left:-18px; z-index:70; min-width:226px; display:none; flex-direction:column; background:#101216; border:1px solid rgba(255,255,255,0.12); box-shadow:0 18px 40px rgba(0,0,0,0.55); padding:6px 0; }
.nav-dd:hover .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu{ display:flex; }
.nav-dd-menu a{ padding:12px 18px; font-size:14px; color:#c7cacf; text-decoration:none; white-space:nowrap; }
.nav-dd-menu a:hover{ background:rgba(255,255,255,0.05); color:#fff; }
.mm-acc{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:10px; padding:16px 22px; font-size:16px; color:#ECECEE; background:transparent; border:0; border-top:1px solid rgba(255,255,255,0.07); font-family:'Space Grotesk',sans-serif; text-align:left; cursor:pointer; }
.mm-acc svg{ transition:transform .2s ease; }
.mm-acc[aria-expanded="true"] svg{ transform:rotate(180deg); }
.mm-sub{ display:flex; flex-direction:column; }
.mm-sub a{ display:block; width:100%; padding-left:38px !important; font-size:15px !important; color:#c7cacf !important; border-top:0 !important; }
@media (max-width:640px){
  nav.top{ background:#101216 !important; backdrop-filter:none !important; }
}

/* ============================================================
   v3.0 — SEKCJA „01 / JAKA TO ROBOTA"
   Zdjęcie realizacji po lewej + klikalna lista robót po prawej.
   Używane na 6 stronach kategorii.
   ============================================================ */

/* klikalna lista robót — każdy wiersz startuje wycenę z gotowym opisem */
.joblist{ margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr; gap:8px; }
.job{ position:relative; display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid rgba(255,255,255,0.12); background:#14161b; text-decoration:none; transition:border-color .15s, background .15s; }
.job:hover, .job:focus-visible{ border-color:rgba(255,187,0,0.7); background:#181a20; outline:none; }
.job-tick{ flex:0 0 auto; font-family:'IBM Plex Mono',monospace; font-size:13px; font-weight:600; color:#ffbb00; }
.job-txt{ flex:1; min-width:0; font-size:15px; color:#ECECEE; line-height:1.4; }
.job-go{ flex:0 0 auto; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:#6f747c; white-space:nowrap; transition:color .15s; }
.job:hover .job-go, .job:focus-visible .job-go{ color:#ffbb00; }
.joblist-foot{ margin:18px 0 0; font-family:'IBM Plex Mono',monospace; font-size:12px; color:#8a9099; line-height:1.7; }

/* układ: dowód po lewej, lista po prawej */
.rob-grid{ margin-top:34px; display:grid; grid-template-columns:1fr; gap:30px; align-items:start; }
@media (min-width:1000px){ .rob-grid{ grid-template-columns:1.04fr 0.96fr; gap:clamp(36px,4vw,56px); } }
.rob-media{ position:relative; border:1px solid rgba(255,255,255,0.12); background:#0B0C0F; aspect-ratio:4/3; overflow:hidden; }
.rob-media .fig-c{ position:absolute; width:13px; height:13px; z-index:4; margin:8px; }
.rob-media .fig-tl{ top:0; left:0; border-left:1px solid #ffbb00; border-top:1px solid #ffbb00; }
.rob-media .fig-tr{ top:0; right:0; border-right:1px solid #ffbb00; border-top:1px solid #ffbb00; }
.rob-under{ margin-top:18px; display:flex; align-items:flex-start; gap:16px; }
.rob-cap{ flex:1; min-width:0; }
.rob-cap-t{ font-size:17.5px; font-weight:700; letter-spacing:-0.01em; color:#fff; line-height:1.3; }
.rob-nav{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.rob-count{ font-family:'IBM Plex Mono',monospace; font-size:13px; color:#b6bbc2; white-space:nowrap; }
.rob-lead{ margin:0 0 16px; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:#ffbb00; }
.rob-foot{ margin:18px 0 0; display:flex; gap:20px; flex-wrap:wrap; align-items:center; }
