/**
 * Compléments sémantiques HTML — préserve le rendu du template Bootstrap.
 */

/* var_dump / Xdebug : fond blanc lisible (évite le bleu du html/body) */
.xdebug-var-dump,
.xe-var-dump,
table.xdebug-error,
font[face="monospace"] {
  display: block;
  background-color: #fff !important;
  padding: 0.75rem 1rem;
  margin: 0 0 0.5rem;
}

/* Boutons menu mobile */
button.mobile-nav-toggle {
  border: 0;
  background: transparent;
  padding: 0;
  line-height: 0;
}

/* Navbar : toggles dropdown (remplace a[href="#"]) — base commune */
.navbar .dropdown > .dropdown-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  background: transparent;
  text-align: inherit;
  cursor: pointer;
  gap: 5px;
}

.navbar .dropdown-toggle-btn .dropdown-indicator {
  font-size: 12px;
  line-height: 0;
  margin-left: 5px;
  flex-shrink: 0;
}

/* Barre principale (niveau 1) — mêmes règles que .navbar a */
@media (min-width: 1280px) {
  .navbar > ul > li.dropdown > .dropdown-toggle-btn {
    padding: 0 3px;
    font-family: var(--font-secondary);
    font-size: 16px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.6);
    white-space: nowrap;
    transition: 0.3s;
    position: relative;
    width: auto;
  }

  .navbar > ul > li.dropdown > .dropdown-toggle-btn::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: -6px;
    left: 0;
    background-color: var(--color-secondary);
    visibility: hidden;
    width: 0;
    transition: all 0.3s ease-in-out 0s;
  }

  .navbar > ul > li.dropdown:hover > .dropdown-toggle-btn::before,
  .navbar > ul > li.dropdown > .dropdown-toggle-btn.active::before {
    visibility: visible;
    width: 100%;
  }

  .navbar > ul > li.dropdown:hover > .dropdown-toggle-btn,
  .navbar > ul > li.dropdown > .dropdown-toggle-btn.active {
    color: #fff;
  }

  /* Sous-menus : mêmes règles que .navbar .dropdown ul a */
  .navbar .dropdown ul .dropdown > .dropdown-toggle-btn {
    width: 100%;
    padding: 10px 20px;
    font-family: var(--font-secondary);
    font-size: 15px;
    font-weight: 600;
    color: #004d6a;
    text-transform: none;
    white-space: nowrap;
    transition: 0.3s;
    position: static;
  }

  .navbar .dropdown ul .dropdown > .dropdown-toggle-btn::before {
    display: none;
  }

  .navbar .dropdown ul .dropdown:hover > .dropdown-toggle-btn,
  .navbar .dropdown ul li:hover > .dropdown-toggle-btn {
    color: var(--color-secondary);
  }
}

@media (max-width: 1279px) {
  .navbar > ul > li.dropdown > .dropdown-toggle-btn,
  .navbar .dropdown ul .dropdown > .dropdown-toggle-btn {
    padding: 10px 20px;
    font-family: var(--font-primary);
    font-size: 15px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
    white-space: nowrap;
    transition: 0.3s;
    width: 100%;
  }

  .navbar > ul > li.dropdown > .dropdown-toggle-btn:hover,
  .navbar > ul > li.dropdown > .dropdown-toggle-btn.active,
  .navbar .dropdown ul .dropdown > .dropdown-toggle-btn:hover,
  .navbar .dropdown ul .dropdown > .dropdown-toggle-btn.active {
    color: #fff;
  }
}

/* Topbar : lien téléphone */
.topbar .contact-info a.topbar-phone {
  color: #fff;
  line-height: 0;
}

/* Menu contextuel tableau */
.table-context-menu [role="menuitem"] {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 0.5rem 1rem;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.table-context-menu [role="menuitem"]:hover {
  background: rgba(0, 0, 0, 0.05);
}

.table-context-menu [role="menuitem"].text-danger {
  color: var(--bs-danger, #dc3545) !important;
}

/* Drop zone label */
label.drop-zone {
  display: block;
  cursor: pointer;
  margin-bottom: 0;
}

/* Carte : bouton fermer */
button.bi-close {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

/* Bouton localisation carte */
button.btn-local {
  border: 0;
  background: transparent;
  padding: 0;
  text-align: inherit;
  color: inherit;
  cursor: pointer;
}

button.btn-local:hover {
  color: inherit;
}

/* Pagination datatable */
.pagination .page-link-btn {
  display: inline-block;
  width: auto;
  max-width: none;
  white-space: nowrap;
  border: 0;
  background: transparent;
  padding: var(--bs-pagination-padding-y, 0.375rem) var(--bs-pagination-padding-x, 0.75rem);
  color: var(--bs-pagination-color, #0d6efd);
  cursor: pointer;
}

.pagination .page-item {
  flex-shrink: 0;
}

.page-item.disabled .page-link-btn {
  color: var(--bs-pagination-disabled-color, #6c757d);
  pointer-events: none;
}

.page-item.active .page-link-btn {
  color: var(--bs-pagination-active-color, #fff);
}

.footer-contact address {
  margin-bottom: 0;
  font-style: normal;
}

/* Bouton retour haut : hors flux (évite bottom:-15px du template qui allonge la page) */
.scroll-top {
  position: fixed !important;
  bottom: 15px !important;
  margin: 0 !important;
}

.scroll-top:not(.active) {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

#preloader {
  position: fixed !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Listes adhérents */
ul.list-adherent {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Figures album */
figure.vignette {
  margin: 0;
}
