/* ==========================================================================
   1win CZ — SÁJT C "Panel" — panel.css
   Přístrojová deska: KPI-pruh + tab-panel/spec-sheet grid, duotón indigo/máta.
   Prefix tříd: pn- (kebab-case + is-* stavy). Radius 6px všude.
   ========================================================================== */

/* ---------- 1. Reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: auto; }
body, h1, h2, h3, h4, p, dl, dd, dt, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
table { border-collapse: collapse; width: 100%; }
input, select { font: inherit; }

/* ---------- 2. Tokeny ---------- */
:root{
  --pn-bg:#0E1630;
  --pn-surface:#16203F;
  --pn-surface-2:#1B2749;
  --pn-text:#E6EAF4;
  --pn-muted:#9AA3C4;
  --pn-accent:#5FA96B;
  --pn-accent-strong:#79C787;
  --pn-accent-ink:#08130B;
  --pn-line: rgba(230,234,244,.14);
  --pn-line-strong: rgba(230,234,244,.26);
  --pn-radius:6px;
  --pn-radius-sm:4px;
  --pn-shadow: 0 12px 30px rgba(3,6,18,.45);

  --pn-space-1:4px; --pn-space-2:8px; --pn-space-3:12px; --pn-space-4:16px;
  --pn-space-6:24px; --pn-space-8:32px; --pn-space-12:48px; --pn-space-16:64px;

  --pn-wrap:1240px;
  --pn-z-dropdown:100; --pn-z-sticky:200; --pn-z-overlay:900; --pn-z-toast:1100;

  --pn-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --pn-font-mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

body{
  background:var(--pn-bg);
  color:var(--pn-text);
  font-family:var(--pn-font);
  font-size:16px;
  line-height:1.55;
  min-height:100vh;
}

/* hairline grid motiv na pozadí (jemný, technický) */
body{
  background-image:
    linear-gradient(rgba(230,234,244,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(230,234,244,.05) 1px, transparent 1px);
  background-size: 40px 40px;
  background-position: center top;
}

.pn-num{ font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }

h1,h2,h3,h4{ font-weight:700; line-height:1.2; color:var(--pn-text); }
h1{ font-size:clamp(1.7rem, 2.6vw + 1rem, 2.6rem); }
h2{ font-size:clamp(1.25rem, 1.2vw + 1rem, 1.6rem); }
h3{ font-size:1.05rem; }
p{ color:var(--pn-text); }

.pn-wrap{ width:100%; max-width:var(--pn-wrap); margin-inline:auto; padding-inline:var(--pn-space-4); }

.pn-eyebrow{
  display:inline-flex; align-items:center; gap:var(--pn-space-2);
  font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--pn-accent-strong);
}
.pn-eyebrow::before{ content:""; width:8px; height:8px; border-radius:2px; background:var(--pn-accent); flex:none; }

.pn-lead{ color:var(--pn-muted); font-size:1rem; max-width:64ch; }

.pn-section{ padding-block: var(--pn-space-12); border-top:1px solid var(--pn-line); }
.pn-section:first-of-type{ border-top:0; }
.pn-section-head{ margin-bottom: var(--pn-space-6); display:flex; flex-direction:column; gap:var(--pn-space-2); }

/* focus visibility */
:focus-visible{ outline:2px solid var(--pn-accent); outline-offset:2px; border-radius:var(--pn-radius-sm); }

/* skip link */
.pn-skip{
  position:absolute; left:var(--pn-space-3); top:-48px; z-index:var(--pn-z-toast);
  background:var(--pn-accent); color:var(--pn-accent-ink); padding:10px 16px;
  border-radius:var(--pn-radius); font-weight:700; transition:top .15s ease;
}
.pn-skip:focus{ top:var(--pn-space-3); }

/* ---------- 3. Buttons ---------- */
.pn-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:var(--pn-radius); font-weight:700; font-size:.95rem;
  border:1px solid transparent; min-height:44px; transition:transform .12s ease, background-color .15s ease, border-color .15s ease;
}
.pn-btn--primary{ background:var(--pn-accent); color:var(--pn-accent-ink); }
.pn-btn--primary:hover{ background:var(--pn-accent-strong); }
.pn-btn--primary:active{ transform:translateY(1px); }
.pn-btn--ghost{ background:transparent; color:var(--pn-text); border-color:var(--pn-line-strong); }
.pn-btn--ghost:hover{ border-color:var(--pn-accent); color:var(--pn-accent-strong); }
.pn-btn--block{ width:100%; }

/* ---------- 4. Header / navigace ---------- */
.pn-header{
  position:sticky; top:0; z-index:var(--pn-z-sticky);
  background:rgba(14,22,48,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--pn-line);
}
.pn-header-inner{
  display:flex; align-items:center; justify-content:space-between; gap:var(--pn-space-4);
  padding-block:var(--pn-space-3);
}
.pn-logo{ display:inline-flex; align-items:center; gap:8px; flex:none; }
.pn-logo img{ width:112px; height:44px; object-fit:contain; }

.pn-nav-toggle{
  display:none; width:44px; height:44px; align-items:center; justify-content:center;
  border:1px solid var(--pn-line-strong); border-radius:var(--pn-radius);
  flex-direction:column; gap:4px;
}
.pn-nav-toggle span{ display:block; width:20px; height:2px; background:var(--pn-text); }

.pn-nav{ display:flex; align-items:center; gap:var(--pn-space-6); }
.pn-nav-list{ display:flex; align-items:center; gap:var(--pn-space-6); flex-wrap:wrap; }
.pn-nav-list a{
  font-size:.92rem; font-weight:600; color:var(--pn-muted); padding:6px 2px; border-bottom:2px solid transparent;
}
.pn-nav-list a:hover, .pn-nav-list a[aria-current="page"]{ color:var(--pn-text); border-bottom-color:var(--pn-accent); }

.pn-header-cta{ display:flex; align-items:center; gap:8px; flex:none; }
@media (max-width: 56.25em){
  .pn-header-cta{ order:4; margin-left:auto; }
}

@media (max-width: 56.25em){
  .pn-nav-toggle{ display:inline-flex; }
  .pn-nav{
    position:static; width:100%; order:3;
    display:none; flex-direction:column; align-items:stretch;
    padding-block:var(--pn-space-3);
    border-top:1px solid var(--pn-line);
  }
  .pn-nav.is-open{ display:flex; }
  .pn-header-inner{ flex-wrap:wrap; }
  .pn-nav-list{ flex-direction:column; align-items:flex-start; gap:0; width:100%; }
  .pn-nav-list a{ display:block; width:100%; padding:12px 4px; border-bottom:1px solid var(--pn-line); }
}

/* crumbs (podstránky) */
.pn-crumbs{ padding-block:var(--pn-space-4) 0; font-size:.85rem; color:var(--pn-muted); }
.pn-crumbs a{ color:var(--pn-muted); }
.pn-crumbs a:hover{ color:var(--pn-accent-strong); }
.pn-crumbs span[aria-current]{ color:var(--pn-text); }

/* ---------- 5. KPI pruh ---------- */
.pn-kpi{
  padding-block: var(--pn-space-6);
  border-bottom:1px solid var(--pn-line);
}
.pn-kpi-track{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(150px,1fr);
  gap:var(--pn-space-3);
  overflow-x:auto; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
  padding-bottom:4px;
  scrollbar-width:thin; scrollbar-color:var(--pn-line-strong) transparent;
}
.pn-kpi-track::-webkit-scrollbar{ height:6px; }
.pn-kpi-track::-webkit-scrollbar-thumb{ background:var(--pn-line-strong); border-radius:4px; }

.pn-kpi-tile{
  scroll-snap-align:start;
  background:var(--pn-surface); border:1px solid var(--pn-line);
  border-radius:var(--pn-radius); padding:var(--pn-space-4);
  display:flex; flex-direction:column; gap:4px; min-width:150px;
}
.pn-kpi-value{ font-size:1.5rem; font-weight:800; color:var(--pn-accent-strong); display:flex; align-items:baseline; gap:2px; }
.pn-kpi-unit{ font-size:.95rem; font-weight:700; color:var(--pn-accent-strong); }
.pn-kpi-label{ font-size:.78rem; color:var(--pn-muted); letter-spacing:.02em; }

@media (min-width:56.25em){
  .pn-kpi-track{ grid-auto-flow:row; grid-template-columns:repeat(5,1fr); overflow:visible; }
}

/* ---------- 6. Hero (kompaktní) ---------- */
.pn-hero{ padding-block:var(--pn-space-8); }
.pn-hero-inner{ display:flex; flex-direction:column; gap:var(--pn-space-3); max-width:74ch; }
.pn-hero h1{ margin-top:6px; }
.pn-hero-badges{ display:flex; flex-wrap:wrap; gap:var(--pn-space-2); margin-top:var(--pn-space-2); }
.pn-badge{
  display:inline-flex; align-items:center; gap:6px; font-size:.78rem; font-weight:700;
  color:var(--pn-muted); border:1px solid var(--pn-line-strong); border-radius:var(--pn-radius-sm);
  padding:6px 10px;
}
.pn-badge strong{ color:var(--pn-text); }

/* page-hero (podstránky) */
.pn-page-hero{ padding-block: var(--pn-space-8) var(--pn-space-6); }
.pn-page-hero .pn-lead{ margin-top:var(--pn-space-2); }

/* ---------- 7. Slot placeholder (dočasný obsah) ---------- */
.pn-slot{
  display:block; width:100%;
  background:repeating-linear-gradient(135deg, rgba(230,234,244,.06) 0 10px, rgba(230,234,244,.03) 10px 20px);
  border:1px dashed var(--pn-line-strong); border-radius:var(--pn-radius-sm);
  color:var(--pn-muted); font-size:.78rem; font-style:italic;
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:var(--pn-space-3); min-height:64px;
}
.pn-slot--sm{ min-height:40px; font-size:.72rem; }
.pn-slot--lg{ min-height:120px; }
.pn-slot--inline{ display:inline-flex; min-height:auto; padding:2px 8px; width:auto; }

/* ---------- 8. Console grid: tabs + spec-sheet ---------- */
.pn-console{ padding-block: var(--pn-space-8); }
.pn-console-grid{
  display:grid; grid-template-columns: minmax(0,1fr); gap:var(--pn-space-6);
  align-items:start;
}
@media (min-width:56.25em){
  .pn-console-grid{ grid-template-columns: minmax(0,2fr) minmax(0,1fr); }
}

/* --- tab panel (levá strana) --- */
.pn-tabpanel-shell{
  background:var(--pn-surface); border:1px solid var(--pn-line); border-radius:var(--pn-radius);
  overflow:hidden;
}
.pn-tablist{
  display:flex; overflow-x:auto; border-bottom:1px solid var(--pn-line);
  scrollbar-width:none;
}
.pn-tablist::-webkit-scrollbar{ display:none; }
.pn-tab{
  flex:1 1 auto; white-space:nowrap;
  padding:14px var(--pn-space-4); font-weight:700; font-size:.9rem; color:var(--pn-muted);
  border-bottom:2px solid transparent; position:relative;
}
.pn-tab:hover{ color:var(--pn-text); }
.pn-tab.is-active{ color:var(--pn-accent-strong); border-bottom-color:var(--pn-accent); background:var(--pn-surface-2); }

.pn-tabpanels{ padding:var(--pn-space-6); }
.pn-tabpanel{ display:flex; flex-direction:column; gap:var(--pn-space-4); }
.pn-tabpanel[hidden]{ display:none; }

@media (prefers-reduced-motion: no-preference){
  .pn-tabpanel{ animation: pn-fade-in .22s ease; }
}
@keyframes pn-fade-in{ from{ opacity:0; transform:translateY(4px);} to{ opacity:1; transform:translateY(0);} }

/* games grid uvnitř tabu Hry */
.pn-games-grid{
  display:grid; gap:var(--pn-space-3);
  grid-template-columns:repeat(auto-fit, minmax(min(140px,100%), 1fr));
}
.pn-game-tile{
  position:relative; border-radius:var(--pn-radius); overflow:hidden; border:1px solid var(--pn-line);
  background:var(--pn-surface-2); aspect-ratio:1/1; display:block;
}
.pn-game-tile img{ width:100%; height:100%; object-fit:cover; }
.pn-game-tile .pn-game-name{
  position:absolute; left:0; right:0; bottom:0; padding:8px 10px;
  font-size:.78rem; font-weight:700; background:linear-gradient(0deg, rgba(3,6,18,.85), transparent);
}
.pn-game-play{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(8,13,29,.6); opacity:0; transition:opacity .18s ease;
}
.pn-game-tile:hover .pn-game-play, .pn-game-tile:focus-visible .pn-game-play{ opacity:1; }
.pn-game-play span{
  background:var(--pn-accent); color:var(--pn-accent-ink); font-weight:800; font-size:.8rem;
  border-radius:999px; padding:8px 16px;
}
.pn-img-broken{ visibility:hidden; }
.pn-game-tile.is-broken{ display:flex; align-items:center; justify-content:center; }
.pn-game-tile.is-broken::after{
  content:attr(data-name); color:var(--pn-muted); font-size:.72rem; text-align:center; padding:var(--pn-space-2);
}

/* payment icons grid uvnitř tabu Platby */
.pn-pay-grid{ display:grid; gap:var(--pn-space-3); grid-template-columns:repeat(auto-fit, minmax(100px,1fr)); }
.pn-pay-icon{
  display:flex; align-items:center; justify-content:center; height:56px;
  background:var(--pn-surface-2); border:1px solid var(--pn-line); border-radius:var(--pn-radius-sm);
  padding:8px;
}
.pn-pay-icon img{ max-height:28px; width:auto; }
.pn-pay-icon.is-broken{ position:relative; }
.pn-pay-icon.is-broken::after{ content:attr(data-name); font-size:.65rem; color:var(--pn-muted); }
.pn-pay-icon.is-broken img{ display:none; }

/* app tab */
.pn-app-fact{ display:flex; gap:8px; font-size:.88rem; }
.pn-app-fact dt{ color:var(--pn-muted); min-width:120px; flex:none; }
.pn-app-fact dd{ color:var(--pn-text); font-weight:600; }

/* bonus ladder mini list uvnitř tabu Bonusy */
.pn-mini-kv{ display:flex; flex-direction:column; gap:0; border:1px solid var(--pn-line); border-radius:var(--pn-radius-sm); overflow:hidden; }
.pn-mini-kv-row{ display:flex; justify-content:space-between; gap:var(--pn-space-3); padding:10px 14px; border-top:1px solid var(--pn-line); font-size:.88rem; }
.pn-mini-kv-row:first-child{ border-top:0; }
.pn-mini-kv-row dt{ color:var(--pn-muted); }
.pn-mini-kv-row dd{ font-weight:700; color:var(--pn-text); }

/* --- spec-sheet (pravá strana, sticky) --- */
.pn-spec{
  background:var(--pn-surface); border:1px solid var(--pn-line); border-radius:var(--pn-radius);
  padding:var(--pn-space-4);
}
@media (min-width:56.25em){
  .pn-spec{ position:sticky; top:calc(var(--pn-space-16) + 6px); max-height:calc(100vh - 96px); overflow-y:auto; }
}
.pn-spec-title{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:var(--pn-space-3); }
.pn-spec-title h2{ font-size:1.05rem; }
.pn-spec-updated{ font-size:.72rem; color:var(--pn-muted); }

.pn-spec-list{ display:flex; flex-direction:column; }
.pn-spec-row{
  display:flex; justify-content:space-between; gap:var(--pn-space-3);
  padding:9px 6px; border-top:1px solid var(--pn-line);
  transition:background-color .35s ease;
  border-radius:var(--pn-radius-sm);
}
.pn-spec-row:first-child{ border-top:0; }
.pn-spec-row dt{ color:var(--pn-muted); font-size:.82rem; }
.pn-spec-row dd{ color:var(--pn-text); font-weight:700; font-size:.82rem; text-align:right; max-width:56%; }
.pn-spec-row.is-active{ background:rgba(95,169,107,.14); }
.pn-spec-row.is-active dt{ color:var(--pn-accent-strong); }

.pn-spec-cta{ margin-top:var(--pn-space-4); display:flex; flex-direction:column; gap:8px; }
.pn-spec-disclosure{ font-size:.72rem; color:var(--pn-muted); }

/* ---------- 9. Tracker "Od registrace k výhře" ---------- */
.pn-tracker{ padding-block:var(--pn-space-8); border-top:1px solid var(--pn-line); }
.pn-tracker-bar{ height:4px; border-radius:999px; background:var(--pn-surface-2); overflow:hidden; margin-block:var(--pn-space-4) var(--pn-space-6); }
.pn-tracker-fill{ display:block; height:100%; width:0%; background:var(--pn-accent); transition:width .35s ease; }
@media (prefers-reduced-motion: reduce){ .pn-tracker-fill{ transition:none; } }

.pn-tracker-list{ display:flex; flex-direction:column; gap:var(--pn-space-3); }
.pn-tracker-step{ border:1px solid var(--pn-line); border-radius:var(--pn-radius); background:var(--pn-surface); overflow:hidden; }
.pn-tracker-btn{
  width:100%; display:flex; align-items:center; gap:var(--pn-space-3); padding:var(--pn-space-4);
  text-align:left;
}
.pn-tracker-num{
  flex:none; width:32px; height:32px; border-radius:var(--pn-radius-sm); border:1px solid var(--pn-line-strong);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.85rem; color:var(--pn-muted);
}
.pn-tracker-step.is-open .pn-tracker-num, .pn-tracker-step.is-done .pn-tracker-num{
  background:var(--pn-accent); border-color:var(--pn-accent); color:var(--pn-accent-ink);
}
.pn-tracker-title{ font-weight:700; flex:1; }
.pn-tracker-chevron{ flex:none; width:10px; height:10px; border-right:2px solid var(--pn-muted); border-bottom:2px solid var(--pn-muted); transform:rotate(45deg); transition:transform .18s ease; }
.pn-tracker-step.is-open .pn-tracker-chevron{ transform:rotate(-135deg); }
.pn-tracker-panel{ padding:0 var(--pn-space-4) var(--pn-space-4) calc(32px + var(--pn-space-3) + var(--pn-space-4)); }
.pn-tracker-panel[hidden]{ display:none; }
.pn-tracker-note{ font-size:.75rem; color:var(--pn-muted); margin-top:var(--pn-space-2); }

/* statický krokový seznam (bez klikacího rozbalování, např. instalace aplikace) */
.pn-step-static{ padding:var(--pn-space-4); }
.pn-step-static-row{ display:flex; gap:var(--pn-space-3); align-items:flex-start; }
.pn-step-detail{ margin-top:6px; }

/* ---------- 10. Poskytovatelé (pilulky) ---------- */
.pn-providers{ padding-block:var(--pn-space-8); border-top:1px solid var(--pn-line); }
.pn-provider-list{ display:flex; flex-wrap:wrap; gap:var(--pn-space-3); margin-top:var(--pn-space-4); }
.pn-provider-pill{
  display:flex; align-items:center; justify-content:center; height:52px; padding:8px 18px;
  background:var(--pn-surface); border:1px solid var(--pn-line); border-radius:var(--pn-radius);
  min-width:120px;
}
.pn-provider-pill img{ max-height:26px; width:auto; }
.pn-provider-pill.is-broken{ position:relative; color:var(--pn-muted); font-size:.72rem; font-weight:700; }
.pn-provider-pill.is-broken img{ display:none; }

/* ---------- 11. Skórkarta (výhody / nevýhody) ---------- */
.pn-scorecard{ padding-block:var(--pn-space-8); border-top:1px solid var(--pn-line); }
.pn-scorecard-grid{ display:grid; gap:var(--pn-space-4); grid-template-columns:1fr; }
@media (min-width:40em){ .pn-scorecard-grid{ grid-template-columns:1fr 1fr; } }
.pn-scorecard-col{ background:var(--pn-surface); border:1px solid var(--pn-line); border-radius:var(--pn-radius); padding:var(--pn-space-4); }
.pn-scorecard-col h3{ display:flex; align-items:center; gap:8px; margin-bottom:var(--pn-space-3); }
.pn-scorecard-col h3::before{ content:""; width:10px; height:10px; border-radius:2px; }
.pn-scorecard-col--plus h3::before{ background:var(--pn-accent); }
.pn-scorecard-col--minus h3::before{ background:var(--pn-muted); }
.pn-scorecard-list li{ display:flex; gap:10px; padding:8px 0; border-top:1px solid var(--pn-line); font-size:.9rem; }
.pn-scorecard-list li:first-child{ border-top:0; }
.pn-scorecard-list li::before{ content:"•"; flex:none; font-weight:800; color:var(--pn-accent); }
.pn-scorecard-col--plus li::before{ content:"+"; color:var(--pn-accent-strong); }
.pn-scorecard-col--minus li::before{ content:"–"; color:var(--pn-muted); }

/* ---------- 12. FAQ ---------- */
.pn-faq{ padding-block:var(--pn-space-8); border-top:1px solid var(--pn-line); }
.pn-faq-list{ display:flex; flex-direction:column; gap:var(--pn-space-2); margin-top:var(--pn-space-4); }
.pn-faq-item{ border:1px solid var(--pn-line); border-radius:var(--pn-radius); background:var(--pn-surface); overflow:hidden; }
.pn-faq-item summary{
  cursor:pointer; list-style:none; padding:var(--pn-space-4); font-weight:700; display:flex;
  align-items:center; justify-content:space-between; gap:var(--pn-space-3);
}
.pn-faq-item summary::-webkit-details-marker{ display:none; }
.pn-faq-item summary::after{
  content:""; flex:none; width:10px; height:10px; border-right:2px solid var(--pn-accent); border-bottom:2px solid var(--pn-accent);
  transform:rotate(45deg); transition:transform .18s ease;
}
.pn-faq-item[open] summary::after{ transform:rotate(-135deg); }
.pn-faq-body{ padding:0 var(--pn-space-4) var(--pn-space-4); color:var(--pn-muted); font-size:.92rem; }

/* ---------- 13. Prose ---------- */
.pn-prose{ padding-block:var(--pn-space-8); border-top:1px solid var(--pn-line); }
.pn-prose-inner{ max-width:72ch; display:flex; flex-direction:column; gap:var(--pn-space-3); }

/* ---------- 14. CTA band ---------- */
.pn-cta{ padding-block:var(--pn-space-8); }
.pn-cta-band{
  background:linear-gradient(135deg, var(--pn-surface), var(--pn-surface-2));
  border:1px solid var(--pn-line); border-radius:var(--pn-radius);
  padding:var(--pn-space-8); display:flex; flex-direction:column; gap:var(--pn-space-3); align-items:flex-start;
}
.pn-cta-band .pn-lead{ max-width:60ch; }

/* ---------- 15. Tabulky (obecné) ---------- */
.table-wrap{ overflow-x:auto; border:1px solid var(--pn-line); border-radius:var(--pn-radius); }
table.pn-table{ min-width:520px; font-size:.88rem; }
.pn-table caption{ caption-side:top; text-align:left; padding:var(--pn-space-3) var(--pn-space-3) 0; color:var(--pn-muted); font-size:.8rem; }
.pn-table th, .pn-table td{ padding:12px 14px; text-align:left; border-top:1px solid var(--pn-line); }
.pn-table thead th{ background:var(--pn-surface-2); color:var(--pn-muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; border-top:0; }
.pn-table tbody tr:hover{ background:rgba(95,169,107,.06); }
.pn-table td.pn-num, .pn-table th.pn-num{ font-variant-numeric: tabular-nums; }

@media (max-width:40em){
  table.pn-table.pn-table--stack, table.pn-table.pn-table--stack thead, table.pn-table.pn-table--stack tbody,
  table.pn-table.pn-table--stack tr, table.pn-table.pn-table--stack td{ display:block; }
  table.pn-table.pn-table--stack{ min-width:0; }
  table.pn-table.pn-table--stack thead{ display:none; }
  table.pn-table.pn-table--stack tr{ border-top:1px solid var(--pn-line); padding:8px 0; }
  table.pn-table.pn-table--stack tr:first-child{ border-top:0; }
  table.pn-table.pn-table--stack td{ display:flex; justify-content:space-between; gap:12px; border-top:0; padding:6px 14px; }
  table.pn-table.pn-table--stack td::before{ content:attr(data-label); font-weight:600; color:var(--pn-muted); }
}

/* ---------- 16. Compliance / footer ---------- */
.pn-compliance{ padding-block:var(--pn-space-6); border-top:1px solid var(--pn-line); }
.pn-compliance-box{
  background:var(--pn-surface); border:1px solid var(--pn-line); border-radius:var(--pn-radius);
  padding:var(--pn-space-4); display:flex; flex-direction:column; gap:var(--pn-space-2); font-size:.82rem; color:var(--pn-muted);
}
.pn-compliance-box strong{ color:var(--pn-text); }
.pn-help-contacts{ display:flex; flex-direction:column; gap:2px; }

.pn-footer{ border-top:1px solid var(--pn-line); padding-block:var(--pn-space-8) var(--pn-space-6); }
.pn-footer-grid{ display:grid; gap:var(--pn-space-6); grid-template-columns:1fr; }
@media (min-width:48em){ .pn-footer-grid{ grid-template-columns:1.2fr 1fr; } }
.pn-footer-brand{ display:flex; flex-direction:column; gap:var(--pn-space-2); }
.pn-footer-brand img{ width:100px; height:auto; }
.pn-footer-note{ font-size:.78rem; color:var(--pn-muted); max-width:42ch; }
.pn-footer h4{ font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--pn-muted); margin-bottom:var(--pn-space-2); }
.pn-footer-list{ display:flex; flex-direction:column; gap:8px; }
.pn-footer-list a{ font-size:.88rem; color:var(--pn-text); }
.pn-footer-list a:hover{ color:var(--pn-accent-strong); }
.pn-footer-legal{
  border-top:1px solid var(--pn-line); margin-top:var(--pn-space-6); padding-top:var(--pn-space-4);
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--pn-space-3);
  font-size:.75rem; color:var(--pn-muted);
}

/* ---------- 17. Cookie banner ---------- */
.pn-cookie{
  position:fixed; left:var(--pn-space-3); right:var(--pn-space-3); bottom:var(--pn-space-3);
  z-index:var(--pn-z-toast); max-width:560px; margin-inline:auto;
  background:var(--pn-surface); border:1px solid var(--pn-line-strong); border-radius:var(--pn-radius);
  box-shadow:var(--pn-shadow); padding:var(--pn-space-4); display:flex; flex-direction:column; gap:var(--pn-space-3);
}
.pn-cookie[hidden]{ display:none; }
.pn-cookie p{ font-size:.85rem; color:var(--pn-muted); }
.pn-cookie-actions{ display:flex; gap:var(--pn-space-2); }

/* ---------- 18. Back to top ---------- */
.pn-top{
  position:fixed; right:var(--pn-space-4); bottom:var(--pn-space-4); z-index:var(--pn-z-overlay);
  width:48px; height:48px; border-radius:var(--pn-radius); background:var(--pn-accent); color:var(--pn-accent-ink);
  display:flex; align-items:center; justify-content:center; font-weight:800;
  opacity:0; pointer-events:none; transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease;
  border:1px solid var(--pn-line);
}
.pn-top.is-visible{ opacity:1; pointer-events:auto; transform:translateY(0); }

/* ---------- 19. Prose-card (právní stránky) ---------- */
.pn-legal-section{ padding-block:var(--pn-space-8); border-top:1px solid var(--pn-line); }
.pn-legal-section:first-of-type{ border-top:0; }
.pn-legal-section h2{ margin-bottom:var(--pn-space-3); }
.pn-legal-section .pn-lead{ max-width:70ch; }
.pn-legal-section .pn-compliance-box{ margin-top:var(--pn-space-4); }

/* ---------- 20. 404 ---------- */
.pn-404{ padding-block:var(--pn-space-16); text-align:center; }
.pn-404-code{ font-size:clamp(3rem,8vw,6rem); font-weight:800; color:var(--pn-accent); line-height:1; }
.pn-404 .pn-lead{ margin-inline:auto; margin-top:var(--pn-space-3); }
.pn-404 .pn-btn{ margin-top:var(--pn-space-4); }
.pn-404-links{ display:grid; gap:8px; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); text-align:left; margin-top:var(--pn-space-6); max-width:760px; margin-inline:auto; }
.pn-404-links a{ padding:10px 14px; border:1px solid var(--pn-line); border-radius:var(--pn-radius-sm); font-size:.88rem; }
.pn-404-links a:hover{ border-color:var(--pn-accent); color:var(--pn-accent-strong); }

/* ---------- 21. Odkaz prokladka ---------- */
.pn-refbridge{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:var(--pn-space-6); text-align:center; }
.pn-refbridge-inner{ display:flex; flex-direction:column; gap:var(--pn-space-4); align-items:center; max-width:420px; }
.pn-spinner{ width:36px; height:36px; border-radius:50%; border:3px solid var(--pn-line-strong); border-top-color:var(--pn-accent); }
@media (prefers-reduced-motion: no-preference){ .pn-spinner{ animation: pn-spin 0.8s linear infinite; } }
@keyframes pn-spin{ to{ transform:rotate(360deg); } }

/* ---------- 22. Utility ---------- */
.pn-vh{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
