/* Paginile de documente (politici): text lung, cu cuprins. Baza e în base.css.
   Mobile-first, cu aceleași trepte ca restul site-ului (sm ≥ 561px, md ≥ 901px). */
:root { --header-h: 68px; }
@media (min-width: 561px) { :root { --header-h: 76px; } }
html { scroll-padding-top: calc(var(--header-h) + 24px); }
body { font-size: var(--fs-lg); }
/* linkurile din text: subliniate, cu toate stările */
a { color: var(--orange-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .2s ease; }
@media (hover: hover) { a:hover { color: var(--navy); } }
a:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 2px; }
a:active { opacity: .7; }
@media (prefers-reduced-motion: reduce) { .back, .back .bi { transition: none; } }

/* Antet */
.topbar { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.92); -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--line); }
.topbar .container-x { height: var(--header-h); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand-lockup { text-decoration: none; }
.brand-lockup img { height: 40px; }
.back {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1px solid rgb(var(--navy-rgb) / .3); border-radius: 4px;
  font-size: var(--fs-sm); font-weight: 600; color: var(--navy); text-decoration: none; transition: border-color .2s ease, background-color .2s ease, transform 140ms var(--ease-out);
}
.back .bi { transition: transform .35s var(--ease-out); }
.back span { display: none; }   /* pe telefon rămâne doar săgeata (eticheta e în aria-label) */
@media (hover: hover) { .back:hover { color: var(--navy); border-color: var(--navy); background: var(--tint); } .back:hover .bi { transform: translateX(-3px); } }
.back:active { transform: scale(.97); }
@media (min-width: 561px) { .back span { display: inline; } .back { padding: 0 18px; } .brand-lockup img { height: 48px; } }

/* Banda de titlu */
.doc-head { background: var(--tint); }
.doc-head .container-x { padding-top: 48px; padding-bottom: 44px; }
.doc-head h1 { margin: 0; font-family: var(--heading-font); font-weight: 700; font-size: clamp(2.3rem, 5vw, 4rem); line-height: 1.02; letter-spacing: -0.04em; color: var(--navy); max-width: 16ch; }
.meta { margin: 18px 0 0; font-size: var(--fs-sm); color: var(--muted); }

/* Cuprins + text */
/* cuprinsul stă deasupra textului; de la md trece în stânga și rămâne vizibil la derulare */
.layout { display: grid; grid-template-columns: minmax(0, 1fr); padding-top: 40px; padding-bottom: 80px; }
.toc { padding: 0 0 40px; }
.toc-title { margin: 0 0 14px; font-size: var(--fs-xs); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.toc ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; border-top: 1px solid var(--line); }
.toc li { counter-increment: toc; border-bottom: 1px solid var(--line); }
.toc a { display: flex; gap: 12px; padding: 9px 0; font-size: var(--fs-sm); line-height: 1.4; color: var(--muted); text-decoration: none; }
.toc a::before { content: counter(toc); min-width: 18px; font-family: var(--heading-font); font-weight: 600; font-size: var(--fs-xs); color: var(--orange-ink); line-height: 1.55; }
@media (hover: hover) { .toc a:hover { color: var(--navy); } }
article { max-width: 720px; }
article h2 { margin: 56px 0 14px; font-family: var(--heading-font); font-weight: 600; font-size: 1.55rem; line-height: 1.25; letter-spacing: -0.025em; color: var(--navy); }
article h2:first-child { margin-top: 0; }
article h2 .n { color: var(--orange-ink); margin-right: 10px; }
article p, article ul { margin: 0 0 16px; }
article p.tight { margin-bottom: 6px; }   /* paragraf urmat direct de lista lui */
article ul { padding-left: 22px; }
article li { margin: 6px 0; }
article li::marker { color: var(--orange-ink); }
article strong { color: var(--navy); font-weight: 600; }
table { width: 100%; border-collapse: collapse; margin: 8px 0 20px; font-size: var(--fs-md); line-height: 1.55; }
th, td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--line); }
thead th { border-bottom: 2px solid var(--navy); font-family: var(--heading-font); font-weight: 600; color: var(--navy); background: none; }
.table-scroll { overflow-x: auto; }
.box { background: var(--tint); border-radius: 4px; padding: 18px 22px; margin: 0 0 20px; }
.box p:last-child { margin-bottom: 0; }
.box a { color: var(--navy); }  /* portocaliul are doar 4.2:1 pe lila */
@media (min-width: 901px) {
  .doc-head .container-x { padding-top: 72px; padding-bottom: 64px; }
  .layout { grid-template-columns: 280px minmax(0, 1fr); padding-top: 64px; padding-bottom: 104px; }
  .toc { position: sticky; top: calc(var(--header-h) + 32px); align-self: start; padding: 0 40px 0 0; }
}

/* Subsol */
footer { background: var(--navy-deep); color: var(--on-dark); font-size: var(--fs-sm); }
footer .container-x { padding-top: 28px; padding-bottom: 30px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
footer nav { display: flex; flex-wrap: wrap; gap: 8px 22px; }
footer a { color: var(--on-dark-strong); text-decoration: none; }
@media (hover: hover) { footer a:hover { color: var(--orange); } }
footer a:focus-visible { outline-color: var(--orange); }

