/* ================================================================
   RodPanel – strona główna (v29.3)
   Kolorystyka jak w panelu (zieleń #16a34a). Klasy z prefiksem lp-.
   ================================================================ */

.lp{
  --lp-green: #16a34a;
  --lp-green-2: #15803d;
  --lp-green-3: #14532d;
  --lp-mint: #f0fdf4;
  --lp-mint-2: #dcfce7;
  --lp-ink: #0f172a;
  --lp-text: #334155;
  --lp-muted: #64748b;
  --lp-line: #e2e8f0;
  --lp-bg-alt: #f6faf7;
  --lp-radius: 16px;
  --lp-shadow: 0 1px 2px rgba(15,23,42,.06), 0 8px 24px -12px rgba(15,23,42,.18);
  --lp-header-h: 68px;
  background: #fff;
  color: var(--lp-text);
  font-size: 17px;
  line-height: 1.6;
}

html:has(body.lp){ scroll-behavior: smooth; }
.lp [id]{ scroll-margin-top: calc(var(--lp-header-h) + 12px); }

.lp h1, .lp h2, .lp h3{ color: var(--lp-ink); letter-spacing: -.02em; }
.lp a{ color: var(--lp-green-2); }
.lp a.btn{ color: #fff; text-decoration: none; }
.lp a.btn.btn-ghost{ color: var(--lp-ink); background: #fff; }
.lp a.btn.btn-ghost:hover{ background: #f8fafc; }

.lp-wrap{ max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.lp-narrow{ max-width: 860px; }

.lp-skip{ position: absolute; left: -9999px; top: 8px; z-index: 100; background: #fff; padding: 8px 12px; border-radius: 8px; }
.lp-skip:focus{ left: 8px; }

.lp-ico{ display: inline-block; flex: none; }

.lp .btn{ border-radius: 12px; }
.lp-btn-lg{ padding: 14px 22px; font-size: 16px; }
.lp-btn-block{ display: flex; width: 100%; justify-content: center; }

/* ---------------- nagłówek ---------------- */
.lp-header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.92);
  -webkit-backdrop-filter: saturate(180%) blur(10px);
  backdrop-filter: saturate(180%) blur(10px);
  border-bottom: 1px solid var(--lp-line);
}
.lp-header-in{ height: var(--lp-header-h); display: flex; align-items: center; gap: 22px; }
.lp-logo{ font-size: 22px; font-weight: 1000; color: var(--lp-green) !important; text-decoration: none !important; letter-spacing: -.02em; }
.lp-nav{ display: flex; gap: 20px; margin-left: 8px; }
.lp-nav a{ color: var(--lp-text); font-weight: 700; font-size: 15px; text-decoration: none; }
.lp-nav a:hover{ color: var(--lp-green-2); }
.lp-header-cta{ margin-left: auto; display: flex; align-items: center; gap: 10px; }
.lp-phone{ display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: 15px; color: var(--lp-ink) !important; text-decoration: none !important; margin-right: 6px; white-space: nowrap; }
.lp-phone .lp-ico{ width: 18px; height: 18px; color: var(--lp-green); }

.lp-burger{ display: none; margin-left: auto; position: relative; }
.lp-burger > summary{ list-style: none; cursor: pointer; width: 44px; height: 44px; border: 1px solid var(--lp-line); border-radius: 12px; display: grid; place-content: center; gap: 4px; background: #fff; }
.lp-burger > summary::-webkit-details-marker{ display: none; }
.lp-burger > summary span{ display: block; width: 20px; height: 2px; background: var(--lp-ink); border-radius: 2px; }
.lp-burger-menu{
  position: absolute; right: 0; top: calc(100% + 8px); width: min(300px, 88vw);
  background: #fff; border: 1px solid var(--lp-line); border-radius: 14px; box-shadow: var(--lp-shadow);
  padding: 8px; display: flex; flex-direction: column;
}
.lp-burger-menu a{ padding: 11px 12px; border-radius: 10px; font-weight: 800; color: var(--lp-ink); text-decoration: none; }
.lp-burger-menu a:hover{ background: var(--lp-mint); }
.lp-burger-menu .btn{ margin-top: 6px; color: #fff; justify-content: center; }

/* ---------------- hero ---------------- */
.lp-hero{
  position: relative;
  overflow: hidden;
  padding: 64px 0 56px;
  background:
    radial-gradient(900px 420px at 85% -10%, rgba(22,163,74,.16), transparent 70%),
    radial-gradient(700px 360px at -10% 20%, rgba(22,163,74,.10), transparent 70%),
    linear-gradient(180deg, var(--lp-mint) 0%, #fff 100%);
}
.lp-hero-grid{ display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.lp-eyebrow{
  display: inline-block; padding: 6px 12px; border-radius: 999px;
  background: #fff; border: 1px solid rgba(22,163,74,.25); color: var(--lp-green-2);
  font-size: 13px; font-weight: 900; letter-spacing: .02em; margin-bottom: 18px;
}
.lp-hero h1{ font-size: clamp(34px, 4.6vw, 54px); line-height: 1.08; font-weight: 1000; margin: 0 0 18px; }
.lp-hl{ color: var(--lp-green); }
.lp-lead{ font-size: 19px; color: var(--lp-text); margin: 0 0 26px; max-width: 600px; }
.lp-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; }
.lp-cta-center{ justify-content: center; }
.lp-trust{ list-style: none; padding: 0; margin: 22px 0 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-weight: 800; font-size: 15px; color: var(--lp-ink); }
.lp-trust li{ display: inline-flex; align-items: center; gap: 6px; }
.lp-trust .lp-ico{ width: 20px; height: 20px; color: #fff; background: var(--lp-green); border-radius: 999px; padding: 3px; }
.lp-trust-col{ flex-direction: column; }
.lp-hero-call{ margin: 16px 0 0; color: var(--lp-muted); font-size: 15px; }

.lp-hero-visual{ position: relative; padding-bottom: 40px; }
.lp-browser{
  border-radius: 14px; overflow: hidden; background: #fff;
  border: 1px solid var(--lp-line);
  box-shadow: 0 30px 60px -25px rgba(15,23,42,.35), 0 10px 20px -10px rgba(15,23,42,.15);
  transform: perspective(1600px) rotateY(-6deg) rotateX(2deg);
  transform-origin: left center;
}
.lp-browser-bar{ height: 30px; background: #f1f5f4; border-bottom: 1px solid var(--lp-line); display: flex; align-items: center; gap: 6px; padding: 0 12px; }
.lp-browser-bar span{ width: 10px; height: 10px; border-radius: 999px; background: #cbd5e1; }
.lp-browser-bar span:first-child{ background: #f87171; }
.lp-browser-bar span:nth-child(2){ background: #fbbf24; }
.lp-browser-bar span:nth-child(3){ background: #4ade80; }
.lp-browser img, .lp-phone-frame img, .lp-shots img{ display: block; width: 100%; height: auto; }

.lp-phone-frame{
  position: absolute; right: -6px; bottom: 0; width: 30%; max-width: 190px;
  border-radius: 26px; overflow: hidden; background: #fff;
  border: 7px solid #0f172a; box-shadow: 0 24px 50px -20px rgba(15,23,42,.55);
  aspect-ratio: 9 / 18;
}
.lp-phone-frame img{ height: 100%; object-fit: cover; object-position: top; }
.lp-phone-frame-lg{ position: relative; right: auto; bottom: auto; width: 100%; max-width: 280px; margin: 0 auto; }

/* ---------------- pasek faktów ---------------- */
.lp-facts{ border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line); background: #fff; }
.lp-facts-grid{ display: grid; grid-template-columns: repeat(4, 1fr); }
.lp-facts-grid > div{ padding: 22px 12px; text-align: center; display: flex; flex-direction: column; gap: 2px; }
.lp-facts-grid > div + div{ border-left: 1px solid var(--lp-line); }
.lp-facts strong{ font-size: 28px; font-weight: 1000; color: var(--lp-green-2); letter-spacing: -.02em; line-height: 1.1; }
.lp-facts span{ font-size: 14px; color: var(--lp-muted); font-weight: 700; }

/* ---------------- sekcje ---------------- */
.lp-section{ padding: 80px 0; }
.lp-alt{ background: var(--lp-bg-alt); }
.lp-head{ text-align: center; max-width: 760px; margin: 0 auto 44px; }
.lp-head h2{ font-size: clamp(28px, 3.4vw, 40px); line-height: 1.15; font-weight: 1000; margin: 0 0 12px; }
.lp-head p{ margin: 0; font-size: 18px; color: var(--lp-muted); }

.lp-compare{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lp-compare-col{ border-radius: var(--lp-radius); padding: 28px; border: 1px solid var(--lp-line); }
.lp-compare-col h3{ margin: 0 0 14px; font-size: 20px; }
.lp-compare-col ul{ list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.lp-compare-col li{ display: flex; gap: 10px; align-items: flex-start; font-weight: 700; }
.lp-compare-col .lp-ico{ width: 22px; height: 22px; margin-top: 2px; padding: 3px; border-radius: 999px; }
.lp-compare-before{ background: #fff; }
.lp-compare-before .lp-ico{ color: #b91c1c; background: #fee2e2; }
.lp-compare-after{ background: var(--lp-mint); border-color: rgba(22,163,74,.3); }
.lp-compare-after .lp-ico{ color: #fff; background: var(--lp-green); }

.lp-cards{ display: grid; gap: 18px; }
.lp-cards-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lp-cards-4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lp-card{ background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); padding: 24px; box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.lp-card h3{ font-size: 18px; margin: 12px 0 6px; }
.lp-card p{ margin: 0; font-size: 15.5px; color: var(--lp-text); }
.lp-card-ico{ width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--lp-mint); color: var(--lp-green-2); border: 1px solid var(--lp-mint-2); }

.lp-modules{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lp-module{ border: 1px solid var(--lp-line); border-radius: var(--lp-radius); padding: 22px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.lp-module:hover{ border-color: rgba(22,163,74,.4); box-shadow: var(--lp-shadow); }
.lp-module-no{ font-size: 13px; font-weight: 1000; color: var(--lp-green); letter-spacing: .06em; }
.lp-module h3{ font-size: 18px; margin: 6px 0 6px; }
.lp-module p{ margin: 0; font-size: 15px; }

.lp-shots{ display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 44px; }
.lp-shots figure{ margin: 0; }
.lp-shots img{ border-radius: 14px; border: 1px solid var(--lp-line); box-shadow: var(--lp-shadow); }
.lp-shots figcaption{ margin-top: 10px; font-size: 14px; font-weight: 700; color: var(--lp-muted); text-align: center; }

.lp-steps{ list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; counter-reset: s; }
.lp-steps li{ background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); padding: 24px; position: relative; }
.lp-steps li > span{ width: 40px; height: 40px; border-radius: 999px; display: grid; place-items: center; background: var(--lp-green); color: #fff; font-weight: 1000; font-size: 18px; }
.lp-steps h3{ font-size: 18px; margin: 14px 0 6px; }
.lp-steps p{ margin: 0; font-size: 15px; }

/* ---------------- cennik ---------------- */
.lp-trial{
  max-width: 860px; margin: 0 auto 28px; text-align: center;
  background: var(--lp-green-3); color: #fff; border-radius: 14px; padding: 14px 18px; font-weight: 700; font-size: 16px;
}
.lp-trial strong{ color: #bbf7d0; }
.lp-trial-item::before{ content: "•"; opacity: .55; margin: 0 8px; }
.lp-plan-points{ list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 6px; font-size: 15px; font-weight: 700; color: var(--lp-ink); }
.lp-plan-points li{ display: flex; gap: 8px; align-items: center; }
.lp-plan-points .lp-ico{ width: 18px; height: 18px; color: var(--lp-green); }
.lp-plans{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; max-width: 860px; margin: 0 auto; }
.lp-plan{ position: relative; background: #fff; border: 1px solid var(--lp-line); border-radius: 20px; padding: 30px; box-shadow: var(--lp-shadow); display: flex; flex-direction: column; }
.lp-plan h3{ margin: 0; font-size: 22px; }
.lp-plan-sub{ margin: 4px 0 18px; color: var(--lp-muted); font-size: 15px; }
.lp-price{ display: flex; align-items: baseline; gap: 8px; }
.lp-price strong{ font-size: 52px; line-height: 1; font-weight: 1000; color: var(--lp-ink); letter-spacing: -.03em; }
.lp-price span{ font-size: 18px; font-weight: 800; color: var(--lp-muted); }
.lp-price-note{ margin: 8px 0 14px; font-size: 14px; color: var(--lp-muted); }
.lp-saving{ display: inline-block; align-self: flex-start; margin: 0 0 16px; padding: 6px 12px; border-radius: 999px; background: var(--lp-mint-2); color: var(--lp-green-3); font-weight: 900; font-size: 14px; }
.lp-plan .btn{ margin-top: auto; }
.lp-plan-best{ border: 2px solid var(--lp-green); }
.lp-plan-badge{ position: absolute; top: -13px; right: 22px; background: var(--lp-green); color: #fff; font-size: 13px; font-weight: 900; padding: 4px 12px; border-radius: 999px; }

.lp-included{ max-width: 860px; margin: 26px auto 0; background: var(--lp-bg-alt); border-radius: var(--lp-radius); padding: 22px 26px; }
.lp-included h3{ margin: 0 0 12px; font-size: 17px; }
.lp-included ul{ list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; }
.lp-included li{ display: flex; gap: 8px; align-items: center; font-size: 15px; font-weight: 700; }
.lp-included .lp-ico{ width: 18px; height: 18px; color: var(--lp-green); flex: none; }
.lp-sms{ max-width: 860px; margin: 18px auto 0; text-align: center; font-size: 15px; }
.lp-fineprint{ max-width: 860px; margin: 10px auto 0; text-align: center; font-size: 13.5px; color: var(--lp-muted); }

/* ---------------- bezpieczeństwo (ciemna sekcja) ---------------- */
.lp-dark{ background: linear-gradient(180deg, #0f2a1b 0%, #14532d 100%); }
.lp-dark .lp-head h2{ color: #fff; }
.lp-dark .lp-head p{ color: #bbf7d0; }
.lp-dark .lp-card{ background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); box-shadow: none; }
.lp-dark .lp-card h3{ color: #fff; }
.lp-dark .lp-card p{ color: #d1fae5; }
.lp-dark .lp-card a{ color: #86efac; }
.lp-dark .lp-card-ico{ background: rgba(134,239,172,.14); border-color: rgba(134,239,172,.25); color: #86efac; }

/* ---------------- działkowcy ---------------- */
.lp-split{ display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: center; }
.lp-split-text h2{ font-size: clamp(28px, 3.2vw, 38px); font-weight: 1000; margin: 0 0 12px; }
.lp-list{ list-style: none; padding: 0; margin: 16px 0; display: grid; gap: 12px; }
.lp-list li{ display: flex; gap: 10px; align-items: center; font-weight: 700; color: var(--lp-ink); }
.lp-list .lp-ico{ width: 36px; height: 36px; padding: 7px; border-radius: 10px; background: #fff; border: 1px solid var(--lp-line); color: var(--lp-green-2); }
.lp-muted{ color: var(--lp-muted); }

/* ---------------- FAQ ---------------- */
.lp-faq details{ border: 1px solid var(--lp-line); border-radius: 14px; background: #fff; margin-bottom: 10px; }
.lp-faq summary{ list-style: none; cursor: pointer; padding: 18px 52px 18px 20px; font-weight: 900; color: var(--lp-ink); position: relative; }
.lp-faq summary::-webkit-details-marker{ display: none; }
.lp-faq summary::after{ content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 24px; font-weight: 700; color: var(--lp-green); }
.lp-faq details[open] summary::after{ content: "–"; }
.lp-faq details p{ margin: 0; padding: 0 20px 18px; }

/* ---------------- prezentacja ---------------- */
.lp-contact{ display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 44px; align-items: start; }
.lp-contact-text h2{ font-size: clamp(28px, 3.2vw, 38px); font-weight: 1000; margin: 0 0 12px; line-height: 1.15; }
.lp-big-phone{ display: inline-flex; align-items: center; gap: 12px; margin: 18px 0 6px; font-size: clamp(26px, 3vw, 34px); font-weight: 1000; color: var(--lp-ink) !important; text-decoration: none !important; letter-spacing: -.01em; }
.lp-big-phone .lp-ico{ width: 46px; height: 46px; padding: 11px; border-radius: 999px; background: var(--lp-green); color: #fff; }
.lp-contact-mail{ display: flex; align-items: center; gap: 8px; margin: 6px 0 18px; font-weight: 800; }
.lp-contact-mail .lp-ico{ color: var(--lp-green); width: 20px; height: 20px; }
.lp-contact-form{ background: #fff; border: 1px solid var(--lp-line); border-radius: 20px; padding: 28px; box-shadow: var(--lp-shadow); }
.lp-form .field{ margin-bottom: 12px; }
.lp-consent{ font-size: 14px; font-weight: 700; color: var(--lp-ink); }
.lp-rodo{ font-size: 12.5px; color: var(--lp-muted); line-height: 1.5; margin: 8px 0 16px; }
.lp-thanks{ text-align: center; padding: 20px 6px; }
.lp-thanks h3{ font-size: 26px; margin: 0 0 8px; color: var(--lp-green-2); }

/* ---------------- końcowe CTA ---------------- */
.lp-final{ background: linear-gradient(135deg, #16a34a 0%, #15803d 60%, #14532d 100%); color: #fff; text-align: center; padding: 72px 0; }
.lp-final h2{ color: #fff; font-size: clamp(28px, 3.4vw, 42px); font-weight: 1000; margin: 0 0 10px; }
.lp-final p{ margin: 0 0 26px; font-size: 18px; color: #dcfce7; }
.lp-btn-white{ background: #fff !important; border-color: #fff !important; color: var(--lp-green-3) !important; }
.lp-btn-white:hover{ background: #f0fdf4 !important; }
.lp-btn-outline{ background: transparent !important; border: 2px solid rgba(255,255,255,.7) !important; color: #fff !important; }
.lp-btn-outline:hover{ background: rgba(255,255,255,.1) !important; }

.lp-company{ background: #fff; border-top: 1px solid var(--lp-line); padding: 14px 0 0; text-align: center; font-size: 13px; color: var(--lp-muted); }

/* ---------------- responsywność ---------------- */
@media (max-width: 1080px){
  .lp-nav{ display: none; }
  .lp-cards-4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-steps{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px){
  .lp-header-cta{ display: none; }
  .lp-burger{ display: block; }
  .lp-hero{ padding: 40px 0 40px; }
  .lp-hero-grid{ grid-template-columns: 1fr; gap: 36px; }
  .lp-browser{ transform: none; }
  .lp-section{ padding: 60px 0; }
  .lp-compare, .lp-shots, .lp-split, .lp-contact{ grid-template-columns: 1fr; }
  .lp-cards-3, .lp-modules{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-included ul{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-split-img{ order: 2; }
}

@media (max-width: 640px){
  .lp{ font-size: 16px; }
  .lp-wrap{ padding: 0 16px; }
  .lp-lead{ font-size: 17px; }
  .lp-cta-row .btn{ width: 100%; justify-content: center; }
  .lp-facts-grid{ grid-template-columns: repeat(2, 1fr); }
  .lp-facts-grid > div:nth-child(3){ border-left: 0; }
  .lp-facts-grid > div:nth-child(n+3){ border-top: 1px solid var(--lp-line); }
  .lp-facts strong{ font-size: 24px; }
  .lp-cards-3, .lp-cards-4, .lp-modules, .lp-steps, .lp-plans, .lp-included ul{ grid-template-columns: 1fr; }
  .lp-head{ margin-bottom: 30px; }
  .lp-plan{ padding: 24px; }
  .lp-price strong{ font-size: 44px; }
  .lp-contact-form{ padding: 20px; }
  .lp-phone-frame{ width: 34%; right: -4px; border-width: 5px; border-radius: 20px; }
  .lp-trial{ display: flex; flex-direction: column; gap: 2px; }
  .lp-trial-item::before{ content: "✓"; opacity: .8; margin: 0 6px 0 0; }
}

@media (prefers-reduced-motion: reduce){
  html:has(body.lp){ scroll-behavior: auto; }
}
