/* SZM Miasta LP — frontend szablonu blokowego (namespace .szm-lp) */
.szm-lp{--szm-ink:#1c2227;--szm-ink2:#48525a;--szm-line:#e6e9ec;--szm-bg2:#f2f4f8;
  --szm-blue:#3f51b5;--szm-blue-d:#303f9f;--szm-navy1:#000428;--szm-navy2:#004e92;
  --szm-promo:#c62828;--szm-r:14px;--szm-shadow:0 10px 30px rgba(13,20,60,.12);
  color:var(--szm-ink);line-height:1.6;font-size:16px}
.szm-lp *{box-sizing:border-box}
.szm-lp img{max-width:100%}
.szm-lp a{text-decoration:none;color:inherit}
.szm-lp-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.szm-lp-narrow{max-width:840px}
.szm-lp-sec{padding:56px 0}
.szm-lp-alt{background:var(--szm-bg2)}
.szm-lp-h2{font-size:clamp(24px,4vw,36px);line-height:1.15;letter-spacing:-.5px;text-align:center;margin:0 0 6px}
.szm-lp-left{text-align:left}
.szm-lp-sec-sub{text-align:center;color:var(--szm-ink2);max-width:660px;margin:10px auto 0}
.szm-lp-p{margin:16px 0 0;color:var(--szm-ink2)}
.szm-lp-center{text-align:center;margin-top:18px}
.szm-lp-btn{display:inline-block;padding:14px 28px;border-radius:999px;font-weight:700;font-size:15px;transition:.2s;border:0;cursor:pointer}
.szm-lp-btn-blue{background:var(--szm-blue);color:#fff}
.szm-lp-btn-blue:hover{background:var(--szm-blue-d);color:#fff;transform:translateY(-1px)}
.szm-lp-btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6)}
.szm-lp-btn-ghost:hover{border-color:#fff;color:#fff}

.szm-lp-preview-bar{background:#e65100;color:#fff;text-align:center;font-size:13px;font-weight:700;padding:8px;border-radius:6px;margin-bottom:10px}

/* hero */
.szm-lp-hero{background:linear-gradient(115deg,rgba(0,4,40,.90) 30%,rgba(0,44,92,.55)),url('https://sztachetyzmetalu.pl/wp-content/uploads/2025/05/banery-sztachetyzmetalupl-2.jpg') center/cover;color:#fff;padding:84px 0 72px}
.szm-lp-crumbs{font-size:13px;color:#aebbd4;margin-bottom:18px}
.szm-lp-crumbs a{text-decoration:underline;color:#aebbd4}
.szm-lp-crumbs span{color:#fff}
.szm-lp-hero h1{font-size:clamp(30px,5vw,50px);line-height:1.08;letter-spacing:-1px;max-width:720px;margin:0;color:#fff}
.szm-lp-sub{margin:14px 0 0;font-size:20px;font-weight:600;color:#dfe6f2;max-width:640px}
.szm-lp-lead{margin:18px 0 0;font-size:16px;color:#c9d4e8;max-width:640px}
.szm-lp-lead p{margin:0 0 10px;color:#c9d4e8}
.szm-lp-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.szm-lp-usps{display:flex;gap:26px;margin:40px 0 0;flex-wrap:wrap;font-size:14px;color:#dfe6f2;list-style:none;padding:0}
.szm-lp-usps li{display:flex;gap:8px;align-items:center}
.szm-lp-usps b{color:#fff}

/* counters */
.szm-lp-counters{background:var(--szm-bg2);padding:34px 0}
.szm-lp-counters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.szm-lp-num{font-size:34px;font-weight:800;letter-spacing:-1px;color:var(--szm-blue-d)}
.szm-lp-lbl{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--szm-ink2)}

/* models */
.szm-lp-models{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:40px}
.szm-lp-model{background:#fff;border:1px solid var(--szm-line);border-radius:var(--szm-r);overflow:hidden;transition:.2s;display:block}
.szm-lp-model:hover{box-shadow:var(--szm-shadow);transform:translateY(-3px)}
.szm-lp-ph{height:150px;background:linear-gradient(160deg,#2a3547,#4a5a74);background-size:cover;background-position:center;position:relative}
.szm-lp-ph:not([style])::after{content:'';position:absolute;inset:18px 30%;background:repeating-linear-gradient(90deg,#8b97ad 0 12px,transparent 12px 26px);border-radius:4px 4px 0 0}
.szm-lp-model-in{padding:16px}
.szm-lp-model-in h3{font-size:17px;margin:0}
.szm-lp-w{font-size:12.5px;color:var(--szm-ink2)}
.szm-lp-pr{margin-top:8px;font-weight:800;color:var(--szm-blue-d)}
.szm-lp-pr small{font-weight:400;color:var(--szm-ink2)}

/* pricing */
.szm-lp-pricing{width:100%;margin-top:32px;border-collapse:collapse;background:#fff;border:1px solid var(--szm-line);border-radius:var(--szm-r);overflow:hidden}
.szm-lp-pricing th{background:#fff;text-align:left;padding:14px 18px}
.szm-lp-pricing th:last-child,.szm-lp-pricing td:last-child{text-align:right}
.szm-lp-pricing td{padding:12px 18px;border-top:1px solid var(--szm-line)}
.szm-lp-pricing s{color:var(--szm-ink2);margin-right:6px}
.szm-lp-promo{background:var(--szm-promo);color:#fff;font-size:11px;padding:1px 8px;border-radius:999px;margin-left:6px;white-space:nowrap}

/* whyus */
.szm-lp-whyus{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;max-width:1080px}
.szm-lp-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.szm-lp-tile{background:#fff;border:1px solid var(--szm-line);border-radius:12px;padding:16px}
.szm-lp-tile small{color:var(--szm-ink2)}

/* calc */
.szm-lp-calc{background:#fff;border:1px solid var(--szm-line);border-radius:var(--szm-r);box-shadow:var(--szm-shadow);padding:26px;margin-top:32px}
.szm-lp-calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.szm-lp-calc label{font-size:13px;font-weight:600;display:block}
.szm-lp-calc input,.szm-lp-calc select{width:100%;margin-top:6px;padding:10px;border:1px solid var(--szm-line);border-radius:8px;font-size:15px}
.szm-lp-calc-out{margin-top:20px;padding:18px;background:var(--szm-bg2);border-radius:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;text-align:center}
.szm-lp-calc-out span{display:block;font-size:26px;font-weight:800;color:var(--szm-blue-d)}
.szm-lp-calc-out small{font-size:12px;color:var(--szm-ink2)}
.szm-lp-note{text-align:center;font-size:12px;color:var(--szm-ink2);margin-top:10px}

/* gallery */
.szm-lp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
.szm-lp-g{height:200px;border-radius:var(--szm-r);background:linear-gradient(150deg,#33415c,#5a6b8c);background-size:cover;background-position:center;position:relative;overflow:hidden}
.szm-lp-g span{position:absolute;top:10px;left:12px;font-size:12px;color:#e6ecf7;background:rgba(0,0,0,.35);padding:2px 10px;border-radius:999px}

/* reviews */
.szm-lp-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.szm-lp-rev{background:#fff;border:1px solid var(--szm-line);border-radius:var(--szm-r);padding:22px}
.szm-lp-stars{color:#f5a623;letter-spacing:2px;font-size:15px}
.szm-lp-rev p{font-size:14.5px;margin:10px 0 14px;color:var(--szm-ink2)}
.szm-lp-who{font-size:13px;font-weight:700}
.szm-lp-who small{font-weight:400;color:var(--szm-ink2)}

/* faq */
.szm-lp-faq{max-width:760px;margin:32px auto 0}
.szm-lp-faq details{border:1px solid var(--szm-line);border-radius:12px;margin-bottom:10px;background:#fff;overflow:hidden}
.szm-lp-faq summary{padding:16px 20px;font-weight:700;cursor:pointer;list-style:none;position:relative}
.szm-lp-faq summary::after{content:'+';position:absolute;right:20px;font-size:20px;color:var(--szm-blue)}
.szm-lp-faq details[open] summary::after{content:'–'}
.szm-lp-a{padding:0 20px 16px;color:var(--szm-ink2);font-size:14.5px}

/* nearby */
.szm-lp-nearby{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:32px}
.szm-lp-nearby a{border:1px solid var(--szm-line);background:#fff;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:600;transition:.2s}
.szm-lp-nearby a small{color:var(--szm-ink2);font-weight:400}
.szm-lp-nearby a:hover{border-color:var(--szm-blue);color:var(--szm-blue-d);box-shadow:var(--szm-shadow)}

/* cta */
.szm-lp-cta-end{background:linear-gradient(115deg,var(--szm-navy1),var(--szm-navy2));color:#fff;text-align:center;padding:64px 0;border-radius:0}
.szm-lp-cta-end h2{font-size:clamp(24px,4vw,36px);letter-spacing:-.5px;color:#fff;margin:0}
.szm-lp-cta-end p{color:#c9d4e8;max-width:560px;margin:14px auto 28px}

@media(max-width:960px){
  .szm-lp-models{grid-template-columns:repeat(3,1fr)}
  .szm-lp-gallery{grid-template-columns:repeat(2,1fr)}
  .szm-lp-reviews{grid-template-columns:1fr}
  .szm-lp-whyus{grid-template-columns:1fr}
}
@media(max-width:640px){
  .szm-lp-counters-grid{grid-template-columns:repeat(2,1fr)}
  .szm-lp-models{grid-template-columns:repeat(2,1fr)}
  .szm-lp-gallery{grid-template-columns:1fr}
  .szm-lp-calc-grid{grid-template-columns:repeat(2,1fr)}
  .szm-lp-calc-out{grid-template-columns:repeat(2,1fr)}
}

/* models — realne zdjecie zamiast placeholdera CSS (obiekt dopasowany, lazy w markupie) */
img.szm-lp-ph{width:100%;height:150px;object-fit:cover;display:block;background:#eef1f5;border:0}

/* models — kontener na slider z wtyczki biz-product-slider */
.szm-lp-models-slider{margin-top:32px}

/* models — panel zakładek modeli (port z mockupu strony głównej) */
.szm-lp-mtabs{background:linear-gradient(135deg,var(--szm-navy1),var(--szm-navy2));color:#fff;border-radius:var(--szm-r);padding:34px 22px;margin-top:32px}
.szm-lp-mtabs-nav{display:none;gap:10px;justify-content:center;margin:0 0 24px;flex-wrap:wrap}
.szm-lp-mtabs--js .szm-lp-mtabs-nav{display:flex}
.szm-lp-mtab{position:relative;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);color:#dfe6f2;padding:11px 24px;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer;transition:.2s;font-family:inherit}
.szm-lp-mtab:hover{border-color:#8fb4ff;color:#fff}
.szm-lp-mtab.on{background:var(--szm-blue);border-color:var(--szm-blue);color:#fff}
.szm-lp-mtab small{display:block;font-size:11px;font-weight:600;opacity:.75}
.szm-lp-mtab-prog{position:absolute;left:0;bottom:0;height:3px;width:0;background:rgba(255,255,255,.85)}
.szm-lp-mtabs--js .szm-lp-mtab.on .szm-lp-mtab-prog{animation:szm-lp-prog 6s linear forwards}
.szm-lp-mtabs:hover .szm-lp-mtab.on .szm-lp-mtab-prog{animation-play-state:paused}
@keyframes szm-lp-prog{from{width:0}to{width:100%}}
.szm-lp-mmeta{display:flex;gap:24px;justify-content:center;font-size:14px;color:#aebbd4;margin-bottom:22px;flex-wrap:wrap}
.szm-lp-mmeta b{color:#fff}
.szm-lp-mtiles{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.szm-lp-mtabs--js .szm-lp-mpanel{display:none}
.szm-lp-mtabs--js .szm-lp-mpanel.on{display:block}
.szm-lp-mpanel+.szm-lp-mpanel{margin-top:28px}
.szm-lp-mtile{background:#fff;color:var(--szm-ink);border-radius:12px;overflow:hidden;position:relative;transition:.2s}
.szm-lp-mtile:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.35)}
.szm-lp-mph{aspect-ratio:3/4;background:#eceff1;position:relative}
.szm-lp-mph img{width:100%;height:100%;object-fit:cover;display:block}
.szm-lp-msw{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.szm-lp-msw i{width:56%;aspect-ratio:1;border-radius:50%;border:5px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.25);display:block}
.szm-lp-mbadge{position:absolute;top:10px;left:10px;font-size:11px;font-weight:800;letter-spacing:.4px;padding:4px 10px;border-radius:999px;color:#fff;z-index:2}
.szm-lp-mbadge-promo{background:var(--szm-promo)}
.szm-lp-mbadge-soon{background:#5a6570}
.szm-lp-mtbody{padding:12px 12px 14px}
.szm-lp-mkolor{font-weight:800;font-size:14px;line-height:1.25}
.szm-lp-mdet{font-size:12px;color:var(--szm-ink2);margin-top:2px}
.szm-lp-mprice{margin-top:8px;font-size:15px;font-weight:800;color:var(--szm-blue-d)}
.szm-lp-mprice s{color:#9aa3ab;font-weight:600;font-size:12.5px;margin-right:6px}
.szm-lp-mprice span{font-size:11.5px;color:var(--szm-ink2);font-weight:600}
.szm-lp-mgo{position:absolute;inset:0;z-index:1}
@media(max-width:1100px){.szm-lp-mtiles{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.szm-lp-mtiles{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.szm-lp-mtab.on .szm-lp-mtab-prog{animation:none}}

/* Blok oddany wtyczce klienta (shortcode: kalkulator, opinie, slider) */
.szm-lp-sc { margin-top: 18px; }
.szm-lp-sc > *:first-child { margin-top: 0; }
.szm-lp-sc > *:last-child { margin-bottom: 0; }

/* --- Sekcja modeli: panel na pelna szerokosc ekranu (0.11.0) --- */
.szm-lp-models-full{width:100%}
.szm-lp-models-sec .szm-lp-mtabs{border-radius:0;margin-top:32px;padding:34px clamp(16px,3vw,48px)}
.szm-lp-models-full .szm-lp-models,.szm-lp-models-full .szm-lp-models-slider{padding:0 clamp(16px,3vw,48px)}

/* --- Kontrast zakladek modeli --- */
/* Motyw klienta ma regule `button:not(#acceptAll){background:none;border:1px solid #3E51B5;color:#474554}`.
   `:not(#id)` liczy sie do specyficznosci jak ID (1,0,1), wiec bije kazdy nasz selektor klasowy i zakladki
   traca tlo oraz jasny kolor tekstu — napisy zlewaja sie z granatowym gradientem panelu. Stad !important
   na tych trzech deklaracjach; zakres jest zamkniety w .szm-lp, wiec nic poza naszym szablonem nie dotyka. */
.szm-lp .szm-lp-mtab{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.28)!important;color:#dfe6f2!important}
.szm-lp .szm-lp-mtab:hover{border-color:#8fb4ff!important;color:#fff!important}
.szm-lp .szm-lp-mtab.on{background:var(--szm-blue)!important;border-color:var(--szm-blue)!important;color:#fff!important}
.szm-lp .szm-lp-mtab small{color:inherit!important;opacity:.85}

/* --- Przycisk "wszystkie opinie" + modal z pelna lista (0.13.0) --- */
/* Motyw ma `button:not(#acceptAll)` o specyficznosci ID (patrz komentarz przy .szm-lp-mtab),
   wiec przycisk w postaci <button> potrzebuje tej samej ochrony co zakladki modeli. */
.szm-lp button.szm-lp-btn{background:transparent!important;border:2px solid var(--szm-blue)!important;color:var(--szm-blue)!important;cursor:pointer}
.szm-lp button.szm-lp-btn:hover{background:var(--szm-blue)!important;color:#fff!important}
.szm-lp-rev-all{margin-top:26px}

.szm-lp-modal{position:fixed;inset:0;z-index:99999;display:none}
.szm-lp-modal.on{display:block}
.szm-lp-modal-back{position:absolute;inset:0;background:rgba(8,14,28,.72)}
.szm-lp-modal-box{position:relative;margin:4vh auto;max-width:1100px;width:calc(100% - 32px);max-height:92vh;
  background:#fff;border-radius:var(--szm-r);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.szm-lp-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #e6eaef}
.szm-lp-modal-head h3{margin:0;font-size:20px;color:var(--szm-ink)}
.szm-lp-modal-x{background:none!important;border:0!important;font-size:30px;line-height:1;cursor:pointer;color:#7a8794!important;padding:0 6px}
.szm-lp-modal-x:hover{color:var(--szm-ink)!important}
.szm-lp-modal-body{overflow-y:auto;padding:20px 22px;-webkit-overflow-scrolling:touch}
.szm-lp-modal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.szm-lp-modal-card{background:#f7f9fb;border:1px solid #e6eaef;border-radius:12px;padding:16px}
.szm-lp-modal-card p{margin:10px 0 0;color:var(--szm-ink2);font-size:15px;line-height:1.55}
.szm-lp-modal-top{display:flex;align-items:center;gap:10px}
.szm-lp-modal-ava{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:0 0 40px}
.szm-lp-modal-meta{display:flex;flex-direction:column;line-height:1.3}
.szm-lp-modal-meta small{color:#8894a2;font-size:12px}
.szm-lp-modal-status{text-align:center;color:#8894a2;margin:18px 0 4px;font-size:14px}
.szm-lp-modal-sentinel{height:1px}
.szm-lp-modal-foot{padding:14px 22px;border-top:1px solid #e6eaef;text-align:center}
.szm-lp-modal-foot a{color:#7a8794;font-size:13px;text-decoration:underline}
@media(max-width:900px){.szm-lp-modal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.szm-lp-modal-grid{grid-template-columns:1fr}.szm-lp-modal-box{margin:0;width:100%;max-height:100vh;border-radius:0}}

/* --- Miasta w poblizu: zdanie z danych + link do huba wojewodzkiego (0.14.0) --- */
.szm-lp-nearby-lead{max-width:820px;margin:18px auto 0;text-align:center;color:var(--szm-ink2);font-size:16px;line-height:1.6}
.szm-lp-hub{margin-top:26px}
.szm-lp-hub .szm-lp-btn{border-color:var(--szm-blue);color:var(--szm-blue)}
.szm-lp-hub .szm-lp-btn:hover{background:var(--szm-blue);color:#fff}

/* --- Sekcja "O produkcie" (0.16.0) --- */
.szm-lp-product-sec .szm-lp-p{font-size:17px}
.szm-lp-product-sec .szm-lp-center{margin-top:22px}

/* ===== Hub wojewodzki (archiwum kategorii) ===== */
/* Motyw klienta ma `button:not(#acceptAll)` o specyficznosci ID, dlatego <button> dostaje u nas
   obrys zamiast wypelnienia (patrz regula wyzej). Dla przycisku glownego chcemy jednak plamy
   koloru — tu potrzebne jest to samo !important, inaczej regula motywu wygra. */
.szm-lp button.szm-lp-btn.szm-lp-btn-blue{background:var(--szm-blue)!important;color:#fff!important;border:2px solid var(--szm-blue)!important}
.szm-lp button.szm-lp-btn.szm-lp-btn-blue:hover{background:var(--szm-blue-d)!important;border-color:var(--szm-blue-d)!important}
/* Podtytul sekcji wyrownany do lewej. Nie da sie tego zrobic samym .szm-lp-left, bo .szm-lp-sec-sub
   stoi w arkuszu nizej i przy tej samej specyficznosci wygrywa kolejnoscia. */
.szm-hub-sub{text-align:left;color:var(--szm-ink2);max-width:760px;margin:10px 0 0}
.szm-hub-cnts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:-34px;position:relative;z-index:2}
.szm-hub-cnt{background:#fff;border:1px solid var(--szm-line);border-radius:var(--szm-r);padding:18px;box-shadow:var(--szm-shadow)}
.szm-hub-cnt b{display:block;font-size:26px;letter-spacing:-.5px}
.szm-hub-cnt span{font-size:13px;color:var(--szm-ink2)}

.szm-hub-find{background:#fff;border:1px solid var(--szm-line);border-radius:var(--szm-r);padding:22px;box-shadow:var(--szm-shadow)}
.szm-hub-find-row{display:flex;gap:10px;flex-wrap:wrap}
.szm-hub-find-row input{flex:1 1 260px;padding:14px 16px;border:1px solid #cfd6de;border-radius:10px;font-size:16px;font-family:inherit;color:var(--szm-ink)}
.szm-hub-find-row input:focus{outline:2px solid var(--szm-blue);border-color:var(--szm-blue)}
.szm-hub-hint{font-size:13px;color:var(--szm-ink2);margin:10px 0 0}
.szm-hub-geo{margin:14px 0 0;padding:14px 16px;border-radius:10px;background:var(--szm-bg2);font-size:15px;display:none}
.szm-hub-geo.on{display:block}
.szm-hub-geo a{color:var(--szm-blue);font-weight:700;text-decoration:underline}

.szm-hub-idx{display:flex;flex-wrap:wrap;gap:6px;margin:26px 0 0}
.szm-hub-ltr{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 6px;
 border:1px solid var(--szm-line);border-radius:8px;background:#fff;font-weight:700;font-size:14px}
.szm-hub-ltr:hover{border-color:var(--szm-blue);color:var(--szm-blue)}

.szm-hub-bigs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:22px}
.szm-hub-big{background:#fff;border:1px solid var(--szm-line);border-radius:var(--szm-r);padding:16px 18px;transition:.15s}
.szm-hub-big:hover{border-color:var(--szm-blue);transform:translateY(-2px);box-shadow:var(--szm-shadow)}
.szm-hub-big-n{display:block;font-weight:700;font-size:18px}
.szm-hub-big-m{display:block;font-size:13px;color:var(--szm-ink2);margin-top:3px}

.szm-hub-cols{column-count:4;column-gap:26px;margin-top:22px}
@media(max-width:900px){.szm-hub-cols{column-count:2}}
@media(max-width:520px){.szm-hub-cols{column-count:1}}
.szm-hub-grp{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 18px}
.szm-hub-grp h3{margin:0 0 6px;font-size:15px;color:var(--szm-blue);border-bottom:1px solid var(--szm-line);padding-bottom:4px}
.szm-hub-grp ul{margin:0;padding:0;list-style:none}
.szm-hub-grp li a{display:block;padding:3px 0;font-size:15px}
.szm-hub-grp li a:hover{color:var(--szm-blue);text-decoration:underline}
.szm-hub-empty{display:none;color:var(--szm-ink2);padding:20px 0}

.szm-hub-ship{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:22px}
.szm-hub-ship div{background:#fff;border:1px solid var(--szm-line);border-radius:var(--szm-r);padding:18px}
.szm-hub-ship b{display:block;font-size:22px;letter-spacing:-.5px}
.szm-hub-ship span{font-size:13px;color:var(--szm-ink2)}

.szm-hub-nb{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.szm-hub-nb a{border:1px solid var(--szm-line);background:#fff;border-radius:999px;padding:8px 16px;font-size:14px}
.szm-hub-nb a:hover{border-color:var(--szm-blue);color:var(--szm-blue)}

/* Kotwica kalkulatora: naglowek motywu jest przyklejony, wiec bez zapasu sekcja wjezdza pod niego. */
#szm-lp-kalkulator,[id^="szm-l-"],#szm-lp-modele,#szm-hub-szukaj{scroll-margin-top:110px}

/* ===== Realizacje z galerii klienta ===== */
.szm-lp-real-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
@media(max-width:760px){.szm-lp-real-grid{grid-template-columns:repeat(2,1fr);gap:9px}}
.szm-lp-real-i{display:block;position:relative;overflow:hidden;border-radius:var(--szm-r);
  background:var(--szm-bg2);aspect-ratio:4/3;line-height:0}
.szm-lp-real-i img,.szm-lp-real-img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .35s ease}
a.szm-lp-real-i:hover img{transform:scale(1.045)}
a.szm-lp-real-i::after{content:"";position:absolute;inset:0;background:rgba(0,4,40,0);transition:background .25s}
a.szm-lp-real-i:hover::after{background:rgba(0,4,40,.12)}
a.szm-lp-real-i:focus-visible{outline:3px solid var(--szm-blue);outline-offset:2px}

/* lightbox + okno „wszystkie realizacje" */
.szm-lp-lb{position:fixed;inset:0;z-index:99999;background:rgba(6,10,28,.92);display:none;
  align-items:center;justify-content:center;padding:24px}
.szm-lp-lb.on{display:flex}
.szm-lp-lb img{max-width:min(1200px,94vw);max-height:88vh;border-radius:10px;display:block}
.szm-lp-lb-cap{position:absolute;left:0;right:0;bottom:16px;text-align:center;color:#dfe6f2;font-size:14px;padding:0 24px}
.szm-lp-lb-x,.szm-lp-lb-p,.szm-lp-lb-n{position:absolute;background:rgba(255,255,255,.12);color:#fff;
  border:0;border-radius:999px;cursor:pointer;font-size:22px;line-height:1;width:46px;height:46px}
.szm-lp-lb-x{top:18px;right:18px}
.szm-lp-lb-p{left:18px;top:50%;transform:translateY(-50%)}
.szm-lp-lb-n{right:18px;top:50%;transform:translateY(-50%)}
.szm-lp-lb-x:hover,.szm-lp-lb-p:hover,.szm-lp-lb-n:hover{background:rgba(255,255,255,.25)}

.szm-lp-rm{position:fixed;inset:0;z-index:99998;background:rgba(6,10,28,.72);display:none;padding:26px 16px}
.szm-lp-rm.on{display:block}
.szm-lp-rm-in{background:#fff;border-radius:16px;max-width:1120px;margin:0 auto;max-height:90vh;
  overflow:auto;padding:22px}
.szm-lp-rm-h{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.szm-lp-rm-h h3{margin:0;font-size:20px}
.szm-lp-rm-x{background:var(--szm-bg2);border:0;border-radius:999px;width:38px;height:38px;
  font-size:20px;line-height:1;cursor:pointer;color:var(--szm-ink)}
.szm-lp-rm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:900px){.szm-lp-rm-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.szm-lp-rm-grid{grid-template-columns:repeat(2,1fr)}}
.szm-lp-rm-more{text-align:center;padding:18px 0;color:var(--szm-ink2);font-size:14px}
