:root{
  --flb-primary:#7c3aed;
  --flb-primary-dark:#6d28d9;
  --flb-accent:#f59e0b;
  --flb-text:#1f2937;
  --flb-heading:#1f2937;
  --flb-muted:#6b7280;
  --flb-bg:#ffffff;
  --flb-border:#e5e7eb;
  --flb-card-bg:#ffffff;
  --flb-font: system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --flb-radius-sm:10px;
  --flb-radius:18px;
  --flb-radius-lg:28px;
  --flb-shadow-sm:0 2px 8px rgba(17,24,39,.06);
  --flb-shadow:0 10px 30px rgba(17,24,39,.08);
  --flb-shadow-lg:0 24px 60px rgba(17,24,39,.14);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--flb-font);color:var(--flb-text);background:var(--flb-bg);line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{color:var(--flb-heading);font-family:var(--flb-font);letter-spacing:-0.01em;}
img{max-width:100%;height:auto;display:block;}
.flb-container{max-width:1080px;margin:0 auto;padding:0 24px;}
.flb-block{padding:64px 0;}

/* Кнопки */
.flb-btn{display:inline-block;padding:15px 30px;border-radius:14px;font-weight:600;text-decoration:none;cursor:pointer;
  border:none;font-size:16px;transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;}
.flb-btn-primary{background:var(--flb-primary);color:#fff;box-shadow:0 8px 20px color-mix(in srgb, var(--flb-primary) 35%, transparent);}
.flb-btn-primary:hover{background:var(--flb-primary-dark);transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb, var(--flb-primary) 45%, transparent);}
.flb-btn-secondary{background:#fff;color:var(--flb-primary);border:2px solid var(--flb-primary);}
.flb-btn-secondary:hover{background:color-mix(in srgb, var(--flb-primary) 8%, #fff);transform:translateY(-2px);}
.flb-btn-lg{padding:18px 38px;font-size:17px;border-radius:16px;}

/* Чередование фона секций */
.flb-section-wrap{background:var(--flb-bg);position:relative;}
.flb-section-wrap.flb-section-alt{background:color-mix(in srgb, var(--flb-primary) 5%, var(--flb-bg));}
body.flb-dark .flb-section-wrap.flb-section-alt{background:color-mix(in srgb, var(--flb-primary) 12%, var(--flb-bg));}

/* Разделители секций */
.flb-divider{position:absolute;left:0;right:0;bottom:-1px;line-height:0;pointer-events:none;z-index:5;}
.flb-divider svg{display:block;width:100%;height:70px;}
.flb-divider.fill-normal path{fill:var(--flb-bg);}
.flb-divider.fill-alt path{fill:color-mix(in srgb, var(--flb-primary) 5%, var(--flb-bg));}
body.flb-dark .flb-divider.fill-alt path{fill:color-mix(in srgb, var(--flb-primary) 12%, var(--flb-bg));}
@media(max-width:640px){.flb-divider svg{height:36px;}}

/* Плавное появление секций при скролле */
.flb-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
.flb-reveal.flb-revealed{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){.flb-reveal{opacity:1;transform:none;transition:none;}}

/* Hero */
.flb-hero{background-size:cover;background-position:center;text-align:center;padding:110px 0;position:relative;overflow:hidden;}
.flb-hero-heading{font-size:42px;margin:0 0 16px;line-height:1.15;}
.flb-hero-sub{font-size:18px;color:var(--flb-muted);max-width:640px;margin:0 auto 28px;}
.flb-hero-badge{display:inline-block;background:var(--flb-accent);color:#fff;font-weight:700;font-size:13px;padding:7px 18px;
  border-radius:999px;margin-bottom:18px;letter-spacing:.02em;box-shadow:0 6px 16px color-mix(in srgb, var(--flb-accent) 40%, transparent);}

/* Оверлей на фоновом фото hero — чтобы текст читался на любом изображении */
.flb-hero-overlay-light::before,.flb-hero-overlay-medium::before,.flb-hero-overlay-dark::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;}
.flb-hero-overlay-light::before{background:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.4));}
.flb-hero-overlay-medium::before{background:linear-gradient(180deg, rgba(0,0,0,.4), rgba(0,0,0,.6));}
.flb-hero-overlay-dark::before{background:linear-gradient(180deg, rgba(0,0,0,.6), rgba(0,0,0,.78));}
.flb-hero-overlay-light .flb-hero-inner,.flb-hero-overlay-medium .flb-hero-inner,.flb-hero-overlay-dark .flb-hero-inner{
  position:relative;z-index:2;}
.flb-hero-overlay-light .flb-hero-heading,.flb-hero-overlay-medium .flb-hero-heading,.flb-hero-overlay-dark .flb-hero-heading,
.flb-hero-overlay-light .flb-hero-sub,.flb-hero-overlay-medium .flb-hero-sub,.flb-hero-overlay-dark .flb-hero-sub{color:#fff;}

/* Hero: продукт сбоку */
.flb-hero-split{text-align:left;padding:80px 0;}
.flb-hero-split-inner{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.flb-hero-text-col .flb-hero-heading{font-size:46px;}
.flb-hero-text-col .flb-hero-sub{margin:0 0 28px;}
.flb-hero-image-col{position:relative;display:flex;align-items:center;justify-content:center;}
.flb-hero-product-image{position:relative;z-index:2;max-width:100%;border-radius:var(--flb-radius-lg);box-shadow:var(--flb-shadow-lg);}
.flb-hero-blob{position:absolute;width:120%;height:120%;border-radius:48% 52% 60% 40%/45% 55% 45% 55%;
  background:linear-gradient(135deg, var(--flb-primary), var(--flb-accent));opacity:.16;z-index:1;
  animation:flb-blob-float 9s ease-in-out infinite;}
@keyframes flb-blob-float{0%,100%{transform:translate(0,0) rotate(0deg);}50%{transform:translate(12px,-16px) rotate(8deg);}}

@media(max-width:860px){
  .flb-hero-split-inner{grid-template-columns:1fr;text-align:center;}
  .flb-hero-text-col{order:2;}
  .flb-hero-image-col{order:1;}
}

/* Цена + скидка в hero */
/* Цена — оформлена как "стикер" со своим фоном, чтобы всегда читалась
   поверх любого изображения/оверлея, независимо от фона под ней */
/* Цена — яркий "стикер-скидка", который реально цепляет взгляд.
   Наклон + градиент + пульсирующее свечение, как настоящий ценник "успей купить". */
.flb-hero-price-row{
  display:flex;width:fit-content;align-items:center;gap:14px;margin:10px auto 26px;
  background:linear-gradient(135deg, var(--flb-accent), var(--flb-primary));
  padding:14px 26px;border-radius:16px;
  transform:rotate(-3deg);
  box-shadow:0 12px 30px color-mix(in srgb, var(--flb-primary) 45%, transparent), 0 0 0 3px rgba(255,255,255,.25) inset;
  animation:flb-price-pop .5s cubic-bezier(.34,1.56,.64,1) both, flb-price-glow 2.6s ease-in-out .5s infinite;
  position:relative;
}
/* В левовыровненных hero (Hero v2, "Фото сбоку") цена не центрируется, а сидит у левого края */
.flb-hero-split .flb-hero-price-row,.flb-hero-v2 .flb-hero-price-row{margin-left:0;margin-right:0;}
.flb-hero-price-row::before{
  content:"🔥";position:absolute;top:-14px;right:-10px;font-size:20px;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));animation:flb-price-flame 1.8s ease-in-out infinite;
}
.flb-hero-price-old{font-size:16px;color:rgba(255,255,255,.75);text-decoration:line-through;font-weight:600;}
.flb-hero-price-current{font-size:30px;font-weight:900;color:#fff;letter-spacing:-.01em;text-shadow:0 2px 8px rgba(0,0,0,.2);}

/* ===== Варіанти дизайну цінника (8 стилів на вибір у налаштуваннях Hero-блоку) ===== */
/* "classic" — стиль за замовчуванням, вже реалізований у базових правилах вище, окремий CSS не потрібен. */

.flb-price-style-minimal{background:var(--flb-primary);transform:none;animation:none;box-shadow:0 4px 12px rgba(0,0,0,.15);}
.flb-price-style-minimal::before{content:none;}

.flb-price-style-ribbon{background:var(--flb-primary);transform:none;animation:none;border-radius:0;
  clip-path:polygon(0% 0%, 100% 0%, 92% 50%, 100% 100%, 0% 100%, 8% 50%);padding:14px 34px;}
.flb-price-style-ribbon::before{content:none;}

.flb-price-style-circle{background:var(--flb-primary);transform:none;animation:none;border-radius:50%;
  width:112px;height:112px;flex-direction:column;justify-content:center;padding:0;gap:2px;}
.flb-price-style-circle::before{content:none;}
.flb-price-style-circle .flb-hero-price-current{font-size:19px;}
.flb-price-style-circle .flb-hero-price-old{font-size:12px;}

.flb-price-style-neon{background:#0a0a0a;border:2px solid var(--flb-accent);transform:none;animation:none;
  box-shadow:0 0 14px var(--flb-accent), inset 0 0 8px rgba(255,255,255,.08);}
.flb-price-style-neon::before{content:none;}
.flb-price-style-neon .flb-hero-price-current{color:var(--flb-accent);text-shadow:0 0 8px var(--flb-accent);}
.flb-price-style-neon .flb-hero-price-old{color:rgba(255,255,255,.5);}

.flb-price-style-stamp{background:transparent;border:3px dashed var(--flb-primary);
  transform:rotate(-5deg);box-shadow:none;animation:none;}
.flb-price-style-stamp::before{content:none;}
.flb-price-style-stamp .flb-hero-price-current{color:var(--flb-primary);text-shadow:none;}
.flb-price-style-stamp .flb-hero-price-old{color:var(--flb-primary);opacity:.6;}

.flb-price-style-torn{background:#fef3c7;transform:rotate(-1deg);animation:none;box-shadow:0 4px 10px rgba(0,0,0,.2);
  clip-path:polygon(0% 12%,6% 0%,12% 10%,18% 0%,24% 10%,30% 0%,36% 10%,42% 0%,48% 10%,54% 0%,60% 10%,66% 0%,72% 10%,78% 0%,84% 10%,90% 0%,96% 10%,100% 0%,100% 88%,94% 100%,88% 90%,82% 100%,76% 90%,70% 100%,64% 90%,58% 100%,52% 90%,46% 100%,40% 90%,34% 100%,28% 90%,22% 100%,16% 90%,10% 100%,4% 90%,0% 100%);
  padding:18px 28px;}
.flb-price-style-torn::before{content:none;}
.flb-price-style-torn .flb-hero-price-current{color:#78350f;text-shadow:none;}
.flb-price-style-torn .flb-hero-price-old{color:#92400e;}

.flb-price-style-percent{background:#fff;border:2px solid var(--flb-primary);transform:none;animation:none;box-shadow:0 4px 12px rgba(0,0,0,.12);}
.flb-price-style-percent::before{content:none;}
.flb-price-style-percent .flb-hero-price-current{color:var(--flb-primary);text-shadow:none;}
.flb-price-style-percent .flb-hero-price-old{color:#94a3b8;}
.flb-hero-price-discount{background:#dc2626;color:#fff;font-weight:800;font-size:14px;padding:4px 10px;border-radius:999px;}

@keyframes flb-price-pop{
  0%{transform:rotate(-3deg) scale(0);opacity:0;}
  70%{transform:rotate(-3deg) scale(1.08);opacity:1;}
  100%{transform:rotate(-3deg) scale(1);}
}
@keyframes flb-price-glow{
  0%,100%{box-shadow:0 12px 30px color-mix(in srgb, var(--flb-primary) 45%, transparent), 0 0 0 3px rgba(255,255,255,.25) inset;}
  50%{box-shadow:0 16px 40px color-mix(in srgb, var(--flb-accent) 60%, transparent), 0 0 0 3px rgba(255,255,255,.4) inset;}
}
@keyframes flb-price-flame{
  0%,100%{transform:scale(1) rotate(0deg);}
  50%{transform:scale(1.2) rotate(-8deg);}
}
@media (prefers-reduced-motion: reduce){
  .flb-hero-price-row{animation:none;}
  .flb-hero-price-row::before{animation:none;}
}
@media(max-width:640px){
  .flb-hero-price-row{padding:11px 20px;transform:rotate(-2deg);}
  .flb-hero-price-current{font-size:24px;}
  .flb-hero-price-old{font-size:14px;}
}

/* Hero: фото сверху, текст снизу */
.flb-hero-stacked{padding:0 0 64px;text-align:left;}
.flb-hero-stacked-image{position:relative;width:100%;max-height:440px;overflow:hidden;border-radius:0 0 var(--flb-radius-lg) var(--flb-radius-lg);}
.flb-hero-stacked-image img{width:100%;height:100%;object-fit:cover;display:block;}
.flb-hero-badge-onimage{position:absolute;top:22px;left:22px;margin:0;}
.flb-hero-stacked-content{max-width:640px;margin:0 auto;padding:40px 24px 0;text-align:center;}
.flb-hero-stacked-content .flb-hero-price-row{justify-content:center;}
@media(max-width:640px){.flb-hero-stacked-image{max-height:280px;}}

.flb-section-heading{font-size:32px;text-align:center;margin:0 0 40px;}

/* Benefits / delivery grids */
.flb-benefits-grid,.flb-delivery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;}
.flb-benefit-item{text-align:center;background:var(--flb-card-bg);border-radius:var(--flb-radius);padding:32px 22px;
  box-shadow:var(--flb-shadow-sm);transition:transform .2s ease, box-shadow .2s ease;}
.flb-benefit-item:hover{transform:translateY(-4px);box-shadow:var(--flb-shadow);}
.flb-benefit-icon{font-size:38px;margin-bottom:14px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:inline-block;}
.flb-benefit-item:hover .flb-benefit-icon{transform:scale(1.15) rotate(-4deg);}
.flb-benefit-title{font-size:18px;margin:0 0 8px;}
.flb-benefit-text{color:var(--flb-muted);font-size:14px;margin:0;}
.flb-delivery-item{display:flex;gap:14px;align-items:flex-start;background:var(--flb-card-bg);border-radius:var(--flb-radius);
  padding:22px;box-shadow:var(--flb-shadow-sm);transition:transform .2s ease, box-shadow .2s ease;}
.flb-delivery-item:hover{transform:translateY(-3px);box-shadow:var(--flb-shadow);}
.flb-delivery-icon{font-size:28px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);}
.flb-delivery-item:hover .flb-delivery-icon{transform:scale(1.15);}
.flb-delivery-title{font-weight:600;}
.flb-delivery-text{color:var(--flb-muted);font-size:14px;}

/* Size/price */
.flb-size-price-list{display:flex;flex-direction:column;gap:12px;max-width:560px;margin:0 auto;}
.flb-size-price-row{display:flex;align-items:center;gap:14px;border:1.5px solid var(--flb-border);border-radius:var(--flb-radius-sm);
  padding:16px 20px;cursor:pointer;transition:border-color .15s, background .15s, transform .15s;background:var(--flb-card-bg);}
.flb-size-price-row:hover{transform:translateY(-1px);}
.flb-size-price-row:has(input:checked){border-color:#16a34a;background:color-mix(in srgb, #16a34a 10%, var(--flb-card-bg));}
.flb-size-price-size{font-weight:700;width:40px;}
.flb-size-price-desc{flex:1;color:var(--flb-muted);font-size:14px;}
.flb-size-price-price{font-weight:700;}

/* Pricing */
.flb-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;max-width:1000px;margin:0 auto;}
.flb-pricing-card{border:1px solid var(--flb-border);border-radius:var(--flb-radius);padding:32px 28px;text-align:center;
  background:var(--flb-card-bg);box-shadow:var(--flb-shadow-sm);transition:transform .2s ease, box-shadow .2s ease;}
.flb-pricing-card:hover{transform:translateY(-6px);box-shadow:var(--flb-shadow);}
.flb-pricing-name{margin:0 0 12px;}
.flb-pricing-old{text-decoration:line-through;color:var(--flb-muted);margin-right:10px;}
.flb-pricing-current{font-size:30px;font-weight:700;color:var(--flb-primary);}
.flb-pricing-features{list-style:none;padding:0;margin:22px 0;color:var(--flb-muted);font-size:14px;}
.flb-pricing-features li{padding:8px 0;border-top:1px solid var(--flb-border);}

/* FAQ */
.flb-faq-list{max-width:720px;margin:0 auto;}
.flb-faq-item{border-bottom:1px solid var(--flb-border);padding:18px 4px;}
.flb-faq-question{cursor:pointer;font-weight:600;}
.flb-faq-answer{color:var(--flb-muted);margin-top:10px;line-height:1.7;}

/* Форма заявки */
.flb-lead-form{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.flb-lead-form input{padding:15px 18px;border:1.5px solid var(--flb-border);border-radius:var(--flb-radius-sm);font-size:15px;
  background:var(--flb-card-bg);color:var(--flb-text);transition:border-color .15s;}
.flb-lead-form input:focus{outline:none;border-color:var(--flb-primary);}
.flb-form-message{font-size:14px;text-align:center;min-height:20px;}
.flb-form-message.success{color:#166534;}
.flb-form-message.error{color:#991b1b;}

/* Футер */
.flb-footer{background:color-mix(in srgb, var(--flb-primary) 28%, #0b0b14);color:#d1d5db;padding:48px 0;text-align:center;font-size:14px;}
.flb-footer-social{margin:14px 0;display:flex;justify-content:center;gap:12px;}
.flb-footer-social a{color:#fff;text-decoration:none;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);
  display:inline-flex;align-items:center;justify-content:center;transition:background .15s;}
.flb-footer-social a svg{width:18px;height:18px;}
.flb-footer-social a:hover{background:var(--flb-primary);}
.flb-footer-copy{margin-top:12px;color:#6b7280;}

/* Опции (размер+цвет) + форма заказа в одном блоке */
.flb-option-group{margin-bottom:20px;}
.flb-option-label{font-weight:600;margin-bottom:10px;font-size:14px;}
.flb-option-row{display:flex;flex-wrap:wrap;gap:10px;}
.flb-option-pill{border:1.5px solid var(--flb-border);border-radius:999px;padding:10px 18px;cursor:pointer;font-size:14px;
  background:var(--flb-card-bg);transition:all .15s;}
.flb-option-pill input{display:none;}
.flb-option-pill:has(input:checked){border-color:var(--flb-primary);background:color-mix(in srgb, var(--flb-primary) 10%, var(--flb-card-bg));color:var(--flb-primary);font-weight:600;}
/* Выбор размера — всегда подсвечивается зелёным, независимо от темы */
.flb-size-pill:has(input:checked){border-color:#16a34a;background:color-mix(in srgb, #16a34a 12%, var(--flb-card-bg));color:#15803d;font-weight:700;}
.flb-color-pill{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font-size:12px;}
.flb-color-pill input{display:none;}
.flb-color-swatch{width:36px;height:36px;border-radius:50%;border:2px solid var(--flb-border);display:block;box-shadow:var(--flb-shadow-sm);}
.flb-color-pill:has(input:checked) .flb-color-swatch{border-color:var(--flb-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--flb-primary) 30%, transparent);}
.flb-np-fields{display:flex;flex-direction:column;gap:10px;}
.flb-np-fields select{padding:15px;border:1.5px solid var(--flb-border);border-radius:var(--flb-radius-sm);font-size:15px;background:var(--flb-card-bg);color:var(--flb-text);}

/* Поле поиска для выбора области/города/отделения (вместо длинного select) */
.flb-search-select{position:relative;}
.flb-search-input{width:100%;padding:15px 18px;border:1.5px solid var(--flb-border);border-radius:var(--flb-radius-sm);
  font-size:15px;background:var(--flb-card-bg);color:var(--flb-text);font-family:inherit;}
.flb-search-input:disabled{opacity:.6;cursor:not-allowed;}
.flb-search-input:focus{outline:none;border-color:var(--flb-primary);}
.flb-search-dropdown{display:none;position:absolute;top:100%;left:0;right:0;z-index:60;margin-top:4px;
  background:var(--flb-card-bg);border:1.5px solid var(--flb-border);border-radius:var(--flb-radius-sm);
  max-height:260px;overflow-y:auto;box-shadow:var(--flb-shadow);}
.flb-search-dropdown.open{display:block;}
.flb-search-option{padding:11px 16px;font-size:14px;cursor:pointer;color:var(--flb-text);}
.flb-search-option:hover{background:color-mix(in srgb, var(--flb-primary) 8%, transparent);}
.flb-search-option-primary{font-weight:700;border-bottom:1px solid var(--flb-border);color:var(--flb-primary);}
.flb-search-empty{padding:11px 16px;font-size:13px;color:var(--flb-muted);}

/* Произвольные способы оплаты (с описанием/реквизитами) */
.flb-payment-methods{display:flex;flex-direction:column;gap:10px;}
.flb-payment-method{display:block;border:1.5px solid var(--flb-border);border-radius:var(--flb-radius-sm);
  padding:14px 16px;cursor:pointer;background:var(--flb-card-bg);transition:border-color .15s,background .15s;}
.flb-payment-method input{margin-right:8px;}
.flb-payment-method:has(input:checked){border-color:var(--flb-primary);background:color-mix(in srgb, var(--flb-primary) 6%, var(--flb-card-bg));}
.flb-payment-method-label{font-weight:600;font-size:14px;}
.flb-payment-method-desc{display:block;margin-top:6px;margin-left:24px;font-size:13px;color:var(--flb-muted);line-height:1.5;}

/* Галерея — живая, с оверлеем и увеличением при наведении */
.flb-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.flb-gallery-item{position:relative;display:block;border-radius:var(--flb-radius);overflow:hidden;aspect-ratio:1/1;
  box-shadow:var(--flb-shadow-sm);}
.flb-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.flb-gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 55%, rgba(0,0,0,.45));
  opacity:0;transition:opacity .3s ease;}
.flb-gallery-item::before{content:"🔍";position:absolute;bottom:14px;right:14px;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;font-size:15px;
  opacity:0;transform:translateY(8px);transition:opacity .3s ease, transform .3s ease;z-index:2;}
.flb-gallery-item:hover img{transform:scale(1.08);}
.flb-gallery-item:hover::after{opacity:1;}
.flb-gallery-item:hover::before{opacity:1;transform:translateY(0);}
.flb-gallery-grid:has(.flb-gallery-item:nth-child(3)) .flb-gallery-item:first-child{grid-column:span 2;grid-row:span 2;}
@media(max-width:640px){.flb-gallery-grid:has(.flb-gallery-item:nth-child(3)) .flb-gallery-item:first-child{grid-column:span 1;grid-row:span 1;}}

/* Описание товара */
.flb-description-inner{max-width:820px;margin:0 auto;}
.flb-description-inner.has-image{display:grid;grid-template-columns:300px 1fr;gap:36px;align-items:center;max-width:960px;}
.flb-description-image{border-radius:var(--flb-radius);width:100%;box-shadow:var(--flb-shadow);}
.flb-description-text{color:var(--flb-muted);font-size:16px;line-height:1.8;}

/* Характеристики */
.flb-specs-table{max-width:720px;margin:0 auto;border:1px solid var(--flb-border);border-radius:var(--flb-radius);overflow:hidden;
  background:var(--flb-card-bg);box-shadow:var(--flb-shadow-sm);}
.flb-specs-row{display:grid;grid-template-columns:1fr 1fr;transition:background .15s;}
.flb-specs-row:nth-child(odd){background:color-mix(in srgb, var(--flb-primary) 3%, transparent);}
.flb-specs-row:hover{background:color-mix(in srgb, var(--flb-primary) 8%, transparent);}
.flb-specs-name,.flb-specs-value{padding:14px 20px;font-size:14px;}
.flb-specs-name{font-weight:600;border-right:1px solid var(--flb-border);}
.flb-specs-value{color:var(--flb-muted);}

/* Размерная сетка */
.flb-size-grid-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--flb-radius);box-shadow:var(--flb-shadow-sm);position:relative;}
.flb-size-grid-table{width:100%;border-collapse:collapse;background:var(--flb-card-bg);min-width:480px;}
.flb-size-grid-table th{background:color-mix(in srgb, var(--flb-primary) 8%, var(--flb-card-bg));color:var(--flb-heading);
  font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:14px 18px;text-align:left;white-space:nowrap;}
.flb-size-grid-table td{padding:14px 18px;font-size:14px;border-top:1px solid var(--flb-border);color:var(--flb-muted);white-space:nowrap;}
.flb-size-grid-table .flb-size-grid-size{font-weight:700;color:var(--flb-heading);}
.flb-size-grid-table tbody tr{transition:background .15s;}
.flb-size-grid-table tbody tr:hover{background:color-mix(in srgb, var(--flb-primary) 6%, transparent);}

/* Подсказка "листайте вбок", если таблица шире экрана */
.flb-size-grid-hint{display:none;text-align:center;font-size:12px;color:var(--flb-muted);margin-top:8px;}
@media(max-width:640px){
  .flb-size-grid-scroll{scrollbar-width:thin;}
  .flb-size-grid-table th,.flb-size-grid-table td{padding:10px 12px;font-size:13px;}
  .flb-size-grid-hint{display:block;}
}

/* Видео-фон */
.flb-video-bg{position:relative;overflow:hidden;min-height:520px;display:flex;align-items:center;justify-content:center;padding:0;}
.flb-video-bg-embed{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.flb-video-bg-embed iframe{position:absolute;top:50%;left:50%;width:177.77vh;height:56.25vw;min-height:100%;min-width:100%;transform:translate(-50%,-50%);}
.flb-video-bg-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.flb-video-bg-content{position:relative;z-index:2;text-align:center;color:#fff;padding:96px 20px;}
.flb-video-bg-content .flb-hero-sub{color:#e5e7eb;}

/* Таймер обратного отсчёта */
.flb-countdown{text-align:center;}
.flb-countdown-timer{display:flex;justify-content:center;gap:16px;flex-wrap:nowrap;}
.flb-countdown-unit{background:var(--flb-card-bg);border:1px solid var(--flb-border);border-radius:var(--flb-radius);
  padding:18px 22px;min-width:84px;box-shadow:var(--flb-shadow-sm);flex:0 1 auto;}
.flb-countdown-unit span{display:block;font-size:32px;font-weight:700;color:var(--flb-primary);}
.flb-countdown-unit label{font-size:12px;color:var(--flb-muted);text-transform:uppercase;}
.flb-countdown-expired{font-size:20px;font-weight:600;color:var(--flb-accent);}

/* Тёмная тема */
body.flb-dark{background:var(--flb-bg);color:var(--flb-text);}
body.flb-dark .flb-size-price-row,body.flb-dark .flb-pricing-card,body.flb-dark .flb-specs-table,
body.flb-dark .flb-countdown-unit,body.flb-dark .flb-benefit-item,body.flb-dark .flb-delivery-item,
body.flb-dark .flb-np-fields select,body.flb-dark .flb-search-input,body.flb-dark .flb-search-dropdown{background:var(--flb-card-bg);border-color:var(--flb-border);color:var(--flb-text);}
body.flb-dark .flb-option-pill{background:var(--flb-card-bg);color:var(--flb-text);}
body.flb-dark .flb-option-pill:not(:has(input:checked)){border-color:var(--flb-border);}
body.flb-dark .flb-benefit-text,body.flb-dark .flb-delivery-text,body.flb-dark .flb-faq-answer,
body.flb-dark .flb-pricing-features,body.flb-dark .flb-size-price-desc,body.flb-dark .flb-description-text,
body.flb-dark .flb-specs-value,body.flb-dark .flb-hero-sub{color:var(--flb-muted);}
body.flb-dark .flb-lead-form input{background:var(--flb-card-bg);color:var(--flb-text);border-color:var(--flb-border);}

@media(max-width:640px){
  .flb-hero-heading{font-size:28px;}
  .flb-block{padding:40px 0;}
  .flb-description-inner.has-image{grid-template-columns:1fr;}
  .flb-specs-row{grid-template-columns:1fr;}
  .flb-specs-name{border-right:none;border-bottom:1px solid var(--flb-border);}
  .flb-video-bg{min-height:380px;}
  .flb-countdown-timer{gap:8px;}
  .flb-countdown-unit{padding:10px 6px;min-width:0;flex:1 1 0;}
  .flb-countdown-unit span{font-size:22px;}
  .flb-countdown-unit label{font-size:10px;}
  .flb-gallery-item{cursor:default;}
  .flb-gallery-item::before{display:none;}
  .flb-gallery-item:active img{transform:none;}
}

/* Sticky-панель «Купить» */
.flb-sticky-bar{position:fixed;left:0;right:0;bottom:0;background:var(--flb-card-bg);border-top:1px solid var(--flb-border);
  padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;z-index:80;
  transform:translateY(110%);transition:transform .3s ease;box-shadow:0 -8px 24px rgba(0,0,0,.1);}
.flb-sticky-bar.visible{transform:translateY(0);}
.flb-sticky-bar-text{font-weight:600;font-size:14px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.flb-sticky-bar .flb-btn{flex-shrink:0;padding:11px 24px;font-size:14px;}

@media(min-width:900px){
  .flb-sticky-bar{left:auto;right:24px;bottom:24px;border-radius:var(--flb-radius);border:1px solid var(--flb-border);
    max-width:420px;transform:translateY(140%);}
  .flb-sticky-bar.visible{transform:translateY(0);}
}
/* Шапка сайта: лого + телефон + мессенджеры */
.flb-site-header{background:var(--flb-card-bg);border-bottom:1px solid var(--flb-border);position:sticky;top:0;z-index:60;}
.flb-site-header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:16px;}
.flb-site-logo{height:38px;width:auto;}
.flb-site-logo-text{font-weight:700;font-size:18px;color:var(--flb-heading);}
.flb-site-header-contacts{display:flex;align-items:center;gap:10px;}
.flb-header-contact-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--flb-text);font-weight:600;font-size:15px;}
.flb-header-contact-link svg{width:18px;height:18px;color:var(--flb-primary);}
.flb-header-contact-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;
  transition:transform .15s;}
.flb-header-contact-icon svg{width:32px;height:32px;}
.flb-header-contact-icon:hover{transform:scale(1.1);}
@media(max-width:640px){
  .flb-header-contact-link span{display:none;}
  .flb-site-header-inner{padding:12px 16px;}
}

/* Hero v2 (фото + описание + цена) */
.flb-hero-v2{padding:80px 0;position:relative;overflow:hidden;}
.flb-hero-v2-inner{display:grid;grid-template-columns:340px 1fr;gap:44px;align-items:center;text-align:left;}
.flb-hero-v2-image-col img{border-radius:var(--flb-radius-lg);box-shadow:var(--flb-shadow-lg);width:100%;}
.flb-hero-v2-description{color:var(--flb-muted);font-size:16px;line-height:1.8;margin:0 0 20px;}
@media(max-width:820px){.flb-hero-v2-inner{grid-template-columns:1fr;text-align:center;}}

/* Hero v4 (2 фото зверху + ціна поверх фото + заголовок/опис/кнопка знизу) */
.flb-hero-v4{padding:60px 0;}
.flb-hero-v4-photos{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:32px;}
.flb-hero-v4-photo{border-radius:var(--flb-radius-lg);overflow:hidden;box-shadow:var(--flb-shadow-lg);aspect-ratio:3/4;}
.flb-hero-v4-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.flb-hero-v4-price-overlay{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);}
.flb-hero-v4-price-overlay .flb-hero-price-row{margin:0;}
.flb-hero-v4-price-overlay .flb-hero-price-old{font-size:15px;}
.flb-hero-v4-price-overlay .flb-hero-price-current{font-size:22px;}
.flb-hero-v4-content{text-align:center;max-width:640px;margin:0 auto;}
.flb-hero-v4-description{color:var(--flb-muted);font-size:16px;line-height:1.8;margin:0 0 24px;}
@media(max-width:560px){
  .flb-hero-v4-photos{gap:6px;}
  .flb-hero-v4-price-overlay{bottom:10px;}
  .flb-hero-v4-price-overlay .flb-hero-price-current{font-size:17px;}
}

/* Hero v3 (с встроенным таймером) */
.flb-hero-v3-countdown{margin:12px 0 28px;}

/* Отзывы */
.flb-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.flb-review-card{background:var(--flb-card-bg);border-radius:var(--flb-radius);padding:26px;box-shadow:var(--flb-shadow-sm);
  transition:transform .2s, box-shadow .2s;}
.flb-review-card:hover{transform:translateY(-4px);box-shadow:var(--flb-shadow);}
.flb-review-stars{color:var(--flb-accent);font-size:16px;margin-bottom:12px;}
.flb-review-stars span{opacity:.25;}
.flb-review-stars span.filled{opacity:1;}
.flb-review-text{font-size:15px;line-height:1.7;color:var(--flb-text);margin:0;}
.flb-review-author{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.flb-review-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;}
.flb-review-avatar-placeholder{background:var(--flb-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;}
.flb-review-name{font-weight:600;font-size:14px;}
.flb-review-city{font-size:12px;color:var(--flb-muted);}

/* Форма отзыва — поп-ап */
.flb-review-form-overlay,.flb-article-overlay,.flb-lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);
  display:none;align-items:center;justify-content:center;z-index:200;padding:20px;}
.flb-review-form-overlay.visible,.flb-article-overlay.visible{display:flex;}
.flb-review-form-modal,.flb-article-modal{background:var(--flb-card-bg);border-radius:var(--flb-radius);padding:32px;
  max-width:480px;width:100%;max-height:85vh;overflow:auto;position:relative;}
.flb-modal-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:26px;cursor:pointer;color:var(--flb-muted);line-height:1;}
[data-flb-review-form]{display:flex;flex-direction:column;gap:12px;margin-top:16px;}
[data-flb-review-form] input,[data-flb-review-form] textarea{padding:13px 16px;border:1.5px solid var(--flb-border);
  border-radius:var(--flb-radius-sm);font-size:14px;font-family:inherit;background:var(--flb-bg);color:var(--flb-text);}
.flb-review-star-picker{font-size:26px;color:var(--flb-border);cursor:pointer;user-select:none;}
.flb-review-star-picker span{margin-right:4px;transition:color .15s;}
.flb-review-star-picker span.active{color:var(--flb-accent);}
.flb-article-content{color:var(--flb-muted);line-height:1.8;font-size:15px;margin-top:8px;}

/* Ссылки-статьи в футере */
.flb-footer-articles{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:10px 0;font-size:13px;}
.flb-footer-articles a{color:#d1d5db;text-decoration:underline;}
.flb-footer-articles a:hover{color:#fff;}

/* Лайтбокс галереи */
.flb-lightbox-overlay{display:none;}
.flb-lightbox-overlay.visible{display:flex;}
.flb-lightbox-image{max-width:90vw;max-height:85vh;border-radius:12px;object-fit:contain;}
.flb-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);color:#fff;
  border:none;width:48px;height:48px;border-radius:50%;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.flb-lightbox-prev{left:24px;}
.flb-lightbox-next{right:24px;}
.flb-lightbox-nav:hover{background:rgba(255,255,255,.3);}

/* Чекбокс "не перезванивайте" в форме заказа */
.flb-no-callback-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--flb-muted);cursor:pointer;line-height:1.5;}
.flb-no-callback-label input{width:auto;flex-shrink:0;margin-top:2px;}

/* ===== WOW-эффекты для максимальной конверсии ===== */

/* Блик, пробегающий по главной кнопке — привлекает взгляд */
.flb-btn-primary{position:relative;overflow:hidden;}
.flb-btn-primary::after{
  content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.45), transparent);
  transform:skewX(-20deg);animation:flb-btn-shine 3.5s ease-in-out infinite;
}
@keyframes flb-btn-shine{
  0%{left:-60%;} 35%{left:130%;} 100%{left:130%;}
}
@media (prefers-reduced-motion: reduce){.flb-btn-primary::after{display:none;}}

/* Пульсация плашки-бейджа (скидка/хит продаж) — привлекает внимание */
.flb-hero-badge{animation:flb-badge-pulse 2.4s ease-in-out infinite;}
@keyframes flb-badge-pulse{
  0%,100%{transform:scale(1);} 50%{transform:scale(1.06);}
}
@media (prefers-reduced-motion: reduce){.flb-hero-badge{animation:none;}}

/* Декоративные размытые фигуры-пятна на альтернативных секциях — премиальная глубина */
.flb-section-wrap.flb-section-alt{position:relative;overflow:hidden;}
.flb-section-wrap.flb-section-alt::before,.flb-section-wrap.flb-section-alt::after{
  content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.14;z-index:0;pointer-events:none;
  background:linear-gradient(135deg, var(--flb-primary), var(--flb-accent));
}
.flb-section-wrap.flb-section-alt::before{width:340px;height:340px;top:-120px;right:-100px;}
.flb-section-wrap.flb-section-alt::after{width:260px;height:260px;bottom:-100px;left:-80px;}
.flb-section-wrap.flb-section-alt > *{position:relative;z-index:1;}

/* Ленточка "Популярный выбор" в тарифах */
.flb-pricing-card{position:relative;}
.flb-pricing-popular{border:2px solid var(--flb-primary);transform:scale(1.04);box-shadow:var(--flb-shadow-lg);}
.flb-pricing-ribbon{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);white-space:nowrap;
  background:linear-gradient(135deg, var(--flb-primary), var(--flb-accent));color:#fff;
  padding:6px 18px;border-radius:999px;font-size:12px;font-weight:700;box-shadow:0 6px 16px rgba(0,0,0,.18);
}

/* Плашки доверия (гарантия/доставка/оплата/возврат) */
.flb-trust-badges-row{display:flex;justify-content:center;flex-wrap:wrap;gap:36px;padding:8px 0;}
.flb-trust-badge{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--flb-text);}
.flb-trust-badge-icon{font-size:26px;}

/* Счётчик цифр с анимацией */
.flb-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:32px;text-align:center;}
.flb-stat-number{font-size:44px;font-weight:800;color:var(--flb-primary);letter-spacing:-.02em;line-height:1;}
.flb-stat-label{margin-top:10px;font-size:14px;color:var(--flb-muted);font-weight:500;}

@media(max-width:640px){
  .flb-trust-badges-row{gap:20px;}
  .flb-trust-badge{font-size:13px;}
  .flb-stat-number{font-size:32px;}
  .flb-pricing-popular{transform:none;}
}

/* Совсем узкие экраны (320-380px) — таймер ещё компактнее, но всегда в 1 строку */
@media(max-width:380px){
  .flb-countdown-timer{gap:5px;}
  .flb-countdown-unit{padding:8px 3px;}
  .flb-countdown-unit span{font-size:18px;}
  .flb-countdown-unit label{font-size:9px;}
}

/* ===== Декоративные фоновые эффекты hero-секций (выбираются в настройках лендинга) ===== */
/* Декоративные боковые полосы-эффекты — на всю длину страницы, только в полях
   за пределами центральной колонки контента, никогда не перекрывают текст */
.flb-side-effect{
  position:fixed;top:0;bottom:0;width:260px;
  pointer-events:none;z-index:2;opacity:.55;overflow:hidden;
  display:none;
}
.flb-side-effect-left{left:0;}
.flb-side-effect-right{right:0;}
@media(min-width:1600px){
  .flb-side-effect{display:block;}
}
.flb-hero-inner,.flb-hero-text-col,.flb-hero-image-col,.flb-hero-v2-inner,
.flb-hero-stacked-content{position:relative;z-index:1;}

/* Liquid Blobs — жидкие капли, покачивающиеся размытые пятна */
.flb-bg-effect-blobs::before,.flb-bg-effect-blobs::after{
  content:"";position:absolute;border-radius:50%;filter:blur(50px);opacity:.28;
  background:linear-gradient(135deg, var(--flb-primary), var(--flb-accent));
  animation:flb-blob-float 9s ease-in-out infinite;
}
.flb-bg-effect-blobs::before{width:320px;height:320px;top:-100px;left:-80px;}
.flb-bg-effect-blobs::after{width:260px;height:260px;bottom:-90px;right:-60px;animation-delay:-4s;}

/* Aurora Glow — северное сияние */
.flb-bg-effect-aurora{
  background:
    radial-gradient(ellipse at 20% 30%, rgba(80,255,180,.35), transparent 60%),
    radial-gradient(ellipse at 80% 20%, rgba(140,90,255,.32), transparent 55%),
    radial-gradient(ellipse at 50% 85%, rgba(80,180,255,.3), transparent 60%);
  filter:blur(40px);animation:flb-aurora-move 12s ease-in-out infinite alternate;
}
@keyframes flb-aurora-move{0%{transform:translate(-4%,-4%) scale(1);}100%{transform:translate(4%,4%) scale(1.12);}}

/* Prismatic Light Leaks — призматические засветы */
.flb-bg-effect-prismatic{
  background:linear-gradient(115deg, transparent 25%, rgba(255,0,150,.16) 38%, rgba(0,200,255,.16) 50%, rgba(255,225,0,.14) 62%, transparent 75%);
  mix-blend-mode:screen;animation:flb-prismatic-shift 7s ease-in-out infinite alternate;
}
@keyframes flb-prismatic-shift{0%{transform:translateX(-8%);}100%{transform:translateX(8%);}}

/* Dynamic Grainy Gradients — шумные градиенты */
.flb-bg-effect-grain{
  background-color:transparent;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E"),
    linear-gradient(135deg, color-mix(in srgb, var(--flb-primary) 22%, transparent), color-mix(in srgb, var(--flb-accent) 18%, transparent));
  background-blend-mode:overlay;
  opacity:.7;
}

/* Edge Glow — контурное свечение по краям секции */
.flb-bg-effect-edge_glow{
  box-shadow:inset 0 0 90px 24px color-mix(in srgb, var(--flb-primary) 45%, transparent);
  animation:flb-edge-pulse 3.2s ease-in-out infinite;
}
@keyframes flb-edge-pulse{0%,100%{opacity:.55;}50%{opacity:1;}}

/* Frosted Glass Honeycombs — матовые стеклянные соты */
.flb-bg-effect-honeycomb{
  background:
    repeating-linear-gradient(60deg, rgba(255,255,255,.10) 0 2px, transparent 2px 42px),
    repeating-linear-gradient(-60deg, rgba(255,255,255,.10) 0 2px, transparent 2px 42px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 2px, transparent 2px 42px);
  backdrop-filter:blur(1px);
}

/* Generative Grid — плавающая сетка */
.flb-bg-effect-grid{
  background-image:
    linear-gradient(color-mix(in srgb, var(--flb-primary) 18%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--flb-primary) 18%, transparent) 1px, transparent 1px);
  background-size:38px 38px;
  animation:flb-grid-pan 22s linear infinite;
  mask-image:radial-gradient(ellipse at center, #000 40%, transparent 85%);
}
@keyframes flb-grid-pan{0%{background-position:0 0;}100%{background-position:38px 38px;}}

/* Bento Overflow — вылеты элементов из бенто-сетки */
.flb-bg-effect-bento span{
  position:absolute;border-radius:20px;background:linear-gradient(135deg, var(--flb-primary), var(--flb-accent));opacity:.16;
}
.flb-bg-effect-bento span:nth-child(1){width:120px;height:120px;top:-30px;left:8%;}
.flb-bg-effect-bento span:nth-child(2){width:80px;height:80px;top:20%;right:-20px;}
.flb-bg-effect-bento span:nth-child(3){width:150px;height:90px;bottom:-25px;left:30%;}
.flb-bg-effect-bento span:nth-child(4){width:70px;height:70px;bottom:10%;right:12%;}

/* Isometric Floaties — левитирующие 3D-фигуры */
.flb-bg-effect-isometric i{
  position:absolute;display:block;font-style:normal;opacity:.22;
  background:linear-gradient(135deg, var(--flb-primary), var(--flb-accent));
  animation:flb-float-bob 6s ease-in-out infinite;
}
.flb-bg-effect-isometric i:nth-child(1){width:36px;height:36px;top:12%;left:8%;border-radius:8px;transform:rotate(20deg);animation-delay:0s;}
.flb-bg-effect-isometric i:nth-child(2){width:24px;height:24px;top:65%;left:18%;border-radius:50%;animation-delay:-1.5s;}
.flb-bg-effect-isometric i:nth-child(3){width:44px;height:44px;top:20%;right:10%;border-radius:10px;transform:rotate(-15deg);animation-delay:-3s;}
.flb-bg-effect-isometric i:nth-child(4){width:20px;height:20px;bottom:15%;right:22%;border-radius:50%;animation-delay:-2s;}
.flb-bg-effect-isometric i:nth-child(5){width:30px;height:30px;bottom:8%;left:45%;border-radius:8px;transform:rotate(35deg);animation-delay:-4.5s;}
@keyframes flb-float-bob{0%,100%{transform:translateY(0) rotate(var(--r,0deg));}50%{transform:translateY(-18px) rotate(var(--r,0deg));}}

/* Abstract Plasma — абстрактная плазма/дым */
.flb-bg-effect-plasma{
  background:
    radial-gradient(circle at 30% 40%, color-mix(in srgb, var(--flb-primary) 45%, transparent), transparent 60%),
    radial-gradient(circle at 70% 60%, color-mix(in srgb, var(--flb-accent) 45%, transparent), transparent 60%);
  filter:blur(55px);animation:flb-plasma-move 10s ease-in-out infinite alternate;
}
@keyframes flb-plasma-move{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.2) translate(4%,-4%);}}

/* Topographic Lines — топографические линии */
.flb-bg-effect-topo{
  background:repeating-radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--flb-primary) 22%, transparent) 0 2px, transparent 2px 24px);
}

@media (prefers-reduced-motion: reduce){
  .flb-side-effect *,.flb-side-effect{animation:none !important;}
}

/* Слайдер (карусель) */
.flb-slider{position:relative;max-width:900px;margin:0 auto;border-radius:var(--flb-radius);overflow:hidden;box-shadow:var(--flb-shadow);}
.flb-slider-track{display:flex;transition:transform .45s ease;}
.flb-slide{flex:0 0 100%;position:relative;background:var(--flb-card-bg);}
.flb-slide-image{width:100%;max-height:420px;object-fit:cover;display:block;}
.flb-slide-content{padding:22px 26px;text-align:center;}
.flb-slide-title{margin:0 0 8px;font-size:20px;}
.flb-slide-text{margin:0;color:var(--flb-muted);font-size:15px;line-height:1.7;}
.flb-slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.9);border:none;font-size:24px;cursor:pointer;color:var(--flb-text);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--flb-shadow-sm);transition:background .15s;}
.flb-slider-nav:hover{background:#fff;}
.flb-slider-prev{left:14px;}
.flb-slider-next{right:14px;}
.flb-slider-dots{display:flex;justify-content:center;gap:8px;padding:14px 0;}
.flb-slider-dot{width:9px;height:9px;border-radius:50%;background:var(--flb-border);cursor:pointer;transition:background .15s,transform .15s;}
.flb-slider-dot.active{background:var(--flb-primary);transform:scale(1.3);}
@media(max-width:640px){
  .flb-slider-nav{width:34px;height:34px;font-size:18px;}
  .flb-slide-image{max-height:260px;}
}

/* ===== Отзывы: вариант "Карусель" ===== */
.flb-reviews-carousel{position:relative;max-width:1100px;margin:0 auto;overflow:hidden;padding:0 50px;}
.flb-reviews-carousel-track{display:flex;transition:transform .5s ease;gap:20px;}
.flb-reviews-carousel-slide{flex:0 0 calc(33.333% - 14px);min-width:260px;}
.flb-reviews-carousel .flb-slider-nav{background:var(--flb-card-bg);box-shadow:var(--flb-shadow-sm);color:var(--flb-text);}
@media(max-width:900px){.flb-reviews-carousel-slide{flex:0 0 calc(50% - 10px);}}
@media(max-width:640px){
  .flb-reviews-carousel{padding:0 40px;}
  .flb-reviews-carousel-slide{flex:0 0 100%;}
}

/* ===== Отзывы: вариант "Бегущая лента" (тренд 2026) ===== */
.flb-reviews-marquee{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:20px;
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);}
.flb-reviews-marquee-row{display:flex;gap:20px;width:max-content;}
.flb-reviews-marquee-row .flb-review-card{width:340px;flex-shrink:0;background:color-mix(in srgb, var(--flb-card-bg) 88%, transparent);
  backdrop-filter:blur(6px);border:1px solid color-mix(in srgb, var(--flb-border) 70%, transparent);}
.flb-reviews-marquee-left{animation:flb-marquee-left 50s linear infinite;}
.flb-reviews-marquee-right{animation:flb-marquee-right 50s linear infinite;}
.flb-reviews-marquee:hover .flb-reviews-marquee-row{animation-play-state:paused;}
@keyframes flb-marquee-left{0%{transform:translateX(0);}100%{transform:translateX(-33.3333%);}}
@keyframes flb-marquee-right{0%{transform:translateX(-33.3333%);}100%{transform:translateX(0);}}
@media (prefers-reduced-motion: reduce){
  .flb-reviews-marquee-row{animation:none !important;overflow-x:auto;}
}
@media(max-width:640px){
  .flb-reviews-marquee-row .flb-review-card{width:280px;}
}

/* ===== Блок "Видео" (до 5 роликов, клик по превью запускает плеер) ===== */
.flb-video-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.flb-video-gallery-count-1{grid-template-columns:minmax(0,720px);justify-content:center;}
.flb-video-gallery-item{position:relative;border-radius:var(--flb-radius);overflow:hidden;aspect-ratio:16/9;
  background:#000;box-shadow:var(--flb-shadow-sm);cursor:pointer;}
.flb-video-gallery-thumb{width:100%;height:100%;object-fit:cover;display:block;}
.flb-video-gallery-thumb-placeholder{background:linear-gradient(135deg, color-mix(in srgb, var(--flb-primary) 30%, #111), #111);}
.flb-video-gallery-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.95);border:none;
  display:flex;align-items:center;justify-content:center;color:var(--flb-primary);cursor:pointer;
  transition:transform .2s;box-shadow:0 8px 20px rgba(0,0,0,.3);}
.flb-video-gallery-play svg{width:28px;height:28px;margin-left:3px;}
.flb-video-gallery-item:hover .flb-video-gallery-play{transform:translate(-50%,-50%) scale(1.1);}
.flb-video-gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:16px;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.75));color:#fff;pointer-events:none;}
.flb-video-gallery-title{font-weight:700;font-size:15px;}
.flb-video-gallery-desc{font-size:13px;opacity:.85;margin-top:2px;}
.flb-video-gallery-item iframe{width:100%;height:100%;border:none;display:block;}
