
:root{--red:#c90012;--red2:#e31b23;--redDark:#a80014;--ink:#11131a;--muted:#687181;--line:#e8ecf2;--bg:#f5f6f8;--green:#15965a}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;color:var(--ink)}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.shell{max-width:520px;margin:0 auto;background:#fff;min-height:auto;box-shadow:0 0 0 1px rgba(0,0,0,.05)}
.topbar{height:54px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.backtop{justify-content:flex-start;gap:0}
.backlink{font-size:24px;font-weight:950;margin-right:auto}
.top-title{position:absolute;left:0;right:0;text-align:center;font-weight:950;font-size:15px;pointer-events:none}
.brand{background:linear-gradient(180deg,var(--red2),var(--redDark));color:#fff;border-radius:11px;padding:9px 18px;font-size:14px;font-weight:950;line-height:1}
.secure{font-size:12px;font-weight:900;color:#b50013;background:#fff3f5;border:1px solid #ffd6db;border-radius:999px;padding:7px 11px}
.hero{background:#111;border-radius:0 0 22px 22px;overflow:hidden}
.hero img{width:100%;height:auto;object-fit:contain;object-position:center top}
.page{padding:10px 12px 18px}
.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:0 10px 28px rgba(18,24,40,.07);margin:10px 0}
h1{font-size:26px;line-height:1.05;letter-spacing:-.05em;margin:0 0 6px;font-weight:950}
h2{font-size:23px;line-height:1.12;letter-spacing:-.035em;margin:0 0 8px;font-weight:950}
p{font-size:14px;line-height:1.34;margin:0;color:var(--muted)}
.btn{width:100%;display:flex;align-items:center;justify-content:center;min-height:52px;border:0;border-radius:17px;background:linear-gradient(180deg,var(--red2),var(--redDark));color:#fff;font-size:17px;font-weight:950;box-shadow:0 12px 25px rgba(201,0,18,.22);cursor:pointer;margin-top:8px;text-align:center}
.home-intro{padding-bottom:14px;margin-bottom:0}
.quiz-top{display:flex;align-items:center;justify-content:space-between;margin:4px 0 8px}
.back{border:0;background:transparent;font-size:22px;font-weight:900;padding:4px 8px 4px 0;color:var(--ink);cursor:pointer}
.step{font-size:13px;font-weight:900;color:#6f7784}
.progress{height:8px;background:#edf1f5;border-radius:999px;overflow:hidden;margin:7px 0 12px}
.progress span{height:100%;display:block;background:linear-gradient(90deg,var(--red),var(--red2));width:25%;transition:.2s}
.answer{width:100%;background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;margin:9px 0;text-align:left;color:#111;font-size:16px;font-weight:500;box-shadow:0 5px 14px rgba(18,24,40,.035);cursor:pointer}
.help{font-size:13px;color:#8b94a2;margin-top:7px}
.result-main{text-align:center;padding:34px 18px}
.bigcheck{width:82px;height:82px;background:#e6f8ef;color:var(--green);border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;font-size:48px;font-weight:950}
.result-main h1{font-size:31px;max-width:360px;margin:0 auto 14px}
.checkrow{display:grid;gap:12px}
.checkitem{display:flex;gap:12px;align-items:flex-start}
.check{width:24px;height:24px;border-radius:50%;background:#e9f8f0;color:var(--green);font-weight:950;display:grid;place-items:center;flex:0 0 auto}
.product{background:#fff;border:1px solid var(--line);border-radius:23px;overflow:hidden;margin:14px 0;box-shadow:0 12px 32px rgba(18,24,40,.08)}
.product img{width:100%;height:188px;object-fit:cover;object-position:center}
.product-body{padding:15px}
.pill{display:inline-flex;border:1px solid #ffd1d7;background:#fff2f4;color:#b50013;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:950;margin-bottom:9px}
.product-title{font-size:25px;font-weight:950;letter-spacing:-.04em;margin-bottom:6px}
.price-line{display:flex;align-items:flex-end;gap:12px;margin:12px 0 8px}
.price{font-size:40px;font-weight:950;letter-spacing:-.055em;color:var(--red);line-height:1}
.old{text-decoration:line-through;color:#9ba3af;font-weight:850;font-size:18px}
.stock{background:#ecfdf3;color:#0d8b3e;border:1px solid #bbf7d0;border-radius:12px;text-align:center;padding:9px 12px;font-size:13px;font-weight:950;margin-top:8px}
.timer{display:flex;justify-content:space-between;align-items:center;background:#fff5f6;border:1px solid #ffd1d7;border-radius:16px;color:#b50013;font-weight:950;padding:12px 14px;margin-top:10px}
.product-hero{position:relative;border-radius:0 0 22px 22px;overflow:hidden;background:#111}
.product-hero img{width:100%;height:250px;object-fit:cover;filter:brightness(.58)}
.product-hero-text{position:absolute;left:18px;right:18px;bottom:22px;color:#fff}
.product-hero-text h1{font-size:30px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.product-hero-text p{color:#fff;font-size:16px}
.input{width:100%;height:54px;border:1px solid var(--line);border-radius:15px;padding:0 14px;font-size:16px;margin-top:10px;outline:none}
.error{display:none;color:#b50013;font-size:13px;font-weight:850;margin-top:6px}
.safe-note{font-size:12px;text-align:center;margin:7px 0 0;color:#87909d}
.paycards{display:flex;gap:8px;margin:12px 0 4px}
.paycards div{border:1px solid var(--line);border-radius:999px;text-align:center;padding:10px 14px;font-weight:950;background:#fff}
.summary-row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:12px 0;font-weight:850}
.center{text-align:center}
.success,.fail{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;margin:8px auto 18px;color:#fff;font-size:42px;font-weight:950}
.success{background:#16a34a}.fail{background:#c90012}
.softbox{background:#fff4f4;border-radius:18px;padding:18px;margin:20px 0;color:#111}
@media(max-width:430px){
  .topbar{height:50px}.page{padding:9px 11px 14px}.card{margin:9px 0;padding:13px;border-radius:20px}
  h1{font-size:24px;margin-bottom:5px}h2{font-size:21px}p{font-size:14px;line-height:1.32}
  .btn{min-height:50px;margin-top:7px;font-size:16px;border-radius:16px}.product img{height:168px}.price{font-size:36px}
  .result-main h1{font-size:28px}.product-hero img{height:230px}
}


/* v23 FIX: убираем пустое поле под CTA */
html,
body {
  min-height: 0 !important;
  height: auto !important;
  overflow-x: hidden;
}

.shell {
  min-height: 0 !important;
  height: auto !important;
}

.page {
  min-height: 0 !important;
  height: auto !important;
  padding-bottom: 10px !important;
}

.home .page {
  padding-bottom: 0 !important;
}

.home-intro {
  margin-bottom: 0 !important;
  padding-bottom: 14px !important;
}

.home-intro .btn {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

.home main::after,
.page::after,
.shell::after {
  content: none !important;
  display: none !important;
}

.card:last-child,
.product:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 521px) {
  body {
    align-items: flex-start !important;
  }
  .shell {
    margin-bottom: 0 !important;
  }
}


/* ===== v24 visual polish ===== */

/* аккуратное нижнее закругление */
.shell {
  overflow: hidden !important;
  border-radius: 34px !important;
  background: #f4f4f6 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.04) !important;
}

.page {
  border-bottom-left-radius: 34px !important;
  border-bottom-right-radius: 34px !important;
  overflow: hidden !important;
}

/* убираем ощущение обрезанного низа */
.page:last-child,
main:last-child,
section:last-child {
  padding-bottom: 18px !important;
}

/* VISA / Mastercard менее жирные */
.card-brand,
.payment-pill,
.payment-method,
.chip {
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
}

/* сами кнопки карт более легкие */
.payment-methods button,
.card-brand {
  border: 2px solid #e5e7eb !important;
  background: #fff !important;
  color: #3f4654 !important;
  box-shadow: none !important;
}

/* плавнее нижняя часть */
.checkout-card,
.payment-card,
.result-card,
.offer-card,
.quiz-card,
.email-card {
  border-radius: 30px !important;
  overflow: hidden !important;
}

/* нижний safe-area */
body::after {
  content: "";
  display: block;
  height: 10px;
}



/* ===== v25: aligned wide cards + clean buttons ===== */

/* ширина белых блоков как у верхнего header/hero: почти до краев контейнера */
.page {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.card,
.product,
.result-main,
.checkout-card,
.payment-card,
.result-card,
.offer-card,
.quiz-card,
.email-card {
  width: calc(100% - 28px) !important;
  margin-left: 14px !important;
  margin-right: 14px !important;
}

/* на главной белый блок под картинкой на одной вертикали с картинкой */
.home-intro {
  width: calc(100% - 28px) !important;
  margin-left: 14px !important;
  margin-right: 14px !important;
}

/* убрать красную тень/свечение под кнопками */
.btn,
button.btn,
a.btn,
input[type="submit"],
button[type="submit"] {
  box-shadow: none !important;
  filter: none !important;
}

.btn::before,
.btn::after,
button.btn::before,
button.btn::after,
a.btn::before,
a.btn::after {
  display: none !important;
  content: none !important;
}

/* если розовое свечение было от карточки после кнопки — убрать именно красный оттенок */
.card,
.product,
.home-intro {
  box-shadow: 0 8px 22px rgba(18,24,40,.06) !important;
}

/* result: немного больше расстояние от текста "Dostępna..." до кнопки */
.result .card .btn,
body.result .card .btn {
  margin-top: 18px !important;
}

/* сохранить аккуратный низ и закругление */
.shell {
  border-radius: 34px !important;
  overflow: hidden !important;
}

@media(max-width:430px){
  .card,
  .product,
  .result-main,
  .checkout-card,
  .payment-card,
  .result-card,
  .offer-card,
  .quiz-card,
  .email-card,
  .home-intro {
    width: calc(100% - 22px) !important;
    margin-left: 11px !important;
    margin-right: 11px !important;
  }
}


/* ===== v26 same vertical borders ===== */

/* верхний блок Driver+ */
.topbar,
.header,
.header-bar,
.navbar {
  margin-left: 14px !important;
  margin-right: 14px !important;
  width: calc(100% - 28px) !important;
  box-sizing: border-box !important;
}

/* ВСЕ белые блоки строго по той же вертикали */
.home-intro,
.quiz-card,
.result-card,
.offer-card,
.email-card,
.checkout-card,
.payment-card,
.success-card,
.card,
.product {
  margin-left: 14px !important;
  margin-right: 14px !important;
  width: calc(100% - 28px) !important;
  box-sizing: border-box !important;
}

@media(max-width:430px){
  .topbar,
  .header,
  .header-bar,
  .navbar,
  .home-intro,
  .quiz-card,
  .result-card,
  .offer-card,
  .email-card,
  .checkout-card,
  .payment-card,
  .success-card,
  .card,
  .product {
    margin-left: 14px !important;
    margin-right: 14px !important;
    width: calc(100% - 28px) !important;
  }
}


/* ===== v27: remove Driver+/Bezpiecznie header + align photo/card borders ===== */

/* полностью убираем верхний блок Driver+ / Bezpiecznie */
.topbar,
.header,
.header-bar,
.navbar {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* общий контейнер без лишнего верхнего воздуха */
.shell {
  padding-top: 0 !important;
}

/* убираем внутренние боковые padding у page, чтобы ширину задавали сами блоки */
.page {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* главная картинка и все белые блоки по одной вертикали */
.hero,
.product-hero,
.card,
.product,
.home-intro,
.result-main,
.quiz-card,
.result-card,
.offer-card,
.email-card,
.checkout-card,
.payment-card,
.success-card {
  width: calc(100% - 28px) !important;
  margin-left: 14px !important;
  margin-right: 14px !important;
  box-sizing: border-box !important;
}

/* фото теперь не во всю ширину, а ровно как блок под ним */
.hero {
  margin-top: 14px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

/* на странице email product hero и форма под ним на одной вертикали */
.product-hero {
  margin-top: 14px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

/* карточки Visa/Mastercard как раньше: легче, не жирные */
.paycards div,
.payment-methods div,
.payment-methods button,
.card-brand,
.payment-pill,
.payment-method,
.chip {
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
  color: #3f4654 !important;
}

/* убрать тяжелую визуальную массу внутри payment chips */
.paycards div {
  border: 1.5px solid #e5e9f0 !important;
  box-shadow: none !important;
  background: #fff !important;
}

/* чуть аккуратнее низ после удаления header */
.page:last-child {
  padding-bottom: 18px !important;
}

@media(max-width:430px){
  .hero,
  .product-hero,
  .card,
  .product,
  .home-intro,
  .result-main,
  .quiz-card,
  .result-card,
  .offer-card,
  .email-card,
  .checkout-card,
  .payment-card,
  .success-card {
    width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }

  .hero,
  .product-hero {
    margin-top: 12px !important;
    border-radius: 22px !important;
  }
}
