/*
 * Paginile legale (includes/pagina-legal.php): confidențialitate, cookies, termeni, Data Act.
 * Încărcată doar de ele. Jetoanele (culori, fonturi, --antet, --raza, --sectiune) vin din site.css.
 * Gramatica „Ziua”: alb, linii de 1 px în gri cald, colțuri rotunde, linkurile în albastrul-gri de navigare,
 * etichetele mici în gri, fără majuscule. Nicio tranziție: răspunsul e pe loc, ca butoanele mărcii.
 * Cuprinsul stă în stânga, lipit sus; textul în dreapta, într-o coloană de ~68 de caractere.
 */

.legal { padding: 56px 0 var(--sectiune); }
.legal__titlu { max-width: 20ch; text-wrap: balance; overflow-wrap: break-word; }

.legal__grila {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: start;
  margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--g3);
}
.legal__lateral { grid-column: 1 / span 3; min-width: 0; align-self: stretch; }
.legal__text { grid-column: 5 / -1; min-width: 0; max-width: 68ch; }
@media (max-width: 1279px) {
  .legal__lateral { grid-column: 1 / span 4; }
  .legal__text { padding-left: 24px; }
}

.legal__meta { margin-bottom: 40px; }
.legal__meta div { max-width: none; }
.legal__meta dt { color: var(--corp); }
.legal__meta dd { text-align: right; overflow-wrap: anywhere; }

/* ---- Cuprinsul ------------------------------------------------------------------------------------------------ */
/* Desktop: lipit sus; secțiunea citită acum (legal.js) stă pe o pastilă gri. */
.legal__cuprins {
  position: sticky; top: calc(var(--antet) + 24px); max-height: calc(100svh - var(--antet) - 48px);
  overflow-y: auto; scrollbar-width: thin; overscroll-behavior: contain;
}
.legal__cuprins ol, .legal__cuprins-mobil ol { margin: 0; padding: 0; list-style: none; }
.legal__eticheta { margin: 0 0 8px 12px; font: 600 13px/18px var(--font-text); color: var(--corp); }
.legal__cuprins a {
  display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: baseline; padding: 8px 12px;
  border-radius: 14px; font-size: 15px; line-height: 21px; color: var(--corp); text-decoration: none;
}
.legal__cuprins .nr, .legal__cuprins-mobil .nr { font: 600 13px/1 var(--font-text); font-variant-numeric: tabular-nums; color: var(--g6); }
@media (hover: hover) { .legal__cuprins a:hover { color: var(--hover); } }
.legal__cuprins a[aria-current="true"] { background: var(--g1); color: var(--titlu); font-weight: 600; }
.legal__cuprins a[aria-current="true"] .nr { color: var(--titlu); }

/* Telefon și tabletă: închis, se deschide la atingere. */
.legal__cuprins-mobil { display: none; border-radius: var(--raza); background: var(--g1); }
.legal__cuprins-mobil summary {
  display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 20px; cursor: pointer; list-style: none;
  font-weight: 600; color: var(--titlu);
}
.legal__cate { font-weight: 500; font-size: 14px; color: var(--corp); }
.legal__cuprins-mobil ol { padding: 0 8px 8px; }
.legal__cuprins-mobil a {
  display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: baseline; min-height: 44px; padding: 11px 12px;
  border-top: 1px solid var(--g3); font-size: 15px; line-height: 22px; color: var(--text); text-decoration: none;
}

/* Săgeata pliantelor (ca la „Versiuni și prețuri”): în jos închis, în sus deschis. */
.legal__cuprins-mobil summary::-webkit-details-marker, .legal__text details summary::-webkit-details-marker { display: none; }
.legal__cuprins-mobil summary::after, .legal__text details summary::after {
  content: ""; width: 8px; height: 8px; margin-left: auto; flex: none;
  border-right: 1.5px solid var(--nav); border-bottom: 1.5px solid var(--nav); transform: translateY(-3px) rotate(45deg);
}
.legal__cuprins-mobil[open] summary::after, .legal__text details[open] summary::after { transform: translateY(2px) rotate(-135deg); }

/* ---- Textul ----------------------------------------------------------------------------------------------------- */
.legal__text { font-size: 17px; line-height: 28px; color: var(--text); overflow-wrap: break-word; }
.legal__text > :first-child { margin-top: 0; }
.legal__text p, .legal__text ul, .legal__text ol { margin-top: 16px; }
.legal__text h2 { margin-top: 72px; font: 640 30px/36px var(--font-titlu); color: var(--titlu); letter-spacing: -0.01em; }
.legal__text > h2:first-child { margin-top: 0; }
.legal__text h2 .nr { display: block; margin-bottom: 10px; font: 600 14px/20px var(--font-text); letter-spacing: 0; color: var(--g6); font-variant-numeric: tabular-nums; }
.legal__text h2 .t { display: block; }
.legal__text h3 { margin-top: 36px; font: 640 20px/28px var(--font-titlu); color: var(--titlu); }
.legal__text h3 + p, .legal__text h3 + ul { margin-top: 8px; }
.legal__text ul { padding-left: 1.25em; list-style: disc; }
.legal__text ol { padding-left: 1.5em; list-style: decimal; }
.legal__text li + li { margin-top: 8px; }
.legal__text li::marker { color: var(--g6); }
.legal__text strong { font-weight: 650; color: var(--titlu); }
.legal__text a, .legal__lateral .legal-fisa a {
  color: var(--nav); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere;
}
@media (hover: hover) { .legal__text a:hover, .legal__lateral .legal-fisa a:hover { color: var(--hover); } }
/* „Setări cookie” în text (politicile): un buton care redeschide fereastra de acord, desenat ca linkurile de lângă el */
.legal__text .link-buton { font: inherit; color: var(--nav); text-decoration-thickness: 1px; text-align: left; }
@media (hover: hover) { .legal__text .link-buton:hover { color: var(--hover); } }
.no-js .legal__text .link-buton { pointer-events: none; color: inherit; text-decoration: none; }
.legal__text code {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .85em; padding: 1px 6px; border-radius: 6px;
  background: var(--g1); color: var(--titlu);
}
.legal-mic { font-size: 14px; line-height: 22px; color: var(--g6); }

/* Modelul de cerere: o foaie gri, rotundă, în text. */
.legal__text details { margin-top: 24px; border-radius: 20px; background: var(--g1); }
.legal__text details summary {
  display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 20px; cursor: pointer; list-style: none;
  font-weight: 600; color: var(--titlu);
}
.legal__text details > p { margin: 0; padding: 0 20px 16px; }
.legal__text details > p:last-child { padding-bottom: 20px; }

/* Fișa: rândurile ca la program; eticheta deasupra pe telefon, alături de la 600 px. */
.legal-fisa { margin-top: 20px; border-top: 1px solid var(--g3); }
.legal-fisa > div { padding: 12px 0; border-bottom: 1px solid var(--g3); }
.legal-fisa dt { font-size: 14px; line-height: 20px; color: var(--g6); }
.legal-fisa dd { margin-top: 2px; color: var(--titlu); }
@media (min-width: 600px) {
  .legal__text .legal-fisa > div { display: grid; grid-template-columns: 13rem minmax(0, 1fr); column-gap: 24px; align-items: baseline; }
  .legal__text .legal-fisa dt { font-size: 15px; }
  .legal__text .legal-fisa dd { margin: 0; }
}
/* Fișa din coloana laterală (Data Act): mereu una sub alta, lipită sus. */
.legal__lateral .legal-fisa { margin-top: 8px; font-size: 15px; line-height: 22px; }
.legal__lateral .legal-fisa dd { overflow-wrap: anywhere; }
.legal__lipita { position: sticky; top: calc(var(--antet) + 24px); }
.legal__lipita > .legal__eticheta { margin-left: 0; }

/* Tabelele: capul cu etichete mici gri, ca la „Versiuni și prețuri”; pe telefon fiecare rând devine un bloc. */
.legal-tabel { margin-top: 20px; }
.legal-tabel table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 23px; }
.legal-tabel th, .legal-tabel td { text-align: left; vertical-align: top; padding: 12px 20px 12px 0; }
.legal-tabel th:last-child, .legal-tabel td:last-child { padding-right: 0; }
.legal-tabel thead th { padding-top: 0; padding-bottom: 8px; border-bottom: 1px solid var(--g4); font: 500 13px/20px var(--font-text); color: var(--g6); }
.legal-tabel tbody td { border-bottom: 1px solid var(--g3); }
/* Tabelele de cookie-uri au aceleași coloane, ca rândurile să se alinieze de la un tabel la altul. */
@media (min-width: 600px) {
  .legal-tabel--cookie table { table-layout: fixed; }
  .legal-tabel--cookie th:nth-child(1) { width: 22%; }
  .legal-tabel--cookie th:nth-child(2) { width: 25%; }
  .legal-tabel--cookie th:nth-child(4) { width: 7.5rem; }
}
@media (max-width: 599px) {
  .legal-tabel thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .legal-tabel table, .legal-tabel tbody, .legal-tabel tr, .legal-tabel td { display: block; }
  .legal-tabel tbody { border-top: 1px solid var(--g4); }
  .legal-tabel tr { padding: 12px 0; border-bottom: 1px solid var(--g3); }
  .legal-tabel tbody td { padding: 0; border: 0; }
  .legal-tabel td + td { margin-top: 8px; }
  .legal-tabel td::before { content: attr(data-eticheta); display: block; margin-bottom: 2px; font: 500 13px/18px var(--font-text); color: var(--g6); }
}

/* ---- Sub 1024 px: o singură coloană; cuprinsul pliat în locul celui lipit ------------------------------------------- */
@media (max-width: 1023px) {
  .legal { padding: 24px 0 var(--sectiune); }
  .legal__titlu { font-size: clamp(28px, 9vw, 36px); line-height: 1.15; }
  .legal__grila { display: block; margin-top: 28px; padding-top: 20px; }
  .legal__text { padding-left: 0; }
  .legal__meta { margin-bottom: 20px; }
  .legal__cuprins { display: none; }
  .legal__cuprins-mobil { display: block; }
  .legal__lipita { position: static; }
  .legal__lateral { margin-bottom: 40px; }
  .legal__text { font-size: 16px; line-height: 26px; }
  .legal__text h2 { margin-top: 56px; font-size: 24px; line-height: 30px; }
  .legal__text h3 { margin-top: 28px; font-size: 18px; line-height: 26px; }
  .legal__text details summary, .legal__cuprins-mobil summary { padding: 0 16px; }
  .legal__text details > p { padding: 0 16px 14px; }
}
