/* Продсервіс — спільний шар для всіх сторінок: список запиту, статус технологів,
   перехід між сторінками, reduced motion, типографіка, фокус, друк. Логіка — assets/site.js. */
:root {
  --ps-blue: #0762A7; --ps-blue-d: #054A80; --ps-green: #1ECB80; --ps-green-d: #0E7A4B;
  --ps-ink: #2C2C2C; --ps-sub: #4A4F53; --ps-muted: #62676B; --ps-bg: #EEF5F7; --ps-card: #F4F8FA;
  --ps-line: rgba(44,44,44,.08); --ps-ease: cubic-bezier(.2,.7,.2,1); --ps-spring: cubic-bezier(.34,1.56,.64,1);
  --ps-ring: var(--ps-blue);   /* колір кільця фокуса; на темному тлі site.js міняє на білий */
}

/* ─── Шрифт Onest — зі свого хостингу (assets/fonts, ліцензія OFL) ───────────
   Раніше — Google Fonts: окреме з’єднання з двома доменами й перемигування шрифту.
   Кирилицю й латиницю <head> сторінок вантажить заздалегідь (rel=preload), тож текст
   одразу малюється потрібним шрифтом. Файли змінною товщиною 200–600, одна на набір символів. */
@font-face { font-family: "Onest"; font-style: normal; font-weight: 200 600; font-display: swap; src: url("fonts/onest-cyrillic-ext-v11.woff2") format("woff2"); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Onest"; font-style: normal; font-weight: 200 600; font-display: swap; src: url("fonts/onest-cyrillic-v11.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Onest"; font-style: normal; font-weight: 200 600; font-display: swap; src: url("fonts/onest-latin-ext-v11.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Onest"; font-style: normal; font-weight: 200 600; font-display: swap; src: url("fonts/onest-latin-v11.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ─── Основа ─────────────────────────────────────────────────────────────────
   Сайт лише світлий: темна тема системи не має фарбувати поля форм і смуги прокрутки. */
:root { color-scheme: light; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
body { font-kerning: normal; }
:where(input, textarea, select) { accent-color: var(--ps-blue); caret-color: var(--ps-blue); }
input[data-dark] { caret-color: var(--ps-green); }

/* ─── Типографіка ────────────────────────────────────────────────────────────
   Нерозривні пробіли (прийменники, числа з одиницями, тире) ставить site.js. */
:where(p, li, blockquote, dd, figcaption) { hanging-punctuation: first allow-end; }   /* «лапка» на початку абзацу виноситься на поле (Safari) */
.ps-article :where(p, li), .ps-legal :where(p, li) { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 8 4 3; }
@media (max-width: 559px) { main :where(p, li) { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 8 4 3; } }   /* лише довгі слова: коротші не переносяться */
:where(a) { text-decoration-thickness: from-font; text-decoration-skip-ink: auto; }
.ps-article a, .ps-legal a { text-decoration-thickness: 1px; text-decoration-color: rgba(7,98,167,.35); transition: text-decoration-color .25s; }
.ps-article a:hover, .ps-legal a:hover { text-decoration-color: currentColor; }

/* ─── Фокус з клавіатури ─────────────────────────────────────────────────────
   Одне кільце на весь сайт. У полів форм у шаблонах outline:none, тож кільце ставить site.js
   атрибутом data-ps-ring: полю з рамкою — на саме поле, полю без рамки (телефон у «пилюлі»,
   пошук каталогу) — на «пилюлю» навколо нього. У панелі запиту — своє підсвічування рамкою. */
:focus-visible { outline: 2px solid var(--ps-ring); outline-offset: 3px; }
:focus:not(:focus-visible) { outline: none; }
[data-ps-ring] { outline: 2px solid var(--ps-ring) !important; outline-offset: 2px !important; }
[data-ps-ring="self"] { outline-offset: 1px !important; }

/* «Перейти до змісту» — перший Tab на сторінці */
.ps-skip {
  position: fixed; left: 16px; top: 16px; z-index: 110; padding: 12px 18px; border-radius: 999px;
  background: var(--ps-ink); color: #FFFFFF !important; font: 600 14px/1 "Onest", system-ui, sans-serif; text-decoration: none;
  transform: translateY(calc(-100% - 24px)); transition: transform .3s var(--ps-ease);
}
.ps-skip:focus { transform: none; outline-color: var(--ps-green); }
[tabindex="-1"]:focus { outline: none; }   /* куди перенесла «Перейти до змісту» — без рамки навколо заголовка */

/* озвучення для програм читання з екрана: змін статусу, лічильника запиту, копіювання */
.ps-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* ─── Прокрутка ──────────────────────────────────────────────────────────────
   Таблиці й стрічки фішок гортаються вбік самі по собі: доїхали до краю — сторінка не смикається
   і не спрацьовує жест «назад» у браузері. */
.ps-tbl, [style*="overflow-x:auto"] { overscroll-behavior-x: contain; }
#ps-mnav, #ps-mnav * { overscroll-behavior: contain; }

/* ─── Тост: «Номер скопійовано» ──────────────────────────────────────────── */
.ps-toast {
  position: fixed; left: 50%; bottom: calc(92px + env(safe-area-inset-bottom)); z-index: 70;
  display: flex; align-items: center; gap: 10px; max-width: calc(100% - 32px); padding: 12px 18px 12px 14px; border-radius: 999px;
  background: var(--ps-ink); color: #FFFFFF; font: 500 14px/1.3 "Onest", system-ui, sans-serif; letter-spacing: .005em;
  box-shadow: 0 18px 40px -18px rgba(4,39,71,.6);
  opacity: 0; transform: translate(-50%, 12px) scale(.96); pointer-events: none;
  transition: opacity .25s, transform .45s var(--ps-spring);
}
.ps-toast[data-on] { opacity: 1; transform: translate(-50%, 0); }
.ps-toast i { display: grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--ps-green); color: #0B3B26; }
.ps-toast svg { width: 12px; height: 12px; }
.ps-toast b { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ─── Кнопка відправки: «надсилаємо» → подяка, без стрибка ширини ────────── */
[data-ps-busy] { position: relative; color: transparent !important; pointer-events: none; }
[data-ps-busy] > * { visibility: hidden; }
[data-ps-busy]::after {
  content: ""; position: absolute; inset: 0; width: 18px; height: 18px; margin: auto; border-radius: 50%;
  border: 2px solid rgba(255,255,255,.35); border-top-color: #FFFFFF; animation: ps-spin .7s linear infinite;
}
@keyframes ps-spin { to { transform: rotate(1turn); } }

/* ─── Стаття: прогрес читання і поточний розділ у змісті ─────────────────── */
.ps-progress {
  position: fixed; left: 0; top: 0; z-index: 30; width: 100%; height: 3px; pointer-events: none;
  background: linear-gradient(90deg, var(--ps-green), var(--ps-blue));
  transform: scaleX(var(--p, 0)); transform-origin: 0 50%;
  opacity: 0; transition: opacity .3s;
}
.ps-progress[data-on] { opacity: 1; }
.ps-toc a[href^="#"] { position: relative; padding-left: 14px; transition: color .25s; }
.ps-toc a[href^="#"]::before { content: ""; position: absolute; left: 0; top: .15em; bottom: .15em; width: 2px; border-radius: 2px; background: rgba(44,44,44,.1); transition: background .3s, transform .3s var(--ps-ease); }
.ps-toc a[aria-current]::before { background: var(--ps-green); }
.ps-toc a[aria-current] { color: var(--ps-ink) !important; }

/* ─── Порожній результат: ілюстрація над текстом ─────────────────────────── */
.ps-empty-art { display: grid; place-items: center; width: 88px; height: 88px; border-radius: 50%; background: #FFFFFF; color: var(--ps-blue); box-shadow: 0 16px 32px -20px rgba(7,58,102,.45); }
.ps-empty-art svg { width: 40px; height: 40px; overflow: visible; }
.ps-empty-art .ps-bub { animation: ps-bub 2.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.ps-empty-art .ps-bub:nth-of-type(2) { animation-delay: -1.3s; }
@keyframes ps-bub { 0%, 100% { transform: translateY(0); opacity: .9; } 50% { transform: translateY(-3px); opacity: .5; } }

/* ─── 404: «Можливо, ви шукали» ──────────────────────────────────────────── */
.ps-guess[hidden] { display: none; }
.ps-guess { display: flex; flex-direction: column; align-items: center; gap: 10px; animation: ps-fade .5s var(--ps-ease) both; }
.ps-guess > span { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ps-blue); }
.ps-guess ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 760px; margin: 0; padding: 0; }
.ps-guess a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 5px 16px 5px 5px; border-radius: 999px; background: #FFFFFF; border: 1px solid rgba(7,98,167,.14); color: var(--ps-ink); font-size: 14px; font-weight: 500; line-height: 1.3; text-align: left; transition: border-color .25s, transform .35s var(--ps-ease), color .25s; }
.ps-guess a:hover { border-color: rgba(7,98,167,.4); color: var(--ps-blue); transform: translateY(-2px); }
.ps-guess img, .ps-guess i { flex: none; width: 34px; height: 34px; border-radius: 50%; object-fit: contain; background: var(--ps-card); }
.ps-guess i { display: grid; place-items: center; font-style: normal; color: var(--ps-blue); }
.ps-guess i svg { width: 16px; height: 16px; }

/* ─── Кнопка «+ до запиту» на картці ─────────────────────────────────────── */
[data-req-add][data-req-mini] {
  position: absolute; right: 12px; top: 12px; z-index: 2;
  display: flex; align-items: center; height: 36px; min-width: 36px; padding: 0; border-radius: 999px;
  background: rgba(255,255,255,.92); border: 1px solid rgba(7,98,167,.14); color: var(--ps-blue);
  font: 600 13px/1 "Onest", system-ui, sans-serif; white-space: nowrap; overflow: hidden; cursor: pointer;
  box-shadow: 0 8px 20px -14px rgba(7,58,102,.5);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: background .3s, color .3s, border-color .3s, transform .35s var(--ps-ease), box-shadow .3s;
}
[data-req-add][data-req-mini] > span { display: flex; align-items: center; height: 100%; }   /* без gap: інакше в згорнутому стані 42×36 — овал, а не коло */
[data-req-add][data-req-mini] .ps-ic { flex: none; display: grid; place-items: center; width: 34px; height: 34px; }
[data-req-add][data-req-mini] .ps-ic svg { width: 16px; height: 16px; transition: transform .45s var(--ps-spring); }
[data-req-add][data-req-mini] .ps-tx { max-width: 0; opacity: 0; padding-right: 0; transition: max-width .45s var(--ps-ease), opacity .25s, padding .45s var(--ps-ease); }
[data-req-add][data-req-mini] .ps-l-in { display: none; }
/* розкривається в пилюлю, коли наводиш на картку або на саму кнопку */
a:hover [data-req-add][data-req-mini] .ps-tx,
[data-req-add][data-req-mini]:focus-visible .ps-tx { max-width: 120px; opacity: 1; padding-right: 14px; }
[data-req-add][data-req-mini]:hover { background: var(--ps-blue); color: #FFFFFF; border-color: var(--ps-blue); }
[data-req-add][data-req-mini]:active { transform: scale(.94); }
[data-req-add][data-req-mini][data-in] { background: var(--ps-green); border-color: var(--ps-green); color: #0B3B26; }
[data-req-add][data-req-mini][data-in] .ps-l-add { display: none; }
[data-req-add][data-req-mini][data-in] .ps-l-in { display: flex; }
[data-req-add][data-req-mini][data-in]:hover { background: #FFFFFF; border-color: rgba(44,44,44,.14); color: var(--ps-ink); }
@media (hover: none) { a:hover [data-req-add][data-req-mini] .ps-tx { max-width: 0; opacity: 0; padding-right: 0; } }

/* велика кнопка на сторінці продукту */
[data-req-add][data-req-cta] {
  position: relative; display: flex; align-items: center; height: 50px; padding: 0 24px; border: 0; border-radius: 999px;
  background: var(--ps-blue); color: #FFFFFF; font: 600 15px/1 "Onest", system-ui, sans-serif; cursor: pointer;
  transition: background .3s, color .3s, transform .3s var(--ps-ease);
}
[data-req-add][data-req-cta]:hover { background: var(--ps-blue-d); transform: translateY(-1px); }
[data-req-add][data-req-cta]:active { transform: scale(.97); }
[data-req-add][data-req-cta] > span { display: flex; align-items: center; gap: 8px; }
[data-req-add][data-req-cta] .ps-l-in { display: none; }
[data-req-add][data-req-cta][data-in] { background: var(--ps-green); color: #0B3B26; }
[data-req-add][data-req-cta][data-in] .ps-l-add { display: none; }
[data-req-add][data-req-cta][data-in] .ps-l-in { display: flex; }
[data-req-add] svg { width: 16px; height: 16px; flex: none; }
[data-req-add][data-bump] { animation: ps-bump .5s var(--ps-spring); }

/* ─── Док «Запит» ────────────────────────────────────────────────────────── */
.ps-dock {
  position: fixed; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 40;
  display: flex; align-items: center; gap: 10px; height: 56px; padding: 0 8px 0 10px; border-radius: 999px;
  border: 1px solid rgba(7,98,167,.1); background: rgba(255,255,255,.86); color: var(--ps-ink);
  -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%);
  box-shadow: 0 24px 48px -24px rgba(7,58,102,.45), 0 2px 6px rgba(7,58,102,.06);
  font: 500 15px/1 "Onest", system-ui, sans-serif; cursor: pointer;
  opacity: 0; transform: translateY(24px) scale(.92); pointer-events: none;
  transition: opacity .35s, transform .55s var(--ps-spring), box-shadow .3s;
}
.ps-dock[data-on] { opacity: 1; transform: none; pointer-events: auto; }
.ps-dock:hover { box-shadow: 0 28px 56px -24px rgba(7,58,102,.55), 0 2px 6px rgba(7,58,102,.08); }
.ps-dock:focus-visible { outline: 2px solid var(--ps-blue); outline-offset: 3px; }
.ps-dock[data-bump] { animation: ps-bump .5s var(--ps-spring); }
@keyframes ps-bump { 30% { transform: scale(1.07); } }
.ps-dock-th { display: flex; }
.ps-dock-th span { width: 36px; height: 36px; margin-left: -12px; border-radius: 50%; border: 2px solid #FFFFFF; background: #FFFFFF center/78% no-repeat; box-shadow: 0 2px 6px rgba(7,58,102,.12); }
.ps-dock-th span:first-child { margin-left: 0; }
.ps-dock-lb { padding-left: 2px; letter-spacing: -0.005em; }
.ps-dock-n { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; background: var(--ps-blue); color: #FFFFFF; font-weight: 600; font-variant-numeric: tabular-nums; overflow: hidden; }
.ps-dock-n b { display: block; font-weight: 600; }
.ps-dock-n b[data-roll] { animation: ps-roll .45s var(--ps-ease); }
@keyframes ps-roll { from { transform: translateY(110%); opacity: 0; } }
@media (max-width: 759px) {
  .ps-dock { right: auto; left: 50%; bottom: calc(14px + env(safe-area-inset-bottom)); translate: -50% 0; }
}

/* літаюча пилюля — від кнопки до дока */
.ps-fly { position: fixed; left: 0; top: 0; z-index: 45; pointer-events: none; }
.ps-fly > span { display: block; width: 64px; height: 36px; border-radius: 999px; background: #FFFFFF center/70% no-repeat; box-shadow: 0 14px 30px -12px rgba(7,58,102,.55), 0 0 0 1px rgba(7,98,167,.12); }

/* ─── Панель запиту ──────────────────────────────────────────────────────── */
.ps-scrim { position: fixed; inset: 0; z-index: 59; background: rgba(4,39,71,.28); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; pointer-events: none; transition: opacity .4s; }
.ps-scrim[data-on] { opacity: 1; pointer-events: auto; }
.ps-panel {
  position: fixed; z-index: 60; top: 12px; right: 12px; bottom: 12px; width: min(440px, calc(100vw - 24px));
  display: flex; flex-direction: column; border-radius: 28px; background: #FFFFFF; color: var(--ps-ink);
  box-shadow: 0 40px 80px -30px rgba(7,58,102,.5); font: 400 15px/1.5 "Onest", system-ui, sans-serif;
  transform: translateX(calc(100% + 24px)); visibility: hidden;
  transition: transform .6s var(--ps-ease), visibility 0s .6s;
}
.ps-panel[data-on] { transform: none; visibility: visible; transition: transform .6s var(--ps-ease), visibility 0s; }
.ps-panel * { box-sizing: border-box; }
@media (max-width: 759px) {
  .ps-panel { top: auto; left: 0; right: 0; bottom: 0; width: 100%; max-height: 88vh; max-height: 88dvh; border-radius: 28px 28px 0 0; padding-bottom: env(safe-area-inset-bottom); transform: translateY(100%); }
  .ps-panel[data-drag] { transition: none; }
}
.ps-grip { display: none; }
@media (max-width: 759px) { .ps-grip { display: block; flex: none; height: 22px; touch-action: none; cursor: grab; } .ps-grip::before { content: ""; display: block; width: 44px; height: 5px; margin: 9px auto 0; border-radius: 3px; background: rgba(44,44,44,.16); } }
.ps-hd { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 22px 22px 14px; }
@media (max-width: 759px) { .ps-hd { padding-top: 6px; } }
.ps-hd h2 { margin: 0; font-size: 24px; line-height: 1.1; font-weight: 500; letter-spacing: -0.03em; }
.ps-hd h2 small { margin-left: 8px; font-size: 15px; font-weight: 500; color: var(--ps-muted); letter-spacing: 0; }
.ps-x { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--ps-card); color: var(--ps-ink); cursor: pointer; transition: background .25s, transform .35s var(--ps-ease); }
.ps-x:hover { background: #E3EDF2; transform: rotate(90deg); }
.ps-x svg { width: 16px; height: 16px; }
.ps-body { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 0 14px; }
.ps-list { list-style: none; margin: 0; padding: 0; }
.ps-it { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .4s var(--ps-ease), opacity .3s; }
.ps-it[data-out] { grid-template-rows: 0fr; opacity: 0; }
.ps-it > div { overflow: hidden; min-height: 0; }
.ps-row { display: grid; grid-template-columns: 60px minmax(0,1fr) 36px; gap: 12px; align-items: start; padding: 10px 8px; border-radius: 18px; transition: background .25s; }
.ps-row:hover { background: var(--ps-card); }
.ps-it[data-new] .ps-row { animation: ps-new 1.2s var(--ps-ease); }
@keyframes ps-new { from { background: rgba(30,203,128,.16); } }
.ps-th { width: 60px; height: 60px; border-radius: 16px; background: var(--ps-card) center/76% no-repeat; background-blend-mode: multiply; }
.ps-nm { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ps-nm b { font-size: 15px; font-weight: 500; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ps-nm i { font-style: normal; font-size: 12px; color: var(--ps-muted); }
.ps-qty { margin-top: 8px; width: 100%; height: 34px; padding: 0 12px; border: 1px solid rgba(44,44,44,.1); border-radius: 999px; background: #FFFFFF; font: 400 13px/1 "Onest", system-ui, sans-serif; color: var(--ps-ink); outline: 0; transition: border-color .25s, box-shadow .25s; }
.ps-qty::placeholder { color: #8A97A1; }
.ps-qty:focus { border-color: var(--ps-blue); box-shadow: 0 0 0 3px rgba(7,98,167,.12); }
.ps-rm { display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: var(--ps-muted); cursor: pointer; transition: background .25s, color .25s; }
.ps-rm:hover { background: #FFFFFF; color: #B3261E; }
.ps-rm svg { width: 14px; height: 14px; }
.ps-empty { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 48px 20px; text-align: center; color: var(--ps-muted); }
.ps-empty-ic { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--ps-card); color: var(--ps-blue); }
.ps-empty-ic svg { width: 28px; height: 28px; }
.ps-empty b { font-size: 18px; font-weight: 500; color: var(--ps-ink); letter-spacing: -0.01em; }
.ps-empty a { display: inline-flex; align-items: center; height: 44px; padding: 0 20px; border-radius: 999px; background: var(--ps-blue); color: #FFFFFF; font-weight: 600; text-decoration: none; transition: background .25s; }
.ps-empty a:hover { background: var(--ps-blue-d); color: #FFFFFF; }
.ps-ft { flex: none; display: flex; flex-direction: column; gap: 10px; padding: 14px 18px 18px; border-top: 1px solid var(--ps-line); }
.ps-undo { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 10px 10px 16px; border-radius: 16px; background: var(--ps-ink); color: #FFFFFF; font-size: 14px; animation: ps-up .35s var(--ps-ease); }
.ps-undo button { height: 32px; padding: 0 14px; border: 0; border-radius: 999px; background: rgba(255,255,255,.14); color: #FFFFFF; font: 600 13px/1 "Onest", system-ui, sans-serif; cursor: pointer; }
.ps-undo button:hover { background: rgba(255,255,255,.24); }
@keyframes ps-up { from { transform: translateY(8px); opacity: 0; } }
.ps-cm-t { align-self: flex-start; padding: 0; border: 0; background: none; color: var(--ps-blue); font: 500 14px/1.4 "Onest", system-ui, sans-serif; cursor: pointer; }
.ps-cm { width: 100%; min-height: 72px; padding: 12px 16px; border: 1px solid rgba(44,44,44,.1); border-radius: 18px; font: 400 14px/1.5 "Onest", system-ui, sans-serif; color: var(--ps-ink); resize: vertical; outline: 0; }
.ps-cm:focus { border-color: var(--ps-blue); box-shadow: 0 0 0 3px rgba(7,98,167,.12); }
.ps-form { display: flex; gap: 6px; padding: 6px; border: 1px solid rgba(7,98,167,.14); border-radius: 999px; background: #FFFFFF; box-shadow: 0 12px 30px -18px rgba(7,98,167,.45); transition: border-color .25s; }
.ps-form:focus-within { border-color: rgba(7,98,167,.4); }
.ps-form[data-shake] { animation: ps-shake .45s; border-color: #D0473E; }
@keyframes ps-shake { 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
.ps-form input { flex: 1; min-width: 0; height: 46px; padding: 0 14px; border: 0; outline: 0; background: transparent; font: 400 15px/1 "Onest", system-ui, sans-serif; font-variant-numeric: tabular-nums; letter-spacing: .01em; color: var(--ps-ink); }
.ps-form input::placeholder { color: #7A8C99; }
.ps-form button { flex: none; height: 46px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--ps-blue); color: #FFFFFF; font: 600 15px/1 "Onest", system-ui, sans-serif; white-space: nowrap; cursor: pointer; transition: background .25s, transform .3s var(--ps-ease); }
.ps-form button:hover { background: var(--ps-blue-d); }
.ps-form button:active { transform: scale(.97); }
.ps-form button:disabled { opacity: .5; cursor: default; }

/* успіх */
.ps-ok { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 40px 24px 24px; text-align: center; }
.ps-ok svg { width: 84px; height: 84px; }
.ps-ok circle { fill: none; stroke: var(--ps-green); stroke-width: 3; stroke-dasharray: 227; stroke-dashoffset: 227; animation: ps-draw .7s var(--ps-ease) forwards; }
.ps-ok path { fill: none; stroke: var(--ps-green); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 50; stroke-dashoffset: 50; animation: ps-draw .45s .55s var(--ps-ease) forwards; }
@keyframes ps-draw { to { stroke-dashoffset: 0; } }
.ps-ok h3 { margin: 6px 0 0; font-size: 26px; line-height: 1.1; font-weight: 500; letter-spacing: -0.03em; }
.ps-ok p { margin: 0; max-width: 32ch; color: var(--ps-sub); }
.ps-ok code { padding: 4px 10px; border-radius: 999px; background: var(--ps-card); font: 500 13px/1.4 "Onest", system-ui, sans-serif; color: var(--ps-blue); letter-spacing: .02em; }
.ps-ok ul { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.ps-ok li { padding: 6px 12px; border-radius: 999px; background: var(--ps-card); font-size: 13px; }
.ps-ok .ps-again { margin-top: 8px; height: 46px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--ps-blue); color: #FFFFFF; font: 600 15px/1 "Onest", system-ui, sans-serif; cursor: pointer; }
.ps-ok .ps-again:hover { background: var(--ps-blue-d); }

/* ─── Статус технологів ──────────────────────────────────────────────────── */
[data-ps="status"] { display: flex; justify-content: center; }
[data-ps="status"]:empty { display: none; }   /* порожній не займає місця й не додає gap у колонці */
[data-ps="status"][data-align="start"] { justify-content: flex-start; }
.ps-st { display: inline-flex; align-items: center; gap: 8px; font: 500 13px/1.4 "Onest", system-ui, sans-serif; color: var(--ps-muted); letter-spacing: .005em; animation: ps-fade .5s var(--ps-ease); }
[data-tone="dark"] .ps-st { color: rgba(255,255,255,.78); }
.ps-st[data-state="sent"] { color: var(--ps-green-d); }
[data-tone="dark"] .ps-st[data-state="sent"] { color: #7CF0BE; }
.ps-st[data-state="sent"] svg { width: 14px; height: 14px; }
@keyframes ps-fade { from { opacity: 0; transform: translateY(4px); } }

/* ─── Перехід між сторінками: аркуш із заокругленням, як другий екран ──────
   Знак вшитий у CSS (data URI): на новій сторінці він є з першого кадру, а не
   «вспливає» після завантаження картинки. Знак їде разом з аркушем: заїжджає
   знизу, виїжджає вгору. Обидві половини — ease-in-out: рушають із місця
   плавно, без ривка. */
:root { --ps-mark: url("data:image/png;base64,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"); --ps-sheet-ease: cubic-bezier(.65,0,.35,1); }
/* Аркуш на 40 px вищий за екран: заокруглення завжди є, але сховане за краєм, і анімується
   лише transform. Анімувати border-radius не можна — він перемальовує аркуш щокадру, і знак
   на ньому смикається на піксель. */
html { scrollbar-gutter: stable; }   /* поки нова сторінка порожня, смуги прокрутки немає — без цього знак стрибав убік */
html.ps-enter::after, .ps-leave {
  content: ""; position: fixed; left: 0; right: 0; height: calc(100% + 40px); z-index: 100; pointer-events: none;
  background: #FFFFFF var(--ps-mark) no-repeat; background-size: 40px auto;
  will-change: transform; backface-visibility: hidden;
}
html.ps-enter::after { top: 0; border-radius: 0 0 40px 40px; background-position: center calc(50% - 20px); }
html.ps-enter.ps-enter-out::after { transform: translateY(-100%); transition: transform .6s var(--ps-sheet-ease); }
.ps-leave { top: -40px; border-radius: 40px 40px 0 0; background-position: center calc(50% + 20px); transform: translateY(100%); transition: transform .4s var(--ps-sheet-ease); }
.ps-leave[data-go] { transform: none; }
/* глибина: стара сторінка трохи відступає вгору під аркушем, нова виїжджає з-під нього.
   Зсуваємо дітей main, а не сам main, і не чіпаємо фіксований фон (свічення + зерно на внутрішніх
   сторінках): translate на main робить його рамкою для position:fixed — фон розтягувався з висоти
   екрана на висоту всієї сторінки, і свічення зникало на старті переходу, а після нього
   вискакувало одним кадром (кольоровий ривок). */
/* transition — з !important: у секцій свій inline transition (hero: «background .5s, color .5s»), він перебивав
   наш, і заголовок з описом стрибали на 48 px одним кадром ще до аркуша. background і color лишаємо, як були. */
html.ps-leaving main > :not([style*="position: fixed"], [style*="position:fixed"]) { translate: 0 -48px; transition: translate .4s var(--ps-sheet-ease), background .5s, color .5s !important; }   /* без opacity: прозорість усього main із блюрами перемальовує сторінку й дає пропуски кадрів */
html.ps-enter main > :not([style*="position: fixed"], [style*="position:fixed"]) { translate: 0 64px; }
html.ps-enter.ps-enter-out main > :not([style*="position: fixed"], [style*="position:fixed"]) { translate: 0 0; transition: translate .6s var(--ps-sheet-ease), background .5s, color .5s !important; }

/* ─── Squircle: форма іконок macOS ────────────────────────────────────────────
   Не border-radius, а «неперервні» кути, як в іконок macOS: радіус 22,5 % сторони,
   згладжування 60 % (алгоритм corner smoothing, як у Figma). Контур вшитий у CSS
   (data URI): без зайвого запиту й без кадру з квадратною картинкою. Працює для
   будь-якого розміру; на елементі — атрибут data-squircle, тінь — обгортка data-squircle-shadow. */
:root { --ps-squircle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M64 0c12.6 0 18.9 0 23.71 2.45a22.5 22.5 0 0 1 9.83 9.83c2.45 4.81 2.45 11.11 2.45 23.71L100 64c0 12.6 0 18.9-2.45 23.71a22.5 22.5 0 0 1-9.83 9.83c-4.81 2.45-11.11 2.45-23.71 2.45L36 100c-12.6 0-18.9 0-23.71-2.45a22.5 22.5 0 0 1-9.83-9.83c-2.45-4.81-2.45-11.11-2.45-23.71L0 36c0-12.6 0-18.9 2.45-23.71a22.5 22.5 0 0 1 9.83-9.83c4.81-2.45 11.11-2.45 23.71-2.45Z'/%3E%3C/svg%3E"); }
[data-squircle] {
  -webkit-mask: var(--ps-squircle) center / 100% 100% no-repeat;
          mask: var(--ps-squircle) center / 100% 100% no-repeat;
}
/* Тінь, як в іконок macOS: чіткий край знизу + м’яке світіння. Маска обрізала б тінь самої
   картинки, тому тінь — на обгортці: drop-shadow іде по контуру squircle, а не по квадрату. */
[data-squircle-shadow] { display: flex; flex: none; filter: drop-shadow(0 1px 1px rgba(7,58,102,.12)) drop-shadow(0 3px 6px rgba(7,58,102,.1)); }

/* ─── Англійська версія: «статтю є лише українською» (прийшли з української статті) ─── */
.ps-note {
  position: fixed; left: 50%; top: 84px; z-index: 19; transform: translateX(-50%);
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; width: max-content; max-width: min(calc(100% - 24px), 640px);
  padding: 10px 8px 10px 18px; border-radius: 18px; background: #FFFFFF; border: 1px solid rgba(7,98,167,.14);
  box-shadow: 0 18px 40px -22px rgba(7,58,102,.55); font: 500 14px/1.4 "Onest", system-ui, sans-serif; color: var(--ps-ink);
  animation: ps-fade .4s var(--ps-ease) both;
}
.ps-note a { color: var(--ps-blue); font-weight: 600; }
.ps-note button { display: grid; place-items: center; width: 32px; height: 32px; margin-left: auto; border: 0; border-radius: 50%; background: transparent; color: var(--ps-muted); cursor: pointer; }
.ps-note button:hover { background: var(--ps-bg); color: var(--ps-ink); }
.ps-note svg { width: 14px; height: 14px; }

/* ─── Пошук по сайту (site.js §6): вікно під шапкою; на телефоні — на весь екран ─── */
.ps-s-scrim { z-index: 69; }
.ps-search {
  position: fixed; z-index: 70; top: 12vh; left: 50%; width: min(680px, calc(100vw - 32px)); max-height: 76vh;
  display: flex; flex-direction: column; overflow: hidden; border-radius: 28px; background: #FFFFFF; color: var(--ps-ink);
  box-shadow: 0 40px 80px -30px rgba(7,58,102,.5), 0 0 0 1px rgba(7,98,167,.06); font: 400 15px/1.45 "Onest", system-ui, sans-serif;
  opacity: 0; visibility: hidden; transform: translate(-50%, -12px) scale(.98);
  transition: opacity .25s, transform .35s var(--ps-ease), visibility 0s .35s;
}
.ps-search[data-on] { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition: opacity .25s, transform .35s var(--ps-ease), visibility 0s; }
.ps-search * { box-sizing: border-box; }
.ps-s-bar { flex: none; display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 22px; border-bottom: 1px solid var(--ps-line); }
.ps-s-bar > svg { flex: none; width: 22px; height: 22px; color: var(--ps-blue); }
.ps-s-bar input { flex: 1; min-width: 0; height: 48px; border: 0; outline: 0; background: none; font: 400 19px/1.2 "Onest", system-ui, sans-serif; color: var(--ps-ink); letter-spacing: -0.01em; }
.ps-s-bar input::placeholder { color: #8A9095; }
.ps-s-bar input::-webkit-search-cancel-button { display: none; }
.ps-s-list { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 6px 10px 14px; }
.ps-s-h { padding: 14px 12px 6px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ps-blue); }
.ps-s-list a[role="option"] { display: flex; align-items: center; gap: 14px; min-height: 48px; padding: 8px 12px; border-radius: 14px; color: var(--ps-ink); text-decoration: none; }
.ps-s-list a[aria-selected="true"] { background: var(--ps-card); }
.ps-s-th { flex: none; width: 44px; height: 44px; border-radius: 12px; background: #EAF1F5 center/78% no-repeat; }
.ps-s-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ps-s-t { font-weight: 500; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ps-s-sub { font-size: 13px; color: var(--ps-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ps-s-all .ps-s-t { color: var(--ps-blue); font-weight: 600; }
.ps-s-go { flex: none; color: var(--ps-blue); font-weight: 600; }
.ps-s-empty { display: flex; flex-direction: column; gap: 6px; padding: 28px 12px; color: var(--ps-sub); }
.ps-s-empty b { font-size: 17px; font-weight: 500; color: var(--ps-ink); }
.ps-s-empty a { color: var(--ps-blue); font-weight: 600; }
@media (max-width: 759px) {
  .ps-search { top: 0; left: 0; width: 100%; height: 100%; height: 100dvh; max-height: none; border-radius: 0; padding-top: env(safe-area-inset-top); transform: translateY(-16px); }
  .ps-search[data-on] { transform: none; }
  .ps-s-bar { padding-left: 18px; }
  .ps-s-bar input { font-size: 17px; }   /* ≥ 16px: iOS не збільшує сторінку під час набору */
  .ps-s-list { padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
}

/* ─── Друк ───────────────────────────────────────────────────────────────────
   Картку продукту технологи друкують: лишаємо назву, склад, дозування, опис і таблиці, а шапку,
   форми, док запиту й фон прибираємо. Угорі аркуша — шапка .ps-print (site.js): контакти й адреса сторінки. */
.ps-print { display: none; }
@media print {
  @page { margin: 14mm 14mm 16mm; }
  html, body { background: #FFFFFF !important; }
  header, footer, form, video, iframe, [data-ps="status"], [data-req-add], [data-no-print],
  .ps-dock, .ps-panel, .ps-scrim, .ps-search, .ps-note, .ps-skip, .ps-toast, .ps-progress, .ps-leave, .ps-fly,
  main > [style*="position:fixed"], main > [style*="position: fixed"], #help, #help2, a[href$="#help"], a[href$="#help2"] { display: none !important; }
  [data-hero] { position: static !important; min-height: 0 !important; padding-top: 0 !important; padding-bottom: 8mm !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; box-shadow: none !important; text-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  [data-reveal], [data-fade], [data-fade] h1 > *, [data-hero-in] > *, [data-open-panel] { opacity: 1 !important; transform: none !important; translate: none !important; filter: none !important; }
  [data-cover], [data-open-card] { clip-path: none !important; }
  [data-cover] { margin-top: 0 !important; }   /* на екрані аркуш заходить на перший екран і ховає його низ */
  .ps-toc { display: none !important; }
  [data-px], [data-expand] { transform: none !important; }
  html.ps-enter::after { display: none !important; }
  h1, h2, h3, h4 { break-after: avoid; }
  img, figure, table, blockquote, tr { break-inside: avoid; }
  p, li { orphans: 3; widows: 3; }
  .ps-article a[href^="http"]::after, .ps-legal a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; color: var(--ps-muted); word-break: break-all; }
  .ps-print {
    display: flex !important; justify-content: space-between; align-items: flex-end; gap: 12px 24px; flex-wrap: wrap;
    margin: 0 0 8mm; padding-bottom: 4mm; border-bottom: 1px solid #D5DEE3;
    font: 400 10pt/1.4 "Onest", system-ui, sans-serif; color: var(--ps-sub);
  }
  .ps-print b { display: block; font-size: 14pt; font-weight: 600; letter-spacing: -0.02em; color: var(--ps-blue); }
  .ps-print span:last-child { margin-left: auto; text-align: right; word-break: break-all; }
}

/* ─── Менше руху, якщо так налаштовано в системі ─────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  html { scroll-behavior: auto !important; }
  [data-hero-in] > *, [data-fade], [data-fade] h1 > *, [data-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; }
  [data-px], [data-expand] { transform: none !important; }
  [data-cover] { clip-path: none !important; }
  [data-open-card] { clip-path: none !important; }
  [data-open-card] img { scale: none !important; }
  [data-open-panel] { opacity: 1 !important; translate: none !important; }
  [style*="pm-l"], [style*="pm-r"] { animation: none !important; }
  html.ps-enter::after { display: none; }
}

/* ─── Футер на телефоні ───────────────────────────────────────────────────
   Інлайн-стилі шаблонів розкладають футер у рядок (десктоп). На вузькому екрані —
   стовпчик: логотип → телефон і пошта → документи сіткою 2×2 → реквізити й © разом унизу. */
@media (max-width: 759px) {
  .ps-ft { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 16px !important; justify-items: start; padding-top: 32px !important; padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important; }
  .ps-ft > * { grid-column: 1 / -1; }
  .ps-ft > img { margin-bottom: 16px; }
  .ps-ft-c { display: contents !important; }
  .ps-ft-c > a { grid-column: 1 / -1; padding: 5px 0; font-size: 16px; }
  .ps-ft-legal { justify-self: stretch; display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px 16px !important; margin-top: 20px; padding-top: 20px !important; font-size: 14px !important; line-height: 1.35; }
  .ps-ft-legal > a { padding: 2px 0; }
  .ps-ft-req { grid-column: 1 / -1; margin: 10px 0 0 !important; padding-top: 16px; border-top: 1px solid rgba(44,44,44,.08); }
  .ps-ft > img + .ps-ft-copy + .ps-ft-legal { margin-top: 4px; } /* головна: без телефону й пошти під логотипом */
  .ps-ft-copy { grid-column: 1 / -1; order: 1; margin-top: 4px; font-size: 13px; }
}

/* ─── Стаття блогу: відео й підписи під фото (додає адмінка /admin) ───────── */
.ps-article video { display: block; width: 100%; height: auto; border-radius: 20px; background: #042747; }
.ps-article .ps-embed { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 20px; background: #042747; }
.ps-article .ps-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ps-article figure { display: flex; flex-direction: column; gap: 10px; }
.ps-article figcaption { font-size: 14px; line-height: 1.45; color: var(--ps-muted); }

/* ═══ Перемикач мови [data-langs]: кнопка-глобус (<details>) і випадний список UKR · EN · RU ═══
   Шапка (short) — список під кнопкою; мобільне меню (long) — над кнопкою, щоб меню його не обрізало.
   Поточна мова — aria-current (ставить tools/i18n/build.mjs); адреси й закриття кліком поза списком / Esc — site.js. */
[data-langs] > summary { list-style: none; cursor: pointer; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; }
[data-langs] > summary::-webkit-details-marker { display: none; }
[data-langs] > summary:focus-visible { outline: 2px solid #0762A7; outline-offset: 2px; border-radius: 999px; }
[data-langs-list] { position: absolute; z-index: 5; display: flex; flex-direction: column; gap: 2px; min-width: 116px; padding: 6px; border-radius: 18px; background: #fff; box-shadow: 0 14px 36px rgba(4, 39, 71, .16), 0 0 0 1px rgba(4, 39, 71, .06); animation: ps-langs-in .18s ease-out; }
[data-langs="short"] [data-langs-list] { top: calc(100% + 6px); right: -6px; }
[data-langs="long"] [data-langs-list] { bottom: calc(100% + 8px); left: 50%; translate: -50% 0; }
[data-langs-list] a[data-lang] { display: flex; align-items: center; justify-content: space-between; gap: 14px; height: 40px; padding: 0 12px 0 14px; border-radius: 12px; color: #2C2C2C; font-size: 14px; font-weight: 600; letter-spacing: .06em; text-decoration: none; transition: background-color .2s, color .2s; }
[data-langs="long"] [data-langs-list] a[data-lang] { height: 46px; font-size: 15px; }
[data-langs-list] a[data-lang]:hover, [data-langs-list] a[data-lang]:focus-visible { background: #F4F8FA; color: #0762A7; outline: none; }
[data-langs-list] a[data-lang][aria-current] { color: #0762A7; }
[data-langs-list] a[data-lang][aria-current]::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
@keyframes ps-langs-in { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { [data-langs-list] { animation: none; } }
