/* =====================================================
   Biznisa Srovnávač — detail terminálu (0.2.6)
   [bz_terminal_nav] · [bz_terminal_souhrn] · [bz_terminal_nabidky]
   Tokeny z app.css (.bzs). Návrh: canvas „Detail terminálu s nabídkami“.
   ===================================================== */

.bzs.bzs-term-nav, .bzs.bzs-term-souhrn, .bzs.bzs-term { font-family: Inter, system-ui, -apple-system, sans-serif; color: var(--bzs-ink); box-sizing: border-box; }
.bzs-term-nav *, .bzs-term-souhrn *, .bzs-term * { box-sizing: border-box; }
.bzs-term-souhrn p, .bzs-term p { margin: 0; padding: 0; }

/* ---------- Tlačítka ---------- */
.bzs .bzs-term-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: 999px; font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none; text-align: center; cursor: pointer; transition: filter .15s, background .15s; }
.bzs .bzs-term-btn--primary { background: var(--bzs-grad-primary); color: #fff; box-shadow: var(--bzs-shadow-cta); border: 0; }
.bzs .bzs-term-btn--primary:hover { filter: brightness(1.06); color: #fff; }
.bzs .bzs-term-btn--ghost { background: #fff; color: var(--bzs-brand-600); border: 1px solid var(--bzs-border-brand); font-weight: 500; font-size: 14px; }
.bzs .bzs-term-btn--ghost:hover { background: var(--bzs-purple-50); color: var(--bzs-brand-700); }
.bzs .bzs-term-btn--white { background: #fff; color: var(--bzs-brand-600); border: 0; min-height: 46px; }
.bzs .bzs-term-btn--white:hover { color: var(--bzs-brand-800); background: #FBF6FD; }
.bzs .bzs-term-btn--outline { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.55); font-weight: 500; font-size: 14px; }
.bzs .bzs-term-btn--outline:hover { background: rgba(255,255,255,.12); color: #fff; }

/* Barva textu odkazů pevně ve všech stavech — Divi/šablona jinak přebarví navštívené
   (:visited) a fokusované odkazy (0.2.10) */
.bzs a.bzs-term-btn--primary, .bzs a.bzs-term-btn--primary:link, .bzs a.bzs-term-btn--primary:visited, .bzs a.bzs-term-btn--primary:hover, .bzs a.bzs-term-btn--primary:focus, .bzs a.bzs-term-btn--primary:active,
.bzs a.bzs-term-btn--outline, .bzs a.bzs-term-btn--outline:link, .bzs a.bzs-term-btn--outline:visited, .bzs a.bzs-term-btn--outline:hover, .bzs a.bzs-term-btn--outline:focus, .bzs a.bzs-term-btn--outline:active { color: #fff !important; }
.bzs a.bzs-term-btn--white, .bzs a.bzs-term-btn--white:link, .bzs a.bzs-term-btn--white:visited, .bzs a.bzs-term-btn--white:focus, .bzs a.bzs-term-btn--white:active,
.bzs a.bzs-term-btn--ghost, .bzs a.bzs-term-btn--ghost:link, .bzs a.bzs-term-btn--ghost:visited, .bzs a.bzs-term-btn--ghost:focus, .bzs a.bzs-term-btn--ghost:active { color: var(--bzs-brand-600) !important; }
.bzs a.bzs-term-btn--white:hover { color: var(--bzs-brand-800) !important; }
.bzs a.bzs-term-btn--ghost:hover { color: var(--bzs-brand-700) !important; }
.bzs a.bzs-term-pill, .bzs a.bzs-term-pill:link, .bzs a.bzs-term-pill:visited, .bzs a.bzs-term-pill:focus { color: var(--bzs-ink) !important; }
.bzs a.bzs-term-pill:hover, .bzs a.bzs-term-pill.is-primary, .bzs a.bzs-term-pill.is-primary:visited { color: var(--bzs-brand-700) !important; }
.bzs-term .bzs-term-note a, .bzs-term .bzs-term-note a:visited, .bzs-term .bzs-term-note a:focus { color: var(--bzs-brand-600) !important; }
.bzs-term .bzs-term-note a:hover { color: var(--bzs-brand-700) !important; text-decoration: underline; }
.bzs a.bzs-term-btn:focus-visible, .bzs a.bzs-term-pill:focus-visible { outline: 2px solid var(--bzs-brand-600); outline-offset: 2px; }

/* ---------- Kotvy pod obrázkem ---------- */
.bzs.bzs-term-nav { display: flex; flex-wrap: nowrap; gap: 6px; overflow-x: auto; margin-top: 12px; padding-bottom: 2px; scrollbar-width: none; }
.bzs.bzs-term-nav::-webkit-scrollbar { display: none; }
.bzs .bzs-term-pill { display: inline-flex; align-items: center; min-height: 40px; padding: 0 13px; border-radius: 999px; border: 1px solid var(--bzs-border-brand); background: #fff; color: var(--bzs-ink); font-size: 13px; font-weight: 500; white-space: nowrap; text-decoration: none; }
.bzs .bzs-term-pill:hover { background: var(--bzs-purple-50); color: var(--bzs-brand-700); }
.bzs .bzs-term-pill.is-primary { background: var(--bzs-purple-50); border-color: var(--bzs-purple-50); color: var(--bzs-brand-700); font-weight: 600; }

/* ---------- Souhrn (gradient box) ---------- */
.bzs.bzs-term-souhrn { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 10px; padding: 26px 24px; border-radius: 20px; background: var(--bzs-grad-hero); color: #fff; box-shadow: var(--bzs-shadow-cta); }
.bzs-term-souhrn .bzs-term-bizzy { position: absolute; right: -6px; top: 16px; width: 82px; height: auto; pointer-events: none; }
.bzs-term-souhrn .bzs-term-souhrn-od { font-size: 15px; color: #F1D3E6; margin-top: 2px; }
.bzs-term-souhrn .bzs-term-souhrn-price { font-size: 38px; line-height: 1.05; font-weight: 500; color: #fff; }
.bzs-term-souhrn .bzs-term-souhrn-sub { font-size: 13px; color: #F1D3E6; margin-bottom: 8px; padding-right: 60px; }
.bzs-term-souhrn .bzs-term-souhrn-empty { font-size: 22px; line-height: 1.25; font-weight: 500; color: #fff; padding-right: 70px; }
.bzs-term-souhrn .bzs-term-souhrn-foot { font-size: 12px; color: #F1D3E6; }

/* ---------- Sekce nabídek ---------- */
.bzs.bzs-term { display: flex; flex-direction: column; gap: 18px; scroll-margin-top: 110px; }

/* Kalkulačka */
.bzs-term .bzs-term-calc { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; background: var(--bzs-purple-50); border-radius: 16px; padding: 16px 18px; margin: 0; }
.bzs-term .bzs-term-field { display: flex; flex-direction: column; gap: 6px; }
.bzs-term .bzs-term-field[hidden] { display: none; }
.bzs-term .bzs-term-field--obrat { flex: 1 1 220px; max-width: 280px; }
.bzs-term .bzs-term-field--ks { flex: 0 1 150px; }
.bzs-term .bzs-term-field--acq { flex: 1 1 320px; }
.bzs-term .bzs-term-field label, .bzs-term .bzs-term-flabel { font-size: 13px; font-weight: 500; color: var(--bzs-brand-700); padding: 0; }
.bzs-term .bzs-term-input { display: flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--bzs-border-brand); border-radius: 12px; padding: 0 14px; min-height: 46px; }
.bzs-term .bzs-term-input:focus-within { border-color: var(--bzs-brand-600); box-shadow: 0 0 0 3px rgba(138, 11, 145, .12); }
.bzs-term .bzs-term-input input { flex: 1; min-width: 0; border: 0 !important; outline: none; background: transparent !important; box-shadow: none !important; padding: 0 !important; font: inherit; font-size: 16px; font-weight: 500; color: var(--bzs-ink); }
.bzs-term .bzs-term-input span { font-size: 14px; color: var(--bzs-text-2); }
.bzs-term .bzs-term-stepper { padding: 0 5px; justify-content: space-between; }
.bzs-term .bzs-term-stepper input { width: 44px; flex: 0 0 44px; text-align: center; }
.bzs-term .bzs-term-stepper button { width: 36px; height: 36px; border: 0; border-radius: 10px; background: var(--bzs-purple-50); color: var(--bzs-brand-600); font-size: 18px; line-height: 1; cursor: pointer; }
.bzs-term .bzs-term-seg { display: flex; gap: 4px; background: #fff; border: 1px solid var(--bzs-border-brand); border-radius: 12px; padding: 4px; min-height: 46px; }
.bzs-term .bzs-term-seg button { flex: 1; border: 0; border-radius: 9px; background: transparent; color: var(--bzs-ink); font: inherit; font-size: 14px; font-weight: 500; padding: 0 8px; cursor: pointer; white-space: nowrap; }
.bzs-term .bzs-term-seg button[aria-pressed="true"] { background: var(--bzs-grad-primary); color: #fff; }

/* Seznam */
.bzs-term .bzs-term-list { display: flex; flex-direction: column; gap: 14px; transition: opacity .15s; }
.bzs-term .bzs-term-list.is-loading { opacity: .45; pointer-events: none; }
.bzs-term .bzs-term-meta { font-size: 13px; color: var(--bzs-text-2); }

.bzs-term .bzs-term-row { background: #fff; border: 1px solid var(--bzs-border-brand); border-radius: 18px; box-shadow: var(--bzs-shadow-card); overflow: hidden; }
.bzs-term .bzs-term-main { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); align-items: start; gap: 16px 24px; padding: 20px 22px 4px; }
.bzs-term .bzs-term-prov { display: flex; align-items: center; gap: 14px; min-width: 0; }
.bzs-term .bzs-term-logo { width: 84px; height: 56px; flex: 0 0 auto; border: 1px solid var(--bzs-border); border-radius: 12px; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bzs-term .bzs-term-logo img { max-width: 76px; max-height: 48px; width: auto; height: auto; display: block; }
.bzs-term .bzs-term-logo-txt { font-size: 20px; font-weight: 600; color: var(--bzs-brand-700); }
.bzs-term .bzs-term-provtxt { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.bzs-term .bzs-term-provname { font-size: 16px; font-weight: 600; color: var(--bzs-ink); }
.bzs-term .bzs-term-offname { font-size: 13px; color: var(--bzs-text-2); }
.bzs-term .bzs-term-col { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.bzs-term .bzs-term-lbl { font-size: 12px; color: var(--bzs-text-2); }
.bzs-term .bzs-term-big { font-size: 26px; line-height: 1.1; font-weight: 500; color: var(--bzs-ink); }
.bzs-term .bzs-term-mid { font-size: 18px; line-height: 1.25; font-weight: 500; color: var(--bzs-ink); }
.bzs-term .bzs-term-price { font-weight: 600; color: var(--bzs-brand-600); }
.bzs-term .bzs-term-sub { font-size: 12px; line-height: 1.4; color: var(--bzs-text-2); }
.bzs-term .bzs-term-hwnote { font-size: 11px; color: #8A1240; }
.bzs-term .bzs-term-cta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding: 14px 22px 18px; }
.bzs-term .bzs-term-cta .bzs-term-btn { min-width: 150px; }
.bzs-term .bzs-term-promo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; background: #FCEEF4; border-top: 1px solid #F5D3E1; padding: 10px 22px; }

.bzs-term .bzs-term-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; border: 1px dashed var(--bzs-border-brand); border-radius: 16px; padding: 14px 18px; font-size: 14px; }
.bzs-term .bzs-term-note a { font-weight: 600; color: var(--bzs-brand-600); text-decoration: none; }
.bzs-term .bzs-term-empty { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 28px; background: var(--bzs-grad-wash); border: 1px solid var(--bzs-border-brand); border-radius: 20px; padding: 26px 28px; }
.bzs-term .bzs-term-empty-title { font-size: 20px; font-weight: 500; color: var(--bzs-ink); margin-bottom: 6px; }
.bzs-term .bzs-term-empty-text { font-size: 15px; line-height: 1.6; color: var(--bzs-text-2); max-width: 620px; }
.bzs-term .bzs-term-empty-cta { display: flex; flex-wrap: wrap; gap: 8px; }

/* Lepicí lišta (jen mobil, řídí terminal.js) */
.bzs-term .bzs-term-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9980; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #fff; border-top: 1px solid var(--bzs-border-brand); box-shadow: 0 -6px 18px rgba(122, 10, 129, .10); padding: 12px 18px calc(14px + env(safe-area-inset-bottom)); }
.bzs-term .bzs-term-sticky[hidden] { display: none; }
.bzs-term .bzs-term-sticky-lbl { font-size: 11px; color: var(--bzs-text-2); }
.bzs-term .bzs-term-sticky-price { font-size: 18px; font-weight: 600; color: var(--bzs-brand-600); }
.bzs-term .bzs-term-sticky-price small { font-size: 12px; font-weight: 400; color: var(--bzs-text-2); }

@media (max-width: 980px) and (min-width: 768px) {
  .bzs-term .bzs-term-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bzs-term .bzs-term-prov { grid-column: 1 / -1; }
}

/* ---------- Parametry terminálu (0.2.7) ---------- */
.bzs.bzs-term-params { font-family: Inter, system-ui, -apple-system, sans-serif; color: var(--bzs-ink); }
.bzs-term-params p { margin: 0; }
/* nadpis skupiny (0.3.2): písmo, velikost a barva ze šablony (Divi H3), plugin řeší jen odsazení */
.bzs-term-params .bzs-term-pgroup { margin: 32px 0 12px !important; padding: 0 !important; }
.bzs-term-params .bzs-term-pgroup:first-child { margin-top: 0 !important; }
.bzs-term-params .bzs-term-pgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; border-top: 1px solid var(--bzs-border); }
/* popisek v pevném sloupci vlevo, hodnota vedle něj zarovnaná doleva a zalamuje se ve svém sloupci (0.2.9) */
.bzs-term-params .bzs-term-prow { display: grid; grid-template-columns: var(--bzs-plbl-w, 38%) minmax(0, 1fr); align-items: baseline; column-gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--bzs-border); font-size: 14px; line-height: 1.45; }
.bzs-term-params .bzs-term-plbl { color: var(--bzs-text-2); overflow-wrap: anywhere; }
.bzs-term-params .bzs-term-pval { font-weight: 500; text-align: left; overflow-wrap: anywhere; }
.bzs-term-params .bzs-term-pmore { margin-top: 14px; }
.bzs-term-params .bzs-term-pmore > summary { display: inline-flex; align-items: center; min-height: 40px; list-style: none; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--bzs-brand-600); }
.bzs-term-params .bzs-term-pmore > summary::-webkit-details-marker { display: none; }
.bzs-term-params .bzs-term-pmore > summary:hover { text-decoration: underline; }
.bzs-term-params .bzs-term-pmore-hide, .bzs-term-params .bzs-term-pmore[open] .bzs-term-pmore-show { display: none; }
.bzs-term-params .bzs-term-pmore[open] .bzs-term-pmore-hide { display: inline; }
.bzs-term-params .bzs-term-pmore[open] > summary { margin-bottom: 14px; }

@media (max-width: 767px) {
  .bzs-term .bzs-term-calc { padding: 14px; gap: 12px; }
  .bzs-term .bzs-term-field--obrat { flex: 1 1 0; max-width: none; }
  .bzs-term .bzs-term-field--ks { flex: 0 0 120px; }
  .bzs-term .bzs-term-field--acq { flex: 1 1 100%; }
  .bzs-term .bzs-term-main { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px 16px 2px; gap: 14px; }
  .bzs-term .bzs-term-prov { grid-column: 1 / -1; }
  .bzs-term .bzs-term-col--hw { grid-column: 1 / -1; }
  .bzs-term .bzs-term-big { font-size: 22px; }
  .bzs-term .bzs-term-cta { padding: 12px 16px 16px; }
  .bzs-term .bzs-term-cta .bzs-term-btn { flex: 1 1 0; min-width: 0; }
  .bzs-term-params .bzs-term-pgrid { grid-template-columns: 1fr; }
  .bzs-term .bzs-term-promo { padding: 10px 16px; }
  .bzs.bzs-term-souhrn { padding: 20px; }
  .bzs-term-souhrn .bzs-term-souhrn-price { font-size: 32px; }
  .bzs-term-souhrn .bzs-term-bizzy { width: 64px; top: 10px; }
}
