/* landing.css — pagina de prezentare publică (secțiunea #landing).
   Folosește tokens din style.css (identitatea „Registru Deșeuri"). */

#landing[hidden] { display: none !important; }

/* În modul landing, shell-ul aplicației (gol) nu ocupă spațiu sub footer. */
body.landing-mode .layout { display: none; }

#landing {
  background: var(--c-surface);
  color: var(--c-text);
  font-family: var(--font);
}

#landing .acc { color: var(--c-primary); }

.ld-wrap { max-width: 1080px; margin: 0 auto; padding: 0 var(--sp-5); }
.ld-wrap--narrow { max-width: 760px; }

/* ---- Nav ---- */
.ld-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--c-border);
}
.ld-nav__row { display: flex; align-items: center; gap: var(--sp-5); height: 64px; }
.ld-brand { display: inline-flex; align-items: center; gap: 10px; }
.ld-brand__logo { width: 30px; height: 30px; color: var(--c-primary); --logo-slat: #fff; flex-shrink: 0; }
.ld-brand__text { font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; letter-spacing: -0.01em; white-space: nowrap; }
.ld-nav__links { display: flex; gap: var(--sp-4); margin-left: var(--sp-4); }
.ld-nav__links a { color: var(--c-muted); font-weight: 600; font-size: 0.92rem; }
.ld-nav__links a:hover { color: var(--c-text); text-decoration: none; }
.ld-nav__cta { margin-left: auto; display: flex; gap: var(--sp-2); }

.btn--lg { padding: 0.8rem 1.5rem; font-size: 1rem; }

/* ---- Hero ---- */
.ld-hero {
  background:
    radial-gradient(60% 80% at 85% 10%, oklch(0.95 0.03 150 / 0.8), transparent),
    linear-gradient(180deg, oklch(0.98 0.008 150), var(--c-surface));
  padding: 72px 0 40px;
}
.ld-hero__copy { max-width: 640px; }
.ld-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.08;
  margin: 0 0 var(--sp-4);
}
.ld-hero__sub { font-size: 1.12rem; line-height: 1.65; color: var(--c-muted); margin: 0 0 var(--sp-5); }
.ld-hero__sub strong { color: var(--c-text); }
.ld-hero__actions { display: flex; gap: var(--sp-3); flex-wrap: wrap; }
.ld-hero__note { margin: var(--sp-3) 0 0; font-size: 0.85rem; color: var(--c-muted); }

/* Screenshot cu ramă de browser */
.ld-shot {
  margin: 48px 0 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--c-border);
  box-shadow: 0 24px 80px oklch(0.3 0.05 155 / 0.18);
}
.ld-shot__bar {
  display: flex;
  gap: 6px;
  padding: 10px 14px;
  background: oklch(0.96 0.005 150);
  border-bottom: 1px solid var(--c-border);
}
.ld-shot__bar span { width: 10px; height: 10px; border-radius: 50%; background: var(--c-border); }
.ld-shot img { display: block; width: 100%; height: auto; }

/* ---- Bandă legislație ---- */
.ld-legal-strip {
  background: var(--sb-bg);
  color: oklch(0.85 0.03 152);
  text-align: center;
  padding: var(--sp-3) 0;
  font-size: 0.92rem;
}
.ld-legal-strip strong { color: #fff; }

/* ---- Secțiuni ---- */
.ld-section { padding: 72px 0; }
.ld-section--alt { background: oklch(0.975 0.006 150); }
.ld-section h2 {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3.4vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 var(--sp-2);
  text-align: center;
}
.ld-section__sub { text-align: center; color: var(--c-muted); margin: 0 0 var(--sp-6); }

/* Pași */
.ld-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: var(--sp-5); margin-top: var(--sp-6); }
.ld-step { position: relative; padding: var(--sp-5); background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius); box-shadow: var(--shadow); }
.ld-step__nr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 12px;
  background: var(--c-primary);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.15rem;
  margin-bottom: var(--sp-3);
}
.ld-step h3 { margin: 0 0 var(--sp-2); font-family: var(--font-display); font-size: 1.1rem; }
.ld-step p { margin: 0; color: var(--c-muted); line-height: 1.6; }
.ld-step p strong { color: var(--c-text); }

/* Funcționalități */
.ld-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: var(--sp-4); margin-top: var(--sp-6); }
.ld-feature { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius); padding: var(--sp-5); }
.ld-feature .icon {
  width: 26px; height: 26px;
  color: var(--c-primary);
  fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
  margin-bottom: var(--sp-3);
}
.ld-feature h3 { margin: 0 0 var(--sp-1); font-family: var(--font-display); font-size: 1.02rem; }
.ld-feature p { margin: 0; color: var(--c-muted); font-size: 0.95rem; line-height: 1.55; }

/* Comparativ */
.ld-compare { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: var(--sp-4); margin-top: var(--sp-6); }
.ld-compare__col { border-radius: var(--radius); padding: var(--sp-5); border: 1px solid var(--c-border); }
.ld-compare__col--bad { background: oklch(0.97 0.008 60); }
.ld-compare__col--good { background: var(--c-primary-soft); border-color: oklch(0.85 0.05 150); }
.ld-compare__col h3 { margin: 0 0 var(--sp-3); font-family: var(--font-display); font-size: 1rem; }
.ld-compare__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-2); }
.ld-compare__col li { display: flex; align-items: flex-start; gap: var(--sp-2); font-size: 0.95rem; line-height: 1.5; }
.ld-compare__col .icon { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ld-compare__col--bad .icon { color: var(--c-err); }
.ld-compare__col--good .icon { color: var(--c-primary); }
.ld-fine { text-align: center; margin: var(--sp-6) auto 0; color: var(--c-muted); font-size: 0.92rem; max-width: 560px; }
.ld-fine strong { color: var(--c-err); }

/* Preț */
.ld-pricing { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: var(--sp-4); margin-top: var(--sp-6); }
.ld-price-card { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius); padding: var(--sp-6); text-align: center; }
.ld-price-card--main { border-color: var(--c-primary); border-width: 2px; box-shadow: var(--shadow); }
.ld-price-card h3 { margin: 0 0 var(--sp-2); font-family: var(--font-display); font-size: 1rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--c-muted); }
.ld-price { font-family: var(--font-display); font-size: 2.2rem; font-weight: 700; color: var(--c-primary-dark); margin-bottom: var(--sp-4); }
.ld-price__unit { font-size: 0.95rem; font-weight: 600; color: var(--c-muted); }
.ld-price-card ul { list-style: none; margin: 0 0 var(--sp-5); padding: 0; display: flex; flex-direction: column; gap: var(--sp-2); text-align: left; }
.ld-price-card li { display: flex; align-items: center; gap: var(--sp-2); font-size: 0.95rem; }
.ld-price-card .icon { width: 18px; height: 18px; color: var(--c-primary); fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.ld-price-card__note { color: var(--c-muted); font-size: 0.92rem; line-height: 1.6; margin: 0; }

/* FAQ */
.ld-faq { border: 1px solid var(--c-border); border-radius: var(--radius-sm); background: var(--c-surface); padding: var(--sp-3) var(--sp-4); margin-top: var(--sp-3); }
.ld-faq summary { cursor: pointer; font-weight: 600; font-family: var(--font-display); }
.ld-faq p { color: var(--c-muted); line-height: 1.65; margin: var(--sp-3) 0 var(--sp-1); }

/* CTA final */
.ld-cta-final { background: linear-gradient(180deg, var(--sb-bg-2), var(--sb-bg)); color: #fff; text-align: center; padding: 72px 0; }
.ld-cta-final h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 3.4vw, 2.1rem); margin: 0 0 var(--sp-2); letter-spacing: -0.02em; }
.ld-cta-final p { color: oklch(0.85 0.03 152); margin: 0 0 var(--sp-5); }

/* Footer */
.ld-footer { border-top: 1px solid var(--c-border); padding: var(--sp-5) 0; }
.ld-footer__row { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; }
.ld-brand--sm .ld-brand__logo { width: 24px; height: 24px; }
.ld-brand--sm .ld-brand__text { font-size: 0.95rem; }
.ld-footer__meta { color: var(--c-muted); font-size: 0.9rem; }

/* ---- Pagini legale ---- */
.legal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  max-width: 760px;
  margin: 0 auto var(--sp-5);
  padding-top: var(--sp-3);
}
.ld-article {
  max-width: 760px;
  margin: 0 auto;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  padding: clamp(1.5rem, 4vw, 3rem);
  line-height: 1.7;
}
.ld-article h1 {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  letter-spacing: -0.02em;
  margin: 0 0 var(--sp-1);
}
.ld-article__updated { color: var(--c-muted); font-size: 0.85rem; margin: 0 0 var(--sp-5); }
.ld-article h2 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  margin: var(--sp-6) 0 var(--sp-2);
  letter-spacing: -0.01em;
}
.ld-article p { margin: 0 0 var(--sp-3); color: var(--c-text); }
.ld-article ul { margin: 0 0 var(--sp-3); padding-left: 1.3rem; }
.ld-article li { margin-bottom: var(--sp-2); }
.ld-article__back { margin-top: var(--sp-6); }
.legal-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  flex-wrap: wrap;
  max-width: 760px;
  margin: var(--sp-5) auto 0;
  padding: var(--sp-4) 0;
  color: var(--c-muted);
  font-size: 0.88rem;
}

/* Responsive */
@media (max-width: 760px) {
  .ld-nav__links { display: none; }
  .ld-hero { padding-top: 48px; }
  .ld-section { padding: 56px 0; }
}

/* Pe telefoane mici: ascunde butonul secundar din nav pentru a nu depăși ecranul */
@media (max-width: 560px) {
  .ld-nav__cta .btn--ghost { display: none; }
}

/* Pe telefoane foarte mici: ascunde și textul brandului din nav, afișează doar logo-ul */
@media (max-width: 400px) {
  .ld-brand__text { display: none; }
  .ld-nav__row { gap: var(--sp-3); }
  .ld-wrap { padding: 0 var(--sp-4); }
  .ld-section { padding: 40px 0; }
  .ld-hero { padding-top: 32px; padding-bottom: 24px; }
  .ld-cta-final { padding: 48px 0; }
}
