/* ============================================================
   ПЕРШИЙ ШАР — дизайн-система
   Corporate Modern with Technical Accents (Stitch)
   1  Токени
   2  База / скидання Astra
   3  Блюпринт-сітка
   4  Шапка + меню
   5  Кнопки
   6  Технічні мітки, бейджі, чипи
   7  Темний острів
   8  Головна
   9  Каталог і картки товарів
   10 Сторінка товару
   11 Кошик / оформлення / акаунт
   12 Блог
   13 Схема принтера
   14 Контакти й статичні сторінки
   15 Футер
   16 Утиліти й анімації
   17 Мобільна версія
   ============================================================ */

/* ── 1. Токени ─────────────────────────────────────────────── */
:root{
  --fl-page:#F8F9FF;
  --fl-card:#FFFFFF;
  --fl-tint:#F2F7FC;
  --fl-tint2:#EFF4FF;
  /* м який білий: світліший за тон, але не сліпучо-білий */
  --fl-soft:#FBFCFE;
  --fl-grid:#E8EFF9;
  --fl-line:#DCE6F2;
  --fl-navy:#132B4A;
  --fl-navy-dp:#0E2038;
  --fl-navy-soft:#1F3149;
  --fl-ink:#081C33;
  --fl-muted:#64788F;
  --fl-green:#2EA83C;
  --fl-green-dk:#1E8A2C;
  --fl-green-lt:#E7F6E9;
  --fl-neon:#6BF08C;
  --fl-amber:#C78516;
  --fl-amber-lt:#FFF3DC;
  --fl-coral:#E5484D;
  --fl-coral-lt:#FFE9E8;

  --fl-r-sm:8px;
  --fl-r-btn:12px;
  --fl-r-card:16px;
  --fl-r-island:24px;

  --fl-shadow:0 1px 2px rgba(18,37,60,.04), 0 6px 18px rgba(18,37,60,.05);
  --fl-shadow-hi:0 2px 4px rgba(18,37,60,.06), 0 14px 34px rgba(18,37,60,.10);

  --fl-max:1280px;
  --fl-gut:24px;

  --fl-h:'Plus Jakarta Sans','Manrope',system-ui,sans-serif;
  --fl-b:'Manrope','Plus Jakarta Sans',system-ui,sans-serif;
  --fl-m:'JetBrains Mono','IBM Plex Mono',ui-monospace,'Courier New',monospace;
}

/* ── 2. База / скидання Astra ──────────────────────────────── */
/* сітка «як у зошиті» — на самому body, а контейнери робимо прозорими,
   інакше їхній суцільний фон її повністю перекриває */
/* Astra ставить body{background:#fff} скороченим записом, який скидає
   зображення — тому селектор із вищою специфічністю */
html body{
  background-color:var(--fl-page)!important;
  background-image:
    linear-gradient(to right,var(--fl-grid) 1px,transparent 1px),
    linear-gradient(to bottom,var(--fl-grid) 1px,transparent 1px)!important;
  background-size:32px 32px!important;
  background-position:center top!important;
  background-attachment:fixed!important;
}
/* УВАГА: ast-plain-container і ast-separate-container — це класи BODY,
   їх сюди додавати не можна, інакше зникне фон із сіткою */
.ast-container,.site-content,#content,#primary,.site-main,
.ast-article-single,.ast-article-post,#page{background:transparent!important;}
body{
  font-family:var(--fl-b);
  color:var(--fl-ink);
  font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6,
.entry-title,.woocommerce-loop-product__title,.product_title,
.widget-title,.wp-block-heading{
  font-family:var(--fl-h)!important;
  font-weight:800;
  color:var(--fl-ink);
  letter-spacing:-.02em;
  line-height:1.15;
}
h1{font-size:clamp(30px,4.4vw,48px);}
h2{font-size:clamp(24px,3.2vw,36px);}
h3{font-size:clamp(19px,2.2vw,24px);}
/* Astra підкреслює посилання правилом із купою :not() і дуже високою
   специфічністю — перебиваємо один раз і назавжди. Посилання й так
   виділені зеленим, підкреслення тут лише шумить. */
a,a:hover,a:focus,a:visited,a *{text-decoration:none!important;}
a{color:var(--fl-green-dk);}
a:hover{color:var(--fl-green);}
img{max-width:100%;height:auto;}
:focus-visible{outline:2px solid var(--fl-green);outline-offset:2px;border-radius:4px;}

.ast-container,.ast-container-fluid{max-width:var(--fl-max);margin-inline:auto;padding-inline:var(--fl-gut);}
.site-content .ast-container{padding-top:0;padding-bottom:0;}
#content{padding-block:0;}
.ast-separate-container #primary,
.ast-separate-container .site-main{margin:0;padding:0;background:transparent;}
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post{background:transparent;padding:0;border:0;box-shadow:none;}
.ast-plain-container .site-content>.ast-container{padding-block:0;}
.ast-single-post .entry-header{margin-bottom:0;}
.fl-own-h1 .entry-header,.fl-own-h1 .entry-title{display:none!important;}
/* заголовок сторінки від Astra — у нашій типографіці */
.entry-header{max-width:var(--fl-max);margin-inline:auto;padding:6px var(--fl-gut) 0;}
.entry-header .entry-title{margin:0 0 14px;}
.ast-breadcrumbs-inner,.ast-header-breadcrumb{display:none;}
#ast-scroll-top,.ast-scroll-top,.ast-scroll-top-icon{display:none!important;}
/* Astra малює свій футер — ховаємо, у нас власний */
.site-footer,.ast-small-footer,.site-below-footer-wrap,.site-above-footer-wrap,.site-primary-footer-wrap{display:none!important;}
.ast-mobile-header-wrap,#masthead,.site-header{display:none!important;}

/* ── 3. Блюпринт-сітка ─────────────────────────────────────── */
/* другого шару сітки немає навмисно: два накладені шари давали
   подвійні лінії й надто різкий візерунок */
.fl-blueprint{display:none;}
#page,.fl-wrap{position:relative;z-index:1;}
.fl-shell{max-width:var(--fl-max);margin-inline:auto;padding-inline:var(--fl-gut);}
.fl-sec{padding-block:clamp(44px,6vw,80px);}
.fl-sec-tint{background:var(--fl-tint);}
/* довгий текст читаємо на чистому тлі — сітку під ним глушимо */
.fl-article,.fl-page{position:relative;}
.fl-article::before,.fl-page::before{
  content:'';position:absolute;inset:-24px -28px;z-index:-1;
  background:var(--fl-page);border-radius:var(--fl-r-card);
}

/* ── 4. Шапка + меню ───────────────────────────────────────── */
.fl-head{
  position:sticky;top:0;z-index:60;
  /* точка відліку для випадаючого меню — щоб воно центрувалось по шапці,
     а не по пункту «Магазин», і ніколи не вилазило за край екрана */
  background:rgba(248,249,255,.92);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--fl-line);
}
.fl-head-in{
  max-width:var(--fl-max);margin-inline:auto;
  padding:12px var(--fl-gut);
  display:flex;align-items:center;gap:20px;
}
.fl-logo{display:flex;align-items:center;flex:0 0 auto;}
.fl-logo img{height:42px;width:auto;display:block;}
.fl-nav{flex:1 1 auto;min-width:0;display:flex;justify-content:center;}
.fl-nav>ul{
  display:flex;align-items:center;gap:clamp(10px,1.6vw,26px);
  list-style:none;margin:0;padding:0;
}
.fl-nav>ul>li{position:static;}
.fl-nav>ul>li>a{
  display:block;padding:10px 2px;
  font-family:var(--fl-b);font-size:14px;font-weight:600;
  letter-spacing:.02em;text-transform:uppercase;
  color:var(--fl-ink);white-space:nowrap;
  border-bottom:2px solid transparent;
}
.fl-nav>ul>li>a:hover,
.fl-nav>ul>li.fl-on>a{color:var(--fl-green-dk);border-bottom-color:var(--fl-green);}
.fl-nav .fl-has>a::after{
  content:'';display:inline-block;margin-left:7px;vertical-align:2px;
  width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .18s;
}
.fl-nav .fl-has.fl-open>a::after{transform:rotate(-135deg);}

/* випадаюче меню «Магазин» */
.fl-mega{
  position:absolute;top:100%;left:50%;transform:translate(-50%,10px);
  width:min(calc(100vw - 32px),880px);padding:18px;
  background:var(--fl-card);border:1px solid var(--fl-line);
  border-radius:var(--fl-r-card);box-shadow:var(--fl-shadow-hi);
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px 16px;
  opacity:0;visibility:hidden;pointer-events:none;transition:.18s;
}
.fl-mega-col{min-width:0;}
.fl-has:hover>.fl-mega,.fl-has.fl-open>.fl-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,4px);}
.fl-mega-col>a.fl-mega-h{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;margin-bottom:6px;border-radius:10px;
  background:var(--fl-tint2);
  font-family:var(--fl-h);font-weight:800;font-size:15px;line-height:1.25;
  color:var(--fl-ink);transition:.16s;
}
.fl-mega-col>a.fl-mega-h .fl-i{width:19px;height:19px;color:var(--fl-green-dk);}
.fl-mega-col>a.fl-mega-h:hover{background:var(--fl-green-lt);color:var(--fl-green-dk);}
.fl-mega-col>a.fl-mega-h:hover .fl-i{color:var(--fl-green-dk);}
.fl-mega-col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;}
.fl-mega-col ul a{
  display:block;padding:7px 12px;border-radius:var(--fl-r-sm);
  font-size:14.5px;color:var(--fl-muted);font-weight:500;
}
.fl-mega-col ul a:hover{background:var(--fl-tint2);color:var(--fl-green-dk);}
.fl-mega-note{
  grid-column:1/-1;margin-top:6px;padding:12px 14px;
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;
  border-top:1px solid var(--fl-line);
  font-family:var(--fl-m);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--fl-muted);
}
.fl-mega-note a{color:var(--fl-green-dk);font-weight:700;}
.fl-mega-note a:hover{text-decoration:underline;}

.fl-head-act{flex:0 0 auto;display:flex;align-items:center;gap:6px;}

/* перемикач мов: видно поточну, решта — у випадайці */
.fl-lang{position:relative;}
.fl-lang-cur{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 12px;border:0!important;border-radius:var(--fl-r-btn)!important;
  background:transparent!important;box-shadow:none!important;cursor:pointer;
  font-family:var(--fl-m);font-size:11.5px;font-weight:700;letter-spacing:.07em;
  color:var(--fl-ink)!important;
}
.fl-lang-cur::after{
  content:'';width:6px;height:6px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);transition:transform .18s;
}
.fl-lang-cur:hover{background:var(--fl-tint2)!important;color:var(--fl-green-dk)!important;}
.fl-lang.fl-open .fl-lang-cur::after{transform:rotate(-135deg) translateY(-2px);}
.fl-lang-drop{
  position:absolute;top:calc(100% + 6px);right:0;z-index:70;
  min-width:172px;padding:6px;
  background:var(--fl-card);border:1px solid var(--fl-line);
  border-radius:var(--fl-r-card);box-shadow:var(--fl-shadow-hi);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:.16s;
}
.fl-lang.fl-open .fl-lang-drop{opacity:1;visibility:visible;transform:none;}
.fl-lang-drop a{
  display:flex;align-items:baseline;gap:10px;
  padding:9px 11px;border-radius:var(--fl-r-sm);color:var(--fl-ink);
}
.fl-lang-drop a:hover{background:var(--fl-tint2);color:var(--fl-green-dk);}
.fl-lang-drop b{
  font-family:var(--fl-m);font-size:11px;font-weight:700;letter-spacing:.07em;
  color:var(--fl-muted);min-width:32px;
}
.fl-lang-drop a:hover b{color:var(--fl-green-dk);}
.fl-lang-drop span{font-size:14.5px;font-weight:600;}
.fl-lang-mob{display:none;}
.fl-lang-mob .fl-lang-cur{width:100%;justify-content:space-between;border:1px solid var(--fl-line)!important;padding:13px 15px;font-size:12.5px;}
.fl-lang-mob .fl-lang-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:6px 0 0;display:none;min-width:0;}
.fl-lang-mob .fl-lang.fl-open .fl-lang-drop{display:block;}

/* плаваючий перемикач плагіна — у нас свій у шапці */
.trp-floating-switcher,#trp-floater-ls,#trp-floater-ls-current-language,
.trp-language-switcher-container,.trp-floater-ls-disabled-language{display:none!important;}
.fl-ico{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 12px;border-radius:var(--fl-r-btn);
  font-size:13px;font-weight:600;color:var(--fl-ink);
  border:1px solid transparent;white-space:nowrap;
}
.fl-ico:hover{background:var(--fl-tint2);color:var(--fl-green-dk);}
.fl-ico svg{width:19px;height:19px;flex:0 0 auto;}
.fl-cart{position:relative;}
.fl-cart-n{
  position:absolute;top:2px;right:2px;min-width:18px;height:18px;
  display:grid;place-items:center;padding:0 5px;
  background:var(--fl-green);color:#fff;border-radius:999px;
  font-family:var(--fl-m);font-size:10px;font-weight:700;line-height:1;
}
.fl-burger{
  display:none;order:-1;flex:0 0 auto;
  width:44px;height:44px;padding:0!important;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
  border:1px solid var(--fl-line)!important;
  background:var(--fl-card)!important;
  border-radius:var(--fl-r-btn)!important;
  box-shadow:none!important;cursor:pointer;
  transition:.16s;
}
.fl-burger:hover{border-color:var(--fl-green)!important;}
.fl-burger span{
  display:block;width:19px;height:2px;margin:0;
  background:var(--fl-ink)!important;border-radius:2px;transition:.2s;
}
.fl-burger.fl-x span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.fl-burger.fl-x span:nth-child(2){opacity:0;}
.fl-burger.fl-x span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* рядок пошуку під шапкою */
.fl-searchbar{border-bottom:1px solid var(--fl-line);background:var(--fl-card);}
.fl-searchbar-in{
  max-width:var(--fl-max);margin-inline:auto;padding:10px var(--fl-gut);
  display:flex;align-items:center;gap:14px;
}
.fl-searchbar form{flex:1 1 auto;display:flex;gap:8px;min-width:0;}
.fl-searchbar input[type=search],.fl-searchbar input[type=text]{
  flex:1 1 auto;min-width:0;
  padding:10px 14px;border:2px solid var(--fl-line);border-radius:var(--fl-r-sm);
  background:var(--fl-page);font-size:15px;color:var(--fl-ink);
}
.fl-searchbar input:focus{border-color:var(--fl-green);outline:none;}
.fl-searchbar[hidden]{display:none;}
.fl-searchbar form button{white-space:nowrap;padding:10px 18px;}
.fl-search-x{
  flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;padding:0!important;
  border:1px solid var(--fl-line)!important;border-radius:var(--fl-r-sm)!important;
  background:var(--fl-card)!important;color:var(--fl-muted)!important;
  font-size:15px;line-height:1;cursor:pointer;
}
.fl-search-x:hover{border-color:var(--fl-green)!important;color:var(--fl-green-dk)!important;}
.fl-ico.fl-search-t{border:0!important;background:transparent!important;box-shadow:none!important;font-family:var(--fl-b);}
.fl-ico.fl-search-t:hover{background:var(--fl-tint2)!important;}
.fl-ico.fl-search-t[aria-expanded="true"]{background:var(--fl-green-lt)!important;color:var(--fl-green-dk)!important;}

/* порожній результат пошуку */
.fl-empty-search{text-align:left;padding:32px 26px;}
.fl-empty-search h3{margin:0 0 10px;}
.fl-empty-tips{margin:12px 0 20px;color:var(--fl-muted);font-size:14.5px;}
.fl-empty-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;}
.fl-empty-help{
  padding:18px 20px;background:var(--fl-tint2);border-radius:var(--fl-r-card);
}
.fl-empty-help p{margin:0 0 14px;color:var(--fl-ink);}
.fl-empty-acts{display:flex;flex-wrap:wrap;gap:10px;}
.fl-empty-posts{margin-top:20px;}
.fl-search-posts{margin-top:44px;padding-top:34px;border-top:1px solid var(--fl-line);}
.fl-empty-posts h4{font-family:var(--fl-m)!important;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fl-muted);margin:0 0 8px;}
.fl-empty-posts ul{margin:0;padding-left:18px;}
.fl-empty-posts li{margin:4px 0;}

/* ── 5. Кнопки ─────────────────────────────────────────────── */
.fl-btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,
.woocommerce button.button.alt,.woocommerce input.button.alt,
.wc-block-components-button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 22px;border:0;border-radius:var(--fl-r-btn);
  background:var(--fl-green);color:#fff!important;
  font-family:var(--fl-b);font-size:15px;font-weight:700;line-height:1.2;
  text-align:center;cursor:pointer;transition:.18s;text-decoration:none!important;
  box-shadow:0 2px 0 rgba(20,110,40,.22);
}
.fl-btn:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{
  background:var(--fl-green-dk);color:#fff!important;transform:translateY(-1px);
  box-shadow:0 4px 0 rgba(20,110,40,.22);
}
.fl-btn:active{transform:translateY(0);box-shadow:0 1px 0 rgba(20,110,40,.22);}
.fl-btn .fl-i{width:18px;height:18px;}
.fl-btn-lg .fl-i{width:20px;height:20px;}
.fl-btn-mono{font-family:var(--fl-m);font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;}
.fl-btn-lg{padding:16px 28px;font-size:16px;}
.fl-btn-2{
  background:transparent;color:var(--fl-navy)!important;
  border:2px solid var(--fl-navy);box-shadow:none;padding:11px 20px;
}
.fl-btn-2:hover{background:var(--fl-navy);color:#fff!important;box-shadow:none;}
.fl-btn-ghost{
  background:var(--fl-card);color:var(--fl-ink)!important;
  border:1px solid var(--fl-line);box-shadow:none;
}
.fl-btn-ghost:hover{background:var(--fl-tint2);color:var(--fl-green-dk)!important;box-shadow:none;}
.fl-btn-neon{background:var(--fl-neon);color:var(--fl-navy)!important;box-shadow:none;}
.fl-island a.fl-btn,.fl-island a.fl-btn:hover{text-decoration:none!important;}
.fl-btn-neon:hover{background:#8CF7A6;color:var(--fl-navy)!important;box-shadow:none;}
.fl-btn[disabled],.fl-btn.fl-off{background:#C6D2E0;box-shadow:none;cursor:not-allowed;pointer-events:none;}

/* ── 6. Технічні мітки, бейджі, чипи ───────────────────────── */
.fl-i{width:20px;height:20px;flex:0 0 auto;}
.fl-mono{font-family:var(--fl-m);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:600;}
.fl-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--fl-m);font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--fl-green-dk);
}
.fl-eyebrow::before{content:'';width:34px;height:2px;background:currentColor;border-radius:2px;}
.fl-eyebrow-c{
  display:inline-block;padding:7px 15px;border-radius:999px;
  border:1px solid var(--fl-line);background:var(--fl-card);
  font-family:var(--fl-m);font-size:11.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fl-green-dk);
}
.fl-badge{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 12px;border-radius:999px;
  font-family:var(--fl-m);font-size:11.5px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;line-height:1;
}
.fl-badge-ok{background:var(--fl-green-lt);color:var(--fl-green-dk);}
.fl-badge-wait{background:var(--fl-amber-lt);color:#8A5B08;}
.fl-badge-new{background:#E3EDFF;color:#2A4B85;}
.fl-badge-sale{background:var(--fl-coral);color:#fff;}
.fl-spec{
  display:inline-block;padding:5px 10px;border-radius:6px;
  background:var(--fl-tint);color:var(--fl-muted);
  font-family:var(--fl-m);font-size:11.5px;letter-spacing:.06em;
}
.fl-chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 17px;border-radius:999px;
  border:1px solid var(--fl-line);background:var(--fl-card);
  font-family:var(--fl-m);font-size:12px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--fl-ink);cursor:pointer;transition:.16s;
}
.fl-chip:hover{border-color:var(--fl-green);color:var(--fl-green-dk);}
.fl-chip.fl-on{background:var(--fl-green);border-color:var(--fl-green);color:#fff;}
.fl-plus{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.fl-plus li{position:relative;padding-left:24px;}
.fl-plus li::before{
  content:'';position:absolute;left:2px;top:.62em;
  width:9px;height:9px;background:var(--fl-green);border-radius:2px;
}

/* ── 7. Темний острів ──────────────────────────────────────── */
.fl-island{
  position:relative;overflow:hidden;
  background:linear-gradient(150deg,var(--fl-navy) 0%,var(--fl-navy-dp) 100%);
  border-radius:var(--fl-r-island);
  color:#E8F1FB;
  padding:clamp(26px,4vw,54px);
}
.fl-island::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.14;
  background-image:
    linear-gradient(to right,rgba(150,190,240,.5) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(150,190,240,.5) 1px,transparent 1px);
  background-size:28px 28px;
}
.fl-island>*{position:relative;z-index:1;}
.fl-island h1,.fl-island h2,.fl-island h3{color:#fff;}
.fl-island .fl-eyebrow{color:var(--fl-neon);}
.fl-island p{color:#B9CBE0;}
.fl-neon{color:var(--fl-neon);}

/* ── 7б. Герой на весь екран ────────────────────────────────
   Розміри рахуємо і від ширини, і від ВИСОТИ вікна: на низькому
   екрані (ноутбук із панеллю задач, вікно не на весь екран)
   заголовок і відступи стискаються, і блок лишається цілим.
   --fl-vh та --fl-hero-top проставляє скрипт у <head> ще до
   першого малювання; значення нижче — запасні, якщо скрипт вимкнено.
   ───────────────────────────────────────────────────────── */
:root{
  --fl-vh:1vh;              /* 1% висоти вікна; на телефоні уточнює скрипт */
  --fl-head:69px;           /* шапка на широкому екрані */
  --fl-hero-lead:clamp(8px,2vh,60px);   /* відступ теми над контентом */
  --fl-hero-pad:clamp(6px,1.4vh,22px);  /* власний відступ секції */
  --fl-hero-tail:16px;      /* просвіт під островом, щоб було видно продовження */
}

/* Astra лишає 60 px порожнечі над героєм — на головній це задорого */
.home .content-area.primary,
.home .site-content .ast-container>.content-area{ margin-top:var(--fl-hero-lead)!important; }

.fl-hero-sec{ padding-top:var(--fl-hero-pad); }

.fl-hero-sec .fl-eyebrow{ font-size:clamp(10px,1.5vh,12px); }
.fl-hero-sec .fl-hero h1{
  font-size:clamp(30px,min(5.4vw,8vh),66px);
  margin:clamp(6px,1.4vh,16px) 0 clamp(8px,1.8vh,18px);
}
.fl-hero-sec .fl-hero p{
  font-size:clamp(14.5px,min(1.35vw,2.3vh),18.5px);
  margin:0 0 clamp(13px,2.8vh,26px);
}
.fl-hero-sec .fl-hero-cta{ gap:clamp(8px,1.3vh,12px); }
.fl-hero-sec .fl-hero-stats{
  margin-top:clamp(12px,2.9vh,30px);
  padding-top:clamp(10px,2.3vh,26px);
}
.fl-hero-sec .fl-hero-stats b{ font-size:clamp(17px,min(2.4vw,3.2vh),28px); }
.fl-hero-sec .fl-hero-stats span{ font-size:clamp(9px,1.35vh,10.5px); }

/* на широкому екрані острів займає рівно те, що лишилось до низу */
/* острів займає рівно те, що лишилось від екрана після шапки й відступів —
   на будь-якому пристрої, від телефона до 4K */
.fl-hero-island{
  display:flex;align-items:center;
  min-height:calc(
    var(--fl-vh) * 100
    - var(--fl-head)
    - var(--fl-hero-lead)
    - var(--fl-hero-pad)
    - var(--fl-hero-tail)
  );
}
.fl-hero-island>.fl-hero{ width:100%; }

@media (min-width:981px){
  .fl-hero-island{ padding-block:clamp(18px,min(4vw,4.2vh),54px); }
  /* колонки тягнуться на всю висоту острова — композиція не розсипається
     ні на 1080, ні на 640 */
  .fl-hero-island>.fl-hero{ align-items:stretch; }
  .fl-hero-sec .fl-hero>div:first-child{
    display:flex;flex-direction:column;justify-content:center;
  }
  .fl-hero-sec .fl-hero-art{
    aspect-ratio:auto;height:100%;
    min-height:min(44vh,340px);
    max-height:calc(var(--fl-vh) * 72);
  }
  /* дві кнопки в один ряд, кожна по своєму тексту — напис не ламається */
  .fl-hero-sec .fl-hero-cta{
    display:grid;grid-template-columns:repeat(2,minmax(0,max-content));
    justify-content:start;
  }
  .fl-hero-sec .fl-hero-cta>.fl-btn{ width:100%;white-space:nowrap; }
}

/* низький екран: кнопки й підписи компактніші, щоб лягли в один ряд */
.fl-h-short .fl-hero-sec .fl-btn-lg{ padding:13px 20px;font-size:14px; }
.fl-h-short .fl-hero-sec .fl-btn-lg .fl-i{ width:17px;height:17px; }
.fl-h-tiny .fl-hero-sec .fl-btn-lg{ padding:11px 16px;font-size:12.5px;letter-spacing:.06em; }
.fl-h-tiny .fl-hero-sec .fl-hero{ gap:clamp(16px,2.6vw,32px); }
.fl-h-tiny .fl-hero-sec .fl-hero-stats{ margin-top:10px;padding-top:9px; }
.fl-h-nano .fl-hero-sec .fl-hero-stats{ display:none; }
.fl-h-nano .fl-hero-island{ padding-block:14px; }

/* телефон і планшет: картинка не з'їдає весь екран і стоїть по центру.
   Стеля висоти звужує блок через співвідношення сторін — без auto-полів
   він лишався б притиснутим до лівого краю. */
@media (max-width:980px){
  .fl-hero-sec .fl-hero-art{
    max-height:calc(var(--fl-vh) * 30);
    width:auto;max-width:100%;
    margin-inline:auto;
  }
  /* На вузькому й невисокому екрані (телефон до 780 px заввишки)
     декоративну панель прибираємо: інакше вона з'їдає третину екрана,
     і половина тексту з кнопками лишається за кадром. */
  .fl-h-short .fl-hero-sec .fl-hero-art{ display:none; }
  .fl-h-short .fl-hero-sec .fl-hero{ gap:0; }
  .fl-h-tiny  .fl-hero-sec .fl-hero{ gap:0; }
  .fl-h-nano  .fl-hero-sec .fl-hero h1{ margin:4px 0 6px; }
  .fl-h-nano  .fl-hero-sec .fl-hero p{ margin-bottom:10px; }

  /* кнопки на телефоні — по одному рядку тексту, а не по два */
  .fl-hero-sec .fl-hero-cta{ display:grid;grid-template-columns:1fr;gap:10px; }
  .fl-hero-sec .fl-hero-cta>.fl-btn{
    width:100%;justify-content:center;white-space:nowrap;
    padding:13px 14px;font-size:12.5px;letter-spacing:.05em;
  }
  .fl-hero-sec .fl-hero-cta>.fl-btn .fl-i{ width:17px;height:17px; }

  /* щільніший ритм — герой має вкладатися в один екран телефона */
  .fl-hero-sec .fl-hero{ gap:16px; }
  .fl-hero-sec .fl-hero h1{ margin:6px 0 8px; }
  .fl-hero-sec .fl-hero p{ margin-bottom:14px; }
  /* три цифри в один ряд: у два ряди вони з'їдали 180 px екрана */
  .fl-hero-sec .fl-hero-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:14px;padding-top:12px;gap:8px;
  }
  .fl-hero-sec .fl-hero-stats b{ font-size:15.5px;line-height:1.15; }
  .fl-hero-sec .fl-hero-stats span{ font-size:8.5px;letter-spacing:.05em;line-height:1.3; }
  .fl-hero-island{ padding-block:clamp(16px,2.4vh,26px); }
}

/* ── 8. Головна ────────────────────────────────────────────── */
.fl-hero{display:grid;grid-template-columns:1fr .92fr;gap:clamp(24px,4vw,54px);align-items:center;}
.fl-hero>*{min-width:0;}
.fl-hero h1{
  font-size:clamp(34px,5.4vw,66px);text-transform:uppercase;
  line-height:1.02;letter-spacing:-.025em;margin:16px 0 18px;
}
.fl-hero p{font-size:clamp(15.5px,1.35vw,18.5px);max-width:min(52ch,100%);margin:0 0 26px;}
.fl-hero-cta{display:flex;flex-wrap:wrap;gap:12px;}
.fl-hero-art{
  position:relative;border-radius:var(--fl-r-card);overflow:hidden;
  background:#0B1B30;border:1px solid rgba(120,170,230,.22);
  aspect-ratio:4/3;
}
.fl-hero-art canvas{display:block;width:100%;height:100%;}
.fl-hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  margin-top:30px;padding-top:26px;border-top:1px solid rgba(150,190,240,.2);
}
.fl-hero-stats>div{min-width:0;}
.fl-hero-stats b{display:block;font-family:var(--fl-h);font-size:clamp(20px,2.4vw,28px);font-weight:800;color:var(--fl-neon);}
.fl-hero-stats span{font-family:var(--fl-m);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#8FA6BF;}

.fl-usp{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.fl-usp>div{min-width:0;}
.fl-usp article{
  height:100%;padding:20px;background:var(--fl-soft);
  border:1px solid var(--fl-line);border-radius:var(--fl-r-card);
  box-shadow:var(--fl-shadow);transition:.18s;
}
.fl-usp article:hover{transform:translateY(-2px);box-shadow:var(--fl-shadow-hi);}
.fl-usp svg{width:30px;height:30px;color:var(--fl-green);margin-bottom:11px;}
.fl-usp h3{font-size:16px;margin:0 0 6px;}
.fl-usp p{font-size:14px;color:var(--fl-muted);margin:0;}

.fl-head2{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:26px;}
.fl-head2 h2{margin:0;}
.fl-head2 p{margin:6px 0 0;color:var(--fl-muted);font-size:15px;}
.fl-head2 a.fl-more{
  font-family:var(--fl-m);font-size:12px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fl-green-dk);white-space:nowrap;
}

.fl-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.fl-cats>*{min-width:0;}
.fl-cat{
  display:block;position:relative;overflow:hidden;
  padding:22px;background:var(--fl-soft);
  border:1px solid var(--fl-line);border-radius:var(--fl-r-card);
  box-shadow:var(--fl-shadow);transition:.2s;color:var(--fl-ink);
}
.fl-cat:hover{transform:translateY(-3px);box-shadow:var(--fl-shadow-hi);border-color:#C3D6EA;color:var(--fl-ink);}
.fl-cat-art{
  display:block;height:132px;margin:-6px -6px 14px;border-radius:12px;
  background:var(--fl-tint2);overflow:hidden;
}
.fl-cat-art svg{width:100%;height:100%;display:block;}
.fl-cat h3{font-size:17px;margin:0 0 5px;}
.fl-cat p{font-size:13.5px;color:var(--fl-muted);margin:0 0 12px;min-height:2.7em;}
.fl-cat-go{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--fl-m);font-size:11px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--fl-green-dk);
}
.fl-cat:hover .fl-cat-go{gap:11px;}

.fl-models{display:flex;flex-wrap:wrap;gap:10px;}

/* картки матеріалів */
.fl-mats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.fl-mats>*{min-width:0;}
.fl-mat{
  display:flex;flex-direction:column;height:100%;
  padding:20px;background:var(--fl-soft);
  border:1px solid var(--fl-line);border-radius:var(--fl-r-card);
  box-shadow:var(--fl-shadow);transition:.2s;color:var(--fl-ink);
}
.fl-mat:hover{transform:translateY(-3px);box-shadow:var(--fl-shadow-hi);color:var(--fl-ink);}
.fl-mat-dot{display:block;width:34px;height:6px;border-radius:3px;margin-bottom:14px;}
.fl-mat h3{font-size:20px;margin:0 0 8px;}
.fl-mat-for{font-size:14px;color:var(--fl-ink);margin:0 0 12px;line-height:1.5;}
.fl-mat-meta{margin:0 0 10px;}
.fl-mat-note{
  margin:auto 0 0;padding-top:12px;border-top:1px solid var(--fl-line);
  font-size:12.5px;color:var(--fl-muted);line-height:1.5;
}
.fl-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s;}
.fl-steps>*{min-width:0;}
.fl-steps article{position:relative;padding:22px 20px 20px;background:var(--fl-soft);border:1px solid var(--fl-line);border-radius:var(--fl-r-card);}
.fl-steps article::before{
  counter-increment:s;content:'0' counter(s);
  display:block;margin-bottom:10px;
  font-family:var(--fl-m);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--fl-green);
}
.fl-steps h3{font-size:16px;margin:0 0 6px;}
.fl-steps p{font-size:14px;color:var(--fl-muted);margin:0;max-width:30ch;}
.fl-steps article{display:flex;flex-direction:column;height:100%;}

.fl-faq{display:grid;gap:10px;max-width:900px;margin-inline:auto;}
.fl-faq details{background:var(--fl-soft);border:1px solid var(--fl-line);border-radius:var(--fl-r-card);overflow:hidden;}
.fl-faq summary{
  cursor:pointer;list-style:none;padding:17px 20px;
  font-family:var(--fl-h);font-weight:700;font-size:16px;color:var(--fl-ink);
  display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.fl-faq summary::-webkit-details-marker{display:none;}
.fl-faq summary::after{
  content:'';flex:0 0 auto;width:9px;height:9px;
  border-right:2px solid var(--fl-green);border-bottom:2px solid var(--fl-green);
  transform:rotate(45deg);transition:.2s;
}
.fl-faq details[open] summary::after{transform:rotate(-135deg);}
.fl-faq .fl-faq-b{padding:0 20px 18px;color:var(--fl-muted);font-size:15px;}

.fl-cta-island{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:center;}
.fl-cta-island>*{min-width:0;}

/* ── 9. Каталог і картки товарів ───────────────────────────── */
.fl-crumbs{
  padding:16px 0 10px;font-family:var(--fl-m);font-size:11px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--fl-muted);
}
.fl-crumbs a{color:var(--fl-muted);}
.fl-crumbs a:hover{color:var(--fl-green-dk);}
.fl-crumbs .sep{margin:0 7px;opacity:.55;}

.fl-shop{display:grid;grid-template-columns:264px 1fr;gap:28px;align-items:start;}
.fl-shop>*{min-width:0;}
.fl-side{
  position:sticky;top:88px;
  background:var(--fl-soft);border:1px solid var(--fl-line);
  border-radius:var(--fl-r-card);padding:20px;box-shadow:var(--fl-shadow);
}
.fl-side h4{
  font-family:var(--fl-m)!important;font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--fl-muted);margin:0 0 10px;
}
.fl-side ul{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:2px;}
.fl-side ul a{display:block;padding:7px 10px;border-radius:var(--fl-r-sm);font-size:14.5px;color:var(--fl-ink);}
.fl-side ul a:hover{background:var(--fl-tint2);color:var(--fl-green-dk);}
.fl-side ul li.fl-on>a{background:var(--fl-green-lt);color:var(--fl-green-dk);font-weight:700;}
.fl-side-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px;}
.fl-side-tags a{
  padding:6px 12px;border:1px solid var(--fl-line);border-radius:999px;
  font-family:var(--fl-m);font-size:11px;letter-spacing:.05em;color:var(--fl-ink);
}
.fl-side-tags a:hover,.fl-side-tags a.fl-on{border-color:var(--fl-green);background:var(--fl-green-lt);color:var(--fl-green-dk);}

.fl-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;
  margin-bottom:20px;
}
.fl-toolbar .fl-count{font-family:var(--fl-m);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fl-muted);}
.fl-toolbar form.woocommerce-ordering{margin:0 0 0 auto;}
.fl-toolbar select,.woocommerce-ordering select{
  padding:10px 14px;border:2px solid var(--fl-line);border-radius:var(--fl-r-sm);
  background:var(--fl-card);font-size:14px;color:var(--fl-ink);font-family:var(--fl-b);
}
.fl-filters-btn{display:none;}

ul.products,.woocommerce ul.products,
.woocommerce ul.products.fl-products,
.woocommerce-page ul.products.fl-products,
.ast-container .woocommerce ul.products.fl-products{
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:18px!important;
  list-style:none;margin:0!important;padding:0;
}
/* нейтралізуємо сітку Astra всередині каталогу */
ul.products li.product.ast-grid-common-col,
ul.products li.product[class*="ast-"]{padding:0!important;}
.astra-shop-thumbnail-wrap,.astra-shop-summary-wrap{display:contents;}
ul.products::before,ul.products::after{display:none!important;}
ul.products li.product,.woocommerce ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;
  min-width:0;display:flex;flex-direction:column;
  background:var(--fl-soft)!important;border:1px solid var(--fl-line);
  border-radius:var(--fl-r-card);overflow:hidden;
  box-shadow:var(--fl-shadow);transition:.2s;position:relative;
}
ul.products li.product:hover{transform:translateY(-3px);box-shadow:var(--fl-shadow-hi);}
ul.products li.product a.woocommerce-LoopProduct-link{display:block;color:inherit;}
ul.products li.product img,.woocommerce ul.products li.product img{
  display:block;width:100%;aspect-ratio:1/1;object-fit:contain;
  background:var(--fl-tint2);margin:0!important;padding:14px;
}
.fl-card-b{
  padding:15px 16px 17px;display:flex;flex-direction:column;flex:1 1 auto;gap:8px;
  background:var(--fl-soft);
}
.fl-card-specs{display:flex;flex-wrap:wrap;gap:6px;}
ul.products li.product .woocommerce-loop-product__title{
  font-size:15.5px!important;font-weight:700!important;line-height:1.35;
  margin:0!important;padding:0!important;color:var(--fl-ink);
}
ul.products li.product a:hover .woocommerce-loop-product__title{color:var(--fl-green-dk);}
ul.products li.product .price{
  font-family:var(--fl-h)!important;font-size:21px!important;font-weight:800!important;
  color:var(--fl-ink);line-height:1.2!important;
  margin:auto 0 0!important;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;
}
ul.products li.product .price .amount,
ul.products li.product .price bdi{font-size:inherit;font-weight:inherit;color:inherit;}
ul.products li.product .price del{font-size:14px;font-weight:600;color:var(--fl-muted);opacity:.8;}
ul.products li.product .price ins{text-decoration:none;color:var(--fl-ink);}
ul.products li.product .price .amount{color:inherit;}
.fl-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;}
ul.products li.product .button,
ul.products li.product .added_to_cart{
  padding:11px 15px;font-size:13.5px;margin:0!important;
}
.fl-flags{position:absolute;top:11px;left:11px;z-index:2;display:grid;gap:6px;justify-items:start;}
.fl-badge svg{width:14px;height:14px;}
ul.products li.product span.onsale,.woocommerce span.onsale{
  position:static!important;display:inline-block;margin:0!important;padding:5px 11px!important;
  min-height:0!important;min-width:0!important;line-height:1!important;
  background:var(--fl-coral)!important;color:#fff!important;border-radius:999px!important;
  font-family:var(--fl-m)!important;font-size:10.5px!important;font-weight:700!important;letter-spacing:.06em;
}
.woocommerce ul.products li.product .star-rating,
.woocommerce .star-rating{font-size:.8em;color:var(--fl-amber);margin:0;}
.fl-empty{
  padding:44px 26px;text-align:center;background:var(--fl-card);
  border:1px dashed var(--fl-line);border-radius:var(--fl-r-card);
}
.fl-empty h3{margin:0 0 8px;}
.fl-empty p{color:var(--fl-muted);margin:0 0 18px;}

.woocommerce nav.woocommerce-pagination{margin:30px 0 0;}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;justify-content:center;gap:8px;}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0;overflow:visible;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;
  border:1px solid var(--fl-line);border-radius:999px;background:var(--fl-card);
  font-family:var(--fl-m);font-size:13px;font-weight:700;color:var(--fl-ink);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{
  background:var(--fl-green);border-color:var(--fl-green);color:#fff;
}

/* ── 10. Сторінка товару ───────────────────────────────────── */
/* службові елементи Astra: у нас власні крихти, статус і сумісність */
.woocommerce div.product .woocommerce-breadcrumb,
.woocommerce div.product .single-product-category,
.woocommerce div.product .summary p.stock,
.woocommerce div.product .summary .product_meta .sku_wrapper,
.ast-woo-product-category{display:none!important;}
.woocommerce div.product{margin-top:8px;}
.woocommerce div.product div.images,
.woocommerce div.product div.summary{margin-bottom:34px;}
.woocommerce div.product div.images img{
  background:var(--fl-card);border:1px solid var(--fl-line);
  border-radius:var(--fl-r-card);padding:18px;
}
.woocommerce div.product div.images .flex-control-thumbs{margin-top:12px;display:flex;gap:10px;}
.woocommerce div.product div.images .flex-control-thumbs li{width:82px;margin:0;}
.woocommerce div.product div.images .flex-control-thumbs img{padding:6px;border-radius:10px;}
.woocommerce div.product .product_title{font-size:clamp(23px,2.7vw,32px);margin:10px 0 12px;}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--fl-h);font-size:34px;font-weight:800;color:var(--fl-ink);margin:14px 0 18px;
}
.woocommerce div.product p.price del{font-size:19px;color:var(--fl-muted);font-weight:600;}
.woocommerce div.product p.price ins{text-decoration:none;}
.woocommerce div.product form.cart{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 22px;
}
.woocommerce div.product form.cart div.quantity{margin:0;display:flex;align-items:center;}
.woocommerce .quantity input.qty{
  width:86px;height:50px;padding:0 8px;text-align:center;
  border:2px solid var(--fl-line);border-radius:var(--fl-r-sm);
  font-family:var(--fl-h);font-weight:700;font-size:16px;background:var(--fl-card);
}
.woocommerce div.product form.cart .button{height:50px;padding-inline:26px;}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--fl-muted);}
.fl-compat{
  display:inline-block;margin:0 0 12px;padding:7px 14px;border-radius:999px;
  border:1px solid var(--fl-line);background:var(--fl-card);
  font-family:var(--fl-m);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fl-muted);
}
.fl-stockline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 6px;}
.fl-trust{
  margin:20px 0;padding:16px 18px;background:var(--fl-tint);
  border:1px solid var(--fl-line);border-radius:var(--fl-r-card);
}
.fl-trust-row{display:flex;align-items:flex-start;gap:11px;padding:9px 0;border-bottom:1px solid var(--fl-line);}
.fl-trust-row:last-of-type{border-bottom:0;}
.fl-trust-row svg{width:21px;height:21px;color:var(--fl-green-dk);flex:0 0 auto;margin-top:1px;}
.fl-trust-row b{display:block;font-size:14.5px;font-weight:700;color:var(--fl-ink);}
.fl-trust-row span{font-family:var(--fl-m);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fl-muted);}
.fl-trust-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px;}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  padding:0;margin:0 0 20px;border-bottom:1px solid var(--fl-line);display:flex;gap:6px;flex-wrap:wrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;border:0;border-radius:0;margin:0;padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:12px 16px;font-weight:700;font-size:15px;color:var(--fl-muted);
  border-bottom:2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--fl-green-dk);border-bottom-color:var(--fl-green);}
.woocommerce div.product .woocommerce-tabs .panel{padding:0;margin:0;}
.woocommerce table.shop_attributes{border:1px solid var(--fl-line);border-radius:var(--fl-r-card);overflow:hidden;border-collapse:separate;}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{
  border:0;border-bottom:1px solid var(--fl-line);padding:11px 15px;font-style:normal;
}
.woocommerce table.shop_attributes th{background:var(--fl-tint);font-family:var(--fl-m);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fl-muted);width:42%;}
.fl-relwrap{margin-top:44px;}

/* ── філамент: кольори, ціна за кг, залишок ───────────────── */
.woocommerce div.product form.cart .variations{margin:0 0 14px;}
.woocommerce div.product form.cart .variations select{display:none;}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th{border:0;padding:0 0 8px;display:block;width:auto;}
.woocommerce div.product form.cart .variations label{
  font-family:var(--fl-m);font-size:10.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--fl-muted);
}
.fl-swatch-name{
  display:inline-block;margin-left:8px;font-family:var(--fl-b);
  font-size:14px;font-weight:700;color:var(--fl-ink);text-transform:none;letter-spacing:0;
}
.fl-swatches{display:flex;flex-wrap:wrap;gap:9px;margin-top:8px;}
.fl-swatch{
  padding:9px 15px;border:1px solid var(--fl-line);border-radius:999px;
  background:var(--fl-card);font-family:var(--fl-b);font-size:14px;font-weight:600;
  color:var(--fl-ink);cursor:pointer;transition:.16s;
}
.fl-swatch:hover{border-color:var(--fl-green);}
.fl-swatch.fl-on{border-color:var(--fl-green);background:var(--fl-green-lt);color:var(--fl-green-dk);}
.fl-swatch-color{
  width:40px;height:40px;padding:3px;border-radius:50%;
  display:grid;place-items:center;
}
.fl-swatch-color i{
  display:block;width:100%;height:100%;border-radius:50%;
  border:1px solid rgba(8,28,51,.14);
}
.fl-swatch-color.fl-on{
  border-color:var(--fl-green);box-shadow:0 0 0 2px var(--fl-green-lt);background:var(--fl-card);
}

.fl-perkg{
  margin:-8px 0 16px;font-family:var(--fl-m);font-size:11.5px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--fl-muted);
}
.fl-perkg .amount{font-family:var(--fl-h);font-size:14px;font-weight:800;color:var(--fl-ink);}
.fl-low{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;
  padding:8px 14px;border-radius:999px;
  background:var(--fl-amber-lt);color:#8A5B08;
  font-size:13.5px;font-weight:700;
}
.fl-low .fl-i{width:16px;height:16px;}
.woocommerce div.product .woocommerce-variation-availability{margin:6px 0 12px;}
.woocommerce div.product .stock{
  display:inline-flex;align-items:center;gap:7px;margin:0;
  padding:7px 13px;border-radius:999px;
  background:var(--fl-green-lt);color:var(--fl-green-dk);
  font-size:13.5px;font-weight:700;
}
.woocommerce div.product .stock.fl-stock-low{background:var(--fl-amber-lt);color:#8A5B08;}
.woocommerce div.product .stock.out-of-stock{background:var(--fl-tint);color:var(--fl-muted);}

.fl-card-swatches{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.fl-card-swatches i{
  display:block;width:14px;height:14px;border-radius:50%;
  border:1px solid rgba(8,28,51,.16);
}
.fl-card-swatches span{
  font-family:var(--fl-m);font-size:10.5px;color:var(--fl-muted);margin-left:2px;
}

/* ── 11. Кошик / оформлення / акаунт ───────────────────────── */
.woocommerce table.shop_table{
  border:1px solid var(--fl-line);border-radius:var(--fl-r-card);
  border-collapse:separate;background:var(--fl-card);overflow:hidden;
}
.woocommerce table.shop_table th{
  background:var(--fl-tint);font-family:var(--fl-m);font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--fl-muted);padding:13px 15px;
}
.woocommerce table.shop_table td{padding:14px 15px;border-top:1px solid var(--fl-line);}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce .cart_totals{
  background:var(--fl-card);border:1px solid var(--fl-line);
  border-radius:var(--fl-r-card);padding:20px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-account input[type=text],.woocommerce-account input[type=email],
.woocommerce-account input[type=password],.woocommerce-account input[type=tel],
.select2-container--default .select2-selection--single{
  padding:12px 14px!important;height:auto!important;
  border:2px solid var(--fl-line)!important;border-radius:var(--fl-r-sm)!important;
  background:var(--fl-card)!important;font-size:15px!important;font-family:var(--fl-b)!important;
  color:var(--fl-ink)!important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus{border-color:var(--fl-green)!important;outline:none;}
.woocommerce form .form-row label{
  font-family:var(--fl-m);font-size:10.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--fl-muted);margin-bottom:6px;
}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,.woocommerce-notices-wrapper>*{
  border-top:0!important;background:var(--fl-card);border:1px solid var(--fl-line);
  border-left:4px solid var(--fl-green);border-radius:var(--fl-r-card);
  padding:15px 18px!important;color:var(--fl-ink);
}
.woocommerce .woocommerce-error{border-left-color:var(--fl-coral);}
/* кнопка «Перейти в кошик» у повідомленнях — наш темно-синій, а не синій Astra */
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button,
.woocommerce-message a.wc-forward,
.woocommerce-info a.wc-forward{
  background:var(--fl-navy)!important;color:#fff!important;
  border:0!important;border-radius:var(--fl-r-btn)!important;
  box-shadow:0 2px 0 rgba(10,25,45,.22)!important;
  font-weight:700;padding:12px 20px!important;
}
.woocommerce .woocommerce-message .button:hover,
.woocommerce-message a.wc-forward:hover{background:var(--fl-navy-dp)!important;color:#fff!important;}
/* саме повідомлення робимо охайнішим */
.woocommerce .woocommerce-message{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.woocommerce .woocommerce-info{border-left-color:#2A64C8;}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before{display:none;}
.woocommerce-account .woocommerce-MyAccount-navigation{width:25%;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;margin:0;padding:0;display:grid;gap:3px;
  background:var(--fl-card);border:1px solid var(--fl-line);border-radius:var(--fl-r-card);padding:12px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:10px 13px;border-radius:var(--fl-r-sm);color:var(--fl-ink);font-weight:600;font-size:14.5px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--fl-green-lt);color:var(--fl-green-dk);}
.woocommerce-account .woocommerce-MyAccount-content{width:72%;}
.fl-authgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
.woocommerce-account:not(.logged-in) .woocommerce{
  max-width:var(--fl-max);margin-inline:auto;padding-inline:var(--fl-gut);
}
.fl-authgrid>*{min-width:0;}
.woocommerce-account .u-column1,.woocommerce-account .u-column2{
  background:var(--fl-card);border:1px solid var(--fl-line);
  border-radius:var(--fl-r-card);padding:26px;float:none!important;width:auto!important;
}
.woocommerce-account .u-column1 h2,.woocommerce-account .u-column2 h2{
  margin:0 0 18px;font-size:22px;
}
/* всередині колонки форма вже не потребує власної рамки */
.woocommerce-account form.login,
.woocommerce-account form.register{
  border:0!important;padding:0!important;margin:0!important;border-radius:0!important;
}
.woocommerce-account .woocommerce-form-login__rememberme{
  display:flex;align-items:center;gap:8px;margin:4px 0 14px;
  font-family:var(--fl-m);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fl-muted);
}
.woocommerce-account .woocommerce-form-login__rememberme input{width:auto;margin:0;}
.woocommerce-account .lost_password{margin:12px 0 0;font-size:14px;}
.woocommerce-account form .form-row{margin:0 0 14px;}
.woocommerce-account .show-password-input{top:14px;}
.woocommerce-account .col2-set .col-1,.woocommerce-account .col2-set .col-2{width:100%;float:none;}


/* ══ Кошик і оформлення ═══════════════════════════════════════
   Побудовано на дослідженнях Baymard: витрати показуємо заздалегідь,
   форма коротка, крок-індикатор знімає відчуття «це надовго».
   ═══════════════════════════════════════════════════════════ */

/* крок-індикатор */
.fl-steps-bar{
  display:flex;align-items:center;gap:0;list-style:none;
  margin:0 0 22px;padding:0;
}
.fl-steps-bar li{
  display:flex;align-items:center;gap:9px;flex:1 1 0;min-width:0;
  position:relative;padding:0 8px 0 0;
  font-size:14px;font-weight:600;color:var(--fl-muted);
}
.fl-steps-bar li::after{
  content:'';flex:1 1 auto;height:2px;background:var(--fl-line);border-radius:2px;margin-left:4px;
}
.fl-steps-bar li:last-child::after{display:none;}
.fl-step-n{
  flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;
  border-radius:50%;background:var(--fl-line);color:var(--fl-muted);
  font-family:var(--fl-m);font-size:12px;font-weight:700;
}
.fl-steps-bar li.fl-now{color:var(--fl-ink);}
.fl-steps-bar li.fl-now .fl-step-n{background:var(--fl-green);color:#fff;}
.fl-steps-bar li.fl-done{color:var(--fl-green-dk);}
.fl-steps-bar li.fl-done .fl-step-n{background:var(--fl-green-lt);color:var(--fl-green-dk);}
.fl-steps-bar li.fl-done::after{background:var(--fl-green-lt);}

/* смуга до безкоштовної доставки */
.fl-free{
  margin:0 0 20px;padding:14px 18px;
  background:var(--fl-soft);border:1px solid var(--fl-line);border-radius:var(--fl-r-card);
}
.fl-free-hit{background:var(--fl-green-lt);border-color:#BFE7C6;}
.fl-free-txt{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--fl-ink);margin-bottom:10px;}
.fl-free-txt .fl-i{color:var(--fl-green-dk);flex:0 0 auto;}
.fl-free-txt b{color:var(--fl-green-dk);}
.fl-free-hit .fl-free-txt b{color:#1B6D2A;}
.fl-free-bar{height:7px;border-radius:99px;background:var(--fl-line);overflow:hidden;}
.fl-free-bar i{display:block;height:100%;border-radius:99px;background:var(--fl-green);transition:width .4s ease;}
.fl-free-hit .fl-free-bar i{background:var(--fl-green-dk);}

/* пояснення вартості доставки — головна причина відмов */
.fl-cart-note{
  display:flex;gap:13px;margin:18px 0 0;padding:16px 18px;
  background:var(--fl-tint2);border-radius:var(--fl-r-card);
}
.fl-cart-note .fl-i{flex:0 0 auto;color:var(--fl-green-dk);margin-top:2px;}
.fl-cart-note b{display:block;margin-bottom:5px;font-size:15px;}
.fl-cart-note p{margin:0;font-size:14px;color:var(--fl-muted);line-height:1.55;}

/* блок довіри біля підсумку */
.fl-cart-trust{
  margin-top:16px;padding:18px;background:var(--fl-soft);
  border:1px solid var(--fl-line);border-radius:var(--fl-r-card);
}
.fl-ct-row{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid var(--fl-line);}
.fl-ct-row:last-of-type{border-bottom:0;}
.fl-ct-row .fl-i{flex:0 0 auto;color:var(--fl-green-dk);margin-top:2px;}
.fl-ct-row b{display:block;font-size:14.5px;}
.fl-ct-row span{font-size:13px;color:var(--fl-muted);}
.fl-ct-help{margin-top:12px;padding-top:12px;border-top:1px solid var(--fl-line);font-size:13.5px;color:var(--fl-muted);}

/* крос-сейл */
.fl-xsell{margin-top:44px;padding-top:34px;border-top:1px solid var(--fl-line);}
.fl-xsell-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.fl-xsell-grid>*{min-width:0;}
.fl-xs{
  display:flex;flex-direction:column;overflow:hidden;
  background:var(--fl-soft);border:1px solid var(--fl-line);
  border-radius:var(--fl-r-card);transition:.18s;
}
.fl-xs:hover{transform:translateY(-2px);box-shadow:var(--fl-shadow-hi);}
.fl-xs-img{display:block;background:var(--fl-tint2);}
.fl-xs-img img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:12px;display:block;}
.fl-xs-b{padding:14px 15px 16px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto;}
.fl-xs-b h3{font-size:15px;margin:0;line-height:1.35;}
.fl-xs-b h3 a{color:var(--fl-ink);}
.fl-xs-p{font-family:var(--fl-h);font-size:18px;font-weight:800;margin-top:auto;}
.fl-xs-b .fl-btn{width:100%;font-size:14px;padding:10px 14px;}

/* порожній кошик */
.fl-empty-cart{text-align:center;}
.fl-empty-cart .fl-empty-cats{justify-content:center;}
.fl-empty-cart .fl-empty-acts{justify-content:center;}

/* довіра на оформленні */
.fl-co-trust{
  display:flex;gap:10px;align-items:flex-start;
  margin-top:14px;padding:13px 15px;
  background:var(--fl-tint2);border-radius:var(--fl-r-card);
  font-size:13.5px;color:var(--fl-muted);line-height:1.5;
}
.fl-co-trust .fl-i{flex:0 0 auto;color:var(--fl-green-dk);margin-top:1px;}
.fl-co-help{margin-top:12px;text-align:center;font-size:13.5px;color:var(--fl-muted);}
.fl-pickup-note{
  display:flex;gap:10px;align-items:flex-start;padding:10px 0;
  font-size:13.5px;color:var(--fl-muted);line-height:1.5;
}
.fl-pickup-note .fl-i{flex:0 0 auto;color:var(--fl-green-dk);margin-top:1px;}
#fl-pickup-note[hidden]{display:none;}

/* подяка */
.fl-ty{
  margin:0 0 30px;padding:clamp(24px,3vw,40px);text-align:center;
  background:var(--fl-soft);border:1px solid var(--fl-line);border-radius:var(--fl-r-island);
}
.fl-ty-ico{
  width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;
  border-radius:50%;background:var(--fl-green-lt);
}
.fl-ty-ico .fl-i{width:32px;height:32px;color:var(--fl-green-dk);}
.fl-ty h2{margin:0 0 8px;}
.fl-ty>p{margin:0 0 26px;color:var(--fl-muted);font-size:16px;}
.fl-ty-steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  margin:0 0 26px;padding:0;list-style:none;counter-reset:ty;text-align:left;
}
.fl-ty-steps>*{min-width:0;}
.fl-ty-steps li{padding:18px;background:var(--fl-card);border:1px solid var(--fl-line);border-radius:var(--fl-r-card);}
.fl-ty-steps li::before{
  counter-increment:ty;content:'0' counter(ty);
  display:block;margin-bottom:9px;
  font-family:var(--fl-m);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--fl-green);
}
.fl-ty-steps b{display:block;margin-bottom:5px;font-size:15.5px;}
.fl-ty-steps span{font-size:13.5px;color:var(--fl-muted);line-height:1.5;}
.fl-ty-acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}

/* дві колонки: товари ліворуч, підсумок праворуч і липкий */
.fl-shop-page{padding-bottom:clamp(40px,6vw,72px);}
@media (min-width:981px){
  .woocommerce-cart .woocommerce{
    display:grid;grid-template-columns:1fr 400px;gap:28px;align-items:start;
  }
  .woocommerce-cart .woocommerce>.woocommerce-notices-wrapper,
  .woocommerce-cart .woocommerce>.fl-crumbs,
  .woocommerce-cart .woocommerce>.fl-xsell{grid-column:1/-1;}
  .woocommerce-cart form.woocommerce-cart-form{grid-column:1;min-width:0;}
  /* липким не робимо: блок вищий за екран і тоді налазить на секцію нижче */
  .woocommerce-cart .cart-collaterals{grid-column:2;width:auto!important;min-width:0;}
  .woocommerce-cart .cart-collaterals .cart_totals{width:auto!important;float:none!important;}
}
.woocommerce-cart .cart-collaterals .cross-sells{display:none;}

/* таблиця кошика */
.woocommerce table.shop_table td.product-remove{width:36px;}
.woocommerce table.shop_table td.product-thumbnail img{width:64px;border-radius:10px;background:var(--fl-tint2);}
.woocommerce table.shop_table td.product-name a{font-weight:700;color:var(--fl-ink);}
.woocommerce table.shop_table .product-name .variation{margin:4px 0 0;font-size:13px;color:var(--fl-muted);}
.woocommerce a.remove{
  color:var(--fl-muted)!important;font-size:20px;line-height:1;
  width:28px;height:28px;display:grid;place-items:center;border-radius:8px;
}
.woocommerce a.remove:hover{background:var(--fl-coral-lt);color:var(--fl-coral)!important;}
.woocommerce .cart .button[name="update_cart"]{
  background:var(--fl-card)!important;color:var(--fl-ink)!important;
  border:1px solid var(--fl-line)!important;box-shadow:none!important;
}
.woocommerce .cart .button[name="update_cart"]:disabled{opacity:.45;}
.fl-pulse{animation:fl-pulse 1.2s ease-in-out 2;}
@keyframes fl-pulse{50%{box-shadow:0 0 0 4px var(--fl-green-lt)!important;}}
.woocommerce .cart_totals .checkout-button{
  width:100%;justify-content:center;font-size:16px;padding:15px 22px;margin-top:6px;
}
.woocommerce .cart_totals h2,
.woocommerce-checkout #order_review_heading{font-size:19px;margin:0 0 14px;}

/* таблиця підсумків у вузькій колонці не тримається — розкладаємо стовпчиком */
.woocommerce .cart_totals table.shop_table,
.woocommerce .cart_totals table.shop_table tbody,
.woocommerce .cart_totals table.shop_table tr,
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td{
  display:block;width:100%;border:0!important;background:transparent!important;
  padding:0;text-align:left!important;
}
.woocommerce .cart_totals table.shop_table{border-radius:0;overflow:visible;}
.woocommerce .cart_totals table.shop_table tr{
  padding:13px 0;border-bottom:1px solid var(--fl-line)!important;
}
.woocommerce .cart_totals table.shop_table tr:last-child{border-bottom:0!important;}
.woocommerce .cart_totals table.shop_table th{
  margin-bottom:7px;
  font-family:var(--fl-m);font-size:10.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--fl-muted);
}
.woocommerce .cart_totals table.shop_table td{font-size:15px;color:var(--fl-ink);}
.woocommerce .cart_totals .order-total td{
  font-family:var(--fl-h);font-size:26px;font-weight:800;
}
.woocommerce .cart_totals .order-total td .amount{font-size:inherit;}

/* способи доставки: кружечок окремо, текст окремо — і нічого не налазить */
.woocommerce ul#shipping_method{margin:0;padding:0;list-style:none;}
.woocommerce ul#shipping_method li{
  display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;
  margin:0 0 11px;padding:0;text-indent:0;
}
.woocommerce ul#shipping_method li:last-child{margin-bottom:0;}
@media (max-width:760px){
  /* палець має влучати у весь рядок, а не в кружечок 18 px */
  .woocommerce ul#shipping_method li{min-height:44px;align-items:center;margin-bottom:6px;}
  .woocommerce ul#shipping_method li label{padding:11px 0;}
  .woocommerce ul#shipping_method li input[type=radio]{margin-top:0;}
}
.woocommerce ul#shipping_method li input[type=radio]{
  width:18px;height:18px;margin:2px 0 0;accent-color:var(--fl-green);
}
.woocommerce ul#shipping_method li label{
  margin:0;padding:0;font-size:14.5px;line-height:1.4;color:var(--fl-ink);cursor:pointer;
}
.woocommerce ul#shipping_method .amount{font-weight:700;}
.woocommerce .woocommerce-shipping-destination,
.woocommerce p.woocommerce-shipping-contents,
.woocommerce .shipping-calculator-button{font-size:13px;color:var(--fl-muted);}
.woocommerce .woocommerce-shipping-methods+p,
.woocommerce td[data-title="Доставка"]>p{margin:10px 0 0;font-size:13px;color:var(--fl-muted);line-height:1.5;}
.woocommerce ul#shipping_method li{margin:0 0 8px;display:flex;align-items:flex-start;gap:9px;}
.woocommerce ul#shipping_method label{font-size:14.5px;line-height:1.4;}

/* оформлення: підсумок липкий */
/* на оформленні підсумок липкий лише якщо екран достатньо високий */
@media (min-width:981px) and (min-height:900px){
  .woocommerce-checkout #order_review{position:sticky;top:88px;}
}
.woocommerce-checkout .fl-hide-row,
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #billing_country_field{display:none!important;}

/* ── блок перевізника (місто + відділення) ─────────────────── */
.wcus-checkout-fields{margin:18px 0 0;}
.wcus-checkout-fields h3,
.wcus-checkout-fields .wcus-title{
  font-family:var(--fl-h);font-size:17px;font-weight:800;
  margin:0 0 12px;color:var(--fl-ink);
}
.wcus-checkout-fields .form-row,
.wcus-checkout-fields .wcus-form-row{margin:0 0 12px;padding:0;}
.wcus-checkout-fields label,
.wcus-checkout-fields .wcus-label{
  display:block;margin:0 0 6px;
  font-family:var(--fl-m);font-size:10.5px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;color:var(--fl-muted);
}
.wcus-checkout-fields input[type=text],
.wcus-checkout-fields input[type=search],
.wcus-checkout-fields select,
.wcus-checkout-fields .wcus-select,
.wcus-checkout-fields .wcus-select__control{
  width:100%;min-height:48px;box-sizing:border-box;
  padding:12px 14px;font-size:15px;line-height:1.3;
  color:var(--fl-ink);background:#fff;
  border:1px solid var(--fl-line);border-radius:var(--fl-r-in);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.wcus-checkout-fields input:focus,
.wcus-checkout-fields select:focus,
.wcus-checkout-fields .wcus-select__control--is-focused{
  outline:0;border-color:var(--fl-green);
  box-shadow:0 0 0 3px rgba(22,163,74,.14);
}
/* випадний список пошуку відділень */
.wcus-checkout-fields .wcus-select__menu,
.wcus-checkout-fields .wcus-dropdown{
  z-index:60;border:1px solid var(--fl-line);border-radius:var(--fl-r-in);
  box-shadow:0 18px 40px rgba(15,32,64,.14);background:#fff;
  max-height:280px;overflow:auto;
}
.wcus-checkout-fields .wcus-select__option{padding:11px 14px;font-size:14.5px;line-height:1.35;}
.wcus-checkout-fields .wcus-select__option--is-focused{background:#F1F7FF;}
.wcus-checkout-fields .wcus-select__option--is-selected{background:var(--fl-green);color:#fff;}
.wcus-checkout-fields .wcus-no-options,
.wcus-checkout-fields .wcus-select__menu-notice{padding:14px;font-size:14px;color:var(--fl-muted);}
.fl-steps-bar a{color:inherit;}
.fl-steps-bar a:hover{color:var(--fl-green-dk);}
.woocommerce-checkout #order_review{
  background:var(--fl-soft);border:1px solid var(--fl-line);
  border-radius:var(--fl-r-card);padding:22px;
}
.woocommerce-checkout table.shop_table tfoot th,
.woocommerce-checkout table.shop_table tfoot td{
  border-top:1px solid var(--fl-line);padding:12px 0;background:transparent;
}
.woocommerce-checkout table.shop_table tfoot .order-total th,
.woocommerce-checkout table.shop_table tfoot .order-total td{font-size:19px;}
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table{
  border:0;background:transparent;
}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td{background:transparent;}
.woocommerce-checkout .woocommerce-billing-fields h3{font-size:20px;margin:0 0 16px;}
.woocommerce form .form-row .description{
  margin:6px 0 0;font-size:12.5px;color:var(--fl-muted);background:none;border:0;padding:0;
}
.woocommerce-checkout #place_order{width:100%;justify-content:center;font-size:16px;padding:16px 22px;}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--fl-muted);}

/* мобільний кошик: замість таблиці — картки */
@media (max-width:760px){
  .fl-steps-bar li{font-size:12.5px;gap:6px;}
  .fl-steps-bar .fl-step-n{width:24px;height:24px;font-size:11px;}
  .fl-steps-bar li::after{margin-left:2px;}
  .fl-xsell-grid{grid-template-columns:1fr;}
  .fl-ty-steps{grid-template-columns:1fr;}
  .fl-free{padding:13px 15px;}
  .fl-free-txt{font-size:14px;}

  .woocommerce table.shop_table_responsive,
  .woocommerce table.shop_table_responsive tbody,
  .woocommerce table.shop_table_responsive tr,
  .woocommerce table.shop_table_responsive td{display:block;width:100%;}
  .woocommerce table.shop_table_responsive thead{display:none;}
  .woocommerce table.shop_table_responsive tr.cart_item{
    position:relative;margin:0 0 12px;padding:14px 14px 14px 92px;min-height:96px;
    background:var(--fl-soft);border:1px solid var(--fl-line);border-radius:var(--fl-r-card);
  }
  .woocommerce table.shop_table_responsive td{border:0!important;padding:2px 0!important;text-align:left!important;}
  .woocommerce table.shop_table_responsive td::before{
    content:attr(data-title) ': ';font-family:var(--fl-m);font-size:10.5px;
    letter-spacing:.08em;text-transform:uppercase;color:var(--fl-muted);float:none;display:inline;
  }
  .woocommerce table.shop_table_responsive td.product-thumbnail{
    position:absolute;left:14px;top:14px;width:64px;padding:0!important;
  }
  .woocommerce table.shop_table_responsive td.product-thumbnail::before{display:none;}
  .woocommerce table.shop_table_responsive td.product-remove{
    position:absolute;right:8px;top:10px;width:auto;padding:0!important;
  }
  .woocommerce table.shop_table_responsive td.product-remove::before{display:none;}
  .woocommerce table.shop_table_responsive td.product-name::before{display:none;}
  .woocommerce table.shop_table_responsive td.product-name{font-size:15px;padding-right:30px!important;}
  .woocommerce table.shop_table_responsive td.actions{
    padding:12px 0 0!important;background:none;border:0;
  }
  .woocommerce table.shop_table_responsive td.actions::before{display:none;}
  .woocommerce .coupon{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
  .woocommerce .coupon input{flex:1 1 150px;min-width:0;}
  .woocommerce-cart .cart-collaterals{margin-top:20px;}
  /* головна кнопка — на всю ширину, її важко промахнути */
  .woocommerce .cart_totals .checkout-button,
  .woocommerce-checkout #place_order{width:100%!important;padding:16px 20px;font-size:16px;}
  .woocommerce .cart .button[name="update_cart"]{width:100%;}
  /* хрестик видалення — нормальна ціль для пальця */
  .woocommerce table.shop_table_responsive a.remove{
    width:38px;height:38px;font-size:22px;
    background:var(--fl-card);border:1px solid var(--fl-line);
  }
  .fl-xs-b .fl-btn{padding:12px 14px;}
}

/* ── 12. Блог ──────────────────────────────────────────────── */
.fl-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fl-posts>*{min-width:0;}
.fl-post{
  display:flex;flex-direction:column;height:100%;overflow:hidden;
  background:var(--fl-soft);border:1px solid var(--fl-line);
  border-radius:var(--fl-r-card);box-shadow:var(--fl-shadow);transition:.2s;
}
.fl-post:hover{transform:translateY(-3px);box-shadow:var(--fl-shadow-hi);}
.fl-post-img{display:block;aspect-ratio:16/9;background:var(--fl-tint2);overflow:hidden;}
.fl-post-img img{width:100%;height:100%;object-fit:cover;display:block;}
.fl-post-b{padding:17px 18px 20px;display:flex;flex-direction:column;gap:9px;flex:1 1 auto;background:var(--fl-soft);}
.fl-post-b h3{font-size:17px;margin:0;line-height:1.3;}
.fl-post-b h3 a{color:var(--fl-ink);}
.fl-post-b h3 a:hover{color:var(--fl-green-dk);}
.fl-post-b p{font-size:14px;color:var(--fl-muted);margin:0;}
.fl-post-meta{
  margin-top:auto;padding-top:9px;font-family:var(--fl-m);font-size:10.5px;
  letter-spacing:.07em;text-transform:uppercase;color:var(--fl-muted);
}
.navigation.pagination{margin:30px 0 0;}
.navigation.pagination .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
.navigation.pagination .page-numbers{
  display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;
  border:1px solid var(--fl-line);border-radius:999px;background:var(--fl-card);
  font-family:var(--fl-m);font-size:13px;font-weight:700;color:var(--fl-ink);
}
.navigation.pagination .page-numbers.current,
.navigation.pagination a.page-numbers:hover{background:var(--fl-green);border-color:var(--fl-green);color:#fff;}
.navigation.pagination .screen-reader-text{display:none;}

.fl-article{max-width:800px;margin-inline:auto;}
.fl-article .entry-content{font-size:17px;line-height:1.75;}
.fl-article h2{margin:34px 0 14px;}
.fl-article h3{margin:26px 0 10px;}
.fl-article ul,.fl-article ol{padding-left:22px;margin:14px 0;}
.fl-article li{margin:6px 0;}
.fl-article blockquote{
  margin:22px 0;padding:16px 20px;background:var(--fl-tint);
  border-left:4px solid var(--fl-green);border-radius:0 var(--fl-r-card) var(--fl-r-card) 0;
  font-style:normal;color:var(--fl-ink);
}
.fl-article img{border-radius:var(--fl-r-card);}
.fl-article .fl-src{
  margin-top:34px;padding:18px 20px;background:var(--fl-card);
  border:1px solid var(--fl-line);border-radius:var(--fl-r-card);font-size:14px;
}
.fl-article .fl-src h3{margin:0 0 10px;font-size:15px;}

/* ── 13. Схема принтера ────────────────────────────────────── */
.fl-schema{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch;}
.fl-schema>.fl-schema-map{display:flex;flex-direction:column;}
.fl-schema>.fl-schema-map .fl-svgwrap{flex:1 1 auto;display:flex;align-items:center;}
.fl-schema>*{min-width:0;}
.fl-schema-map{padding:22px;}
.fl-schema-map .fl-mono{color:var(--fl-neon);display:block;margin-bottom:14px;}
.fl-svgwrap{position:relative;border-radius:14px;border:1px solid rgba(120,170,230,.22);overflow:hidden;background:#0B1B30;}
.fl-svgwrap svg{display:block;width:100%;height:auto;}
.fl-node{cursor:pointer;transition:.16s;}
.fl-node circle{transition:.16s;}
.fl-node:hover circle{r:13;}
.fl-node.fl-on circle{fill:var(--fl-amber);stroke:#fff;stroke-width:3;}
.fl-panel{
  position:relative;background:var(--fl-card);border:1px solid var(--fl-line);
  border-radius:var(--fl-r-card);padding:22px;box-shadow:var(--fl-shadow);
}
.fl-panel::before{content:'';position:absolute;left:-1px;top:18px;bottom:18px;width:4px;background:var(--fl-green);border-radius:4px;}
.fl-panel-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.fl-panel-tabs button{
  padding:9px 15px;border-radius:var(--fl-r-sm);border:1px solid var(--fl-line);
  background:var(--fl-card);font-family:var(--fl-b);font-size:14px;font-weight:600;
  color:var(--fl-ink);cursor:pointer;transition:.16s;
}
.fl-panel-tabs button:hover{border-color:var(--fl-green);color:var(--fl-green-dk);}
.fl-panel-tabs button.fl-on{background:var(--fl-green);border-color:var(--fl-green);color:#fff;}
.fl-panel h3{margin:0 0 12px;}
.fl-sym{background:var(--fl-tint2);border-radius:var(--fl-r-card);padding:15px 18px;margin-bottom:16px;}
.fl-sym .fl-mono{color:var(--fl-muted);display:block;margin-bottom:9px;}
.fl-parts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
.fl-parts>*{min-width:0;}
.fl-part{border:1px solid var(--fl-line);border-radius:var(--fl-r-card);padding:14px;background:var(--fl-soft);}
.fl-part b{display:block;font-size:14.5px;margin-bottom:5px;}
.fl-part .fl-p{font-family:var(--fl-h);font-size:20px;font-weight:800;margin-bottom:10px;}
.fl-panel-cta{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fl-panel-cta>*{min-width:0;}
.fl-fails{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px;}
.fl-fails>*{min-width:0;}
.fl-fail{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:19px 20px;background:var(--fl-tint2);border-radius:var(--fl-r-card);color:var(--fl-ink);
  transition:.18s;
}
.fl-fail:hover{background:#E4EDFC;color:var(--fl-ink);transform:translateY(-2px);}
.fl-fail span b{font-weight:800;}
.fl-fail svg{width:20px;height:20px;color:var(--fl-green-dk);flex:0 0 auto;}

/* ── 14. Контакти й статичні сторінки ──────────────────────── */
.fl-cols{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start;}
.fl-cols>*{min-width:0;}
.fl-box{background:var(--fl-soft);border:1px solid var(--fl-line);border-radius:var(--fl-r-card);padding:24px;box-shadow:var(--fl-shadow);}
.fl-contacts{list-style:none;margin:0;padding:0;display:grid;gap:16px;}
.fl-contacts li{display:flex;gap:13px;align-items:flex-start;}
.fl-contacts svg{width:22px;height:22px;color:var(--fl-green-dk);flex:0 0 auto;margin-top:2px;}
.fl-contacts .fl-mono{display:block;color:var(--fl-muted);font-size:10.5px;margin-bottom:3px;}
.fl-contacts b,.fl-contacts a{font-size:16.5px;font-weight:700;color:var(--fl-ink);}
.fl-contacts a:hover{color:var(--fl-green-dk);}
.fl-form{display:grid;gap:14px;}
.fl-form label{display:block;}
.fl-form .fl-lab{
  display:block;margin-bottom:6px;font-family:var(--fl-m);font-size:10.5px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fl-muted);
}
.fl-form input,.fl-form textarea,.fl-form select{
  width:100%;padding:12px 14px;border:2px solid var(--fl-line);border-radius:var(--fl-r-sm);
  background:var(--fl-page);font-size:15px;font-family:var(--fl-b);color:var(--fl-ink);
  line-height:1.35;
}
/* у select текст обрізався: прибираємо системний вигляд і даємо власну стрілку */
.fl-form select,
.woocommerce form .form-row select{
  -webkit-appearance:none;appearance:none;
  height:auto;min-height:48px;
  padding-right:40px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2364788F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
}
.fl-form input:focus,.fl-form textarea:focus,.fl-form select:focus{border-color:var(--fl-green);outline:none;}
.fl-form textarea{min-height:130px;resize:vertical;}
.fl-hp{position:absolute!important;left:-9999px!important;}
.fl-note{
  padding:14px 17px;border-radius:var(--fl-r-card);background:var(--fl-green-lt);
  color:#1B6D2A;font-size:14.5px;border:1px solid #BFE7C6;
}
.fl-page{max-width:840px;margin-inline:auto;}
/* заголовок сторінки має стояти в одній колонці з текстом */
.page .entry-header{max-width:840px;}

/* шапка сторінки «Про нас»: лого зліва, текст справа, на всю ширину */
.fl-wide .entry-header{max-width:var(--fl-max);}
/* сторінка «Про нас»: усе в одній центрованій колонці,
   шапка спокійна — тонована, без різкої білої плити й тіні */
/* заголовок рівно по краю блока: 1040 + бічні відступи контейнера */
.fl-wide .entry-header{max-width:calc(1040px + 2 * var(--fl-gut));}
.fl-wide .fl-page{max-width:1040px;}
.fl-wide .fl-page > *:not(.fl-about){max-width:840px;margin-inline:auto;}
.fl-about{
  display:grid;grid-template-columns:minmax(170px,236px) 1fr;
  gap:clamp(24px,3vw,44px);align-items:center;
  margin:0 auto 40px;padding:clamp(24px,3vw,40px);
  background:var(--fl-tint2);
  border:1px solid var(--fl-line);
  border-radius:var(--fl-r-island);
  box-shadow:none;
}
.fl-about>*{min-width:0;}
.fl-about-logo{display:flex;align-items:center;justify-content:center;}
.fl-about-logo img{width:100%;height:auto;max-width:236px;display:block;}
.fl-about-text p{
  margin:0;font-size:clamp(16.5px,1.55vw,20px);line-height:1.62;
  color:var(--fl-ink);max-width:46ch;
}
.fl-page .entry-content{font-size:16.5px;line-height:1.75;}
.fl-page h2{margin:30px 0 12px;}
.fl-page table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px;}
.fl-page table th,.fl-page table td{border:1px solid var(--fl-line);padding:11px 14px;text-align:left;}
.fl-page table th{background:var(--fl-tint);font-family:var(--fl-m);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fl-muted);}

/* ── 15. Футер ─────────────────────────────────────────────── */
.fl-foot{
  position:relative;margin-top:clamp(44px,6vw,80px);
  background:var(--fl-navy-soft);color:#B9CBE0;
}
.fl-foot-in{max-width:var(--fl-max);margin-inline:auto;padding:clamp(34px,4.5vw,54px) var(--fl-gut) 0;}
.fl-foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px;}
.fl-foot-top>*{min-width:0;}
.fl-foot-logo img{height:104px;width:auto;display:block;margin:0 0 20px;}
.fl-socials{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;}
.fl-soc{
  width:42px;height:42px;display:grid;place-items:center;
  border:1px solid rgba(150,190,240,.22);border-radius:12px;
  color:#C6D6E8;transition:.16s;
}
.fl-soc .fl-i{width:21px;height:21px;}
.fl-soc:hover{color:#fff;border-color:transparent;transform:translateY(-2px);}
.fl-soc-ig:hover{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF);}
.fl-soc-tg:hover{background:#229ED9;}
.fl-soc-ch:hover{background:#2EA83C;}
.fl-soc-vb:hover{background:#7360F2;}
/* іконка без адреси: у дизайні є, але не клікається */
.fl-soc-off{cursor:default;opacity:.5;}
.fl-soc-off:hover{background:transparent;color:#C6D6E8;border-color:rgba(150,190,240,.22);transform:none;}
.fl-foot-top>.fl-foot-logo{display:flex;flex-direction:column;align-items:flex-start;}
.fl-foot-about{font-family:var(--fl-m);font-size:12px;line-height:1.85;letter-spacing:.02em;color:#95AAC2;max-width:min(42ch,100%);}
.fl-foot h4{
  font-family:var(--fl-m)!important;font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#7F94AD;margin:0 0 14px;
}
.fl-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.fl-foot ul a{
  font-family:var(--fl-m);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:#C6D6E8;
}
.fl-foot ul a:hover{color:var(--fl-neon);}
.fl-foot-contact{display:grid;gap:9px;font-family:var(--fl-m);font-size:11.5px;letter-spacing:.06em;color:#C6D6E8;}
.fl-foot-contact a{color:#C6D6E8;}
.fl-foot-contact a:hover{color:var(--fl-neon);}
.fl-foot-bot{
  margin-top:34px;padding:18px 0 24px;border-top:1px solid rgba(150,190,240,.16);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  font-family:var(--fl-m);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#7F94AD;
}
.fl-pays{display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:100%;}
.fl-pays span{
  padding:5px 10px;border:1px solid rgba(150,190,240,.22);border-radius:6px;
  font-size:10px;letter-spacing:.06em;color:#95AAC2;
}

/* ── плаваючий віджет зв'язку ──────────────────────────────── */
.fl-dock{
  position:fixed;right:18px;bottom:18px;z-index:80;
  display:flex;flex-direction:column;align-items:flex-end;gap:10px;
  max-width:calc(100vw - 24px);
}
.fl-fab{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 20px;border:0!important;border-radius:999px!important;
  background:var(--fl-green)!important;color:#fff!important;
  font-family:var(--fl-m);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 10px 30px rgba(20,110,40,.34);cursor:pointer;transition:.18s;
  min-height:52px;
}
.fl-fab:hover{background:var(--fl-green-dk)!important;transform:translateY(-2px);}
.fl-fab .fl-i{width:20px;height:20px;}
.fl-fab-open{display:inline-flex;align-items:center;gap:9px;}
.fl-fab-close{display:none;}
.fl-fab-close svg{width:20px;height:20px;}
.fl-dock.fl-open .fl-fab{padding:15px;}
.fl-dock.fl-open .fl-fab-open{display:none;}
.fl-dock.fl-open .fl-fab-close{display:inline-flex;}

.fl-up{
  width:42px;height:42px;flex:0 0 auto;
  display:grid;place-items:center;padding:0!important;
  border:1px solid var(--fl-line)!important;border-radius:50%!important;
  background:var(--fl-card)!important;color:var(--fl-ink)!important;
  box-shadow:var(--fl-shadow)!important;cursor:pointer;transition:.16s;
}
.fl-up svg{width:18px;height:18px;}
.fl-up:hover{border-color:var(--fl-green)!important;color:var(--fl-green-dk)!important;}
.fl-up[hidden]{display:none;}

.fl-chat{
  width:min(92vw,356px);
  background:var(--fl-card);border:1px solid var(--fl-line);
  border-radius:18px;box-shadow:0 24px 70px rgba(12,28,50,.26);
  overflow:hidden;animation:fl-pop .18s ease-out;
  max-height:min(78vh,640px);display:flex;flex-direction:column;
}
.fl-chat[hidden]{display:none;}
@keyframes fl-pop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}

.fl-chat-top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:18px 18px 16px;
  background:linear-gradient(150deg,var(--fl-navy) 0%,var(--fl-navy-dp) 100%);
  color:#fff;
}
.fl-chat-eyebrow{
  display:block;font-family:var(--fl-m);font-size:10.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fl-neon);margin-bottom:6px;
}
.fl-chat-top h3{margin:0;font-size:19px;color:#fff;}
.fl-chat-x{
  flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;padding:0!important;
  border:1px solid rgba(255,255,255,.22)!important;border-radius:9px!important;
  background:transparent!important;color:#C6D6E8!important;cursor:pointer;transition:.16s;
}
.fl-chat-x svg{width:15px;height:15px;}
.fl-chat-x:hover{background:rgba(255,255,255,.1)!important;color:#fff!important;}

.fl-chat-body{padding:16px 18px;overflow-y:auto;flex:1 1 auto;}
.fl-chat-lead{margin:0 0 14px;font-size:14px;color:var(--fl-muted);line-height:1.55;}
.fl-chat-form{display:grid;gap:11px;}
.fl-chat-form label{display:block;}
.fl-chat-form input,.fl-chat-form textarea{
  width:100%;padding:11px 13px;border:2px solid var(--fl-line);border-radius:var(--fl-r-sm);
  background:var(--fl-page);font-size:15px;font-family:var(--fl-b);color:var(--fl-ink);
}
.fl-chat-form input:focus,.fl-chat-form textarea:focus{border-color:var(--fl-green);outline:none;}
.fl-chat-form textarea{resize:vertical;min-height:76px;}
.fl-chat-form .fl-btn{width:100%;}
.fl-chat-fine{margin:0;font-size:11.5px;color:var(--fl-muted);line-height:1.5;}
.fl-chat-msg{
  padding:10px 13px;border-radius:var(--fl-r-sm);font-size:13.5px;line-height:1.5;
  background:var(--fl-green-lt);color:#1B6D2A;border:1px solid #BFE7C6;
}
.fl-chat-msg[hidden]{display:none;}
.fl-chat-msg.fl-bad{background:var(--fl-coral-lt);border-color:#F3C8C7;color:#8C1F22;}

.fl-chat-foot{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--fl-line);border-top:1px solid var(--fl-line);
}
.fl-chat-act{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:13px 6px;background:var(--fl-card);color:var(--fl-ink);
  font-size:11.5px;font-weight:700;text-align:center;transition:.16s;
}
.fl-chat-act .fl-i{width:20px;height:20px;color:var(--fl-muted);transition:.16s;}
.fl-chat-act:hover{background:var(--fl-tint2);color:var(--fl-green-dk);}
.fl-chat-act:hover .fl-i{color:var(--fl-green-dk);}
.fl-chat-viber:hover{color:#7360F2;}
.fl-chat-viber:hover .fl-i{color:#7360F2;}
.fl-chat-tg:hover{color:#229ED9;}
.fl-chat-tg:hover .fl-i{color:#229ED9;}

/* ── 16. Утиліти й анімації ────────────────────────────────── */
.fl-rev{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease;}
.fl-rev.fl-in{opacity:1;transform:none;}
.fl-hide{display:none!important;}
.fl-only-m{display:none;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
@media (prefers-reduced-motion:reduce){
  .fl-rev{opacity:1;transform:none;transition:none;}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}

/* ── 17. Мобільна версія ───────────────────────────────────── */
@media (max-width:1240px){
  /* поки меню ще горизонтальне, але місця обмаль — дві колонки */
  .fl-mega{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:1080px){
  .woocommerce ul.products.fl-products,
  .ast-container .woocommerce ul.products.fl-products{grid-template-columns:repeat(2,1fr)!important;}
  .fl-usp{grid-template-columns:repeat(2,1fr);}
  .fl-mats{grid-template-columns:repeat(2,1fr);}
  .fl-steps{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:1120px){
  .fl-nav{
    position:fixed;top:66px;left:0;right:0;bottom:0;z-index:59;
    height:calc(100dvh - 66px);
    display:block;background:var(--fl-page);overflow-y:auto;
    overscroll-behavior:contain;
    padding:16px var(--fl-gut) 44px;
    transform:translateX(-100%);transition:transform .24s;
  }
  .fl-nav.fl-open-nav{transform:none;}
  .fl-nav>ul{display:block;}
  .fl-nav>ul>li>a{padding:14px 2px;font-size:16px;border-bottom:1px solid var(--fl-line);}
  .fl-nav>ul>li.fl-on>a{border-bottom-color:var(--fl-green);}
  .fl-mega{
    position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;
    min-width:0;width:auto;display:none;grid-template-columns:1fr;
    box-shadow:none;border:0;border-bottom:1px solid var(--fl-line);
    border-radius:0;padding:8px 0 14px;background:transparent;
  }
  .fl-has.fl-open>.fl-mega{display:grid;grid-template-columns:1fr;transform:none;gap:14px;width:auto;}
  .fl-mega-col>a.fl-mega-h{font-size:15px;padding-bottom:7px;margin-bottom:5px;}
  .fl-mega-col ul a{padding:9px 10px;font-size:15px;}
  .fl-mega-note{font-size:10.5px;line-height:1.7;}
  .fl-burger{display:flex;}
  .fl-lang-head{display:none;}
  .fl-lang-mob{display:block;margin-top:18px;}
  .fl-hero{grid-template-columns:1fr;}
  .fl-hero-art{order:-1;aspect-ratio:16/11;}
  .fl-schema{grid-template-columns:1fr;}
  .fl-cta-island{grid-template-columns:1fr;}
  .fl-shop{grid-template-columns:1fr;}
  .fl-side{position:static;display:none;}
  .fl-side.fl-open-side{display:block;margin-bottom:18px;}
  .fl-filters-btn{display:inline-flex;}
  .fl-cols{grid-template-columns:1fr;}
  .fl-authgrid{grid-template-columns:1fr;}
  .fl-foot-top{grid-template-columns:1fr 1fr;}
  .fl-fails{grid-template-columns:1fr;}
  .fl-posts{grid-template-columns:repeat(2,1fr);}
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{width:100%;float:none;margin-bottom:20px;}
}
@media (max-width:760px){
  :root{--fl-gut:16px;}
  .fl-about{grid-template-columns:1fr;text-align:center;gap:18px;padding:24px 18px;margin-bottom:28px;}
  .fl-about-logo img{max-width:190px;margin-inline:auto;}
  .fl-about-text p{font-size:16.5px;max-width:none;}
  .fl-swatch-color{width:44px;height:44px;}
  /* мікро-мітки на малому екрані трохи більші — інакше нечитабельно */
  .fl-crumbs{font-size:12px;}
  .fl-compat{font-size:12px;}
  .fl-trust-row span,.fl-hero-stats span,.fl-post-meta{font-size:11.5px;}
  .fl-foot-bot{font-size:11.5px;}
  .fl-pays span{font-size:11px;}
  .fl-mega-note{font-size:11.5px;}
  .fl-side h4,.fl-foot h4{font-size:12px;}
  /* цілі натискання не менші за 44px */
  .fl-ico{min-height:44px;min-width:44px;justify-content:center;}
  .fl-burger{height:44px;}
  .fl-chip{min-height:42px;}
  .fl-side-tags a{min-height:38px;display:inline-flex;align-items:center;}
  .fl-head-in{padding:10px var(--fl-gut);gap:10px;}
  .fl-logo{margin-right:auto;}
  .fl-head-act{gap:2px;}
  .fl-logo img{height:34px;}
  .fl-ico span{display:none;}
  .fl-ico{padding:9px;}
  .fl-nav{top:56px;height:calc(100dvh - 56px);}
  ul.products,.woocommerce ul.products,
  .woocommerce ul.products.fl-products,
  .ast-container .woocommerce ul.products.fl-products{grid-template-columns:repeat(2,1fr)!important;gap:12px!important;}
  .fl-cats{grid-template-columns:1fr;}
  .fl-posts{grid-template-columns:1fr;}
  .fl-parts{grid-template-columns:1fr;}
  .fl-panel-cta{grid-template-columns:1fr;}
  .fl-hero-stats{grid-template-columns:1fr 1fr;gap:16px;}
  .fl-only-m{display:block;}
  .fl-no-m{display:none!important;}
  .woocommerce div.product form.cart{gap:9px;}
  .woocommerce div.product form.cart .button{flex:1 1 auto;}
  .fl-foot-bot{flex-direction:column;align-items:flex-start;}
  .fl-dock{right:12px;bottom:12px;gap:8px;}
  .fl-fab{padding:12px 16px;font-size:11px;min-height:48px;}
  .fl-chat{width:calc(100vw - 24px);max-height:74vh;}
  .woocommerce table.shop_table_responsive tr td{text-align:right;}
}
@media (max-width:480px){
  .fl-foot-top{grid-template-columns:1fr;gap:24px;}
  .fl-foot-logo img{height:88px;}
  ul.products li.product .price{font-size:18px;}
  .fl-usp{grid-template-columns:1fr;}
  .fl-mats{grid-template-columns:1fr;}
  .fl-steps{grid-template-columns:1fr;}
  .fl-hero h1{font-size:clamp(28px,8.6vw,38px);}
}
