/* =====================================================================
   CNP Craiova — Pagina „Rolul notarului public" + Footer instituțional
   Clase noi, prefixate, ca să NU intre în conflict cu CSS-ul vechi.
   Paletă: navy #14305d, gold #a8853c (ca header-ul nou).
   ===================================================================== */

/* ---------- Header foto (titlu/subtitlu IDENTICE cu .pg-head) ------- */
.pg-head--photo{
  position:relative;
  background-color:#0D2B4E;
  background-size:cover;
  background-position:center 40%;
  background-repeat:no-repeat;
  overflow:hidden;
}
.pg-head--photo::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(13,43,78,.72) 0%, rgba(13,43,78,.90) 100%);
}
.pg-head--photo > .container{ position:relative; z-index:1; }

/* ---------- Corp: articol + sidebar -------------------------------- */
/* Primul paragraf (intro) cu drop-cap auriu, pe fundal alb */
.notar-article .notar-intro{ font-size:17px; line-height:1.9; color:#3f4d5c; }
.notar-article .dropcap{
  float:left; font-family:'Libre Franklin',Inter,sans-serif; font-weight:700;
  font-size:58px; line-height:.74; color:#a8853c; margin:7px 13px 0 0;
}
.notar-body{ background:#fff; padding:54px 0; }
.notar-layout{
  display:grid; grid-template-columns:minmax(0,1fr) 340px;
  gap:54px; align-items:start;
}
.notar-article p{
  font-family:'Libre Franklin',Inter,sans-serif;
  font-size:16px; line-height:1.95; color:#51617a; margin:0 0 20px;
}
.notar-article p:last-child{ margin-bottom:0; }
.notar-article h2{
  font-family:'Libre Franklin',Inter,sans-serif; font-weight:700;
  font-size:25px; color:#14305d; margin:34px 0 16px;
}

/* Sidebar */
.notar-side{ display:flex; flex-direction:column; gap:22px; position:sticky; top:108px; }

.side-card{
  background:#fff; border:1px solid #e6e9ef; border-radius:9px;
  padding:22px 22px 10px; box-shadow:0 8px 24px rgba(20,48,93,.05);
}
.side-label{
  display:block; font-family:'Libre Franklin',Inter,sans-serif;
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:#a8853c; margin-bottom:6px;
}
.side-links a{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:14px 0; border-bottom:1px solid #eef1f6;
  font-family:'Libre Franklin',Inter,sans-serif; font-size:15px; font-weight:600;
  color:#14305d; text-decoration:none; transition:color .15s;
}
.side-links a:last-child{ border-bottom:0; }
.side-links a i{ color:#a8853c; font-size:15px; transition:transform .15s; }
.side-links a:hover{ color:#a8853c; }
.side-links a:hover i{ transform:translateX(3px); }

.side-cta{ background:#14305d; border-radius:9px; padding:24px 22px; }
.side-cta-label{
  display:block; font-family:'Libre Franklin',Inter,sans-serif;
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:#c9a84c; margin-bottom:10px;
}
.side-cta p{
  font-family:'Libre Franklin',Inter,sans-serif;
  font-size:14px; line-height:1.7; color:#cdd9ea; margin:0 0 18px;
}
.side-cta-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%;
  background:#a8853c; color:#fff;
  font-family:'Libre Franklin',Inter,sans-serif; font-size:13px; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase;
  padding:13px 18px; border-radius:5px; text-decoration:none; transition:background .18s;
}
.side-cta-btn i{ font-size:16px; }
.side-cta-btn:hover{ background:#94702f; color:#fff; }

/* ---------- Valorile profesiei (4 carduri) ------------------------- */
.valori-section{ background:#f3f6fb; padding:58px 0 64px; }
.valori-head{ text-align:center; margin-bottom:40px; }
.valori-overline{
  display:block; font-family:'Libre Franklin',Inter,sans-serif;
  font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:#a8853c; margin-bottom:12px;
}
.valori-head h2{
  font-family:'Libre Franklin',Inter,sans-serif; font-weight:700;
  font-size:30px; color:#14305d; margin:0;
}
.valori-divider{ display:flex; flex-direction:column; align-items:center; gap:4px; margin-top:16px; }
.valori-divider::before,
.valori-divider::after{ content:""; border-top:2px solid #c9a84c; }
.valori-divider::before{ width:46px; }
.valori-divider::after{ width:26px; }

.valori-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.valoare-card{
  background:#fff; border:1px solid #e6e9ef; border-top:3px solid #c9a84c;
  border-radius:9px; padding:26px 22px 24px; box-shadow:0 8px 22px rgba(20,48,93,.05);
}
.vc-icon{
  width:46px; height:46px; border-radius:11px; background:rgba(168,133,60,.12);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.vc-icon i{ font-size:22px; color:#a8853c; }
.valoare-card h3{
  font-family:'Libre Franklin',Inter,sans-serif; font-size:14px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:#14305d; margin:0 0 9px;
}
.valoare-card p{
  font-family:'Libre Franklin',Inter,sans-serif; font-size:14px; line-height:1.7;
  color:#51617a; margin:0;
}

/* =====================================================================
   FOOTER instituțional  (clase .cnp-ft — independent de footer-ul vechi)
   ===================================================================== */
.cnp-ft{ background:#14305d; border-top:3px solid #c9a84c; color:#cdd9ea; }
.cnp-ft-main{
  display:grid; grid-template-columns:1.7fr 1fr 1fr 1.2fr; gap:44px;
  padding:52px 0 42px;
}
.cnp-ft-id{ display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.cnp-ft-id img{ width:54px; height:54px; border-radius:50%; flex:0 0 auto; }
.cnp-ft-name strong{
  display:block; font-family:'Libre Franklin',Inter,sans-serif; font-weight:700;
  font-size:17px; letter-spacing:.04em; text-transform:uppercase; color:#fff; line-height:1.12;
}
.cnp-ft-name small{
  display:block; font-family:'Libre Franklin',Inter,sans-serif;
  font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#c9a84c; margin-top:4px;
}
.cnp-ft-desc{
  font-family:'Libre Franklin',Inter,sans-serif; font-size:14px; line-height:1.8;
  color:#9db1cc; max-width:340px; margin:0;
}
.cnp-ft-col h4{
  font-family:'Libre Franklin',Inter,sans-serif; font-size:11px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:#c9a84c; margin:0 0 16px;
}
.cnp-ft-col a{
  display:block; font-family:'Libre Franklin',Inter,sans-serif; font-size:14px;
  color:#bcccdf; text-decoration:none; margin-bottom:13px; transition:color .15s;
}
.cnp-ft-col a:hover{ color:#fff; }

.cnp-ft-contact p,
.cnp-ft-contact a{
  display:flex; align-items:flex-start; gap:10px;
  font-family:'Libre Franklin',Inter,sans-serif; font-size:14px; line-height:1.5;
  color:#bcccdf; text-decoration:none; margin:0 0 13px;
}
.cnp-ft-contact a:hover{ color:#fff; }
.cnp-ft-contact i{ color:#c9a84c; font-size:16px; margin-top:1px; flex:0 0 auto; }

.cnp-ft-bottom{ border-top:1px solid rgba(255,255,255,.1); }
.cnp-ft-bottom .container{
  display:flex; justify-content:space-between; align-items:center; gap:14px;
  flex-wrap:wrap; padding:18px 0;
}
.cnp-ft-bottom p{
  font-family:'Libre Franklin',Inter,sans-serif; font-size:12.5px; color:#7e93b0; margin:0;
}
.cnp-ft-legal{ display:flex; gap:24px; flex-wrap:wrap; }
.cnp-ft-legal a{
  font-family:'Libre Franklin',Inter,sans-serif; font-size:12.5px;
  color:#9db1cc; text-decoration:none;
}
.cnp-ft-legal a:hover{ color:#fff; }

/* ---------- Responsive --------------------------------------------- */
@media (max-width:1000px){
  .notar-layout{ grid-template-columns:1fr; gap:34px; }
  .notar-side{ position:static; }
  .valori-grid{ grid-template-columns:repeat(2,1fr); }
  .cnp-ft-main{ grid-template-columns:1.4fr 1fr 1fr; }
  .cnp-ft-brand{ grid-column:1 / -1; }
}
@media (max-width:680px){
  .notar-title{ font-size:27px; }
  .notar-lead .dropcap{ font-size:54px; }
  .valori-grid{ grid-template-columns:1fr; }
  .cnp-ft-main{ grid-template-columns:1fr 1fr; }
  .cnp-ft-bottom .container{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:440px){
  .cnp-ft-main{ grid-template-columns:1fr; }
}

/* =====================================================================
   PAGINA „Găsește un notar public" — design 1 (listă + hartă), pe toată
   lățimea paginii; lista arată ~5 notari implicit, scroll dacă sunt mai mulți.
   (păstrează ID-urile/clasele cerute de main.js: #f-judet/#f-loc/#f-name/
    #btn-srch/#nr-count/#nr-scroll/.notar-row/.nr-*/.sel/#cnp-map/#map-ph)
   ===================================================================== */
.gn-hero{ padding-bottom:42px; }
.gn-hero p{ margin-bottom:26px; }

/* Card de căutare elevat, așezat peste fotografie */
.gn-form{
  display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:14px 16px; align-items:end;
  background:#fff; border-radius:12px; padding:20px 22px;
  box-shadow:0 22px 50px rgba(8,22,43,.30);
}
.gn-field{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.gn-field label{
  display:flex; align-items:center; gap:6px;
  font-family:'Libre Franklin',Inter,sans-serif; font-size:11px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:#a8853c;
}
.gn-field label i{ font-size:14px; }
.gn-field select,
.gn-field input{
  width:100%; height:46px; padding:0 14px;
  font-family:'Libre Franklin',Inter,sans-serif; font-size:14px; color:#1b2a47;
  background:#f7f9fc; border:1px solid #e1e6ee; border-radius:8px; outline:none;
  appearance:none; -webkit-appearance:none;
  transition:border-color .15s, box-shadow .15s, background .15s;
}
.gn-field select{
  padding-right:36px; cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2314305d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat; background-position:right 13px center;
}
.gn-field input::placeholder{ color:#9aa7b8; }
.gn-field select:focus,
.gn-field input:focus{
  border-color:#a8853c; background:#fff; box-shadow:0 0 0 3px rgba(168,133,60,.16);
}
.gn-btn{
  height:46px; padding:0 26px; border:0; border-radius:8px; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap;
  background:#a8853c; color:#fff;
  font-family:'Libre Franklin',Inter,sans-serif; font-size:13px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; transition:background .18s, transform .05s;
}
.gn-btn i{ font-size:17px; }
.gn-btn:hover{ background:#94702f; }
.gn-btn:active{ transform:translateY(1px); }

/* Rezultate pe TOATĂ lățimea paginii */
.gn-results{ background:#fff; padding:38px 0 56px; }
.gn-full{ width:100%; padding:0 clamp(16px,3vw,46px); }
.gn-grid{ display:grid; grid-template-columns:minmax(340px,400px) 1fr; gap:26px; align-items:start; }

.gn-list{
  display:flex; flex-direction:column; max-height:614px;
  background:#fff; border:1px solid #e6e9ef; border-radius:12px; overflow:hidden;
  box-shadow:0 10px 28px rgba(20,48,93,.06);
}
.gn-list-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:15px 18px; background:#14305d; color:#fff;
  font-family:'Libre Franklin',Inter,sans-serif; font-size:13px; font-weight:600; letter-spacing:.03em;
}
.gn-list-head i{ color:#c9a84c; margin-right:6px; }
.gn-count{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:28px; height:24px; padding:0 9px; border-radius:20px;
  background:#a8853c; color:#fff; font-size:12px; font-weight:700;
}
/* ~5 notari impliciti; bară de scroll dacă sunt mai mulți */
.gn-scroll{ overflow-y:auto; max-height:560px; }
.gn-empty{ padding:46px 26px; text-align:center; color:#8a99ab; }
.gn-empty i{ display:block; font-size:40px; color:#c9d4e1; margin-bottom:12px; }
.gn-empty p{ font-family:'Libre Franklin',Inter,sans-serif; font-size:14px; line-height:1.65; margin:0; }
.gn-empty strong{ color:#14305d; }

/* Carduri rezultat (generate de main.js: .notar-row) */
.gn-scroll .notar-row{
  padding:16px 18px; border-bottom:1px solid #eef1f6;
  border-left:3px solid transparent; cursor:pointer;
  transition:background .14s, border-color .14s;
}
.gn-scroll .notar-row:last-child{ border-bottom:0; }
.gn-scroll .notar-row:hover{ background:#f7f9fc; border-left-color:#c9a84c; }
.gn-scroll .notar-row.sel{ background:#f3f6fb; border-left-color:#a8853c; }
.gn-scroll .notar-row strong{
  display:block; margin-bottom:7px; line-height:1.25;
  font-family:'Libre Franklin',Inter,sans-serif; font-weight:700; font-size:16px; color:#14305d;
}
.gn-scroll .nr-addr,
.gn-scroll .nr-tel{
  display:flex; align-items:flex-start; gap:7px; margin-top:4px;
  font-family:'Libre Franklin',Inter,sans-serif; font-size:13px; line-height:1.5; color:#5a6b80;
}
.gn-scroll .nr-addr i,
.gn-scroll .nr-tel i{ color:#a8853c; font-size:14px; margin-top:1px; flex:0 0 auto; }
.gn-scroll .nr-jud{
  margin-top:9px;
  font-family:'Libre Franklin',Inter,sans-serif; font-size:11.5px; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:#9aa7b8;
}

/* Harta în ramă rotunjită (izolată ca stacking context) */
.gn-map-wrap{
  position:relative; z-index:0;
  border:1px solid #e6e9ef; border-radius:12px; overflow:hidden;
  box-shadow:0 10px 28px rgba(20,48,93,.07); height:614px;
}
.gn-map-wrap #cnp-map{ width:100%; height:614px; }
.gn-map-wrap .map-placeholder{
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:10px; background:#eef3f8; color:#7e93b0;
}
.gn-map-wrap .map-placeholder i{ font-size:40px; opacity:.6; }
.gn-map-wrap .map-placeholder p{ font-family:'Libre Franklin',Inter,sans-serif; font-size:13px; margin:0; }
.gn-map-link{
  position:absolute; right:14px; bottom:14px; z-index:2;
  display:inline-flex; align-items:center; gap:7px;
  font-family:'Libre Franklin',Inter,sans-serif; font-size:12.5px; font-weight:700;
  color:#fff; text-decoration:none;
  background:linear-gradient(135deg,#1A5EA8,#14305d);
  padding:9px 15px; border-radius:8px; box-shadow:0 8px 18px rgba(13,43,78,.28);
  transition:transform .2s, filter .2s;
}
.gn-map-link:hover{ transform:translateY(-2px); filter:brightness(1.07); color:#fff; }
.gn-map-link i{ font-size:15px; }

@media (max-width:980px){
  .gn-form{ grid-template-columns:1fr 1fr; }
  .gn-btn{ grid-column:1 / -1; }
  .gn-grid{ grid-template-columns:1fr; }
  .gn-map-wrap{ height:420px; }
  .gn-map-wrap #cnp-map{ height:420px; }
  .gn-list{ max-height:none; }
  .gn-scroll{ max-height:420px; }
}
@media (max-width:560px){
  .gn-form{ grid-template-columns:1fr; padding:16px; }
}
