@charset "UTF-8";

/* ==========================================================================
   PIAȚA STOMATOLOGICĂ — PAGINI LEGALE
   --------------------------------------------------------------------------
   Termeni și condiții, politica de confidențialitate, politica de cookie-uri.
   Document lung într-un panou (.ps-prose), cu cuprins lateral lipit
   (.ps-cuprins în .ps-coloane--stanga). Linkul secțiunii vizibile primește
   aria-current="true" din js/pages/pagini-publice.js.

   Numerotarea (doar .ps-legal--numerotat, adică termenii) o face CSS-ul:
   rămâne continuă când secțiunile despre plată lipsesc din pagină.
   ========================================================================== */


/* ==========================================================================
   1. COLOANA LATERALĂ: CUPRINS + ALTE DOCUMENTE
   ========================================================================== */

/* Coloana se întinde pe toată înălțimea documentului, ca blocul lipit să aibă pe unde aluneca
   la scroll. Blocul încape mereu în ecran: dacă nu e loc, se scurtează cuprinsul, care se
   derulează în interior; lista de documente rămâne întreagă. */
.ps-legal__lateral { align-self: stretch; min-inline-size: 0; }
.ps-legal__lipit {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-block-size: calc(100vh - var(--ps-navbar-h) - 40px);
}

.ps-legal__cuprins,
.ps-legal__documente {
  display: grid;
  gap: 10px;
  padding: 16px 12px;
  border: 1px solid var(--ps-border-soft);
  border-radius: var(--ps-radius-card);
  background: var(--ps-surface);
  box-shadow: var(--ps-shadow-xs);
}
.ps-legal__cuprins {
  min-block-size: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--ps-green-action) 45%, transparent) transparent;
}
.ps-legal__documente { flex: none; }

.ps-legal__lateral-titlu {
  margin: 0;
  padding-inline: 12px;
  color: var(--ps-text-faint-aa);
  font: var(--ps-fw-semibold) 12px/1.2 var(--ps-font-sans);
  letter-spacing: var(--ps-ls-caps);
  text-transform: uppercase;
}

.ps-legal .ps-cuprins a { transition: var(--ps-transition-color); }
.ps-legal .ps-cuprins a[aria-current="true"] {
  background: var(--ps-primary-soft);
  box-shadow: inset 3px 0 0 var(--ps-green-action);
  color: var(--ps-green-dark);
  font-weight: var(--ps-fw-semibold);
}

.ps-legal__documente-lista { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ps-legal__documente-lista a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 10px;
  color: var(--ps-text-ui);
  font: var(--ps-fw-medium) 13.5px/1.35 var(--ps-font-sans);
  text-decoration: none;
}
.ps-legal__documente-lista a:hover { background: var(--ps-surface-muted); color: var(--ps-text); }
.ps-legal__documente-lista .ps-icon-glyph { font-size: 18px; color: var(--ps-icon); }
.ps-legal__documente-lista a[aria-current="page"] { color: var(--ps-text); font-weight: var(--ps-fw-semibold); }
.ps-legal__documente-lista a[aria-current="page"] .ps-icon-glyph { color: var(--ps-green-action); }

/* Pe ecrane înguste coloana laterală se desface: celelalte documente rămân deasupra
   documentului, iar cuprinsul coboară după el (înaintea partenerilor), ca listă, ca pe desktop. */
@media (max-width: 991.98px) {
  .ps-legal__lateral,
  .ps-legal__lipit { display: contents; }
  .ps-legal__cuprins { order: 1; overflow: visible; }
  .ps-legal__documente-lista { display: flex; flex-wrap: wrap; gap: 6px; }
}


/* ==========================================================================
   2. DOCUMENTUL
   ========================================================================== */

.ps-legal__document {
  display: block;
  padding: clamp(22px, 4vw, 56px);
  border-radius: var(--ps-radius-panel);
}
.ps-legal__document .ps-prose { max-inline-size: 78ch; margin-inline: auto; hyphens: auto; }

.ps-legal__document h2 {
  padding-block-start: 1.2em;
  border-block-start: 1px solid var(--ps-border-soft);
}
.ps-legal__document h2:first-child,
.ps-legal__introducere + h2 { padding-block-start: 0; border-block-start: 0; }

.ps-legal__introducere {
  color: var(--ps-text-ui);
  font: var(--ps-type-lead);
}

/* --- numerotare (termeni) ---------------------------------------------------- */
.ps-legal--numerotat .ps-cuprins { counter-reset: ps-cuprins; }
.ps-legal--numerotat .ps-cuprins > li:not(.ps-legal__fara-numar) { counter-increment: ps-cuprins; }
.ps-legal--numerotat .ps-cuprins > li:not(.ps-legal__fara-numar) > a::before {
  content: counter(ps-cuprins) ". ";
  color: var(--ps-text-faint-aa);
  font-variant-numeric: tabular-nums;
}

.ps-legal--numerotat [data-ps-document] { counter-reset: ps-sectiune; }
.ps-legal--numerotat [data-ps-document] > h2:not(.ps-legal__fara-numar) {
  counter-increment: ps-sectiune;
  counter-reset: ps-subsectiune;
}
.ps-legal--numerotat [data-ps-document] > h2:not(.ps-legal__fara-numar)::before {
  content: counter(ps-sectiune) ". ";
  color: var(--ps-green-action);
}
.ps-legal--numerotat [data-ps-document] > h3 { counter-increment: ps-subsectiune; }
.ps-legal--numerotat [data-ps-document] > h3::before {
  content: counter(ps-sectiune) "." counter(ps-subsectiune) ". ";
  color: var(--ps-green-action);
}

/* puncte „5.1.”, „5.2.” … din secțiunile despre plată */
.ps-legal__puncte { padding-inline-start: 0; list-style: none; counter-reset: ps-punct; }
.ps-legal__puncte > li {
  position: relative;
  padding-inline-start: 3.4em;
  counter-increment: ps-punct;
}
.ps-legal__puncte > li + li { margin-block-start: .8em; }
.ps-legal__puncte > li::before {
  content: counter(ps-sectiune) "." counter(ps-punct) ".";
  position: absolute;
  inset-inline-start: 0;
  color: var(--ps-green-dark);
  font-weight: var(--ps-fw-semibold);
  font-variant-numeric: tabular-nums;
}
.ps-legal__puncte > li > * + * { margin-block-start: .6em; }

ol.ps-legal__litere { list-style: lower-alpha; }
.ps-legal__litere > li::marker {
  color: var(--ps-green-dark);
  font-weight: var(--ps-fw-semibold);
}

.ps-legal__reguli { display: grid; gap: 14px; padding-inline-start: 0; list-style: none; counter-reset: ps-regula; }
.ps-legal__reguli > li {
  position: relative;
  padding: 14px 18px 14px 56px;
  border: 1px solid var(--ps-border-soft);
  border-radius: var(--ps-radius-card);
  background: var(--ps-surface-alt);
  counter-increment: ps-regula;
}
.ps-legal__reguli > li + li { margin-block-start: 0; }
.ps-legal__reguli > li::before {
  content: counter(ps-regula);
  position: absolute;
  inset-block-start: 14px;
  inset-inline-start: 16px;
  display: grid;
  place-items: center;
  inline-size: 26px;
  block-size: 26px;
  border-radius: 50%;
  background: var(--ps-primary-soft);
  color: var(--ps-green-dark);
  font: var(--ps-fw-bold) 13px/1 var(--ps-font-sans);
}
.ps-legal__reguli > li > * + * { margin-block-start: .7em; }

/* --- blocuri speciale ------------------------------------------------------------ */
.ps-legal__evidentiat {
  padding: clamp(16px, 2vw, 24px);
  border-radius: var(--ps-radius-card);
  background: var(--ps-surface-tint);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ps-green-action) 14%, transparent);
}
.ps-legal__evidentiat > * + * { margin-block-start: .8em; }

.ps-legal__firma {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 8px 24px;
  margin-block-start: 1em;
  padding: 18px 20px;
  border: 1px solid var(--ps-border-soft);
  border-radius: var(--ps-radius-card);
}
.ps-legal__firma dt { color: var(--ps-text-faint-aa); font-weight: var(--ps-fw-medium); }
.ps-legal__firma dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
  .ps-legal__firma { grid-template-columns: 1fr; gap: 2px; }
  .ps-legal__firma dd + dt { margin-block-start: 10px; }
}

.ps-legal__browsere {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
  gap: 8px;
  padding-inline-start: 0;
  list-style: none;
}
.ps-legal__browsere > li + li { margin-block-start: 0; }
.ps-legal__browsere a {
  display: block;
  padding: 10px 14px;
  border: 1px solid var(--ps-border);
  border-radius: 14px;
  text-decoration: none;
}
.ps-legal__browsere a:hover { border-color: var(--ps-green-action); background: var(--ps-surface-tint); }


/* ==========================================================================
   3. TIPĂRIRE
   ========================================================================== */

@media print {
  .ps-legal { display: block; }
  .ps-legal__lateral { display: none; }
  .ps-legal__document { padding: 0; border: 0; box-shadow: none; }
}
