/* ==========================================================================
   DYSFÁZKA v2 — jednotná vizuální vrstva (říjen 2026)
   Načítá se jako úplně poslední. Sjednocuje web s programem MAPA:
   - písma Bricolage Grotesque (nadpisy) a Atkinson Hyperlegible (text,
     navrženo pro co nejlepší čitelnost),
   - bílé pozadí místo krémové, fialová jako hlavní barva, hrušková jako
     doplněk ze značky, korálová jen pro obchod,
   - klidné plochy: tenké linky, žádné tvrdé stíny, žádné podtržené
     „zvýrazněné slovo“ v každém nadpisu.
   Původní soubory se nemění — kdyby bylo potřeba vrátit vzhled,
   stačí odstranit tento soubor z <head>.
   ========================================================================== */
:root {
  --v-violet: #5B2FC4;
  --v-violet-deep: #2B1466;
  --v-lilac: #D9C9FF;
  --v-lilac-soft: #F3EEFF;
  --v-pear: #CBD83B;
  --v-coral: #FF6B57;
  --v-ink: #1C1233;
  --v-text: #3A3150;
  --v-line: #E4DCF7;
  --v-fd: 'Bricolage Grotesque', system-ui, sans-serif;
  --v-fb: 'Atkinson Hyperlegible', system-ui, sans-serif;

  /* přemapování starých tokenů */
  --bg: #FFFFFF; --bg-soft: var(--v-lilac-soft); --bg-card: #FFFFFF; --bg-deep: var(--v-violet-deep);
  --text: var(--v-ink); --text-muted: var(--v-text); --text-soft: #6A6280;
  --accent: var(--v-violet); --accent-hover: #4A22A8; --accent-soft: var(--v-lilac);
  --sage: var(--v-lilac); --sage-soft: var(--v-lilac-soft);
  --line: var(--v-line); --line-soft: var(--v-line);
  --font-display: var(--v-fd); --font-body: var(--v-fb); --font-display-alt: var(--v-fd);
  --dys-indigo: var(--v-lilac); --dys-indigo-text: var(--v-violet); --dys-indigo-deep: var(--v-violet-deep);
  --dys-ink: var(--v-ink); --dys-deep: var(--v-violet-deep); --dys-ivory: #FFFFFF;
}

html, body { background: #fff !important; }
body { font-family: var(--v-fb) !important; color: var(--v-ink); font-size: 18px; }

/* ---------- typografie ---------- */
h1, h2, h3, h4, .page-title, .home-hero-title, .home-section-title, .section-title,
.hero-title, .community-title, .footer-heading, .map-cta h2, .home-entries-title {
  font-family: var(--v-fd) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  font-variation-settings: normal !important;
}
h3, h4, .footer-heading { font-weight: 700 !important; letter-spacing: -0.01em !important; }
.page-title, .home-hero-title { line-height: 1.02 !important; }

/* zvýrazněné slovo v nadpisech: bez barvy, bez kurzívy, bez podtržení */
h1 em, h2 em, h3 em, .home-hero-title em, .home-section-title em, .page-title em,
.hero-title em, .section-title em, .map-cta h2 em, .home-mapa h2 em {
  font-style: normal !important; color: inherit !important;
  background: none !important; padding: 0 !important; font-weight: inherit !important;
}

/* štítky nad nadpisy: obyčejná věta, ne kapitálky */
.eyebrow, .home-hero-eyebrow, .entry-kicker, .home-topic-cat, .related-card-cat,
.search-result-cat, .retreat-eyebrow, .footer-heading {
  text-transform: none !important; letter-spacing: 0 !important;
  font-family: var(--v-fb) !important; font-weight: 700 !important;
  font-size: 0.95rem !important; color: var(--v-violet) !important;
}
.footer-heading { color: var(--v-pear) !important; font-size: 1.05rem !important; }

a { text-underline-offset: 3px; }
.prose a:not(.btn):not(.link-arrow) { color: var(--v-violet) !important; text-decoration: underline; text-decoration-thickness: 1.5px; }
.prose a:not(.btn):not(.link-arrow):hover { background: var(--v-lilac-soft) !important; }

/* ---------- plochy: tenké linky, žádné tvrdé stíny ---------- */
.amount, .article-action, .asset, .asset-preview, .back-to-top, .callout, .community-link,
.crisis, .dld-banner, .dz-card, .editorial-note, .entry, .fact, .faq-toc a, .feature,
.feedback-btn, .feedback-widget, .form-status, .home-blog-card, .home-cat, .home-cat-icon,
.home-cta-inner, .home-hero-quote, .home-hero-stat, .home-mini, .home-quickstart-card,
.home-stat, .home-topic, .home-topic-img, .how-step, .ig-card, .ig-post, .ig-nav, .kv,
.lead-box, .lead-note, .map-form, .nf-link, .partner-text, .pill, .post-card, .pozor-box,
.related-card, .retreat-note, .search-modal, .shop-card, .shop-card img, .social-btn,
.step, .tema-obsah, .tip-box, .toc, .nav-dropdown, .q, .card, .shop-jump a,
.field input, .field select, .field textarea, .check input {
  box-shadow: none !important;
  border-width: 1.5px !important;
  border-color: var(--v-line) !important;
}
.home-blog-card:hover, .home-cat:hover, .home-topic:hover, .post-card:hover, .related-card:hover,
.home-quickstart-card:hover, .community-link:hover, .ig-card:hover, .ig-post:hover, .amount:hover,
.home-mini:hover, .shop-card:hover, .nf-link:hover, .social-btn:hover {
  transform: none !important; box-shadow: none !important; border-color: var(--v-violet) !important;
}
.entry, .home-topic, .post-card, .related-card, .home-blog-card, .shop-card, .map-form,
.community-link, .amount, .home-mini, .home-quickstart-card, .dz-card, .feature, .fact,
.tip-box, .pozor-box, .callout, .lead-box, .toc, .crisis, .kv { border-radius: 22px !important; }
.kv::after { opacity: .55; }

/* sekce s tlustou čarou nahoře/dole → bez ní */
.home-entries, .home-mission, .home-partners, .home-quickstart, .home-retreat, .home-blog,
.page-header, .ig-strip, .community, .dz-section--pear, .dz-section--tint, .map-cta,
.shop-group:nth-of-type(even), .home-shop, .header, .topbar, .starter-banner {
  border-top: 0 !important; border-bottom: 0 !important; box-shadow: none !important;
}

/* ---------- hlavička ---------- */
.topbar { background: var(--v-violet-deep) !important; }
.header { background: #fff !important; border-bottom: 1px solid var(--v-line) !important; }
.nav-link { font-family: var(--v-fb) !important; font-weight: 700 !important; }
.nav-dropdown { border-radius: 16px !important; }
.nav-donate, .nav-shop { border-radius: 999px !important; }
.nav-shop { color: var(--v-violet) !important; }
.search-trigger { border: 1.5px solid var(--v-line) !important; box-shadow: none !important; }
.starter-banner { background: var(--v-pear) !important; color: var(--v-ink) !important; }

/* ---------- tlačítka ---------- */
.btn, .btn-dark, .btn-ghost, .btn-pear, .home-mapa .btn-line {
  box-shadow: none !important; transform: none !important;
  font-family: var(--v-fd) !important; font-weight: 700 !important; border-radius: 999px !important;
}
.btn-dark, .btn.btn-dark { background: var(--v-violet) !important; color: #fff !important; border: 0 !important; }
.btn-dark:hover { background: #4A22A8 !important; }
.btn-ghost, .btn.btn-ghost { background: transparent !important; color: var(--v-violet) !important; border: 2px solid var(--v-violet) !important; }
.btn-ghost:hover { background: var(--v-lilac-soft) !important; }
.btn-pear { background: var(--v-pear) !important; color: var(--v-ink) !important; border: 0 !important; }

/* ---------- záhlaví podstránek ---------- */
.page-header { background: var(--v-lilac-soft) !important; }
.page-header::before, .page-header::after { display: none !important; }
.page-title { color: var(--v-ink) !important; font-size: clamp(2.3rem, 1.4rem + 3.4vw, 4rem) !important; }

/* ---------- tmavé plochy ---------- */
.map-cta, .footer, .home-mapa, .bg-deep { background: var(--v-violet-deep) !important; }
.footer { border-top: 0 !important; }
.map-cta h2, .home-mapa h2 { color: #fff !important; }

/* ---------- úvodní stránka ---------- */
.home-hero { background: #fff !important; position: relative; overflow: hidden; }
.home-hero::before, .home-hero::after { display: none !important; }
.home-hero-title { font-size: clamp(2.8rem, 1.6rem + 5vw, 6rem) !important; color: var(--v-ink) !important; max-width: 12ch; }
.home-hero-lead { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem) !important; color: var(--v-text) !important; max-width: 40ch; }
.home-hero-stat { background: var(--v-violet) !important; color: #fff !important; border: 0 !important; border-radius: 28px 28px 28px 6px !important; }
.home-hero-stat * { color: #fff !important; }
.home-hero-stat-num { font-family: var(--v-fd) !important; font-weight: 800 !important; }
.home-hero-quote { background: var(--v-lilac-soft) !important; border: 0 !important; border-radius: 28px 28px 6px 28px !important; font-family: var(--v-fd) !important; font-style: normal !important; font-weight: 500; }
.home-entries { background: var(--v-lilac-soft) !important; }
.entry { background: #fff !important; }
.entry--main { background: var(--v-violet) !important; color: #fff !important; border-color: var(--v-violet) !important; }
.entry--main h3, .entry--main p, .entry--main a, .entry--main .entry-kicker { color: #fff !important; }
.entry--main .btn-dark { background: var(--v-pear) !important; color: var(--v-ink) !important; }
.home-mapa { border: 0 !important; border-radius: 28px !important; }
.home-mapa .eyebrow { color: var(--v-pear) !important; }
.home-shop { background: #fff !important; }

/* ---------- drobnosti ---------- */
.reading-progress { background: var(--v-violet) !important; }
::selection { background: var(--v-lilac); color: var(--v-ink); }
:focus-visible { outline: 3px solid var(--v-violet) !important; outline-offset: 3px; }

/* výzva „Nevíte, kudy dál?“ */
.home-cta-inner { background: var(--v-violet) !important; color: #fff !important; border: 0 !important; border-radius: 28px !important; }
.home-cta-inner h2, .home-cta-inner p { color: #fff !important; }
.home-cta-inner .btn-dark { background: var(--v-pear) !important; color: var(--v-ink) !important; }
.home-cta-inner .btn-ghost { color: #fff !important; border-color: #fff !important; }
.home-cta-inner .btn-ghost:hover { background: rgba(255,255,255,.12) !important; }
/* tmavé sekce: tlačítka a obrysy */
.map-cta .btn-dark, .home-mission .btn-dark { background: var(--v-pear) !important; color: var(--v-ink) !important; }

/* ---------- ilustrace místo písmene D ---------- */
.kv.kv-ill { display: flex !important; align-items: center; justify-content: center; border: 0 !important; background: var(--v-lilac-soft) !important; overflow: hidden; }
.kv.kv-ill::after { display: none !important; }
.kv.kv-ill::before { background-image: radial-gradient(circle at 82% 18%, rgba(255,255,255,.7) 0 22%, transparent 22.5%), radial-gradient(circle at 12% 88%, rgba(91,47,196,.08) 0 30%, transparent 30.5%) !important; }
.kv.kv-ill img { position: relative; width: 34%; max-width: 150px; height: auto; filter: drop-shadow(0 10px 18px rgba(43,20,102,.18)); }
.kv.kv-ill.kv--2 { background: #F4F7CF !important; }
.kv.kv-ill.kv--3 { background: #FFE4DE !important; }
.kv.kv-ill.kv--4 { background: #E9E1FF !important; }
.kv.kv-ill.kv--5 { background: #E3F2EA !important; }
.kv.kv-ill.kv--6 { background: #FFF1D6 !important; }
.home-topic-ill { position: relative; display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; background: var(--v-lilac-soft) !important; }
.home-topic-ill img { width: 30%; max-width: 96px; filter: drop-shadow(0 8px 14px rgba(43,20,102,.16)); }
.home-topic-ill span { font-family: var(--v-fd) !important; font-weight: 700; color: var(--v-ink) !important; }

/* ---------- pruh se slevou ---------- */
.sleva-band { background: var(--v-pear); padding: 1.1rem 0; }
.sleva-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .9rem 2rem; }
.sleva-text { margin: 0; font-size: 1.05rem; color: var(--v-ink); max-width: 60ch; }
.sleva-text strong { font-family: var(--v-fd); font-weight: 800; }
.sleva-code { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.sleva-kod { font-family: var(--v-fd); font-weight: 800; font-size: 1.25rem; letter-spacing: .04em; background: #fff; border: 2px dashed var(--v-ink); border-radius: 12px; padding: .35rem .9rem; }
.sleva-copy, .sleva-go { font-family: var(--v-fd); font-weight: 700; font-size: .95rem; border-radius: 999px; padding: .55rem 1.1rem; cursor: pointer; text-decoration: none; }
.sleva-copy { background: var(--v-ink); color: #fff; border: 0; }
.sleva-go { color: var(--v-ink); border: 2px solid var(--v-ink); }

/* ---------- pomocníci PnP na stránce Příspěvek na péči ---------- */
.pnp-nastroje { padding: clamp(1.6rem, 4vw, 2.6rem) 0 .5rem; }
.pnp-n-in { display: grid; gap: 1rem; }
@media (min-width: 820px) { .pnp-n-in { grid-template-columns: 1fr 1fr; } }
.pnp-n { display: grid; grid-template-columns: auto 1fr; gap: .3rem 1.1rem; align-items: start; padding: 1.4rem 1.5rem; border-radius: 24px; text-decoration: none; color: var(--v-ink); }
.pnp-n img { grid-row: 1 / 4; width: 56px; height: 56px; }
.pnp-n-t { font-family: var(--v-fd); font-weight: 800; font-size: 1.35rem; line-height: 1.15; }
.pnp-n-p { font-size: 1rem; line-height: 1.5; color: var(--v-text); }
.pnp-n-b { justify-self: start; margin-top: .5rem; font-family: var(--v-fd); font-weight: 700; border-radius: 999px; padding: .6rem 1.2rem; }
.pnp-n--a { background: var(--v-violet); } .pnp-n--a, .pnp-n--a .pnp-n-p { color: #fff; } .pnp-n--a .pnp-n-b { background: var(--v-pear); color: var(--v-ink); }
.pnp-n--b { background: var(--v-lilac-soft); border: 1.5px solid var(--v-line); } .pnp-n--b .pnp-n-b { background: var(--v-violet); color: #fff; }
.pnp-n:hover .pnp-n-b { text-decoration: underline; }
.pnp-tip { background: var(--v-lilac-soft); border-radius: 14px; padding: .8rem 1rem; }
