/* ==========================================================================
   Aopy · Header · CSS
   Headerul site-ului (template Elementor 11559, clase anv-), stil Raycast:
   bară fixă de sticlă, logo stânga, linkuri centru, Log in + buton dreapta.
   Se încarcă pe toate paginile. Culorile, fonturile, textele și linkurile se
   schimbă din widgeturi; aici stau poziția fixă, sticla, dropdown-urile,
   layoutul pe mobil și animațiile. Linkurile vin din Aspect > Meniuri >
   „Menu Main” (subelementele devin dropdown pe desktop, acordeon pe mobil).
   ========================================================================== */


/* ---- Poziție fixă ---- */

.anv-code { position: absolute !important; width: 0 !important; height: 0 !important; overflow: hidden !important; pointer-events: none; }
body:not(.elementor-editor-active) .anv-root { position: fixed !important; top: 0; left: 0; right: 0; width: 100% !important; z-index: 9990; pointer-events: none; }
body.admin-bar:not(.elementor-editor-active) .anv-root { top: 32px; }
@media (max-width: 782px) { body.admin-bar:not(.elementor-editor-active) .anv-root { top: 46px; } }
.anv-root { background: none !important; }
.anv-root > * { pointer-events: auto; }


/* ---- Bara de sticlă (culorile de bază sunt în containerul „Bara meniu”) ---- */

.anv-bar {
  position: relative; width: 100% !important; max-width: 1204px !important; margin: 0 auto !important; box-sizing: border-box;
  -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%);
  will-change: height, transform; transition: height .3s, transform .3s;
  font-family: var(--aopy-ff-body);
}


/* ---- Logo ---- */

.anv-brand { align-items: center !important; }
.anv-logo { width: auto !important; max-width: none !important; flex: 0 0 auto; margin: 0 !important; line-height: 0; }
.anv-logo a, .anv-logo .elementor-widget-container { display: block; line-height: 0; }
.anv-logo img { display: block; height: 24px !important; width: auto !important; max-width: none !important; transition: transform .2s; }
.anv-logo a:hover img, .anv-logo a:focus-visible img { transform: scale(1.05); }


/* ---- Linkuri ---- */

.anv-nav { width: auto !important; }
.anv-nav .elementor-menu-toggle, .anv-nav nav.elementor-nav-menu--dropdown { display: none !important; } /* meniul mobil al widgetului nu se folosește */
.anv-nav .elementor-nav-menu--main .elementor-item { border-radius: 6px; white-space: nowrap; transition: all .2s ease-in-out; }
.anv-nav .elementor-nav-menu--main .elementor-item:focus-visible { outline: none; background: rgba(12,13,15,.05); }

/* săgeata de lângă un link cu dropdown */
.anv-nav .elementor-item.has-submenu { gap: 4px; }
.anv-nav .sub-arrow { display: inline-flex !important; align-items: center; padding: 0 !important; margin: 0 0 0 2px; font-size: 10px; line-height: 1; opacity: .7; transition: transform .2s ease, opacity .2s ease; }
.anv-nav .sub-arrow svg { width: 10px; height: 10px; fill: currentColor; }
.anv-nav .has-submenu.highlighted .sub-arrow,
.anv-nav .menu-item-has-children:hover > .has-submenu .sub-arrow { transform: rotate(180deg); opacity: 1; }


/* ---- Dropdown (desktop) ---- */

@keyframes anv-dd { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

@media (min-width: 1025px) {
  .anv-nav .elementor-nav-menu--main .sub-menu {
    min-width: 220px !important; padding: 6px !important;
    background: linear-gradient(137deg, #fff 4.87%, #fbfbfd 75.88%) !important;
    border: 1px solid rgba(12,13,15,.08) !important; border-radius: 20px !important;
    box-shadow: 0 18px 40px -18px rgba(12,13,15,.28), inset 0 1px 1px rgba(255,255,255,.9) !important;
    animation: anv-dd .2s ease-out;
  }
  /* punte invizibilă peste golul dintre link și dropdown, ca mouse-ul să nu-l închidă */
  .anv-nav .elementor-nav-menu--main .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 28px; }
  .anv-nav .sub-menu li { margin: 0 !important; }
  .anv-nav .sub-menu .elementor-sub-item { display: block; border-radius: 12px; border: 0 !important; white-space: nowrap; transition: background-color .2s ease, color .2s ease; }
}


/* ---- Log in + buton ---- */

.anv-side { width: auto !important; }
.anv-login, .anv-cta { width: auto !important; --aopy-btn: 14px; } /* mărimea textului (suprascrie regula globală --aopy-btn) */
.anv-login .elementor-button, .anv-login .elementor-button-text { line-height: normal !important; }
.anv-cta .elementor-button, .anv-cta .elementor-button-text { line-height: 16px !important; }
.anv-login .elementor-button { background: transparent !important; box-shadow: none !important; transition: all .2s ease-in-out; }
.anv-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; white-space: nowrap; border: 0 !important; box-shadow: none !important; background-image: none !important; transform: none !important; transition: none; } /* buton simplu: o singură culoare (din widget), fără border, umbre sau efecte */
.anv-cta .elementor-button:focus-visible { outline: 2px solid #111214; outline-offset: 2px; } /* doar pentru navigarea din tastatură */
.anv-cta .elementor-button-icon svg, .anv-cta .elementor-button-icon i { width: 16px; height: 16px; font-size: 16px; }


/* ---- Butonul de meniu (mobil + tabletă) ---- */

.anv-toggle-w { width: auto !important; display: none; margin: 0 !important; height: 24px; line-height: 0; }
.anv-toggle-w .elementor-widget-container { height: 24px; display: flex; align-items: center; }
.anv-toggle { position: relative; display: block; width: 44px; height: 44px; margin: -10px -10px -10px 0; flex: 0 0 44px; padding: 0; border: 0; background: transparent !important; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.anv-toggle i { position: absolute; left: 50%; width: 24px; height: 1px; background: rgba(12,13,15,.85); transform: translate(-50%,-50%); transition: transform .5s, opacity .25s, top .5s; }
.anv-toggle i:nth-child(1) { top: calc(50% - 6.4px); }
.anv-toggle i:nth-child(2) { top: 50%; }
.anv-toggle i:nth-child(3) { top: calc(50% + 6.4px); }
.anv-toggle-in { display: block; width: 100%; height: 100%; transition: transform .5s; }
.anv-open .anv-toggle-in { transform: rotate(180deg); }
.anv-open .anv-toggle i:nth-child(1) { top: 50%; transform: translate(-50%,-50%) rotate(-45deg); }
.anv-open .anv-toggle i:nth-child(2) { opacity: 0; }
.anv-open .anv-toggle i:nth-child(3) { top: 50%; transform: translate(-50%,-50%) rotate(45deg); }
.anv-toggle:focus-visible { outline: 2px solid rgba(12,13,15,.5); outline-offset: -6px; border-radius: 999px; }


/* ---- Desktop: logo stânga, linkuri centru, acțiuni dreapta ---- */

@media (min-width: 1025px) {
  /* trei coloane: logo și acțiunile ocupă lățimi egale, linkurile stau la mijloc și nu se suprapun orice număr ar fi */
  .anv-bar { flex-direction: row !important; justify-content: space-between !important; align-items: center !important; gap: 24px !important; }
  .anv-brand, .anv-side { flex: 1 1 0 !important; min-width: max-content; }
  .anv-side { justify-content: flex-end !important; }
  .anv-nav { flex: 0 1 auto !important; }
}


/* ---- Mobil + tabletă: bara se extinde în jos; dropdown-urile devin acordeon ---- */

@media (max-width: 1024px) {
  .anv-bar { display: flex !important; flex-direction: column !important; align-items: stretch !important; justify-content: flex-start !important; flex-wrap: nowrap !important; height: 58px; overflow: hidden !important; }
  .anv-open .anv-bar { max-height: calc(100dvh - 32px); overflow-y: auto !important; overscroll-behavior: contain; scrollbar-width: none; }
  .anv-bar::-webkit-scrollbar { display: none; }
  .anv-brand { width: 100% !important; flex: 0 0 24px !important; height: 24px; justify-content: space-between !important; }
  .anv-toggle-w { display: flex; align-items: center; }

  .anv-nav { width: 100% !important; padding: 48px 0 32px; }
  .anv-nav .elementor-nav-menu--main, .anv-nav .elementor-nav-menu { flex-direction: column !important; align-items: stretch !important; justify-content: flex-start !important; text-align: left; margin: 0 !important; width: 100%; }
  .anv-nav .elementor-nav-menu > li { display: block !important; width: 100%; margin: 0 !important; }
  .anv-nav .elementor-nav-menu--main .elementor-item { display: flex; white-space: normal; text-align: left; justify-content: flex-start; }
  .anv-nav .sub-arrow { font-size: 12px; margin-left: 6px; }
  .anv-nav .sub-arrow svg { width: 12px; height: 12px; }

  /* acordeon: subelementele stau sub link, fără panou */
  .anv-nav .elementor-nav-menu--main .sub-menu { position: static !important; width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; padding: 0 0 8px 12px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; animation: none; }
  .anv-root .anv-bar .anv-nav.elementor-widget-nav-menu .elementor-nav-menu--main > .elementor-nav-menu > li > .sub-menu.elementor-nav-menu--dropdown { margin-top: 0 !important; } /* anulează distanța dropdown-ului de pe desktop */
  .anv-nav .sub-menu .elementor-sub-item { display: block; padding: 10px 8px !important; border: 0 !important; border-radius: 10px; background: transparent !important; white-space: normal; }

  .anv-side { width: 100% !important; flex-wrap: nowrap !important; justify-content: space-between !important; padding-top: 32px !important; border-top: 1px solid rgba(12,13,15,.08) !important; }
  .anv-nav, .anv-side { opacity: 0; transform: translateY(-6px); transition: opacity .25s ease, transform .3s ease; }
  .anv-open .anv-nav, .anv-open .anv-side { opacity: 1; transform: none; transition-delay: .08s; }

  body.elementor-editor-active .anv-bar { height: auto !important; overflow: visible !important; }
  body.elementor-editor-active .anv-nav, body.elementor-editor-active .anv-side { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .anv-bar, .anv-nav, .anv-side, .anv-toggle i, .anv-toggle-in, .anv-nav .sub-arrow { transition: none !important; }
  .anv-nav .sub-menu { animation: none !important; }
}


/* ---- Link-urile către formularul #demo se opresc sub header ---- */

#demo { scroll-margin-top: 110px; }
@media (max-width: 1024px) { #demo { scroll-margin-top: 90px; } }
