/* Стили для рендера лендинга */
:root { --ls-primary:#4f46e5; --ls-secondary:#111827; --ls-text:#111827; --ls-muted:#6b7280; --ls-bg:#ffffff; --ls-font:'Inter','Manrope',system-ui,-apple-system,Segoe UI,Roboto,sans-serif; }
body { font-family:var(--ls-font); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; color:var(--ls-text); }

.ls-block { padding:0; }
.ls-container { max-width:1200px; margin:0 auto; padding:0 32px; }
.ls-section-title { font-size:clamp(28px, 3.6vw, 44px); letter-spacing:-.02em; line-height:1.12; font-weight:700; margin:0 0 16px; text-align:center; color:var(--ls-text,#111827); }
.ls-section-sub { font-size:18px; color:var(--ls-muted,#6b7280); text-align:center; max-width:640px; margin:0 auto 48px; line-height:1.6; }

/* Scroll animations */
[data-anim] { opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
[data-anim].is-visible { opacity:1; transform:translateY(0); }

/* Hero base */
.ls-hero { position:relative; padding:120px 0; color:#fff; overflow:hidden; }
.ls-hero__inner { max-width:820px; margin:0 auto; position:relative; z-index:2; }
.ls-hero__eyebrow { display:inline-block; padding:6px 14px; border-radius:999px; background:rgba(255,255,255,.15); backdrop-filter:blur(10px); font-size:13px; font-weight:500; margin-bottom:24px; letter-spacing:.02em; }
.ls-hero__title { font-size:clamp(40px, 5.5vw, 72px); letter-spacing:-.03em; line-height:1.02; font-weight:800; margin:0 0 20px; }
.ls-hero__subtitle { font-size:clamp(17px, 1.6vw, 22px); opacity:.92; margin:0 0 36px; line-height:1.5; font-weight:400; }
.ls-hero__actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* Hero — CENTER (default) */
.ls-hero--center { text-align:center; }

/* Hero — SPLIT */
.ls-hero--split { padding:96px 0; text-align:left; color:var(--ls-text,#111827); }
.ls-hero--split .ls-hero__title { color:var(--ls-text,#111827); }
.ls-hero--split .ls-hero__subtitle { color:var(--ls-muted,#6b7280); opacity:1; }
.ls-hero__split { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.ls-hero--split-r .ls-hero__split { direction:rtl; }
.ls-hero--split-r .ls-hero__split > * { direction:ltr; }
.ls-hero__copy .ls-hero__actions { justify-content:flex-start; }
.ls-hero__media img { width:100%; border-radius:16px; box-shadow:0 24px 60px rgba(16,24,40,.18); display:block; }
.ls-hero__placeholder { aspect-ratio:4/3; background:linear-gradient(135deg,#e5e7eb,#f3f4f6); border-radius:16px; }

/* split-wide — во всю ширину экрана, без ls-container */
.ls-hero--split-wide { padding:0; }
.ls-hero__split--wide { display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch; min-height:560px; }
.ls-hero--split-wide.ls-hero--split-r .ls-hero__split--wide { direction:rtl; }
.ls-hero--split-wide.ls-hero--split-r .ls-hero__split--wide > * { direction:ltr; }
.ls-hero--split-wide .ls-hero__copy { padding:80px 8vw; display:flex; flex-direction:column; justify-content:center; }
.ls-hero--split-wide .ls-hero__media { position:relative; overflow:hidden; }
.ls-hero--split-wide .ls-hero__media img { width:100%; height:100%; object-fit:cover; border-radius:0; box-shadow:none; }
.ls-hero--split-wide .ls-hero__placeholder { height:100%; aspect-ratio:auto; border-radius:0; }
@media (max-width:768px) {
  .ls-hero__split--wide { grid-template-columns:1fr; min-height:auto; }
  .ls-hero--split-wide .ls-hero__copy { padding:56px 20px; }
  .ls-hero--split-wide .ls-hero__media { min-height:280px; }
}

/* Hero — GRADIENT MESH */
.ls-hero--gradient { text-align:center; padding:140px 0; }
.ls-hero__mesh { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:1; }
.ls-hero__mesh::before, .ls-hero__mesh::after { content:''; position:absolute; width:600px; height:600px; border-radius:50%; filter:blur(120px); opacity:.4; }
.ls-hero__mesh::before { background:#ec4899; top:-200px; left:-100px; }
.ls-hero__mesh::after  { background:#06b6d4; bottom:-200px; right:-100px; }

/* Hero — VIDEO */
.ls-hero--video { padding:140px 0; text-align:center; }
.ls-hero__video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.ls-hero__video-overlay { position:absolute; inset:0; background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)); z-index:1; }

/* Hero — DEVICE */
.ls-hero--device { text-align:center; padding:100px 0 0; color:var(--ls-text,#111827); }
.ls-hero--device .ls-hero__title { color:var(--ls-text,#111827); }
.ls-hero--device .ls-hero__subtitle { color:var(--ls-muted,#6b7280); opacity:1; }
.ls-hero__device { margin-top:56px; max-width:900px; margin-left:auto; margin-right:auto; position:relative; }
.ls-hero__device img { width:100%; border-radius:16px 16px 0 0; box-shadow:0 -20px 60px rgba(16,24,40,.16); display:block; }

@media (max-width:768px) {
  .ls-hero { padding:80px 0; }
  .ls-hero__split { grid-template-columns:1fr; gap:32px; }
  .ls-hero--split { text-align:center; }
  .ls-hero__copy .ls-hero__actions { justify-content:center; }
}

/* Buttons */
.ls-btn { display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--ls-text,#111827); padding:14px 28px; border-radius:10px; font-weight:600; text-decoration:none; font-size:15px; transition:.2s; border:1px solid transparent; }
.ls-btn:hover { transform:translateY(-1px); box-shadow:0 10px 24px rgba(0,0,0,.15); }
.ls-btn--light { background:var(--ls-text,#111827); color:#fff; }
.ls-btn--hero { background:#fff; color:var(--ls-text,#111827); }
.ls-hero--split .ls-btn--hero, .ls-hero--device .ls-btn--hero { background:var(--ls-primary,#4f46e5); color:#fff; }
.ls-btn--ghost-inv { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.4); }
.ls-btn--ghost-inv:hover { background:rgba(255,255,255,.15); }
.ls-hero--split .ls-btn--ghost-inv, .ls-hero--device .ls-btn--ghost-inv { color:var(--ls-text,#111827); border-color:#e5e7eb; }

/* Features — grid (default) */
.ls-features { padding:100px 0; background:#fff; }
.ls-features__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:40px; margin-top:16px; }
.ls-feature { text-align:center; padding:24px 12px; }
.ls-feature i { font-size:44px; color:var(--ls-primary,#4f46e5); margin-bottom:18px; display:block; }
.ls-feature h3 { font-size:20px; margin:0 0 8px; font-weight:600; letter-spacing:-.01em; }
.ls-feature p { color:var(--ls-muted,#6b7280); margin:0; line-height:1.65; font-size:15px; }

/* Features — cards */
.ls-features--cards { background:#fafafa; }
.ls-features-cards__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; margin-top:16px; }
.ls-feature-card { background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:32px 28px; transition:.25s; }
.ls-feature-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(16,24,40,.08); border-color:#d1d5db; }
.ls-feature-card__icon { width:56px; height:56px; border-radius:12px; background:linear-gradient(135deg,var(--ls-primary,#4f46e5),var(--ls-secondary,#111827)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:20px; }
.ls-feature-card h3 { font-size:20px; margin:0 0 10px; font-weight:600; letter-spacing:-.01em; }
.ls-feature-card p { color:var(--ls-muted,#6b7280); margin:0; line-height:1.65; font-size:15px; }

/* Features — numbered */
.ls-features--numbered { padding:100px 0; background:#fff; }
.ls-features-num__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:40px; margin-top:16px; }
.ls-feature-num { padding:8px 0; }
.ls-feature-num__n { font-size:64px; font-weight:800; letter-spacing:-.04em; color:var(--ls-primary,#4f46e5); line-height:1; margin-bottom:16px; opacity:.85; }
.ls-feature-num h3 { font-size:22px; margin:0 0 8px; font-weight:600; letter-spacing:-.01em; }
.ls-feature-num p { color:var(--ls-muted,#6b7280); margin:0; line-height:1.65; font-size:15px; }

/* Features — alternating */
.ls-features--alt { padding:80px 0; background:#fff; }
.ls-features-alt__list { display:flex; flex-direction:column; gap:80px; margin-top:48px; }
.ls-feature-alt { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.ls-feature-alt--rev { direction:rtl; }
.ls-feature-alt--rev > * { direction:ltr; }
.ls-feature-alt__media img { width:100%; border-radius:14px; box-shadow:0 16px 40px rgba(16,24,40,.12); }
.ls-feature-alt__placeholder { aspect-ratio:4/3; background:linear-gradient(135deg,#f3f4f6,#e5e7eb); border-radius:14px; }
.ls-feature-alt__copy h3 { font-size:clamp(24px, 2.6vw, 32px); margin:0 0 14px; font-weight:700; letter-spacing:-.02em; line-height:1.15; }
.ls-feature-alt__copy p { color:var(--ls-muted,#6b7280); font-size:17px; line-height:1.65; margin:0; }
@media (max-width:768px) { .ls-feature-alt { grid-template-columns:1fr; gap:24px; } }

/* Text */
.ls-text { padding:80px 0; background:#fff; }
.ls-text__body { max-width:760px; margin:0 auto; font-size:18px; line-height:1.75; color:#374151; }

/* CTA — center (default) */
.ls-cta { padding:100px 0; text-align:center; position:relative; overflow:hidden; }
.ls-cta--center { background:var(--ls-secondary,#111827); color:#fff; }
.ls-cta__inner { max-width:720px; margin:0 auto; position:relative; z-index:2; }
.ls-cta h2 { font-size:clamp(28px, 3.4vw, 42px); margin:0 0 16px; font-weight:700; letter-spacing:-.02em; line-height:1.15; }
.ls-cta p { font-size:18px; opacity:.85; margin:0 0 32px; line-height:1.6; }

/* CTA — split */
.ls-cta--split { background:var(--ls-secondary,#111827); color:#fff; text-align:left; padding:64px 0; }
.ls-cta__split { display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; }
.ls-cta__split h2 { font-size:clamp(24px, 2.8vw, 36px); margin:0 0 8px; }
.ls-cta__split p { margin:0; opacity:.85; }
@media (max-width:768px) { .ls-cta__split { grid-template-columns:1fr; } }

/* CTA — gradient */
.ls-cta--gradient { background:linear-gradient(135deg,var(--ls-primary,#4f46e5),var(--ls-secondary,#111827)); color:#fff; }
.ls-cta__shape { position:absolute; width:500px; height:500px; border-radius:50%; background:rgba(255,255,255,.08); top:-150px; right:-100px; filter:blur(40px); z-index:1; }

/* Gallery */
.ls-gallery { padding:80px 0; background:#fff; }
.ls-gallery__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.ls-gallery__cell { aspect-ratio:4/3; overflow:hidden; border-radius:8px; }
.ls-gallery__cell img { width:100%; height:100%; object-fit:cover; transition:.3s; }
.ls-gallery__cell:hover img { transform:scale(1.05); }

/* Form */
.ls-form { padding:80px 0; background:#f9fafb; }
.ls-form__form { max-width:520px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.ls-field { display:flex; flex-direction:column; gap:6px; }
.ls-field span { font-size:14px; color:#374151; font-weight:500; }
.ls-field input, .ls-field textarea { padding:12px 14px; border:1px solid #e5e7eb; border-radius:8px; font-size:15px; font-family:inherit; background:#fff; }
.ls-field input:focus, .ls-field textarea:focus { outline:none; border-color:#4f46e5; box-shadow:0 0 0 3px rgba(79,70,229,.1); }
.ls-form .ls-btn { background:#4f46e5; color:#fff; align-self:flex-start; }
.ls-form__ok { background:#dcfce7; color:#16a34a; padding:14px 18px; border-radius:8px; margin:0 auto 18px; max-width:520px; text-align:center; font-weight:500; }

/* Embed */
.ls-embed { padding:0; }
.ls-embed--padded { padding:48px 0; }
.ls-embed__inner { width:100%; }

/* Popup */
.ls-popup { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:24px; }
.ls-popup.is-open { display:flex; animation:popupFade .2s; }
@keyframes popupFade { from{opacity:0} to{opacity:1} }
.ls-popup__overlay { position:absolute; inset:0; background:rgba(0,0,0,.6); backdrop-filter:blur(4px); }
.ls-popup__dlg { position:relative; max-width:520px; width:100%; border-radius:16px; padding:40px; box-shadow:0 24px 60px rgba(0,0,0,.3); animation:popupSlide .3s cubic-bezier(.2,.7,.2,1); }
@keyframes popupSlide { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
.ls-popup__close { position:absolute; top:14px; right:14px; width:32px; height:32px; border-radius:50%; border:none; background:#f3f4f6; color:#374151; font-size:20px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.ls-popup__close:hover { background:#e5e7eb; }
.ls-popup__title { font-size:24px; margin:0 0 12px; letter-spacing:-.02em; font-weight:700; color:#111827; }
.ls-popup__text { color:#4b5563; line-height:1.6; margin-bottom:20px; }
.ls-popup__hint { margin-top:18px; padding-top:14px; border-top:1px dashed #e5e7eb; font-size:12px; color:#9ca3af; }
.ls-popup__hint code { background:#f3f4f6; padding:1px 5px; border-radius:3px; color:#4f46e5; font-size:11px; }

/* В редакторе popup всегда виден */
.ed__canvas .ls-popup { position:relative; inset:auto; display:block; padding:40px 0; background:#fafafa; border:2px dashed #e5e7eb; border-radius:12px; margin:16px; }
.ed__canvas .ls-popup__overlay { display:none; }
.ed__canvas .ls-popup__dlg { margin:0 auto; animation:none; }

/* ===== Timeline ===== */
.ls-timeline { padding:100px 0; background:#fff; }
.ls-timeline__list { position:relative; max-width:760px; margin:48px auto 0; padding-left:32px; }
.ls-timeline__list::before { content:''; position:absolute; left:9px; top:8px; bottom:8px; width:2px; background:linear-gradient(var(--ls-primary,#4f46e5), transparent); opacity:.4; }
.ls-timeline__item { position:relative; padding-bottom:40px; }
.ls-timeline__item:last-child { padding-bottom:0; }
.ls-timeline__dot { position:absolute; left:-28px; top:8px; width:20px; height:20px; border-radius:50%; background:#fff; border:3px solid var(--ls-primary,#4f46e5); box-shadow:0 0 0 4px rgba(79,70,229,.1); }
.ls-timeline__date { font-size:13px; font-weight:600; color:var(--ls-primary,#4f46e5); text-transform:uppercase; letter-spacing:.03em; margin-bottom:6px; }
.ls-timeline__title { font-size:22px; margin:0 0 8px; font-weight:600; letter-spacing:-.01em; }
.ls-timeline__text { color:var(--ls-muted,#6b7280); line-height:1.65; margin:0; font-size:15px; }

/* ===== Logo cloud ===== */
.ls-logos { padding:72px 0; background:#fafafa; }
.ls-logos__title { font-size:14px; font-weight:600; color:var(--ls-muted,#6b7280); text-transform:uppercase; letter-spacing:.08em; text-align:center; margin:0 0 40px; }
.ls-logos__grid { display:grid; gap:32px; align-items:center; }
.ls-logos__cell { display:flex; align-items:center; justify-content:center; padding:16px; transition:.2s; }
.ls-logos__cell img { max-width:100%; max-height:56px; opacity:.55; filter:grayscale(100%); transition:.2s; }
.ls-logos__cell:hover img { opacity:1; filter:none; }

/* ===== Before / After ===== */
.ls-ba { padding:96px 0; background:#fff; }
.ls-ba__wrap { position:relative; max-width:960px; margin:32px auto 0; border-radius:14px; overflow:hidden; user-select:none; aspect-ratio:16/9; box-shadow:0 12px 40px rgba(0,0,0,.12); }
.ls-ba__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.ls-ba__before { z-index:2; transition:clip-path .05s; }
.ls-ba__range { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; z-index:4; margin:0; }
.ls-ba__handle { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:46px; height:46px; border-radius:50%; background:#fff; box-shadow:0 4px 16px rgba(0,0,0,.3); display:flex; align-items:center; justify-content:center; color:var(--ls-primary,#4f46e5); font-size:18px; pointer-events:none; z-index:3; }
.ls-ba__handle::before { content:''; position:absolute; left:50%; top:50%; width:3px; height:2000px; background:#fff; transform:translate(-50%,-50%); z-index:-1; }
.ls-ba__label { position:absolute; top:16px; padding:6px 14px; border-radius:6px; background:rgba(0,0,0,.6); color:#fff; font-size:13px; font-weight:500; z-index:3; pointer-events:none; backdrop-filter:blur(8px); }
.ls-ba__label--b { left:16px; }
.ls-ba__label--a { right:16px; }

/* ===== Big-type ===== */
.ls-bigtype { padding:120px 0; text-align:center; }
.ls-bigtype__eyebrow { font-size:14px; font-weight:600; color:var(--ls-primary,#4f46e5); text-transform:uppercase; letter-spacing:.08em; margin-bottom:32px; }
.ls-bigtype__text { font-size:clamp(32px, 5vw, 64px); line-height:1.1; letter-spacing:-.03em; font-weight:700; max-width:1000px; margin:0 auto; }
.ls-bigtype__foot { font-size:17px; color:var(--ls-muted,#6b7280); margin-top:32px; }

/* Utility topbar */
.ls-topbar { padding:8px 0; font-size:13px; }
.ls-topbar__inner { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.ls-topbar__group { display:flex; gap:18px; }
.ls-topbar a { color:inherit; text-decoration:none; opacity:.85; transition:.15s; }
.ls-topbar a:hover { opacity:1; }

/* Common block eyebrow */
.ls-block-eyebrow { text-align:center; font-size:13px; font-weight:600; color:var(--ls-primary,#4f46e5); text-transform:uppercase; letter-spacing:.08em; margin-bottom:14px; display:flex; align-items:center; justify-content:center; gap:12px; }
.ls-block-eyebrow::before, .ls-block-eyebrow::after { content:''; width:30px; height:1px; background:currentColor; opacity:.3; }

/* Promo banners */
.ls-promo-banners { padding:32px 0; background:#fff; }
.ls-promo__grid { display:grid; gap:18px; }
@media (max-width:768px) { .ls-promo__grid { grid-template-columns:1fr !important; } }
.ls-promo { display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:24px 28px; border-radius:14px; overflow:hidden; min-height:220px; }
.ls-promo--right { direction:rtl; }
.ls-promo--right > * { direction:ltr; }
.ls-promo__eyebrow { font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:#6b7280; margin-bottom:8px; font-weight:500; }
.ls-promo__title { font-size:clamp(22px,2.4vw,30px); margin:0 0 16px; letter-spacing:-.02em; line-height:1.15; font-weight:700; color:#111827; }
.ls-promo__img { display:flex; align-items:center; justify-content:center; }
.ls-promo__img img { max-width:100%; height:auto; border-radius:8px; }
.ls-promo .ls-btn { background:var(--ls-primary,#4f46e5); color:#fff; padding:9px 22px; font-size:14px; }

/* Category icons */
.ls-category-icons { padding:72px 0; background:#fff; }
.ls-catcards { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:16px; margin-top:16px; }
.ls-catcard { background:#fafafa; border:1px solid #e5e7eb; border-radius:14px; padding:24px 14px; text-align:center; text-decoration:none; color:inherit; transition:.2s; display:block; }
.ls-catcard:hover { transform:translateY(-3px); border-color:var(--ls-primary,#4f46e5); box-shadow:0 10px 24px rgba(79,70,229,.1); }
.ls-catcard__vis { height:64px; display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
.ls-catcard__vis i { font-size:40px; color:var(--ls-primary,#4f46e5); }
.ls-catcard__vis img { max-height:64px; max-width:100%; }
.ls-catcard__label { font-size:14px; color:#374151; font-weight:500; }

/* Product tabs */
.ls-ptabs { padding:80px 0; background:#fff; }
.ls-ptabs__tabs { display:flex; gap:8px; justify-content:center; margin:16px 0 32px; flex-wrap:wrap; }
.ls-ptabs__tab { background:transparent; border:1px solid #e5e7eb; color:#374151; padding:9px 20px; border-radius:999px; cursor:pointer; font-size:14px; font-weight:500; transition:.15s; }
.ls-ptabs__tab:hover { border-color:#9ca3af; }
.ls-ptabs__tab.is-active { background:var(--ls-primary,#4f46e5); color:#fff; border-color:var(--ls-primary,#4f46e5); }

/* Product extras */
.ls-product__img { position:relative; }
.ls-product__wish { position:absolute; top:10px; right:10px; width:34px; height:34px; border-radius:50%; border:none; background:rgba(255,255,255,.95); color:#374151; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:16px; transition:.15s; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.ls-product__wish:hover { color:#dc2626; transform:scale(1.08); }
.ls-product__wish.is-active { color:#dc2626; }
.ls-product__wish.is-active i::before { content:'\f417'; } /* bi-heart-fill */
.ls-product__stars { color:#f59e0b; font-size:13px; margin:2px 0 6px; letter-spacing:2px; }

/* Payment status badges */
.payment-pending  { background:#fef3c7; color:#92400e; }
.payment-paid     { background:#dcfce7; color:#166534; }
.payment-declined { background:#fee2e2; color:#991b1b; }
.payment-refunded { background:#e0e7ff; color:#3730a3; }

/* Products catalog */
.ls-products { padding:80px 0; background:#fff; }
.ls-products__toolbar { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:20px; max-width:900px; margin-left:auto; margin-right:auto; }
.ls-products__search { position:relative; flex:1; min-width:240px; }
.ls-products__search i { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#9ca3af; }
.ls-products__search input { width:100%; padding:11px 14px 11px 40px; border:1px solid #e5e7eb; border-radius:10px; font-size:15px; background:#fafafa; transition:.15s; }
.ls-products__search input:focus { outline:none; background:#fff; border-color:var(--ls-primary,#4f46e5); box-shadow:0 0 0 3px rgba(79,70,229,.12); }
.ls-products__sort { padding:11px 14px; border:1px solid #e5e7eb; border-radius:10px; font-size:14px; background:#fafafa; cursor:pointer; color:#374151; min-width:180px; }
.ls-products__sort:focus { outline:none; background:#fff; border-color:var(--ls-primary,#4f46e5); }
.ls-products__price { display:flex; align-items:center; gap:6px; padding:4px 10px; border:1px solid #e5e7eb; border-radius:10px; background:#fafafa; }
.ls-products__price span { font-size:13px; color:#6b7280; }
.ls-products__price input { width:70px; padding:6px 8px; border:none; background:transparent; font-size:14px; text-align:center; }
.ls-products__price input:focus { outline:none; }
.ls-products__price input::-webkit-outer-spin-button, .ls-products__price input::-webkit-inner-spin-button { -webkit-appearance:none; }

.ls-products__count { text-align:center; color:#6b7280; font-size:13px; margin-bottom:20px; min-height:18px; }
.ls-products__empty { text-align:center; padding:60px 20px; color:#9ca3af; font-size:16px; }
.ls-products__more-wrap { text-align:center; margin-top:32px; }
.ls-products__more { background:var(--ls-primary,#4f46e5); color:#fff; padding:12px 36px; }

.ls-products__filter { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:24px; }
.ls-products__cat { background:#f3f4f6; color:#374151; border:none; padding:8px 18px; border-radius:999px; font-size:14px; cursor:pointer; transition:.15s; }
.ls-products__cat:hover { background:#e5e7eb; }
.ls-products__cat.is-active { background:var(--ls-primary,#4f46e5); color:#fff; }
.ls-products__grid { display:grid; gap:20px; }
@media (max-width:900px) { .ls-products__grid { grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px) { .ls-products__grid { grid-template-columns:1fr !important; } }

.ls-product { background:#fff; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; transition:.2s; }
.ls-product:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(0,0,0,.08); border-color:#d1d5db; }
.ls-product__img { position:relative; aspect-ratio:4/3; overflow:hidden; background:#f3f4f6; }
.ls-product__img img { width:100%; height:100%; object-fit:cover; transition:.3s; }
.ls-product:hover .ls-product__img img { transform:scale(1.05); }
.ls-product__badge { position:absolute; top:10px; left:10px; background:#dc2626; color:#fff; padding:4px 10px; border-radius:6px; font-size:12px; font-weight:600; text-transform:uppercase; }
.ls-product__body { padding:18px; display:flex; flex-direction:column; gap:8px; flex:1; }
.ls-product__title { font-size:17px; font-weight:600; margin:0; color:#111827; line-height:1.3; }
.ls-product__desc { font-size:14px; color:#6b7280; margin:0; line-height:1.5; flex:1; }
.ls-product__bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }
.ls-product__price { font-size:20px; font-weight:700; color:#111827; }
.ls-product__old { font-size:14px; font-weight:400; color:#9ca3af; text-decoration:line-through; margin-left:6px; }
.ls-product .ls-btn { background:var(--ls-primary,#4f46e5); color:#fff; padding:8px 16px; font-size:13px; }

/* Cart — floating icon + modal */
.ls-cart-fab { position:fixed; z-index:1000; width:56px; height:56px; border-radius:50%; border:none; background:var(--ls-primary,#4f46e5); color:#fff; font-size:22px; cursor:pointer; box-shadow:0 8px 24px rgba(79,70,229,.4); transition:.2s; display:flex; align-items:center; justify-content:center; }
.ls-cart-fab:hover { transform:scale(1.08); }
.ls-cart-fab--bottom-right { bottom:24px; right:24px; }
.ls-cart-fab--bottom-left  { bottom:24px; left:24px; }
.ls-cart-fab--top-right    { top:24px; right:24px; }
.ls-cart-fab__count { position:absolute; top:-4px; right:-4px; min-width:22px; height:22px; border-radius:11px; background:#dc2626; color:#fff; font-size:12px; font-weight:700; display:none; align-items:center; justify-content:center; padding:0 6px; border:2px solid #fff; }
.ls-cart-fab__count:not(:empty):not([style*="none"]) { display:flex; }

.ls-cart-modal { position:fixed; inset:0; z-index:1001; display:none; align-items:center; justify-content:center; padding:24px; }
.ls-cart-modal.is-open { display:flex; }
.ls-cart-modal__overlay { position:absolute; inset:0; background:rgba(0,0,0,.55); backdrop-filter:blur(6px); }
.ls-cart-modal__dlg { position:relative; background:#fff; max-width:520px; width:100%; max-height:90vh; overflow:auto; border-radius:16px; padding:28px; box-shadow:0 24px 60px rgba(0,0,0,.3); }
.ls-cart-modal__head { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid #f3f4f6; }
.ls-cart-modal__head h3 { margin:0; font-size:20px; color:#111827; }
.ls-cart-modal__close { background:none; border:none; width:32px; height:32px; border-radius:50%; cursor:pointer; font-size:24px; color:#9ca3af; }
.ls-cart-modal__close:hover { background:#f3f4f6; color:#111827; }

.ls-cart-empty { text-align:center; padding:40px 20px; color:#9ca3af; }
.ls-cart-list { margin-bottom:16px; }
.ls-cart-row { display:grid; grid-template-columns:56px 1fr auto; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid #f3f4f6; }
.ls-cart-row img { width:56px; height:56px; object-fit:cover; border-radius:6px; background:#f3f4f6; }
.ls-cart-row__info > div:first-child { font-weight:500; color:#111827; font-size:14px; margin-bottom:4px; }
.ls-cart-row__price { font-size:13px; color:#6b7280; display:flex; align-items:center; gap:6px; }
.ls-cart-q { width:24px; height:24px; border:1px solid #e5e7eb; background:#fff; border-radius:4px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.ls-cart-q:hover { background:#f3f4f6; }
.ls-cart-del { background:none; border:none; color:#9ca3af; font-size:20px; cursor:pointer; padding:4px 8px; }
.ls-cart-del:hover { color:#dc2626; }

.ls-cart-total { display:flex; justify-content:space-between; align-items:center; padding:14px 0; font-size:17px; border-top:2px solid #111827; margin-top:10px; }
.ls-cart-total b { font-size:22px; color:var(--ls-primary,#4f46e5); }

.ls-cart-form { display:flex; flex-direction:column; gap:10px; margin-top:16px; }
.ls-cart-form .ls-field { display:flex; flex-direction:column; gap:4px; }
.ls-cart-form .ls-field span { font-size:13px; color:#374151; font-weight:500; }
.ls-cart-form input, .ls-cart-form textarea { padding:10px 12px; border:1px solid #e5e7eb; border-radius:8px; font-size:14px; font-family:inherit; }
.ls-cart-form .ls-btn { background:var(--ls-primary,#4f46e5); color:#fff; padding:12px; margin-top:6px; }

.ls-cart-ok { padding:32px 20px; text-align:center; color:#16a34a; font-weight:500; line-height:1.6; }

/* Single product */
.ls-product-single { padding:80px 0; background:#fff; }
.ls-product-single__wrap { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
@media (max-width:768px) { .ls-product-single__wrap { grid-template-columns:1fr; gap:24px; } }
.ls-product-single__img { aspect-ratio:1; border-radius:14px; overflow:hidden; background:#f3f4f6; }
.ls-product-single__img img { width:100%; height:100%; object-fit:cover; }
.ls-product-single__title { font-size:32px; margin:0 0 16px; color:#111827; }
.ls-product-single__price { font-size:28px; margin:0 0 18px; }
.ls-product-single__desc { color:#374151; line-height:1.7; margin-bottom:20px; }
.ls-product-single__features { list-style:none; padding:0; margin:0 0 24px; }
.ls-product-single__features li { padding:6px 0; color:#374151; }
.ls-product-single__features i { color:#16a34a; margin-right:8px; }
.ls-product-single__btn { background:var(--ls-primary,#4f46e5); color:#fff; padding:14px 32px; font-size:16px; }

/* Slider */
.ls-slider { padding:64px 0; background:#fff; }
.ls-slider__wrap { position:relative; max-width:1000px; margin:0 auto; border-radius:12px; overflow:hidden; box-shadow:0 12px 40px rgba(0,0,0,.12); }
.ls-slider__track { position:relative; aspect-ratio:16/9; }
.ls-slider__slide { position:absolute; inset:0; opacity:0; transition:opacity .5s; }
.ls-slider__slide.is-active { opacity:1; }
.ls-slider__slide img { width:100%; height:100%; object-fit:cover; display:block; }
.ls-slider__nav { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; border:none; background:rgba(255,255,255,.9); color:#111827; font-size:24px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.15s; z-index:2; }
.ls-slider__nav:hover { background:#fff; transform:translateY(-50%) scale(1.05); }
.ls-slider__prev { left:16px; }
.ls-slider__next { right:16px; }
.ls-slider__dots { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:2; }
.ls-slider__dot { width:10px; height:10px; border-radius:50%; border:none; background:rgba(255,255,255,.5); cursor:pointer; transition:.15s; padding:0; }
.ls-slider__dot.is-active { background:#fff; width:28px; border-radius:5px; }

/* Footer */
.ls-footer { padding:32px 0; background:#111827; color:#9ca3af; text-align:center; font-size:14px; }

/* Header */
.ls-header { padding:18px 0; background:#fff; border-bottom:1px solid #e5e7eb; }
.ls-header__inner { display:flex; align-items:center; gap:32px; }
.ls-header__brand { font-size:20px; font-weight:700; color:#111827; }
.ls-header__nav { display:flex; gap:24px; flex:1; }
.ls-header__nav a { color:#374151; text-decoration:none; font-size:15px; font-weight:500; transition:.15s; }
.ls-header__nav a:hover { color:#4f46e5; }
.ls-header__cta .ls-btn { background:#4f46e5; color:#fff; padding:8px 18px; font-size:14px; }

/* Image */
.ls-image { padding:40px 0; background:#fff; }
.ls-image img { width:100%; display:block; border-radius:8px; }
.ls-image--narrow .ls-container { max-width:760px; }
.ls-image--full .ls-container { max-width:100%; padding:0; }
.ls-image--full img { border-radius:0; }
.ls-image__caption { text-align:center; color:#6b7280; font-size:14px; margin-top:12px; font-style:italic; }

/* Video */
.ls-video { padding:64px 0; background:#fff; }
.ls-video__frame { position:relative; padding-bottom:56.25%; max-width:960px; margin:0 auto; border-radius:8px; overflow:hidden; box-shadow:0 8px 32px rgba(0,0,0,.12); }
.ls-video__frame iframe { position:absolute; inset:0; width:100%; height:100%; }

/* Stats */
.ls-stats { padding:48px 0; background:#fff; }
.ls-stats__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:24px; text-align:center; }
.ls-stat__v { font-size:42px; font-weight:700; color:#4f46e5; line-height:1; }
.ls-stat__l { color:#6b7280; margin-top:8px; font-size:15px; }

/* Pricing */
.ls-pricing { padding:80px 0; background:#f9fafb; }
.ls-pricing__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; max-width:1000px; margin:0 auto; }
.ls-plan { background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:32px 24px; text-align:center; transition:.15s; }
.ls-plan.is-featured { border-color:#4f46e5; transform:scale(1.05); box-shadow:0 12px 32px rgba(79,70,229,.15); }
.ls-plan__name { font-size:18px; font-weight:600; color:#374151; margin-bottom:8px; }
.ls-plan__price { font-size:42px; font-weight:700; color:#111827; margin-bottom:24px; }
.ls-plan__price span { font-size:16px; font-weight:400; color:#6b7280; }
.ls-plan__features { list-style:none; padding:0; margin:0 0 24px; text-align:left; }
.ls-plan__features li { padding:8px 0; color:#374151; }
.ls-plan__features i { color:#16a34a; margin-right:8px; }
.ls-plan .ls-btn { background:#4f46e5; color:#fff; width:100%; }
.ls-plan.is-featured .ls-btn { background:#111827; }

/* Testimonials */
.ls-testimonials { padding:80px 0; background:#fff; }
.ls-testimonials__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
.ls-testimonial { background:#f9fafb; padding:28px; border-radius:12px; }
.ls-testimonial__text { font-size:16px; line-height:1.6; color:#374151; margin:0 0 18px; }
.ls-testimonial__author { display:flex; align-items:center; gap:12px; }
.ls-testimonial__author img, .ls-testimonial__avatar { width:48px; height:48px; border-radius:50%; object-fit:cover; background:#e5e7eb; }
.ls-testimonial__author strong { display:block; color:#111827; }
.ls-testimonial__author span { color:#6b7280; font-size:13px; }

/* FAQ */
.ls-faq { padding:80px 0; background:#fff; }
.ls-faq__list { max-width:760px; margin:0 auto; }
.ls-faq__item { border-bottom:1px solid #e5e7eb; padding:18px 0; }
.ls-faq__item summary { cursor:pointer; font-weight:600; color:#111827; font-size:17px; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.ls-faq__item summary::after { content:'+'; color:#4f46e5; font-size:24px; transition:.2s; }
.ls-faq__item[open] summary::after { transform:rotate(45deg); }
.ls-faq__item div { padding-top:12px; color:#6b7280; line-height:1.6; }

/* Team */
.ls-team { padding:80px 0; background:#f9fafb; }
.ls-team__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; }
.ls-team__card { background:#fff; padding:24px; border-radius:12px; text-align:center; }
.ls-team__card img, .ls-team__photo-empty { width:120px; height:120px; border-radius:50%; object-fit:cover; margin:0 auto 14px; display:block; background:#e5e7eb; }
.ls-team__card h4 { margin:0 0 4px; font-size:17px; color:#111827; }
.ls-team__card span { color:#6b7280; font-size:14px; }

/* Contacts */
.ls-contacts { padding:80px 0; background:#fff; }
.ls-contacts__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; max-width:760px; margin:0 auto; }
.ls-contacts__grid div { display:flex; align-items:center; gap:10px; padding:16px; background:#f9fafb; border-radius:8px; color:#374151; font-size:15px; }
.ls-contacts__grid i { color:#4f46e5; font-size:20px; }

/* Social */
.ls-social { padding:32px 0; background:#fff; }
.ls-social__row { display:flex; justify-content:center; gap:16px; }
.ls-social__link { width:44px; height:44px; border-radius:50%; background:#f3f4f6; color:#374151; display:inline-flex; align-items:center; justify-content:center; font-size:20px; text-decoration:none; transition:.15s; }
.ls-social__link:hover { background:#4f46e5; color:#fff; }

@media (max-width:768px) {
  .ls-hero { padding:64px 0; }
  .ls-hero__title { font-size:34px; }
  .ls-hero__subtitle { font-size:17px; }
  .ls-section-title { font-size:26px; }
  .ls-header__inner { flex-wrap:wrap; gap:14px; }
  .ls-header__nav { order:3; flex-basis:100%; gap:14px; flex-wrap:wrap; }
  .ls-plan.is-featured { transform:none; }
}
