/* ============================================================
   BIJOUX HÉLÈNE RIU — Category / Listing Page
   Vars héritées de bijoux-theme-claude.css
   ============================================================ */

/* ── VARIABLES LOCALES ───────────────────────────────────── */
:root {
  --cream: #E8E0D0;
}

/* ── CAT HERO ────────────────────────────────────────────── */
.bhr-cat-hero,
#category-description,
.category-cover-image + .container > .category-top-menu,
.page-header {
  padding: 60px 0;
  background: linear-gradient(160deg, var(--night) 0%, #14102A 100%);
}

.bhr-cat-hero h1,
#main .page-header h1,
.category h1 {
  font-family: var(--serif) !important;
  font-size: 3rem !important;
  font-weight: 400 !important;
  color: var(--gold) !important;
  letter-spacing: 0.04em;
  margin-bottom: 12px;
}

.bhr-cat-hero .category-description,
#category-description p,
.subcategories-description {
  color: rgba(232, 224, 208, 0.85) !important;
  max-width: 60ch;
  font-size: 1rem;
  line-height: 1.7;
}

/* ── BREADCRUMB ──────────────────────────────────────────── */
.breadcrumb,
nav.breadcrumb ol {
  color: rgba(232, 224, 208, 0.7) !important;
  font-size: 13px !important;
}

.breadcrumb a,
nav.breadcrumb a {
  color: rgba(232, 224, 208, 0.7) !important;
  text-decoration: none;
}

.breadcrumb a:hover,
nav.breadcrumb a:hover {
  color: var(--gold) !important;
}

.breadcrumb .separator,
nav.breadcrumb li + li::before {
  content: "·" !important;
  color: var(--gold) !important;
  margin: 0 6px;
}

/* ── SIDEBAR FILTERS ─────────────────────────────────────── */
#search_filters,
.block-categories,
#search_filters_wrapper,
.facets-sidebar {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#search_filters .facet,
.block-categories {
  border-bottom: 1px solid rgba(107, 74, 140, 0.2) !important;
  padding-bottom: 16px !important;
  margin-bottom: 16px !important;
}

/* Titres facets — Cormorant */
#search_filters .facet .facet-title,
#search_filters .facet summary,
.block-categories .block-title,
.facet-title {
  font-family: var(--serif) !important;
  font-size: 1.1rem !important;
  color: var(--cream) !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em;
  cursor: pointer;
  list-style: none;
  padding: 8px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#search_filters .facet summary::after,
.facet-title::after {
  content: "›";
  color: var(--gold);
  transition: transform .2s;
}

#search_filters .facet details[open] summary::after {
  transform: rotate(90deg);
}

/* Labels facets */
#search_filters .facet-label,
#search_filters label,
.custom-checkbox span.ps-shown-by-js {
  color: rgba(232, 224, 208, 0.9) !important;
  font-size: 12px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-family: var(--sans) !important;
}

/* Checkboxes custom */
#search_filters .facet-label input[type="checkbox"],
#search_filters input[type="checkbox"] {
  appearance: none !important;
  width: 14px;
  height: 14px;
  border: 1px solid rgba(212, 181, 112, 0.5);
  border-radius: 2px;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  margin-right: 8px;
  vertical-align: middle;
  transition: all .2s;
}

#search_filters input[type="checkbox"]:checked {
  background: var(--amethyst) !important;
  border-color: var(--amethyst) !important;
}

#search_filters input[type="checkbox"]:checked::after {
  content: "✓";
  color: var(--cream);
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Price range slider */
#search_filters .ui-slider,
.price-range .ui-slider {
  background: var(--amethyst) !important;
  border: none !important;
  height: 4px !important;
  border-radius: 2px;
}

#search_filters .ui-slider .ui-slider-handle,
.price-range .ui-slider-handle {
  background: var(--gold) !important;
  border: 2px solid var(--gold-deep) !important;
  border-radius: 50% !important;
  width: 16px !important;
  height: 16px !important;
  top: -6px !important;
  cursor: grab;
}

#search_filters .ui-slider .ui-slider-range {
  background: var(--gold) !important;
  opacity: 0.5;
}

/* Active filter pills */
.active-filter-button,
#js-active-search-filters .filter-block,
.active_filters .active-filter-button {
  background: var(--amethyst) !important;
  color: var(--cream) !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 4px 12px !important;
  font-size: 11px !important;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 3px;
}

.active-filter-button .close,
#js-active-search-filters .js-search-filters-clear-all {
  color: rgba(232, 224, 208, 0.7) !important;
}

/* ── SORT DROPDOWN ───────────────────────────────────────── */
.products-sort-order,
#products-sort-order-dropdown,
select#products-sort-order,
.sort-by-row select,
.products-sort-order .select-title {
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
  border-radius: 6px !important;
  padding: 8px 16px !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  letter-spacing: 0.04em;
  cursor: pointer;
  appearance: none;
  min-width: 160px;
}

.products-sort-order .select-title::after,
.sort-by-row .select-title::after {
  content: "›";
  transform: rotate(90deg);
  color: var(--gold);
  margin-left: 8px;
}

.products-sort-order .dropdown-menu,
#products-sort-order-dropdown .dropdown-menu {
  background: #14102A !important;
  border: 1px solid rgba(212, 181, 112, 0.3) !important;
  border-radius: 6px !important;
}

.products-sort-order .dropdown-item,
#products-sort-order-dropdown a {
  color: var(--cream) !important;
  font-size: 13px !important;
  padding: 8px 16px !important;
}

.products-sort-order .dropdown-item:hover,
#products-sort-order-dropdown a:hover {
  background: rgba(107, 74, 140, 0.3) !important;
  color: var(--gold) !important;
}

/* ── TOGGLE VUE GRID/LIST ────────────────────────────────── */
.products-selection .view-products-container a,
#view-mode-grid,
#view-mode-list,
.display-number a {
  color: var(--gold) !important;
  border-color: rgba(212, 181, 112, 0.4) !important;
}

.products-selection .view-products-container a.active,
#view-mode-grid.active,
#view-mode-list.active {
  background: var(--gold) !important;
  color: var(--night) !important;
}

/* ── RESET Bootstrap .row sur grille produits ───────────── */
#products .products.row,
#js-product-list .products.row,
.products-grid .products.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── GRILLE PRODUITS ─────────────────────────────────────── */
#products .products,
.products-grid .products,
.category-products .products,
#js-product-list .products {
  gap: 16px !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important; /* desktop 1440 */
}

/* Layout avec sidebar : container BS4=1140px → content-wrapper~826px.
   4 colonnes gap16 = 194px < 220px → forcer 3 colonnes entre 1200-1399px.
   À ≥1400px container=1320px, content-wrapper~1050px → 4 colonnes=244px OK. */
@media (min-width: 1200px) and (max-width: 1399px) {
  .layout-left-column #products .products,
  .layout-left-column .products-grid .products,
  .layout-left-column .category-products .products,
  .layout-left-column #js-product-list .products {
    grid-template-columns: repeat(3, 1fr) !important; /* sidebar: 3 cols à 1200-1399px */
  }
}

/* Reset Bootstrap float columns — grid cells must fill 100% */
#products .products > .js-product,
#products .products > [class*="col-"],
#js-product-list .products > .js-product,
#js-product-list .products > [class*="col-"],
.products-grid .products > .js-product,
.products-grid .products > [class*="col-"] {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  flex: none !important;
}

@media (max-width: 1199px) {
  #products .products,
  .products-grid .products,
  .category-products .products,
  #js-product-list .products {
    grid-template-columns: repeat(3, 1fr) !important; /* tablet */
  }
}

@media (max-width: 767px) {
  #products .products,
  .products-grid .products,
  .category-products .products,
  #js-product-list .products {
    grid-template-columns: repeat(2, 1fr) !important; /* mobile large */
  }
}

@media (max-width: 479px) {
  #products .products,
  .products-grid .products,
  .category-products .products,
  #js-product-list .products {
    grid-template-columns: repeat(1, 1fr) !important; /* mobile 375 */
  }
}

/* ── CARD PRODUIT ────────────────────────────────────────── */
.product-miniature,
.bhr-card {
  background: #14102A !important;
  border: 1px solid rgba(107, 74, 140, 0.2) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease !important;
  position: relative;
}

.product-miniature:hover,
.bhr-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(212, 181, 112, 0.5) !important;
  box-shadow: 0 8px 32px rgba(212, 181, 112, 0.12) !important;
}

/* Image — CLS fix: aspect-ratio strict + contain pour éviter layout shift */
.product-miniature .thumbnail-container,
.product-miniature .product-thumbnail,
.bhr-card .bhr-img-wrap {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  overflow: hidden !important;
  contain: strict !important;
}

.product-miniature img,
.product-miniature .product-thumbnail img,
.bhr-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .4s ease;
}

.product-miniature:hover img,
.bhr-card:hover img {
  transform: scale(1.04);
}

/* Body */
.product-miniature .product-description,
.product-miniature .product-body,
.bhr-card .bhr-body {
  padding: 16px !important;
}

.product-miniature .product-title a,
.bhr-card .bhr-title {
  font-family: var(--serif) !important;
  font-size: 1.05rem !important;
  color: var(--cream) !important;
  font-weight: 400 !important;
  line-height: 1.4;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

.product-miniature .product-title a:hover,
.bhr-card .bhr-title:hover {
  color: var(--gold) !important;
}

.product-miniature .price,
.product-miniature .product-price-and-shipping,
.bhr-card .bhr-price {
  color: var(--gold) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  font-family: var(--sans) !important;
  margin-top: 8px !important;
}

/* Badge promo */
.product-miniature .discount-percentage,
.product-miniature .on-sale,
.product-flag.discount,
.product-flag.on-sale {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  background: var(--amethyst) !important;
  color: var(--cream) !important;
  border-radius: 6px !important;
  padding: 3px 10px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em;
  z-index: 2;
  border: none !important;
}

/* Wishlist / heart */
.product-miniature .wishlist-button,
.product-miniature .wishlist-button-add,
.js-addtowishlist {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  background: rgba(14, 11, 26, 0.7) !important;
  border: 1px solid rgba(212, 181, 112, 0.5) !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--gold) !important;
  z-index: 2;
  cursor: pointer;
  transition: all .2s;
}

.product-miniature .wishlist-button:hover,
.js-addtowishlist:hover {
  background: var(--gold) !important;
  color: var(--night) !important;
}

.js-addtowishlist.in-wishlist {
  background: var(--gold) !important;
  color: var(--night) !important;
}

/* Quick view + add to cart — hover desktop, always mobile */
.product-miniature .product-buttons,
.product-miniature .highlighted-informations,
.product-miniature .product-actions-bottom {
  padding: 0 16px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.product-miniature .quick-view,
.product-miniature .quick-view-btn {
  background: transparent !important;
  border: 1px solid rgba(212, 181, 112, 0.4) !important;
  color: var(--gold) !important;
  border-radius: 6px !important;
  padding: 8px !important;
  font-size: 12px !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
  transition: all .2s;
  width: 100%;
}

.product-miniature .quick-view:hover {
  background: rgba(212, 181, 112, 0.1) !important;
}

.product-miniature .add-to-cart,
.product-miniature .btn-add-to-cart {
  background: var(--gold) !important;
  color: var(--night) !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 10px 16px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  width: 100% !important;
  cursor: pointer;
  transition: background .2s;
}

.product-miniature .add-to-cart:hover {
  background: var(--gold-pale) !important;
}

/* Desktop : hover reveal */
@media (hover: hover) {
  .product-miniature .product-buttons,
  .product-miniature .highlighted-informations {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .25s, transform .25s;
  }
  .product-miniature:hover .product-buttons,
  .product-miniature:hover .highlighted-informations {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── PAGINATION ──────────────────────────────────────────── */
.pagination ul,
nav.pagination {
  display: flex;
  gap: 6px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 40px 0;
}

.pagination .page-item .page-link,
.pagination li a {
  background: transparent !important;
  border: 1px solid rgba(212, 181, 112, 0.4) !important;
  color: var(--gold) !important;
  border-radius: 6px !important;
  padding: 8px 14px !important;
  font-size: 13px !important;
  transition: all .2s;
  text-decoration: none;
}

.pagination .page-item.active .page-link,
.pagination li.current a {
  background: var(--gold) !important;
  color: var(--night) !important;
  border-color: var(--gold) !important;
}

.pagination .page-item .page-link:hover,
.pagination li a:hover {
  background: rgba(212, 181, 112, 0.15) !important;
  border-color: var(--gold) !important;
}

.pagination .previous .page-link::before { content: "‹ "; }
.pagination .next .page-link::after { content: " ›"; }

/* ── NO PRODUCTS ─────────────────────────────────────────── */
#products .products-empty,
.no-product,
.products-empty-message {
  text-align: center !important;
  padding: 60px 20px !important;
  color: var(--cream) !important;
}

.products-empty h4,
.no-product h4 {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: 1.5rem !important;
  color: var(--cream) !important;
  margin-bottom: 20px;
}

.products-empty .see-all-cta,
.no-product a {
  display: inline-block;
  border: 1px solid var(--gold);
  color: var(--gold) !important;
  border-radius: 6px;
  padding: 10px 24px;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all .2s;
}

.products-empty .see-all-cta:hover { background: var(--gold); color: var(--night) !important; }

/* ── SUBCATEGORY TILES ───────────────────────────────────── */
.subcategory-image,
.bhr-subcat-tile {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 4/3;
  display: block;
}

.subcategory-image img,
.bhr-subcat-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.subcategory-image:hover img,
.bhr-subcat-tile:hover img {
  transform: scale(1.05);
}

.subcategory-image::after,
.bhr-subcat-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(14,11,26,0.85) 0%, transparent 60%);
}

.subcategory-image .subcategory-name,
.bhr-subcat-tile .bhr-subcat-name {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  z-index: 1;
  font-family: var(--serif) !important;
  font-size: 1.2rem !important;
  color: var(--cream) !important;
  font-weight: 400;
}

.subcategory-image .product-count,
.bhr-subcat-tile .bhr-subcat-count {
  position: absolute;
  bottom: 0;
  left: 16px;
  right: 16px;
  z-index: 1;
  padding-bottom: 16px;
  font-size: 11px;
  color: rgba(232, 224, 208, 0.65);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ── MOBILE ──────────────────────────────────────────────── */
@media (max-width: 767px) {
  .bhr-cat-hero,
  .page-header {
    padding: 40px 0 !important;
  }

  .bhr-cat-hero h1,
  #main .page-header h1,
  .category h1 {
    font-size: 2rem !important;
  }

  #search_filters,
  .block-categories {
    border-top: 1px solid rgba(107, 74, 140, 0.3);
    padding-top: 16px !important;
  }
}

/* ── TABLET ──────────────────────────────────────────────── */
@media (min-width: 768px) and (max-width: 1023px) {
  .bhr-cat-hero h1,
  .category h1 {
    font-size: 2.4rem !important;
  }
}

/* === CAT 80 DÉFAUTS === */

/* Sub-cat tile placeholder — masquer si pas d'image valide */
.subcategory-image img[src=""], .subcategory-image img:not([src]),
.product-miniature img[src*="no-image"] { display: none !important; }
.subcategory, .subcategory-image, .bhr-subcategory-tile {
  background: var(--ink, #14102A) !important;
  border: 1px solid rgba(107,74,140,0.3);
  border-radius: 12px;
  min-height: 180px;
  position: relative;
  overflow: hidden;
}

/* Sidebar facets — réafficher */
#left-column, #search_filters_wrapper {
  display: block !important;
  background: transparent;
}
#left-column { min-width: 240px !important; padding-right: 24px; }
@media (max-width: 991px) { #left-column { display: none !important; } }

/* Cards images visibles */
.product-miniature, .bhr-card { overflow: hidden; }
.product-miniature .thumbnail-container, .bhr-card .product-thumbnail,
.product-miniature .product-thumbnail {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background-color: var(--ink, #14102A) !important;
  position: relative;
}
.product-miniature .thumbnail-container img, .bhr-card img,
.product-miniature .product-thumbnail img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  background: transparent !important;
}

/* Prix lisible mobile + desktop */
.product-price-and-shipping, .bhr-card .price, .product-miniature .price {
  color: var(--gold, #D4B570) !important;
  font-weight: 600 !important;
  font-size: clamp(0.95rem, 2.2vw, 1.1rem) !important;
  letter-spacing: 0.02em;
}

/* Sort dropdown affiché */
.products-sort-order, #products-sort-order-dropdown, .sort-by-row, .bhr-toolbar {
  display: flex !important;
  visibility: visible !important;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  flex-wrap: wrap;
}

/* Promo banner ne recouvre plus le layout */
.bhr-promo-banner, #promo-sticky, .header-banner {
  position: relative !important;
  z-index: 1 !important;
}

/* Toolbar sort+count alignement */
.products-sort-order .select-title { background: transparent; border: 1px solid var(--gold); padding: 10px 14px; border-radius: 6px; color: var(--cream); }
.products-sort-order .material-icons, .products-sort-order .icon-collapse { color: var(--gold) !important; }

/* Pagination améliorée */
.page-list a:hover { background: rgba(212,181,112,0.15); color: var(--gold); border-color: var(--gold); }
.page-list .current a { background: var(--gold) !important; color: var(--night) !important; }

/* === GRILLE CATÉGORIE FIX FINAL v9 === */
/* Override Bootstrap col-md-8/col-lg-9 — base neutre */
#content-wrapper {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
@media (min-width: 992px) {
  /* La structure réelle est #wrapper > .container > .row (Bootstrap 3 floats → flex override) */
  .layout-left-column #wrapper .container > .row,
  .layout-left-column #wrapper > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
  }
  .layout-left-column #left-column {
    flex: 0 0 240px !important;
    max-width: 240px !important;
    float: none !important;
    width: 240px !important;
  }
  .layout-left-column #content-wrapper {
    flex: 1 1 0% !important;
    /* Override col-md-8 width:66.67% */
    width: auto !important;
    max-width: calc(100% - 256px) !important;
    float: none !important;
  }
}
@media (max-width: 991px) {
  #left-column { display: none !important; }
  #content-wrapper {
    display: block !important;
    flex: 1 1 100% !important;
    /* Override Bootstrap col-md-8 = 66.66% */
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
  }
}

/* Hero mobile catégorie visible */
.bhr-cat-hero, .category-header, .page-category .page-header {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  padding: clamp(20px, 4vw, 60px) clamp(16px, 4vw, 24px) !important;
}

/* Liste produits mobile visible */
#js-product-list, .products, .featured-products .products {
  display: grid !important;
  visibility: visible !important;
  height: auto !important;
}

/* Sub-cat tiles fond ink */
.subcategories-list, .subcategory-list,
.bhr-subcategories-grid, .bhr-subcategories__grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
}
@media (min-width: 768px) {
  .subcategories-list, .bhr-subcategories-grid, .bhr-subcategories__grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
  }
}
@media (min-width: 992px) {
  .subcategories-list, .bhr-subcategories-grid, .bhr-subcategories__grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
  }
}
.subcategory, .subcategory-image, .bhr-subcategory-tile {
  background: var(--ink, #14102A) !important;
  border: 1px solid rgba(212,181,112,0.15) !important;
  border-radius: 12px;
  overflow: hidden;
}
/* ── FILTRE MOBILE — cacher .bhr-facets sur desktop ─────── */
@media (min-width: 992px) {
  .bhr-facets {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .bhr-facets {
    display: block !important;
  }
}

/* Masquer images placeholder PrestaShop */
.subcategory-image img[src*="no-image"],
.bhr-subcategory-tile img[src*="no-image"],
.subcategory-image img[src*="default-large"],
.bhr-subcategory-tile img[src*="default-large"],
.subcategory-image img[src*="fr-default"],
.bhr-subcategory-tile img[src*="fr-default"] {
  display: none !important;
}
.subcategory-image, .bhr-subcategory-tile { aspect-ratio: 1/1; }

/* Placeholder sub-catégorie sans image — v1.3 */
.bhr-subcategory-tile__placeholder {
  aspect-ratio: 1/1;
  background: linear-gradient(135deg, var(--ink, #14102A), var(--night, #0E0B1A));
  border: 1px solid rgba(212,181,112,0.3);
  border-radius: 12px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bhr-subcategory-tile__placeholder::before {
  content: "✦";
  font-size: 3rem;
  color: rgba(212,181,112,0.4);
  font-family: 'Italiana', serif;
}

/* ══════════════════════════════════════════════════════════
   ITER 8 — POLISH FIN
   ══════════════════════════════════════════════════════════ */

/* ── FILTRES SIDEBAR — hover + checked states ────────────── */
#search_filters .facet-label,
#search_filters li.facet-dropdown {
  display: flex !important;
  align-items: center !important;
  padding: 5px 0 !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: background .15s !important;
}
#search_filters .facet-label:hover {
  background: rgba(212, 181, 112, 0.07) !important;
  padding-left: 4px !important;
}
#search_filters .facet-label:has(input:checked),
#search_filters li.active .facet-label {
  background: rgba(107, 74, 140, 0.15) !important;
  border-radius: 4px !important;
  padding-left: 4px !important;
}
#search_filters .facet-label:has(input:checked) span,
#search_filters li.active .facet-label span {
  color: var(--gold) !important;
}

/* ── COMPTEUR PRODUITS PAR FILTRE ────────────────────────── */
#search_filters .facet-label .magnitude,
#search_filters .magnitude {
  color: rgba(212, 181, 112, 0.55) !important;
  font-size: 11px !important;
  margin-left: auto !important;
  padding-left: 8px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
#search_filters .facet-label:hover .magnitude {
  color: var(--gold) !important;
}
#search_filters .facet-label:has(input:checked) .magnitude {
  color: var(--gold) !important;
  font-weight: 600 !important;
}

/* ── SORT DROPDOWN — custom design (masque <select> natif) ── */
/* Wrapper sort */
.products-sort-order {
  position: relative !important;
}
.products-sort-order .select-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  background: rgba(14, 11, 26, 0.6) !important;
  border: 1px solid rgba(212, 181, 112, 0.5) !important;
  color: var(--gold) !important;
  border-radius: 6px !important;
  padding: 9px 14px !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
  min-width: 180px !important;
  user-select: none !important;
  transition: border-color .2s, background .2s !important;
}
.products-sort-order .select-title:hover {
  border-color: var(--gold) !important;
  background: rgba(212, 181, 112, 0.08) !important;
}
.products-sort-order .select-title .material-icons,
.products-sort-order .select-title i {
  color: var(--gold) !important;
  font-size: 18px !important;
  transition: transform .2s !important;
}
.products-sort-order.open .select-title .material-icons,
.products-sort-order.open .select-title i {
  transform: rotate(180deg) !important;
}
/* Dropdown menu */
.products-sort-order .dropdown-menu {
  background: #1A1530 !important;
  border: 1px solid rgba(212, 181, 112, 0.3) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5) !important;
  padding: 6px 0 !important;
  min-width: 200px !important;
  z-index: 100 !important;
}
.products-sort-order .dropdown-menu a,
.products-sort-order .dropdown-item {
  color: rgba(232, 224, 208, 0.85) !important;
  font-size: 13px !important;
  padding: 10px 16px !important;
  display: block !important;
  letter-spacing: 0.03em !important;
  transition: background .15s, color .15s !important;
  text-decoration: none !important;
}
.products-sort-order .dropdown-menu a:hover,
.products-sort-order .dropdown-item:hover {
  background: rgba(107, 74, 140, 0.25) !important;
  color: var(--gold) !important;
}
.products-sort-order .dropdown-menu a.active,
.products-sort-order .dropdown-item.current {
  color: var(--gold) !important;
  background: rgba(212, 181, 112, 0.1) !important;
  font-weight: 600 !important;
}
.products-sort-order .dropdown-menu a.active::before {
  content: "✓ " !important;
}
/* Masquer <select> natif Bootstrap fallback */
.products-sort-order select {
  display: none !important;
}

/* ── PAGINATION — current page badge gold ────────────────── */
.pagination .page-item.active .page-link,
.pagination li.current a,
.pagination li.current span,
#pagination .page-list .current a {
  background: var(--gold) !important;
  color: var(--night) !important;
  border-color: var(--gold) !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 10px rgba(212, 181, 112, 0.35) !important;
  padding: 8px 15px !important;
}

/* ── CARD HOVER LIFT ─────────────────────────────────────── */
.product-miniature {
  will-change: transform !important;
}
.product-miniature:hover {
  transform: translateY(-6px) scale(1.012) !important;
  box-shadow: 0 12px 40px rgba(107, 74, 140, 0.2), 0 4px 16px rgba(212, 181, 112, 0.1) !important;
  z-index: 2 !important;
}

/* ── CARD OVERLAY "AJOUT RAPIDE PANIER" ──────────────────── */
.product-miniature .thumbnail-container,
.product-miniature .product-thumbnail {
  position: relative !important;
}
/* Overlay fond sombre au hover */
.product-miniature .thumbnail-container::after,
.product-miniature .product-thumbnail::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(14, 11, 26, 0.55) !important;
  opacity: 0 !important;
  transition: opacity .25s !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.product-miniature:hover .thumbnail-container::after,
.product-miniature:hover .product-thumbnail::after {
  opacity: 1 !important;
}
/* Bouton "Ajouter" centré sur l'image */
.product-miniature .product-thumbnail .btn-add-to-cart,
.product-miniature .thumbnail-container .quick-add-btn,
.product-miniature .product-thumbnail .add-to-cart {
  position: absolute !important;
  bottom: 50% !important;
  left: 50% !important;
  transform: translate(-50%, 50%) translateY(12px) !important;
  opacity: 0 !important;
  z-index: 2 !important;
  white-space: nowrap !important;
  transition: opacity .25s, transform .25s !important;
  background: var(--gold) !important;
  color: var(--night) !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 10px 20px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}
.product-miniature:hover .product-thumbnail .btn-add-to-cart,
.product-miniature:hover .thumbnail-container .quick-add-btn,
.product-miniature:hover .product-thumbnail .add-to-cart {
  opacity: 1 !important;
  transform: translate(-50%, 50%) translateY(0) !important;
}
/* Overlay accessible via .highlighted-informations (PS classic) */
.product-miniature .highlighted-informations {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: linear-gradient(to top, rgba(14,11,26,0.9) 0%, transparent 100%) !important;
  padding: 24px 12px 12px !important;
  z-index: 3 !important;
  transform: translateY(4px) !important;
  transition: opacity .25s, transform .25s !important;
}
@media (hover: hover) {
  .product-miniature .highlighted-informations {
    opacity: 0 !important;
    transform: translateY(8px) !important;
  }
  .product-miniature:hover .highlighted-informations {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
}

/* ── BADGES NEUF / PROMO — coin supérieur gauche aligné ──── */
.product-flag,
.product-miniature .product-flag,
.product-miniature .discount-percentage,
.product-miniature .on-sale,
.product-miniature .new {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 4 !important;
  border-radius: 4px !important;
  padding: 3px 9px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  border: none !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;
}
/* Badging NEUF */
.product-flag.new,
.product-miniature .new-product,
.product-miniature [class*="new"] {
  background: #2a7a5e !important;
  color: #e8f5ef !important;
  top: 10px !important;
  left: 10px !important;
}
/* Badging PROMO */
.product-flag.discount,
.product-flag.on-sale,
.product-miniature .discount-percentage {
  background: var(--amethyst) !important;
  color: var(--cream) !important;
  top: 10px !important;
  left: 10px !important;
}
/* Si plusieurs badges — empiler verticalement */
.product-flag + .product-flag {
  top: 36px !important;
}
/* Wishlist reste en haut à droite */
.product-miniature .wishlist-button,
.product-miniature .js-addtowishlist {
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
}

/* ── GRID AUTO-FILL MIN-MAX RESPONSIVE ───────────────────── */
/* Remplace les breakpoints fixes par auto-fill intelligent */
#products .products,
.products-grid .products,
.category-products .products,
#js-product-list .products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)) !important;
  gap: 16px !important;
}
/* Desktop 1440 : forcer 4 colonnes max (sans sidebar) */
@media (min-width: 1200px) {
  #products .products,
  .products-grid .products,
  .category-products .products,
  #js-product-list .products {
    grid-template-columns: repeat(4, 1fr) !important;
  }
  /* Avec sidebar (layout-left-column) : content-wrapper ~826px, 4 cols gap16 = 194px < 220px
     → forcer 3 colonnes pour garantir cards >= 220px (3 cols gap16 = 262px) */
  .layout-left-column #products .products,
  .layout-left-column .products-grid .products,
  .layout-left-column .category-products .products,
  .layout-left-column #js-product-list .products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
/* Tablet 768–1199 : 3 colonnes */
@media (min-width: 768px) and (max-width: 1199px) {
  #products .products,
  .products-grid .products,
  .category-products .products,
  #js-product-list .products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
/* Mobile 375–767 : 2 colonnes */
@media (max-width: 767px) {
  #products .products,
  .products-grid .products,
  .category-products .products,
  #js-product-list .products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}
/* Mobile XS < 400px : 1 colonne */
@media (max-width: 399px) {
  #products .products,
  .products-grid .products,
  .category-products .products,
  #js-product-list .products {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

/* ── MOBILE FILTRE STICKY TOGGLE DRAWER ─────────────────── */
@media (max-width: 991px) {
  /* Bouton sticky "Filtres" */
  .bhr-filter-toggle {
    position: fixed !important;
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 500 !important;
    background: var(--amethyst) !important;
    color: var(--cream) !important;
    border: none !important;
    border-radius: 24px !important;
    padding: 12px 28px !important;
    font-family: var(--sans) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 20px rgba(107, 74, 140, 0.5) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: background .2s, box-shadow .2s !important;
  }
  .bhr-filter-toggle:hover {
    background: var(--gold) !important;
    color: var(--night) !important;
    box-shadow: 0 4px 20px rgba(212, 181, 112, 0.4) !important;
  }
  .bhr-filter-toggle::before {
    content: "⊟" !important;
    font-size: 15px !important;
  }

  /* Drawer filtre (sidebar native mobile) */
  #search_filters_wrapper,
  .bhr-filter-drawer {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    max-height: 75vh !important;
    overflow-y: auto !important;
    background: #1A1530 !important;
    border-top: 1px solid rgba(212, 181, 112, 0.3) !important;
    border-radius: 20px 20px 0 0 !important;
    padding: 24px 20px 100px !important;
    z-index: 400 !important;
    transform: translateY(100%) !important;
    transition: transform .3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.5) !important;
  }
  #search_filters_wrapper.bhr-drawer-open,
  .bhr-filter-drawer.bhr-drawer-open {
    transform: translateY(0) !important;
  }

  /* Handle bar visuel */
  #search_filters_wrapper::before,
  .bhr-filter-drawer::before {
    content: "" !important;
    display: block !important;
    width: 40px !important;
    height: 4px !important;
    background: rgba(212, 181, 112, 0.4) !important;
    border-radius: 2px !important;
    margin: 0 auto 20px !important;
  }

  /* Overlay backdrop */
  .bhr-filter-backdrop {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.6) !important;
    z-index: 390 !important;
    backdrop-filter: blur(2px) !important;
  }
  .bhr-filter-backdrop.active {
    display: block !important;
  }

  /* Titre drawer */
  .bhr-filter-drawer-title {
    font-family: var(--serif) !important;
    font-size: 1.3rem !important;
    color: var(--cream) !important;
    text-align: center !important;
    margin-bottom: 20px !important;
    letter-spacing: 0.04em !important;
  }

  /* Close button */
  .bhr-filter-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    background: transparent !important;
    border: 1px solid rgba(212, 181, 112, 0.4) !important;
    border-radius: 50% !important;
    width: 32px !important;
    height: 32px !important;
    color: var(--gold) !important;
    font-size: 18px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all .2s !important;
  }
  .bhr-filter-close:hover {
    background: var(--gold) !important;
    color: var(--night) !important;
  }

  /* Compter les filtres actifs sur le badge du bouton */
  .bhr-filter-toggle .bhr-filter-count {
    background: var(--gold) !important;
    color: var(--night) !important;
    border-radius: 10px !important;
    padding: 1px 7px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    min-width: 18px !important;
    text-align: center !important;
  }
}
/* ──────────────────────────────────────────────────────────
   FIN ITER 8
   ────────────────────────────────────────────────────────── */

/* ══════════════════════════════════════════════════════════
   ITER 18 — POLISH CATÉGORIE 3E PASSE
   ══════════════════════════════════════════════════════════ */

/* ── 1. PRICE SLIDER — thumb gold custom ─────────────────── */
#search_filters input[type="range"],
.price-range input[type="range"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  width: 100% !important;
  height: 4px !important;
  cursor: pointer !important;
}
#search_filters input[type="range"]::-webkit-slider-runnable-track,
.price-range input[type="range"]::-webkit-slider-runnable-track {
  background: rgba(107, 74, 140, 0.5) !important;
  height: 4px !important;
  border-radius: 2px !important;
}
#search_filters input[type="range"]::-webkit-slider-thumb,
.price-range input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 35% 35%, #F0D98A, var(--gold, #D4B570)) !important;
  border: 2px solid rgba(14, 11, 26, 0.8) !important;
  box-shadow: 0 2px 8px rgba(212, 181, 112, 0.5) !important;
  margin-top: -8px !important;
  cursor: grab !important;
  transition: box-shadow .2s, transform .2s !important;
}
#search_filters input[type="range"]::-webkit-slider-thumb:active,
.price-range input[type="range"]::-webkit-slider-thumb:active {
  cursor: grabbing !important;
  transform: scale(1.2) !important;
  box-shadow: 0 0 0 4px rgba(212, 181, 112, 0.25) !important;
}
#search_filters input[type="range"]::-moz-range-thumb,
.price-range input[type="range"]::-moz-range-thumb {
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 35% 35%, #F0D98A, var(--gold, #D4B570)) !important;
  border: 2px solid rgba(14, 11, 26, 0.8) !important;
  box-shadow: 0 2px 8px rgba(212, 181, 112, 0.5) !important;
  cursor: grab !important;
}
/* ui-slider thumb gold (jQuery UI fallback) */
#search_filters .ui-slider .ui-slider-handle,
.price-range .ui-slider-handle {
  background: radial-gradient(circle at 35% 35%, #F0D98A, var(--gold, #D4B570)) !important;
  border: 2px solid rgba(14, 11, 26, 0.6) !important;
  border-radius: 50% !important;
  width: 20px !important;
  height: 20px !important;
  top: -8px !important;
  box-shadow: 0 2px 8px rgba(212, 181, 112, 0.5) !important;
  cursor: grab !important;
  transition: box-shadow .2s, transform .2s !important;
}
#search_filters .ui-slider .ui-slider-handle:hover {
  transform: scale(1.15) !important;
  box-shadow: 0 0 0 5px rgba(212, 181, 112, 0.2) !important;
}

/* ── 2. COLOR SWATCHES — cercles dans filtres ────────────── */
#search_filters .facet-label .swatch,
#search_filters .color-swatch,
.facets-color-list .facet-label .color,
.facet-label [class*="swatch"],
.facet-label .facet-color {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  margin-right: 8px !important;
  border: 2px solid rgba(255, 255, 255, 0.2) !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.4) !important;
  transition: transform .15s, border-color .15s !important;
}
#search_filters .facet-label:hover .swatch,
#search_filters .facet-label:hover .facet-color {
  transform: scale(1.2) !important;
  border-color: var(--gold) !important;
}
#search_filters .facet-label:has(input:checked) .swatch,
#search_filters .facet-label:has(input:checked) .facet-color {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 2px rgba(212, 181, 112, 0.4) !important;
}

/* ── 3. STONE FILTER — texture/couleur preview ───────────── */
#search_filters .facet-label .stone-preview,
.facets-stone-list .facet-label .stone,
.facet-label [class*="stone"] {
  display: inline-block !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 4px !important;
  margin-right: 8px !important;
  background: linear-gradient(135deg, rgba(212,181,112,0.3), rgba(107,74,140,0.4)) !important;
  border: 1px solid rgba(212, 181, 112, 0.3) !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  transition: transform .15s !important;
}
/* Pierre : or */
.facet-label [class*="or"] .stone-preview,
.facet-label[data-value*="or"] .stone-preview {
  background: linear-gradient(135deg, #F0D98A, #B8860B) !important;
}
/* Pierre : argent */
.facet-label [class*="argent"] .stone-preview,
.facet-label[data-value*="argent"] .stone-preview {
  background: linear-gradient(135deg, #e8e8e8, #a0a0a0) !important;
}
/* Pierre : améthyste */
.facet-label [class*="amethyste"] .stone-preview,
.facet-label[data-value*="amethyste"] .stone-preview {
  background: linear-gradient(135deg, #9b59b6, #6B4A8C) !important;
}
/* Pierre : perle */
.facet-label [class*="perle"] .stone-preview,
.facet-label[data-value*="perle"] .stone-preview {
  background: radial-gradient(circle at 35% 35%, #fff, #d0c8c0) !important;
}

/* ── 4. ACTIVE FILTERS CHIPS — dismissibles ─────────────── */
.active-filter-button,
#js-active-search-filters .filter-block,
.active_filters .active-filter-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(107, 74, 140, 0.25) !important;
  color: var(--cream) !important;
  border: 1px solid rgba(107, 74, 140, 0.5) !important;
  border-radius: 20px !important;
  padding: 5px 10px 5px 12px !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
  margin: 3px !important;
  transition: background .15s, border-color .15s !important;
  cursor: default !important;
}
.active-filter-button:hover,
#js-active-search-filters .filter-block:hover {
  background: rgba(212, 181, 112, 0.15) !important;
  border-color: var(--gold) !important;
}
/* Bouton × dismiss */
.active-filter-button .close,
.active-filter-button [data-dismiss],
#js-active-search-filters .filter-block .close,
.active_filters .js-search-filters-clear-all {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: rgba(212, 181, 112, 0.2) !important;
  color: var(--cream) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .15s, color .15s !important;
  flex-shrink: 0 !important;
}
.active-filter-button .close:hover,
.active-filter-button [data-dismiss]:hover {
  background: var(--gold) !important;
  color: var(--night) !important;
}
/* Lien "tout effacer" */
#js-active-search-filters .js-search-filters-clear-all {
  background: transparent !important;
  border: 1px solid rgba(212, 181, 112, 0.3) !important;
  border-radius: 20px !important;
  color: rgba(212, 181, 112, 0.7) !important;
  padding: 4px 12px !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
  transition: all .15s !important;
  text-decoration: none !important;
}
#js-active-search-filters .js-search-filters-clear-all:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

/* ── 5. RESULT COUNT — animation count-up (CSS only) ─────── */
#js-product-list-top .showing-results,
.products-total,
#js-product-list-top .total-products,
.showing-results p {
  color: rgba(232, 224, 208, 0.7) !important;
  font-size: 12px !important;
  letter-spacing: 0.05em !important;
  font-family: var(--sans) !important;
  animation: bhr-count-in .4s ease both !important;
}
@keyframes bhr-count-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* Re-trigger on AJAX list refresh */
#js-product-list.loading .showing-results,
#js-product-list.loading .total-products {
  animation: none !important;
  opacity: 0.4 !important;
}

/* ── 6. GRID/LIST TOGGLE — view mode visible ─────────────── */
.products-selection .display,
.products-selection .view-products-container,
#view-mode-grid,
#view-mode-list {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.products-selection .display a,
#view-mode-grid, #view-mode-list {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(212, 181, 112, 0.35) !important;
  color: rgba(212, 181, 112, 0.6) !important;
  transition: all .15s !important;
  text-decoration: none !important;
}
.products-selection .display a:hover,
#view-mode-grid:hover, #view-mode-list:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  background: rgba(212, 181, 112, 0.08) !important;
}
.products-selection .display a.selected,
.products-selection .display a.active,
#view-mode-grid.selected, #view-mode-list.selected,
#view-mode-grid.active, #view-mode-list.active {
  background: var(--gold) !important;
  color: var(--night) !important;
  border-color: var(--gold) !important;
}

/* ── 7. SORT INDICATOR — option active visible (checkmark) ── */
/* Déjà géré en iter 8 (.dropdown-menu a.active::before "✓")   */
/* Ajout : label courant dans select-title en italique gold     */
.products-sort-order .select-title {
  font-style: normal !important;
}
.products-sort-order .select-title::before {
  content: "⇅ " !important;
  color: rgba(212, 181, 112, 0.6) !important;
  font-size: 12px !important;
  margin-right: 2px !important;
}
/* Item actif dans le dropdown */
.products-sort-order .dropdown-menu a.active,
.products-sort-order .dropdown-item.current,
.products-sort-order .dropdown-item[aria-selected="true"] {
  color: var(--gold) !important;
  background: rgba(212, 181, 112, 0.1) !important;
  font-weight: 600 !important;
  font-style: italic !important;
}

/* ── 8. QUICK VIEW BUTTON — hover on card ────────────────── */
/* Centré sur l'image, slide-up au hover                        */
.product-miniature .quick-view,
.product-miniature .quick-view-btn,
.product-miniature a[data-link-action="quickview"] {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) translateY(10px) !important;
  opacity: 0 !important;
  z-index: 5 !important;
  white-space: nowrap !important;
  background: rgba(14, 11, 26, 0.85) !important;
  color: var(--gold) !important;
  border: 1px solid rgba(212, 181, 112, 0.6) !important;
  border-radius: 6px !important;
  padding: 9px 18px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: opacity .2s, transform .2s, background .15s !important;
  backdrop-filter: blur(4px) !important;
}
.product-miniature:hover .quick-view,
.product-miniature:hover .quick-view-btn,
.product-miniature:hover a[data-link-action="quickview"] {
  opacity: 1 !important;
  transform: translate(-50%, -50%) translateY(0) !important;
}
.product-miniature .quick-view:hover,
.product-miniature a[data-link-action="quickview"]:hover {
  background: var(--gold) !important;
  color: var(--night) !important;
}

/* ── 9. OUT-OF-STOCK — card overlay ─────────────────────── */
.product-miniature.product-out-of-stock .thumbnail-container,
.product-miniature[data-id-product].product-out-of-stock .product-thumbnail,
.product-miniature .out-of-stock-overlay {
  position: relative !important;
}
/* Overlay grisé */
.product-miniature.product-out-of-stock .thumbnail-container::before,
.product-miniature.product-out-of-stock .product-thumbnail::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(14, 11, 26, 0.6) !important;
  z-index: 3 !important;
  pointer-events: none !important;
}
/* Label "Rupture de stock" */
.product-miniature.product-out-of-stock .thumbnail-container::after,
.product-miniature.product-out-of-stock .product-thumbnail::after {
  content: "Indisponible" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 4 !important;
  background: rgba(14, 11, 26, 0.9) !important;
  color: rgba(232, 224, 208, 0.8) !important;
  padding: 6px 14px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  border: 1px solid rgba(232, 224, 208, 0.2) !important;
  pointer-events: none !important;
}
/* Opacité réduite sur la card entière */
.product-miniature.product-out-of-stock {
  opacity: 0.72 !important;
  filter: grayscale(30%) !important;
}
/* Badge rupture */
.product-flag.out-of-stock,
.product-miniature .out-of-stock,
.product-miniature .product-availability.unavailable {
  background: rgba(80, 80, 100, 0.85) !important;
  color: rgba(232, 224, 208, 0.8) !important;
  border-radius: 4px !important;
  padding: 3px 9px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* ── 10. SALE BADGE — pulse subtle ──────────────────────── */
.product-flag.discount,
.product-flag.on-sale,
.product-miniature .discount-percentage {
  animation: bhr-sale-pulse 2.8s ease-in-out infinite !important;
}
@keyframes bhr-sale-pulse {
  0%, 100% { box-shadow: 0 2px 6px rgba(107, 74, 140, 0.4); }
  50%       { box-shadow: 0 2px 14px rgba(107, 74, 140, 0.75), 0 0 0 3px rgba(107, 74, 140, 0.15); }
}

/* ── 11. IMAGE HOVER SWAP — front/back (2e img) ──────────── */
/* Requiert que PS expose une 2e image en .thumbnail-container ou [data-src-2] */
.product-miniature .thumbnail-container .img-hover-swap,
.product-miniature .thumbnail-container img:nth-child(2),
.product-miniature .product-thumbnail img.product-thumbnail-hover {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0 !important;
  transition: opacity .4s ease !important;
  z-index: 1 !important;
}
.product-miniature:hover .thumbnail-container .img-hover-swap,
.product-miniature:hover .thumbnail-container img:nth-child(2),
.product-miniature:hover .product-thumbnail img.product-thumbnail-hover {
  opacity: 1 !important;
}
/* S'assurer que l'image principale reste visible sans hover */
.product-miniature .thumbnail-container img:first-child,
.product-miniature .product-thumbnail img:first-child {
  z-index: 0 !important;
  position: relative !important;
}

/* ──────────────────────────────────────────────────────────
   FIN ITER 18
   ────────────────────────────────────────────────────────── */

/* ══════════════════════════════════════════════════════════
   ITER 29 — POLISH CATÉGORIE 4E PASSE
   ══════════════════════════════════════════════════════════ */

/* ── 1. FILTER COLLAPSE/EXPAND — triangle custom ─────────── */
#search_filters .facet summary,
#search_filters .facet .facet-title,
.facets-sidebar .facet summary {
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 0 !important;
  cursor: pointer !important;
  user-select: none !important;
}
#search_filters .facet summary::-webkit-details-marker { display: none !important; }
#search_filters .facet summary::after,
#search_filters .facet .facet-title::after {
  content: "" !important;
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  border-style: solid !important;
  border-width: 5px 0 5px 8px !important;
  border-color: transparent transparent transparent var(--gold, #D4B570) !important;
  transition: transform .22s ease !important;
  flex-shrink: 0 !important;
  margin-left: 8px !important;
}
#search_filters .facet details[open] summary::after,
#search_filters .facet.open .facet-title::after {
  transform: rotate(90deg) !important;
}

/* ── 2. CHECKBOXES HIÉRARCHIQUES — multi-level indent ────── */
#search_filters .facet-label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 5px 4px !important;
  border-radius: 4px !important;
  transition: background .15s !important;
  cursor: pointer !important;
}
/* Sous-niveaux indentés */
#search_filters ul ul .facet-label,
#search_filters .facet-dropdown ul .facet-label {
  padding-left: 20px !important;
  font-size: 11px !important;
  opacity: 0.88;
}
#search_filters ul ul ul .facet-label {
  padding-left: 36px !important;
  font-size: 10.5px !important;
  opacity: 0.75;
}
/* Ligne de connexion parent */
#search_filters ul ul > li { position: relative !important; }
#search_filters ul ul > li::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  background: rgba(107, 74, 140, 0.35) !important;
}
/* Checkbox personnalisée */
#search_filters .facet-label input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 15px !important;
  height: 15px !important;
  border: 1.5px solid rgba(212, 181, 112, 0.45) !important;
  border-radius: 3px !important;
  background: transparent !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  position: relative !important;
  transition: border-color .15s, background .15s !important;
}
#search_filters .facet-label input[type="checkbox"]:checked {
  background: var(--amethyst, #6B4A8C) !important;
  border-color: var(--amethyst, #6B4A8C) !important;
}
#search_filters .facet-label input[type="checkbox"]:checked::after {
  content: "✓" !important;
  position: absolute !important;
  top: -1px !important;
  left: 2px !important;
  color: var(--cream, #E8E0D0) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}
/* Indeterminate (parent partiellement coché) */
#search_filters .facet-label input[type="checkbox"]:indeterminate {
  background: rgba(107, 74, 140, 0.4) !important;
  border-color: var(--amethyst, #6B4A8C) !important;
}
#search_filters .facet-label input[type="checkbox"]:indeterminate::after {
  content: "−" !important;
  position: absolute !important;
  top: -2px !important;
  left: 3px !important;
  color: var(--cream, #E8E0D0) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

/* ── 3. RANGE PRICE — two-thumb slider ───────────────────── */
.bhr-price-range-wrap {
  position: relative !important;
  padding: 16px 0 8px !important;
}
/* Track custom */
.bhr-price-range-wrap .bhr-range-track {
  position: relative !important;
  height: 4px !important;
  background: rgba(107, 74, 140, 0.35) !important;
  border-radius: 2px !important;
  margin: 12px 0 !important;
}
.bhr-price-range-wrap .bhr-range-fill {
  position: absolute !important;
  height: 100% !important;
  background: linear-gradient(90deg, var(--amethyst, #6B4A8C), var(--gold, #D4B570)) !important;
  border-radius: 2px !important;
  pointer-events: none !important;
}
/* Deux inputs range superposés */
.bhr-price-range-wrap input[type="range"] {
  position: absolute !important;
  width: 100% !important;
  height: 4px !important;
  background: transparent !important;
  pointer-events: none !important;
  top: 12px !important;
  left: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.bhr-price-range-wrap input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  pointer-events: all !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 35% 35%, #F0D98A, var(--gold, #D4B570)) !important;
  border: 2px solid rgba(14, 11, 26, 0.8) !important;
  box-shadow: 0 2px 8px rgba(212, 181, 112, 0.5) !important;
  cursor: grab !important;
  transition: transform .15s, box-shadow .15s !important;
}
.bhr-price-range-wrap input[type="range"]::-webkit-slider-thumb:active {
  cursor: grabbing !important;
  transform: scale(1.25) !important;
  box-shadow: 0 0 0 5px rgba(212, 181, 112, 0.22) !important;
}
.bhr-price-range-wrap input[type="range"]::-moz-range-thumb {
  pointer-events: all !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 35% 35%, #F0D98A, var(--gold, #D4B570)) !important;
  border: 2px solid rgba(14, 11, 26, 0.8) !important;
  cursor: grab !important;
}
/* Labels valeurs min/max */
.bhr-price-range-wrap .bhr-range-values {
  display: flex !important;
  justify-content: space-between !important;
  margin-top: 8px !important;
  font-size: 12px !important;
  color: var(--gold, #D4B570) !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.03em !important;
}

/* ── 4. APPLY FILTERS — bouton gold sticky mobile ────────── */
@media (max-width: 991px) {
  .bhr-filter-apply-btn,
  #bhr-apply-filters {
    position: sticky !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    display: block !important;
    width: 100% !important;
    background: var(--gold, #D4B570) !important;
    color: var(--night, #0E0B1A) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 16px !important;
    font-family: var(--sans) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    cursor: pointer !important;
    z-index: 10 !important;
    box-shadow: 0 -4px 20px rgba(212, 181, 112, 0.25) !important;
    transition: background .2s !important;
    margin-top: 16px !important;
  }
  .bhr-filter-apply-btn:hover,
  #bhr-apply-filters:hover {
    background: #F0D98A !important;
  }
  /* Fix drawer overflow pour coller au bas */
  #search_filters_wrapper,
  .bhr-filter-drawer {
    padding-bottom: 0 !important;
  }
}

/* ── 5. RESET FILTERS — lien discret ─────────────────────── */
.bhr-reset-filters,
#bhr-reset-filters,
#js-active-search-filters .bhr-reset-link {
  display: inline-block !important;
  color: rgba(232, 224, 208, 0.45) !important;
  font-size: 11px !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  cursor: pointer !important;
  background: transparent !important;
  border: none !important;
  padding: 4px 0 !important;
  transition: color .15s !important;
}
.bhr-reset-filters:hover,
#bhr-reset-filters:hover {
  color: rgba(212, 181, 112, 0.75) !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(212, 181, 112, 0.4) !important;
}

/* ── 6. SORT DROPDOWN — checkmark option sélectionnée ───── */
/* Déjà présent iter 8/18, renforcement sélecteur PS natif   */
.products-sort-order .dropdown-item[aria-selected="true"],
.products-sort-order .dropdown-item.selected,
.products-sort-order .dropdown-menu li.current > a {
  color: var(--gold, #D4B570) !important;
  font-weight: 600 !important;
  background: rgba(212, 181, 112, 0.08) !important;
}
.products-sort-order .dropdown-item[aria-selected="true"]::before,
.products-sort-order .dropdown-item.selected::before,
.products-sort-order .dropdown-menu li.current > a::before {
  content: "✓ " !important;
  color: var(--gold, #D4B570) !important;
}

/* ── 7. RESULT COUNT — micro-animation count-up ─────────── */
/* Renforcement + keyframe @starting-style pour AJAX refresh  */
#js-product-list-top .total-products,
#js-product-list-top .showing-results,
.products-total {
  animation: bhr-count-up .35s cubic-bezier(0.22, 1, 0.36, 1) both !important;
}
@keyframes bhr-count-up {
  from { opacity: 0; transform: translateY(8px) scale(0.95); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
/* Flash léger à chaque update AJAX */
#js-product-list.ajax-loading #js-product-list-top .total-products {
  opacity: 0.3 !important;
  transition: opacity .2s !important;
}

/* ── 8. SKELETON CARDS — pendant ajax filter ─────────────── */
#js-product-list.ajax-loading .products {
  pointer-events: none !important;
}
#js-product-list.ajax-loading .product-miniature {
  position: relative !important;
  overflow: hidden !important;
}
#js-product-list.ajax-loading .product-miniature::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(20, 16, 42, 0) 0%,
    rgba(107, 74, 140, 0.18) 40%,
    rgba(212, 181, 112, 0.08) 60%,
    rgba(20, 16, 42, 0) 100%
  ) !important;
  background-size: 200% 100% !important;
  animation: bhr-shimmer 1.4s linear infinite !important;
  z-index: 10 !important;
  border-radius: 12px !important;
}
@keyframes bhr-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}
/* Opacité réduite sur les cards pendant loading */
#js-product-list.ajax-loading .product-miniature img,
#js-product-list.ajax-loading .product-miniature .product-description {
  opacity: 0.4 !important;
  transition: opacity .2s !important;
}

/* ── 9. IMAGE LAZY — fade-in au chargement ───────────────── */
/* Seulement img avec loading="lazy" explicite (pas toutes les miniatures) */
.product-miniature img[loading="lazy"] {
  opacity: 0 !important;
  transition: opacity .45s ease !important;
}
.product-miniature img[loading="lazy"].loaded,
.product-miniature img.lazyloaded,
.product-miniature img.ls-is-cached {
  opacity: 1 !important;
}
/* Fallback: si JS ne pose pas la classe, déclencher sur complete */
.product-miniature img[loading="lazy"][src]:not([src=""]) {
  animation: bhr-img-fade .45s ease forwards !important;
  animation-delay: .05s !important;
}
@keyframes bhr-img-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ── 10. VOIR AUSSI — related category chips ─────────────── */
.bhr-related-categories,
#bhr-related-categories {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 40px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(107, 74, 140, 0.2) !important;
}
.bhr-related-categories__label {
  width: 100% !important;
  font-family: var(--serif) !important;
  font-size: 0.85rem !important;
  color: rgba(232, 224, 208, 0.55) !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}
.bhr-related-chip,
.bhr-related-categories a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(14, 11, 26, 0.7) !important;
  border: 1px solid rgba(107, 74, 140, 0.35) !important;
  border-radius: 20px !important;
  padding: 7px 14px !important;
  color: rgba(232, 224, 208, 0.8) !important;
  font-size: 12px !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  transition: border-color .18s, background .18s, color .18s !important;
  white-space: nowrap !important;
}
.bhr-related-chip:hover,
.bhr-related-categories a:hover {
  border-color: var(--gold, #D4B570) !important;
  background: rgba(212, 181, 112, 0.1) !important;
  color: var(--gold, #D4B570) !important;
}
.bhr-related-chip::before,
.bhr-related-categories a::before {
  content: "✦" !important;
  font-size: 8px !important;
  color: var(--gold, #D4B570) !important;
  opacity: 0.6 !important;
}

/* ──────────────────────────────────────────────────────────
   FIN ITER 29
   ────────────────────────────────────────────────────────── */

/* ══════════════════════════════════════════════════════════
   ITER 49 — CATEGORY POLISH 5e PASSE
   ══════════════════════════════════════════════════════════ */

/* ── 1. FILTER COMPACT MODE TOGGLE ──────────────────────── */
.bhr-filter-compact-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  font-size: 11px !important;
  font-family: var(--sans) !important;
  color: rgba(232, 224, 208, 0.55) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  background: none !important;
  border: none !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  transition: color .18s, background .18s !important;
  user-select: none !important;
}
.bhr-filter-compact-toggle:hover {
  color: var(--gold, #D4B570) !important;
  background: rgba(212, 181, 112, 0.07) !important;
}
.bhr-filter-compact-toggle .bhr-toggle-icon {
  width: 14px !important;
  height: 14px !important;
  border: 1.5px solid currentColor !important;
  border-radius: 3px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
/* Compact mode active — filters condensed */
body.bhr-filters-compact #search_filters .facet .facet-label,
body.bhr-filters-compact #search_filters .facet .facet-title {
  font-size: 11px !important;
  padding: 3px 6px !important;
  line-height: 1.3 !important;
}
body.bhr-filters-compact #search_filters .facet {
  margin-bottom: 8px !important;
}
body.bhr-filters-compact #search_filters .facet ul {
  gap: 3px !important;
}

/* ── 2. SAVE SEARCH BOOKMARK BUTTON ─────────────────────── */
.bhr-save-search-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: rgba(14, 11, 26, 0.7) !important;
  border: 1px solid rgba(107, 74, 140, 0.4) !important;
  border-radius: 20px !important;
  padding: 7px 14px !important;
  color: rgba(232, 224, 208, 0.75) !important;
  font-size: 12px !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
  transition: border-color .18s, background .18s, color .18s !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
.bhr-save-search-btn:hover {
  border-color: var(--gold, #D4B570) !important;
  background: rgba(212, 181, 112, 0.1) !important;
  color: var(--gold, #D4B570) !important;
}
.bhr-save-search-btn::before {
  content: "🔖" !important;
  font-size: 12px !important;
  line-height: 1 !important;
}
.bhr-save-search-btn.saved {
  border-color: var(--gold, #D4B570) !important;
  color: var(--gold, #D4B570) !important;
  background: rgba(212, 181, 112, 0.12) !important;
}
.bhr-save-search-btn.saved::before {
  content: "✓" !important;
}

/* ── 3. FILTER CHIPS HORIZONTAL SCROLL MOBILE ───────────── */
.bhr-active-filters-bar {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: 4px !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
}
.bhr-active-filters-bar::-webkit-scrollbar {
  display: none !important;
}
/* Scroll hint fade on mobile */
@media (max-width: 767px) {
  .bhr-active-filters-wrap {
    position: relative !important;
  }
  .bhr-active-filters-wrap::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 4px !important;
    width: 40px !important;
    background: linear-gradient(to right, transparent, rgba(14, 11, 26, 0.9)) !important;
    pointer-events: none !important;
    border-radius: 0 8px 8px 0 !important;
  }
}
.bhr-filter-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: rgba(107, 74, 140, 0.2) !important;
  border: 1px solid rgba(107, 74, 140, 0.45) !important;
  border-radius: 14px !important;
  padding: 5px 10px !important;
  color: rgba(232, 224, 208, 0.85) !important;
  font-size: 11px !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.03em !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  cursor: default !important;
}
.bhr-filter-chip .bhr-chip-remove {
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: rgba(232, 224, 208, 0.15) !important;
  border: none !important;
  color: rgba(232, 224, 208, 0.6) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transition: background .15s, color .15s !important;
  flex-shrink: 0 !important;
}
.bhr-filter-chip .bhr-chip-remove:hover {
  background: rgba(212, 181, 112, 0.25) !important;
  color: var(--gold, #D4B570) !important;
}

/* ── 4. EMPTY STATE — no products match ─────────────────── */
.bhr-empty-state {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 64px 24px !important;
  text-align: center !important;
  gap: 16px !important;
  min-height: 280px !important;
}
.bhr-empty-state__icon {
  font-size: 48px !important;
  opacity: 0.35 !important;
  line-height: 1 !important;
}
.bhr-empty-state__title {
  font-family: var(--serif) !important;
  font-size: 1.3rem !important;
  color: rgba(232, 224, 208, 0.7) !important;
  margin: 0 !important;
  letter-spacing: 0.03em !important;
}
.bhr-empty-state__subtitle {
  font-family: var(--sans) !important;
  font-size: 0.9rem !important;
  color: rgba(232, 224, 208, 0.4) !important;
  margin: 0 !important;
}
.bhr-empty-state__reset-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-top: 8px !important;
  padding: 10px 22px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(212, 181, 112, 0.4) !important;
  background: rgba(212, 181, 112, 0.08) !important;
  color: var(--gold, #D4B570) !important;
  font-size: 12px !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .18s, border-color .18s !important;
}
.bhr-empty-state__reset-btn:hover {
  background: rgba(212, 181, 112, 0.18) !important;
  border-color: var(--gold, #D4B570) !important;
}
/* Hide empty state by default, show via JS class */
.bhr-empty-state { display: none !important; }
#js-product-list.bhr-no-results .bhr-empty-state { display: flex !important; }
#js-product-list.bhr-no-results .products { display: none !important; }

/* ── 5. STICKY FILTER BUTTON MOBILE FLOATING ────────────── */
@media (max-width: 767px) {
  .bhr-sticky-filter-fab {
    position: fixed !important;
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 900 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 24px !important;
    background: linear-gradient(135deg, rgba(107, 74, 140, 0.95), rgba(85, 55, 115, 0.95)) !important;
    border: 1px solid rgba(212, 181, 112, 0.35) !important;
    border-radius: 28px !important;
    color: rgba(232, 224, 208, 0.92) !important;
    font-size: 13px !important;
    font-family: var(--sans) !important;
    letter-spacing: 0.05em !important;
    box-shadow: 0 8px 32px rgba(14, 11, 26, 0.6), 0 0 0 1px rgba(107, 74, 140, 0.3) !important;
    cursor: pointer !important;
    transition: transform .2s, box-shadow .2s, background .2s !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }
  .bhr-sticky-filter-fab:active {
    transform: translateX(-50%) scale(0.96) !important;
  }
  .bhr-sticky-filter-fab:hover {
    background: linear-gradient(135deg, rgba(107, 74, 140, 1), rgba(85, 55, 115, 1)) !important;
    box-shadow: 0 12px 40px rgba(14, 11, 26, 0.7), 0 0 0 1px rgba(212, 181, 112, 0.35) !important;
  }
  .bhr-sticky-filter-fab .bhr-fab-count {
    background: var(--gold, #D4B570) !important;
    color: rgba(14, 11, 26, 0.9) !important;
    border-radius: 10px !important;
    padding: 1px 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    min-width: 18px !important;
    text-align: center !important;
    display: none !important;
  }
  .bhr-sticky-filter-fab.has-filters .bhr-fab-count { display: inline-block !important; }
  /* Hide FAB on desktop */
}
@media (min-width: 768px) {
  .bhr-sticky-filter-fab { display: none !important; }
}

/* ── 6. COMPARE ITEMS MULTI-SELECT BAR ───────────────────── */
.bhr-compare-bar {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 950 !important;
  background: rgba(14, 11, 26, 0.96) !important;
  border-top: 1px solid rgba(107, 74, 140, 0.4) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  padding: 12px 20px !important;
  display: none !important;
  align-items: center !important;
  gap: 12px !important;
  box-shadow: 0 -8px 32px rgba(14, 11, 26, 0.5) !important;
  transform: translateY(100%) !important;
  transition: transform .25s ease !important;
}
.bhr-compare-bar.active {
  display: flex !important;
  transform: translateY(0) !important;
}
.bhr-compare-bar__slots {
  display: flex !important;
  gap: 8px !important;
  flex: 1 !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
.bhr-compare-bar__slots::-webkit-scrollbar { display: none !important; }
.bhr-compare-slot {
  width: 52px !important;
  height: 52px !important;
  border-radius: 8px !important;
  border: 1.5px dashed rgba(107, 74, 140, 0.45) !important;
  background: rgba(107, 74, 140, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(232, 224, 208, 0.25) !important;
  font-size: 20px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  transition: border-color .18s !important;
}
.bhr-compare-slot.filled {
  border-color: rgba(107, 74, 140, 0.7) !important;
  border-style: solid !important;
}
.bhr-compare-slot img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.bhr-compare-slot .bhr-slot-remove {
  position: absolute !important;
  top: 2px !important;
  right: 2px !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: rgba(14, 11, 26, 0.75) !important;
  border: none !important;
  color: rgba(232, 224, 208, 0.7) !important;
  font-size: 9px !important;
  cursor: pointer !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
.bhr-compare-slot.filled .bhr-slot-remove { display: flex !important; }
.bhr-compare-bar__actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.bhr-compare-btn {
  padding: 9px 18px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(212, 181, 112, 0.45) !important;
  background: rgba(212, 181, 112, 0.1) !important;
  color: var(--gold, #D4B570) !important;
  font-size: 12px !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background .15s !important;
}
.bhr-compare-btn:hover { background: rgba(212, 181, 112, 0.2) !important; }
.bhr-compare-btn--clear {
  border-color: rgba(232, 224, 208, 0.2) !important;
  background: transparent !important;
  color: rgba(232, 224, 208, 0.5) !important;
  font-size: 11px !important;
  padding: 6px 14px !important;
}
.bhr-compare-btn--clear:hover {
  color: rgba(232, 224, 208, 0.8) !important;
}
/* Checkbox on product card for compare */
.product-miniature .bhr-compare-checkbox {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 10 !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 5px !important;
  border: 1.5px solid rgba(107, 74, 140, 0.55) !important;
  background: rgba(14, 11, 26, 0.75) !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: border-color .15s, background .15s !important;
}
.product-miniature .bhr-compare-checkbox:checked {
  background: rgba(107, 74, 140, 0.7) !important;
  border-color: rgba(107, 74, 140, 0.9) !important;
}
.product-miniature .bhr-compare-checkbox:checked::after {
  content: "✓" !important;
  display: block !important;
  text-align: center !important;
  font-size: 12px !important;
  color: rgba(232, 224, 208, 0.95) !important;
  line-height: 17px !important;
}

/* ── 7. BULK ACTIONS TOOLBAR ─────────────────────────────── */
.bhr-bulk-toolbar {
  display: none !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 16px !important;
  background: rgba(107, 74, 140, 0.12) !important;
  border: 1px solid rgba(107, 74, 140, 0.3) !important;
  border-radius: 10px !important;
  margin-bottom: 16px !important;
  flex-wrap: wrap !important;
}
.bhr-bulk-toolbar.visible { display: flex !important; }
.bhr-bulk-toolbar__count {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  color: rgba(232, 224, 208, 0.6) !important;
  letter-spacing: 0.04em !important;
  flex-shrink: 0 !important;
}
.bhr-bulk-toolbar__count strong {
  color: var(--gold, #D4B570) !important;
  font-weight: 600 !important;
}
.bhr-bulk-action-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 6px 13px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(107, 74, 140, 0.35) !important;
  background: rgba(14, 11, 26, 0.5) !important;
  color: rgba(232, 224, 208, 0.75) !important;
  font-size: 11px !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: border-color .15s, background .15s, color .15s !important;
  text-decoration: none !important;
}
.bhr-bulk-action-btn:hover {
  border-color: rgba(212, 181, 112, 0.45) !important;
  color: var(--gold, #D4B570) !important;
  background: rgba(212, 181, 112, 0.08) !important;
}
.bhr-bulk-action-btn--deselect {
  border-color: rgba(232, 224, 208, 0.15) !important;
  color: rgba(232, 224, 208, 0.4) !important;
  margin-left: auto !important;
}
.bhr-bulk-action-btn--deselect:hover {
  border-color: rgba(232, 224, 208, 0.3) !important;
  color: rgba(232, 224, 208, 0.7) !important;
  background: none !important;
}

/* ── 8. VIEW DENSITY TOGGLE ──────────────────────────────── */
.bhr-density-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  background: rgba(14, 11, 26, 0.6) !important;
  border: 1px solid rgba(107, 74, 140, 0.3) !important;
  border-radius: 8px !important;
  padding: 3px !important;
}
.bhr-density-btn {
  width: 28px !important;
  height: 28px !important;
  border-radius: 6px !important;
  border: none !important;
  background: transparent !important;
  color: rgba(232, 224, 208, 0.45) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background .15s, color .15s !important;
  font-size: 13px !important;
  padding: 0 !important;
}
.bhr-density-btn:hover {
  color: rgba(232, 224, 208, 0.8) !important;
}
.bhr-density-btn.active {
  background: rgba(107, 74, 140, 0.35) !important;
  color: var(--gold, #D4B570) !important;
}
/* Compact density */
body.bhr-density-compact #js-product-list .product-miniature {
  --product-card-padding: 8px !important;
}
body.bhr-density-compact #js-product-list .product-miniature .product-description {
  padding: 8px !important;
}
body.bhr-density-compact #js-product-list .product-miniature .product-title {
  font-size: 12px !important;
  -webkit-line-clamp: 1 !important;
}
body.bhr-density-compact #js-product-list .product-miniature .product-price-and-shipping {
  font-size: 13px !important;
}
/* Comfortable density (default) */
body.bhr-density-comfortable #js-product-list .product-miniature .product-description {
  padding: 14px !important;
}

/* ──────────────────────────────────────────────────────────
   FIN ITER 49
   ────────────────────────────────────────────────────────── */



/* ═══════════════════════════════════════════════════════
   FIXES P0/P1 — Audit visuel 2026-04-26
   ═══════════════════════════════════════════════════════ */

/* P0-1 Grille produits mobile : 2 colonnes au lieu de 1 */
@media (max-width: 768px) {
  #products .products,
  .featured-products .products,
  .product-list .products,
  .products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .products .product-miniature,
  #products .product-miniature {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}

/* P0-2 Images produits : ratio uniforme */
.product-miniature .thumbnail,
.product-miniature .thumbnail-container,
.product-miniature .product-thumbnail {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #1a0428 !important;
  border-radius: 4px !important;
}
.product-miniature .thumbnail img,
.product-miniature .thumbnail-container img,
.product-miniature .product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* P0-3 Header mobile : éviter compression */
@media (max-width: 768px) {
  .bhr-header-container,
  #header .header-top {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .bhr-logo-img { height: 44px !important; }
  .bhr-icon-btn,
  .bhr-cart-link,
  .bhr-account-link { padding: 6px !important; }
}

/* P1-7 Filtres sidebar : contraste WCAG AA */
.facet .facet-title,
#search_filters .facet-title,
.block-categories .facet-title {
  color: #F4EFE6 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}
.facet .facet-label a,
.facet .facet-label,
#search_filters label {
  color: rgba(244, 239, 230, 0.85) !important;
  font-size: 14px !important;
}
.facet .facet-label:hover,
.facet .facet-label a:hover {
  color: #D4B570 !important;
}

/* P1-9 Pagination : bordure or visible */
.pagination .page-list li a,
.pagination .page-list li span {
  border: 1px solid rgba(212, 181, 112, 0.3) !important;
  color: #F4EFE6 !important;
  padding: 8px 14px !important;
  border-radius: 3px !important;
  transition: all 0.2s ease !important;
}
.pagination .page-list li.current a,
.pagination .page-list li.current span,
.pagination .page-list li a:hover {
  background: #D4B570 !important;
  color: #1a0428 !important;
  border-color: #D4B570 !important;
}

/* P1-10 Footer : liens or */
#footer a,
.footer-container a,
.block-contact a,
.block_newsletter a {
  color: rgba(212, 181, 112, 0.85) !important;
  transition: color 0.2s ease !important;
}
#footer a:hover,
.footer-container a:hover { color: #D4B570 !important; }

/* P0-Audit2-1 Bouton Contact ENVOYER : fond or */
#contact-form button[type="submit"],
#contact-form .form-control-submit,
#contact-form .btn-primary {
  background: #D4B570 !important;
  color: #1a0428 !important;
  border: 1px solid #D4B570 !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 12px 32px !important;
  border-radius: 3px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}
#contact-form button[type="submit"]:hover {
  background: #E0C588 !important;
  border-color: #E0C588 !important;
}

/* P0-Audit2-2 Email contact : pas de troncature */
.contact-rich .block .data,
.contact-form .data,
#contact-info .data,
#contact-info a {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  word-break: break-word !important;
  max-width: 100% !important;
}

/* P0-Audit2-3 Cart reassurance mobile */
@media (max-width: 768px) {
  .cart-reassurance,
  .block-reassurance {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    padding: 12px !important;
  }
  .cart-reassurance li,
  .block-reassurance li,
  .cart-reassurance .reassurance-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 10px 6px !important;
    background: rgba(212, 181, 112, 0.05) !important;
    border: 1px solid rgba(212, 181, 112, 0.15) !important;
    border-radius: 4px !important;
  }
  .cart-reassurance svg,
  .cart-reassurance img,
  .block-reassurance svg,
  .block-reassurance img {
    width: 24px !important;
    height: 24px !important;
    margin-bottom: 6px !important;
  }
  .cart-reassurance span,
  .block-reassurance span,
  .cart-reassurance p {
    font-size: 11px !important;
    line-height: 1.3 !important;
    color: #F4EFE6 !important;
  }
}

/* P1-Audit2-4 Login : bouton MONTRER inline avec input */
#login-form .input-group,
.form-group:has(input[type="password"]) {
  position: relative !important;
}
.input-group .btn-show-password,
.form-group input[type="password"] + button {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  border: none !important;
  color: #D4B570 !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  padding: 4px 8px !important;
  cursor: pointer !important;
}

/* P1-Audit2-5/6 Produit : image plus grande + CTA mobile sticky */
@media (min-width: 992px) {
  .product-cover,
  .product-cover img,
  .images-container .product-cover {
    width: 100% !important;
    max-width: 600px !important;
    margin: 0 auto !important;
  }
  .product-cover img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }
}
@media (max-width: 768px) {
  .product-add-to-cart,
  .product-actions {
    position: sticky !important;
    bottom: 0 !important;
    background: rgba(26, 4, 40, 0.96) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-top: 1px solid rgba(212, 181, 112, 0.25) !important;
    padding: 12px !important;
    z-index: 50 !important;
    margin: 0 -12px !important;
  }
}

/* P1-Audit2-7 Newsletter footer : fond cohérent */
.block_newsletter,
.footer-container .block_newsletter {
  background: transparent !important;
  border-top: 1px solid rgba(212, 181, 112, 0.15) !important;
  padding-top: 24px !important;
  margin-top: 24px !important;
}

/* P2-Audit2-10 Panier vide : pas de grand vide */
.cart-grid,
#main .cart-grid {
  min-height: auto !important;
  margin-bottom: 32px !important;
}

/* ─── Fixes round 2 (selectors corrigés) ─── */

/* Bouton Envoyer contact (input, pas button) */
#contact-form input[type="submit"],
#contact-form input[name="submitMessage"],
#contact-form .btn-primary,
.contact-form-box input[type="submit"] {
  background: #D4B570 !important;
  color: #1a0428 !important;
  border: 1px solid #D4B570 !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 12px 32px !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}
#contact-form input[type="submit"]:hover { background: #E0C588 !important; }

/* Email block contact : pas de troncature */
.contact-rich .data,
.contact-rich .data.email,
.data.email,
#left-column .block .data,
#left-column .block-contact .data {
  overflow: visible !important;
  white-space: normal !important;
  word-break: break-all !important;
  max-width: 100% !important;
  text-overflow: clip !important;
}
.data.email a,
#left-column a[href^="mailto:"] {
  word-break: break-all !important;
  display: inline-block !important;
  max-width: 100% !important;
  color: #D4B570 !important;
}

/* ─── Fixes round 3 ─── */

/* Bouton Envoyer (vrai sélecteur) */
section.contact-form input[type="submit"],
section.contact-form input[name="submitMessage"],
.contact-form input.btn-primary {
  background-color: #D4B570 !important;
  background: #D4B570 !important;
  color: #1a0428 !important;
  border: 1px solid #D4B570 !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 12px 32px !important;
  border-radius: 3px !important;
  cursor: pointer !important;
}
section.contact-form input[type="submit"]:hover {
  background-color: #E0C588 !important;
}

/* Adresse contact : wrap propre, pas break-all sur les mots */
.contact-rich .data,
.data.email,
#left-column .block .data,
#left-column .block-contact .data {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}
/* Email seul : break-all autorisé pour le @ */
.data.email a,
#left-column a[href^="mailto:"] {
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
}

/* ─── ORBS → IMAGES IA (homepage Quatre familles + Encyclopédie) ─── */

/* Familles : transformer les orbs en thumbnails */
.bhr-coll-card__orb {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border: 1px solid rgba(212, 181, 112, 0.25) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.5), inset 0 0 0 1px rgba(212, 181, 112, 0.1) !important;
}
.bhr-coll-card:nth-child(1) .bhr-coll-card__orb {
  background-image: url('/img/bhr/famille-bracelets.jpg') !important;
}
.bhr-coll-card:nth-child(2) .bhr-coll-card__orb {
  background-image: url('/img/bhr/famille-colliers.jpg') !important;
}
.bhr-coll-card:nth-child(3) .bhr-coll-card__orb {
  background-image: url('/img/bhr/famille-pendentifs.jpg') !important;
}
.bhr-coll-card:nth-child(4) .bhr-coll-card__orb {
  background-image: url('/img/bhr/famille-deco.jpg') !important;
}

/* Encyclopédie : 8 pierres */
.bhr-pierre-card__orb {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border: 1px solid rgba(212, 181, 112, 0.3) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6), inset 0 0 30px rgba(212, 181, 112, 0.08) !important;
}
.bhr-orb--amethyst { background-image: url('/img/bhr/pierre-amethyste.jpg') !important; }
.bhr-orb--quartz { background-image: url('/img/bhr/pierre-quartz-rose.jpg') !important; }
.bhr-orb--lapis { background-image: url('/img/bhr/pierre-lapis-lazuli.jpg') !important; }
.bhr-orb--obsidian { background-image: url('/img/bhr/pierre-obsidienne.jpg') !important; }
.bhr-orb--cristal { background-image: url('/img/bhr/pierre-cristal-de-roche.jpg') !important; }
.bhr-orb--aventurine { background-image: url('/img/bhr/pierre-aventurine.jpg') !important; }
.bhr-orb--howlite { background-image: url('/img/bhr/pierre-howlite.jpg') !important; }
.bhr-orb--agate { background-image: url('/img/bhr/pierre-agate.jpg') !important; }

/* Hover effect */
.bhr-coll-card__orb,
.bhr-pierre-card__orb { transition: transform 0.4s ease, filter 0.4s ease !important; }
.bhr-coll-card:hover .bhr-coll-card__orb,
.bhr-pierre-card:hover .bhr-pierre-card__orb {
  transform: scale(1.04) !important;
  filter: brightness(1.1) !important;
}

/* ═══════════════════════════════════════════════════════════════
   AUDIT P0/P1 — Page produit + Footer — 2026-04-26
   ═══════════════════════════════════════════════════════════════ */

/* ── P0 · PRIX : hiérarchie visuelle forte ── */
.product-price,
.product-price .price,
span[itemprop="price"],
.product-prices .price {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #D4B570 !important;
  letter-spacing: 0.5px !important;
  line-height: 1.2 !important;
}
.product-prices .tax.label {
  font-size: 0.75rem !important;
  color: rgba(244,239,230,0.5) !important;
}

/* ── P0 · CTA "Ajouter au panier" — contraste et taille ── */
.btn.btn-primary.add-to-cart,
#add-to-cart-or-refresh .add-to-cart {
  background: #D4B570 !important;
  color: #1a0428 !important;
  border: none !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 16px 40px !important;
  border-radius: 4px !important;
  width: 100% !important;
  box-shadow: 0 4px 20px rgba(212,181,112,0.35) !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
}
.btn.btn-primary.add-to-cart:hover,
#add-to-cart-or-refresh .add-to-cart:hover {
  background: #E8C97A !important;
  box-shadow: 0 6px 28px rgba(212,181,112,0.55) !important;
}
.product-add-to-cart {
  margin-top: 16px !important;
}

/* ── P1 · QUANTITÉ — alignement avec CTA ── */
.product-quantity {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.product-quantity .qty input,
.product-quantity .input-group input#quantity_wanted {
  background: rgba(26,4,40,0.6) !important;
  border: 1px solid rgba(212,181,112,0.4) !important;
  color: #F4EFE6 !important;
  border-radius: 3px !important;
  font-size: 1rem !important;
  text-align: center !important;
  height: 44px !important;
  width: 80px !important;
}

/* ── P1 · GALERIE produit — cover plus grande + bordure or ── */
.product-cover,
.product-cover img {
  border-radius: 6px !important;
  border: 1px solid rgba(212,181,112,0.2) !important;
}
.product-images li.thumb-container {
  border: 1px solid rgba(212,181,112,0.15) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  opacity: 0.75 !important;
  transition: opacity 0.2s ease, border-color 0.2s ease !important;
}
.product-images li.thumb-container:hover,
.product-images li.thumb-container.selected {
  opacity: 1 !important;
  border-color: #D4B570 !important;
}

/* ── P1 · BADGES REASSURANCE — lisibles sur mobile ── */
.blockreassurance_product .block-title,
.blockreassurance_product p,
.blockreassurance_product .item-product p {
  font-size: 0.85rem !important;
  color: #F4EFE6 !important;
  line-height: 1.4 !important;
}
.blockreassurance_product .item-product {
  padding: 10px 8px !important;
}
.blockreassurance_product .block-title {
  font-weight: 600 !important;
  color: #D4B570 !important;
}
/* Force SVG reassurance visibles */
.blockreassurance_product img.svg {
  visibility: visible !important;
  width: 36px !important;
  height: 36px !important;
  filter: invert(80%) sepia(40%) saturate(400%) hue-rotate(5deg) brightness(1.1) !important;
}

/* ── P1 · FOOTER newsletter — input visible ── */
#footer .block_newsletter input[type="email"],
footer .block_newsletter input[type="email"],
.block-newsletter input[type="email"] {
  background: rgba(244,239,230,0.07) !important;
  border: 1px solid rgba(212,181,112,0.5) !important;
  color: #F4EFE6 !important;
  border-radius: 3px !important;
  padding: 10px 14px !important;
  width: 100% !important;
  font-size: 0.9rem !important;
}
#footer .block_newsletter input[type="email"]::placeholder,
footer .block_newsletter input[type="email"]::placeholder,
.block-newsletter input[type="email"]::placeholder {
  color: rgba(244,239,230,0.45) !important;
}
#footer .block_newsletter button,
footer .block_newsletter button,
.block-newsletter button[type="submit"] {
  background: #D4B570 !important;
  color: #1a0428 !important;
  border: none !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  padding: 10px 20px !important;
  border-radius: 3px !important;
  margin-top: 8px !important;
  width: 100% !important;
  cursor: pointer !important;
}

/* Footer — séparation colonnes mobile */
@media (max-width: 767px) {
  #footer .footer-container .row > div,
  footer .row > [class*="col-"] {
    border-top: 1px solid rgba(212,181,112,0.15) !important;
    padding-top: 16px !important;
    margin-top: 16px !important;
  }
  #footer .footer-container .row > div:first-child,
  footer .row > [class*="col-"]:first-child {
    border-top: none !important;
    margin-top: 0 !important;
  }
  /* CTA plein largeur mobile */
  .btn.btn-primary.add-to-cart,
  #add-to-cart-or-refresh .add-to-cart {
    padding: 18px 24px !important;
    font-size: 1.05rem !important;
  }
}

/* ─── Audit Mobile Round 3 — 5 corrections P0/P1 ─── */

/* P0-1 : Panier — conteneur réassurance overflow visible */
@media (max-width: 768px) {
  #cart .cart-detailed-totals,
  .cart-detailed-totals,
  .cart-summary-totals,
  #js-checkout-summary,
  .cart-grid-right {
    overflow: visible !important;
  }
  /* Icônes réassurance : forcer visibilité + couleur */
  .block-reassurance ul,
  .block-reassurance ol {
    overflow: visible !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
  .block-reassurance li,
  .block-reassurance .reassurance-item {
    overflow: visible !important;
    padding-left: 10px !important;
  }
  /* Texte réassurance lisible */
  .block-reassurance p,
  .block-reassurance span,
  .block-reassurance .reassurance-item p {
    color: #F4EFE6 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  /* Icônes : couleur dorée */
  .block-reassurance svg,
  .block-reassurance img,
  .block-reassurance i {
    color: #D4B570 !important;
    fill: #D4B570 !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
  }
}

/* P0-2 : Catégorie — Trier par : fond blanc → thème dark */
@media (max-width: 768px) {
  select#products-sort-order,
  .sort-by-row select,
  select.products-sort-order,
  #products-sort-order,
  .products-sort-order select {
    background-color: #2a0a3e !important;
    background: #2a0a3e !important;
    color: #F4EFE6 !important;
    border: 1px solid rgba(212, 181, 112, 0.4) !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    font-size: 13px !important;
  }
  .products-sort-order .select-title,
  .sort-by-row .select-title {
    background: #2a0a3e !important;
    color: #F4EFE6 !important;
    border: 1px solid rgba(212, 181, 112, 0.4) !important;
  }
  /* Options dropdown */
  select#products-sort-order option,
  .sort-by-row select option {
    background: #2a0a3e !important;
    color: #F4EFE6 !important;
  }
}

/* P1-3 : Catégorie — Labels facets lisibles */
@media (max-width: 768px) {
  #search_filters .facet-label,
  #search_filters li.facet-dropdown,
  .facet-label label,
  #search_filters .facet-label .custom-checkbox span.color,
  #search_filters .facet-label a {
    color: #F4EFE6 !important;
    font-size: 13px !important;
  }
  #search_filters .facet-title,
  #search_filters .facet summary {
    color: #D4B570 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
  }
  #search_filters .facets-sidebar,
  #search_filters {
    background: #1a0428 !important;
    border: 1px solid rgba(212, 181, 112, 0.2) !important;
    border-radius: 6px !important;
    padding: 12px !important;
  }
}

/* P1-4 : Home — Prix produits non coupés */
@media (max-width: 768px) {
  .product-miniature .product-price-and-shipping,
  .bhr-card .product-price-and-shipping,
  .product-miniature .price,
  .product-price-and-shipping .price {
    white-space: nowrap !important;
    overflow: visible !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  .product-miniature .product-description,
  .bhr-card .card-body,
  .product-miniature .card-body {
    overflow: visible !important;
    min-height: auto !important;
  }
}

/* P1-5 : Connexion — Bouton MONTRER lisible (texte sombre sur fond or) */
@media (max-width: 768px) {
  .input-group .btn-show-password,
  button[data-action="show-password"],
  #login-form button[type="button"],
  .form-control-password-toggle {
    background: transparent !important;
    color: #D4B570 !important;
    border: none !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 4px 8px !important;
    cursor: pointer !important;
  }
}

/* ─── Audit Mobile Round 3b — fixes ciblés ─── */

/* FIX-1 : Bouton MONTRER — fond transparent, texte doré */
.input-group-btn .btn[data-action="show-password"],
.input-group-btn .btn[data-action="hide-password"],
button[data-action="show-password"],
button[data-action="hide-password"] {
  background: transparent !important;
  background-color: transparent !important;
  color: #D4B570 !important;
  border: none !important;
  border-left: 1px solid rgba(212, 181, 112, 0.3) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

/* FIX-2 : displayReassurance hook — icônes non coupées */
@media (max-width: 768px) {
  #js-checkout-summary .block-reassurance,
  .cart-grid-right .block-reassurance,
  section.cart-container .block-reassurance,
  .block-reassurance {
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .block-reassurance ul,
  .block-reassurance .reassurance-items {
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .block-reassurance li,
  .block-reassurance .reassurance-item {
    overflow: visible !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 8px 4px !important;
    margin: 0 !important;
  }
  /* Icône : ne pas couper */
  .block-reassurance li img,
  .block-reassurance li svg,
  .block-reassurance .reassurance-item img,
  .block-reassurance .reassurance-item svg {
    flex-shrink: 0 !important;
    overflow: visible !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
  }
  /* Texte lisible */
  .block-reassurance li p,
  .block-reassurance li span,
  .block-reassurance .reassurance-item p,
  .block-reassurance .reassurance-item span {
    color: #F4EFE6 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    overflow: visible !important;
  }
}

/* ─── Fix bouton MONTRER — spécificité maximale ─── */
#login-form .input-group .input-group-btn > .btn,
#login-form .input-group .input-group-btn > button,
.page-authentication .input-group-btn > .btn,
.page-authentication .input-group-btn > button,
form .input-group .input-group-btn > .btn[data-action],
.input-group-btn > button[data-action="show-password"],
.input-group-btn > button[data-action="hide-password"] {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #D4B570 !important;
  border: none !important;
  border-left: 1px solid rgba(212, 181, 112, 0.3) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  cursor: pointer !important;
}

/* ═══════════════════════════════════════════════════════
   AUDIT PAGES ANNEXES — Avril 2026
   Pages : inscription, mot-de-passe-oublié, recherche
   ═══════════════════════════════════════════════════════ */

/* ── P0 : Inputs formulaires (inscription / compte) ── */
.page-customer-account .form-control,
.page-registration .form-control,
.page-authentication .form-control,
.page-password .form-control,
body .form-group .form-control {
  background-color: rgba(26, 4, 40, 0.6) !important;
  background: rgba(26, 4, 40, 0.6) !important;
  border: 1px solid rgba(212, 181, 112, 0.35) !important;
  color: #F4EFE6 !important;
  border-radius: 6px !important;
}
.page-customer-account .form-control:focus,
.page-registration .form-control:focus,
.page-authentication .form-control:focus,
.page-password .form-control:focus,
body .form-group .form-control:focus {
  border-color: #D4B570 !important;
  box-shadow: 0 0 0 2px rgba(212, 181, 112, 0.2) !important;
  outline: none !important;
  background-color: rgba(42, 10, 62, 0.8) !important;
}
.page-customer-account .form-control::placeholder,
.page-registration .form-control::placeholder,
.page-authentication .form-control::placeholder,
.page-password .form-control::placeholder,
body .form-group .form-control::placeholder {
  color: rgba(244, 239, 230, 0.4) !important;
}

/* ── P0 : Labels & textes section Préférences ── */
.page-customer-account .form-group label,
.page-customer-account .form-group .custom-control-label,
.page-registration .form-group label,
.page-registration .form-group .custom-control-label,
.page-registration .custom-checkbox label,
.page-registration .custom-radio label,
#gdpr_consent label,
.js-customer-form .form-group p,
.js-customer-form .form-group small,
.js-customer-form .alert,
.js-customer-form .gdpr-container p,
.js-customer-form .gdpr-container span {
  color: #F4EFE6 !important;
}

/* ── P0 : Textes informatifs RGPD / confidentialité ── */
.page-customer-account .form-group .col-md-6 p,
.page-customer-account .form-group .col-xs-12 p,
.js-customer-form p,
.js-customer-form span:not(.label):not(.badge) {
  color: rgba(244, 239, 230, 0.85) !important;
}

/* ── P1 : Radio buttons M./Mme — supprimer fond blanc natif ── */
.page-customer-account input[type="radio"],
.page-registration input[type="radio"],
.js-customer-form input[type="radio"] {
  accent-color: #D4B570 !important;
}
.page-customer-account .custom-radio .custom-control-indicator,
.page-registration .custom-radio .custom-control-indicator {
  background-color: rgba(26, 4, 40, 0.6) !important;
  border: 1px solid rgba(212, 181, 112, 0.4) !important;
}

/* ── P1 : Checkboxes préférences — cohérence thème ── */
.page-customer-account input[type="checkbox"],
.page-registration input[type="checkbox"],
.js-customer-form input[type="checkbox"] {
  accent-color: #D4B570 !important;
}
.page-customer-account .custom-checkbox .custom-control-indicator,
.page-registration .custom-checkbox .custom-control-indicator {
  background-color: rgba(26, 4, 40, 0.6) !important;
  border: 1px solid rgba(212, 181, 112, 0.4) !important;
}

/* ── P1 : Date de naissance — fond natif browser override ── */
input[type="date"],
input[type="date"]::-webkit-calendar-picker-indicator {
  background-color: rgba(26, 4, 40, 0.6) !important;
  color: #F4EFE6 !important;
  filter: invert(0.85) sepia(0.3) saturate(1.2) hue-rotate(10deg) !important;
}

/* ── P1 : Zone sort/filtre page recherche — fond gris override ── */
.products-selection,
.sort-by-row,
#js-product-list-top .products-sort-order,
.products-selection .products-sort-order {
  background: transparent !important;
  background-color: transparent !important;
}
.products-selection select,
.sort-by-row select,
select#products-sort-order {
  background-color: rgba(26, 4, 40, 0.8) !important;
  color: #F4EFE6 !important;
  border: 1px solid rgba(212, 181, 112, 0.35) !important;
}

/* ── Nombre de résultats recherche — lisibilité ── */
.total-products p,
#js-product-list-top .total-products,
.products-selection .showing {
  color: rgba(244, 239, 230, 0.75) !important;
}

/* ── STONE COVERS — Bannières visuelles par catégorie ─────── */
/* Les catégories pierres utilisent body.category-id-30, .category-31, etc. */
.bhr-cat-hero {
  position: relative !important;
  overflow: hidden !important;
}

.bhr-cat-cover-img {
  display: block !important;
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  object-position: center 40% !important;
  margin-top: 24px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(212,181,112,0.2) !important;
  box-shadow: 0 8px 48px rgba(26,4,40,0.7) !important;
}

/* Inject via CSS background par ID body class */
body.category-id-30 .bhr-cat-hero::before,
body.category-id-31 .bhr-cat-hero::before,
body.category-id-32 .bhr-cat-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center 35% !important;
  opacity: 0.12 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
body.category-id-30 .bhr-cat-hero::before {
  background-image: url('/img/bhr/30-amethyste.png') !important;
}
body.category-id-31 .bhr-cat-hero::before {
  background-image: url('/img/bhr/31-quartz-rose.png') !important;
}
body.category-id-32 .bhr-cat-hero::before {
  background-image: url('/img/bhr/32-lapis-lazuli.png') !important;
}
body.category-id-30 .bhr-cat-hero__inner,
body.category-id-31 .bhr-cat-hero__inner,
body.category-id-32 .bhr-cat-hero__inner {
  position: relative !important;
  z-index: 1 !important;
}

/* Stone cover image block apres le grid titre */
.bhr-cat-stone-cover {
  margin-top: 32px !important;
  width: 100% !important;
  height: 220px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  border: 1px solid rgba(212,181,112,0.25) !important;
  box-shadow: 0 4px 32px rgba(26,4,40,0.6) !important;
}
.bhr-cat-stone-cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 35% !important;
}

/* ===== BIJOUX-FX — Micro-interactions & Polish UX ===== */

/* 1. Smooth scroll */
html {
  scroll-behavior: smooth !important;
}

/* 2. Hover gold sweep on CTA buttons */
.btn-primary,
.bhr-cta,
a.btn-primary,
button.btn-primary {
  position: relative !important;
  overflow: hidden !important;
  transition: color 300ms cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.btn-primary::before,
.bhr-cta::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(212, 181, 112, 0.3) 40%,
    rgba(212, 181, 112, 0.6) 50%,
    rgba(212, 181, 112, 0.3) 60%,
    transparent 100%
  ) !important;
  transform: translateX(0) !important;
  transition: left 400ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.btn-primary:hover::before,
.bhr-cta:hover::before {
  left: 100% !important;
}
.btn-primary:hover,
.bhr-cta:hover {
  box-shadow: 0 4px 20px rgba(212, 181, 112, 0.35) !important;
}

/* 3. Card hover lift */
.product-miniature,
.bhr-coll-card {
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  will-change: transform !important;
}
.product-miniature:hover,
.bhr-coll-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(212, 181, 112, 0.2),
              0 4px 16px rgba(26, 4, 40, 0.4) !important;
}

/* 4. Loading skeleton shimmer on lazy images */
img[loading="lazy"]:not(.loaded) {
  background: linear-gradient(
    90deg,
    rgba(42, 10, 62, 0.6) 0%,
    rgba(212, 181, 112, 0.15) 40%,
    rgba(212, 181, 112, 0.25) 50%,
    rgba(212, 181, 112, 0.15) 60%,
    rgba(42, 10, 62, 0.6) 100%
  ) !important;
  background-size: 200% 100% !important;
  animation: bhr-shimmer 1.5s infinite linear !important;
  min-height: 120px !important;
}
img[loading="lazy"].loaded {
  background: none !important;
  animation: none !important;
}
@keyframes bhr-shimmer {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}

/* 5. Reveal on scroll — initial state */
.bhr-collections,
.bhr-pierres,
.bhr-intentions {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1),
              transform 500ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.bhr-collections.bhr-visible,
.bhr-pierres.bhr-visible,
.bhr-intentions.bhr-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ─── Footer polish ─── */

/* Bouton S'abonner : doré filled */
.bhr-footer__nl-btn,
button.bhr-footer__nl-btn {
  background: #D4B570 !important;
  color: #1a0428 !important;
  border: 1px solid #D4B570 !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 10px 24px !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}
.bhr-footer__nl-btn:hover { background: #E0C588 !important; }

/* Réduire le grand vide blanc avant le footer */
#footer,
.footer-container,
.bhr-footer {
  padding-top: 32px !important;
  margin-top: 0 !important;
}
.page-footer,
.footer-before {
  padding: 16px 0 !important;
  margin: 0 !important;
}

/* Espacement liens footer compact + gold hover */
.bhr-footer__col li,
.bhr-footer__list li,
#footer .links li {
  margin: 0 0 10px 0 !important;
  list-style: none !important;
}
.bhr-footer__col a,
#footer .links a {
  color: rgba(244, 239, 230, 0.85) !important;
  font-size: 14px !important;
  transition: color 0.2s ease !important;
}
.bhr-footer__col a:hover,
#footer .links a:hover {
  color: #D4B570 !important;
}

/* Titres colonnes footer en or maj. */
.bhr-footer__col h4,
.bhr-footer__col-title,
#footer .links .h3,
#footer h4 {
  color: #D4B570 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
}

/* Newsletter input : bordure or */
.bhr-footer__nl-input,
#footer input[type="email"] {
  background: rgba(26, 4, 40, 0.6) !important;
  border: 1px solid rgba(212, 181, 112, 0.35) !important;
  color: #F4EFE6 !important;
  padding: 10px 12px !important;
  border-radius: 3px !important;
}
.bhr-footer__nl-input:focus {
  border-color: #D4B570 !important;
  outline: none !important;
}

/* Disclaimer médicale : plus visible */
.page-footer__disclaimer,
.bhr-disclaimer {
  background: rgba(212, 181, 112, 0.04) !important;
  border-top: 1px solid rgba(212, 181, 112, 0.12) !important;
  border-bottom: 1px solid rgba(212, 181, 112, 0.12) !important;
  padding: 16px 24px !important;
  font-size: 12px !important;
  color: rgba(244, 239, 230, 0.65) !important;
  font-style: italic !important;
  text-align: center !important;
}

/* CMS pages : typo lisible */
#content-wrapper .page-content,
#main .cms-content,
.cms #content {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 32px 16px !important;
  color: #F4EFE6 !important;
  line-height: 1.7 !important;
  font-size: 16px !important;
}
.cms-content h1, .page-content h1,
.cms #content h1 {
  color: #D4B570 !important;
  font-family: "Italiana", serif !important;
  font-size: 36px !important;
  margin-bottom: 24px !important;
}
.cms-content h2, .page-content h2,
.cms #content h2 {
  color: #D4B570 !important;
  font-size: 24px !important;
  margin: 32px 0 16px !important;
}
.cms-content p, .page-content p {
  margin: 0 0 16px !important;
}
.cms-content a, .page-content a {
  color: #D4B570 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(212, 181, 112, 0.4) !important;
}

/* ─── Régressions ─── */

/* Logo header : pas de cadre */
.bhr-logo-img,
.bhr-logo-link img,
header .bhr-logo-img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}
.bhr-logo-link {
  border: none !important;
  background: transparent !important;
}

/* Cat-hero seulement si présent ET non vide ET sur catégorie */
body:not(.category) .bhr-cat-hero,
body.cms .bhr-cat-hero,
body.cms-id-* .bhr-cat-hero,
.bhr-cat-hero:empty {
  display: none !important;
}

/* Hide empty header-banner on all pages without hook content */
.header-banner:empty,
.header-banner:not(:has(*)) {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
}

/* Also reduce spacing between header and content */
#main {
  padding-top: 16px !important;
}
.cms #main {
  padding-top: 0 !important;
}

/* Page-header band on CMS : hide if duplicate */
.cms .page-header,
.cms #main > .page-header {
  display: none !important;
}
/* Ou si vraiment besoin, la vide  */
.cms .page-header h1 { display: none !important; }

/* Page-cms : enlever le band hero CSS */
body.page-cms .page-header,
body[id="cms"] .page-header,
.page-cms .page-header { display: none !important; }

/* Si c'est un autre élément avec background, cible plus large */
body.page-cms #main > header,
body.page-cms #main > div:first-child:not(#content):not(article):empty,
.page-cms .breadcrumb-wrapper:empty {
  display: none !important;
}

/* Wrapper PS9 : pas de min-height inutile */
#wrapper {
  background: transparent !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  min-height: 0 !important;
}
#notifications:empty,
.notifications-container:empty,
#notifications .notifications-container:empty {
  display: none !important;
}

/* ─── Final polish ─── */

/* Force kill stubborn empty bands on CMS */
body[id="cms"] #wrapper > .container:first-of-type:not(:has(.breadcrumb)),
body[id="cms"] section#wrapper > .container:nth-child(1):empty,
body.page-cms aside#notifications:empty,
body.page-cms aside#notifications .notifications-container:empty {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Scrollbar cohérent avec thème */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #1a0428; }
::-webkit-scrollbar-thumb { 
  background: rgba(212, 181, 112, 0.3); 
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover { background: rgba(212, 181, 112, 0.5); }

/* Selection text or */
::selection { background: rgba(212, 181, 112, 0.3); color: #F4EFE6; }

/* Focus visible amélioré */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #D4B570 !important;
  outline-offset: 2px !important;
  border-radius: 2px !important;
}

/* Meilleure typo sur titres serif */
h1, h2, h3, .bhr-h-display {
  font-feature-settings: "lnum", "kern", "liga" !important;
  text-rendering: optimizeLegibility !important;
}

/* Boutons disabled state */
button:disabled,
input[type="submit"]:disabled,
.btn:disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Tooltips PS9 cohérent */
.tooltip-inner,
.popover-body {
  background: #2a0a3e !important;
  color: #F4EFE6 !important;
  border: 1px solid rgba(212, 181, 112, 0.3) !important;
  font-size: 12px !important;
  padding: 8px 12px !important;
  border-radius: 3px !important;
}

/* Smooth fade-in pour images au load */
img {
  transition: opacity 0.3s ease !important;
}

/* Cookie banner / GDPR cohérent */
#gdpr_consent_box,
.psgdpr_consent_message,
#cookies-banner {
  background: rgba(26, 4, 40, 0.96) !important;
  backdrop-filter: blur(12px) !important;
  border-top: 1px solid rgba(212, 181, 112, 0.25) !important;
  color: #F4EFE6 !important;
  padding: 16px !important;
}
#gdpr_consent_box button,
.psgdpr_consent_message button {
  background: #D4B570 !important;
  color: #1a0428 !important;
  border: none !important;
  padding: 8px 20px !important;
  border-radius: 3px !important;
  font-weight: 600 !important;
}
