/* =====================================================================
   CNP Craiova — Pagina „Conducere" · design UNIC (editorial / prestige)
   Identitate distinctă față de restul secțiunii Despre Cameră:
   tipografie serif (Playfair Display), fundal ivory, organigramă,
   medalion prezidențial, atribuții în taburi, istoric prestige.
   Clase prefixate .cd-* — nu se intersectează cu .dc-*.
   ===================================================================== */

:root{
  --cd-navy:#0D2B4E;
  --cd-navy-2:#163a6c;
  --cd-gold:#C9A84C;
  --cd-gold-2:#a8853c;
  --cd-ivory:#FBF8F1;
  --cd-ink:#4a576b;
  --cd-line:#ece4d4;
  --cd-serif:'Playfair Display','Cormorant Garamond',Georgia,serif;
  --cd-sans:'Libre Franklin','Inter',Arial,sans-serif;
}

.cd-wrap{ background:#fff; }
.cd-sec{ padding:74px 0; }
.cd-sec.cream{ background:var(--cd-ivory); }
.cd-sec.navy{
  position:relative; overflow:hidden;
  background:radial-gradient(130% 130% at 50% -10%,var(--cd-navy-2) 0%,var(--cd-navy) 60%);
  color:#d6e0ee;
}
.cd-sec.navy::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:radial-gradient(rgba(201,168,76,.08) 1px,transparent 1px);
  background-size:26px 26px;
}
.cd-sec.navy > .container{ position:relative; z-index:1; }
.cd-narrow{ max-width:880px; margin-inline:auto; }

/* ---------- Antet de secțiune (eyebrow + titlu serif) -------------- */
.cd-head{ text-align:center; margin-bottom:46px; }
.cd-eyebrow{
  display:inline-flex; align-items:center; gap:14px;
  font-family:var(--cd-sans); font-size:11.5px; font-weight:700;
  letter-spacing:.26em; text-transform:uppercase; color:var(--cd-gold-2); margin-bottom:18px;
}
.cd-eyebrow::before, .cd-eyebrow::after{ content:""; width:34px; height:1px; background:var(--cd-gold); opacity:.7; }
.cd-sec.navy .cd-eyebrow{ color:var(--cd-gold); }
.cd-h2{
  font-family:var(--cd-serif); font-weight:700; font-size:clamp(28px,3.6vw,42px);
  line-height:1.12; color:var(--cd-navy); margin:0; letter-spacing:-.01em;
}
.cd-sec.navy .cd-h2{ color:#fff; }
.cd-intro{
  max-width:720px; margin:20px auto 0;
  font-family:var(--cd-sans); font-size:16.5px; line-height:1.85; color:var(--cd-ink);
}
.cd-sec.navy .cd-intro{ color:#b7c6dc; }

/* ---------- Organigramă (cele 3 organe, flux vertical) ------------- */
.cd-structure{ max-width:760px; margin:0 auto; }
.cd-org{
  position:relative; display:flex; align-items:center; gap:24px;
  background:#fff; border:1px solid var(--cd-line); border-radius:16px;
  padding:24px 28px; box-shadow:0 14px 34px rgba(13,43,78,.06);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.cd-org + .cd-org{ margin-top:54px; }
/* conector vertical auriu între niveluri */
.cd-org + .cd-org::before{
  content:""; position:absolute; left:50%; top:-54px; width:2px; height:54px;
  background:linear-gradient(180deg,var(--cd-gold),rgba(201,168,76,.2));
}
.cd-org + .cd-org::after{
  content:""; position:absolute; left:50%; top:-9px; width:11px; height:11px; transform:translateX(-50%) rotate(45deg);
  background:var(--cd-gold); border-radius:2px;
}
.cd-org:hover{ transform:translateY(-4px); box-shadow:0 26px 50px rgba(13,43,78,.13); border-color:#dccfa9; }
.cd-org-num{
  flex:0 0 auto; width:64px; height:64px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--cd-serif); font-size:26px; font-weight:700; color:var(--cd-gold-2);
  background:radial-gradient(circle at 30% 25%,#fff,#f6efdd); border:1px solid var(--cd-line);
  box-shadow:inset 0 0 0 4px rgba(201,168,76,.10);
}
.cd-org-body{ flex:1 1 auto; min-width:0; }
.cd-org-kicker{
  display:block; font-family:var(--cd-sans); font-size:11px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--cd-gold-2); margin-bottom:5px;
}
.cd-org-body h3{ font-family:var(--cd-serif); font-size:23px; font-weight:700; color:var(--cd-navy); margin:0 0 6px; }
.cd-org-body p{ font-family:var(--cd-sans); font-size:14.5px; line-height:1.65; color:var(--cd-ink); margin:0; }
.cd-org-ic{ flex:0 0 auto; width:50px; height:50px; border-radius:13px; display:flex; align-items:center; justify-content:center;
  background:var(--cd-navy); color:var(--cd-gold); font-size:24px; }

/* ---------- Președinte: medalion + conținut (featured) ------------- */
.cd-president{ display:grid; grid-template-columns:280px 1fr; gap:50px; align-items:center; }
.cd-medallion{
  position:relative; width:240px; height:240px; margin:0 auto; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 32% 28%,#1d4578,var(--cd-navy));
  box-shadow:0 26px 56px rgba(13,43,78,.4);
}
.cd-medallion::before{
  content:""; position:absolute; inset:-10px; border-radius:50%;
  border:2px solid rgba(201,168,76,.55);
}
.cd-medallion::after{
  content:""; position:absolute; inset:-3px; border-radius:50%;
  border:6px solid transparent; border-top-color:var(--cd-gold); border-right-color:var(--cd-gold);
  animation:cd-rotate 14s linear infinite;
}
@media (prefers-reduced-motion:reduce){ .cd-medallion::after{ animation:none; } }
@keyframes cd-rotate{ to{ transform:rotate(360deg); } }
.cd-medallion .cd-monogram{ font-family:var(--cd-serif); font-size:74px; font-weight:700; color:#fff; }
.cd-medallion img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }
.cd-pr-label{
  display:inline-block; font-family:var(--cd-sans); font-size:11.5px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase; color:var(--cd-gold-2); margin-bottom:12px;
}
.cd-pr-name{ font-family:var(--cd-serif); font-size:clamp(30px,4vw,46px); font-weight:700; color:var(--cd-navy); margin:0 0 16px; line-height:1.05; }
.cd-pr-tenure{
  display:inline-flex; align-items:center; gap:9px; margin-bottom:20px;
  font-family:var(--cd-sans); font-size:13px; font-weight:700; letter-spacing:.04em;
  color:var(--cd-navy); background:rgba(201,168,76,.16); border:1px solid rgba(201,168,76,.4);
  padding:8px 16px; border-radius:999px;
}
.cd-pr-tenure i{ color:var(--cd-gold-2); }
.cd-pr-desc{ font-family:var(--cd-sans); font-size:16px; line-height:1.85; color:var(--cd-ink); margin:0; max-width:560px; }

/* ---------- Reprezentanți U.N.N.P.R. (panouri serif) --------------- */
.cd-reps{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.cd-rep{
  position:relative; background:#fff; border:1px solid var(--cd-line); border-radius:16px;
  padding:30px 30px 30px 34px; box-shadow:0 14px 34px rgba(13,43,78,.06);
  transition:transform .3s ease, box-shadow .3s ease;
}
.cd-rep::before{ content:""; position:absolute; left:0; top:26px; bottom:26px; width:4px; border-radius:4px;
  background:linear-gradient(180deg,var(--cd-gold),var(--cd-gold-2)); }
.cd-rep:hover{ transform:translateY(-5px); box-shadow:0 26px 50px rgba(13,43,78,.13); }
.cd-rep .cd-rep-role{ display:block; font-family:var(--cd-sans); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--cd-gold-2); margin-bottom:8px; }
.cd-rep h3{ font-family:var(--cd-serif); font-size:24px; font-weight:700; color:var(--cd-navy); margin:0 0 10px; }
.cd-rep p{ font-family:var(--cd-sans); font-size:14.5px; line-height:1.7; color:var(--cd-ink); margin:0; }

/* ---------- Colegiul director: roster cu rang --------------------- */
.cd-roster{ display:grid; grid-template-columns:repeat(5,1fr); gap:22px; }
.cd-member{
  position:relative; text-align:center; background:#fff; border:1px solid var(--cd-line);
  border-radius:16px; padding:34px 18px 26px; box-shadow:0 12px 30px rgba(13,43,78,.05);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.cd-member:hover{ transform:translateY(-6px); box-shadow:0 28px 54px rgba(13,43,78,.14); border-color:#dccfa9; }
.cd-member-rank{
  position:absolute; top:14px; left:16px; font-family:var(--cd-serif); font-size:15px; font-weight:700;
  color:var(--cd-gold-2); opacity:.8;
}
.cd-portrait{
  width:92px; height:92px; margin:0 auto 16px; border-radius:50%;
  background:radial-gradient(circle at 30% 28%,#1d4578,var(--cd-navy));
  display:flex; align-items:center; justify-content:center; position:relative;
  box-shadow:0 12px 26px rgba(13,43,78,.22);
}
.cd-portrait .cd-mono{ font-family:var(--cd-serif); font-size:34px; font-weight:700; color:#cfe0f5; }
.cd-portrait img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }
.cd-member.lead .cd-portrait{ background:radial-gradient(circle at 30% 28%,#e7c769,var(--cd-gold-2)); }
.cd-member.lead .cd-portrait .cd-mono{ color:#fff; }
.cd-member.lead{ border-color:rgba(201,168,76,.5); }
.cd-member.lead::after{ content:""; position:absolute; left:0; right:0; top:0; height:3px; border-radius:16px 16px 0 0;
  background:linear-gradient(90deg,var(--cd-gold),var(--cd-gold-2)); }
.cd-member strong{ display:block; font-family:var(--cd-serif); font-size:17px; font-weight:700; color:var(--cd-navy); line-height:1.25; }
.cd-member span{ display:inline-block; margin-top:9px; font-family:var(--cd-sans); font-size:11px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:#6c7e95; }
.cd-member.lead span{ color:var(--cd-gold-2); }

/* ---------- Atribuții: taburi interactive -------------------------- */
.cd-tabs{ max-width:980px; margin:0 auto; }
.cd-tablist{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:30px; }
.cd-tab{
  cursor:pointer; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.05);
  color:#c4d2e6; font-family:var(--cd-sans); font-size:14px; font-weight:600;
  padding:13px 24px; border-radius:999px; display:inline-flex; align-items:center; gap:9px;
  transition:all .22s ease;
}
.cd-tab i{ color:var(--cd-gold); font-size:17px; }
.cd-tab:hover{ background:rgba(255,255,255,.1); color:#fff; transform:translateY(-2px); }
.cd-tab.is-active{
  background:linear-gradient(135deg,var(--cd-gold),var(--cd-gold-2)); color:#fff; border-color:transparent;
  box-shadow:0 12px 26px rgba(201,168,76,.34);
}
.cd-tab.is-active i{ color:#fff; }
.cd-panel{ display:none; }
.cd-panel.is-active{ display:block; animation:cd-fade .45s ease; }
@keyframes cd-fade{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
.cd-panel-card{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:18px;
  padding:34px 40px;
}
.cd-panel-card h3{ font-family:var(--cd-serif); font-size:24px; font-weight:700; color:#fff; margin:0 0 6px; }
.cd-panel-card .cd-panel-sub{ font-family:var(--cd-sans); font-size:14px; color:#a9bbd4; margin:0 0 22px; }
.cd-atrib{ list-style:none; margin:0; padding:0; counter-reset:atr; column-gap:48px; }
.cd-atrib.two{ columns:2; }
.cd-atrib li{
  counter-increment:atr; position:relative; padding:0 0 16px 40px; break-inside:avoid;
  font-family:var(--cd-sans); font-size:14.5px; line-height:1.65; color:#cdd9ea;
}
.cd-atrib li::before{
  content:counter(atr,lower-alpha); position:absolute; left:0; top:1px;
  width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--cd-serif); font-size:13px; font-weight:700; color:var(--cd-gold);
  background:rgba(201,168,76,.14); border:1px solid rgba(201,168,76,.35);
}

/* ---------- Istoric președinți (prestige, vertical) --------------- */
.cd-history{ max-width:760px; margin:0 auto; }
.cd-hrow{
  display:grid; grid-template-columns:150px 1fr; gap:26px; align-items:center;
  padding:22px 0; border-bottom:1px solid var(--cd-line);
}
.cd-hrow:last-child{ border-bottom:0; }
.cd-hyear{
  font-family:var(--cd-serif); font-size:19px; font-weight:700; color:var(--cd-gold-2);
  text-align:right; letter-spacing:.01em;
}
.cd-hname{ position:relative; padding-left:30px; font-family:var(--cd-serif); font-size:21px; font-weight:700; color:var(--cd-navy); }
.cd-hname::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:11px; height:11px; border-radius:50%; background:#fff; border:3px solid var(--cd-gold-2); }
.cd-hrow.now .cd-hname::before{ background:var(--cd-navy); border-color:var(--cd-navy); box-shadow:0 0 0 4px rgba(13,43,78,.12); }
.cd-hrow.now .cd-hname::after{
  content:"în funcție"; margin-left:14px; font-family:var(--cd-sans); font-size:10.5px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; vertical-align:middle;
  background:var(--cd-gold); color:#fff; padding:3px 10px; border-radius:999px;
}

/* ---------- Responsive --------------------------------------------- */
@media (max-width:900px){
  .cd-president{ grid-template-columns:1fr; gap:30px; text-align:center; }
  .cd-pr-desc{ margin-inline:auto; }
  .cd-reps{ grid-template-columns:1fr; }
  .cd-roster{ grid-template-columns:repeat(2,1fr); }
  .cd-atrib.two{ columns:1; }
  .cd-panel-card{ padding:26px 22px; }
}
@media (max-width:600px){
  .cd-sec{ padding:52px 0; }
  .cd-org{ flex-direction:column; text-align:center; gap:14px; }
  .cd-roster{ grid-template-columns:1fr; }
  .cd-hrow{ grid-template-columns:1fr; gap:6px; }
  .cd-hyear{ text-align:left; }
  .cd-hname{ padding-left:0; }
  .cd-hname::before{ display:none; }
}
