/* Welon – strona sprzedażowa. Kierunek: papeteria ślubna – bordowy atrament, piwonia, dużo światła. */
.lp{background:var(--bg);overflow-x:hidden}
.lp h2{font:clamp(32px,4.4vw,54px)/1.05 var(--display);font-weight:400;letter-spacing:-.01em;margin:0}
.lp section{padding:clamp(64px,9vw,120px) clamp(16px,5vw,72px)}

/* ---------- górny pasek ---------- */
.lp-top{position:absolute;inset:0 0 auto;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px clamp(16px,5vw,72px);color:#fff}
.lp-brand{display:flex;align-items:center;gap:10px;font:26px/1 var(--display);text-decoration:none;color:inherit}


.lp-nav{display:flex;align-items:center;gap:22px;font-weight:600;font-size:15px}
.lp-nav a:not(.btn){text-decoration:none;color:oklch(0.9 0.03 10)}
.lp-nav a:not(.btn):hover{color:#fff;text-decoration:underline;text-underline-offset:4px}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;background:var(--wine-900);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,4vw,64px);align-items:center;
  padding-top:clamp(120px,14vw,170px)!important;padding-bottom:clamp(72px,9vw,120px)!important;overflow:hidden}
.hero::before{content:"";position:absolute;z-index:-1;width:900px;height:900px;right:-260px;top:-300px;border-radius:50%;background:radial-gradient(circle,oklch(0.69 0.155 14 / .32),transparent 62%)}
.hero::after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:140px;background:linear-gradient(transparent,oklch(0.2 0.06 8 / .6))}
.hero-for{margin:0 0 18px;color:var(--peony);font-weight:700;font-size:15px}
.hero h1{font:clamp(44px,6.6vw,88px)/.98 var(--display);font-weight:400;margin:0;letter-spacing:-.02em}
.hero h1 span{display:block;color:oklch(0.86 0.06 14)}
.hero-lead{font-size:clamp(17px,1.5vw,19px);line-height:1.6;color:oklch(0.88 0.03 10);max-width:54ch;margin:26px 0 30px}
.hero-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.hero-demo{color:#fff;font-weight:700;text-underline-offset:5px}
.hero-demo:hover{color:var(--peony)}
.price-note{font-size:13.5px;color:oklch(0.8 0.03 10);margin-top:14px;min-height:1px}
.price-note.dark{color:var(--ink-2)}
.hero-trust{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:oklch(0.86 0.03 10)}
.hero-trust li{display:flex;align-items:center;gap:8px}
.hero-trust li::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--peony) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 8.2 2.3 2.3 4.7-5' fill='none' stroke='%233d1220' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.hero-shot{position:relative;padding:0 0 60px}
.screen{margin:0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 40px 80px oklch(0.1 0.05 8 / .55),0 0 0 1px oklch(1 0 0 / .08);transform:perspective(1600px) rotateY(-9deg) rotateX(3deg);transform-origin:left center;
  animation:shotIn 1.1s var(--ease) both .15s}
.screen img{width:100%;height:auto}
.phone-shot{position:absolute;right:-10px;bottom:0;width:30%;margin:0;border-radius:28px;overflow:hidden;border:7px solid var(--ink);box-shadow:0 30px 60px oklch(0.1 0.05 8 / .6);background:#fff;animation:phoneIn 1.1s var(--ease) both .45s}
.phone-shot img{width:100%;height:auto}
@keyframes shotIn{from{opacity:0;transform:perspective(1600px) rotateY(-16deg) rotateX(6deg) translateY(40px)}}
@keyframes phoneIn{from{opacity:0;transform:translateY(60px)}}

/* ---------- znasz to? ---------- */
.pains{text-align:center;background:var(--bg)}
.notes{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;max-width:1100px;margin:48px auto 40px}
.note{margin:0;width:min(280px,100%);padding:30px 24px 26px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:17px;line-height:1.45;text-align:left;box-shadow:var(--shadow-1);position:relative}
.note::before{content:"";position:absolute;top:-11px;left:50%;width:84px;height:22px;transform:translateX(-50%) rotate(-3deg);background:oklch(0.9 0.05 12 / .85);border-radius:2px}
.note b{color:var(--wine)}
.n1{transform:rotate(-2.5deg)} .n2{transform:rotate(1.5deg) translateY(14px)} .n3{transform:rotate(-1deg)} .n4{transform:rotate(2.2deg) translateY(8px)} .n5{transform:rotate(-1.6deg)}
.n3{font-family:Consolas,"Courier New",monospace;font-size:15px}
.pains-out{font-size:clamp(19px,2vw,24px);max-width:36ch;margin:30px auto 0;color:var(--ink-2)}
.pains-out b{color:var(--ink)}

/* ---------- funkcje ---------- */
.feat{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);align-items:center}
.feat-wizard{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);background:var(--wine-900);color:#fff}
.feat-money{background:#fff}
.feat-copy p{font-size:18px;line-height:1.65;color:var(--ink-2);max-width:52ch}
.feat-wizard .feat-copy p{color:oklch(0.86 0.03 10)}
.feat-copy h2{margin-bottom:22px}
.feat-shot{margin:0;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-2);border:1px solid var(--line)}
.feat-shot img{width:100%;height:auto}
.feat-plan .feat-shot.wide,.feat-money .feat-shot.wide{margin-right:calc(-1 * clamp(16px,5vw,72px) - 40px);border-radius:18px 0 0 18px}
.feat-wizard .feat-shot{border:0;box-shadow:0 30px 70px oklch(0.1 0.05 8 / .55)}
.ticks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px;font-size:16.5px}
.ticks li{position:relative;padding-left:34px}
.ticks li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--blush) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='m6.5 11.3 3 3 6-6.6' fill='none' stroke='%23862445' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.quote{border-radius:16px;background:oklch(1 0 0 / .07);padding:18px 20px;font-size:16.5px!important;color:#fff!important}

/* ---------- a do tego ---------- */
.more{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:clamp(32px,5vw,72px);align-items:center}
.more h2{grid-column:1/-1}
.more-list{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 40px}
.more-list dt{font-weight:800;font-size:18px;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.more-list dt::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--peony)}
.more-list dd{margin:0;color:var(--ink-2);line-height:1.6}
.more-phone{margin:0;justify-self:center;width:min(280px,100%);border-radius:32px;overflow:hidden;border:8px solid var(--ink);box-shadow:var(--shadow-2);transform:rotate(3deg)}

/* ---------- jak to działa ---------- */
.how{background:var(--blush)}
.steps{list-style:none;counter-reset:s;padding:0;margin:48px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.steps li{counter-increment:s;display:grid;gap:8px;align-content:start}
.steps li::before{content:counter(s);font:64px/1 var(--display);color:var(--wine);margin-bottom:8px}
.steps b{font-size:19px}
.steps span{color:var(--ink-2);line-height:1.6}

/* ---------- oferta ---------- */
.offer{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,56px);align-items:center}
.offer-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(28px,4vw,52px);box-shadow:var(--shadow-2)}
.offer-card p{color:var(--ink-2);font-size:17px;max-width:48ch}
.offer-price{display:flex;align-items:baseline;gap:16px;margin:22px 0 4px}
.offer-price b{font:clamp(64px,8vw,96px)/1 var(--display);font-weight:400;color:var(--wine)}
.offer-strike,[data-strike]{color:var(--ink-2);text-decoration:line-through;font-size:22px}
.offer-card .btn{margin-top:10px}
.timer{font-weight:700;color:var(--wine)!important;margin-top:16px!important}
.seal-wrap{text-align:center;display:grid;justify-items:center;gap:6px}
.seal-wrap p{color:var(--ink-2);max-width:36ch}
.seal-wrap h3{font:28px/1.1 var(--display);font-weight:400;margin:16px 0 4px}
.seal{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:radial-gradient(circle at 35% 30%,oklch(0.52 0.15 12),var(--wine-800) 70%);box-shadow:inset 0 0 0 10px oklch(0.4 0.12 10),inset 0 0 0 12px oklch(0.6 0.12 14 / .5),0 16px 34px oklch(0.3 0.1 10 / .35);transform:rotate(-8deg)}
.seal span{display:grid;justify-items:center;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.seal b{font:64px/1 var(--display);font-weight:400;letter-spacing:0}

/* ---------- FAQ ---------- */
.faq{max-width:900px;margin:0 auto}
.faq h2{margin-bottom:34px}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;font-weight:700;font-size:18px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:2.5px solid var(--wine);border-bottom:2.5px solid var(--wine);transform:translateY(-70%) rotate(45deg);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{margin:0 0 22px;color:var(--ink-2);line-height:1.65;max-width:68ch}
.faq a{color:var(--wine)}

/* ---------- zamówienie ---------- */
.order{background:var(--wine-900);color:#fff;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,72px);align-items:start}
.order-head{position:sticky;top:40px}
.order-head p{color:oklch(0.86 0.03 10);font-size:18px;max-width:38ch}
.step{color:var(--peony)!important;font-weight:800;font-size:15px!important;margin:0 0 12px}
.order-form{background:#fff;color:var(--ink);border-radius:var(--r-xl);padding:clamp(22px,3.4vw,40px);display:grid;gap:18px;box-shadow:0 30px 70px oklch(0.1 0.05 8 / .5)}
.line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.line b{font-size:17px}
.line small{display:block;color:var(--ink-2);font-size:14px;margin-top:2px}
.line-price{text-align:right;white-space:nowrap;display:flex;gap:10px;align-items:baseline}
.line-price b{font:30px/1 var(--display);font-weight:400;color:var(--wine)}
.line-price [data-strike]{font-size:16px}
.bump{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:16px;border:2px dashed var(--peony);background:oklch(0.97 0.02 12);cursor:pointer;transition:background-color .2s,border-color .2s}
.bump:has(input:checked){border-style:solid;border-color:var(--wine);background:var(--blush)}
.bump input{width:24px;height:24px;accent-color:var(--wine);flex:none;margin:2px 0 0}
.bump-box{display:grid;gap:6px}
.bump-box b{font-size:16.5px}
.bump-box em{font-style:normal;color:var(--wine)}
.bump-box small{color:var(--ink-2);font-size:14px;line-height:1.5}
.order-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.order-form .check{color:var(--ink-2)}
.order-form .check a{color:var(--wine)}
.order-form .check em{font-style:normal;font-size:12px;font-weight:800;color:var(--wine-600);margin-left:4px}
.order-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px;border-top:1px solid var(--line)}
.order-total>span{font-weight:800;font-size:18px}
.order-total b{font:44px/1 var(--display);font-weight:400;color:var(--wine)}
.order-btn{width:100%}
.order-small{margin:0;text-align:center;font-size:13px;color:var(--ink-2)}
.invalid{border-color:var(--bad)!important}

/* ---------- stopka ---------- */
.lp-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:36px clamp(16px,5vw,72px);color:var(--ink-2);font-size:14px}
.lp-foot .lp-brand{color:var(--ink)}
.lp-foot nav{display:flex;gap:20px;flex-wrap:wrap}
.lp-foot a{text-decoration:none}
.lp-foot a:hover{color:var(--wine);text-decoration:underline}
.sticky-cta{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:var(--z-nav);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:16px;background:var(--wine-900);color:#fff;box-shadow:0 14px 40px oklch(0.1 0.05 8 / .45);font-size:14.5px;transition:transform .3s var(--ease),opacity .3s}
.sticky-cta.out{transform:translateY(140%);opacity:0}

/* ---------- strony pomocnicze (oferta, dziękujemy, logowanie, prawne) ---------- */
.page{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}
.page .lp-top{position:static;color:var(--ink)}
.page .lp-top.dark{background:var(--wine-900);color:#fff}
.narrow{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,80px) 20px}
.legal h1{font:clamp(34px,4vw,48px)/1.1 var(--display);font-weight:400;margin:0 0 10px}
.legal h2{font:24px/1.2 var(--display)!important;margin:34px 0 10px!important}
.legal p,.legal li{color:var(--ink-2);line-height:1.7}
.legal .todo{background:var(--warn-bg);border-radius:12px;padding:14px 16px;color:oklch(0.42 0.1 60);font-weight:600}

/* ---------- responsywność ---------- */
@media (max-width:1020px){
  .hero,.feat,.feat-wizard,.offer,.order,.more{grid-template-columns:minmax(0,1fr)}
  .hero-shot{max-width:640px}
  .feat-wizard .feat-shot{order:2}
  .feat-plan .feat-shot.wide,.feat-money .feat-shot.wide{margin-right:0;border-radius:18px}
  .order-head{position:static}
  .more-phone{display:none}
}
@media (max-width:760px){
  .lp-nav a:not(.btn):not(.lp-login){display:none}
  .lp-nav{gap:14px}
  .steps,.more-list{grid-template-columns:1fr}
  .order-fields{grid-template-columns:minmax(0,1fr)}
  .phone-shot{width:34%;right:0}
  .screen{transform:none;animation:none}
  .notes{gap:18px}
  .note{width:100%}
  .n2,.n4{transform:rotate(1.2deg)}
  .line{flex-wrap:wrap}
}
@media (min-width:761px){.sticky-cta{display:none!important}}
@media (prefers-reduced-motion:reduce){.screen,.phone-shot{animation:none}}

/* przycisk zakupu w górnym pasku: obrys + cena w „pigułce” */
.top-buy{display:inline-flex;align-items:center;gap:12px;padding:5px 5px 5px 18px;border:1.5px solid oklch(1 0 0 / .35);border-radius:999px;color:#fff;font-weight:700;font-size:15px;text-decoration:none;transition:background-color .2s var(--ease),border-color .2s}
.top-buy b{background:var(--peony);color:var(--wine-900);border-radius:999px;padding:7px 13px;font-weight:800;transition:transform .2s var(--ease)}
.top-buy:hover{background:oklch(1 0 0 / .08);border-color:oklch(1 0 0 / .6)}
.top-buy:hover b{transform:translateX(2px)}
.lp-brand .mark{width:38px;height:38px}
@media (max-width:760px){.top-buy{padding-left:14px;font-size:14px;gap:8px}.top-buy b{padding:6px 10px}}

.lp-top .lp-brand{font-size:34px}
.lp-foot .lp-brand{font-size:28px}
