/*
 * Menu principal (desktop) : rendu par TPC_Walker_Primary (.tpc-menu, .tpc-menu__item,
 * .tpc-submenu). Un mega menu s'obtient en ajoutant la classe CSS "tpc-mega" à un
 * élément de premier niveau (Apparence > Menus > Options d'écran > Classes CSS).
 */
.tpc-nav { border-block: 1px solid var(--tpc-border-color); background: var(--tpc-background-color); }
.tpc-menu { display: flex; flex-wrap: wrap; gap: var(--tpc-space-1); margin: 0; padding: 0; list-style: none; }
.tpc-menu__item { position: relative; }
.tpc-menu__link {
  display: flex; align-items: center; gap: .35rem; min-height: var(--tpc-touch-target);
  padding: 0 var(--tpc-space-3); color: var(--tpc-text-color); font-weight: 600; text-decoration: none;
}
.tpc-menu__link:hover, .tpc-menu__item.current-menu-item > .tpc-menu__link { color: var(--tpc-primary-color); }

.tpc-submenu-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: var(--tpc-touch-target); height: var(--tpc-touch-target); margin-inline-start: -.5rem;
  border: 0; background: transparent; color: inherit;
}
.tpc-submenu-toggle svg { transition: transform var(--tpc-transition); }
.tpc-submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

/* Sous-menu : masqué par défaut, révélé au survol (souris) ou via le bouton (clavier/tactile). */
.tpc-submenu {
  display: none; position: absolute; top: 100%; left: 0; z-index: var(--tpc-z-dropdown);
  min-width: 16rem; margin: 0; padding: var(--tpc-space-2); list-style: none;
  background: var(--tpc-background-color); border: 1px solid var(--tpc-border-color);
  border-radius: var(--tpc-border-radius); box-shadow: var(--tpc-shadow-md);
}
.tpc-menu__item.menu-item-has-children:hover > .tpc-submenu,
.tpc-menu__item.menu-item-has-children:focus-within > .tpc-submenu,
.tpc-menu__item.menu-item-has-children > .tpc-submenu-toggle[aria-expanded="true"] + .tpc-submenu,
.tpc-menu__item.menu-item-has-children > .tpc-submenu[data-open="true"] {
  display: block;
}
.tpc-submenu .tpc-menu__link { min-height: 2.5rem; padding: var(--tpc-space-2) var(--tpc-space-3); border-radius: var(--tpc-border-radius); }
.tpc-submenu .tpc-menu__link:hover { background: var(--tpc-surface-color); }
.tpc-submenu .tpc-submenu { top: 0; left: 100%; }

/* Mega menu : pleine largeur du conteneur, plusieurs colonnes (sous-menus imbriqués en colonnes). */
.tpc-menu__item--depth-0.tpc-mega { position: static; }
.tpc-menu__item--depth-0.tpc-mega > .tpc-submenu {
  left: 50%; transform: translateX(-50%); width: min(var(--tpc-container-width), 92vw);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: var(--tpc-space-2) var(--tpc-space-6);
}
.tpc-menu__item--depth-0.tpc-mega:hover > .tpc-submenu,
.tpc-menu__item--depth-0.tpc-mega:focus-within > .tpc-submenu { display: grid; }
.tpc-menu__item--depth-0.tpc-mega > .tpc-submenu > .tpc-menu__item { display: block; }
.tpc-menu__item--depth-0.tpc-mega .tpc-submenu { position: static; box-shadow: none; border: 0; padding: 0; width: auto; transform: none; }
.tpc-menu__item--depth-0.tpc-mega > .tpc-submenu > .tpc-menu__item > .tpc-menu__link { font-weight: 700; padding-inline: 0; }

/* Recherche d'en-tête. */
.tpc-search { position: relative; display: flex; align-items: stretch; }
.tpc-search--inline { width: min(28rem, 100%); }
.tpc-search__input { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.tpc-search__submit {
  display: flex; align-items: center; justify-content: center; width: var(--tpc-touch-target);
  border: 1px solid var(--tpc-control-border-color); border-left: 0;
  border-top-right-radius: var(--tpc-border-radius); border-bottom-right-radius: var(--tpc-border-radius);
  background: var(--tpc-primary-color); color: var(--tpc-on-primary-color);
}
.tpc-header__search-panel {
  position: absolute; inset-inline: 0; top: 100%; z-index: var(--tpc-z-dropdown);
  padding-block: var(--tpc-space-4); background: var(--tpc-background-color); border-bottom: 1px solid var(--tpc-border-color); box-shadow: var(--tpc-shadow-md);
}
.tpc-header__search-panel .tpc-search { width: 100%; }
.tpc-search__results {
  position: absolute; inset-inline: 0; top: calc(100% + .4rem); z-index: var(--tpc-z-dropdown);
  max-height: 70vh; overflow-y: auto; background: var(--tpc-background-color);
  border: 1px solid var(--tpc-border-color); border-radius: var(--tpc-border-radius); box-shadow: var(--tpc-shadow-md);
}
.tpc-search--drawer .tpc-search__results { position: static; margin-top: var(--tpc-space-2); box-shadow: none; }

/* Cible du prochain lot (filters.js) : une ligne résultat de la recherche Ajax. */
.tpc-search-result {
  display: flex; align-items: center; gap: var(--tpc-space-3); padding: var(--tpc-space-2) var(--tpc-space-3);
  text-decoration: none; color: inherit;
}
.tpc-search-result:hover { background: var(--tpc-surface-color); }
.tpc-search-result img { width: var(--tpc-search-thumb-size, 2.75rem); height: var(--tpc-search-thumb-size, 2.75rem); object-fit: var(--tpc-image-fit, contain); border-radius: var(--tpc-border-radius); flex-shrink: 0; }
.tpc-search-result__meta { font-size: var(--tpc-text-sm); color: var(--tpc-muted-color); }
.tpc-search__status { margin: 0; padding: var(--tpc-space-3); color: var(--tpc-muted-color); font-size: var(--tpc-text-sm); }

@media (max-width: 47.99em) {
  .tpc-nav { display: none; } /* La navigation mobile passe par le tiroir (.tpc-drawer). */
}
