/* ============ MojeAutko v6 – premium (paleta z logo: granat + niebieski) ============ */
:root{
  --granat:#12223D; --granat2:#0E1B31; --granat3:#1B2E4E;
  --blue:#2563EB; --blue-dark:#1D4FD0; --blue-light:#4C86FF; --blue-soft:#EAF0FE; --blue-softer:#F4F7FE;
  --bg:#F5F7FB; --card:#FFFFFF; --ink:#111827; --muted:#5A6577; --faint:#98A2B3;
  --line:#E6EAF1; --line2:#D5DCE8; --pill:#F1F4F9; --danger:#DC2626; --star:#F5A623; --ok:#12805C;
  --sh-rest:0 1px 2px rgba(17,34,61,.05);
  --sh-card:0 2px 10px rgba(17,34,61,.06);
  --sh-hover:0 12px 30px rgba(17,34,61,.12);
  /* kompatybilność wsteczna (stare inline-style) */
  --teal:var(--blue); --teal-dark:var(--blue-dark); --teal-soft:var(--blue-soft);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;font-size:15px;-webkit-font-smoothing:antialiased}
img{max-width:100%}
button{font-family:inherit;cursor:pointer;border:0;background:none}
a{text-decoration:none;color:inherit}
::selection{background:var(--blue);color:#fff}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}

/* ---------- przyciski (pigułki z gradientem) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 24px;font-weight:600;font-size:14.5px;letter-spacing:.01em;transition:all .16s ease}
.btn-blue,.btn-teal{color:#fff;background:linear-gradient(180deg,#3B82F6 0%,#2563EB 100%);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 6px 16px -6px rgba(37,99,235,.55)}
.btn-blue:hover,.btn-teal:hover{background:linear-gradient(180deg,#2F74F1 0%,#1D4FD0 100%);transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 9px 20px -6px rgba(37,99,235,.6)}
.btn-blue:active,.btn-teal:active{transform:translateY(0)}
.btn-dark{color:#fff;background:linear-gradient(180deg,#1B2E4E 0%,#12223D 100%);box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 6px 16px -8px rgba(17,34,61,.6)}
.btn-dark:hover{background:linear-gradient(180deg,#22375B 0%,#16294A 100%);transform:translateY(-1px)}
.btn-ghost{background:#fff;border:1.5px solid var(--line2);color:var(--ink)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue-dark)}
.btn-sm{padding:9px 18px;font-size:13.5px}
.btn:focus-visible{outline:2.5px solid #9DBEFF;outline-offset:2px}

/* ---------- topbar ---------- */
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:0 1px 8px rgba(17,34,61,.04)}
.topbar-in{display:flex;align-items:center;gap:28px;height:64px}
.logo{height:26px;width:auto;display:block}
.topnav{display:flex;gap:4px;margin-left:auto}
.topnav a{font-size:14px;font-weight:500;color:var(--muted);transition:all .13s;position:relative;padding:8px 13px;border-radius:999px}
.topnav a:hover{color:var(--ink);background:var(--pill)}
.topnav a.on{color:var(--blue-dark);font-weight:600;background:var(--blue-softer)}

/* ---------- hero: jasny, czysty (wzorzec dobrymechanik/fixly) ---------- */
.hero{background:linear-gradient(95deg,rgba(246,249,254,.97) 0%,rgba(246,249,254,.86) 26%,rgba(246,249,254,.42) 48%,rgba(246,249,254,.08) 66%,rgba(246,249,254,0) 82%),url("assets/hero-bg.jpg?v=5") center right/cover no-repeat #EEF3FC;border-bottom:1px solid var(--line);padding:48px 0 50px}
@media(max-width:760px){.hero{background:linear-gradient(180deg,rgba(245,248,254,.88) 0%,rgba(245,248,254,.78) 55%,rgba(245,248,254,.9) 100%),url("assets/hero-bg.jpg?v=5") center top/cover no-repeat #EEF3FC}}
.hero h1{font-size:clamp(22px,2.8vw,32px);font-weight:700;color:var(--granat);line-height:1.15;letter-spacing:-.015em}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero-sub{color:var(--muted);font-size:15.5px;margin:10px 0 24px;max-width:58ch}
.hero .searchbar{border:1px solid var(--line);box-shadow:0 10px 30px rgba(17,34,61,.08)}
.hero-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:14px 26px;margin-top:26px}
.hero-points{display:flex;flex-wrap:wrap;gap:10px 26px}
.hero-points span{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);font-weight:500}
.hero-points svg{width:16px;height:16px;fill:none;stroke:var(--blue);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn-app svg{width:17px;height:17px}

/* ---------- animowane logo mojeautko + wjeżdżające auto ---------- */
.hero{overflow-x:clip}
.hero-brand{display:flex;font-weight:800;font-size:clamp(46px,7.5vw,84px);line-height:1;letter-spacing:-.035em;margin-bottom:18px;user-select:none}

.hero-brand span{display:inline-block;animation:hb-in .75s cubic-bezier(.2,.85,.3,1) backwards;animation-delay:calc(var(--i) * 70ms + 100ms)}
.hero-brand .hb-n{color:var(--granat)}
.hero-brand .hb-b{color:var(--blue)}
.hero-brand .hb-n + .hb-b{margin-left:.17em}
.hero-brand span:last-child{animation-name:hb-in-roll}
.hero-logo{width:min(660px,90vw);height:auto;display:block;margin-left:-13px;animation:hb-in .7s cubic-bezier(.2,.85,.3,1) both}
@keyframes hb-in{
  0%{opacity:0;transform:translateY(.55em) scale(.9);filter:blur(8px)}
  55%{opacity:1;filter:blur(0)}
  72%{transform:translateY(-.05em) scale(1.03)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:none}
}
@keyframes hb-in-roll{
  0%{opacity:0;transform:translateY(.55em) rotate(-150deg) scale(.9);filter:blur(8px)}
  55%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translateY(0) rotate(0) scale(1);filter:none}
}
@media (prefers-reduced-motion:reduce){
  .hero-brand span,.hero-logo{opacity:1;transform:none;animation:none;filter:none}
}
.searchbar{display:flex;gap:8px;max-width:800px;background:#fff;padding:9px;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.search-field{display:flex;align-items:center;gap:10px;background:var(--pill);border:1.5px solid transparent;border-radius:11px;padding:0 14px;height:54px;transition:all .14s;position:relative}
.search-field:focus-within{border-color:var(--blue);background:#fff}
.search-field.grow{flex:1}
.search-field svg{width:18px;height:18px;fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.search-field input,.search-field select{border:0;background:none;outline:none;font-family:inherit;font-size:14.5px;color:var(--ink);width:100%;min-width:120px}
.search-field input::placeholder{color:var(--faint)}
.pop-search{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-top:14px}
.pop-search>span{font-size:13px;color:var(--faint)}
.pop-chip{position:relative;font-size:13px;font-weight:500;color:var(--muted);padding-bottom:3px;transition:color .18s}
.pop-chip::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--blue-light));transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.4,0,.2,1)}
.pop-chip:hover{color:var(--blue-dark)}
.pop-chip:hover::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.pop-chip::after{transition:none}}
.trustline{position:relative;z-index:1;display:flex;gap:10px 30px;flex-wrap:wrap;margin-top:26px}
.trustline span{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#AEB8CC}
.trustline svg{width:17px;height:17px;fill:none;stroke:#5C93FF;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.trustline.dark span{color:var(--muted)}
.trustline.dark svg{stroke:var(--blue)}

/* ---------- autocomplete miast ---------- */
.ac-list{position:absolute;top:calc(100% + 8px);left:-9px;right:-9px;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(17,34,61,.16);padding:6px;z-index:30;max-height:320px;overflow-y:auto}
.ac-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 11px;border-radius:9px;font-size:14px;color:var(--ink);transition:background .1s}
.ac-item svg{width:15px;height:15px;fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ac-item span{flex:1}
.ac-item em{font-style:normal;font-size:11px;color:var(--faint);background:var(--pill);border-radius:5px;padding:2px 7px}
.ac-item em.ac-live{color:var(--ok);background:#E3F5EC}
.ac-item:hover,.ac-item.on{background:var(--blue-softer)}
.ac-item:hover svg,.ac-item.on svg{stroke:var(--blue)}
/* pasek filtrów: zwykłe listy rozwijane */
.filterbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.fsel{display:flex;flex-direction:column;gap:5px;min-width:170px}
.fsel>span{font-size:11.5px;font-weight:600;color:var(--faint);letter-spacing:.02em;padding-left:2px}
.fsel select{font-family:inherit;font-size:14px;font-weight:500;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px;cursor:pointer;transition:border-color .14s}
.fsel select:hover{border-color:#CBD8F4}
.fsel select:focus{outline:none;border-color:var(--blue)}
.fcheck{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);cursor:pointer;padding:10px 0;user-select:none}
.fcheck input{width:17px;height:17px;accent-color:var(--blue);cursor:pointer}
.filterbar .fclear{margin-left:auto;align-self:center;background:none;border:0;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--blue-dark);cursor:pointer;padding:10px 4px}
.filterbar .fclear:hover{text-decoration:underline}
@media(max-width:620px){.fsel{min-width:calc(50% - 6px);flex:1}}

/* wyszukiwarka w stylu OLX: czysty tekst, grupy, podświetlenie frazy */
.ac-head{padding:10px 12px 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}
.ac-list .ac-item{gap:10px;padding:10px 12px}
.ac-list .ac-main{flex:1;min-width:0}
.ac-list .ac-label{display:block;font-size:14.5px;color:var(--ink);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-list .ac-label b{font-weight:700;color:var(--granat)}
.ac-list .ac-meta{flex:none;font-size:12px;color:var(--faint);white-space:nowrap}
.ac-item.ac-go .ac-label b{color:var(--blue-dark)}
.ac-item.ac-go{border-bottom:1px solid var(--line);border-radius:9px 9px 0 0;margin-bottom:2px}

/* ---------- sekcje ---------- */
.section{padding:50px 0}
.section-white{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-title{font-size:24px;font-weight:800;letter-spacing:-.02em;margin-bottom:22px}
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.sec-head .sec-title{margin:0}
.sec-head a{color:var(--blue-dark);font-size:13.5px;font-weight:600;border:1.5px solid var(--blue-soft);background:var(--blue-soft);border-radius:999px;padding:8px 17px;transition:all .14s}
.sec-head a:hover{background:var(--blue);color:#fff}

/* ---------- kafle kategorii ---------- */
.cats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cat-tile{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 17px;transition:all .16s ease;box-shadow:var(--sh-rest)}
.cat-tile:hover{transform:translateY(-3px);box-shadow:var(--sh-hover);border-color:#C7D6FA}
.cat-ic{width:44px;height:44px;border-radius:12px;background:var(--blue-soft);display:grid;place-items:center;flex:none;transition:background .14s}
.cat-tile:hover .cat-ic{background:var(--blue);}
.cat-ic svg{width:22px;height:22px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .14s}
.cat-tile:hover .cat-ic svg{stroke:#fff}
.ct-label{font-size:14px;font-weight:600;color:var(--ink);line-height:1.3}
.ct-label small{display:block;font-size:12px;font-weight:400;color:var(--faint)}

/* ---------- wiersze ogłoszeniowe ---------- */
.rowlist{display:flex;flex-direction:column;gap:12px;padding-bottom:48px}
.rowcard{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;align-items:stretch;box-shadow:var(--sh-rest);transition:all .16s ease}
.rowcard:hover{transform:translateY(-2px);box-shadow:var(--sh-hover);border-color:#CBD8F4}
.rowcard--spon{background:#F6F9FF;border-color:#C4D6F7}
.row-spon{align-self:flex-start;display:inline-block;background:var(--blue-soft);color:var(--blue-dark);font-size:11.5px;font-weight:600;padding:3px 11px;border-radius:999px;margin-bottom:8px}

/* wypożyczalnia: flota aut */
.rt-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0 4px}
.rt-filters{display:flex;gap:8px;flex-wrap:wrap}
.rt-chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 15px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .14s}
.rt-chip:hover{border-color:#CBD8F4}
.rt-chip.on{background:var(--blue);border-color:var(--blue);color:#fff}
.rt-right{display:flex;gap:8px;flex-wrap:wrap}
.rt-right select{font-family:inherit;font-size:13.5px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer}
.fleet{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:14px 0 44px}
.carcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--sh-rest);transition:transform .16s,box-shadow .16s}
.carcard:hover{transform:translateY(-3px);box-shadow:var(--sh-hover)}
.car-photo{position:relative;height:172px;background:#E9EDF3;overflow:hidden}
.car-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.carcard:hover .car-photo img{transform:scale(1.05)}
.car-klasa{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.96);color:var(--granat);font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:999px;box-shadow:0 2px 8px rgba(17,34,61,.18)}
.car-body{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px}
.car-name{font-size:16px;font-weight:700;color:var(--granat);margin:0}
.car-specs{display:flex;flex-wrap:wrap;gap:7px 14px;margin:10px 0 14px}
.car-specs span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted)}
.car-specs svg{width:14px;height:14px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.car-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.car-price b{font-size:19px;font-weight:800;color:var(--granat)}
.car-price small{font-size:12.5px;color:var(--muted);margin-left:3px}
.car-book{padding:9px 17px;font-size:13.5px}
.cb-car{display:flex;gap:12px;align-items:center;background:#F6F9FF;border:1px solid #DCE7FB;border-radius:12px;padding:10px;margin-bottom:14px}
.cb-car img{width:88px;height:58px;object-fit:cover;border-radius:8px;flex:none}
.cb-car b{display:block;color:var(--granat);font-size:14.5px}
.cb-car span{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.cb-sum{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid var(--line);margin:6px 0 12px}
.cb-sum span{font-size:13.5px;color:var(--muted)}
.cb-sum b{font-size:20px;font-weight:800;color:var(--granat)}
.cb-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.cb-sel{width:100%;font-family:inherit;font-size:14px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer}
.cb-sel:focus{outline:none;border-color:var(--blue)}
.cb-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cb-check{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink);margin:2px 0 10px;cursor:pointer}
.cb-check input{width:16px;height:16px;accent-color:var(--blue);cursor:pointer}
.cb-lines{border-top:1px solid var(--line);margin-top:14px;padding-top:11px;display:flex;flex-direction:column;gap:8px}
.cb-lines>div{display:flex;justify-content:space-between;gap:14px;font-size:13.5px}
.cb-lines span{color:var(--muted);flex:none}
.cb-lines b{color:var(--granat);font-weight:600;text-align:right}
@media(max-width:760px){.cb-grid{grid-template-columns:1fr}}
.cb-hint{text-align:center;font-size:13.5px;color:var(--muted);margin:0 0 10px}
.cb-hint b{color:var(--granat);font-weight:700}
.cal-day.in{background:var(--blue-soft);color:var(--blue-dark)}
.cal-day.in:hover{background:#DCE7FB}
.cb-range{display:flex;gap:10px;margin-top:12px}
.cb-slot{flex:1;border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:#fff;transition:border-color .14s,background .14s}
.cb-slot.on{border-color:var(--blue);background:#F6F9FF}
.cb-slot span{display:block;font-size:11.5px;color:var(--muted)}
.cb-slot b{display:block;font-size:14px;color:var(--granat);margin-top:2px}
@media(max-width:900px){.fleet{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.fleet{grid-template-columns:1fr}.rt-bar{align-items:stretch}}
.row-photo{flex:none;width:172px;height:126px;border-radius:11px;overflow:hidden;background:#E9EDF3;position:relative}
.row-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.rowcard:hover .row-photo img{transform:scale(1.05)}
.row-main{flex:1;min-width:0;display:flex;flex-direction:column;padding:2px 0}
.row-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.row-name{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.row-name:hover{color:var(--blue-dark)}
.row-rating{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--ink);font-weight:600}
.row-rc{color:var(--faint);font-weight:400}
.stars-i{color:var(--star);letter-spacing:1.5px}
.stars-o{color:#DFE3EA;letter-spacing:1.5px}
.row-addr{font-size:12.5px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:5px}
.row-addr svg{width:13px;height:13px;fill:none;stroke:var(--faint);stroke-width:2;flex:none}
.row-offers{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:12px;align-items:center}
.row-offer{background:var(--pill);border-radius:8px;padding:5px 11px;font-size:12.5px;color:var(--muted)}
.row-offer b{color:var(--ink);font-weight:600}
.row-more{color:var(--blue-dark);font-size:12.5px;font-weight:600}
.row-more:hover{text-decoration:underline}
.row-cta{flex:none;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:9px;padding-left:16px;border-left:1px solid var(--line);min-width:176px}
.row-cta .btn{white-space:nowrap;width:100%}
.row-slot{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);justify-content:center}
.row-slot b{color:var(--ok);font-weight:600}
.row-slot::before{content:"";width:7px;height:7px;border-radius:50%;background:#22C55E;flex:none}
@media(max-width:720px){
  .row-photo{width:104px;height:98px}
  .rowcard{flex-wrap:wrap}
  .row-cta{width:100%;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;flex-direction:row-reverse;justify-content:space-between;align-items:center;min-width:0}
  .row-cta .btn{width:auto}
}

/* ---------- opinie (premium) ---------- */
.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.review-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--sh-card);display:flex;flex-direction:column}
.review-card .r-head{display:flex;align-items:center;gap:11px}
.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--granat));color:#fff;display:grid;place-items:center;font-size:16px;font-weight:600;flex:none}
.r-who-wrap{flex:1;min-width:0}
.r-who{font-size:14px;font-weight:600}
.r-date{font-size:12px;color:var(--faint)}
.r-verified{display:grid;place-items:center;color:var(--ok)}
.r-verified svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.review-card .stars{margin-top:12px;font-size:14px}
.r-text{font-size:14px;color:#374151;margin-top:8px;line-height:1.6;flex:1}
.r-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.r-tag{font-size:12px;font-weight:500;color:var(--blue-dark);background:var(--blue-soft);border-radius:7px;padding:4px 10px}
.r-foot a{font-size:12.5px;font-weight:600;color:var(--muted)}
.r-foot a:hover{color:var(--blue-dark)}

/* ---------- sekcja aplikacji (jasna, minimal) ---------- */
.appsec{background:#fff;border-top:1px solid var(--line);padding:64px 0}
.appsec-in{display:grid;grid-template-columns:1fr 300px;gap:64px;align-items:center;max-width:940px;margin:0 auto}
.app-copy h2{font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--granat)}
.appsec .lead{color:var(--muted);font-size:15px;margin:8px 0 22px;max-width:46ch}
.app-feats{list-style:none;margin:0 0 26px;display:flex;flex-direction:column;gap:12px}
.app-feats li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:#374151}
.app-feats svg{width:17px;height:17px;fill:none;stroke:var(--blue);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.stores{display:flex;gap:10px;flex-wrap:wrap}
.store-btn{display:flex;align-items:center;gap:10px;background:var(--granat);color:#fff;border-radius:12px;padding:10px 18px;transition:background .15s,transform .15s}
.store-btn:hover{background:var(--granat3);transform:translateY(-1px)}
.store-btn svg{width:22px;height:22px;flex:none}
.store-btn .st-txt{line-height:1.15}
.store-btn .st-small{display:block;font-size:10px;color:rgba(255,255,255,.6);font-weight:500}
.store-btn .st-big{display:block;font-size:14px;font-weight:700}

/* telefon (minimal, bez zdjęć) */
.app-phone{display:flex;justify-content:center}
.phone-frame{width:240px;background:#0E1B31;border-radius:36px;padding:10px;box-shadow:0 24px 60px -20px rgba(17,34,61,.45)}
.phone-screen{border-radius:27px;overflow:hidden;background:var(--bg)}
.ps-top{background:var(--granat);padding:22px 14px 14px}
.ps-logo{height:14px;display:block;margin-bottom:12px;width:auto}
.ps-search{background:rgba(255,255,255,.1);border-radius:9px;padding:9px 11px;font-size:10.5px;color:#9FAAC0;display:flex;align-items:center;gap:7px}
.ps-search svg{width:12px;height:12px;fill:none;stroke:#9FAAC0;stroke-width:2;flex:none}
.ps-body{padding:10px;display:flex;flex-direction:column;gap:8px}
.ps-row{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.ps-name{font-size:11px;font-weight:700;color:var(--ink)}
.ps-meta{font-size:9.5px;color:var(--muted);margin-top:1px}
.ps-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}
.ps-star{font-size:9.5px;color:var(--star);font-weight:600}
.ps-btn{background:var(--blue);color:#fff;font-size:9px;font-weight:600;border-radius:999px;padding:3.5px 10px}

/* ---------- CTA dla warsztatów (zwarta karta) ---------- */
.band-sec{padding:8px 0 64px}
.band-card{background:var(--granat);border-radius:20px;padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.band-copy h2{color:#fff;font-size:22px;font-weight:800;letter-spacing:-.015em}
.band-copy p{color:#A6B0C4;font-size:14px;margin-top:6px;max-width:56ch}
.band-card .btn{flex:none}

/* ---------- formularze ---------- */
.join-card{background:#fff;border-radius:16px;padding:26px;color:var(--ink);box-shadow:0 22px 55px rgba(17,34,61,.14)}
.join-card h3{font-size:17px;font-weight:700;margin-bottom:14px}
.j-input{width:100%;border:1.5px solid var(--line2);border-radius:11px;padding:12px 15px;font-family:inherit;font-size:14px;outline:none;margin-bottom:10px;background:#fff;transition:border-color .14s}
.j-input:focus{border-color:var(--blue)}
.j-input.err{border-color:var(--danger)}
.j-input::placeholder{color:var(--faint)}
.j-submit{width:100%;margin-top:4px}
.j-note{font-size:11.5px;color:var(--faint);margin-top:10px;line-height:1.5}
.j-note a{color:var(--blue-dark);text-decoration:underline}
.j-success{text-align:center;padding:18px 4px}
.j-success .b-check{width:68px;height:68px;margin:0 auto 14px}
.j-success h3{margin-bottom:6px}
.j-success p{color:var(--muted);font-size:13.5px}

/* ---------- stopka ---------- */
.footer{background:var(--granat2);color:#98A2B3;padding:46px 0 28px}
.footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:18px}
.fcol h4{font-size:13px;font-weight:700;margin-bottom:12px;color:#fff}
.fcol a{display:block;font-size:13px;color:#98A2B3;padding:4px 0;transition:color .12s}
.fcol a:hover{color:#fff}
.fcol-brand p{font-size:12.5px;color:#6B7585;margin-top:12px;line-height:1.6}
.logo-foot{height:28px;width:auto}
.foot-note{font-size:12px;color:#5F6B7A}
@media(max-width:860px){.footer-cols{grid-template-columns:1fr 1fr}}

/* ---------- modale ---------- */
.modal{position:fixed;inset:0;z-index:100;background:rgba(9,13,20,.55);display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(3px)}
.modal[hidden]{display:none}
.modal-box{background:#fff;border-radius:18px;max-width:660px;width:100%;max-height:90vh;overflow-y:auto;position:relative;padding:24px 24px 28px;box-shadow:0 26px 70px rgba(9,13,20,.35)}
.modal-wide{max-width:920px}
.modal-x{position:absolute;right:14px;top:12px;width:36px;height:36px;border-radius:10px;background:var(--pill);font-size:20px;color:var(--ink);z-index:5;transition:background .12s}
.modal-x:hover{background:var(--line)}
.modal-title{font-size:18px;font-weight:700;margin-bottom:14px}
#map{height:520px;border-radius:12px}

/* ---------- profil serwisu ---------- */
/* dla-warsztatów: sekcja korzyści */
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.benefit{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--sh-rest)}
.benefit .b-ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--blue-soft);display:grid;place-items:center}
.benefit .b-ic svg{width:22px;height:22px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.benefit>span:last-child{flex:1;min-width:0}
.benefit b{display:block;color:var(--granat);font-size:15px;font-weight:700}
.benefit small{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:3px}
@media(max-width:760px){.benefits{grid-template-columns:1fr}}

/* dla-warsztatów: landing pro */
.wsband{background:var(--granat);color:#fff;padding:24px 0}
.wsband-in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.wsband b{display:block;font-size:26px;font-weight:800;line-height:1}
.wsband span{display:block;font-size:13px;color:#B7C4DE;margin-top:5px}
.wsh{font-size:clamp(22px,3vw,29px);font-weight:700;color:var(--granat);text-align:center;letter-spacing:-.02em;margin:0}
.wsub{text-align:center;color:var(--muted);font-size:15px;margin:8px auto 0;max-width:62ch}
.section .benefits,.section .how-grid,.section .plans{margin-top:24px}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.plan{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 22px;box-shadow:var(--sh-rest)}
.plan--hot{border:2px solid var(--blue);box-shadow:0 18px 44px rgba(37,99,235,.15)}
.plan-tag{align-self:flex-start;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:4px 11px;border-radius:999px;background:var(--blue-soft);color:var(--blue-dark)}
.plan-tag--hot{background:var(--blue);color:#fff}
.plan-tag--gold{background:#FFF2D6;color:#8A5A00}
.plan .price{font-size:26px;font-weight:800;color:var(--granat);margin:14px 0 2px;line-height:1.1}
.plan .price small{font-size:13.5px;font-weight:600;color:var(--muted)}
.plan .p-desc{font-size:13.5px;color:var(--muted);margin:0 0 16px}
.plan ul{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px}
.plan li{display:flex;gap:9px;font-size:14px;color:var(--ink);line-height:1.4;align-items:flex-start}
.plan li svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--blue);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.plan .btn{margin-top:auto;display:block;text-align:center}
.faq{max-width:760px;margin:24px auto 0;display:flex;flex-direction:column;gap:10px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:16px 18px;font-family:inherit;font-size:15px;font-weight:600;color:var(--granat);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;outline:none}
.faq-q:focus-visible{outline:2px solid var(--blue);outline-offset:-3px;border-radius:12px}
.faq-q svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.faq-item.open .faq-q svg{transform:rotate(180deg)}
.faq-a{display:none}
.faq-item.open .faq-a{display:block}
.faq-a p{margin:0;padding:0 18px 16px;color:var(--muted);font-size:14px;line-height:1.6}
.wcta{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--sh-rest)}
.wcta-copy h2{font-size:24px;font-weight:800;color:var(--granat);margin:0}
.wcta-copy p{color:var(--muted);margin:8px 0 16px}
.wcta-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.wcta-list li{display:flex;gap:9px;color:var(--ink);font-size:14.5px;align-items:center}
.wcta-list svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--blue);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.wcta .p-book{margin:0}
@media(max-width:820px){.plans{grid-template-columns:1fr}.wcta{grid-template-columns:1fr;padding:22px}}
@media(max-width:700px){.wsband-in{grid-template-columns:repeat(2,1fr);gap:18px}}

.profile{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:start;padding:24px 0 50px}
.p-main{min-width:0}
.p-photo{height:300px;border-radius:16px;overflow:hidden;background:#E9EDF3;margin-bottom:16px;box-shadow:var(--sh-card)}
.p-photo img{width:100%;height:100%;object-fit:cover}
.p-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:14px;box-shadow:var(--sh-card)}
.p-box h2{font-size:16.5px;font-weight:700;margin-bottom:12px;letter-spacing:-.01em}
.p-about{color:var(--muted);font-size:14px;line-height:1.65}
.p-side{position:static}
.p-book{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 6px 24px rgba(17,34,61,.08)}
.p-book h2{font-size:17px;font-weight:700;margin-bottom:4px}
.p-book .p-sub{font-size:12.5px;color:var(--muted);margin-bottom:12px}
.p-call{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1.5px solid var(--line2);border-radius:11px;padding:11px;font-weight:600;font-size:13.5px;margin-top:12px;transition:all .14s}
.p-call:hover{border-color:var(--blue);color:var(--blue-dark)}
.p-meta{display:flex;flex-direction:column;gap:9px;font-size:13.5px;color:var(--ink)}
.p-meta span b{font-weight:600}
.show-phone{background:none;border:0;color:var(--blue-dark);font-weight:600;font-size:13px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}
.ic{width:15px;height:15px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-2px}
.offers{margin-top:4px}
.offer{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.offer:last-child{border-bottom:0}
.offer-name{flex:1;font-size:13.5px;font-weight:500}
.offer-name small{display:block;color:var(--faint);font-weight:400;font-size:11.5px}
.offer-price{font-weight:700;font-size:14px;white-space:nowrap}
.offer .btn-book{background:#fff;border:1.5px solid var(--blue);color:var(--blue-dark);border-radius:999px;padding:6px 15px;font-size:12.5px;font-weight:600;transition:all .14s}
.offer .btn-book:hover{background:var(--blue);color:#fff}
.offer-select{width:100%;border:1.5px solid var(--line2);border-radius:11px;padding:11px 34px 11px 13px;font-family:inherit;font-size:14px;outline:none;transition:border-color .14s;appearance:none;-webkit-appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2398A2B3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/15px}
.offer-select:focus{border-color:var(--blue)}

/* opinie (profil) */
.d-review{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px}
.d-review .r-head{display:flex;align-items:center;gap:10px}
.d-review p{font-size:13.5px;color:var(--muted);line-height:1.6}
.d-badges{display:flex;gap:7px;flex-wrap:wrap}
.d-badge{background:var(--pill);color:var(--muted);border-radius:8px;padding:5px 12px;font-size:12px;font-weight:600}
.d-badge.open{background:#E3F5EC;color:var(--ok)}
.d-badge.closed{background:#FCEBEB;color:#B33B3B}

/* rezerwacja */
.b-label{font-size:12px;font-weight:600;margin:13px 0 7px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{border:1.5px solid var(--line2);border-radius:10px;padding:8px 13px;font-size:13px;font-weight:500;background:#fff;transition:all .12s}
.chip:hover{border-color:var(--faint)}
.chip.on{background:var(--granat);border-color:var(--granat);color:#fff;font-weight:600}
.b-input{width:100%;border:1.5px solid var(--line2);border-radius:11px;padding:12px 14px;font-family:inherit;font-size:14px;outline:none;margin-bottom:9px;transition:border-color .14s}
.b-input:focus{border-color:var(--blue)}
.b-submit{width:100%;margin-top:8px}
.b-success{text-align:center;padding:22px 4px 8px}
.b-check{width:76px;height:76px;border-radius:50%;background:#12B76A;margin:0 auto 16px;display:grid;place-items:center;box-shadow:0 8px 24px rgba(18,183,106,.35)}
.b-check svg{width:36px;height:36px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.b-success h3{font-size:18px;font-weight:700}
.b-success p{color:var(--muted);font-size:13.5px;margin:8px 0 18px;line-height:1.6}

/* ---------- nagłówek podstrony ---------- */
.page-head{background:#fff;border-bottom:1px solid var(--line);padding:26px 0}
.crumbs{font-size:12.5px;color:var(--faint);margin-bottom:8px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--blue-dark)}
.page-head h1{font-size:26px;font-weight:800;letter-spacing:-.02em}
.page-head .lead{color:var(--muted);font-size:14.5px;margin-top:6px;max-width:72ch}
.page-head .searchbar{box-shadow:none;border:1px solid var(--line);padding:8px;margin-top:6px}

/* pasek narzędzi / zakładki */
.tabs{display:flex;gap:8px;overflow-x:auto;padding:20px 0 4px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;border:1.5px solid var(--line2);background:#fff;border-radius:999px;padding:8px 17px;font-size:13.5px;font-weight:500;color:var(--muted);transition:all .14s}
.tab:hover{border-color:var(--faint);color:var(--ink)}
.tab.active{background:var(--granat);border-color:var(--granat);color:#fff;font-weight:600}
.toolrow{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0}
.toolrow h2{font-size:20px;font-weight:800;letter-spacing:-.01em}
.toolrow h2 span{color:var(--faint);font-weight:500}
.sort{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted)}
.sort select{font-family:inherit;font-size:13.5px;font-weight:500;color:var(--ink);border:1.5px solid var(--line2);border-radius:10px;padding:8px 30px 8px 12px;outline:none;appearance:none;-webkit-appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2398A2B3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/14px}
.sort select:focus{border-color:var(--blue)}
.empty{text-align:center;color:var(--muted);padding:40px 0 64px}

/* SEO-linki */
.seo-block{padding:30px 0 42px}
.seo-block h2{font-size:14px;font-weight:700;color:var(--muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}
.seo-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.seo-links a{font-size:13px;color:var(--muted);transition:color .12s}
.seo-links a:hover{color:var(--blue-dark);text-decoration:underline;text-underline-offset:3px}

/* FAQ */
.faq{padding:50px 0}
.faq-list{max-width:780px;display:flex;flex-direction:column;gap:10px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:13px;padding:0 20px;box-shadow:var(--sh-rest);transition:border-color .14s}
.faq-item[open]{border-color:#C7D6FA}
.faq-item summary{cursor:pointer;list-style:none;padding:16px 32px 16px 0;font-size:14.5px;font-weight:600;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:21px;font-weight:400;color:var(--blue-dark);transition:transform .18s}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item p{color:var(--muted);font-size:13.5px;padding:0 0 17px;line-height:1.65}

/* jak to działa */
.how{padding:50px 0;background:#fff;border-top:1px solid var(--line)}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.how-step{border:1px solid var(--line);border-radius:14px;padding:24px;background:#fff;box-shadow:var(--sh-rest)}
.how-num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--blue-soft);color:var(--blue-dark);font-size:16px;font-weight:800;margin-bottom:12px}
.how-step h3{font-size:15.5px;font-weight:700;margin-bottom:5px}
.how-step p{color:var(--muted);font-size:13.5px;line-height:1.6}

/* ---------- responsywność ---------- */
@media(max-width:900px){
  .cats-grid{grid-template-columns:repeat(2,1fr)}
  .profile{grid-template-columns:1fr}
  .p-side{position:static}
  .appsec-in{grid-template-columns:1fr;gap:36px}
  .app-phone{display:none}
  .how-grid{grid-template-columns:1fr}
}
@media(max-width:860px){
  .topnav{display:none}
  .searchbar{flex-direction:column}
  .search-field{height:50px}
  .ac-list{left:0;right:0}
  .hero{padding:40px 0 36px}
  .section,.how,.faq,.appsec{padding:36px 0}
}


/* ---------- menu mobilne ---------- */
.nav-toggle{display:none;width:42px;height:42px;border-radius:11px;place-items:center;color:var(--ink);margin-left:auto;transition:background .13s}
.nav-toggle:hover{background:var(--pill)}
.nav-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
@media(max-width:860px){.topnav{display:none!important}.nav-toggle{display:grid}}
.mobile-nav{position:absolute;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 36px rgba(17,34,61,.14);padding:8px 20px 16px;z-index:49}
.mobile-nav[hidden]{display:none}
.mobile-nav a{display:block;padding:13px 6px;font-size:15px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line)}
.mobile-nav a.on{color:var(--blue-dark);font-weight:600}
.mobile-nav .btn{margin-top:14px;width:100%;border-bottom:0}

/* ---------- korekty mobile/tablet ---------- */
@media(max-width:860px){
  .topbar-in > .btn{display:none}
}
@media(max-width:640px){
  .searchbar{flex-direction:column}
  .search-field{height:50px}
  .reviews-grid{grid-template-columns:1fr}
  .btn-app{width:100%}
  .band-card{padding:26px 22px}
  .band-card .btn{width:100%}
  .footer-cols{grid-template-columns:1fr;gap:20px}
  .hero-brand{font-size:clamp(38px,11.5vw,54px)}
}

/* ---------- mapa: pinezki z oceną + popup ---------- */
.map-pin{display:flex;align-items:center;justify-content:center;height:26px;padding:0 8px;background:var(--granat);color:#fff;font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;border-radius:999px;border:2px solid #fff;box-shadow:0 3px 10px rgba(17,34,61,.35);white-space:nowrap}
.leaflet-marker-icon:hover .map-pin{background:var(--blue)}
.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 12px 32px rgba(17,34,61,.2)}
.leaflet-popup-content{margin:14px 16px;font-family:'Poppins',sans-serif}
.map-pop{display:flex;flex-direction:column;gap:3px;min-width:180px}
.map-pop b{font-size:14px;color:var(--ink)}
.map-pop span{font-size:12px;color:var(--muted)}
.map-pop a{margin-top:8px;font-size:12.5px;font-weight:600;color:var(--blue-dark)!important}
.map-pop a:hover{text-decoration:underline}
#map{height:min(520px,68vh);border-radius:12px}

/* ---------- mapa PRO: pasek narzędzi ---------- */
.map-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.mt-field{display:flex;align-items:center;gap:9px;flex:1 1 240px;min-width:200px;background:var(--pill);border:1.5px solid transparent;border-radius:11px;padding:0 6px 0 12px;height:44px;transition:all .14s}
.mt-field:focus-within{border-color:var(--blue);background:#fff}
.mt-field > svg{width:16px;height:16px;fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mt-field input{flex:1;min-width:0;border:0;background:none;outline:none;font-family:inherit;font-size:14px;color:var(--ink)}
.mt-field input::placeholder{color:var(--faint)}
.mt-go{width:34px;height:34px;border-radius:9px;background:var(--blue);display:grid;place-items:center;flex:none;transition:background .14s}
.mt-go:hover{background:var(--blue-dark)}
.mt-go svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round}
.mt-radius{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);font-weight:500}
.mt-radius select{font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);border:1.5px solid var(--line2);border-radius:10px;padding:9px 30px 9px 12px;outline:none;appearance:none;-webkit-appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2398A2B3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/14px}
.mt-radius select:focus{border-color:var(--blue)}
.map-center{width:16px;height:16px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 6px rgba(37,99,235,.18),0 2px 8px rgba(17,34,61,.3)}
.map-pin--out{background:#A6B0BF;opacity:.7}
.map-count{margin-top:10px;font-size:13px;color:var(--muted);font-weight:500}
.map-count.err{color:var(--danger)}
@media(max-width:640px){
  .map-tools{gap:8px}
  .mt-radius{width:100%;justify-content:space-between}
  #map{height:min(420px,58vh)}
}

/* ===== konto: link w headerze ===== */
.acct-link{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--ink);padding:8px 13px;border-radius:999px;transition:background .14s,color .14s;white-space:nowrap}
.acct-link:hover{background:var(--blue-softer);color:var(--blue-dark)}
.acct-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1080px){.acct-link span{display:none}.acct-link{padding:9px}}
@media(max-width:860px){.acct-link{display:none}}

/* ===== konto: strona logowania ===== */
.auth-wrap{display:grid;place-items:center;padding:48px 0 72px}
.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:0 10px 34px rgba(17,34,61,.07)}
.auth-title{font-size:22px;font-weight:800;letter-spacing:-.02em}
.auth-sub{color:var(--muted);font-size:13.5px;margin:6px 0 18px;line-height:1.55}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px;margin-bottom:16px}
.auth-tabs button{border:0;background:transparent;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--muted);padding:9px 6px;border-radius:999px;cursor:pointer;transition:background .14s,color .14s}
.auth-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(17,34,61,.1)}
.auth-tabs--sm{margin:14px 0 12px}
.auth-tabs--sm button{padding:7px 6px;font-size:13px}
.auth-err{background:#FEF2F2;border:1px solid #FECACA;color:#B91C1C;font-size:13px;border-radius:10px;padding:9px 12px;margin:2px 0 10px;line-height:1.45}

/* ===== rezerwacja: kroki ===== */
.bk-steps{display:flex;gap:6px;margin-bottom:14px}
.bk-steps span{flex:1;display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:700;color:var(--faint);padding:6px 4px 0 0;border-top:2.5px solid var(--line)}
.bk-steps span i{font-style:normal;font-weight:600}
.bk-steps span.on{border-top-color:var(--blue);color:var(--blue-dark)}
.bk-sum{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:4px 14px;margin-bottom:12px}
.bk-sum>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.bk-sum>div:last-child{border-bottom:0}
.bk-sum span{font-size:12px;color:var(--muted);font-weight:500;flex-shrink:0}
.bk-sum b{font-size:13px;font-weight:600;text-align:right}
.bk-as{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted);background:var(--blue-softer);border-radius:11px;padding:11px 13px;margin-bottom:12px;line-height:1.4}
.bk-as b{color:var(--ink)}
.bk-as svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bk-back{display:block;width:100%;text-align:center;border:0;background:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);padding:10px 0 2px;cursor:pointer;transition:color .14s}
.bk-back:hover{color:var(--blue-dark)}

/* ===== mini-mapa na profilu ===== */
#mini-map{height:168px;border-radius:12px;margin-top:12px;border:1px solid var(--line);cursor:pointer;position:relative;z-index:0}

/* ===== moje wizyty ===== */
.wiz-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.wiz-list{padding:22px 0 64px;display:grid;gap:10px;max-width:760px}
.wiz-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;flex-wrap:wrap}
.wiz-offer{font-weight:700;font-size:14.5px}
.wiz-meta{font-size:13px;color:var(--muted);margin-top:3px}
.wiz-meta a{color:var(--blue-dark);font-weight:600}
.wiz-meta a:hover{text-decoration:underline}
.wiz-right{display:flex;align-items:center;gap:12px}
.wiz-price{font-weight:700;font-size:14px}
.wiz-status{font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:999px;white-space:nowrap}
.st-new{background:#FFFAEB;color:#B54708;border:1px solid #FEDF89}
.st-ok{background:#ECFDF3;color:#067647;border:1px solid #ABEFC6}
.st-done{background:var(--blue-softer);color:var(--blue-dark);border:1px solid #BFDBFE}
.st-off{background:#F4F5F7;color:var(--muted);border:1px solid var(--line2)}
@media(max-width:640px){
  .wiz-row{flex-direction:column;align-items:flex-start;gap:10px}
  .wiz-head{flex-direction:column}
}

/* ===== lepsze formularze: etykiety, oko hasła, błędy pod polami, przycisk Google ===== */
.field{margin-bottom:12px}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:5px}
.field .j-input,.field .b-input{margin-bottom:0}
.b-input.err{border-color:var(--danger)}
.f-err{color:#B91C1C;font-size:12px;margin-top:5px;line-height:1.4}
.pass-wrap{position:relative}
.pass-wrap input{padding-right:44px;width:100%}
.pass-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;padding:7px;color:var(--faint);display:grid;place-items:center;border-radius:8px;transition:color .14s}
.pass-eye:hover{color:var(--ink)}
.pass-eye.on{color:var(--blue)}
.pass-eye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.or-div{display:flex;align-items:center;gap:12px;margin:16px 0 14px;color:var(--faint);font-size:12px;font-weight:600;text-transform:lowercase}
.or-div::before,.or-div::after{content:'';flex:1;height:1px;background:var(--line)}
.g-slot{display:flex;justify-content:center;min-height:44px}
.auth-swap{text-align:center;font-size:13px;color:var(--muted);margin-top:14px}
.auth-swap button{border:0;background:none;font-family:inherit;font-size:13px;font-weight:700;color:var(--blue-dark);cursor:pointer;padding:0}
.auth-swap button:hover{text-decoration:underline}

/* ===== poprawki v20: [hidden] zawsze ukrywa, ładniejsze przyciski, header ===== */
[hidden]{display:none!important}

/* przyciski: głębszy gradient, połysk, wyraźny hover */
.btn-blue,.btn-teal{
  background:linear-gradient(180deg,#5B93FF 0%,#2E6BEE 52%,#1D4FD0 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 -2px 0 rgba(13,42,110,.28) inset,0 10px 22px -10px rgba(37,99,235,.7);
}
.btn-blue:hover,.btn-teal:hover{
  background:linear-gradient(180deg,#6B9EFF 0%,#3B76F2 52%,#2358DB 100%);
  transform:translateY(-1.5px);
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 -2px 0 rgba(13,42,110,.28) inset,0 14px 28px -10px rgba(37,99,235,.75);
}
.btn-blue:active,.btn-teal:active{transform:translateY(0) scale(.985);box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 -1px 0 rgba(13,42,110,.3) inset,0 4px 10px -6px rgba(37,99,235,.6)}

/* zakładki (Mam konto / Nowe konto): aktywna = granatowa pigułka */
.auth-tabs{background:var(--pill);border:1px solid var(--line);box-shadow:0 1px 3px rgba(17,34,61,.05) inset}
.auth-tabs button{color:var(--muted);position:relative;transition:background .18s,color .18s,box-shadow .18s}
.auth-tabs button:hover{color:var(--ink)}
.auth-tabs button.on{
  background:linear-gradient(180deg,#22375B 0%,#12223D 100%);
  color:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 5px 14px -5px rgba(18,34,61,.55);
}

/* header: nav z animowanym podkreśleniem (jak "Popularne"), konto jako pigułka z obwódką */
.topbar-in{gap:22px}
.topnav{gap:2px}
.topnav a{background:none;border-radius:0;padding:9px 12px}
.topnav a::after{content:'';position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--blue-light));transform:scaleX(0);transform-origin:left;transition:transform .26s cubic-bezier(.4,0,.2,1)}
.topnav a:hover{background:none;color:var(--ink)}
.topnav a:hover::after{transform:scaleX(1)}
.topnav a.on{background:none;color:var(--blue-dark)}
.topnav a.on::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.topnav a::after{transition:none}}

.acct-link{border:1.5px solid var(--line2);background:#fff;padding:7px 14px 7px 11px;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}
.acct-link:hover{border-color:var(--blue);background:var(--blue-softer);color:var(--blue-dark);box-shadow:0 3px 10px -4px rgba(37,99,235,.35)}
.acct-ava{width:23px;height:23px;border-radius:50%;background:linear-gradient(135deg,#4C86FF,#1D4FD0);color:#fff;font-size:11.5px;font-weight:700;display:grid;place-items:center;flex:none;letter-spacing:0}
@media(max-width:1080px){.acct-link{padding:7px 9px}}

/* ===== v21: prosto i czysto — zwykły niebieski, bez gradientów ===== */
.btn-blue,.btn-teal{background:var(--blue);box-shadow:0 4px 12px -4px rgba(37,99,235,.4)}
.btn-blue:hover,.btn-teal:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:0 6px 16px -5px rgba(37,99,235,.5)}
.btn-blue:active,.btn-teal:active{transform:translateY(0);box-shadow:0 2px 8px -4px rgba(37,99,235,.4)}
.btn-dark{background:var(--granat);box-shadow:none}
.btn-dark:hover{background:var(--granat3);transform:translateY(-1px)}
.auth-tabs button.on{background:var(--blue);color:#fff;box-shadow:0 3px 10px -4px rgba(37,99,235,.45)}
.acct-ava{background:var(--blue)}

/* ===== v22: ikonki SVG w polach + zielony ptaszek przy poprawnym polu ===== */
.inp-wrap{position:relative}
.inp-wrap .j-input,.inp-wrap .b-input{padding-left:42px;width:100%}
.inp-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:stroke .15s}
.inp-wrap:focus-within .inp-ic{stroke:var(--blue)}
.inp-wrap input.err ~ .inp-ic{stroke:var(--danger)}
.inp-ok{position:absolute;right:13px;top:50%;transform:translateY(-50%) scale(.6);width:16px;height:16px;fill:none;stroke:#12B76A;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;opacity:0;transition:opacity .18s,transform .18s}
.inp-wrap input.ok~.inp-ok{opacity:1;transform:translateY(-50%) scale(1)}
.inp-wrap input.ok{border-color:#7ED4AC}
.inp-wrap.pass-wrap input.ok{border-color:#7ED4AC}
.inp-wrap input.ok:focus{border-color:#12B76A}

/* ===== v23: panel logowania — split (granatowy brand + formularz) ===== */
.auth-page{padding:44px 0 76px}
.auth-split{display:grid;grid-template-columns:0.88fr 1.12fr;max-width:940px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 18px 52px rgba(17,34,61,.1)}
.auth-brand{background:linear-gradient(168deg,#16294A 0%,#12223D 58%,#0E1B31 100%);color:#fff;padding:40px 36px 30px;display:flex;flex-direction:column}
.ab-logo{height:28px;width:auto;align-self:flex-start;margin-bottom:38px}
.auth-brand h2{font-size:25px;font-weight:700;line-height:1.22;letter-spacing:-.02em}
.auth-brand>p{color:#AEB8CC;font-size:13.5px;margin:12px 0 30px;line-height:1.65;max-width:34ch}
.ab-points{list-style:none;display:grid;gap:15px;padding:0;margin:0}
.ab-points li{display:flex;gap:12px;align-items:center;font-size:13.5px;color:#E7ECF5;line-height:1.45;font-weight:500}
.ab-points svg{width:22px;height:22px;flex:none;background:rgba(76,134,255,.16);border-radius:50%;padding:5px;fill:none;stroke:#7FA8FF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ab-foot{margin-top:auto;padding-top:34px;font-size:11.5px;color:#6E7C99}
.auth-form{padding:38px 40px 36px}
.auth-form h1{font-size:24px;font-weight:800;letter-spacing:-.02em}
.af-sub{color:var(--muted);font-size:13.5px;margin:6px 0 20px}
.auth-tabs2{display:flex;gap:26px;border-bottom:1.5px solid var(--line);margin-bottom:20px}
.auth-tabs2 button{position:relative;padding:0 2px 12px;font-size:14px;font-weight:600;color:var(--muted);transition:color .15s}
.auth-tabs2 button:hover{color:var(--ink)}
.auth-tabs2 button::after{content:'';position:absolute;left:0;right:0;bottom:-1.5px;height:2.5px;border-radius:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.4,0,.2,1)}
.auth-tabs2 button.on{color:var(--blue-dark)}
.auth-tabs2 button.on::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.auth-tabs2 button::after{transition:none}}
.auth-form .j-input{padding-top:13px;padding-bottom:13px}
.af-submit{width:100%;padding:13px 24px;margin-top:4px}
.af-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.auth-form .g-slot{margin-bottom:2px}
.auth-form .or-div{margin:12px 0 16px}
@media(max-width:860px){
  .auth-page{padding:22px 0 56px}
  .auth-split{grid-template-columns:1fr;max-width:520px}
  .auth-brand{padding:24px 26px 22px}
  .ab-logo{height:24px;margin-bottom:16px}
  .auth-brand h2{font-size:18px}
  .auth-brand h2 br{display:none}
  .auth-brand>p{margin:8px 0 0}
  .ab-points,.ab-foot{display:none}
  .auth-form{padding:26px 24px 30px}
  .af-grid2{grid-template-columns:1fr}
}

/* ===== v24: przycisk Google + modal logowania ===== */
.g-slot{display:flex;flex-direction:column;align-items:center;min-height:44px}
.gbtn{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;padding:12px 18px;border:1.5px solid var(--line2);border-radius:999px;background:#fff;font-family:inherit;font-size:14.5px;font-weight:600;color:#3c4043;transition:background .14s,border-color .14s,box-shadow .14s}
.gbtn:hover{background:#F8FAFC;border-color:#C9D2E0;box-shadow:0 2px 8px -3px rgba(17,34,61,.2)}
.gbtn:active{background:#F1F4F9}
.gbtn-ic{width:19px;height:19px;flex:none}
.gbtn-note{font-size:12px;color:var(--muted);text-align:center;margin-top:9px;line-height:1.45}

.ma-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(14,27,49,.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .2s}
.ma-modal.show{opacity:1}
.mm-card{position:relative;width:100%;max-width:432px;max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:20px;padding:30px 30px 28px;box-shadow:0 24px 70px rgba(14,27,49,.42);transform:translateY(14px) scale(.97);transition:transform .24s cubic-bezier(.2,.8,.3,1)}
.ma-modal.show .mm-card{transform:none}
.mm-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--muted);background:var(--pill);transition:background .14s,color .14s}
.mm-x:hover{background:#E4E9F1;color:var(--ink)}
.mm-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mm-head{text-align:center;margin-bottom:18px;padding:0 6px}
.mm-ic{width:54px;height:54px;margin:2px auto 13px;border-radius:16px;background:var(--blue-softer);display:grid;place-items:center}
.mm-ic svg{width:26px;height:26px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mm-head h2{font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.25}
.mm-head p{color:var(--muted);font-size:13px;margin-top:8px;line-height:1.55}
.mm-head p b{color:var(--ink)}
.mm-tabs{margin-bottom:18px}
.ma-modal .af-submit{width:100%;padding:13px 24px;margin-top:2px}
@media (prefers-reduced-motion:reduce){.ma-modal,.mm-card{transition:none}}
@media(max-width:480px){.mm-card{padding:28px 20px 24px}.mm-head h2{font-size:18px}}

/* ===== v25: kategorie — kolorowe kafelki jak na prawdziwych portalach ===== */
.cat-ic{background:var(--ci-bg,var(--blue-soft))}
.cat-ic svg{stroke:var(--ci-fg,var(--blue));width:23px;height:23px;stroke-width:1.9}
.cat-tile:hover .cat-ic{background:var(--ci-fg,var(--blue))}
.cat-tile:hover .cat-ic svg{stroke:#fff}
.cat-tile:hover{border-color:color-mix(in srgb,var(--ci-fg,var(--blue)) 40%,#fff)}
.cat-mechanika  {--ci-bg:#E8F0FE;--ci-fg:#2563EB}
.cat-opony      {--ci-bg:#EDF1F7;--ci-fg:#3F4A5C}
.cat-elektryka  {--ci-bg:#FEF3E0;--ci-fg:#E08600}
.cat-blacharstwo{--ci-bg:#F1EBFE;--ci-fg:#7C3AED}
.cat-diagnostyka{--ci-bg:#E1F5F2;--ci-fg:#0E9384}
.cat-klima      {--ci-bg:#E3F4FD;--ci-fg:#0BA5E9}
.cat-pomoc      {--ci-bg:#FDEBEB;--ci-fg:#E0362C}
.cat-wynajem    {--ci-bg:#EBEBFD;--ci-fg:#4F46E5}

/* ===== v26: ulubione (serce) + ostatnio oglądane ===== */
.row-photo-link{display:block;width:100%;height:100%}
.fav-btn{position:absolute;top:8px;right:8px;z-index:3;width:33px;height:33px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;color:#5A6577;box-shadow:0 2px 8px rgba(17,34,61,.2);transition:transform .15s,color .15s,background .15s}
.fav-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.fav-btn:hover{transform:scale(1.12);color:#E0362C;background:#fff}
.fav-btn.on{color:#E0362C}
.fav-btn.on svg{fill:#E0362C;stroke:#E0362C}
.fav-btn.pop{animation:favpop .34s ease}
@keyframes favpop{0%{transform:scale(1)}40%{transform:scale(1.4)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.fav-btn.pop{animation:none}}

/* pigułka "Zapisz serwis" na profilu */
.fav-chip{display:inline-flex;align-items:center;gap:7px;vertical-align:middle;margin-left:10px;padding:6px 13px;border:1.5px solid var(--line2);border-radius:999px;background:#fff;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--muted);transition:all .14s}
.fav-chip svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.fav-chip:hover{border-color:#F3B4B0;color:#E0362C}
.fav-chip.on{border-color:#F6C6C2;background:#FDECEB;color:#E0362C}
.fav-chip.on svg{fill:#E0362C;stroke:#E0362C}
.fav-chip.pop{animation:favpop .34s ease}

/* serce + licznik w nagłówku */
.icon-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;color:var(--muted);transition:background .14s,color .14s}
.icon-link:hover{background:var(--pill);color:#E0362C}
.icon-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.icon-badge{position:absolute;top:2px;right:1px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#E0362C;color:#fff;font-size:10.5px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px #fff}
.m-badge{display:inline-block;min-width:18px;padding:0 6px;border-radius:999px;background:#E0362C;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;margin-left:4px}
@media(max-width:860px){.icon-link{display:none}}

/* ostatnio oglądane — poziomy pasek kart */
.seen-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(215px,1fr);gap:14px;overflow-x:auto;padding:2px 2px 6px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.seen-strip::-webkit-scrollbar{display:none}
.seen-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--sh-rest);transition:transform .16s,box-shadow .16s,border-color .16s;display:block}
.seen-card:hover{transform:translateY(-3px);box-shadow:var(--sh-hover);border-color:#CBD8F4}
.seen-photo{height:118px;background:#E9EDF3;overflow:hidden}
.seen-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.seen-card:hover .seen-photo img{transform:scale(1.05)}
.seen-info{padding:11px 13px 13px}
.seen-name{font-weight:600;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
/* pasek przewijania jako droga z autem — cały obszar chwytliwy */
.seen-scroll{position:relative;height:48px;margin-top:6px;user-select:none;touch-action:none;display:none;cursor:grab}
.seen-scroll:active{cursor:grabbing}
.seen-road{position:absolute;left:10px;right:10px;top:30px;height:10px;border-radius:999px;background:#E5EBF4;overflow:hidden;pointer-events:none}
.seen-road-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:999px;background:linear-gradient(90deg,#9FBEF7,#2563EB)}
.seen-road::after{content:"";position:absolute;top:50%;left:8px;right:8px;height:2px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0 12px,transparent 12px 26px)}
.seen-car{position:absolute;top:4px;left:10px;width:66px;height:30px;pointer-events:none;transition:transform .1s}
.seen-scroll:active .seen-car{transform:scale(1.04)}
.seen-car svg{width:100%;height:100%;display:block;filter:drop-shadow(0 4px 7px rgba(37,99,235,.3))}

/* ===== v27: porządek w nagłówku — grupa akcji, spójne ikony, separator ===== */
.logo-link{display:inline-flex;align-items:center}
.top-actions{display:flex;align-items:center;gap:8px}
.top-actions::before{content:'';flex:none;width:1px;height:24px;background:var(--line);margin-right:4px}
.acct-link{height:40px;box-sizing:border-box}
.top-actions .btn{margin-left:2px}
/* poniżej 1080px konto zwija się do kółka — takiego samego jak serce (spójność) */
@media(max-width:1080px){
  .acct-link{width:40px;padding:0;justify-content:center;border:0;background:transparent}
  .acct-link:hover{background:var(--pill)}
}
/* na mobile całą grupę zastępuje hamburger */
@media(max-width:860px){.top-actions{display:none}}

/* ===== v28: awatar zalogowanego widoczny na wąskich ekranach + równy CTA ===== */
@media(max-width:1080px){ .acct-link .acct-ava{display:grid} }
.top-actions .btn{height:40px}

/* ===== v29: opinie bez awatarów — etykieta „Zweryfikowana" zamiast kółka ===== */
.r-verified{display:inline-flex;align-items:center;gap:5px;color:var(--ok);font-size:12px;font-weight:600;white-space:nowrap;margin-left:auto}
.r-verified svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.review-card .r-who-wrap{flex:0 1 auto}

/* ===== v30: opinie w stylu Fixly — miękkie awatary + układ ===== */
.rv-head{display:flex;align-items:center;gap:11px}
.rv-ava{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:16px;font-weight:700;flex:none;letter-spacing:0}
.rv-id{min-width:0}
.rv-name{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-loc{font-size:12.5px;color:var(--faint);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-stars{margin-top:12px;font-size:15px;letter-spacing:1px}
.rv-stars .stars-i{color:var(--star)}
.rv-stars .stars-o{color:var(--line2)}
.rv-text{margin-top:9px;font-size:13.5px;color:#3a424f;line-height:1.6}
.rv-text.rv-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rv-more{margin-top:6px;background:none;border:0;padding:0;font-family:inherit;font-size:13px;font-weight:600;color:var(--blue-dark);cursor:pointer}
.rv-more:hover{text-decoration:underline}
.rv-foot{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--faint)}
.rv-verified{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-weight:600}
.rv-vcheck{width:16px;height:16px;border-radius:50%;background:var(--ok);display:grid;place-items:center;flex:none}
.rv-vcheck svg{width:10px;height:10px;fill:none;stroke:#fff;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.rv-svc{margin-left:auto;color:var(--blue-dark);font-weight:600}
.rv-svc:hover{text-decoration:underline}
/* profil: opinie jako lista z odstępami (bez ramek-kafelków) */
.d-review{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0;margin:0}
.d-review:last-child{border-bottom:0}

/* ===== v31: plakietka „Zweryfikowana przez [logo]" ===== */
.rv-verified{color:var(--muted);font-weight:500}
.rv-logo{height:13px;width:auto;display:inline-block;vertical-align:middle;position:relative;top:-1px}

/* ===== v32: podpowiedź pod polem (logowanie telefonem) ===== */
.j-hint{font-size:11.5px;color:var(--faint);margin-top:6px;line-height:1.45}

/* ===== v34: dane kontaktowe serwisu za logowaniem ===== */
.contact-lock{text-align:center;padding:6px 4px 2px}
.cl-ic{width:52px;height:52px;margin:2px auto 12px;border-radius:15px;background:var(--blue-softer);display:grid;place-items:center}
.cl-ic svg{width:24px;height:24px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-lock h3{font-size:15px;font-weight:700;letter-spacing:-.01em}
.contact-lock p{font-size:13px;color:var(--muted);margin:6px 0 16px;line-height:1.55}

/* ===== v35: loader z logo między stronami ===== */
.route-loader{position:fixed;inset:0;z-index:9999;background:#fff;display:grid;place-items:center;transition:opacity .35s ease,visibility .35s ease}
.route-loader.hide{opacity:0;visibility:hidden;pointer-events:none}
.rl-inner{display:flex;flex-direction:column;align-items:center;gap:18px}
.rl-logo{width:min(230px,58vw);height:auto;animation:rl-wipe 1.9s cubic-bezier(.65,0,.35,1) infinite}
.rl-spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--blue-soft);border-top-color:var(--blue);animation:rl-rot .7s linear infinite}
@keyframes rl-pulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes rl-rot{to{transform:rotate(360deg)}}
@keyframes rl-wipe{0%{clip-path:inset(0 100% 0 0)}45%{clip-path:inset(0 0 0 0)}58%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)}}
@media (prefers-reduced-motion:reduce){.rl-logo,.rl-spin{animation:none;clip-path:none}}

/* ===== v36: luźny ekran logowania (bez kontenera) ===== */
.auth-lite{max-width:400px;margin:0 auto;padding:54px 20px 84px}
.al-logo{display:block;text-align:center;margin-bottom:24px}
.al-logo img{height:30px;width:auto}
.auth-lite h1{font-size:26px;font-weight:800;letter-spacing:-.02em;text-align:center}
.auth-lite .af-sub{color:var(--muted);font-size:14px;text-align:center;margin:8px 0 22px}
.auth-lite .auth-tabs2{justify-content:center;gap:30px}
.auth-lite .af-submit{width:100%;padding:13px 24px;margin-top:2px}
@media(max-width:480px){.auth-lite{padding:34px 18px 64px}}

/* ===== v36: loader — animowane słowo „mojeautko" ===== */
.rl-word{display:flex;font-family:'Poppins',system-ui,sans-serif;font-weight:800;font-size:clamp(30px,7vw,40px);letter-spacing:-.03em;line-height:1;user-select:none}
.rl-word span{display:inline-block;animation:rl-wave 1s ease-in-out infinite}
.rl-word .rl-n{color:var(--granat)}
.rl-word .rl-b{color:var(--blue)}
.rl-word .rl-n + .rl-b{margin-left:.13em}
.rl-word span:nth-child(1){animation-delay:0s}
.rl-word span:nth-child(2){animation-delay:.07s}
.rl-word span:nth-child(3){animation-delay:.14s}
.rl-word span:nth-child(4){animation-delay:.21s}
.rl-word span:nth-child(5){animation-delay:.28s}
.rl-word span:nth-child(6){animation-delay:.35s}
.rl-word span:nth-child(7){animation-delay:.42s}
.rl-word span:nth-child(8){animation-delay:.49s}
.rl-word span:nth-child(9){animation-delay:.56s}
@keyframes rl-wave{0%,55%,100%{transform:translateY(0)}28%{transform:translateY(-13px)}}
@media (prefers-reduced-motion:reduce){.rl-word span{animation:none}}

/* ===== v37: ładniejsze inputy (białe, wyższe, z pierścieniem focus) ===== */
.j-input,.b-input{
  background:#fff;
  border:1.5px solid var(--line2);
  border-radius:12px;
  padding:14px 15px;
  font-size:14.5px;
  color:var(--ink);
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.j-input::placeholder,.b-input::placeholder{color:#9AA4B2}
.j-input:hover:not(:focus),.b-input:hover:not(:focus){border-color:#B9C4D6}
.j-input:focus,.b-input:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(37,99,235,.14);
}
.inp-wrap .j-input,.inp-wrap .b-input{padding-left:44px}
.pass-wrap input{padding-right:46px}
.j-input.err,.b-input.err{border-color:var(--danger)}
.j-input.err:focus,.b-input.err:focus{box-shadow:0 0 0 4px rgba(220,38,38,.13)}
.j-input.ok,.b-input.ok{border-color:#7ED4AC}
.j-input.ok:focus,.b-input.ok:focus{box-shadow:0 0 0 4px rgba(18,183,106,.13)}
.inp-ic{left:15px}
.inp-wrap:focus-within .inp-ic{stroke:var(--blue)}

/* ===== v38: subtelny cień inputów w spoczynku (więcej „substancji") ===== */
.j-input,.b-input{box-shadow:0 1px 2px rgba(17,34,61,.05)}
.j-input:focus,.b-input:focus{box-shadow:0 0 0 4px rgba(37,99,235,.14)}
.j-input.err:focus,.b-input.err:focus{box-shadow:0 0 0 4px rgba(220,38,38,.13)}
.j-input.ok:focus,.b-input.ok:focus{box-shadow:0 0 0 4px rgba(18,183,106,.13)}

/* ===== v39: ładniejsze „ostatnio oglądane" ===== */
.seen-photo{position:relative;height:124px}
.seen-rate{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.96);color:var(--ink);font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;box-shadow:0 2px 7px rgba(17,34,61,.18)}
.seen-rate em{color:var(--star);font-style:normal}
.seen-info{padding:11px 13px 13px}
.seen-cat{font-size:12.5px;color:var(--muted);margin-top:3px}
.seen-go{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--blue-dark)}
.seen-go svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s}
.seen-card:hover .seen-go svg{transform:translateX(3px)}

/* ===== v39: panel „dane kontaktowe" — przyciemniony, z rozmytym podglądem ===== */
.p-book--locked{background:linear-gradient(180deg,#F4F6FA 0%,#EDF0F6 100%)}
.contact-lock{position:relative;border-radius:11px;overflow:hidden;min-height:248px}
.cl-skeleton{position:absolute;inset:0;padding:4px 2px;display:flex;flex-direction:column;gap:15px;filter:blur(2.5px)}
.cl-row{display:flex;align-items:center;gap:10px}
.cl-row i{width:15px;height:15px;border-radius:50%;background:#D3DBE8;flex:none}
.cl-row b{height:10px;border-radius:5px;background:#D3DBE8}
.cl-map{margin-top:4px;flex:1;min-height:82px;border-radius:10px;background:#DBE2ED}
.cl-panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 14px;background:rgba(242,244,249,.6)}
.cl-panel .cl-ic{width:50px;height:50px;margin:0 auto 11px;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(17,34,61,.12)}
.cl-panel .cl-ic svg{width:23px;height:23px}
.cl-h{font-weight:700;font-size:14.5px;color:var(--ink)}
.contact-lock p{font-size:12.5px;color:var(--muted);margin:6px 0 15px;line-height:1.5;max-width:32ch}
.cl-panel .btn{width:100%;max-width:250px}

/* ===== v40: gwiazdki wektorowe (SVG) z dokładnym wypełnieniem ===== */
.rate-stars{position:relative;display:inline-flex;line-height:0;white-space:nowrap;flex:none}
.rate-stars svg{width:14px;height:14px;display:block}
.rs-bg{display:inline-flex;gap:1.5px}
.rs-bg svg{fill:#DCE1EA}
.rs-fg{position:absolute;top:0;left:0;height:100%;overflow:hidden;display:inline-flex;gap:1.5px}
.rs-fg svg{fill:var(--star)}
.rv-stars{margin-top:12px}
.rv-stars .rate-stars svg{width:17px;height:17px}

/* ===== v41: mocno zaokrąglone inputy na logowaniu (pigułki) ===== */
.auth-lite .j-input,.mm-card .j-input,.ct2-card .j-input{border-radius:999px}
.ct2-card textarea.j-input{border-radius:18px}
.auth-lite .inp-wrap .j-input{padding-left:46px}
.auth-lite .inp-ic,.mm-card .inp-ic{left:17px}
.auth-lite .inp-wrap:not(.pass-wrap) .j-input{padding-right:18px}

/* ===== v44: filtry + mapa obok listy wyników ===== */
.filterbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 2px}
.fchip{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line2);background:#fff;border-radius:999px;padding:8px 15px;font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .14s}
.fchip:hover{border-color:var(--blue);color:var(--blue-dark)}
.fchip.on{border-color:var(--blue);background:var(--blue-softer);color:var(--blue-dark)}
.fchip .fdot{width:8px;height:8px;border-radius:50%;background:#12B76A;box-shadow:0 0 0 3px rgba(18,183,106,.18)}
.fgroup{display:inline-flex;align-items:center;gap:3px;border:1.5px solid var(--line2);background:#fff;border-radius:999px;padding:4px}
.fgroup>span{font-size:12px;color:var(--faint);font-weight:600;padding:0 5px 0 9px}
.fgroup button{border:0;background:none;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--muted);padding:6px 12px;border-radius:999px;cursor:pointer;transition:all .14s}
.fgroup button:hover{color:var(--ink)}
.fgroup button.on{background:var(--blue);color:#fff}
.fclear{border:0;background:none;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--blue-dark);cursor:pointer;padding:6px 8px}
.fclear:hover{text-decoration:underline}

.search-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:22px;align-items:start;margin-top:12px}
.search-main{min-width:0}
.search-map{position:sticky;top:78px}
#side-map{height:calc(100vh - 108px);min-height:520px;border-radius:16px;border:1px solid var(--line);overflow:hidden;box-shadow:var(--sh-card);z-index:0}
@media(max-width:960px){
  .search-layout{grid-template-columns:1fr}
  .search-map{display:none}
}
@media(min-width:961px){ #btn-mapa{display:none} }

/* ===== v45: ładniejsze piny mapy (biała plakietka + wskaźnik) + licznik ===== */
.map-pin{position:relative;display:inline-flex;align-items:center;gap:3px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;box-shadow:0 3px 12px rgba(17,34,61,.3);white-space:nowrap;border:1px solid rgba(17,34,61,.05);transition:transform .12s}
.map-pin .st{color:var(--star)}
.map-pin::after{content:'';position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);width:0;height:0;border:5px solid transparent;border-top-color:#fff}
.map-pin:hover{transform:translateY(-2px)}
.map-pin--out{opacity:.55;filter:grayscale(.35)}
.search-map .map-badge{position:absolute;top:12px;left:12px;z-index:5;background:#fff;color:var(--ink);font-size:12px;font-weight:600;padding:7px 13px;border-radius:999px;box-shadow:0 3px 12px rgba(17,34,61,.16);pointer-events:none}

/* ===== v46: profesjonalny panel narzędzi (kategorie + filtry razem) ===== */
.search-tools{background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 16px 14px;box-shadow:var(--sh-card);margin-top:8px}
.search-tools .tabs{flex-wrap:wrap;overflow:visible;padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:13px}
.search-tools .filterbar{margin:0}
.search-layout{margin-top:16px}
/* zwarte, równiejsze karty w wynikach (obok mapy) */
.search-main .row-photo{width:158px;height:116px}
.search-main .row-cta{min-width:162px}
@media(max-width:640px){
  .search-tools{padding:6px 12px 12px;border-radius:14px}
  .search-tools .tabs{flex-wrap:nowrap;overflow-x:auto;border-bottom:0;padding:10px 0 8px;margin-bottom:8px}
  .search-tools .tabs::-webkit-scrollbar{display:none}
}

/* ===== v47: zwarta oferta w wynikach (obok mapy) — jedna linia ===== */
.search-main .row-offers{flex-wrap:nowrap}
.search-main .row-offer:nth-child(2){display:none}

/* ===== v48: wyniki na całą szerokość — mapa boczna usunięta, „Mapa" jako opcja ===== */
#btn-mapa{display:inline-flex}

/* ===== v49: rating — jedna czysta gwiazdka + lżejsza liczba ===== */
.row-rating{gap:4px}
.rr-star{width:15px;height:15px;fill:var(--star);flex:none;display:block}
.row-rating b{font-weight:700;font-size:13.5px;color:var(--ink)}
.row-rc{font-size:12.5px;font-weight:400}

/* ===== v49: filtry — eleganckie listy rozwijane (jak „Sortuj") ===== */
.filterbar{gap:10px}
.fsel{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);font-weight:600}
.fsel select{font-family:inherit;font-size:13px;font-weight:600;color:var(--ink);border:1.5px solid var(--line2);border-radius:999px;padding:8px 32px 8px 15px;outline:none;appearance:none;-webkit-appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2398A2B3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/13px;transition:border-color .14s}
.fsel select:hover{border-color:#B9C4D6}
.fsel select:focus{border-color:var(--blue)}
.fclear{color:var(--muted)}
.fclear:hover{color:var(--blue-dark)}

/* ===== v50: customowe dropdowny (Ocena, Sortuj) + suwak ceny ===== */
.cdd{position:relative;display:inline-block}
.cdd-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line2);background:#fff;border-radius:999px;padding:8px 12px 8px 15px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .14s,box-shadow .14s;white-space:nowrap}
.cdd-btn:hover{border-color:#B9C4D6}
.cdd.open .cdd-btn{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.cdd-ch{width:15px;height:15px;fill:none;stroke:var(--faint);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s}
.cdd.open .cdd-ch{transform:rotate(180deg)}
.cdd-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:190px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(17,34,61,.18);padding:6px;z-index:40}
.cdd--sort .cdd-menu{left:auto;right:0}
.cdd-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;border:0;background:none;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--ink);padding:9px 11px;border-radius:9px;cursor:pointer;transition:background .1s}
.cdd-opt:hover{background:var(--blue-softer)}
.cdd-opt.sel{color:var(--blue-dark);font-weight:600}
.cdd-opt.sel::after{content:'✓';color:var(--blue);font-weight:700}
.sort-lbl{font-size:13.5px;color:var(--muted)}

.fprice{display:inline-flex;flex-direction:column;gap:2px;min-width:164px;padding:2px 6px 0}
.fprice-top{font-size:12px;color:var(--muted);font-weight:600}
.fprice-top b{color:var(--blue-dark);font-weight:700}
.rng{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:var(--line2);outline:none;cursor:pointer;margin:8px 0 4px}
.rng::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 1px 5px rgba(17,34,61,.35);cursor:pointer}
.rng::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 1px 5px rgba(17,34,61,.35);cursor:pointer}
.rng::-moz-range-track{height:6px;border-radius:999px;background:transparent}

/* ===== v51: filtry — spójne pigułki + popover ceny z suwakiem ===== */
.filterbar{gap:9px}
.cdd-lead{color:var(--muted);font-weight:600}
.cdd--price .cdd-btn.has{border-color:var(--blue);background:var(--blue-softer);color:var(--blue-dark)}
.cdd--price .cdd-btn.has .cdd-lead{color:var(--blue-dark)}
.cdd-menu--price{min-width:262px;padding:16px 16px 14px}
.pp-head{font-size:12.5px;font-weight:700;color:var(--ink)}
.pp-badge{text-align:center;margin:6px 0 0}
.pp-badge b{font-size:23px;font-weight:800;color:var(--blue-dark);letter-spacing:-.01em}
.pp-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--faint);font-weight:500}
.pp-quick{display:flex;gap:7px;margin-top:14px}
.pp-quick button{flex:1;border:1.5px solid var(--line2);background:#fff;border-radius:999px;padding:7px 4px;font-family:inherit;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .12s}
.pp-quick button:hover{border-color:var(--blue);color:var(--blue-dark)}
.pp-quick button.on{background:var(--blue);border-color:var(--blue);color:#fff}

/* ===== v52: opinie z Google (logo G) + podpis sekcji opinii ===== */
.rv-glogo{width:15px;height:15px;flex:none}
.rv-google{color:var(--muted);font-weight:600}
.p-rev-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:2px}
.p-rev-sub{font-size:12.5px;color:var(--muted);font-weight:500}

/* ===== v53: modal „Umów wizytę" z cennika (overlay; karta = .mm-card) ===== */
.bk-ov{position:fixed;inset:0;z-index:195;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(14,27,49,.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .2s}
.bk-ov.show{opacity:1}
.bk-ov .mm-card{max-height:calc(100vh - 40px);overflow-y:auto}
.bk-ov.show .mm-card{transform:none}
.bk-ov .mm-head{margin-bottom:14px}
.bk-ov .bk-back{margin-top:6px}

/* v54 — podsumowanie ocen na profilu (rozkład gwiazdek + źródła) */
.rev-summary{border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin:4px 0 20px;background:linear-gradient(180deg,#FCFDFF,#F7F9FE)}
.rs-top{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center}
.rs-main{text-align:center;padding-right:24px;border-right:1px solid var(--line);min-width:120px}
.rs-big{font-size:46px;font-weight:800;line-height:1;color:var(--ink);letter-spacing:-1px}
.rs-stars{justify-content:center;margin:7px 0 5px}
.rs-stars .rate-stars,.rev-summary .rate-stars{display:inline-flex;gap:2px}
.rs-stars svg{width:17px;height:17px}
.rs-count{font-size:12.5px;color:var(--muted);font-weight:500}
.rs-bars{display:flex;flex-direction:column;gap:6px}
.rs-row{display:flex;align-items:center;gap:9px}
.rs-rn{font-size:12.5px;font-weight:600;color:var(--muted);width:8px;text-align:center}
.rs-row>svg{width:13px;height:13px;fill:var(--star);flex:none}
.rs-track{flex:1;height:8px;background:var(--pill);border-radius:99px;overflow:hidden}
.rs-track span{display:block;height:100%;background:linear-gradient(90deg,var(--star),#FFC24B);border-radius:99px}
.rs-rc{font-size:12px;color:var(--faint);font-weight:600;width:34px;text-align:right}
.rs-sources{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.rs-src{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px}
.rs-src-logo{height:20px;width:auto;flex:none}
.rs-src-g{display:inline-flex;flex:none}
.rs-src-g svg,.rs-src .rv-glogo{width:20px;height:20px}
.rs-src>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.rs-src b{font-size:16px;font-weight:800;color:var(--ink)}
.rs-src-star svg{width:14px;height:14px;fill:var(--star);vertical-align:-2px}
.rs-src small{font-size:12px;color:var(--muted);width:100%;font-weight:500}
@media(max-width:560px){
  .rs-top{grid-template-columns:1fr;gap:16px}
  .rs-main{border-right:0;border-bottom:1px solid var(--line);padding:0 0 14px;padding-right:0}
  .rs-sources{grid-template-columns:1fr}
}

/* v55 — anulowanie wizyty */
.wiz-cancel{margin-top:9px;background:none;border:0;padding:0;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:color .14s;display:inline-flex;align-items:center;gap:5px}
.wiz-cancel::before{content:"";width:13px;height:13px;flex:none;background:currentColor;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round" d="M18 6 6 18M6 6l12 12"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round" d="M18 6 6 18M6 6l12 12"/></svg>') center/contain no-repeat}
.wiz-cancel:hover{color:var(--danger)}
.wiz-cancel:disabled{opacity:.55;cursor:default}

/* v55 — godziny otwarcia (profil) */
.hours-now{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted)}
.hn-dot{width:8px;height:8px;border-radius:50%;flex:none}
.hn-on{background:var(--ok);box-shadow:0 0 0 3px rgba(18,128,92,.15)}
.hn-off{background:var(--faint);box-shadow:0 0 0 3px rgba(152,162,179,.15)}
.hours{display:flex;flex-direction:column}
.hrow{display:flex;justify-content:space-between;align-items:center;padding:9px 2px;font-size:14px;border-bottom:1px solid var(--line)}
.hrow:last-child{border-bottom:0}
.hday{color:var(--ink);font-weight:500}
.hday em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:2px 7px;border-radius:99px;margin-left:8px;vertical-align:1px}
.hval{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.hval--off{color:var(--faint);font-weight:500}
.hrow--today{margin:0 -18px;padding-left:18px;padding-right:18px;background:var(--blue-softer);border-radius:8px;border-bottom-color:transparent}
.hrow--today+.hrow{border-top:1px solid var(--line)}

/* v56 — „Jak to działa" na stronie głównej (ikony + numer w rogu) */
.how-grid--home .how-step{position:relative;padding-top:22px}
.how-ic{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--blue-soft);margin-bottom:14px}
.how-ic svg{width:25px;height:25px;fill:none;stroke:var(--blue-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.how-grid--home .how-num{position:absolute;top:22px;right:22px;width:27px;height:27px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;margin:0}
@media(max-width:560px){.how-grid--home .how-num{top:18px;right:18px}}

/* v56 — strona 404 */

/* v57 — badge „Wkrótce" na przyciskach sklepów */
.store-btn{position:relative}
.store-soon{position:absolute;top:-8px;right:-6px;background:var(--blue);color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:99px;box-shadow:0 2px 6px rgba(37,99,235,.4)}

/* v57 — nagłówek H1 na stronie wyników (SEO) */
.ph-h1{font-size:21px;font-weight:800;letter-spacing:-.02em;margin:2px 0 12px}
@media(max-width:560px){.ph-h1{font-size:18px;margin-bottom:10px}}

/* v59 — strona Kontakt: brandowany hero pełen animowanego logotypu */
.ct-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#EAF1FC 0%,#F6F9FE 60%,#fff 100%);border-bottom:1px solid var(--line)}
.ct-hero-in{position:relative;z-index:2;padding:38px 16px 48px}
.ct-hero .crumbs{margin-bottom:20px}

/* pływające znaki marki w tle */
.ct-hero-bg{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.ct-mark{position:absolute;font-weight:800;letter-spacing:-.03em;color:var(--granat);opacity:.055;user-select:none;white-space:nowrap;line-height:1;animation:ct-float 13s ease-in-out infinite;will-change:transform}
.ct-mark b{color:var(--blue);font-weight:800}
@keyframes ct-float{
  0%{transform:translateY(0) rotate(var(--r,0deg))}
  50%{transform:translateY(-24px) rotate(calc(var(--r,0deg) + 5deg))}
  100%{transform:translateY(0) rotate(var(--r,0deg))}
}

/* wielki wordmark (drop-in z .hero-brand) — bez połysku */
.ct-brand{font-size:clamp(44px,9vw,84px);margin-bottom:8px;padding-bottom:.5em;width:max-content;max-width:100%}
.ct-title{font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--granat);letter-spacing:-.02em;margin-bottom:8px}
.ct-lead{color:var(--muted);font-size:15.5px;max-width:56ch}

/* ruchomy pasek marki (ticker) */
.ct-ticker{overflow:hidden;background:var(--granat);padding:13px 0;white-space:nowrap;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ct-ticker-track{display:inline-flex;align-items:center;animation:ct-marquee 24s linear infinite;will-change:transform}
.ct-ticker-track span{font-weight:800;font-size:16px;letter-spacing:.01em;padding:0 22px;color:#fff}
.ct-ticker-track .tk-b{color:var(--blue-light)}
.ct-ticker-track .tk-dot{color:var(--blue-light);opacity:.65;padding:0 2px;font-size:14px}
@keyframes ct-marquee{to{transform:translateX(-50%)}}

/* emblemat ikony — statyczny */
.ct-badge{width:88px;height:88px;margin:2px auto 16px}
.ct-badge img{width:88px;height:88px;border-radius:22px;display:block;box-shadow:0 10px 24px rgba(18,34,61,.20)}
.ct-badge-cap{text-align:center;font-size:12.5px;color:var(--muted);font-weight:600;margin:-6px 0 4px}

/* animowana ikona w potwierdzeniu wysłania */
.j-success .b-check{animation:ct-pop .5s cubic-bezier(.2,.9,.3,1.4) both}
@keyframes ct-pop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}

@media(max-width:560px){.ct-brand{font-size:clamp(40px,13vw,60px)}}
@media (prefers-reduced-motion:reduce){
  .ct-mark,.ct-ticker-track{animation:none}
}

/* v63 — formularz kontaktowy: siatka pól + pigułki tematu */
.ct-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-bottom:14px}
.ct-form-grid .field{margin-bottom:0}
.lbl-opt{color:var(--faint);font-weight:500}
.tp-chips{display:flex;flex-wrap:wrap;gap:8px}
.tp-chip{border:1.5px solid var(--line2);background:#fff;border-radius:999px;padding:8px 15px;font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .14s,color .14s,background .14s}
.tp-chip:hover{border-color:var(--blue);color:var(--blue-dark)}
.tp-chip.on{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-dark)}
@media(max-width:600px){.ct-form-grid{grid-template-columns:1fr;gap:0}.ct-form-grid .field{margin-bottom:12px}}

/* v64 — Kontakt: układ 2-kolumnowy (nagłówek+osoba | karta formularza) */
.ct2{position:relative;overflow:hidden;background:linear-gradient(180deg,#F4F8FE 0%,#FBFCFE 45%,#fff 100%);border-bottom:1px solid var(--line)}
.ct2-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ct2-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:start;padding:36px 16px 60px}
.ct2 .crumbs{margin-bottom:20px}
.ct2-title{font-size:clamp(30px,3.6vw,44px);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--granat);margin-bottom:14px}
.ct2-title span{color:var(--blue)}
.ct2-lead{color:var(--muted);font-size:16px;line-height:1.6;max-width:44ch;margin-bottom:30px}
.ct2-left{padding-top:6px}

/* karta osoby */
.person-card{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.person-ava{position:relative;width:82px;height:82px;border-radius:50%;flex:none;overflow:hidden;background:var(--blue-soft);display:grid;place-items:center;box-shadow:0 8px 20px rgba(18,34,61,.16);border:3px solid #fff;outline:1px solid var(--line)}
.person-ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pa-mono{font-weight:800;font-size:29px;color:var(--blue-dark);letter-spacing:-1px}
.person-name{font-size:17px;font-weight:800;color:var(--ink)}
.person-role{font-size:13.5px;color:var(--muted);margin:2px 0 8px}
.person-contact{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--blue-dark)}
.person-contact:hover{text-decoration:underline}
.person-contact svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.person-meta{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--muted)}
.person-meta span{display:flex;align-items:center;gap:9px}
.person-meta svg{width:16px;height:16px;fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ct2-warsztat{margin-top:24px;font-size:14px;color:var(--muted)}
.ct2-warsztat a{color:var(--blue-dark);font-weight:700}
.ct2-warsztat a:hover{text-decoration:underline}

/* karta formularza */
.ct2-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 26px 28px;box-shadow:0 20px 48px rgba(17,34,61,.08)}
.ct2-card .field{margin-bottom:14px}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:12.5px;color:var(--muted);line-height:1.5;margin:6px 0 2px;cursor:pointer}
.consent input{margin-top:1px;width:18px;height:18px;flex:none;accent-color:var(--blue);cursor:pointer}
.consent a{color:var(--blue-dark);text-decoration:underline}
.consent--err{color:var(--danger)}
.consent--err input{outline:2px solid var(--danger);outline-offset:1px;border-radius:4px}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
@media(max-width:820px){
  .ct2-in{grid-template-columns:1fr;gap:28px;padding:24px 16px 44px}
  .ct2-left{padding-top:0}
}

/* v66 — Kontakt: więcej marki + pola bez ikon + custom checkbox */
.ct2-logo{height:30px;width:auto;display:block;margin-bottom:22px}
.ct2-card-head{display:flex;align-items:center;gap:11px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.ct2-card-head img{width:34px;height:34px;border-radius:10px;box-shadow:0 4px 12px rgba(18,34,61,.16)}
.ct2-card-head b{font-size:16.5px;font-weight:800;color:var(--ink)}

/* ładny, własny checkbox */
.consent{display:flex;gap:12px;align-items:flex-start;font-size:12.5px;color:var(--muted);line-height:1.55;margin:10px 0 2px;cursor:pointer}
.consent .cbox-input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.cbox{flex:none;width:23px;height:23px;border:2px solid var(--line2);border-radius:8px;background:#fff;position:relative;transition:background .16s,border-color .16s,box-shadow .16s;margin-top:1px}
.cbox::after{content:"";position:absolute;left:7px;top:2.5px;width:5px;height:11px;border:solid #fff;border-width:0 2.6px 2.6px 0;transform:rotate(45deg) scale(0);transition:transform .2s cubic-bezier(.2,.9,.3,1.5)}
.consent .cbox-input:checked + .cbox{background:var(--blue);border-color:var(--blue)}
.consent .cbox-input:checked + .cbox::after{transform:rotate(45deg) scale(1)}
.consent:hover .cbox{border-color:var(--blue-light)}
.consent .cbox-input:focus-visible + .cbox{box-shadow:0 0 0 4px rgba(37,99,235,.18)}
.consent-txt a{color:var(--blue-dark);text-decoration:underline}
.consent--err{color:var(--danger)}
.consent--err .cbox{border-color:var(--danger)}
@media(max-width:820px){.ct2-logo{margin-bottom:16px}}

/* v67 — Kontakt: czysto i premium, mniej „AI" (bez dekoracji w tle) */
.ct2{background:#F6F8FC}
.ct2-in{gap:56px;padding:44px 16px 64px}
.ct2-title{font-size:clamp(29px,3.3vw,42px)}
.ct2-lead{font-size:15.5px;margin-bottom:26px}
.ct2-card{border-radius:22px;padding:30px 30px 32px;box-shadow:0 22px 60px rgba(17,34,61,.10);border-color:#EAEFF6}
.ct2-card-head{display:block;border-bottom:0;padding-bottom:0;margin-bottom:22px}
.ct2-card-head b{display:block;font-size:19px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.ct2-card-head span{display:block;font-size:13.5px;color:var(--muted);margin-top:4px}
/* inputy: klasyczny zaokrąglony prostokąt zamiast pill — spokojniej, mniej „AI" */
.ct2-card .j-input{border-radius:13px;padding:13px 16px}
.ct2-card textarea.j-input{border-radius:15px}
.ct2-card .field{margin-bottom:15px}
.ct2-card .field label{font-size:13px;margin-bottom:6px}

/* v68 — Kontakt: czysta karta (info + formularz), wypełnione inputy */
.ct3{background:#EAF1F7;padding:8px 0 60px}
.ct3-crumbs{max-width:960px;margin:22px auto 16px;padding:0 8px}
.ct3-card{max-width:960px;margin:0 auto;background:#fff;border-radius:26px;box-shadow:0 30px 70px rgba(17,34,61,.13);display:grid;grid-template-columns:288px 1fr;overflow:hidden}

/* LEWA — dane kontaktowe (wyśrodkowane, z linią po prawej) */
.ct3-info{padding:38px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.ct3-person{display:flex;flex-direction:column;align-items:center;gap:9px}
.ct3-ava{position:relative;width:92px;height:92px;border-radius:50%;overflow:hidden;background:var(--blue-soft);display:grid;place-items:center;box-shadow:0 8px 20px rgba(18,34,61,.16);border:3px solid #fff;outline:1px solid var(--line)}
.ct3-ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct3-ava .pa-mono{font-size:30px}
.ct3-name{font-size:16px;font-weight:800;color:var(--ink)}
.ct3-role{font-size:12.5px;color:var(--muted)}
.ct3-block{display:flex;flex-direction:column;align-items:center;gap:2px}
.ct3-ic{display:grid;place-items:center;margin-bottom:6px}
.ct3-ic svg{width:26px;height:26px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ct3-block b{font-size:14px;font-weight:700;color:var(--ink)}
.ct3-block p{font-size:12.5px;color:var(--muted);line-height:1.5}
.ct3-block a{color:var(--blue-dark)}
.ct3-block a:hover{text-decoration:underline}

/* PRAWA — formularz */
.ct3-form{padding:40px 42px 42px}
.ct3-title{font-size:23px;font-weight:800;color:var(--blue-dark);letter-spacing:-.01em;margin-bottom:8px}
.ct3-sub{font-size:13.5px;color:var(--muted);line-height:1.6;margin-bottom:24px;max-width:54ch}
.ct3-form .field{margin-bottom:14px}

/* pola z wyraźnym konturem — czyste, dopracowane (nie „szare klocki") */
.j2-input{width:100%;background:#FBFCFE;border:1.5px solid #E2E8F1;border-radius:12px;padding:13px 16px;font-family:inherit;font-size:14.5px;color:var(--ink);box-shadow:0 1px 2px rgba(17,34,61,.04);transition:background .15s,border-color .15s,box-shadow .15s}
.j2-input::placeholder{color:#98A2B3}
.j2-input:hover:not(:focus){border-color:#C6D0E0;background:#fff}
.j2-input:focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.13);outline:none}
.j2-input.err{border-color:var(--danger);background:#FEF4F4}
.j2-input.ok{border-color:#8FD8B4;background:#fff}
textarea.j2-input{resize:vertical;min-height:104px;line-height:1.55}
.ct3-send{margin-top:6px;padding:13px 30px}
.ct3-note{font-size:11.5px;color:var(--faint);margin-top:14px;line-height:1.5}
.ct3-note a{color:var(--blue-dark);text-decoration:underline}

@media(max-width:760px){
  .ct3-card{grid-template-columns:1fr}
  .ct3-info{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex-wrap:wrap;justify-content:center;gap:20px 28px;padding:28px 22px}
  .ct3-person{flex-basis:100%}
  .ct3-form{padding:30px 24px 32px}
}

/* v70 — Kontakt: premium, granatowa sekcja + biała karta (styl Gaspar) */
.ct4{position:relative;overflow:hidden;background:#101E36}
.ct4-glow{position:absolute;top:-160px;right:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.30),transparent 68%);pointer-events:none;z-index:0}
.ct4-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:56px 16px 64px}
.ct4-left{color:#fff}
.ct4-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-light);margin-bottom:16px}
.ct4-title{font-size:clamp(29px,3.4vw,44px);font-weight:800;line-height:1.14;letter-spacing:-.02em;color:#fff;margin-bottom:16px}
.ct4-title span{color:#93B7FF}
.ct4-lead{font-size:15.5px;line-height:1.65;color:rgba(255,255,255,.72);max-width:46ch;margin-bottom:28px}

.ct4-person{display:flex;align-items:center;gap:15px;padding:18px 0;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);margin-bottom:24px}
.ct4-ava{position:relative;width:66px;height:66px;border-radius:50%;overflow:hidden;flex:none;background:#22334f;border:2px solid rgba(255,255,255,.22);display:grid;place-items:center}
.ct4-ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct4-ava .pa-mono{font-size:22px;color:#93B7FF}
.ct4-name{font-size:15.5px;font-weight:700;color:#fff}
.ct4-role{font-size:12.5px;color:rgba(255,255,255,.6);margin-top:2px}

.ct4-info{display:flex;flex-direction:column;gap:15px}
.ct4-iblock{display:flex;align-items:center;gap:13px}
.ct4-ic{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.07);display:grid;place-items:center;flex:none}
.ct4-ic svg{width:19px;height:19px;fill:none;stroke:var(--blue-light);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ct4-iblock b{display:block;font-size:11px;color:rgba(255,255,255,.5);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1px}
.ct4-iblock a,.ct4-iblock span{font-size:14.5px;color:#fff;font-weight:500}
.ct4-iblock a:hover{color:var(--blue-light)}

/* biała karta formularza */
.ct4-right{position:relative;z-index:1}
.ct4-card{background:#fff;border-radius:22px;padding:32px 32px 34px;box-shadow:0 44px 90px rgba(0,0,0,.40)}
.ct4-card-title{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.01em;margin-bottom:20px}
.ct4-card .field{margin-bottom:15px}
.ct4-card .field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:6px}
.ct4-card .lbl-opt{color:var(--faint);font-weight:500}
.ct4-send{width:100%;margin-top:8px;padding:14px 24px;font-size:15px}
.ct4-note{font-size:11.5px;color:var(--faint);margin-top:14px;line-height:1.5}
.ct4-note a{color:var(--blue-dark);text-decoration:underline}

@media(max-width:840px){
  .ct4-in{grid-template-columns:1fr;gap:30px;padding:40px 16px 48px}
  .ct4-glow{width:260px;height:260px;top:-120px;right:-80px}
}

/* v71 — Kontakt: inputy w stylu podkreślenia (tylko dolna kreska) */
.ct4-card .j2-input{background:transparent;border:0;border-bottom:1.5px solid #D9E0EA;border-radius:0;padding:11px 2px;box-shadow:none}
.ct4-card .j2-input::placeholder{color:#AEB6C4}
.ct4-card .j2-input:hover:not(:focus){background:transparent;border-bottom-color:#B7C1D2}
.ct4-card .j2-input:focus{background:transparent;border-color:transparent;border-bottom-color:var(--blue);box-shadow:none}
.ct4-card .j2-input.err{background:transparent;border-color:transparent;border-bottom-color:var(--danger)}
.ct4-card .j2-input.ok{background:transparent;border-color:transparent;border-bottom-color:#4FBE8B}
.ct4-card textarea.j2-input{min-height:92px;padding-top:8px;line-height:1.55}
.ct4-card .field{margin-bottom:20px}

/* v72 — Kontakt: granat jako osobny zaokrąglony panel (nie całe tło); karta wchodzi na niego */
.ct4{background:#EDF1F8;padding:46px 0 54px;overflow:hidden}
.ct4-wrap{display:flex;align-items:center;gap:0}
.ct4-panel{position:relative;overflow:hidden;flex:1;min-width:0;background:#101E36;border-radius:30px;padding:52px 132px 52px 48px}
.ct4-glow{position:absolute;top:-100px;right:-70px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.32),transparent 68%);pointer-events:none;z-index:0}
.ct4-left{position:relative;z-index:1}
.ct4-card{flex:none;width:430px;margin-left:-96px;z-index:2;box-shadow:0 34px 70px rgba(16,30,54,.24)}
@media(max-width:900px){
  .ct4{padding:22px 0 40px}
  .ct4-wrap{flex-direction:column;align-items:stretch}
  .ct4-panel{padding:36px 24px;border-radius:24px 24px 0 0}
  .ct4-card{width:auto;margin-left:0;border-radius:0 0 24px 24px;box-shadow:0 24px 50px rgba(16,30,54,.18)}
}

/* v73 — Kontakt: usuń „AI" poświatę, czysty granat, nagłówek biały */
.ct4-glow{display:none}
.ct4-panel{background:var(--granat)}
.ct4-title span{color:#fff}

/* v74 — widget rezerwacji: customowa lista usług + kafelki dnia/godziny */
.svc-dd{position:relative}
.svc-dd-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1.5px solid var(--line2);border-radius:12px;padding:11px 14px;background:#fff;cursor:pointer;text-align:left;transition:border-color .14s,box-shadow .14s}
.svc-dd-btn:hover,.svc-dd-btn.open{border-color:var(--blue)}
.svc-dd-btn.open{box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.svc-dd-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.svc-dd-name{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svc-dd-meta{font-size:12px;color:var(--muted)}
.svc-dd-arr{width:18px;height:18px;flex:none;fill:none;stroke:var(--faint);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.svc-dd-btn.open .svc-dd-arr{transform:rotate(180deg)}
.svc-dd-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 42px rgba(17,34,61,.17);padding:6px;z-index:30;max-height:280px;overflow-y:auto}
.svc-opt{width:100%;display:flex;align-items:center;gap:10px;padding:10px 11px;border:0;border-radius:9px;background:none;cursor:pointer;text-align:left;transition:background .1s}
.svc-opt:hover{background:var(--pill)}
.svc-opt.on{background:var(--blue-soft)}
.svc-opt-name{flex:1;font-size:13.5px;font-weight:600;color:var(--ink)}
.svc-opt-meta{font-size:12px;color:var(--muted);flex:none}
.svc-opt-price{font-size:13.5px;font-weight:700;color:var(--blue-dark);flex:none}

.day-grid,.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.day-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border:1.5px solid var(--line2);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .12s,background .12s;font-family:inherit}
.day-chip em{font-style:normal;font-size:12px;font-weight:600;color:var(--muted);transition:color .12s}
.day-chip b{font-size:14px;font-weight:700;color:var(--ink);transition:color .12s}
.day-chip:hover{border-color:var(--blue-light)}
.day-chip.on{background:var(--granat);border-color:var(--granat)}
.day-chip.on em,.day-chip.on b{color:#fff}
.time-chip{padding:11px 4px;border:1.5px solid var(--line2);border-radius:11px;background:#fff;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;text-align:center;transition:border-color .12s,background .12s,color .12s}
.time-chip:hover{border-color:var(--blue-light)}
.time-chip.on{background:var(--blue);border-color:var(--blue);color:#fff}

/* v75 — oceny jako glossy gwiazdki (Star Icons, obrazki zamiast SVG) */
.star-i{display:block;flex:none}
.rate-stars .star-i{width:14px;height:14px}
.rv-stars .rate-stars .star-i{width:17px;height:17px}
.rs-stars .rate-stars .star-i{width:18px;height:18px}
img.rr-star{width:16px;height:16px;display:block}
.rs-src-star{display:inline-flex;align-items:center}
.rs-src-star .star-i{width:15px;height:15px}
.rs-row>.star-i{width:13px;height:13px}
.p-star{width:16px;height:16px;display:inline-block;vertical-align:-3px}
.seen-rate .star-i{width:12px;height:12px;display:inline-block;vertical-align:-1px}

/* v76 — kalendarz w widgecie rezerwacji */
.cal{border:1px solid var(--line);border-radius:14px;padding:12px 12px 10px;background:#fff}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-title{font-size:14px;font-weight:700;color:var(--ink);text-transform:capitalize}
.cal-nav{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--pill);color:var(--ink);transition:background .12s,color .12s;flex:none}
.cal-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cal-nav:hover:not(:disabled){background:var(--blue-soft);color:var(--blue-dark)}
.cal-nav:disabled{opacity:.32;cursor:default}
.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:5px}
.cal-dow span{text-align:center;font-size:11px;font-weight:600;color:var(--faint)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-x{aspect-ratio:1}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:0;background:none;border-radius:9px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:background .12s,color .12s}
.cal-day:hover:not(:disabled):not(.on){background:var(--pill)}
.cal-day:disabled{color:#C8D0DD;cursor:default}
.cal-day.today:not(.on){color:var(--blue-dark);box-shadow:inset 0 0 0 1.6px var(--blue-soft)}
.cal-day.on{background:var(--blue);color:#fff}
.time-chip:disabled{opacity:.4;cursor:default;text-decoration:line-through}

/* v78 — kompaktowy widget rezerwacji (przycisk „Dalej" w zasięgu, bez skrollowania na dół) */
.b-label{margin:11px 0 6px}
.cal{padding:10px 10px 8px}
.cal-head{margin-bottom:8px}
.cal-day{aspect-ratio:auto;height:33px}
.cal-grid{gap:2px}
.time-grid{grid-template-columns:repeat(5,1fr);gap:6px}
.time-chip{padding:9px 2px;font-size:13px}
.b-submit{margin-top:10px}



/* ===== v117: pasek filtrów — 4 równe listy, zero pustki ===== */
.search-tools{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px 20px;box-shadow:var(--sh-card);margin-top:12px;text-align:left}
.ftitle-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 14px}
.search-tools .ftitle{font-size:18px;font-weight:700;line-height:1.2;color:var(--granat);letter-spacing:-.01em;margin:0}
.search-tools .fclear{background:none;border:0;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--blue-dark);cursor:pointer;padding:2px}
.search-tools .fclear:hover{text-decoration:underline}
.search-tools .filterbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0}
.search-tools .fsel{display:block;min-width:0}
.search-tools .fsel>span{display:block;font-size:12.5px;font-weight:600;line-height:1;color:var(--muted);letter-spacing:.01em;text-transform:none;text-align:left;margin:0 0 7px;padding:0}

/* pole (skórka na <select>) */
.nsel{position:relative;width:100%}
.nsel .nsel-native{display:none}
.nsel-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:46px;padding:0 13px 0 15px;font-family:inherit;font-size:15px;font-weight:500;line-height:1.2;color:var(--muted);text-align:left;background:#fff;border:1.5px solid var(--line2);border-radius:10px;cursor:pointer;transition:border-color .12s,box-shadow .12s,color .12s}
.nsel-btn:hover{border-color:#B9CBF6}
.nsel-val{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nsel-ar{width:18px;height:18px;flex:none;color:var(--faint);transition:transform .16s,color .12s}
.nsel--set .nsel-btn{color:var(--granat);border-color:var(--blue);background:var(--blue-softer)}
.nsel--set .nsel-ar{color:var(--blue)}
.nsel-open .nsel-btn{color:var(--granat);border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.13)}
.nsel-open .nsel-ar{transform:rotate(180deg);color:var(--blue)}
.nsel-btn:focus-visible{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.13)}

.nsel-panel{position:absolute;z-index:200;top:calc(100% + 6px);left:0;width:100%;max-height:min(430px,60vh);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px rgba(17,34,61,.14);padding:6px}
.nsel-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 11px;font-family:inherit;font-size:14.5px;font-weight:500;line-height:1.35;color:var(--ink);text-align:left;background:none;border:0;border-radius:8px;cursor:pointer;transition:background .1s}
.nsel-opt:hover,.nsel-opt:focus-visible{outline:none;background:var(--pill)}
.nsel-opt.on{color:var(--blue-dark);background:var(--blue-softer)}
.nsel-opt>span{min-width:0}
.nsel-opt em{flex:none;font-style:normal;font-size:11.5px;font-weight:600;line-height:1;color:var(--faint);background:var(--pill);border-radius:999px;padding:5px 8px}
.nsel-opt:hover em{background:#E4E9F2}
.nsel-opt.on em{background:var(--blue-soft);color:var(--blue-dark)}
.nsel-panel::-webkit-scrollbar{width:10px}
.nsel-panel::-webkit-scrollbar-thumb{background:var(--line2);border-radius:999px;border:3px solid #fff}

/* sortowanie przy tytule listy */
.toolrow{align-items:center}
.sortrow{display:flex;align-items:center;gap:9px;flex:none}
.sortrow>span{font-size:13.5px;font-weight:500;color:var(--muted);white-space:nowrap}
.sortrow .nsel{width:196px}
.sortrow .nsel-btn{height:40px;font-size:14px;border-radius:9px}

@media(max-width:900px){ .search-tools .filterbar{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:520px){
  .search-tools{padding:14px 14px 16px;border-radius:12px}
  .search-tools .filterbar{grid-template-columns:1fr;gap:11px}
  .toolrow{flex-wrap:wrap;gap:10px}
  .sortrow{width:100%}
  .sortrow .nsel{flex:1;width:auto}
}

/* ===== v120: kalendarz zakresu dat + zakres ceny ===== */
.search-tools .filterbar{grid-template-columns:repeat(5,minmax(0,1fr))}
.npick .nsel-panel{padding:14px}
.nsel.pan-right .nsel-panel{left:auto;right:0}

/* --- wspólna stopka pickera --- */
.pick-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.pick-clear{background:none;border:0;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;padding:6px 2px}
.pick-clear:hover{color:var(--granat);text-decoration:underline}
.pick-ok{background:var(--blue);border:0;border-radius:10px;color:#fff;font-family:inherit;font-size:14px;font-weight:600;padding:10px 20px;cursor:pointer;transition:background .12s}
.pick-ok:hover{background:var(--blue-dark)}

/* --- kalendarz --- */
.cal-panel{width:min(576px,calc(100vw - 32px));max-height:none}
.cal-quick{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.cal-quick button{border:1.5px solid var(--line2);background:#fff;border-radius:999px;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .12s}
.cal-quick button:hover{border-color:var(--blue);color:var(--blue-dark)}
.cal-quick button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.cal-hint{flex:1;text-align:center;white-space:nowrap;font-size:13px;font-weight:600;color:var(--granat)}
.cal-arr{width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line2);background:#fff;border-radius:9px;font-size:19px;line-height:1;color:var(--granat);cursor:pointer;transition:all .12s}
.cal-arr:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}
.cal-arr:disabled{opacity:.35;cursor:default}
.cal-months{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cal-mh{text-align:center;font-size:13.5px;font-weight:700;color:var(--granat);margin-bottom:9px}
.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:3px}
.cal-dow span{text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.03em;color:var(--faint);text-transform:uppercase}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}
.cd{height:34px;padding:0;border:0;background:none;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--ink);border-radius:9px;cursor:pointer;transition:background .1s,color .1s}
.cd-empty{visibility:hidden;cursor:default}
.cd:hover:not(:disabled):not(.cd-a):not(.cd-b){background:var(--blue-softer)}
.cd-off{color:#C7CFDC;cursor:default}
.cd-in{background:var(--blue-softer);border-radius:0;color:var(--blue-dark)}
.cd-a,.cd-b{background:var(--blue);color:#fff;font-weight:700}
.cd-a{border-radius:9px 0 0 9px}
.cd-b{border-radius:0 9px 9px 0}
.cd-a.cd-b{border-radius:9px}

/* --- zakres ceny --- */
.rng-panel{width:min(330px,calc(100vw - 32px));max-height:none}
.rng-in{display:flex;align-items:flex-end;gap:10px}
.rng-in label{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.rng-in .rin{display:flex;align-items:center;gap:5px;height:44px;padding:0 12px;border:1.5px solid var(--line2);border-radius:10px;transition:border-color .12s}
.rng-in .rin:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.13)}
.rng-in input{width:100%;min-width:0;border:0;outline:none;background:none;font-family:inherit;font-size:15px;font-weight:600;color:var(--granat);-moz-appearance:textfield}
.rng-in input::-webkit-outer-spin-button,.rng-in input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rng-in em{flex:none;font-style:normal;font-size:13px;font-weight:500;color:var(--faint)}
.rng-dash{padding-bottom:14px;color:var(--faint)}
.rng-slider{position:relative;height:26px;margin:18px 9px 2px}
.rng-slider .rtrack,.rng-slider .rfill{position:absolute;top:11px;height:5px;border-radius:999px}
.rng-slider .rtrack{left:0;right:0;background:var(--pill)}
.rng-slider .rfill{background:var(--blue)}
.rng-slider input[type=range]{position:absolute;top:4px;left:0;width:100%;height:19px;margin:0;padding:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.rng-slider input[type=range]:focus{outline:none}
.rng-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:19px;height:19px;border-radius:50%;background:#fff;border:2.5px solid var(--blue);box-shadow:0 1px 5px rgba(17,34,61,.28);cursor:grab}
.rng-slider input[type=range]::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.08)}
.rng-slider input[type=range]::-moz-range-thumb{pointer-events:auto;width:19px;height:19px;border-radius:50%;background:#fff;border:2.5px solid var(--blue);box-shadow:0 1px 5px rgba(17,34,61,.28);cursor:grab}

@media(max-width:900px){
  .search-tools .filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cal-panel{width:min(520px,calc(100vw - 32px))}
}
@media(max-width:560px){
  .search-tools .filterbar{grid-template-columns:1fr}
  .cal-panel{width:calc(100vw - 40px)}
  .cal-months{grid-template-columns:1fr;gap:16px}
  .npick .nsel-panel{padding:12px}
  .pick-ok{flex:1;text-align:center}
}

/* ===== v125: wyszukiwarka w nagłówku (wjeżdża po przewinięciu) ===== */
.hsearch{display:none;flex:1;align-items:center;gap:0;max-width:560px;margin-left:26px;height:44px;padding:0 5px 0 6px;background:#fff;border:1.5px solid var(--line2);border-radius:999px;box-shadow:0 2px 10px rgba(17,34,61,.07);animation:hsIn .24s cubic-bezier(.22,1,.36,1)}
.topbar.searching .hsearch{display:flex}
.topbar.searching .topnav{display:none}
@keyframes hsIn{from{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:none}}

.hs-field{position:relative;display:flex;align-items:center;gap:8px;min-width:0;height:100%;padding:0 12px;border-radius:999px}
.hs-grow{flex:1 1 auto}
.hs-city{flex:0 0 150px}
.hs-field svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hs-field input{width:100%;min-width:0;border:0;outline:none;background:none;font-family:inherit;font-size:14px;font-weight:500;color:var(--ink)}
.hs-field input::placeholder{color:var(--faint);font-weight:400}
.hs-field:focus-within svg{stroke:var(--blue)}
.hs-sep{flex:none;width:1px;height:22px;background:var(--line)}
.hs-go{flex:none;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:50%;background:var(--blue);cursor:pointer;transition:background .13s}
.hs-go:hover{background:var(--blue-dark)}
.hs-go svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* lista podpowiedzi pod polem w nagłówku */
.hs-field .ac-list{top:calc(100% + 10px);left:-8px;min-width:280px}
.hs-city .ac-list{left:auto;right:-8px}

@media(max-width:1180px){ .hsearch{max-width:430px;margin-left:18px} .hs-city{flex-basis:120px} }
@media(max-width:940px){
  .hsearch{margin-left:14px}
  .hs-city,.hs-sep{display:none}
}
@media(max-width:560px){
  /* na telefonie pasek zajmuje calą szerokość — logo ustępuje miejsca */
  .topbar.searching .logo-link{display:none}
  .topbar.searching .hsearch{margin-left:0;margin-right:10px;height:40px;max-width:none}
  .hs-field{padding:0 8px}
  .hs-go{width:30px;height:30px}
}

/* ===== v128: lewa kolumna kontaktu — kontrast, hierarchia, akcent ===== */
.ct4-title{margin-bottom:14px}
.ct4-title span{color:#7FB0FF}
.ct4-lead{font-size:16px;line-height:1.62;color:rgba(255,255,255,.74);max-width:42ch;margin-bottom:30px}

/* dane kontaktowe — czytelne ikony i etykiety */
.ct4-info{gap:18px}
.ct4-ic{width:46px;height:46px;border-radius:14px;background:rgba(127,176,255,.15)}
.ct4-ic svg{width:20px;height:20px;stroke:#93B7FF;stroke-width:2.1}
.ct4-iblock b{font-size:11px;color:rgba(255,255,255,.62);letter-spacing:.09em;margin-bottom:3px}
.ct4-iblock a,.ct4-iblock span{font-size:16px;font-weight:600;letter-spacing:-.005em}

/* podpis osoby — domknięcie panelu, nie wtrącenie w kreskach */
.ct4-person{padding:22px 0 0;margin:30px 0 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:0}
.ct4-ava{width:56px;height:56px;border:2px solid rgba(127,176,255,.34)}
.ct4-name{font-size:15px}
.ct4-role{font-size:12.5px;color:rgba(255,255,255,.62)}
.ct4-title{text-wrap:balance}

/* ===== v132: animowana strona 404 ===== */
.e4{max-width:660px;margin:0 auto;text-align:center;padding:34px 0 78px}

/* „4 [koło] 4" */
.e4-hero{display:flex;align-items:center;justify-content:center;gap:.09em;margin-bottom:2px;font-size:clamp(88px,15.5vw,168px)}
.e4-d{font-size:1em;font-weight:800;line-height:.86;letter-spacing:-.06em;color:var(--granat);animation:e4pop .55s cubic-bezier(.22,1.2,.36,1) both}
.e4-d:last-of-type{animation-delay:.12s}
.e4-stop{width:.845em;height:auto;flex:none;animation:e4signdrop .62s cubic-bezier(.22,1.14,.36,1) both;animation-delay:.06s}
.e4-sign{transform-box:fill-box;transform-origin:center bottom;animation:e4sway 3.6s ease-in-out infinite}

/* droga + auto */
.e4-road{display:block;width:100%;height:auto;margin:-6px 0 18px}
.e4-dashes{animation:e4dash .85s linear infinite}
.e4-car{animation:e4drive 7s linear infinite}
.e4-bob{animation:e4bob .5s ease-in-out infinite alternate}
.e4-cw{transform-box:fill-box;transform-origin:center;animation:e4spin .55s linear infinite}
.e4-puff{transform-box:fill-box;transform-origin:center;animation:e4puff 1.1s ease-out infinite}
.e4-puff:nth-of-type(2){animation-delay:.36s}
.e4-puff:nth-of-type(3){animation-delay:.72s}

/* treść */
.e4 h1{font-size:clamp(21px,3vw,28px);font-weight:800;color:var(--granat);letter-spacing:-.02em;margin-bottom:9px;animation:e4rise .5s ease-out .2s both}
.e4 .lead{color:var(--muted);margin-bottom:24px;animation:e4rise .5s ease-out .28s both}
.e4-search{margin:0 auto;max-width:520px;animation:e4rise .5s ease-out .36s both}

@keyframes e4spin{to{transform:rotate(360deg)}}
@keyframes e4dash{to{transform:translateX(-70px)}}
@keyframes e4drive{from{transform:translateX(-190px)}to{transform:translateX(790px)}}
@keyframes e4bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
@keyframes e4puff{0%{opacity:.5;transform:translate(0,0) scale(.5)}100%{opacity:0;transform:translate(-26px,-13px) scale(1.9)}}
@keyframes e4pop{from{opacity:0;transform:translateY(26px) scale(.86)}to{opacity:1;transform:none}}
@keyframes e4signdrop{from{opacity:0;transform:translateY(-58px) scale(.72)}to{opacity:1;transform:none}}
@keyframes e4sway{0%,100%{transform:rotate(-2.4deg)}50%{transform:rotate(2.4deg)}}
@keyframes e4rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  .e4-d,.e4-stop,.e4-sign,.e4-dashes,.e4-car,.e4-bob,.e4-cw,.e4-puff,
  .e4 h1,.e4 .lead,.e4-search{animation:none!important;opacity:1!important;transform:none!important}
  .e4-puff{opacity:0!important}
}
@media(max-width:560px){
  .e4{padding:22px 0 56px}
  .e4-road{margin:-2px 0 14px}
}
