/* S.I.E.B. — aspectul site-ului, după macheta aprobată (02_macheta_culori_aprobate). */
@font-face { font-family: "Carlito"; src: url("../fonts/carlito-regular.woff") format("woff"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Carlito"; src: url("../fonts/carlito-bold.woff") format("woff"); font-weight: 700; font-display: swap; }

:root {
  --bleumarin: #10395d;
  --subsol: #14456e;
  --titlu: #06429b;        /* titlurile din mijloc */
  --descriere: #235bba;    /* descrierile din mijloc, puțin mai deschise */
  --buton: #063b82;
  --chenar: #b9d5eb;
  --text: #15223c;
}
* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; }
body { font-family: Calibri, Carlito, Arial, sans-serif; background: #f4f9fd; color: var(--text); }
a { color: var(--titlu); }

.site { max-width: 1416px; height: 100vh; min-height: 640px; margin: 0 auto; background: #fff;
        display: flex; flex-direction: column; box-shadow: 0 0 30px #dce7ef; }

/* Antet */
.antet { flex-shrink: 0; min-height: 83px; background: var(--bleumarin); display: flex; align-items: center;
         justify-content: space-between; gap: 16px; padding: 10px 4.2%; }
.sigla { color: #fff; text-decoration: none; font-size: 49px; font-weight: 700; letter-spacing: 2px; line-height: 1; }
.meniu { display: flex; flex-wrap: wrap; gap: 12px; }
.meniu a { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 20px; border-radius: 6px;
           border: 1px solid #ffffff30; color: #fff; text-decoration: none; font-size: 18px; font-weight: 700; }
.meniu svg { width: 26px; height: 26px; flex-shrink: 0; }
.meniu a:hover { filter: brightness(1.1); }
.meniu a.activ { box-shadow: inset 0 0 0 3px #ffffffb0; }
.m-acasa   { background: linear-gradient(#ff1717, #c00); }
.m-despre  { background: linear-gradient(#11a3b0, #08646d); }
.m-arhiva  { background: linear-gradient(#1785e5, #004389); }
.m-resurse { background: linear-gradient(#08b953, #006d30); }
.m-contact { background: linear-gradient(#677d90, #364a60); }

/* Corpul: mijloc + dreapta */
.continut { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 345px; }
.principal { display: flex; flex-direction: column; min-height: 0; padding-left: 4px; }

.banner { flex-shrink: 0; height: 198px; position: relative; background: url("../img/banner.jpg") center / cover no-repeat; }
.banner.cu-text { background-position: left center; }
.slogan { position: absolute; left: 4.5%; top: 14%; max-width: 70%; padding: 14px 34px; border-radius: 6px; color: #2a1402;
  background: radial-gradient(ellipse at center, #fffbf0d0 0%, #fffbf080 55%, #fffbf000 76%);   /* scris maro direct pe poză, cu o lumină discretă în jur */
  text-shadow: 0 0 3px #fff, 0 0 8px #fff, 0 0 14px #fff, 0 0 22px #fffd; }
.slogan strong { display: block; font-size: 27px; }
.slogan span { display: block; font-size: 18px; margin-top: 2px; font-weight: 700; }

.mijloc { flex: 1; min-height: 0; overflow-y: scroll; padding: 10px 24px 24px 55px; }
.mijloc h1 { font-size: 29px; color: #092b60; margin: 0 0 8px; }

/* Cardurile: înălțimea = cea mai mare dintre text și poză */
.carduri { display: flex; flex-direction: column; gap: 13px; }
.card { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 20px; align-items: center;
        border: 1px solid var(--chenar); border-radius: 5px; padding: 10px; background: #fff; }
.card-poza { display: flex; justify-content: center; align-items: center; }
.card-poza img { display: block; max-width: 170px; max-height: 160px; width: auto; height: auto; }
.card-text h2 { margin: 0 0 8px; font-size: 24px; }
.card-text h2 a { color: var(--titlu); text-decoration: none; }
.card-text h2 a:hover { text-decoration: underline; }
.card-text p { margin: 0 0 12px; font-size: 18px; line-height: 1.35; color: var(--descriere); }
.card-jos { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.data { color: #33415c; font-size: 16px; }

.buton { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 28px; border: 0;
         border-radius: 5px; background: var(--buton); color: #fff; font: inherit; font-size: 17px; font-weight: 700;
         text-decoration: none; cursor: pointer; }
.buton:hover { background: #0a4ea8; }

/* Pagina de prezentare, Confidențialitate, Termeni */
.prezentare { max-width: 900px; padding-top: 6px; }
.inapoi { display: inline-block; margin-bottom: 10px; font-size: 17px; font-weight: 700; text-decoration: none; }
.prezentare-text { font-size: 18px; line-height: 1.5; color: var(--text); }
.prezentare-text h2, .prezentare-text h3, .prezentare-text h4 { color: #092b60; font-size: 21px; margin: 20px 0 6px; }
.prezentare-text h2 { font-size: 27px; }
.prezentare-text h4 { font-size: 18px; }
.prezentare-text > :first-child { margin-top: 4px; }
.prezentare-text p { margin: 0 0 10px; }
.prezentare-text img { max-width: 100%; height: auto; }
.prezentare-text ul, .prezentare-text ol { margin: 0 0 12px; padding-left: 26px; }
.prezentare-text li { margin-bottom: 4px; }
.prezentare-text .tabel { border-collapse: collapse; margin: 0 0 14px; max-width: 100%; display: block; overflow-x: auto; }
.prezentare-text .tabel td { border: 1px solid #b9d5eb; padding: 6px 10px; vertical-align: top; }
.prezentare-text .tabel td p { margin: 0; }
.descarcari { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }

/* Arhiva */
.arhiva { list-style: none; margin: 0; padding: 0; border-top: 1px solid #d8e3ed; }
.arhiva li { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 6px; border-bottom: 1px solid #d8e3ed; }
.arhiva a { font-size: 19px; font-weight: 700; text-decoration: none; }
.arhiva a:hover { text-decoration: underline; }
.in-lucru { font-size: 19px; color: #33415c; }

/* Contact */
.date-contact { display: flex; flex-wrap: wrap; gap: 12px 40px;
                border: 1px solid var(--chenar); border-radius: 5px; padding: 16px 20px; font-size: 17px; margin-bottom: 18px; }
.date-contact div { white-space: nowrap; }  /* adresa rămâne pe un rând (sector 6 nu mai trece dedesubt) */
.date-contact span { display: block; font-size: 15px; color: #4a5a73; }
.formular { max-width: 780px; border: 1px solid var(--chenar); border-radius: 5px; padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.formular h2 { margin: 0; font-size: 23px; color: var(--titlu); }
.formular .rand { display: flex; flex-wrap: wrap; gap: 14px; }
.formular .rand label { flex: 1 1 240px; }
.formular label { display: flex; flex-direction: column; gap: 6px; font-size: 16px; font-weight: 700; color: #0b326b; }
.formular input, .formular textarea { font: inherit; font-size: 17px; font-weight: 400; padding: 9px 12px; border: 1px solid #9fb8cf; border-radius: 4px; color: var(--text); width: 100%; }
.formular input:focus, .formular textarea:focus { outline: 2px solid var(--buton); outline-offset: 1px; }
.ascuns { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.nota { font-size: 15px; color: #4a5a73; }
.mesaj-ok { max-width: 780px; background: #e9f6ee; border: 1px solid #bfe3cb; border-radius: 5px; padding: 12px 16px; font-size: 18px; color: #075f2f; }
.mesaj-eroare { margin: 0; background: #fdecec; border: 1px solid #efbcbc; border-radius: 5px; padding: 10px 14px; color: #8f1515; font-size: 17px; }

/* Dreapta: știrile ocupă toată coloana, cu scroll propriu */
.dreapta { padding: 27px 20px 18px 16px; display: flex; flex-direction: column; min-height: 0; }
.stiri { flex: 1; min-height: 0; display: flex; flex-direction: column; border: 1px solid #d4e2ec; background: #f8fbfe; border-radius: 6px; overflow: hidden; }
.stiri h2 { flex-shrink: 0; display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px 15px; background: #edf4f9; color: #0b326b; font-size: 22px; }
.stiri h2 svg { width: 32px; height: 32px; color: #0b326b; }
.stiri-lista { flex: 1; min-height: 0; overflow-y: scroll; padding: 0 17px; }
.stire { border-bottom: 1px solid #d8e3ed; padding: 11px 4px 12px; font-size: 16px; color: #242e42; }
.stire:last-child { border-bottom: 0; }
.stire .data { display: block; margin-bottom: 3px; color: #242e42; }
.stire strong { display: block; color: #063c8a; font-size: 17px; }
.stire p { margin: 5px 0 0; line-height: 1.4; }
.stire strong a { color: inherit; text-decoration: none; }
.stire strong a:hover { text-decoration: underline; }
.stire-pagina .data { font-size: 16px; color: #33415c; margin-bottom: 2px; }
.stire-pagina h1 { margin-top: 0; }
.comentariu { background: #f3f8fc; border-left: 4px solid #063b82; padding: 10px 16px; margin: 16px 0; }
.comentariu strong { display: block; color: #092b60; margin-bottom: 4px; }
.comentariu p { margin: 0 0 8px; }
.sursa { font-size: 16px; color: #33415c; border-top: 1px solid #d8e3ed; padding-top: 10px; margin-top: 18px; }

/* Barele de derulare, vizibile (mijloc și știri) */
.mijloc, .stiri-lista { scrollbar-width: auto; scrollbar-color: #9fb8cf #edf4f9; }
.mijloc::-webkit-scrollbar, .stiri-lista::-webkit-scrollbar { width: 12px; }
.mijloc::-webkit-scrollbar-track, .stiri-lista::-webkit-scrollbar-track { background: #edf4f9; }
.mijloc::-webkit-scrollbar-thumb, .stiri-lista::-webkit-scrollbar-thumb { background: #9fb8cf; border-radius: 6px; border: 2px solid #edf4f9; }

/* Subsol */
.subsol { flex-shrink: 0; min-height: 64px; background: var(--subsol); color: #fff; display: flex; flex-wrap: wrap;
          justify-content: space-between; align-items: center; gap: 10px 24px; padding: 12px 4.2%; font-size: 15px; }
.subsol .linkuri { display: flex; flex-wrap: wrap; gap: 14px; }
.subsol a { color: #fff; text-decoration: none; }
.subsol a:hover { text-decoration: underline; }

/* Ecrane mici: totul curge normal, fără scroll-uri în interior */
@media (max-width: 900px) {
  .site { height: auto; min-height: 100vh; }
  .antet { flex-wrap: wrap; padding: 12px 16px; }
  .sigla { font-size: 34px; }
  .meniu { gap: 8px; }
  .meniu a { min-height: 44px; padding: 0 12px; font-size: 15px; gap: 6px; }
  .meniu svg { width: 20px; height: 20px; }
  .continut { display: block; }
  .principal { padding-left: 0; }
  .banner { height: 150px; background-position: 72% center; }
  .banner.cu-text { height: auto; aspect-ratio: 1050 / 194; background-size: 100% 100%; }
  .slogan { left: 12px; right: 12px; top: auto; bottom: 12px; max-width: none; }
  .slogan strong { font-size: 19px; }
  .slogan span { font-size: 14px; }
  .mijloc { overflow: visible; padding: 12px 16px 20px; }
  .card { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; }
  .card-poza img { max-width: 96px; max-height: 110px; }
  .card-text h2 { font-size: 19px; }
  .card-text p { font-size: 16px; }
  .dreapta { padding: 0 16px 16px; }
  .stiri-lista { overflow: visible; }
  .subsol { padding: 16px; }
}
@media (max-width: 420px) {
  .date-contact div { white-space: normal; }
  .card { grid-template-columns: 1fr; }
  .card-poza { justify-content: flex-start; }
  .card-poza:empty { display: none; }
}
