/* ============================================================
   Sportiva Header Dropdowns CSS — v2.2.0
   Unified z-index hierarchy for header UI elements.
   ============================================================ */

:root {
  --spv-z-header: 100000;
  --spv-z-header-nav: 100010;
  /* Drawer JetMenu mobile: sopra l'header Sportiva, sotto backdrop/panel/dropdown Sportiva */
  --spv-z-jetmenu: 2147483000;
  --spv-z-mobile-backdrop: 2147483644;
  --spv-z-mobile-panel: 2147483645;
  --spv-z-dropdown: 2147483646;
}

/* ─── Notify wrapper: relative + overflow visible ─── */
/* Keeps z-index stack clean without breaking layouts  */

.spv-notify {
  position: relative;
  overflow: visible !important;
}

/* ─── Notify panel base ──────────────────────────── */
/* Default: hidden. JS applies position:fixed + z-index when opened. */

.spv-notify_panel {
  display: none;
  box-sizing: border-box;
  max-width: calc(100vw - 24px);
}

.spv-notify.open .spv-notify_panel,
.spv-notify.is-open .spv-notify_panel {
  display: block;
}

/* Portaled panel (moved to document.body) — visible via own class */
.spv-notify_panel.is-open {
  display: block !important;
  position: fixed;
  z-index: var(--spv-z-dropdown);
}

/* ─── Profile menu wrapper: relative + overflow visible ─── */

.spv-profile-menu-wrap {
  position: relative;
  overflow: visible !important;
}

/* ─── Targeted overflow:visible for Elementor header ─── */
/* Only widgets that contain dropdowns — not all Elementor elements */

.elementor-location-header .elementor-widget-sportiva-notifications,
.elementor-location-header .elementor-widget-spv-profile-menu,
.elementor-location-header .elementor-widget-sportiva-notifications .elementor-widget-container,
.elementor-location-header .elementor-widget-spv-profile-menu .elementor-widget-container {
  overflow: visible !important;
  position: relative;
}

/* ─── z-index anchoring for header location ──────── */

.elementor-location-header,
.spv-header,
.spv-site-header {
  position: relative;
  z-index: var(--spv-z-header);
  overflow: visible !important;
}

.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-header .elementor-widget-container {
  overflow: visible !important;
}

.elementor-location-header .elementor-widget-sportiva-notifications {
  z-index: var(--spv-z-header-nav);
}

.elementor-location-header .elementor-widget-spv-profile-menu {
  z-index: var(--spv-z-header-nav);
}

/* ─── Mobile panel and overlay z-index ───────────── */

.spv-ham-panel {
  z-index: var(--spv-z-mobile-panel) !important;
}

.spv-ham-cover,
.spv-menu-overlay,
.spv-menu-backdrop {
  z-index: var(--spv-z-mobile-backdrop) !important;
}

/* ─── JetMenu mobile drawer: coerenza con lo stack Sportiva ───
   Il drawer JetMenu (z-index 999 di default) restava SOTTO l'header
   Sportiva (100000+), causando overlap degli elementi header sopra il
   drawer aperto e sottomenu apparentemente tagliati (dietro al layer).
   Lo portiamo sopra l'header, sotto backdrop/panel/dropdown Sportiva. */

.jet-mobile-menu__container {
  z-index: var(--spv-z-jetmenu) !important;
}
/* Eventuale overlay/backdrop del drawer subito sotto al pannello */
.jet-mobile-menu__container::before,
.jet-mobile-menu__overlay,
.jet-menu-overlay {
  z-index: calc(var(--spv-z-jetmenu) - 1) !important;
}

/* ─── Mobile ─────────────────────────────────────── */

@media (max-width: 767px) {
  .spv-notify_panel[style*="position: fixed"],
  .spv-notify_panel[style*="position:fixed"] {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
  }

  /* Il drawer JetMenu aperto deve poter scorrere e mostrare tutti i livelli */
  .jet-mobile-menu__container {
    max-height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .jet-mobile-menu__container .jet-mobile-menu__sub,
  .jet-mobile-menu__container ul ul {
    overflow: visible !important;
  }
}
