/* ============================================================
   DJSPU Dolj — site public
   Stil propriu, fără dependențe externe (funcționează offline)
   ============================================================ */

:root {
    --navy: #10314f;
    --navy-2: #16466f;
    --albastru: #1d6fb8;
    --albastru-deschis: #eaf2fa;
    --gold: #c9a227;
    --verde: #2e7d52;
    --mov: #6d4fa1;
    --text: #24303e;
    --text-mut: #5b6b7c;
    --fundal: #f5f7fa;
    --alb: #ffffff;
    --bordura: #e3e9f0;
    --raza: 12px;
    --umbra: 0 2px 10px rgba(16, 49, 79, .07);
    --umbra-hover: 0 10px 28px rgba(16, 49, 79, .14);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    color: var(--text);
    background: var(--fundal);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

.container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }

a { color: var(--albastru); text-decoration: none; }
a:hover { text-decoration: underline; }

:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }

.skip-link {
    position: absolute; left: -9999px; top: 0;
    background: var(--navy); color: #fff; padding: 10px 18px; z-index: 200;
}
.skip-link:focus { left: 0; }

/* ---------- Bara de sus ---------- */
.topbar { background: var(--navy); color: #cfdcea; font-size: 13px; }
.topbar-inner { display: flex; gap: 26px; align-items: center; height: 38px; }
.topbar-item { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.topbar-item svg { width: 14px; height: 14px; flex-shrink: 0; color: var(--gold); }
.topbar-adresa { margin-left: auto; }

/* ---------- Antet ---------- */
.header {
    background: var(--alb);
    position: sticky; top: 0; z-index: 100;
    border-bottom: 1px solid var(--bordura);
    transition: box-shadow .25s;
}
.header.cu-umbra { box-shadow: 0 4px 18px rgba(16, 49, 79, .12); }
.header-inner { display: flex; align-items: center; gap: 28px; height: 76px; max-width: 1320px; position: relative; }

.brand { display: flex; align-items: center; gap: 12px; color: var(--navy); }
.brand:hover { text-decoration: none; }

/* ---------- Navigație ---------- */
.nav { margin-left: auto; align-self: stretch; display: flex; }
.nav-list { display: flex; list-style: none; gap: 2px; align-items: stretch; height: 100%; }
.nav-list > li { display: flex; align-items: center; }
.nav-link {
    display: flex; align-items: center; gap: 5px;
    padding: 9px 11px; border-radius: 8px;
    font-size: 14px; font-weight: 600; color: var(--navy);
    background: none; border: none; cursor: pointer; font-family: inherit;
    transition: background .15s, color .15s;
}
.nav-link:hover { background: var(--albastru-deschis); color: var(--albastru); text-decoration: none; }
.nav-activ { color: var(--albastru); }
.caret { width: 13px; height: 13px; transition: transform .2s; }

.are-submeniu { position: relative; }
.submeniu {
    position: absolute; top: calc(100% + 8px); left: 0; min-width: 290px;
    background: var(--alb); border: 1px solid var(--bordura); border-radius: var(--raza);
    box-shadow: var(--umbra-hover); list-style: none; padding: 8px;
    opacity: 0; visibility: hidden; transform: translateY(6px);
    transition: opacity .18s, transform .18s, visibility .18s;
}
.are-submeniu.deschis .submeniu { opacity: 1; visibility: visible; transform: translateY(0); }
.are-submeniu.deschis .caret { transform: rotate(180deg); }
.submeniu a {
    display: block; padding: 9px 13px; border-radius: 8px;
    font-size: 14px; color: var(--text); font-weight: 500;
}
.submeniu a:hover { background: var(--albastru-deschis); color: var(--albastru); text-decoration: none; }

/* ---------- Mega-meniu ---------- */
.are-submeniu.mega { position: static; }
.mega-panel {
    position: absolute; top: 100%; left: 0; right: 0;
    background: var(--alb);
    border: 1px solid var(--bordura); border-top: none;
    border-radius: 0 0 var(--raza) var(--raza);
    box-shadow: var(--umbra-hover);
    /* panoul e MEREU 100% opac — nu animăm opacitatea, altfel fundalul navy
       al hero-ului se vede prin el pe durata tranziției (varianta B, 23.07) */
    visibility: hidden; transform: translateY(-8px);
    transition: transform .15s ease;   /* doar alunecarea; visibility comută instant */
    z-index: 90;
}
/* deschidere DOAR la click (model mfinante.gov.ro) — fără :hover;
   apare gata format, alunecând de sub antetul alb; închiderea e instant */
.are-submeniu.mega.deschis .mega-panel { visibility: visible; transform: translateY(0); }

.mega-grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 36px; padding: 26px 34px 30px;
}
.mega-grup h4 {
    font-size: 12.5px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .8px;
    color: var(--navy);
    padding-bottom: 8px; margin-bottom: 10px;
    border-bottom: 2px solid var(--gold);
}
.mega-grup ul { list-style: none; display: flex; flex-direction: column; gap: 2px; }
.mega-grup a {
    display: block; padding: 8px 10px; border-radius: 8px;
    font-size: 14px; font-weight: 500; color: var(--text);
}
.mega-grup a:hover { background: var(--albastru-deschis); color: var(--albastru); text-decoration: none; }

/* Hamburger */
.nav-toggle {
    display: none; margin-left: auto;
    width: 44px; height: 44px; border: none; background: none; cursor: pointer;
    flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.nav-toggle span {
    display: block; width: 24px; height: 2.5px; border-radius: 2px;
    background: var(--navy); transition: transform .25s, opacity .25s;
}
.nav-toggle.activ span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.nav-toggle.activ span:nth-child(2) { opacity: 0; }
.nav-toggle.activ span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

/* ---------- Stemele ÎN bara de meniu (stema RO · denumire · stema Dolj) ---------- */
/* Blocul e ținut scurt intenționat: meniul din dreapta are nevoie de ~766px, iar
   la 1081px (ultima lățime înainte de hamburger) rămân doar ~285px pentru el. */
.brand-steme { display: flex; align-items: center; gap: 9px; }
.brand-steme:hover { text-decoration: none; }
/* Lățimea vine din `aspect-ratio` (pus în șablon), nu din proporția fișierului:
   scuturile au forme diferite, iar la aceeași înălțime cel al Doljului ieșea
   simțitor mai lat. Le apropiem puțin, fiecare cedând câte ceva. */
.stema-antet { height: 46px; width: auto; flex-shrink: 0; object-fit: fill; }
.brand-oficial { display: block; max-width: 218px; min-width: 0; text-align: center; }
.brand-supra {
    display: block; font-size: 9.5px; letter-spacing: .5px; line-height: 1.35;
    text-transform: uppercase; color: var(--text-mut);
}
.brand-oficial strong {
    display: block; font-size: 11.5px; line-height: 1.3;
    color: var(--navy); letter-spacing: .1px;
}

@media (max-width: 1200px) {
    .stema-antet { height: 40px; }
    .brand-oficial { max-width: 178px; }
    .brand-oficial strong { font-size: 10.5px; }
}
@media (max-width: 1080px) {   /* meniul a trecut pe hamburger — avem loc din nou */
    .stema-antet { height: 46px; }
    .brand-oficial { max-width: 300px; }
    .brand-oficial strong { font-size: 12.5px; }
    .brand-supra { font-size: 10.5px; }
}
@media (max-width: 560px) {
    .brand-steme { gap: 7px; }
    .stema-antet { height: 36px; }
    .brand-oficial { max-width: 190px; }
    .brand-oficial strong { font-size: 10.5px; }
    .brand-supra { font-size: 9px; }
}
@media (max-width: 400px) {
    .stema-antet { height: 32px; }
    .brand-oficial { max-width: 158px; }
    .brand-oficial strong { font-size: 10px; line-height: 1.25; }
}
/* „Județeană" e lung: fără asta ar putea împinge blocul în afara ecranului */
.brand-oficial strong { overflow-wrap: anywhere; }

/* Titlu citit de cititoarele de ecran, dar nearătat pe ecran */
.doar-citit {
    position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

/* ---------- Hero ---------- */
.hero {
    background:
        radial-gradient(circle at 15% 20%, rgba(29, 111, 184, .35), transparent 45%),
        radial-gradient(circle at 85% 80%, rgba(201, 162, 39, .18), transparent 40%),
        linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 60%, #1a5183 100%);
    color: #fff; text-align: center;
    padding: 84px 0 92px;
}
.hero h1 { font-size: clamp(26px, 4vw, 40px); line-height: 1.25; letter-spacing: .3px; }

/* Varianta cu fotografie: peste poză stă o pânză navy, ca bara de căutare să
   rămână lizibilă indiferent cât de aglomerată e imaginea dedesubt. Pânza e
   destul de subțire cât să se recunoască orașul, și destul de groasă cât să nu
   concureze cu bara albă de căutare. */
/* Înălțimea urmează proporția pozei (1190x450), ca să se vadă TOATĂ imaginea,
   nu o fâșie decupată din ea — asta se vedea și pe site-ul vechi. */
/* `max-width` NU e de prisos: proporția e dată în șablon, iar când `min-height`
   ridică înălțimea (ecrane înguste), browserul recalculează LĂȚIMEA din proporție
   și banda iese din pagină — apărea bară de derulare orizontală pe tot site-ul. */
.hero-foto {
    background-size: cover; background-position: center;
    max-height: 440px; min-height: 210px; max-width: 100%;
    padding: 0; display: flex; align-items: center;
}
.hero-foto .hero-inner { width: 100%; }
.hero-foto .hero-cautare { margin-top: 0; }
.hero-subtitlu { margin-top: 14px; font-size: 17px; color: #c8d8e8; }

.hero-cautare {
    position: relative;
    margin: 36px auto 0; max-width: 640px;
    display: flex; align-items: center; gap: 10px;
    background: var(--alb); border-radius: 50px; padding: 7px 7px 7px 20px;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .25);
}
.cautare-icon { width: 20px; height: 20px; color: var(--text-mut); flex-shrink: 0; }
.hero-cautare input {
    flex: 1; border: none; outline: none; font-size: 15.5px;
    font-family: inherit; color: var(--text); background: none; min-width: 0;
}
.btn-cautare {
    border: none; cursor: pointer; font-family: inherit;
    background: var(--albastru); color: #fff; font-weight: 600; font-size: 15px;
    padding: 12px 28px; border-radius: 50px; transition: background .15s;
}
.btn-cautare:hover { background: var(--navy-2); }

/* Rezultatele căutării — panou sub bară, deasupra restului paginii */
.cautare-rezultate {
    position: absolute; top: calc(100% + 10px); left: 0; right: 0; z-index: 60;
    background: var(--alb); border-radius: var(--raza);
    box-shadow: 0 18px 46px rgba(0, 0, 0, .3);
    max-height: 64vh; overflow-y: auto;
    padding: 6px; text-align: left;
}
.cautare-grup {
    padding: 9px 10px 3px; font-size: 11px; font-weight: 700;
    letter-spacing: .9px; text-transform: uppercase; color: var(--text-mut);
}
.cautare-rezultat {
    display: flex; align-items: center; gap: 12px;
    padding: 8px 10px; border-radius: 8px; color: var(--text);
}
.cautare-rezultat:hover,
.cautare-rezultat.activ { background: var(--albastru-deschis); text-decoration: none; }
.cautare-tip {
    flex-shrink: 0; width: 46px; padding: 3px 0; text-align: center;
    font-size: 9.5px; font-weight: 700; letter-spacing: .4px;
    color: #fff; background: var(--text-mut); border-radius: 4px;
}
.cautare-tip-pagina { background: var(--albastru); }
.cautare-tip-pdf { background: #c0392b; }
.cautare-tip-doc, .cautare-tip-docx { background: #2b5797; }
/* NU flex: ar înghiți spațiile dintre text și elementele din interior */
.cautare-text { display: block; min-width: 0; }
.cautare-titlu { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.35; }
.cautare-sectiune { display: block; font-size: 12px; color: var(--text-mut); line-height: 1.4; }
.cautare-gol { padding: 16px 12px; font-size: 14.5px; color: var(--text-mut); }
.cautare-mai-multe { padding: 4px 12px 10px; font-size: 12px; color: var(--text-mut); }

/* ---------- Pagina de eroare 404 ---------- */
.hero-eroare { padding: 56px 0 64px; }
.hero-eroare h1 { font-size: clamp(22px, 3vw, 31px); }
.cod-eroare {
    font-size: 58px; font-weight: 800; line-height: 1;
    letter-spacing: 2px; color: var(--gold); margin-bottom: 10px;
}
.hero-eroare .hero-subtitlu { max-width: 620px; margin-left: auto; margin-right: auto; font-size: 16px; }

.sugestii { margin-bottom: 34px; }
.sugestii-lista {
    display: grid; gap: 8px;
    background: var(--alb); border: 1px solid var(--bordura);
    border-radius: var(--raza); padding: 8px; box-shadow: var(--umbra);
}
/* rezultatele apar aici ca listă în pagină, nu ca panou plutitor */
.sugestii-lista .cautare-rezultat { padding: 10px 12px; }
.sugestii-lista .cautare-titlu { font-size: 15px; }

.adresa-ceruta {
    font-family: Consolas, "Courier New", monospace; font-size: 13.5px;
    background: var(--albastru-deschis); color: var(--navy);
    padding: 2px 7px; border-radius: 5px; word-break: break-all;
}
.grid-carduri-404 { margin-top: 26px; }

/* ---------- Secțiuni ---------- */
.sectiune { padding: 56px 0; }
.sectiune-gri { background: var(--alb); border-top: 1px solid var(--bordura); border-bottom: 1px solid var(--bordura); }

.sectiune-antet {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: 16px; margin-bottom: 30px; flex-wrap: wrap;
}
.sectiune-antet h2 {
    font-size: 26px; color: var(--navy); position: relative; padding-bottom: 10px;
}
.sectiune-antet h2::after {
    content: ""; position: absolute; left: 0; bottom: 0;
    width: 52px; height: 4px; border-radius: 2px; background: var(--gold);
}
.link-toate {
    display: flex; align-items: center; gap: 7px;
    font-weight: 600; font-size: 14.5px;
}
.link-toate svg { width: 16px; height: 16px; transition: transform .2s; }
.link-toate:hover svg { transform: translateX(4px); }

/* ---------- Carduri rapide ---------- */
.carduri-rapide { margin-top: -46px; padding: 0 0 40px; }
.grid-carduri {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.card-rapid {
    background: var(--alb); border: 1px solid var(--bordura); border-radius: var(--raza);
    padding: 26px 22px; color: var(--text);
    box-shadow: var(--umbra);
    transition: transform .18s, box-shadow .18s;
}
.card-rapid:hover { transform: translateY(-5px); box-shadow: var(--umbra-hover); text-decoration: none; }
.card-rapid h3 { font-size: 16.5px; color: var(--navy); margin: 14px 0 6px; }
.card-rapid p { font-size: 13.5px; color: var(--text-mut); line-height: 1.5; }

.card-icon {
    width: 52px; height: 52px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
}
.card-icon svg { width: 26px; height: 26px; }
.icon-albastru { background: #e7f1fb; color: var(--albastru); }
.icon-verde   { background: #e8f4ee; color: var(--verde); }
.icon-gold    { background: #faf3df; color: #a8841a; }
.icon-mov     { background: #f0ebf9; color: var(--mov); }

/* ---------- Noutăți ---------- */
.grid-noutati { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card-noutate {
    background: var(--fundal); border: 1px solid var(--bordura); border-radius: var(--raza);
    padding: 24px; display: flex; flex-direction: column; gap: 10px;
    border-top: 4px solid var(--albastru);
    transition: transform .18s, box-shadow .18s;
}
.card-noutate:hover { transform: translateY(-4px); box-shadow: var(--umbra-hover); }
.noutate-data {
    align-self: flex-start;
    background: var(--albastru-deschis); color: var(--albastru);
    font-size: 12px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase;
    padding: 4px 12px; border-radius: 20px;
}
.card-noutate h3 { font-size: 16.5px; line-height: 1.4; }
.card-noutate h3 a { color: var(--navy); }
.card-noutate h3 a:hover { color: var(--albastru); }
.card-noutate p { font-size: 14px; color: var(--text-mut); flex: 1; }
.link-citeste { font-size: 13.5px; font-weight: 600; }

/* ---------- Pagini de conținut (șablon universal) ---------- */
.pagina-antet {
    background: var(--alb);
    border-bottom: 1px solid var(--bordura);
    padding: 22px 0 24px;
}
.breadcrumb { display: flex; gap: 8px; font-size: 13px; color: var(--text-mut); flex-wrap: wrap; }
.breadcrumb a { color: var(--text-mut); }
.breadcrumb a:hover { color: var(--albastru); }
.breadcrumb-curent { color: var(--navy); font-weight: 600; }
.pagina-titlu {
    margin-top: 10px; font-size: 30px; color: var(--navy);
    position: relative; padding-bottom: 12px;
}
.pagina-titlu::after {
    content: ""; position: absolute; left: 0; bottom: 0;
    width: 58px; height: 4px; border-radius: 2px; background: var(--gold);
}

.continut-pagina { max-width: 980px; }
.prose { font-size: 15.5px; line-height: 1.75; color: var(--text); }
.prose p { margin-bottom: 16px; }
.prose a { font-weight: 600; }

.titlu-sectiune {
    font-size: 22px; color: var(--navy);
    margin: 38px 0 20px; position: relative; padding-bottom: 10px;
}
.titlu-sectiune::after {
    content: ""; position: absolute; left: 0; bottom: 0;
    width: 44px; height: 3px; border-radius: 2px; background: var(--gold);
}

.grid-domenii { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.card-domeniu {
    display: block; color: var(--text);
    background: var(--alb); border: 1px solid var(--bordura); border-radius: var(--raza);
    padding: 22px; box-shadow: var(--umbra);
    transition: transform .18s, box-shadow .18s;
}
.card-domeniu:hover { transform: translateY(-4px); box-shadow: var(--umbra-hover); text-decoration: none; }
.card-domeniu h3 { font-size: 16px; color: var(--navy); margin: 12px 0 6px; }
.card-domeniu p { font-size: 14px; color: var(--text-mut); line-height: 1.6; }
.card-link { display: inline-block; margin-top: 10px; font-size: 13.5px; font-weight: 600; color: var(--albastru); }
.icon-natura { background: #e6f2ea; color: #1e6b40; }

/* Banda certificări ISO */
.banda-iso {
    display: flex; align-items: center; gap: 26px; flex-wrap: wrap;
    background: #fbf7ea; border: 1px solid #e6d9a8; border-radius: var(--raza);
    padding: 16px 22px; margin: 4px 0 8px;
}
.banda-iso p { flex: 1; min-width: 260px; font-size: 14.5px; color: #6a5a20; margin: 0; }
.iso-badge { display: flex; align-items: center; gap: 10px; }
.iso-badge svg { width: 34px; height: 34px; color: var(--gold); flex-shrink: 0; }
.iso-badge strong { display: block; font-size: 15px; color: var(--navy); line-height: 1.3; }
.iso-badge span { font-size: 12.5px; color: var(--text-mut); }

/* Tabele simple (pagini de detaliu) */
.tabel-scroll { overflow-x: auto; margin-bottom: 18px; }
.tabel-simplu { width: 100%; border-collapse: collapse; font-size: 14px; background: var(--alb); }
.tabel-simplu th { background: var(--navy); color: #fff; text-align: left; padding: 9px 13px; font-size: 13px; white-space: nowrap; }
.tabel-simplu td { border: 1px solid var(--bordura); padding: 8px 13px; }
.tabel-simplu tr:nth-child(even) td { background: var(--fundal); }

.chip { display: inline-block; padding: 2px 11px; border-radius: 12px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.chip-armat { background: #f6e7c8; color: #7a5c10; }
.chip-simpla { background: #e7f1fb; color: var(--albastru); }

.inapoi-link { display: inline-block; margin-top: 26px; font-weight: 600; font-size: 14.5px; }

/* Tip de fișier pe iconiță (specificitate dublă ca să bată regula generală .doc-icon) */
.doc-icon.doc-icon-docx, .doc-icon.doc-icon-doc { background: #2b579a; }
.doc-icon.doc-icon-xls, .doc-icon.doc-icon-xlsx { background: #1d6f42; }

/* Documente grupate pe ani (pagini financiare) */
.an-grup { margin-bottom: 22px; }
.an-titlu-deschis {
    display: block; font-size: 21px; color: var(--navy);
    margin-bottom: 14px; padding-bottom: 8px; border-bottom: 2px solid var(--gold);
}
details.an-pliabil {
    border: 1px solid var(--bordura); border-radius: var(--raza);
    background: var(--alb); margin-bottom: 12px; overflow: hidden;
}
details.an-pliabil > summary {
    cursor: pointer; padding: 14px 18px; list-style: none;
    display: flex; align-items: center; gap: 12px;
}
details.an-pliabil > summary::-webkit-details-marker { display: none; }
details.an-pliabil > summary::before {
    content: "▸"; color: var(--albastru); font-size: 15px; transition: transform .15s;
}
details.an-pliabil[open] > summary::before { transform: rotate(90deg); }
details.an-pliabil > summary .an-titlu { font-size: 17px; font-weight: 700; color: var(--navy); }
details.an-pliabil > summary:hover .an-titlu { color: var(--albastru); }
.an-numar { margin-left: auto; font-size: 13px; color: var(--text-mut); font-weight: 500; }
details.an-pliabil[open] > summary { border-bottom: 1px solid var(--bordura); }
details.an-pliabil .doc-lista { padding: 14px 16px; gap: 10px; }

/* Grupul unei achiziții: denumirea oficială în cap, documentele la click.
   Refolosește blocul pliabil de la ani, dar denumirile oficiale sunt lungi și
   trebuie să curgă pe mai multe rânduri, nu să stea pe unul singur. */
.grup-achizitie > summary { align-items: flex-start; }
.grup-achizitie > summary::before { margin-top: 2px; }
/* bloc, NU flex: altfel spațiile dintre titlu și detaliu ar fi înghițite */
.grup-achizitie .grup-text { display: block; min-width: 0; }
.grup-achizitie > summary .an-titlu { display: block; font-size: 15.5px; line-height: 1.4; }
.grup-detaliu {
    display: block; margin-top: 3px;
    font-size: 12.5px; font-weight: 400; color: var(--text-mut);
}

/* Petiții și solicitări (ghișeul online) */
.pagina-subtitlu { margin-top: 10px; font-size: 15px; color: var(--text-mut); }

.situatii { display: flex; flex-direction: column; gap: 18px; margin-bottom: 8px; }
.situatie {
    background: var(--alb); border: 1px solid var(--bordura); border-radius: var(--raza);
    border-top: 4px solid var(--albastru);
    padding: 24px; box-shadow: var(--umbra);
}
.situatie-titlu { font-size: 19px; color: var(--navy); margin-bottom: 8px; }
.situatie-descriere { font-size: 14.5px; color: var(--text-mut); line-height: 1.65; }

.situatie-meta { display: flex; flex-wrap: wrap; gap: 12px 34px; margin: 16px 0 4px; }
.situatie-meta dt {
    font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px;
    color: var(--text-mut); margin-bottom: 3px;
}
.situatie-meta dd { font-size: 14px; color: var(--text); }

.situatie-atentie {
    display: flex; gap: 10px; align-items: flex-start;
    background: #fbf1dd; border-radius: 8px; padding: 11px 14px; margin-top: 14px;
    font-size: 13.5px; color: #7a5c10; line-height: 1.55;
}
.situatie-atentie svg { width: 17px; height: 17px; flex-shrink: 0; margin-top: 2px; }

.btn-email {
    display: inline-flex; align-items: center; gap: 9px;
    background: var(--albastru); color: #fff; font-weight: 600; font-size: 14.5px;
    padding: 12px 24px; border-radius: 50px;
    transition: background .15s, transform .15s;
}
.btn-email:hover { background: var(--navy-2); transform: translateY(-2px); text-decoration: none; }
.btn-email svg { width: 17px; height: 17px; }
.btn-secundar { font-size: 13.5px; font-weight: 600; }
.situatie-documente { margin-top: 18px; }
/* ---------- Formularul de cerere ---------- */
.formular-cerere {
    background: var(--alb); border: 1px solid var(--bordura); border-radius: var(--raza);
    border-top: 4px solid var(--albastru);
    padding: 24px 26px 22px; box-shadow: var(--umbra); margin: 18px 0 6px;
}
.capcana { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.camp-pereche { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.camp { margin-bottom: 16px; }
.camp label {
    display: block; margin-bottom: 6px;
    font-size: 14px; font-weight: 600; color: var(--navy);
}
.camp input, .camp textarea {
    width: 100%; font-family: inherit; font-size: 15px; color: var(--text);
    padding: 10px 13px; border: 1px solid #c9d6e4; border-radius: 8px;
    background: var(--alb); transition: border-color .15s, box-shadow .15s;
}
.camp textarea { resize: vertical; min-height: 130px; line-height: 1.6; }
.camp input:focus, .camp textarea:focus {
    outline: none; border-color: var(--albastru);
    box-shadow: 0 0 0 3px rgba(29, 111, 184, .14);
}
.camp input[type="file"] { padding: 9px 11px; font-size: 14px; background: var(--fundal); }
.camp small { display: block; margin-top: 5px; font-size: 12.5px; color: var(--text-mut); }
.oblig { color: #c0392b; }
.optional { font-weight: 400; color: var(--text-mut); font-size: 13px; }

.camp-bifa { margin: 4px 0 20px; }
.camp-bifa label {
    display: flex; gap: 10px; align-items: flex-start;
    font-size: 13.5px; line-height: 1.6; color: var(--text); cursor: pointer;
}
.camp-bifa input { margin-top: 3px; width: 17px; height: 17px; flex-shrink: 0; accent-color: var(--albastru); }

.formular-actiuni { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.btn-trimite {
    display: inline-flex; align-items: center; gap: 9px;
    border: none; cursor: pointer; font-family: inherit;
    background: var(--albastru); color: #fff; font-weight: 600; font-size: 15px;
    padding: 13px 30px; border-radius: 50px;
    transition: background .15s, transform .15s;
}
.btn-trimite:hover { background: var(--navy-2); transform: translateY(-2px); }
.btn-trimite svg { width: 17px; height: 17px; }
.btn-trimite.se-trimite, .btn-trimite:disabled {
    background: var(--text-mut); cursor: default; transform: none;
}
.formular-nota { font-size: 12.5px; color: var(--text-mut); }

/* Confirmarea după trimitere */
.confirmare {
    display: flex; gap: 18px; align-items: flex-start;
    background: #e8f5ee; border: 1px solid #b6dcc4; border-left: 4px solid var(--verde);
    border-radius: var(--raza); padding: 22px 26px; margin-bottom: 8px;
}
.confirmare-semn {
    flex-shrink: 0; width: 42px; height: 42px; border-radius: 50%;
    background: var(--verde); color: #fff;
    display: flex; align-items: center; justify-content: center;
}
.confirmare-semn svg { width: 22px; height: 22px; }
.confirmare h2 { font-size: 18px; color: #14563a; margin-bottom: 8px; line-height: 1.4; }
.confirmare p { font-size: 14.5px; line-height: 1.65; color: #24303e; }

@media (max-width: 700px) {
    .camp-pereche { grid-template-columns: 1fr; }
    .formular-cerere { padding: 20px 18px 18px; }
}

/* Blocul de trimitere pe e-mail (identic pe toate paginile de cereri) */
.bloc-trimitere { margin: 18px 0 4px; }

/* Ajutorul — apare DOAR dacă butonul nu a deschis niciun program de e-mail.
   Conține și linkurile de webmail, care altfel nu se văd. */
.ajutor-email {
    display: flex; gap: 10px; align-items: flex-start;
    background: #fbf1dd; border: 1px solid #e6d9a8; border-radius: 8px;
    padding: 12px 16px; margin-top: 14px;
    font-size: 13.5px; line-height: 1.6; color: #7a5c10;
}
.ajutor-email[hidden] { display: none; }
.ajutor-email > svg { width: 17px; height: 17px; flex-shrink: 0; margin-top: 2px; }
.ajutor-email strong { color: #6a5010; }
.ajutor-email a { font-weight: 700; }
.ajutor-actiuni {
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 10px;
}
.ajutor-alternativa { font-size: 13px; }
.webmail-nota { margin-left: 4px; font-size: 12px; font-weight: 400; color: #8a7326; }

.btn-copiaza {
    display: inline-flex; align-items: center; gap: 8px;
    border: 1px solid #d9c489; background: var(--alb); color: #6a5010;
    font-family: inherit; font-size: 13.5px; font-weight: 600;
    padding: 8px 16px; border-radius: 50px; cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
}
.btn-copiaza:hover { background: #fff8e8; border-color: #c9a227; }
.btn-copiaza svg { width: 15px; height: 15px; flex-shrink: 0; }
.btn-copiaza.copiat { background: #e3f3e9; border-color: #b6dcc4; color: #1d6b41; }

/* Mențiunea GDPR de pe paginile de cereri */
.nota-gdpr { margin-top: 22px; }

/* Meta mai vizibilă, când situația e singură pe pagină */
.situatie-meta-mare { margin: 18px 0 6px; }
.situatie-meta-mare dd { font-size: 15px; }

/* Notă vizibilă ÎNAINTE de butoane (nu după eșec) */
.nota-email {
    display: flex; gap: 11px; align-items: flex-start;
    background: var(--albastru-deschis); border: 1px solid #cfe0f1;
    border-radius: 10px; padding: 14px 18px; margin-bottom: 22px;
    font-size: 14px; line-height: 1.6; color: var(--text);
}
.nota-email > svg { width: 19px; height: 19px; flex-shrink: 0; margin-top: 2px; color: var(--albastru); }

/* Textul cererii, pentru copiere manuală */
details.text-cerere { margin-top: 14px; }
details.text-cerere > summary {
    cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 7px;
    font-size: 13.5px; font-weight: 600; color: var(--albastru);
}
details.text-cerere > summary::-webkit-details-marker { display: none; }
details.text-cerere > summary::before { content: "▸"; transition: transform .15s; }
details.text-cerere[open] > summary::before { transform: rotate(90deg); }
.text-cerere-info { margin: 12px 0 8px; font-size: 13.5px; color: var(--text-mut); }
details.text-cerere pre {
    background: var(--fundal); border: 1px solid var(--bordura); border-radius: 8px;
    padding: 16px 18px; font-size: 13.5px; line-height: 1.65;
    font-family: inherit; white-space: pre-wrap; color: var(--text);
    max-height: 340px; overflow-y: auto;
}

/* Ghișeul rapid de pe pagina Contact */
.ghiseu-rapid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 16px; }
.ghiseu-buton {
    display: flex; align-items: flex-start; gap: 12px; color: var(--text);
    background: var(--alb); border: 1px solid var(--bordura); border-left: 4px solid var(--albastru);
    border-radius: var(--raza); padding: 16px 18px; box-shadow: var(--umbra);
    transition: transform .16s, box-shadow .16s;
}
.ghiseu-buton:hover { transform: translateY(-3px); box-shadow: var(--umbra-hover); text-decoration: none; }
.ghiseu-buton > span { flex: 1; min-width: 0; }
.ghiseu-buton strong { display: block; font-size: 14.5px; color: var(--navy); line-height: 1.4; }
.ghiseu-buton:hover strong { color: var(--albastru); }
.ghiseu-buton small { display: block; margin-top: 5px; font-size: 12.5px; color: var(--text-mut); }
.ghiseu-sageata {
    width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; color: var(--albastru);
    transition: transform .16s;
}
.ghiseu-buton:hover .ghiseu-sageata { transform: translateX(4px); }

/* Subtitlu sub un titlu de secțiune */
.sectiune-subtitlu { margin: -10px 0 16px; font-size: 14.5px; color: var(--text-mut); }

@media (max-width: 900px) {
    .ghiseu-rapid { grid-template-columns: 1fr; }
}

/* Contact */
.grid-contact { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 8px; }
.card-contact {
    background: var(--alb); border: 1px solid var(--bordura); border-radius: var(--raza);
    padding: 22px; box-shadow: var(--umbra);
}
.card-contact h3 { font-size: 16px; color: var(--navy); margin: 12px 0 6px; }
.card-contact p { font-size: 14.5px; color: var(--text-mut); line-height: 1.6; }

.harta-zona, .harta-zona iframe {
    width: 100%; height: 380px; border: 0;
    border-radius: var(--raza); overflow: hidden;
}
.harta-placeholder {
    height: 100%; background: var(--alb);
    border: 1px solid var(--bordura); border-radius: var(--raza);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 10px; text-align: center; padding: 24px;
}
.harta-placeholder > svg { width: 42px; height: 42px; color: var(--albastru); }
.harta-placeholder p { font-size: 14.5px; color: var(--text); line-height: 1.6; }
.harta-placeholder small { font-size: 12.5px; color: var(--text-mut); max-width: 420px; }
.btn-harta {
    border: none; cursor: pointer; font-family: inherit;
    background: var(--albastru); color: #fff; font-weight: 600; font-size: 14.5px;
    padding: 11px 26px; border-radius: 50px; transition: background .15s;
}
.btn-harta:hover { background: var(--navy-2); }

/* Galerie foto */
.grid-galerie { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.poza {
    display: block; padding: 0; border: 1px solid var(--bordura); border-radius: var(--raza);
    background: var(--alb); overflow: hidden; cursor: pointer; text-align: left;
    box-shadow: var(--umbra); transition: transform .18s, box-shadow .18s;
    font-family: inherit;
}
.poza:hover { transform: translateY(-4px); box-shadow: var(--umbra-hover); }
.poza img { display: block; width: 100%; height: 190px; object-fit: cover; }
.poza-descriere { display: block; padding: 11px 14px; font-size: 13.5px; color: var(--text-mut); line-height: 1.45; }

.lightbox {
    position: fixed; inset: 0; z-index: 300;
    background: rgba(10, 22, 35, .93);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 28px; gap: 14px;
}
.lightbox[hidden] { display: none; }
.lightbox img { max-width: 94vw; max-height: 82vh; border-radius: 8px; }
.lightbox-descriere { color: #dbe6f0; font-size: 14.5px; text-align: center; }
.lightbox-inchide {
    position: absolute; top: 18px; right: 22px;
    width: 44px; height: 44px; border-radius: 50%; border: none; cursor: pointer;
    background: rgba(255, 255, 255, .14); color: #fff; font-size: 20px; line-height: 1;
}
.lightbox-inchide:hover { background: rgba(255, 255, 255, .26); }

@media (max-width: 1080px) {
    .grid-contact { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .grid-galerie { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
    .grid-contact { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .grid-galerie { grid-template-columns: 1fr; }
}

/* Comunicări (listă de anunțuri) */
.lista-comunicari { display: flex; flex-direction: column; gap: 14px; }
.comunicare-item {
    display: block; color: var(--text);
    background: var(--alb); border: 1px solid var(--bordura); border-left: 4px solid var(--albastru);
    border-radius: var(--raza); padding: 20px 22px; box-shadow: var(--umbra);
    transition: transform .16s, box-shadow .16s;
}
.comunicare-item:hover { transform: translateY(-3px); box-shadow: var(--umbra-hover); text-decoration: none; }
.comunicare-data {
    display: inline-block; background: var(--albastru-deschis); color: var(--albastru);
    font-size: 12px; font-weight: 700; letter-spacing: .4px;
    padding: 4px 12px; border-radius: 20px;
}
.pagina-antet .comunicare-data { margin-top: 12px; }
.comunicare-titlu { font-size: 17px; color: var(--navy); line-height: 1.4; margin: 10px 0 6px; }
.comunicare-item:hover .comunicare-titlu { color: var(--albastru); }
.comunicare-rezumat { font-size: 14.5px; color: var(--text-mut); line-height: 1.6; }
.comunicare-link { display: inline-block; margin-top: 10px; font-size: 13.5px; font-weight: 600; color: var(--albastru); }

/* Concursuri / anunțuri de angajare */
details.concurs {
    border: 1px solid var(--bordura); border-radius: var(--raza);
    background: var(--alb); margin-bottom: 12px; overflow: hidden;
    box-shadow: var(--umbra);
}
details.concurs.concurs-activ { border-color: #b6dcc4; border-left: 4px solid var(--verde); }
details.concurs > summary {
    cursor: pointer; padding: 16px 20px; list-style: none;
    display: flex; align-items: center; gap: 14px;
}
details.concurs > summary::-webkit-details-marker { display: none; }
details.concurs > summary::before {
    content: "▸"; color: var(--albastru); font-size: 15px; flex-shrink: 0; transition: transform .15s;
}
details.concurs[open] > summary::before { transform: rotate(90deg); }
details.concurs[open] > summary { border-bottom: 1px solid var(--bordura); }
.concurs-info { flex: 1; min-width: 0; }
.concurs-titlu { display: block; font-size: 15.5px; color: var(--navy); line-height: 1.4; }
details.concurs > summary:hover .concurs-titlu { color: var(--albastru); }
.concurs-perioada { display: block; margin-top: 3px; font-size: 13px; color: var(--text-mut); }
.concurs-stare {
    flex-shrink: 0; font-size: 12px; font-weight: 700; letter-spacing: .3px;
    padding: 5px 13px; border-radius: 20px; white-space: nowrap;
}
.stare-in_desfasurare { background: #e3f3e9; color: #1d6b41; }
.stare-incheiat { background: var(--fundal); color: var(--text-mut); }
.stare-anulat { background: #fbe4e4; color: #a32626; }
.stare-incetat { background: #fbf1dd; color: #8a6414; }
.stare-suspendat { background: #fbf1dd; color: #8a6414; }

/* Caseta de sus a concursului, când starea lui cere o explicație
   (suspendat / anulat / încetat). Bara colorată din stânga o desparte de
   restul paginii fără să țipe. */
.caseta-stare {
    display: flex; gap: 14px; align-items: flex-start;
    background: var(--alb); border: 1px solid var(--bordura);
    border-left: 4px solid var(--gold); border-radius: 0;
    padding: 16px 20px; margin-bottom: 24px; box-shadow: var(--umbra);
}
.caseta-stare svg { width: 22px; height: 22px; flex-shrink: 0; color: var(--gold); margin-top: 2px; }
.caseta-stare strong {
    display: block; margin-bottom: 4px; color: var(--navy);
    font-size: 13px; text-transform: uppercase; letter-spacing: .7px;
}
.caseta-stare p { font-size: 14.5px; line-height: 1.65; color: var(--text); }
.caseta-anulat { border-left-color: #c0392b; }
.caseta-anulat svg { color: #c0392b; }

/* Lista de concursuri (carduri către pagina fiecăruia) */
.lista-concursuri { display: flex; flex-direction: column; gap: 12px; }
.concurs-card {
    display: flex; align-items: center; gap: 14px; color: var(--text);
    background: var(--alb); border: 1px solid var(--bordura); border-radius: var(--raza);
    padding: 16px 20px; box-shadow: var(--umbra);
    transition: transform .16s, box-shadow .16s;
}
.concurs-card:hover { transform: translateY(-3px); box-shadow: var(--umbra-hover); text-decoration: none; }
.concurs-card-activ { border-left: 4px solid var(--verde); border-color: #b6dcc4; }
.concurs-card .concurs-titlu { display: block; }
.concurs-card:hover .concurs-titlu { color: var(--albastru); }

/* Antetul paginii de concurs */
.concurs-antet { display: flex; align-items: center; gap: 12px; margin-top: 12px; flex-wrap: wrap; }
.concurs-perioada-antet { font-size: 13.5px; color: var(--text-mut); }

/* Calendarul concursului */
.tabel-calendar td { vertical-align: top; }
.tabel-calendar .celula-moment { white-space: nowrap; color: var(--text-mut); }
.etapa-obs { color: var(--text-mut); font-size: 13px; font-style: italic; }
.fara-rezultat { color: var(--bordura); }
.link-rezultat {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13.5px; font-weight: 600; white-space: nowrap;
}
.link-rezultat svg { width: 14px; height: 14px; flex-shrink: 0; }

@media (max-width: 620px) {
    .concurs-card { flex-wrap: wrap; }
    .tabel-calendar .celula-moment { white-space: normal; }
}
details.concurs .doc-lista { padding: 14px 16px; gap: 10px; }

@media (max-width: 620px) {
    details.concurs > summary { flex-wrap: wrap; }
    .concurs-stare { margin-left: 22px; }
}

/* Conducere */
.grid-conducere { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 26px; }
.card-conducere {
    background: var(--alb); border: 1px solid var(--bordura); border-radius: var(--raza);
    border-top: 4px solid var(--albastru);
    padding: 24px 20px; text-align: center;
    box-shadow: var(--umbra);
    display: flex; flex-direction: column; align-items: center; gap: 6px;
}
.foto-conducere {
    width: 170px; height: 170px; border-radius: 12px; object-fit: cover;
    border: 1px solid var(--bordura); margin-bottom: 8px;
}
.foto-lipsa {
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--navy), var(--albastru));
    color: #fff; font-size: 44px; font-weight: 700; letter-spacing: 1px;
}
.card-conducere h3 { font-size: 16px; color: var(--navy); }
.functie-conducere {
    font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px;
    color: var(--albastru);
}
.audiente { margin-top: 8px; font-size: 13.5px; color: var(--text); line-height: 1.55; }
.audiente strong { color: var(--navy); }
.audiente-loc { color: var(--text-mut); font-size: 13px; }

@media (max-width: 860px) {
    .grid-conducere { grid-template-columns: 1fr; }
}

/* ---------- Pagini de document (șablon reutilizabil) ---------- */
.doc-lista { display: flex; flex-direction: column; gap: 14px; margin: 6px 0 8px; }
.doc-card {
    display: flex; align-items: center; gap: 18px;
    background: var(--alb); border: 1px solid var(--bordura); border-radius: var(--raza);
    padding: 18px 20px; color: var(--text);
    box-shadow: var(--umbra); transition: transform .16s, box-shadow .16s, border-color .16s;
}
.doc-card:hover { transform: translateY(-3px); box-shadow: var(--umbra-hover); border-color: #c9d6e4; text-decoration: none; }
.doc-icon {
    flex-shrink: 0; width: 46px; height: 56px; border-radius: 7px;
    background: #e23b3b; color: #fff;
    display: flex; align-items: flex-end; justify-content: center; padding-bottom: 7px;
    font-size: 11px; font-weight: 800; letter-spacing: .5px;
    position: relative;
}
.doc-icon::before {
    content: ""; position: absolute; top: 0; right: 0;
    border-width: 0 13px 13px 0; border-style: solid;
    border-color: transparent rgba(255,255,255,.45) transparent transparent;
    border-top-right-radius: 7px;
}
.doc-info { flex: 1; min-width: 0; }
.doc-titlu { display: block; font-size: 15.5px; font-weight: 600; color: var(--navy); line-height: 1.35; }
.doc-meta { display: block; margin-top: 4px; font-size: 13px; color: var(--text-mut); }
.doc-actiune {
    flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px;
    font-size: 13.5px; font-weight: 600; color: var(--albastru);
    background: var(--albastru-deschis); padding: 8px 15px; border-radius: 8px;
}
.doc-card:hover .doc-actiune { background: var(--albastru); color: #fff; }
.doc-actiune svg { width: 15px; height: 15px; }

/* Previzualizare organigramă */
.organigrama-preview {
    display: block; border: 1px solid var(--bordura); border-radius: var(--raza);
    overflow: hidden; box-shadow: var(--umbra); margin: 6px 0 20px;
    background: var(--alb); transition: box-shadow .16s;
}
.organigrama-preview:hover { box-shadow: var(--umbra-hover); }
.organigrama-preview img { display: block; width: 100%; height: auto; }
.organigrama-preview .lupa {
    text-align: center; font-size: 13px; color: var(--text-mut);
    padding: 9px; border-top: 1px solid var(--bordura); background: var(--fundal);
}

@media (max-width: 620px) {
    .doc-card { flex-wrap: wrap; gap: 12px; }
    .doc-actiune { width: 100%; justify-content: center; }
}

/* Casetă evidențiată (responsabil, notă, contact) */
.info-caseta {
    display: flex; gap: 16px; align-items: flex-start;
    background: var(--albastru-deschis); border: 1px solid #cfe0f1;
    border-left: 4px solid var(--albastru); border-radius: 10px;
    padding: 18px 20px; margin: 6px 0 20px;
}
.info-caseta.gold { background: #fbf7ea; border-color: #e6d9a8; border-left-color: var(--gold); }
.info-caseta > svg { width: 26px; height: 26px; flex-shrink: 0; color: var(--albastru); margin-top: 2px; }
.info-caseta.gold > svg { color: #a8841a; }
.info-caseta .ic-continut { font-size: 14.5px; line-height: 1.65; }
.info-caseta .ic-continut strong { color: var(--navy); }
.info-caseta h3 { font-size: 16px; color: var(--navy); margin-bottom: 6px; }
.info-caseta ul { margin: 4px 0 0; padding-left: 18px; }
.info-caseta li { margin-bottom: 3px; }

/* Pași numerotați */
.pasi { list-style: none; counter-reset: pas; display: flex; flex-direction: column; gap: 12px; margin: 6px 0 20px; }
/* ATENȚIE: fără `display:flex` aici. Flex face din fiecare bucată de text un element
   separat și înghite spațiile dintre text și <strong> („Cererea seînregistrează"). */
.pasi li {
    counter-increment: pas; position: relative; padding-left: 46px;
    font-size: 14.5px; line-height: 1.6; min-height: 32px;
    display: block; padding-top: 5px; padding-bottom: 5px;
}
.pasi li::before {
    content: counter(pas); position: absolute; left: 0; top: 0;
    width: 32px; height: 32px; border-radius: 50%;
    background: var(--navy); color: #fff; font-weight: 700; font-size: 15px;
    display: flex; align-items: center; justify-content: center;
}

.org-structura { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-bottom: 18px; }
.org-bloc {
    background: var(--alb); border: 1px solid var(--bordura); border-radius: var(--raza);
    border-top: 4px solid var(--albastru); padding: 18px 20px;
}
.org-bloc h4 { font-size: 15px; color: var(--navy); margin-bottom: 10px; }
.org-bloc ul { list-style: none; display: flex; flex-direction: column; gap: 7px; }
.org-bloc li {
    font-size: 14px; color: var(--text);
    padding-left: 18px; position: relative;
}
.org-bloc li::before {
    content: ""; position: absolute; left: 0; top: 8px;
    width: 7px; height: 7px; border-radius: 2px; background: var(--gold);
}

.lista-sedii { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.lista-sedii li {
    background: var(--alb); border: 1px solid var(--bordura); border-radius: 10px;
    padding: 12px 18px; font-size: 14.5px;
}
.lista-sedii strong { color: var(--navy); }

@media (max-width: 720px) {
    .grid-domenii, .org-structura { grid-template-columns: 1fr; }
    .pagina-titlu { font-size: 25px; }
}

/* ---------- Banda informativă ---------- */
.banda-info {
    background: linear-gradient(120deg, var(--navy) 0%, var(--navy-2) 100%);
    color: #fff; padding: 44px 0;
}
.banda-inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: 26px; flex-wrap: wrap;
}
.banda-info h2 { font-size: 22px; margin-bottom: 6px; }
.banda-info p { color: #c8d8e8; font-size: 15px; max-width: 640px; }
.btn-banda {
    flex-shrink: 0;
    background: var(--gold); color: var(--navy); font-weight: 700; font-size: 15px;
    padding: 13px 30px; border-radius: 50px;
    transition: transform .15s, box-shadow .15s;
}
.btn-banda:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.25); text-decoration: none; }

/* ---------- Banda „Centrul de resurse bibliografice…" ----------
   Deliberat SCUNDĂ și deschisă la culoare: stă pe prima pagină, cum cere adresa,
   dar nu concurează cu conținutul propriu al instituției și nu îngroașă pagina.
   Bara aurie din stânga o desparte de secțiunile din jur fără chenar complet. */
.banda-guvernare {
    background: var(--alb);
    border-top: 1px solid var(--bordura); border-bottom: 1px solid var(--bordura);
    /* la deschiderea adresei cu #guvernare-deschisa, banda nu trebuie să ajungă
       sub antetul lipit de marginea de sus */
    scroll-margin-top: 96px;
}
.banda-guvernare-inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: 22px; flex-wrap: wrap; padding-top: 15px; padding-bottom: 15px;
}
.banda-guvernare-text { min-width: 0; border-left: 3px solid var(--gold); padding-left: 14px; }
.banda-guvernare h2 { font-size: 16px; line-height: 1.35; color: var(--navy); }
.banda-guvernare p { margin-top: 2px; font-size: 12.5px; color: var(--text-mut); }
.btn-guvernare {
    flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px;
    background: var(--navy); color: #fff; font-weight: 600; font-size: 14px;
    padding: 10px 22px; border-radius: 50px; transition: background .15s;
}
.btn-guvernare:hover { background: var(--albastru); text-decoration: none; }
.btn-guvernare svg { width: 15px; height: 15px; flex-shrink: 0; }

@media (max-width: 620px) {
    .banda-guvernare-inner { gap: 14px; }
    .banda-guvernare h2 { font-size: 14.5px; }
    .btn-guvernare { width: 100%; justify-content: center; }
}

/* ---------- Subsol ---------- */
.footer { background: var(--navy); color: #b9c9d9; }
.footer-grid {
    display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 34px;
    padding: 26px 20px 20px;
}
.footer h3 {
    color: #fff; font-size: 15px; margin-bottom: 9px;
    position: relative; padding-bottom: 7px;
}
.footer h3::after {
    content: ""; position: absolute; left: 0; bottom: 0;
    width: 34px; height: 3px; border-radius: 2px; background: var(--gold);
}
.footer-desc { font-size: 13.5px; margin-bottom: 7px; }
.footer-contact { list-style: none; font-size: 13px; display: flex; flex-direction: column; gap: 3px; }
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 3px; }
.footer-links a { color: #b9c9d9; font-size: 13.5px; }
.footer-links a:hover { color: #fff; }
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding: 10px 0; font-size: 12.5px; text-align: center;
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1360px) {
}

@media (max-width: 1080px) {
    .nav-toggle { display: flex; }
    .nav {
        position: absolute; top: 100%; left: 0; right: 0;
        background: var(--alb); border-bottom: 1px solid var(--bordura);
        box-shadow: 0 14px 28px rgba(16, 49, 79, .14);
        display: none; padding: 10px 16px 18px;
        max-height: calc(100vh - 76px); overflow-y: auto;
    }
    .nav.deschis { display: block; }
    .nav-list { flex-direction: column; align-items: stretch; gap: 2px; height: auto; }
    .nav-list > li { display: block; }
    .nav-link { width: 100%; justify-content: space-between; padding: 12px 14px; font-size: 15.5px; }

    .mega-panel {
        position: static; border: none; border-radius: 0; box-shadow: none;
        opacity: 1; transform: none; transition: none;
        visibility: hidden; display: none;
    }
    .are-submeniu.mega.deschis .mega-panel { display: block; visibility: visible; }
    .mega-grid { grid-template-columns: 1fr; gap: 12px; padding: 2px 0 8px 16px; }
    .mega-grup h4 { margin-bottom: 6px; }
}

@media (max-width: 1024px) {
    .grid-carduri { grid-template-columns: repeat(2, 1fr); }
    .grid-noutati { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .topbar-adresa { display: none; }
    .footer-grid { grid-template-columns: 1fr; gap: 34px; }
}

@media (max-width: 560px) {
    .topbar-inner { justify-content: center; gap: 16px; }
    .hero { padding: 60px 0 72px; }
    .hero-cautare { flex-wrap: nowrap; }
    .btn-cautare { padding: 11px 18px; }
    .grid-carduri { grid-template-columns: 1fr; }
    .banda-inner { flex-direction: column; align-items: flex-start; }
}
