/* === BASE TYPOGRAPHY & RESETS === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Arial,sans-serif;margin:0;padding:0}
@media(min-width:768px){/* desktop styles placeholder */}

/* === HEADER === */
header h1,
header p{
  margin-top:4px;
  color:#004080;
  text-align:center;
  padding:0 20px;
  margin:0 0 6px;
  font-size:24px;
}
.intro-box{background-color:#e9f3ff;margin-top:30px;margin-bottom:30px}

/* === NAVIGATION === */
nav{background-color:#004080}
nav ul{
  list-style-type:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;
  background-color:#004080
}
nav ul li{position:relative}
nav ul li a{
  display:inline-flex;align-items:center;gap:5px;
  padding:15px 20px;color:#fff;text-decoration:none;font-weight:700
}
nav ul li a:hover,
nav ul li a.active{background-color:#0066cc;text-decoration:underline}

/* === DROPDOWN === */
nav ul li ul{
  display:none;position:absolute;background-color:#004080;padding:0;z-index:1000;
  min-width:180px;flex-direction:column;white-space:normal;max-height:40vh;overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:#ccc #004080;left:50%;transform:translateX(-50%)
}
nav ul li ul::-webkit-scrollbar{width:6px}
nav ul li ul::-webkit-scrollbar-thumb{background-color:#ccc}
nav ul li:hover>ul{display:block;flex-direction:column}
nav ul li ul li a{
  display:flex;justify-content:center;align-items:center;
  padding:8px 16px;text-align:center;color:#fff;text-decoration:none;font-size:15px
}

/* === BURGER / MOBILE NAV === */
.mobile-menu-toggle{
  font-size:26px;background:transparent;border:none;cursor:pointer;line-height:1;
  margin-left:20px;top:-15px;color:transparent;position:relative;display:none
}
.mobile-menu-toggle::before{
  content:"Meniu ☰";color:#004080;font-weight:700;font-size:26px
}
.mobile-menu-toggle[aria-expanded="true"]::before{
  content:"Inchide ✖";color:#004080;font-weight:700;font-size:26px
}
@media(min-width:769px){
  #primaryNav{display:block}
  #primaryNav>ul{display:flex}
}
@media(max-width:768px){
  .mobile-menu-toggle{display:inline-block}
  #primaryNav{display:none}
  #primaryNav.open{display:block}
  #primaryNav.open>ul{display:flex;flex-direction:column}
  #primaryNav.open li ul{display:none}
}

/* === SERVICE BOXES (carduri) === */
.service-box,
.service-box1,
.service-box2{
  background-color:#f2f2f2;border-radius:12px;padding:20px;margin:15px auto;
  box-shadow:0 0 10px rgba(0,0,0,.05);max-width:1000px;transition:transform .3s ease
}

/* H2 din cutii – centrat + icon aliniat */
.service-box h2,
.service-box1 h2,
.service-box2 h2{
  display:flex;justify-content:center;align-items:center;gap:8px;
  text-align:center;margin:0 0 8px;color:#004080;font-size:26px;font-weight:700
}
.service-box h2 i,
.service-box1 h2 i,
.service-box2 h2 i{margin:0}

/* H3 + paragraf: spațiere mică */
.service-box h3,
.service-box1 h3,
.service-box2 h3{
  margin:0 0 6px;color:#004080;text-align:center;font-size:24px;padding:0 20px
}
.service-box p,
.service-box1 p,
.service-box2 p{margin:0;text-align:center;color:#333;font-size:16px;line-height:1.5}
.service-box h3 + p,
.service-box1 h3 + p,
.service-box2 h3 + p{margin-top:6px}

/* Liste în cutii: fără bullets implicite (evită dublarea cu iconițele) */
.service-box ul,
.service-box1 ul,
.service-box2 ul{list-style:none;padding-left:0;text-align:center;margin:0}
.service-box li,
.service-box1 li,
.service-box2 li{
  position:relative;padding-left:0;margin-bottom:4px;line-height:1.2
}
.service-box li:last-child,
.service-box1 li:last-child,
.service-box2 li:last-child{margin-bottom:0}

/* Titlul mare de pagină */
.titlu h2{
  background-color:#fff;border-radius:12px;padding:20px;margin:15px auto;
  box-shadow:0 0 10px rgba(0,0,0,.05);max-width:1000px;transition:transform .3s ease;
  margin-top:0;color:#000;text-align:center;font-size:24px;font-weight:700
}

/* === CTA BUTTON === */
.btn{
  display:inline-block;background-color:#2e7d32;color:#fff;padding:18px 36px;font-size:18px;
  border-radius:8px;text-decoration:none;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.2);
  transition:background-color .3s ease,transform .2s ease
}
.btn:hover{background-color:#004080;transform:translateY(-2px)}
.btn-center{display:flex;justify-content:center;margin-top:20px}
.btn:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}

/* === SUBNAV (TOC) & ANCORE === */
#legea-196-2018, #linkuri-utile, #faq{scroll-margin-top:80px}
.subnav{
  position:sticky;top:0;z-index:60;background:rgba(0,64,128,.9);
  backdrop-filter:saturate(160%) blur(6px);padding:.5rem 1rem
}
.subnav ul{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin:0;padding:0;list-style:none}
.subnav a{color:#fff;text-decoration:none;font-weight:600}
.subnav a:hover,.subnav a:focus,.subnav a.active{text-decoration:underline}

/* === FAQ === */
.faq-container{max-width:800px;margin:0 auto}
.faq-item{margin-bottom:10px;border:1px solid #ddd;border-left:4px solid #004080;background:#f5faff}
.faq-question{
  width:100%;text-align:left;background:none;border:none;padding:15px;font-size:17px;font-weight:700;
  cursor:pointer;position:relative;display:flex;justify-content:space-between;align-items:center;outline:none
}
.faq-question .arrow{transition:transform .3s ease}
.faq-question[aria-expanded="true"] .arrow{transform:rotate(90deg)}
.faq-answer{max-height:0;overflow:hidden;padding:0 15px;background:#fff;transition:max-height .4s ease,padding .3s ease}
.faq-answer.show{max-height:300px;padding:10px 15px}

/* === LISTE DOCUMENTE (două coloane) === */
.doc-list-title{
  margin:0 0 8px;font-size:20px;font-weight:700;color:#004080;text-align:center
}
.documente-flex{
  display:flex;flex-wrap:wrap;justify-content:center;gap:20px;max-width:1000px;margin:0 auto;padding:20px 0
}
.doc-col{flex:1 1 320px;max-width:520px}
.document-list1,.document-list2{margin:6px 0 0;padding-left:0;list-style:none}
.document-list1 li,.document-list2 li{margin:8px 0}
.document-list1 i,.document-list2 i{margin-right:8px}
@media(min-width:1024px){
  .documente-flex{gap:32px;max-width:1200px}
  .doc-col{flex-basis:460px}
}

/* === FLOATING BUTTONS === */
.floating-buttons{
  position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px
}
.floating-buttons a{
  display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
  box-shadow:0 0 8px rgba(0,0,0,.2);transition:transform .2s ease
}
.floating-buttons a img{width:30px;height:30px;border-radius:50%}
.floating-buttons a:hover{transform:scale(1.1)}

/* === FOOTER === */
footer{
  background-color:#004080;color:#fff;text-align:center;padding:8px 20px;margin:0
}
footer p{margin:4px 0;line-height:1.3;color:#fff}
footer a{margin:0 6px;color:#fff}
footer p:first-child{margin-top:0}
footer p:last-child{margin-bottom:0;color:#fff}

/* === DESKTOP LAYOUT TWEAKS === */
@media(min-width:1024px){
  .service-box,.service-box1,.service-box2,.titlu h2,.container,.faq-container{
    max-width:1200px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px
  }
  .mobile-menu-toggle{display:none!important}
  #primaryNav{display:block!important}
  #primaryNav>ul{display:flex!important;flex-direction:row;justify-content:center;gap:30px}
  nav ul li ul{left:0;transform:none;top:100%}
}

/* === A11Y FAB & PANEL === */
.a11y-fab{
  position:fixed;left:16px;bottom:40px;width:45px;height:45px;border-radius:50%;
  background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.25);cursor:pointer;z-index:99998
}
.a11y-fab:focus{outline:2px solid #94a3b8;outline-offset:3px}

.a11y-panel{
  position:fixed;left:16px;bottom:170px;width:320px;max-width:calc(100vw - 32px);
  background:#fff;color:#111827;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.28);
  padding:12px;display:none;z-index:99999
}
.a11y-panel.open{display:block}
.a11y-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.a11y-panel button{
  border:1px solid #e5e7eb;background:#f8fafc;color:#111827;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px
}
.a11y-panel button:hover{background:#eef2ff}
.a11y-row{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.a11y-close{background:#0a2540;color:#fff;border:none;width:32px;height:32px;border-radius:8px}
.a11y-danger{background:#fee2e2;border-color:#fecaca}
.a11y-danger:hover{background:#fecaca}

/* Reader mask (folosită de panoul A11Y) */
.a11y-mask{
  position:fixed;left:0;right:0;top:35vh;height:28vh;pointer-events:none;z-index:99997;
  box-shadow:0 -100vh 0 0 rgba(0,0,0,.55),0 100vh 0 0 rgba(0,0,0,.55);
  display:none
}
.a11y-mask.on{display:block}

/* A11Y: link styles helpers */
html.a11y-underline a, body.a11y-underline a{ text-decoration:underline!important }
html.a11y-links a, body.a11y-links a{ outline:2px dashed #f59e0b!important; outline-offset:2px }

/* A11Y: High Contrast */
html.a11y-contrast, body.a11y-contrast{filter:none!important;background:#000!important;color:#fff!important}
.a11y-contrast img,.a11y-contrast video{opacity:.95}
.a11y-contrast a{color:#7dd3fc!important}
html.a11y-contrast .a11y-fab{
  background:rgba(255,255,255,.14)!important;border:2px solid #fff!important;box-shadow:none!important;color:#fff!important
}
html.a11y-contrast .a11y-fab svg,html.a11y-contrast .a11y-fab svg *{fill:#fff!important;stroke:#fff!important}
html.a11y-contrast .a11y-fab:hover{background:rgba(255,255,255,.26)!important}
html.a11y-contrast .a11y-fab:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important}
html.a11y-contrast .a11y-panel{border:2px solid #fff!important}

/* A11Y: Grayscale (fără elementele exceptate) */
html.a11y-grayscale body :not(.a11y-exempt){filter:grayscale(100%)!important}
html.a11y-grayscale .a11y-fab,
html.a11y-grayscale .a11y-panel,
html.a11y-grayscale header,
html.a11y-grayscale nav,
html.a11y-grayscale .mobile-menu-toggle,
html.a11y-grayscale .btn,
html.a11y-grayscale .button,
html.a11y-grayscale .btn-primary,
html.a11y-grayscale .service-box .btn,
html.a11y-grayscale .floating-buttons a{filter:none!important}
html.a11y-grayscale nav,
html.a11y-grayscale .mobile-menu-toggle,
html.a11y-grayscale .btn,
html.a11y-grayscale .button,
html.a11y-grayscale .btn-primary{
  background:#fff!important;color:#000!important;border:2px solid #000!important;box-shadow:none!important
}
html.a11y-grayscale nav a{color:#000!important;text-decoration:underline!important}
html.a11y-grayscale .btn:focus,
html.a11y-grayscale .button:focus,
html.a11y-grayscale .mobile-menu-toggle:focus,
html.a11y-grayscale nav a:focus{outline:3px solid #000!important;outline-offset:3px}
html.a11y-grayscale .btn:hover,
html.a11y-grayscale .button:hover,
html.a11y-grayscale .mobile-menu-toggle:hover{background:#f2f2f2!important}
html.a11y-grayscale .a11y-panel{background:#fff!important;color:#000!important;border:2px solid #000!important}

/* A11Y: Motion/Spacing */
html.a11y-noanim *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-spacing, body.a11y-spacing{letter-spacing:.03em;word-spacing:.08em;line-height:1.8}

/* A11Y: Font scaling — sursă unică de adevăr */
:root{--a11y-font-scale:1}
html{font-size:16px}
body{font-size:calc(16px * var(--a11y-font-scale))!important}
p,li,a,span,label,input,textarea,select,button,small,strong,td,th,code,pre,blockquote{
  font-size:1em!important;line-height:calc(1.5 * var(--a11y-font-scale))
}
h1{font-size:2em!important;line-height:1.2}
h2{font-size:1.75em!important;line-height:1.25}
h3{font-size:1.5em!important;line-height:1.3}
h4{font-size:1.25em!important;line-height:1.35}
h5{font-size:1.1em!important;line-height:1.4}
h6{font-size:1em!important;line-height:1.4}

/* Mobile: High Contrast — păstrează FAB lizibil, fără suprapuneri */
@media(max-width:640px){
  html.a11y-contrast .a11y-fab{
    left:12px;bottom:calc(16px + env(safe-area-inset-bottom,0px));
    background:#000!important;border:2px solid #fff!important;
    box-shadow:0 0 0 6px rgba(0,0,0,.95)!important;color:#fff!important
  }
  .service-box h2, .service-box1 h2, .service-box2 h2{font-size:22px}
}


/* === DOCUMENTE: layout curat pentru lista + formulare === */
#lista-documente .doc-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  align-items:start;
}
@media(min-width:900px){
  #lista-documente .doc-grid{ grid-template-columns:1fr 1fr; }
}

/* titlurile coloanelor (Formulare online / Download gratuit) */
#lista-documente .doc-list-title{
  margin:0 0 8px;
  font-size:20px;
  font-weight:700;
  color:#004080;
  text-align:left;
  display:flex;
  align-items:center;
  gap:8px;
}

/* căutare + buton */
#lista-documente .doc-tools{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 12px;
}
#lista-documente #formSearch{
  flex:1 1 260px;
  padding:10px 12px;
  border:1px solid #cfd8e3;
  border-radius:8px;
}
.btn-small{
  padding:10px 14px;
  border:1px solid #cfd8e3;
  border-radius:8px;
  background:#fff;
  cursor:pointer;
  font-weight:600;
}

/* listă aliniată la stânga în ambele coloane */
#lista-documente .document-list1,
#lista-documente .document-list2{
  margin:6px 0 0;
  padding-left:0;
  list-style:none;
  text-align:left; /* suprascrie centrările globale din .service-box */
}
#lista-documente .document-list1 li,
#lista-documente .document-list2 li{ margin:8px 0; }
#lista-documente .document-list1 i,
#lista-documente .document-list2 i{ margin-right:8px; }

/* Formulare online în 2 coloane (în interiorul coloanei din stânga) */
#lista-documente .list-2col{ columns:1; column-gap:24px; }
@media(min-width:680px){
  #lista-documente .list-2col{ columns:2; }
  #lista-documente .list-2col li{ break-inside:avoid; }
}

/* utilitare a11y */
.visually-hidden{
  position:absolute!important;
  width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0;
}

/* ===== Documente: grid pe 2 coloane, coloana dreapta la extremitate ===== */
/* ===== Overrides: pozitioneaza coloana 2 mai in dreapta ===== */
#lista-documente{
  /* asimetric: mai putin padding in dreapta ca sa fie „lipita” de chenar */
  padding: 24px 12px 24px 32px;  /* top right bottom left */
}

#lista-documente .doc-grid{
  display: grid;
  /* stanga mai lata, dreapta mai ingusta; coloana dreapta sta la extremitatea containerului */
  grid-template-columns: minmax(0,1.2fr) minmax(320px,0.8fr);
  /* marim spatiul dintre coloane ca sa „impingem” coloana dreapta spre margine */
  column-gap: clamp(72px, 10vw, 180px);
  align-items: start;
}

#lista-documente .doc-col{ 
  padding: 0 8px; 
  text-align: left;
}

/* mentinem alinierea verticala cu inceputul listelor din stanga */
#lista-documente .doc-col.downloads{
  padding-top: var(--doc-tools-h, 56px);
}

/* Mobile: revine pe o singura coloana */
@media (max-width: 820px){
  #lista-documente{ padding: 16px; }
  #lista-documente .doc-grid{ grid-template-columns: 1fr; column-gap: 20px; }
  #lista-documente .doc-col.downloads{ padding-top: 16px !important; }
}


/* ==== Contact form helpers ==== */
.form-row{margin:10px 0; display:flex; flex-direction:column; gap:6px;}
.form-row label{font-weight:700; color:#0a2540;}
.form-row input[type="text"],
.form-row input[type="tel"],
.form-row input[type="email"],
.form-row textarea{
  padding:10px 12px; border:1px solid #d1d5db; border-radius:8px; font-size:16px;
}
.form-row textarea{resize:vertical; min-height:120px;}
.form-consent label{font-weight:400; color:#333;}
.form-consent a{color:#004080; font-weight:700; text-decoration:underline;}
.form-actions{ text-align:center; margin-top:12px; }
.form-status{margin-top:10px; text-align:center; font-weight:700;}
.form-status.success{ color:#1b7f2a; }
.form-status.error{ color:#c0392b; }
.note{ text-align:center; color:#e60000; font-weight:700; margin:0 0 10px; }
/* honeypot ascuns vizual, accesibil pentru tehnologii asistive */
.hp-field{ position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }


/* CULORI EMAIL */
#form-status.success { color:#2e7d32; }
#form-status.error   { color:#c0392b; }
#form-status{display:none;margin-top:12px;text-align:center;font-weight:600}


/* reCAPTCHA: centrat si cu spatiu sus */
.g-recaptcha-wrapper{
  display:flex;
  justify-content:center;
  margin-top:12px;
}




