.tpc-header { position: sticky; top: 0; z-index: var(--tpc-z-header); background: var(--tpc-background-color); border-bottom: 1px solid var(--tpc-border-color); }
/* Réglage Customizer § En-tête > "En-tête fixe au défilement" désactivé. */
body.tpc-header-static .tpc-header { position: static; }

.tpc-topbar { background: var(--tpc-primary-color); color: var(--tpc-on-primary-color); font-size: var(--tpc-text-sm); }
.tpc-topbar__inner { display: flex; flex-wrap: wrap; align-items: center; gap: var(--tpc-space-2) var(--tpc-space-5); min-height: 2.25rem; padding-block: .35rem; }
.tpc-topbar__delivery, .tpc-topbar__phone { display: flex; align-items: center; gap: .4rem; margin: 0; }
.tpc-topbar__phone a { display: flex; align-items: center; gap: .4rem; text-decoration: none; }
.tpc-topbar__nav { margin-inline-start: auto; }
.tpc-topbar__menu { display: flex; gap: var(--tpc-space-4); margin: 0; padding: 0; list-style: none; }
.tpc-topbar__menu a { text-decoration: none; }
.tpc-topbar__menu a:hover { text-decoration: underline; }

.tpc-header__inner { display: flex; align-items: center; gap: var(--tpc-space-4); min-height: 4.5rem; padding-block: var(--tpc-space-2); }
.tpc-logo { display: inline-flex; align-items: center; text-decoration: none; }
.tpc-logo__img { display: block; max-height: var(--tpc-logo-height, 3rem); width: auto; }
.tpc-logo__text { font-size: var(--tpc-text-xl); font-weight: 700; color: var(--tpc-text-color); }

.tpc-menu-toggle, .tpc-header__action, .tpc-search-toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  min-width: var(--tpc-touch-target); min-height: var(--tpc-touch-target); padding-inline: .4rem;
  border: 0; background: transparent; color: var(--tpc-text-color); text-decoration: none;
}
.tpc-menu-toggle { display: none; }
.tpc-header__action-label { display: none; font-size: var(--tpc-text-sm); }
.tpc-header__actions { display: flex; align-items: center; gap: var(--tpc-space-1); margin-inline-start: auto; }

.tpc-header--centered .tpc-header__inner { flex-wrap: wrap; justify-content: center; }
.tpc-header--centered .tpc-logo { width: 100%; justify-content: center; order: -1; }
.tpc-header--compact .tpc-header__inner { min-height: 3.5rem; }
.tpc-header--compact .tpc-logo__img { max-height: 2.25rem; }

/* Mini-panier déroulant. */
.tpc-mini-cart { position: relative; }
.tpc-mini-cart__panel {
  display: none; position: absolute; top: 100%; right: 0; z-index: var(--tpc-z-dropdown);
  width: min(22rem, 90vw); margin-top: .5rem; padding: var(--tpc-space-4);
  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-mini-cart:hover .tpc-mini-cart__panel, .tpc-mini-cart:focus-within .tpc-mini-cart__panel { display: block; }
.tpc-mini-cart .woocommerce-mini-cart { list-style: none; margin: 0 0 var(--tpc-space-3); padding: 0; max-height: 20rem; overflow-y: auto; }
.tpc-mini-cart .woocommerce-mini-cart-item { display: flex; align-items: center; gap: var(--tpc-space-3); padding: var(--tpc-space-2) 0; border-bottom: 1px solid var(--tpc-border-color); }
.tpc-mini-cart .woocommerce-mini-cart-item img { width: var(--tpc-minicart-thumb-size, 3rem); height: var(--tpc-minicart-thumb-size, 3rem); object-fit: var(--tpc-image-fit, contain); border-radius: var(--tpc-border-radius); }
.tpc-mini-cart .woocommerce-mini-cart-item a.remove { margin-inline-start: auto; color: var(--tpc-error-color); text-decoration: none; }
.tpc-mini-cart .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 0 0 var(--tpc-space-3); font-weight: 700; }
.tpc-mini-cart .woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: .5rem; }
.tpc-mini-cart .woocommerce-mini-cart__empty-message { margin: 0; color: var(--tpc-muted-color); }

@media (max-width: 47.99em) {
  .tpc-menu-toggle { display: inline-flex; }
  .tpc-header__search--center, .tpc-header__search--right { display: none; }
  .tpc-mini-cart__panel { position: fixed; top: auto; bottom: 0; right: 0; left: 0; width: 100%; border-radius: var(--tpc-border-radius) var(--tpc-border-radius) 0 0; }
}
@media (min-width: 48em) {
  .tpc-header__action-label { display: inline; }
  .tpc-header__search--center { flex: 1; display: flex; justify-content: center; }
}

/* « Contactez-nous » : <details> natif, panneau déroulant sous le bouton. */
.tpc-contact { position: relative; }
.tpc-contact__toggle { cursor: pointer; list-style: none; }
.tpc-contact__toggle::-webkit-details-marker { display: none; }
.tpc-contact__sr { display: none; } /* Le libellé visible suffit dès 48em ; voir ci-dessous pour mobile. */
@media (max-width: 47.99em) {
  .tpc-contact__sr { display: block; }
}
.tpc-contact__panel {
  position: absolute; top: 100%; right: 0; z-index: var(--tpc-z-dropdown);
  min-width: 15rem; margin-top: .5rem; padding: var(--tpc-space-4);
  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-contact__title { margin: 0 0 var(--tpc-space-2); font-weight: 600; }
.tpc-contact__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--tpc-space-2); }
.tpc-contact__list a { display: flex; align-items: center; gap: .5rem; min-height: var(--tpc-touch-target); color: var(--tpc-text-color); text-decoration: none; overflow-wrap: anywhere; }
.tpc-contact__list a:hover, .tpc-contact__list a:focus-visible { text-decoration: underline; }
