/* =========================================================
   DigiLocal – custom.css (Joomla 5 + Helix Ultimate)
   Tema: /templates/digilocal
   Layout: logo | search | contact (top3) + meniu separat
   ========================================================= */

/* ---------- PALETĂ OFICIALĂ DIGILOCAL ---------- */
:root{
  --dl-primary-900:#000000;
  --dl-primary-700:#004990; /* albastru închis */
  --dl-primary-600:#0079C1; /* albastru deschis */
  --dl-primary-500:#58595B; /* gri mediu */
  --dl-primary-100:#D1D3D4; /* gri deschis */

  --dl-secondary-700:#0079C1;
  --dl-secondary-100:#FFFFFF;

  --dl-gray-900:#000000;
  --dl-gray-800:#1f2328;
  --dl-gray-700:#2f343b;
  --dl-gray-600:#58595B;
  --dl-gray-500:#6b7280;
  --dl-gray-300:#D1D3D4;
  --dl-gray-200:#E5E7EB;
  --dl-gray-100:#F5F7FA;
  --dl-white:#FFFFFF;
}

/* ---------- FONTURI ---------- */
:root{
  --dl-font-display:"Trajan Pro","Times New Roman",Times,serif;
  --dl-font-ui:"Trebuchet MS","Segoe UI",Roboto,Arial,sans-serif;
}
body{
  font-family:var(--dl-font-ui);
  color:var(--dl-gray-900);
  font-size:18px; line-height:1.5;
  background:var(--dl-white);
}

/* =========================================================
   HEADINGS (standard + .dl- prefixed)
   ========================================================= */
h1, .dl-h1{font-size:56px;line-height:1.2;font-weight:700;margin:0 0 .5em}
h2, .dl-h2{font-size:48px;line-height:1.2;font-weight:700;margin:0 0 .5em}
h3, .dl-h3{font-size:40px;line-height:1.3;font-weight:700;margin:0 0 .5em}
h4, .dl-h4{font-size:32px;line-height:1.4;font-weight:700;margin:0 0 .5em}
h5, .dl-h5{font-size:24px;line-height:1.4;font-weight:700;margin:0 0 .5em}
h6, .dl-h6{font-size:20px;line-height:1.4;font-weight:700;margin:0 0 .5em}

@media (max-width:991.98px){
  h1, .dl-h1{font-size:40px;line-height:1.2}
  h2, .dl-h2{font-size:36px;line-height:1.2}
  h3, .dl-h3{font-size:32px;line-height:1.2}
  h4, .dl-h4{font-size:24px;line-height:1.4}
  h5, .dl-h5{font-size:18px;line-height:1.4}
  h6, .dl-h6{font-size:16px;line-height:1.4}
}

/* =========================================================
   TEXT SCALE (standard + .dl- prefixed)
   ========================================================= */
.dl-text-lg, p.dl-text-lg{font-size:20px;line-height:1.5}
.dl-text-md, p.dl-text-md{font-size:18px;line-height:1.5}
.dl-text-sm, p.dl-text-sm{font-size:16px;line-height:1.5}
.dl-text-xs, p.dl-text-xs{font-size:14px;line-height:1.5}
.dl-text-tiny, p.dl-text-tiny{font-size:12px;line-height:1.5}

/* =========================================================
   HEADER – logo | search | top3 (contact)
   ========================================================= */
#sp-header{background:var(--dl-white);border-bottom:1px solid var(--dl-gray-300)}
#sp-header .row{align-items:center}

/* o singură linie, aliniere corectă */
.dl-header-row > .sppb-row{
  display:flex;
  align-items:center;   /* vertical middle */
  flex-wrap:nowrap;
  gap:12px;
}

/* Logo */
#sp-logo{display:flex;align-items:center;gap:.75rem}
#sp-logo img{max-height:56px;width:auto;height:auto}
.dl-uat-name{font-family:var(--dl-font-display);letter-spacing:.02em;font-weight:700;color:var(--dl-primary-700);font-size:28px}

/* Search ocupă spațiul rămas între logo și top3 */
#sp-logo, #sp-top3 { flex:0 0 auto; }
#sp-search{ flex:1 1 420px; margin-left:0; max-width:none; }
#sp-search form{display:flex;align-items:stretch}
#sp-search input[type="search"], #sp-search .inputbox{
  flex:1;border:1px solid var(--dl-gray-300);background:var(--dl-white);color:var(--dl-gray-900);
  padding:.6rem .9rem;border-radius:0.5rem 0 0 0.5rem;min-width:0;
}
#sp-search button, #sp-search .button, #sp-search .btn{
  border:1px solid var(--dl-primary-700);border-left:0;
  background:var(--dl-primary-700);color:var(--dl-white);font-weight:700;
  padding:.6rem .9rem;border-radius:0 0.5rem 0.5rem 0;cursor:pointer;
}
#sp-search .button:hover{background:var(--dl-primary-600)}

/* Contact (dacă e text/heading, îl micșorăm) */
#sp-top3 h1,#sp-top3 h2,#sp-top3 h3,#sp-top3 h4,#sp-top3 h5,#sp-top3 h6{
  font-size:18px;line-height:1.2;margin:0;font-weight:800
}
#sp-top3 .sp-module{margin-left:1rem}

/* =========================================================
   MENIU (centru în container, linie full-width dedesubt)
   ========================================================= */
#sp-menu{
  position:relative;
  border-bottom:none; /* scoatem bordura standard */
}

/* linia albastră pe toată lățimea ecranului */
#sp-menu::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:-2px;              /* distanță mică sub items */
  width:100vw;
  height:2px;
  background:var(--dl-primary-700);
  pointer-events:none;
}

/* linkuri meniu */
#sp-menu .sp-megamenu-parent > li > a{
  padding:1rem .75rem .75rem; /* un pic de „respirație” deasupra liniei */
  font-weight:700;
  color:var(--dl-gray-900);
  position:relative;
}

/* stare hover / activ – culoare text */
#sp-menu .sp-megamenu-parent > li.active > a,
#sp-menu .sp-megamenu-parent > li > a:hover{
  color:var(--dl-primary-700);
}

/* subliniere item activ (stabilă, nu se suprapune) */
#sp-menu .sp-megamenu-parent > li.active > a::after{
  content:"";
  position:absolute;
  left:.75rem;
  right:.75rem;
  bottom:0;                 /* lipit de baza linkului */
  height:3px;
  background:var(--dl-primary-700);
  z-index:2;
}

/* =========================================================
   BUTOANE – dreptunghiulare (colțuri clare, ca în ghid)
   ========================================================= */
button, .btn, .sp-pagebuilder-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.75rem 1.25rem;
  border-radius:0;            /* dreptunghiulare */
  border:1px solid transparent;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease;
}
/* primar */
.btn-primary{
  background:var(--dl-primary-700);
  color:var(--dl-white);
  border-color:var(--dl-primary-700);
}
.btn-primary:hover{
  background:var(--dl-primary-600);
  border-color:var(--dl-primary-600);
}
/* contur */
.btn-outline{
  background:transparent;
  color:var(--dl-primary-700);
  border-color:var(--dl-primary-700);
}
.btn-outline:hover{ background:var(--dl-primary-100) }
/* icon-only pătrat */
.btn-square{ padding:.75rem; aspect-ratio:1/1; }

/* =========================================================
   FORM CONTROLS
   ========================================================= */
input,select,textarea{
  width:100%;padding:.7rem .9rem;border:1px solid var(--dl-gray-300);
  border-radius:0;background:#fff;color:var(--dl-gray-900);
  transition:border-color .2s ease,box-shadow .2s ease;
}
input:focus,select:focus,textarea:focus{
  outline:none !important;
  border-color:var(--dl-primary-600);
  box-shadow:0 0 0 .15rem rgba(0,73,144,.15);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1300px){
  #sp-search input[type="search"]{padding:.55rem .8rem}
  #sp-search .button{padding:.55rem .8rem}
}
@media (max-width:1199.98px){
  #sp-search{flex-basis:340px}
}
@media (max-width:991.98px){
  /* în mobil, meniu off-canvas – linia full width nu mai e necesară */
  #sp-menu::after{display:none}
  #sp-search{order:3;flex-basis:100%;margin-top:.5rem}
  #sp-top3{order:2}
}

/* =========================================================
   UTILITY
   ========================================================= */
a{color:var(--dl-primary-700)} a:hover{color:var(--dl-primary-600)}
.dl-text-xs{font-size:14px}.dl-text-sm{font-size:16px}.dl-text-md{font-size:18px}.dl-text-lg{font-size:20px}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}

/* Rândul principal: spațiu între logo și contact */
.dl-header-row > .sppb-row {
  display: flex;
  align-items: center;
  justify-content: space-between; /* logo stânga, contact dreapta */
  flex-wrap: nowrap;
}

/* Logo și Contact fixe */
#sp-logo, #sp-top3 {
  flex: 0 0 auto;
}

/* Căutarea – centrată în spațiul rămas */
#sp-search {
  flex: 1 1 auto;
  display: flex;
  justify-content: center; /* centrează orizontal bara de căutare */
  max-width: 600px;        /* limitează lățimea maximă a căutării */
  margin: 0 auto;
}

/* Elemente din interiorul formularului de căutare */
#sp-search form {
  width: 100%;
  display: flex;
  justify-content: center;
}

/* Butonul CONTACT – aliniat complet la dreapta */
#sp-top3 {
  display: flex;
  justify-content: flex-end;
}

/* Ajustări responsive */
@media (max-width:991.98px) {
  .dl-header-row > .sppb-row {
    flex-direction: column;
    align-items: stretch;
  }
  #sp-search {
    order: 2;
    justify-content: center;
    max-width: 100%;
    margin: .5rem 0;
  }
  #sp-top3 {
    order: 3;
    justify-content: center;
  }
}

/* =========================================================
   SMART SEARCH – custom DigiLocal
   ========================================================= */
#sp-search .mod-finder input.inputbox,
#sp-search input#mod-finder-searchword {
  width: 100%;
  max-width: 500px;          
  height: 46px;              /
  font-size: 16px;           
  padding: .6rem 1rem;       
  border: 1px solid var(--dl-gray-300);
  border-radius: 0.5rem 0 0 0.5rem;
  color: var(--dl-gray-900);
  background: var(--dl-white);
  box-sizing: border-box;
}

/* Butonul din dreapta (Cautare) */
#sp-search .mod-finder button,
#sp-search .mod-finder .button {
  height: 46px;              
  padding: .6rem 1rem;
  background: var(--dl-primary-700);
  border: 1px solid var(--dl-primary-700);
  border-radius: 0 0.5rem 0.5rem 0;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

#sp-search .mod-finder button:hover,
#sp-search .mod-finder .button:hover {
  background: var(--dl-primary-600);
  border-color: var(--dl-primary-600);
}

#sp-header { box-shadow:none; }
#sp-menu .sp-megamenu-parent>li>a { font-size:14px; }

#module .cauta { flex-direction:column; }

.sp-megamenu-parent>li>a,
.sp-megamenu-parent>li>span {
    display:inline-block;
    padding:0 15px;
    line-height:60px;
    font-size:16px;
    margin:0;
    font-weight:bold;
}

.sp-megamenu-parent .sp-dropdown,
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
    background:#004990!important;
    border:none!important;
    border-radius:0!important;
    color:#fff!important;
    box-shadow:none!important;
}

.sp-megamenu-parent .sp-dropdown li>a {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:10px 16px!important;
    line-height:1.3;
    font-weight:600;
    color:#fff!important;
    background:transparent!important;
    border-radius:0!important;
}

.sp-megamenu-parent .sp-dropdown li>a:hover,
.sp-megamenu-parent .sp-dropdown li>a:focus {
    background:rgba(255,255,255,0.15)!important;
}

.sp-megamenu-parent li.parent .sp-dropdown .sp-dropdown {
    background:#004990!important;
    border-radius:0!important;
}

.sp-megamenu-parent .sp-dropdown li>a .arrow,
.sp-megamenu-parent .sp-dropdown li>a i.fa,
.sp-megamenu-parent .sp-dropdown li>a i[class*="fa-"],
.sp-menu-item .arrow,
.sp-has-child>a .arrow {
    margin-left:auto;
    color:#fff!important;
    border-color:#fff!important;
}

.sp-megamenu-parent .sp-dropdown { min-width:280px!important; }

.offcanvas-menu,
#offcanvas-menu,
.sppb-offcanvas-menu {
    background:#004990!important;
    color:#fff!important;
    border-radius:0!important;
}

.offcanvas-menu .menu>li>a,
#offcanvas-menu .menu>li>a,
.sppb-offcanvas-menu .menu>li>a {
    color:#fff!important;
    background:transparent!important;
    border-bottom:1px solid rgba(255,255,255,0.25);
    padding:.95rem .2rem;
    font-weight:800;
    border-radius:0!important;
}

.offcanvas-menu .menu>li>a:hover,
.offcanvas-menu .menu>li>a:focus,
#offcanvas-menu .menu>li>a:hover,
#offcanvas-menu .menu>li>a:focus,
.sppb-offcanvas-menu .menu>li>a:hover,
.sppb-offcanvas-menu .menu>li>a:focus {
    background:rgba(255,255,255,0.15)!important;
}

.offcanvas-menu .menu .sub-menu,
#offcanvas-menu .menu .sub-menu,
.sppb-offcanvas-menu .menu .sub-menu {
    background:rgba(0,0,0,0.05)!important;
    border-radius:0!important;
}

.offcanvas-menu .menu .sub-menu a,
#offcanvas-menu .menu .sub-menu a,
.sppb-offcanvas-menu .menu .sub-menu a {
    color:#fff!important;
    padding:.55rem 0;
    font-weight:600;
}

.offcanvas-menu .close-offcanvas,
#offcanvas-menu .close-offcanvas,
.sppb-offcanvas-menu .close-offcanvas {
    color:#fff!important;
}

.sp-page-title .sp-page-title-heading {
    font-size:2rem!important;
    font-weight:700!important;
    line-height:1.2!important;
    color:#fff!important;
}

.sp-page-title .sp-page-title-sub-heading {
    font-size:1rem!important;
    font-weight:normal!important;
    line-height:1.3!important;
    margin-top:6px!important;
    color:#fff;
}

#edocman-document-page .document-card .btn-secondary,
#edocman-document-page-blog .btn-secondary {
    background-color:#0079c0;
    color:#fff!important;
}

#edocman-document-page .document-card .btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 20px;
    border-radius:0;
    font-size:15px;
    font-weight:500;
    cursor:pointer;
    transition:all .3s ease;
    border:none;
    gap:8px;
}

#edocman-documents h3.edocman-document-title .sizeinformation,
#edocman-documents h3.edocman-document-title .downloadinformation,
#edocman-documents h3.edocman-document-title .dateinformation,
#edocman-documents h3.edocman-document-title .ratinginformation,
#table-document .ratinginformation {
    font-size:12px;
    display:inline;
    color:#58595B;
}

.com_edocman .btn-secondary,
.com_edocman .btn.btn-info,
.com_edocman a.btn-info,
.com_edocman button.btn-info {
    background:#004990!important;
    border-color:#004990!important;
    color:#fff!important;
    font-weight:700;
    border-radius:0;
}

.com_edocman .btn-secondary:hover,
.com_edocman .btn.btn-info:hover,
.com_edocman a.btn-info:hover,
.com_edocman button.btn-info:hover {
    background:#0079C1!important;
    border-color:#0079C1!important;
}

.com_edocman .dl-doc-card,
.com_edocman .edocman-document {
    padding:12px 0!important;
    margin-bottom:20px!important;
}

.com_edocman .edocman_document_title { margin-bottom:6px!important; }
.com_edocman .col-md-6,
.com_edocman .col-sm-6 { padding:0 12px!important; }

/* DIGILOCAL BUTTON */
.dl-btn,
.sppb-btn.dl-btn,
.sppb-btn-primary.dl-btn {
    background-color:#004990!important;
    border:1px solid #004990!important;
    color:#fff!important;
    font-weight:700!important;
    font-size:15px!important;
    padding:10px 26px!important;
    border-radius:0!important;
    text-transform:none!important;
    box-shadow:none!important;
}

.dl-btn:hover,
.sppb-btn.dl-btn:hover,
.sppb-btn-primary.dl-btn:hover {
    background-color:#0079C1!important;
    border-color:#0079C1!important;
}

.dl-btn i { margin-right:6px!important; font-size:16px!important; }

/* FEATURE BOX BASE */
.dl-feature .sppb-addon-feature {
    border:1px solid #D1D3D4;
    background:#fff;
    border-radius:0;
    padding:22px 24px;
    text-align:center;
    box-shadow:none;
    margin-bottom:24px;
    transition:all .25s ease;
}

.dl-feature .sppb-icon-container i,
.dl-feature .sppb-icon i {
    color:#004990;
    font-size:32px;
}

.dl-feature .sppb-feature-box-title {
    font-size:1.5rem;
    font-weight:700;
    color:#004990;
    margin-bottom:8px;
}

.dl-feature .sppb-addon-text {
    font-size:16px;
    line-height:1.6;
    color:#58595B;
}

/* FEATURE BOX HOVER */
.dl-feature .sppb-addon-feature:hover {
    background:#004990!important;
    border-color:#004990!important;
    box-shadow:0 10px 30px rgba(0,0,0,0.18);
    transform:translateY(-4px);
}

.dl-feature .sppb-addon-feature:hover .sppb-icon i,
.dl-feature .sppb-addon-feature:hover .sppb-icon-container i,
.dl-feature .sppb-addon-feature:hover .sppb-feature-box-title,
.dl-feature .sppb-addon-feature:hover .sppb-addon-text {
    color:#fff!important;
}
/* FEATURE BOX – stil de bază */
.sppb-addon-feature.dl-feature-card {
    border: 1px solid #D1D3D4;
    background: #ffffff;
    border-radius: 0;
    padding: 40px 40px;
    text-align: center;
    box-shadow: none;
    transition: all 0.25s ease;
}

/* Culori default (în starea normală) */
.sppb-addon-feature.dl-feature-card .sppb-icon i {
    font-size: 32px;
    color: #004990;
}

.sppb-addon-feature.dl-feature-card .sppb-feature-box-title,
.sppb-addon-feature.dl-feature-card .sppb-feature-box-title a {
    font-size: 1.5rem;
    font-weight: 700;
    color: #004990;
    margin-bottom: 8px;
}

.sppb-addon-feature.dl-feature-card .sppb-addon-text {
    font-size: 16px;
    line-height: 1.6;
    color: #58595B;
}

/* HOVER – fundal #004990 pe TOT cardul */
.sppb-addon-feature.dl-feature-card:hover {
    background: #004990 !important;
    border-color: #004990 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
    transform: translateY(-4px);
}

/* HOVER – icon + titlu + titlu-link + text toate ALBE */
.sppb-addon-feature.dl-feature-card:hover .sppb-icon i,
.sppb-addon-feature.dl-feature-card:hover .sppb-feature-box-title,
.sppb-addon-feature.dl-feature-card:hover .sppb-feature-box-title a,
.sppb-addon-feature.dl-feature-card:hover .sppb-addon-text,
.sppb-addon-feature.dl-feature-card:hover .sppb-addon-text a {
    color: #ffffff !important;
}


