:root{
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-2:#f8fbff;
  --text:#1b2436;
  --muted:#66748a;
  --line:#d8e1ec;

  --accent:#1f6fb5;
  --accent-2:#2d8fe2;
  --accent-dark:#17578f;

  --red:#d62839;
  --red-dark:#b61f2f;

  --shadow:0 14px 34px rgba(20,33,61,.08);
  --shadow-soft:0 8px 20px rgba(20,33,61,.05);

  --radius:20px;
  --radius-sm:14px;
}

*{box-sizing:border-box}

html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body{
  margin:0;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  background:
    linear-gradient(180deg,#f8fbff 0%,#f4f7fb 100%);
  color:var(--text);
  line-height:1.6;
  font-size:14px;
}

a{
  color:var(--accent);
  text-decoration:none;
  transition:all .2s ease;
}

a:hover{
  color:var(--accent-dark);
}

img{
  max-width:100%;
  display:block;
}

.container{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  box-shadow:0 4px 18px rgba(20,33,61,.04);
}

.filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:14px;
  margin:0 0 16px;
}

.filters a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--accent);
  font-weight:600;
  box-shadow:var(--shadow-soft);
}

.filters a.active{
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);
  color:#fff;
  border-color:transparent;
}


/* hover efect */
.zoomable{
  cursor: zoom-in;
  transition: transform .2s ease;
}

.zoomable:hover{
  transform: scale(1.03);
}

/* lightbox */
#lightbox{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;

  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}

#lightbox.open{
  opacity: 1;
  pointer-events: auto;
}

#lightbox img{
  max-width: 90%;
  max-height: 90%;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}


.counties-grid .card img{
  width:100%;
  height:200px;
  object-fit:contain;
  background:#f5f7fb;
  padding:12px;
}

.counties-grid .card:hover img{
  transform:scale(1.05);
  transition:transform .3s ease;
}

.counties-grid .card{
  text-align:center;
}

.counties-grid .card-body{
  padding:12px 16px 16px;
}

.counties-grid .card h3{
  font-size:1rem;
  margin-top:6px;
}



.topbar{
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 0;
  flex-wrap:nowrap;
}

.brand{
  display:flex;
  align-items:center;
  color:var(--text);
  font-weight:800;
  flex-shrink:0;
}

.brand img{
  display:block;
  max-height:58px;
  width:auto;
}

.nav{
  display:flex;
  flex:1;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  overflow:hidden;
  min-width:0;
}

.nav a{
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--text);
  font-weight:600;
  font-size:.95rem;
  line-height:1.1;
  white-space:nowrap;
  box-shadow:var(--shadow-soft);
  flex-shrink:1;
}

.nav a:hover{
  border-color:#c7d5e6;
  transform:translateY(-1px);
}

.nav a.active{
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);
  color:#fff;
  border-color:transparent;
  box-shadow:0 10px 22px rgba(31,111,181,.22);
}

.lang-switch{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}

.lang-switch a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 10px;
  border:1px solid rgba(214,40,57,.22);
  border-radius:999px;
  background:#fff;
  color:var(--red);
  font-weight:700;
  font-size:.82rem;
  line-height:1;
  box-shadow:none;
}

.lang-switch a:hover{
  color:var(--red-dark);
  border-color:rgba(214,40,57,.38);
  background:#fff7f8;
  transform:none;
}

.lang-switch a.active{
  background:var(--red);
  color:#fff;
  border-color:var(--red);
  box-shadow:0 10px 22px rgba(214,40,57,.18);
}

.mobile-toggle{
  display:none;
  border:0;
  background:transparent;
  color:var(--red);
  font-size:42px;
  line-height:1;
  padding:2px 4px;
  cursor:pointer;
  box-shadow:none;
  margin-left:auto;
}

.mobile-toggle:hover{
  background:transparent;
  color:var(--red-dark);
  transform:none;
}

main.container{
  margin-top:24px;
}

.hero,
.article,
.list-item,
.card,
.page-head,
.filters,
.site-footer .footer-inner{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start;
    padding: 32px;
    background: #f7f7f7;
    border: 1px solid #dfe5ec;
    border-radius: 24px;
    margin-top: 32px;
}

.hero-copy,
.hero-media-wrap {
    padding-top: 0;
}

.hero-copy .eyebrow {
    display: inline-block;
    margin-bottom: 12px;
}

.hero-copy h1 {
    margin: 0 0 20px;
}

.hero-copy .prose {
    margin: 0;
}

.hero-media-wrap {
    overflow: hidden;
    height: 780px; /* se calculează și din JS pentru 3 imagini */
    position: relative;
}

.hero-media {
    display: flex;
    flex-direction: column;
    gap: 16px;
    will-change: transform;
}

.hero-media img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 20px;
    display: block;
    flex-shrink: 0;
}

/* fără scrollbar, dacă ajunge cumva să existe */
.hero-media-wrap,
.hero-media {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.hero-media-wrap::-webkit-scrollbar,
.hero-media::-webkit-scrollbar {
    display: none;
}

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--red);
  font-size:.74rem;
  font-weight:800;
  margin-bottom:8px;
}

h1,h2,h3{
  line-height:1.12;
  margin:0 0 10px;
  color:#4a5565;
}

h1{
  font-size:clamp(1.5rem,2.5vw,2.2rem);
  letter-spacing:-0.02em;
}

h2{
  font-size:clamp(1.2rem,1.7vw,1.6rem);
  letter-spacing:-0.02em;
  margin-bottom:4px;
}

h3{
  font-size:1rem;
}

p{
  margin:0 0 12px;
}

.section{
  margin:28px 0;
}

.section-head,
.page-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:18px;
  padding:20px 24px;
  margin-bottom:10px;
}

.section-head p,
.page-head p{
  margin-bottom:0;
}

.grid{
  display:grid;
  gap:16px;
}

.cards{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

.card{
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}

.card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 36px rgba(20,33,61,.11);
}

.card img{
  height:190px;
  object-fit:cover;
}

.card-body{
  padding:18px;
}

.prose{
  color:var(--text);
}

.prose p,
.prose li{
  color:var(--text);
}

.prose ul{
  padding-left:20px;
}

.filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:14px;
  margin:0 0 16px;
}

.stack{
  display:grid;
  gap:14px;
}

.list-item{
  display:flex;
  justify-content:space-between;
  align-items:start;
  gap:18px;
  padding:20px 22px;
}

.list-item.vertical{
  display:block;
}

.article{
  padding:28px;
  margin:24px 0;
}

.back-link{
  display:inline-block;
  margin-bottom:16px;
  font-weight:600;
}

.gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
  margin-top:20px;
}

.gallery img{
  border-radius:18px;
  height:220px;
  width:100%;
  object-fit:cover;
}

.gallery-item figcaption{
  margin-top:8px;
  color:var(--muted);
  font-size:.92rem;
}

.meta{
  color:var(--muted);
  margin:0 0 14px;
  font-size:.95rem;
}

.site-footer{
  padding:22px 0 34px;
}

.footer-inner{
  padding:16px 22px;
  color:var(--muted);
}

.no-style-link{
  color:inherit;
  text-decoration:none;
}

.no-style-link:hover{
  color:inherit;
  text-decoration:none;
}

@media (max-width:980px){
  .topbar{
    flex-wrap:wrap;
    gap:12px;
    align-items:flex-start;
  }

  .brand{
    flex:0 0 auto;
    order:1;
  }

  .mobile-toggle{
    display:block;
    order:2;
    margin-left:auto;
  }

  .lang-switch{
    display:none;
    order:3;
    width:100%;
    justify-content:flex-start;
    gap:8px;
    padding:0;
    margin-top:-2px;
  }

  .site-header.menu-open .lang-switch{
    display:flex;
  }

  .lang-switch a{
    min-width:36px;
    height:36px;
    font-size:.78rem;
  }

  .nav{
    display:none;
    order:4;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-top:8px;
    padding:14px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:0 18px 40px rgba(20,33,61,.10);
    overflow:visible;
  }

  .nav.open{
    display:flex;
  }

  .nav a{
    width:100%;
    padding:14px 16px;
    border-radius:14px;
    font-size:1rem;
    white-space:normal;
    box-shadow:none;
  }
}

@media (max-width:680px){
  .hero,
  .article{
    padding:20px;
  }

  .hero{
    grid-template-columns:1fr;
    gap:20px;
  }

  .hero-copy,
  .hero-media-wrap{
    width:100%;
  }

  .hero-media-wrap{
    height:640px;
    overflow:hidden;
    position:relative;
  }

  .hero-media{
    display:flex;
    flex-direction:column;
    gap:16px;
    will-change:transform;
  }

  .hero-media img{
    height:200px;
    object-fit:cover;
    flex-shrink:0;
  }

  .section-head,
  .page-head{
    display:block;
    padding:18px 18px;
    margin-bottom:8px;
  }

  .list-item{
    display:block;
  }

  .button-link{
    display:inline-block;
    margin-top:10px;
  }

  .card img,
  .gallery img{
    height:auto;
  }

  .card-body{
    padding:16px;
  }

  h1{
    font-size:clamp(1.6rem,6vw,2.2rem);
  }
  
}

/* =========================
   LEGAL PAGES (privacy, cookies, legal)
========================= */

.article .prose{
  max-width: 760px;
  margin: 0 auto;
  color: #3e4a5a; /* gri mai cald */
  font-size: 14px;
  line-height: 1.7;
}

/* Titluri mai elegante */
.article .prose h2{
  font-size: 1.05rem;
  font-weight: 600;
  margin-top: 26px;
  margin-bottom: 8px;
  color: #2c3746;
  letter-spacing: -0.01em;
}

/* Primul titlu mai aerisit */
.article .prose h2:first-of-type{
  margin-top: 10px;
}

/* Paragrafe mai soft */
.article .prose p{
  margin-bottom: 12px;
  color: #4a5565;
}

/* Linkuri discrete */
.article .prose a{
  color: #5c7fa3;
}

.article .prose a:hover{
  color: #3d6d9a;
}

/* Spațiu între secțiuni */
.article .prose h2 + p{
  margin-top: 4px;
}

/* Contact block mai lizibil */
.article .prose strong{
  color: #2c3746;
}

/* Linie subtilă între secțiuni */
.article .prose h2{
  padding-top: 12px;
  border-top: 1px solid #e6edf5;
}

/* fără linie pe primul */
.article .prose h2:first-of-type{
  border-top: none;
}

@media (max-width:680px){
  .article .prose{
    font-size: 13.5px;
  }
}


/* =========================
   LEGAL LINKS
========================= */

.legal-links{
  text-align:center;
  font-size:10px;
  color:#555;
  margin:20px 0 30px;

  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.legal-links a{
  color:inherit;
  text-decoration:none;
  transition:opacity .2s ease;
}

.legal-links a:hover{
  opacity:.7;
}

.legal-links .sep{
  opacity:.4;
}

/* =========================
   PARTNER LOGOS
========================= */

.partner-logos{
  display:flex;
  justify-content:center; /* centru orizontal */
  align-items:center;      /* centru vertical */
  gap:30px;
  flex-wrap:wrap;
  margin:30px auto;         /* IMPORTANT */
  text-align:center;        /* fallback */
}

.partner-logos a{
  display:flex;
  justify-content:center;
  align-items:center;
}


.partner-logos img{
  max-height:61px;
  width:auto;
  display:block;
}

/* =========================
   MOBILE (IMPORTANT)
========================= */

@media (max-width: 600px){

  /* LOGOS -> una sub alta */
  .partner-logos{
    flex-direction:column;
    gap:20px;
  }

  /* LINKURI -> una sub alta */
  .legal-links{
    flex-direction:column;
    gap:8px;
  }

  /* ascunde separatorii pe mobil */
  .legal-links .sep{
    display:none;
  }

  .partner-logos{
    flex-direction:column;
    gap:20px;
     justify-content:center; /* centru orizontal */
  align-items:center;
  
}


}