/* Align & layout */
html {
 scroll-behavior: smooth;
}
.page-section {
 scroll-margin-top: var(--navbar-offset, 120px);
}
.navbar .dropdown-menu {
 text-align: left;
 min-width: 14rem;
}
.menu-row,
.submenu-row {
 gap: 0.25rem;
}

.menu-row > .nav-link {
 flex: 1 1 auto;
 width: auto !important;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
}

.nav-caret,
.dropdown-caret {
 display: inline-flex;
 align-items: center;
 text-decoration: none;
}
.dropdown-caret i {
 transition: transform 0.2s ease;
}

/* Desktop (hover + lateral) */
@media (min-width: 992px) {
 .navbar .dropdown:hover > .dropdown-menu {
  display: block;
 }
 .navbar .dropdown > .nav-caret {
  display: none;
 }
 .dropdown-submenu {
  position: relative;
 }
 .dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-left: 0.15rem;
 }
}

/* Mobile (acordeon) */
@media (max-width: 991.98px) {
 .navbar .dropdown-menu {
  position: static !important;
  float: none;
  display: none;
  margin: 0;
  box-shadow: none;
  border: 0;
  padding-left: 0.25rem;
 }
 .navbar .dropdown-menu.show {
  display: block;
 }

 .dropdown-submenu > .dropdown-menu {
  display: none;
  padding-left: 0.75rem;
 }
 .dropdown-submenu.open > .dropdown-menu {
  display: block;
 }

 .submenu-row,
 .menu-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
 }
 .submenu-row > .dropdown-item {
  flex: 1 1 auto;
  white-space: normal;
 }
 .dropdown-caret {
  flex: 0 0 auto;
  margin-left: 0.5rem;
  padding: 0.25rem;
  touch-action: manipulation;
 }
 .dropdown-submenu.open > .submenu-row > .dropdown-caret i {
  transform: rotate(90deg);
 }
}
/* ====== SERVICII: tipografie + spacing consistent ====== */
.services-page {
 --svc-gap: 0.1rem;
 --svc-gap-lg: 0.25rem;
}

/* Dimensiuni icon badge mai mici */
.services-page .icon-badge {
 width: 36px;
 height: 36px;
 display: inline-grid;
 place-items: center;
 border-radius: 50%;
 background: var(--bs-primary-bg-subtle, #eef4ff);
 color: var(--bs-primary, #0d6efd);
}

/* Headings consistente (ai combinat tag-urile cu utilitare .h3/.h5) */
.services-page h1.display-5 {
 font-size: 2rem;
 margin-bottom: 0.5rem;
}
.services-page h2.h3 {
 font-size: 1.5rem !important;
 line-height: 1.3;
}
.services-page h3.h5 {
 font-size: 1.125rem !important;
 line-height: 1.35;
}

/* Lead DOAR ușor mai mare decât textul normal, nu gigantic */
.services-page .lead {
 font-size: 1rem; /* implicit ~1.25rem, o reducem */
 line-height: 1.6;
 margin-top: 0.25rem;
 margin-bottom: 0.75rem;
}

/* Secțiuni mai apropiate */
.services-page .page-section {
 padding-top: 0.5rem;
 padding-bottom: 0.25rem;
}
.services-page .page-section + .page-section {
 margin-top: 0.75rem;
}

/* Blocurile de conținut mai compacte */
.services-page .content-section {
 max-width: 980px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: var(--svc-gap);
}
.services-page .content-section + .content-section {
 margin-top: 0.5rem;
}

/* Reduce „generozitatea” utilitarelor mari doar pe această pagină */
.services-page .mb-5 {
 margin-bottom: 1rem !important;
}
.services-page .mt-5 {
 margin-top: 1rem !important;
}
.services-page .p-5 {
 padding: 1.25rem !important;
}

/* Spații mici în header/nav intern */
.services-page header .nav {
 gap: 0.5rem !important;
}
.services-page header .rounded-3.bg-light {
 padding: 1.25rem !important;
}

/* Mic spațiu sub titlul cu icon */
.services-page .icon-heading {
 display: flex;
 align-items: center;
 gap: 0.5rem;
 margin-bottom: 0.4rem;
}

/* Linie fină de separare între sub-blocuri mari (opțional) */
.services-page .content-section:not(:last-child) {
 border-bottom: 1px solid rgba(0, 0, 0, 0.06);
 padding-bottom: 0.75rem;
}

/* La ecrane mici, încă un pas mai strâns */
@media (max-width: 991.98px) {
 .services-page .lead {
  line-height: 1.55;
  margin-bottom: 0.6rem;
 }
 .services-page .page-section + .page-section {
  margin-top: 0.5rem;
 }
 .services-page .content-section {
  margin-bottom: 0.75rem;
 }
}
.navbar .dropdown .dropdown-toggle-split {
 line-height: 1;
}
.navbar .dropdown .dropdown-menu {
 margin-top: 0.25rem;
}
/* ===== Dropdown fix: poziționare lipită de bară, fără „gol” ===== */
.navbar .dropdown-menu {
  display: none;                 /* pe desktop, deschidem la hover (vezi mai jos) */
  margin-top: 0 !important;      /* elimină spațiul implicit */
  top: calc(100% - 2px);          /* urcă meniul cu 2px, să fie „lipit” de bară */
  transform: translateY(0) !important;
  z-index: 1050;                  /* peste restul */
}

/* deschidere pe hover (doar desktop) */
@media (min-width: 992px) {
  .navbar .dropdown:hover > .dropdown-menu { display: block; }
  /* dacă folosești split-caret, menține deschis și când ești peste caret */
  .navbar .dropdown:has(.nav-caret:hover) > .dropdown-menu { display: block; }
}

/* „pod” invizibil între trigger și meniu, ca să nu dispară când cobori cu mouse-ul */
.navbar .dropdown > .dropdown-menu::before {
  content: "";
  position: absolute;
  left: 0; right: 0;
  top: -10px;                     /* suprapune 10px peste marginea de sus a meniului */
  height: 10px;                   /* face punte peste golul dintre bară și meniu */
  pointer-events: auto;
}

/* ===== Submeniuri pe orizontală (nivel 2/3) — fără gol pe lateral ===== */
.navbar .dropdown-submenu {
  position: relative;
}
.navbar .dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-left: .25rem;            /* mic spațiu vizual */
  margin-top: -8px;               /* aliniază pe verticală cu itemul părinte */
}

/* „pod” pe lateral, ca să nu se închidă când mergi către submeniu */
.navbar .dropdown-submenu > .dropdown-menu::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: -10px; width: 10px;       /* punte între item și submeniu */
  pointer-events: auto;
}

/* aliniere fină pentru caretul split (îl aduce mai aproape de text) */
.navbar .dropdown .dropdown-toggle-split { line-height: 1; padding-left: .25rem; padding-right: .25rem; }
.navbar .dropdown .dropdown-menu { border-top-left-radius: .5rem; border-top-right-radius: .5rem; }

/* mică umbră și spațiere consistentă (opțional) */
.navbar .dropdown-menu {
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.08);
  padding-top: .35rem;
  padding-bottom: .35rem;
}
