/*
Theme Name: iTNet 2026
Theme URI: https://itnet.net.pl/
Author: iTNet
Description: Nowy, samodzielny motyw iTNet (2026) — niezależny od Betheme. Aktywować ręcznie w Wygląd -> Motywy, gdy strona główna i podstrony będą gotowe.
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@600;700&family=JetBrains+Mono:wght@500;600&display=swap');

:root{
  --bg:#F7F9FC;
  --bg-alt:#EEF2FA;
  --panel:#FFFFFF;
  --line:#DFE5F2;
  --ink:#101528;
  --ink-2:#2B3352;
  --ink-mut:#6B7494;
  --navy:#141A34;
  --navy-2:#1B2250;
  --cyan:#35C8FF;
  --cyan-deep:#0E86BE;
  --cyan-wash:#E6F8FF;
  --radius:22px;
  --radius-sm:12px;
}
:root[data-theme="dark"]{
  --bg:#0D1120;
  --bg-alt:#131832;
  --panel:#171D3A;
  --line:#2A3160;
  --ink:#F3F5FC;
  --ink-2:#D6DBF2;
  --ink-mut:#9AA3CC;
  --navy:#080B18;
  --navy-2:#0F1430;
  --cyan:#4FD4FF;
  --cyan-deep:#35C8FF;
  --cyan-wash:#132538;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0D1120;
    --bg-alt:#131832;
    --panel:#171D3A;
    --line:#2A3160;
    --ink:#F3F5FC;
    --ink-2:#D6DBF2;
    --ink-mut:#9AA3CC;
    --navy:#080B18;
    --navy-2:#0F1430;
    --cyan:#4FD4FF;
    --cyan-deep:#35C8FF;
    --cyan-wash:#132538;
  }
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'IBM Plex Sans',-apple-system,sans-serif;
  font-size:16px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif; text-wrap:balance; margin:0; color:var(--ink);}
.eyebrow{
  font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--cyan-deep); display:flex; align-items:center; gap:9px;
}
.eyebrow .dash{width:21px; height:2px; background:var(--cyan); border-radius:2px;}
p{margin:0;}
a{color:inherit;}
img{max-width:100%; display:block;}
button{font-family:inherit;}

.wrap{max-width:1160px; margin:0 auto; padding:0 34px;}
@media(max-width:700px){ .wrap{padding:0 21px;} }

/* signal divider: neon dashes/dots motif between sections */
.signal{
  display:flex; align-items:center; justify-content:center; gap:8px; padding:34px 0;
}
.signal span{ display:block; border-radius:99px; background:var(--cyan); opacity:.35; }
.signal .d{width:5px; height:5px;}
.signal .l{width:34px; height:2px;}
.signal span{ animation:signalPulse 2.6s ease-in-out infinite; }
.signal span:nth-child(2){animation-delay:.2s;}
.signal span:nth-child(3){animation-delay:.4s;}
.signal span:nth-child(4){animation-delay:.6s;}
.signal span:nth-child(5){animation-delay:.8s;}
@keyframes signalPulse{ 0%,100%{opacity:.25;} 50%{opacity:.9;} }

/* reveal-on-scroll */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .signal span{ animation:none; opacity:.6; }
  html{scroll-behavior:auto;}
  .steps .step.reveal, .steps .step.reveal.in{ animation:none; opacity:1; box-shadow:0 0 13px rgba(53,200,255,.13), inset 0 0 21px rgba(53,200,255,.05); border-color:rgba(53,200,255,.21); }
}

/* ===== NAV ===== */
nav{
  position:sticky; top:0; z-index:40; background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line);
}
nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:76px; }
.logo{ height:24px; }
.navlinks{ display:flex; align-items:center; gap:34px; font-size:14px; font-weight:500; color:var(--ink-2); }
.navlinks a{ text-decoration:none; }
.navlinks a:hover{ color:var(--cyan-deep); }
.btn{
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:14px; letter-spacing:.01em;
  padding:12px 22px; border-radius:99px; border:none; cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
}
.btn-primary{ background:var(--cyan); color:var(--navy); }
.btn-primary:hover{ background:var(--cyan-deep); color:#fff; }
.btn-ghost{ background:transparent; color:var(--ink); border:1.5px solid var(--line); }
.btn-ghost:hover{ border-color:var(--cyan); }
@media(max-width:760px){ .navlinks{display:none;} }

/* ===== HERO ===== */
.hero{
  position:relative; min-height:92vh; display:flex; align-items:flex-end;
  background:#0a0e1a;
  overflow:hidden;
}
.hero-img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; animation:heroImgIn 1.6s ease forwards;
}
@keyframes heroImgIn{ from{opacity:0; transform:scale(1.06);} to{opacity:1; transform:scale(1);} }
.hero::after{
  content:''; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(8,11,20,.2) 0%, rgba(8,11,20,.5) 45%, rgba(8,11,20,.96) 100%);
}
.hero-content{ position:relative; z-index:2; width:100%; padding-bottom:76px; }
.hero-eyebrow{ color:var(--cyan); opacity:0; animation:riseIn .7s ease .2s forwards; text-shadow:0 2px 16px rgba(0,0,0,.8); }
.hero-eyebrow .dash{background:var(--cyan);}
.hero h1{
  color:#fff; font-size:clamp(34px,5.4vw,64px); font-weight:700; line-height:1.06; margin-top:18px; max-width:820px;
  opacity:0; animation:riseIn .8s ease .38s forwards;
  text-shadow:0 6px 28px rgba(0,0,0,.65), 0 2px 10px rgba(0,0,0,.6);
}
.hero-sub{
  color:#E4E8F7; font-size:18px; max-width:520px; margin-top:21px;
  opacity:0; animation:riseIn .8s ease .56s forwards;
  text-shadow:0 2px 16px rgba(0,0,0,.75);
}
.hero-ctas{ display:flex; gap:13px; margin-top:34px; opacity:0; animation:riseIn .8s ease .72s forwards; }
@keyframes riseIn{ from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:translateY(0);} }

/* 4 punkty-scenariusze w pustej strefie nieba, ulozone asymetrycznie - bez linii, bez ramek */
.scene-spot{
  position:absolute; z-index:2; max-width:190px; opacity:0; animation:spotIn 2.1s ease forwards;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.55));
}
@keyframes spotIn{ from{opacity:0; transform:translateY(13px);} to{opacity:1; transform:translateY(0);} }
.spot-icon{ width:30px; height:30px; color:var(--cyan); filter:drop-shadow(0 0 6px rgba(53,200,255,.6)); }
.spot-icon svg{ width:100%; height:100%; }
.spot-label{
  color:#fff; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15.5px; margin-top:9px;
  text-shadow:0 2px 12px rgba(0,0,0,.7);
}
.spot-desc{
  color:#E4E8F7; font-size:12.5px; line-height:1.5; margin-top:6px;
  text-shadow:0 2px 10px rgba(0,0,0,.85);
}
.spot-1{ top:4%; left:6%;   animation-delay:.8s; }
.spot-2{ top:4%; left:30%;  animation-delay:2.1s; }
.spot-3{ top:3%; right:8%;  animation-delay:1.3s; text-align:right; }
.spot-3 .spot-icon{ margin-left:auto; }
.spot-4{ top:3%; right:38%; animation-delay:1.7s; text-align:right; }
.spot-4 .spot-icon{ margin-left:auto; }
@media (prefers-reduced-motion: reduce){ .scene-spot{ animation:none; opacity:1; } }
@media(max-width:760px){ .scene-spot{ display:none; } }

/* ===== SECTION generic ===== */
section{ padding:76px 0; }
.section-head{ max-width:620px; margin-bottom:42px; }
.section-head h2{ font-size:clamp(26px,3.4vw,38px); margin-top:14px; }
.section-head p{ color:var(--ink-mut); font-size:16px; margin-top:14px; }

/* ===== dwie sciezki ===== */
.paths{ display:grid; grid-template-columns:1fr 1fr; gap:21px; }
@media(max-width:760px){ .paths{grid-template-columns:1fr;} }
.path-card{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:34px;
  position:relative; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease;
}
.path-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -22px rgba(20,26,52,.35); }
.path-card .tag{
  font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--cyan-deep); background:var(--cyan-wash); padding:6px 12px; border-radius:99px; display:inline-block;
}
.path-card h3{ font-size:24px; margin-top:18px; }
.path-card p{ color:var(--ink-mut); margin-top:12px; font-size:15px; }
.path-card .btn{ margin-top:21px; }

/* ===== jak to dziala: bold navy band ===== */
.process{ background:var(--navy); color:#fff; }
.process .section-head h2{ color:#fff; }
.process .section-head p{ color:#9AA3CC; }
.process .eyebrow{ color:var(--cyan); }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }
@media(max-width:900px){ .steps{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .steps{grid-template-columns:1fr;} }
.step{
  background:var(--navy-2);
  padding:30px 24px;
  border-radius:13px;
  border:1px solid rgba(53,200,255,.21);
  box-shadow:0 0 13px rgba(53,200,255,.13), inset 0 0 21px rgba(53,200,255,.05);
  transition:box-shadow .34s ease, border-color .34s ease, transform .34s ease;
}
.step:hover{
  border-color:rgba(53,200,255,.55);
  box-shadow:0 0 34px rgba(53,200,255,.34), inset 0 0 21px rgba(53,200,255,.13);
  transform:translateY(-3px);
}
.step .num{ font-family:'JetBrains Mono',monospace; color:var(--cyan); font-size:13px; font-weight:600; }
.step h4{ font-family:'Space Grotesk',sans-serif; color:#fff; font-size:18px; margin-top:14px; font-weight:600; }
.step p{ color:#AEB6D6; font-size:13.5px; margin-top:10px; line-height:1.55; }

/* sekwencyjne "power-on" pojawianie się kafelków procesu */
@keyframes stepPowerOn{
  0%{ opacity:0; transform:translateY(21px) scale(.96); box-shadow:0 0 0 rgba(53,200,255,0); border-color:rgba(53,200,255,0); }
  55%{ opacity:1; transform:translateY(0) scale(1.01); box-shadow:0 0 34px rgba(53,200,255,.55), inset 0 0 21px rgba(53,200,255,.21); border-color:rgba(53,200,255,.89); }
  100%{ opacity:1; transform:translateY(0) scale(1); box-shadow:0 0 13px rgba(53,200,255,.13), inset 0 0 21px rgba(53,200,255,.05); border-color:rgba(53,200,255,.21); }
}
.steps .step.reveal{ opacity:0; transform:none; transition:none; }
.steps .step.reveal.in{ animation:stepPowerOn 1.44s ease-out forwards; }
.steps .step:nth-child(1).reveal.in{ animation-delay:0s; }
.steps .step:nth-child(2).reveal.in{ animation-delay:.21s; }
.steps .step:nth-child(3).reveal.in{ animation-delay:.34s; }
.steps .step:nth-child(4).reveal.in{ animation-delay:.55s; }

/* ===== oferta cards ===== */
.offer-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:900px){ .offer-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:600px){ .offer-grid{grid-template-columns:1fr;} }
.offer-card{
  background:var(--panel); border:1px solid var(--line); border-top:3px solid var(--cyan);
  border-radius:var(--radius-sm); padding:26px; transition:transform .25s ease;
}
.offer-card:hover{ transform:translateY(-3px); }
.offer-card h4{ font-family:'Space Grotesk',sans-serif; font-size:17px; font-weight:600; }
.offer-card p{ color:var(--ink-mut); font-size:14px; margin-top:10px; }
.offer-card a{ display:inline-block; margin-top:14px; font-size:13.5px; font-weight:600; color:var(--cyan-deep); text-decoration:none; }

/* ===== realizacje / opinie placeholder ===== */
.placeholder-block{
  border:1.5px dashed var(--line); border-radius:var(--radius); padding:42px; text-align:center;
  color:var(--ink-mut); font-size:14.5px; background:var(--bg-alt);
}
.gallery{ display:grid; grid-template-columns:2fr 1fr; gap:16px; }
@media(max-width:700px){ .gallery{grid-template-columns:1fr;} }
.gallery img{ border-radius:var(--radius); width:100%; height:100%; object-fit:cover; }

/* ===== opinie — karuzela w stylu "hologramu" (tło sekcji jasne, karta ciemna) ===== */
.review-carousel{ display:flex; align-items:center; gap:13px; max-width:610px; margin:0 auto; }
.review-stage{ position:relative; overflow:hidden; flex:1; min-width:0; transition:height .5s ease; }

/* niewidoczne strefy na brzegach karty — najechanie zmienia opinię */
.review-hotzone{
  position:absolute; top:0; bottom:0; width:22%; z-index:5; cursor:pointer;
}
.review-hotzone-left{ left:0; }
.review-hotzone-right{ right:0; }
.review-hotzone::after{
  content:''; position:absolute; top:50%; transform:translateY(-50%);
  width:34px; height:34px; border-radius:50%; background:rgba(10,14,26,.55);
  border:1px solid rgba(53,200,255,.4); color:var(--cyan);
  display:flex; align-items:center; justify-content:center; font-size:16px;
  opacity:0; transition:opacity .2s ease;
}
.review-hotzone-left::after{ content:'‹'; left:8px; }
.review-hotzone-right::after{ content:'›'; right:8px; }
.review-hotzone:hover::after{ opacity:1; }

.review-holo{
  position:absolute; top:0; left:0; right:0;
  display:flex; gap:16px; align-items:flex-start;
  background:#0A0E1C; border:1px solid rgba(53,200,255,.34); border-radius:13px;
  padding:21px; box-shadow:0 21px 55px -21px rgba(10,14,26,.5), 0 0 34px rgba(53,200,255,.18), inset 0 0 21px rgba(53,200,255,.06);
  transition:transform .89s cubic-bezier(.65,0,.35,1);
  transform:translateX(110%);
}
.review-holo.no-anim{ transition:none; }
.review-holo.pos-active{ transform:translateX(0); z-index:2; }
.review-holo.pos-next{ transform:translateX(110%); z-index:1; }
.review-holo.pos-prev{ transform:translateX(-110%); z-index:1; }
.review-holo-icon{
  flex:none; width:47px; height:47px; border-radius:50%; position:relative;
  border:1.5px solid rgba(53,200,255,.55); display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 13px rgba(53,200,255,.34), inset 0 0 8px rgba(53,200,255,.13); color:var(--cyan);
}
.review-holo-icon svg{ width:23px; height:23px; }
.review-holo-check{
  position:absolute; bottom:-2px; right:-2px; width:16px; height:16px; border-radius:50%;
  background:var(--cyan); color:var(--navy); display:flex; align-items:center; justify-content:center;
  font-size:9px; font-weight:700; box-shadow:0 0 6px rgba(53,200,255,.7);
}
.review-holo-body{ flex:1; min-width:0; }
.review-holo .review-title{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:14px; color:#fff; margin-bottom:7px; }
.review-holo .review-text{ color:#C7CEEA; font-size:12.5px; line-height:1.6; margin:0; }
.review-holo .review-who{ font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:600; color:var(--cyan); margin-top:11px; }

.review-dots{ display:flex; justify-content:center; gap:7px; margin-top:16px; }
.review-dot{
  width:7px; height:7px; border-radius:50%; border:1px solid rgba(53,200,255,.5);
  background:transparent; cursor:pointer; padding:0;
}
.review-dot.active{ background:var(--cyan); border-color:var(--cyan); box-shadow:0 0 8px 1px rgba(53,200,255,.5); }

@media(max-width:700px){
  .review-holo{ flex-direction:column; align-items:flex-start; gap:13px; padding:18px; }
}

/* ===== blog ===== */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:900px){ .blog-grid{grid-template-columns:1fr;} }
.blog-card{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-sm); padding:22px;
  display:block; text-decoration:none; color:inherit;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.blog-card:hover{ transform:translateY(-3px); box-shadow:0 18px 40px -22px rgba(20,26,52,.25); border-color:var(--cyan); }
.blog-card .cat{ font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--cyan-deep); }
.blog-card h4{ font-family:'Space Grotesk',sans-serif; font-size:15.5px; font-weight:600; margin-top:10px; line-height:1.4; }

/* ===== FAQ ===== */
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{
  width:100%; text-align:left; background:none; border:none; padding:20px 0; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:16px; color:var(--ink);
}
.faq-plus{ font-family:'JetBrains Mono',monospace; color:var(--cyan-deep); font-size:20px; flex:none; transition:transform .25s ease; }
.faq-item.open .faq-plus{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; color:var(--ink-mut); font-size:14.5px; }
.faq-item.open .faq-a{ max-height:200px; padding-bottom:20px; }

/* ===== kontakt ===== */
.contact-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:42px; }
@media(max-width:800px){ .contact-wrap{grid-template-columns:1fr;} }
.field{ margin-top:16px; }
.field label{ font-size:13px; font-weight:600; color:var(--ink-2); display:block; margin-bottom:7px; }
.field input, .field textarea{
  width:100%; background:var(--bg-alt); border:1px solid var(--line); border-radius:10px; padding:12px 14px;
  font-family:'IBM Plex Sans',sans-serif; font-size:14.5px; color:var(--ink);
}
.field textarea{ min-height:89px; resize:vertical; }
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--cyan); }
.form-status{ display:none; margin-top:13px; padding:11px 15px; border-radius:8px; font-size:14px; }
.form-status.show{ display:block; }
.form-status.ok{ background:rgba(53,200,255,.12); border:1px solid rgba(53,200,255,.4); color:var(--ink); }
.form-status.err{ background:rgba(255,90,90,.1); border:1px solid rgba(255,90,90,.4); color:#c0392b; }
.contact-info .row{ display:flex; gap:12px; align-items:flex-start; margin-top:18px; }
.contact-info .row .k{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ink-mut); letter-spacing:.08em; text-transform:uppercase; width:80px; flex:none; padding-top:2px;}

/* ===== footer ===== */
footer{ background:var(--navy); color:#fff; padding:55px 0 34px; }
.foot-grid{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:34px; }
.foot-grid .logo{ height:22px; }
.foot-col p, .foot-col a{ color:#9AA3CC; font-size:13.5px; text-decoration:none; display:block; margin-top:10px; }
.foot-col h5{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--cyan); font-weight:600; }
.social-row{ display:flex; gap:10px; margin-top:14px; }
.social-row a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.18);
  display:flex; align-items:center; justify-content:center; font-size:13px; margin:0;
}
.social-row a.soon{ opacity:.35; }
.foot-bottom{ margin-top:42px; padding-top:21px; border-top:1px solid rgba(255,255,255,.1); color:#6B7494; font-size:12px; }

/* ===== generic page fallback (dla stron/wpisów bez wlasnego szablonu) ===== */
/* baner ze zdjęciem na górze podstron usługowych — oprawiona karta w ramach .wrap,
   nie pełnoekranowy pasek: dzięki temu proporcje kontenera są bliskie proporcjom
   samych zdjęć (16:9) i nie trzeba ich brutalnie przycinać w pionie. */
.service-hero{
  position:relative; border-radius:var(--radius); overflow:hidden;
  aspect-ratio:16/9; background:#0A0E1C;
  box-shadow:0 8px 34px rgba(20,26,52,.13);
}
.service-hero img{ width:100%; height:100%; object-fit:cover; display:block; }
.service-hero::after{
  content:''; position:absolute; inset:0;
  box-shadow:inset 0 -55px 55px -55px rgba(10,14,26,.4);
}

/* baner obok tekstu wprowadzającego (nie nad nim) */
.service-hero-row{
  display:grid; grid-template-columns:1.1fr 1fr; gap:42px; align-items:center;
  margin-top:34px;
}
.service-hero-row .service-hero{ aspect-ratio:4/3; }
.service-hero-row .service-hero-intro .wp-block-group{
  padding:0 !important; margin:0 !important; width:auto !important; max-width:none !important;
}
.service-hero-intro h1{ font-size:clamp(26px,2.6vw,36px); line-height:1.22; margin-top:13px; margin-bottom:13px; }
/* WP core wymusza .has-large-font-size:2.25rem (36px) przez !important — za duże na lead
   akapit pod H1, więc nadpisujemy tą samą bronią. */
.service-hero-intro p.has-large-font-size{
  font-size:18px !important; line-height:1.6 !important; max-width:none; margin-bottom:0;
}
@media(max-width:800px){
  .service-hero-row{ grid-template-columns:1fr; gap:21px; }
  .service-hero-row .service-hero{ aspect-ratio:16/9; }
}

.generic-page{ padding:34px 0 89px; }
.generic-page.no-hero{ padding-top:76px; }
.generic-page .page-title{ font-size:clamp(28px,4vw,42px); margin-bottom:34px; }
.generic-page .entry-content p{ margin-bottom:16px; color:var(--ink-2); font-size:16px; line-height:1.7; }
.generic-page .entry-content h2{ font-size:26px; margin-top:34px; margin-bottom:14px; }
.generic-page .entry-content h3{ font-size:20px; margin-top:26px; margin-bottom:10px; }
.generic-page .entry-content ul, .generic-page .entry-content ol{ margin:0 0 16px 22px; color:var(--ink-2); }
.generic-page .entry-content img{ border-radius:var(--radius-sm); margin:21px 0; }
.generic-page .entry-content a{ color:var(--cyan-deep); }

/* pełnowidokowe ciemne pasma (bloki grupowe z ciemnym tłem) na podstronach usługowych —
   wymuszamy jasny tekst, bo globalna reguła h1-h4/kolor zakłada jasne tło */
.generic-page .entry-content .wp-block-group[style*="0A0E1C"],
.generic-page .entry-content .wp-block-group[style*="141A34"]{
  border-radius:var(--radius);
  margin-top:34px; margin-bottom:34px;
}
.generic-page .entry-content .wp-block-group[style*="0A0E1C"] h1,
.generic-page .entry-content .wp-block-group[style*="0A0E1C"] h2,
.generic-page .entry-content .wp-block-group[style*="0A0E1C"] h3,
.generic-page .entry-content .wp-block-group[style*="0A0E1C"] h4,
.generic-page .entry-content .wp-block-group[style*="0A0E1C"] p,
.generic-page .entry-content .wp-block-group[style*="141A34"] h1,
.generic-page .entry-content .wp-block-group[style*="141A34"] h2,
.generic-page .entry-content .wp-block-group[style*="141A34"] h3,
.generic-page .entry-content .wp-block-group[style*="141A34"] h4,
.generic-page .entry-content .wp-block-group[style*="141A34"] p{
  color:#fff; margin-top:0; margin-bottom:0;
}
.generic-page .entry-content .wp-block-group[style*="0A0E1C"] a,
.generic-page .entry-content .wp-block-group[style*="141A34"] a{ color:var(--cyan); }
.generic-page .entry-content .wp-block-group[style*="0A0E1C"] .wp-block-heading,
.generic-page .entry-content .wp-block-group[style*="141A34"] .wp-block-heading{ margin-bottom:14px; }
.generic-page .entry-content .wp-block-group[style*="141A34"] .wp-block-buttons{ margin-top:21px; }
.generic-page .entry-content .wp-block-group[style*="141A34"] .wp-block-button__link{
  background:var(--cyan); color:var(--navy); border-radius:99px; font-weight:600;
  font-family:'Space Grotesk',sans-serif; text-decoration:none;
}

/* kafelki "kostka lodu" — szronione, przezroczyste szkło ze świetlnym refleksem */
.generic-page .entry-content .wp-block-column[style*="border-top-color:#35C8FF"]{
  background:linear-gradient(150deg, rgba(255,255,255,.8) 0%, rgba(214,240,255,.4) 55%, rgba(255,255,255,.65) 100%);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.85);
  border-top-style:solid;
  border-radius:13px;
  padding-left:21px; padding-right:21px; padding-bottom:21px;
  position:relative; overflow:hidden;
  box-shadow:
    0 8px 34px rgba(53,200,255,.13),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -13px 21px rgba(53,200,255,.08);
  transition:box-shadow .34s ease, transform .34s ease;
}
.generic-page .entry-content .wp-block-column[style*="border-top-color:#35C8FF"]::before{
  content:'';
  position:absolute; top:-40%; left:-25%;
  width:55%; height:180%;
  background:linear-gradient(120deg, rgba(255,255,255,.65) 0%, rgba(255,255,255,0) 65%);
  transform:rotate(18deg);
  pointer-events:none;
}
.generic-page .entry-content .wp-block-column[style*="border-top-color:#35C8FF"] > *{
  position:relative; z-index:1;
}
.generic-page .entry-content .wp-block-column[style*="border-top-color:#35C8FF"]:hover{
  transform:translateY(-5px);
  box-shadow:
    0 13px 42px rgba(53,200,255,.24),
    inset 0 1px 0 rgba(255,255,255,1),
    inset 0 -13px 26px rgba(53,200,255,.13);
}
@media (prefers-color-scheme: dark){
  .generic-page .entry-content .wp-block-column[style*="border-top-color:#35C8FF"]{
    background:linear-gradient(150deg, rgba(255,255,255,.08) 0%, rgba(79,212,255,.06) 55%, rgba(255,255,255,.04) 100%);
    border-color:rgba(255,255,255,.15);
    box-shadow:
      0 8px 34px rgba(0,0,0,.35),
      inset 0 1px 0 rgba(255,255,255,.12),
      inset 0 -13px 21px rgba(53,200,255,.1);
  }
}

/* suwak boczny do przeskakiwania między podstronami usługowymi */
.service-nav{
  position:fixed; top:50%; transform:translateY(-50%); z-index:39;
  width:46px; height:46px; border-radius:50%;
  background:rgba(255,255,255,.7); backdrop-filter:blur(10px);
  border:1px solid rgba(53,200,255,.34);
  box-shadow:0 0 21px rgba(53,200,255,.21);
  display:flex; align-items:center; justify-content:center;
  color:var(--cyan-deep); font-size:22px; text-decoration:none;
  transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.service-nav:hover{ box-shadow:0 0 34px rgba(53,200,255,.4); border-color:var(--cyan); transform:translateY(-50%) scale(1.08); }
.service-nav-prev{ left:21px; }
.service-nav-next{ right:21px; }
@media(max-width:900px){ .service-nav{ display:none; } }
