/* ==========================================================================
   DYSFÁZKA — brandová vrstva
   Načítá se jako POSLEDNÍ, po style.css / enhancements.css / home.css /
   bold.css / prose.css. Žádný původní soubor není změněn.

   Pozor: živá paleta webu je definovaná v enhancements.css
   (Ivory #FFFEEC, Indigo #A88AED, Hrušková #CBD83B, Inkoust #1A1530).
   Korálová a teal ve style.css jsou přepsané a na web se nedostanou.
   ========================================================================== */

/* ---------- 1. Doplnění tokenů ---------- */
:root {
  --dys-indigo:       #A88AED;   /* plochy, rámečky, akcenty */
  --dys-indigo-text:  #7A55C9;   /* stejná barva, ale čitelná jako text (5.2:1) */
  --dys-indigo-deep:  #5E3DA6;
  --dys-pear:         #CBD83B;   /* zvýrazňovač, nadpisy na tmavém */
  --dys-ink:          #1A1530;
  --dys-deep:         #2A2540;
  --dys-ivory:        #FFFEEC;
}

/* ---------- 2. Čitelnost ----------
   Měření našlo 72 textových prvků pod 15 px a 10 míst pod normou WCAG AA.
   Tenhle web čtou unavení rodiče krátce po diagnóze. Musí se dát číst.   */

.nav-link          { font-size: 0.95rem !important; letter-spacing: 0; }
.nav-dropdown a    { font-size: 0.94rem !important; padding-block: 0.6rem !important; line-height: 1.35; }
.footer-heading    { font-size: 0.92rem !important; }
.topbar            { font-size: 0.86rem; }
.topbar a          { padding-block: 0.45rem; }
.post-meta, .home-blog-meta, .page-meta-item, .breadcrumb { font-size: 0.88rem !important; }
.prose p, .prose li { line-height: 1.75; }

/* Rozbalovací menu „Informace“ má 14 položek — na nižších displejích přeteklo */
.nav-dropdown {
  max-height: min(70vh, 620px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.nav-dropdown a:hover,
.nav-dropdown a:focus-visible { background: var(--dys-indigo); color: var(--dys-ink); }

/* Indigo je krásné, ale jako text má na ivory kontrast 2.74:1.
   Všude, kde nese význam, ho ztmavujeme — odstín zůstává stejný.        */
.eyebrow, .home-hero-eyebrow, .home-topic-cat,
.related-card-cat, .search-result-cat {
  color: var(--dys-indigo-text) !important;
  font-size: 0.82rem !important;
}
.link, .ig-feed-link, .prose a:not(.btn):not(.link-arrow),
.link-arrow, .home-blog-read, .home-stat-num span {
  color: var(--dys-indigo-text) !important;
}
.prose a:visited, .link:visited { color: var(--dys-indigo-deep) !important; }
.prose a:not(.btn):not(.link-arrow):hover { background: var(--dys-pear); color: var(--dys-ink) !important; }
h4[style*="var(--accent)"] { color: var(--dys-indigo-text) !important; }
.topbar-divider { color: rgba(255,255,255,0.55) !important; }

/* ---------- 3. Patička ----------
   bold.css ji přebarvil na --accent (indigo), ale nadpisy, tagline
   i copyright zůstaly bílé ze style.css. Naměřeno 2.79:1, 2.02:1 a 1.74:1.
   Značka byla nečitelná zrovna tam, kde má být nejvíc vidět.            */
.footer {
  background: var(--dys-deep) !important;
  color: rgba(255,255,255,0.84) !important;
  border-top: 5px solid var(--dys-pear) !important;
}
.footer a { color: rgba(255,255,255,0.84) !important; }
.footer a:hover, .footer a:focus-visible {
  background: transparent !important;
  color: var(--dys-pear) !important;
  text-decoration: underline; text-underline-offset: 3px;
}
.footer-heading  { color: var(--dys-pear) !important; letter-spacing: 0.08em; }
.footer-tagline  { color: rgba(255,255,255,0.80) !important; font-size: 0.95rem; }
.footer-dld-note { color: rgba(255,255,255,0.70) !important; opacity: 1 !important; }
.footer-bottom   { color: rgba(255,255,255,0.74) !important; }
.footer-brand    { color: #fff !important; align-items: center; gap: 0.65rem; }
.footer .logo-mark { background: var(--dys-pear) !important; color: var(--dys-ink) !important; font-weight: 700; }

/* logo.png je tmavý wordmark — na tmavé patičce zmizel. Otočíme na bílý. */
.footer-logo { filter: brightness(0) invert(1); opacity: 0.95; }

/* Údaje o spolku — u českého návštěvníka nejsilnější signál skutečné organizace */
.footer-legal {
  margin-top: 1.6rem; padding-top: 1.4rem;
  border-top: 1px solid rgba(255,255,255,0.16);
  display: flex; flex-wrap: wrap; gap: 0.4rem 1.8rem;
  font-size: 0.86rem; color: rgba(255,255,255,0.74);
}
.footer-legal strong { color: #fff; font-weight: 600; }

/* ---------- 4. Signature: linka, která dopíše slovo ----------
   V nadpisech je napříč webem 106× <em>. Dostane hruškový tah,
   který se při odhalení dokreslí zleva doprava — slovo, které dorazí.   */
h1 em, h2 em, .home-hero-title em, .home-section-title em, .page-title em {
  font-style: normal;
  color: inherit;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 10C38 4 74 12 108 6c26-4 52 2 89 4' stroke='%23CBD83B' stroke-width='6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 0.32em;
  padding-bottom: 0.10em;
  transition: background-size 700ms cubic-bezier(.2,.7,.2,1) 200ms;
}
.reveal:not(.is-visible) em,
.reveal:not(.is-visible) h1 em,
.reveal:not(.is-visible) h2 em { background-size: 0% 0.32em; }

/* ---------- 5. Klíčové vizuály místo placeholderů ----------
   Na webu bylo 78 šedých obdélníků s textem „[obrázek — placeholder]“.
   Nic nesráží dojem oficiálnosti tak spolehlivě jako rozdělaný web.
   Dokud nebudou fotky, vypadá to aspoň záměrně a značkově.             */
.kv {
  position: relative; width: 100%;
  border-radius: 14px; overflow: hidden;
  background: var(--kv-bg, var(--dys-indigo));
  border: 2px solid var(--dys-ink);
  box-shadow: 4px 4px 0 0 var(--dys-ink);
}
.kv::before {
  content: ""; position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 78% 20%, rgba(255,255,255,.22) 0 26%, transparent 26.5%),
    radial-gradient(circle at 10% 86%, rgba(26,21,48,.14) 0 32%, transparent 32.5%);
}
.kv::after {
  content: ""; position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 4a46 46 0 1 1-25.6 84.2l-13.8 7.3a2 2 0 0 1-2.9-2.3l4.2-15.1A46 46 0 0 1 50 4Z' fill='rgba(26,21,48,0.42)'/%3E%3Ctext x='51' y='66' font-family='Georgia,serif' font-size='46' font-style='italic' font-weight='600' text-anchor='middle' fill='rgba(255,255,255,0.85)'%3ED%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; background-size: 26%;
  opacity: 0.42;
}
.kv--1 { --kv-bg: #A88AED; }
.kv--2 { --kv-bg: #CBD83B; }
.kv--3 { --kv-bg: #2A2540; }
.kv--4 { --kv-bg: #8E6DD9; }
.kv--5 { --kv-bg: #B9C93A; }
.kv--6 { --kv-bg: #6B47B8; }

/* ---------- 6. Komunita místo emoji mřížky ----------
   Instagram sekce byla na 84 stránkách vysázená šesti dlaždicemi s emoji
   a popiskem „Informace o DLD“. Vypadalo to jako nefunkční widget.      */
.community {
  border-top: 2px solid var(--dys-ink);
  border-bottom: 2px solid var(--dys-ink);
  background: var(--dys-ivory);
  padding: clamp(2.6rem, 5vw, 4rem) 1.5rem;
}
.community-inner {
  max-width: 1080px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr);
  gap: clamp(1.8rem, 4vw, 3.5rem); align-items: center;
}
.community-title {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 600; line-height: 1.12; margin-bottom: 0.7rem;
}
.community-lead { color: var(--text-muted); max-width: 46ch; }
.community-links { display: grid; gap: 0.9rem; }
.community-link {
  display: flex; align-items: center; gap: 0.9rem;
  background: #fff; border: 2px solid var(--dys-ink); border-radius: 14px;
  box-shadow: 4px 4px 0 0 var(--dys-ink);
  padding: 0.95rem 1.15rem;
  transition: transform .15s, box-shadow .15s, background .15s;
}
.community-link:hover, .community-link:focus-visible {
  transform: translate(-2px,-2px); box-shadow: 6px 6px 0 0 var(--dys-ink);
  background: var(--dys-pear);
}
.community-link svg { width: 24px; height: 24px; flex: none; }
.community-link-name { font-weight: 700; line-height: 1.25; display: block; }
.community-link-meta { font-size: 0.88rem; color: var(--text-muted); display: block; }
.community-link-go { margin-left: auto; font-weight: 700; color: var(--dys-indigo-text); }
@media (max-width: 800px) { .community-inner { grid-template-columns: 1fr; } }

/* ---------- 7. Redakční odpovědnost ----------
   U webu se zdravotními informacemi je tohle to, co ho odlišuje od blogu.
   A je to poctivé vůči rodičům, kteří sem přijdou hned po diagnóze.     */
.editorial-note {
  max-width: 760px;
  /* Spodní okraj chyběl úplně, takže rámeček i s tvrdým stínem dosedal
     na linku následující sekce. Stín vyčnívá 4 px, odsazení to musí pokrýt. */
  margin: clamp(2.5rem,5vw,4rem) auto clamp(3rem,6vw,4.5rem);
  padding: 1.4rem 1.6rem;
  background: #fff;
  border: 2px solid var(--dys-ink);
  border-left-width: 10px; border-left-color: var(--dys-indigo);
  border-radius: 14px;
  box-shadow: 4px 4px 0 0 var(--dys-ink);
  display: flex; gap: 1rem; align-items: flex-start;
}
.editorial-note svg { width: 22px; height: 22px; flex: none; color: var(--dys-indigo-text); margin-top: 3px; }
.editorial-note-title { font-weight: 700; margin-bottom: 0.35rem; }
.editorial-note p { font-size: 0.94rem; line-height: 1.65; color: var(--text-muted); margin: 0; }
.editorial-note a { color: var(--dys-indigo-text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 8. Hlavička ---------- */
.logo-img { height: 34px; width: auto; }
.logo-lockup { display: flex; align-items: center; gap: 0.7rem; }
.logo-zs {
  font-size: 0.66rem; font-weight: 700; letter-spacing: 0.13em;
  text-transform: uppercase; color: var(--dys-indigo-text);
  border-left: 2px solid var(--dys-ink); padding-left: 0.7rem;
  line-height: 1.3; white-space: nowrap;
}
@media (max-width: 1200px) { .logo-zs { display: none; } }

.topbar {
  background: var(--dys-deep) !important;
  color: rgba(255,255,255,0.92) !important;
  border-bottom: 2px solid var(--dys-ink);
}
.topbar a { color: #fff !important; font-weight: 600; }
.topbar a:hover { color: var(--dys-pear) !important; }

/* ---------- 9. Přístupnost ---------- */
:focus-visible {
  outline: 3px solid var(--dys-indigo-deep) !important;
  outline-offset: 3px !important; border-radius: 4px;
}
.footer :focus-visible, .topbar :focus-visible { outline-color: var(--dys-pear) !important; }

/* Bez JS se obsah s .reveal dosud nezobrazil vůbec */
html:not(.js) .reveal,
html:not(.js) .reveal-stagger > * { opacity: 1 !important; transform: none !important; }

@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-stagger > * { opacity: 1 !important; transform: none !important; }
  h1 em, h2 em { background-size: 100% 0.32em !important; transition: none !important; }
}

/* ---------- 10. Drobnosti ---------- */
.starter-banner { background: var(--dys-pear) !important; color: var(--dys-ink) !important; }
.starter-banner a { color: var(--dys-ink) !important; font-weight: 700; }
.starter-close { color: var(--dys-ink) !important; opacity: 1 !important; }
.home-partners-row span {
  border: 2px solid var(--dys-ink); border-radius: 999px;
  padding: 0.42rem 1rem; font-weight: 600; background: #fff;
}

/* ---------- 11. Barevné sekce ----------
   Sekce s hruškovým a indigovým pozadím potřebují inkoustový text,
   ne ztmavené indigo. Jinak spadne kontrast pod normu.                 */
.home-blog .eyebrow,
.home-blog .link-arrow,
.home-blog-read,
.home-blog-meta,
.home-cta-inner p,
.home-cta-inner h2 { color: var(--dys-ink) !important; }

/* Velké číslo v hero kartě: indigo při 56 px má 2.79:1, norma je 3.0:1 */
.home-hero-stat-num { color: var(--dys-indigo-text) !important; }

/* Drobný text na kartách domovské stránky byl 13,1 px */
.eyebrow, .home-topic-cat, .related-card-cat, .search-result-cat { font-size: 0.9rem !important; }
.home-quickstart-card p,
.home-cat p,
.home-topic p { font-size: 0.95rem !important; line-height: 1.55; }

/* ---------- 12. Rozbalovací menu: můstek přes mezeru ----------
   .nav-dropdown má top:100% a margin-top:8px, takže mezi položkou menu
   a nabídkou je 8px mrtvá zóna. Při cestě myší dolů se v ní ztratí
   :hover a nabídka zmizí dřív, než na ni stihnete najet.

   Můstek je neviditelný pruh přes tu mezeru. Je na .nav-item, ne na
   .nav-dropdown — ta má overflow-y:auto kvůli 14 položkám u „Informace“
   a cokoli mimo její rámec by ořízla. Zapíná se až při najetí, aby
   jinak nepřekážel v klikání na obsah pod hlavičkou.                */
@media (min-width: 1025px) {
  .nav-item::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 14px;
    display: none;
  }
  .nav-item:hover::after,
  .nav-item:focus-within::after { display: block; }

  /* Krátká prodleva při zavírání odpustí drobné sjetí kurzoru
     u dlouhých nabídek. Při otevírání se nabídka objeví hned.       */
  .nav-dropdown {
    transition: opacity 160ms ease 160ms,
                visibility 160ms ease 160ms,
                transform 160ms ease 160ms !important;
  }
  .nav-item:hover .nav-dropdown,
  .nav-item:focus-within .nav-dropdown {
    transition-delay: 0ms !important;
  }
}

/* ---------- 13. Hlavička se nevešla ----------
   Devět položek menu + E-shop + vyhledávání v jedné řadě nezalomí
   a mobilní menu naskakuje až pod 1024 px. Mezi 1025 a ~1750 px proto
   hlavička přetékala a na stránce byl vodorovný posuvník — tedy zrovna
   na 1366, 1440 a 1536 px, což jsou nejběžnější notebooky.

   Bylo to těsné už předtím; zvětšením písma v menu z 13,1 na 15,2 px
   (sekce 2) jsem to překlopil přes hranu.

   Vodorovný posuvník tu vědomě NEskrývám přes overflow-x:hidden —
   to by přetékající obsah jen uřízlo a lupa by zmizela ze stránky.  */
@media (min-width: 1025px) and (max-width: 1750px) {
  .header-inner { gap: clamp(6px, 1vw, 18px); }
  .nav { gap: clamp(1px, 0.55vw, 10px); flex-wrap: nowrap; }
  .nav-link {
    font-size: clamp(0.76rem, 0.82vw, 0.9rem) !important;
    padding-inline: clamp(2px, 0.35vw, 7px);
    white-space: nowrap;
  }
  .nav-cta { padding-inline: clamp(8px, 0.8vw, 14px) !important; }

  /* U lupy zůstane ikona; popisek a klávesová zkratka jdou pryč */
  .search-trigger-label,
  .search-trigger kbd,
  .search-trigger .kbd { display: none !important; }
  .search-trigger { padding-inline: 10px; }
}

/* Mezi 1025 a 1300 px se devět položek nevejde ani po stažení.
   V tomhle úzkém pásmu ustoupí E-shop — je i v horní liště a v patičce,
   takže se odnikud neztratí. Zbytek menu zůstane celý.                */
@media (min-width: 1025px) and (max-width: 1300px) {
  .nav-cta { display: none !important; }
  .nav-link { font-size: 0.76rem !important; padding-inline: 3px; }
  .nav { gap: 2px; }
}

/* ---------- 14. Délka řádku a čtení ----------
   Naměřeno 84–89 znaků na řádek na desktopu a jen 35 na mobilu.
   Obojí je mimo pásmo, ve kterém se čte dobře (60–75). U publika
   s poruchou zpracování jazyka je návrat na další řádek to nejnáročnější
   místo — dlouhý řádek znamená, že oko ztrácí pozici.
   Vnitřní max-width:860px je v HTML zapsaná inline, proto !important.  */
.prose {
  /* 54ch, ne 68ch: jednotka ch měří šířku nuly, která je v Plus Jakarta Sans
     o třetinu širší než průměrné písmeno běžného textu. 68ch by dalo 87 znaků. */
  max-width: 54ch !important;
  font-size: 1.15rem;
  line-height: 1.75;
}
.prose h2 { margin-top: 2.4em; }
.page-lead { max-width: 60ch; }

@media (max-width: 640px) {
  .container { padding-inline: 16px; }   /* bylo tolik, že řádek měl 35 znaků */
  .prose { font-size: 1.08rem; max-width: 100% !important; }
}

/* Zvýrazněná věta, která dřív byla nadpisem h4, ačkoli nadpis není */
.lead-note {
  margin: 1.6em 0;
  padding: 0.9rem 1.2rem;
  background: var(--dys-pear, #CBD83B);
  border: 2px solid var(--dys-ink, #1A1530);
  border-radius: 12px;
  font-weight: 700;
  line-height: 1.5;
}

/* Zdroj pod statistikou */
.stat-source {
  display: block;
  margin-top: 6px;
  font-size: 0.74rem;
  font-weight: 400;
  opacity: 0.75;
  letter-spacing: 0;
}

/* ---------- 15. Obsahová témata ---------- */
.tema { margin-top: clamp(3rem, 6vw, 4.5rem); }
.tema:first-of-type { margin-top: 2rem; }
.tema h2 { margin-bottom: 0.4em; }
.tema-lead {
  font-size: 1.12rem; line-height: 1.6; font-weight: 600;
  color: var(--dys-indigo-text); margin-bottom: 1.4em;
}
.tema h3 { margin-top: 1.8em; margin-bottom: 0.5em; font-size: 1.12rem; }

.tema-obsah {
  background: #fff; border: 2px solid var(--dys-ink);
  border-radius: 14px; box-shadow: 4px 4px 0 0 var(--dys-ink);
  padding: 1.2rem 1.5rem; margin-bottom: 2.5rem;
}
.tema-obsah p { font-weight: 700; margin: 0 0 0.6rem; }
.tema-obsah ol { margin: 0; padding-left: 1.2rem; }
.tema-obsah li { margin-bottom: 0.35rem; }

.tip-box {
  background: var(--dys-pear); border: 2px solid var(--dys-ink);
  border-radius: 14px; padding: 1.2rem 1.5rem; margin: 1.8em 0;
}
.tip-box > :first-child { margin-top: 0; }
.tip-box > :last-child { margin-bottom: 0; }
.tip-box h3 { margin-top: 0 !important; font-size: 1.02rem; }

.pozor-box {
  background: #fff; border: 2px solid var(--dys-ink); border-left-width: 10px;
  border-left-color: var(--dys-indigo); border-radius: 14px;
  padding: 1.2rem 1.5rem; margin: 1.8em 0;
}
.pozor-box > :first-child { margin-top: 0; }
.pozor-box > :last-child { margin-bottom: 0; }
.pozor-box h3 { margin-top: 0 !important; font-size: 1.02rem; }

/* ---------- 16. Partneři ----------
   Dvě loga, ne řada textových štítků. Rozdílné formáty se srovnají
   podle výšky, ne podle šířky — jinak by drobné logo působilo ztraceně.  */
.home-partners-row {
  display: flex; flex-wrap: wrap;
  align-items: center; justify-content: center;
  gap: clamp(2rem, 6vw, 5rem);
}
.partner {
  display: inline-flex; align-items: center;
  min-height: 64px;
  transition: transform .16s, opacity .16s;
}
.partner:hover, .partner:focus-visible { transform: translateY(-2px); }
.partner img { height: 56px; width: auto; max-width: 260px; object-fit: contain; display: block; }

/* Textová varianta, dokud není k dispozici obrázek */
.partner-text {
  display: flex; flex-direction: column; line-height: 1.25;
  padding: 0.7rem 1.2rem;
  border: 2px solid var(--dys-ink); border-radius: 12px;
  background: #fff; box-shadow: 3px 3px 0 0 var(--dys-ink);
  color: var(--dys-ink); text-align: left;
}
.partner-text strong { font-size: 0.98rem; }
.partner-text span { font-size: 0.82rem; color: var(--mute, #67716C); }
.partner:hover .partner-text { background: var(--dys-pear); }

@media (max-width: 560px) {
  .home-partners-row { gap: 1.6rem; }
  .partner img { height: 46px; }
}

/* Čtvercová loga potřebují víc výšky než široká, jinak působí drobně.
   Srovnáváme opticky, ne matematicky. */
.partner img.partner-square { height: 78px; max-width: 100px; }
@media (max-width: 560px) { .partner img.partner-square { height: 64px; } }

/* ---------- 14. Retreat v Toskánsku ---------- */
.home-retreat {
  padding: clamp(3rem, 6vw, 5rem) 0;
  background: var(--dys-ivory, #FFFEEC);
  border-top: 2px solid var(--dys-ink, #1A1530);
  border-bottom: 2px solid var(--dys-ink, #1A1530);
}
.retreat-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
}
.retreat-eyebrow {
  display: inline-block;
  font-size: 0.82rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  background: var(--dys-pear, #CBD83B); color: var(--dys-ink, #1A1530);
  border: 2px solid var(--dys-ink, #1A1530); border-radius: 999px;
  padding: 0.35rem 0.95rem; margin-bottom: 1rem;
}
.retreat-title {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 4vw, 3rem);
  font-weight: 500; line-height: 1.08; margin: 0 0 0.9rem;
}
.retreat-lead { max-width: 54ch; color: var(--text-muted); margin-bottom: 1.6rem; }
.retreat-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.retreat-note {
  background: var(--dys-indigo, #A88AED);
  border: 2px solid var(--dys-ink, #1A1530);
  border-radius: 16px;
  box-shadow: 5px 5px 0 0 var(--dys-ink, #1A1530);
  padding: 1.4rem 1.5rem;
}
.retreat-note p { margin: 0; font-size: 0.97rem; line-height: 1.6; color: var(--dys-ink, #1A1530); }

@media (max-width: 820px) {
  .retreat-grid { grid-template-columns: 1fr; }
  .retreat-logo img { height: 30px; }
  .retreat-logos--lead .retreat-logo img { height: 40px; }
}

/* Tři úrovně podpory retreatu — hlavní partneři větší než sponzoři */
.retreat-logos-label {
  margin: clamp(1.8rem, 3.5vw, 2.6rem) 0 1rem;
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--dys-indigo-text, #7A55C9);
}
.retreat-logos {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: clamp(1.2rem, 3vw, 2.6rem);
}
.retreat-logo { display: inline-flex; align-items: center; }
.retreat-logo img {
  height: 38px; width: auto; max-width: 150px; object-fit: contain;
  opacity: .62; filter: grayscale(1);
  transition: opacity .25s, filter .25s;
}
.retreat-logo:hover img, .retreat-logo:focus-visible img { opacity: 1; filter: none; }

/* Hlavní partneři o třetinu větší a bez ztlumení */
.retreat-logos--lead { gap: clamp(1.6rem, 4vw, 3.4rem); }
.retreat-logos--lead .retreat-logo img { height: 54px; max-width: 200px; opacity: .82; }

/* Partner, u kterého zatím nemáme logo */
.retreat-logo--text {
  font-family: var(--font-display);
  font-size: 1.05rem; font-weight: 600; line-height: 1.2;
  color: var(--dys-ink, #1A1530);
  border: 2px solid var(--dys-ink, #1A1530); border-radius: 12px;
  padding: 0.55rem 1rem; background: #fff;
}

/* Moneta Clementia je nápisové logo v poměru 8:1 — při stejné výšce
   jako ostatní by opticky zmizelo, proto se srovnává na šířku.      */
.retreat-logos--lead .retreat-logo--wide img { height: 34px; width: auto; max-width: 290px; }

/* U souborů ke stažení říkáme dopředu, co se stáhne */
.dl-meta { font-size: 0.82rem; color: var(--text-muted); white-space: nowrap; }
