:root{
  --dark:#2a303c;         /* grafit z logo */
  --red:#d3252c;          /* czerwień z logo */
  --red-light:#e83e45;
  --gray:#64748b;
  --slate-50:#f8fafc;
  --slate-100:#f1f5f9;
  --slate-200:#e2e8f0;
  --white:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--slate-50);
  color:var(--dark);
  font-family:'Inter',sans-serif;
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
}
::selection{background:var(--red);color:#fff}
a{color:inherit;text-decoration:none}
.display{font-family:'Outfit',sans-serif}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}

/* ————— custom cursor ————— */
.cursor-dot,.cursor-outline{display:none;position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}
.cursor-dot{width:8px;height:8px;background:var(--red);z-index:9999;transition:width .2s,height .2s,background-color .2s}
.cursor-outline{width:40px;height:40px;border:1px solid rgba(211,37,44,.4);z-index:9998;transition:width .2s,height .2s,opacity .2s}
.cursor-dot.hovered{width:44px;height:44px;background:rgba(211,37,44,.1);mix-blend-mode:multiply}
.cursor-outline.hovered{width:0;height:0;opacity:0}
@media (pointer:fine){
  body, a, button, [data-cursor]{cursor:none}
  .cursor-dot,.cursor-outline{display:block}
}

/* ————— header: pigułka ————— */
header{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 16px 0;pointer-events:none}
.pill{pointer-events:auto;max-width:1200px;margin:0 auto;height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 12px 0 26px;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);border:1px solid var(--slate-200);border-radius:100px;box-shadow:0 8px 28px rgba(42,48,60,.07);transition:box-shadow .3s}
header.scrolled .pill{box-shadow:0 16px 44px rgba(42,48,60,.14)}
.pill .logo{justify-self:start}
.nav-center{justify-self:center;display:flex;align-items:center;gap:28px;font-size:15px;font-weight:500}
.nav-actions{justify-self:end;display:flex;align-items:center;gap:8px}
.nav-actions .btn{padding:11px 18px}
.logo{display:flex;align-items:center;color:#22222f}
.logo-svg{height:44px;width:auto;display:block}
.logo-foot{color:#fff;display:inline-flex;margin-bottom:26px}
.logo-foot .logo-svg{height:62px}
nav a:not(.btn){transition:color .2s}
nav a:not(.btn):hover{color:var(--red)}
.tel-slide{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--slate-50);border:1px solid var(--slate-200);color:#94a3b8;flex:none;transition:background .25s,color .25s,border-color .25s}
.tel-slide svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tel-slide:hover,.tel-slide:focus-visible{background:#fff;border-color:var(--red);color:var(--red)}
.tel-slide .tel-num{position:absolute;right:calc(100% + 8px);top:50%;background:#fff;border:1px solid var(--slate-200);border-radius:100px;padding:9px 16px;font-weight:600;font-size:13.5px;font-variant-numeric:tabular-nums;color:var(--dark);white-space:nowrap;box-shadow:0 8px 24px rgba(42,48,60,.1);opacity:0;transform:translate(8px,-50%);pointer-events:none;transition:opacity .28s ease,transform .28s ease}
.tel-slide:hover .tel-num,.tel-slide:focus-visible .tel-num{opacity:1;transform:translate(0,-50%)}
.nav-actions .btn{white-space:nowrap}
@media (prefers-reduced-motion:reduce){.tel-slide .tel-num{transition:opacity .15s}}


/* ————— mega menu ————— */
.mega-wrap{position:relative}
.mega-btn{appearance:none;background:none;border:0;font:inherit;font-weight:500;color:inherit;display:inline-flex;align-items:center;gap:5px;padding:24px 0;cursor:pointer}
.mega-btn .chev{font-size:10px;transition:transform .25s}
.mega-wrap:hover .chev,.mega-wrap:focus-within .chev{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,8px);width:680px;background:#fff;border:1px solid var(--slate-100);border-radius:24px;box-shadow:0 30px 70px rgba(42,48,60,.16);padding:22px;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s}
.mega-wrap:hover .mega,.mega-wrap:focus-within .mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega-grid{display:grid;grid-template-columns:1fr 1fr 200px;gap:10px}
.mega-col{display:flex;flex-direction:column;gap:2px}
.mega-item{display:block;padding:11px 14px;border-radius:14px;transition:background .2s}
.mega-item:hover{background:var(--slate-50)}
.mega-item b{display:block;font-family:'Outfit',sans-serif;font-weight:600;font-size:14.5px;color:var(--dark)}
.mega-item:hover b{color:var(--red)}
.mega-item small{font-size:12px;color:var(--gray)}
.mega-feat{display:flex;flex-direction:column;justify-content:flex-start;background:var(--dark);color:#fff;border-radius:18px;padding:20px;transition:transform .25s}
.mega-feat:hover{transform:translateY(-2px)}
.mega-feat b{font-family:'Outfit',sans-serif;font-weight:700;font-size:16px;margin-bottom:6px}
.mega-feat small{font-size:12px;color:#94a3b8;line-height:1.5}
.mega-price{margin-top:auto;padding-top:14px;font-family:'Outfit',sans-serif;font-weight:800;font-size:24px}
.mega-price em{font-style:normal;font-size:13px;font-weight:500;color:#94a3b8}

/* ————— przyciski ————— */
.btn{appearance:none;font:inherit;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:'Inter',sans-serif;font-weight:500;font-size:16px;padding:16px 32px;border-radius:100px;transition:background .25s,color .25s,border-color .25s,box-shadow .25s;will-change:transform}
.btn-red{background:var(--red);color:#fff;box-shadow:0 10px 30px rgba(211,37,44,.3)}
.btn-red:hover{background:var(--red-light)}
.btn-dark{background:var(--dark);color:#fff;box-shadow:0 6px 20px rgba(42,48,60,.2)}
.btn-dark:hover{background:var(--red);box-shadow:0 10px 30px rgba(211,37,44,.3)}
.btn-white{background:#fff;color:var(--dark);border-color:var(--slate-200);box-shadow:0 2px 8px rgba(42,48,60,.05)}
.btn-white:hover{border-color:var(--dark)}
.btn-sm{padding:11px 24px;font-size:14.5px}
.arrow{transition:transform .25s}
.btn:hover .arrow{transform:translateX(4px)}

/* ————— hero ————— */
.hero{position:relative;padding:180px 0 120px;overflow:hidden}
.bg-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(100,116,139,.15) 1px,transparent 1px);background-size:24px 24px;z-index:0}
.blob{position:absolute;border-radius:50%;filter:blur(70px);z-index:0;pointer-events:none}
.blob-red{top:80px;right:-160px;width:420px;height:420px;background:rgba(211,37,44,.1)}
.blob-blue{bottom:40px;left:-100px;width:320px;height:320px;background:rgba(59,130,246,.06)}
.hero-cols{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero-in{max-width:640px}
.hero-visual{position:relative;justify-self:center;width:100%;max-width:460px}
.browser{background:#fff;border:1px solid var(--slate-200);border-radius:20px;box-shadow:0 30px 60px rgba(42,48,60,.14);overflow:hidden;transform:rotate(1.5deg)}
.browser-bar{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid var(--slate-100);background:var(--slate-50)}
.bdot{width:10px;height:10px;border-radius:50%;background:var(--slate-200)}
.bdot:first-child{background:#fca5a5}
.burl{margin-left:10px;flex:1;background:#fff;border:1px solid var(--slate-100);border-radius:8px;padding:4px 12px;font-size:11.5px;color:var(--gray)}
.browser-body{padding:24px}
.sk{border-radius:8px;background:var(--slate-100)}
.sk-nav{height:10px;width:55%;margin-bottom:20px}
.sk-h1{height:20px;width:88%;margin-bottom:10px;background:linear-gradient(90deg,#cbd5e1,var(--slate-100))}
.sk-h1b{width:64%;background:linear-gradient(90deg,rgba(211,37,44,.45),rgba(211,37,44,.12))}
.sk-p{height:9px;width:92%;margin-top:14px}
.sk-p2{width:74%}
.sk-row{display:flex;gap:10px;margin-top:20px}
.sk-btn{height:30px;width:110px;border-radius:100px;background:var(--red);opacity:.85}
.sk-btn2{background:#fff;border:1px solid var(--slate-200);opacity:1}
.sk-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:22px}
.sk-card{height:52px;border-radius:12px}
.float-chip{position:absolute;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--slate-100);border-radius:16px;padding:12px 16px;box-shadow:0 16px 36px rgba(42,48,60,.14);animation:floaty 5s ease-in-out infinite}
.float-chip b{font-family:'Outfit',sans-serif;font-weight:700;font-size:16px;display:block;line-height:1.2}
.float-chip small{font-size:11.5px;color:var(--gray);display:block}
.chip-stars{color:#facc15;font-size:11px;letter-spacing:1px}
.chip-google{top:-24px;right:-14px}
.chip-count{bottom:26px;left:-26px;animation-delay:1.2s}
.chip-ssl{top:44%;right:-30px;animation-delay:2.4s;padding:10px 14px}
.chip-lock{font-size:15px}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.badge{display:inline-flex;align-items:center;gap:9px;padding:9px 18px;border-radius:100px;background:#fff;border:1px solid var(--slate-200);box-shadow:0 2px 8px rgba(42,48,60,.05);font-size:14px;font-weight:500;color:#475569;margin-bottom:28px}
.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 2s ease infinite}
.badge .dot-green{background:#22c55e}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
h1{font-family:'Outfit',sans-serif;font-weight:800;font-size:clamp(44px,6.4vw,76px);line-height:1.08;letter-spacing:-.02em;margin:0 0 28px}
.grad{background:linear-gradient(90deg,var(--dark),var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{font-size:19px;line-height:1.7;color:var(--gray);max-width:600px;margin:0 0 40px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}

/* ————— pasek liczb ————— */
.stats{position:relative;z-index:1;margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{background:rgba(255,255,255,.7);backdrop-filter:blur(6px);border:1px solid var(--slate-200);border-radius:24px;padding:24px 28px}
.stat b{font-family:'Outfit',sans-serif;font-weight:700;font-size:30px;display:block;line-height:1.15;color:var(--dark)}
.stat span{font-size:13.5px;color:var(--gray)}

/* ————— sekcje ————— */
section{padding:100px 0}
.sec-head{text-align:center;max-width:680px;margin:0 auto 64px}
h2{font-family:'Outfit',sans-serif;font-weight:700;font-size:clamp(32px,4.4vw,48px);line-height:1.12;letter-spacing:-.015em;margin:0 0 16px}
h2 .accent{color:var(--red)}
.sec-sub{font-size:16.5px;color:var(--gray);margin:0}

/* ————— oferta / glow-cards ————— */
.offer{background:#fff}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{position:relative;background:var(--slate-50);border:1px solid transparent;border-radius:2rem;padding:34px 30px;box-shadow:0 1px 4px rgba(42,48,60,.04);transition:background .3s,border-color .3s,box-shadow .3s,transform .3s}
.card:hover{background:#fff;border-color:var(--slate-100);box-shadow:0 24px 48px rgba(42,48,60,.08);transform:translateY(-3px)}
.glow-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(var(--mouse-angle,0deg),rgba(211,37,44,.4) 0%,transparent 50%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none}
.glow-card:hover::before{opacity:1}
.icon-tile{width:56px;height:56px;border-radius:16px;background:#fff;border:1px solid var(--slate-100);box-shadow:0 2px 8px rgba(42,48,60,.05);display:flex;align-items:center;justify-content:center;color:var(--red);margin-bottom:24px}
.icon-tile svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-family:'Outfit',sans-serif;font-weight:700;font-size:20px;margin:0 0 10px}
.card p{font-size:14.5px;color:var(--gray);line-height:1.65;margin:0}

/* ————— abonament ————— */
.abo-wrap{padding-top:0}
.abo{background:var(--dark);color:#fff;border-radius:2.5rem;padding:60px;display:flex;align-items:center;justify-content:space-between;gap:48px;position:relative;overflow:hidden;box-shadow:0 30px 60px rgba(42,48,60,.25)}
.abo::before{content:"";position:absolute;top:-140px;right:-100px;width:400px;height:400px;border-radius:50%;background:rgba(211,37,44,.25);filter:blur(80px)}
.abo::after{content:"";position:absolute;left:-100px;bottom:-160px;width:340px;height:340px;border-radius:50%;border:36px solid rgba(255,255,255,.05)}
.abo>*{position:relative;z-index:1}
.abo-tag{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:100px;background:rgba(211,37,44,.16);border:1px solid rgba(211,37,44,.35);color:#ff8a90;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px}
.abo h2{color:#fff;text-align:left;font-size:clamp(28px,3.4vw,40px)}
.abo p{color:rgba(255,255,255,.55);font-size:16px;max-width:440px;margin:0}
.abo-price{text-align:right;flex:none}
.abo-old{font-size:15px;color:rgba(255,255,255,.4);text-decoration:line-through}
.abo-now{font-family:'Outfit',sans-serif;font-weight:800;font-size:60px;line-height:1.1;margin:2px 0 22px;letter-spacing:-.02em}
.abo-now small{font-size:20px;font-weight:500;color:rgba(255,255,255,.55)}

/* ————— opinie ————— */
.reviews{position:relative;overflow:hidden;background:var(--slate-50)}
.reviews::before{content:"";position:absolute;inset:-60px 0;background:#fff;transform:skewY(-3deg);z-index:0}
.reviews .wrap{position:relative;z-index:1}
.gbadge{display:inline-flex;align-items:center;gap:16px;background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:100px;padding:13px 26px;box-shadow:0 6px 20px rgba(42,48,60,.08);transition:box-shadow .3s}
.gbadge:hover{box-shadow:0 12px 32px rgba(42,48,60,.12)}
.gbadge .sep{width:1px;height:22px;background:var(--slate-200)}
.gbadge b{font-family:'Outfit',sans-serif;font-weight:700;font-size:21px}
.stars{color:#facc15;font-size:14px;letter-spacing:2px}
.gbadge span{font-size:14px;font-weight:500;color:var(--gray)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.review{background:#fff;border:1px solid var(--slate-100);border-radius:2rem;padding:32px;box-shadow:0 1px 4px rgba(42,48,60,.04);transition:box-shadow .3s,transform .3s}
.review:hover{box-shadow:0 24px 48px rgba(42,48,60,.08);transform:translateY(-3px)}
.review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}
.review-who{display:flex;align-items:center;gap:14px}
.avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:700;font-size:16px;flex:none}
.av-blue{background:#eff6ff;color:#2563eb}
.av-green{background:#ecfdf5;color:#059669}
.av-purple{background:#faf5ff;color:#9333ea}
.av-orange{background:#fff7ed;color:#ea580c}
.review h4{margin:0;font-family:'Outfit',sans-serif;font-weight:700;font-size:16px}
.review .firm{font-size:12.5px;color:var(--gray)}
.review p{font-size:15px;font-style:italic;color:var(--gray);line-height:1.7;margin:0}

/* ————— stopka / kontakt ————— */
footer{background:var(--dark);color:#fff;padding:96px 0 40px;position:relative;overflow:hidden}
footer::before{content:"";position:absolute;right:-130px;bottom:-130px;width:380px;height:380px;border-radius:50%;border:40px solid rgba(255,255,255,.05);pointer-events:none}
footer h2{text-align:left;color:#fff}
footer h2 .accent{color:var(--red-light)}
.foot-lead{color:#94a3b8;max-width:420px;margin:0 0 32px;font-size:16px}
.foot-mail{display:inline-flex;align-items:center;gap:12px;font-family:'Outfit',sans-serif;font-weight:600;font-size:24px;transition:color .2s}
.foot-mail:hover{color:var(--red-light)}
.foot-mail svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.foot-tel{display:block;font-size:15px;color:#94a3b8;margin-top:16px;transition:color .2s}
.foot-tel:hover{color:#fff}
form{display:flex;flex-direction:column;gap:18px}
.pkg-pick{display:flex;flex-direction:column;gap:10px}
.pkg{position:relative;display:block}
.pkg input{position:absolute;opacity:0;pointer-events:none}
.pkg span{display:block;background:rgba(30,41,59,.5);border:1px solid #334155;border-radius:14px;padding:14px 18px;transition:border-color .2s,background .2s}
.pkg b{font-family:'Outfit',sans-serif;font-weight:700;font-size:15px;display:block;color:#fff}
.pkg small{font-size:12.5px;color:#94a3b8}
.pkg input:checked+span{border-color:var(--red);background:rgba(211,37,44,.12)}
.pkg input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}
input,textarea{width:100%;background:rgba(30,41,59,.5);border:1px solid #334155;border-radius:14px;padding:16px 22px;color:#fff;font-family:'Inter',sans-serif;font-size:15px;transition:border-color .2s}
input::placeholder,textarea::placeholder{color:#94a3b8}
input:focus,textarea:focus{outline:none;border-color:var(--red)}
textarea{resize:none}
.foot-bottom{border-top:1px solid #334155;padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;color:#64748b;position:relative;z-index:1}
.foot-bottom a{transition:color .2s}
.foot-bottom a:hover{color:#fff}

/* ————— modal zamówienia ————— */
.modal-backdrop{position:fixed;inset:0;background:rgba(15,20,30,.55);backdrop-filter:blur(4px);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s}
.modal-backdrop.open{opacity:1;pointer-events:auto}
.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.97);z-index:201;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:24px;box-shadow:0 40px 90px rgba(15,20,30,.35);padding:36px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.modal h3{font-family:'Outfit',sans-serif;font-weight:700;font-size:26px;margin:0 0 6px}
.modal .modal-sub{font-size:14.5px;color:var(--gray);margin:0 0 24px}
.modal-close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:1px solid var(--slate-200);background:#fff;color:var(--gray);font-size:17px;display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s}
.modal-close:hover{color:var(--red);border-color:var(--red)}
.modal form{display:flex;flex-direction:column;gap:14px}
.modal input,.modal textarea{background:var(--slate-50);border:1px solid var(--slate-200);color:var(--dark)}
.modal input::placeholder,.modal textarea::placeholder{color:#94a3b8}
.modal .pkg span{background:var(--slate-50);border-color:var(--slate-200)}
.modal .pkg b{color:var(--dark)}
.modal .pkg small{color:var(--gray)}
.modal .pkg input:checked+span{border-color:var(--red);background:rgba(211,37,44,.06)}
.modal .rodo-line{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--gray);line-height:1.6}
body.modal-open{overflow:hidden}

/* ————— ekosystem marek ————— */
.brands{background:var(--slate-50);padding:84px 0}
.brands-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:860px;margin:0 auto}
.brand{position:relative;display:block;background:#fff;border:1px solid var(--slate-100);border-radius:2rem;padding:32px;box-shadow:0 1px 4px rgba(42,48,60,.04);transition:box-shadow .3s,transform .3s;overflow:hidden}
.brand:hover{box-shadow:0 24px 48px rgba(42,48,60,.09);transform:translateY(-3px)}
.brand::after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--bcolor)}
.brand-mark{width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:800;font-size:21px;color:#fff;background:var(--bcolor);margin-bottom:20px}
.brand-logo{height:30px;width:auto;max-width:230px;object-fit:contain;object-position:left;margin-bottom:22px;display:block}
.brand:hover .brand-logo{filter:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.brand h3{font-family:'Outfit',sans-serif;font-weight:700;font-size:20px;margin:0 0 8px}
.brand p{font-size:14px;color:var(--gray);line-height:1.65;margin:0 0 18px}
.brand-go{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--bcolor)}
.brand-go .arrow{transition:transform .25s}
.brand:hover .brand-go .arrow{transform:translateX(4px)}

/* ————— stopka: linki ————— */
.foot-cols{display:grid;grid-template-columns:1.3fr .8fr .9fr;gap:56px;margin-bottom:64px;position:relative;z-index:1}
.foot-col h5{font-family:'Outfit',sans-serif;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:0 0 18px}
.foot-col a{display:block;font-size:15px;color:#cbd5e1;padding:6px 0;transition:color .2s}
.foot-col a:hover{color:#fff}
.foot-desc{color:#94a3b8;font-size:14.5px;line-height:1.7;max-width:340px;margin:0 0 24px}
.foot-legal{font-size:12.5px;color:#64748b;line-height:1.8;margin-top:26px}

/* ————— reveal ————— */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.5,0,0,1),transform .8s cubic-bezier(.5,0,0,1)}
.reveal.active{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* ————— dostępność / mobile ————— */
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .badge .dot{animation:none}
  .float-chip{animation:none}
  .btn,.card,.review{transition:none}
}
@media (max-width:1020px){
  .hide-mob{display:none}
  .hero-cols{grid-template-columns:1fr}
  .hero-visual{display:none}
  .grid-3,.brands-grid{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .abo{flex-direction:column;align-items:flex-start;padding:44px 36px}
  .abo-price{text-align:left}
  .foot-cols{grid-template-columns:1fr;gap:40px}
  nav .nav-link{display:none}
}
@media (max-width:640px){
  .grid-3,.grid-2,.stats,.brands-grid{grid-template-columns:1fr}
  .hero{padding:150px 0 80px}
  section{padding:72px 0}
  .abo-now{font-size:48px}
}

/* ————— realizacje / logo wall ————— */
.works{background:var(--slate-50)}
.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1020px){.works-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.works-grid{grid-template-columns:1fr 1fr;gap:12px}}
@media (max-width:400px){.works-grid{grid-template-columns:1fr}}
.work{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#fff;border:1px solid var(--slate-100);border-radius:20px;padding:28px 20px;min-height:150px;box-shadow:0 1px 4px rgba(42,48,60,.04);transition:box-shadow .3s,transform .3s,border-color .3s}
.work:hover{box-shadow:0 16px 36px rgba(42,48,60,.08);transform:translateY(-2px);border-color:rgba(211,37,44,.25)}
.work-logo{height:52px;display:flex;align-items:center;justify-content:center;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.work:hover .work-logo{filter:none;opacity:1}
.work-logo img{max-height:52px;max-width:min(150px,100%);height:auto;object-fit:contain}
.work-mono{display:none;width:52px;height:52px;border-radius:14px;background:var(--slate-50);border:1px solid var(--slate-100);color:var(--dark);font-family:'Outfit',sans-serif;font-weight:700;font-size:18px;align-items:center;justify-content:center}
.work h4{margin:0;font-family:'Outfit',sans-serif;font-weight:600;font-size:14px;text-align:center;color:var(--dark)}
.work .dom{font-size:11.5px;color:var(--gray);transition:color .2s}
.work:hover .dom{color:var(--red)}
.filters{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.filter{appearance:none;font:inherit;font-weight:500;font-size:13.5px;padding:9px 20px;border-radius:100px;border:1px solid var(--slate-200);background:#fff;color:var(--gray);transition:all .2s}
.filter:hover{border-color:var(--dark);color:var(--dark)}
.filter.active{background:var(--dark);border-color:var(--dark);color:#fff}
.work{appearance:none;font:inherit;text-align:center}
.work.hidden{display:none}
.work-cat{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--red);opacity:0;transition:opacity .2s}
.work:hover .work-cat{opacity:1}
.works-more{text-align:center;margin-top:36px;font-size:14.5px;color:var(--gray)}
nav{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:500}
nav a:not(.btn){transition:color .2s}
nav a:not(.btn):hover{color:var(--red)}
.head-phone{font-variant-numeric:tabular-nums;font-weight:600;color:var(--dark);white-space:nowrap}


/* ===== podstrony ===== */
/* ————— podstrona abonament ————— */
.sub-hero{position:relative;padding:170px 0 80px;overflow:hidden}
.crumbs{font-size:13px;color:var(--gray);margin-bottom:22px}
.crumbs a:hover{color:var(--red)}
.sub-cols{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.price-card{background:var(--dark);color:#fff;border-radius:2rem;padding:40px;box-shadow:0 30px 60px rgba(42,48,60,.25);position:relative;overflow:hidden}
.price-card::before{content:"";position:absolute;top:-120px;right:-90px;width:320px;height:320px;border-radius:50%;background:rgba(211,37,44,.28);filter:blur(70px)}
.price-card>*{position:relative;z-index:1}
.price-old{font-size:15px;color:rgba(255,255,255,.45);text-decoration:line-through}
.price-now{font-family:'Outfit',sans-serif;font-weight:800;font-size:64px;line-height:1.05;letter-spacing:-.02em;margin:2px 0 8px}
.price-now small{font-size:21px;font-weight:500;color:rgba(255,255,255,.55)}
.price-note{font-size:13.5px;color:#94a3b8;margin:20px auto 20px}
.price-perks{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:9px}
.price-perks li{display:flex;gap:10px;font-size:14px;color:#e2e8f0}
.price-perks li::before{content:"✓";color:#4ade80;font-weight:700}
.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pack{background:var(--slate-50);border:1px solid transparent;border-radius:1.6rem;padding:26px;transition:background .3s,box-shadow .3s,transform .3s}
.pack:hover{background:#fff;box-shadow:0 18px 40px rgba(42,48,60,.08);transform:translateY(-3px)}
.pack-num{font-family:'Outfit',sans-serif;font-weight:800;font-size:13px;color:var(--red);margin-bottom:10px}
.pack h3{font-family:'Outfit',sans-serif;font-weight:700;font-size:17px;margin:0 0 7px}
.pack p{font-size:13.5px;color:var(--gray);line-height:1.6;margin:0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
.step{position:relative;background:#fff;border:1px solid var(--slate-100);border-radius:1.6rem;padding:28px 24px}
.step-num{width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;font-family:'Outfit',sans-serif;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.step h3{font-family:'Outfit',sans-serif;font-weight:700;font-size:17px;margin:0 0 7px}
.step p{font-size:13.5px;color:var(--gray);line-height:1.6;margin:0}
.faq{max-width:760px;margin:0 auto}
.faq-item{background:#fff;border:1px solid var(--slate-100);border-radius:18px;margin-bottom:12px;overflow:hidden}
.faq-q{appearance:none;background:none;border:0;font:inherit;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:20px 24px;font-family:'Outfit',sans-serif;font-weight:600;font-size:16px;color:var(--dark)}
.faq-q .fchev{flex:none;width:26px;height:26px;border-radius:50%;background:var(--slate-50);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:13px;transition:transform .3s}
.faq-item.open .fchev{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a p{font-size:14.5px;color:var(--gray);line-height:1.7;margin:0;padding:0 24px 22px}
.cta-band{background:var(--dark);color:#fff;border-radius:2.5rem;padding:56px;text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;top:-140px;left:50%;transform:translateX(-50%);width:480px;height:480px;border-radius:50%;background:rgba(211,37,44,.22);filter:blur(80px)}
.cta-band>*{position:relative;z-index:1}
.cta-band h2{color:#fff;margin-bottom:14px}
.cta-band p{color:#94a3b8;margin:0 0 30px}
@media (max-width:1020px){.sub-cols{grid-template-columns:1fr}.pack-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.pack-grid,.steps{grid-template-columns:1fr}.price-now{font-size:52px}.cta-band{padding:44px 28px}}
/* ————— podstrona domen ————— */
.sub-hero{position:relative;padding:170px 0 90px;overflow:hidden}
.dom-search{position:relative;z-index:1;display:flex;gap:10px;background:#fff;border:1px solid var(--slate-200);border-radius:100px;padding:8px;box-shadow:0 20px 50px rgba(42,48,60,.1);max-width:640px;margin-top:36px}
.dom-search input{flex:1;border:0;background:none;padding:12px 12px 12px 22px;font-family:'Inter',sans-serif;font-size:17px;color:var(--dark);min-width:0}
.dom-search input:focus{outline:none}
.dom-search input::placeholder{color:#94a3b8}
.dom-search .btn{flex:none}
.dom-hint{font-size:13px;color:var(--gray);margin-top:14px}
.dom-results{max-width:640px;margin-top:18px;display:flex;flex-direction:column;gap:10px}
.dom-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--slate-100);border-radius:18px;padding:16px 22px;box-shadow:0 6px 20px rgba(42,48,60,.06);animation:rowin .35s ease}
@keyframes rowin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dom-row .dname{font-family:'Outfit',sans-serif;font-weight:700;font-size:16.5px;word-break:break-all}
.dom-status{font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:7px}
.dom-status::before{content:"";width:8px;height:8px;border-radius:50%}
.st-free{color:#059669}.st-free::before{background:#10b981}
.st-taken{color:var(--gray)}.st-taken::before{background:#94a3b8}
.st-check{color:#b45309}.st-check::before{background:#f59e0b;animation:pulse 1s ease infinite}
.tld-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tld{background:var(--slate-50);border:1px solid transparent;border-radius:1.4rem;padding:24px;text-align:center;transition:background .3s,box-shadow .3s,transform .3s}
.tld:hover{background:#fff;box-shadow:0 16px 36px rgba(42,48,60,.08);transform:translateY(-3px)}
.tld b{font-family:'Outfit',sans-serif;font-weight:800;font-size:24px;display:block;color:var(--dark)}
.tld .tprice{font-size:13.5px;color:var(--red);font-weight:600;margin-top:6px;display:block}
.tld small{font-size:12px;color:var(--gray)}
.dom-usp{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:1020px){.tld-grid{grid-template-columns:1fr 1fr}.dom-usp{grid-template-columns:1fr}}
@media (max-width:640px){.tld-grid{grid-template-columns:1fr 1fr}.dom-search{flex-direction:column;border-radius:24px}.dom-search .btn{width:100%}.cta-band{padding:44px 28px}}
/* ————— podstrona spacer 360 ————— */
.sub-cols{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.pano{position:relative;border-radius:2rem;overflow:hidden;background:linear-gradient(150deg,#2a303c,#3d4656 45%,#2a303c);aspect-ratio:16/10;box-shadow:0 30px 60px rgba(42,48,60,.22);border:1px solid var(--slate-200)}
.pano-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:11% 20%;transform:perspective(500px) rotateX(24deg) scale(1.35);transform-origin:bottom}
.pano-ring{position:absolute;top:26px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);color:#fff;font-size:12px;font-weight:600;letter-spacing:.08em;border-radius:100px;padding:8px 16px}
.pano-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;background:rgba(211,37,44,.92);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:0 14px 40px rgba(211,37,44,.45);transition:transform .25s}
.pano:hover .pano-play{transform:translate(-50%,-50%) scale(1.08)}
.pano-drag{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.75);font-size:12.5px;display:flex;align-items:center;gap:10px}
.pano-drag .arr{animation:drag 2.4s ease-in-out infinite}
@keyframes drag{0%,100%{transform:translateX(0)}50%{transform:translateX(10px)}}
.where-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:1020px){.sub-cols{grid-template-columns:1fr}.where-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}}
@media (max-width:640px){.where-grid{grid-template-columns:1fr}.cta-band{padding:44px 28px}}

/* ===== kontakt: formularz jasny + ikonki ===== */
.kform{max-width:640px;margin:0 auto 64px;display:flex;flex-direction:column;gap:14px}
.kform input,.kform select,.kform textarea{width:100%;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:14px;padding:15px 20px;color:var(--dark);font-family:'Inter',sans-serif;font-size:15px;transition:border-color .2s}
.kform input:focus,.kform select:focus,.kform textarea:focus{outline:none;border-color:var(--red)}
.kform textarea{resize:none}
.kform .rodo-line{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--gray);line-height:1.6}
.icon-btn{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s,background .2s,color .2s}
.icon-btn:hover{transform:translateY(-2px)}
.icon-btn svg{width:19px;height:19px;fill:currentColor}
.icon-wa{background:#25d366;color:#fff}
.icon-wa:hover{background:#1ebe5a}
.icon-fb{background:var(--slate-100);color:#64748b}
.icon-fb:hover{background:#1877f2;color:#fff}

/* ===== pakiety administracji ===== */
.plany{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.plan{position:relative;background:#fff;border:1px solid var(--slate-100);border-radius:2rem;padding:32px 28px;display:flex;flex-direction:column;box-shadow:0 1px 4px rgba(42,48,60,.04);transition:box-shadow .3s,transform .3s}
.plan:hover{box-shadow:0 24px 48px rgba(42,48,60,.09);transform:translateY(-3px)}
.plan-feat{background:var(--dark);color:#fff;border-color:transparent}
.plan-feat .plan-cena small{color:#94a3b8}
.plan-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:100px;padding:6px 16px}
.plan h3{font-family:'Outfit',sans-serif;font-weight:700;font-size:19px;margin:0 0 6px}
.plan-cena{font-family:'Outfit',sans-serif;font-weight:800;font-size:38px;letter-spacing:-.02em;margin-bottom:18px}
.plan-cena small{font-size:14px;font-weight:500;color:var(--gray)}
.plan ul{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:9px;flex:1}
.plan li{display:flex;gap:9px;font-size:13.5px;line-height:1.55}
.plan li::before{content:"✓";color:#10b981;font-weight:700;flex:none}
.plan-feat li{color:#e2e8f0}
@media (max-width:1020px){.plany{grid-template-columns:1fr}}

/* ===== kreator wyceny ===== */
.wiz-progress{height:5px;background:var(--slate-100);border-radius:100px;overflow:hidden;margin:6px 0 10px}
.wiz-bar{height:100%;width:25%;background:var(--red);border-radius:100px;transition:width .35s ease}
.wiz-steps-nav{display:flex;gap:4px;justify-content:space-between;font-size:11px;font-weight:600;letter-spacing:.02em;color:#94a3b8;margin-bottom:18px}
.wiz-steps-nav .on{color:var(--red)}
.wiz-q{font-family:'Outfit',sans-serif;font-weight:700;font-size:15px;margin:6px 0 4px}
.wiz-q small{font-weight:400;color:var(--gray);font-size:12.5px}
.pkg-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.addon{display:flex;align-items:center;gap:9px;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:12px;padding:10px 13px;font-size:13px;transition:border-color .2s,background .2s;position:relative}
.addon input{width:auto;flex:none;accent-color:var(--red)}
.addon span{flex:1;line-height:1.35}
.addon em{font-style:normal;font-weight:700;font-size:12px;color:var(--red);flex:none}
.addon:has(input:checked){border-color:var(--red);background:rgba(211,37,44,.05)}
.wiz-nav{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--slate-100)}
.wiz-total{margin-left:auto;font-family:'Outfit',sans-serif;font-weight:800;font-size:17px;color:var(--dark);text-align:right;line-height:1.3}
.wiz-total small{display:block;font-family:'Inter',sans-serif;font-weight:500;font-size:11.5px;color:var(--gray)}
.wiz-summary{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:14px;padding:16px 18px;font-size:13.5px;margin-bottom:4px}
.wiz-summary .row{display:flex;justify-content:space-between;gap:14px;padding:4px 0}
.wiz-summary .row b{font-weight:600}
.wiz-summary .sum{border-top:1px solid var(--slate-200);margin-top:8px;padding-top:10px;font-family:'Outfit',sans-serif;font-weight:800;font-size:16px}
.wiz-summary .zal{color:var(--gray);font-size:12.5px}
@media (max-width:560px){.addon-grid,.pkg-grid2{grid-template-columns:1fr}.wiz-steps-nav span:not(.on){display:none}}

/* ===== spacer 360: cennik, opcje, modal spaceru ===== */
.cennik-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin:34px auto 0;max-width:760px;background:#fff;border:1px solid var(--slate-100);border-radius:100px;padding:16px 28px;box-shadow:0 8px 24px rgba(42,48,60,.07)}
.cennik-note b{font-family:'Outfit',sans-serif;font-size:17px;color:var(--dark)}
.cennik-note span{font-size:14px;color:var(--gray)}
.cennik-note .dot{width:5px;height:5px;border-radius:50%;background:var(--slate-200)}
.incl{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;max-width:760px;margin:0 auto;padding:0}
.incl li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--slate-100);border-radius:16px;padding:16px 20px;font-size:14.5px;color:var(--dark)}
.incl li::before{content:"\2713";flex:none;width:22px;height:22px;border-radius:50%;background:rgba(16,185,129,.12);color:#10b981;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.incl a{color:var(--red);text-decoration:none;font-weight:600}
.pano.loaded{cursor:default}
.pano iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.modal-spacer{width:min(1040px,calc(100vw - 32px));padding:0;overflow:hidden;display:grid;grid-template-columns:1.5fr 1fr;max-height:calc(100vh - 40px)}
.msp-embed{position:relative;background:#1b2330;min-height:460px}
.msp-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.msp-info{padding:34px 30px;display:flex;flex-direction:column;overflow:auto;background:#fff}
.msp-info h3{font-size:23px;margin:0 0 4px;padding-right:40px}
.msp-cat{color:var(--red);font-weight:600;font-size:13px;margin:0 0 14px}
.msp-desc{font-size:14.5px;color:var(--gray);line-height:1.7;margin:0 0 18px}
.msp-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.msp-chip{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:100px;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--dark)}
.msp-actions{margin-top:auto}
@media (max-width:900px){.modal-spacer{grid-template-columns:1fr}.msp-embed{min-height:300px}}

.wm-shot{border-radius:16px;overflow:hidden;border:1px solid var(--slate-100);margin-bottom:18px;max-height:260px}
.wm-shot img{width:100%;display:block;object-fit:cover;object-position:top}

/* kreator: odstepy, tooltipy, licznik podstron */
.wiz-step .pkg-pick{margin-bottom:16px}
.ahelp{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--slate-200);color:var(--dark);font-size:10.5px;font-weight:700;font-style:normal;cursor:help;position:relative;vertical-align:1px}
.ahelp:hover::after,.ahelp:focus::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--dark);color:#fff;font-size:11.5px;font-weight:400;line-height:1.5;padding:8px 12px;border-radius:10px;width:210px;z-index:20;text-align:left;pointer-events:none}
.addon-grid .addon:nth-child(odd) .ahelp:hover::after,.addon-grid .addon:nth-child(odd) .ahelp:focus::after{left:0;transform:none}
.addon-grid .addon:nth-child(even) .ahelp:hover::after,.addon-grid .addon:nth-child(even) .ahelp:focus::after{left:auto;right:0;transform:none}
.addon-qty{width:52px !important;flex:none;padding:5px 6px !important;font-size:13px;text-align:center;border:1px solid var(--slate-200);border-radius:8px;background:#fff}

/* kreator v2: odstepy i kontrolki */
.modal .wiz-step>input,.modal .wiz-step>textarea{margin-bottom:12px}
.modal .rodo-line{margin-top:6px}
.addon input[type=checkbox],.addon input[type=radio],.rodo-line>input[type=checkbox]{appearance:none;-webkit-appearance:none;width:19px !important;min-width:19px;height:19px;flex:none;margin:0;padding:0;border:2px solid var(--slate-200);border-radius:6px;background:#fff;display:inline-grid;place-items:center;cursor:pointer;transition:border-color .15s,background .15s}
.addon input[type=radio]{border-radius:50%}
.addon input:checked,.rodo-line>input[type=checkbox]:checked{border-color:var(--red);background:var(--red)}
.addon input[type=checkbox]:checked::after,.rodo-line>input[type=checkbox]:checked::after{content:"✓";color:#fff;font-size:11.5px;font-weight:800;line-height:1}
.addon input[type=radio]:checked::after{content:"";width:7px;height:7px;border-radius:50%;background:#fff}
.addon input:focus-visible,.rodo-line>input:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.addon .addon-qty{display:none}
.addon:has(input[type=checkbox]:checked) .addon-qty{display:block}
/* wybor kolorystyki */
.kolor-pick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.kolor{position:relative;display:block}
.kolor input{position:absolute;opacity:0;pointer-events:none}
.kolor span{display:inline-flex;align-items:center;gap:8px;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:100px;padding:8px 14px 8px 9px;font-size:12.5px;color:var(--dark);cursor:pointer;transition:border-color .15s,background .15s}
.kolor i{display:inline-flex;flex:none}
.kolor i::before,.kolor i::after{content:"";width:15px;height:15px;border-radius:50%;border:1px solid rgba(0,0,0,.12)}
.kolor i::before{background:var(--c1)}
.kolor i::after{background:var(--c2);margin-left:-5px}
.kolor input:checked+span{border-color:var(--red);background:rgba(211,37,44,.07)}
.kolor input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}
/* pole plikow */
.file-drop{display:block;background:var(--slate-50);border:1px dashed var(--slate-200);border-radius:14px;padding:14px 18px;font-size:13px;color:var(--gray);cursor:pointer;margin-bottom:12px;transition:border-color .15s}
.file-drop:hover{border-color:var(--red)}
.file-drop input{display:none}
.file-drop b{color:var(--dark);font-weight:600}

/* [hidden] musi wygrywac z klasami ustawiajacymi display (np. .btn) */
[hidden]{display:none !important}
/* komunikat bledu w kreatorze */
.wiz-error{background:rgba(211,37,44,.07);border:1px solid rgba(211,37,44,.3);color:var(--red);border-radius:12px;padding:11px 15px;font-size:13.5px;margin:12px 0 0}

.rodo-line>input[type=checkbox]{margin-top:2px}

/* pancerz linii zgody — nadpisuje kazda regule/rozszerzenie, ktore probuje ja schowac */
.modal .rodo-line{display:flex !important;visibility:visible !important;opacity:1 !important;position:static !important;height:auto !important;min-height:24px;max-height:none !important;overflow:visible !important;transform:none !important;width:100% !important}
.modal .rodo-line>span{display:block !important;flex:1 1 auto;min-width:0;visibility:visible !important;opacity:1 !important;height:auto !important;font-size:12px !important;color:var(--gray) !important;line-height:1.6 !important}
.modal .rodo-line>input[type=checkbox]{display:inline-grid !important;visibility:visible !important;opacity:1 !important;position:static !important;height:19px !important}
/* alert widoczny nawet gdyby outline nie zadzialal */
.rodo-alert{outline:2px solid var(--red);outline-offset:4px;border-radius:8px;background:rgba(211,37,44,.05)}

/* baner cookies */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:calc(100dvw - 32px);z-index:120;display:flex;justify-content:center}
.cookie-inner{background:var(--dark);color:#cbd2dc;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.35);padding:18px 22px;max-width:860px;width:100%}
.cookie-inner p{margin:0 0 12px;font-size:13.5px;line-height:1.6}
.cookie-inner p b{color:#fff}
.cookie-inner a{color:#fff;text-decoration:underline}
.cookie-opts{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;padding:12px 14px;background:rgba(255,255,255,.06);border-radius:12px}
.cookie-opts label{display:flex;gap:10px;align-items:center;font-size:13px;cursor:pointer}
.cookie-opts input{width:17px;height:17px;accent-color:var(--red)}
.cookie-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.btn-ck{border:0;border-radius:100px;padding:10px 18px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.btn-ck-ghost{background:rgba(255,255,255,.1);color:#fff}
.btn-ck-ghost:hover{background:rgba(255,255,255,.18)}
.btn-ck-ok{background:var(--red);color:#fff}
.btn-ck-ok:hover{background:var(--red-light)}
@media (max-width:640px){.cookie-bar{left:8px;right:8px;bottom:8px}.cookie-btns{justify-content:stretch}.btn-ck{flex:1}}

/* kafelki uslug jako linki */
a.card{display:block;color:inherit;text-decoration:none}
.card-more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:13px;font-weight:600;color:var(--red);opacity:0;transform:translateX(-4px);transition:opacity .25s,transform .25s}
a.card:hover .card-more{opacity:1;transform:none}
@media (hover:none){.card-more{opacity:1;transform:none}}

/* wlasna kolorystyka — pojawia sie po wyborze "Inna" */
.kolory-wlasne{display:none}
.kolor-pick:has(#kolorInna:checked)+label+.kolory-wlasne,
.kolor-pick:has(#kolorInna:checked)~.kolory-wlasne{display:block;margin-bottom:12px}

/* ladniejsze przewijanie — cala strona */
html{scroll-behavior:smooth;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
*{scrollbar-width:thin;scrollbar-color:var(--slate-200) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--slate-200);border-radius:100px;border:2px solid var(--slate-50)}
::-webkit-scrollbar-thumb:hover{background:#b9c3d0}
/* modal i mniejsze kontenery — wezszy pasek */
.js-modal::-webkit-scrollbar{width:6px}
.js-modal::-webkit-scrollbar-thumb{border:0;background:var(--slate-200)}
.js-modal{scrollbar-color:var(--slate-200) transparent}

/* chipy hero na stronie domen — tylko szerokie ekrany */
.dom-chip{z-index:0;pointer-events:none}
@media (max-width:1120px){.dom-chip{display:none}}

/* burger + menu mobilne */
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:0;background:none;padding:10px;cursor:pointer;flex:none}
.burger span{display:block;height:2px;border-radius:2px;background:var(--dark);transition:transform .25s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mob-menu{position:fixed;inset:96px 16px auto 16px;max-width:calc(100dvw - 32px);z-index:95;background:#fff;border:1px solid var(--slate-100);border-radius:22px;box-shadow:0 30px 70px rgba(42,48,60,.22);padding:10px 22px 22px;max-height:calc(100dvh - 112px);overflow:auto;animation:rowin .25s ease}
.mob-nav{display:flex;flex-direction:column}
.mob-label{margin:16px 0 6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.mob-nav a{padding:11px 2px;font-size:15.5px;font-weight:500;color:var(--dark);text-decoration:none;border-bottom:1px solid var(--slate-50);display:flex;justify-content:space-between;align-items:center;gap:10px}
.mob-nav a:active{color:var(--red)}
.mob-tag{font-size:11.5px;font-weight:700;color:#fff;background:var(--red);border-radius:100px;padding:3px 10px}
body.mob-open{overflow:hidden}
@media (max-width:1020px){.burger{display:flex}}
@media (max-width:640px){.nav-actions .tel-num{display:none}.pill{padding-right:8px}.nav-actions .hide-mob{display:none}}
@media (min-width:1021px){.mob-menu{display:none !important}}
/* honeypot — poza ekranem, niewidoczny dla ludzi */
.hp-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;opacity:0}
