/* Komponenty „premium minimal” dla stron BEZ Tailwinda w tresci (konto, raporty, sklepy,
   kolekcje, multikoszyk, pomoc, backstage...). Tokeny i krój: fx-base.css (ladowany przed
   tym arkuszem). Wspolny naglowek i stopka serwisu zostaja na Tailwindzie (styles.css),
   dlatego tresc strony siedzi w <main class="fx-ui"> i wszystkie reguly sa pod tym zakresem
   albo maja prefiks fx-.

   Reguly sa POZA warstwami — bija preflight i utility Tailwinda (te siedza w @layer).
   Resety idą przez :where() (specyficznosc 0), wiec nie przebijaja klas komponentow.

   Pulapki z input.css, ktore dotycza czystego markupu:
   * ponizej 640 px `section { padding-top/bottom: 1.5rem !important }` — dlatego ponizej
     zerujemy padding <section> w tresci, a odstepy sekcji ida marginesem (.fx-sec);
   * preflight zeruje listy, naglowki i przyciski — .fx-prose przywraca typografie tekstu. */

/* ---------- resety tresci ---------- */
:where(.fx-ui) a { color: inherit; text-decoration: none; }
:where(.fx-ui) :where(button, input, select, textarea) { font: inherit; color: inherit; }
:where(.fx-ui) :where(h1, h2, h3, h4, h5, h6) { margin: 0; font-family: var(--fx-font); color: inherit; font-weight: 700; letter-spacing: -0.02em; }
:where(.fx-ui) :where(p) { margin: 0; }
:where(.fx-ui) img { max-width: 100%; }
.fx-ui .hidden { display: none !important; }
@media (max-width: 640px) {
  .fx-ui section { padding-top: 0 !important; padding-bottom: 0 !important; }
}

.fx-ui { flex: 1 0 auto; display: block; width: 100%; color: var(--fx-fg); font-family: var(--fx-font); }
.fx-shell { display: flex; flex-direction: column; min-height: 100vh; }

/* ---------- szerokosci ---------- */
.fx-wrap-md { max-width: calc(1200px + 2 * var(--fx-gutter)); margin: 0 auto; padding: 0 var(--fx-gutter); }
.fx-wrap-sm { max-width: calc(820px + 2 * var(--fx-gutter)); margin: 0 auto; padding: 0 var(--fx-gutter); }
.fx-wrap-xs { max-width: calc(460px + 2 * var(--fx-gutter)); margin: 0 auto; padding: 0 var(--fx-gutter); }

/* ---------- naglowek strony ---------- */
.fx-head { padding: 48px 0 36px; }
.fx-head-center { text-align: center; }
.fx-eyebrow { display: block; margin-bottom: 12px; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--fx-muted); }
.fx-title { font-size: 44px; line-height: 1.08; font-weight: 700; letter-spacing: -0.035em; overflow-wrap: anywhere; }
.fx-title-sm { font-size: 32px; line-height: 1.12; letter-spacing: -0.03em; }
.fx-lead { margin-top: 14px; max-width: 62ch; font-size: 17px; line-height: 1.6; color: var(--fx-ink-2); }
.fx-head-center .fx-lead { margin-left: auto; margin-right: auto; }
.fx-meta { margin-top: 12px; font-size: 14px; color: var(--fx-muted); }
.fx-head-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; }

/* okruszki */
.fx-ui .fx-crumbs { margin-bottom: 14px; font-size: 13px; color: var(--fx-muted); overflow-x: auto; scrollbar-width: none; }
.fx-ui .fx-crumbs::-webkit-scrollbar { display: none; }
.fx-ui .fx-crumbs ol { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; white-space: nowrap; }
.fx-ui .fx-crumbs li { display: flex; align-items: center; }
.fx-ui .fx-crumbs li + li::before { content: "/"; margin: 0 10px; color: var(--fx-line-strong); }
.fx-ui .fx-crumbs a:hover { color: var(--fx-fg); }

/* ---------- sekcje i naglowki tresci ---------- */
.fx-ui .fx-sec { margin-top: 64px; }
.fx-ui .fx-sec-sm { margin-top: 40px; }
.fx-sec-line { padding-top: 48px; border-top: 1px solid var(--fx-line); }
.fx-h2 { font-size: 28px; line-height: 1.15; font-weight: 700; letter-spacing: -0.03em; }
.fx-h3 { font-size: 19px; line-height: 1.3; font-weight: 650; letter-spacing: -0.015em; }
.fx-h4 { font-size: 15px; line-height: 1.4; font-weight: 650; letter-spacing: 0; }
.fx-sec-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 24px; margin-bottom: 24px; }
.fx-sec-head p { margin-top: 8px; color: var(--fx-muted); font-size: 15px; }

/* ---------- tekst ---------- */
.fx-muted { color: var(--fx-muted); }
.fx-ink-2 { color: var(--fx-ink-2); }
.fx-small { font-size: 13px; }
.fx-xs { font-size: 12px; }
.fx-strong { font-weight: 650; }
.fx-save-text { color: var(--fx-save); }
.fx-err-text { color: var(--fx-err); }
.fx-accent-text { color: var(--fr-accent, var(--color-accent, #9b062c)); }
.fx-nowrap { white-space: nowrap; }
.fx-center { text-align: center; }
.fx-right { text-align: right; }
.fx-num { font-variant-numeric: tabular-nums; }
.fx-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.fx-ui .fx-link { color: var(--fx-fg); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.fx-ui .fx-link:hover { color: var(--fr-accent, var(--color-accent, #9b062c)); }
.fx-ui .fx-link-accent { color: var(--fr-accent, var(--color-accent, #9b062c)); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.fx-ui .fx-link-muted { color: var(--fx-muted); text-decoration: underline; text-underline-offset: 3px; }
.fx-ui .fx-link-muted:hover { color: var(--fx-fg); }

/* dluzszy tekst (polityka, o serwisie, wpisy, teksty SEO) */
.fx-prose { max-width: 72ch; font-size: 16px; line-height: 1.72; color: var(--fx-ink-2); }
.fx-prose > * + * { margin-top: 1.1em; }
.fx-prose :is(h2, h3, h4) { color: var(--fx-fg); }
.fx-prose h2 { margin-top: 2.2em; font-size: 26px; line-height: 1.2; letter-spacing: -0.025em; }
.fx-prose h3 { margin-top: 1.8em; font-size: 19px; line-height: 1.3; letter-spacing: -0.015em; }
.fx-prose h4 { margin-top: 1.5em; font-size: 16px; letter-spacing: 0; }
.fx-prose :is(h2, h3, h4) + * { margin-top: .6em; }
.fx-prose ul, .fx-prose ol { padding-left: 1.3em; }
.fx-prose ul { list-style: disc; }
.fx-prose ol { list-style: decimal; }
.fx-prose li + li { margin-top: .4em; }
.fx-prose li::marker { color: var(--fx-muted); }
.fx-prose a { color: var(--fx-fg); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.fx-prose a:hover { color: var(--fr-accent, var(--color-accent, #9b062c)); }
.fx-prose strong, .fx-prose b { color: var(--fx-fg); font-weight: 650; }
.fx-prose blockquote { margin-left: 0; padding-left: 20px; border-left: 2px solid var(--fx-line-strong); color: var(--fx-ink-2); }
.fx-prose code { padding: 1px 6px; border-radius: 6px; background: var(--fx-soft); font-size: .9em; }
.fx-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.fx-prose th, .fx-prose td { padding: 10px 12px; border-bottom: 1px solid var(--fx-line); text-align: left; vertical-align: top; }
.fx-prose th { color: var(--fx-fg); font-weight: 650; }
.fx-prose img { border-radius: 12px; }
.fx-prose hr { border: 0; border-top: 1px solid var(--fx-line); margin: 2.2em 0; }
.fx-prose-wide { max-width: none; }

/* ---------- uklad ---------- */
.fx-stack > * + * { margin-top: 16px; }
.fx-stack-sm > * + * { margin-top: 8px; }
.fx-stack-lg > * + * { margin-top: 28px; }
.fx-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.fx-row-sm { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.fx-row-nowrap { display: flex; align-items: center; gap: 12px; min-width: 0; }
.fx-between { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; }
.fx-grow { flex: 1 1 auto; min-width: 0; }
.fx-cols-2, .fx-cols-3, .fx-cols-4 { display: grid; gap: 24px; }
.fx-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fx-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fx-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fx-cols-auto { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.fx-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.fx-aside-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; align-items: start; }
.fx-sticky { position: sticky; top: 96px; }
.fx-ui .fx-mt-0 { margin-top: 0 !important; }
.fx-ui .fx-mt-xs { margin-top: 6px; }
.fx-ui .fx-mt-sm { margin-top: 12px; }
.fx-ui .fx-mt { margin-top: 20px; }
.fx-ui .fx-mt-lg { margin-top: 32px; }
.fx-ui .fx-mt-xl { margin-top: 48px; }
.fx-ui .fx-mb { margin-bottom: 20px; }
.fx-ui .fx-w-full { width: 100%; }

/* ---------- karty ---------- */
.fx-card { padding: 32px; border: 1px solid var(--fx-line); border-radius: 16px; background: var(--fx-bg); }
.fx-card-sm { padding: 20px; border-radius: 12px; }
.fx-card-soft { border-color: transparent; background: var(--fx-soft); }
.fx-card-link { display: block; transition: border-color .15s; }
.fx-card-link:hover { border-color: var(--fx-fg); }
.fx-card-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 18px; }
.fx-card-foot { margin: 24px -32px -32px; padding: 18px 32px; border-top: 1px solid var(--fx-line); border-radius: 0 0 16px 16px; background: var(--fx-soft); font-size: 14px; color: var(--fx-ink-2); }
.fx-divider { height: 0; margin: 24px 0; border: 0; border-top: 1px solid var(--fx-line); }
.fx-or { display: flex; align-items: center; gap: 14px; margin: 24px 0; font-size: 13px; color: var(--fx-muted); }
.fx-or::before, .fx-or::after { content: ""; flex: 1; border-top: 1px solid var(--fx-line); }

/* lista z liniami */
.fx-list { margin: 0; padding: 0; list-style: none; }
.fx-list > li { padding: 16px 0; border-bottom: 1px solid var(--fx-line); }
.fx-list > li:first-child { border-top: 1px solid var(--fx-line); }
.fx-list-plain > li:first-child { border-top: 0; padding-top: 0; }
.fx-list-plain > li:last-child { border-bottom: 0; padding-bottom: 0; }
.fx-bullets { margin: 0; padding: 0; list-style: none; }
.fx-bullets > li { position: relative; padding-left: 22px; }
.fx-bullets > li + li { margin-top: 10px; }
.fx-bullets > li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--fx-fg); }
.fx-bullets-check > li::before { top: .35em; left: 0; width: 14px; height: 14px; background: var(--fx-save) var(--fx-check) center / 10px no-repeat; }

/* ikona w kolku (cechy, korzysci) */
.fx-ico { display: inline-grid; flex: none; place-items: center; width: 40px; height: 40px; border-radius: 999px; background: var(--fx-soft); color: var(--fx-fg); font-size: 15px; }
.fx-ico-sm { width: 32px; height: 32px; font-size: 13px; }
.fx-ico-lg { width: 56px; height: 56px; font-size: 20px; }
.fx-ico-save { background: var(--fx-save-bg); color: var(--fx-save); }
.fx-ico-err { background: rgba(168, 32, 13, .09); color: var(--fx-err); }
.fx-ico-accent { background: rgba(155, 6, 44, .08); color: var(--fr-accent, var(--color-accent, #9b062c)); }

/* liczba + podpis */
.fx-stat { padding: 22px 24px; border: 1px solid var(--fx-line); border-radius: 14px; }
.fx-stat-label { display: block; font-size: 13px; color: var(--fx-muted); }
.fx-stat-value { display: block; margin-top: 6px; font-size: 30px; line-height: 1.1; font-weight: 600; letter-spacing: -0.03em; }
.fx-stat-note { display: block; margin-top: 6px; font-size: 13px; color: var(--fx-muted); }

/* ---------- przyciski (fx-btn i fx-btn-dark z fx-base.css) ---------- */
.fx-ui .fx-btn { color: var(--fx-fg); text-decoration: none; }
.fx-ui .fx-btn-dark { color: var(--fx-bg); }
.fx-ui .fx-btn-primary { background: var(--fr-accent-solid, var(--color-accent, #9b062c)); border-color: var(--fr-accent-solid, var(--color-accent, #9b062c)); color: var(--fr-accent-on, #fff); }
.fx-ui .fx-btn-primary:hover { background: var(--fr-accent-solid-hover, var(--color-accent-hover, #7f0525)); border-color: var(--fr-accent-solid-hover, var(--color-accent-hover, #7f0525)); }
.fx-ui .fx-btn-ghost { border-color: transparent; background: transparent; }
.fx-ui .fx-btn-ghost:hover { border-color: var(--fx-line); background: var(--fx-soft); }
.fx-ui .fx-btn-danger { color: var(--fx-err); }
.fx-ui .fx-btn-danger:hover { border-color: var(--fx-err); }
.fx-ui .fx-btn-sm { min-height: 38px; padding: 0 16px; gap: 8px; font-size: 14px; }
.fx-ui .fx-btn-xs { min-height: 30px; padding: 0 12px; gap: 6px; font-size: 13px; font-weight: 550; }
.fx-ui .fx-btn-block { display: flex; width: 100%; }
.fx-ui .fx-btn-icon { width: 40px; min-height: 40px; padding: 0; }
.fx-ui .fx-btn:disabled, .fx-ui .fx-btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.fx-ui .fx-text-btn { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; font-size: 14px; font-weight: 550; color: var(--fx-fg); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; cursor: pointer; }
.fx-ui .fx-text-btn:hover { color: var(--fr-accent, var(--color-accent, #9b062c)); }
.fx-ui .fx-text-btn-muted { color: var(--fx-muted); }
.fx-ui .fx-text-btn-danger { color: var(--fx-err); }

/* ---------- formularze ---------- */
.fx-form > * + * { margin-top: 18px; }
.fx-field { display: block; }
.fx-label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; color: var(--fx-fg); }
.fx-help { display: block; margin-top: 6px; font-size: 13px; color: var(--fx-muted); }
.fx-field-err { display: block; margin-top: 6px; font-size: 13px; color: var(--fx-err); }
.fx-ui :is(.fx-input, .fx-select, .fx-textarea) { display: block; width: 100%; min-height: 50px; padding: 0 16px; border: 1px solid var(--fx-line-strong); border-radius: 12px; background: var(--fx-bg); color: var(--fx-fg); font-size: 15px; line-height: 1.4; box-shadow: none; transition: border-color .15s; }
.fx-ui :is(.fx-input, .fx-select, .fx-textarea):hover { border-color: var(--fx-box); }
.fx-ui :is(.fx-input, .fx-select, .fx-textarea):focus { border-color: var(--fx-fg); outline: 1px solid var(--fx-fg); outline-offset: 0; }
.fx-ui :is(.fx-input, .fx-textarea)::placeholder { color: var(--fx-muted); opacity: 1; }
.fx-ui .fx-input:disabled, .fx-ui .fx-input[readonly] { background: var(--fx-soft); color: var(--fx-muted); }
.fx-ui .fx-textarea { min-height: 120px; padding: 13px 16px; resize: vertical; }
.fx-ui .fx-select { padding-right: 40px; appearance: none; -webkit-appearance: none; background: var(--fx-bg) var(--fx-chevron) right 16px center / 12px no-repeat; cursor: pointer; }
.fx-ui .fx-input-sm, .fx-ui .fx-select.fx-input-sm { min-height: 38px; padding-left: 12px; font-size: 14px; border-radius: 10px; }
.fx-ui .fx-select.fx-input-sm { padding-right: 34px; background-position: right 12px center; }
.fx-ui .fx-input-pill { border-radius: 999px; padding-left: 20px; }
.fx-input-wrap { position: relative; }
.fx-input-wrap > .fx-input-ico { position: absolute; top: 50%; left: 16px; transform: translateY(-50%); color: var(--fx-muted); font-size: 14px; pointer-events: none; }
.fx-ui .fx-input-wrap > .fx-input-ico + .fx-input { padding-left: 44px; }
.fx-input-wrap > .fx-input-btn { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); display: inline-grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 999px; background: none; color: var(--fx-muted); cursor: pointer; }
.fx-input-wrap > .fx-input-btn:hover { color: var(--fx-fg); }
.fx-ui .fx-input-wrap > .fx-input-btn ~ .fx-input, .fx-ui .fx-input-wrap > .fx-input:has(~ .fx-input-btn) { padding-right: 50px; }
.fx-ui .fx-input-err { border-color: var(--fx-err); }

/* checkbox / radio: wlasny wyglad, natywny element */
.fx-ui :is(.fx-checkbox, .fx-radio) { appearance: none; -webkit-appearance: none; flex: none; width: 18px; height: 18px; margin: 0; border: 1.5px solid var(--fx-box); background: var(--fx-bg) center / 12px no-repeat; cursor: pointer; transition: background-color .12s, border-color .12s; }
.fx-ui .fx-checkbox { border-radius: 5px; }
.fx-ui .fx-radio { border-radius: 50%; }
.fx-ui :is(.fx-checkbox, .fx-radio):hover { border-color: var(--fx-fg); }
.fx-ui .fx-checkbox:checked { border-color: var(--fx-fg); background-color: var(--fx-fg); background-image: var(--fx-check); }
.fx-ui .fx-radio:checked { border: 5px solid var(--fx-fg); }
.fx-ui :is(.fx-checkbox, .fx-radio):disabled { opacity: .45; cursor: not-allowed; }
.fx-check-row { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.45; color: var(--fx-ink-2); cursor: pointer; }
.fx-check-row > .fx-checkbox, .fx-check-row > .fx-radio { margin-top: 1px; }

/* przelacznik */
.fx-ui .fx-toggle { appearance: none; -webkit-appearance: none; position: relative; flex: none; width: 40px; height: 24px; margin: 0; border-radius: 999px; background: var(--fx-line-strong); cursor: pointer; transition: background-color .15s; }
.fx-ui .fx-toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .15s; }
.fx-ui .fx-toggle:checked { background: var(--fx-fg); }
.fx-ui .fx-toggle:checked::after { transform: translateX(16px); background: var(--fx-bg); }

/* ---------- komunikaty ---------- */
.fx-alert { display: flex; align-items: flex-start; gap: 12px; padding: 14px 18px; border: 1px solid var(--fx-line); border-radius: 12px; background: var(--fx-soft); font-size: 14px; line-height: 1.5; color: var(--fx-ink-2); }
.fx-alert > i, .fx-alert > svg { flex: none; margin-top: 3px; }
.fx-alert strong { color: var(--fx-fg); }
.fx-alert-ok { border-color: transparent; background: var(--fx-save-bg); color: var(--fx-save); }
.fx-alert-ok strong { color: inherit; }
.fx-alert-err { border-color: transparent; background: rgba(168, 32, 13, .08); color: var(--fx-err); }
.fx-alert-err strong { color: inherit; }
.fx-alert-warn { border-color: transparent; background: #fbf3e4; color: #7a4f14; }
.dark-mode .fx-alert-warn { background: rgba(232, 190, 136, .12); color: #e8be88; }
.fx-alert-warn strong { color: inherit; }

/* plakietki statusu */
.fx-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 24px; padding: 2px 10px; border-radius: 999px; background: var(--fx-soft); color: var(--fx-ink-2); font-size: 12px; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.fx-pill-ok { background: var(--fx-save-bg); color: var(--fx-save); }
.fx-pill-err { background: rgba(168, 32, 13, .09); color: var(--fx-err); }
.fx-pill-warn { background: #fbf3e4; color: #7a4f14; }
.dark-mode .fx-pill-warn { background: rgba(232, 190, 136, .12); color: #e8be88; }
.fx-pill-dark { background: var(--fx-fg); color: var(--fx-bg); }
.fx-pill-line { background: transparent; box-shadow: inset 0 0 0 1px var(--fx-line-strong); }
.fx-pill-accent { background: rgba(155, 6, 44, .08); color: var(--fr-accent, var(--color-accent, #9b062c)); }

/* chipy-linki (pigulki z ramka jak filtry /oferty) */
.fx-chiplist { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.fx-ui .fx-chip-link { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 16px; border: 1px solid var(--fx-line); border-radius: 999px; background: var(--fx-bg); color: var(--fx-ink-2); font-size: 14px; font-weight: 500; white-space: nowrap; cursor: pointer; transition: border-color .15s; }
.fx-ui .fx-chip-link:hover { border-color: var(--fx-fg); color: var(--fx-fg); }
.fx-ui .fx-chip-link.is-active, .fx-ui .fx-chip-link[aria-current="page"], .fx-ui .fx-chip-link[aria-selected="true"] { border-color: var(--fx-fg); background: var(--fx-fg); color: var(--fx-bg); }

/* zakladki (podkreslenie) */
.fx-tabs { display: flex; gap: 28px; margin-bottom: 32px; border-bottom: 1px solid var(--fx-line); overflow-x: auto; scrollbar-width: none; }
.fx-tabs::-webkit-scrollbar { display: none; }
.fx-ui .fx-tab { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 12px 0 14px; border: 0; background: none; color: var(--fx-muted); font-size: 15px; font-weight: 550; white-space: nowrap; cursor: pointer; }
.fx-ui .fx-tab:hover { color: var(--fx-fg); }
.fx-ui .fx-tab.is-active, .fx-ui .fx-tab[aria-current="page"], .fx-ui .fx-tab[aria-selected="true"] { color: var(--fx-fg); }
.fx-ui .fx-tab.is-active::after, .fx-ui .fx-tab[aria-current="page"]::after, .fx-ui .fx-tab[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--fx-fg); }

/* ---------- tabele ---------- */
.fx-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fx-table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.fx-table th { padding: 10px 14px; border-bottom: 1px solid var(--fx-line-strong); color: var(--fx-muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; text-align: left; white-space: nowrap; }
.fx-table td { padding: 14px; border-bottom: 1px solid var(--fx-line); vertical-align: middle; color: var(--fx-ink-2); }
.fx-table tbody tr:hover td { background: var(--fx-soft); }
.fx-table .fx-right, .fx-table th.fx-right { text-align: right; }
.fx-table-compact td { padding: 9px 12px; }
.fx-table-compact th { padding: 8px 12px; }
.fx-table td strong, .fx-table td b { color: var(--fx-fg); }
.fx-rank-num { display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 999px; background: var(--fx-soft); color: var(--fx-fg); font-size: 13px; font-weight: 650; }
.fx-rank-num.is-top { background: var(--fx-fg); color: var(--fx-bg); }

/* pasek proporcji w tabeli */
.fx-bar-track { position: relative; height: 6px; min-width: 80px; border-radius: 999px; background: var(--fx-soft); overflow: hidden; }
.fx-bar-fill { position: absolute; inset: 0 auto 0 0; border-radius: 999px; background: var(--fx-fg); }
.fx-bar-fill.is-save { background: var(--fx-save); }

/* ---------- obrazek produktu na scenie ---------- */
.fx-thumb { display: grid; flex: none; place-items: center; width: 64px; height: 64px; border-radius: 10px; background: var(--fx-stage); overflow: hidden; }
.fx-thumb img { width: 100%; height: 100%; padding: 8%; object-fit: contain; mix-blend-mode: multiply; }
.fx-thumb-sm { width: 44px; height: 44px; border-radius: 8px; }
.fx-thumb-lg { width: 96px; height: 96px; border-radius: 12px; }

/* ---------- okno modalne ---------- */
.fx-modal-bg { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0, 0, 0, .42); }
.fx-modal { position: relative; width: 100%; max-width: 480px; max-height: calc(100vh - 32px); overflow-y: auto; padding: 32px; border-radius: 18px; background: var(--fx-bg); color: var(--fx-fg); box-shadow: 0 30px 80px rgba(0, 0, 0, .25); }
.fx-modal-lg { max-width: 720px; }
.fx-modal-close { position: absolute; top: 14px; right: 14px; display: inline-grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 999px; background: none; color: var(--fx-muted); cursor: pointer; }
.fx-modal-close:hover { background: var(--fx-soft); color: var(--fx-fg); }
/* Pierwszy element po „x” (tytul albo wiersz ikona+tytul) nie moze wejsc pod przycisk. */
.fx-modal > .fx-modal-close + * { padding-right: 40px; }

/* ---------- pusty stan ---------- */
.fx-empty { padding: 56px 24px; border: 1px dashed var(--fx-line-strong); border-radius: 16px; text-align: center; color: var(--fx-muted); }
.fx-empty .fx-h3 { color: var(--fx-fg); }
.fx-empty > * + * { margin-top: 12px; }

/* paginacja (proste linki) */
.fx-pages { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin-top: 40px; }
.fx-ui .fx-page-link { display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px; border: 1px solid var(--fx-line); border-radius: 999px; font-size: 14px; font-weight: 550; color: var(--fx-ink-2); }
.fx-ui .fx-page-link:hover { border-color: var(--fx-fg); color: var(--fx-fg); }
.fx-ui .fx-page-link.is-active { border-color: var(--fx-fg); background: var(--fx-fg); color: var(--fx-bg); }
.fx-ui .fx-page-link.is-disabled { opacity: .4; pointer-events: none; }

/* gwiazdki ocen */
.fx-stars { display: inline-flex; gap: 2px; color: var(--fx-fg); font-size: 13px; }
.fx-stars .is-off { color: var(--fx-line-strong); }

/* ---------- tryb ciemny: pola i karty na tle strony ---------- */
.dark-mode .fx-ui :is(.fx-input, .fx-select, .fx-textarea) { background-color: transparent; }
.dark-mode .fx-ui .fx-select option { background: var(--fx-bg); color: var(--fx-fg); }

@media (max-width: 1023px) {
  .fx-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fx-aside-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .fx-sticky { position: static; }
}
@media (max-width: 900px) {
  .fx-split { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .fx-cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .fx-head { padding: 28px 0 24px; }
  .fx-title { font-size: 30px; }
  .fx-title-sm { font-size: 26px; }
  .fx-lead { font-size: 16px; }
  .fx-ui .fx-sec { margin-top: 44px; }
  .fx-sec-line { padding-top: 32px; }
  .fx-h2 { font-size: 23px; }
  .fx-h3 { font-size: 17px; }
  .fx-cols-2, .fx-cols-3 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .fx-cols-4 { gap: 12px; }
  .fx-card { padding: 22px 18px; border-radius: 14px; }
  .fx-card-foot { margin: 20px -18px -22px; padding: 14px 18px; border-radius: 0 0 14px 14px; }
  .fx-stat { padding: 16px 16px; }
  .fx-stat-value { font-size: 24px; }
  .fx-modal { padding: 26px 20px; }
  .fx-prose { font-size: 15.5px; }
  .fx-prose h2 { font-size: 22px; }
  .fx-table td { padding: 12px 10px; }
  .fx-table th { padding: 8px 10px; }
}

/* ======================================================================
   Strony konta: logowanie, rejestracja, reset hasla, potwierdzenia
   ====================================================================== */
.fx-auth { padding-top: 56px; }
.fx-auth-head { padding-top: 0; }
.fx-auth-grid { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: 72px; align-items: start; justify-content: center; }
.fx-auth-form { min-width: 0; }
.fx-auth-safe { display: flex; align-items: center; gap: 8px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--fx-line); font-size: 13px; color: var(--fx-muted); }
.fx-auth-safe i { color: var(--fx-save); }
.fx-auth-side { padding: 36px; border-radius: 18px; background: var(--fx-soft); }
.fx-auth-benefits { margin: 24px 0 0; padding: 0; list-style: none; }
.fx-auth-benefits > li { display: flex; gap: 16px; padding: 20px 0; border-top: 1px solid var(--fx-line); }
.fx-auth-benefits > li:first-child { border-top: 0; padding-top: 0; }
.fx-auth-benefits > li:last-child { padding-bottom: 0; }
.fx-auth-benefits .fx-ico { background: var(--fx-bg); }
.fx-auth-benefits p { margin-top: 6px; font-size: 14px; line-height: 1.55; color: var(--fx-ink-2); }
.fx-auth-benefits .fx-bullets { font-size: 14px; color: var(--fx-ink-2); }
.fx-auth-note { padding: 10px 14px; border-radius: 10px; background: var(--fx-bg); }
.fx-auth-note-save { color: var(--fx-save) !important; background: var(--fx-save-bg); }
.fx-auth-note-save strong { color: inherit; }
.fx-auth-demo { margin: 12px 0 0; padding: 0; list-style: none; border: 1px solid var(--fx-line); border-radius: 12px; background: var(--fx-bg); font-size: 14px; overflow: hidden; }
.fx-auth-demo > li { display: flex; align-items: center; gap: 10px; padding: 9px 14px; color: var(--fx-ink-2); }
.fx-auth-demo > li + li { border-top: 1px solid var(--fx-line); }
.fx-auth-demo > li i { width: 14px; color: var(--fx-muted); }
.fx-auth-demo-head { font-weight: 600; color: var(--fx-fg) !important; background: var(--fx-soft); }
/* pojedyncza karta potwierdzenia (wyslano link, zweryfikowano e-mail, blad) */
.fx-notice { max-width: 520px; margin: 0 auto; padding: 72px 0 0; text-align: center; }
.fx-notice .fx-ico-lg { margin-bottom: 22px; }
.fx-notice .fx-lead { margin-left: auto; margin-right: auto; }
.fx-notice-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 32px; }
@media (max-width: 900px) {
  .fx-auth-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 640px) {
  .fx-auth { padding-top: 28px; }
  .fx-auth-side { padding: 24px 18px; border-radius: 14px; }
  .fx-notice { padding-top: 40px; }
}
.fx-steps-card { text-align: left; }
.fx-steps { margin: 14px 0 0; padding: 0; list-style: none; counter-reset: fx-step; }
.fx-steps > li { position: relative; padding-left: 38px; font-size: 15px; line-height: 1.5; color: var(--fx-ink-2); counter-increment: fx-step; }
.fx-steps > li + li { margin-top: 12px; }
.fx-steps > li::before { content: counter(fx-step); position: absolute; left: 0; top: -2px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 999px; background: var(--fx-bg); color: var(--fx-fg); font-size: 13px; font-weight: 650; }
.fx-feature-list { margin: 16px 0 0; padding: 0; list-style: none; }
.fx-feature-list > li { display: flex; gap: 14px; }
.fx-feature-list > li + li { margin-top: 16px; }
.fx-feature-list .fx-ico { background: var(--fx-bg); }
.fx-feature-list p { margin-top: 2px; font-size: 14px; color: var(--fx-ink-2); }
.fx-notice-help { text-align: left; }
.fx-notice-safe { justify-content: center; }
.fx-notice-email { margin-top: 10px; font-size: 20px; font-weight: 650; word-break: break-all; }

/* ======================================================================
   Strony tresci: o serwisie, kontakt, polityka, pomoc
   ====================================================================== */
.fx-hero-text { padding-top: 72px; padding-bottom: 56px; }
.fx-title-xl { font-size: 60px; letter-spacing: -0.045em; }
.fx-features { gap: 48px; }
.fx-features .fx-ico { margin-bottom: 20px; }
.fx-features p { margin-top: 10px; font-size: 15px; line-height: 1.65; color: var(--fx-ink-2); }
.fx-audience { display: flex; flex-direction: column; padding: 40px; }
.fx-audience .fx-bullets { flex: 1 0 auto; font-size: 15px; color: var(--fx-ink-2); }
.fx-cta-block { padding: 24px 0; }
.fx-cta-block .fx-lead { margin-left: auto; margin-right: auto; }
@media (max-width: 640px) {
  .fx-hero-text { padding-top: 36px; padding-bottom: 32px; }
  .fx-title-xl { font-size: 36px; }
  .fx-features { gap: 32px; }
  .fx-audience { padding: 26px 20px; }
}
.fx-ui .fx-input-wrap > .fx-input-ico + .fx-select { padding-left: 44px; }
@media (min-width: 900px) { .fx-contact { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.fx-contact-ico { background: var(--fx-bg); }
.fx-contact-email { cursor: pointer; }
.fx-notice-top { padding-top: 0; }
.fx-updates { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--fx-line); }
.fx-update { padding: 36px 0; border-bottom: 1px solid var(--fx-line); }
.fx-update.is-pinned { margin: 0 -28px; padding: 32px 28px; border-radius: 16px; border-bottom: 0; background: var(--fx-soft); }
.fx-title-q { max-width: 26ch; }
.fx-ui .fx-q-btn { display: inline-block; margin-left: 6px; vertical-align: .15em; padding: 0; border: 0; background: none; color: var(--fx-muted); cursor: pointer; }
.fx-ui .fx-q-btn:hover { color: var(--fx-fg); }
.fx-grid-full { grid-column: 1 / -1; }
.fx-tile-name-strong { color: var(--fx-fg); font-weight: 600; }
.fx-ui .fx-rank { position: absolute; top: 14px; right: 14px; display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 999px; background: rgba(255, 255, 255, .9); color: #3d3d3a; font-size: 12px; font-weight: 600; }
.fx-ui .fx-save-amount { color: var(--fx-save); font-weight: 600; }
@media (max-width: 640px) {
  .fx-update.is-pinned { margin: 0 -12px; padding: 24px 12px; }
  .fx-ui .fx-rank { top: 8px; right: 8px; min-width: 24px; height: 24px; font-size: 11px; }
}

/* blok kodu z przyciskiem kopiowania (instrukcje dla sklepow, backstage) */
.fx-code { position: relative; }
.fx-code pre { margin: 0; padding: 18px 96px 18px 18px; border-radius: 12px; background: #141414; color: #f1f1ef; font: 12.5px/1.65 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-x: auto; }
.fx-ui .fx-code-copy { position: absolute; top: 10px; right: 10px; min-height: 30px; padding: 0 12px; border: 1px solid #3d3d3a; border-radius: 999px; background: #232323; color: #f1f1ef; font-size: 12px; font-weight: 600; cursor: pointer; }
.fx-ui .fx-code-copy:hover { border-color: #73726d; }
.fx-ui .fx-code-copy.is-done { border-color: var(--fx-save); background: var(--fx-save); color: #fff; }
.fx-doc { padding-bottom: 40px; }
.fx-doc-steps { margin: 0; padding: 0; list-style: none; counter-reset: fx-doc; }
.fx-doc-steps > li { counter-increment: fx-doc; }
.fx-doc-steps > li + li { margin-top: 16px; }
.fx-doc-steps > li > .fx-h3 { display: flex; align-items: center; gap: 12px; }
.fx-doc-steps > li > .fx-h3::before { content: counter(fx-doc); display: grid; flex: none; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: var(--fx-fg); color: var(--fx-bg); font-size: 13px; }
.fx-doc-steps > li > p { margin-top: 12px; font-size: 14px; line-height: 1.6; color: var(--fx-ink-2); }
.fx-doc-steps > li > :is(.fx-code, .fx-table) { margin-top: 16px; }
.fx-doc-table td:first-child { width: 40%; }
.fx-ui code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .92em; }
.fx-doc-foot { margin-top: 40px; font-size: 12px; text-align: center; color: var(--fx-muted); }
.fx-policy { max-width: none; }
.fx-policy-sec { padding-top: 40px; border-top: 1px solid var(--fx-line); }
.fx-policy-sec + .fx-policy-sec { margin-top: 40px; }
.fx-policy h2 { display: flex; align-items: baseline; gap: 14px; margin-top: 0; font-size: 24px; }
.fx-policy-num { flex: none; min-width: 1.6em; color: var(--fx-muted); font-variant-numeric: tabular-nums; font-weight: 600; }
.fx-policy-body { margin-top: 16px; padding-left: calc(1.6em + 14px); }
.fx-policy-body > * + * { margin-top: 1em; }
.fx-policy-box { padding: 22px 24px; border-radius: 14px; background: var(--fx-soft); }
.fx-policy-box > * + * { margin-top: .9em; }
.fx-policy-box h3 { margin-top: 0; }
@media (max-width: 640px) {
  .fx-policy-body { padding-left: 0; }
  .fx-policy h2 { font-size: 20px; }
  .fx-policy-sec { padding-top: 28px; }
  .fx-policy-sec + .fx-policy-sec { margin-top: 28px; }
}

/* ======================================================================
   Raporty (/raporty, rankingi, profile sklepow)
   ====================================================================== */
.fx-report-crumbs { margin: 28px 0 0; }
.fx-crumb-current { color: var(--fx-ink-2); font-weight: 550; overflow: hidden; text-overflow: ellipsis; }
.fx-report-head { padding-top: 20px; }
.fx-report-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 36px 0 0; border-top: 1px solid var(--fx-line); border-bottom: 1px solid var(--fx-line); }
.fx-report-stats > div { padding: 18px 20px 18px 0; }
.fx-report-stats > div + div { padding-left: 20px; border-left: 1px solid var(--fx-line); }
.fx-report-stats dt { font-size: 13px; color: var(--fx-muted); }
.fx-report-stats dd { margin: 6px 0 0; font-size: 26px; line-height: 1.15; font-weight: 600; letter-spacing: -0.025em; color: var(--fx-fg); overflow-wrap: anywhere; }
.fx-report-table .fx-col-rank { width: 56px; }
.fx-report-name { font-weight: 550; color: var(--fx-fg); overflow-wrap: anywhere; }
.fx-store-logo { display: grid; flex: none; place-items: center; width: 34px; height: 34px; padding: 4px; border: 1px solid var(--fx-line); border-radius: 8px; background: #fff; overflow: hidden; }
.fx-store-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.fx-store-logo span { font-size: 12px; font-weight: 600; color: #73726d; }
.fx-badge-select { width: auto; max-width: 320px; }
.fx-badge-code { display: block; margin-top: 14px; padding: 12px 14px; border-radius: 10px; background: var(--fx-soft); color: var(--fx-muted); font-size: 12px; white-space: nowrap; overflow-x: auto; }
.fx-method { gap: 24px 48px; }
.fx-method p { margin-top: 6px; font-size: 14px; line-height: 1.6; color: var(--fx-ink-2); }
.fx-report-card { display: flex; flex-direction: column; }
.fx-report-card-title { margin-top: 18px; }
.fx-report-card:hover .fx-report-card-title { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.fx-report-card-sub { margin-top: 8px; font-size: 14px; line-height: 1.55; color: var(--fx-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fx-report-card-foot { margin-top: auto; padding-top: 24px; }
.fx-report-card-go { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--fr-accent, var(--color-accent, #9b062c)); }
.fx-report-card-go i { font-size: 12px; transition: transform .15s; }
.fx-report-card:hover .fx-report-card-go i { transform: translateX(3px); }
@media (max-width: 1023px) {
  .fx-ui .fx-hide-md { display: none; }
}
@media (max-width: 640px) {
  .fx-ui .fx-hide-sm { display: none; }
  .fx-report-crumbs { margin-top: 18px; }
  .fx-report-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fx-report-stats > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .fx-report-stats > div:nth-child(n+3) { border-top: 1px solid var(--fx-line); }
  .fx-report-stats dd { font-size: 20px; }
  .fx-report-table .fx-col-rank { width: 44px; }
  .fx-store-logo { width: 28px; height: 28px; }
}
.fx-insight { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 20px 40px; }
.fx-insight > div { display: flex; flex-direction: column; }
.fx-insight-num { font-size: 34px; line-height: 1.1; font-weight: 600; letter-spacing: -0.03em; color: var(--fx-fg); }
.fx-insight-label { margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--fx-muted); }
.fx-insight-arrow { padding-bottom: 28px; font-size: 24px; color: var(--fx-line-strong); }
.fx-insight-gap { padding-left: 32px; border-left: 1px solid var(--fx-line-strong); }
.fx-th-unit { display: block; font-size: 10px; letter-spacing: 0; text-transform: none; font-weight: 500; }
.fx-report-search { width: 260px; }
.fx-ui .fx-link-row:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
@media (max-width: 640px) {
  .fx-report-search { width: 100%; }
  .fx-insight-num { font-size: 26px; }
  .fx-insight-gap { padding-left: 20px; }
}
/* przelacznik segmentowy (zakladki raportow) */
.fx-seg { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.fx-ui .fx-seg-btn { flex: 1 1 0; min-height: 42px; padding: 0 16px; border: 1px solid var(--fx-line); border-radius: 999px; background: var(--fx-bg); color: var(--fx-ink-2); font-size: 14px; font-weight: 550; white-space: nowrap; cursor: pointer; transition: border-color .15s; }
.fx-ui .fx-seg-btn:hover { border-color: var(--fx-fg); }
.fx-ui .fx-seg-btn.is-active { border-color: var(--fx-fg); background: var(--fx-fg); color: var(--fx-bg); }
/* lista produktow w raporcie (wiersz z wynikiem, nazwa, cena) */
.fx-plist { border-top: 1px solid var(--fx-line); }
.fx-plist-head { padding: 0 0 10px; }
.fx-ui .fx-prow { display: flex; align-items: center; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--fx-line); }
.fx-prow-score { flex: none; width: 52px; text-align: right; font-variant-numeric: tabular-nums; }
.fx-prow-score strong { font-size: 17px; font-weight: 650; }
.fx-prow-score span { font-size: 11px; color: var(--fx-muted); }
.fx-prow-bar { flex: none; width: 96px; }
.fx-prow-main { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
.fx-prow-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; font-weight: 550; color: var(--fx-fg); }
.fx-prow-sub { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px; font-size: 12px; color: var(--fx-muted); }
.fx-prow-price { display: flex; flex: none; flex-direction: column; align-items: flex-end; text-align: right; font-variant-numeric: tabular-nums; font-size: 14px; }
.fx-prow-price > strong { font-weight: 600; }
.fx-ui .fx-prow:hover .fx-prow-name { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
@media (max-width: 640px) {
  .fx-ui .fx-prow { gap: 12px; }
  .fx-prow-score { width: 40px; }
  .fx-prow-name { font-size: 14px; }
  .fx-ui .fx-seg-btn { padding: 0 10px; font-size: 13px; }
}
.fx-cell-sub { display: block; margin-top: 2px; font-size: 11px; color: var(--fx-muted); font-weight: 450; }
.fx-show-sm { display: none; }
/* Pasek udzialu odlewki w skali BEZWZGLEDNEJ: pelna szerokosc = cena calego flakonu.
   Skalowanie do najwiekszej wartosci czytaloby sie jak „100% ceny flakonu”. */
.fx-share-bar { min-width: 110px; }
@media (max-width: 640px) {
  .fx-ui .fx-show-sm { display: block; margin-top: 3px; }
}
.fx-report-stats dd.fx-stat-note { margin-top: 4px; font-size: 12px; font-weight: 450; letter-spacing: 0; color: var(--fx-muted); }
/* /dla-sklepow — samodzielna strona bez naglowka serwisu */
.fx-landing { padding-top: 56px; padding-bottom: 56px; }
.fx-landing-logo { display: inline-block; margin-bottom: 48px; }
.fx-ui .fx-landing-shot { display: block; width: 100%; margin-top: 4px; padding: 0; border: 0; background: none; text-align: left; cursor: zoom-in; }
.fx-landing-shot img { display: block; width: 100%; border: 1px solid var(--fx-line); border-radius: 14px; transition: border-color .15s; }
.fx-landing-shot:hover img { border-color: var(--fx-fg); }
.fx-landing-stats { margin-top: 18px; border-bottom: 0; }
.fx-landing-stats dd { margin: 0; font-size: 22px; }
.fx-landing-stats dt { margin-top: 4px; }
.fx-landing-facts > li + li { margin-top: 24px; }
.fx-landing-foot { text-align: left; padding-top: 24px; border-top: 1px solid var(--fx-line); }
.fx-landing-zoom { position: fixed; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center; padding: 24px; overflow: auto; background: rgba(0, 0, 0, .8); cursor: zoom-out; }
.fx-landing-zoom img { border-radius: 10px; box-shadow: 0 30px 80px rgba(0, 0, 0, .4); }
.fx-landing-close { position: fixed; top: 16px; right: 20px; border: 0; background: none; color: #fff; font-size: 34px; line-height: 1; cursor: pointer; }
@media (max-width: 640px) {
  .fx-landing { padding-top: 32px; }
  .fx-landing-logo { margin-bottom: 32px; }
  .fx-landing-stats dd { font-size: 18px; }
}

/* ======================================================================
   Sklepy: /opinie (katalog) i /opinie/{sklep}
   ====================================================================== */
.fx-ui button.fx-page-link { background: var(--fx-bg); cursor: pointer; }
.fx-ui .fx-page-link:disabled { opacity: .35; cursor: not-allowed; }
.fx-stores-filters { margin-bottom: 28px; }
.fx-stores-bar { display: flex; flex-wrap: wrap; gap: 12px; }
.fx-stores-sort { width: 260px; }
.fx-stores-reset { margin-left: 6px; align-self: center; }
.fx-stores-meta { margin-top: 20px; }
.fx-view-switch { display: inline-flex; gap: 4px; padding: 3px; border: 1px solid var(--fx-line); border-radius: 999px; }
.fx-ui .fx-view-btn { display: inline-grid; place-items: center; width: 34px; height: 30px; border: 0; border-radius: 999px; background: none; color: var(--fx-muted); cursor: pointer; }
.fx-ui .fx-view-btn:hover { color: var(--fx-fg); }
.fx-ui .fx-view-btn.is-active { background: var(--fx-fg); color: var(--fx-bg); }
.fx-stores-grid { gap: 20px; }
.fx-store-card { display: flex; flex-direction: column; padding: 26px; }
.fx-store-card.is-tracked { border-color: var(--fx-line-strong); }
.fx-store-status { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--fx-muted); }
.fx-store-status.is-ok { color: var(--fx-save); }
.fx-store-status.is-bad { color: var(--fx-err); }
.fx-store-name { margin-top: 14px; }
.fx-store-card:hover .fx-store-name a { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.fx-store-tech { margin-top: 2px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--fx-muted); }
.fx-store-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 18px; padding: 12px 14px; border-radius: 12px; background: var(--fx-soft); }
.fx-store-rating .fx-muted { margin-left: auto; }
.fx-store-foot { margin-top: auto; padding-top: 18px; }
.fx-stores-list .fx-store-row { display: flex; align-items: center; gap: 18px; }
.fx-store-initial { display: grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 999px; background: var(--fx-soft); font-size: 17px; font-weight: 650; }
.fx-stores-pages { flex-direction: column; }
@media (max-width: 640px) {
  .fx-stores-sort { width: 100%; }
  .fx-stores-list .fx-store-row { flex-wrap: wrap; gap: 12px; }
  .fx-store-initial { display: none; }
  .fx-stores-list .fx-store-row > .fx-btn { width: 100%; }
}
.fx-review-page { padding-bottom: 120px; }
.fx-store-hero-top { gap: 18px; }
.fx-store-logo-lg { width: 72px; height: 72px; padding: 8px; border-radius: 14px; font-size: 24px; color: #b9b8b3; }
.fx-store-score { font-size: 40px; line-height: 1; font-weight: 650; letter-spacing: -0.035em; }
.fx-stars-amber { color: #e0a526; }
.fx-stars-amber .is-off { color: var(--fx-line-strong); }
.fx-store-desc { margin-top: 28px; background: var(--fx-soft); }
.fx-store-desc .fx-prose { font-size: 14px; max-width: none; }
.fx-store-desc .fx-prose h3 { margin-top: 1.4em; padding-bottom: 6px; border-bottom: 1px solid var(--fx-line); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--fx-muted); }
.fx-reviews { border-top: 1px solid var(--fx-line); }
.fx-review { padding: 24px 0; border-bottom: 1px solid var(--fx-line); transition: box-shadow .3s, background-color .3s; }
.fx-review.is-highlight { margin: 0 -20px; padding: 24px 20px; border-radius: 14px; background: var(--fx-soft); box-shadow: 0 0 0 2px var(--fr-accent, var(--color-accent, #9b062c)); }
.fx-review-text { margin-top: 14px; font-size: 15px; line-height: 1.65; color: var(--fx-ink-2); white-space: pre-line; }
.fx-review-form-wrap { scroll-margin-top: 80px; }
.fx-rate-input { display: flex; align-items: center; gap: 2px; min-height: 50px; padding: 0 14px; border: 1px solid var(--fx-line-strong); border-radius: 12px; background: var(--fx-bg); }
.fx-ui .fx-rate-star { padding: 2px 3px; border: 0; background: none; color: var(--fx-line-strong); font-size: 22px; cursor: pointer; transition: transform .15s; }
.fx-ui .fx-rate-star:hover { transform: scale(1.1); }
.fx-rate-star .is-on { color: #e0a526; }
.fx-rate-input > span { margin-left: 12px; }
.fx-review-done { padding: 56px 32px; }
.fx-review-done .fx-ico-lg { margin-bottom: 18px; }
.fx-review-done .fx-lead { margin-left: auto; margin-right: auto; }
.fx-ui.fx-store-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; padding: 16px 0; border-top: 1px solid var(--fx-line); background: var(--fx-bg); box-shadow: 0 -10px 30px -12px rgba(0, 0, 0, .12); }
.fx-store-bar-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.fx-store-bar-info { min-width: 0; }
@media (max-width: 640px) {
  .fx-store-bar-info { display: none; }
  .fx-ui .fx-store-bar-cta { width: 100%; }
  .fx-store-logo-lg { width: 52px; height: 52px; }
  .fx-store-score { font-size: 32px; }
  .fx-review.is-highlight { margin: 0 -10px; padding: 20px 10px; }
}

/* ======================================================================
   Konto: nawigacja profilu (_nav.html, poza <main>), podsumowanie, ustawienia, alerty
   ====================================================================== */
.fx-pnav { position: sticky; z-index: 40; background: var(--fx-bg); border-bottom: 1px solid var(--fx-line); font-family: var(--fx-font); }
.fx-pnav a { color: inherit; text-decoration: none; }
.fx-pnav button { font: inherit; color: inherit; }
.fx-pnav-in { max-width: calc(1200px + 2 * var(--fx-gutter)); margin: 0 auto; padding: 0 var(--fx-gutter); }
.fx-pnav-mobile { display: none; align-items: center; justify-content: space-between; padding: 10px 0; }
.fx-pnav-current { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 650; color: var(--fx-fg); }
.fx-pnav-toggle { display: inline-grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--fx-line); border-radius: 999px; background: var(--fx-bg); color: var(--fx-muted); cursor: pointer; }
.fx-pnav-drop { padding: 6px 0 12px; border-top: 1px solid var(--fx-line); }
.fx-pnav-drop-link { display: flex; align-items: center; gap: 10px; padding: 12px 4px; font-size: 15px; font-weight: 550; color: var(--fx-ink-2); }
.fx-pnav-drop-link.is-active { color: var(--fx-fg); font-weight: 650; }
.fx-pnav-drop-link.is-danger, .fx-pnav-logout { color: var(--fx-err) !important; }
.fx-pnav-tabs { display: flex; align-items: center; gap: 32px; }
.fx-pnav-tab { position: relative; display: inline-flex; align-items: center; gap: 9px; padding: 20px 0 19px; font-size: 14px; font-weight: 550; color: var(--fx-muted); white-space: nowrap; }
.fx-pnav-tab:hover { color: var(--fx-fg); }
.fx-pnav-tab.is-active { color: var(--fx-fg); }
.fx-pnav-tab.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--fx-fg); }
.fx-pnav-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--fr-accent-solid, var(--color-accent, #9b062c)); color: #fff; font-size: 11px; font-weight: 650; }
.fx-pnav-logout { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; font-size: 13px; font-weight: 600; }
.fx-summary { gap: 20px; }
.fx-summary-card { display: flex; flex-direction: column; padding: 26px; }
@media (max-width: 640px) {
  .fx-pnav-mobile { display: flex; }
  .fx-pnav-tabs { display: none; }
}
.fx-nick-wrap .fx-input { padding-right: 96px; }
.fx-nick-actions { position: absolute; top: 50%; right: 5px; display: flex; gap: 2px; transform: translateY(-50%); }
.fx-pass-form { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--fx-line); }
.fx-alerts-count { min-height: 40px; padding: 0 16px; font-size: 14px; }
.fx-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--fr-accent-solid, var(--color-accent, #9b062c)); animation: fx-pulse 1.8s ease-in-out infinite; }
@keyframes fx-pulse { 50% { opacity: .35; } }
.fx-alerts-grid { gap: 40px 24px; }
.fx-alert-card { position: relative; display: flex; flex-direction: column; min-width: 0; transition: opacity .3s, transform .3s; }
.fx-alert-card.is-removing { opacity: 0; transform: scale(.95); }
.fx-alert-top { margin-bottom: 10px; flex-wrap: nowrap; }
.fx-alert-actions { position: relative; flex: none; }
.fx-invisible { visibility: hidden; }
.fx-ui .fx-icon-btn { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 999px; background: none; color: var(--fx-muted); font-size: 13px; cursor: pointer; }
.fx-ui .fx-icon-btn:hover { background: var(--fx-soft); color: var(--fx-fg); }
.fx-ui .fx-icon-btn-danger:hover { color: var(--fx-err); }
.fx-confirm-pop { position: absolute; top: 0; right: 0; z-index: 10; display: flex; gap: 4px; padding: 3px; border: 1px solid var(--fx-line); border-radius: 999px; background: var(--fx-bg); box-shadow: 0 10px 30px rgba(0, 0, 0, .12); }
.fx-alert-img { margin-bottom: 14px; }
.fx-alert-card:hover .fx-tile-name { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.fx-alert-prices { display: grid; grid-template-columns: 1fr 1fr; margin: 14px 0 0; border-top: 1px solid var(--fx-line); border-bottom: 1px solid var(--fx-line); }
.fx-alert-prices > div { padding: 10px 0; }
.fx-alert-prices > div + div { padding-left: 12px; border-left: 1px solid var(--fx-line); }
.fx-alert-prices dt { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--fx-muted); }
.fx-alert-prices dd { margin: 4px 0 0; font-size: 18px; font-weight: 600; letter-spacing: -0.02em; }
.fx-alert-prices dd.fx-alert-na { font-size: 12px; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }
.fx-warn-text { color: #a2661a; }
.dark-mode .fx-warn-text { color: #e8be88; }
.fx-ui .fx-alert-go { margin-top: 14px; }
.fx-modal-host { flex: none; }
.fx-store-filter { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--fx-line); }
.fx-ui .fx-mb-sm { margin-bottom: 10px; }
.fx-ui .fx-pill-x { margin-left: 2px; padding: 0; border: 0; background: none; color: inherit; font-size: 10px; cursor: pointer; opacity: .7; }
.fx-suggest { position: absolute; left: 0; right: 0; top: 100%; z-index: 20; margin-top: 6px; max-height: 200px; overflow-y: auto; border: 1px solid var(--fx-line); border-radius: 12px; background: var(--fx-bg); box-shadow: 0 16px 40px rgba(0, 0, 0, .12); }
.fx-ui .fx-suggest-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 14px; border: 0; border-bottom: 1px solid var(--fx-line); background: none; font-size: 14px; text-align: left; cursor: pointer; }
.fx-ui .fx-suggest-item:last-child { border-bottom: 0; }
.fx-ui .fx-suggest-item:hover { background: var(--fx-soft); }
.fx-suggest-empty { padding: 14px; font-size: 13px; text-align: center; color: var(--fx-muted); }
.fx-modal .fx-h3 { display: flex; align-items: center; gap: 10px; padding-right: 40px; }
@media (max-width: 640px) {
  .fx-alerts-grid { gap: 28px 12px; }
  .fx-alert-prices dd { font-size: 15px; }
}

/* ======================================================================
   Kolekcje: panel /profile/collection (my_collection.html)
   ====================================================================== */
.fx-list-reset { margin: 0; padding: 0; list-style: none; }
.fx-break { word-break: break-all; }
.fx-coll-search { position: relative; margin-bottom: 28px; }
.fx-ui .fx-coll-search-input { min-height: 58px; font-size: 16px; }
.fx-coll-suggest { max-height: 420px; }
.fx-coll-sugg { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-bottom: 1px solid var(--fx-line); cursor: pointer; }
.fx-coll-sugg:last-child { border-bottom: 0; }
.fx-coll-sugg.is-active { background: var(--fx-soft); }
.fx-coll-brand { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fx-fg); }
.fx-coll-sugg-name { display: block; margin-top: 4px; font-size: 15px; font-weight: 550; color: var(--fx-fg); }
.fx-coll-sugg-add { color: var(--fx-line-strong); font-size: 18px; transition: color .15s; }
.fx-coll-sugg.is-active .fx-coll-sugg-add { color: var(--fr-accent, var(--color-accent, #9b062c)); }
.fx-coll-tabs { margin-bottom: 24px; }
.fx-coll-tabrow { display: flex; align-items: baseline; gap: 10px 20px; }
.fx-coll-tabrow + .fx-coll-tabrow { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--fx-line); }
.fx-coll-tabrow .fx-eyebrow { flex: none; width: 104px; margin: 0; }
.fx-ui button.fx-chip-link { background: var(--fx-bg); font: inherit; font-size: 14px; font-weight: 500; }
.fx-ui .fx-chip-sm { min-height: 32px; padding: 0 12px; font-size: 13px !important; }
.fx-ui .fx-chip-link.is-on { border-color: var(--fx-fg); color: var(--fx-fg); font-weight: 600; }
.fx-coll-dash { padding: 0; margin-bottom: 32px; overflow: visible; }
.fx-coll-dash-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding: 22px 26px; border-bottom: 1px solid var(--fx-line); }
.fx-coll-dash-title .fx-h2 { display: flex; align-items: center; gap: 8px; }
.fx-coll-public-ico { font-size: 13px; }
.fx-coll-stats { display: flex; flex-wrap: wrap; gap: 8px 32px; margin: 0; }
.fx-coll-stats dt { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--fx-muted); }
.fx-coll-stats dd { margin: 4px 0 0; font-size: 22px; font-weight: 650; letter-spacing: -0.02em; white-space: nowrap; }
.fx-coll-settings { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 16px 26px; border-bottom: 1px solid var(--fx-line); }
.fx-coll-share { margin-left: auto; }
.fx-coll-scope { flex-basis: 100%; display: flex; align-items: flex-start; gap: 6px; font-size: 12px; color: var(--fx-muted); }
.fx-coll-scope i { margin-top: 2px; opacity: .7; }
.fx-coll-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; padding: 12px 26px; }
.fx-coll-label { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--fx-muted); }
/* mini przelacznik (sortowanie, szablon, widocznosc sekcji) */
.fx-seg-mini { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: var(--fx-soft); }
.fx-ui .fx-seg-mini-btn { display: inline-flex; align-items: center; gap: 5px; min-height: 28px; padding: 0 12px; border: 0; border-radius: 999px; background: none; color: var(--fx-muted); font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.fx-ui .fx-seg-mini-btn:hover { color: var(--fx-fg); }
.fx-ui .fx-seg-mini-btn.is-active { background: var(--fx-bg); color: var(--fx-fg); box-shadow: 0 1px 3px rgba(0, 0, 0, .1); }
.fx-ui .fx-seg-mini-btn.is-save-text { color: var(--fx-save); }
.fx-ui .fx-seg-mini-btn.is-active.is-save { background: var(--fx-save); color: #fff; }
.fx-seg-mini-btn i { font-size: 10px; }
.fx-confirm-inline { display: inline-flex; align-items: center; gap: 6px; padding: 3px 3px 3px 10px; border: 1px solid var(--fx-line); border-radius: 999px; background: var(--fx-bg); }
.fx-confirm-center { display: flex; justify-content: center; padding: 6px; }
/* karty kolekcji: ten sam kafelek co /oferty + ramki cen/zakupu */
.fx-coll-grid { gap: 44px 24px; }
.fx-coll-card { position: relative; display: flex; flex-direction: column; min-width: 0; }
.fx-coll-img-link { display: block; width: 100%; height: 100%; }
.fx-coll-size { position: absolute; top: 10px; right: 10px; padding: 4px 9px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: #3d3d3a; font-size: 11px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.fx-coll-actions { position: absolute; left: 10px; bottom: 10px; }
.fx-ui .fx-coll-act { display: inline-grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .92); color: #3d3d3a; font-size: 11px; cursor: pointer; box-shadow: 0 1px 4px rgba(0, 0, 0, .08); }
.fx-ui .fx-coll-act:hover { color: var(--color-accent, #9b062c); }
.fx-coll-meta { margin-bottom: 2px; }
.fx-coll-brand-name { margin: 0; }
.fx-coll-card .fx-tile-title { margin-bottom: 10px; }
.fx-coll-card:hover .fx-tile-name { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.fx-ui .fx-coll-box { display: block; margin-top: 8px; padding: 12px 14px; border-radius: 12px; background: var(--fx-soft); }
.fx-ui .fx-coll-box.is-top { background: var(--fx-save-bg); }
.fx-ui .fx-coll-box.is-hint { background: #fbf3e4; color: #7a4f14; }
.dark-mode .fx-ui .fx-coll-box.is-hint { background: rgba(232, 190, 136, .12); color: #e8be88; }
.fx-coll-box-head { flex-wrap: nowrap; margin-bottom: 8px; }
.fx-coll-box-title { display: inline-flex; align-items: center; gap: 6px; min-width: 0; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fx-muted); white-space: nowrap; }
.fx-coll-box.is-top .fx-coll-box-title { color: var(--fx-save); }
.fx-coll-box.is-hint .fx-coll-box-title { color: inherit; }
.fx-coll-rows { margin: 0; }
.fx-coll-rows > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.fx-coll-rows > div + div { margin-top: 5px; }
.fx-coll-rows dt { flex: none; font-size: 12px; color: var(--fx-muted); }
.fx-coll-rows dd { margin: 0; min-width: 0; font-size: 13px; text-align: right; color: var(--fx-fg); }
.fx-coll-price { font-size: 15px !important; font-weight: 650; }
.fx-coll-changes { justify-content: flex-end; font-size: 12px; }
.fx-coll-box-note { margin-top: 8px; padding-top: 6px; border-top: 1px solid rgba(122, 79, 20, .2); font-size: 11px; font-style: italic; }
.fx-coll-product { padding: 12px; border-radius: 14px; background: var(--fx-soft); }
.fx-coll-product .fx-thumb { background: #fff; }
.fx-status-grid { gap: 8px; }
.fx-nick-publish { align-items: stretch; }
/* toast powiadomien */
.fx-toast-wrap { position: fixed; left: 50%; bottom: 28px; z-index: 150; width: 100%; max-width: 400px; padding: 0 16px; transform: translateX(-50%); }
.fx-toast { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; background: var(--fx-fg); color: var(--fx-bg); box-shadow: 0 20px 50px rgba(0, 0, 0, .25); font-size: 14px; font-weight: 600; }
.fx-toast.is-error { background: var(--fx-err); color: #fff; }
.fx-toast > i { display: grid; flex: none; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(255, 255, 255, .18); font-size: 12px; }
.fx-ui .fx-toast-x { margin-left: auto; padding: 4px; border: 0; background: none; color: inherit; opacity: .6; cursor: pointer; }
@media (max-width: 640px) {
  .fx-coll-tabrow { flex-direction: column; gap: 8px; }
  .fx-coll-tabrow .fx-eyebrow { width: auto; }
  .fx-coll-dash-head, .fx-coll-settings, .fx-coll-controls { padding-left: 16px; padding-right: 16px; }
  .fx-coll-share { margin-left: 0; }
  .fx-coll-stats dd { font-size: 18px; }
  .fx-coll-grid { gap: 32px 12px; }
  .collection-card-image { aspect-ratio: 4 / 5; }
  .fx-ui .fx-coll-box { padding: 10px; }
  .fx-coll-rows dt { font-size: 11px; }
  .fx-coll-rows dd { font-size: 12px; }
}
.fx-coll-rows dd.fx-row-sm { flex-wrap: nowrap; justify-content: flex-end; }
@media (max-width: 640px) {
  .fx-coll-box-head { flex-wrap: wrap; gap: 4px; }
  .fx-coll-box-title { letter-spacing: .03em; }
  .fx-coll-box-title i { display: none; }
  .fx-coll-rows dd.fx-row-sm { gap: 4px; }
  .fx-coll-rows dd .fx-pill { padding: 1px 6px; min-height: 20px; font-size: 11px; }
}

/* ======================================================================
   Kolekcje: strona publiczna (/kolekcja/{nick}) + partiale pozycji
   ====================================================================== */
.fx-pv-head { display: flex; align-items: center; gap: 18px; padding: 40px 0 36px; }
.fx-pv-avatar { display: grid; flex: none; place-items: center; width: 64px; height: 64px; border-radius: 999px; background: var(--fx-fg); color: var(--fx-bg); font-size: 26px; font-weight: 700; text-transform: uppercase; }
.fx-pv-head .fx-title { font-size: 38px; }
.fx-pv-list { margin-top: 2px; font-size: 22px; font-weight: 650; letter-spacing: -0.02em; color: var(--fr-accent, var(--color-accent, #9b062c)); }
.fx-pv-meta { margin-top: 6px; font-size: 14px; color: var(--fx-muted); }
.fx-pv-meta b { color: var(--fx-ink-2); }
.fx-pv-share { position: relative; flex: none; }
.fx-ui .fx-pv-share-btn { width: 50px; padding: 0; }
.fx-pv-copied { position: absolute; top: 100%; right: 0; margin-top: 8px; padding: 5px 10px; border-radius: 8px; background: var(--fx-fg); color: var(--fx-bg); font-size: 12px; font-weight: 600; white-space: nowrap; }
.fx-pv-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 260px)); gap: 16px; margin-bottom: 40px; }
.fx-pv-stat { padding: 20px 22px; border: 1px solid var(--fx-line); border-radius: 16px; background: var(--fx-bg); }
.fx-pv-stat-pill { margin-top: 10px; background: rgba(255, 255, 255, .18); color: inherit; }
.fx-pv-grid { gap: 44px 24px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.fx-pv-rows { border-top: 1px solid var(--fx-line); }
.investor-card.fx-pv-row { display: flex; align-items: center; gap: 22px; padding: 18px 0; border-bottom: 1px solid var(--fx-line); }
.fx-pv-row-nums { display: flex; flex: none; align-items: center; gap: 28px; text-align: right; }
.fx-pv-row-num { margin-top: 2px; font-size: 20px; font-weight: 650; letter-spacing: -0.02em; white-space: nowrap; }
.fx-pv-cta { padding: 48px 32px; }
@media (max-width: 1279px) {
  .fx-pv-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  .fx-pv-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .fx-pv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 12px; }
}
@media (max-width: 640px) {
  .fx-pv-head { gap: 12px; padding: 24px 0 24px; }
  .fx-pv-avatar { width: 48px; height: 48px; font-size: 19px; }
  .fx-pv-head .fx-title { font-size: 26px; }
  .fx-pv-list { font-size: 17px; }
  .fx-pv-meta { font-size: 12px; }
  .fx-ui .fx-pv-share-btn { width: 44px; min-height: 44px; }
  .fx-pv-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .investor-card.fx-pv-row { flex-wrap: wrap; gap: 14px; }
  .fx-pv-row-name { flex-basis: calc(100% - 110px); }
  .fx-pv-row-nums { width: 100%; justify-content: space-between; text-align: left; }
  .fx-pv-row-go { display: none !important; }
  .fx-pv-row-num { font-size: 17px; }
  .fx-pv-cta { padding: 32px 18px; }
}
.fx-coll-rows dd > span, .fx-coll-rows dd > b { white-space: nowrap; }
.fx-coll-rows dd.fx-coll-changes { flex-wrap: wrap; row-gap: 2px; }

/* ======================================================================
   Multikoszyk
   ====================================================================== */
.fx-mark { padding: 0 2px; border-radius: 3px; background: rgba(155, 6, 44, .14); color: inherit; }
.fx-basket-login { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; }
.fx-basket-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: start; }
.fx-card-flush { padding: 0; overflow: visible; }
.fx-card-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 22px; border-bottom: 1px solid var(--fx-line); }
.fx-card-bar .fx-h4 { display: flex; align-items: center; gap: 8px; }
.fx-card-body { padding: 22px; }
.fx-basket-item { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; padding: 16px 22px; border-bottom: 1px solid var(--fx-line); }
.fx-basket-item:last-child { border-bottom: 0; }
.fx-basket-item.is-unavailable { opacity: .6; filter: grayscale(.5); }
.fx-basket-item .fx-thumb { background: #fff; border: 1px solid var(--fx-line); }
.fx-basket-qty-row { flex: none; margin-left: auto; }
.fx-qty { display: inline-flex; align-items: center; padding: 3px; border: 1px solid var(--fx-line); border-radius: 999px; }
.fx-ui .fx-qty-btn { display: inline-grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 999px; background: none; color: var(--fx-muted); font-size: 10px; cursor: pointer; }
.fx-ui .fx-qty-btn:hover { background: var(--fx-soft); color: var(--fx-fg); }
.fx-ui .fx-qty-input { width: 40px; border: 0; background: transparent; text-align: center; font-size: 14px; font-weight: 650; -moz-appearance: textfield; }
.fx-qty-input::-webkit-outer-spin-button, .fx-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fx-basket-add { display: flex; flex-wrap: wrap; gap: 10px; }
.fx-ui .fx-basket-qty-new { width: 74px; text-align: center; padding: 0 8px; }
.fx-basket-selected { margin-top: 14px; padding: 12px; border-radius: 12px; background: var(--fx-bg); }
.fx-basket-selected .fx-thumb { background: #fff; }
.fx-suggest-head { display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; border-bottom: 1px solid var(--fx-line); font-size: 11px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--fx-muted); }
.fx-suggest .fx-coll-sugg:hover { background: var(--fx-soft); }
.fx-suggest .fx-thumb { background: #fff; }
.fx-basket-na { padding: 4px 0; border-top: 1px solid rgba(122, 79, 20, .15); font-size: 13px; }
.fx-option { overflow: hidden; border: 1px solid var(--fx-line); border-radius: 14px; }
.fx-option.is-best { border-color: var(--fx-save); box-shadow: 0 0 0 1px var(--fx-save); }
.fx-option-badge { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 6px; background: var(--fx-save); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.fx-option-body { padding: 18px; }
.fx-option-sum { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0; padding: 14px 16px; border-radius: 12px; background: var(--fx-soft); }
.fx-option-total { font-size: 22px; line-height: 1.1; font-weight: 650; letter-spacing: -0.02em; }
.fx-option-save { font-size: 16px; }
.fx-option-products { margin-bottom: 16px; }
.fx-option-products > li { align-items: flex-start; flex-wrap: nowrap; padding: 6px 0; }
.fx-option-products > li + li { border-top: 1px solid var(--fx-line); }
.fx-option-prod { align-items: flex-start; }
.fx-option-prod > b { flex: none; }
.fx-option-split { margin: 16px 0 8px; }
.fx-option-store { padding: 14px; border: 1px solid var(--fx-line); border-radius: 12px; }
.fx-option-store-head { padding-bottom: 10px; margin-bottom: 8px; border-bottom: 1px solid var(--fx-line); }
.fx-option-store .fx-option-products { margin-bottom: 8px; }
.fx-option-store-foot { padding-top: 10px; border-top: 1px solid var(--fx-line); }
.fx-option-favicon { width: 20px; height: 20px; object-fit: contain; }
.fx-basket-noopt { padding: 24px 8px; }
.fx-basket-empty { padding: 56px 24px; }
.fx-basket-empty .fx-ico-lg { margin-bottom: 8px; }
.fx-basket-empty-search { max-width: 560px; margin: 24px auto !important; text-align: left; }
.fx-baskets { gap: 20px; }
.fx-basket-card { position: relative; padding: 24px; }
.fx-basket-card.is-active { border-color: var(--fr-accent-solid, var(--color-accent, #9b062c)); }
.fx-basket-active { position: absolute; top: -12px; left: 50%; padding: 4px 14px; border-radius: 999px; background: var(--fr-accent-solid, var(--color-accent, #9b062c)); transform: translateX(-50%); }
.fx-basket-new { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 32px 16px; cursor: pointer; transition: border-color .15s; }
.fx-basket-new:hover { border-color: var(--fx-fg); }
.fx-basket-new > * + * { margin-top: 0; }
@media (max-width: 1023px) {
  .fx-basket-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .fx-basket-item { padding: 14px 16px; }
  .fx-basket-qty-row { width: 100%; justify-content: space-between; }
  .fx-card-bar { padding: 14px 16px; }
  .fx-card-body { padding: 16px; }
  .fx-option-body { padding: 14px; }
  .fx-basket-add > .fx-row-nowrap { width: 100%; }
  .fx-basket-add > .fx-row-nowrap .fx-btn { flex: 1; }
}
.fx-empty :is(.fx-h2, .fx-h3, h2, h3) { color: var(--fx-fg); }

/* Kreator zapachu (/kreator-zapachu: wybor sciezki, quiz, inspiracje, tryb ekspert).
   Wybor opcji = .is-selected z tego samego wyrazenia Alpine, ktore dawniej doklejalo
   klasy Tailwinda; nuty i akordy maja trzy stany (.is-in dodaj, .is-out wyklucz). */
.fx-ui .fx-block { display: block; }
.fx-finder { padding-bottom: 48px; }
.fx-finder-select { padding-top: 16px; }
.fx-finder-path, .fx-finder-insp { position: relative; display: flex; flex-direction: column; align-items: flex-start; text-align: left; padding: 24px; width: 100%; font: inherit; color: inherit; }
.fx-finder-badge { position: absolute; top: 16px; right: 16px; }
.fx-finder-emoji { display: inline-block; font-size: 40px; line-height: 1; margin-bottom: 16px; }
.fx-ui .fx-finder-go { margin-top: auto; padding-top: 18px; }
.fx-quiz { padding-top: 8px; }
.fx-quiz-top { margin-bottom: 28px; }
.fx-quiz-progress { width: 120px; }
.fx-quiz-step { min-height: 380px; }
.fx-ui .fx-quiz-grid { margin-top: 22px; }
.fx-ui .fx-quiz-opt { display: flex; align-items: center; gap: 14px; width: 100%; padding: 16px 18px; border: 1px solid var(--fx-line); border-radius: var(--fx-tile-r, 12px); background: var(--fx-bg); color: var(--fx-fg); font: inherit; text-align: left; cursor: pointer; transition: border-color .15s, background .15s; }
.fx-ui .fx-quiz-opt:hover { border-color: var(--fx-fg); }
.fx-ui .fx-quiz-opt.is-selected { border-color: var(--fx-fg); background: var(--fx-soft); box-shadow: inset 0 0 0 1px var(--fx-fg); }
.fx-ui .fx-quiz-opt.is-selected .fx-ico { background: var(--fx-fg); color: var(--fx-bg); }
.fx-ui .fx-quiz-opt-col { flex-direction: column; justify-content: center; text-align: center; gap: 8px; padding: 22px 14px; }
.fx-quiz-emoji { font-size: 34px; line-height: 1; }
.fx-quiz-emoji-sm { font-size: 22px; line-height: 1; flex-shrink: 0; }
.fx-quiz-opt-title { display: block; font-weight: 600; font-size: 15px; }
.fx-quiz-opt-desc { display: block; margin-top: 2px; font-size: 13px; color: var(--fx-muted); }
.fx-quiz-budget { font-size: 18px; font-weight: 700; }
.fx-ui .fx-finder-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 16px 18px; }
.fx-finder-bar .fx-stat-label { margin: 0; }
.fx-finder-count { font-size: 22px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.fx-skeleton { display: inline-block; width: 64px; height: 20px; border-radius: 6px; background: var(--fx-soft); vertical-align: middle; animation: fx-pulse 1.4s ease-in-out infinite; }
.fx-ui .fx-acc-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 18px 20px; background: none; border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.fx-acc-sub { display: block; font-size: 13px; color: var(--fx-muted); margin-top: 2px; }
.fx-acc-body { padding: 4px 20px 22px; border-top: 1px solid var(--fx-line); padding-top: 20px; }
.fx-chev { flex-shrink: 0; color: var(--fx-muted); transition: transform .2s; }
.fx-chev.is-open { transform: rotate(180deg); }
.fx-note-sugg { padding: 10px 14px; border-bottom: 1px solid var(--fx-line); }
.fx-note-sugg:last-child { border-bottom: 0; }
.fx-ui .fx-note-btn { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--fx-line); background: var(--fx-bg); color: var(--fx-muted); font-size: 11px; cursor: pointer; }
.fx-ui .fx-note-btn.is-add:hover, .fx-ui .fx-note-btn.is-add.is-on { border-color: var(--fx-save, #0f7b3e); background: var(--fx-save, #0f7b3e); color: #fff; }
.fx-ui .fx-note-btn.is-ban:hover, .fx-ui .fx-note-btn.is-ban.is-on { border-color: var(--fr-accent-solid, #9b062c); background: var(--fr-accent-solid, #9b062c); color: #fff; }
.fx-ui .fx-note-grid { gap: 8px; }
.fx-note-chip { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--fx-line); border-radius: 10px; background: var(--fx-bg); min-width: 0; }
.fx-note-chip.is-in { border-color: var(--fx-save, #0f7b3e); box-shadow: inset 0 0 0 1px var(--fx-save, #0f7b3e); }
.fx-note-chip.is-out { border-color: var(--fr-accent-solid, #9b062c); opacity: .7; }
.fx-note-chip .fx-small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.note-chip-actions { display: flex; gap: 4px; flex-shrink: 0; }
.fx-accord-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; max-height: 380px; overflow-y: auto; padding-right: 4px; }
.fx-ui .fx-accord-btn { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--fx-line); border-radius: 10px; background: var(--fx-bg); color: var(--fx-fg); font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
.fx-ui .fx-accord-btn:hover { border-color: var(--fx-fg); }
.fx-ui .fx-accord-btn.is-in { border-color: var(--fx-save, #0f7b3e); background: var(--fx-save, #0f7b3e); color: #fff; }
.fx-ui .fx-accord-btn.is-out { border-color: var(--fr-accent-solid, #9b062c); color: var(--fr-accent-solid, #9b062c); text-decoration: line-through; }
.fx-ui .fx-range { width: 100%; accent-color: var(--fx-fg); }
@media (max-width: 640px) {
  .fx-quiz-step { min-height: 0; }
  .fx-ui .fx-finder-bar { position: sticky; bottom: 10px; z-index: 5; box-shadow: 0 8px 28px rgba(0,0,0,.12); }
  .fx-ui .fx-finder-bar > .fx-row, .fx-ui .fx-finder-bar > .fx-btn { width: 100%; }
  .fx-ui .fx-finder-bar > .fx-row .fx-btn { flex: 1; }
  .fx-accord-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Blog: lista wpisow. Pierwszy wpis = duza karta (ze zdjeciem: tekst na zdjeciu pod
   ciemnym gradientem, bez zdjecia: zwykla karta), reszta w siatce. */
.fx-clamp-2, .fx-clamp-3 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.fx-clamp-2 { -webkit-line-clamp: 2; }
.fx-clamp-3 { -webkit-line-clamp: 3; }
.fx-ui .fx-blog-hero { display: block; position: relative; overflow: hidden; margin-bottom: 40px; border: 1px solid var(--fx-line); border-radius: 16px; background: var(--fx-bg); color: var(--fx-fg); text-decoration: none; }
.fx-ui .fx-blog-hero.has-image { min-height: 460px; border: 0; color: #fff; background: #111; }
.fx-blog-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.4, 0, .2, 1); }
.fx-blog-hero.has-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.4) 55%, rgba(0,0,0,.08) 100%); }
.fx-blog-hero:hover .fx-blog-hero-img, .fx-blog-card:hover .fx-blog-card-img img { transform: scale(1.04); }
.fx-blog-hero-body { position: relative; z-index: 1; padding: 40px; max-width: 860px; }
.fx-blog-hero.has-image .fx-blog-hero-body { position: absolute; left: 0; right: 0; bottom: 0; }
.fx-blog-hero-title { margin: 14px 0 12px; font-size: clamp(26px, 3.4vw, 40px); line-height: 1.12; font-weight: 700; letter-spacing: -.02em; }
.fx-blog-hero-lead { font-size: 17px; line-height: 1.55; color: var(--fx-ink-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fx-blog-hero.has-image .fx-blog-hero-lead { color: rgba(255,255,255,.9); -webkit-line-clamp: 2; }
.fx-blog-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13px; color: var(--fx-muted); }
.fx-blog-meta b { color: var(--fx-ink-2); font-weight: 600; }
.fx-blog-hero.has-image .fx-blog-meta, .fx-blog-hero.has-image .fx-blog-meta b { color: rgba(255,255,255,.85); }
.fx-blog-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-size: 14px; font-weight: 600; color: var(--fr-accent, #9b062c); }
.fx-blog-hero.has-image .fx-blog-more { color: #fff; }
.fx-blog-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.fx-ui .fx-blog-card { padding: 0; overflow: hidden; display: block; }
.fx-blog-card article { height: 100%; display: flex; flex-direction: column; }
.fx-blog-card-img { position: relative; height: 190px; overflow: hidden; background: var(--fx-soft); }
.fx-blog-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.4, 0, .2, 1); }
.fx-blog-pin { position: absolute; top: 12px; left: 12px; }
.fx-blog-card-body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 18px 20px 20px; }
.fx-blog-card-body .fx-blog-more { margin-top: auto; padding-top: 6px; }
@media (max-width: 640px) {
  .fx-ui .fx-blog-hero.has-image { min-height: 380px; }
  .fx-blog-hero-body { padding: 22px; }
  .fx-blog-grid { grid-template-columns: 1fr; }
}
.fx-blog-post-img { overflow: hidden; border-radius: 16px; margin-bottom: 28px; aspect-ratio: 16 / 8; background: var(--fx-soft); }
.fx-blog-post-img img { width: 100%; height: 100%; object-fit: cover; }
.fx-ui .fx-blog-post-head { margin-bottom: 28px; }
.fx-ico-sm { width: 30px; height: 30px; font-size: 12px; }
.fx-ui .fx-blog-nav { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--fx-line); }
.fx-blog-card-img-sm { height: 140px; }

/* Poprawki z testu ukladu (scripts/diag_fx_pages_e2e.py): cele dotyku >= 24 px bez
   zmiany ukladu (padding zjedzony ujemnym marginesem), odstep miedzy krokiem quizu
   a paskiem licznika, karta sklepu nad lista opinii. */
.fx-ui .fx-text-btn { padding-block: 6px; margin-block: -6px; }
.fx-ui .fx-q-btn { min-width: 24px; min-height: 24px; margin-block: -2px; }
.fx-quiz-step { margin-bottom: 24px; }
.fx-ui .fx-store-hero { margin-bottom: 32px; }
.fx-rank-num { padding: 0 8px; flex: none; box-sizing: border-box; }
.fx-alert-top > :first-child { min-width: 0; flex-wrap: wrap; }
@media (max-width: 640px) { .fx-alert-actions .fx-icon-btn { width: 30px; height: 30px; } .fx-alert-actions .fx-row-sm { gap: 4px; } }

/* Panel sprzedawcy (/partner): osobna strona bez naglowka serwisu. */
.fx-partner-bar { position: sticky; top: 0; z-index: 20; padding: 12px 0; border-bottom: 1px solid var(--fx-line); background: var(--fx-bg); }
.fx-partner-brand { display: flex; align-items: baseline; gap: 12px; min-width: 0; flex-wrap: wrap; }
.fx-partner-logo { font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
.fx-partner-main { padding: 28px 0 56px; }
.fx-partner-login { min-height: 100vh; display: flex; align-items: center; padding: 48px 0; }
.fx-partner-login > .fx-wrap-xs { width: 100%; }
.fx-ui .fx-mb-lg { margin-bottom: 32px; }
.fx-partner-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 28px; }
.fx-partner-stats .fx-stat-label { margin: 0; }
.fx-partner-stats .is-warn { border-color: #e8be88; background: #fbf3e4; }
.dark-mode .fx-partner-stats .is-warn { border-color: rgba(232, 190, 136, .4); background: rgba(232, 190, 136, .08); }
.fx-partner-num { margin-top: 6px; font-size: 22px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.fx-warn-text { color: #a2620f; }
.fx-ui .fx-partner-filters { gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.fx-partner-cnt { opacity: .6; font-variant-numeric: tabular-nums; }
.fx-ui .fx-select-sm { min-height: 38px; padding-block: 6px; font-size: 14px; width: auto; }
.fx-partner-row.is-pending { box-shadow: inset 4px 0 0 #e0a24a; }
.fx-partner-row-main { display: flex; align-items: center; gap: 20px; padding: 16px 20px; }
.fx-partner-amounts { width: 200px; flex: none; text-align: right; }
.fx-partner-status { display: flex; align-items: center; justify-content: flex-end; gap: 12px; width: 210px; flex: none; }
.fx-partner-note { padding: 0 20px 16px; }
.fx-partner-note p { padding: 10px 14px; border-radius: 10px; background: var(--fx-soft); font-size: 14px; color: var(--fx-ink-2); }
.fx-partner-edit { padding: 18px 20px 22px; border-top: 1px solid var(--fx-line); background: var(--fx-soft); }
.fx-partner-items { border: 1px solid var(--fx-line); border-radius: 10px; background: var(--fx-bg); font-size: 14px; }
.fx-partner-items li { gap: 12px; padding: 10px 14px; align-items: baseline; }
.fx-partner-items li + li { border-top: 1px solid var(--fx-line); }
.fx-ui .fx-partner-act.is-ok { border-color: var(--fx-save); background: var(--fx-save); color: #fff; }
.fx-ui .fx-partner-act.is-err { border-color: var(--fx-err); background: var(--fx-err); color: #fff; }
.fx-ui .fx-partner-act.is-dark { border-color: var(--fx-fg); background: var(--fx-fg); color: var(--fx-bg); }
.fx-partner-amount { width: 150px; }
.fx-input-suffix { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-size: 14px; color: var(--fx-muted); pointer-events: none; }
.fx-partner-amount .fx-input { padding-right: 36px; }
@media (max-width: 1100px) { .fx-partner-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .fx-partner-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fx-partner-row-main { flex-direction: column; align-items: stretch; gap: 10px; }
  .fx-partner-amounts { width: auto; text-align: left; }
  .fx-partner-status { width: auto; justify-content: space-between; }
}
.fx-partner-row { overflow: hidden; }
.fx-partner-bar .fx-between { flex-wrap: nowrap; gap: 12px; }
.fx-partner-brand .fx-truncate { min-width: 0; }
@media (max-width: 640px) { .fx-partner-bar .fx-hide-sm { display: none; } .fx-partner-brand { flex-direction: column; gap: 0; } }
