:root{
  /* primitive */
  --color-white:#FFFFFF;
  --color-ink-900:#20262B;
  --color-ink-500:#667074;
  --color-line-300:#DCD7CC;
  --color-blue-600:#0090FE;
  --color-blue-900:#0D3784;
  --color-blue-100:#DCEEFE;
  --color-green-500:#25D366;
  --color-green-900:#0B3D22;
  --color-rust-600:#B4482E;
  --color-rust-100:#F5E4DE;

  /* semantic */
  --surface:var(--color-white);
  --ink:var(--color-ink-900);
  --muted:var(--color-ink-500);
  --line:var(--color-line-300);
  --accent:var(--color-blue-900);
  --accent-soft:var(--color-blue-100);
  --accent-bright:var(--color-blue-600);
  --whatsapp:var(--color-green-500);
  --whatsapp-ink:var(--color-green-900);
  --pain:var(--color-rust-600);
  --pain-soft:var(--color-rust-100);

  --section-bg-light:#FFFFFF;
  --section-bg-gray:#F5F5F5;

  --radius:14px;
  --gap-xs:8px;
  --gap-sm:12px;
  --gap-md:20px;
  --gap-lg:32px;
  --gap-xl:56px;
}

@media (prefers-color-scheme: dark){
  :root{
    --surface:#1B2023;
    --ink:#EDEEE9;
    --muted:#93A0A3;
    --line:#31393C;
    --accent:#0090FE;
    --accent-soft:#163157;
    --accent-bright:#33A6FF;
    --whatsapp:#2FDB78;
    --whatsapp-ink:#052E14;
    --pain:#E08064;
    --pain-soft:#3A241F;
  }
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:#FFFFFF;
  color:var(--ink);
  font-family:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.page{
  max-width:480px;
  margin:0 auto;
  background:#fff;
  min-height:100svh;
}

/* ---- nav ---- */
.nav{
  position:sticky;top:0;z-index:20;
  background:#FFFFFF;
  border-bottom:1px solid #E5E7EB;
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;
}
.logo{ display:flex;align-items:center;text-decoration:none; }
.logo-img{ height:20px;width:auto;display:block; }
.socials{ display:flex;gap:10px; }
.social-ic{
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;flex:0 0 auto;
  border:2px solid var(--ink);
  background:var(--surface);
  color:var(--ink);
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.social-ic svg{ width:18px;height:18px; }
.social-ic:hover, .social-ic:focus-visible{
  border-color:var(--accent);
  background:var(--accent-soft);
  color:var(--accent);
}
@media (pointer:coarse){
  .social-ic{ width:44px;height:44px; }
}
@media (max-width:374px){
  .logo-img{ height:16px; }
  .socials{ gap:6px; }
  .social-ic{ width:34px;height:34px; }
  .social-ic svg{ width:15px;height:15px; }
}

/* ---- hero ---- */
.hero-photo-wrap{
  aspect-ratio:3/4;
  overflow:hidden;
}
.hero-photo{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hero-content{
  background:#FFFFFF;
  border-bottom:1px solid #E5E7EB;
  padding:14px 20px 22px;
}
.hero-eyebrow{
  display:inline-block;
  font-size:12px;letter-spacing:normal;
  color:#1E3A8A;font-weight:700;
  background:#EEF1F8;
  padding:5px 10px;border-radius:100px;
  margin-bottom:8px;
}
.hero-content h1{
  margin:0 0 4px;
  font-size:26px;line-height:1.2;letter-spacing:-.01em;font-weight:800;
  color:#1A1A1A;
  text-wrap:balance;
}
.hero-desc{
  margin:0 0 6px;
  font-size:13.5px;line-height:1.5;color:#4A4A4A;
}
.hero-price-row{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px 10px;
  margin:14px 0 18px;
}
.hero-price{
  margin:0;
  font-size:20px;font-weight:800;color:#1A1A1A;
}
.currency-toggle{ display:flex;gap:6px; }
.currency-btn{
  height:32px;padding:0 14px;border-radius:100px;
  font-size:14px;font-weight:600;font-family:inherit;
  background:transparent;color:#6B7280;
  border:1px solid #E5E7EB;cursor:pointer;
  transition:background-color .15s ease, color .15s ease, border-color .15s ease;
}
.currency-btn[aria-pressed="true"]{
  background:#1E3A8A;color:#fff;border-color:#1E3A8A;
}
.hero-cta{ display:flex;flex-direction:column;gap:10px; }
.btn-hero-primary,
.btn-hero-secondary{
  height:52px;width:100%;border-radius:12px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  color:#fff;font-weight:600;font-size:16px;text-decoration:none;
  border:none;cursor:pointer;
  transition:background-color .15s ease;
}
.btn-hero-primary svg,
.btn-hero-secondary svg{ width:20px;height:20px;flex:0 0 auto; }
.btn-hero-primary{ background:#25D366;order:1; }
.btn-hero-primary:hover, .btn-hero-primary:active{ background:#1FAF52; }
.btn-hero-secondary{ background:#229ED9;order:2; }
.btn-hero-secondary:hover, .btn-hero-secondary:active{ background:#1C87BA; }
.hero-note{
  margin:8px 0 0;
  font-size:13px;color:#6B7280;text-align:center;
  text-decoration:none;
}

/* ---- catalog ---- */
.catalog{ background:var(--section-bg-light);padding:32px 0; }
.catalog-head{ margin-bottom:20px;padding:0 20px; }
.catalog-head h2{ margin:0 0 4px;font-size:24px;font-weight:800;color:#1A1A1A; }

.catalog-cards{
  display:grid;grid-template-columns:1fr 1fr;column-gap:5px;row-gap:5px;align-items:stretch;
  padding:0;background:#FFFFFF;
}
.catalog-card{
  display:flex;flex-direction:column;
  width:100%;margin:0;padding:0;border:none;border-radius:0;
  background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer;
}
.card-photo{
  width:100%;aspect-ratio:2/3;background:#F5F5F5;
  display:flex;align-items:center;justify-content:center;
}
.card-photo picture{ width:100%;height:100%;display:block; }
.card-photo img{ width:100%;height:100%;aspect-ratio:2/3;object-fit:cover;object-position:center;display:block; }
.card-photo-label{ font-size:14px;color:#6B7280;font-weight:600;text-align:center;padding:0 16px; }
.card-info{ padding:12px;display:flex;flex-direction:column;flex:1; }
.card-title{
  margin:0 0 4px;font-size:15px;line-height:1.3;font-weight:500;color:#6B7280;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.card-price{
  margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;
  font-size:17px;font-weight:600;color:#0D3784;letter-spacing:-.01em;
}
.price-old{ font-size:13px;font-weight:400;color:#9CA3AF;text-decoration:line-through; }
.card-price-row{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:6px;margin-top:8px;margin-bottom:12px;
}
.currency-toggle-sm{ flex:0 0 auto; }
.currency-toggle-sm .currency-btn{
  height:22px;padding:0 8px;font-size:11px;font-weight:600;
}

.btn-details{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:40px;margin-top:auto;
  border-radius:12px;border:none;
  background:#1E3A8A;color:#fff;
  font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;
  transition:background-color .15s ease;
}
.btn-details:active{ background:#1B347C; }
.btn-details:focus-visible{ outline:2px solid #1E3A8A;outline-offset:2px; }


/* ---- tech (Drop Stitch explainer) ---- */
.tech{ background:var(--section-bg-gray);padding:40px 16px; }
.tech h2{ margin:0 0 16px;font-size:24px;font-weight:800;color:#1A1A1A; }
.tech-text{ margin:0 0 12px;font-size:15px;line-height:1.6;color:#1A1A1A; }
.tech-text:last-of-type{ margin-bottom:0; }
.tech-diagram{
  margin-top:24px;padding:16px;border-radius:12px;background:var(--section-bg-light);
}
.diagram-zoom-trigger{
  display:block;width:100%;padding:0;margin:0;
  border:none;background:none;cursor:zoom-in;
}
.tech-diagram-img{
  display:block;width:100%;height:auto;
  border-radius:12px;background:#FFFFFF;
}
.tech-diagram-caption{ margin:8px 0 0;font-size:13px;color:#6B7280;text-align:center; }

.tech-video-card{
  display:flex;align-items:center;gap:10px;
  width:100%;min-height:48px;margin-top:16px;padding:12px;
  background:#fff;border-radius:12px;border:none;
  text-align:left;font:inherit;color:inherit;cursor:pointer;
}
.tech-video-play{
  flex:0 0 auto;height:28px;width:auto;display:block;
}
.tech-video-text{ flex:1;min-width:0;display:flex;flex-direction:column; }
.tech-video-title{ font-size:14px;font-weight:500;color:#1A1A1A; }
.tech-video-sub{ margin-top:2px;font-size:12px;color:#6B7280; }
.tech-video-chevron{ flex:0 0 16px;color:#6B7280; }

.tech-specs{ margin-top:24px; }

/* ---- purchase (how buying works) ---- */
.purchase{ background:var(--section-bg-light);padding:40px 16px; }
.purchase h2{ margin:0 0 4px;font-size:24px;font-weight:800;color:#1A1A1A; }
.purchase-subtitle{ margin:0 0 24px;font-size:15px;color:#6B7280; }

.purchase-steps{ margin:0;padding:0;list-style:none; }
.purchase-step{
  position:relative;
  display:flex;align-items:flex-start;gap:12px;
}
.purchase-step + .purchase-step{ margin-top:24px; }
.purchase-step:not(:last-child)::before{
  content:"";position:absolute;
  left:15px;top:32px;bottom:-24px;
  width:2px;background:#E5E7EB;
}
.purchase-step-num{
  position:relative;z-index:1;flex:0 0 32px;
  width:32px;height:32px;border-radius:50%;
  background:#1E3A8A;color:#fff;
  font-size:15px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
/* the highlighted step's body has 12px top padding, so its circle must drop
   the same 12px to stay level with the title; the line before/after it
   is re-anchored to the circle's real edges, not the row's box edges */
.purchase-step-has-highlight .purchase-step-num{ margin-top:12px; }
.purchase-step.purchase-step-before-highlight::before{ bottom:-36px; }
.purchase-step.purchase-step-has-highlight::before{ top:44px; }
.purchase-step-body{ flex:1;min-width:0; }
.purchase-step-body-highlight{
  background:#EEF1F8;border-radius:12px;padding:12px;
}
.purchase-step-title{ margin:0;font-size:16px;font-weight:600;color:#1A1A1A; }
.purchase-step-desc{ margin:4px 0 0;font-size:15px;line-height:1.5;color:#4A4A4A; }

.purchase-consult-btn{ margin-top:28px; }

/* ---- trust (why you can trust us) ---- */
.trust{ background:var(--section-bg-gray);padding:40px 16px; }
.trust h2{ margin:0 0 20px;font-size:24px;font-weight:800;color:#1A1A1A; }

.trust-head{ display:flex;align-items:center;gap:8px; }
.trust-icon{ width:20px;height:20px;flex:0 0 20px;color:#1E3A8A; }

.trust-trademark{ background:#fff;border-radius:12px;padding:16px; }
.trust-trademark-title{ margin:0;font-size:16px;font-weight:600;color:#1A1A1A; }
.trust-trademark-text{ margin:6px 0 0;padding-left:28px;font-size:15px;line-height:1.5;color:#4A4A4A; }
.trust-trademark-link{
  display:inline-block;margin:10px 0 0 28px;
  font-size:15px;color:#0090FE;text-decoration:none;
}
.trust-trademark-link:hover{ text-decoration:underline; }
.trust-trademark-divider{ height:1px;background:#E5E7EB;margin:12px 0; }
.trust-trademark-note{ margin:0;font-size:14px;line-height:1.5;color:#6B7280; }
.trust-trademark-note a{ color:#6B7280;text-decoration:underline; }

.trust-points{ margin-top:16px;display:flex;flex-direction:column;gap:10px; }
.trust-point{ background:#fff;border-radius:12px;padding:14px; }
.trust-point-title{ margin:0;font-size:15px;font-weight:600;color:#1A1A1A; }
.trust-point-desc{ margin:4px 0 0;padding-left:28px;font-size:14px;line-height:1.5;color:#4A4A4A; }
.trust-point-link{
  display:inline-block;margin:8px 0 0 28px;
  font-size:14px;color:#0090FE;text-decoration:none;
}
.trust-point-link:hover{ text-decoration:underline; }

.trust-consult-btn{ margin-top:24px; }

/* ---- reviews (video testimonials strip) ---- */
.reviews{ background:var(--section-bg-light);padding:40px 0; }
.reviews-heading{ margin:0 0 20px;padding:0 16px;font-size:24px;font-weight:800;color:#1A1A1A; }

.reviews-strip{
  display:flex;gap:10px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:0 16px;
  scroll-padding-left:16px;
  scroll-padding-right:16px;
}
.reviews-strip::-webkit-scrollbar{ display:none; }

.review-card{
  flex:0 0 82%;
  scroll-snap-align:center;
  aspect-ratio:4/5;
  border-radius:12px;
  overflow:hidden;
  position:relative;
  border:none;padding:0;margin:0;
  background:#EEF1F8;cursor:pointer;
}
.review-card img{ width:100%;height:100%;object-fit:cover;object-position:center;display:block; }

/* ---- gallery (own-site photo strip): reuses .reviews-strip / .review-card
   mechanics from the video testimonials block, only the sizing differs ---- */
.gallery{ background:var(--section-bg-light);padding:32px 0; }
.gallery-viewport{ position:relative; }
.gallery-strip{ gap:0;padding:0;scroll-padding-left:0;scroll-padding-right:0; }
.gallery-card{ flex:0 0 100%;border-radius:0;aspect-ratio:2/3; }
.gallery-card img{ border-radius:0; }

.gallery-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;padding:0;border:none;background:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  z-index:2;
}
.gallery-arrow[hidden]{ display:none; }
.gallery-arrow-prev{ left:12px; }
.gallery-arrow-next{ right:12px; }
.gallery-arrow-circle{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.9);
  box-shadow:0 1px 4px rgba(0,0,0,.25);
  color:#1A1A1A;
  display:flex;align-items:center;justify-content:center;
}

.gallery-counter{
  position:absolute;bottom:12px;right:12px;z-index:2;
  font-size:12px;color:#fff;background:rgba(0,0,0,.5);
  padding:4px 10px;border-radius:999px;
}

.gallery-dots{ margin-top:14px; }

.reviews-dots{ margin-top:14px; }

/* ---- delivery ---- */
.delivery{ background:var(--section-bg-gray);padding:40px 16px; }
.delivery h2{ margin:0 0 20px;font-size:24px;font-weight:800;color:#1A1A1A; }

.delivery-cards{ display:flex;flex-direction:column;gap:10px; }

.delivery-transport-card{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.delivery-transport-text{ flex:1;min-width:0; }
.delivery-carriers{ display:flex;align-items:center;gap:10px;flex:0 0 auto; }
.delivery-carrier-logo{ height:24px;width:auto;object-fit:contain;display:block; }

.delivery-promo{ position:relative;background:#EEF1F8;border-radius:12px;padding:14px; }
.delivery-badge{
  position:absolute;top:12px;right:12px;
  font-size:11px;color:#fff;background:#1E3A8A;
  padding:3px 8px;border-radius:999px;
}
.delivery-promo-head{ display:flex;align-items:center;gap:8px; }
.delivery-promo-title{ margin:0;padding-right:60px;font-size:15px;font-weight:600;color:#0C447C; }
.delivery-promo-desc{ margin:4px 0 0;padding-left:28px;font-size:14px;line-height:1.5;color:#185FA5; }

.delivery-consult-btn{ margin-top:18px; }

/* ---- lightbox: full-viewport image zoom, shared for tech diagram + future catalog photos ---- */
.lightbox-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.9);
  z-index:60;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  opacity:0;transition:opacity .2s ease;
}
.lightbox-backdrop.open{ opacity:1; }
.lightbox-backdrop[hidden]{ display:none; }
.lightbox-img{
  max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;display:block;
}
.lightbox-close{
  position:fixed;top:8px;right:8px;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:none;border:none;color:#fff;font-size:30px;line-height:1;
  cursor:pointer;z-index:61;
}
.lightbox-counter{
  position:fixed;top:12px;left:12px;
  font-size:14px;color:#fff;background:rgba(0,0,0,.5);
  padding:4px 10px;border-radius:999px;z-index:61;
}
.lightbox-counter[hidden]{ display:none; }
.lightbox-backdrop .gallery-arrow{ z-index:61; }
.video-overlay-frame{
  width:100%;max-width:480px;aspect-ratio:1/1;max-height:100%;
}
.video-overlay-frame iframe{
  width:100%;height:100%;display:block;border:none;
}

/* ---- shared: photo slider (used inside the details sheet) ---- */
.card-media{ position:relative; }
.card-slider{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.card-slider::-webkit-scrollbar{ display:none; }
.card-slide{
  flex:0 0 100%;
  scroll-snap-align:center;
  aspect-ratio:1/1;
  background:#EEF1F8;
  display:flex;align-items:center;justify-content:center;
  text-align:center;padding:16px;
}
.card-slide img{ width:100%;height:100%;object-fit:cover;display:block; }
.slide-label{ font-size:13px;color:#6B7280;font-weight:600; }
.card-slide-photo{ padding:0; }
.card-slide-video{ padding:0;position:relative;cursor:pointer; }
.card-slide-video img{ width:100%;height:100%;object-fit:cover;object-position:center;display:block; }
.video-slide-tint{ position:absolute;inset:0;background:rgba(0,0,0,.15); }
.video-play-btn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:56px;height:56px;border-radius:50%;
  background:rgba(0,0,0,.6);
  display:flex;align-items:center;justify-content:center;
}
.card-dots{ display:flex;justify-content:center;gap:6px;margin-top:10px; }
.card-dots .dot{ width:6px;height:6px;border-radius:50%;background:#D1D5DB; }
.card-dots .dot.active{ background:#1E3A8A; }

/* ---- shared: spec rows, kit list, kaspi block, consult button ---- */
.card-specs{
  margin-top:0;
  display:flex;flex-direction:column;gap:14px;
}
.spec-row{ display:block; }
.spec-label{ display:block;font-size:13px;font-weight:400;color:#6B7280; }
.spec-value{ display:block;margin-top:2px;font-size:15px;color:#1A1A1A;text-align:left; }

.details-actions{ margin-top:24px;display:flex;flex-direction:column;gap:10px; }
.kaspi-group{ margin-top:0; }
.btn-kaspi{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:48px;border-radius:12px;
  background:#fff;border:1.5px solid #F14635;color:#F14635;
  font-weight:600;font-size:16px;text-decoration:none;
  transition:background-color .2s ease, color .2s ease;
}
.btn-kaspi:hover, .btn-kaspi:active{ background:#F14635;color:#fff; }
.btn-kaspi:focus-visible{ outline:2px solid #F14635;outline-offset:2px; }
.kaspi-note{ margin:6px 0 0;font-size:13px;color:#6B7280;text-align:center; }
:root[data-currency="rub"] .kaspi-group{ display:none; }

.btn-consult{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:48px;border-radius:12px;
  background:#1E3A8A;color:#fff;border:none;
  font-weight:600;font-size:16px;cursor:pointer;
}

/* ---- details sheet (full height, one "Подробнее" per model) ---- */
.details-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.5);
  z-index:40;opacity:0;transition:opacity .2s ease;
}
.details-backdrop.open{ opacity:1; }
.details-backdrop[hidden]{ display:none; }

.details-sheet{
  position:fixed;left:0;right:0;bottom:0;top:24px;margin:0 auto;max-width:480px;
  background:#fff;border-radius:16px 16px 0 0;overflow:hidden;
  z-index:41;
  display:flex;flex-direction:column;
  transform:translateY(100%);transition:transform .3s ease;
}
.details-sheet.open{ transform:translateY(0); }
.details-sheet[hidden]{ display:none; }
.details-sheet::before{
  content:"";position:absolute;top:0;left:0;right:0;height:60px;
  background:linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,0));
  z-index:2;pointer-events:none;
}
.details-handle{
  position:absolute;top:8px;left:50%;transform:translateX(-50%);
  width:36px;height:4px;border-radius:999px;
  background:rgba(255,255,255,.7);
  z-index:3;
}
.details-close{
  position:absolute;top:8px;right:12px;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:none;border:none;font-size:26px;line-height:1;
  color:#fff;cursor:pointer;padding:0;z-index:3;
}
.details-scroll{ flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch; }
.details-body{ padding:0 16px max(24px, env(safe-area-inset-bottom)); }
.details-title{ margin:16px 0 2px;font-size:20px;font-weight:800;color:#1A1A1A; }
.details-caption{ margin:0 0 10px;font-size:13px;color:#6B7280; }
.details-price{
  margin:0 0 20px;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;
  font-size:20px;font-weight:800;color:#1A1A1A;
}
.details-price-old{ font-size:15px;font-weight:400;color:#9CA3AF;text-decoration:line-through; }

/* ---- consult sheet (messenger choice, stacks on top of details sheet) ---- */
.consult-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.5);
  z-index:50;opacity:0;transition:opacity .2s ease;
}
.consult-backdrop.open{ opacity:1; }
.consult-backdrop[hidden]{ display:none; }

.consult-sheet{
  position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:480px;
  background:#fff;border-radius:16px 16px 0 0;
  padding:20px 20px max(20px, env(safe-area-inset-bottom));
  z-index:51;
  transform:translateY(100%);transition:transform .25s ease;
}
.consult-sheet.open{ transform:translateY(0); }
.consult-sheet[hidden]{ display:none; }
.consult-sheet-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;
}
.consult-sheet-header span{ font-size:16px;font-weight:700;color:#1A1A1A; }
.consult-close{
  background:none;border:none;font-size:26px;line-height:1;
  color:#6B7280;cursor:pointer;padding:4px;
}
.consult-sheet-options{ display:flex;flex-direction:column;gap:10px; }
.consult-option{
  height:52px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:600;font-size:16px;text-decoration:none;
}
.consult-wa{ background:#25D366; }
.consult-tg{ background:#229ED9; }

/* ---- lead form (shares .consult-backdrop/.consult-sheet shell above) ---- */
.lead-form-sheet{ max-height:85vh;overflow-y:auto; }
.lead-form-field{ margin-top:16px; }
.lead-form-field:first-of-type{ margin-top:0; }
.lead-form-label{ display:block;margin-bottom:6px;font-size:14px;color:#6B7280; }
.lead-form-sizes{ display:flex;flex-wrap:wrap;gap:8px; }
.lead-form-size-btn{
  height:36px;padding:0 14px;border-radius:999px;
  font-size:14px;font-weight:600;font-family:inherit;
  background:transparent;color:#1A1A1A;
  border:1px solid #E5E7EB;cursor:pointer;
  transition:background-color .15s ease, color .15s ease, border-color .15s ease;
}
.lead-form-size-btn.selected{ background:#1E3A8A;color:#fff;border-color:#1E3A8A; }
.lead-form-input{
  display:block;width:100%;height:48px;padding:0 14px;
  border:1px solid #E5E7EB;border-radius:10px;
  font-size:16px;font-family:inherit;color:#1A1A1A;
  background:#fff;
}
.lead-form-input::placeholder{ color:#9CA3AF; }
.lead-form-input:focus{ outline:none;border-color:#1E3A8A; }
.lead-form-error{ margin:6px 0 0;font-size:13px;color:#B4482E; }
.lead-form-error[hidden]{ display:none; }

.lead-form-consent{
  display:flex;align-items:center;gap:8px;min-height:44px;
  margin-top:16px;cursor:pointer;
}
.lead-form-checkbox{ flex:0 0 20px;width:20px;height:20px;margin:0; }
.lead-form-consent-text{ font-size:13px;color:#6B7280;line-height:1.4; }
.lead-form-consent-link{ color:#0090FE; }

.lead-form-submit{
  display:block;width:100%;height:48px;margin-top:20px;
  border-radius:12px;border:none;
  background:#1E3A8A;color:#fff;
  font-weight:600;font-size:16px;font-family:inherit;cursor:pointer;
}
.lead-form-submit:disabled{ background:#D1D5DB;cursor:not-allowed; }

/* ---- footer ---- */
.site-footer{
  background:#0D3784;
  color:rgba(255,255,255,.85);
  padding:24px 20px;
}
.footer-logo-img{ height:20px;width:auto;display:block;margin-bottom:16px; }
.footer-divider{ height:1px;background:rgba(255,255,255,.15);margin-bottom:16px; }
.footer-block + .footer-block{ margin-top:14px; }
.footer-org-row{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:6px 0;margin-bottom:8px;
}
.footer-org{ margin:0;font-size:16px;font-weight:800;color:#fff; }
.footer-heading{
  margin:0 0 8px;font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.6);
}
.footer-line{ margin:0 0 4px;font-size:13px;line-height:1.6; }
.footer-line a{ color:inherit;text-decoration:none; }
.footer-line a:hover{ text-decoration:underline; }
.footer-line-icon{ display:flex;align-items:flex-start;gap:8px; }
.footer-icon{ flex:0 0 16px;width:16px;height:16px;margin-top:2px;color:currentColor;opacity:.7; }
.footer-bottom{
  margin-top:16px;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.15);
}
.footer-bottom p{ margin:0;font-size:11.5px;color:rgba(255,255,255,.55); }
.footer-bottom p a{ color:rgba(255,255,255,.75);text-decoration:underline; }
.footer-payments{ display:flex;flex-wrap:wrap;gap:6px;flex:0 0 auto; }
.pay-badge{
  height:22px;padding:0 9px;border-radius:5px;background:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:10px;letter-spacing:.03em;
}
.pay-visa{ color:#1A1F71;font-style:italic; }
.pay-mc{ padding:0 8px; }
.pay-mir{ color:#00923F; }
.pay-sbp{ color:#5B2A86; }

/* ---- back-to-top FAB: z-index sits above content but below sheets/overlays
   (40+), so their full-screen backdrops naturally cover it while open ---- */
#scrollSentinel{ position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden; }
.back-to-top{
  position:fixed;left:50%;right:auto;bottom:16px;z-index:30;
  width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.95);border:1px solid #E5E7EB;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
  cursor:pointer;
  opacity:0;pointer-events:none;
  transform:translateX(calc(240px - 100% - 16px)) translateY(8px);
  transition:opacity .2s ease, transform .2s ease;
}
.back-to-top.visible{
  opacity:1;pointer-events:auto;
  transform:translateX(calc(240px - 100% - 16px)) translateY(0);
}
.back-to-top:focus-visible{ outline:2px solid #1E3A8A;outline-offset:2px; }
@media (max-width:479px){
  .back-to-top{ left:auto;right:16px;transform:translateY(8px); }
  .back-to-top.visible{ transform:translateY(0); }
}
@media (prefers-reduced-motion: reduce){
  .back-to-top{ transition:none; }
}

/* ---- legal (privacy policy / offer): plain text page, header+footer only ---- */
.legal{ padding:32px 16px;background:var(--section-bg-light); }
.legal h1{ margin:0 0 8px;font-size:26px;font-weight:800;color:#1A1A1A; }
.legal-date{ margin:0 0 8px;font-size:14px;color:#6B7280; }
.legal h2{ margin:28px 0 10px;font-size:18px;font-weight:600;color:#1A1A1A; }
.legal h2:first-of-type{ margin-top:28px; }
.legal p, .legal li{ margin:0 0 10px;font-size:15px;line-height:1.6;color:#1A1A1A; }
.legal ul, .legal ol{ margin:0 0 10px;padding-left:20px; }
.legal p:last-child, .legal ul:last-child, .legal ol:last-child{ margin-bottom:0; }
.legal a{ color:#0090FE; }
