/* Licitații SEAP — temă "Navy Trust" peste Bootstrap 5 */
:root{
  --navy-deep:#0f1b3d; --navy-prime:#1e3a5f; --navy-muted:#3b6fa0; --navy-wash:#e8edf3;
  --bs-primary:#0f1b3d; --bs-primary-rgb:15,27,61;
  --radius:0.875rem;
}
*{ -webkit-tap-highlight-color:transparent }
html,body{ overflow-x:hidden; max-width:100% }
body{
  font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--navy-deep); background:var(--navy-wash);
}
h1,h2,h3,h4,h5,.font-heading,.navbar-brand{ font-family:"Sora","Manrope",system-ui,sans-serif; letter-spacing:-.01em }
a{ color:var(--navy-prime); text-decoration:none } a:hover{ color:var(--navy-deep) }

.text-navy{ color:var(--navy-deep)!important } .text-navy-prime{ color:var(--navy-prime)!important }
.text-navy-muted{ color:var(--navy-muted)!important }
.bg-navy{ background:var(--navy-deep)!important } .bg-navy-prime{ background:var(--navy-prime)!important }
.bg-navy-wash{ background:var(--navy-wash)!important }
.rounded-2xl{ border-radius:1rem!important } .rounded-xl{ border-radius:.85rem!important }

/* ---- header ---- */
.site-header{ position:sticky; top:0; z-index:1040; background:rgba(255,255,255,.85);
  backdrop-filter:blur(10px); border-bottom:1px solid rgba(30,58,95,.1) }
.brand-logo{ display:grid; place-items:center; width:34px; height:34px; border-radius:8px;
  background:var(--navy-deep); color:#fff; font-family:"Sora"; font-weight:800; font-size:13px }
.brand-text{ font-family:"Sora"; font-weight:800; font-size:1.15rem; color:var(--navy-deep) }
.brand-text span{ color:var(--navy-muted) }
.brand-link{ line-height:1 }
.brand-word{ font-family:"Sora"; font-weight:800; font-size:1.3rem; letter-spacing:.04em; color:var(--navy-deep); line-height:1 }
.brand-sub{ font-size:.54rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--navy-muted); margin-top:3px }
.navlink{ color:var(--navy-prime); font-weight:600; font-size:.9rem; padding:.5rem .8rem;
  border-radius:8px; transition:.15s }
.navlink:hover,.navlink.active{ background:var(--navy-wash); color:var(--navy-deep) }

/* ---- buttons ---- */
.btn-navy{ background:var(--navy-deep); color:#fff; font-weight:600; border:0 }
.btn-navy:hover{ background:var(--navy-prime); color:#fff }
.btn-outline-navy{ background:#fff; color:var(--navy-prime); border:1px solid rgba(30,58,95,.15); font-weight:600 }
.btn-outline-navy:hover{ background:var(--navy-wash); color:var(--navy-deep) }

/* ---- hero ---- */
.hero{ position:relative; overflow:hidden; background:var(--navy-deep); color:#fff;
  border-bottom:1px solid rgba(30,58,95,.1) }
.hero::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(60% 60% at 15% 0%,rgba(59,111,160,.4),transparent),
             radial-gradient(50% 60% at 100% 100%,rgba(59,111,160,.3),transparent) }
.hero>.container{ position:relative }
.eyebrow{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--navy-muted) }
.hero-search{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  border-radius:1rem; padding:.5rem; backdrop-filter:blur(6px) }
.hero-search input{ background:transparent; border:0; color:#fff; box-shadow:none!important }
.hero-search input::placeholder{ color:rgba(255,255,255,.45) }
.tag-pill{ border:1px solid rgba(255,255,255,.15); border-radius:999px; padding:.25rem .75rem;
  font-size:.78rem; color:rgba(255,255,255,.75) } .tag-pill:hover{ background:rgba(255,255,255,.1); color:#fff }
.stat-strip{ border:1px solid rgba(255,255,255,.1); border-radius:1rem; overflow:hidden }
.stat-cell{ background:var(--navy-deep); padding:1.25rem 1.1rem }
.stat-cell .v{ font-family:"Sora"; font-weight:800; font-size:1.6rem }
.stat-cell .l{ font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.5) }

/* ---- cards ---- */
.card-soft{ background:#fff; border:1px solid rgba(30,58,95,.1); border-radius:1rem; transition:.18s }
a.card-soft:hover,.card-hover:hover{ border-color:var(--navy-muted); transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(15,27,61,.1) }
.cat-icon{ display:grid; place-items:center; width:46px; height:46px; border-radius:.7rem;
  background:var(--navy-wash); color:var(--navy-prime); transition:.15s; flex:none }
.card-hover:hover .cat-icon,.cat-card:hover .cat-icon{ background:var(--navy-deep); color:#fff }
.cpv-code{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.62rem; font-weight:700; color:var(--navy-muted) }
.type-badge{ background:var(--navy-wash); color:var(--navy-prime); font-size:.62rem; font-weight:800;
  text-transform:uppercase; letter-spacing:.06em; padding:.15rem .5rem; border-radius:.3rem }
/* culori per tip — consistente in tot site-ul */
.type-badge.tb-proc{ background:#dbeafe; color:#1e40af }   /* Anunț de participare — albastru */
.type-badge.tb-da{ background:#ede9fe; color:#6d28d9 }     /* Cumpărare directă — mov */
.type-badge.tb-ad{ background:#cffafe; color:#0e7490 }     /* Publicitate — turcoaz */
.type-badge.tb-award{ background:#dcfce7; color:#15803d }  /* Atribuire — verde */
.mono{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.66rem; color:var(--navy-muted) }

/* ---- tender list rows ---- */
.tender{ background:#fff; border:1px solid rgba(30,58,95,.1); border-radius:1rem; padding:1.1rem 1.15rem; transition:.15s }
.tender:hover{ border-color:var(--navy-muted); box-shadow:0 4px 14px rgba(15,27,61,.06) }
.tender-title{ font-family:"Sora"; font-weight:600; font-size:1rem; color:var(--navy-deep); line-height:1.35;
  overflow-wrap:anywhere }
.tender-val{ font-family:"Sora"; font-weight:800; color:var(--navy-deep); white-space:nowrap }

/* ---- filters sidebar ---- */
.filter-panel{ background:#fff; border:1px solid rgba(30,58,95,.1); border-radius:1rem; padding:1.1rem }
.filter-panel .form-check-input:checked{ background-color:var(--navy-deep); border-color:var(--navy-deep) }
.flabel{ font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--navy-muted) }

/* ---- table ---- */
.table-soft{ background:#fff; border:1px solid rgba(30,58,95,.1); border-radius:1rem; overflow:hidden }
.table-soft thead th{ background:rgba(232,237,243,.6); font-size:.66rem; font-weight:800; text-transform:uppercase;
  letter-spacing:.06em; color:var(--navy-muted); border:0; padding:.9rem 1.1rem }
.table-soft tbody td{ padding:.9rem 1.1rem; border-color:rgba(30,58,95,.06); vertical-align:middle }
.table-soft tbody tr:hover{ background:rgba(232,237,243,.4); cursor:pointer }
/* oportunitati — text mai aerisit */
.op-row td{ padding-top:1.05rem!important; padding-bottom:1.05rem!important }
.op-title{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.3; font-size:.95rem }
.op-meta{ font-size:.78rem; color:var(--navy-muted); margin-top:.25rem; display:flex; align-items:center; gap:.4rem; min-width:0 }
.op-meta .auth{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.op-motive{ display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; font-size:.78rem; color:#94a3b8; font-style:italic; margin-top:.2rem }

/* ---- footer ---- */
.site-footer{ margin-top:4rem; background:var(--navy-deep); color:rgba(255,255,255,.8) }
.site-footer h6{ font-family:"Sora"; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#fff }
.site-footer a{ color:rgba(255,255,255,.6); font-size:.88rem } .site-footer a:hover{ color:#fff }
.footer-logo{ display:grid; place-items:center; width:34px; height:34px; border-radius:8px;
  background:var(--navy-muted); color:#fff; font-family:"Sora"; font-weight:800; font-size:13px }

/* ---- dashboard ---- */
.dash-side{ background:var(--navy-deep); color:#fff; border-radius:1rem }
.dash-side a{ display:flex; align-items:center; gap:.6rem; color:rgba(255,255,255,.6); font-weight:500;
  font-size:.88rem; padding:.6rem .9rem; border-radius:.6rem } .dash-side a:hover{ background:rgba(255,255,255,.06); color:#fff }
.dash-side a.active{ background:rgba(255,255,255,.1); color:#fff }
.stat-card{ background:#fff; border:1px solid rgba(30,58,95,.06); border-radius:1rem; padding:1.3rem }
.stat-card.hl{ background:var(--navy-prime); color:#fff; border-color:rgba(255,255,255,.1) }
.stat-card .v{ font-family:"Sora"; font-weight:800; font-size:1.9rem }

@media (max-width:575.98px){ .hero h1{ font-size:2rem } }

/* cookie consent */
.cookie-bar{ display:none; position:fixed; left:12px; right:12px; bottom:12px; z-index:1080; max-width:1180px; margin:0 auto;
  background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 10px 34px rgba(15,27,61,.2);
  padding:14px 18px; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap; font-size:.85rem; color:var(--navy-prime) }
.cookie-bar .cb-btns{ display:flex; gap:8px; flex-shrink:0 }
@media(max-width:520px){ .cookie-bar{ flex-direction:column; align-items:stretch } .cookie-bar .cb-btns{ justify-content:stretch } .cookie-bar .cb-btns .btn{ flex:1 } }
