:root{
  --primary:#1f3c88;
  --primary-2:#16306e;
 --secondary:#f7f6f2;
  --accent:#f4b400;
  --text:#111827;
  --muted:#6b7280;
  --card:#ffffff;
  --border:#e5e7eb;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  --radius: 16px;
  --maxw: 1180px;

  /* setat automat din JS, fallback aici */
  --headerh: 140px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--secondary);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* Accessibility: skip link */
.skip-link{
  position:absolute;left:-999px;top:10px;
  background:#000;color:#fff;padding:10px 12px;border-radius:10px;
  z-index:9999;
}
.skip-link:focus{left:12px}

/* Focus states */
:focus-visible{
  outline: 3px solid rgba(244,180,0,.9);
  outline-offset: 3px;
  border-radius: 10px;
}

/* Layout */
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* Topbar */
.topbar{
  background: rgba(31,60,136,.95);
  color:#fff;
  font-size:.95rem;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.topbar .row{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0;
  gap:14px;
  flex-wrap:wrap;
}
.topbar .row small{opacity:.95}
.topbar .pill{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.12);
  padding:8px 10px;border-radius:999px;
}
.topbar .pill b{font-weight:700}

/* =========================================================
   HEADER: implicit alb + text închis
   (devine transparent + alb doar când e peste banner)
   ========================================================= */
/* header{
  position: sticky;
  top: 0;
  z-index: 1000;

  background: #fff;
  border-bottom: 1px solid var(--border);
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
} */
 /* header{
  position: sticky;
  top: 0;
  z-index: 2000;

  background: rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.18);
  box-shadow: none;
} */
header{
  position: absolute;   /* IMPORTANT */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;

  padding: 10px 0;

  /* efect glass + shadow */
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.55) 0%,
    rgba(0,0,0,0.35) 60%,
    rgba(0,0,0,0.15) 100%
  );

  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
/* când dai scroll, header devine alb */
header.scrolled{
  background: #fff;
  border-bottom: 1px solid var(--border);
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* când header e peste banner */
/* header.over-banner{
  background: rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.18);
  box-shadow: none;
} */

/* Linkuri în meniu pe banner */
header:not(.scrolled) nav a{
  color: rgba(255,255,255,0.95);
}
header:not(.scrolled) nav a:hover{
  background: rgba(255,255,255,.14);
  color:#fff;
}

/* Linkuri după scroll (pe alb) */
header.scrolled nav a{
  color:#0f172a;
}
header.scrolled nav a:hover{
  background: rgba(31,60,136,.08);
  color: var(--primary);
}

.hero{ background: var(--secondary); }

.banner{
  position: relative;
  width: 100%;
  height: 480px;            /* ca în exemplu */
  overflow: hidden;
  margin: 0;
  background: #0b1a33;
}

.banner-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform: scale(1.02);
  opacity:0;
  transition: opacity 1400ms ease-in-out;
}

.banner-slide.active{ opacity:1; }

.banner-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.25) 0%,
    rgba(0,0,0,0.10) 55%,
    rgba(0,0,0,0.00) 100%
  );
  z-index: 5;
}

/* .hero-card{
  background:#fff;
  border-top: 1px solid var(--border);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
} */
 /* .hero-card{
  background:#1f3b73;
  border-top: 1px solid var(--border);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  color:white;
} */
.hero-card{
  background:#ffffff;
  border-top: 1px solid var(--border);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.hero-card-inner{
  text-align:center;
  padding: 34px 0 40px;
}

.hero-title{
  font-size: clamp(30px, 3.6vw, 56px);
  line-height: 1.08;
  margin-bottom: 18px;
}

.hero-seal{
  display:flex;
  justify-content:center;
  margin: 8px 0 18px;
}

.hero-seal img{
  width: 120px;
  height: 120px;
  object-fit: contain;
}

.hero-subtitle{
  font-size: 1.1rem;
  color: var(--muted);
  max-width: 75ch;
  margin: 0 auto 18px;
}

/* CTA deja există la tine, dar o facem să arate mai “hero” */
.hero-card .hero-cta{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

@media (max-width: 820px){
  .banner{ height: 240px; }
  .hero-seal img{ width: 96px; height: 96px; }
  .hero-card-inner{ padding: 26px 0 30px; }
}

.navwrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 0;
  gap:16px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width: 240px;
}

.logo{
  display:flex;
  align-items:center;
  justify-content:center;
  background:none;
  box-shadow:none;
  width:auto;
  height:auto;
  border-radius:0;
}

.logo img{
  height: 115px;
  width: auto;
  max-width: none;
  object-fit: contain;
}

.brand .title{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}

/* NAV implicit (fundal alb) */
nav a{
  font-weight:600;
  padding:10px 12px;
  border-radius:12px;
  transition: background .2s ease, color .2s ease;
  color: #0f172a;
}
/* nav a:hover{
  background: rgba(31,60,136,.08);
  color: var(--primary);
} */

/* NAV pe banner (doar când NU e scrolled) */
/* header:not(.scrolled) nav a{
  color: rgba(255,255,255,0.95);
} */
/* header.over-banner nav a{
  color: #0f172a;
}
header:not(.scrolled) nav a:hover{
  background: rgba(255,255,255,.14);
  color: #fff;
} */

/* Nav */
nav ul{
  display:flex;
  gap:18px;
  list-style:none;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

/* NAV: implicit (fundal alb) */
nav a{
  font-weight:600;
  padding:10px 12px;
  border-radius:12px;
  transition: background .2s ease, color .2s ease;
  color:#0f172a;
}
/* nav a:hover{
  background: rgba(31,60,136,.08);
  color: var(--primary);
} */
/* 
/* NAV peste banner (alb) */
/* header.over-banner nav a{
  color: rgba(255,255,255,0.95);
}
header.over-banner nav a:hover{
  background: rgba(255,255,255,.14);
  color: #fff;
} */ 

.nav-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

/* Buttons */
.btn{
  border:1px solid var(--border);
  background:#fff;
  padding:10px 12px;
  border-radius:12px;
  font-weight:700;
  cursor:pointer;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.btn:hover{transform: translateY(-1px);box-shadow: var(--shadow)}
.btn.primary{
  border-color: transparent;
  background: linear-gradient(145deg, var(--primary), var(--primary-2));
  color:#fff;
}
.btn.primary:hover{box-shadow: 0 12px 26px rgba(31,60,136,.25)}
.btn.accent{
  border-color: transparent;
  background: linear-gradient(145deg, var(--accent), #f0a500);
  color:#111;
}

/* =========================================================
   BANNER SLIDESHOW (intră sub header)
   ========================================================= */
/* .banner{
  position: relative;
  width: 100%;
  height: 520px;
  overflow: hidden;
  margin: 0;
  border-radius: 0;
  background: #0b1a33; */

  /* banner intră sub header
  margin-top: calc(var(--headerh) * -1);
  padding-top: var(--headerh);
}

/* .banner-slide{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  opacity: 1;
  transition: opacity 600ms ease-in-out;
}
.banner-slide.is-fading{ opacity: 0; } */

.banner-slide{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.02);

  opacity: 0;
  transition: opacity 1400ms ease-in-out;
}

.banner-slide.active{
  opacity: 1;
}

/* .banner-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5,18,40,0.28), rgba(5,18,40,0.08));
  display: flex;
  align-items: center;
} */

.banner-content{
  padding: 26px 0;
  max-width: 720px;
}

.banner-content h1{
  margin: 12px 0 10px;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.1;
  color: #fff;
}

.banner-content .hero-lead{
  color: rgba(255,255,255,0.92);
  font-size: 1.06rem;
  max-width: 60ch;
  margin-bottom: 16px;
}

.badge,
.banner .badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.95);
  font-weight:600;
  font-size:13px;
  width: fit-content;
}

/* =========================================================
   NAV DROPDOWN (mereu alb, ca să fie lizibil)
   ========================================================= */
nav ul > li { position: relative; }

nav ul > li.has-dropdown > ul.dropdown{
  position: absolute;
  top: calc(100% + 8px);
  left: 0;

  min-width: 280px;
  padding: 8px 0;
  margin: 0;
  list-style: none;

  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow);

  display: none;
  z-index: 2000;
}

nav ul > li.has-dropdown:hover > ul.dropdown,
nav ul > li.has-dropdown:focus-within > ul.dropdown{
  display: block;
}

nav ul > li.has-dropdown > ul.dropdown a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  font-weight:600;
  color:#0f172a;
  white-space: nowrap;
}

nav ul > li.has-dropdown > ul.dropdown a:hover,
nav ul > li.has-dropdown > ul.dropdown a:focus{
  background: rgba(31,60,136,.08);
  color: var(--primary);
}

nav ul > li.has-dropdown > a::after{
  content:" ▾";
  font-size:0.9em;
}

nav ul > li.has-dropdown::after{
  content:"";
  position:absolute;
  left:0; right:0;
  top:100%;
  height:10px;
}

/* Responsive */
@media (max-width: 980px){
  nav ul{justify-content:flex-start}
  .logo img{height: 90px;}
}

@media (max-width: 820px) {
  .banner { height: 420px; }
  .banner-overlay{
    background: linear-gradient(180deg, rgba(5,18,40,0.55), rgba(5,18,40,0.18));
  }
  .banner-content{ padding: 18px 0; }
}

/* =========================================================
   MAIN / SECTIONS
   ========================================================= */
main{padding: 26px 0 60px}
.section{
  margin-top: 26px;
  background:#fff;
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 26px;
}
.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom: 16px;
}
.section h3{
  font-size: 1.6rem;
  line-height:1.2;
}
.section .lead{
  color: var(--muted);
  max-width: 80ch;
}

/* Grid cards */
.grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}
.card{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 16px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover{transform: translateY(-4px);box-shadow: var(--shadow)}
.col-4{grid-column: span 4}
.col-6{grid-column: span 6}
.col-8{grid-column: span 8}
.col-12{grid-column: span 12}

.kpi{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.kpi strong{font-size:1.1rem}
.kpi span{color:var(--muted);font-weight:700}

/* Offer list */
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.chip{
  border:1px solid var(--border);
  padding:8px 10px;
  border-radius:999px;
  font-weight:700;
  color:#0f172a;
  background: #fff;
}

/* News */
.news-item h4{margin-bottom:6px}
.news-meta{color:var(--muted);font-size:.95rem;margin-bottom:10px}
.news-item p{color:#334155}

/* ===== DOCUMENT LIST ===== */
.doc-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.doc-item {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 10px;

  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;

  text-decoration: none;
  color: #0f172a;
  font-weight: 600;

  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.doc-item:hover {
  background: #f8fafc;
  box-shadow: var(--shadow);
  transform: translateY(-1px);
}

.doc-icon { font-size: 1.1rem; }

.doc-text {
  font-size: 0.95rem;
  line-height: 1.3;
}

.doc-action {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--primary);
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(31,60,136,.25);
  background: rgba(31,60,136,.06);
  white-space: nowrap;
}

/* Gallery grid */
.image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.2rem;
}

.image-grid figure {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,.07);
}

.image-grid img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}

.image-grid figcaption {
  padding: 0.6rem;
  font-size: 0.85rem;
  text-align: center;
  color: #555;
}

/* Footer */
footer{
  margin-top:40px;
  background:#f7f6f2;
  color:#1f2937;        /* text inchis */
  padding:32px 0;
  border-top:1px solid #e6e2d9;
}

footer h5{
  color:#111827;       /* titluri mai inchise */
}

footer p{
  color:#374151;       /* text normal */
}

footer a{
  color:#1f3c88;       /* albastru liceu */
  text-decoration: underline;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
}
/* footer h5{font-size:1rem;margin-bottom:10px}
footer p{color:#cbd5e1;opacity:.95} */

/* Animations reveal */
.reveal{opacity:0;transform: translateY(18px);transition: all .7s ease}
.reveal.visible{opacity:1;transform: translateY(0)}

/* Responsive */
@media (max-width: 980px){
  .contact-grid{grid-template-columns: 1fr}
  .footer-grid{grid-template-columns: 1fr}
  .col-4,.col-6,.col-8{grid-column: span 12}
  nav ul{justify-content:flex-start}
  .logo img{height: 90px;}
}

/* Banner responsive */
@media (max-width: 820px) {
  .banner { height: 420px; }
  .banner-overlay {
    background: linear-gradient(180deg, rgba(5,18,40,0.55), rgba(5,18,40,0.18));
  }
  .banner-content { padding: 18px 0; }
}
/* body.home header .brand {
  display: none;
} */
/* Ascunde topbar-ul DOAR pe pagina index */
.topbar {
  display: none;
}


/* ========== MENIU 1 SINGUR RAND (INDEX) ========== */
header nav ul {
  display: flex;
  flex-wrap: nowrap;          /* NU mai permite sa treaca pe randul 2 */
  white-space: nowrap;        /* tine textul pe o linie */
 /* overflow-x: auto; */          /* daca nu incape, scroll orizontal */
  -webkit-overflow-scrolling: touch;
  gap: 20px;                  /* ajusteaza spatiul intre butoane */
  padding-bottom: 6px;        /* mic spatiu ca sa nu taie scroll-ul */
}

/* ascunde scrollbar-ul (optional, arata mai curat) */
header nav ul::-webkit-scrollbar {
  height: 6px;
}
header nav ul::-webkit-scrollbar-thumb {
  border-radius: 999px;
}

/* daca ai itemi care au display:block si se comporta ciudat */
header nav ul li {
  flex: 0 0 auto;             /* fiecare item isi pastreaza latimea */
}

/* INDEX – micsoreaza fontul din meniu */
header nav ul li a {
  font-size: 12px;   /* poti incerca 13px daca mai e nevoie */
}

/* reducem putin spatiul intre butoane */
header nav ul {
  gap: 12px;
}
/* ===== INDEX – header mai subtire ===== */

header {
  padding: 4px 0;     /* reduce inaltimea generala */
}

header .navwrap {
  padding: 0;
  min-height: auto;
}

header nav ul li a {
  padding: 4px 6px;   /* reduce spatiul vertical din butoane */
  font-size: 14px;    /* optional: putin mai mic */
}

.nav-actions .btn {
  padding: 4px 8px;  /* micsoreaza si butoanele Citește/Stop */
}

/* ===== INDEX – header mai transparent ===== */

header {
  background: rgba(0, 0, 0, 0.15);  /* mai transparent */
  backdrop-filter: blur(4px);      /* efect fin de sticla */
}

/* optional – daca exista overlay prea inchis */
.banner-overlay {
  background: rgba(0, 0, 0, 0.2);
}
/* Asigură că dropdown-ul apare peste banner */
header nav ul > li.has-dropdown > ul.dropdown {
  z-index: 5000;
}

/* Permite dropdown-ului să iasă în afara headerului */
header {
  overflow: visible;
}
.banner {
  overflow: visible;
}
/* FIX dropdown: NU pune overflow pe UL, pune pe NAV */
header nav {
  overflow-x: auto;              /* scroll doar pe nav, dacă e nevoie */
  -webkit-overflow-scrolling: touch;
}

header nav ul {
  overflow: visible !important;  /* permite dropdown-ului sa iasa in afara */
}

/* optional, ajuta la pozitionarea dropdown-ului */
header nav ul > li {
  position: relative;
}
/* ===== DROPDOWN FIX (FINAL) ===== */
header,
header nav,
header nav ul {
  overflow: visible !important;
}

header nav ul > li.has-dropdown > ul.dropdown {
  display: none;
  z-index: 99999;
}

header nav ul > li.has-dropdown:hover > ul.dropdown,
header nav ul > li.has-dropdown:focus-within > ul.dropdown {
  display: block;
}
/* INDEX – doar logo mic, fara text */
header .brand .title {
  display: none;
}
/* Logo mic in header pe index */
header .logo img {
  height: 38px;   /* poti pune 32px daca il vrei si mai mic */
  width: auto;
}
header .navwrap {
  align-items: center;
}
/* INDEX: logo mic fara sa impinga meniul */
header .brand{
  min-width: 0;          /* anuleaza min-width:240px */
  width: auto;
  flex: 0 0 auto;
}

header .logo img{
  height: 34px;          /* ajusteaza 32-40px dupa gust */
  width: auto;
}

/* INDEX: ascunde textul */
header .brand .title{
  display:none;
}
/* ===== GLOBAL HEADER LOOK (all pages) ===== */
header{
  position: sticky;   /* stays at top on all pages */
  top: 0;
  z-index: 9999;

  padding: 4px 0;
  background: rgba(0,0,0,0.15);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);

  border-bottom: 1px solid rgba(255,255,255,0.12);
  box-shadow: none;
}

/* keep menu links white like on index */
/* header nav a{
  color: rgba(255,255,255,0.95);
} */
header nav a:hover{
  background: rgba(255,255,255,.14);
  color:#fff;
}

/* stop the "white on scroll" behavior (force same look everywhere) */
header.scrolled{
  background: rgba(0,0,0,0.15) !important;
  border-bottom: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: none !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}
/* header.scrolled nav a{
  color: rgba(255,255,255,0.95) !important;
} */
/* hide read/stop buttons everywhere */
.nav-actions{
  display:none !important;
}
/* Pages with banner: header overlays banner */
.hero header{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

/* Make sure hero/banner can go to the very top */
/* .hero{
  position: relative;
}
.hero-title-script{
  font-family: "Dancing Script", cursive;
  color: #A4027C;              /* mov din logo */
 /* font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.05;
  text-transform: none;
  font-size: clamp(2rem, 4.2vw, 3.4rem); /* responsive */

  /* .hero-text-script{
  font-family: "Dancing Script", cursive;
  color: #A4027C;
  font-size: 1.5rem;
  line-height: 1.4;
} */

/* .hero-title-script{
  font-family: "Allura", cursive;
  color: #A4027C;
  font-size: clamp(2.8rem, 5vw, 4rem);
  font-weight: 400;
  letter-spacing: 0.5px;
}

.hero-text-script{
  font-family: "Allura", cursive;
  color: #A4027C;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.4;
} */
 .hero-title-script{
  font-family: "Allura", cursive;
  color: #A4027C;
  font-size: clamp(2.8rem, 5vw, 4rem);
  font-weight: 400;
  letter-spacing: 0.5px;
  /* text-shadow: 1px 1px 3px rgba(0,0,0,0.35); */
}

.hero-text-script{
  font-family: "Allura", cursive;
  color: #A4027C;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.4;
  /* text-shadow: 1px 1px 3px rgba(0,0,0,0.35); */
}
.accessibility-tools{
  display:flex;
  align-items:center;
  margin-left:12px;
}

.accessibility-tools button{
  font-size:13px;
  padding:6px 10px;
}

header .navwrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

header nav{
  flex: 1 1 auto;
  min-width: 0;
}

.accessibility-tools{
  flex: 0 0 auto;
  margin-left: 12px;
}
/* ===== FIX: butonul "Citește pagina" în dreapta ===== */

header .navwrap{
  display:flex;
  align-items:center;
  gap:12px;
}

/* nav ocupă tot spațiul dintre logo și buton */
header nav{
  flex: 1 1 auto;
  min-width: 0;
}

/* meniul să nu fie "lipit" de dreapta, ca să lase loc butonului */
header nav ul{
  justify-content: flex-start !important;
}

/* butonul se duce în dreapta */
.accessibility-tools{
  margin-left: auto !important;
  flex: 0 0 auto;
  display:flex;
  align-items:center;
}

/* aspect compact */
.accessibility-tools .btn{
  padding: 6px 10px;
  font-size: 13px;
  border-radius: 999px;
  white-space: nowrap;
}
header .accessibility-tools{
  margin-left: auto;
}
/* micșorează un pic itemii meniului */
header nav ul{
  gap: 10px !important;
}

header nav ul li a{
  font-size: 12px !important;
  padding: 4px 6px !important;
}

/* buton mai compact */
header .accessibility-tools .btn{
  padding: 5px 8px;
  font-size: 12px;
}
/* Buton citire pagina – stil elegant */
.accessibility-tools .btn{
  background: linear-gradient(145deg, #1f3c88, #16306e);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 600;

  box-shadow: 0 4px 12px rgba(0,0,0,0.18);
  transition: all .2s ease;
}

.accessibility-tools .btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}

/* =========================================================
   REDESIGN MODERN HOME - LAM LIPOVA
   Pune acest cod LA FINALUL fișierului style.css
   ========================================================= */

:root {
  --primary: #12346f;
  --primary-2: #0b234d;
  --accent: #d8a326;
  --accent-soft: #fff4d6;
  --secondary: #f5f2ea;
  --text: #111827;
  --muted: #64748b;
  --card: #ffffff;
  --border: rgba(15, 23, 42, 0.10);
  --shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
  --shadow-soft: 0 10px 30px rgba(15, 23, 42, 0.08);
  --radius: 22px;
}

/* Fundal general mai elegant */
body {
  background:
    radial-gradient(circle at top left, rgba(216, 163, 38, 0.12), transparent 28%),
    linear-gradient(180deg, #f8f5ee 0%, #f5f2ea 100%);
  color: var(--text);
}

/* Header modern */
header {
  background: rgba(7, 18, 42, 0.42) !important;
  backdrop-filter: blur(14px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.10) !important;
}

header .navwrap {
  padding: 8px 0;
}

header .logo img {
  height: 42px !important;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.25));
}

header nav ul {
  gap: 8px !important;
}

header nav ul li a {
  color: rgba(255,255,255,.94) !important;
  font-size: 13px !important;
  font-weight: 650;
  padding: 7px 9px !important;
  border-radius: 999px;
}

header nav ul li a:hover {
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
}

/* Dropdown premium */
header nav ul > li.has-dropdown > ul.dropdown {
  top: calc(100% + 12px);
  border-radius: 18px;
  padding: 10px;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 24px 60px rgba(15,23,42,.18);
}

header nav ul > li.has-dropdown > ul.dropdown a {
  color: #0f172a !important;
  border-radius: 12px;
  padding: 10px 12px !important;
  font-size: 14px !important;
}

header nav ul > li.has-dropdown > ul.dropdown a:hover {
  background: rgba(18,52,111,.08) !important;
  color: var(--primary) !important;
}

/* Buton Citește pagina */
.accessibility-tools .btn {
  background: linear-gradient(135deg, var(--accent), #f2c14e) !important;
  color: #111827 !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(216,163,38,.28) !important;
}

/* Banner cinematic */
.banner {
  height: 620px !important;
  background: #081a38;
  overflow: hidden !important;
}

.banner-slide {
  transform: scale(1.05);
  filter: saturate(1.06) contrast(1.04);
}

.banner-overlay {
  background:
    linear-gradient(180deg, rgba(3,10,25,.55) 0%, rgba(3,10,25,.20) 45%, rgba(245,242,234,0) 100%),
    linear-gradient(90deg, rgba(3,10,25,.30), rgba(3,10,25,0)) !important;
}

/* Cardul alb sub banner */
.hero-card {
  width: min(1120px, calc(100% - 36px));
  margin: -92px auto 0;
  position: relative;
  z-index: 20;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,.85) !important;
  border-radius: 32px;
  box-shadow: 0 28px 70px rgba(15,23,42,.18) !important;
}

.hero-card-inner {
  padding: 44px 28px 48px !important;
}

.hero-title {
  font-size: clamp(34px, 5vw, 66px) !important;
  letter-spacing: -1.6px;
  color: #0f172a;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.hero-seal img {
  width: 132px !important;
  height: 132px !important;
  filter: drop-shadow(0 14px 22px rgba(15,23,42,.18));
}

.hero-subtitle {
  font-size: clamp(1.35rem, 2.2vw, 2.15rem) !important;
  color: #A4027C !important;
  max-width: 820px;
}

/* Secțiuni moderne */
main.container {
  padding-top: 46px;
}

.section {
  border-radius: 28px !important;
  padding: 32px !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: var(--shadow-soft) !important;
}

.section h3 {
  font-size: clamp(1.7rem, 2.6vw, 2.35rem) !important;
  letter-spacing: -0.8px;
  color: #0f172a;
}

.section .lead {
  font-size: 1.05rem;
  color: var(--muted);
}

/* Carduri noutăți */
.card {
  border-radius: 22px !important;
  padding: 24px !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfbf8 100%);
  box-shadow: 0 8px 22px rgba(15,23,42,.06);
}

.card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 22px 44px rgba(15,23,42,.13) !important;
}

.card h4 {
  font-size: 1.22rem;
  color: var(--primary);
  margin-bottom: 8px;
}

.card .help {
  color: #64748b;
}

/* Galerie foto modernă */
.image-grid {
  gap: 22px !important;
}

.image-grid figure {
  border-radius: 24px !important;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15,23,42,.10) !important;
  border: 1px solid rgba(15,23,42,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}

.image-grid figure:hover {
  transform: translateY(-7px);
  box-shadow: 0 24px 54px rgba(15,23,42,.16) !important;
}

.image-grid img {
  height: 235px !important;
  transition: transform .5s ease, filter .5s ease;
}

.image-grid figure:hover img {
  transform: scale(1.07);
  filter: saturate(1.1) contrast(1.05);
}

.image-grid figcaption {
  padding: 14px 16px !important;
  font-size: .95rem !important;
  line-height: 1.45;
  color: #334155 !important;
}

/* Footer modern */
footer {
  margin-top: 64px !important;
  background:
    linear-gradient(135deg, #0b234d 0%, #12346f 58%, #1f3c88 100%) !important;
  color: rgba(255,255,255,.92) !important;
  border-top: none !important;
  padding: 46px 0 !important;
}

footer h5 {
  color: #fff !important;
  font-size: 1.1rem;
  margin-bottom: 12px;
}

footer p {
  color: rgba(255,255,255,.78) !important;
}

footer a {
  color: #ffe39b !important;
  text-decoration: none !important;
  font-weight: 700;
}

footer a:hover {
  text-decoration: underline !important;
}

/* Animații mai fine */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s ease, transform .8s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 980px) {
  .banner {
    height: 500px !important;
  }

  header nav ul {
    gap: 6px !important;
  }

  header nav ul li a {
    font-size: 12px !important;
  }

  .hero-card {
    margin-top: -70px;
    border-radius: 26px;
  }
}

@media (max-width: 760px) {
  .banner {
    height: 390px !important;
  }

  .hero-card {
    width: calc(100% - 24px);
    margin-top: -52px;
    border-radius: 22px;
  }

  .hero-card-inner {
    padding: 30px 18px 34px !important;
  }

  .hero-seal img {
    width: 96px !important;
    height: 96px !important;
  }

  .section {
    padding: 22px !important;
    border-radius: 22px !important;
  }

  .image-grid img {
    height: 220px !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
  }
}
/* =========================================================
   CINEMATIC HERO - EFECT UAU
   ========================================================= */

.banner {
  position: relative;
  isolation: isolate;
}

.banner-slide.active {
  animation: cinematicZoom 12s ease-in-out infinite alternate;
}

@keyframes cinematicZoom {
  0% {
    transform: scale(1.04) translateX(0);
  }
  100% {
    transform: scale(1.13) translateX(-18px);
  }
}

.cinematic-layer {
  position: absolute;
  inset: 0;
  z-index: 12;
  pointer-events: none;
  overflow: hidden;
}

/* cercuri luminoase */
.orb {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.32);
  background: radial-gradient(circle, rgba(255,255,255,.18), transparent 62%);
  box-shadow: 0 0 60px rgba(255,255,255,.16);
  animation: floatOrb 9s ease-in-out infinite alternate;
}

.orb-1 {
  width: 310px;
  height: 310px;
  right: 8%;
  top: 18%;
}

.orb-2 {
  width: 170px;
  height: 170px;
  right: 26%;
  top: 42%;
  animation-delay: 1.5s;
}

.orb-3 {
  width: 90px;
  height: 90px;
  left: 9%;
  top: 28%;
  animation-delay: 2.5s;
}

@keyframes floatOrb {
  from {
    transform: translateY(0) rotate(0deg);
    opacity: .55;
  }
  to {
    transform: translateY(-26px) rotate(14deg);
    opacity: .95;
  }
}

/* linii dinamice */
.edu-lines span {
  position: absolute;
  height: 1px;
  width: 260px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
  opacity: .55;
  animation: lineMove 7s linear infinite;
}

.edu-lines span:nth-child(1) {
  top: 30%;
  left: -260px;
}

.edu-lines span:nth-child(2) {
  top: 52%;
  left: -260px;
  animation-delay: 2s;
}

.edu-lines span:nth-child(3) {
  top: 68%;
  left: -260px;
  animation-delay: 4s;
}

@keyframes lineMove {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(150vw);
  }
}

/* elevi stilizați */
.student-scene {
  position: absolute;
  right: 9%;
  bottom: 34px;
  width: 280px;
  height: 230px;
  animation: sceneFloat 6s ease-in-out infinite alternate;
}

@keyframes sceneFloat {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-14px);
  }
}

.student {
  position: absolute;
  bottom: 0;
  width: 72px;
  height: 150px;
  border-radius: 42px 42px 18px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(244,180,0,.90));
  box-shadow: 0 20px 50px rgba(0,0,0,.28);
}

.student::before {
  content: "";
  position: absolute;
  top: -44px;
  left: 13px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(255,255,255,.95);
  box-shadow: inset -8px -8px 0 rgba(216,163,38,.18);
}

.student::after {
  content: "";
  position: absolute;
  top: 46px;
  left: -24px;
  width: 120px;
  height: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  transform: rotate(-10deg);
}

.student-1 {
  left: 18px;
  transform: scale(.86);
  opacity: .82;
}

.student-2 {
  left: 100px;
  height: 174px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(164,2,124,.78));
}

.student-3 {
  left: 188px;
  transform: scale(.78);
  opacity: .78;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(31,60,136,.88));
}

/* apariție cinematică pentru card */
.hero-card {
  animation: heroCardEntrance 1.1s ease both;
}

@keyframes heroCardEntrance {
  from {
    opacity: 0;
    transform: translateY(42px) scale(.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* titlu cu impact */
.hero-title {
  animation: titleReveal 1.2s ease both;
}

.hero-subtitle,
.hero-seal {
  animation: softReveal 1.3s ease both;
}

@keyframes titleReveal {
  from {
    opacity: 0;
    transform: translateY(28px);
    filter: blur(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes softReveal {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* pe telefon ascundem elevii ca să nu aglomereze */
@media (max-width: 820px) {
  .student-scene {
    display: none;
  }

  .orb-1 {
    width: 210px;
    height: 210px;
    right: -60px;
  }

  .orb-2 {
    width: 120px;
    height: 120px;
  }
}
/* Noutate importantă Bacalaureat */
.news-feature {
  position: relative;
  overflow: hidden;
}

.news-feature::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(31,60,136,.08), rgba(244,180,0,.10));
  pointer-events: none;
}

.news-feature > * {
  position: relative;
  z-index: 1;
}

.news-badge {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #1f3c88;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .6px;
}

.news-feature h4 {
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  color: #12346f;
  margin-bottom: 12px;
}

.news-feature .help {
  font-size: 1rem;
  line-height: 1.7;
  color: #334155;
  margin-bottom: 10px;
}

.news-feature .doc-list {
  margin-top: 18px;
}
/* =========================================================
   GLOBAL COLOR THEME - BAC STYLE
   aplică aceeași atmosferă pe toate paginile
   ========================================================= */

:root {
  --primary: #153d86;
  --primary-2: #0b2e68;
  --accent: #f3c64b;
  --accent-soft: #fff7df;
  --secondary: #f6f4ee;
  --text: #0f1f3a;
  --muted: #52647a;
  --card: #ffffff;
  --border: #d9e0ec;
  --shadow: 0 16px 40px rgba(15, 31, 58, 0.10);
  --radius: 24px;
}

/* fundal general */
body {
  background:
    radial-gradient(circle at top left, rgba(21, 61, 134, 0.05), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f6f4ee 100%);
  color: var(--text);
}

/* secțiuni ca în imagine */
.section {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.92), rgba(255,247,223,0.72)) !important;
  border: 1px solid rgba(21,61,134,0.10) !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 42px rgba(15, 31, 58, 0.08) !important;
}

/* titluri */
.section h3,
.page-title,
h1, h2, h3 {
  color: #12346f;
}

/* subtitluri */
.lead,
.help,
.section p {
  color: #1f3554;
}

/* carduri */
.card,
.doc-item,
figure {
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(21,61,134,0.14) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(15,31,58,0.06);
}

/* hover elegant */
.card:hover,
.doc-item:hover,
.image-grid figure:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(15,31,58,0.12) !important;
}

/* badge-uri */
.badge,
.news-badge,
.chip {
  background: #24479b !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  border: none !important;
  box-shadow: 0 8px 18px rgba(36,71,155,0.18);
}

/* butoane / acțiuni */
.btn.primary,
.doc-action {
  background: #f8fbff !important;
  color: #12346f !important;
  border: 1px solid rgba(21,61,134,0.22) !important;
  border-radius: 999px !important;
  font-weight: 800;
}

.btn.primary:hover,
.doc-action:hover {
  background: #12346f !important;
  color: #ffffff !important;
}

/* liste documente */
.doc-list {
  gap: 14px;
}

.doc-item {
  padding: 14px 16px !important;
}

/* footer pe aceeași paletă */
footer {
  background:
    linear-gradient(135deg, #0b2e68 0%, #153d86 65%, #24479b 100%) !important;
  color: rgba(255,255,255,0.9) !important;
  border-top: none !important;
}

footer h5 {
  color: #ffffff !important;
}

footer p {
  color: rgba(255,255,255,0.78) !important;
}

footer a {
  color: #ffe08a !important;
}
/* =========================================================
   PREMIUM HOVER SPOTLIGHT
   ========================================================= */

.card,
.section,
.doc-item,
.image-grid figure {
  position: relative;
  overflow: hidden;
  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

/* spotlight */
.card::before,
.section::before,
.doc-item::before,
.image-grid figure::before {
  content: "";

  position: absolute;

  width: 320px;
  height: 320px;

  left: var(--mouse-x, -999px);
  top: var(--mouse-y, -999px);

  transform: translate(-50%, -50%);

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(243,198,75,.18) 0%,
      rgba(255,247,223,.14) 35%,
      transparent 70%
    );

  opacity: 0;

  transition: opacity .25s ease;

  pointer-events: none;
  z-index: 0;
}

/* activate glow */
.card:hover::before,
.section:hover::before,
.doc-item:hover::before,
.image-grid figure:hover::before {
  opacity: 1;
}

/* keep content above glow */
.card > *,
.section > *,
.doc-item > *,
.image-grid figure > * {
  position: relative;
  z-index: 1;
}

/* lift effect */
.card:hover,
.doc-item:hover,
.image-grid figure:hover {
  transform:
    translateY(-5px)
    scale(1.01);

  box-shadow:
    0 24px 54px rgba(15,31,58,.14);
}

/* section effect */
.section:hover {
  transform: scale(1.005);

  box-shadow:
    0 24px 60px rgba(15,31,58,.12);
}
/* =========================================================
   ORNAMENT ACADEMIC BACKGROUND
   ========================================================= */

/* =========================================================
   FUNDAL ORNAMENTAL - RÂNDURI DECALATE, CU SPAȚIU
   ========================================================= */

html {
  background: #f8f5ee;
}

body {
  background-color: #f8f5ee !important;

  background-image:
    url("../images/background/ornament.jpg"),
    url("../images/background/ornament2.jpg") !important;

  background-repeat:
    repeat,
    repeat !important;

  /* imagine mai mică */
  background-size:
    252px 252px,
    252px 252px !important;

  /* al doilea strat este decalat */
  background-position:
    0 0,
    260px 160px !important;

  background-attachment:
    fixed,
    fixed !important;
}

/* strat crem peste fundal ca să fie mai fin */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(255,255,255,8.80);
  pointer-events: none;
  z-index: -1;
}

/* carduri/secțiuni lizibile peste ornament */
.section,
.card,
.doc-item,
.image-grid figure,
.hero-card {
  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.94),
    rgba(255,247,223,0.78)
  ) !important;

  border: 1px solid rgba(21,61,134,0.12) !important;
  box-shadow: 0 18px 42px rgba(15,31,58,0.08) !important;
}
/* =========================================================
   HOME PAGE COMPLET - DASHBOARD MODERN
   ========================================================= */

.home-layout {
  padding-top: 46px;
}

.home-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  gap: 24px;
  margin-bottom: 28px;
}

.eyebrow {
  display: inline-flex;
  margin-bottom: 8px;
  color: #153d86;
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .9px;
}

.home-news,
.quick-panel {
  margin-top: 0 !important;
}

.compact-news {
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,247,223,.82));
}

.compact-news h4 {
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  color: #12346f;
  margin: 10px 0 12px;
}

.compact-news p {
  color: #1f3554;
  line-height: 1.7;
  margin-bottom: 10px;
}

/* Acces rapid */
.quick-links {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.quick-card {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 10px 14px;
  align-items: center;
  padding: 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(21,61,134,.12);
  box-shadow: 0 8px 24px rgba(15,31,58,.06);
  transition: transform .25s ease, box-shadow .25s ease;
}

.quick-card span {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #fff7df;
  font-size: 22px;
}

.quick-card strong {
  color: #12346f;
  font-size: 1.05rem;
}

.quick-card small {
  color: #52647a;
}

.quick-card:hover {
  transform: translateY(-5px) scale(1.01);
  box-shadow: 0 20px 42px rgba(15,31,58,.13);
}

/* Proiecte */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.feature-card {
  padding: 24px;
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(21,61,134,.12);
  box-shadow: 0 10px 28px rgba(15,31,58,.07);
  transition: transform .25s ease, box-shadow .25s ease;
}

.feature-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 46px rgba(15,31,58,.14);
}

.feature-icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 14px;
  border-radius: 18px;
  background: #fff7df;
  font-size: 27px;
}

.feature-card h4 {
  color: #12346f;
  font-size: 1.25rem;
  margin-bottom: 8px;
}

.feature-card p {
  color: #52647a;
  line-height: 1.65;
}

/* Galerie mai mică, mai premium */
.home-gallery {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  grid-auto-rows: 150px;
  gap: 14px;
}

.home-gallery figure {
  overflow: hidden;
  border-radius: 22px;
  margin: 0;
  box-shadow: 0 10px 28px rgba(15,31,58,.10);
}

.home-gallery figure.big {
  grid-row: span 2;
}

.home-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease, filter .55s ease;
}

.home-gallery figure:hover img {
  transform: scale(1.08);
  filter: saturate(1.08) contrast(1.04);
}

/* Responsive */
@media (max-width: 980px) {
  .home-dashboard {
    grid-template-columns: 1fr;
  }

  .feature-grid {
    grid-template-columns: 1fr;
  }

  .home-gallery {
    grid-template-columns: 1fr 1fr;
  }

  .home-gallery figure.big {
    grid-row: span 1;
  }
}

@media (max-width: 640px) {
  .home-gallery {
    grid-template-columns: 1fr;
    grid-auto-rows: 210px;
  }
}
.banner {
    height: 300px !important;
}

.hero-card {
    margin: -55px auto 0;
}
/* =========================================================
   HOME VARIANTA 2 - SLIDESHOW STÂNGA + NOUTĂȚI DREAPTA
   ========================================================= */

.home-layout {
  padding-top: 32px !important;
}

.home-top {
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: 24px;
  align-items: stretch;
}

/* card slideshow vertical */
.home-slider-card {
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(15,31,58,.16);
  border: 1px solid rgba(255,255,255,.8);
  background: #fff;
}

.home-side-slider {
  width: 100%;
  height: 520px !important;
  margin: 0 !important;
  border-radius: 30px;
  overflow: hidden !important;
}

/* noutăți lângă slideshow */
.home-news {
  margin-top: 0 !important;
  min-height: 520px;
}

.compact-news {
  padding: 22px;
  border-radius: 24px;
}

.compact-news h4 {
  font-size: clamp(1.4rem, 2vw, 2rem);
  color: #12346f;
  margin: 12px 0;
}

.compact-news p {
  line-height: 1.6;
  margin-bottom: 10px;
}

/* acces rapid pe toată lățimea */
.quick-wide {
  margin-top: 24px !important;
}

.quick-links-wide {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 18px;
}

.quick-card {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(21,61,134,.12);
  box-shadow: 0 10px 28px rgba(15,31,58,.07);
  font-size: 1.05rem;
  transition: transform .25s ease, box-shadow .25s ease;
}

.quick-card:hover {
  transform: translateY(-5px) scale(1.01);
  box-shadow: 0 22px 46px rgba(15,31,58,.14);
}

/* responsive */
@media (max-width: 980px) {
  .home-top {
    grid-template-columns: 1fr;
  }

  .home-side-slider {
    height: 320px !important;
  }

  .home-news {
    min-height: auto;
  }

  .quick-links-wide {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .quick-links-wide {
    grid-template-columns: 1fr;
  }

  .home-side-slider {
    height: 260px !important;
  }
}
.banner{
    height:520px !important;
}
.hero{
    padding-bottom:20px;
}

.hero-layout{
    display:grid;
    grid-template-columns:42% 58%;
    gap:24px;

    width:min(1400px,95%);
    margin:40px auto;
}

.hero-slider{
    height:560px;
}

.hero-slider .banner{
    height:100%;
    border-radius:30px;
    overflow:hidden;
}

.hero-side{
    display:flex;
    flex-direction:column;
    gap:24px;
}
.hero-layout {
  display: grid;
  grid-template-columns: 42% 58%;
  gap: 24px;
  width: min(1500px, 95%);
  margin: 40px auto 30px;
  align-items: stretch;
}

.hero-slider {
  min-height: 720px;
}

.hero-slider .banner {
  height: 100% !important;
  border-radius: 30px;
  overflow: hidden !important;
  margin: 0 !important;
}

.hero-side {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.hero-side .section {
  margin-top: 0 !important;
}

.quick-panel {
  flex: 1;
}

.home-news {
  flex: 1.3;
}

@media (max-width: 980px) {
  .hero-layout {
    grid-template-columns: 1fr;
  }

  .hero-slider {
    min-height: 320px;
  }
}
.hero-slider {
  min-height: 665px;
}
.hero-side {
  align-self: start;
}
.quick-panel {
  padding-top: 24px !important;
}

.quick-links {
  margin-top: 10px !important;
}

.quick-card {
  min-height: 70px !important;
}

.hero-layout {
    margin-top: 70px !important;
}

.hero-slider {
  margin-top: 0px;
}

/* Mută butonul mai spre dreapta */
.accessibility-tools{
    margin-left: auto !important;
    margin-right: -90px !important;
}

.news-group{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.news-group h4{
    color:#12346f;
    margin-bottom:10px;
    font-size:1.1rem;
    text-transform:uppercase;
    letter-spacing:1px;
}

.news-link{
    display:block;
    padding:16px 20px;

    background:rgba(255,255,255,.92);

    border:1px solid rgba(21,61,134,.12);

    border-radius:18px;

    color:#12346f;

    font-weight:600;

    transition:.25s;
}

.news-link:hover{
    transform:translateX(6px);
    background:#fff7df;
}
.news-list {
  padding: 26px;
  border-radius: 28px;
  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.94),
    rgba(255,247,223,0.78)
  );
  border: 1px solid rgba(21,61,134,0.12);
  box-shadow: 0 18px 42px rgba(15,31,58,0.08);
}

.news-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.news-group h4 {
  color: #12346f;
  margin-bottom: 8px;
  font-size: 1.15rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.news-link {
  display: block;
  padding: 15px 18px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(21,61,134,0.12);
  border-radius: 16px;
  color: #12346f;
  font-weight: 700;
  transition: .25s;
}

.news-link:hover {
  transform: translateX(6px);
  background: #fff7df;
}

/* ===== ELIMINARE FUNDAL ORNAMENTAL ===== */
body {
    background-image: none !important;
    background-color: #f8f5ee !important;
}

/* ===== FIX SLIDESHOW HOMEPAGE =====
.home .hero-slider {
    height: 665px !important;
    min-height: 665px !important;
}

.home .hero-slider .banner {
    height: 665px !important;
    min-height: 665px !important;
} */

/* ===== FIX SLIDESHOW HOMEPAGE ===== */
.home .hero-slider {
    height: 665px !important;
    min-height: 665px !important;
}

.home .hero-slider .banner {
    height: 665px !important;
    min-height: 665px !important;
}