/* ════════════════════════════════════════════════════════════════════════════
   Card: Harta Valorilor Juste — einv-hvj | Poppins only
   ════════════════════════════════════════════════════════════════════════════ */

.einv-hvj {
    background: #0f1117;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 56px;
    font-family: 'Poppins', sans-serif;
    color: #e8e9eb;
    position: relative;
    overflow: hidden;
}
.einv-hvj::before {
    content: '';
    position: absolute;
    top: -80px; right: -80px;
    width: 220px; height: 220px;
    background: radial-gradient(circle, rgba(42,218,73,.05) 0%, transparent 70%);
    pointer-events: none;
    border-radius: 50%;
}

/* ── Header ── */
.einv-hvj__header { margin-bottom: 20px; }
.einv-hvj__eyebrow {
    font-size: 10px; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: #2ada49; margin-bottom: 6px;
}
.einv-hvj__title {
    font-size: 20px; font-weight: 700;
    color: #ffffff; letter-spacing: -.02em;
    line-height: 1.2; margin: 0 0 4px;
}
.einv-hvj__subtitle {
    font-size: 13px; color: rgba(232,233,235,.45); margin: 0;
}

/* ── Verdict ── */
.einv-hvj__verdict {
    border-radius: 10px; padding: 14px 16px;
    margin-bottom: 20px; border: 1px solid transparent;
    display: flex; flex-direction: column; gap: 5px;
}
.einv-hvj__verdict--bull      { background:rgba(42,218,73,.08);  border-color:rgba(42,218,73,.18); }
.einv-hvj__verdict--bull-soft { background:rgba(42,218,73,.05);  border-color:rgba(42,218,73,.10); }
.einv-hvj__verdict--neutral   { background:rgba(240,160,35,.07); border-color:rgba(240,160,35,.15); }
.einv-hvj__verdict--bear-soft { background:rgba(255,99,72,.05);  border-color:rgba(255,99,72,.10); }
.einv-hvj__verdict--bear      { background:rgba(249,0,41,.08);   border-color:rgba(249,0,41,.18); }
.einv-hvj__verdict-badge {
    display: inline-flex; align-items: center;
    gap: 8px; font-size: 13px; font-weight: 700;
}
.einv-hvj__verdict-dot {
    width:8px; height:8px; border-radius:50%; flex-shrink:0;
}
.einv-hvj__verdict--bull      .einv-hvj__verdict-dot  { background:#2ada49; box-shadow:0 0 6px rgba(42,218,73,.5); }
.einv-hvj__verdict--bull-soft .einv-hvj__verdict-dot  { background:#26de81; }
.einv-hvj__verdict--neutral   .einv-hvj__verdict-dot  { background:#f0a023; }
.einv-hvj__verdict--bear-soft .einv-hvj__verdict-dot  { background:#ff6348; }
.einv-hvj__verdict--bear      .einv-hvj__verdict-dot  { background:#f90029; box-shadow:0 0 6px rgba(249,0,41,.5); }
.einv-hvj__verdict--bull      .einv-hvj__verdict-badge { color:#2ada49; }
.einv-hvj__verdict--bull-soft .einv-hvj__verdict-badge { color:#26de81; }
.einv-hvj__verdict--neutral   .einv-hvj__verdict-badge { color:#f0a023; }
.einv-hvj__verdict--bear-soft .einv-hvj__verdict-badge { color:#ff6348; }
.einv-hvj__verdict--bear      .einv-hvj__verdict-badge { color:#ff4d6d; }
.einv-hvj__verdict-desc {
    font-size:12.5px; color:rgba(232,233,235,.65);
    margin:0; line-height:1.5;
}
.einv-hvj__alert {
    display:flex; align-items:center; gap:6px;
    font-size:11.5px; color:#f0a023; font-weight:500; margin-top:2px;
}

/* ── KPIs ── */
.einv-hvj__kpis {
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(120px,1fr));
    gap:10px; margin-bottom:24px;
}
.einv-hvj__kpi {
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.06);
    border-radius:10px; padding:12px 14px;
    display:flex; flex-direction:column; gap:4px;
}
.einv-hvj__kpi-label {
    font-size:10px; font-weight:600;
    letter-spacing:.04em; text-transform:uppercase;
    color:rgba(232,233,235,.38);
    display:flex; align-items:center; gap:4px;
}
.einv-hvj__kpi-value {
    font-size:20px; font-weight:700;
    color:#e8e9eb; letter-spacing:-.02em;
}
.einv-hvj__kpi-value--pos { color:#2ada49; }
.einv-hvj__kpi-value--neg { color:#f90029; }

/* ════════════════════════════════════════
   BARA DE PREȚ — design curat, fără suprapuneri
   ════════════════════════════════════════ */
.einv-hvj__bar-section {
    margin-bottom:24px;
    background:rgba(255,255,255,.02);
    border:1px solid rgba(255,255,255,.06);
    border-radius:12px;
    padding:20px 20px 16px;
}
.einv-hvj__bar-ends {
    display:flex; justify-content:space-between;
    align-items:flex-end; margin-bottom:10px;
}
.einv-hvj__bar-end { display:flex; flex-direction:column; gap:2px; }
.einv-hvj__bar-end--right { text-align:right; }
.einv-hvj__bar-end-lbl {
    font-size:9.5px; font-weight:600;
    text-transform:uppercase; letter-spacing:.06em;
    color:rgba(232,233,235,.28);
}
.einv-hvj__bar-end-val {
    font-size:12px; font-weight:700;
    color:rgba(232,233,235,.50);
}

/* Bara + pins */
.einv-hvj__bar {
    position:relative;
    /* 
       Structura verticală clară:
       [TAG VALOARE JUSTĂ]  [TAG PREȚ]     ← top
       [linie]              [linie]
       [dot]                [dot]
       ══════════════════════════════════  ← track
    */
    height: 88px;
    margin-bottom: 4px;
}
.einv-hvj__bar-track {
    position:absolute;
    bottom:0; left:0; right:0;
    height:6px;
    background:rgba(255,255,255,.07);
    border-radius:3px;
}
.einv-hvj__bar-fill {
    position:absolute;
    bottom:0; height:6px;
    border-radius:3px;
    transition:all .3s;
}

/* ── Pin comun ── */
.einv-hvj__bar-pin {
    position:absolute;
    bottom:0;
    transform:translateX(-50%);
}
.einv-hvj__bar-pin-dot {
    width:12px; height:12px;
    border-radius:50%;
    border:2px solid #0f1117;
    margin:0 auto;
    position:relative; z-index:2;
}
.einv-hvj__bar-pin-line {
    width:2px; margin:0 auto;
    border-radius:1px;
}
.einv-hvj__bar-pin-tag {
    position:absolute;
    bottom: calc(100% + 4px);
    left:50%;
    transform:translateX(-50%);
    white-space:nowrap;
    text-align:center;
    padding:5px 10px;
    border-radius:7px;
    border:1px solid transparent;
    display:flex; flex-direction:column;
    align-items:center; gap:1px;
}
.einv-hvj__bar-pin-tag-lbl {
    font-size:9.5px; font-weight:600;
    letter-spacing:.04em; text-transform:uppercase;
    display:block;
}
.einv-hvj__bar-pin-tag-val {
    font-size:13.5px; font-weight:700;
    display:block;
}

/* PREȚ CURENT — alb */
.einv-hvj__bar-pin--price .einv-hvj__bar-pin-line {
    height:24px;
    background:rgba(232,233,235,.45);
}
.einv-hvj__bar-pin--price .einv-hvj__bar-pin-dot {
    background:#e8e9eb;
    box-shadow:0 0 0 3px rgba(232,233,235,.12);
}
.einv-hvj__bar-pin--price .einv-hvj__bar-pin-tag {
    background:rgba(255,255,255,.05);
    border-color:rgba(255,255,255,.10);
}
.einv-hvj__bar-pin--price .einv-hvj__bar-pin-tag-lbl { color:rgba(232,233,235,.45); }
.einv-hvj__bar-pin--price .einv-hvj__bar-pin-tag-val { color:#e8e9eb; }

/* VALOARE JUSTĂ — verde */
.einv-hvj__bar-pin--fair .einv-hvj__bar-pin-line {
    height:24px;
    background:rgba(42,218,73,.45);
}
.einv-hvj__bar-pin--fair .einv-hvj__bar-pin-dot {
    background:#2ada49;
    box-shadow:0 0 0 3px rgba(42,218,73,.15), 0 0 10px rgba(42,218,73,.25);
}
.einv-hvj__bar-pin--fair .einv-hvj__bar-pin-tag {
    background:rgba(42,218,73,.08);
    border-color:rgba(42,218,73,.22);
}
.einv-hvj__bar-pin--fair .einv-hvj__bar-pin-tag-lbl { color:rgba(42,218,73,.65); }
.einv-hvj__bar-pin--fair .einv-hvj__bar-pin-tag-val { color:#2ada49; }

/* ── Rând puncte modele individuale ── */
.einv-hvj__dots-row {
    margin-top:20px; padding-top:16px;
    border-top:1px solid rgba(255,255,255,.05);
}
.einv-hvj__dots-label {
    font-size:9.5px; font-weight:600;
    letter-spacing:.08em; text-transform:uppercase;
    color:rgba(232,233,235,.25);
    display:block; margin-bottom:14px;
}
.einv-hvj__dots-track {
    position:relative; height:40px;
}
.einv-hvj__dots-track::before {
    content:'';
    position:absolute;
    top:14px; left:0; right:0;
    height:1px;
    background:rgba(255,255,255,.06);
}
.einv-hvj__dot {
    position:absolute;
    top:0;
    transform:translateX(-50%);
    display:flex; flex-direction:column;
    align-items:center; gap:3px;
}
.einv-hvj__dot::before {
    content:'';
    display:block;
    width:8px; height:8px;
    border-radius:50%;
    border:2px solid #0f1117;
    flex-shrink:0;
}
.einv-hvj__dot--main::before {
    background:rgba(42,218,73,.75);
    width:10px; height:10px;
    box-shadow:0 0 6px rgba(42,218,73,.30);
}
.einv-hvj__dot--sec::before { background:rgba(232,233,235,.28); }
.einv-hvj__dot-name {
    font-size:8.5px; font-weight:600;
    color:rgba(232,233,235,.38);
    white-space:nowrap;
}
.einv-hvj__dot--main .einv-hvj__dot-name { color:rgba(42,218,73,.60); }

/* ── Reverse DCF ── */
.einv-hvj__reverse-dcf {
    display:flex; align-items:flex-start; gap:8px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.06);
    border-radius:8px; padding:10px 12px;
    margin-bottom:20px;
    font-size:12.5px; color:rgba(232,233,235,.58);
    line-height:1.5;
}
.einv-hvj__reverse-dcf svg { flex-shrink:0; margin-top:1px; stroke:rgba(232,233,235,.32); }

/* ── Toggle ── */
.einv-hvj__detail-toggle {
    display:flex; align-items:center;
    justify-content:space-between;
    gap:6px; width:100%;
    background:none;
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px; padding:10px 14px;
    color:rgba(232,233,235,.52);
    font-family:'Poppins', sans-serif;
    font-size:12.5px; font-weight:600;
    cursor:pointer; transition:all .2s;
}
.einv-hvj__detail-toggle:hover {
    border-color:rgba(255,255,255,.14);
    color:#e8e9eb;
    background:rgba(255,255,255,.025);
}
.einv-hvj__toggle-icon { transition:transform .3s; flex-shrink:0; }
.einv-hvj__detail-toggle--open .einv-hvj__toggle-icon { transform:rotate(180deg); }
.einv-hvj__detail-table-wrap { overflow:hidden; max-height:0; transition:max-height .4s ease; }
.einv-hvj__detail-table-wrap[aria-hidden="false"] { max-height:2400px; }

/* ── Tabel ── */
.einv-hvj__table {
    width:100%; border-collapse:collapse;
    margin-top:16px; font-size:12.5px;
}
.einv-hvj__table thead { border-bottom:1px solid rgba(255,255,255,.08); }
.einv-hvj__table th {
    padding:8px 10px; text-align:left;
    font-size:9.5px; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase;
    color:rgba(232,233,235,.28);
}
.einv-hvj__table-th--desc { min-width:160px; }
.einv-hvj__table td {
    padding:10px; border-bottom:1px solid rgba(255,255,255,.04);
    vertical-align:middle;
    color:rgba(232,233,235,.72); line-height:1.4;
}
.einv-hvj__table tr:last-child td { border-bottom:none; }
.einv-hvj__table tr:hover td { background:rgba(255,255,255,.02); }
.einv-hvj__table-val { font-size:13px; font-weight:700; color:#e8e9eb; }
.einv-hvj__table-mos {
    display:inline-block; padding:2px 8px;
    border-radius:5px; font-size:11.5px; font-weight:700;
}
.einv-hvj__table-mos--pos  { background:rgba(42,218,73,.12);  color:#2ada49; }
.einv-hvj__table-mos--neut { background:rgba(240,160,35,.10); color:#f0a023; }
.einv-hvj__table-mos--neg  { background:rgba(249,0,41,.10);   color:#f90029; }
.einv-hvj__table-author {
    display:block; font-size:10px;
    color:rgba(232,233,235,.26); margin-top:1px;
}
.einv-hvj__table-weight {
    display:flex; align-items:center; gap:6px;
    font-size:11px; color:rgba(232,233,235,.42);
}
.einv-hvj__table-weight-bar { height:3px; background:#2ada49; border-radius:2px; opacity:.55; }
.einv-hvj__table-secondary { font-size:10.5px; color:rgba(232,233,235,.26); }
.einv-hvj__table-tip { font-size:11.5px; color:rgba(232,233,235,.38); line-height:1.5; }

/* ── Stats ── */
.einv-hvj__stats {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:10px; margin-top:16px; padding-top:16px;
    border-top:1px solid rgba(255,255,255,.06);
}
.einv-hvj__stat { display:flex; flex-direction:column; gap:3px; }
.einv-hvj__stat-label {
    font-size:9.5px; font-weight:600;
    letter-spacing:.06em; text-transform:uppercase;
    color:rgba(232,233,235,.28);
    display:flex; align-items:center; gap:4px;
}
.einv-hvj__stat-val { font-size:12.5px; font-weight:600; color:rgba(232,233,235,.72); }
.einv-hvj__stat-val--bull      { color:#2ada49; }
.einv-hvj__stat-val--neutral   { color:#f0a023; }
.einv-hvj__stat-val--bear-soft { color:#ff6348; }

/* ── Disclaimere ── */
.einv-hvj__disclaimers {
    margin-top:16px; padding-top:14px;
    border-top:1px solid rgba(255,255,255,.04);
}
.einv-hvj__disclaimer {
    font-size:10.5px; color:rgba(232,233,235,.26);
    line-height:1.6; margin:0 0 6px;
}
.einv-hvj__disclaimer:last-child { margin-bottom:0; }
.einv-hvj__disclaimer strong { color:rgba(232,233,235,.40); font-weight:600; }

/* ── Footer ── */
.einv-hvj__footer {
    display:flex; align-items:center;
    justify-content:space-between;
    flex-wrap:wrap; gap:8px;
    margin-top:16px; padding-top:14px;
    border-top:1px solid rgba(255,255,255,.06);
}
.einv-hvj__confidence {
    display:flex; align-items:center; gap:6px; font-size:11px;
}
.einv-hvj__confidence svg { flex-shrink:0; }
.einv-hvj__confidence--bull      { color:rgba(42,218,73,.68); }
.einv-hvj__confidence--bull      svg { stroke:#2ada49; }
.einv-hvj__confidence--neutral   { color:rgba(240,160,35,.68); }
.einv-hvj__confidence--neutral   svg { stroke:#f0a023; }
.einv-hvj__confidence--bear-soft { color:rgba(255,99,72,.68); }
.einv-hvj__confidence--bear-soft svg { stroke:#ff6348; }
.einv-hvj__confidence strong { font-weight:700; }
.einv-hvj__last-update { font-size:10.5px; color:rgba(232,233,235,.20); }

/* ── Tooltip ── */
.einv-hvj__tooltip {
    display:inline-flex; align-items:center; justify-content:center;
    width:14px; height:14px; border-radius:50%;
    background:rgba(255,255,255,.08);
    font-size:8px; font-weight:700;
    color:rgba(232,233,235,.36);
    cursor:help; position:relative; flex-shrink:0;
    transition:background .15s;
}
.einv-hvj__tooltip:hover { background:rgba(255,255,255,.14); color:rgba(232,233,235,.68); }
.einv-hvj__tooltip::after {
    content:attr(data-tip);
    position:absolute;
    bottom:calc(100% + 8px); left:50%;
    transform:translateX(-50%);
    background:#161920;
    border:1px solid rgba(255,255,255,.12);
    border-radius:8px; padding:8px 10px;
    font-size:11px; font-weight:400;
    color:rgba(232,233,235,.68);
    line-height:1.5; width:210px;
    text-align:left; white-space:normal;
    letter-spacing:0; text-transform:none;
    opacity:0; pointer-events:none;
    transition:opacity .15s; z-index:100;
    box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.einv-hvj__tooltip:hover::after { opacity:1; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .einv-hvj { padding:16px; }
    .einv-hvj__kpis { grid-template-columns:repeat(2,1fr); }
    .einv-hvj__bar-section { padding:14px; }
    .einv-hvj__bar-pin-tag { font-size:9px; padding:3px 6px; }
    .einv-hvj__bar-pin-tag-val { font-size:12px; }
    .einv-hvj__table { display:block; overflow-x:auto; }
    .einv-hvj__table-th--desc,
    .einv-hvj__table td:last-child { display:none; }
    .einv-hvj__footer { flex-direction:column; align-items:flex-start; }
    .einv-hvj__tooltip::after { left:0; transform:none; width:180px; }
    .einv-hvj__stats { grid-template-columns:1fr 1fr; }
}
@media (max-width: 480px) {
    .einv-hvj__kpis { grid-template-columns:1fr 1fr; }
    .einv-hvj__kpi-value { font-size:17px; }
    .einv-hvj__bar-ends { display:none; }
}