/* ============================================================
   NEW LINE SOLUTIONS — stiluri comune tuturor paginilor
   (variabile, reset, fundal, header, footer, CTA)

   TEMĂ LIGHT — fundal turcoaz de brand #cbe8e9.
   Regula paletei: turcoazul e fundalul, ardezia #293a40 e cerneala,
   albastrul #2f7fb8 e accentul rece, coralul #ff3e55 accentul cald.
   Cifrele din comentarii = raport de contrast pe fundalul turcoaz.
   ============================================================ */
:root{
  /* ---- FUNDAL (turcoazul de brand) ---- */
  --turq:#cbe8e9;        /* fundalul principal — culoarea de brand */
  --turq-soft:#dcf1f2;   /* variantă deschisă — carduri, câmpuri */
  --turq-deep:#b3dde0;   /* variantă adâncă — footer, zone separate */
  --deeper:#cbe8e9;      /* baza paginii (compat. cu numele vechi) */
  --dim:#8ec4c8;         /* linii, chenare pe turcoaz */

  /* ---- FOOTER (zonă inversată) ----
     Singura suprafață închisă din site. Pe ea cerneala #293a40 dă doar 2.7:1,
     deci tot textul din footer e alb. Vezi blocul FOOTER de mai jos. */
  --deep:#2f7fb8;        /* fundal footer — albastrul de brand */

  /* ---- CERNEALĂ (ardezie — se acordă cu turcoazul) ---- */
  --navy:#293a40;        /* titluri                   —  9.2:1 */
  --ink-2:#293a40;       /* text curent, paragrafe    —  9.2:1 */
  --steel:#47606a;       /* etichete mono, secundar   —  5.2:1 */

  /* ---- ACCENT RECE ---- */
  --ice:#2f7fb8;         /* albastru mediu            —  3.4:1
                            OK pentru chenare, iconițe, text mare.
                            NU pentru text mic — sub pragul de 4.5:1. */
  --teal:#31a9ad;        /* accente, subtitluri, bullet-uri  — 2.6:1 → doar grafică */
  --sky:#4bb0e6;         /* numere mari, linkuri             — 2.1:1 → doar grafică */
  --mute:#6d8087;        /* text secundar din documente      — 3.2:1 pe turcoaz,
                            4.1:1 chiar și pe alb. Sub pragul AA oriunde:
                            de folosit doar la corp de literă mare. */

  /* ---- SUPRAFEȚE DE DOCUMENT (aceleași ca în oferte) ---- */
  --panel:#f4fafb;       /* panou deschis */
  --panel-line:#dcebee;  /* borduri, linii de separare */

  /* ---- ACCENT CALD (păstrat exact) ---- */
  --coral:#ff3e55;       /* accentul de brand — nuanță NEMODIFICATĂ */
  --coral-soft:#ff7088;
  --coral-ink:#1a2529;   /* text așezat PESTE coral   —  4.5:1 */

  /* ---- STARE ---- */
  --ok:#106430;          /* confirmare — 5.6:1 */
  --err:#b3122a;         /* eroare     — 5.4:1 */

  /* ---- SUPRAFEȚE ---- */
  --glass:linear-gradient(160deg, rgba(255,255,255,0.94), rgba(255,255,255,0.82) 40%, rgba(214,238,239,0.78));
  --glass-solid:rgba(255,255,255,0.96);
  --glass-line:rgba(41,58,64,0.14);
  --glass-shadow:0 18px 44px rgba(41,58,64,0.12), inset 0 1px 0 rgba(255,255,255,0.9);
  --glass-shadow-hi:0 26px 60px rgba(41,58,64,0.18), inset 0 1px 0 rgba(255,255,255,0.95);

  /* ---- GLASS SUBȚIRE (doar peste fundaluri care merită eșantionate: elicea ADN, neuronii) ----
     Pe fundal ÎNCHIS sticla se citea prin luminozitate: panoul era mai deschis decât fundalul.
     Pe fundal DESCHIS separarea aia nu există — alb pe deschis nu se vede. Aici sticla se
     citește prin MUCHIE și SATURAȚIE: umplere slabă, saturate mare care amplifică puţina
     culoare din spate, muchie albă tăioasă și o umbră reală care desprinde cardul de pagină. */
  --glass-thin:linear-gradient(160deg, rgba(255,255,255,0.52), rgba(255,255,255,0.34) 45%, rgba(214,238,239,0.30));
  --glass-thin-filter:blur(13px) saturate(210%) brightness(1.04);
  --glass-thin-line:rgba(255,255,255,0.85);
  --glass-thin-shadow:0 20px 50px rgba(41,58,64,0.20), inset 0 1px 0 rgba(255,255,255,1), inset 0 -1px 0 rgba(255,255,255,0.45);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;background:var(--turq);}
body{background:transparent;overflow-x:hidden;font-family:'Exo 2',sans-serif;color:var(--ink-2);}
#bgspace{position:fixed; inset:0; z-index:-1; display:block; pointer-events:none;}

/* ---------- HEADER ---------- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:80;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 30px;
  background:var(--glass);
  -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%);
  border-bottom:1px solid var(--glass-line);
  transform:translateY(-100%); transition:transform .38s ease;
}
.site-header::before{content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(130% 80% at 20% -4%, rgba(255,255,255,0.45), transparent 55%); z-index:-1;}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){ .site-header{background:var(--glass-solid);} }
.site-header::after{content:''; position:absolute; left:0; right:0; bottom:-1px; height:1px; pointer-events:none;
  background:linear-gradient(to right, transparent 8%, rgba(255,62,85,0.75) 30%, rgba(47,127,184,0.6) 70%, transparent 92%);
  opacity:0; transition:opacity .5s ease;}
.site-header.show::after{opacity:1;}
.site-header.show{transform:translateY(0); box-shadow:0 10px 30px rgba(41,58,64,0.10), inset 0 1px 0 rgba(255,255,255,0.9);}
.site-header .brand{display:flex; align-items:center; gap:11px; font-weight:600; letter-spacing:0.16em; font-size:16.8px; color:var(--navy); text-decoration:none;}
.brand-mark{width:41px;height:41px;flex:none;}
.nav{display:flex; gap:28px; align-items:center;}
.nav a{color:var(--navy); text-decoration:none; font-size:13px; letter-spacing:0.08em; transition:color .2s; position:relative;}
.nav a:hover{color:var(--err);}
.nav a.active{color:var(--navy);}
.nav a.active::after{content:''; position:absolute; left:0; right:0; bottom:-6px; height:2px; border-radius:2px;
  background:linear-gradient(to right, var(--coral), var(--coral-soft));}
/* CTA din meniu: coralul rămâne #ff3e55, dar ca UMPLERE cu text închis (5.6:1),
   nu ca text colorat — pe fundal deschis coralul-text ar da doar 2.7:1. */
.nav-cta{background:var(--coral); border:1px solid var(--coral); color:var(--coral-ink)!important; padding:8px 18px; font-family:'Share Tech Mono',monospace; font-size:12px; letter-spacing:0.14em; border-radius:3px;}
.nav-cta:hover{background:var(--err); border-color:var(--err); color:#fff!important;}
.nav-cta.active::after{display:none;}
/* hamburger desenat din CSS (trei linii care umplu caseta exact) — nu depinde de glifa ☰,
   care pe iOS cade pe font de sistem cu spațiu lateral inegal */
.burger{display:none; width:24px; height:16px; padding:0; border:none; cursor:pointer; font-size:0; background:transparent;
  background-image:linear-gradient(var(--navy),var(--navy)),linear-gradient(var(--navy),var(--navy)),linear-gradient(var(--navy),var(--navy));
  background-size:100% 2px; background-repeat:no-repeat; background-position:left top,left center,left bottom;}
@media (max-width:820px){
  .nav{position:fixed; top:86px; left:0; right:0; flex-direction:column; gap:0; background:rgba(255,255,255,0.97); padding:0; max-height:0; overflow:hidden; transition:max-height .3s ease; align-items:stretch;}
  .nav.open{max-height:420px;}
  .nav a{padding:15px 30px; border-bottom:1px solid rgba(41,58,64,0.10);}
  .nav a.active::after{display:none;}
  .nav a.active{text-decoration:underline; text-decoration-color:var(--coral); text-decoration-thickness:2px; text-underline-offset:7px;}
  .nav .nav-cta{margin:14px 24px 22px; padding:13px 18px; text-align:center;}
  .burger{display:block;}
}

/* ---------- PROGRESS BAR SCROLL (marginea de jos a headerului) ---------- */
.scroll-progress{position:absolute; left:0; bottom:-1px; height:2px; width:0; z-index:2; pointer-events:none;
  background:linear-gradient(to right, var(--coral), var(--coral-soft) 55%, var(--ice));}

/* ---------- BACK TO TOP ---------- */
.back-top{position:fixed; right:22px; bottom:22px; z-index:70; width:44px; height:44px; border-radius:50%;
  border:1px solid var(--coral); color:var(--coral-ink); background:var(--coral);
  font-family:'Share Tech Mono',monospace; font-size:18px; line-height:1; cursor:pointer;
  box-shadow:0 6px 18px rgba(41,58,64,0.18);
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .3s ease, transform .3s ease, visibility .3s, background .2s, color .2s, box-shadow .2s;}
.back-top.vis{opacity:1; visibility:visible; transform:translateY(0);}
.back-top:hover{background:var(--err); border-color:var(--err); color:#fff; box-shadow:0 8px 24px rgba(41,58,64,0.28);}

/* ---------- CTA ---------- */
.cta{display:inline-block; margin-top:20px; padding:12px 30px; border:1px solid var(--coral); border-radius:3px;
  font-family:'Share Tech Mono',monospace; font-size:12px; letter-spacing:0.2em; color:var(--coral-ink);
  text-decoration:none; text-transform:uppercase; transition:all .25s ease; background:var(--coral); cursor:pointer;}
.cta:hover{background:var(--err); border-color:var(--err); color:#fff; box-shadow:0 10px 28px rgba(41,58,64,0.22);}

/* ---------- ANTET DE PAGINĂ (subpagini) ---------- */
.page-head{position:relative; z-index:10; padding:150px 30px 30px; text-align:center;}
.page-head .crumb{font-family:'Share Tech Mono',monospace; font-size:11px; letter-spacing:0.34em; color:var(--steel); margin-bottom:16px;}
.page-head .crumb::after{content:''; display:block; width:44px; height:2px; margin:14px auto 0; background:var(--coral);}
.page-head h1{font-family:'Playfair Display',serif; font-size:clamp(2.4rem,6vw,4.2rem); color:var(--navy);}
.page-head .sub{font-family:'Share Tech Mono',monospace; font-size:11px; letter-spacing:0.3em; color:var(--steel); margin-top:16px;}

/* ---------- PAGINI LEGALE ---------- */
.legal-sec{position:relative; z-index:10; padding:50px 30px 110px;}
.legal-panel{max-width:820px; margin:0 auto; position:relative; overflow:hidden; border-radius:22px; padding:46px 48px; text-align:left;
  background:var(--glass);
  -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%);
  border:1px solid var(--glass-line);
  box-shadow:var(--glass-shadow);}
.legal-panel::before{content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(130% 80% at 20% -4%, rgba(255,255,255,0.45), transparent 55%); z-index:-1;}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){ .legal-panel{background:var(--glass-solid);} }
.legal-panel h2{font-family:'Playfair Display',serif; font-size:1.35rem; color:var(--navy); margin:34px 0 12px;}
.legal-panel h2:first-child{margin-top:0;}
.legal-panel p{font-size:15px; line-height:1.8; color:var(--ink-2); margin-bottom:14px;}
.legal-panel ul{margin:0 0 14px 22px;}
.legal-panel li{font-size:15px; line-height:1.8; color:var(--ink-2); margin-bottom:6px;}
.legal-panel strong{color:var(--navy);}
/* link: text în cerneală (12.3:1), coralul rămâne vizibil ca subliniere */
.legal-panel a{color:var(--navy); text-decoration:none; border-bottom:2px solid var(--coral);}
.legal-panel a:hover{color:var(--err); border-color:var(--err);}
.legal-updated{max-width:820px; margin:22px auto 0; text-align:center; font-family:'Share Tech Mono',monospace; font-size:10.5px; letter-spacing:0.26em; color:var(--steel);}
@media (max-width:640px){ .legal-sec{padding:36px 18px 90px;} .legal-panel{padding:30px 24px;} }

/* ---------- FOOTER ----------
   Zonă INVERSATĂ: fundal albastru de brand #2f7fb8, tot textul alb (4.3:1).
   Atenție la două lucruri dacă se umblă aici:
   1. Cerneala #293a40 NU se folosește pe acest fundal — dă 2.7:1.
   2. Coralul #ff3e55 are practic aceeași luminanță ca albastrul (1.25:1),
      deci e invizibil pe el. De asta accentele din footer sunt albe,
      nu corale ca în restul paginii. */
.site-footer{position:relative; z-index:10; background:var(--deep); border-top:1px solid rgba(255,255,255,0.22); padding:52px 30px 26px;}
.site-footer::before{content:''; position:absolute; left:0; right:0; top:-1px; height:2px;
  background:linear-gradient(to right, transparent 5%, rgba(255,62,85,0.9) 35%, rgba(255,255,255,0.75) 65%, transparent 95%);}
.foot-grid{max-width:1150px; margin:0 auto; display:grid; grid-template-columns:auto 1.4fr 1fr 1fr; gap:38px; text-align:left;}
.foot-logo a{display:inline-block;}
.foot-logo svg{display:block; width:96px; height:96px;}
/* logo pe coralul de brand #ff3e55 (culoarea din atributele SVG, nesuprascrisă).
   Contrast pe albastrul footerului: 1.25:1 — decizie asumată de brand, nu scăpare. */
.foot-brand .brand{display:inline-block; font-weight:600; letter-spacing:0.22em; font-size:13px; color:#fff; text-decoration:none;}
.foot-tag{font-family:'Share Tech Mono',monospace; font-size:11px; letter-spacing:0.3em; color:#fff; margin-top:12px; text-transform:uppercase;}
.foot-tag::before{content:''; display:inline-block; width:18px; height:2px; margin-right:9px; vertical-align:middle; background:#fff;}
.foot-desc{font-size:13.5px; line-height:1.7; color:#fff; margin-top:14px; max-width:300px;}
.foot-col .foot-h{font-family:'Share Tech Mono',monospace; font-size:10.5px; letter-spacing:0.3em; color:#fff; margin-bottom:16px;}
.foot-col a{display:block; color:#fff; text-decoration:none; font-size:13.5px; padding:5px 0; transition:transform .2s;}
/* hover: textul rămâne alb (4.3:1), linia e coralul de brand. Coralul pe albastru dă 1.25:1,
   deci linia se citește ca diferență de nuanță, nu de luminozitate — de aceea e îngroșată
   la 2px, iar deplasarea laterală rămâne ca al doilea indiciu de hover. */
.foot-col a:hover{text-decoration:underline; text-decoration-color:var(--coral);
  text-decoration-thickness:2px; text-underline-offset:4px; transform:translateX(3px);}
.foot-links{display:grid; grid-template-columns:repeat(2,auto); grid-template-rows:repeat(3,auto); grid-auto-flow:column; column-gap:56px; justify-content:start;}
.site-footer .copy{max-width:1150px; margin:38px auto 0; padding-top:20px; border-top:1px solid rgba(255,255,255,0.25);
  font-size:11px; color:#fff; font-family:'Share Tech Mono',monospace; letter-spacing:0.12em; text-align:center;}
@media (max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr;}
  .foot-logo{grid-column:1/-1;}
  .foot-brand{grid-column:1/-1;}
  .foot-logo svg{width:80px; height:80px;}
  .foot-links{display:block;}
}
@media (max-width:540px){ .foot-grid{gap:28px;} .site-footer{padding:40px 22px 22px;} }

@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
