/*
Theme Name:   Bursa pe Scurt
Theme URI:    https://bursapescurt.ro
Author:       Bursa pe Scurt
Author URI:   https://bursapescurt.ro
Description:  Temă custom dark-mode pentru Bursa pe Scurt — fapte și comentariu editorial despre Bursa de Valori București. Fără recomandări de investiții.
Version:      1.5.0
Requires PHP: 8.1
License:      Proprietar
Text Domain:  bvb-pe-scurt
*/

/* ==========================================================================
   1. VARIABILE — paleta oficială Bursa pe Scurt (nu modifica valorile)
   ========================================================================== */
:root {
  /* Brand */
  --bvb-turcoaz:        #2dd4bf;
  --bvb-turcoaz-inchis: #1b7d7c;

  /* Fundaluri */
  --bvb-fundal:         #0d1117;
  --bvb-verde-inchis:   #0a2220;
  --bvb-card:           #161f2a;
  --bvb-card-hover:     #1b2634;

  /* Semantică bursieră */
  --bvb-pozitiv:        #3fb950;
  --bvb-negativ:        #f85149;

  /* Text */
  --bvb-text:           #e6edf3;
  --bvb-text-secundar:  #8b949e;

  /* Structură */
  --bvb-bordura:        #21303d;
  --bvb-focus:          #2dd4bf;

  /* Tipografie */
  --bvb-font-brand: Georgia, 'Times New Roman', serif;
  --bvb-font-text:  Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
                    Roboto, Arial, sans-serif;
  --bvb-font-mono:  'SFMono-Regular', Consolas, 'Liberation Mono', monospace;

  /* Spațiere & ritm */
  --bvb-radius:   10px;
  --bvb-container: 1120px;
  --bvb-gutter:   1.25rem;
}

/* ==========================================================================
   2. RESET MINIMAL & BAZĂ
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  margin: 0;
  background: var(--bvb-fundal);
  color: var(--bvb-text);
  font-family: var(--bvb-font-text);
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--bvb-turcoaz); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }

/* Focus vizibil — accesibilitate */
:focus-visible {
  outline: 2px solid var(--bvb-focus);
  outline-offset: 2px;
  border-radius: 2px;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.25;
  color: var(--bvb-text);
  margin: 0 0 .6em;
  font-weight: 700;
}
h1 { font-size: 1.75rem; }
h2 { font-size: 1.4rem; }
h3 { font-size: 1.15rem; }

@media (min-width: 768px) {
  h1 { font-size: 2.25rem; }
  h2 { font-size: 1.65rem; }
  h3 { font-size: 1.25rem; }
}

p { margin: 0 0 1.1em; }

hr {
  border: 0;
  border-top: 1px solid var(--bvb-bordura);
  margin: 2rem 0;
}

/* Link „sari la conținut" — accesibilitate */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--bvb-turcoaz);
  color: #04211d;
  padding: .6rem 1rem;
  z-index: 1000;
  border-radius: 0 0 var(--bvb-radius) 0;
  font-weight: 600;
}
.skip-link:focus { left: 0; text-decoration: none; }

/* Doar pentru cititoare de ecran */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px; width: 1px;
  overflow: hidden;
  position: absolute !important;
  word-wrap: normal !important;
}

/* ==========================================================================
   3. LAYOUT GENERAL
   ========================================================================== */
.container {
  width: 100%;
  max-width: var(--bvb-container);
  margin: 0 auto;
  padding: 0 var(--bvb-gutter);
}

.site-content {
  padding: 2rem 0 3rem;
  min-height: 55vh;
}

/* Layout cu sidebar (arhive, blog) */
.layout-cu-sidebar {
  display: grid;
  gap: 2.5rem;
}
@media (min-width: 1024px) {
  .layout-cu-sidebar {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
}

/* ==========================================================================
   4. HEADER & NAVIGAȚIE
   ========================================================================== */
.site-header {
  background: rgba(13, 17, 23, .92);
  border-bottom: 1px solid var(--bvb-bordura);
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: blur(8px);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem var(--bvb-gutter);
  max-width: var(--bvb-container);
  margin: 0 auto;
}

.site-branding {
  display: flex;
  align-items: center;
  gap: .6rem;
  min-width: 0;
}
.site-branding a {
  display: flex;
  align-items: center;
  gap: .6rem;
  text-decoration: none;
}
.custom-logo { width: 42px; height: 42px; border-radius: 50%; }

.site-title {
  font-family: var(--bvb-font-brand);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--bvb-text);
  margin: 0;
  white-space: nowrap;
}
.site-title .accent { color: var(--bvb-turcoaz); }

/* Buton meniu mobil */
.nav-toggle {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  background: transparent;
  border: 1px solid var(--bvb-bordura);
  color: var(--bvb-text);
  padding: .5rem .8rem;
  border-radius: var(--bvb-radius);
  font-size: .9rem;
  cursor: pointer;
}
.nav-toggle .bara {
  display: block;
  width: 18px; height: 2px;
  background: var(--bvb-text);
  position: relative;
}
.nav-toggle .bara::before,
.nav-toggle .bara::after {
  content: '';
  position: absolute;
  left: 0;
  width: 18px; height: 2px;
  background: var(--bvb-text);
}
.nav-toggle .bara::before { top: -6px; }
.nav-toggle .bara::after  { top: 6px; }

/* Navigația principală — mobile first: ascunsă, se deschide sub header */
.site-nav {
  display: none;
  position: absolute;
  left: 0; right: 0;
  top: 100%;
  background: var(--bvb-fundal);
  border-bottom: 1px solid var(--bvb-bordura);
  padding: .5rem var(--bvb-gutter) 1rem;
}
.site-nav.deschis { display: block; }

.site-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.site-nav a {
  display: block;
  padding: .6rem .5rem;
  color: var(--bvb-text);
  border-radius: 6px;
  font-weight: 500;
}
.site-nav a:hover,
.site-nav a:focus {
  background: var(--bvb-card);
  color: var(--bvb-turcoaz);
  text-decoration: none;
}
.site-nav .current-menu-item > a { color: var(--bvb-turcoaz); }

@media (min-width: 900px) {
  .nav-toggle { display: none; }
  .site-nav {
    display: block;
    position: static;
    background: transparent;
    border: 0;
    padding: 0;
  }
  .site-nav ul {
    flex-direction: row;
    align-items: center;
    gap: .25rem;
  }
  .site-nav a { padding: .5rem .75rem; }
}

/* ==========================================================================
   5. BUTOANE & BADGE-URI
   ========================================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .7rem 1.4rem;
  border-radius: var(--bvb-radius);
  font-weight: 600;
  font-size: 1rem;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, transform .1s ease;
}
.btn:hover, .btn:focus { text-decoration: none; }
.btn:active { transform: translateY(1px); }

.btn-primar {
  background: var(--bvb-turcoaz);
  color: #04211d;
}
.btn-primar:hover, .btn-primar:focus {
  background: #35e3cd;
  color: #04211d;
}

.btn-secundar {
  background: transparent;
  color: var(--bvb-turcoaz);
  border-color: var(--bvb-turcoaz-inchis);
}
.btn-secundar:hover, .btn-secundar:focus {
  border-color: var(--bvb-turcoaz);
  background: rgba(45, 212, 191, .08);
  color: var(--bvb-turcoaz);
}

.badge {
  display: inline-block;
  padding: .2rem .6rem;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .02em;
  border: 1px solid var(--bvb-bordura);
  color: var(--bvb-text-secundar);
  background: var(--bvb-card);
}
.badge-turcoaz {
  color: var(--bvb-turcoaz);
  border-color: var(--bvb-turcoaz-inchis);
  background: rgba(45, 212, 191, .07);
}
.badge-pozitiv { color: var(--bvb-pozitiv); border-color: rgba(63,185,80,.4); }
.badge-negativ { color: var(--bvb-negativ); border-color: rgba(248,81,73,.4); }

/* ==========================================================================
   6. HERO (prima pagină)
   ========================================================================== */
.hero {
  background:
    radial-gradient(60% 90% at 85% 10%, rgba(45, 212, 191, .10), transparent 60%),
    linear-gradient(180deg, var(--bvb-verde-inchis) 0%, var(--bvb-fundal) 100%);
  border-bottom: 1px solid var(--bvb-bordura);
  padding: 3.5rem 0 3rem;
  text-align: center;
}
.hero .hero-logo {
  width: 84px; height: 84px;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
}
.hero-titlu {
  font-family: var(--bvb-font-brand);
  font-size: 2.1rem;
  margin-bottom: .4rem;
}
.hero-titlu .accent { color: var(--bvb-turcoaz); }
.hero-tagline {
  color: var(--bvb-text-secundar);
  font-size: 1.05rem;
  max-width: 34rem;
  margin: 0 auto 1.75rem;
}
.hero-actiuni {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .9rem;
}
@media (min-width: 768px) {
  .hero { padding: 5rem 0 4.25rem; }
  .hero-titlu { font-size: 3rem; }
  .hero-tagline { font-size: 1.15rem; }
}

/* ==========================================================================
   7. SECȚIUNI & GRILE DE CARDURI
   ========================================================================== */
.sectiune { padding: 2.75rem 0; }
.sectiune + .sectiune { border-top: 1px solid var(--bvb-bordura); }

.sectiune-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.sectiune-header h2 { margin: 0; }
.sectiune-header .vezi-tot {
  font-size: .9rem;
  white-space: nowrap;
}

.grila-carduri {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}
@media (min-width: 640px)  { .grila-carduri { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .grila-carduri { grid-template-columns: repeat(3, 1fr); } }

/* Card articol */
.card {
  background: var(--bvb-card);
  border: 1px solid var(--bvb-bordura);
  border-radius: var(--bvb-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .15s ease, background .15s ease;
}
.card:hover { border-color: var(--bvb-turcoaz-inchis); background: var(--bvb-card-hover); }

.card-imagine img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.card-corp {
  padding: 1.1rem 1.2rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  flex: 1;
}
.card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  font-size: .8rem;
  color: var(--bvb-text-secundar);
}
.card-titlu {
  font-size: 1.05rem;
  margin: 0;
  line-height: 1.35;
}
.card-titlu a { color: var(--bvb-text); }
.card-titlu a:hover { color: var(--bvb-turcoaz); text-decoration: none; }
.card-extras {
  color: var(--bvb-text-secundar);
  font-size: .92rem;
  margin: 0;
}

/* ==========================================================================
   8. ARTICOL (single) & PAGINI
   ========================================================================== */
.articol-header { margin-bottom: 1.75rem; }
.articol-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
  color: var(--bvb-text-secundar);
  font-size: .9rem;
  margin-top: .5rem;
}
.articol-imagine {
  margin: 0 0 1.75rem;
  border-radius: var(--bvb-radius);
  overflow: hidden;
  border: 1px solid var(--bvb-bordura);
}

.continut-articol {
  max-width: 46rem;
  font-size: 1.05rem;
}
.continut-articol h2 { margin-top: 2rem; }
.continut-articol h3 { margin-top: 1.5rem; }
.continut-articol img { border-radius: var(--bvb-radius); }
.continut-articol blockquote {
  margin: 1.5rem 0;
  padding: .75rem 1.25rem;
  border-left: 3px solid var(--bvb-turcoaz);
  background: var(--bvb-card);
  border-radius: 0 var(--bvb-radius) var(--bvb-radius) 0;
  color: var(--bvb-text-secundar);
}
.continut-articol table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: .95rem;
  font-variant-numeric: tabular-nums;
}
.continut-articol th,
.continut-articol td {
  padding: .55rem .75rem;
  border: 1px solid var(--bvb-bordura);
  text-align: left;
}
.continut-articol thead th {
  background: var(--bvb-card);
  color: var(--bvb-turcoaz);
  font-weight: 600;
}
.continut-articol tbody tr:nth-child(even) { background: rgba(255,255,255,.02); }
.continut-articol code {
  font-family: var(--bvb-font-mono);
  background: var(--bvb-card);
  padding: .1em .4em;
  border-radius: 4px;
  font-size: .9em;
}

/* Aliniamente clasice WordPress */
.alignleft  { float: left; margin: .5rem 1.25rem 1rem 0; }
.alignright { float: right; margin: .5rem 0 1rem 1.25rem; }
.aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text {
  font-size: .82rem;
  color: var(--bvb-text-secundar);
  text-align: center;
  padding: .4rem 0;
}

/* ==========================================================================
   9. DISCLAIMER — element de identitate editorială
   ========================================================================== */
.disclaimer-box {
  background: var(--bvb-verde-inchis);
  border: 1px solid var(--bvb-turcoaz-inchis);
  border-left: 4px solid var(--bvb-turcoaz);
  border-radius: var(--bvb-radius);
  padding: .9rem 1.15rem;
  font-size: .9rem;
  color: var(--bvb-text-secundar);
  margin: 1.5rem 0;
}
.disclaimer-box strong { color: var(--bvb-turcoaz); }

/* ==========================================================================
   10. SIDEBAR & WIDGETURI
   ========================================================================== */
.sidebar .widget {
  background: var(--bvb-card);
  border: 1px solid var(--bvb-bordura);
  border-radius: var(--bvb-radius);
  padding: 1.15rem 1.25rem;
  margin-bottom: 1.25rem;
}
.sidebar .widget-title {
  font-size: .95rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--bvb-turcoaz);
  margin-bottom: .8rem;
}
.sidebar .widget ul { list-style: none; margin: 0; padding: 0; }
.sidebar .widget li { padding: .35rem 0; border-bottom: 1px solid var(--bvb-bordura); }
.sidebar .widget li:last-child { border-bottom: 0; }
.sidebar .widget a { color: var(--bvb-text); }
.sidebar .widget a:hover { color: var(--bvb-turcoaz); }

/* ==========================================================================
   11. FORMULARE (căutare, viitoare formulare)
   ========================================================================== */
input[type="text"],
input[type="email"],
input[type="search"],
textarea {
  width: 100%;
  background: var(--bvb-fundal);
  border: 1px solid var(--bvb-bordura);
  border-radius: var(--bvb-radius);
  color: var(--bvb-text);
  padding: .65rem .9rem;
  font: inherit;
}
input:focus, textarea:focus {
  border-color: var(--bvb-turcoaz);
  outline: none;
}
::placeholder { color: var(--bvb-text-secundar); }

.formular-cautare {
  display: flex;
  gap: .5rem;
}
.formular-cautare input[type="search"] { flex: 1; }

/* ==========================================================================
   12. PAGINARE & NAVIGARE ÎNTRE ARTICOLE
   ========================================================================== */
.paginare {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  justify-content: center;
  margin-top: 2.5rem;
}
.paginare .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  height: 2.4rem;
  padding: 0 .6rem;
  border: 1px solid var(--bvb-bordura);
  border-radius: 8px;
  color: var(--bvb-text);
  background: var(--bvb-card);
}
.paginare .page-numbers.current {
  background: var(--bvb-turcoaz);
  color: #04211d;
  border-color: var(--bvb-turcoaz);
  font-weight: 700;
}
.paginare a.page-numbers:hover {
  border-color: var(--bvb-turcoaz);
  text-decoration: none;
}

/* ==========================================================================
   13. FOOTER
   ========================================================================== */
.site-footer {
  background: #0a0e14;
  border-top: 1px solid var(--bvb-bordura);
  padding: 2.5rem 0 1.5rem;
  color: var(--bvb-text-secundar);
  font-size: .9rem;
}
.footer-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .footer-grid { grid-template-columns: 2fr 1fr 1fr; }
}
.footer-brand .site-title { font-size: 1.1rem; margin-bottom: .5rem; }
.footer-nav ul { list-style: none; margin: 0; padding: 0; }
.footer-nav li { padding: .25rem 0; }
.footer-nav a { color: var(--bvb-text-secundar); }
.footer-nav a:hover { color: var(--bvb-turcoaz); }
.footer-titlu {
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--bvb-text);
  margin-bottom: .75rem;
}
.footer-legal {
  border-top: 1px solid var(--bvb-bordura);
  padding-top: 1.25rem;
  font-size: .82rem;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: space-between;
}

/* ==========================================================================
   14. PAGINA 404 & DIVERSE
   ========================================================================== */
.pagina-404 {
  text-align: center;
  padding: 4rem 0;
}
.pagina-404 .cod {
  font-family: var(--bvb-font-mono);
  font-size: 4rem;
  color: var(--bvb-negativ);
  font-weight: 700;
  line-height: 1;
  margin-bottom: 1rem;
}

.nimic-gasit {
  background: var(--bvb-card);
  border: 1px solid var(--bvb-bordura);
  border-radius: var(--bvb-radius);
  padding: 2rem;
  text-align: center;
  color: var(--bvb-text-secundar);
}

/* Variație valori bursiere — utilitare pentru fazele următoare */
.valoare-pozitiva { color: var(--bvb-pozitiv); font-variant-numeric: tabular-nums; }
.valoare-negativa { color: var(--bvb-negativ); font-variant-numeric: tabular-nums; }

/* ==========================================================================
   15. FAZA 2 — Feedul „Ediția de azi"
   ========================================================================== */
.lista-editii {
  border: 1px solid var(--bvb-bordura);
  border-radius: var(--bvb-radius);
  background: var(--bvb-card);
  overflow: hidden;
}
.rand-editie {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: .5rem .8rem;
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--bvb-bordura);
}
.rand-editie:last-child { border-bottom: 0; }
.rand-editie:hover { background: var(--bvb-card-hover); }

.rand-data {
  font-family: var(--bvb-font-mono);
  font-size: .8rem;
  color: var(--bvb-text-secundar);
  white-space: nowrap;
  min-width: 3.2rem;
}
.rand-titlu {
  grid-column: 1 / -1;
  font-size: .98rem;
  margin: 0;
  line-height: 1.4;
  font-weight: 500;
}
.rand-titlu a { color: var(--bvb-text); }
.rand-titlu a:hover { color: var(--bvb-turcoaz); text-decoration: none; }

.rand-companii {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.rand-companii .badge { font-size: .7rem; }
.rand-companii a.badge:hover { text-decoration: none; border-color: var(--bvb-turcoaz); }

/* Pe ecrane mai late, rândul devine o singură linie */
@media (min-width: 768px) {
  .rand-editie {
    grid-template-columns: auto auto minmax(0, 1fr) auto;
  }
  .rand-titlu { grid-column: auto; }
  .rand-companii { grid-column: auto; justify-content: flex-end; }
}

/* ==========================================================================
   16. FAZA 2 — „De ce Bursa pe Scurt"
   ========================================================================== */
.grila-valori {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}
@media (min-width: 640px)  { .grila-valori { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .grila-valori { grid-template-columns: repeat(4, 1fr); } }

.punct-valoare {
  background: var(--bvb-card);
  border: 1px solid var(--bvb-bordura);
  border-radius: var(--bvb-radius);
  padding: 1.25rem 1.25rem 1.35rem;
}
.punct-valoare h3 {
  font-size: 1rem;
  margin: .75rem 0 .4rem;
}
.punct-valoare p {
  font-size: .9rem;
  color: var(--bvb-text-secundar);
  margin: 0;
}
.punct-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px; height: 42px;
  border-radius: 10px;
  background: var(--bvb-verde-inchis);
  border: 1px solid var(--bvb-turcoaz-inchis);
  color: var(--bvb-turcoaz);
}

/* ==========================================================================
   17. FAZA 2 — Secțiunea „Abonează-te"
   ========================================================================== */
.grila-abonare {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .grila-abonare { grid-template-columns: 1fr 1fr; }
}

.card-abonare {
  border-radius: var(--bvb-radius);
  padding: 1.75rem 1.5rem;
  border: 1px solid var(--bvb-bordura);
}
.card-abonare h2 {
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
}
.card-abonare p {
  color: var(--bvb-text-secundar);
  font-size: .95rem;
}

.card-abonare-telegram {
  background:
    radial-gradient(70% 120% at 100% 0%, rgba(45, 212, 191, .12), transparent 60%),
    var(--bvb-verde-inchis);
  border-color: var(--bvb-turcoaz-inchis);
}

.card-abonare-newsletter { background: var(--bvb-card); }

/* Formularul de newsletter — schelet dezactivat */
.form-newsletter fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
.form-newsletter fieldset[disabled] { opacity: .55; }
.rand-newsletter {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.rand-newsletter input[type="email"] {
  flex: 1;
  min-width: 200px;
}
.consimtamant {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  margin-top: .75rem;
  font-size: .82rem;
  color: var(--bvb-text-secundar);
  cursor: default;
}
.consimtamant input[type="checkbox"] {
  margin-top: .2rem;
  accent-color: var(--bvb-turcoaz);
}

/* ==========================================================================
   18. FAZA 3 — Ediții și pagini de companie
   ========================================================================== */
.editie-eticheta {
  display: flex;
  gap: .4rem;
  margin-bottom: .6rem;
}

.editie-rezumat {
  font-size: 1.1rem;
  color: var(--bvb-text-secundar);
  border-left: 3px solid var(--bvb-turcoaz);
  padding-left: 1rem;
  max-width: 46rem;
  margin: 0 0 1.75rem;
}

.descriere-arhiva {
  color: var(--bvb-text-secundar);
  font-size: .95rem;
  max-width: 40rem;
  margin: .25rem 0 0;
}

.companie-header .companie-simbol {
  display: inline-block;
  font-family: var(--bvb-font-mono);
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--bvb-turcoaz);
  background: var(--bvb-verde-inchis);
  border: 1px solid var(--bvb-turcoaz-inchis);
  border-radius: 8px;
  padding: .3rem .8rem;
  margin-bottom: .7rem;
}

/* ==========================================================================
   19. FAZA 4 — Disclaimer de analiză + caseta de autor
   ========================================================================== */
.disclaimer-analiza {
  display: flex;
  gap: .8rem;
  align-items: flex-start;
  background: var(--bvb-verde-inchis);
  border: 1px solid var(--bvb-turcoaz);
  border-radius: var(--bvb-radius);
  padding: 1rem 1.15rem;
  margin: 0 0 1.75rem;
  max-width: 46rem;
}
.disclaimer-analiza-jos { margin: 2rem 0 1.5rem; }
.disclaimer-analiza .disclaimer-icon {
  color: var(--bvb-turcoaz);
  flex-shrink: 0;
  margin-top: .1rem;
}
.disclaimer-analiza p {
  margin: 0;
  font-size: .92rem;
  color: var(--bvb-text);
  line-height: 1.55;
}
.disclaimer-analiza strong { color: var(--bvb-turcoaz); }

.caseta-autor {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: var(--bvb-card);
  border: 1px solid var(--bvb-bordura);
  border-radius: var(--bvb-radius);
  padding: 1.15rem 1.25rem;
  max-width: 46rem;
  margin-bottom: 1.5rem;
}
.caseta-autor .autor-avatar {
  border-radius: 50%;
  flex-shrink: 0;
}
.autor-eticheta {
  display: block;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--bvb-text-secundar);
}
.autor-nume {
  font-weight: 600;
  font-size: 1rem;
}
.autor-nume a { color: var(--bvb-text); }
.autor-nume a:hover { color: var(--bvb-turcoaz); }
.autor-bio {
  margin: .4rem 0 0;
  font-size: .88rem;
  color: var(--bvb-text-secundar);
}

/* ==========================================================================
   20. FAZA 5 — Formularul de contact + bara de cookies
   ========================================================================== */
.formular-contact-wrap {
  max-width: 46rem;
  margin-top: 1.5rem;
}
.formular-contact .camp { margin: 0 0 1.1rem; }
.formular-contact label {
  display: block;
  font-size: .9rem;
  font-weight: 600;
  margin-bottom: .35rem;
}
.formular-contact .obligatoriu { color: var(--bvb-negativ); }

.rand-formular {
  display: grid;
  gap: 0 1rem;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .rand-formular { grid-template-columns: 1fr 1fr; }
}

/* Honeypot — scos din flux și din văzul oamenilor, dar prezent pentru boți */
.formular-contact .camp-site {
  position: absolute !important;
  left: -9999px !important;
  height: 1px; width: 1px;
  overflow: hidden;
}

.camp-trimite { margin: 1.25rem 0 0; }

.mesaj-formular {
  margin-top: 1rem;
  padding: .8rem 1.1rem;
  border-radius: var(--bvb-radius);
  font-size: .92rem;
}
.mesaj-formular.mesaj-succes {
  background: rgba(63, 185, 80, .1);
  border: 1px solid rgba(63, 185, 80, .45);
  color: var(--bvb-pozitiv);
}
.mesaj-formular.mesaj-eroare {
  background: rgba(248, 81, 73, .1);
  border: 1px solid rgba(248, 81, 73, .45);
  color: var(--bvb-negativ);
}

/* Bara de cookies — fixă jos, discretă dar clară */
.bara-cookies {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 200;
  background: #0a0e14;
  border-top: 1px solid var(--bvb-turcoaz-inchis);
  box-shadow: 0 -6px 24px rgba(0, 0, 0, .45);
}
.bara-cookies-inner {
  max-width: var(--bvb-container);
  margin: 0 auto;
  padding: .9rem var(--bvb-gutter);
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.bara-cookies-text {
  margin: 0;
  font-size: .85rem;
  color: var(--bvb-text-secundar);
}
.bara-cookies-actiuni {
  display: flex;
  gap: .6rem;
}
.bara-cookies-actiuni .btn {
  padding: .5rem 1.1rem;
  font-size: .9rem;
}
@media (min-width: 768px) {
  .bara-cookies-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

/* ==========================================================================
   21. FAZA 6 — Premium: badge PRO + panoul de deblocare
   ========================================================================== */
.badge-pro {
  background: var(--bvb-turcoaz);
  color: #04211d;
  border-color: var(--bvb-turcoaz);
  font-weight: 700;
  letter-spacing: .04em;
}

.panou-pro {
  background: var(--bvb-card);
  border: 1px solid var(--bvb-turcoaz-inchis);
  border-radius: var(--bvb-radius);
  padding: 2rem 1.75rem;
  text-align: center;
  margin: 1.75rem 0;
  max-width: 46rem;
  position: relative;
}
/* „Fade-ul" de deasupra panoului — sugerează conținut care continuă */
.panou-pro::before {
  content: '';
  position: absolute;
  left: 0; right: 0;
  top: -3.5rem;
  height: 3.5rem;
  background: linear-gradient(180deg, transparent, var(--bvb-fundal));
  pointer-events: none;
}
.panou-pro-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: var(--bvb-verde-inchis);
  border: 1px solid var(--bvb-turcoaz-inchis);
  color: var(--bvb-turcoaz);
  margin-bottom: .75rem;
}
.panou-pro-titlu {
  font-size: 1.15rem;
  margin-bottom: .35rem;
}
.panou-pro-text {
  color: var(--bvb-text-secundar);
  font-size: .95rem;
  margin-bottom: 1.1rem;
}
.panou-pro-actiuni { margin-bottom: .6rem; }
.panou-pro-login {
  font-size: .85rem;
  color: var(--bvb-text-secundar);
  margin: 0;
}
