/*
 * filmsupport-cart: dizajnové tokeny a spoločné komponenty (košík, klientská zóna, zdieľaný košík, výber termínu).
 * Načítava sa ako prvý štýl. Všetko je pod obalom `.fsc`, aby nič neunieklo do témy.
 *
 * Tokeny sú na `:where(.fsc)` (nulová špecificita): téma ich prepíše obyčajným `.fsc { --fsc-accent: … }`.
 * Predvolené hodnoty čítajú premenné témy filmsupport.sk (Bootstrap + EC), s identitou filmsupport ako zálohou:
 *   žltá #fed700 (hover #e7c300), tmavá #0f1215 / #181818, text #333e48, písmo Plus Jakarta Sans z témy.
 */
:where(.fsc) {
  --fsc-accent: var(--bs-ec-primary, var(--bs-primary, #fed700));
  --fsc-yellow-soft: #e5c63c; /* len pilulka termínu v tmavej hlavičke mini-košíka (tón ako pôvodná zásuvka) */
  --fsc-accent-hover: var(--bs-ec-primary-d, #e7c300);
  --fsc-ink: var(--bs-ec-dark-ink, #0f1215);              /* nadpisy, text na žltej */
  --fsc-accent-ink: var(--fsc-ink);                        /* text na akcentovej farbe (tmavý, nie biely: AA) */
  --fsc-surface-dark: var(--bs-ec-dark, #181818);
  --fsc-text: var(--bs-dark, #333e48);
  --fsc-muted: #5d6873;
  --fsc-border: #e6e8eb;
  --fsc-border-strong: #c7cdd3;
  --fsc-bg: #ffffff;
  --fsc-bg-soft: #f5f6f7;
  --fsc-accent-soft: color-mix(in srgb, var(--fsc-accent) 10%, #fff);
  --fsc-accent-line: color-mix(in srgb, var(--fsc-accent) 45%, #fff);
  --fsc-danger: #b42318;
  --fsc-warn: #b54708;
  --fsc-ok: #067647;
  --fsc-info: #1e55b3;
  --fsc-radius: 16px;
  --fsc-radius-sm: 12px;
  --fsc-radius-xs: 8px;
  --fsc-gap: 16px;
  --fsc-font: var(--bs-body-font-family, inherit);
  --fsc-shadow: 0 1px 2px rgba(15, 18, 21, .04), 0 6px 20px -8px rgba(15, 18, 21, .10);
  --fsc-shadow-lg: 0 30px 80px -20px rgba(0, 0, 0, .45);
  --fsc-focus: 0 0 0 5px color-mix(in srgb, var(--fsc-accent) 60%, transparent);
  --fsc-max: 76rem;
}

/* ---- základ ---- */
.fsc {
  color: var(--fsc-text, #333e48);
  font-family: var(--fsc-font, inherit);
  font-size: 1rem;
  line-height: 1.5;
  width: 100%;
  max-width: var(--fsc-max, 76rem);
  margin: 0 auto;
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}
@supports (container-type: inline-size) {
  .fsc { container: fsc / inline-size; }
}
.fsc *, .fsc *::before, .fsc *::after { box-sizing: border-box; }
.fsc h1, .fsc h2, .fsc h3, .fsc h4 { color: var(--fsc-ink, #0f1215); font-family: inherit; margin: 0 0 .5rem; line-height: 1.25; letter-spacing: -.01em; }
.fsc h1 { font-size: 2rem; font-weight: 800; }
.fsc h2 { font-size: 1.5rem; font-weight: 800; }
.fsc h3 { font-size: 1.125rem; font-weight: 700; }
.fsc h4 { font-size: 1rem; font-weight: 700; }
.fsc p { margin: 0 0 .5rem; }
.fsc ul, .fsc ol { margin-top: 0; }
.fsc img { max-width: 100%; height: auto; }
.fsc [hidden] { display: none !important; }
.fsc .fsc-muted, .fsc .fsc-hint { color: var(--fsc-muted, #5d6873); }
.fsc .fsc-hint { font-size: .875rem; }
.fsc .fsc-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* odkazy: tmavý text so žltým podčiarknutím (žltý text na bielej by nebol čitateľný) */
.fsc a { color: var(--fsc-ink, #0f1215); text-decoration: underline; text-decoration-color: var(--fsc-accent, #fed700); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.fsc a:hover { text-decoration-color: currentColor; }
.fsc .fsc-link { font-weight: 600; }
/* tlačidlo vzhľadu odkazu (Zrušiť, Zmeniť, + Projekt a poznámka, Pokračovať v nákupe …): rovnaký vzhľad ako odkaz */
.fsc .fsc-link:where(button) {
  padding: 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; cursor: pointer;
  font-family: inherit; font-size: inherit; font-weight: 700; line-height: inherit; letter-spacing: 0; text-transform: none; color: var(--fsc-ink, #0f1215);
  text-decoration: underline; text-decoration-color: var(--fsc-accent, #fed700); text-decoration-thickness: 2px; text-underline-offset: 3px;
}
.fsc .fsc-link:where(button):hover { background: none; color: var(--fsc-ink, #0f1215); text-decoration-color: currentColor; }
.fsc .fsc-link:where(button):active { background: none; color: var(--fsc-ink, #0f1215); opacity: .8; }
.fsc .fsc-link:where(button):focus-visible { outline: 2px solid var(--fsc-ink, #0f1215); outline-offset: 2px; border-radius: 2px; background: none; }
.fsc .fsc-link:where(button):disabled, .fsc .fsc-link:where(button)[aria-busy="true"] { opacity: .55; cursor: default; }

/* fokus: 2 px tmavý obrys + žltá žiara (viditeľné na bielej aj na žltej) */
.fsc :focus { outline: none; }
.fsc :focus-visible { outline: 2px solid var(--fsc-ink, #0f1215); outline-offset: 2px; box-shadow: var(--fsc-focus); border-radius: 6px; }

/* ---- tlačidlá (pilulky) ---- */
.fsc .fsc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 44px; min-width: 44px; padding: 0 1.25rem; margin: 0;
  font: inherit; font-size: .9375rem; font-weight: 600; line-height: 1.2; letter-spacing: 0; text-transform: none;
  color: var(--fsc-ink, #0f1215); background: var(--fsc-bg, #fff);
  border: 1.5px solid var(--fsc-border-strong, #c7cdd3); border-radius: 999px;
  box-shadow: none; cursor: pointer; text-decoration: none; white-space: nowrap; vertical-align: middle;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.fsc .fsc-btn:hover { background: var(--fsc-bg-soft, #f5f6f7); border-color: var(--fsc-ink, #0f1215); color: var(--fsc-ink, #0f1215); }
.fsc .fsc-btn svg { flex: none; }
.fsc .fsc-btn--primary { background: var(--fsc-accent, #fed700); border-color: var(--fsc-accent, #fed700); color: var(--fsc-accent-ink, #0f1215); }
.fsc .fsc-btn--primary:hover { background: var(--fsc-accent-hover, #e7c300); border-color: var(--fsc-accent-hover, #e7c300); color: var(--fsc-accent-ink, #0f1215); }
.fsc .fsc-btn--secondary { background: var(--fsc-bg, #fff); border-color: var(--fsc-ink, #0f1215); color: var(--fsc-ink, #0f1215); }
.fsc .fsc-btn--secondary:hover { background: var(--fsc-ink, #0f1215); border-color: var(--fsc-ink, #0f1215); color: #fff; }
.fsc .fsc-btn--dark { background: var(--fsc-surface-dark, #181818); border-color: var(--fsc-surface-dark, #181818); color: #fff; }
.fsc .fsc-btn--dark:hover { background: #000; border-color: #000; color: #fff; }
.fsc .fsc-btn--ghost { background: transparent; border-color: transparent; }
.fsc .fsc-btn--ghost:hover { background: var(--fsc-bg-soft, #f5f6f7); border-color: transparent; }
.fsc .fsc-btn--danger { background: var(--fsc-danger, #b42318); border-color: var(--fsc-danger, #b42318); color: #fff; }
.fsc .fsc-btn--danger:hover { background: #912018; border-color: #912018; color: #fff; }
.fsc .fsc-btn--sm { min-height: 36px; padding: 0 .9rem; font-size: .875rem; }
.fsc .fsc-btn--lg { min-height: 52px; padding: 0 1.75rem; font-size: 1rem; }
.fsc .fsc-btn--block { display: flex; width: 100%; }
.fsc .fsc-btn--icon { padding: 0; width: 40px; min-width: 40px; height: 40px; min-height: 40px; border-radius: var(--fsc-radius-sm, 12px); border-width: 1px; }
.fsc .fsc-btn--icon.fsc-btn--sm { width: 36px; min-width: 36px; height: 36px; min-height: 36px; border-radius: var(--fsc-r-btn-sm, 8px); }
.fsc .fsc-btn[disabled], .fsc .fsc-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.fsc .fsc-btn[disabled]:hover { background: inherit; }
.fsc .fsc-btn--primary[disabled]:hover { background: var(--fsc-accent, #fed700); border-color: var(--fsc-accent, #fed700); }
.fsc .fsc-btn[aria-busy="true"] { cursor: progress; }
@media (pointer: coarse) {
  .fsc .fsc-btn--sm { min-height: 44px; }
  .fsc .fsc-btn--icon, .fsc .fsc-btn--icon.fsc-btn--sm { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
}
/*
 * Odkazy so vzhľadom tlačidla: téma môže mať pravidlá typu `a { color: … }` / `.entry-content a:visited`, ktoré by
 * prebili farbu textu (text = pozadie). Vyššia špecificita + všetky stavy odkazu.
 */
.fsc a.fsc-btn, .fsc a.fsc-btn:link, .fsc a.fsc-btn:visited, .fsc a.fsc-btn:hover, .fsc a.fsc-btn:focus, .fsc a.fsc-btn:active { color: var(--fsc-ink, #0f1215); text-decoration: none; }
.fsc a.fsc-btn.fsc-btn--primary, .fsc a.fsc-btn.fsc-btn--primary:link, .fsc a.fsc-btn.fsc-btn--primary:visited, .fsc a.fsc-btn.fsc-btn--primary:hover, .fsc a.fsc-btn.fsc-btn--primary:focus, .fsc a.fsc-btn.fsc-btn--primary:active { color: var(--fsc-accent-ink, #0f1215); }
.fsc a.fsc-btn.fsc-btn--secondary:hover, .fsc a.fsc-btn.fsc-btn--dark, .fsc a.fsc-btn.fsc-btn--dark:link, .fsc a.fsc-btn.fsc-btn--dark:visited, .fsc a.fsc-btn.fsc-btn--dark:hover, .fsc a.fsc-btn.fsc-btn--danger, .fsc a.fsc-btn.fsc-btn--danger:visited, .fsc a.fsc-btn.fsc-btn--danger:hover { color: #fff; }

/* ---- formuláre (48 px, 12 px rádius) ---- */
.fsc .fsc-label, .fsc .fsc-field > label, .fsc .fsc-field > span { display: block; font-size: .875rem; font-weight: 600; color: var(--fsc-ink, #0f1215); margin: 0 0 .35rem; }
.fsc .fsc-input, .fsc .fsc-select,
.fsc input[type="text"], .fsc input[type="email"], .fsc input[type="number"], .fsc input[type="search"], .fsc input[type="tel"], .fsc select, .fsc textarea {
  min-height: 48px; padding: 0 .9rem; margin: 0;
  font: inherit; font-size: 16px; /* iOS nezväčšuje stránku pri fokuse */
  color: var(--fsc-ink, #0f1215); background-color: var(--fsc-bg, #fff);
  border: 1px solid var(--fsc-border-strong, #c7cdd3); border-radius: var(--fsc-radius-sm, 12px);
  box-shadow: none; max-width: 100%;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.fsc textarea { padding: .75rem .9rem; min-height: 6rem; }
.fsc select, .fsc .fsc-select {
  -webkit-appearance: none; appearance: none; padding-right: 2.5rem; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230f1215' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .75rem center; background-size: 18px 18px;
}
.fsc .fsc-input, .fsc .fsc-select { width: 100%; }
.fsc .fsc-input:hover, .fsc .fsc-select:hover, .fsc select:hover, .fsc input[type="text"]:hover, .fsc input[type="email"]:hover, .fsc input[type="number"]:hover { border-color: var(--fsc-muted, #5d6873); }
.fsc .fsc-input:focus, .fsc .fsc-select:focus, .fsc select:focus, .fsc textarea:focus,
.fsc input[type="text"]:focus, .fsc input[type="email"]:focus, .fsc input[type="number"]:focus, .fsc input[type="search"]:focus, .fsc input[type="tel"]:focus {
  outline: 2px solid var(--fsc-ink, #0f1215); outline-offset: 0; border-color: var(--fsc-ink, #0f1215); box-shadow: var(--fsc-focus);
}
.fsc [aria-invalid="true"] { border-color: var(--fsc-danger, #b42318); }
.fsc input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--fsc-ink, #0f1215); }
.fsc .fsc-field { display: flex; flex-direction: column; min-width: 0; }
.fsc .fsc-row { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.fsc fieldset { min-width: 0; }

/* ---- karty ---- */
.fsc .fsc-card {
  background: var(--fsc-bg, #fff);
  border: 1px solid var(--fsc-border, #e6e8eb);
  border-radius: var(--fsc-radius, 16px);
  box-shadow: var(--fsc-shadow, none);
  padding: 1.5rem;
  margin: 0 0 var(--fsc-gap, 16px);
}
.fsc .fsc-card__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin: 0 0 1rem; }
.fsc .fsc-card__head h2, .fsc .fsc-card__head h3 { margin: 0; }
.fsc .fsc-card__title { font-size: 1.125rem; font-weight: 800; }
.fsc .fsc-eyebrow { display: inline-flex; align-items: center; gap: .4rem; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fsc-muted, #5d6873); }

/* ---- štítky stavu (vždy s textom; farba nie je jediný nositeľ významu) ---- */
.fsc .fsc-chip {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .2rem .65rem; font-size: .8125rem; font-weight: 600; line-height: 1.4;
  border-radius: 999px; border: 0; white-space: nowrap;
  color: #3d4750; background: #eef0f2;
}
.fsc .fsc-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.fsc .fsc-chip--info { color: #174291; background: #e8effb; }
.fsc .fsc-chip--ok { color: #05603a; background: #e3f4ea; }
.fsc .fsc-chip--warn { color: #93370d; background: #fdefdc; }
.fsc .fsc-chip--danger { color: #912018; background: #fde8e6; }
.fsc .fsc-chip--muted, .fsc .fsc-chip--neutral { color: #3d4750; background: #eef0f2; }
.fsc .fsc-chip--project { color: var(--fsc-ink, #0f1215); background: var(--fsc-accent-soft, #fffbe6); box-shadow: inset 0 0 0 1px var(--fsc-accent-line, #ffeb80); }
.fsc .fsc-chip--project::before { background: var(--fsc-accent, #fed700); }

/* ---- záložky (podčiarknutie + 3 px žltý horný okraj aktívnej) ---- */
.fsc .fsc-tabs { display: flex; gap: 0; margin: 0 0 1.5rem; border-bottom: 1px solid var(--fsc-border, #e6e8eb); overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.fsc .fsc-tabs::-webkit-scrollbar { display: none; }
.fsc .fsc-tab {
  flex: 0 0 auto; position: relative; min-height: 52px; padding: .75rem 1.25rem; margin: 0 0 -1px;
  font: inherit; font-size: .9375rem; font-weight: 600; color: var(--fsc-muted, #5d6873); white-space: nowrap;
  background: transparent; border: 1px solid transparent; border-top: 3px solid transparent; border-radius: 0; cursor: pointer;
}
.fsc .fsc-tab:hover { color: var(--fsc-ink, #0f1215); background: var(--fsc-bg-soft, #f5f6f7); }
.fsc .fsc-tab[aria-selected="true"] {
  color: var(--fsc-ink, #0f1215); background: var(--fsc-bg, #fff);
  border-color: var(--fsc-border, #e6e8eb); border-top-color: var(--fsc-accent, #fed700); border-bottom-color: var(--fsc-bg, #fff);
}

/* ---- prepínač (tmavá dráha, žltá aktívna) ---- */
.fsc .fsc-pill { display: inline-flex; gap: 2px; padding: 4px; border-radius: 999px; background: var(--fsc-surface-dark, #181818); }
.fsc .fsc-pill__btn {
  min-height: 36px; padding: 0 1.1rem; margin: 0;
  font: inherit; font-size: .875rem; font-weight: 600; color: #e9ecef;
  background: transparent; border: 0; border-radius: 999px; cursor: pointer;
}
.fsc .fsc-pill__btn:hover { color: #fff; background: rgba(255, 255, 255, .08); }
.fsc .fsc-pill__btn[aria-pressed="true"] { color: var(--fsc-accent-ink, #0f1215); background: var(--fsc-accent, #fed700); }
.fsc .fsc-pill__btn:focus-visible { outline-color: #fff; }
@media (pointer: coarse) { .fsc .fsc-pill__btn { min-height: 44px; } }

/* ---- tabuľky (pod 640 px šírky kontajnera sa menia na karty cez data-label) ---- */
.fsc .fsc-table { width: 100%; border-collapse: collapse; border-spacing: 0; margin: 0; font-size: .9375rem; background: transparent; border: 0; }
.fsc .fsc-table th, .fsc .fsc-table td { padding: .85rem .75rem; text-align: left; vertical-align: middle; border: 0; border-bottom: 1px solid var(--fsc-border, #e6e8eb); background: transparent; }
.fsc .fsc-table th { font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--fsc-muted, #5d6873); white-space: nowrap; padding-top: .5rem; padding-bottom: .6rem; }
.fsc .fsc-table th:first-child, .fsc .fsc-table td:first-child { padding-left: 0; }
.fsc .fsc-table th:last-child, .fsc .fsc-table td:last-child { padding-right: 0; }
.fsc .fsc-table tbody tr:last-child td { border-bottom: 0; }
.fsc .fsc-table tbody tr:hover td { background: color-mix(in srgb, var(--fsc-bg-soft, #f5f6f7) 70%, transparent); }
.fsc .fsc-table td:first-child { font-weight: 700; color: var(--fsc-ink, #0f1215); }
.fsc .fsc-table__actions { white-space: nowrap; }
.fsc .fsc-table__actions > * { margin: 2px 4px 2px 0; }
.fsc .fsc-table .fsc-select { min-width: 10rem; min-height: 40px; }

@media (max-width: 639px) {
  .fsc .fsc-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); }
  .fsc .fsc-table, .fsc .fsc-table tbody, .fsc .fsc-table tr, .fsc .fsc-table td { display: block; width: 100%; }
  .fsc .fsc-table tr { margin: 0 0 .75rem; padding: .5rem 1rem; background: var(--fsc-bg, #fff); border: 1px solid var(--fsc-border, #e6e8eb); border-radius: var(--fsc-radius-sm, 12px); }
  .fsc .fsc-table tbody tr:hover td { background: transparent; }
  .fsc .fsc-table td, .fsc .fsc-table td:first-child, .fsc .fsc-table td:last-child { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--fsc-bg-soft, #f5f6f7); text-align: right; }
  .fsc .fsc-table td:last-child { border-bottom: 0; }
  .fsc .fsc-table td::before { content: attr(data-label); flex: 0 0 38%; text-align: left; font-size: .75rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--fsc-muted, #5d6873); }
  .fsc .fsc-table td:not([data-label])::before { content: none; }
  .fsc .fsc-table td:not([data-label]) { justify-content: flex-end; }
  .fsc .fsc-table .fsc-pc { align-items: flex-end; flex: 1 1 auto; }
  .fsc .fsc-table .fsc-select { min-width: 0; }
  .fsc .fsc-table__actions { white-space: normal; flex-wrap: wrap; justify-content: flex-end; }
}
@supports (container-type: inline-size) {
  @container fsc (max-width: 720px) {
    .fsc-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); }
    .fsc-table, .fsc-table tbody, .fsc-table tr, .fsc-table td { display: block; width: 100%; }
    .fsc .fsc-table tr { margin: 0 0 .75rem; padding: .5rem 1rem; background: var(--fsc-bg, #fff); border: 1px solid var(--fsc-border, #e6e8eb); border-radius: var(--fsc-radius-sm, 12px); }
    .fsc .fsc-table tbody tr:hover td { background: transparent; }
    .fsc .fsc-table td, .fsc .fsc-table td:first-child, .fsc .fsc-table td:last-child { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--fsc-bg-soft, #f5f6f7); text-align: right; }
    .fsc .fsc-table td:last-child { border-bottom: 0; }
    .fsc .fsc-table td::before { content: attr(data-label); flex: 0 0 38%; text-align: left; font-size: .75rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--fsc-muted, #5d6873); }
    .fsc .fsc-table td:not([data-label])::before { content: none; }
    .fsc .fsc-table td:not([data-label]) { justify-content: flex-end; }
    .fsc .fsc-table .fsc-pc { align-items: flex-end; flex: 1 1 auto; }
    .fsc .fsc-table .fsc-select { min-width: 0; }
    .fsc .fsc-table__actions { white-space: normal; flex-wrap: wrap; justify-content: flex-end; }
  }
}

/* ---- stavové správy, banery, toast ---- */
.fsc .fsc-flash, .fsc .fsc-pc__status { min-height: 0; margin: .4rem 0 0; font-size: .875rem; }
.fsc .fsc-flash:empty, .fsc .fsc-pc__status:empty { display: none; }
.fsc .fsc-flash[data-type="error"], .fsc .fsc-pc__status[data-type="error"] { color: var(--fsc-danger, #b42318); font-weight: 600; }
.fsc .fsc-flash[data-type="ok"], .fsc .fsc-pc__status[data-type="ok"] { color: var(--fsc-ok, #067647); font-weight: 600; }
.fsc .fsc-notice, .fsc .fsc-verify-banner, .fsc .fsc-banner {
  display: block; padding: .85rem 1rem .85rem 1.1rem; margin: 0 0 var(--fsc-gap, 16px);
  color: var(--fsc-ink, #0f1215); font-size: .9375rem;
  background: #eef3fc; border: 1px solid #cddcf5; border-left: 4px solid var(--fsc-info, #1e55b3); border-radius: var(--fsc-radius-sm, 12px);
}
.fsc .fsc-verify-banner, .fsc .fsc-banner--warn { background: #fef6ea; border-color: #f7d9b0; border-left-color: var(--fsc-warn, #b54708); }
.fsc .fsc-banner--ok { background: #ecf7f0; border-color: #bfe3cd; border-left-color: var(--fsc-ok, #067647); }
.fsc .fsc-banner--error, .fsc .fsc-error { background: #fdf0ef; border: 1px solid #f4c7c3; border-left: 4px solid var(--fsc-danger, #b42318); border-radius: var(--fsc-radius-sm, 12px); padding: .85rem 1rem .85rem 1.1rem; }
.fsc .fsc-error p { color: var(--fsc-danger, #b42318); font-weight: 600; }
.fsc .fsc-verify-banner p, .fsc .fsc-banner p { margin: 0 0 .5rem; }
.fsc .fsc-verify-banner p:last-child, .fsc .fsc-banner p:last-child { margin-bottom: 0; }
.fsc .fsc-toast {
  display: flex; align-items: center; gap: .6rem; padding: .7rem 1rem; margin: 0 0 var(--fsc-gap, 16px);
  font-size: .9375rem; font-weight: 600; color: #fff; background: var(--fsc-surface-dark, #181818); border-radius: var(--fsc-radius-sm, 12px);
  box-shadow: var(--fsc-shadow, none);
}
.fsc .fsc-toast:empty { display: none; }
.fsc .fsc-toast::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--fsc-accent, #fed700); flex: none; }
.fsc .fsc-toast[data-type="error"] { background: var(--fsc-danger, #b42318); }
.fsc .fsc-toast[data-type="error"]::before { background: #fff; }

/* ---- výber projektu ---- */
.fsc .fsc-pc { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.fsc .fsc-pc__new { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.fsc .fsc-pc__new .fsc-input { flex: 1 1 10rem; width: auto; }
.fsc .fsc-pc[aria-busy="true"] .fsc-select { opacity: .6; }

/* ---- prázdne stavy ---- */
.fsc .fsc-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .35rem; padding: 2.5rem 1rem; color: var(--fsc-text, #333e48); }
.fsc .fsc-empty__icon { display: inline-grid; place-items: center; width: 64px; height: 64px; margin: 0 0 .5rem; border-radius: 50%; color: var(--fsc-ink, #0f1215); background: var(--fsc-accent-soft, #fffbe6); box-shadow: inset 0 0 0 1px var(--fsc-accent-line, #ffeb80); }
.fsc .fsc-empty__icon svg { width: 28px; height: 28px; }
.fsc .fsc-empty__title { margin: 0; font-size: 1.125rem; font-weight: 800; color: var(--fsc-ink, #0f1215); }
.fsc .fsc-empty p { margin: 0; }
.fsc .fsc-empty .fsc-btn { margin-top: .85rem; }

/* ---- načítavanie ---- */
.fsc .fsc-skeleton { display: grid; gap: .65rem; padding: .25rem 0; }
.fsc .fsc-skeleton__row { display: block; height: 3rem; border-radius: var(--fsc-radius-sm, 12px); background: linear-gradient(90deg, #f1f2f4 25%, #e6e8eb 50%, #f1f2f4 75%); background-size: 200% 100%; animation: fsc-shimmer 1.4s linear infinite; }
.fsc .fsc-skeleton__row:nth-child(3) { width: 85%; }
.fsc .fsc-skeleton__row:nth-child(4) { width: 70%; }
@keyframes fsc-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.fsc [aria-busy="true"] > .fsc-table { opacity: .6; }

/* ---- tip (i) ---- */
.fsc .fsc-tip { display: inline-block; position: relative; vertical-align: middle; margin-left: .25rem; }
.fsc .fsc-tip > summary {
  list-style: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; font-size: .75rem; font-weight: 800; font-style: normal;
  color: var(--fsc-ink, #0f1215); background: var(--fsc-accent-soft, #fffbe6); border: 1px solid var(--fsc-accent-line, #ffeb80); border-radius: 50%;
}
.fsc .fsc-tip > summary::-webkit-details-marker { display: none; }
.fsc .fsc-tip > span {
  position: absolute; z-index: 5; right: 0; top: 130%; width: 16rem; max-width: 70vw; padding: .65rem .8rem;
  font-size: .8125rem; font-style: normal; font-weight: 400; text-align: left; color: var(--fsc-text, #333e48);
  background: var(--fsc-bg, #fff); border: 1px solid var(--fsc-border, #e6e8eb); border-radius: var(--fsc-radius-sm, 12px); box-shadow: var(--fsc-shadow, none);
}

/* ---- Zoznam techniky (PDF) ---- */
.fsc .fsc-eq { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .35rem .85rem; }
.fsc .fsc-eq__group { display: inline-flex; align-items: center; gap: .4rem; font-size: .8125rem; color: var(--fsc-muted, #5d6873); }
.fsc .fsc-eq__group input { margin: 0; }
.fsc .fsc-eq__group label { cursor: pointer; }
.fsc .fsc-eq__status { flex-basis: 100%; font-size: .8125rem; }
.fsc .fsc-eq__status:empty { display: none; }
.fsc .fsc-eq__status[data-type="error"] { color: var(--fsc-danger, #b42318); font-weight: 600; }
.fsc .fsc-eq__status[data-type="ok"] { color: var(--fsc-ok, #067647); }

@media (prefers-reduced-motion: reduce) {
  .fsc *, .fsc *::before, .fsc *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---- combobox projektu (košík a uloženie rozpracovanej objednávky) ---- */
.fsc .fsc-pcb { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.fsc .fsc-pcb__wrap { position: relative; }
.fsc .fsc-pcb__input { width: 100%; padding-right: 2.75rem; }
.fsc .fsc-pcb__clear { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); border-color: transparent; background: transparent; }
.fsc .fsc-pcb__list { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px); max-height: 16rem; overflow-y: auto; margin: 0; padding: .3rem; list-style: none; background: var(--fsc-bg, #fff); border: 1px solid var(--fsc-border, #e6e8eb); border-radius: var(--fsc-radius-sm, 12px); box-shadow: 0 12px 28px -12px rgba(15, 18, 21, .35); }
.fsc .fsc-pcb__opt { display: flex; align-items: center; gap: .5rem; min-height: 44px; padding: .45rem .7rem; border-radius: 8px; cursor: pointer; color: var(--fsc-ink, #0f1215); overflow-wrap: anywhere; }
.fsc .fsc-pcb__opt.is-active, .fsc .fsc-pcb__opt:hover { background: var(--fsc-accent-soft, #fffbe6); box-shadow: inset 0 0 0 1px var(--fsc-accent-line, #ffeb80); }
.fsc .fsc-pcb__opt--new { font-weight: 700; }
.fsc .fsc-pcb__opt--none { color: var(--fsc-muted, #5d6873); }
.fsc .fsc-pcb__cur { margin-left: auto; font-size: .75rem; color: var(--fsc-muted, #5d6873); }
.fsc .fsc-pcb__hint { margin: 0; font-size: .8125rem; }
.fsc .fsc-pcb[aria-busy="true"] .fsc-pcb__input { opacity: .6; }

/* odhlásenie v inej karte (fsc-core.js showSessionBanner) */
.fsc.fsc-session { position: sticky; top: 0; z-index: 100000; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: center; padding: .625rem 1rem; background: #fef6ea; border-bottom: 2px solid var(--fsc-warn, #b54708); color: var(--fsc-text, #333e48); font: 600 .9375rem/1.4 var(--fsc-font, system-ui, sans-serif); }
.fsc.fsc-session .fsc-link { font-weight: 700; }

/* ---- telefón s predvoľbou (fsc-phone.js): predvoľba a číslo ako jedno pole, stav „✓ platné číslo“ ---- */
.fsc .fsc-phone { display: flex; align-items: stretch; width: 100%; min-width: 0; }
.fsc .fsc-phone select.fsc-phone__prefix, .fsc .fsc-auth .fsc-phone select.fsc-auth__prefix {
  flex: none; width: auto; min-width: 0; padding: 0 2rem 0 .75rem; margin: 0; font-weight: 600; font-size: .9375rem;
  background-color: var(--fsc-bg-soft, #f5f6f7); background-position: right .5rem center; background-size: 16px 16px;
  border: 1.5px solid var(--fsc-ctl-bd, #c4cad1); border-right: 0; border-radius: var(--fsc-r-ctl, 12px) 0 0 var(--fsc-r-ctl, 12px);
}
.fsc .fsc-phone input.fsc-phone__input { flex: 1 1 auto; width: auto; min-width: 0; border-radius: 0 var(--fsc-r-ctl, 12px) var(--fsc-r-ctl, 12px) 0; }
.fsc .fsc-phone.is-err select, .fsc .fsc-phone.is-err input { border-color: var(--fsc-danger, #b42318); }
.fsc .fsc-phone__ok { display: inline-flex; align-self: flex-start; align-items: center; gap: .3rem; margin: .4rem 0 0; padding: .15rem .6rem; font-size: .8125rem; font-weight: 700; line-height: 1.4; color: var(--fsc-ok, #067647); background: #e9f7ef; border-radius: 999px; }
.fsc .fsc-phone__ok[hidden], .fsc .fsc-phone__err[hidden] { display: none; }
.fsc .fsc-phone__err { margin: .35rem 0 0; font-size: .8125rem; font-weight: 600; color: var(--fsc-danger, #b42318); }

/* =====================================================================
 * Dizajn B (2026-10-27, voľba majiteľa): tmavé plochy ako hlavička webu (stavový pás, súhrn, bočný panel zóny),
 * ostrejšie karty (12 px) a hranaté tlačidlá mimo formulárov; formulárové prvky mäkšie podľa A
 * (pole 50 px, rádius 12 px, tlačidlá vo formulároch ako pilulky, vzdušnejšie karty formulárov).
 * Hodnoty: docs/design/README.md (tokeny), koncept-b.html (rozloženie), koncept-a.html (ovládacie prvky).
 * ===================================================================== */
:where(.fsc) {
  --fsc-page: #eef0f2;
  --fsc-card-bd: #dcdfe3;
  --fsc-line: #e5e8eb;
  --fsc-r-card: 12px;
  --fsc-r-btn: 12px; /* ako tlačidlá webu (44–52 px) */
  --fsc-r-btn-sm: 8px; /* malé tlačidlá do 40 px */
  --fsc-r-ctl: 12px;
  --fsc-ctl-h: 50px;
  --fsc-ctl-bd: #d9dde2;
  --fsc-ctl-bd-hover: #aab1b9;
  --fsc-auto-bg: #fffbe6;
  --fsc-hl: #fff6c2;
  --fsc-dark: #101215;
  --fsc-dark-2: #16191d;
  --fsc-dark-3: #1c2025;
  --fsc-dark-line: #2a2f35;
  --fsc-dark-bd: #3a4047;
  --fsc-dark-fg: #c9d0d6;
  --fsc-dark-muted: #9aa4ad;
  --fsc-save: #7ee2a8;
  --fsc-pad: 20px;
  --fsc-pad-form: 28px;
  --fsc-gap-form: 24px;
  --fsc-muted: #58626c;
  --fsc-text: #262d34;
  --fsc-radius: 12px;
  --fsc-shadow: none;
  --fsc-border: #dcdfe3;
  --fsc-border-strong: #c4cad1;
}
.fsc { font-variant-numeric: tabular-nums; }

/* tlačidlá: B hranaté (8 px), vo formulároch pilulky (A) */
.fsc .fsc-btn { border-radius: var(--fsc-r-btn, 8px); font-weight: 700; }
.fsc .fsc-btn--primary:hover { box-shadow: inset 0 0 0 1.5px var(--fsc-ink, #0f1215); }
.fsc .fsc-btn--secondary { border-color: var(--fsc-ink, #0f1215); }
.fsc .fsc-btn--secondary:hover { background: var(--fsc-bg, #fff); color: var(--fsc-ink, #0f1215); box-shadow: inset 0 0 0 1px var(--fsc-ink, #0f1215); }
.fsc .fsc-btn--dark { background: var(--fsc-dark, #101215); border-color: var(--fsc-dark, #101215); }
.fsc .fsc-btn--dark:hover { background: #262a30; border-color: #262a30; }
.fsc form .fsc-btn, .fsc .fsc-form .fsc-btn, .fsc .fsc-contact .fsc-btn, .fsc .fsc-auth .fsc-btn, .fsc .fsc-signin .fsc-btn, .fsc .fsc-cart__options .fsc-btn, .fsc .fsc-pcb .fsc-btn, .fsc .fsc-cart__project .fsc-btn { border-radius: var(--fsc-r-btn, 12px); }
.fsc form .fsc-btn:not(.fsc-btn--sm):not(.fsc-btn--icon), .fsc .fsc-auth .fsc-btn:not(.fsc-btn--sm):not(.fsc-btn--icon) { min-height: 48px; padding: 0 1.5rem; }
.fsc form .fsc-btn--lg, .fsc .fsc-auth .fsc-btn--lg { min-height: 56px; }
.fsc .fsc-btn--icon { border-radius: var(--fsc-r-btn-sm, 8px); }

/* polia (A): 50 px, 1,5 px okraj, 12 px rádius, žltá žiara pri fokuse */
.fsc .fsc-label, .fsc .fsc-field > label, .fsc .fsc-field > span { font-size: .8125rem; font-weight: 700; margin: 0 0 6px; }
.fsc .fsc-input, .fsc .fsc-select,
.fsc input[type="text"], .fsc input[type="email"], .fsc input[type="number"], .fsc input[type="search"], .fsc input[type="tel"], .fsc input[type="password"], .fsc select, .fsc textarea {
  min-height: var(--fsc-ctl-h, 50px); padding: 0 14px; border: 1.5px solid var(--fsc-ctl-bd, #d9dde2); border-radius: var(--fsc-r-ctl, 12px); background-color: #fff;
}
.fsc textarea { padding: 12px 14px; line-height: 1.5; }
.fsc select, .fsc .fsc-select { padding-right: 2.5rem; }
.fsc .fsc-input::placeholder, .fsc input::placeholder, .fsc textarea::placeholder { color: #6b7580; opacity: 1; }
.fsc .fsc-input:hover, .fsc .fsc-select:hover, .fsc select:hover, .fsc textarea:hover,
.fsc input[type="text"]:hover, .fsc input[type="email"]:hover, .fsc input[type="number"]:hover, .fsc input[type="tel"]:hover, .fsc input[type="password"]:hover { border-color: var(--fsc-ctl-bd-hover, #aab1b9); }
.fsc .fsc-input:focus, .fsc .fsc-select:focus, .fsc select:focus, .fsc textarea:focus,
.fsc input[type="text"]:focus, .fsc input[type="email"]:focus, .fsc input[type="number"]:focus, .fsc input[type="search"]:focus, .fsc input[type="tel"]:focus, .fsc input[type="password"]:focus {
  outline: 2px solid var(--fsc-ink, #0f1215); outline-offset: 0; border-color: var(--fsc-ink, #0f1215); box-shadow: 0 0 0 5px rgba(254, 215, 0, .6);
}
.fsc [aria-invalid="true"]:not([type="checkbox"]) { border-color: #d92d20; box-shadow: 0 0 0 4px rgba(217, 45, 32, .12); }
.fsc input:disabled, .fsc select:disabled, .fsc textarea:disabled { background: #f4f5f6; color: #6b7580; border-color: #e6e8eb; }

/* zaškrtávacie políčko (A): 22 px, rádius 7 px, zaškrtnuté tmavé so žltou fajkou */
.fsc input[type="checkbox"] {
  -webkit-appearance: none; appearance: none; flex: none; display: inline-grid; place-content: center;
  width: 22px; height: 22px; min-height: 0; margin: 0; padding: 0; vertical-align: -5px;
  background: #fff no-repeat center / 16px 16px; border: 1.5px solid #8a939c; border-radius: 7px; cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
.fsc input[type="checkbox"]:hover { border-color: var(--fsc-ink, #0f1215); }
.fsc input[type="checkbox"]:checked {
  background-color: var(--fsc-ink, #0f1215); border-color: var(--fsc-ink, #0f1215);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fed700' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E");
}
.fsc input[type="checkbox"]:focus-visible { outline: 2px solid var(--fsc-ink, #0f1215); outline-offset: 2px; box-shadow: 0 0 0 5px rgba(254, 215, 0, .6); border-radius: 7px; }
.fsc input[type="checkbox"][aria-invalid="true"] { border-color: #d92d20; box-shadow: 0 0 0 4px rgba(217, 45, 32, .12); outline: 0; }

/* segmentované tlačidlo (A): svetlá dráha, aktívna biela s tieňom */
.fsc div.fsc-pill { gap: 4px; padding: 4px; border-radius: 14px; background: #eef0f2; }
.fsc div.fsc-pill .fsc-pill__btn { min-height: 40px; padding: 0 1.1rem; border-radius: 11px; font-weight: 700; color: var(--fsc-muted, #58626c); }
.fsc div.fsc-pill .fsc-pill__btn:hover { color: var(--fsc-ink, #0f1215); background: rgba(255, 255, 255, .6); }
.fsc div.fsc-pill .fsc-pill__btn[aria-pressed="true"] { color: var(--fsc-ink, #0f1215); background: #fff; box-shadow: 0 1px 3px rgba(15, 18, 21, .12); }
.fsc div.fsc-pill .fsc-pill__btn:focus-visible { outline-color: var(--fsc-ink, #0f1215); }

/* karty B: 12 px, tenký okraj, bez tieňa */
.fsc .fsc-card { border-color: var(--fsc-card-bd, #dcdfe3); border-radius: var(--fsc-r-card, 12px); box-shadow: none; padding: var(--fsc-pad, 20px); }
.fsc .fsc-form { gap: var(--fsc-gap-form, 24px); }
.fsc .fsc-card:has(> form.fsc-form), .fsc .fsc-card:has(> .fsc-form) { padding: var(--fsc-pad-form, 28px); }
.fsc .fsc-card__title { font-size: .8125rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--fsc-ink, #0f1215); }
.fsc .fsc-chip { border-radius: 6px; font-weight: 700; }

/* tabuľky B: tmavá hlavička */
.fsc .fsc-table th { color: var(--fsc-dark-fg, #c9d0d6); background: var(--fsc-dark-2, #16191d); padding: .85rem .75rem; letter-spacing: .07em; }
.fsc .fsc-table th:first-child { padding-left: 1rem; border-radius: 8px 0 0 0; }
.fsc .fsc-table th:last-child { padding-right: 1rem; border-radius: 0 8px 0 0; }
.fsc .fsc-table td:first-child { padding-left: 1rem; }
.fsc .fsc-table td:last-child { padding-right: 1rem; }
.fsc .fsc-table tbody tr:hover td { background: #fffbe6; }
.fsc .fsc-table td { border-bottom-color: var(--fsc-line, #e5e8eb); }

/* telefón v štýle A */
.fsc .fsc-phone select.fsc-phone__prefix, .fsc .fsc-auth .fsc-phone select.fsc-auth__prefix { min-height: var(--fsc-ctl-h, 50px); background-color: #f1f2f4; border-width: 1.5px; border-color: var(--fsc-ctl-bd, #d9dde2); }
.fsc .fsc-phone.is-ok input.fsc-phone__input { border-color: #8fceaa; }

/* pole telefónu v .fsc-field (span > span): nie ako popis poľa */
.fsc .fsc-field > span.fsc-phone, .fsc span.fsc-phone { display: flex; margin: 0; font-size: inherit; font-weight: inherit; color: inherit; }
.fsc .fsc-field > span.fsc-phone__ok, .fsc span.fsc-phone__ok { display: inline-flex; align-self: flex-start; margin: .4rem 0 0; font-size: .8125rem; font-weight: 700; color: var(--fsc-ok, #067647); }
.fsc .fsc-field > span.fsc-phone__ok[hidden], .fsc span.fsc-phone__ok[hidden] { display: none; }

/* ---- Pilulka termínu (jednotná: košík, stavový pás, mini-košík): Od | Do, bez šípky, ikon a čiarky ---- */
.fsc .fsc-when { display: inline-flex; align-items: stretch; max-width: 100%; text-align: left; line-height: 1.2; font-variant-numeric: tabular-nums; }
.fsc .fsc-when__part { display: flex; flex-direction: column; justify-content: center; gap: 3px; min-width: 0; padding: 0 1rem; }
.fsc .fsc-when__part:first-child { padding-left: 0; }
.fsc .fsc-when__part:last-child { padding-right: 0; border-left: 1px solid currentColor; border-left-color: color-mix(in srgb, currentColor 22%, transparent); }
.fsc .fsc-when__lbl { font-size: .6875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .6; }
.fsc .fsc-when__val { white-space: nowrap; font-size: 1rem; }
.fsc .fsc-when__date { font-weight: 800; }
.fsc .fsc-when__time { margin-left: .3em; font-weight: 600; opacity: .72; }
/* kompaktná (stavový pás): jeden riadok bez štítkov a roka */
.fsc .fsc-when--compact .fsc-when__lbl { display: none; }
.fsc .fsc-when--compact .fsc-when__part { padding: 0 .65rem; }
.fsc .fsc-when--compact .fsc-when__part:first-child { padding-left: 0; }
.fsc .fsc-when--compact .fsc-when__part:last-child { padding-right: 0; }
.fsc .fsc-when--compact .fsc-when__val { font-size: inherit; }
/* úzky priestor: stále jeden riadok – skryje sa rok, pod 300 px aj deň v týždni */
@container fsc-when-box (max-width: 379.98px) {
  .fsc .fsc-when__year { display: none; }
  .fsc .fsc-when:not(.fsc-when--compact) .fsc-when__part { padding: 0 .8rem; }
  .fsc .fsc-when:not(.fsc-when--compact) .fsc-when__part:first-child { padding-left: 0; }
  .fsc .fsc-when:not(.fsc-when--compact) .fsc-when__part:last-child { padding-right: 0; }
  .fsc .fsc-when__val { font-size: .9375rem; }
}
@container fsc-when-box (max-width: 299.98px) {
  .fsc .fsc-when__wd { display: none; }
}

