/* =========================================================================
   Salpitflor Green Pitești — foaie de stil principală
   Paletă: verde frunziș instituțional + roșu-lalea (identitate Pitești,
   "orașul lalelelor"), pe fundal hârtie caldă. Tipografie: Fraunces
   (titluri, caracter organic) + Public Sans (corp text, tipul de literă
   folosit de site-urile guvernamentale — potrivit unei companii publice).
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Public+Sans:wght@400;500;600;700&display=swap');

:root{
  /* culori */
  --green-950:#132621;
  --green-900:#1f4b3f;
  --green-800:#2a5f4e;
  --green-600:#3f7a5c;
  --green-100:#e4efe7;
  --tulip-600:#c8372b;
  --tulip-700:#a92c22;
  --paper:#f7f5f0;
  --paper-dim:#efece4;
  --ink:#1b2420;
  --ink-soft:#4a5751;
  --line:#dcd6c8;
  --white:#ffffff;

  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --radius:10px;
  --shadow-sm:0 1px 3px rgba(19,38,33,.08);
  --shadow-md:0 8px 24px rgba(19,38,33,.14);
  --shadow-lg:0 20px 50px rgba(19,38,33,.22);

  --header-h:76px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  overflow-x:hidden;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--tulip-700);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--green-950);
  line-height:1.15;
  margin:0 0 .5em;
  font-weight:600;
}
p{margin:0 0 1em;}
:focus-visible{outline:3px solid var(--tulip-600);outline-offset:2px;}

.skip-link{
  position:absolute;left:-999px;top:0;background:var(--green-950);color:#fff;
  padding:.75rem 1.25rem;z-index:999;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}

/* ---------------------------------------------------------------------
   Bară utilitară (deasupra header-ului)
   --------------------------------------------------------------------- */
.utility-bar{
  background:var(--green-950);
  color:var(--green-100);
  font-size:.8125rem;
}
.utility-bar__inner{
  max-width:1180px;margin:0 auto;padding:.4rem 1.25rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.utility-bar a{color:var(--green-100);opacity:.9;}
.utility-bar a:hover{opacity:1;}

/* ---------------------------------------------------------------------
   Header + navigare
   --------------------------------------------------------------------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--green-900);
  box-shadow:var(--shadow-sm);
}
.site-header__inner{
  max-width:1760px;margin:0 auto;padding:0 1.25rem;
  display:flex;align-items:center;gap:1rem;
  min-height:var(--header-h);
}
.brand{
  display:flex;align-items:center;gap:.7rem;
  color:#fff;margin-right:auto;flex:none;
}
.brand:hover{text-decoration:none;}
.brand__mark{
  width:calc(var(--header-h) - 20px);height:calc(var(--header-h) - 20px);
  flex:none;object-fit:contain;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));
}
.brand__text{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap;}
.brand__name{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:.2px;white-space:nowrap;}
.brand__tag{font-size:.72rem;color:var(--green-100);opacity:.85;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;}

.nav-toggle{
  display:none;
  background:transparent;border:0;color:#fff;
  width:44px;height:44px;border-radius:8px;cursor:pointer;
  align-items:center;justify-content:center;
}
.nav-toggle:hover{background:rgba(255,255,255,.1);}
.nav-toggle svg{width:24px;height:24px;}

.main-nav{}
.main-nav__list{
  list-style:none;margin:0;padding:0;
  display:flex;align-items:stretch;gap:.15rem;
}
.main-nav__item{position:relative;display:flex;}
.main-nav__link{
  position:relative;
  display:flex;align-items:center;gap:.35rem;
  color:#fdfcfa;font-weight:500;font-size:.88rem;
  padding:0 .65rem;height:var(--header-h);
  white-space:nowrap;
}
.main-nav__link:hover,
.main-nav__item.is-open > .main-nav__link{
  background:var(--green-800);text-decoration:none;
}
.main-nav__item.is-current > .main-nav__link{
  background:var(--green-800);
}
.main-nav__item.is-current:not(.main-nav__item--contact) > .main-nav__link::after{
  content:"";position:absolute;left:.65rem;right:.65rem;bottom:0;height:3px;
  background:var(--tulip-600);border-radius:3px 3px 0 0;
}
.main-nav__link .caret{width:10px;height:10px;flex:none;transition:transform .18s ease;}
.main-nav__item.is-open > .main-nav__link .caret{transform:rotate(180deg);}
.main-nav__item--contact .main-nav__link{
  background:var(--tulip-600);border-radius:8px;margin:14px 0 14px .3rem;height:auto;padding:.6rem 1.1rem;
}
.main-nav__item--contact .main-nav__link:hover{background:var(--tulip-700);}

/* dropdown nivel 2 */
.sub-nav{
  list-style:none;margin:0;padding:.5rem;
  position:absolute;top:100%;left:0;min-width:280px;
  background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);
  border:1px solid var(--line);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
  z-index:50;
}
.main-nav__item.is-open > .sub-nav{opacity:1;visibility:visible;transform:translateY(0);}
.sub-nav__item{position:relative;}
.sub-nav a.sub-nav__link{
  display:flex;justify-content:space-between;align-items:center;gap:.5rem;
  padding:.55rem .75rem;border-radius:6px;color:var(--ink);font-size:.92rem;
}
.sub-nav a.sub-nav__link:hover{background:var(--green-100);text-decoration:none;color:var(--green-950);}
.sub-nav a.sub-nav__link.is-current{background:var(--green-100);color:var(--tulip-700);font-weight:600;}

/* flyout nivel 3 */
.fly-nav{
  list-style:none;margin:0;padding:.5rem;
  position:absolute;top:-8px;left:100%;min-width:240px;
  background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);
  border:1px solid var(--line);
  opacity:0;visibility:hidden;transform:translateX(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
}
.sub-nav__item.is-open > .fly-nav{opacity:1;visibility:visible;transform:translateX(0);}
.fly-nav a{display:block;padding:.5rem .7rem;border-radius:6px;color:var(--ink);font-size:.9rem;}
.fly-nav a:hover{background:var(--green-100);text-decoration:none;}
.fly-nav a.is-current{background:var(--green-100);color:var(--tulip-700);font-weight:600;}
.sub-nav__item > a .caret-right{width:8px;height:8px;transform:rotate(-90deg);opacity:.5;}
.sub-nav__item.is-current > a.sub-nav__link{color:var(--tulip-700);font-weight:600;}

/* ---------------------------------------------------------------------
   Layout comun (folosit pe toate paginile)
   --------------------------------------------------------------------- */
.wrap{max-width:1180px;margin:0 auto;padding:0 1.25rem;}
.wrap--wide{max-width:none;width:80%;margin:0 auto;}
@media (max-width:840px){
  .wrap--wide{width:100%;padding:0 1.25rem;}
}

/* ---------------------------------------------------------------------
   Pagină interioară (conținut convertit din site-ul original)
   --------------------------------------------------------------------- */
.page-hero{
  background:var(--green-900);color:#fff;padding:2.4rem 0;
  background-image:radial-gradient(circle at 85% 0%, var(--green-800) 0%, var(--green-900) 60%);
}
.breadcrumbs{font-size:.82rem;color:var(--green-100);opacity:.85;margin-bottom:.6rem;}
.breadcrumbs a{color:var(--green-100);}
.page-hero h1{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);margin:0;}

.page-body{
  position:relative;
  z-index:0;
  overflow:hidden;
  padding:clamp(2.25rem,4vw,3.25rem) 0 4rem;
  background-color:#0e2019;
}
.page-body::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:min(900px,100vh);
  z-index:-1;
  background-image:
    linear-gradient(180deg, rgba(8,20,15,.55) 0%, #0e2019 100%),
    url('../img/site/meadow-2184989_1280.jpg');
  background-size:100% 100%, 100% auto;
  background-repeat:no-repeat, no-repeat;
  background-position:center top, center top;
}
.text_latime{
	color: white;
}
.page-content{
  position:relative;
  z-index:1;
  max-width:840px;
  background:rgba(255,255,255,0.05);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
  border:1px solid rgba(255,255,255,.6);
  border-radius:var(--radius);
  padding:clamp(1.5rem,4vw,2.75rem);
  box-shadow:0 25px 60px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.7);
 
}
.wrap--wide .page-content{max-width:none;}
.page-content h1,.page-content h2,.page-content h3{color:var(--green-950);}
.page-content h1{font-size:1.5rem;border-bottom:2px solid var(--tulip-600);padding-bottom:.5rem;display:inline-block;margin-bottom:1.1rem;}
.page-content h2{font-size:1.2rem;margin-top:1.6rem;}
.page-content ul,.page-content ol{padding-left:1.3rem;}
.page-content li{margin-bottom:.4rem;}
.page-content table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem;}
.page-content table caption{text-align:left;font-weight:600;margin-bottom:.4rem;}
.page-content th,.page-content td{
  border:1px solid var(--line);padding:.55rem .65rem;text-align:left;vertical-align:top;
}
.page-content th{background:var(--green-100);color:var(--green-950);}
.page-content tr:nth-child(even) td{background:var(--paper-dim);}
.page-content a{font-weight:600;}
.page-content a[target="_blank"]::after{
  content:"↗";display:inline-block;margin-left:.2em;font-size:.8em;color:var(--ink-soft);
}
.page-content img{border-radius:8px;margin:.5rem 0;}
.page-content hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0;}
.doc-gallery{display:flex;flex-wrap:wrap;gap:.9rem;margin:.5rem 0 1rem;}
.doc-thumb{display:block;}
.doc-thumb img{
  width:130px;height:170px;object-fit:cover;
  border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease;
}
.doc-thumb:hover img{transform:translateY(-3px);box-shadow:var(--shadow-md);}

/* titlu introductiv deasupra unei liste de documente (ex: Achiziții publice) */
.tabel1-intro{margin-bottom:.5rem;}
.tabel1-intro__title{
  font-size:1.15rem;
  color: white;
  margin:0;
  padding-bottom:.6rem;
  border-bottom:1px solid var(--line);
}

/* liste de documente descărcabile — descriere stânga, buton PDF dreapta */
.doc-list{
  display:flex;flex-direction:column;gap:.55rem;
  margin:1rem 0 1.4rem;list-style:none;padding:0;
}
.doc-row{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:var(--paper-dim);border:1px solid var(--line);border-radius:8px;
  padding:.7rem .9rem;
  box-shadow:
    3px 3px 8px -4px rgba(19,38,33,.2),
    -3px -3px 8px -4px rgba(255,255,255,.7);
  transition:box-shadow .18s ease, transform .18s ease;
}
.doc-row:hover{
  box-shadow:
    4px 4px 10px -4px rgba(19,38,33,.26),
    -4px -4px 10px -4px rgba(255,255,255,.8);
  transform:translateY(-1px);
}
.doc-row__label{
  font-size:.94rem;color:var(--ink);flex:1 1 auto;line-height:1.45;
}
.doc-row__label::before{content:"";}
.doc-row__links{
  display:flex;flex-wrap:wrap;gap:.4rem;flex:none;
}

/* Pagina AGA (sedinte) foloseste un layout dedicat, pe doua coloane */
.page-aga .doc-row{
  align-items:flex-start;gap:1.4rem;padding:.9rem 1.1rem;
}
.page-aga .doc-row__label{
  flex:0 0 230px;max-width:230px;
  font-size:.94rem;font-weight:700;color:var(--green-950);line-height:1.4;
  padding-right:1.1rem;border-right:1px solid var(--line);
  align-self:stretch;display:flex;align-items:center;
}
.page-aga .doc-row__links{
  align-content:flex-start;flex:1 1 auto;min-width:0;gap:.5rem;
}
/* buton implicit: iconiță rotundă cu glow + text — pentru paginile cu un singur link per rând */
.doc-pill{
  display:inline-flex;align-items:center;gap:.6rem;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(255,255,255,.7);
  color:var(--green-950) !important;
  font-size:.85rem;font-weight:700;white-space:nowrap;
  padding:.35rem 1rem .35rem .35rem;border-radius:999px;
  text-decoration:none !important;
  box-shadow:0 4px 14px rgba(19,38,33,.12);
  transition:box-shadow .2s ease, transform .2s ease, background .2s ease;
}
.doc-pill:hover{
  background:#fff;transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(19,38,33,.2);
}
.doc-pill svg{
  width:36px;height:36px;flex:none;padding:10px;box-sizing:border-box;
  border-radius:50%;
  background:radial-gradient(circle at 32% 28%, var(--green-700) 0%, var(--green-950) 72%);
  color:var(--green-100);
  box-shadow:
    0 0 0 4px rgba(200,55,43,.13),
    0 4px 10px rgba(0,0,0,.35),
    inset 0 1.5px 2px rgba(255,255,255,.35),
    inset 0 -3px 5px rgba(0,0,0,.45);
  transition:box-shadow .2s ease, background .2s ease, color .2s ease;
}
.doc-pill:hover svg{
  background:radial-gradient(circle at 32% 28%, var(--tulip-600) 0%, var(--tulip-700) 72%);
  color:#fff;
  box-shadow:
    0 0 0 5px rgba(200,55,43,.22),
    0 4px 12px rgba(0,0,0,.4),
    inset 0 1.5px 2px rgba(255,255,255,.4),
    inset 0 -3px 5px rgba(0,0,0,.35);
}
.doc-pill::after{content:none !important;}

/* excepție: pagini unde un rând poate avea mai multe linkuri grupate
   (Ședințe AGA, Conducerea, Ședințe → C.A.) — buton "neumorphic", relief moale, constant
   (fără cerc glow, care ar fi haotic cu mai multe linkuri/rând) */
.page-aga .doc-pill,
.page-multilink .doc-pill{
  flex-direction:row-reverse;
  gap:.4rem;background:var(--paper-dim);border:none;color:var(--green-800) !important;
  font-size:.82rem;font-weight:600;padding:.5rem .9rem;border-radius:999px;
  box-shadow:
    6px 6px 12px -2px rgba(19,38,33,.22),
    -6px -6px 12px -2px rgba(255,255,255,.85);
  transition:box-shadow .15s ease, color .15s ease;
}
.page-aga .doc-pill:hover,
.page-multilink .doc-pill:hover{
  color:var(--tulip-700) !important;transform:none;
  box-shadow:
    7px 7px 14px -2px rgba(19,38,33,.26),
    -7px -7px 14px -2px rgba(255,255,255,.9);
}
.page-aga .doc-pill svg,
.page-multilink .doc-pill svg{
  width:14px;height:14px;padding:0;border-radius:0;background:none;color:inherit;box-shadow:none;
}
.page-aga .doc-pill:hover svg,
.page-multilink .doc-pill:hover svg{background:none;color:inherit;box-shadow:none;}

@media (max-width:560px){
  .doc-row{flex-direction:column;align-items:stretch;}
  .doc-row__links{justify-content:flex-start;}
}

@media (max-width:640px){
  .page-aga .doc-row{flex-direction:column;align-items:stretch;}
  .page-aga .doc-row__label{
    flex:none;max-width:none;border-right:0;border-bottom:1px solid var(--line);
    padding:0 0 .6rem;margin-bottom:.6rem;align-self:auto;
  }
  .page-aga .doc-row__links{justify-content:flex-start;}
}

/* accordion (declarații / info financiare) */
.acc{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:.6rem;}
.acc__btn{
  width:100%;text-align:left;background:var(--green-100);border:0;cursor:pointer;
  padding:.85rem 1rem;font-family:var(--font-body);font-weight:700;font-size:.96rem;color:var(--green-950);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.acc__btn:hover{background:#dfeee3;}
.acc__btn .acc__caret{width:14px;height:14px;flex:none;transition:transform .18s ease;}
.acc__btn[aria-expanded="true"] .acc__caret{transform:rotate(180deg);}
.acc__panel{display:none;padding:1rem;background:#fff;overflow-x:auto;}
.acc__panel.is-open{display:block;}

/* ---------------------------------------------------------------------
   Footer
   --------------------------------------------------------------------- */
.site-footer{background:var(--green-950);color:var(--green-100);margin-top:2rem;}
.site-footer__top{
  max-width:1180px;margin:0 auto;padding:3rem 1.25rem 2rem;
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;
}
.site-footer h4{color:#fff;font-family:var(--font-body);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.9rem;}
.site-footer p{color:var(--green-100);opacity:.85;font-size:.9rem;}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;}
.site-footer a{color:var(--green-100);font-size:.9rem;opacity:.9;}
.site-footer a:hover{opacity:1;color:#fff;}
.site-footer__bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding:1.1rem 1.25rem;text-align:center;font-size:.8rem;color:var(--green-100);opacity:.75;
}

/* ---------------------------------------------------------------------
   Responsive
   --------------------------------------------------------------------- */
@media (max-width:980px){
  .site-footer__top{grid-template-columns:1fr 1fr;}
}

@media (max-width:840px){
  :root{--header-h:64px;}
  .nav-toggle{display:flex;}
  .utility-bar{display:none;}

  .main-nav{
    position:fixed;inset:64px 0 0 0;background:var(--green-900);
    transform:translateX(100%);transition:transform .25s ease;
    overflow-y:auto;padding:.5rem 0 2rem;z-index:90;
  }
  .main-nav.is-open{transform:translateX(0);}
  .main-nav__list{flex-direction:column;gap:0;}
  .main-nav__item{flex-direction:column;border-bottom:1px solid rgba(255,255,255,.08);}
  .main-nav__link{height:auto;padding:1rem 1.25rem;justify-content:space-between;}
  .main-nav__item--contact .main-nav__link{margin:1rem 1.25rem;}

  .sub-nav{
    position:static;opacity:1;visibility:visible;transform:none;
    display:none;box-shadow:none;border:0;border-radius:0;background:var(--green-800);
    min-width:0;padding:.25rem .5rem .75rem;
  }
  .main-nav__item.is-open > .sub-nav{display:block;}
  .sub-nav a.sub-nav__link{color:#fdfcfa;}
  .sub-nav a.sub-nav__link:hover{background:rgba(255,255,255,.08);color:#fff;}
  .sub-nav a.sub-nav__link.is-current{background:rgba(200,55,43,.25);color:#fff;}

  .fly-nav{
    position:static;opacity:1;visibility:visible;transform:none;
    display:none;box-shadow:none;border:0;background:var(--green-950);
    min-width:0;padding:.25rem .5rem .5rem 1rem;
  }
  .sub-nav__item.is-open > .fly-nav{display:block;}
  .fly-nav a{color:var(--green-100);}
  .fly-nav a.is-current{background:rgba(200,55,43,.25);color:#fff;}

  .site-footer__top{grid-template-columns:1fr;}
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
