/* ═══════════════════════════════════════════════════════════════════════════
   VARIANTA „EDITORIAL" — sjednocení tvarů do ostré geometrie
   21. 8. 2026 · schváleno Míšou
   24. 8. 2026 · doplněn detail článku
   1.  9. 2026 · PŘEPSÁNO NA GLOBÁLNÍ PRAVIDLO + filtry do jedné řady

   Proč přepis: dřív se zaoblení vypínalo selektor po selektoru (18 pravidel),
   ale poradna.css jich má 65. Cokoli nového nebo méně používaného tím
   propadlo a zůstalo zaoblené. Teď se to řeší opačně — ostré je VŠECHNO
   a kruhový tvar se vrací jen tam, kde má být záměrně (portréty, tečky).

   Linkuje se JAKO POSLEDNÍ. Odebrání = zpátky k zaobleným prvkům.
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   1) VŠECHNO OSTRÉ — plošné pravidlo
   Platí na každý prvek na každé stránce, i na ty, co teprve přibudou.
   ═══════════════════════════════════════════════════════════════════════════ */

*,
*::before,
*::after { border-radius: 0 !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   2) ZÁMĚRNÉ VÝJIMKY — co zůstává kulaté
   Kruh je přirozený tvar pro tvář a pro tečku. V editorial sazbě se drží
   i v jinak ostrém layoutu. Kdyby se měly srovnat taky, stačí smazat
   celý tenhle blok — nic jiného to neovlivní.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Portréty autorek — výpis, detail článku, kontakty ────────────────────*/
.mag-meta img,
.card-meta img,
.card-meta .avatar-initials,
.article-meta img,
.author-box img,
.contact-card-avatar { border-radius: 50% !important; }

/* ── Tečky a odrážky ──────────────────────────────────────────────────────*/
.pulse-dot,
.portal-dot,
.service-checklist li::before,
.service-split-block-title::before { border-radius: 50% !important; }

/* ── Dekorativní kruhové plochy (světelné kotouče v pozadí) ───────────────*/
.hero-sun-disc,
.hero-sun-orbit,
.cta-final-mzdy::before { border-radius: 50% !important; }

/* ── Přepínač jazyka v navigaci ───────────────────────────────────────────*/
.nav-mzdy .lang-switcher > a { border-radius: 50% !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   3) FILTRY TÉMAT — vždy jedna řada
   1. 9. 2026 · Míšin postřeh: „Legislativa" spadla pod ostatní.
   Deset štítků se do 1016 px šířky vešlo jen taktak. Řeší se dvakrát:
   zúžením štítku (aby se na desktopu vešly bez kompromisu) a zákazem
   zalamování (aby na užším okně řada radši odjela do strany než zalomila).
   ═══════════════════════════════════════════════════════════════════════════ */

.topic-chips {
  flex-wrap: nowrap;
  justify-content: center;
  justify-content: safe center;   /* aby při přetečení nezmizel levý kraj */
  gap: 8px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;          /* Firefox */
  padding-bottom: 2px;
}
.topic-chips::-webkit-scrollbar { display: none; }   /* Safari, Chrome */

/* Když se řada přece jen nevejde (FAQ má devět dlouhých názvů), okraj se
   jemně rozplyne — čtenář vidí, že vpravo něco pokračuje, a řada zůstane
   jedna. Když se vejde, maska padne na prázdno a není ji poznat. */
.topic-chips {
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 30px), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 30px), transparent 100%);
}

/* FAQ: názvy kategorií jsou dlouhé, ať má lišta celou šířku stránky */
.hero-faq .container { max-width: 1240px; }

.chip {
  flex: 0 0 auto;
  white-space: nowrap;
  padding: 8px 13px;
  font-size: 13px;
}

/* Mobil: štítky ještě o kus užší, řada se posouvá prstem */
@media (max-width: 640px) {
  .topic-chips { justify-content: flex-start; gap: 6px; }
  .chip { padding: 7px 11px; font-size: 12.5px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   4) PRÁZDNÝ VÝSLEDEK FILTRU
   Témata bez článků (Přesčasy, Dovolená, Exekuce, Daně) nesmí skončit
   prázdnou stránkou — filtr místo nich ukáže tuhle hlášku.
   ═══════════════════════════════════════════════════════════════════════════ */

.filter-empty {
  display: none;
  margin: 56px auto 8px;
  max-width: 560px;
  padding: 40px 32px;
  text-align: center;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid var(--m-line);
}
.filter-empty.is-visible { display: block; }
.filter-empty-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 22px;
  color: var(--m-navy);
  margin: 0 0 10px;
}
.filter-empty p { margin: 0; color: var(--m-muted); font-size: 15px; }
.filter-empty a { color: var(--m-navy); }


/* ═══════════════════════════════════════════════════════════════════════════
   5) SKRÝVÁNÍ PŘI FILTROVÁNÍ
   Karty mají v poradna.css display: flex / grid, což přebije výchozí
   chování atributu [hidden]. Bez tohohle řádku filtr nic neschová.
   ═══════════════════════════════════════════════════════════════════════════ */

[hidden] { display: none !important; }
