/*
 * LepszaStrona - main.css
 *
 * Ładowany async (rel=preload + onload). Zawiera wszystko poza hero/header
 * (to jest w critical.css). Sekcje, pricing, FAQ, portfolio, footer, popup.
 *
 * Mobile-first: bazowe style pisane dla <640px. Breakpointy:
 *   480px  - małe telefony w poziomie
 *   640px  - duże telefony / małe tablety
 *   768px  - tablety (portrait)
 *   992px  - tablety (landscape) / małe laptopy
 *   1200px - desktopy
 */

/* ============================================================
 * SITE-WIDE SECTIONS & TYPOGRAPHY
 * ========================================================== */
.ls-section{padding:60px 0;position:relative}
@media (min-width:768px){.ls-section{padding:90px 0}}
@media (min-width:1200px){.ls-section{padding:120px 0}}

.ls-section__head{text-align:center;margin:0 auto 40px;max-width:820px}
@media (min-width:768px){.ls-section__head{margin-bottom:60px}}
.ls-section__title{font-size:clamp(28px,4.2vw,44px);letter-spacing:-.025em;margin:10px 0 16px;color:inherit}
.ls-section__lead{color:var(--ls-text-2);font-size:clamp(15px,1.4vw,17px);line-height:1.65;max-width:680px;margin:0 auto}
body.has-hero .ls-section__lead{color:#94a3b8}
.ls-accent{background:linear-gradient(135deg,var(--ls-primary) 0%,#6366f1 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Sections on dark pages (has-hero body) alternate light/dark */
body.has-hero .ls-section--services,
body.has-hero .ls-section--target,
body.has-hero .ls-section--pricing,
body.has-hero .ls-section--portfolio,
body.has-hero .ls-section--cases,
body.has-hero .ls-section--partners,
body.has-hero .ls-section--consult,
body.has-hero .ls-section--faq,
body.has-hero .ls-section--features,
body.has-hero .ls-section--types,
body.has-hero .ls-section--platform,
body.has-hero .ls-section--contact-grid,
body.has-hero .ls-section--contact-form,
body.has-hero .ls-section--offer,
body.has-hero .ls-section--pricing-callout,
body.has-hero .ls-section--process,
body.has-hero .ls-section--keywords,
body.has-hero .ls-section--editor,
body.has-hero .ls-section--story,
body.has-hero .ls-section--why,
body.has-hero .ls-section--case-story,
body.has-hero .ls-section--case-body,
body.has-hero .ls-section--case-cta,
body.has-hero .ls-section--case-more,
body.has-hero .ls-section--case-archive,
body.has-hero .ls-section--blog-archive,
body.has-hero .ls-section--post-body,
body.has-hero .ls-section--post-related,
body.has-hero .ls-section--callouts,
body.has-hero .ls-section--audience,
body.has-hero .ls-section--marketing-note,
body.has-hero .ls-section--benefits,
body.has-hero .ls-section--ads-package,
body.has-hero .ls-section--cv-cta,
body.has-hero .ls-section--cta-final{background:#fff;color:var(--ls-text)}

/* Case study: ciemne zostaje tylko hero (własny gradient); CTA ma jasne tło. */
body.has-hero .ls-section--case-hero .ls-section__title{color:#fff}
body.has-hero .ls-section--case-hero .ls-case-hero__lead,
body.has-hero .ls-section--case-hero .ls-case-hero__meta{color:#cbd5e1}
body.has-hero .ls-section--case-hero .ls-case-hero__meta strong{color:#fff}
body.has-hero .ls-section--case-hero .ls-breadcrumbs{color:#94a3b8}
body.has-hero .ls-section--case-hero .ls-breadcrumbs a{color:#e5e7eb}
body.has-hero .ls-section--case-hero .ls-breadcrumbs a:hover{color:var(--ls-primary)}
body.has-hero .ls-section--case-hero .ls-case-hero__title{color:#fff}

/* CTA strip final - padding-bottom 0, żeby CTA "przyklejał się" do footer'a
   (footer sam daje oddech przez padding-top). Eliminuje 200px pustki. */
.ls-section--cta-final{padding-top:16px;padding-bottom:20px}
@media (min-width:768px){.ls-section--cta-final{padding-top:24px;padding-bottom:28px}}
@media (min-width:1200px){.ls-section--cta-final{padding-top:32px;padding-bottom:32px}}
.ls-section--cta-final .ls-cta-strip{margin-top:0}

/* Wymuszamy kontrast tekstów w cardach bez względu na kontekst. */
.ls-process__body h3{color:var(--ls-text)}
.ls-process__body p{color:var(--ls-text-2)}
.ls-feature__title{color:var(--ls-text)}
.ls-feature__text{color:var(--ls-text-2)}

/* ============================================================
 * NAV (desktop + mobile drawer)
 * ========================================================== */
.ls-nav__list{display:flex;gap:28px;align-items:center;margin:0;padding:0;list-style:none}
.ls-nav__item{position:relative;list-style:none}
.ls-nav__list .ls-nav__link{position:relative;font-weight:500;font-size:15px;padding:8px 0;transition:color .2s;display:inline-block}
.ls-nav__list .ls-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--ls-primary);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.ls-nav__list .ls-nav__link:hover{color:var(--ls-primary)}
.ls-nav__list .ls-nav__item:hover .ls-nav__link::after,.ls-nav__list .ls-nav__item.current-menu-item > .ls-nav__link::after,.ls-nav__list .ls-nav__item.current-menu-ancestor > .ls-nav__link::after{transform:scaleX(1)}
.ls-nav__list .ls-nav__item.current-menu-item > .ls-nav__link{color:var(--ls-primary)}

/* Mobile nav drawer */
/* Mobile drawer - nowoczesny dark theme spójny z resztą */
/* Drawer jest siblingem <header> (nie wewnątrz) - z-index niezależny od stacking
   contextu headera. Kolejność: backdrop 90 < bar 100 < drawer 110. */
.ls-mobile-nav{position:fixed;top:0;right:0;bottom:0;width:min(380px,92vw);max-width:100%;background:#0a1120;color:#e5e7eb;z-index:110;padding-top:env(safe-area-inset-top,0);transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.4);-webkit-overflow-scrolling:touch}
body.ls-mobile-open .ls-mobile-nav{transform:translateX(0)}
body.ls-mobile-open{overflow:hidden}
body.ls-mobile-open::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:90;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:auto}

/* Drawer: zwykły flex (bez display:contents) - inaczej wąska kolumna rozwala napis w pion. */
.ls-mobile-nav__header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 16px 18px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(47,151,212,.12) 0%,transparent 55%);min-height:64px;min-width:0}
.ls-mobile-nav__header .ls-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1;margin:0;font-size:15px;font-weight:800;line-height:1.2;color:#fff;letter-spacing:-.02em;text-decoration:none}
.ls-mobile-nav__header .ls-brand__mark{flex-shrink:0;width:40px;height:40px;display:inline-flex!important;align-items:center;justify-content:center}
.ls-mobile-nav__header .ls-brand--has-logo .ls-brand__mark{width:auto;max-width:min(120px,calc(100% - 8px));height:40px}
.ls-mobile-nav__header .ls-brand__mark-img{object-fit:contain}
.ls-mobile-nav__header .ls-brand__text{display:inline-flex!important;flex-wrap:nowrap;align-items:baseline;gap:0;min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.25}
.ls-mobile-nav__header .ls-brand__pre{color:var(--ls-primary)}
.ls-mobile-nav__header .ls-brand__post{color:#f1f5f9}
.ls-mobile-nav__close{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#e2e8f0;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);transition:background .2s,color .2s,transform .2s}
.ls-mobile-nav__close:hover{background:rgba(255,255,255,.12);color:#fff;transform:rotate(90deg)}

.ls-mobile-nav__body{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;padding:20px 16px;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}
.ls-mobile-nav__list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}
.ls-mobile-nav__item{list-style:none;position:relative;margin:0;padding:0}
/* `wp_nav_menu` dokleja `ls-nav__item` do <li>, fallback - `ls-mobile-nav__item`.
   Używamy `> li` żeby oba źródła menu wyglądały identycznie. */
.ls-mobile-nav__list > li > a,
.ls-mobile-nav__list > li > button.ls-mobile-nav__link--toggle,
.ls-mobile-nav__list > li > button.ls-nav__link--toggle{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;margin:0;box-sizing:border-box;padding:15px 16px;border-radius:12px;font-size:16px;font-weight:600;line-height:1.25;font-family:inherit;color:#e5e7eb;background:transparent;border:none;text-align:left;transition:background .18s,color .18s;position:relative;cursor:pointer;-webkit-appearance:none;appearance:none;text-decoration:none}
.ls-mobile-nav__list > li > a::before,
.ls-mobile-nav__list > li > button.ls-mobile-nav__link--toggle::before,
.ls-mobile-nav__list > li > button.ls-nav__link--toggle::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--ls-primary);opacity:0;transition:opacity .2s,transform .2s;flex-shrink:0}
.ls-mobile-nav__list > li > a:hover,
.ls-mobile-nav__list > li > a:focus-visible,
.ls-mobile-nav__list > li > button.ls-mobile-nav__link--toggle:hover,
.ls-mobile-nav__list > li > button.ls-nav__link--toggle:hover{background:rgba(47,151,212,.1);color:#fff}
.ls-mobile-nav__list > li > a:hover::before,
.ls-mobile-nav__list > li > button.ls-mobile-nav__link--toggle:hover::before,
.ls-mobile-nav__list > li > button.ls-nav__link--toggle:hover::before{opacity:1;transform:scale(1.5)}
.ls-mobile-nav__list .current-menu-item > a,.ls-mobile-nav__list .current-menu-item > button.ls-mobile-nav__link--toggle,.ls-mobile-nav__list .current-menu-item > button.ls-nav__link--toggle{background:rgba(47,151,212,.16);color:#fff}
.ls-mobile-nav__list .current-menu-item > a::before,.ls-mobile-nav__list .current-menu-item > button.ls-mobile-nav__link--toggle::before,.ls-mobile-nav__list .current-menu-item > button.ls-nav__link--toggle::before{opacity:1;background:var(--ls-primary)}
.ls-mobile-nav__list > li > button.ls-mobile-nav__link--toggle .ls-nav__link-text,
.ls-mobile-nav__list > li > button.ls-nav__link--toggle .ls-nav__link-text{flex:1;min-width:0;text-align:left}
.ls-mobile-nav__list > li > button.ls-mobile-nav__link--toggle .ls-nav__chevron,
.ls-mobile-nav__list > li > button.ls-nav__link--toggle .ls-nav__chevron{margin-left:auto;flex-shrink:0;transition:transform .25s}
.ls-mobile-nav__list > li > button[aria-expanded="true"] .ls-nav__chevron{transform:rotate(180deg)}
.ls-mobile-nav__list > li > a.ls-nav__link{justify-content:flex-start}
.ls-mobile-nav__list > li > a.ls-nav__link .ls-nav__link-text{flex:1;min-width:0}

.ls-mobile-nav__cta{margin:24px 6px 8px}
.ls-mobile-nav__cta .ls-btn{width:100%;justify-content:center}
.ls-mobile-nav__meta{margin-top:22px;padding:22px 18px 6px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:14px}
.ls-mobile-nav__meta a{font-size:15px;color:#94a3b8;font-weight:500;display:flex;align-items:center;gap:10px;transition:color .2s}
.ls-mobile-nav__meta a:hover{color:var(--ls-primary)}

/* Burger animation when open */
body.ls-mobile-open .ls-header__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.ls-mobile-open .ls-header__burger span:nth-child(2){opacity:0}
body.ls-mobile-open .ls-header__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============================================================
 * SERVICES GRID (home)
 * ========================================================== */
.ls-services-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:640px){.ls-services-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:992px){.ls-services-grid{grid-template-columns:repeat(4,1fr);gap:24px}}

.ls-service-card{background:#fff;border:1px solid var(--ls-border);border-radius:var(--ls-radius-lg);padding:28px 24px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column}
.ls-service-card:hover{transform:translateY(-4px);box-shadow:var(--ls-shadow-lg);border-color:var(--ls-primary)}
.ls-service-card__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#eef6fc 0%,#e0eefb 100%);color:var(--ls-primary);margin-bottom:18px}
.ls-service-card__title{font-size:19px;margin-bottom:10px}
.ls-service-card__text{font-size:15px;color:var(--ls-text-2);line-height:1.6;flex:1}
.ls-service-card__link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:600;font-size:14px;color:var(--ls-primary)}
.ls-service-card__link:hover{gap:10px}
.ls-service-card__link svg{transition:transform .2s}
.ls-service-card__link:hover svg{transform:translateX(2px)}

/* ============================================================
 * PILLARS / WHY US
 * ========================================================== */
.ls-pillars{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:640px){.ls-pillars{grid-template-columns:repeat(2,1fr)}}
@media (min-width:992px){.ls-pillars{grid-template-columns:repeat(4,1fr)}}
.ls-pillar{text-align:center;padding:8px}
.ls-pillar__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#eef6fc 0%,#e0eefb 100%);color:var(--ls-primary);margin-bottom:16px}
.ls-pillar__title{font-size:18px;margin-bottom:10px}
.ls-pillar__text{font-size:15px;color:var(--ls-text-2);line-height:1.6}

/* ============================================================
 * TARGET (yes/no columns + industries chips)
 * ========================================================== */
.ls-target{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:60px}
@media (min-width:768px){.ls-target{grid-template-columns:repeat(2,1fr);gap:32px}}
.ls-target__col{padding:32px 28px;border-radius:var(--ls-radius-lg);border:1px solid var(--ls-border);background:#fff}
.ls-target__col--yes{border-color:rgba(34,197,94,.3);background:linear-gradient(135deg,rgba(34,197,94,.05) 0%,#fff 100%)}
.ls-target__col--no{border-color:rgba(239,68,68,.2);background:linear-gradient(135deg,rgba(239,68,68,.04) 0%,#fff 100%)}
.ls-target__heading{display:flex;align-items:center;gap:12px;font-size:20px;margin-bottom:20px}
.ls-target__badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;font-size:18px;font-weight:800}
.ls-target__badge--yes{background:#22c55e;color:#fff}
.ls-target__badge--no{background:#ef4444;color:#fff}
.ls-target__list li{padding:10px 0;color:var(--ls-text);font-size:15px;line-height:1.55;border-bottom:1px solid var(--ls-border)}
.ls-target__list li:last-child{border-bottom:0}
/* „Może nie jeśli…" - bullety wyblakłe, żeby wizualnie „nie były tym, na czym się skupiamy". */
.ls-target__col--no .ls-target__list li{color:var(--ls-text-2);opacity:.85}
.ls-target__col--no .ls-target__list li strong{color:var(--ls-text-2);font-weight:600}

.ls-target__industries{text-align:center}
.ls-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}
.ls-chip{padding:8px 16px;border-radius:99px;background:#f1f5f9;color:var(--ls-text);font-size:14px;font-weight:500}

/* ============================================================
 * OFFER SPLIT (home - 2 big blocks)
 * ========================================================== */
.ls-offer-split{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;padding:40px 0;border-bottom:1px solid var(--ls-border)}
.ls-offer-split:last-child{border-bottom:0}
@media (min-width:992px){.ls-offer-split{grid-template-columns:1.1fr .9fr;gap:80px;padding:70px 0}}
.ls-offer-split--reverse .ls-offer-split__visual{order:-1}
@media (min-width:992px){.ls-offer-split--reverse .ls-offer-split__visual{order:0}.ls-offer-split--reverse{grid-template-columns:.9fr 1.1fr}.ls-offer-split--reverse .ls-offer-split__text{order:2}.ls-offer-split--reverse .ls-offer-split__visual{order:1}}

.ls-offer-split__title{font-size:clamp(26px,3.2vw,38px);margin:10px 0 8px}
.ls-offer-split__price{font-size:20px;color:var(--ls-primary);font-weight:700;margin-bottom:16px}
.ls-offer-split__lead{font-size:16px;color:var(--ls-text-2);line-height:1.7;margin-bottom:24px}
.ls-offer-split__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

.ls-check-list{display:flex;flex-direction:column;gap:12px}
.ls-check-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5}
.ls-check-list li svg{flex-shrink:0;color:var(--ls-primary);margin-top:2px}

.ls-offer-split__visual{display:flex;align-items:center;justify-content:center}
/* width:100% + max-width: karta wypełnia kolumnę grida do limitu (PC ~420px); width:auto zostawiało tylko szer. ikony. */
.ls-offer-split__card{position:relative;width:100%;max-width:108px;aspect-ratio:1;margin-inline:auto;border-radius:20px;background:linear-gradient(135deg,#eef6fc 0%,#e0eefb 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 20px rgba(15,23,42,.06)}
.ls-offer-split__glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70%;height:70%;border-radius:50%;background:var(--ls-primary);filter:blur(34px);opacity:.28}
.ls-offer-split__big-icon{color:var(--ls-primary);width:40px!important;height:40px!important;max-width:100%;max-height:100%;position:relative;display:block;flex-shrink:0}
@media (min-width:480px){
	.ls-offer-split__card{max-width:128px;border-radius:22px}
	.ls-offer-split__glow{filter:blur(42px);opacity:.3}
	.ls-offer-split__big-icon{width:46px!important;height:46px!important}
}
@media (min-width:640px){
	.ls-offer-split__card{max-width:200px;border-radius:24px}
	.ls-offer-split__glow{filter:blur(50px);opacity:.3}
	.ls-offer-split__big-icon{width:56px!important;height:56px!important}
}
@media (min-width:992px){
	.ls-offer-split__card{max-width:420px;border-radius:32px}
	.ls-offer-split__glow{filter:blur(80px);opacity:.32}
	.ls-offer-split__big-icon{width:120px!important;height:120px!important}
}
/* Mobile / tablet: ikona w jednym rzędzie z tekstem (po lewej), mniejsza ikona + większy glow + padding w karcie - bez przycinania rogów. */
@media (max-width:991px){
	.ls-offer-split{grid-template-columns:auto 1fr;gap:14px 18px;align-items:start;padding:32px 0}
	.ls-offer-split__visual{grid-column:1;grid-row:1;justify-content:flex-start;margin:0;align-self:start}
	.ls-offer-split__text{grid-column:2;grid-row:1;min-width:0}
	.ls-offer-split--reverse .ls-offer-split__visual,
	.ls-offer-split--reverse .ls-offer-split__text{order:0}
	.ls-offer-split__card{width:92px;max-width:92px;margin-inline:0;padding:14px;box-sizing:border-box;border-radius:18px}
	.ls-offer-split__glow{width:88%;height:88%;filter:blur(38px);opacity:.32}
	.ls-offer-split__big-icon{width:38px!important;height:38px!important}
}

/* ============================================================
 * CASES
 * ========================================================== */
.ls-cases-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:768px){.ls-cases-grid{grid-template-columns:repeat(3,1fr);gap:24px}}
/* Każda karta dostaje własną parę kolorów przez --ls-ca / --ls-cb (inline style). */
.ls-case{--ls-ca:#2F97D4;--ls-cb:#6366F1;position:relative;background:#fff;border:1px solid var(--ls-border);border-radius:var(--ls-radius-lg);padding:28px 26px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column;overflow:hidden}
/* Kolorowy pasek gradient na górze karty */
.ls-case::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,var(--ls-ca) 0%,var(--ls-cb) 100%);opacity:.85;transition:opacity .3s,height .3s}
.ls-case:hover::before{opacity:1;height:6px}
.ls-case:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px color-mix(in oklab,var(--ls-ca) 30%,transparent);border-color:color-mix(in oklab,var(--ls-ca) 40%,var(--ls-border))}
/* Fallback dla starszych przeglądarek bez color-mix */
@supports not (color: color-mix(in oklab, red, blue)){
.ls-case:hover{box-shadow:0 16px 36px rgba(15,23,42,.12)}
}
.ls-case::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(135deg,var(--ls-primary),#6366f1);opacity:0;transition:opacity .25s}
.ls-case:hover{transform:translateY(-4px);box-shadow:var(--ls-shadow-lg);border-color:var(--ls-primary)}
.ls-case:hover::before{opacity:1}
.ls-case__head{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.ls-case__logo{flex-shrink:0;width:52px;height:52px;border-radius:12px;background:#f8fafc;border:1px solid var(--ls-border);display:flex;align-items:center;justify-content:center;padding:8px;overflow:hidden}
.ls-case__logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.ls-case__identity{min-width:0;flex:1}
.ls-case__tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ls-text-2);margin-bottom:6px}
.ls-case__brand{font-size:20px;font-weight:700;color:var(--ls-text);margin:0;line-height:1.2}
.ls-case__metrics{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;padding:20px 0;margin:0 0 20px;border-top:1px solid var(--ls-border);border-bottom:1px solid var(--ls-border)}
.ls-case__metric{display:flex;flex-direction:column;gap:4px;min-width:0}
.ls-case__metric + .ls-case__metric{padding-left:16px;border-left:1px solid var(--ls-border)}
.ls-case__metric-value{display:inline-flex;align-items:center;gap:6px;font-size:clamp(22px,2.4vw,30px);font-weight:800;letter-spacing:-.02em;color:var(--ls-text);line-height:1.1}
.ls-case__metric--primary .ls-case__metric-value{color:var(--ls-primary);font-size:clamp(26px,2.8vw,34px)}
.ls-case.is-down .ls-case__metric--primary .ls-case__metric-value{color:#22c55e}
.ls-case.is-up .ls-case__metric--primary .ls-case__metric-value{color:#22c55e}
.ls-case__metric-arrow{flex-shrink:0}
.ls-case__metric-label{display:block;font-size:12.5px;color:var(--ls-text-2);line-height:1.4}
.ls-case__text{font-size:14.5px;color:var(--ls-text-2);line-height:1.65;flex:1;margin:0 0 20px}
.ls-case__link{display:flex;flex-direction:column;height:100%;gap:0;text-decoration:none;color:inherit}
.ls-case__link .ls-case__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.ls-case__link .ls-case__head img{max-height:34px;width:auto;object-fit:contain;opacity:.8}
/* Tag: pigułka w kolorze akcentu karty, zamiast szarego - więcej personality.
   Multiline-friendly (długie tagi typu „USŁUGI · UBEZPIECZENIA · META ADS · LEAD-GEN"
   łamią się ładnie, nie odcinają pojedynczych liter). */
.ls-case .ls-case__tag{display:inline-block;margin:0;max-width:100%;padding:5px 11px;border-radius:10px;background:linear-gradient(135deg,color-mix(in oklab,var(--ls-ca) 12%,#fff) 0%,color-mix(in oklab,var(--ls-cb) 12%,#fff) 100%);color:var(--ls-ca);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1.45;white-space:normal;word-spacing:.05em}
@supports not (color: color-mix(in oklab, red, blue)){
.ls-case .ls-case__tag{background:rgba(47,151,212,.08);color:var(--ls-primary)}
}
.ls-case__link .ls-case__title{font-size:22px;font-weight:800;color:var(--ls-text);margin:0 0 10px;line-height:1.15}
.ls-case__link dl.ls-case__metrics{grid-template-columns:repeat(2,1fr);padding:22px 0;margin:4px 0 20px;border-top:1px solid var(--ls-border);border-bottom:1px solid var(--ls-border);position:relative}
.ls-case__link dl.ls-case__metrics::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:1px;background:linear-gradient(135deg,var(--ls-ca) 0%,var(--ls-cb) 100%)}
.ls-case__link .ls-case__metric dt{font-size:11.5px;color:var(--ls-text-2);margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;line-height:1.3}
/* Główna metryka (pierwsza) - gradient-text + większy rozmiar */
.ls-case__link .ls-case__metric:first-child dd{font-size:clamp(28px,3vw,38px);font-weight:800;margin:0;line-height:1;letter-spacing:-.025em;white-space:nowrap;background:linear-gradient(135deg,var(--ls-ca) 0%,var(--ls-cb) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ls-case__link .ls-case__metric:nth-child(2) dd{font-size:clamp(22px,2.2vw,28px);font-weight:800;color:var(--ls-text);margin:0;line-height:1;letter-spacing:-.02em;white-space:nowrap}
.ls-case__metric--up dd,.ls-case__metric--down dd{color:#16a34a}
.ls-case__link .ls-case__metric--up:nth-child(2) dd,
.ls-case__link .ls-case__metric--down:nth-child(2) dd{color:#16a34a}
.ls-case__metric--flat dd{color:var(--ls-text)}
/* Wskaźnik trendu - kropka przy nazwie metryki.
   Powiększona i dosunięta bliżej labelki, z outline'em, żeby wyglądała solidnie. */
.ls-case__link .ls-case__metric{position:relative;padding-left:14px;min-width:0}
.ls-case__link .ls-case__metric::before{content:"";position:absolute;left:0;top:5px;width:7px;height:7px;border-radius:50%;background:var(--ls-ca);box-shadow:0 0 0 2px color-mix(in oklab,var(--ls-ca) 20%,#fff)}
.ls-case__link .ls-case__metric:nth-child(2)::before{background:var(--ls-cb);box-shadow:0 0 0 2px color-mix(in oklab,var(--ls-cb) 20%,#fff)}
.ls-case__link .ls-case__metric--down::before,
.ls-case__link .ls-case__metric--up::before{background:#16a34a;box-shadow:0 0 0 2px rgba(22,163,74,.18)}
@supports not (color: color-mix(in oklab, red, blue)){
.ls-case__link .ls-case__metric::before,
.ls-case__link .ls-case__metric:nth-child(2)::before{box-shadow:0 0 0 2px rgba(47,151,212,.15)}
}
.ls-case__cta{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--ls-ca);margin-top:auto;transition:gap .2s,color .2s}
.ls-case:hover .ls-case__cta{gap:10px;color:var(--ls-cb)}

/* ============================================================
 * CASE STUDY - single / hero
 * ========================================================== */
.ls-breadcrumbs{font-size:13px;color:var(--ls-text-2);margin-bottom:20px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ls-breadcrumbs a{color:var(--ls-text-2);transition:color .2s}
.ls-breadcrumbs a:hover{color:var(--ls-primary)}
.ls-breadcrumbs span[aria-hidden]{opacity:.4}
.ls-breadcrumbs span[aria-current]{color:var(--ls-text);font-weight:500}

/* Archive / single case study + blog hero strip */
.ls-section--page-hero{position:relative;padding-top:140px;padding-bottom:60px;background:linear-gradient(135deg,#0b1220 0%,#1e293b 100%);color:#e5e7eb;text-align:center;overflow:hidden}
.ls-section--page-hero::before{content:"";position:absolute;top:-180px;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(47,151,212,.16),transparent 60%);pointer-events:none;z-index:0}
.ls-section--page-hero > *{position:relative;z-index:1}
.ls-section--page-hero .ls-section__title{color:#fff}
.ls-section--page-hero .ls-section__lead{color:#94a3b8;max-width:720px;margin-left:auto;margin-right:auto}
.ls-section--case-archive,.ls-section--blog-archive{background:#fff;color:var(--ls-text)}
body.has-hero .ls-section--case-archive,body.has-hero .ls-section--blog-archive{background:#fff;color:var(--ls-text)}

/* Single case study - canvas artykułu + hero z własnym gradientem (bez „pasa” z body). */
article.ls-case-study{background:#fff;color:var(--ls-text)}
.ls-section--case-hero{position:relative;padding-top:120px;padding-bottom:48px;background:linear-gradient(135deg,#0b1220 0%,#1e293b 100%);color:#e5e7eb;overflow:hidden}
.ls-section--case-hero::before{content:"";position:absolute;top:-180px;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(47,151,212,.14),transparent 60%);pointer-events:none;z-index:0}
.ls-section--case-hero > .ls-container{position:relative;z-index:1}
@media (min-width:768px){.ls-section--case-hero{padding-top:140px;padding-bottom:56px}}
@media (min-width:1200px){.ls-section--case-hero{padding-top:150px;padding-bottom:64px}}

.ls-case-hero__head{text-align:center;margin-bottom:40px}
.ls-case-hero__title{font-size:clamp(32px,4.2vw,52px);font-weight:800;letter-spacing:-.025em;line-height:1.1;margin:8px 0 14px}
.ls-case-hero__logo{margin:18px auto 22px;max-width:200px}
.ls-case-hero__logo img{max-width:100%;height:auto;margin:0 auto;display:block}
.ls-case-hero__lead{font-size:18px;color:var(--ls-text-2);line-height:1.6;margin:0 auto 22px;max-width:680px}
.ls-case-hero__meta{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;margin:0 auto 28px;padding:0;list-style:none;font-size:14px;color:var(--ls-text-2);max-width:720px}
.ls-case-hero__meta li{display:inline-flex;gap:6px;align-items:center}
.ls-case-hero__meta strong{color:var(--ls-text);font-weight:700}
.ls-case-hero__meta a{color:var(--ls-primary)}
.ls-case-hero__metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:0 0 40px;padding:0}
@media (min-width:768px){.ls-case-hero__metrics{grid-template-columns:repeat(4,1fr)}}
.ls-case-hero__metric{background:#fff;border:1px solid var(--ls-border);border-radius:16px;padding:20px 18px;text-align:center}
.ls-case-hero__metric dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ls-text-2);margin:0 0 8px;font-weight:600}
.ls-case-hero__metric dd{font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--ls-text);margin:0;letter-spacing:-.02em;line-height:1.1;white-space:nowrap}
.ls-case-hero__metric--up dd{color:#16a34a}
.ls-case-hero__metric--down dd{color:#16a34a}
.ls-case-hero__image{margin:30px 0 0;border-radius:24px;overflow:hidden;box-shadow:var(--ls-shadow-lg)}
.ls-case-hero__image img{width:100%;height:auto;display:block}

.ls-case-story{display:grid;grid-template-columns:1fr;gap:24px;margin-top:32px}
@media (min-width:900px){.ls-case-story{grid-template-columns:repeat(3,1fr)}}
.ls-case-story__block{position:relative;background:#fff;border:1px solid var(--ls-border);border-radius:20px;padding:32px 28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 4px 16px rgba(15,23,42,.04)}
.ls-case-story__block--result{box-shadow:0 6px 22px rgba(15,23,42,.06)}
.ls-case-story__block--result::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--ls-primary) 0%,#6366f1 100%);pointer-events:none}
.ls-case-story__badge{display:inline-flex;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--ls-primary) 0%,#6366f1 100%);color:#fff;align-items:center;justify-content:center;font-weight:800;font-size:14px;letter-spacing:0;box-shadow:0 4px 12px rgba(47,151,212,.3)}
.ls-case-story__block h3{font-size:22px;font-weight:800;color:var(--ls-text);margin:0;letter-spacing:-.015em}
.ls-case-story__block p{font-size:15.5px;color:var(--ls-text-2);line-height:1.7;margin:0}

/* Section headings na ciemnym tle (single case hero/more/CTA) - kontrast. */
.ls-section--case-story .ls-section__title,
.ls-section--case-body .ls-section__title,
.ls-section--case-more .ls-section__title{color:var(--ls-text)}
.ls-section--case-body .ls-prose h2,
.ls-section--case-body .ls-prose h3{color:var(--ls-text)}

/* Eyebrow na ciemnym hero case study */
body.has-hero .ls-section--case-hero .ls-eyebrow{color:var(--ls-primary);opacity:.9}
body.has-hero .ls-section--case-hero .ls-case-hero__metrics .ls-case-hero__metric{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
body.has-hero .ls-section--case-hero .ls-case-hero__metric dt{color:#94a3b8}
body.has-hero .ls-section--case-hero .ls-case-hero__metric dd{color:#fff}
body.has-hero .ls-section--case-hero .ls-case-hero__metric--up dd{color:#22c55e}
body.has-hero .ls-section--case-hero .ls-case-hero__metric--down dd{color:#22c55e}

/* Breadcrumbs podstawowy styl */
.ls-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--ls-text-2);margin:0 0 20px;padding:0}
.ls-breadcrumbs a{color:inherit;transition:color .2s}
.ls-breadcrumbs a:hover{color:var(--ls-primary)}
.ls-breadcrumbs span[aria-hidden]{opacity:.5}
.ls-breadcrumbs [aria-current]{color:var(--ls-text);font-weight:600}

.ls-section--case-body{padding-top:0}
.ls-section--case-body .ls-prose{max-width:760px;margin:0 auto}
.ls-section__title--sm{font-size:clamp(24px,2.6vw,32px);margin-bottom:18px}

/* Jasne pasy + panel treści - spójnie z resztą serwisu, bez przebitek tła body. */
article.ls-case-study .ls-section--case-story{background:#f8fafc;color:var(--ls-text)}
article.ls-case-study .ls-section--case-body{background:#f1f5f9;padding-top:28px;padding-bottom:56px;color:var(--ls-text)}
@media (min-width:768px){article.ls-case-study .ls-section--case-body{padding-top:40px;padding-bottom:80px}}
article.ls-case-study .ls-section--case-body .ls-container.ls-prose{background:#fff;border:1px solid var(--ls-border);border-radius:var(--ls-radius-lg);padding:28px 22px 36px;box-shadow:0 4px 22px rgba(15,23,42,.05)}
@media (min-width:768px){article.ls-case-study .ls-section--case-body .ls-container.ls-prose{padding:36px 32px 44px}}
article.ls-case-study .ls-section--case-cta{padding-top:20px;padding-bottom:36px}
@media (min-width:768px){article.ls-case-study .ls-section--case-cta{padding-top:24px;padding-bottom:48px}}
article.ls-case-study .ls-section--case-cta .ls-cta-strip{margin-top:0}

.ls-pagination{display:flex;gap:8px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.ls-pagination .page-numbers{padding:8px 14px;border:1px solid var(--ls-border);border-radius:10px;color:var(--ls-text);transition:all .2s}
.ls-pagination .page-numbers:hover,.ls-pagination .page-numbers.current{background:var(--ls-primary);border-color:var(--ls-primary);color:#fff}

/* ============================================================
 * BLOG - archive grid + single post (Baza wiedzy)
 * ============================================================ */
.ls-blog-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:640px){.ls-blog-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:992px){.ls-blog-grid{grid-template-columns:repeat(3,1fr);gap:28px}}

.ls-post-card{background:#fff;border:1px solid var(--ls-border);border-radius:18px;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}
.ls-post-card:hover{transform:translateY(-3px);border-color:var(--ls-primary);box-shadow:0 16px 40px rgba(15,23,42,.08)}
.ls-post-card__link{display:flex;flex-direction:column;height:100%;color:inherit}
.ls-post-card__thumb{aspect-ratio:16/10;background:linear-gradient(135deg,#eef6fc 0%,#e0eefb 100%);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:var(--ls-primary);opacity:.9}
.ls-post-card__body{display:flex;flex-direction:column;gap:10px;padding:24px 22px;flex:1}
.ls-post-card__tag{display:inline-block;align-self:flex-start;padding:4px 10px;background:rgba(47,151,212,.1);color:var(--ls-primary);border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.ls-post-card__title{font-size:19px;font-weight:700;line-height:1.3;color:var(--ls-text);margin:0}
.ls-post-card__excerpt{font-size:14.5px;color:var(--ls-text-2);line-height:1.6;margin:0}
.ls-post-card__meta{margin-top:auto;padding-top:14px;display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ls-text-2)}

.ls-blog-empty{text-align:center;padding:60px 20px;color:var(--ls-text-2)}
.ls-blog-empty a{color:var(--ls-primary);font-weight:600}

/* Single post */
.ls-post__title{font-size:clamp(28px,4.5vw,48px);font-weight:800;letter-spacing:-.025em;line-height:1.15;color:#fff;margin:10px 0 20px;max-width:820px;margin-left:auto;margin-right:auto;text-align:center}
.ls-post__meta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:14px;color:#94a3b8}
.ls-post__meta li{display:inline-flex;align-items:center;gap:8px}
.ls-post__meta li + li::before{content:"·";margin-right:4px;color:#475569}
.ls-post__cover{padding:0;margin:-40px 0 0;background:transparent}
body.has-hero .ls-post__cover{background:#fff}
.ls-post__cover .ls-container{max-width:960px}
.ls-post__cover-img{width:100%;height:auto;border-radius:20px;box-shadow:var(--ls-shadow-lg);display:block}
.ls-section--post-body{background:#fff;padding-top:48px}
body.has-hero .ls-section--post-body{background:#fff;color:var(--ls-text)}
.ls-prose{max-width:760px;margin:0 auto;font-size:17px;line-height:1.75;color:var(--ls-text)}
.ls-prose h2{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:44px 0 16px;color:var(--ls-text)}
.ls-prose h3{font-size:22px;font-weight:700;margin:34px 0 12px;color:var(--ls-text)}
.ls-prose p{margin:0 0 18px}
.ls-prose ul,.ls-prose ol{margin:0 0 22px;padding-left:24px}
.ls-prose li{margin:0 0 8px}
.ls-prose a{color:var(--ls-primary);text-decoration:underline;text-underline-offset:3px}
.ls-prose blockquote{border-left:3px solid var(--ls-primary);padding:12px 20px;margin:24px 0;background:#f8fafc;border-radius:0 12px 12px 0;font-style:italic;color:var(--ls-text-2)}
.ls-prose img{max-width:100%;height:auto;border-radius:14px;margin:20px 0}
.ls-prose code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:.92em}
.ls-prose pre{background:#0b1220;color:#e5e7eb;padding:18px 20px;border-radius:12px;overflow-x:auto;margin:22px 0}
.ls-prose pre code{background:transparent;color:inherit;padding:0}

.ls-post__tags{display:flex;flex-wrap:wrap;gap:8px;margin:32px auto 0;max-width:760px}
.ls-post__tag{padding:6px 12px;background:#f1f5f9;color:var(--ls-text-2);border-radius:999px;font-size:13px;font-weight:500;transition:all .2s}
.ls-post__tag:hover{background:var(--ls-primary);color:#fff}

.ls-post__nav{display:grid;grid-template-columns:1fr;gap:16px;margin:48px auto 0;max-width:760px}
@media (min-width:768px){.ls-post__nav{grid-template-columns:1fr 1fr;gap:20px}}
.ls-post__nav-link{display:flex;flex-direction:column;gap:6px;padding:20px 22px;background:#fff;border:1px solid var(--ls-border);border-radius:14px;transition:all .2s;color:inherit}
.ls-post__nav-link:hover{border-color:var(--ls-primary);transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.06)}
.ls-post__nav-link--next{text-align:right}
.ls-post__nav-label{font-size:13px;font-weight:600;color:var(--ls-primary);text-transform:uppercase;letter-spacing:.06em}
.ls-post__nav-title{font-size:16px;font-weight:600;color:var(--ls-text);line-height:1.4}

.ls-section--post-related{padding-top:48px}
.ls-section--post-related .ls-section__head{margin-bottom:36px}

/* ============================================================
 * PORTFOLIO WRAPPER (outer container for plugin shortcode)
 * ========================================================== */
.ls-portfolio-wrap{margin-top:20px}

/* ============================================================
 * PORTFOLIO CAROUSEL - mobile overrides (plugin lepszastrona-portfolio)
 *
 * Na mobile chcemy: pełna szerokość karty (nie wystający sąsiad),
 * responsywny swipe (touch-action: pan-y żeby nie walczyć ze scrollem)
 * i mocniejsza strzałka w zasięgu kciuka.
 * ========================================================== */
/* Track: tylko pionowy pan przepuszczamy do strony, horyzontalne gesty
   przechwytuje JS (axis-lock + preventDefault). Bez tego iOS Safari
   traktuje horizontal swipe jako back/forward navigation. */
.lsp-carousel-track{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.lsp-carousel-track .lsp-card,
.lsp-carousel-track .lsp-card *{-webkit-user-drag:none}
.lsp-carousel-track img{pointer-events:none;-webkit-user-drag:none;user-select:none}
/* Podczas aktywnego drag-a nie chcemy „smuga tekstowego" selektowania
   ani tooltipa z obrazków na longpress. */
.lsp-carousel-track.lsp-dragging{cursor:grabbing}
.lsp-carousel-track.lsp-dragging *{cursor:grabbing!important}

@media (max-width:640px){
  .lsp-carousel{--lsp-visible:1!important;padding-bottom:64px;position:relative}
  .lsp-carousel-viewport{margin:0 6px!important;border-radius:12px;overflow:hidden}
  .lsp-card{padding:0 4px!important}
  /* Strzałki pod karuzelą - 48×48 to minimalny tap target WCAG na mobile.
     Obie wyraźne, gradient brand → user jasno widzi że MOŻE iść w obie strony. */
  .lsp-carousel-arrow{
    width:48px!important;height:48px!important;
    top:auto!important;bottom:-4px!important;transform:none!important;
    z-index:4;touch-action:manipulation;
    background:linear-gradient(135deg,var(--ls-primary),#6366F1)!important;
    color:#fff!important;border:0!important;
    box-shadow:0 4px 14px rgba(47,151,212,.35)!important
  }
  .lsp-carousel-arrow:active{transform:scale(.94)!important}
  .lsp-carousel-arrow svg{stroke:#fff}
  .lsp-arrow-prev{left:calc(50% - 56px)!important}
  .lsp-arrow-next{left:auto!important;right:calc(50% - 56px)!important}
  /* Subtelny hint po prawej - sygnalizuje, że po swipie jest więcej kafelków.
     Pokazujemy tylko dopóki user nie zacznie swipe'ować (usuwamy po drag-dirty). */
  .lsp-carousel:not(.lsp-swiped)::after{
    content:'';position:absolute;right:6px;top:0;bottom:64px;width:32px;
    pointer-events:none;z-index:3;
    background:linear-gradient(270deg,rgba(15,23,42,.10),rgba(15,23,42,0));
    border-top-right-radius:12px;border-bottom-right-radius:12px;
    animation:lsp-hint 2.2s ease-in-out infinite
  }
}
@keyframes lsp-hint{
  0%,100%{opacity:.55;transform:translateX(0)}
  50%{opacity:1;transform:translateX(-4px)}
}

/* ============================================================
 * PARTNERS / TESTIMONIALS
 * ========================================================== */
.ls-testimonials{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:56px}
@media (min-width:768px){.ls-testimonials{grid-template-columns:repeat(2,1fr);gap:28px}}
.ls-testimonials[data-cols="1"]{grid-template-columns:1fr;max-width:720px;margin-left:auto;margin-right:auto}
@media (min-width:1100px){.ls-testimonials[data-cols="3"]{grid-template-columns:repeat(3,1fr)}}
.ls-testimonial{position:relative;padding:36px 32px 28px;background:#fff;border-radius:var(--ls-radius-lg);border:1px solid var(--ls-border);margin:0;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.ls-testimonial:hover{transform:translateY(-3px);box-shadow:var(--ls-shadow-lg)}
.ls-testimonial__mark{position:absolute;top:-12px;left:28px;color:var(--ls-primary);background:#fff;padding:0 6px;border-radius:4px}
.ls-testimonial__quote{font-size:15.5px;line-height:1.75;color:var(--ls-text);margin:0 0 16px;font-style:normal}
.ls-testimonial__highlight{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(135deg,rgba(34,197,94,.08),rgba(47,151,212,.08));border:1px solid rgba(34,197,94,.25);border-radius:10px;color:#15803d;font-weight:700;font-size:13.5px;margin:0 0 20px;align-self:flex-start}
.ls-testimonial__highlight-icon{flex-shrink:0}
.ls-testimonial__author{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--ls-border)}
.ls-testimonial__logo{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:#f8fafc;border:1px solid var(--ls-border);display:flex;align-items:center;justify-content:center;padding:6px;overflow:hidden}
.ls-testimonial__logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.ls-testimonial__identity{min-width:0;flex:1}
.ls-testimonial__identity strong{display:block;font-size:14.5px;font-weight:700;color:var(--ls-text)}
.ls-testimonial__identity span{display:block;font-size:13px;color:var(--ls-text-2);margin-top:2px}

.ls-partners-wrap{text-align:center}
.ls-partners-wrap__title{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--ls-text-2);margin:0 0 20px}
.ls-partners{display:flex;flex-wrap:wrap;gap:32px 48px;justify-content:center;align-items:center;padding:32px 28px;background:#f8fafc;border-radius:var(--ls-radius-lg);border:1px solid var(--ls-border)}
.ls-partners__item{display:inline-flex;align-items:center;justify-content:center;min-height:48px;opacity:.85;transition:opacity .2s,transform .2s}
.ls-partners__item:hover{opacity:1;transform:translateY(-2px)}
.ls-partners__item img{max-height:48px;width:auto;height:auto;display:block;object-fit:contain;filter:saturate(.9)}
.ls-partners__item a{display:inline-flex}

/* ============================================================
 * PRICING
 * ========================================================== */
.ls-pricing-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:40px}
@media (min-width:640px){.ls-pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:992px){.ls-pricing-grid{grid-template-columns:repeat(3,1fr);gap:24px}}
.ls-price-card{position:relative;background:#fff;border:1px solid var(--ls-border);border-radius:var(--ls-radius-lg);padding:32px 26px 28px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.ls-price-card:hover{transform:translateY(-4px);box-shadow:var(--ls-shadow-lg)}
.ls-price-card--featured{border-color:var(--ls-primary);box-shadow:0 12px 40px rgba(47,151,212,.15)}
.ls-price-card__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--ls-primary);color:#fff;padding:6px 14px;border-radius:99px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.ls-price-card__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#eef6fc 0%,#e0eefb 100%);color:var(--ls-primary);margin-bottom:16px}
.ls-price-card__name{font-size:20px;margin-bottom:8px}
.ls-price-card__price{font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--ls-primary);margin-bottom:14px;line-height:1.1}
.ls-price-card__desc{font-size:14px;color:var(--ls-text-2);line-height:1.6;margin-bottom:24px;flex:1}

.ls-pricing__note{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:32px;background:linear-gradient(135deg,var(--ls-bg) 0%,var(--ls-bg-2) 100%);color:#fff;border-radius:var(--ls-radius-lg);margin-top:40px}
.ls-pricing__note strong{font-size:18px}
@media (min-width:768px){.ls-pricing__note{flex-direction:row;justify-content:space-between;text-align:left}}

/* ============================================================
 * CONSULTATION
 * ========================================================== */
.ls-benefits{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:50px}
@media (min-width:640px){.ls-benefits{grid-template-columns:repeat(2,1fr)}}
@media (min-width:992px){.ls-benefits{grid-template-columns:repeat(4,1fr)}}
.ls-benefit{text-align:center;padding:4px}
.ls-benefit__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#eef6fc 0%,#e0eefb 100%);color:var(--ls-primary);margin-bottom:14px}
.ls-benefit__title{font-size:17px;margin-bottom:8px}
.ls-benefit__text{font-size:14px;color:var(--ls-text-2);line-height:1.6}

.ls-consult__form,.ls-consult__fallback{max-width:720px;margin:0 auto;padding:24px;background:#f8fafc;border-radius:var(--ls-radius-lg);border:1px solid var(--ls-border)}
@media (max-width:640px){.ls-consult__form{padding:16px 10px;border-radius:18px}}
.ls-consult__fallback{text-align:center}
.ls-consult__cta-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:16px}
.ls-consult__cta-wrap .ls-btn{font-size:17px;padding:18px 32px;min-height:56px}
.ls-consult__note{color:var(--ls-text-2);font-size:14px;text-align:center;margin:0}

/* ============================================================
 * BOOKING WIDGET - mobile overrides (plugin lepszastrona-booking)
 *
 * Domyślne style pluginu dają karty usług na całą szerokość (1 column)
 * z gigantycznymi emoji-ikonami. Dla motywu mobile-first wymuszamy:
 *   - 2 kolumny na <480px (zamiast 1)
 *   - mniejsze padding/gap
 *   - stały rozmiar ikonki (emoji), żeby nic nie rosło na full-width
 *   - safety dla wp-smiley w razie staticize
 * ========================================================== */
.lsb-widget{max-width:100%!important;margin:1rem 0!important}
.lsb-step{padding:20px 16px!important}
.lsb-service-icon{display:inline-flex!important;align-items:center;justify-content:center;font-size:26px!important;line-height:1!important;width:36px;height:36px;flex:0 0 auto}
.lsb-service-icon img,.lsb-service-icon .wp-smiley,.lsb-service-icon .emoji{max-width:26px!important;max-height:26px!important;width:26px!important;height:26px!important;display:inline!important}
.lsb-services-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;gap:10px!important}
.lsb-service-card{padding:14px 10px!important;gap:4px!important;min-height:unset!important}
.lsb-service-name{font-size:13.5px!important;line-height:1.3!important}
.lsb-service-desc{font-size:12px!important}
@media (max-width:639px){
  .lsb-services-grid{grid-template-columns:1fr 1fr!important}
  .lsb-step{padding:14px 10px!important}
  .lsb-service-card{padding:12px 8px!important}
  .lsb-service-icon{width:32px;height:32px;font-size:22px!important}
  .lsb-service-icon img,.lsb-service-icon .wp-smiley,.lsb-service-icon .emoji{max-width:22px!important;max-height:22px!important;width:22px!important;height:22px!important}
  .lsb-calendar-wrapper{grid-template-columns:1fr!important;gap:16px!important}
  .lsb-progress-steps{padding:0!important;gap:4px}
  .lsb-step-label{display:none!important}
}

/* ============================================================
 * FAQ
 * ========================================================== */
.ls-faq{display:flex;flex-direction:column;gap:12px}
.ls-faq__item details{background:#fff;border:1px solid var(--ls-border);border-radius:16px;overflow:hidden;transition:border-color .2s}
.ls-faq__item details[open]{border-color:var(--ls-primary);box-shadow:0 8px 30px rgba(15,23,42,.06)}
.ls-faq__item summary{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}
.ls-faq__item summary::-webkit-details-marker{display:none}
.ls-faq__q{font-weight:600;font-size:16px;flex:1}
.ls-faq__toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#f1f5f9;color:var(--ls-primary);flex-shrink:0;transition:transform .2s,background-color .2s}
.ls-faq__item details[open] .ls-faq__toggle{transform:rotate(45deg);background:var(--ls-primary);color:#fff}
.ls-faq__a{padding:4px 24px 24px;color:var(--ls-text-2);font-size:15px;line-height:1.7;margin:0;border-top:1px solid #f1f5f9}
.ls-faq__a p{margin:16px 0 0;font-size:15px;line-height:1.7;color:var(--ls-text-2)}
.ls-faq__a p:first-child{margin-top:16px}
.ls-faq__a p:last-child{margin-bottom:0}
.ls-faq__a ul,.ls-faq__a ol{margin:14px 0 0;padding-left:22px;color:var(--ls-text-2)}
.ls-faq__a li{margin:0 0 6px}
.ls-faq__a strong{color:var(--ls-text)}
.ls-faq__a a{color:var(--ls-primary);text-decoration:underline;text-underline-offset:3px}

/* ============================================================
 * CONTACT FORM (page-kontakt)
 * ========================================================== */
.ls-contact-form{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:18px;background:#fff;border:1px solid var(--ls-border);border-radius:20px;padding:32px 28px;box-shadow:0 8px 28px rgba(15,23,42,.06)}
@media (min-width:768px){.ls-contact-form{padding:40px 36px}}
.ls-contact-form__hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ls-contact-form__row{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:640px){.ls-contact-form__row{grid-template-columns:1fr 1fr}}
.ls-contact-form__label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--ls-text)}
.ls-contact-form__label em{color:var(--ls-primary);font-style:normal;font-weight:700}
.ls-contact-form__label small{color:var(--ls-text-2);font-weight:400}
.ls-contact-form input[type="text"],
.ls-contact-form input[type="email"],
.ls-contact-form input[type="tel"],
.ls-contact-form textarea{width:100%;padding:12px 14px;border:1px solid var(--ls-border);border-radius:10px;font:inherit;font-size:15px;color:var(--ls-text);background:#f8fafc;transition:border-color .2s,background-color .2s,box-shadow .2s;font-weight:400}
.ls-contact-form input:focus,
.ls-contact-form textarea:focus{outline:0;border-color:var(--ls-primary);background:#fff;box-shadow:0 0 0 3px rgba(47,151,212,.15)}
.ls-contact-form textarea{resize:vertical;min-height:140px;line-height:1.6}
.ls-contact-form__consent{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--ls-text-2);line-height:1.55;cursor:pointer}
.ls-contact-form__consent input[type="checkbox"]{margin-top:3px;flex-shrink:0;width:17px;height:17px;accent-color:var(--ls-primary);cursor:pointer}
.ls-contact-form__consent a{color:var(--ls-primary);text-decoration:underline;text-underline-offset:3px}
.ls-contact-form__captcha{margin:4px 0 0}
.ls-contact-form__captcha .g-recaptcha{display:inline-block}
/* Mobile - reCAPTCHA przeskalowana proporcjonalnie, żeby mieściła się na <320px ekranach */
@media (max-width:359px){.ls-contact-form__captcha .g-recaptcha{transform:scale(.85);transform-origin:0 0}}
.ls-contact-form__submit{align-self:flex-start;padding:14px 26px;font-size:15px;font-weight:700}
@media (max-width:639px){.ls-contact-form__submit{align-self:stretch;justify-content:center}}
.ls-contact-form__note{font-size:13.5px;color:var(--ls-text-2);margin:0;line-height:1.55}
.ls-contact-form__note a{color:var(--ls-primary);font-weight:600}
.ls-contact-form__msg{padding:14px 18px;border-radius:12px;font-size:14.5px;line-height:1.55}
.ls-contact-form__msg strong{display:block;margin-bottom:4px;font-size:15px}
.ls-contact-form__msg--ok{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.3);color:#166534}
.ls-contact-form__msg--ok strong{color:#15803d}
.ls-contact-form__msg--err{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3);color:#991b1b}
.ls-contact-form__msg--err strong{color:#b91c1c}
.ls-contact-form__msg a{color:inherit;text-decoration:underline;font-weight:600}

/* ============================================================
 * FEATURES (page-strona / page-sklep)
 * ========================================================== */
.ls-features{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:640px){.ls-features{grid-template-columns:repeat(2,1fr)}}
@media (min-width:992px){.ls-features{grid-template-columns:repeat(3,1fr);gap:28px}}
.ls-feature{padding:28px 26px;background:#fff;border:1px solid var(--ls-border);border-radius:var(--ls-radius-lg);transition:transform .25s,border-color .25s}
.ls-feature:hover{transform:translateY(-2px);border-color:var(--ls-primary)}
.ls-feature__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#eef6fc 0%,#e0eefb 100%);color:var(--ls-primary);margin-bottom:14px}
.ls-feature__title{font-size:18px;margin-bottom:10px}
.ls-feature__text{font-size:15px;color:var(--ls-text-2);line-height:1.6}

/* Types grid (page-strona) - similar to service card */
.ls-types-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:40px}
@media (min-width:640px){.ls-types-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:992px){.ls-types-grid{grid-template-columns:repeat(3,1fr)}}
.ls-type-card{padding:28px 24px;background:#fff;border:1px solid var(--ls-border);border-radius:var(--ls-radius-lg);transition:transform .25s,border-color .25s}
.ls-type-card:hover{transform:translateY(-3px);border-color:var(--ls-primary);box-shadow:var(--ls-shadow)}
.ls-type-card__icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,#eef6fc 0%,#e0eefb 100%);color:var(--ls-primary);margin-bottom:16px}
.ls-type-card__title{font-size:17px;margin-bottom:10px}
.ls-type-card__text{font-size:14.5px;color:var(--ls-text-2);line-height:1.6}

/* Mini stats on portfolio/cases sections */
.ls-mini-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:40px 0;padding:24px;background:#f8fafc;border-radius:var(--ls-radius-lg)}
@media (min-width:768px){.ls-mini-stats{grid-template-columns:repeat(4,1fr)}}
.ls-mini-stats li{text-align:center}
.ls-mini-stats strong{display:block;font-size:24px;color:var(--ls-primary);font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.ls-mini-stats span{display:block;font-size:12px;color:var(--ls-text-2);margin-top:4px}

/* CTA strip */
.ls-cta-strip{display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px 32px;background:linear-gradient(135deg,var(--ls-primary) 0%,var(--ls-primary-dark) 100%);color:#fff;border-radius:var(--ls-radius-lg);text-align:center;margin-top:30px}
.ls-cta-strip p{font-size:18px;font-weight:600}
@media (min-width:768px){.ls-cta-strip{flex-direction:row;justify-content:space-between;text-align:left}}
.ls-cta-strip .ls-btn--primary{background:#fff;color:var(--ls-primary);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.ls-cta-strip .ls-btn--primary:hover{background:#f8fafc}

/* ============================================================
 * SKLEP - platform comparison
 * ========================================================== */
.ls-platforms{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:992px){.ls-platforms{grid-template-columns:repeat(2,1fr);gap:32px}}
.ls-platform{position:relative;padding:40px 32px;background:#fff;border:1px solid var(--ls-border);border-radius:var(--ls-radius-lg);transition:transform .25s,box-shadow .25s}
.ls-platform:hover{transform:translateY(-4px);box-shadow:var(--ls-shadow-lg)}
.ls-platform--featured{border-color:var(--ls-primary);box-shadow:0 12px 40px rgba(47,151,212,.12)}
.ls-platform__badge{position:absolute;top:-12px;left:32px;background:var(--ls-primary);color:#fff;padding:6px 14px;border-radius:99px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.ls-platform__title{font-size:24px;margin-bottom:6px}
.ls-platform__subtitle{color:var(--ls-primary);font-weight:600;font-size:14px;margin-bottom:16px}
.ls-platform__lead{color:var(--ls-text-2);font-size:15px;line-height:1.7;margin-bottom:22px}

/* ============================================================
 * CONTACT page
 * ========================================================== */
.ls-contact-grid{display:grid;grid-template-columns:1fr;gap:32px}
@media (min-width:992px){.ls-contact-grid{grid-template-columns:1.4fr 1fr;gap:48px}}
.ls-contact-grid__booking,.ls-contact-grid__info{padding:32px;background:#fff;border:1px solid var(--ls-border);border-radius:var(--ls-radius-lg)}
.ls-contact-grid__title{font-size:22px;margin-bottom:8px}
.ls-contact-grid__lead{color:var(--ls-text-2);font-size:15px;line-height:1.6;margin-bottom:24px}
.ls-contact-methods{display:flex;flex-direction:column;gap:18px;margin-bottom:28px}
.ls-contact-methods li{display:flex;gap:14px;align-items:flex-start}
.ls-contact-methods__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#eef6fc 0%,#e0eefb 100%);color:var(--ls-primary);flex-shrink:0}
.ls-contact-methods__label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ls-text-2);margin-bottom:2px}
.ls-contact-methods__value{font-size:17px;font-weight:600;color:var(--ls-text)}
a.ls-contact-methods__value:hover{color:var(--ls-primary)}
.ls-contact-grid__services h4{font-size:15px;margin-bottom:12px}
.ls-contact-grid__services ul{display:flex;flex-direction:column;gap:8px;padding-top:20px;border-top:1px solid var(--ls-border)}
.ls-contact-grid__services li{font-size:14px;color:var(--ls-text-2);padding-left:20px;position:relative}
.ls-contact-grid__services li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--ls-primary)}

/* Platform price + popular badge */
.ls-platform__price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:24px;padding-top:20px;border-top:1px dashed var(--ls-border)}
.ls-platform__price span{font-size:13px;color:var(--ls-text-2);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.ls-platform__price strong{font-size:22px;font-weight:800;color:var(--ls-primary);letter-spacing:-.015em;white-space:nowrap}
.ls-platform__badge--popular{background:#22c55e}

/* Hero price hint (service pages) */
.ls-hero__price-hint{display:inline-block;margin-top:16px;padding:10px 18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:99px;color:#cbd5e1;font-size:14px;font-weight:500;letter-spacing:.01em}
.ls-hero__price-hint strong{color:#fff;font-weight:700;white-space:nowrap}
body.has-hero:not(.ls-is-scrolled) .ls-hero__price-hint{backdrop-filter:blur(8px)}

/* Pricing callout (strona/sklep subpages) */
.ls-section--pricing-callout{padding:40px 0 0}
@media (min-width:768px){.ls-section--pricing-callout{padding:60px 0 0}}
.ls-pricing-callout{padding:40px 32px;background:linear-gradient(135deg,#0b1220 0%,#1e293b 100%);color:#e5e7eb;border-radius:var(--ls-radius-lg);display:grid;grid-template-columns:1fr;gap:28px;position:relative;overflow:hidden}
.ls-pricing-callout::before{content:"";position:absolute;top:-40%;right:-10%;width:60%;height:160%;background:radial-gradient(circle,rgba(47,151,212,.25),transparent 60%);pointer-events:none}
@media (min-width:768px){.ls-pricing-callout{padding:56px 56px;grid-template-columns:1.4fr 1fr}}
.ls-pricing-callout > *{position:relative;z-index:1}
.ls-pricing-callout__text{max-width:640px}
.ls-pricing-callout .ls-eyebrow{color:#94a3b8}
.ls-pricing-callout__title{font-size:clamp(24px,3.2vw,36px);color:#fff;margin:8px 0 16px;letter-spacing:-.02em;line-height:1.2}
.ls-pricing-callout__title .ls-accent{display:inline-block;white-space:nowrap;background:linear-gradient(135deg,#fff 0%,var(--ls-primary) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ls-pricing-callout__lead{color:#94a3b8;font-size:15.5px;line-height:1.7;margin:0}
.ls-pricing-callout__list{display:flex;flex-direction:column;gap:14px}
.ls-pricing-callout__list li{display:flex;flex-direction:column;padding:16px 20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px}
.ls-pricing-callout__list strong{font-size:18px;color:#fff;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.ls-pricing-callout__list span{font-size:13px;color:#94a3b8;margin-top:2px}
.ls-pricing-callout__cta{grid-column:1/-1;display:flex;justify-content:flex-start}

/* ── Ads pricing section (Google/Meta/TikTok pages) ─────────── */
.ls-section--pricing-ads{padding:40px 0}
@media (min-width:768px){.ls-section--pricing-ads{padding:60px 0}}
.ls-pricing-ads{background:linear-gradient(135deg,#0b1220 0%,#1e293b 100%);border-radius:var(--ls-radius-lg);padding:40px 28px;position:relative;overflow:hidden;color:#e5e7eb}
.ls-pricing-ads__bg{position:absolute;top:-40%;right:-5%;width:55%;height:160%;background:radial-gradient(ellipse,rgba(47,151,212,.18),transparent 65%);pointer-events:none}
@media (min-width:768px){.ls-pricing-ads{padding:52px 56px}}
.ls-pricing-ads__head{position:relative;z-index:1;margin-bottom:36px}
.ls-pricing-ads__head .ls-eyebrow{color:#94a3b8}
.ls-pricing-ads__title{font-size:clamp(22px,3vw,34px);font-weight:900;color:#fff;margin:8px 0 0;letter-spacing:-.025em;line-height:1.2}
.ls-pricing-ads__title .ls-accent{background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Two-tier grid */
.ls-pricing-ads__tiers{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:640px){.ls-pricing-ads__tiers{grid-template-columns:1fr 1fr}}

/* Base tier card */
.ls-pricing-tier{display:flex;flex-direction:column;gap:0;border-radius:16px;padding:28px 24px 24px;position:relative;text-decoration:none;color:inherit}
/* Solo tier – muted / secondary */
.ls-pricing-tier--solo{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
/* Package tier – highlighted / primary */
.ls-pricing-tier--pkg{background:linear-gradient(160deg,rgba(14,30,68,.95) 0%,rgba(12,24,52,.98) 100%);border:1px solid rgba(56,189,248,.35);box-shadow:0 0 0 1px rgba(56,189,248,.12),0 12px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);transition:transform .25s,box-shadow .25s}
.ls-pricing-tier--pkg:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(56,189,248,.55),0 18px 50px rgba(56,189,248,.15),inset 0 1px 0 rgba(255,255,255,.08)}
/* Badge */
.ls-pricing-tier__badge{position:absolute;top:-12px;left:24px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;background:linear-gradient(135deg,#0ea5e9,#6366f1);color:#fff;padding:4px 14px;border-radius:999px;white-space:nowrap}
/* Name */
.ls-pricing-tier__name{font-size:13px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}
.ls-pricing-tier--pkg .ls-pricing-tier__name{color:#7dd3fc}
/* Price */
.ls-pricing-tier__price{font-size:clamp(26px,4vw,36px);font-weight:900;color:#fff;letter-spacing:-.035em;line-height:1;margin:0 0 4px}
.ls-pricing-tier--pkg .ls-pricing-tier__price{background:linear-gradient(135deg,#f0f9ff 0%,#bae6fd 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
/* Platform labels (pkg only) */
.ls-pricing-tier__platforms{font-size:12px;color:#38bdf8;font-weight:600;margin:0 0 20px;letter-spacing:.01em}
/* Features list */
.ls-pricing-tier__features{list-style:none;margin:0 0 auto;padding:0;display:flex;flex-direction:column;gap:8px;flex:1}
.ls-pricing-tier__features li{font-size:13px;color:#94a3b8;line-height:1.5;padding-left:18px;position:relative}
.ls-pricing-tier__features li::before{content:"–";position:absolute;left:0;color:#475569}
.ls-pricing-tier--pkg .ls-pricing-tier__features li{color:#cbd5e1}
.ls-pricing-tier--pkg .ls-pricing-tier__features li::before{content:"✓";color:#34d399;font-weight:700}
/* CTA inside solo card */
.ls-pricing-tier__cta{margin-top:24px}
.ls-pricing-tier__cta .ls-btn{width:100%;justify-content:center}
/* Scroll link inside pkg card */
.ls-pricing-tier__link{display:inline-flex;align-items:center;gap:6px;margin-top:24px;font-size:13px;font-weight:700;color:#38bdf8;letter-spacing:.01em}
.ls-pricing-tier__link svg{animation:lsPkgBounce 1.6s ease-in-out infinite;flex-shrink:0}
@keyframes lsPkgBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}

/* Trust footer row */
.ls-pricing-ads__trust{position:relative;z-index:1;margin-top:28px;display:flex;flex-wrap:wrap;gap:8px 20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.07)}
.ls-pricing-ads__trust span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#64748b}
.ls-pricing-ads__trust svg{color:#34d399;flex-shrink:0}

/* ── Ads Package section ──────────────────────────────────── */
.ls-section--ads-package{padding:0 0 40px}
@media (min-width:768px){.ls-section--ads-package{padding:0 0 60px}}
.ls-ads-package{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr;background:linear-gradient(135deg,#0b1220 0%,#1e293b 100%);border-radius:var(--ls-radius-lg);padding:40px 28px;gap:40px;color:#e5e7eb}
.ls-ads-package::after{content:"";position:absolute;top:-60%;right:-10%;width:70%;height:200%;background:radial-gradient(ellipse at center,rgba(47,151,212,.22) 0%,transparent 65%);pointer-events:none}
@media (min-width:900px){.ls-ads-package{grid-template-columns:1.15fr 1fr;gap:48px;padding:56px 64px}}
.ls-ads-package__glow{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(47,151,212,.6) 50%,transparent 100%);pointer-events:none}
.ls-ads-package__left,.ls-ads-package__right{position:relative;z-index:1}

/* chips row */
.ls-ads-package__chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 20px}
.ls-ads-package__chip{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 14px;border-radius:999px;line-height:1.4}
.ls-ads-package__chip--g{background:rgba(66,133,244,.18);color:#93c5fd;border:1px solid rgba(66,133,244,.3)}
.ls-ads-package__chip--m{background:rgba(24,119,242,.18);color:#93c5fd;border:1px solid rgba(24,119,242,.3)}
.ls-ads-package__chip--t{background:rgba(254,44,85,.18);color:#fca5a5;border:1px solid rgba(254,44,85,.28)}
.ls-ads-package__chip-plus{font-size:18px;font-weight:300;color:#475569;line-height:1}

.ls-ads-package__title{font-size:clamp(24px,3.2vw,38px);font-weight:900;color:#fff;margin:0 0 16px;letter-spacing:-.025em;line-height:1.15}
.ls-ads-package__title .ls-accent{background:linear-gradient(135deg,#38bdf8 0%,#818cf8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ls-ads-package__lead{font-size:15px;color:#94a3b8;line-height:1.7;max-width:500px}

/* right column */
.ls-ads-package__right{display:flex;flex-direction:column;gap:24px}
.ls-ads-package__price-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px 28px;backdrop-filter:blur(4px)}
.ls-ads-package__price-num{display:block;font-size:clamp(30px,4.5vw,46px);font-weight:900;color:#fff;letter-spacing:-.04em;line-height:1;margin-bottom:8px}
.ls-ads-package__price-sub{font-size:12px;color:#64748b;line-height:1.5}

.ls-ads-package__perks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.ls-ads-package__perks li{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:#cbd5e1;line-height:1.55}
.ls-ads-package__perks li svg{flex-shrink:0;margin-top:1px;color:#34d399;stroke-width:2.5}

.ls-ads-package__cta{display:flex}
.ls-ads-package__links{font-size:13px;color:#475569;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0}
.ls-ads-package__links span{color:#334155}
.ls-ads-package__links a{color:#7dd3fc;text-decoration:none;font-weight:600;transition:color .2s}
.ls-ads-package__links a:hover{color:#e0f2fe}
.ls-ads-package__links a+a::before{content:"·";margin-right:6px;color:#334155}

/* ── Content & Video cross-sell callout ───────────────────── */
.ls-section--cv-cta{padding:0 0 40px}
@media (min-width:768px){.ls-section--cv-cta{padding:0 0 60px}}
.ls-cv-callout{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--ls-radius-lg);padding:24px 28px}
.ls-cv-callout__icon{flex-shrink:0;color:#0284c7;display:flex}
.ls-cv-callout__body{flex:1 1 280px}
.ls-cv-callout__title{font-size:16px;font-weight:700;color:var(--ls-text);margin:0 0 4px}
.ls-cv-callout__text{font-size:14px;color:var(--ls-text-secondary);line-height:1.6;margin:0}
.ls-cv-callout__btn{flex-shrink:0;border-color:#0284c7;color:#0284c7}
.ls-cv-callout__btn:hover{background:#0284c7;color:#fff;border-color:#0284c7}

/* ============================================================
 * FOOTER
 * ========================================================== */
/* ============================================================
 * FOOTER v2 - premium, 4-column
 * ========================================================== */
.ls-footer{position:relative;background:#0a1120;color:#cbd5e1;padding-top:28px;overflow:hidden;border-top:1px solid rgba(255,255,255,.06)}
@media (min-width:768px){.ls-footer{padding-top:36px}}
.ls-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(135deg,transparent 0%,rgba(47,151,212,.5) 50%,transparent 100%)}
.ls-footer > *{position:relative;z-index:1}

.ls-footer__inner{display:grid;grid-template-columns:1fr;gap:48px;padding-bottom:32px}
@media (min-width:768px){.ls-footer__inner{grid-template-columns:1.3fr 2fr;gap:60px;padding-bottom:36px}}
@media (min-width:1200px){.ls-footer__inner{padding-bottom:40px}}

/* Brand column */
.ls-footer__brand-col{display:flex;flex-direction:column;gap:20px}
.ls-footer__brand-col .ls-brand{font-size:26px;color:#fff}
.ls-footer__brand-col .ls-brand__pre{color:var(--ls-primary)}
.ls-footer__brand-col .ls-brand__post{color:#fff}
.ls-footer__about{color:#94a3b8;font-size:15px;line-height:1.7;margin:0;max-width:420px}

/* Contact list */
.ls-footer__contact{display:flex;flex-direction:column;gap:10px;font-size:15px;margin:4px 0 0;padding:0;list-style:none}
.ls-footer__contact li{display:flex;align-items:center;gap:10px;color:#cbd5e1}
.ls-footer__contact a{color:#e5e7eb;font-weight:500;transition:color .2s}
.ls-footer__contact a:hover{color:var(--ls-primary)}
.ls-footer__ico{flex-shrink:0;color:var(--ls-primary);opacity:.8}

/* Socials */
.ls-footer__socials{display:flex;gap:10px;margin-top:8px}
.ls-footer__socials a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#cbd5e1;transition:all .2s}
.ls-footer__socials a:hover{background:var(--ls-primary);border-color:var(--ls-primary);color:#fff;transform:translateY(-2px)}

/* Link columns */
.ls-footer__cols{display:grid;grid-template-columns:repeat(1,1fr);gap:32px}
@media (min-width:480px){.ls-footer__cols{grid-template-columns:repeat(3,1fr)}}
.ls-footer__heading{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin:0 0 20px;font-weight:700}
.ls-footer__col ul{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.ls-footer__col a{font-size:14.5px;color:#94a3b8;transition:color .2s,transform .2s;display:inline-block}
.ls-footer__col a:hover{color:#fff;transform:translateX(3px)}

/* Bottom bar */
/* Legal row - dane spółki operatora */
.ls-footer__legal{border-top:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.015)}
/* UWAGA: `padding:20px 0` zerowało poziomy padding z .ls-container. Używamy
   padding-block, żeby paddingi boczne containera zostały. */
.ls-footer__legal-inner{display:flex;flex-direction:column;gap:16px;padding-top:20px;padding-bottom:20px;font-size:13px;color:#94a3b8}
@media (min-width:900px){.ls-footer__legal-inner{flex-direction:row;justify-content:space-between;align-items:center;gap:32px;padding-top:22px;padding-bottom:22px}}
.ls-footer__legal-entity{display:flex;flex-direction:column;gap:2px;min-width:0}
.ls-footer__legal-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-weight:600}
.ls-footer__legal-name{color:#e5e7eb;font-weight:700;font-size:14px}
.ls-footer__legal-addr{color:#94a3b8;font-size:13px}
.ls-footer__legal-data{display:grid;grid-template-columns:repeat(2,auto);gap:6px 28px;margin:0;padding:0;list-style:none}
@media (min-width:640px){.ls-footer__legal-data{grid-template-columns:repeat(4,auto);gap:4px 32px}}
.ls-footer__legal-data > div{display:flex;flex-direction:column;min-width:0}
.ls-footer__legal-data dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#64748b;font-weight:600;margin:0}
.ls-footer__legal-data dd{font-size:13.5px;color:#cbd5e1;font-variant-numeric:tabular-nums;margin:0;font-weight:500}
.ls-footer__bar{border-top:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.2)}
.ls-footer__bar-inner{display:flex;flex-direction:column;gap:8px;padding-top:20px;padding-bottom:20px;font-size:13px;color:#64748b;text-align:center}
@media (min-width:768px){.ls-footer__bar-inner{flex-direction:row;justify-content:space-between;text-align:left}}
.ls-footer__copy{margin:0}
.ls-footer__made{margin:0}
.ls-footer__made a{color:#cbd5e1;transition:color .2s}
.ls-footer__made a:hover{color:var(--ls-primary)}

/* ============================================================
 * MEGA MENU (desktop dropdown + mobile accordion)
 * ========================================================== */
.ls-nav__item--mega{position:relative}
/* Wyższa specyficzność niż .ls-nav__list .ls-nav__link, żeby flex wygrał nad inline-block. */
.ls-nav__list .ls-nav__link--toggle{background:transparent;border:0;color:inherit;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 6px;white-space:nowrap;line-height:1}
.ls-nav__list .ls-nav__link--toggle .ls-nav__link-text{display:inline-block}
.ls-nav__chevron{flex-shrink:0;transition:transform .2s;opacity:.7;display:inline-block;vertical-align:middle}
.ls-nav__item--mega.is-open .ls-nav__chevron{transform:rotate(180deg)}

/* Desktop mega dropdown */
@media (min-width:992px){
	.ls-mega{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(-6px);width:min(940px,calc(100vw - 48px));background:#fff;border:1px solid var(--ls-border);border-radius:20px;box-shadow:0 20px 60px rgba(15,23,42,.18);padding:32px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s,visibility 0s linear .2s;z-index:50}
	/* Invisible bridge, żeby hover nie wypadał w 12px luce między buttonem a panelem */
	.ls-mega::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px;background:transparent}
	.ls-nav__item--mega::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px;pointer-events:none}
	.ls-nav__item--mega.is-open::after{pointer-events:auto}
	.ls-mega[hidden]{display:none}
	.ls-nav__item--mega.is-open .ls-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);transition:opacity .2s,transform .2s,visibility 0s}
	.ls-nav__item--mega.is-open .ls-mega[hidden]{display:block}
	.ls-mega__inner{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
}
@media (max-width:991px){
	.ls-mega--mobile{display:block;margin:8px 0 12px;padding:16px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;min-width:0;overflow:hidden}
	.ls-mega--mobile[hidden]{display:none}
	.ls-mega--mobile .ls-mega__inner{display:flex;flex-direction:column;gap:14px;min-width:0}
	/* minmax(240px) na wąskim drawerze robiło overflow-x i „krzaki” / ucięcia. */
	.ls-mega--mobile .ls-mega__industries ul{grid-template-columns:1fr!important}
	.ls-mega--mobile .ls-mega__industries a{flex-wrap:wrap;min-width:0;overflow-wrap:anywhere}
}

.ls-mega__intro{text-align:left}
.ls-mega__title{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:6px 0 10px;color:#0b1220;line-height:1.25}
.ls-mega__desc{font-size:14px;color:#64748b;line-height:1.6;margin:0 0 16px}
.ls-mega__all-link{display:inline-flex;align-items:center;gap:6px;color:var(--ls-primary);font-weight:600;font-size:14px}
.ls-mega__all-link:hover{gap:10px}

.ls-mega__grid{display:grid;grid-template-columns:1fr;gap:6px;margin:0;padding:0;list-style:none}
@media (min-width:992px){.ls-mega__grid{grid-template-columns:repeat(2,1fr);gap:8px}}
.ls-mega__link{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;border-radius:12px;transition:background .2s,transform .2s;color:inherit}
.ls-mega__link:hover{background:#f1f5f9}
.ls-mega__link:hover .ls-mega__icon{background:var(--ls-primary);color:#fff}
.ls-mega__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#eef6fc;color:var(--ls-primary);transition:background .2s,color .2s}
.ls-mega__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.ls-mega__name{font-weight:700;font-size:15px;color:#0b1220;line-height:1.3}
.ls-mega__desc-mini{font-size:13px;color:#64748b;line-height:1.5}

/* Mobile theming - overlay is dark (również .ls-mobile-nav .ls-mega gdyby kiedyś brakowało --mobile). */
@media (max-width:991px){
	.ls-mega--mobile .ls-mega__title,.ls-mega--mobile .ls-mega__name,
	.ls-mobile-nav .ls-mega .ls-mega__title,.ls-mobile-nav .ls-mega .ls-mega__name{color:#f1f5f9}
	.ls-mega--mobile .ls-mega__desc,.ls-mega--mobile .ls-mega__desc-mini,
	.ls-mobile-nav .ls-mega .ls-mega__desc,.ls-mobile-nav .ls-mega .ls-mega__desc-mini{color:#cbd5e1}
	.ls-mega--mobile .ls-mega__icon,.ls-mobile-nav .ls-mega .ls-mega__icon{background:rgba(47,151,212,.15);color:var(--ls-primary)}
	.ls-mega--mobile .ls-mega__link,.ls-mobile-nav .ls-mega .ls-mega__link{color:#e5e7eb}
	.ls-mega--mobile .ls-mega__link:hover,.ls-mobile-nav .ls-mega .ls-mega__link:hover{background:rgba(255,255,255,.06)}
	.ls-mega--mobile .ls-mega__all-link,.ls-mobile-nav .ls-mega .ls-mega__all-link{color:#7dd3fc}
	.ls-mega--mobile .ls-mega__title .ls-accent,.ls-mobile-nav .ls-mega .ls-mega__title .ls-accent{background:linear-gradient(135deg,#e0f2fe 0%,var(--ls-primary) 50%,#c7d2fe 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
}

/* Mega menu - strony branżowe (osobna sekcja poniżej grid usług) */
.ls-mega__industries{grid-column:1/-1;margin-top:8px;padding-top:16px;border-top:1px solid #e2e8f0}
.ls-mega__industries-title{margin:0 0 10px;font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-weight:700}
.ls-mega__industries ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px}
.ls-mega__industries a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;transition:background .2s;color:#0b1220;font-weight:600;font-size:14px}
.ls-mega__industries a:hover{background:#f1f5f9;color:var(--ls-primary)}
.ls-mega__industries a small{font-size:12px;color:#64748b;font-weight:500}
.ls-mega__industries a:hover small{color:var(--ls-primary)}
@media (max-width:991px){
	.ls-mega--mobile .ls-mega__industries,.ls-mobile-nav .ls-mega .ls-mega__industries{border-top-color:rgba(255,255,255,.08)}
	.ls-mega--mobile .ls-mega__industries-title,.ls-mobile-nav .ls-mega .ls-mega__industries-title{color:#94a3b8}
	.ls-mega--mobile .ls-mega__industries a,.ls-mobile-nav .ls-mega .ls-mega__industries a{color:#e5e7eb}
	.ls-mega--mobile .ls-mega__industries a:hover,.ls-mobile-nav .ls-mega .ls-mega__industries a:hover{background:rgba(255,255,255,.06);color:#fff}
	.ls-mega--mobile .ls-mega__industries a small,.ls-mobile-nav .ls-mega .ls-mega__industries a small{color:#94a3b8}
}

/* ============================================================
 * SERVICE PAGE (page-service.php)
 * ========================================================== */
.ls-section--service-hero{padding-top:140px;padding-bottom:60px;background:linear-gradient(135deg,#0b1220 0%,#1e293b 100%);color:#e5e7eb;position:relative;overflow:hidden}
.ls-section--service-hero .ls-breadcrumbs{color:#94a3b8;justify-content:center}
.ls-section--service-hero .ls-breadcrumbs a{color:#cbd5e1}
.ls-section--service-hero .ls-breadcrumbs span[aria-current]{color:#fff}
.ls-service-hero__head{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:820px;margin:0 auto;position:relative;z-index:1}
/* inline-flex + .ls-eyebrow inline-block siedziały w jednym rzędzie - kolumna: ikona nad eyebrow. */
.ls-section--service-hero .ls-service-hero__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 12px;border-radius:14px;background:linear-gradient(135deg,rgba(47,151,212,.2),rgba(99,102,241,.2));border:1px solid rgba(47,151,212,.4);color:var(--ls-primary)}
.ls-section--service-hero .ls-service-hero__icon svg{width:22px;height:22px}
.ls-section--service-hero .ls-service-hero__head .ls-eyebrow{display:block;width:100%;max-width:36em;margin:0 auto 6px;line-height:1.35}
@media (min-width:640px){
	.ls-section--service-hero .ls-service-hero__icon{width:52px;height:52px;margin-bottom:14px}
	.ls-section--service-hero .ls-service-hero__icon svg{width:24px;height:24px}
}
.ls-service-hero__title{font-size:clamp(34px,5vw,58px);font-weight:800;letter-spacing:-.025em;line-height:1.08;margin:14px 0 18px;color:#fff}
.ls-service-hero__lead{font-size:clamp(16px,1.6vw,19px);line-height:1.65;color:#cbd5e1;margin:0 auto 24px;max-width:720px}
.ls-service-hero__cta{display:flex;flex-direction:column;gap:12px;justify-content:center;align-items:center;margin-top:8px}
@media (min-width:640px){.ls-service-hero__cta{flex-direction:row}}
.ls-service-hero__cta .ls-btn--ghost{color:#fff;border-color:rgba(255,255,255,.25)}
.ls-service-hero__cta .ls-btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}

/* Process steps */
/* Keywords / SEO phrases pill list on service pages */
.ls-keywords{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;list-style:none;margin:0;padding:0}
.ls-keywords li{list-style:none}
.ls-keywords span{display:inline-block;padding:10px 18px;border-radius:999px;background:#fff;border:1px solid var(--ls-border);font-size:14.5px;font-weight:600;color:var(--ls-text);transition:all .2s}
.ls-keywords span:hover{background:var(--ls-primary);color:#fff;border-color:var(--ls-primary);transform:translateY(-1px)}
.ls-section--keywords .ls-keywords{margin-top:8px}

/* Stopka - sama nazwa (bez znaczka), pełna szerokość, bez ucinania „.net". */
.ls-footer__brand-col .ls-brand--no-mark{max-width:100%;min-width:0;align-self:flex-start}
.ls-footer__brand-col .ls-brand--no-mark .ls-brand__text{flex-wrap:wrap;white-space:normal;word-break:break-word;min-width:0;max-width:100%}

/* Popup konsultacji nad floating callback; przy otwarciu chowamy „Zostaw numer". */
#ls-booking-popup.ls-popup{z-index:1000}
body.ls-popup-open .ls-callback{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}
.ls-popup__dialog{padding-bottom:max(28px,env(safe-area-inset-bottom,0px))}
@media (max-width:639px){
	#ls-booking-popup .ls-popup__dialog{max-height:min(92vh,820px)}
	#ls-booking-popup .lsb-widget{margin:0 auto;max-width:100%}
	#ls-booking-popup .lsb-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
	#ls-booking-popup .lsb-service-card{padding:10px 8px;gap:4px}
	#ls-booking-popup .lsb-service-icon{font-size:1.35rem;line-height:1}
	#ls-booking-popup .lsb-service-name{font-size:.78rem;line-height:1.2}
	#ls-booking-popup .lsb-service-desc{display:none}
	#ls-booking-popup .lsb-step{padding:1rem 1rem 1.25rem}
	#ls-booking-popup .lsb-step-title{font-size:1.12rem}
	#ls-booking-popup .lsb-nav{margin-top:.75rem;gap:8px;flex-wrap:wrap}
	#ls-booking-popup .lsb-btn-primary{padding:11px 16px;font-size:.92rem;margin-left:0}
	#ls-booking-popup .lsb-btn-secondary{padding:11px 14px;font-size:.9rem}
}

.ls-process{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px;counter-reset:step}
.ls-process__step{display:flex;gap:20px;background:#fff;border:1px solid var(--ls-border);border-radius:16px;padding:24px 22px;transition:border-color .2s,transform .2s}
.ls-process__step:hover{border-color:var(--ls-primary);transform:translateX(3px)}
.ls-process__num{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--ls-primary) 0%,#6366f1 100%);color:#fff;font-weight:800;font-size:15px;letter-spacing:.02em}
.ls-process__body h3{font-size:18px;font-weight:700;margin:0 0 6px}
.ls-process__body p{font-size:14.5px;color:var(--ls-text-2);line-height:1.65;margin:0}
.ls-popup{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s}
.ls-popup[hidden]{display:none}
.ls-popup.is-open{opacity:1}
.ls-popup__backdrop{position:absolute;inset:0;background:rgba(11,18,32,.75);backdrop-filter:blur(4px)}
.ls-popup__dialog{position:relative;background:#fff;color:#0b1220;border-radius:20px;width:100%;max-width:640px;max-height:min(90vh,840px);overflow-y:auto;padding:32px 28px;box-shadow:0 30px 80px rgba(0,0,0,.4);transform:translateY(10px);transition:transform .25s}
.ls-popup.is-open .ls-popup__dialog{transform:translateY(0)}
.ls-popup__close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#64748b}
.ls-popup__close:hover{background:#f1f5f9;color:#0b1220}
.ls-popup__title{font-size:24px;margin-bottom:8px}
.ls-popup__lead{color:var(--ls-text-2);font-size:15px;margin-bottom:24px;line-height:1.5}
@media (min-width:640px){.ls-popup__dialog{padding:40px 36px}}

/* Prevent body scroll when popup open */
body.ls-popup-open{overflow:hidden}

/* ============================================================
 * PROSE (editor content fallback)
 * ========================================================== */
.ls-prose h2{font-size:28px;margin:32px 0 14px}
.ls-prose h3{font-size:22px;margin:24px 0 12px}
.ls-prose p{margin-bottom:16px;line-height:1.7;color:var(--ls-text-2)}
.ls-prose a{color:var(--ls-primary);text-decoration:underline}
.ls-prose ul,.ls-prose ol{margin:0 0 20px 22px;padding:0}
.ls-prose li{margin-bottom:8px;line-height:1.7}

/* ============================================================
 * Accessibility / motion
 * ========================================================== */
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important;scroll-behavior:auto!important}
}

/* focus outline */
a:focus-visible,button:focus-visible,summary:focus-visible,.ls-btn:focus-visible{outline:2px solid var(--ls-primary);outline-offset:3px;border-radius:10px}

/* ============================================================= */
/*   Industry landing pages (page-industry.php)                    */
/* ============================================================= */

/* Callouts - 2 „wielkie karty" (ustawa + plugin) */
.ls-callouts{display:grid;grid-template-columns:1fr;gap:24px;margin-top:8px}
@media (min-width:900px){.ls-callouts{grid-template-columns:repeat(2,1fr);gap:28px}}
.ls-callout{position:relative;background:#fff;border:1.5px solid var(--ls-border);border-radius:var(--ls-radius-lg);padding:28px 28px 24px;overflow:hidden;transition:border-color .3s,box-shadow .3s,transform .3s}
.ls-callout::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,var(--ls-primary) 0%,#6366f1 100%)}
.ls-callout:hover{transform:translateY(-3px);box-shadow:0 20px 40px -12px rgba(15,23,42,.14);border-color:color-mix(in oklab,var(--ls-primary) 35%,var(--ls-border))}
.ls-callout__head{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.ls-callout__icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgba(47,151,212,.1) 0%,rgba(99,102,241,.12) 100%);color:var(--ls-primary);display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}
.ls-callout__head .ls-eyebrow{margin:0;color:var(--ls-primary);font-size:12px}
.ls-callout__title{font-size:22px;font-weight:800;color:var(--ls-text);line-height:1.2;margin:0;letter-spacing:-.015em}
.ls-callout__title a{color:var(--ls-primary);border-bottom:2px solid rgba(47,151,212,.25);transition:border-color .2s}
.ls-callout__title a:hover{border-color:var(--ls-primary)}
.ls-callout__lead{font-size:15px;color:var(--ls-text);line-height:1.65;margin:0 0 14px}
.ls-callout__list{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.ls-callout__list li{position:relative;padding-left:24px;font-size:14.5px;color:var(--ls-text);line-height:1.55}
.ls-callout__list li::before{content:"";position:absolute;left:0;top:9px;width:14px;height:8px;border-left:2.5px solid var(--ls-primary);border-bottom:2.5px solid var(--ls-primary);transform:rotate(-45deg);opacity:.85}
.ls-callout__note{margin:12px 0 0;padding:12px 14px;background:linear-gradient(135deg,rgba(47,151,212,.06) 0%,rgba(99,102,241,.08) 100%);border-left:3px solid var(--ls-primary);border-radius:0 10px 10px 0;font-size:13.5px;color:var(--ls-text);line-height:1.55;font-style:italic}

/* Audience list - prosta z checkmarkami */
.ls-audience-list{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:640px){.ls-audience-list{grid-template-columns:repeat(2,1fr);gap:12px 24px}}
.ls-audience-list li{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#fff;border:1px solid var(--ls-border);border-radius:12px;font-size:15px;color:var(--ls-text);line-height:1.5}
.ls-audience-list li svg{flex-shrink:0;margin-top:2px;color:#16a34a}

/* Marketing note - pełnoszerokościowy akcent */
.ls-marketing-note{background:linear-gradient(135deg,rgba(47,151,212,.04) 0%,rgba(99,102,241,.05) 100%);border:1.5px solid var(--ls-border);border-radius:var(--ls-radius-lg);padding:32px 28px;position:relative;overflow:hidden}
.ls-marketing-note::before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(135deg,var(--ls-primary) 0%,#6366f1 100%)}
.ls-marketing-note .ls-eyebrow{margin:0 0 6px;color:var(--ls-primary)}
.ls-marketing-note__body{font-size:16px;line-height:1.75;color:var(--ls-text);margin:10px 0 0;max-width:72ch}
.ls-marketing-note__body strong{color:var(--ls-text);font-weight:700}
.ls-marketing-note__cta{margin-top:22px}

/* Hero price hint - tweak pod industry landing */
.ls-industry-page .ls-hero__price-hint strong{color:#fff}

/* ============================================================= */
/*   Floating callback widget - „Oddzwonimy"                       */
/* ============================================================= */
.ls-callback{position:fixed;right:20px;bottom:20px;z-index:950;pointer-events:none}
.ls-callback > *{pointer-events:auto}
@media (min-width:640px){.ls-callback{right:24px;bottom:24px}}
@media (min-width:1024px){.ls-callback{right:28px;bottom:28px}}

/* Trigger (button) */
.ls-callback__trigger{position:relative;display:inline-flex;align-items:center;gap:12px;padding:12px 18px 12px 14px;border:0;border-radius:999px;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--ls-primary) 0%,#6366f1 100%);box-shadow:0 12px 32px -8px rgba(47,151,212,.55),0 4px 12px rgba(15,23,42,.18);font:inherit;font-weight:600;transition:transform .25s,box-shadow .25s,filter .25s}
.ls-callback__trigger:hover{transform:translateY(-2px);box-shadow:0 16px 40px -8px rgba(47,151,212,.7),0 6px 16px rgba(15,23,42,.22);filter:brightness(1.08)}
.ls-callback__trigger:active{transform:translateY(0)}
.ls-callback__trigger-icon{flex-shrink:0;width:22px;height:22px}
.ls-callback__trigger-text{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.ls-callback__trigger-text strong{font-size:14.5px;font-weight:700;letter-spacing:-.01em}
.ls-callback__trigger-text small{font-size:11.5px;font-weight:500;opacity:.85;letter-spacing:.02em}
/* Mała wersja (tylko ikonka) na bardzo wąskich ekranach */
@media (max-width:380px){
.ls-callback__trigger{padding:14px;gap:0}
.ls-callback__trigger-text{display:none}
}
/* Pulse */
.ls-callback__trigger-pulse{position:absolute;inset:-4px;border-radius:999px;background:linear-gradient(135deg,var(--ls-primary) 0%,#6366f1 100%);opacity:.45;z-index:-1;animation:ls-cb-pulse 2.4s cubic-bezier(.22,.61,.36,1) infinite}
@keyframes ls-cb-pulse{0%{transform:scale(1);opacity:.5}80%,100%{transform:scale(1.35);opacity:0}}
@media (prefers-reduced-motion:reduce){.ls-callback__trigger-pulse{animation:none;opacity:0}}

/* Panel */
.ls-callback__panel{position:absolute;right:0;bottom:calc(100% + 14px);width:min(92vw,360px);background:#fff;border:1px solid var(--ls-border);border-radius:20px;box-shadow:0 24px 48px -12px rgba(15,23,42,.28),0 8px 20px rgba(15,23,42,.12);padding:22px 22px 20px;opacity:0;transform:translateY(12px) scale(.98);visibility:hidden;transition:opacity .22s,transform .22s,visibility .22s}
.ls-callback.is-open .ls-callback__panel{opacity:1;transform:translateY(0) scale(1);visibility:visible}
.ls-callback.is-open .ls-callback__trigger-pulse{display:none}
/* Kolorowy pasek gradient na górze panelu */
.ls-callback__panel::before{content:"";position:absolute;top:0;left:22px;right:22px;height:3px;background:linear-gradient(135deg,var(--ls-primary) 0%,#6366f1 100%);border-radius:3px}

.ls-callback__close{position:absolute;top:10px;right:10px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:8px;color:var(--ls-text-2);cursor:pointer;transition:background .2s,color .2s}
.ls-callback__close:hover{background:var(--ls-gray);color:var(--ls-text)}

.ls-callback__head{margin:2px 30px 14px 0}
.ls-callback__title{font-size:18px;font-weight:800;margin:0 0 4px;color:var(--ls-text);letter-spacing:-.01em}
.ls-callback__lead{font-size:13.5px;color:var(--ls-text-2);margin:0;line-height:1.5}

.ls-callback__form{display:flex;flex-direction:column;gap:12px}
.ls-callback__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ls-callback__field{display:flex;flex-direction:column;gap:5px}
.ls-callback__label{font-size:12.5px;font-weight:600;color:var(--ls-text);letter-spacing:.01em}
.ls-callback__label small{font-weight:400;color:var(--ls-text-2)}
.ls-callback__req{color:#dc2626;margin-left:2px}
.ls-callback__form input[type="text"],
.ls-callback__form input[type="tel"],
.ls-callback__form input[type="email"]{width:100%;padding:11px 13px;border:1.5px solid var(--ls-border);border-radius:10px;background:#fff;font-size:14.5px;font-family:inherit;color:var(--ls-text);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none;box-sizing:border-box}
.ls-callback__form input[type="text"]:focus,
.ls-callback__form input[type="tel"]:focus,
.ls-callback__form input[type="email"]:focus{outline:0;border-color:var(--ls-primary);box-shadow:0 0 0 3px rgba(47,151,212,.15)}
.ls-callback__form input::placeholder{color:#94a3b8;opacity:1}

.ls-callback__consent{display:flex;gap:10px;align-items:flex-start;font-size:11.5px;line-height:1.5;color:var(--ls-text-2)}
.ls-callback__consent input[type="checkbox"]{margin-top:2px;flex-shrink:0;accent-color:var(--ls-primary);width:15px;height:15px;cursor:pointer}
.ls-callback__consent strong{color:var(--ls-text)}
.ls-callback__consent a{color:var(--ls-primary);text-decoration:underline}

.ls-callback__submit{margin-top:4px;padding:12px 16px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--ls-primary) 0%,#6366f1 100%);font:inherit;font-weight:700;font-size:14.5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:filter .2s,transform .2s}
.ls-callback__submit:hover{filter:brightness(1.08);transform:translateY(-1px)}
.ls-callback__submit[disabled]{opacity:.65;cursor:wait}
.ls-callback__spinner{display:none;animation:ls-cb-spin 1s linear infinite}
.ls-callback__submit[disabled] .ls-callback__spinner{display:inline-block}
@keyframes ls-cb-spin{to{transform:rotate(360deg)}}

.ls-callback__status{font-size:12.5px;margin:4px 0 0;min-height:18px;line-height:1.5}
.ls-callback__status.is-ok{color:#15803d;font-weight:600}
.ls-callback__status.is-err{color:#b91c1c;font-weight:600}

/* Po wysłaniu zostaje tylko komunikat - pola to <label class="field">, nie same inputy. */
.ls-callback.is-sent .ls-callback__form > *:not(.ls-callback__status){display:none!important}
.ls-callback.is-sent .ls-callback__form .ls-callback__status{display:block;margin-top:0;font-size:14px}

@media (prefers-reduced-motion:reduce){
.ls-callback__panel{transition:none}
}
