/**
 * Styles unifiés des menus déroulants de recherche (header, overlay, portail home).
 * Alignés sur la refonte Check (DM Sans, ink, pastilles catégories = cards).
 */

:root {
  --check-ac-font: var(--check-font-body, 'DM Sans', Helvetica, Arial, sans-serif);
  --check-ac-ink: var(--check-ink, #0D1B2A);
  --check-ac-muted: var(--check-muted, #6B7280);
  --check-ac-soft: #F3F4F6;
  --check-ac-border: #E5E7EB;
  --check-ac-primary: var(--check-primary, #E8203A);
  --check-ac-radius: 12px;
}

/* Liste jamais visible dans le hero (conflits) */
.nq-c-HomeHero .autocomplete-items,
.nq-c-HomeSearch .autocomplete-items {
  display: none !important;
}

/* ---------- Portail home (positionnement) ---------- */
#check-home-ac-portal {
  position: fixed !important;
  z-index: 2147483000 !important;
  display: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--check-ac-ink) !important;
  font-family: var(--check-ac-font) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  text-align: left !important;
  pointer-events: none !important;
}

#check-home-ac-portal.is-open {
  display: block !important;
  pointer-events: auto !important;
}

#check-home-ac-portal .results {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

#check-home-ac-portal .autocomplete-items {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
}

/* ---------- Conteneur liste (tous contextes) ---------- */
.nq-c-Autocomplete .results .autocomplete-items,
#check-home-ac-portal .autocomplete-items,
.nq-c-Autocomplete-autocompleteField--overlay .autocomplete-items {
  z-index: 120 !important;
  max-height: 400px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border: 1px solid var(--check-ac-border) !important;
  border-radius: var(--check-ac-radius) !important;
  box-shadow: 0 16px 40px rgba(13, 27, 42, 0.14) !important;
  font-family: var(--check-ac-font) !important;
  color: var(--check-ac-ink) !important;
  transition: opacity 0.15s ease !important;
}

.nq-c-Autocomplete .results .autocomplete-items.is-loading,
#check-home-ac-portal .autocomplete-items.is-loading {
  opacity: 0.65 !important;
}

/* ---------- Sections ---------- */
.nq-c-Autocomplete .results .autocomplete-category,
#check-home-ac-portal .autocomplete-category {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  display: block !important;
  padding: 10px 16px 8px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--check-ac-border) !important;
  background: var(--check-ac-soft) !important;
  color: var(--check-ac-muted) !important;
  font-family: var(--check-ac-font) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  text-align: left !important;
  cursor: default !important;
}

/* ---------- Lignes résultat ---------- */
.nq-c-Autocomplete .results .autocomplete-item,
#check-home-ac-portal .autocomplete-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--check-ac-border) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: inherit !important;
  text-align: left !important;
  text-decoration: none !important;
  cursor: pointer !important;
  font-family: var(--check-ac-font) !important;
  transition: background-color 0.15s ease !important;
}

.nq-c-Autocomplete .results .autocomplete-item:last-child,
#check-home-ac-portal .autocomplete-item:last-child {
  border-bottom: 0 !important;
}

.nq-c-Autocomplete .results .autocomplete-item:hover,
#check-home-ac-portal .autocomplete-item:hover {
  background: #FFF5F5 !important;
}

.nq-c-Autocomplete .results .autocomplete-item.autocomplete-active,
#check-home-ac-portal .autocomplete-item.autocomplete-active {
  background: var(--check-ac-primary) !important;
}

.nq-c-Autocomplete .results .autocomplete-item.autocomplete-active .autocomplete-item-title,
.nq-c-Autocomplete .results .autocomplete-item.autocomplete-active .autocomplete-item-meta,
.nq-c-Autocomplete .results .autocomplete-item.autocomplete-active .autocomplete-item-icon,
#check-home-ac-portal .autocomplete-item.autocomplete-active .autocomplete-item-title,
#check-home-ac-portal .autocomplete-item.autocomplete-active .autocomplete-item-meta,
#check-home-ac-portal .autocomplete-item.autocomplete-active .autocomplete-item-icon {
  color: #fff !important;
}

.nq-c-Autocomplete .results .autocomplete-item.autocomplete-active .autocomplete-match,
#check-home-ac-portal .autocomplete-item.autocomplete-active .autocomplete-match {
  color: #fff !important;
}

.nq-c-Autocomplete .results .autocomplete-item.autocomplete-active .autocomplete-item-badge,
#check-home-ac-portal .autocomplete-item.autocomplete-active .autocomplete-item-badge {
  box-shadow: none !important;
  filter: brightness(1.05);
}

/* ---------- Media ---------- */
.nq-c-Autocomplete .results .autocomplete-item-media,
#check-home-ac-portal .autocomplete-item-media {
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: var(--check-ac-soft) !important;
}

.nq-c-Autocomplete .results .autocomplete-item-thumb,
#check-home-ac-portal .autocomplete-item-thumb {
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  display: block !important;
}

.nq-c-Autocomplete .results .autocomplete-item-icon,
#check-home-ac-portal .autocomplete-item-icon {
  color: var(--check-ac-primary) !important;
  display: block !important;
}

/* ---------- Corps texte ---------- */
.nq-c-Autocomplete .results .autocomplete-item-body,
#check-home-ac-portal .autocomplete-item-body {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nq-c-Autocomplete .results .autocomplete-item-title,
#check-home-ac-portal .autocomplete-item-title {
  display: block !important;
  max-width: 100% !important;
  font-family: var(--check-ac-font) !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  color: var(--check-ac-ink) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.nq-c-Autocomplete .results .autocomplete-match,
#check-home-ac-portal .autocomplete-match {
  font-weight: 700 !important;
  color: var(--check-ac-primary) !important;
}

.nq-c-Autocomplete .results .autocomplete-item-meta,
#check-home-ac-portal .autocomplete-item-meta {
  display: block !important;
  max-width: 100% !important;
  font-family: var(--check-ac-font) !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  color: var(--check-ac-muted) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ---------- Pastille catégorie (= cards établissement) ---------- */
.nq-c-Autocomplete .results .autocomplete-item-badge,
#check-home-ac-portal .autocomplete-item-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  align-self: flex-start !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  border: 0 !important;
  border-radius: 999px !important;
  /* Couleur par défaut seulement — la couleur catégorie est en inline (style="") */
  background-color: var(--check-ac-primary);
  color: #fff !important;
  font-family: var(--check-ac-font) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14) !important;
  box-sizing: border-box !important;
}

.nq-c-Autocomplete .results .autocomplete-item-badge-icon,
#check-home-ac-portal .autocomplete-item-badge-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 14px !important;
  height: 14px !important;
}

.nq-c-Autocomplete .results .autocomplete-item-badge-icon img,
.nq-c-Autocomplete .results .autocomplete-item-badge-icon svg,
#check-home-ac-portal .autocomplete-item-badge-icon img,
#check-home-ac-portal .autocomplete-item-badge-icon svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
}

.nq-c-Autocomplete .results .autocomplete-item-badge-label,
#check-home-ac-portal .autocomplete-item-badge-label {
  display: inline-block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* Overlay header : décalage sous le champ */
.nq-c-Autocomplete-autocompleteField--overlay .autocomplete-items {
  top: calc(100% + 10px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}
