/* ============================================================
   MAYA DIGITAL — PAGINI LEGALE (termeni, confidențialitate, cookie)

   Aceeași limbă vizuală ca homepage-ul: colțuri drepte, muchii de
   1px, accent în gradientul brandului și panouri de sticlă peste
   fundalul `.page-aurora` / `.page-glass` din global.css.

   Un document legal se citește altfel decât o pagină de prezentare,
   așa că are în plus două ajutoare de lectură, ambele conduse din
   assets/js/legal.js:
     · bara de progres din capul paginii (cât ai mai rămas de citit);
     · secțiunea curentă marcată în cuprins, pe măsură ce derulezi.
   ============================================================ */

/* ---------- Bara de progres ---------- */
.lg-progress{
  position:fixed;left:0;right:0;top:0;z-index:60;
  height:3px;background:transparent;pointer-events:none;
}
.lg-progress span{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--brand-500),var(--brand-mint));
  transition:width .12s linear;
}

/* ---------- Bara de sus ---------- */
/* ---- Banda de sus: sticla albastra, ca hero-ul de pe homepage ----
   Antetul si titlul documentului stau pe un gradient de brand; restul paginii
   ramane deschis, ca textul lung sa fie odihnitor la citit. */
/* Banda cuprinde doar antetul documentului si sta INAUNTRUL lui <main>.
   Bara de sus, fiind `sticky`, ramane in afara ei si isi poarta propria
   sticla albastra — asa continua peste banda cand esti sus, si pluteste
   peste text cand derulezi. */
.lg-sus{
  position:relative;
  margin-top:calc(-1 * clamp(3.2rem,7vw,4.6rem));
  padding-top:clamp(3.2rem,7vw,4.6rem);
  background:linear-gradient(168deg,var(--brand-500) 0%,var(--brand-400) 42%,var(--brand-mint) 100%);
}
.lg-sus::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(40px,7vh,90px);
  background:linear-gradient(180deg,rgba(var(--alb-rgb),0),var(--bg));
  pointer-events:none;
}
.lg-bar{
  position:sticky;top:0;z-index:40;
  background:rgba(var(--brand-rgb),.34);
  -webkit-backdrop-filter:blur(18px) saturate(180%);
          backdrop-filter:blur(18px) saturate(180%);
  border-bottom:1px solid rgba(var(--alb-rgb),.35);
  box-shadow:inset 0 1px 0 rgba(var(--alb-rgb),.5);
}
.lg-bar-in{
  max-width:var(--maxw);margin-inline:auto;
  padding:clamp(.7rem,1.6vw,1.1rem) var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
/* halo de brand în spatele logo-ului, ca în header-ul de pe homepage */
.lg-logo{position:relative;display:inline-flex}
.lg-logo::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  left:50%;top:50%;transform:translate(-50%,-50%);
  width:200%;aspect-ratio:2.4/1;
  background:var(--brand-halo);
  filter:blur(clamp(9px,1.5vw,22px));
  opacity:.85;
}
.lg-bar img{position:relative;height:clamp(2.2rem,4.4vw,3rem);width:auto}
.lg-back{
  display:inline-flex;align-items:center;gap:.55em;
  font-size:clamp(.7rem,.66rem + .16vw,.76rem);
  font-weight:300;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(var(--alb-rgb),.85);white-space:nowrap;
  transition:color var(--dur) var(--ease),gap var(--dur) var(--ease);
}
.lg-back:hover{color:var(--invert-fg);gap:.85em}

/* ---------- Antetul documentului ---------- */
.lg-head{
  max-width:52rem;margin-inline:auto;
  padding:clamp(2.6rem,7vh,5rem) var(--gutter) clamp(1.6rem,4vh,2.6rem);
}
/* pătrat de accent deasupra titlului — același semn ca pe bannerul de cookie */
.lg-head::before{
  content:"";display:block;width:.7rem;height:.7rem;
  background:var(--invert-fg);box-shadow:0 0 14px rgba(var(--alb-rgb),.7);
  margin-bottom:clamp(1rem,2.4vh,1.6rem);
}
.lg-head{position:relative;z-index:1}
.lg-head h1{
  font-size:clamp(2rem,1.5rem + 2.4vw,3.2rem);font-weight:200;
  line-height:1.12;letter-spacing:.04em;color:var(--invert-fg);
  text-shadow:0 2px 18px rgba(var(--umbra-rgb),.35);
}
.lg-meta{
  margin-top:1em;display:flex;flex-wrap:wrap;gap:.5em 1.2em;align-items:center;
  font-size:clamp(.68rem,.65rem + .14vw,.74rem);
  font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;
  color:rgba(var(--alb-rgb),.8);
}
.lg-meta .dot{width:3px;height:3px;background:var(--invert-fg);flex-shrink:0}
.lg-intro{
  margin-top:1.3em;font-size:clamp(1rem,.94rem + .3vw,1.12rem);
  font-weight:300;line-height:1.7;color:rgba(var(--alb-rgb),.94);
  text-shadow:0 1px 12px rgba(var(--umbra-rgb),.28);
}
.lg-intro strong{color:var(--invert-fg);font-weight:500}

/* ---------- Cuprins ---------- */
.lg-toc{
  max-width:52rem;margin:0 auto clamp(2rem,5vh,3.4rem);
  padding-inline:var(--gutter);
}
.lg-toc-box{
  position:relative;
  border:1px solid rgba(var(--alb-rgb),.75);border-radius:0;
  background:rgba(var(--alb-rgb),.45);
  -webkit-backdrop-filter:blur(10px) saturate(150%);
          backdrop-filter:blur(10px) saturate(150%);
  box-shadow:0 22px 48px -30px rgba(var(--umbra-rgb),.35);
  padding:clamp(1.2rem,2.6vw,1.7rem);
  /* linia de accent pe muchia de sus, ca la panoul de cookie */
  background-image:linear-gradient(90deg,var(--brand-500),var(--brand-mint));
  background-repeat:no-repeat;background-size:100% 2px;
}
.lg-toc-box > span{
  display:block;font-size:clamp(.68rem,.65rem + .14vw,.74rem);font-weight:600;
  letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted-2);
  margin-bottom:1em;
}
.lg-toc ol{
  display:grid;gap:.15em 1.6em;counter-reset:toc;
  grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
}
.lg-toc li{counter-increment:toc}
.lg-toc a{
  position:relative;display:block;padding:.32em 0 .32em .5em;
  font-size:clamp(.85rem,.8rem + .22vw,.94rem);color:var(--muted);
  border-left:2px solid transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),
             padding-left var(--dur) var(--ease);
}
.lg-toc a::before{content:counter(toc) ". ";color:var(--muted-2)}
.lg-toc a:hover{color:var(--fg);border-left-color:var(--line);padding-left:.75em}
/* secțiunea în care te afli, marcată de legal.js */
.lg-toc a.activ{
  color:var(--fg);font-weight:600;
  border-left-color:var(--brand-500);padding-left:.75em;
}
.lg-toc a.activ::before{color:var(--brand-500)}

/* ---------- Corpul documentului ---------- */
.lg-doc{
  max-width:52rem;margin-inline:auto;
  padding:0 var(--gutter) clamp(3rem,8vh,5.5rem);
}
.lg-sec{
  position:relative;
  padding-top:clamp(1.8rem,4vh,2.8rem);
  scroll-margin-top:6rem;    /* bara sticky să nu acopere titlul la ancorare */
}
.lg-sec + .lg-sec{border-top:1px solid rgba(var(--umbra-rgb),.10);margin-top:clamp(1.8rem,4vh,2.8rem)}
.lg-sec h2{
  font-size:clamp(1.15rem,1.02rem + .6vw,1.45rem);font-weight:600;
  line-height:1.25;letter-spacing:-.012em;margin-bottom:.75em;
}
.lg-sec h3{
  font-size:clamp(.95rem,.9rem + .25vw,1.05rem);font-weight:600;
  margin:1.7em 0 .5em;letter-spacing:-.008em;padding-left:.8em;
  border-left:2px solid var(--brand-500);
}
.lg-sec p{
  font-size:clamp(.94rem,.89rem + .24vw,1.02rem);line-height:1.8;color:var(--muted);
}
.lg-sec p + p{margin-top:1em}
.lg-sec strong{color:var(--fg);font-weight:600}
.lg-sec a{
  color:var(--fg);text-decoration:underline;
  text-decoration-color:var(--brand-500);text-decoration-thickness:1px;
  text-underline-offset:3px;
  transition:text-decoration-color var(--dur) var(--ease);
}
.lg-sec a:hover{text-decoration-color:var(--fg)}

.lg-sec ul{margin:1em 0 0;padding:0;list-style:none}
.lg-sec ul li{
  position:relative;padding-left:1.5em;margin-top:.55em;
  font-size:clamp(.94rem,.89rem + .24vw,1.02rem);line-height:1.75;color:var(--muted);
}
/* pătrat de accent în loc de bulină — aceeași geometrie ca restul */
.lg-sec ul li::before{
  content:"";position:absolute;left:0;top:.66em;
  width:.42em;height:.42em;background:var(--brand-500);opacity:.75;
}

/* casetă de accent (temei legal, avertisment) */
.lg-nota{
  margin-top:1.3em;padding:clamp(1rem,2.2vw,1.35rem) clamp(1.1rem,2.4vw,1.5rem);
  background:rgba(var(--alb-rgb),.5);
  -webkit-backdrop-filter:blur(8px) saturate(150%);
          backdrop-filter:blur(8px) saturate(150%);
  border:1px solid rgba(var(--alb-rgb),.7);
  border-left:3px solid var(--brand-500);
  border-radius:0;
  box-shadow:0 18px 40px -28px rgba(var(--umbra-rgb),.35);
}
.lg-nota p{font-size:clamp(.88rem,.84rem + .2vw,.95rem);line-height:1.7}

/* ---------- Tabel — derulează singur pe orizontală ---------- */
.lg-tabel{
  margin-top:1.3em;
  border:1px solid rgba(var(--alb-rgb),.75);border-radius:0;overflow:hidden;
  background:rgba(var(--alb-rgb),.45);
  -webkit-backdrop-filter:blur(10px) saturate(150%);
          backdrop-filter:blur(10px) saturate(150%);
  box-shadow:0 22px 48px -32px rgba(var(--umbra-rgb),.35);
}
.lg-tabel-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.lg-tabel table{width:100%;border-collapse:collapse;min-width:34rem}
.lg-tabel th{
  background:rgba(var(--alb-rgb),.55);text-align:left;white-space:nowrap;
  padding:.9em 1em;font-size:clamp(.66rem,.63rem + .14vw,.72rem);font-weight:600;
  letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted-2);
  border-bottom:1px solid rgba(var(--umbra-rgb),.12);
}
.lg-tabel td{
  padding:.95em 1em;border-bottom:1px solid rgba(var(--umbra-rgb),.08);vertical-align:top;
  font-size:clamp(.84rem,.8rem + .2vw,.92rem);line-height:1.6;color:var(--muted);
}
.lg-tabel tr:last-child td{border-bottom:0}
.lg-tabel tbody tr{transition:background var(--dur) var(--ease)}
.lg-tabel tbody tr:hover{background:rgba(var(--alb-rgb),.4)}
.lg-tabel td code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.9em;color:var(--fg);background:rgba(var(--brand-rgb),.18);
  padding:.18em .5em;
}

/* buton „preferințe cookie" în corpul textului (forma vine din cookies.css) */
.lg-actiune{margin-top:1.4em}

/* ---------- Subsol ---------- */
.lg-footer{
  position:relative;overflow:hidden;
  background:rgba(var(--deep-rgb),.92);color:var(--invert-fg);
  padding:clamp(2.6rem,6vh,3.8rem) 0 clamp(1.6rem,4vh,2.4rem);
}
/* aceeași aură ca în meniul overlay: `screen` adaugă lumină pe întuneric */
.lg-footer::before{
  content:"";position:absolute;inset:-30%;pointer-events:none;
  background:var(--brand-halo);
  filter:blur(clamp(40px,7vw,110px));
  opacity:.3;mix-blend-mode:screen;
}
.lg-footer-in{
  position:relative;z-index:1;
  max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);
}
.lg-footer img{height:clamp(2.2rem,4.4vw,2.9rem);width:auto;margin-bottom:1.5rem}
.lg-footer nav{
  display:flex;flex-wrap:wrap;gap:.7em 1.6em;
  padding-bottom:clamp(1.2rem,3vh,1.8rem);
  border-bottom:1px solid rgba(var(--alb-rgb),.16);
}
.lg-footer nav a,.lg-footer nav button{
  position:relative;
  font-size:clamp(.78rem,.74rem + .18vw,.86rem);color:var(--invert-fg);
  background:none;border:0;padding:0 0 .25em;cursor:pointer;text-align:left;
  font-family:inherit;
  transition:color var(--dur) var(--ease);
}
.lg-footer nav a::after,.lg-footer nav button::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,var(--brand-500),var(--brand-mint));
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--dur) var(--ease);
}
.lg-footer nav a:hover::after,.lg-footer nav button:hover::after{transform:scaleX(1)}
.lg-legal{
  margin-top:clamp(1.2rem,3vh,1.8rem);
  font-size:clamp(.72rem,.7rem + .14vw,.78rem);line-height:1.85;
  color:rgba(var(--alb-rgb),.55);
}
.lg-legal a{color:rgba(var(--alb-rgb),.55);transition:color var(--dur) var(--ease)}
.lg-legal a:hover{color:var(--invert-fg)}

/* ---------- Ecrane mici ---------- */
@media (max-width:640px){
  .lg-toc ol{grid-template-columns:1fr}
  .lg-sec{scroll-margin-top:4.5rem}
  .lg-tabel td code{word-break:break-all}
}
@media (max-height:560px) and (orientation:landscape){
  .lg-head{padding-block:clamp(1.6rem,5vh,2.4rem) clamp(1rem,3vh,1.6rem)}
}
@media (prefers-reduced-motion:reduce){
  .lg-progress span{transition:none}
}
