/* =====================================================================
   CNP Craiova — HEADER instituțional redesenat  (v1.0.0)
   Stil oficial, sobru, clasic-rafinat. Bleumarin + auriu pe fundal alb.
   Încărcat DUPĂ style.css; toate regulile sunt scopate sub `.cnp-hd`
   ca să bată cascada veche prin specificitate (clasă în plus).
   ===================================================================== */

.cnp-hd{
  --hd-navy: #14305d;   /* bleumarin */
  --hd-gold: #a8853c;   /* auriu */
  --hd-ink:  #1b2a47;   /* text */
  --hd-line: #e6e9ef;   /* linii */
  --hd-serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --hd-sans: 'Libre Franklin', 'Inter', Arial, sans-serif;
}

/* ---- Bara header ---------------------------------------------------- */
.cnp-hd.site-header{
  position:sticky; top:0; z-index:200;
  background:#fff;
  border-bottom:3px solid var(--hd-navy);
  box-shadow:0 1px 0 rgba(20,48,93,.04);
}
.cnp-hd.site-header.scrolled{box-shadow:0 6px 18px rgba(20,48,93,.10);}

/* Accent auriu pe ~40% din bordura bleumarin de jos */
.cnp-hd.site-header::after{
  content:""; position:absolute; left:0; bottom:-3px;
  width:40%; height:3px; background:var(--hd-gold);
}

.cnp-hd .header-top{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:8px 14px !important;
  min-height:88px;
  /* mai lat decât plafonul vechi de 1600px → totul încape pe UN rând,
     iar logo-ul ajunge mai spre stânga */
  max-width:1760px !important;
  width:calc(100% - 48px) !important;
}

/* ---- Stema + wordmark (stânga) ------------------------------------- */
.cnp-hd .site-logo{
  display:flex; align-items:center; gap:15px;
  flex:0 0 auto; min-width:0;
  padding:10px 0; text-decoration:none;
  margin-left:-28px;    /* trage stema + titlul mai spre stânga */
  margin-right:34px;    /* gutter garantat: meniul nu poate atinge titlul */
}
.cnp-hd .site-logo img,
.cnp-hd .cnp-hd-emblem{
  width:58px; height:58px; flex:0 0 auto;
  object-fit:contain; border-radius:50%;
}
.cnp-hd .logo-text{display:flex; flex-direction:column; line-height:1; min-width:0;}
.cnp-hd .logo-text strong{
  font-family:var(--hd-serif);
  font-weight:700; text-transform:uppercase;
  color:var(--hd-navy);
  font-size:25px; line-height:1.04; letter-spacing:.04em;
}
.cnp-hd .logo-text small{
  font-family:var(--hd-sans);
  font-weight:600; text-transform:uppercase;
  color:var(--hd-gold);
  font-size:11px; letter-spacing:.15em; margin-top:5px;
}

/* ---- Navigație (centru / dreapta) ---------------------------------- */
.cnp-hd .site-nav{
  display:flex; align-items:center; gap:2px;
  margin-left:auto; flex:0 1 auto;
  flex-wrap:nowrap !important;   /* anulează `.site-nav{flex-wrap:wrap}` din style.css */
  justify-content:flex-end;
}

.cnp-hd .site-nav > a,
.cnp-hd .nav-item > a{
  position:relative;
  display:flex; align-items:center; gap:6px;
  height:auto; padding:10px 11px;
  font-family:var(--hd-sans);
  font-size:15.5px; font-weight:600;
  color:var(--hd-ink); text-decoration:none;
  white-space:nowrap; letter-spacing:.005em;
  border:0; border-bottom:0;
  transition:color .15s;
}
/* underline auriu care apare la hover/activ */
.cnp-hd .site-nav > a::after,
.cnp-hd .nav-item > a::after{
  content:""; position:absolute; left:11px; right:11px; bottom:7px;
  height:2px; background:var(--hd-gold);
  transform:scaleX(0); transform-origin:left center;
  transition:transform .22s ease;
}
.cnp-hd .site-nav > a:hover,
.cnp-hd .nav-item:hover > a,
.cnp-hd .site-nav > a.active,
.cnp-hd .nav-item > a.active{ color:var(--hd-navy); }
.cnp-hd .site-nav > a:hover::after,
.cnp-hd .nav-item:hover > a::after,
.cnp-hd .site-nav > a.active::after,
.cnp-hd .nav-item > a.active::after{ transform:scaleX(1); }

/* caret-ul se rotește la hover */
.cnp-hd .nav-item > a i{
  font-size:11px; color:var(--hd-gold);
  transition:transform .2s ease;
}
.cnp-hd .nav-item:hover > a i{ transform:rotate(180deg); }

/* ---- Buton „GĂSEȘTE NOTAR" (contur auriu) -------------------------- */
.cnp-hd .site-nav > a.nav-cta{
  display:inline-flex; align-items:center; gap:8px;
  align-self:center;
  margin:0 0 0 12px; padding:9px 17px; height:auto;
  font-family:var(--hd-sans);
  font-size:13px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  color:var(--hd-navy); background:#fff;
  border:1.5px solid var(--hd-gold); border-radius:3px;
  transition:background .18s, color .18s, border-color .18s;
}
.cnp-hd .site-nav > a.nav-cta::after{ display:none; }
.cnp-hd .site-nav > a.nav-cta i{
  font-size:15px; color:var(--hd-gold);
  transition:color .18s; transform:none !important;
}
.cnp-hd .site-nav > a.nav-cta:hover{
  background:var(--hd-navy); color:#fff; border-color:var(--hd-navy);
}
.cnp-hd .site-nav > a.nav-cta:hover i{ color:#fff; }

/* ---- Acțiuni dreapta: „Căutare generală" -------------------------- */
.cnp-hd .cnp-hd-actions{ display:flex; align-items:center; flex:0 0 auto; }
.cnp-hd .search-trigger{
  display:inline-flex; align-items:center; gap:8px;
  height:40px; padding:0 12px; margin-left:2px;
  background:transparent; border:0; border-radius:4px; cursor:pointer;
  color:var(--hd-navy);
  transition:background .15s;
}
.cnp-hd .search-trigger i{ font-size:19px; color:var(--hd-gold); }
.cnp-hd .search-trigger-label{
  font-family:var(--hd-sans);
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--hd-ink); white-space:nowrap;
}
.cnp-hd .search-trigger:hover{ background:rgba(20,48,93,.06); }
.cnp-hd .search-trigger:hover .search-trigger-label{ color:var(--hd-navy); }

/* Link de căutare doar pentru panoul mobil (ascuns pe desktop) */
.cnp-hd .cnp-hd-msearch{ display:none; }

/* Hamburger ascuns pe desktop */
.cnp-hd .nav-toggle{ display:none; }

/* Dropdown-urile (subsecțiuni) se deschid SUB bara de meniu, nu suprapuse pe header.
   „Puntea" invizibilă (.nav-item::after) acoperă golul ca dropdown-ul să nu se
   închidă când mouse-ul trece de la item la panou. Doar pe desktop (nav orizontal). */
@media (min-width:1401px){
  .cnp-hd .nav-item > .dropdown{ top:calc(100% + 12px); }
  .cnp-hd .nav-item:has(> .dropdown):hover::after{
    content:""; position:absolute; left:0; right:0; top:100%; height:16px; background:transparent; z-index:299;
  }
}

/* =====================================================================
   CONDENSARE PROGRESIVĂ (desktop îngust) — înainte de hamburger
   ===================================================================== */
@media (max-width:1760px){
  .cnp-hd .logo-text strong{ font-size:22px; }
  .cnp-hd .site-nav > a, .cnp-hd .nav-item > a{ font-size:14.5px; padding:10px 9px; }
  .cnp-hd .site-nav > a::after, .cnp-hd .nav-item > a::after{ left:9px; right:9px; }
  /* „Căutare generală" devine doar iconiță ca să elibereze spațiu pe rând */
  .cnp-hd .search-trigger-label{ display:none; }
  .cnp-hd .search-trigger{ padding:0 8px; }
  .cnp-hd .search-trigger i{ font-size:21px; }
}
@media (max-width:1560px){
  .cnp-hd .header-top{ gap:8px 12px; }
  .cnp-hd .logo-text strong{ font-size:19.5px; letter-spacing:.03em; }
  .cnp-hd .logo-text small{ font-size:10px; letter-spacing:.1em; }
  .cnp-hd .site-logo{ margin-right:20px; gap:12px; }
  .cnp-hd .site-nav > a, .cnp-hd .nav-item > a{ font-size:14px; padding:9px 8px; gap:4px; }
  .cnp-hd .site-nav > a::after, .cnp-hd .nav-item > a::after{ left:8px; right:8px; }
  .cnp-hd .site-nav > a.nav-cta{ margin-left:8px; padding:8px 12px; font-size:12px; letter-spacing:.04em; }
}
@media (max-width:1460px){
  .cnp-hd .logo-text strong{ font-size:18px; }
  .cnp-hd .site-logo img, .cnp-hd .cnp-hd-emblem{ width:52px; height:52px; }
  .cnp-hd .site-logo{ margin-left:-20px; margin-right:16px; }
  .cnp-hd .site-nav > a, .cnp-hd .nav-item > a{ font-size:13.5px; padding:9px 6px; }
  .cnp-hd .site-nav > a::after, .cnp-hd .nav-item > a::after{ left:6px; right:6px; }
  .cnp-hd .site-nav > a.nav-cta{ padding:8px 10px; font-size:11.5px; letter-spacing:.03em; }
}

/* =====================================================================
   HAMBURGER + PANOU MOBIL  (≤1300px)
   `!important` ținteste exact proprietățile pe care le forțează regulile
   vechi din style.css (două blocuri mobile duplicate).
   ===================================================================== */
@media (max-width:1400px){
  .cnp-hd .header-top{ min-height:72px !important; gap:12px; }

  /* Stema + nume: numele se micșorează și se poate înfășura pe 2 rânduri */
  .cnp-hd .site-logo{ flex:1 1 auto; min-width:0; gap:11px; margin-left:-6px; }
  .cnp-hd .site-logo img, .cnp-hd .cnp-hd-emblem{ width:46px !important; height:46px !important; }
  .cnp-hd .logo-text strong{ font-size:16px !important; letter-spacing:.03em; line-height:1.08; white-space:normal; }
  .cnp-hd .logo-text small{ font-size:9px !important; letter-spacing:.1em; white-space:normal; }

  /* Acțiunile din bară dispar (intră în panou) */
  .cnp-hd .cnp-hd-actions{ display:none !important; }

  /* Hamburger vizibil, mereu în cadru, în dreapta */
  .cnp-hd .nav-toggle{
    display:inline-flex !important;
    flex:0 0 auto; margin-left:auto;
    align-items:center; justify-content:center; flex-direction:column;
    width:46px; height:46px; padding:0;
    border:1px solid var(--hd-line); border-radius:5px; background:#fff; cursor:pointer;
    z-index:310;
  }
  .cnp-hd .nav-toggle span{
    display:block; width:24px; height:2px; margin:3px 0;
    background:var(--hd-navy); transition:transform .2s, opacity .2s;
  }

  /* Panoul derulant pe toată lățimea */
  .cnp-hd .site-nav{
    display:none !important;
    position:absolute; top:100%; left:0; right:0; width:100%; margin:0;
    flex-direction:column !important; align-items:stretch !important;
    gap:0 !important;
    background:#fff;
    border-top:1px solid var(--hd-line);
    box-shadow:0 18px 36px rgba(20,48,93,.16);
    max-height:calc(100vh - 72px); overflow-y:auto;
    padding:6px 0; z-index:300;
  }
  .cnp-hd .site-nav.open{ display:flex !important; }

  .cnp-hd .site-nav > a,
  .cnp-hd .site-nav .nav-item > a{
    width:100%; min-height:48px;
    padding:14px 22px !important;
    border:0 !important; border-bottom:1px solid #f0f0f4 !important; border-radius:0 !important;
    background:#fff !important;
    font-size:16px !important; font-weight:600;
    color:var(--hd-ink) !important;
    justify-content:flex-start;
  }
  .cnp-hd .site-nav > a::after,
  .cnp-hd .nav-item > a::after{ display:none !important; }
  .cnp-hd .site-nav > a:hover,
  .cnp-hd .site-nav .nav-item > a:hover,
  .cnp-hd .site-nav .nav-item > a.active{
    background:#f7f9fc !important; color:var(--hd-navy) !important;
  }
  .cnp-hd .site-nav .nav-item{ width:100%; position:static; }
  .cnp-hd .site-nav .nav-item > a{ display:flex; align-items:center; justify-content:space-between; }
  .cnp-hd .site-nav .nav-item > a i{ margin-left:auto; color:var(--hd-gold); }

  /* Acordeon dropdown */
  .cnp-hd .site-nav .dropdown{
    display:none !important; position:static !important;
    width:100%; min-width:0; margin:0;
    border:0 !important; border-radius:0 !important; box-shadow:none !important;
    background:#fafbfc !important; padding:0 !important; overflow:visible;
  }
  .cnp-hd .site-nav .nav-item.open > .dropdown{ display:block !important; }
  .cnp-hd .site-nav .nav-item.open > a i{ transform:rotate(180deg); }
  .cnp-hd .site-nav .dropdown .dd-list{ display:block !important; grid-template-columns:none !important; }
  .cnp-hd .site-nav .dropdown a{
    width:100%;
    padding:13px 22px 13px 40px !important;
    border:0 !important; border-bottom:1px solid #f0f0f4 !important;
    background:#fafbfc !important;
    font-size:15px !important; font-weight:500; color:#4d5e70 !important;
  }
  .cnp-hd .site-nav .dropdown a::before{ display:none !important; }

  /* Buton „Găsește notar" — plin, lățime mare în panou */
  .cnp-hd .site-nav > a.nav-cta{
    order:99; margin:14px 22px 6px !important; width:auto;
    justify-content:center !important;
    background:var(--hd-navy) !important; color:#fff !important;
    border:1.5px solid var(--hd-navy) !important; border-radius:4px;
    padding:14px 16px !important; font-size:13px; letter-spacing:.07em;
  }
  .cnp-hd .site-nav > a.nav-cta i{ color:#fff !important; }

  /* Link „Căutare generală" — în panou, sub buton */
  .cnp-hd .cnp-hd-msearch{
    order:100;
    display:flex !important; align-items:center; justify-content:center; gap:10px;
    width:auto; margin:0 22px 14px; padding:14px 16px;
    background:#fff; border:1.5px solid var(--hd-gold); border-radius:4px;
    font-family:var(--hd-sans);
    font-size:13px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
    color:var(--hd-navy); cursor:pointer;
  }
  .cnp-hd .cnp-hd-msearch i{ font-size:16px; color:var(--hd-gold); }
  .cnp-hd .cnp-hd-msearch:hover{ background:var(--hd-navy); color:#fff; }
  .cnp-hd .cnp-hd-msearch:hover i{ color:#fff; }
}

/* Telefoane mici — nume și mai compact, hamburger garantat în cadru */
@media (max-width:520px){
  .cnp-hd .header-top{ gap:10px; }
  .cnp-hd .site-logo img, .cnp-hd .cnp-hd-emblem{ width:42px !important; height:42px !important; }
  .cnp-hd .logo-text strong{ font-size:14px !important; }
  .cnp-hd .logo-text small{ font-size:8px !important; letter-spacing:.08em; }
  .cnp-hd .nav-toggle{ width:44px; height:44px; }
}

/* Respectă utilizatorii care reduc mișcarea */
@media (prefers-reduced-motion: reduce){
  .cnp-hd .site-nav > a::after,
  .cnp-hd .nav-item > a::after,
  .cnp-hd .nav-item > a i,
  .cnp-hd .site-nav > a.nav-cta{ transition:none !important; }
}
