
/* Premium editorial dark theme */
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap');

:root{
  --bg:#0b0b0c;
  --panel:#0f1113;
  --muted:#17181a;
  --text:#efeae3;
  --muted-text:#bfb8aa;
  --accent:#b7a57a;
  --line:#1f2022;
  --radius:14px;
  --container:1200px;
}

*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Arial,-apple-system; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;}
.container{max-width:var(--container);margin:0 auto;padding:2rem 2rem;}

/* Header (logo centered, nav split) */
.site-header .nav-wrap {
  display: flex;
  align-items: center;   /* centru vertical */
  justify-content: space-between; /* spațiu egal între stânga, centru, dreapta */
  gap: 2rem;             /* spațiu între elemente, ajustabil */
}

.brand {
  flex-shrink: 0;        /* sigla nu se micșorează */
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-direction: column-reverse;
  flex-wrap: nowrap;
  height: 200px;         /* dimensiunea siglei */
}

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

.nav-left, .nav-right {
  display: flex;
  align-items: center;
  gap: 3rem;           /* spațiu între linkuri */
}

.nav-left a, .nav-right a {
  text-decoration: none;
  color: #fff;           /* sau culoarea dorită */
  font-weight: 500;
}

/* Hero */
.hero{display:grid;grid-template-columns:1fr 460px;gap:2rem;align-items:center;padding:3rem 0;}
.hero .lead{font-size:1.05rem;color:var(--muted-text);margin-top:.6rem;max-width:56ch;}
.hero h1{font-family:'Crimson Text', Georgia, serif;font-size:clamp(2.2rem, 1.8rem + 2vw, 3.2rem);line-height:1.02;margin:0;font-weight:700;color:var(--text);}

/* buttons */
.btn{display:inline-block;padding:.7rem 1rem;border-radius:10px;text-decoration:none;font-weight:700;border:1px solid rgba(255,255,255,.04);}
.btn-ghost{background:transparent;color:var(--text);}
.btn-primary{background:linear-gradient(180deg,var(--accent), #9f8a4a);color:#0b0b0b;}

/* Cards / Publications grid */
.section-title{font-family:'Crimson Text', Georgia, serif;font-size:1.4rem;margin:0 0 1rem 0;}
.controls{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;}
.controls input, .controls select{background:var(--muted);border:1px solid var(--line);color:var(--text);padding:.55rem .75rem;border-radius:8px;min-width:180px;}

/* responsive square cards grid */
.pub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.1rem;}
.pub-card{
	background:linear-gradient(289deg, rgba(255,255,255,0.08), rgba(0,0,0,0.03));
	border:1px solid rgba(255,255,255,0.02);
	border-radius:12px;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	aspect-ratio:2.7/4;
	justify-content: space-between;
	height:100%;
	transition:transform .28s ease, box-shadow .28s ease;
	cursor:pointer; 
	transition: opacity 0.2s ease, transform 0.2s ease;  
	opacity: 1;  
	transform: scale(1); 
	text-decoration:none !important;
}

.pub-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(0,0,0,.6);}
.pub-cover{flex:0 0 60%;background:#0b0b0b;display:block;height:60%}
.pub-cover img{width:100%;height:100%;object-fit:contain;display:block}
.pub-meta{
	padding:1rem;
	display:flex;
	flex-direction:column;
	justify-content: space-between;
	margin-top:auto;
	gap:.45rem;
	flex:1; 
	text-decoration:none !important;
}

.pub-meta a {
  text-decoration: none !important;
  color: inherit;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s;
}

.pub-meta a:hover {
  border-color: currentColor;
}

.pub-meta h3{font-family:Georgia, serif;margin:0;font-size:1.05rem;color:var(--text); text-decoration:none !important;}
.pub-meta p{margin:0;color:var(--muted-text);font-size:.95rem; text-decoration:none !important;}
.pub-meta .meta-row{
	margin-top:auto;
	font-size:.85rem;
	color:var(--muted-text);
	display:flex;
	justify-content:space-between;
	align-items:center; 
	text-decoration:none !important;
}

/* Book page */
.book-article{display:grid;grid-template-columns:30% 1fr;gap:1.25rem;align-items:start;padding:2rem 0;}
.book-cover img{width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.03)}

/* Peer / team */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;}
.team-card{background:var(--panel);border:1px solid rgba(255,255,255,.02);padding:1rem;border-radius:10px;display:flex;flex-direction:column;align-items:center;text-align:center}

/* Footer */
.site-footer{border-top:1px solid rgba(255,255,255,.02);padding:2rem 0;margin-top:3rem;color:var(--muted-text);font-size:.95rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}

/* Responsive */
@media(max-width:980px){.hero{grid-template-columns:1fr}.nav-wrap{grid-template-columns:1fr auto}.nav-left,.nav-right{display:none}.brand{justify-self:center}}
@media(max-width:520px){.pub-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}; .book-article{grid-template-columns:1fr;}}


.pub-badge{
  position:absolute;
  top:0.6rem; right:0.6rem;
  background:var(--accent);
  color:#0b0b0b;
  font-weight:700;
  font-size:.9rem;
  padding:.25rem .6rem;
  border-radius:6px;
  box-shadow:0 2px 6px rgba(0,0,0,.3);
  transition:0.3s all;
  z-index:2;
}
.pub-badge:hover{
  box-shadow:0 4px 12px rgba(255,215,0,.7);
  transform:scale(1.08);
}
.book-badge{
  display:inline-block;
  background:var(--accent);
  color:#0b0b0b;
  font-weight:700;
  font-size:1rem;
  padding:.35rem .75rem;
  border-radius:6px;
  margin-top:.5rem;
  box-shadow:0 2px 6px rgba(0,0,0,.3);
  transition:0.3s all;
}
.book-badge:hover{
  box-shadow:0 4px 12px rgba(255,215,0,.7);
  transform:scale(1.05);
}
.site-footer .container{max-width:var(--container);margin:0 auto;}

.home-carousel {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 12px;
  background: var(--card-bg);  
  height: 350px; /* înălțime fixă sau poate fi % din viewport */
  width: 100%;
}

.carousel-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.carousel-slide {
  position: absolute; /* suprapunem slide-urile */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* ocupă toată înălțimea containerului */
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  pointer-events: none; /* slide-urile ascunse nu primesc click */
}

.carousel-slide.active {
  opacity: 1;
  pointer-events: auto;
}

.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 12px;
}

.carousel-caption {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  color: #fff;
  background: rgba(0,0,0,0.5);
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-size: 0.9rem;
}

.carousel-prev,
.carousel-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: none;
  font-size: 2rem;
  padding: 0.2rem 0.5rem;
  cursor: pointer;
  border-radius: 50%;
}

.carousel-prev { left: 0.5rem; }
.carousel-next { right: 0.5rem; }

.carousel-prev:hover,
.carousel-next:hover {
  background: rgba(0,0,0,0.8);
}

.gdpr-banner {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  background: rgba(0,0,0,0.85);
  color: #fff;
  padding: 0.6rem 1rem;
  border-radius: 8px;
  font-size: 0.9rem;
  z-index: 9999;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  font-family: "Segoe UI", sans-serif;
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

.gdpr-banner.show {
  opacity: 1;
  pointer-events: auto;
}

.gdpr-banner button {
  background: #ffd700;
  border: none;
  padding: 0.3rem 0.6rem;
  cursor: pointer;
  border-radius: 4px;
  font-weight: bold;
}
