/* =========================================================
   GOLEM DEFENDER — appearance.css
   Dark UI, lepší kontrast, přístupnost, partneři, footer
   ========================================================= */

/* ==== Proměnné tématu ==== */
:root{
  --clr-bg:#222718;
  --clr-text:#E8E4D6;
  --clr-panel:rgba(232,228,214,0.04);
  --clr-divider:rgba(232,228,214,0.12);
  --clr-accent-army:#6E8A44;      /* olivová na odkazy / akce */
  --clr-accent-blue:#00a1e0;      /* donate / CTA */
  --clr-accent-amber:#F5B301;     /* progress / donate brand */

  --radius-sm:.5rem;
  --radius-md:1rem;
  --radius-lg:1.5rem;

  --shadow-sm:0 6px 16px rgba(0,0,0,.18);
  --shadow-md:0 10px 28px rgba(0,0,0,.24);
}

/* ==== Základ / reset ==== */
*,
*::before,
*::after{ box-sizing:border-box }
html,body{ min-height:100% }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100% }
body{
  margin:0;
  background:var(--clr-bg);
  color:var(--clr-text);
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  line-height:1.55;
}
img{ max-width:100%; height:auto; display:block }
a{ color:var(--clr-accent-army); text-decoration:none; text-underline-offset:2px }
a.underline{ text-decoration:underline }
a:hover{ filter:brightness(1.05) }

/* Výběr textu */
::selection{ background:color-mix(in oklab, var(--clr-accent-amber) 35%, transparent); color:#111 }

/* Přístupnost: viditelný focus */
:focus-visible{
  outline:2px solid color-mix(in oklab, var(--clr-accent-blue) 85%, white 0%);
  outline-offset:2px;
  border-radius:.4rem;
}

/* Skryté pro screenreadery */
.sr-only{
  position:absolute !important;
  width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ==== Utility ==== */
.bg-page{ background:var(--clr-bg) }
.text-foreground{ color:var(--clr-text) }
.border-divider{ border-color:var(--clr-divider) }
.panel-semi{
  background:var(--clr-panel);
  backdrop-filter: blur(2px);
}
.text-sm{ font-size:.925rem; line-height:1.5 }
.mt-2{ margin-top:.5rem }

/* NEZALOMITELNÉ PENÍZE (použito u "Vybráno" a "Cíl") */
.nowrap{ white-space:nowrap }
.money{
  white-space:nowrap;
  word-break:keep-all;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
}
/* jemný mobilní shrink pouze pro velké číslo v hero boxu */
@media (max-width:360px){
  #hero-stat-raised{ font-size:1.125rem !important; }
}

/* Anchor offset podle výšky hlavičky + sticky CTA */
.anchor-target{
  scroll-margin-top: calc(var(--header-h,64px) + var(--cta-h,0px) + 12px);
}

/* ==== Layout ==== */
.section{ padding:4rem 0 }
@media (min-width:1024px){ .section{ padding:6rem 0 } }

.container{ width:100%; max-width:80rem; margin:0 auto; padding:0 1rem }
@media (min-width:640px){ .container{ padding:0 1.5rem } }
@media (min-width:1024px){ .container{ padding:0 2rem } }
.container-narrow{ max-width:48rem }

/* Karty / panely */
.card{
  background:var(--clr-panel);
  border:1px solid var(--clr-divider);
  border-radius:var(--radius-md);
  padding:1.5rem;
  box-shadow:var(--shadow-sm);
}
@media (min-width:1024px){ .card{ padding:1.75rem } }

.stack-10 > * + *{ margin-top:2.5rem }

/* Seznamy */
.list{ margin:.75rem 0 0 0; padding-left:1.25rem }
.list li{ list-style:disc }

/* Nadpisy – jemná typografie */
.title-1{ font-size:2.25rem; line-height:1.2; font-weight:800; margin:0 }
@media (min-width:1024px){ .title-1{ font-size:2.5rem } }
.title-2{ font-size:1.125rem; line-height:1.3; font-weight:700; margin:0 }

/* ==== Tlačítka ==== */
.btn-accent{
  background:var(--clr-accent-army);
  color:#fff;
  border:1px solid color-mix(in oklab, var(--clr-accent-army) 70%, transparent);
  padding:.55rem 1rem;
  border-radius:var(--radius-md);
  font-weight:600;
  display:inline-block;
  box-shadow:0 6px 18px rgba(0,0,0,.16);
  transition: filter .15s ease, transform .06s ease, box-shadow .2s ease;
}
.btn-accent:hover{ filter:brightness(1.05); transform:translateY(-1px) }
.btn-accent:active{ transform:translateY(0) }

/* Sekundární outline (pro jistotu, kdybys chtěl) */
.btn-outline{
  background:transparent;
  color:var(--clr-text);
  border:1px solid var(--clr-divider);
  border-radius:var(--radius-md);
  padding:.55rem 1rem;
}
.btn-outline:hover{ background:rgba(255,255,255,.05) }

/* ==== Hlavička / navigace ==== */
.site-header{
  background: color-mix(in oklab, var(--clr-bg) 92%, transparent);
  border-bottom:1px solid var(--clr-divider);
  backdrop-filter: saturate(1.1) blur(8px);
}
.site-header .site-logo{ letter-spacing:.2px }

/* ==== Galerie / slider (jen drobnosti, většinu řeší Tailwind) ==== */
.js-slider{ box-shadow:var(--shadow-sm); border-radius:var(--radius-lg) }
.js-slider .js-dots{ pointer-events:auto }
.js-slider .js-dots button{ transition:transform .12s ease }
.js-slider .js-dots button:hover{ transform:scale(1.12) }

/* ==== Tabulka pohybů účtu ==== */
table{ border-collapse:separate; border-spacing:0 }
thead th{
  font-weight:700;
  color: color-mix(in oklab, var(--clr-text) 85%, #fff 0%);
  border-bottom:1px solid var(--clr-divider);
}
tbody td{ border-top:1px solid var(--clr-divider) }
tbody tr:hover{ background:rgba(255,255,255,.035) }

/* Zarovnání čísel vpravo – pro jistotu */
td.text-right, th.text-right{ text-align:right }

/* ==== Partneři (footer) ==== */
.partner-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:14px;
}
.partner-card{
  display:flex; align-items:center; justify-content:center;
  background:var(--clr-panel);
  border:1px solid var(--clr-divider);
  border-radius:var(--radius-md);
  min-height:84px;
  transition: background .15s ease, transform .06s ease, box-shadow .2s ease;
}
.partner-card:hover{
  background: rgba(255,255,255,.05);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}
.partner-card:focus-within{ outline:2px solid var(--clr-accent-blue); outline-offset:2px }
.partner-img{ max-height:48px; width:auto; opacity:.95 }
.partner-img--black{ filter: brightness(0) saturate(100%) }

/* ==== Patička ==== */
.site-footer{
  background: var(--clr-panel);
  border-top: 1px solid var(--clr-divider);
  backdrop-filter: blur(4px);
}
.site-footer .footer-partners{
  background: var(--clr-panel);
  border-bottom: 1px solid var(--clr-divider);
}

/* ==== Donate mini-brand (zůstává, jen lehké doladění) ==== */
.donate-theme{
  --donate-accent:var(--clr-accent-amber);
  --donate-ink:#121007;
  --donate-bg: radial-gradient(1200px 400px at 20% -10%, rgba(245,179,1,.12), transparent),
               radial-gradient(900px 300px at 110% 20%, rgba(245,179,1,.08), transparent);
}
#fund{ background-image: var(--donate-bg); background-repeat:no-repeat }
.donate-card{
  background: linear-gradient(180deg, rgba(245,179,1,.06), rgba(245,179,1,.0)), var(--clr-panel);
  border:1px solid color-mix(in oklab, var(--donate-accent) 35%, var(--clr-divider));
  border-radius:var(--radius-lg);
  box-shadow: 0 10px 30px rgba(245,179,1,.07), inset 0 0 0 1px rgba(245,179,1,.08);
  position: relative;
}
.donate-badge{
  position:absolute; top:12px; right:-34px;
  background: var(--donate-accent); color: var(--donate-ink);
  font-weight:700; font-size:.72rem; letter-spacing:.08em;
  padding:.35rem 2rem; transform: rotate(35deg);
  box-shadow:0 8px 20px rgba(245,179,1,.25);
  border-radius:.5rem;
}
.donate-lead{ opacity:.9 }
.donate-cta{
  background: var(--donate-accent) !important;
  color: var(--donate-ink) !important;
  border: none !important;
  box-shadow: 0 6px 18px rgba(245,179,1,.28);
  transition: transform .06s ease, box-shadow .2s ease;
}
.donate-cta:hover{ transform: translateY(-1px); box-shadow:0 10px 22px rgba(245,179,1,.33) }
.donate-cta:active{ transform: translateY(0) }

.amount-btn{ border-color: color-mix(in oklab, var(--donate-accent) 25%, var(--clr-divider)) }
.amount-btn:hover,.amount-btn:focus{
  outline: 2px solid color-mix(in oklab, var(--donate-accent) 55%, transparent);
  background: rgba(245,179,1,.08);
}
.donate-secure{
  display:flex; align-items:center; gap:.6rem;
  margin-top:1rem; padding:.6rem .8rem;
  border:1px dashed color-mix(in oklab, var(--donate-accent) 55%, var(--clr-divider));
  background: rgba(245,179,1,.06);
  border-radius:.75rem; font-size:.8rem;
}
.donate-secure .lock{ width:18px; height:18px; fill: currentColor; color: var(--donate-accent) }
.donate-secure .methods{ opacity:.8; margin-left:auto }
#stat-bar{ background: var(--donate-accent) !important }

/* ==== Specifické drobnosti ze stránky ==== */
.footer-divider{ border-top:1px solid var(--clr-divider) }

/* Lepší rendering malých ikon / PNG log */
img[loading="lazy"]{ contain: content }

/* ==== Preferuje snížený pohyb ==== */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important }
}

/* ==== Tisk ==== */
@media print{
  :root{
    --clr-bg:#fff;
    --clr-text:#000;
    --clr-panel:#fff;
    --clr-divider:#ccc;
  }
  body{ background:#fff; color:#000 }
  .site-header, #sticky-cta, .footer-partners{ display:none !important }
  a{ color:#000; text-decoration:underline }
}
