/*
 * ForGirls čtenářský web – styly. Obsah je pod `.fgr`; `.fgr-document` patří jen samostatné dokumentové obálce čtenáře.
 * Žádné obecné selektory na html/body/globální značky,
 * takže nezasahují do administrace ani jiných částí aplikace. Bez externích fontů a zdrojů; jen systémové fonty.
 */
.fgr-document {
  margin: 0;
}

.fgr {
  /* Paleta: námořnická modř (text), slonová kost (podklad), terakota (odkazy a akcenty). Názvy `--fgr-wine*` zůstávají
   * kvůli stávajícím testům a spotřebitelům; nově nesou terakotu. Kontrast (WCAG): ink na bg 13,8:1, muted 7,2:1,
   * terakota 5,8:1 (na tint 5,2:1), bílá na terakotě 6,3:1. `--fgr-line` je jen dekorace, text se na ní nepoužívá. */
  --fgr-bg: #faf5ec;
  --fgr-surface: #fffdf8;
  --fgr-tint: #f1e8da;
  --fgr-ink: #16254a;
  --fgr-muted: #46526c;
  --fgr-line: #d9cdbb;
  --fgr-wine: #a1441c;
  --fgr-wine-deep: #7d3314;
  --fgr-focus: #16254a;
  --fgr-serif: 'Iowan Old Style', 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, 'Times New Roman', serif;
  --fgr-sans: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --fgr-gap: clamp(1rem, 3vw, 2rem);
  background: var(--fgr-bg);
  color: var(--fgr-ink);
  font-family: var(--fgr-sans);
  font-size: 1.125rem;
  line-height: 1.65;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.fgr *,
.fgr *::before,
.fgr *::after {
  box-sizing: border-box;
}

.fgr a {
  color: var(--fgr-wine);
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

.fgr a:hover {
  color: var(--fgr-wine-deep);
  text-decoration-thickness: 2px;
}

.fgr a:focus-visible,
.fgr [tabindex]:focus-visible {
  /* Zaostření nese tvar (obrys 3 px + silnější podtržení), nikoli jen barvu. */
  outline: 3px solid var(--fgr-focus);
  outline-offset: 3px;
  border-radius: 2px;
  text-decoration-thickness: 3px;
}

.fgr img {
  display: block;
  max-width: 100%;
  height: auto;
}

.fgr ul,
.fgr ol {
  margin: 0;
  padding: 0;
}

.fgr h1,
.fgr h2,
.fgr h3,
.fgr p {
  margin: 0;
  overflow-wrap: anywhere;
}

.fgr-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.fgr .fgr-skip {
  position: absolute;
  left: 0.5rem;
  top: -4rem;
  z-index: 10;
  padding: 0.75rem 1rem;
  background: var(--fgr-wine);
  color: #fff;
  font-weight: 600;
}

.fgr .fgr-skip:focus {
  top: 0.5rem;
  color: #fff;
  outline: 3px solid var(--fgr-focus);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--fgr-bg);
}

.fgr-wrap {
  width: 100%;
  max-width: 75rem;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2rem);
}

.fgr-notice {
  background: var(--fgr-ink);
  color: #fff;
  padding: 0.6rem clamp(1rem, 4vw, 2rem);
  font-size: 0.9rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
}

/* Hlavička a navigace */
.fgr-header {
  border-bottom: 1px solid var(--fgr-line);
  background: var(--fgr-bg);
}

.fgr-header__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.25rem 1.5rem;
  padding-block: 0.75rem;
}

.fgr .fgr-logo {
  font-family: var(--fgr-serif);
  font-size: 2rem;
  font-style: italic;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--fgr-wine);
  text-decoration: none;
  line-height: 1.2;
  padding-block: 0.25rem;
}

.fgr .fgr-logo--small {
  font-size: 1.5rem;
}

.fgr-nav ul,
.fgr-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.25rem;
  list-style: none;
}

.fgr-nav a,
.fgr-footer__links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--fgr-ink);
}

.fgr .fgr-nav a:hover,
.fgr .fgr-footer__links a:hover {
  color: var(--fgr-wine);
}

.fgr .fgr-nav a[aria-current='page'] {
  color: var(--fgr-wine);
  box-shadow: inset 0 -3px 0 var(--fgr-wine);
}

.fgr-main {
  flex: 1 0 auto;
  padding-block: clamp(1.5rem, 5vw, 3.5rem);
}

.fgr-main:focus {
  outline: none;
}

.fgr-footer {
  border-top: 1px solid var(--fgr-line);
  padding-block: 1.5rem;
  background: var(--fgr-tint);
}

.fgr-footer__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1.5rem;
}

.fgr-footer__note {
  flex-basis: 100%;
  font-size: 0.95rem;
  color: var(--fgr-muted);
}

/* Typografie nadpisů */
.fgr-page-title,
.fgr-article__title,
.fgr-state__title {
  color: var(--fgr-ink);
  font-family: var(--fgr-serif);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
  font-size: clamp(2.1rem, 7vw, 3.75rem);
}

.fgr-section-title {
  font-family: var(--fgr-serif);
  font-size: clamp(1.5rem, 4vw, 2rem);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.fgr-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.25rem 1rem;
  margin-bottom: 1.25rem;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid var(--fgr-ink);
}

.fgr .fgr-more {
  font-size: 1rem;
  font-weight: 600;
}

.fgr-kicker,
.fgr-card__category {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fgr-wine);
}

.fgr-lede {
  font-family: var(--fgr-serif);
  font-size: clamp(1.25rem, 3.5vw, 1.6rem);
  line-height: 1.45;
  color: var(--fgr-muted);
  max-width: 44rem;
}

/* Karty */
.fgr-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
  gap: clamp(1.5rem, 4vw, 2.5rem) var(--fgr-gap);
}

.fgr-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-width: 0;
}

.fgr-card__media {
  aspect-ratio: 3 / 2;
  background: var(--fgr-tint);
  overflow: hidden;
}

.fgr-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fgr-card__media--typo {
  display: flex;
  align-items: flex-end;
  padding: 1rem;
  border: 1px solid var(--fgr-line);
  color: var(--fgr-wine);
  font-family: var(--fgr-serif);
  font-style: italic;
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

/* Fotoatribuce na kartě; odkazy ve zdroji leží nad překryvem klikací karty, aby byly použitelné z klávesnice i myší. */
.fgr-card__credit {
  margin-top: -0.35rem;
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--fgr-muted);
}

.fgr-card__credit a {
  position: relative;
  z-index: 1;
  overflow-wrap: anywhere;
}

.fgr-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.75rem;
  margin-bottom: 0.35rem;
  font-size: 0.9rem;
  color: var(--fgr-muted);
}

.fgr-card__title {
  font-family: var(--fgr-serif);
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: 700;
}

.fgr-card__title a {
  color: var(--fgr-ink);
  text-decoration: none;
}

/* Celá karta je klikací jediným odkazem (jeden tabulátorový stop na kartu). */
.fgr-card__title a::after {
  content: '';
  position: absolute;
  inset: 0;
}

.fgr .fgr-card__title a:hover {
  color: var(--fgr-wine);
  text-decoration: underline;
}

.fgr .fgr-card__title a:focus-visible {
  outline: none;
}

.fgr .fgr-card__title a:focus-visible::after {
  outline: 3px solid var(--fgr-focus);
  outline-offset: 4px;
}

.fgr-card__perex {
  margin-top: 0.5rem;
  color: var(--fgr-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.fgr-card--lead .fgr-card__title {
  font-size: clamp(1.9rem, 5vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.fgr-card--lead .fgr-card__perex {
  font-family: var(--fgr-serif);
  font-size: 1.2rem;
}

/* Domovská stránka */
.fgr-home {
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 7vw, 4.5rem);
}

/* Hlavní článek: text vlevo, celá fotografie vpravo (desktop); na mobilu text nad fotografií (pořadí v DOM je totéž). */
.fgr-home .fgr-card--hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
  padding: clamp(1.25rem, 4vw, 2.5rem);
  border: 1px solid var(--fgr-line);
  background: var(--fgr-surface);
}

.fgr-home .fgr-card--hero .fgr-card__body {
  align-self: center;
}

.fgr-home .fgr-card--hero .fgr-card__title {
  font-size: clamp(1.75rem, 4.5vw, 2.5rem);
}

.fgr-home .fgr-card--hero .fgr-card__perex {
  font-size: clamp(1.1rem, 2.5vw, 1.25rem);
}

/* Fotografie vždy celá v přirozeném poměru stran: žádný ořez ani deformace. */
.fgr-home .fgr-card--hero .fgr-card__media {
  aspect-ratio: auto;
  background: none;
  overflow: visible;
}

.fgr-home .fgr-card--hero .fgr-card__media img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.fgr-home .fgr-card--hero .fgr-card__credit {
  margin: -0.5rem 0 0;
}

.fgr-home .fgr-card__cta {
  display: inline-block;
  margin-top: 1.25rem;
  padding: 0.65rem 1.25rem;
  border: 2px solid var(--fgr-wine);
  background: var(--fgr-wine);
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}

.fgr-home .fgr-card--hero:hover .fgr-card__cta {
  border-color: var(--fgr-wine-deep);
  background: var(--fgr-wine-deep);
}

/* Představení značky a tematické boxy (neklikací) */
.fgr-home__intro {
  display: grid;
  gap: 0.75rem;
  max-width: 44rem;
}

.fgr-home__intro-title {
  font-family: var(--fgr-serif);
  font-size: clamp(1.75rem, 4.5vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--fgr-wine);
}

.fgr-home__focus {
  display: grid;
  gap: 0.75rem;
}

.fgr-home__focus-note {
  color: var(--fgr-muted);
  max-width: 44rem;
}

.fgr-home__focus-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--fgr-gap);
  margin-top: 0.5rem;
  list-style: none;
}

.fgr-home__focus-item {
  display: grid;
  gap: 0.35rem;
  align-content: start;
  padding: 1.25rem;
  border: 1px solid var(--fgr-line);
  border-top: 4px solid var(--fgr-wine);
  background: var(--fgr-surface);
}

.fgr-home__focus-name {
  font-family: var(--fgr-serif);
  font-size: 1.3rem;
  line-height: 1.2;
}

.fgr-home__focus-item p {
  color: var(--fgr-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.fgr-home__more > .fgr-section-title {
  margin-bottom: 1.25rem;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid var(--fgr-ink);
}

@media (min-width: 48em) {
  .fgr-home__focus-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 56em) {
  .fgr-home .fgr-card--hero:not(.fgr-card--hero-textonly) {
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    grid-template-areas:
      'body media'
      '. credit';
    column-gap: clamp(2rem, 4vw, 3.5rem);
    row-gap: 0.5rem;
  }
  .fgr-home .fgr-card--hero:not(.fgr-card--hero-textonly) .fgr-card__body {
    grid-area: body;
  }
  .fgr-home .fgr-card--hero:not(.fgr-card--hero-textonly) .fgr-card__media {
    grid-area: media;
  }
  .fgr-home .fgr-card--hero:not(.fgr-card--hero-textonly) .fgr-card__credit {
    grid-area: credit;
  }
}

@media (forced-colors: active) {
  .fgr-home .fgr-card__cta {
    border-color: ButtonText;
  }
}

/* Rubrika, stavy, stránkování */
.fgr-category__head {
  display: grid;
  gap: 1rem;
  margin-block: 1rem clamp(2rem, 5vw, 3rem);
  padding-bottom: 1.5rem;
  border-bottom: 2px solid var(--fgr-ink);
}

.fgr-empty {
  padding: 2rem 1.25rem;
  border: 1px dashed var(--fgr-line);
  background: var(--fgr-surface);
  font-family: var(--fgr-serif);
  font-size: 1.3rem;
  max-width: 44rem;
}

.fgr-state {
  display: grid;
  gap: 1.25rem;
  justify-items: start;
  max-width: 44rem;
  padding-block: clamp(1rem, 6vw, 4rem);
}

.fgr .fgr-button {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0.5rem 1.25rem;
  background: var(--fgr-wine);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}

.fgr .fgr-button:hover {
  background: var(--fgr-wine-deep);
  color: #fff;
}

.fgr-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-top: clamp(2rem, 5vw, 3rem);
  padding-top: 1rem;
  border-top: 1px solid var(--fgr-line);
  font-weight: 600;
}

.fgr-pagination a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
}

.fgr-pagination p {
  color: var(--fgr-muted);
  font-weight: 400;
}

/* Článek */
.fgr-crumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.5rem;
  list-style: none;
  font-size: 0.95rem;
  color: var(--fgr-muted);
}

.fgr-crumbs li + li::before {
  content: '›';
  margin-right: 0.5rem;
}

.fgr-article {
  max-width: 46rem;
  min-inline-size: 0;
  margin-inline: auto;
}

.fgr-article__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.1rem;
  margin-block: clamp(2rem, 6vw, 3.5rem) clamp(2.25rem, 6vw, 3.5rem);
  padding-bottom: clamp(1.5rem, 4vw, 2.25rem);
  border-bottom: 1px solid var(--fgr-line);
}

.fgr-article__title {
  text-wrap: balance;
}

/* Perex: serifový úvod pod nadpisem, na šířku čtecího sloupce. */
.fgr-article__head .fgr-lede {
  max-width: 38rem;
  font-size: clamp(1.25rem, 3.8vw, 1.5rem);
  line-height: 1.5;
  color: var(--fgr-muted);
}

.fgr-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
  font-size: 0.95rem;
  color: var(--fgr-muted);
}

/* I3: viditelné označení spolupráce (zmrazené veřejné znění); záměrně čitelné, ne drobný tisk. */
.fgr-disclosure {
  margin: 0.75rem 0 0;
  padding: 0.5rem 0.75rem;
  border-left: 3px solid currentColor;
  font-size: 0.95rem;
  color: var(--fgr-muted);
}

.fgr-hero {
  margin-bottom: clamp(2rem, 5vw, 3rem);
}

/* Celá úvodní fotografie bez pevné výšky, ořezu či deformace. */
.fgr-hero img {
  object-fit: contain;
}

/* Hero a obrázky z rendereru: figure > img + figcaption */
.fgr-hero img,
.fgr-prose img,
.fgr-gallery img {
  width: 100%;
  height: auto;
  object-fit: contain;
  background: var(--fgr-tint);
}

.fgr-hero figure,
.fgr-prose figure,
.fgr-gallery figure {
  margin: 0;
}

.fgr-prose figure {
  margin-block: clamp(2rem, 5vw, 3rem);
}

.fgr-hero,
.fgr-hero figure,
.fgr-prose figure,
.fgr-gallery figure {
  min-inline-size: 0;
}

/* Dlouhé kreditní odkazy (zdroj/licence) se zalamují kdekoli; nic se neořezává ani nezmenšuje. */
.fgr-hero figcaption,
.fgr-prose figcaption,
.fgr-gallery figcaption {
  min-inline-size: 0;
  overflow-wrap: anywhere;
  margin-top: 0.6rem;
  padding-left: 0.75rem;
  border-left: 2px solid var(--fgr-line);
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--fgr-muted);
}

.fgr-notice-inline {
  margin-bottom: 2rem;
  padding: 0.75rem 1rem;
  border-left: 4px solid var(--fgr-wine);
  background: var(--fgr-surface);
  font-size: 1rem;
  color: var(--fgr-muted);
  overflow-wrap: anywhere;
}

.fgr-prose {
  max-width: 40rem;
  margin-inline: auto;
  font-family: var(--fgr-serif);
  font-size: clamp(1.125rem, 1rem + 0.3vw, 1.25rem);
  line-height: 1.8;
  overflow-wrap: break-word;
}

.fgr .fgr-prose > * + * {
  margin-top: 1.6rem;
}

/* Odkazy v textu zůstávají podtržené (rozpoznatelné i bez barvy). */
.fgr-prose a {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
}

.fgr .fgr-prose h2,
.fgr .fgr-prose h3,
.fgr .fgr-prose h4,
.fgr .fgr-prose h5,
.fgr .fgr-prose h6 {
  font-family: var(--fgr-serif);
  line-height: 1.2;
  margin-top: 3rem;
  margin-bottom: 0.75rem;
  color: var(--fgr-ink);
  text-wrap: pretty;
}

.fgr .fgr-prose h2 {
  font-size: 1.75rem;
}

.fgr .fgr-prose h3 {
  font-size: 1.4rem;
}

.fgr .fgr-prose h4,
.fgr .fgr-prose h5,
.fgr .fgr-prose h6 {
  font-size: 1.15rem;
}

.fgr-prose blockquote {
  margin-inline: 0;
  padding: clamp(1rem, 3vw, 1.5rem);
  background: var(--fgr-surface);
  border-left: 4px solid var(--fgr-wine);
  font-family: var(--fgr-serif);
  font-size: 1.3rem;
  font-style: italic;
  line-height: 1.5;
  color: var(--fgr-ink);
}

.fgr-prose ul,
.fgr-prose ol {
  padding-left: 1.5rem;
}

/* Panel patří pouze skutečnému seznamu z rendereru. Bez domýšleného názvu či významu.
 * Vnořené seznamy zůstávají uvnitř téhož panelu se zachovanými odrážkami/číslováním. */
.fgr-prose > ul,
.fgr-prose > ol {
  padding: clamp(1rem, 3vw, 1.5rem) clamp(1rem, 3vw, 1.5rem) clamp(1rem, 3vw, 1.5rem) clamp(2.5rem, 6vw, 3rem);
  border: 1px solid var(--fgr-line);
  background: var(--fgr-surface);
}

.fgr-prose li + li {
  margin-top: 0.75rem;
}

.fgr-prose li > ul,
.fgr-prose li > ol {
  margin-top: 0.75rem;
}

.fgr-prose li::marker {
  color: var(--fgr-wine);
  font-weight: 700;
}

.fgr .fgr-prose > :first-child {
  margin-top: 0;
}

.fgr-prose hr {
  border: 0;
  border-top: 1px solid var(--fgr-line);
  margin-block: 2rem;
}

.fgr-prose code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.95em;
  background: var(--fgr-tint);
  padding: 0.1em 0.3em;
}

.fgr-gallery {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
}

.fgr-gallery > * {
  min-inline-size: 0;
}

.fgr-gallery__items > ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
  gap: 1.25rem;
  align-items: start;
  list-style: none;
}

/* Položka mřížky se smí zúžit pod min-content dlouhého kreditu (jinak by přetekla svou stopu). */
.fgr-gallery__items > ul > li {
  min-inline-size: 0;
}

.fgr-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 2.5rem;
}

.fgr-tag {
  padding: 0.15rem 0.75rem;
  border: 1px solid var(--fgr-line);
  background: var(--fgr-surface);
  font-size: 0.9rem;
  color: var(--fgr-muted);
}

.fgr-related {
  margin-top: clamp(3rem, 8vw, 5rem);
  padding-top: 1.5rem;
  border-top: 2px solid var(--fgr-ink);
  display: grid;
  gap: 1.5rem;
}

/* Mobil: větší dotykové plochy, pohodlnější text */
@media (max-width: 40em) {
  .fgr-header__inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .fgr-nav ul {
    gap: 0 1rem;
  }
  .fgr-footer__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .fgr a {
    transition: color 0.15s ease;
  }
}

@media (forced-colors: active) {
  .fgr .fgr-nav a[aria-current='page'] {
    text-decoration: underline;
  }
}

/*
 * Nativní tabulky (docs/NATIVE-TABLES.md): pevné třídy z rendereru `div.native-table > table`. Na mobilu se vodorovně posouvá
 * jen obal tabulky, ne celá stránka. Žádná pravidla se nečtou z obsahu; zarovnání sloupce nesou jen tři pevné třídy.
 */
.fgr-prose .native-table {
  max-width: 100%;
  margin-block: 1.25rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.fgr-prose .native-table:focus-visible,
.fgr-prose .native-table:focus-within {
  outline: 3px solid var(--fgr-focus);
  outline-offset: 3px;
}

.fgr-prose .native-table table {
  width: 100%;
  min-width: max-content;
  border-collapse: collapse;
  font-family: var(--fgr-sans);
  font-size: 1rem;
  line-height: 1.45;
}

.fgr-prose .native-table th,
.fgr-prose .native-table td {
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--fgr-line);
  text-align: start;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.fgr-prose .native-table thead th {
  background: var(--fgr-tint);
  color: var(--fgr-ink);
  font-weight: 700;
}

.fgr-prose .native-table .native-table-align-left {
  text-align: left;
}

.fgr-prose .native-table .native-table-align-center {
  text-align: center;
}

.fgr-prose .native-table .native-table-align-right {
  text-align: right;
}

/* Pouze rubriky doložené publikovaným článkem; žádné prázdné cíle. */
.fgr-article-categories {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--fgr-line);
}
.fgr .fgr-article-categories p { margin-bottom: .75rem; font-weight: 600; }
.fgr-article-categories ul { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; list-style: none; margin: 0; padding: 0; }
.fgr-article-categories a { display: inline-block; padding-block: .5rem; overflow-wrap: anywhere; }

/* The photo links to its attribution in the article, without a visible card credit. */
.fgr-card__photo-link { display: block; position: relative; z-index: 1; }
.fgr-card__photo-link:focus-visible { outline: 3px solid var(--fgr-focus); outline-offset: 3px; }

/* ForGirls: jednotný rám karet, celý snímek včetně portrétů. Detail zůstává v přirozeném poměru. */
.fgr--uncropped-photos .fgr-card__media:not(.fgr-card__media--typo),
.fgr--uncropped-photos .fgr-home .fgr-card--hero .fgr-card__media {
  aspect-ratio: 3 / 2;
  background: var(--fgr-tint);
  overflow: hidden;
}
.fgr--uncropped-photos .fgr-card__photo-link {
  width: 100%;
  height: 100%;
}
.fgr--uncropped-photos .fgr-card__media img,
.fgr--uncropped-photos .fgr-home .fgr-card--hero .fgr-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
