/* ChessDB.cz – nový vzhled v2 · ceník /cenik (Claude Design „ChessDB Cenik“, „ChessDB Cenik Karta“, „ChessDB Cenik Sekce“,
   „ChessDB Cenik stavy“). Lišta, mobilní menu, recenze, časté otázky a okno sdílí v2-home.css (body .v2-home .v2-cenik). */

.v2c { position: relative; z-index: 1; }
.v2c .v2i { flex: none; }

/* ── Hero ── */
.v2c-hero { max-width: 1200px; margin: 0 auto; padding: 64px 0 0; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.v2c-chip { height: 32px; padding: 0 14px; border-radius: 999px; box-sizing: border-box; background: rgba(242,210,60,.12); border: 1px solid rgba(242,210,60,.4); color: var(--v2-acc); font: 800 13px var(--v2-man); display: inline-flex; align-items: center; gap: 6px; }
.v2c-chip .v2i { font-size: 14px; }
.v2c-h1 { margin: 0; font-size: 56px; line-height: 1.12; text-wrap: pretty; }
.v2c-lead { margin: 0; max-width: 640px; font: 500 18px/1.55 var(--v2-man); color: var(--v2-t2); text-wrap: pretty; }
.v2c-rate { display: flex; align-items: center; gap: 12px; }
.v2c-rate .v2h-rate__av img { width: 36px; height: 36px; }
.v2c-rate .v2h-rate__av img + img { margin-left: -11px; }
.v2c-rate__n { display: inline-flex; align-items: center; gap: 4px; font: 600 14px var(--v2-pop); color: var(--v2-t); }
.v2c-rate__n .v2i { font-size: 15px; color: var(--v2-acc); fill: currentColor; }
.v2c-rate__m { font: 600 13.5px var(--v2-man); color: var(--v2-m); }
.v2c-seg { margin-top: 14px; display: flex; padding: 3px; border-radius: 999px; background: rgba(30,41,59,.55); border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.14); -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%); }
.v2c-seg button { height: 42px; padding: 0 20px; border: 0; border-radius: 999px; background: transparent; color: var(--v2-t2); font: 800 14px var(--v2-man); display: inline-flex; align-items: center; gap: 8px; cursor: pointer; transition: background .14s ease, color .14s ease; }
.v2c-seg button:not(.is-on):hover { color: var(--v2-t); }
.v2c-seg button.is-on { background: var(--v2-acc); color: var(--v2-on); box-shadow: 0 0 14px rgba(242,210,60,.18); }
.v2c-seg__pct { height: 22px; padding: 0 7px; border-radius: 999px; background: #111927; color: var(--v2-acc); font: 800 11.5px var(--v2-man); display: inline-flex; align-items: center; }
.v2c-seg button:not(.is-on) .v2c-seg__pct { background: rgba(242,210,60,.14); }

/* ── Karty ── */
.v2c-cards { max-width: 1200px; margin: 28px auto 0; display: flex; justify-content: center; align-items: stretch; gap: 20px; }
.v2c-card { box-sizing: border-box; background: var(--v2-card); border-radius: 18px; padding: 24px; display: flex; flex-direction: column; gap: 14px; color: var(--v2-t); }
.v2c-card[hidden] { display: none; }
.v2c-card--paid { width: 460px; border: 1.5px solid rgba(242,210,60,.55); box-shadow: 0 20px 50px rgba(242,210,60,.08); }
.v2c-card--free { width: 380px; border: 1px solid var(--v2-b); }
.v2c-card__top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-height: 26px; }
.v2c-card__lbl { font: 800 12px var(--v2-man); letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-acc); }
.v2c-card__lbl--m { color: var(--v2-m); }
.v2c-badge { margin-left: auto; height: 26px; padding: 0 10px; border-radius: 999px; background: var(--v2-acc); color: var(--v2-on); font: 800 12px var(--v2-man); display: inline-flex; align-items: center; gap: 5px; }
.v2c-badge .v2i { font-size: 13px; }
.v2c-card__price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.v2c-card__amt { font: 600 48px/1 var(--v2-pop); font-variant-numeric: tabular-nums; }
.v2c-card__old { font: 500 20px var(--v2-pop); color: var(--v2-m2); text-decoration: line-through; }
.v2c-card__per { font: 600 15px var(--v2-man); color: var(--v2-t2); }
.v2c-card__sub { margin-top: -6px; font: 600 14px/1.45 var(--v2-man); color: var(--v2-m); }
.v2c-card__free { font: 600 34px/1 var(--v2-pop); }
.v2c-pts { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 9px; }
.v2c-pts li { display: flex; gap: 10px; font: 600 14.5px/1.45 var(--v2-man); }
.v2c-pts .v2i { font-size: 16px; color: var(--v2-win); margin-top: 2px; }
.v2c-pts--m li { font-weight: 500; color: var(--v2-t2); }
.v2c-pts--m .v2i { color: var(--v2-m); }
.v2c-card__fine { margin: 0; font: 600 13px/1.55 var(--v2-man); color: var(--v2-t2); }
.v2c-legal { margin: 0; font: 500 12px/1.5 var(--v2-man); color: var(--v2-m); }
.v2c-legal a { color: var(--v2-t2) !important; text-decoration: underline !important; }
.v2c-legal a:hover { color: var(--v2-t) !important; }
.v2c-free { margin-top: auto; height: 48px; border-radius: 13px; background: var(--v2-card); border: 1px solid var(--v2-b2); color: var(--v2-t) !important; font: 800 15px var(--v2-man); display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none !important; transition: border-color .14s ease; }
.v2c-free .v2i { font-size: 16px; }
.v2c-free:hover { border-color: rgba(242,210,60,.45); }

/* hlavní tlačítko (karta, okno, výzva) */
.v2c-cta { margin-top: 6px; height: 56px; border-radius: 999px; border: 0; background: var(--v2-acc); color: var(--v2-on) !important; font: 800 16px var(--v2-man); box-shadow: 0 6px 14px rgba(242,210,60,.28); display: flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; text-decoration: none !important; transition: background .14s ease, transform .1s ease; }
.v2c-cta:hover { background: var(--v2-acc-h); }
.v2c-cta:active { transform: scale(.98); }
.v2c-cta .v2i { font-size: 17px; }
.v2c-cta > .v2i:first-child { display: none; }
.v2c-cta.is-busy { opacity: .85; cursor: progress; }
.v2c-cta.is-busy > .v2i:first-child { display: inline-block; animation: v2cSpin 1s linear infinite; }
.v2c-cta--inline { margin-top: 6px; height: 52px; padding: 0 26px; display: inline-flex; }
.v2c-cta--inline > .v2i:first-child { display: inline-block; animation: none; }
.v2c-cta--sm { margin-top: 0; align-self: flex-start; height: 44px; padding: 0 20px; font-size: 14px; box-shadow: none; }
@keyframes v2cSpin { to { transform: rotate(360deg); } }
.v2c-err { display: flex; gap: 6px; align-items: flex-start; font: 600 13px/1.45 var(--v2-man); color: #FCA5A5; }
.v2c-err[hidden] { display: none; }
.v2c-err .v2i { font-size: 15px; color: var(--v2-loss); margin-top: 1px; }
.v2c-err a { color: var(--v2-acc) !important; font-weight: 800; text-decoration: none !important; }

/* ── Důvěra ── */
.v2c-trust { max-width: 1200px; margin: 24px auto 0; display: flex; justify-content: center; gap: 32px; }
.v2c-trust > div { display: flex; align-items: center; gap: 8px; font: 600 13.5px var(--v2-man); color: var(--v2-t2); }
.v2c-trust .v2i { font-size: 16px; color: var(--v2-win); }

/* ── Zrušená platba: „Co tě zastavilo?“ ── */
.v2c-rescue { width: 560px; max-width: 100%; margin: 24px auto 0; display: flex; flex-direction: column; gap: 12px; }
.v2c-note { border-radius: 12px; background: rgba(251,191,36,.12); padding: 10px 12px; display: flex; gap: 10px; align-items: center; font: 600 12.5px var(--v2-man); color: var(--v2-t); }
.v2c-note .v2i { font-size: 16px; color: var(--v2-warn); }
.v2c-rescue__box { background: var(--v2-card); border: 1px solid var(--v2-b); border-radius: 18px; padding: 20px; }
.v2c-rescue__h { margin: 0; font: 600 18px var(--v2-pop); color: var(--v2-t); }
.v2c-rescue__list { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.v2c-reason { border-radius: 12px; border: 1px solid var(--v2-b2); transition: border-color .14s ease, background .14s ease; }
.v2c-reason.is-open { background: var(--v2-card2); border-color: rgba(242,210,60,.35); }
.v2c-reason__q { width: 100%; min-height: 48px; border: 0; background: none; padding: 0 14px; display: flex; align-items: center; gap: 10px; color: var(--v2-t); font: 700 14.5px var(--v2-man); text-align: left; cursor: pointer; border-radius: 12px; }
.v2c-reason__q .v2i { margin-left: auto; font-size: 17px; color: var(--v2-acc); }
.v2c-reason__q .v2i + .v2i, .v2c-reason.is-open .v2c-reason__q .v2i:first-of-type { display: none; }
.v2c-reason.is-open .v2c-reason__q .v2i + .v2i { display: inline-block; }
.v2c-reason__a { padding: 0 14px 14px; display: flex; flex-direction: column; gap: 12px; }
.v2c-reason__a[hidden] { display: none; }
.v2c-reason__a p { margin: 0; font: 500 14px/1.55 var(--v2-man); color: var(--v2-t2); }

/* ── Sekce (sdílené .v2h-* z úvodní stránky, upravené podle „ChessDB Cenik Sekce“) ── */
.v2-cenik .v2h-sec { margin-top: 104px; }
.v2-cenik .v2c-trust + .v2h-sec { margin-top: 104px; }
.v2c-fgrid { margin-top: 24px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.v2c-fgrid .v2h-fc { padding: 20px; gap: 8px; }
.v2c-fgrid .v2h-fc__ic { width: 40px; height: 40px; }
.v2c-fgrid .v2h-fc__ic .v2i { font-size: 19px; }
.v2c-fgrid .v2h-fc h3 { font-size: 17px; }
.v2c-fgrid .v2h-fc p { font-size: 14px; line-height: 1.5; }
.v2c-tbl { margin-top: 24px; background: var(--v2-card); border: 1px solid var(--v2-b); border-radius: 18px; overflow: hidden; }
.v2c-tbl__r { display: grid; grid-template-columns: minmax(0, 1fr) 220px 260px; align-items: center; padding: 12px 16px; border-top: 1px solid rgba(255,255,255,.06); font: 600 15px var(--v2-man); color: var(--v2-t); }
.v2c-tbl__r > span { min-width: 0; }
.v2c-tbl__r .is-no { font-weight: 700; color: var(--v2-m2); }
.v2c-tbl__r .is-txt { font-weight: 700; color: var(--v2-t2); }
.v2c-tbl__r .is-yes { font-weight: 700; color: var(--v2-win); }
.v2c-tbl__r .is-b { font-weight: 700; color: var(--v2-t); }
.v2c-tbl__h { border-top: 0; background: var(--v2-card2); font: 800 11.5px var(--v2-man); letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-m); }
.v2c-tbl__h > span:last-child { color: var(--v2-acc); }
.v2c-tbl__h i { font-style: normal; }
.v2c-m { display: none; }
.v2c-tbl__note { margin: 12px 0 0; font: 600 13.5px/1.5 var(--v2-man); color: var(--v2-m); }
.v2c-rgrid { margin-top: 24px; gap: 16px; }
.v2c-rgrid .v2h-rv { padding: 20px; gap: 10px; }
.v2c-rgrid .v2h-rv__q { font-size: 14.5px; }
.v2c-rgrid .v2h-stars .v2i { font-size: 14px; }
.v2-cenik .v2h-faq { margin-top: 24px; }
.v2-cenik .v2h-qa__q { min-height: 56px; font-size: 15px; }
.v2-cenik .v2h-qa__a { font-size: 14.5px; }
.v2-cenik .v2h-qa__a p { margin: 0; }
.v2c-final { max-width: 1200px; margin: 104px auto 0; box-sizing: border-box; background: var(--v2-card); border: 1px solid rgba(242,210,60,.3); border-radius: 18px; padding: 32px 36px; display: flex; align-items: center; gap: 20px; }
.v2c-final__t { flex: 1; min-width: 0; }
.v2c-final__h { font-size: 40px; line-height: 1.2; }
.v2c-final__p { margin-top: 8px; font: 600 15px/1.5 var(--v2-man); color: var(--v2-t2); }
.v2c-cta--final { margin-top: 0; padding: 0 28px; flex: none; }
.v2-cenik .v2-footer { margin-top: 104px; }

/* ── Návrat po platbě ── */
.v2c-ok { width: 520px; max-width: calc(100% - 40px); margin: 96px auto 0; box-sizing: border-box; background: var(--v2-card); border: 1px solid rgba(74,222,128,.3); border-radius: 18px; padding: 32px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; }
.v2c-ok__ic { width: 56px; height: 56px; border-radius: 50%; background: rgba(74,222,128,.14); color: var(--v2-win); display: flex; align-items: center; justify-content: center; }
.v2c-ok__ic .v2i { font-size: 28px; }
.v2c-ok__h { margin: 0; font-size: 30px; line-height: 1.2; }
.v2c-ok p { margin: 0; font: 500 15px/1.55 var(--v2-man); color: var(--v2-t2); }

/* ── Okno registrace ── */
.v2c-reg .v2h-modal__box { width: 440px; }
.v2c-reg .v2h-modal__box h2 { font-size: 28px; padding-right: 44px; }
.v2c-reg .v2h-modal__box > p { font-size: 14.5px; }
.v2c-regf { margin-top: 18px; display: flex; flex-direction: column; }
.v2c-field { display: flex; flex-direction: column; gap: 6px; font: 800 13px var(--v2-man); color: var(--v2-m); }
.v2c-field input { height: 52px; box-sizing: border-box; border-radius: 13px; background: var(--v2-card2); border: 1px solid var(--v2-b2); padding: 0 14px; color: var(--v2-t); font: 500 16px var(--v2-man); outline: none; -webkit-appearance: none; appearance: none; }
.v2c-field input::placeholder { color: var(--v2-m2); }
.v2c-field input:focus { border-color: rgba(242,210,60,.7); box-shadow: 0 0 0 3px rgba(242,210,60,.16); }
.v2c-field.is-err input { border-color: rgba(248,113,113,.6); box-shadow: none; }
.v2c-regf .v2c-err { margin-top: 8px; }
.v2c-regf .v2c-cta { margin-top: 16px; width: 100%; }
.v2c-reg .v2c-legal { margin-top: 8px; }
.v2c-reg__login { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--v2-b); text-align: center; font: 600 13.5px var(--v2-man); color: var(--v2-m); }
.v2c-reg__login a { font-weight: 800; color: var(--v2-acc) !important; text-decoration: none !important; }

/* ── Užší počítač ── */
@media (max-width: 1260px) {
  .v2c-hero, .v2c-cards, .v2c-trust { padding-left: 24px; padding-right: 24px; }
  .v2c-final { margin-left: 24px; margin-right: 24px; }
  .v2c-fgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) and (min-width: 761px) {
  .v2c-cards { flex-wrap: wrap; }
  .v2c-tbl__r { grid-template-columns: minmax(0, 1fr) 150px 190px; }
}

/* ── Mobil (návrh 390) ── */
@media (max-width: 760px) {
  .v2c-hero { padding: 28px 20px 0; }
  .v2c-h1 { font-size: 36px; line-height: 1.15; }
  .v2c-lead { font-size: 16px; }
  .v2c-rate { flex-wrap: wrap; justify-content: center; }
  .v2c-cards { flex-direction: column; align-items: stretch; padding: 0 20px; }
  .v2c-card--paid, .v2c-card--free { width: auto; }
  .v2c-trust { flex-direction: column; align-items: flex-start; gap: 10px; padding: 0 20px; }
  .v2c-trust > div { align-items: flex-start; }
  .v2c-trust .v2i { margin-top: 1px; }
  .v2c-rescue { width: auto; margin: 20px 20px 0; }
  .v2-cenik .v2h-sec, .v2-cenik .v2c-trust + .v2h-sec { margin-top: 64px; }
  .v2-cenik .v2h-h2 { font-size: 28px; }
  .v2c-fgrid { grid-template-columns: 1fr; }
  .v2c-fgrid .v2h-fc { flex-direction: column; flex-wrap: nowrap; padding: 20px; }   /* úvodní stránka má na mobilu řádek se zalamováním */
  .v2c-fgrid .v2h-fc h3 { align-self: auto; }
  .v2c-fgrid .v2h-fc p { padding-left: 0; flex-basis: auto; }
  .v2c-tbl__r { grid-template-columns: minmax(0, 1fr) 64px 110px; font-size: 13.5px; column-gap: 8px; }
  .v2c-d { display: none; }
  .v2c-m { display: inline; }
  /* recenze na ceníku pod sebou (návrh: 3), ne posuvné jako na úvodní stránce */
  .v2-cenik .v2c-rgrid { margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 16px; overflow: visible; }
  .v2-cenik .v2c-rgrid .v2h-rv { width: auto; }
  .v2-cenik .v2c-rgrid .v2h-rv:nth-child(n+4) { display: none; }
  .v2c-final { margin: 64px 20px 0; padding: 24px; flex-direction: column; text-align: center; }
  .v2c-final__h { font-size: 28px; }
  .v2c-cta--final { width: 100%; }
  .v2-cenik .v2-footer { margin-top: 64px; }
  .v2c-ok { margin-top: 32px; padding: 28px 20px; }
  .v2c-ok__h { font-size: 26px; }
  .v2c-reg .v2h-modal__box { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .v2c-cta.is-busy > .v2i:first-child { animation: none; }
}

/* ── Vstup na /kluby/ pod kartami (Claude Design „ChessDB Kluby stavy“ V1, 28. 10. 2026) ── */
.v2c-kluby { max-width: 980px; margin: 20px auto 0; min-height: 60px; padding: 10px 10px 10px 20px; box-sizing: border-box; border-radius: 999px; background: rgba(30,41,59,.55); border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.14); color: var(--v2-t) !important; display: flex; align-items: center; gap: 12px; text-decoration: none !important; font: 700 15px/1.35 var(--v2-man); transition: border-color .14s ease; }
.v2c-kluby:hover { border-color: rgba(242,210,60,.45); }
.v2c-kluby > .v2i { font-size: 19px; color: var(--v2-acc); }
.v2c-kluby__t { flex: 1; min-width: 0; }
.v2c-kluby em { font-style: normal; font-weight: 600; color: var(--v2-t2); }
.v2c-kluby__go { width: 40px; height: 40px; border-radius: 50%; background: var(--v2-acc); color: var(--v2-on); display: flex; align-items: center; justify-content: center; flex: none; }
.v2c-kluby__go .v2i { font-size: 18px; }
@media (max-width: 1240px) { .v2c-kluby { margin-left: 24px; margin-right: 24px; } }
@media (max-width: 1024px) and (min-width: 1000px) { .v2c-kluby { margin-left: auto; margin-right: auto; } }
@media (max-width: 760px) { .v2c-kluby { margin: 16px 20px 0; border-radius: 18px; padding: 10px 10px 10px 16px; font-size: 14px; } }
