/* ==========================================================================
   TVPW Front Page - arkusz stylow nowej strony glownej
   Styl dopasowany do obecnego wygladu console-repairs.uk (motyw Etalon):
   biale tlo, niebieski akcent, ciemne naglowki wersalikami, font Open Sans.

   Kolor --accent jest nadpisywany przez wtyczke wartoscia z
   Theme Options -> Main Theme Color, wiec zawsze zgadza sie z reszta serwisu.
   ========================================================================== */

.tvpw{
  --accent:#3f9df3;          /* nadpisywane z ustawien motywu */
  --accent-dark:#2b86d9;
  --heading:#2f2f2f;
  --body:#828282;
  --line:#e8ebef;
  --paper:#ffffff;
  --paper-2:#f7f9fb;
  --dark:#1c1c1c;
  /* czcionka naglowkow - zmien tu i w tvpw-front-page.php zeby ja podmienic */
  --font-head:'Montserrat',-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-family:'Open Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--body);
  font-size:15px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}

.tvpw *,
.tvpw *::before,
.tvpw *::after{box-sizing:border-box;}

.tvpw img{max-width:100%;height:auto;}

.tvpw__wrap{
  width:100%;
  max-width:1170px;
  margin:0 auto;
  padding:0 20px;
}

.tvpw h1,.tvpw h2,.tvpw h3,.tvpw h4{
  font-family:var(--font-head);
  margin:0 0 14px;
  color:var(--heading);
  line-height:1.3;
  font-weight:700;
  letter-spacing:-0.005em;
}
.tvpw h1{font-weight:800;}

/* WAZNE: te elementy dziedzicza tylko krój pisma, NIGDY koloru.
   Wczesniej byly w regule powyzej i przez wyzsza specyficznosc
   dostawaly ciemny --heading takze na czarnym tle. */
.tvpw .tvpw-btn,
.tvpw .tvpw-stat__num,
.tvpw .tvpw__eyebrow,
.tvpw .tvpw-collect__num{
  font-family:var(--font-head);
  font-weight:700;
  letter-spacing:-0.005em;
  margin:0;
}

/* etykieta nad naglowkiem sekcji */
.tvpw__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--accent);
  margin-bottom:12px;
}
.tvpw__eyebrow::before,
.tvpw__eyebrow::after{
  content:"";
  width:26px;height:1px;
  background:color-mix(in srgb, var(--accent) 45%, transparent);
}

.tvpw p{margin:0 0 16px;}
.tvpw a{text-decoration:none;}

/* --------------------------------------------------------- sekcje ------- */
.tvpw__section{
  position:relative;
  padding:80px 0;
  background:var(--paper);
  overflow:hidden;
}
/* delikatny deseń kropek na jasnych sekcjach */
.tvpw__section::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(color-mix(in srgb, var(--accent) 20%, transparent) 1px, transparent 1px);
  background-size:26px 26px;
  opacity:.4;
  pointer-events:none;
}
.tvpw__section > *{position:relative;z-index:1;}

/* sekcja w odcieniu - gradient zamiast plaskiej szarosci */
.tvpw__section--tint{
  background:
    radial-gradient(900px 420px at 15% 0%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 70%),
    linear-gradient(180deg, #f5f9fd 0%, #eaf1f8 100%);
}
.tvpw__section--tint::before{opacity:.55;}
.tvpw__section--tight{padding:56px 0;}

.tvpw__head{max-width:720px;margin:0 auto 50px;text-align:center;}
.tvpw__head h2{
  font-size:30px;
  text-transform:uppercase;
  letter-spacing:.02em;
  margin-bottom:20px;
  position:relative;
  padding-bottom:18px;
}
/* niebieska kreska pod naglowkiem, rozjezdza sie przy pojawieniu */
.tvpw__head h2::after{
  content:"";
  position:absolute;
  left:50%;bottom:0;
  transform:translateX(-50%) scaleX(0);
  transform-origin:center;
  width:64px;height:3px;
  background:var(--accent);
  transition:transform .7s cubic-bezier(.16,.84,.44,1) .25s;
}
.tvpw__head.is-visible h2::after{transform:translateX(-50%) scaleX(1);}
.tvpw__head p{font-size:15px;color:var(--body);margin:0;}

/* ------------------------------------------------ ANIMACJE PRZEWIJANIA -- */
[data-tvpw-reveal]{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.16,.84,.44,1), transform .7s cubic-bezier(.16,.84,.44,1);
  will-change:opacity,transform;
}
[data-tvpw-reveal].is-visible{opacity:1;transform:none;}

[data-tvpw-reveal="left"]{transform:translateX(-30px);}
[data-tvpw-reveal="right"]{transform:translateX(30px);}
[data-tvpw-reveal="zoom"]{transform:scale(.94);}

/* ----------------------------------------------------------- HERO ------- */
.tvpw-hero{
  position:relative;
  background:var(--paper);
  /* gorny odstep to miejsce na przyklejone menu motywu - JS domierza dokladnie */
  padding:150px 0 10px;
  overflow:hidden;
}
/* ciemny kafel - ten sam jezyk co pasek statystyk i "We collect" */
.tvpw-hero__tile{
  position:relative;
  border-radius:12px;
  padding:52px 48px;
  overflow:hidden;
  background:
    radial-gradient(720px 420px at 88% -12%, color-mix(in srgb, var(--accent) 42%, transparent), transparent 66%),
    radial-gradient(560px 340px at 6% 108%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 64%),
    linear-gradient(122deg, #16202e 0%, #1d2c40 48%, #0f1926 100%);
  box-shadow:0 26px 60px rgba(16,26,40,.32);
}
.tvpw-hero__tile::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse at 75% 15%, #000 0%, transparent 78%);
  mask-image:radial-gradient(ellipse at 75% 15%, #000 0%, transparent 78%);
  pointer-events:none;
}
.tvpw-hero__tile > *{position:relative;z-index:1;}
/* miekka poswiata wewnatrz kafla */
.tvpw-hero__tile::after{
  content:"";
  position:absolute;
  right:-8%;top:-30%;
  width:60vw;height:60vw;
  max-width:760px;max-height:760px;
  border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 26%, transparent) 0%, transparent 68%);
  pointer-events:none;
  z-index:0;
  animation:tvpwBreathe 14s ease-in-out infinite;
}
@keyframes tvpwBreathe{
  0%,100%{transform:scale(1) translate(0,0);opacity:.9;}
  50%{transform:scale(1.12) translate(-2%,3%);opacity:1;}
}
.tvpw-hero__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:50px;
  align-items:center;
}
.tvpw-hero__badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:color-mix(in srgb, var(--accent) 45%, #bfe6ff);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:14px;
}
/* pulsujaca kropka "jestesmy otwarci" */
.tvpw-hero__badge::before{
  content:"";
  width:8px;height:8px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 0 var(--accent);
  animation:tvpwPulse 2.4s ease-out infinite;
}
@keyframes tvpwPulse{
  0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent);}
  70%{box-shadow:0 0 0 11px transparent;}
  100%{box-shadow:0 0 0 0 transparent;}
}
.tvpw-hero h1{
  color:#ffffff;
  font-size:clamp(28px,3.9vw,42px);
  line-height:1.24;
  text-transform:uppercase;
  margin-bottom:18px;
}
.tvpw-hero h1 em{
  font-style:normal;
  color:color-mix(in srgb, var(--accent) 55%, #8fd8ff);
}
.tvpw-hero__lead{
  color:#b9c7d8;
  font-size:16px;
  max-width:560px;
  margin-bottom:28px;
}
.tvpw-hero__cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:32px;
}

/* przyciski w stylu motywu Etalon */
.tvpw-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:15px 32px;
  border-radius:3px;
  border:2px solid transparent;
  overflow:hidden;
  transition:background .2s ease, color .2s ease, border-color .2s ease,
             transform .2s cubic-bezier(.16,.84,.44,1), box-shadow .2s ease;
  cursor:pointer;
}
/* delikatny przeblysk przejezdzajacy przez przycisk */
.tvpw-btn::before{
  content:"";
  position:absolute;
  top:0;left:-140%;
  width:60%;height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent);
  transform:skewX(-22deg);
  transition:left .6s ease;
}
.tvpw-btn:hover::before{left:150%;}
.tvpw-btn:hover{transform:translateY(-3px);}
.tvpw-btn:active{transform:translateY(-1px);}
/* glowny - gradient niebieski z cieniem */
.tvpw .tvpw-btn--primary{
  background:linear-gradient(135deg,
    color-mix(in srgb, var(--accent) 88%, #fff) 0%,
    var(--accent) 55%,
    var(--accent-dark) 100%);
  color:#fff;
  border-color:transparent;
  box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 34%, transparent);
}
.tvpw .tvpw-btn--primary:hover{
  color:#fff;
  box-shadow:0 12px 28px color-mix(in srgb, var(--accent) 46%, transparent);
}

/* obrysowy - wypelniony na jasno, zeby nie ginal na tle */
.tvpw .tvpw-btn--outline{
  background:#fff;
  color:var(--accent-dark);
  border-color:color-mix(in srgb, var(--accent) 55%, transparent);
  box-shadow:0 3px 10px rgba(47,47,47,.07);
}
.tvpw .tvpw-btn--outline:hover{
  background:color-mix(in srgb, var(--accent) 8%, #fff);
  border-color:var(--accent);
  color:var(--accent-dark);
}

/* ciemny - granatowy gradient z niebieskim obrysem, duzo lepiej widoczny */
.tvpw .tvpw-btn--dark{
  background:linear-gradient(135deg, #2b3e57 0%, #1a2637 100%);
  color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.45);
  border-color:rgba(255,255,255,.14);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 6px 18px rgba(22,32,46,.30);
}
.tvpw .tvpw-btn--dark:hover{
  background:linear-gradient(135deg, #2c3f59 0%, #1b2838 100%);
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 12px 26px rgba(22,32,46,.38);
}
/* na niebieskim pasku CTA ciemny przycisk zamienia sie w bialy */
.tvpw .tvpw-cta .tvpw-btn--dark{
  background:#fff;
  color:var(--accent-dark);
  box-shadow:0 8px 22px rgba(0,0,0,.20);
}
.tvpw .tvpw-cta .tvpw-btn--dark:hover{
  background:#f0f6ff;
  color:var(--accent-dark);
  box-shadow:0 14px 30px rgba(0,0,0,.26);
}

.tvpw-hero__usp{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 26px;
  max-width:540px;
  margin:0;
  padding:0;
}
.tvpw-hero__usp li{
  list-style:none;
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14px;
  line-height:1.55;
  color:#c3d0de;
}
.tvpw-hero__usp li::before{
  content:"";
  flex:0 0 auto;
  width:17px;height:17px;
  margin-top:4px;
  background:var(--accent);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/17px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/17px no-repeat;
}

/* karta z cenami */
.tvpw-hero__card{
  position:relative;
  background:
    radial-gradient(360px 220px at 100% 0%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 70%),
    linear-gradient(160deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.03) 100%);
  border:1px solid rgba(255,255,255,.16);
  border-top:4px solid var(--accent);
  border-radius:10px;
  padding:32px 28px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(8,14,24,.35);
  backdrop-filter:blur(2px);
}
.tvpw-hero__card::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(
    -45deg, rgba(255,255,255,.05) 0 1px, transparent 1px 14px);
  pointer-events:none;
}
.tvpw-hero__card > *{position:relative;z-index:1;}
.tvpw-hero__card h3{
  color:#ffffff;
  font-size:19px;
  text-transform:uppercase;
  margin-bottom:6px;
}
.tvpw-hero__card p{color:#a9b8c9;font-size:14px;margin-bottom:18px;}
.tvpw-hero__list{margin:0 0 22px;padding:0;list-style:none;}
.tvpw-hero__list li{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:11px 0;
  border-bottom:1px solid rgba(255,255,255,.10);
  font-size:14px;
  color:#c7d3e0;
}
.tvpw-hero__list li:last-child{border-bottom:0;}
.tvpw-hero__list strong{color:color-mix(in srgb, var(--accent) 50%, #9adcff);font-weight:700;white-space:nowrap;}
.tvpw-hero__card .tvpw-btn{width:100%;}
.tvpw-hero__note{
  font-size:12px;
  color:#8ea0b5;
  text-align:center;
  margin:12px 0 0;
}

/* ------------------------------------------------------ pasek zaufania -- */
.tvpw-trust{
  position:relative;
  background:
    radial-gradient(800px 300px at 50% 0%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 72%),
    linear-gradient(180deg, #f4f9fe 0%, #e9f1f9 100%);
  padding:58px 0;
  border-top:1px solid color-mix(in srgb, var(--accent) 16%, transparent);
  border-bottom:1px solid color-mix(in srgb, var(--accent) 16%, transparent);
  overflow:hidden;
}
.tvpw-trust::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(color-mix(in srgb, var(--accent) 24%, transparent) 1px, transparent 1px);
  background-size:24px 24px;
  opacity:.5;
  pointer-events:none;
}
.tvpw-trust > *{position:relative;z-index:1;}
.tvpw-trust__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:34px;
}
.tvpw-trust__item{display:flex;gap:18px;align-items:flex-start;}
/* ikona w niebieskim kole z miekka poswiata */
.tvpw-trust__ico{
  flex:0 0 auto;
  width:58px;height:58px;
  border-radius:50%;
  background:color-mix(in srgb, var(--accent) 12%, #fff);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  transition:transform .35s cubic-bezier(.16,.84,.44,1), box-shadow .35s ease;
}
.tvpw-trust__ico::after{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:50%;
  border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);
  opacity:0;
  transition:opacity .35s ease, inset .35s ease;
}
.tvpw-trust__item:hover .tvpw-trust__ico{
  transform:translateY(-4px);
  box-shadow:0 12px 26px color-mix(in srgb, var(--accent) 26%, transparent);
}
.tvpw-trust__item:hover .tvpw-trust__ico::after{opacity:1;inset:-9px;}
.tvpw-trust__item svg{
  width:28px;height:28px;
  fill:none;
  stroke:var(--accent);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tvpw-trust__item b{
  display:block;
  color:var(--heading);
  font-size:15px;
  font-weight:700;
  margin-bottom:4px;
}
.tvpw-trust__item span{display:block;font-size:14px;line-height:1.6;}

/* ---------------------------------------------------------- uslugi ------ */
.tvpw-services{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.tvpw-card{
  position:relative;
  background:
    radial-gradient(420px 260px at 50% 108%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 70%),
    linear-gradient(158deg, #1d2c40 0%, #16202e 52%, #0f1926 100%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  padding:32px 26px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transition:box-shadow .3s ease, border-color .3s ease,
             transform .3s cubic-bezier(.16,.84,.44,1);
}
/* niebieski pasek wyjezdzajacy z lewej przy najechaniu */
.tvpw-card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s cubic-bezier(.16,.84,.44,1);
}
.tvpw-card:hover::before{transform:scaleX(1);}
.tvpw-card{box-shadow:0 14px 34px rgba(16,26,40,.22);}
.tvpw-card:hover{
  transform:translateY(-7px);
  box-shadow:0 26px 54px rgba(16,26,40,.34);
  border-color:color-mix(in srgb, var(--accent) 45%, transparent);
}
/* zdjecie urzadzenia na gorze karty */
.tvpw-card__photo{
  position:relative;
  margin:-32px -26px 18px;
  height:196px;
  border-radius:9px 9px 0 0;
  overflow:hidden;
  background:
    radial-gradient(240px 150px at 50% 118%, color-mix(in srgb, var(--accent) 45%, transparent), transparent 70%),
    linear-gradient(150deg, #1d2c40 0%, #16202e 55%, #0f1926 100%);
  border-bottom:3px solid var(--accent);
  display:flex;align-items:center;justify-content:center;
}
/* siatka techniczna pod zdjeciem urzadzenia */
.tvpw-card__photo::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 40%, #000 0%, transparent 78%);
  mask-image:radial-gradient(ellipse at 50% 40%, #000 0%, transparent 78%);
  pointer-events:none;
}
.tvpw-card__photo img{
  position:relative;
  z-index:1;
  max-width:82%;max-height:86%;
  filter:drop-shadow(0 12px 20px rgba(0,0,0,.45));
  width:auto;height:auto;
  object-fit:contain;
  pointer-events:none;user-select:none;-webkit-user-drag:none;
  transition:transform .5s cubic-bezier(.16,.84,.44,1);
}
.tvpw-card:hover .tvpw-card__photo img{transform:scale(1.07);}
/* wariant ze zdjeciem wypelniajacym caly kafelek (karta portow) */
.tvpw-card__photo--fill img{
  max-width:none;max-height:none;
  width:100%;height:100%;
  object-fit:cover;
  filter:none;
  opacity:.92;
}
.tvpw-card__photo--fill::after{
  content:"";
  position:absolute;
  inset:0;z-index:1;
  background:linear-gradient(160deg,
    color-mix(in srgb, var(--accent) 32%, transparent) 0%,
    rgba(15,25,38,.55) 100%);
  pointer-events:none;
}
/* ikona nachodzi na dolna krawedz zdjecia */
.tvpw-card__icon{
  margin:-52px 0 16px;
  width:62px;height:62px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(140deg,
    color-mix(in srgb, var(--accent) 34%, transparent) 0%,
    rgba(255,255,255,.06) 100%);
  border:1px solid color-mix(in srgb, var(--accent) 52%, transparent);
  box-shadow:0 8px 20px rgba(8,14,24,.45);
  backdrop-filter:blur(3px);
  position:relative;z-index:2;
}
.tvpw-card__icon svg{
  width:30px;height:30px;
  fill:none;
  stroke:#ffffff;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .4s cubic-bezier(.16,.84,.44,1);
}
.tvpw-card:hover .tvpw-card__icon svg{transform:scale(1.13) rotate(-4deg);}
.tvpw-card h3{
  color:#ffffff;
  font-size:17px;
  text-transform:uppercase;
  margin-bottom:10px;
}
.tvpw-card p{color:#a3b3c6;font-size:14px;margin-bottom:16px;}
.tvpw-card ul{
  margin:0 0 22px;
  padding:0;
  list-style:none;
  font-size:14px;
}
.tvpw-card ul li{
  padding-left:16px;
  position:relative;
  margin-bottom:7px;
  line-height:1.55;
  color:#c4d1e0;
}
.tvpw-card ul li::before{
  content:"";
  position:absolute;
  left:0;top:9px;
  width:5px;height:5px;
  border-radius:50%;
  background:color-mix(in srgb, var(--accent) 55%, #8fd8ff);
  box-shadow:0 0 8px color-mix(in srgb, var(--accent) 70%, transparent);
}
.tvpw-card__link{
  margin-top:auto;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:color-mix(in srgb, var(--accent) 50%, #9adcff);
}
.tvpw-card__link::after{content:" \203A";font-size:15px;}
.tvpw-card__link:hover{color:#ffffff;}

/* --------------------------------------------------------- proces ------- */
.tvpw-steps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:22px;
  counter-reset:tvpwstep;
}
.tvpw-step{text-align:center;}
.tvpw-step__num{
  counter-increment:tvpwstep;
  width:58px;height:58px;
  border-radius:50%;
  background:linear-gradient(140deg,
    color-mix(in srgb, var(--accent) 82%, #fff) 0%,
    var(--accent) 50%,
    var(--accent-dark) 100%);
  box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 32%, transparent);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:19px;
  margin:0 auto 18px;
}
.tvpw-step__num::before{content:counter(tvpwstep);}
.tvpw-step h3{font-size:16px;text-transform:uppercase;margin-bottom:8px;}
.tvpw-step p{font-size:14px;margin:0;}

/* ---------------------------------------------- pasek ze statystykami --- */
.tvpw-stats{padding:0 0 56px;background:var(--paper);}
.tvpw-stats__inner{
  position:relative;
  border-radius:10px;
  padding:46px 42px;
  overflow:hidden;
  background:
    radial-gradient(620px 340px at 12% -10%, color-mix(in srgb, var(--accent) 40%, transparent), transparent 68%),
    radial-gradient(540px 320px at 92% 115%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 66%),
    linear-gradient(120deg, #16202e 0%, #1d2c40 50%, #101a28 100%);
  box-shadow:0 22px 50px rgba(16,26,40,.30);
}
/* siatka techniczna wewnatrz kafla */
.tvpw-stats__inner::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 0%, #000 0%, transparent 88%);
  mask-image:radial-gradient(ellipse at 50% 0%, #000 0%, transparent 88%);
  pointer-events:none;
}
.tvpw-stats__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
/* siatka 3 wierszy: gwiazdki / liczba / etykieta - dzieki temu
   liczby stoja w jednej linii nawet gdy tylko pierwsza ma gwiazdki */
.tvpw-stat{
  display:grid;
  grid-template-rows:22px auto auto;
  align-content:start;
  justify-items:center;
  text-align:center;
  padding:0 10px;
  border-right:1px solid rgba(255,255,255,.10);
}
.tvpw-stat:last-child{border-right:0;}
/* liczba - czysta biel, bez ciemnego cienia ktory ja przygaszal */
.tvpw .tvpw-stat__num{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:2px;
  font-size:clamp(34px,4vw,48px);
  font-weight:800;
  line-height:1.1;
  color:#ffffff;
  margin-bottom:8px;
}
.tvpw .tvpw-stat__num small{
  font-size:.5em;
  color:color-mix(in srgb, var(--accent) 60%, #ffffff);
  font-weight:800;
}
.tvpw-stat__label{
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:rgba(255,255,255,.85);
}
/* kazdy element ma przypisany wiersz - bez tego liczby bez gwiazdek
   wskakiwaly do wiersza gwiazdek i nachodzily na etykiete */
.tvpw-stat__stars{
  grid-row:1;
  display:inline-flex;
  gap:2px;
  align-items:center;
  margin:0;
}
.tvpw .tvpw-stat__num{grid-row:2;}
.tvpw-stat__label{grid-row:3;}
.tvpw-stat__stars svg{width:16px;height:16px;fill:#fbbc04;}

/* ------------------------------------------- pill z ocena Google (hero) - */
.tvpw-hero__proof{
  display:inline-flex;
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:8px 18px 8px 10px;
  margin-bottom:28px;
}
.tvpw-hero__avatars{display:flex;}
.tvpw-hero__avatars span{
  width:30px;height:30px;
  border-radius:50%;
  border:2px solid #1d2c40;
  margin-left:-9px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:700;
  color:#fff;
  background:var(--accent);
}
.tvpw-hero__avatars span:first-child{margin-left:0;}
.tvpw-hero__avatars span:nth-child(2){background:#5c6f82;}
.tvpw-hero__avatars span:nth-child(3){background:var(--dark);}
.tvpw-hero__proof b{
  display:block;
  font-size:13px;
  color:#ffffff;
  line-height:1.35;
}
.tvpw-hero__proof small{font-size:12px;color:#9fb0c4;}
.tvpw-stars{display:inline-flex;gap:1px;vertical-align:-2px;}
.tvpw-stars svg{width:13px;height:13px;fill:#fbbc04;}

/* ------------------------------------------------------ OPINIE ---------- */
.tvpw-reviews{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.tvpw-review{
  position:relative;
  background:
    radial-gradient(420px 260px at 100% 0%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 70%),
    linear-gradient(158deg, #1d2c40 0%, #16202e 55%, #0f1926 100%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  padding:34px 28px 28px;
  box-shadow:0 14px 34px rgba(16,26,40,.22);
  transition:transform .3s cubic-bezier(.16,.84,.44,1), box-shadow .3s ease, border-color .3s ease;
}
.tvpw-review::before{
  content:"\201C";
  position:absolute;
  top:6px;right:22px;
  font-family:Georgia,serif;
  font-size:78px;
  line-height:1;
  color:color-mix(in srgb, var(--accent) 40%, transparent);
}
.tvpw-review:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 54px rgba(16,26,40,.34);
  border-color:color-mix(in srgb, var(--accent) 45%, transparent);
}
.tvpw-review .tvpw-stars{margin-bottom:14px;}
.tvpw-review .tvpw-stars svg{width:15px;height:15px;}
.tvpw-review p{
  font-size:14.5px;
  color:#c4d1e0;
  line-height:1.75;
  margin-bottom:20px;
  position:relative;
  z-index:1;
}
.tvpw-review__who{display:flex;align-items:center;gap:12px;}
.tvpw-review__ava{
  width:40px;height:40px;
  border-radius:50%;
  background:color-mix(in srgb, var(--accent) 32%, transparent);
  border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  flex:0 0 auto;
}
.tvpw-review__who b{display:block;font-size:14px;color:#ffffff;}
.tvpw-review__who span{font-size:12px;color:#8ea0b5;}

/* --------------------------------------------------- DLACZEGO MY -------- */
.tvpw-why{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  max-width:900px;
  margin:0 auto;
}
.tvpw-why__col{
  position:relative;
  background:linear-gradient(158deg, #1d2c40 0%, #16202e 55%, #0f1926 100%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  padding:34px 30px;
  margin-top:13px;
  box-shadow:0 14px 34px rgba(16,26,40,.22);
}
.tvpw-why__col h3{color:#ffffff;}
.tvpw-why__col li{color:#a3b3c6;border-bottom-color:rgba(255,255,255,.09);}
.tvpw-why__col--us{
  background:
    radial-gradient(520px 300px at 88% 108%, color-mix(in srgb, var(--accent) 34%, transparent), transparent 66%),
    linear-gradient(158deg, #1d2c40 0%, #16202e 55%, #0f1926 100%);
}
.tvpw-why__col--us{
  border:2px solid var(--accent);
  box-shadow:0 18px 44px color-mix(in srgb, var(--accent) 30%, transparent);
  position:relative;
}
.tvpw-why__tag{
  position:absolute;
  top:-13px;left:30px;
  background:var(--accent);
  color:#fff;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:5px 14px;
  border-radius:999px;
}
.tvpw-why__col h3{
  font-size:17px;
  text-transform:uppercase;
  margin-bottom:20px;
}
.tvpw-why__col ul{margin:0;padding:0;list-style:none;}
.tvpw-why__col li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:11px 0;
  font-size:14px;
  line-height:1.6;
  border-bottom:1px solid var(--line);
}
.tvpw-why__col li:last-child{border-bottom:0;}
.tvpw-why__col li svg{
  flex:0 0 auto;
  width:19px;height:19px;
  margin-top:2px;
  fill:none;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tvpw-why__col--us li svg{stroke:color-mix(in srgb, var(--accent) 55%, #8fd8ff);}
.tvpw-why__col--us li{color:#dbe5f0;}
.tvpw-why__col--them li svg{stroke:#5b6b80;}

/* ============================================ ODBIOR SPRZETU Z DOMU ===== */
.tvpw-collect{padding:56px 0;background:var(--paper);}
.tvpw-collect__inner{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:34px;
  align-items:center;
  padding:38px 42px;
  border-radius:10px;
  overflow:hidden;
  background:
    radial-gradient(520px 300px at 88% 110%, color-mix(in srgb, var(--accent) 34%, transparent), transparent 70%),
    linear-gradient(120deg, #16202e 0%, #1d2c40 48%, #101a28 100%);
  box-shadow:0 22px 50px rgba(16,26,40,.30);
}
/* deseń ukośnych pasów */
.tvpw-collect__inner::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(
    -45deg,
    rgba(255,255,255,.045) 0 2px,
    transparent 2px 18px);
  pointer-events:none;
}
.tvpw-collect__inner > *{position:relative;z-index:1;}

.tvpw-collect__icon{
  width:88px;height:88px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,
    color-mix(in srgb, var(--accent) 34%, transparent),
    color-mix(in srgb, var(--accent) 10%, transparent));
  border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);
  flex:0 0 auto;
}
.tvpw-collect__icon svg{
  width:42px;height:42px;
  fill:none;stroke:#fff;
  stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;
}

.tvpw-collect__tag{
  display:inline-block;
  font-family:var(--font-head);
  font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:#fff;
  background:linear-gradient(135deg, var(--accent), var(--accent-dark));
  padding:5px 14px;border-radius:999px;
  margin-bottom:12px;
}
.tvpw-collect__body h2{
  color:#fff;
  font-size:clamp(22px,2.5vw,29px);
  text-transform:uppercase;
  margin-bottom:10px;
}
.tvpw-collect__body p{color:#c7d3e2;font-size:15px;margin-bottom:14px;}
.tvpw-collect__body p strong{color:#fff;}
.tvpw-collect__list{margin:0;padding:0;list-style:none;display:grid;gap:7px;}
.tvpw-collect__list li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:13.5px;color:#aebdd0;line-height:1.55;
}
.tvpw-collect__list li::before{
  content:"";
  flex:0 0 auto;
  width:16px;height:16px;margin-top:3px;
  background:var(--accent);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/16px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/16px no-repeat;
}

.tvpw-collect__cta{
  text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  flex:0 0 auto;
}
.tvpw-collect__radius{
  width:118px;height:118px;
  border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(140deg,
    color-mix(in srgb, var(--accent) 26%, transparent),
    transparent);
  border:2px dashed color-mix(in srgb, var(--accent) 65%, transparent);
}
.tvpw-collect__num{
  font-family:var(--font-head);
  font-size:32px;font-weight:800;color:#fff;line-height:1;
}
.tvpw-collect__unit{
  font-size:11px;text-transform:uppercase;letter-spacing:.1em;
  color:color-mix(in srgb, var(--accent) 70%, #fff);
  margin-top:4px;
}
.tvpw-collect__note{font-size:12px;color:#9aabc0;}

/* ------------------------------------------------------- MARKA ---------- */
.tvpw-brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:20px;
}
.tvpw-brand img{
  width:54px;height:54px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.14);
  flex:0 0 auto;
  pointer-events:none;
  user-select:none;
}
.tvpw-brand__name{
  font-family:var(--font-head);
  font-size:22px;
  font-weight:800;
  color:#ffffff;
  line-height:1.15;
  letter-spacing:-0.01em;
}
.tvpw-brand__name em{font-style:normal;color:color-mix(in srgb, var(--accent) 55%, #8fd8ff);}
.tvpw-brand__sub{
  display:block;
  font-family:'Open Sans',Arial,sans-serif;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8ea0b5;
  margin-top:3px;
}

/* --------------------------------------------- SEKCJA O WARSZTACIE ------ */
.tvpw-shop{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:44px;
  align-items:center;
}
.tvpw-shop__gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:14px;
}
.tvpw-shop__gallery figure{
  margin:0;
  border-radius:4px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#f0f2f5;
  aspect-ratio:4/3;
}
/* duze zdjecie zajmuje caly lewy slupek */
.tvpw-shop__gallery figure:first-child{
  grid-row:span 2;
  aspect-ratio:auto;
  height:100%;
}
.tvpw-shop__gallery img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  /* zdjecia poglądowe - bez powiekszania i bez zapisu przez menu kontekstowe */
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  transition:transform .8s cubic-bezier(.16,.84,.44,1);
}
.tvpw-shop__gallery figure:hover img{transform:scale(1.05);}
.tvpw-shop__body h2{font-size:30px;text-transform:uppercase;}
.tvpw-shop__body p{font-size:15px;}
.tvpw-shop__facts{
  margin:22px 0 26px;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.tvpw-shop__facts li{
  display:flex;
  align-items:flex-start;
  gap:11px;
  font-size:14.5px;
  color:var(--heading);
  line-height:1.6;
}
.tvpw-shop__facts li::before{
  content:"";
  flex:0 0 auto;
  width:18px;height:18px;
  margin-top:3px;
  background:var(--accent);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/18px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/18px no-repeat;
}

/* -------------------------------------- RAMKA / OTOCZKA WOKOL MODULOW --- */
.tvpw__panel{
  position:relative;
  /* kolorowe wnetrze zamiast bieli - jasny blekitny gradient */
  background:
    radial-gradient(680px 400px at 88% -12%, color-mix(in srgb, var(--accent) 38%, transparent), transparent 66%),
    radial-gradient(540px 330px at 8% 108%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 64%),
    linear-gradient(140deg, #1d2c40 0%, #16202e 50%, #0f1926 100%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  padding:52px 44px;
  box-shadow:0 24px 54px rgba(16,26,40,.30);
  overflow:hidden;
}
/* siatka techniczna wewnatrz panelu */
.tvpw__panel .tvpw__panel-grid,
.tvpw__panel::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse at 80% 10%, #000 0%, transparent 78%);
  mask-image:radial-gradient(ellipse at 80% 10%, #000 0%, transparent 78%);
  width:auto;height:auto;
  pointer-events:none;
}
/* niebieska kreska na gorze panelu */
.tvpw__panel::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,
    var(--accent) 0%,
    color-mix(in srgb, var(--accent) 55%, #7de0ff) 45%,
    color-mix(in srgb, var(--accent) 18%, transparent) 100%);
  z-index:2;
}
.tvpw__panel > *{position:relative;z-index:1;}
.tvpw__panel--flat{box-shadow:0 18px 40px rgba(16,26,40,.24);}

/* --- teksty wewnatrz ciemnego panelu -------------------------------- */
.tvpw__panel h2,
.tvpw__panel h3{color:#ffffff;}
.tvpw__panel p{color:#a9b8c9;}
.tvpw__panel .tvpw__head p{color:#a9b8c9;}
.tvpw__panel .tvpw__eyebrow{color:color-mix(in srgb, var(--accent) 45%, #bfe6ff);}
.tvpw__panel .tvpw__eyebrow::before,
.tvpw__panel .tvpw__eyebrow::after{background:rgba(255,255,255,.28);}
.tvpw__panel .tvpw__head h2::after{background:color-mix(in srgb, var(--accent) 55%, #8fd8ff);}

/* sekcja o warsztacie */
.tvpw__panel .tvpw-shop__body p strong{color:#fff;}
.tvpw__panel .tvpw-shop__facts li{color:#c4d1e0;}
.tvpw__panel .tvpw-shop__gallery figure{
  border:1px solid rgba(255,255,255,.12);
  background:#16202e;
}

/* kroki procesu */
.tvpw__panel .tvpw-step h3{color:#ffffff;}
.tvpw__panel .tvpw-step p{color:#a9b8c9;}

/* karta kontaktowa w ciemnym panelu */
.tvpw__panel .tvpw-contact__box{
  background:linear-gradient(160deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.03) 100%);
  border:1px solid rgba(255,255,255,.16);
  border-top:4px solid var(--accent);
}
.tvpw__panel .tvpw-contact__row{
  border-bottom-color:rgba(255,255,255,.10);
  color:#c4d1e0;
}
.tvpw__panel .tvpw-contact__row b{color:#ffffff;}
.tvpw__panel .tvpw-contact__row a{color:color-mix(in srgb, var(--accent) 50%, #9adcff);}
.tvpw__panel .tvpw-map{border:1px solid rgba(255,255,255,.14);}

/* ------------------------------------------------ marki / urzadzenia ---- */
.tvpw-brands{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}
.tvpw-brands a{
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(158deg, #1d2c40 0%, #16202e 100%);
  border-radius:8px;
  padding:11px 22px;
  font-size:13px;
  font-weight:700;
  color:#dbe5f0;
  box-shadow:0 8px 20px rgba(16,26,40,.18);
  transition:border-color .2s ease, color .2s ease,
             transform .2s cubic-bezier(.16,.84,.44,1), box-shadow .2s ease;
}
.tvpw-brands a:hover{
  border-color:var(--accent);
  color:#ffffff;
  transform:translateY(-3px);
  box-shadow:0 12px 26px color-mix(in srgb, var(--accent) 34%, transparent);
}

/* kroki procesu - powiekszenie numeru przy najechaniu */
.tvpw-step__num{transition:transform .3s cubic-bezier(.16,.84,.44,1), box-shadow .3s ease;}
.tvpw-step:hover .tvpw-step__num{
  transform:scale(1.12);
  box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 40%, transparent);
}

/* ikony w pasku zaufania */
.tvpw-trust__item svg{transition:transform .35s cubic-bezier(.16,.84,.44,1);}
.tvpw-trust__item:hover svg{transform:scale(1.15) rotate(-5deg);}

/* -------------------------------------------------- produkty WooComm ---- */
.tvpw-products .products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  margin:0 !important;
  padding:0 !important;
  list-style:none;
}
.tvpw-products .products::before,
.tvpw-products .products::after{display:none !important;}
.tvpw-products .products li.product{
  width:auto !important;
  margin:0 !important;
  float:none !important;
  background:linear-gradient(165deg, #ffffff 0%, color-mix(in srgb, var(--accent) 6%, #fff) 100%);
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--line));
  border-radius:3px;
  padding:0 0 18px;
  text-align:left;
  overflow:hidden;
  transition:box-shadow .2s ease;
}
.tvpw-products .products li.product{
  transition:box-shadow .3s ease, transform .3s cubic-bezier(.16,.84,.44,1), border-color .3s ease;
}
.tvpw-products .products li.product:hover{
  transform:translateY(-7px);
  box-shadow:0 18px 40px rgba(47,47,47,.13);
  border-color:#dfe4ea;
}
.tvpw-products .products li.product a img,
.tvpw-products .products li.product img{
  margin:0 0 16px;
  width:100%;
  display:block;
  transition:transform .5s cubic-bezier(.16,.84,.44,1);
}
.tvpw-products .products li.product:hover img{transform:scale(1.06);}
.tvpw-products .products li.product .woocommerce-loop-product__title{
  font-size:15px !important;
  font-weight:700 !important;
  color:var(--heading) !important;
  line-height:1.45;
  padding:0 18px !important;
  margin:0 0 8px !important;
}
.tvpw-products .products li.product .price{
  font-size:16px !important;
  font-weight:700 !important;
  color:var(--heading) !important;
  display:block;
  padding:0 18px;
  margin-bottom:12px;
}
.tvpw-products .products li.product .button{
  margin:0 18px !important;
  font-size:12px !important;
  text-transform:uppercase;
  border-radius:3px !important;
}

/* ------------------------------------------------------- CTA / pasek ---- */
.tvpw-cta{
  position:relative;
  background:linear-gradient(120deg,
    color-mix(in srgb, var(--accent) 92%, #001b3a) 0%,
    var(--accent) 45%,
    color-mix(in srgb, var(--accent) 72%, #6ad2ff) 100%);
  border-radius:8px;
  padding:44px 46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  flex-wrap:wrap;
  overflow:hidden;
  box-shadow:0 18px 44px color-mix(in srgb, var(--accent) 34%, transparent);
}
/* deseń ukośnych pasów na pasku CTA */
.tvpw-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(
    -45deg,
    rgba(255,255,255,.10) 0 2px,
    transparent 2px 16px);
  pointer-events:none;
}
/* jasna poświata w prawym rogu */
.tvpw-cta::after{
  content:"";
  position:absolute;
  right:-60px;top:-90px;
  width:340px;height:340px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.20) 0%, transparent 65%);
  pointer-events:none;
}
.tvpw-cta > *{position:relative;z-index:1;}
.tvpw-cta__text{display:flex;align-items:center;gap:22px;}
.tvpw-cta svg{
  flex:0 0 auto;
  width:46px;height:46px;
  fill:none;
  stroke:#fff;
  stroke-width:1.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tvpw-cta h2{
  color:#fff;
  font-size:24px;
  text-transform:uppercase;
  margin-bottom:4px;
}
.tvpw-cta p{color:rgba(255,255,255,.9);margin:0;font-size:14px;}
.tvpw-cta__actions{display:flex;gap:12px;flex-wrap:wrap;}

/* --------------------------------------------------------- kontakt ------ */
.tvpw-contact{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);
  gap:34px;
  align-items:stretch;
}
.tvpw-contact__box{
  background:linear-gradient(165deg, #ffffff 0%, color-mix(in srgb, var(--accent) 7%, #fff) 100%);
  border:1px solid color-mix(in srgb, var(--accent) 16%, var(--line));
  border-top:4px solid var(--accent);
  border-radius:8px;
  padding:32px 30px;
}
.tvpw-contact__box h3{font-size:19px;text-transform:uppercase;margin-bottom:18px;}
.tvpw-contact__row{
  display:flex;
  gap:12px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
  font-size:14px;
}
.tvpw-contact__row:last-of-type{border-bottom:0;}
.tvpw-contact__row b{
  flex:0 0 92px;
  color:var(--heading);
  font-weight:700;
}
.tvpw-contact__row a{color:var(--accent);font-weight:600;}
.tvpw-contact__row a:hover{text-decoration:underline;}
.tvpw-map{
  border:1px solid var(--line);
  border-radius:3px;
  overflow:hidden;
  min-height:360px;
}
.tvpw-map iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:360px;
  border:0;
}

/* pasek telefonu przyklejony na dole - tylko mobile */
.tvpw-callbar{display:none;}

/* ======================================================================== */
/*  RESPONSYWNOSC                                                            */
/* ======================================================================== */

@media (max-width:1024px){
  .tvpw-hero__tile{padding:40px 30px;}
  .tvpw-hero__grid{grid-template-columns:1fr;gap:38px;}
  .tvpw-hero__card{max-width:520px;}
  .tvpw-services,
  .tvpw-trust__grid,
  .tvpw-products .products{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tvpw-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;}
  .tvpw-contact{grid-template-columns:1fr;}
}

@media (max-width:768px){
  .tvpw__section{padding:56px 0;}
  .tvpw__section--tight{padding:42px 0;}
  .tvpw-trust{padding:42px 0;}
  .tvpw-hero{padding:120px 0 6px;}
  .tvpw-hero__tile{padding:34px 24px;border-radius:10px;}
  .tvpw__head{margin-bottom:34px;}
  .tvpw__head h2{font-size:24px;}
  .tvpw-hero__cta .tvpw-btn{width:100%;}
  .tvpw-hero__usp{grid-template-columns:1fr;gap:10px;}
  .tvpw-cta{padding:32px 24px;flex-direction:column;text-align:center;}
  .tvpw-cta__text{flex-direction:column;gap:12px;}
  .tvpw-cta__actions{width:100%;flex-direction:column;}
  .tvpw-cta__actions .tvpw-btn{width:100%;}
}

@media (max-width:560px){
  .tvpw__wrap{padding:0 16px;}
  .tvpw-services,
  .tvpw-steps,
  .tvpw-trust__grid{grid-template-columns:1fr;}
  .tvpw-products .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .tvpw-products .products li.product .woocommerce-loop-product__title{font-size:13px !important;padding:0 12px !important;}
  .tvpw-products .products li.product .price{font-size:14px !important;padding:0 12px;}
  .tvpw-products .products li.product .button{margin:0 12px !important;}
  .tvpw-hero__card{padding:24px 20px;}
  .tvpw-hero__tile{padding:28px 18px;}
  .tvpw-contact__row{flex-direction:column;gap:2px;}
  .tvpw-contact__row b{flex:none;}

  /* przyklejony pasek "Call us / Book a repair" na telefonie */
  .tvpw-callbar{
    display:flex;
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:9999;
    box-shadow:0 -3px 16px rgba(47,47,47,.16);
  }
  .tvpw-callbar a{
    flex:1;
    text-align:center;
    padding:14px 8px;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .tvpw-callbar a.is-call{background:var(--accent);color:#fff;}
  .tvpw-callbar a.is-book{background:var(--dark);color:#fff;}
  body{padding-bottom:50px;}
}

@media (max-width:1024px){
  .tvpw-stats__inner{padding:36px 26px;}
  .tvpw-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;}
  .tvpw-stat:nth-child(2){border-right:0;}
  .tvpw-stat:nth-child(1),.tvpw-stat:nth-child(2){padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.10);}
  .tvpw-reviews{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tvpw-collect__inner{
    grid-template-columns:auto minmax(0,1fr);
    gap:24px 28px;
    padding:32px 28px;
  }
  .tvpw-collect__cta{
    grid-column:1 / -1;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:16px;
    padding-top:6px;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .tvpw-collect__radius{width:92px;height:92px;}
  .tvpw-collect__num{font-size:26px;}
  .tvpw-why{grid-template-columns:1fr;}
  .tvpw-shop{grid-template-columns:1fr;gap:32px;}
  .tvpw-shop__gallery figure:first-child{grid-row:auto;aspect-ratio:4/3;height:auto;}
  .tvpw__panel{padding:40px 30px;}
  .tvpw__panel::before{left:30px;right:30px;}
}
@media (max-width:768px){
  .tvpw-reviews{grid-template-columns:1fr;}
}

@media (max-width:560px){
  .tvpw-stats{padding:0 0 40px;}
  .tvpw-stats__inner{padding:28px 18px;border-radius:8px;}
  .tvpw-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;}
  .tvpw-collect{padding:40px 0;}
  .tvpw-collect__inner{grid-template-columns:1fr;padding:26px 20px;text-align:center;}
  .tvpw-collect__icon{margin:0 auto;width:70px;height:70px;}
  .tvpw-collect__icon svg{width:34px;height:34px;}
  .tvpw-collect__list li{text-align:left;}
  .tvpw-collect__cta{flex-direction:column;justify-content:center;width:100%;}
  .tvpw-collect__cta .tvpw-btn{width:100%;}
  .tvpw-card__photo{margin:-32px -22px 18px;height:150px;}
  .tvpw-hero__proof{width:100%;justify-content:flex-start;}
  .tvpw-review{padding:28px 22px 24px;}
  .tvpw-why__col{padding:26px 22px;}
  .tvpw__panel{padding:30px 20px;border-radius:4px;}
  .tvpw__panel::before{left:20px;right:20px;}
  .tvpw-shop__gallery{grid-template-columns:1fr 1fr;}
  .tvpw-shop__gallery figure:first-child{grid-column:span 2;}
  .tvpw-brand img{width:44px;height:44px;}
  .tvpw-brand__name{font-size:18px;}
  .tvpw-shop__body h2{font-size:24px;}
}

/* uzytkownik prosil system o ograniczenie animacji - wylaczamy wszystko */
@media (prefers-reduced-motion:reduce){
  .tvpw *,
  .tvpw *::before,
  .tvpw *::after{
    animation:none !important;
    transition:none !important;
  }
  .tvpw [data-tvpw-reveal]{opacity:1 !important;transform:none !important;}
  .tvpw__head h2::after{transform:translateX(-50%) scaleX(1) !important;}
}
