/* ============================================================
   LE TABLIER — Design System
   Thème enfant Hummingbird / PrestaShop 9
   ============================================================ */

/* ----------------------------------------------------------
   1. TOKENS — Variables CSS
   ---------------------------------------------------------- */
:root {
  /* === Le Tablier tokens === */
  --lt-bg:           #FAF8F3;
  --lt-bg-card:      #FBF9F5;
  --lt-bg-section:   #F0EBE0;
  --lt-or:           #A8720A;
  --lt-or-light:     #C8920A;
  --lt-or-pale:      #F5EDDA;
  --lt-texte:        #2A1E12;
  --lt-texte-2:      #5C4A32;
  --lt-texte-3:      #8C7355;
  --lt-bordure:      #DED5C4;
  --lt-bordure-or:   #A8720A;
  --lt-succes:       #2D7A4F;
  --lt-erreur:       #C0392B;
  --lt-font-serif:   Georgia, "Times New Roman", serif;
  --lt-font-ui:      system-ui, -apple-system, "Segoe UI", sans-serif;
  --lt-radius:       4px;
  --lt-radius-lg:    8px;
  --lt-shadow:       0 2px 8px rgba(42,30,18,.08);
  --lt-shadow-hover: 0 4px 16px rgba(42,30,18,.14);
  --lt-transition:   .2s ease;

  /* === Écrasement Bootstrap 5 ===
     Remplace le bleu Bootstrap par notre or sur tous les composants */
  --bs-primary:            #A8720A;
  --bs-primary-rgb:        168, 114, 10;
  --bs-link-color:         #A8720A;
  --bs-link-color-rgb:     168, 114, 10;
  --bs-link-hover-color:   #C8920A;
  --bs-body-bg:            #FAF8F3;
  --bs-body-color:         #2A1E12;
  --bs-border-color:       #DED5C4;
  --bs-secondary-bg:       #F0EBE0;
  --bs-tertiary-bg:        #FBF9F5;
  --bs-emphasis-color:     #2A1E12;
  --bs-form-valid-color:   #2D7A4F;
  --bs-form-invalid-color: #C0392B;
}

/* ----------------------------------------------------------
   2. BASE — Reset & global
   ---------------------------------------------------------- */
body {
  background-color: var(--lt-bg);
  color: var(--lt-texte);
  font-family: var(--lt-font-ui);
}

a {
  color: var(--lt-or);
  text-decoration: none;
  transition: color var(--lt-transition);
}
a:hover {
  color: var(--lt-or-light);
}

h1, h2, h3, h4 {
  font-family: var(--lt-font-serif);
  color: var(--lt-texte);
}

/* ----------------------------------------------------------
   3. HEADER & NAVIGATION
   ---------------------------------------------------------- */
#header {
  background-color: var(--lt-bg);
  border-bottom: 1px solid var(--lt-bordure);
}

/* Logo */
.logo img,
#_desktop_logo img {
  max-height: 60px;
}

/* Nav principale */
#_desktop_top_menu .top-menu a {
  color: var(--lt-texte);
  font-family: var(--lt-font-ui);
  font-size: .9rem;
  letter-spacing: .02em;
  transition: color var(--lt-transition);
}
#_desktop_top_menu .top-menu a:hover,
#_desktop_top_menu .top-menu .current > a {
  color: var(--lt-or);
}

/* Barre du haut (contact, langue, compte, panier) */
#header .header-top {
  background-color: var(--lt-bg-section);
  border-bottom: 1px solid var(--lt-bordure);
}

/* Icônes panier / compte */
.header__right .material-icons,
.cart-preview .shopping-cart .material-icons {
  color: var(--lt-texte);
}

/* Badge panier */
.cart-products-count {
  background-color: var(--lt-or);
  color: #fff;
}

/* ----------------------------------------------------------
   4. BOUTONS
   ---------------------------------------------------------- */

/* Bouton principal */
.btn-primary,
.add-to-cart,
button.btn-primary {
  background-color: var(--lt-or);
  border-color: var(--lt-or);
  color: #fff;
  font-family: var(--lt-font-ui);
  font-weight: 600;
  letter-spacing: .04em;
  border-radius: var(--lt-radius);
  transition: background-color var(--lt-transition), border-color var(--lt-transition), box-shadow var(--lt-transition);
}
.btn-primary:hover,
.add-to-cart:hover,
button.btn-primary:hover {
  background-color: var(--lt-or-light);
  border-color: var(--lt-or-light);
  box-shadow: var(--lt-shadow-hover);
}
.btn-primary:focus,
.add-to-cart:focus {
  outline: 2px solid var(--lt-or);
  outline-offset: 2px;
  box-shadow: none;
}

/* Bouton secondaire / outline */
.btn-secondary,
button.btn-secondary {
  background-color: transparent;
  border: 1px solid var(--lt-bordure-or);
  color: var(--lt-or);
  border-radius: var(--lt-radius);
  transition: background-color var(--lt-transition), color var(--lt-transition);
}
.btn-secondary:hover {
  background-color: var(--lt-or-pale);
  color: var(--lt-or);
}

/* ----------------------------------------------------------
   5. HOMEPAGE — Slider (ps_imageslider)
   ---------------------------------------------------------- */
#imageSlider,
.slider-wrapper,
#carousel {
  border-radius: 0;
  overflow: hidden;
}

/* Flèches navigation slider */
.slick-prev,
.slick-next,
.carousel-control-prev,
.carousel-control-next {
  background-color: rgba(42,30,18,.5);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color var(--lt-transition);
}
.slick-prev:hover,
.slick-next:hover,
.carousel-control-prev:hover,
.carousel-control-next:hover {
  background-color: var(--lt-or);
}

/* Points slider */
.slick-dots li button::before,
.carousel-indicators button {
  background-color: var(--lt-or-pale);
  border: 1px solid var(--lt-or);
}
.slick-dots li.slick-active button::before,
.carousel-indicators .active {
  background-color: var(--lt-or);
}

/* ----------------------------------------------------------
   6. HOMEPAGE — Produits vedettes (ps_featuredproducts)
   ---------------------------------------------------------- */

/* Sections homepage — fond alterné pour aérer */
section.featured-products,
section.new-products,
section.bestseller-products {
  padding: 3rem 0;
}
section.featured-products:nth-of-type(even),
section.new-products:nth-of-type(even),
section.bestseller-products:nth-of-type(even) {
  background-color: var(--lt-bg-section);
}

/* Titre de section */
section.featured-products h2,
section.new-products h2,
section.bestseller-products h2,
.products-section-title {
  font-family: var(--lt-font-serif);
  color: var(--lt-texte);
  font-size: 1.75rem;
  font-weight: normal;
  text-align: center;
  margin-bottom: 2rem;
  position: relative;
}

section.featured-products h2::after,
section.new-products h2::after,
section.bestseller-products h2::after {
  content: '';
  display: block;
  width: 48px;
  height: 2px;
  background: var(--lt-or);
  margin: .5rem auto 0;
}

/* Grille produits */
.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Carte produit */
.product-miniature {
  background: var(--lt-bg-card);
  border: 1px solid rgba(168,114,10,.12);  /* bordure or très subtile */
  border-radius: var(--lt-radius-lg);
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(42,30,18,.05);
  transition: box-shadow var(--lt-transition), transform var(--lt-transition), border-color var(--lt-transition);
}
.product-miniature:hover {
  box-shadow: 0 6px 20px rgba(42,30,18,.12);
  border-color: rgba(168,114,10,.3);
  transform: translateY(-3px);
}

/* Image produit */
.product-miniature .product-thumbnail img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
}

/* Corps carte */
.product-miniature .product-description {
  padding: 1rem;
}

/* Nom produit */
.product-miniature .product-title a {
  font-family: var(--lt-font-serif);
  color: var(--lt-texte);
  font-size: .95rem;
  font-weight: normal;
  line-height: 1.4;
}
.product-miniature .product-title a:hover {
  color: var(--lt-or);
}

/* Prix */
.product-miniature .product-price-and-shipping .price {
  color: var(--lt-or);
  font-weight: 700;
  font-size: 1.05rem;
}
.product-miniature .product-price-and-shipping .regular-price {
  color: var(--lt-texte-3);
  text-decoration: line-through;
  font-size: .85rem;
}

/* Badge promo */
.product-miniature .discount-badge,
.product-flag.discount {
  background-color: var(--lt-or);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  padding: .2em .5em;
  border-radius: var(--lt-radius);
}

/* Badge nouveau */
.product-flag.new {
  background-color: var(--lt-texte);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  padding: .2em .5em;
  border-radius: var(--lt-radius);
}

/* ----------------------------------------------------------
   7. HOMEPAGE — Banner (ps_banner)
   ---------------------------------------------------------- */
#banner .banner-img {
  width: 100%;
  display: block;
}
#banner a {
  display: block;
  overflow: hidden;
  border-radius: var(--lt-radius-lg);
}
#banner a:hover img {
  transform: scale(1.02);
  transition: transform .4s ease;
}

/* ----------------------------------------------------------
   8. HOMEPAGE — Texte perso (ps_customtext)
   ---------------------------------------------------------- */
.block_text_img {
  background-color: var(--lt-bg-section);
  border-radius: var(--lt-radius-lg);
  padding: 2.5rem;
}
.block_text_img h2,
.block_text_img h3 {
  font-family: var(--lt-font-serif);
  color: var(--lt-texte);
}

/* ----------------------------------------------------------
   9. FOOTER
   ---------------------------------------------------------- */
#footer {
  background-color: var(--lt-texte);
  color: #ECDFC8;
  border-top: 3px solid var(--lt-or);
}

#footer h3,
#footer .h3 {
  color: #FAF8F3;
  font-family: var(--lt-font-serif);
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

#footer a {
  color: #ECDFC8;
  font-size: .875rem;
}
#footer a:hover {
  color: var(--lt-or-light);
}

/* Newsletter */
#footer .block_newsletter .input-group .form-control {
  background-color: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.2);
  color: #fff;
}
#footer .block_newsletter .btn-primary {
  background-color: var(--lt-or);
  border-color: var(--lt-or);
}

/* Footer bottom */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.1);
  font-size: .8rem;
  color: rgba(255,255,255,.5);
}

/* ----------------------------------------------------------
   10. CATALOGUE — Page catégorie
   ---------------------------------------------------------- */

/* Hero catégorie */
.category-cover img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: var(--lt-radius-lg);
}

.category-description {
  color: var(--lt-texte-2);
  font-size: .9rem;
  line-height: 1.6;
}

/* Sidebar filtres */
#search_filters {
  background: var(--lt-bg-card);
  border: 1px solid var(--lt-bordure);
  border-radius: var(--lt-radius-lg);
  padding: 1.25rem;
}

#search_filters .facet-title {
  font-family: var(--lt-font-ui);
  font-weight: 600;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--lt-texte-3);
  margin-bottom: .75rem;
}

/* Checkboxes filtres */
#search_filters .custom-checkbox input[type="checkbox"]:checked ~ span {
  background-color: var(--lt-or);
  border-color: var(--lt-or);
}
#search_filters .facet-label a {
  color: var(--lt-texte);
  font-size: .875rem;
}
#search_filters .facet-label a:hover {
  color: var(--lt-or);
}

/* Active filters */
.active-filter-title {
  font-weight: 600;
  color: var(--lt-texte-2);
  font-size: .85rem;
}
.filter-block a.js-search-link {
  background: var(--lt-or-pale);
  border: 1px solid var(--lt-or);
  color: var(--lt-or);
  border-radius: 12px;
  padding: .2em .7em;
  font-size: .8rem;
}

/* Sort / toolbar */
.total-products {
  color: var(--lt-texte-3);
  font-size: .85rem;
}
#js-product-list-top .sort-by-row select {
  border: 1px solid var(--lt-bordure);
  border-radius: var(--lt-radius);
  color: var(--lt-texte);
  font-size: .875rem;
  background-color: var(--lt-bg-card);
}

/* Pagination */
.pagination .page-link {
  color: var(--lt-texte);
  border-color: var(--lt-bordure);
  border-radius: var(--lt-radius);
}
.pagination .page-item.active .page-link {
  background-color: var(--lt-or);
  border-color: var(--lt-or);
  color: #fff;
}
.pagination .page-link:hover {
  background-color: var(--lt-or-pale);
  color: var(--lt-or);
}

/* ----------------------------------------------------------
   11. FICHE PRODUIT
   ---------------------------------------------------------- */

/* Galerie */
.product-cover img {
  border-radius: var(--lt-radius-lg);
  border: 1px solid var(--lt-bordure);
}
.product-images .thumb-container {
  border: 2px solid transparent;
  border-radius: var(--lt-radius);
  cursor: pointer;
  overflow: hidden;
  transition: border-color var(--lt-transition);
}
.product-images .thumb-container:hover,
.product-images .thumb-container.selected {
  border-color: var(--lt-or);
}

/* Nom produit */
.page-product h1.page-title {
  font-family: var(--lt-font-serif);
  font-size: 1.75rem;
  font-weight: normal;
  color: var(--lt-texte);
}

/* Prix */
.current-price .price {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--lt-or);
}
.product-discount .regular-price {
  text-decoration: line-through;
  color: var(--lt-texte-3);
}
.discount-percentage {
  background: var(--lt-or);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  padding: .2em .5em;
  border-radius: var(--lt-radius);
}

/* Variantes (couleurs, tailles) */
.product-variants .control-label {
  font-weight: 600;
  font-size: .85rem;
  color: var(--lt-texte-2);
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Variante couleur (pastilles) */
.input-color:checked + span,
.input-color + span:hover {
  border: 2px solid var(--lt-or);
}

/* Variante taille (boutons) */
.product-variants-item .input-radio:checked + span {
  background: var(--lt-or);
  border-color: var(--lt-or);
  color: #fff;
}
.product-variants-item .input-radio + span {
  border: 1px solid var(--lt-bordure);
  border-radius: var(--lt-radius);
  padding: .25em .75em;
  font-size: .875rem;
  cursor: pointer;
  transition: background-color var(--lt-transition), border-color var(--lt-transition);
}

/* Quantité */
.product-quantity .qty {
  border: 1px solid var(--lt-bordure);
  border-radius: var(--lt-radius);
}
.product-quantity .input-group-btn .btn {
  background: var(--lt-bg-section);
  border: 1px solid var(--lt-bordure);
  color: var(--lt-texte);
}

/* Bouton ajout panier */
.product-add-to-cart .add-to-cart {
  font-size: 1rem;
  padding: .75rem 2rem;
  border-radius: var(--lt-radius);
}

/* Accordéon description / matières / entretien */
.product-description .tab-pane,
.product-tabs .tab-content {
  color: var(--lt-texte-2);
  font-size: .9rem;
  line-height: 1.7;
}
.nav-tabs .nav-link {
  color: var(--lt-texte-2);
  border: none;
  border-bottom: 2px solid transparent;
  font-weight: 500;
}
.nav-tabs .nav-link.active {
  color: var(--lt-or);
  border-bottom-color: var(--lt-or);
  background: none;
}

/* ----------------------------------------------------------
   12. PANIER
   ---------------------------------------------------------- */

/* Ligne produit */
.cart-item {
  border-bottom: 1px solid var(--lt-bordure);
  padding: 1rem 0;
}
.cart-item .product-name {
  font-family: var(--lt-font-serif);
  color: var(--lt-texte);
}
.cart-item .product-price {
  color: var(--lt-or);
  font-weight: 700;
}

/* Résumé commande */
.cart-summary-line {
  display: flex;
  justify-content: space-between;
  font-size: .9rem;
  padding: .4rem 0;
  border-bottom: 1px solid var(--lt-bordure);
}
.cart-summary-line.cart-total {
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--lt-texte);
  border-bottom: none;
  padding-top: .75rem;
}

/* Code promo */
#promo-code .cart-voucher-code .form-control {
  border: 1px solid var(--lt-bordure);
  border-radius: var(--lt-radius) 0 0 var(--lt-radius);
}

/* ----------------------------------------------------------
   13. TUNNEL DE COMMANDE
   ---------------------------------------------------------- */

/* Étapes */
.checkout-step .step-title {
  font-family: var(--lt-font-serif);
  color: var(--lt-texte);
  cursor: pointer;
}
.checkout-step.-current .step-title {
  color: var(--lt-or);
}
.checkout-step.-complete .step-title {
  color: var(--lt-succes);
}

/* Champs */
.checkout-form .form-control {
  border: 1px solid var(--lt-bordure);
  border-radius: var(--lt-radius);
  color: var(--lt-texte);
  background: var(--lt-bg-card);
  transition: border-color var(--lt-transition);
}
.checkout-form .form-control:focus {
  border-color: var(--lt-or);
  outline: none;
  box-shadow: 0 0 0 2px rgba(168,114,10,.15);
}

/* Options livraison */
.delivery-option {
  border: 1px solid var(--lt-bordure);
  border-radius: var(--lt-radius-lg);
  padding: 1rem;
  cursor: pointer;
  transition: border-color var(--lt-transition), background-color var(--lt-transition);
}
.delivery-option:hover {
  border-color: var(--lt-or);
  background-color: var(--lt-or-pale);
}
.delivery-option input[type="radio"]:checked + label,
.delivery-option.selected {
  border-color: var(--lt-or);
  background-color: var(--lt-or-pale);
}

/* Conditions générales */
.payment-confirmation .condition-label {
  font-size: .85rem;
  color: var(--lt-texte-2);
}

/* ----------------------------------------------------------
   14. BLOC RÉASSURANCE (blockreassurance)
   ---------------------------------------------------------- */
.block-reassurance {
  background: var(--lt-bg-section);
  border-top: 1px solid var(--lt-bordure);
  border-bottom: 1px solid var(--lt-bordure);
  padding: 1.5rem 0;
}
.block-reassurance-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .5rem 1rem;
}
.block-reassurance-item img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.block-reassurance-item p {
  font-size: .8rem;
  color: var(--lt-texte-2);
  margin: 0;
  line-height: 1.4;
}
.block-reassurance-item p strong {
  display: block;
  color: var(--lt-texte);
  font-weight: 600;
}

/* ----------------------------------------------------------
   15. NOTIFICATIONS / ALERTES
   ---------------------------------------------------------- */
.alert-success {
  background-color: #EAF7EF;
  border-color: var(--lt-succes);
  color: var(--lt-succes);
}
.alert-danger,
.alert-warning {
  background-color: #FDEEEC;
  border-color: var(--lt-erreur);
  color: var(--lt-erreur);
}

/* ----------------------------------------------------------
   16. RESPONSIVE — Mobile
   ---------------------------------------------------------- */
@media (max-width: 767.98px) {
  .products {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }

  .page-product h1.page-title {
    font-size: 1.35rem;
  }

  .current-price .price {
    font-size: 1.4rem;
  }

  #search_filters {
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 479.98px) {
  .products {
    grid-template-columns: 1fr;
  }
}

/* ----------------------------------------------------------
   17. ACCESSIBILITÉ
   ---------------------------------------------------------- */
*:focus-visible {
  outline: 2px solid var(--lt-or);
  outline-offset: 2px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ----------------------------------------------------------
   18. SOUS-CATÉGORIES — Hummingbird BEM : .subcategory__*
   ---------------------------------------------------------- */

/* Conteneur */
.subcategory {
  margin: 1rem 0 1.5rem;
}
.subcategory__list {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

/* Lien sous-catégorie (sans image) */
.subcategory__link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem 1.1rem;
  border: 1px solid var(--lt-or);
  border-radius: 20px;
  color: var(--lt-or);
  font-size: .85rem;
  font-weight: 500;
  background: transparent;
  text-decoration: none;
  transition: background-color var(--lt-transition), color var(--lt-transition), box-shadow var(--lt-transition);
}
.subcategory__link:hover {
  background-color: var(--lt-or);
  color: #fff;
  box-shadow: 0 2px 8px rgba(168,114,10,.25);
}
.subcategory__name {
  line-height: 1;
}

/* Lien avec image (miniature) */
.subcategory__list--with-images {
  gap: 1rem;
}
.subcategory__link--with-image {
  flex-direction: column;
  padding: .75rem;
  border-radius: var(--lt-radius-lg);
  text-align: center;
  width: 120px;
}
.subcategory__thumbnail {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: var(--lt-radius);
  margin-bottom: .5rem;
}

/* Masquer la description dans le header (avant les produits) */
.category__header .category__description {
  display: none !important;
}

/* Description catégorie — dans le footer, après les produits */
.category__description--footer,
.category__footer .category__description,
.category__description {
  margin-top: 2.5rem;
  padding: 1.5rem 1.75rem;
  background: var(--lt-bg-section);
  border-top: 2px solid var(--lt-bordure);
  border-radius: var(--lt-radius-lg);
  color: var(--lt-texte-2);
  font-size: .875rem;
  line-height: 1.8;
}
.category__description p:last-child,
.category__description--footer p:last-child {
  margin-bottom: 0;
}
/* Titre éventuel dans la description */
.category__description h2,
.category__description h3,
.category__description--footer h2,
.category__description--footer h3 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--lt-texte);
  margin-bottom: .5rem;
}

/* Description catégorie — limiter la hauteur et ajouter un "lire plus" visuel */
.category-description p {
  color: var(--lt-texte-2);
  font-size: .9rem;
  line-height: 1.7;
}

/* Breadcrumb — style cohérent */
nav.breadcrumb ol,
.breadcrumb {
  background: none;
  padding: .5rem 0;
  font-size: .8rem;
}
nav.breadcrumb li,
.breadcrumb-item {
  color: var(--lt-texte-3);
}
nav.breadcrumb a,
.breadcrumb-item a {
  color: var(--lt-texte-3);
  text-decoration: none;
}
nav.breadcrumb a:hover,
.breadcrumb-item a:hover {
  color: var(--lt-or);
}
nav.breadcrumb li:last-child,
.breadcrumb-item.active {
  color: var(--lt-texte);
  font-weight: 500;
}

/* Titre de catégorie H1 */
h1.page-title,
.page-header h1 {
  font-family: var(--lt-font-serif);
  font-size: 1.75rem;
  font-weight: normal;
  color: var(--lt-texte);
  margin-bottom: .5rem;
}

/* ----------------------------------------------------------
   CATÉGORIE RACINE "Accueil" (ID 2) — masquer titre/breadcrumb
   La catégorie ID 2 "Accueil" sert de catalogue racine.
   Le H1 "Accueil" et la breadcrumb sont redondants et peu esthétiques.
   ---------------------------------------------------------- */
body.category-id-2 nav.breadcrumb,
body.category-id-2 .breadcrumb-wrapper,
body.category-id-2 #js-breadcrumb {
  display: none;
}

body.category-id-2 h1.page-title,
body.category-id-2 .page-header h1,
body.category-id-2 .h1.page-title {
  display: none;
}

/* Masquer aussi le lien sous-catégorie "Boutique" affiché sous le titre */
body.category-id-2 .category-sub-menu {
  display: none;
}

/* ----------------------------------------------------------
   19. ARBRE CATÉGORIES & FILTRES — toujours ouverts
   ps_categorytree utilise Bootstrap 5 accordion (.accordion-collapse)
   ps_facetedsearch utilise Bootstrap collapse (.collapse)
   On force l'ouverture via CSS !important pour les deux.
   ---------------------------------------------------------- */

/* ── A. Arbre des catégories (ps_categorytree) ─────────────
   Structure réelle du HTML Hummingbird :
   .ps-categorytree .accordion .accordion-collapse.collapse
   ──────────────────────────────────────────────────────── */

/* Forcer tous les panneaux accordéon de l'arbre à rester ouverts */
#left-column .accordion-collapse.collapse,
#left-column .accordion-collapse.collapsing,
#left-column .accordion-collapse.show {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
  transition: none !important;
}

/* Cacher la flèche chevron sur le bouton d'accordéon */
#left-column .accordion-button::after {
  display: none !important;
}

/* Rendre le bouton discret — on le garde cliquable pour les sous-niveaux */
#left-column .accordion-button {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  width: 28px;
  min-height: 0;
  border: none;
  opacity: 0; /* bouton invisible mais cliquable si besoin */
}

/* Titre de section de la sidebar */
#left-column .left-block__title {
  font-family: var(--lt-font-ui);
  font-weight: 700;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--lt-texte-3);
  margin-bottom: .75rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--lt-bordure);
}
#left-column .left-block__title-link {
  color: var(--lt-texte-3);
  text-decoration: none;
}

/* Liens dans l'arbre des catégories */
#left-column .category-tree__item-link {
  color: var(--lt-texte);
  font-size: .875rem;
  text-decoration: none;
  display: block;
  padding: .3rem .25rem;
  border-radius: var(--lt-radius);
  transition: color var(--lt-transition), background-color var(--lt-transition);
}
#left-column .category-tree__item-link:hover {
  color: var(--lt-or);
  background-color: var(--lt-or-pale);
}
/* Catégorie active / sélectionnée */
#left-column .category-tree__item.current > .category-tree__item-header > .category-tree__item-link,
#left-column .category-tree__item.active > .category-tree__item-header > .category-tree__item-link {
  color: var(--lt-or);
  font-weight: 600;
}

/* Indentation par profondeur */
#left-column .category-tree__list[data-depth="1"] {
  padding-left: .75rem;
  border-left: 2px solid var(--lt-bordure);
  margin: .25rem 0 .25rem .25rem;
}
#left-column .category-tree__list[data-depth="2"] {
  padding-left: .75rem;
  border-left: 2px solid var(--lt-or-pale);
  margin: .15rem 0 .15rem .25rem;
}

/* En-tête d'élément (lien + bouton) */
#left-column .category-tree__item-header {
  display: flex;
  align-items: center;
}

/* ── B. Filtres facettés (ps_facetedsearch) ─────────────────
   Structure : #search_filters .facet ul.collapse
   ──────────────────────────────────────────────────────── */

/* Forcer l'ouverture des panneaux de filtre */
#search_filters .facet .collapse,
#search_filters .facet .collapsing,
#search_filters .collapse:not(.show) {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
  visibility: visible !important;
  transition: none !important;
}

/* Masquer les icônes de toggle puisque tout est ouvert */
#search_filters .collapse-icons,
#search_filters button[data-bs-toggle="collapse"]::after {
  display: none !important;
}

/* Rendre le toggle non-cliquable */
#search_filters .title[data-toggle="collapse"],
#search_filters [data-bs-toggle="collapse"] {
  pointer-events: none;
  cursor: default;
}

.product-miniature .thumbnail-container,.product-miniature .product-thumbnail,.product-cover,.product-cover img,.product-images .thumb-container{background-color:var(--lt-bg-card)}
.product-miniature .product-thumbnail img,.product-cover img{background:var(--lt-bg-card);mix-blend-mode:multiply}

.product-miniature .thumbnail-container,.product-miniature .product-thumbnail,.product-cover,.product-cover img,.product-images .thumb-container{background:#fff!important}.product-miniature .product-thumbnail img,.product-cover img{background:#fff!important;mix-blend-mode:normal!important}

/* Le Tablier — couche contemporaine pour le thème enfant Hummingbird.
   Charger après le-tablier.css. Aucun contenu ou comportement marchand modifié. */
:root {
  --lt-bg: #faf9f6;
  --lt-bg-card: #ffffff;
  --lt-bg-section: #f0ede6;
  --lt-or: #896020;
  --lt-or-light: #704c16;
  --lt-or-pale: #f2e9d8;
  --lt-texte: #272923;
  --lt-texte-2: #53564d;
  --lt-texte-3: #696c62;
  --lt-bordure: #dedfd6;
  --lt-bordure-or: #896020;
  --lt-radius: 8px;
  --lt-radius-lg: 16px;
  --lt-shadow: 0 4px 20px rgb(39 41 35 / 4%);
  --lt-shadow-hover: 0 12px 32px rgb(39 41 35 / 9%);
  --bs-primary: #896020;
  --bs-primary-rgb: 137, 96, 32;
  --bs-link-color: #896020;
  --bs-link-color-rgb: 137, 96, 32;
  --bs-link-hover-color: #704c16;
  --bs-link-hover-color-rgb: 112, 76, 22;
  --bs-body-bg: #faf9f6;
  --bs-body-color: #272923;
  --bs-border-color: #dedfd6;
  --bs-secondary-bg: #f0ede6;
  --bs-tertiary-bg: #ffffff;
  --bs-emphasis-color: #272923;
}

body { line-height: 1.65; }
h1, h2, h3, h4 { letter-spacing: -.025em; line-height: 1.18; }
h1.page-title, .page-header h1, .page-product h1.page-title {
  font-size: clamp(1.9rem, 3.5vw, 3rem);
  margin-bottom: 1.25rem;
}
::selection { background: var(--lt-or-pale); color: var(--lt-texte); }

/* En-tête Hummingbird : préserver les mécanismes du menu mobile. */
#header { border-bottom: 1px solid var(--lt-bordure); box-shadow: var(--lt-shadow); }
#header .header-top { background: var(--lt-bg-section); font-size: .8125rem; }
#header .header-bottom { background: var(--lt-bg); padding-block: 1.1rem; }
#header .header-nav-full-width { border-top: 1px solid var(--lt-bordure); }
.header-block__action-btn { border-radius: var(--lt-radius); }
.header-block__action-btn:hover { background: var(--lt-or-pale); }
.header-block__badge { background: var(--lt-or); color: #fff; }

/* États complets, dont désactivé et navigation au clavier. */
.btn-primary {
  --bs-btn-bg: var(--lt-or);
  --bs-btn-border-color: var(--lt-or);
  --bs-btn-hover-bg: var(--lt-or-light);
  --bs-btn-hover-border-color: var(--lt-or-light);
  --bs-btn-active-bg: var(--lt-or-light);
  --bs-btn-active-border-color: var(--lt-or-light);
  --bs-btn-disabled-bg: var(--lt-or);
  --bs-btn-disabled-border-color: var(--lt-or);
  --bs-btn-focus-shadow-rgb: 137, 96, 32;
}
.btn-outline-primary {
  --bs-btn-color: var(--lt-or);
  --bs-btn-border-color: var(--lt-or);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--lt-or);
  --bs-btn-hover-border-color: var(--lt-or);
  --bs-btn-active-bg: var(--lt-or-light);
  --bs-btn-active-border-color: var(--lt-or-light);
  --bs-btn-disabled-color: var(--lt-or);
  --bs-btn-disabled-border-color: var(--lt-or);
}
.btn { border-radius: var(--lt-radius); font-weight: 600; letter-spacing: .01em; }
.btn-primary:disabled, .btn-primary.disabled, .add-to-cart:disabled {
  background: var(--lt-or); border-color: var(--lt-or); box-shadow: none; opacity: .55;
}
:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--lt-or); outline-offset: 3px;
}
.form-control, .form-select { border-radius: var(--lt-radius); border-color: var(--lt-bordure); }
.form-control:focus, .form-select:focus {
  border-color: var(--lt-or); box-shadow: 0 0 0 .2rem rgb(137 96 32 / 15%);
}

/* Les classes __ sont celles des modèles réels de Hummingbird. */
.product-miniature {
  border: 1px solid var(--lt-bordure);
  background: #fff;
  border-radius: var(--lt-radius-lg);
  box-shadow: none;
  min-width: 0;
}
.product-miniature__inner { height: 100%; }
.product-miniature__top { background: #fff; }
.product-miniature__image-link { display: block; }
.product-miniature__image {
  width: 100%; height: auto; aspect-ratio: 1;
  object-fit: contain; background: #fff;
  padding: clamp(.75rem, 1.5vw, 1.5rem);
}
.product-miniature__bottom { padding: clamp(.875rem, 1.5vw, 1.5rem); }
.product-miniature__title {
  display: block; color: var(--lt-texte);
  font-family: var(--lt-font-ui); font-size: 1rem;
  font-weight: 600; line-height: 1.45; overflow-wrap: anywhere;
}
.product-miniature__title:hover { color: var(--lt-or); }
.product-miniature__prices { margin-top: .75rem; gap: .5rem; }
.product-miniature__price { font-size: 1.125rem; font-weight: 700; color: var(--lt-texte); }
.product-miniature__regular-price { color: var(--lt-texte-3); }
.product-miniature__actions { margin-top: 1rem; }
.product-miniature__add, .product-miniature__details { min-height: 44px; }

section.featured-products, section.new-products, section.bestseller-products {
  padding-block: clamp(2.5rem, 5vw, 5rem);
}
section.featured-products h2, section.new-products h2,
section.bestseller-products h2, .products-section-title {
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  letter-spacing: -.035em; margin-bottom: 2rem;
}
.block_text_img { padding: clamp(1.5rem, 4vw, 4rem); }
.block_text_img p { max-width: 70ch; }
.subcategory__list { gap: .75rem; }
.subcategory__link { min-height: 44px; border-color: var(--lt-bordure); background: #fff; color: var(--lt-texte); }
#search_filters { box-shadow: none; padding: 1.5rem; }
.category__description--footer, .category__footer .category__description {
  padding: clamp(1.25rem, 3vw, 3rem); border-top: 0;
}
.product-cover img { background: #fff; object-fit: contain; }
.product-add-to-cart .add-to-cart { min-height: 48px; }
#footer { border-top: 0; background: #272923; color: #e8e8df; }
#footer a { color: #e8e8df; }
#footer a:hover { color: #e9c78e; }
#footer h3, #footer .h3 { text-transform: none; letter-spacing: 0; font-size: 1.25rem; }
#footer input::placeholder { color: #c7c9c1; opacity: 1; }
.footer-bottom { color: #c7c9c1; }

/* Sur écran tactile, pas de déplacement de carte au toucher. */
@media (hover: none) {
  .product-miniature:hover { transform: none; box-shadow: none; border-color: var(--lt-bordure); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .product-miniature:hover { transform: translateY(-4px); box-shadow: var(--lt-shadow-hover); }
}
@media (max-width: 767.98px) {
  #header .header-bottom { padding-block: .65rem; }
  .product-miniature__title { font-size: .875rem; }
  .product-miniature__price { font-size: 1rem; }
  .product-miniature__bottom { padding: .875rem; }
  .subcategory__link { padding-inline: .875rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .product-miniature:hover { transform: none; }
}
