/* ==========================================================================
   BAOBAB AGROBUSINESS — Surcouches flottantes (menus, notifications, modales)
   Ancrage relatif/absolu sous le déclencheur ; z-index élevé ; fond opaque.
   ========================================================================== */

:root {
  --agro-z-navbar: 1030;
  --agro-z-dropdown: 1070;
  --agro-z-popover: 1075;
  --agro-z-offcanvas: 1080;
  --agro-z-toast: 1090;
  --agro-z-modal-backdrop: 1095;
  --agro-z-modal: 1100;
  --agro-z-tooltip: 1105;

  --agro-overlay-bg: #ffffff;
  --agro-overlay-border: #e2e8e5;
  --agro-overlay-shadow:
    0 14px 36px rgba(16, 40, 30, 0.16),
    0 4px 12px rgba(16, 40, 30, 0.08);

  --agro-dropdown-active-bg: #e7f6ef;
  --agro-dropdown-active-ink: #0f5a37;
  --agro-dropdown-active-border: #198754;
}

/* ---- Contexte d'ancrage (parent relatif, menu sous le déclencheur) -------- */
.dropdown,
.dropup,
.dropend,
.dropstart,
.nav-item.dropdown,
.btn-group,
.input-group,
.crop-dropdown-compact {
  position: relative;
}

/* ---- Barre de navigation : pas de clipping des menus --------------------- */
.navbar {
  position: relative;
  z-index: var(--agro-z-navbar);
}

.navbar .container,
.navbar .container-fluid,
.navbar .navbar-collapse,
.navbar .navbar-nav,
.navbar .nav-item,
.navbar .nav-item.dropdown,
.navbar .dropdown,
.navbar .terres-nav-row,
.navbar .terres-nav-main-cluster,
.navbar .terres-nav-admin-tail,
.navbar .terres-nav-user {
  overflow: visible !important;
}

.navbar .terres-nav-main-scroll {
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch;
}

/* ---- État actif du déclencheur (global) ---------------------------------- */
.dropdown-toggle.show,
.dropdown-toggle[aria-expanded="true"],
[data-bs-toggle="dropdown"][aria-expanded="true"],
.agro-dropdown-trigger--active {
  z-index: 1;
}

/* Boutons / liens hors navbar */
.btn.dropdown-toggle.show,
.btn.dropdown-toggle[aria-expanded="true"],
.btn[data-bs-toggle="dropdown"][aria-expanded="true"],
.form-control.dropdown-toggle[aria-expanded="true"],
.crop-dropdown-trigger-btn[aria-expanded="true"] {
  background-color: var(--agro-dropdown-active-bg) !important;
  color: var(--agro-dropdown-active-ink) !important;
  border-color: var(--agro-dropdown-active-border) !important;
  box-shadow: inset 0 0 0 1px rgba(25, 135, 84, 0.35);
}

/* Déclencheurs dans la barre verte */
.navbar .nav-link.dropdown-toggle.show,
.navbar .nav-link.dropdown-toggle[aria-expanded="true"],
.navbar .nav-user-menu-toggle[aria-expanded="true"],
.navbar .nav-user-menu-toggle.agro-dropdown-trigger--active,
.navbar [data-bs-toggle="dropdown"][aria-expanded="true"] {
  background-color: rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
  box-shadow: inset 0 -3px 0 rgba(255, 255, 255, 0.7);
  border-radius: 0.5rem;
}

.navbar .nav-link.dropdown-toggle.show::after,
.navbar .nav-link.dropdown-toggle[aria-expanded="true"]::after,
.navbar .nav-user-menu-toggle[aria-expanded="true"]::after {
  opacity: 1;
}

/* ---- Menus déroulants Bootstrap (global) --------------------------------- */
.dropdown-menu {
  z-index: var(--agro-z-dropdown) !important;
  background-color: var(--agro-overlay-bg) !important;
  background-clip: padding-box;
  border: 1px solid var(--agro-overlay-border) !important;
  box-shadow: var(--agro-overlay-shadow) !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  isolation: isolate;
  margin-top: 0 !important; /* décalage géré par Popper (offset) */
}

.dropdown-menu.show,
.dropdown-menu.agro-dropdown--open {
  z-index: var(--agro-z-dropdown) !important;
}

/* Alignement natif si Popper n'est pas encore initialisé */
.dropdown-menu.dropdown-menu-end {
  right: 0;
  left: auto;
}

.dropdown-item {
  background-color: transparent;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item:active,
.dropdown-item.active {
  background-color: var(--agro-dropdown-active-bg) !important;
  color: var(--agro-dropdown-active-ink) !important;
}

.dropdown-divider {
  border-color: #e9ecef;
  opacity: 1;
}

.dropdown-header {
  background-color: var(--agro-overlay-bg);
  opacity: 1;
}

/* Listes cultures compactes */
.crop-dropdown-menu {
  z-index: var(--agro-z-dropdown) !important;
  background-color: var(--agro-overlay-bg) !important;
  border: 1px solid var(--agro-overlay-border) !important;
  box-shadow: var(--agro-overlay-shadow) !important;
}

/* Sélecteur emoji (fiches parcelles) */
.comment-emoji-picker.dropdown-menu {
  min-width: 10rem;
  padding: 0.35rem;
}

/* ---- Menus Terres (profil, admin, notifications) ----------------------- */
.terres-user-dropdown,
.terres-admin-dropdown {
  background-color: var(--agro-overlay-bg) !important;
  box-shadow: var(--agro-overlay-shadow) !important;
  border: 1px solid var(--agro-overlay-border) !important;
}

.terres-notif-toggle--active,
.terres-notif-toggle[aria-expanded="true"] {
  background: var(--agro-dropdown-active-bg) !important;
  color: var(--agro-dropdown-active-ink) !important;
}

.terres-notif-panel,
.terres-admin-notif-panel,
.terres-admin-submenu {
  background: #ffffff !important;
  border-color: #e2e8e5 !important;
}

.terres-notif-item--action {
  background: #fff8e6 !important;
}

.terres-notif-item--action:hover,
.terres-notif-item--action:focus {
  background: #fff3cd !important;
}

.terres-notif-feed {
  background: #ffffff;
}

.terres-admin-section-toggle[aria-expanded="true"] {
  background-color: var(--agro-dropdown-active-bg) !important;
  color: var(--agro-dropdown-active-ink) !important;
}

.dropdown-menu .collapse,
.dropdown-menu .collapsing {
  background-color: #ffffff;
}

/* ---- Popovers, tooltips, toasts, offcanvas, modales ---------------------- */
.popover {
  z-index: var(--agro-z-popover) !important;
  background-color: var(--agro-overlay-bg) !important;
  border-color: var(--agro-overlay-border) !important;
  box-shadow: var(--agro-overlay-shadow) !important;
  opacity: 1 !important;
}

.popover .popover-header,
.popover .popover-body {
  background-color: var(--agro-overlay-bg) !important;
}

.tooltip {
  z-index: var(--agro-z-tooltip) !important;
}

.toast-container,
.toast {
  z-index: var(--agro-z-toast) !important;
}

.toast {
  background-color: var(--agro-overlay-bg) !important;
  box-shadow: var(--agro-overlay-shadow) !important;
}

.offcanvas {
  z-index: var(--agro-z-offcanvas) !important;
  background-color: var(--agro-overlay-bg) !important;
}

.offcanvas-backdrop {
  z-index: calc(var(--agro-z-offcanvas) - 1) !important;
}

.modal-backdrop {
  z-index: var(--agro-z-modal-backdrop) !important;
}

.modal {
  z-index: var(--agro-z-modal) !important;
}

.modal-content {
  background-color: var(--agro-overlay-bg) !important;
  box-shadow: var(--agro-overlay-shadow) !important;
  border: 1px solid var(--agro-overlay-border);
}

/* ---- Mobile : menus sous le déclencheur, scroll interne si long --------- */
@media (max-width: 991.98px) {
  .navbar .nav-item.dropdown {
    position: relative;
    width: 100%;
  }

  .navbar .dropdown-menu {
    max-width: calc(100vw - 1.25rem);
  }

  .navbar .dropdown-menu.show,
  .navbar .dropdown-menu.agro-dropdown--open {
    max-height: min(75vh, 28rem);
    overflow-y: auto;
    overflow-x: hidden;
  }

  .terres-user-dropdown,
  .terres-admin-dropdown {
    width: min(22rem, calc(100vw - 1.25rem));
  }
}
