/* License hub + BNED formality detail */

.art-article--formality { background: transparent; }

.fm-page {
  --fm-ink: var(--ink, #173536);
  --fm-muted: var(--muted, #647676);
  --fm-line: var(--border, #DCE7E4);
  --fm-jade: var(--jade, #075B5B);
  color: var(--fm-ink);
}

.fm-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(180px, 0.7fr);
  gap: 20px;
  padding: clamp(20px, 2.4vw, 32px);
  margin: 0 0 22px;
  border-radius: 14px;
  background: linear-gradient(180deg, var(--fm-jade) 0%, #05494A 100%);
  color: #fff;
}

.fm-kicker {
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.62);
}

.fm-hero-title {
  margin: 0 0 8px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.28;
  letter-spacing: -0.02em;
  color: #fff;
}

.fm-official {
  margin: 2px 0 0;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.45;
}

.fm-hero .fm-official {
  color: rgba(255, 255, 255, 0.82);
}
.fm-hero .fm-official[lang="lo"] {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.7);
}

.fm-lead {
  margin: 14px 0 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.88);
}

.fm-hero-aside {
  padding: 14px 16px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.18);
}

.fm-hero-aside-label {
  margin: 10px 0 2px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.55);
}
.fm-hero-aside-label:first-child { margin-top: 0; }

.fm-hero-aside-value {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.4;
  font-weight: 600;
}

.fm-block {
  margin: 0 0 18px;
  padding: 18px 20px;
  border: 1px solid var(--fm-line);
  border-radius: 12px;
  background: #fff;
}

.fm-section-head h2 {
  margin: 0 0 12px;
  font-size: 1.12rem;
  font-weight: 700;
}

.fm-prose { margin: 0; line-height: 1.65; }

.fm-list { margin: 0; padding-left: 1.2em; }
.fm-list li { margin: 0 0 8px; line-height: 1.55; }

.fm-table-wrap { overflow-x: auto; }
.fm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}
.fm-table th,
.fm-table td {
  border-bottom: 1px solid var(--fm-line);
  padding: 10px 8px;
  vertical-align: top;
  text-align: left;
}
.fm-table th {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--fm-muted);
}
.fm-table tr:last-child td { border-bottom: 0; }

.fm-legal { margin: 0; padding: 0; list-style: none; }
.fm-legal li { margin: 0 0 10px; padding-bottom: 10px; border-bottom: 1px solid var(--fm-line); }
.fm-legal li:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.fm-legal-meta { display: block; margin-top: 2px; font-size: 0.85rem; color: var(--fm-muted); }

.fm-dl { margin: 0; }
.fm-dl > div { margin: 0 0 12px; }
.fm-dl > div:last-child { margin-bottom: 0; }
.fm-dl dt {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--fm-muted);
  margin-bottom: 4px;
}
.fm-dl dd { margin: 0; line-height: 1.55; }

.listing-grid--licenses { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.listing-card--license h3 { margin-bottom: 4px; }
.listing-card--license .fm-official {
  color: var(--fm-muted, #647676);
  font-size: 0.82rem;
  font-weight: 400;
}
.listing-card--license .fm-card-meta {
  margin: 8px 0 0;
  font-size: 0.8rem;
  color: var(--fm-muted, #647676);
  line-height: 1.4;
}

@media (max-width: 860px) {
  .fm-hero { grid-template-columns: 1fr; }
}
