/* O NANOMÈTRE — Warehouse 4.7.2 Custom Override */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --gold: #b8945f;
  --gold-light: #d4b07a;
  --gold-dark: #8a6d3b;
  --dark: #141414;
  --darker: #0a0a0a;
  --cream: #f7f3ee;
  --light: #faf9f7;
  --text: #2d2d2d;
  --text-light: #7a7a7a;
  --text-muted: #b0b0b0;
  --elegant: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Inter', -apple-system, sans-serif;
  --shadow-gold: 0 8px 30px rgba(184, 148, 95, .25);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);
  --shadow-md: 0 8px 30px rgba(0, 0, 0, .08);
  --shadow-lg: 0 20px 60px rgba(0, 0, 0, .12);
  --radius: 16px;
  --radius-lg: 24px
}

/* GLOBAL */
body {
  font-family: var(--sans) !important;
  color: var(--text);
  background: var(--light) !important;
  -webkit-font-smoothing: antialiased
}

a {
  transition: color .3s
}

h1,
h2,
h3,
.h1,
.h2,
.h3,
.section-title,
.page-title span,
.block-title span {
  font-family: var(--elegant) !important;
  font-weight: 400 !important
}

/* ===================================================================
   CATEGORY PAGE — O nanomètre Redesign (matches plan-de-travail.html)
   =================================================================== */

/* HERO BANNER */
.ocat-hero {
  position: relative;
  height: 340px;
  min-height: 340px;
  overflow: hidden;
  display: flex;
  align-items: center;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-top: 0;
  margin-bottom: 0;
  border-radius: 0;
  z-index: 2
}

.ocat-hero .ocat-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.35) saturate(1.1);
  z-index: 0
}

.ocat-hero .ocat-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(10, 10, 10, .7), rgba(10, 10, 10, .3));
  z-index: 1
}

.ocat-hero .ocat-hero-content {
  position: relative;
  z-index: 2;
  padding: 0 60px;
  max-width: 800px
}

.ocat-hero .ocat-hero-content .page-title,
.ocat-hero .ocat-hero-content .page-title span {
  font-family: var(--elegant) !important;
  font-size: 3.2rem !important;
  color: #fff !important;
  font-weight: 400 !important;
  margin-bottom: 14px;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border: none !important;
  background: none !important;
  padding: 0 !important
}

.ocat-hero .ocat-hero-desc {
  color: rgba(255, 255, 255, .6);
  font-size: 1rem;
  line-height: 1.7;
  max-width: 600px;
  font-family: var(--sans)
}

/* Hide default category image & description (we show it in hero) */
body#category .category-image,
body#category .category-description-top,
body#category .category-description-image {
  display: none !important
}

/* Breadcrumb on category pages */
body#category #wrapper .breadcrumb {
  background: none !important;
  padding: 12px 0;
  margin-bottom: 0;
  font-size: .78rem
}

body#category #wrapper .breadcrumb ol {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0
}

body#category #wrapper .breadcrumb li {
  display: flex;
  align-items: center;
  gap: 8px
}

body#category #wrapper .breadcrumb li a {
  color: var(--gold) !important;
  transition: color .2s
}

body#category #wrapper .breadcrumb li a:hover {
  color: var(--gold-light) !important
}

body#category #wrapper .breadcrumb li::after {
  color: var(--text-muted)
}

body#category #wrapper .breadcrumb li:last-child span,
body#category #wrapper .breadcrumb li:last-child {
  color: var(--text-light)
}

/* MAIN LAYOUT — sidebar + content */
body#category #wrapper {
  padding-top: 0 !important
}

body#category #wrapper .container {
  max-width: 1500px !important
}

body#category #inner-wrapper {
  padding-top: 15px
}

/* SIDEBAR — faceted search */
body#category #left-column {
  padding-right: 20px
}

body#category #left-column .block-categories,
body#category #left-column #search_filters,
body#category #left-column .facet,
body#category #left-column .block_newsletter,
body#category #left-column .iqitBlockCms {
  background: transparent;
  border: none;
  box-shadow: none;
  margin-bottom: 25px
}

body#category #left-column .facet .facet-title,
body#category #left-column .block-categories .block-title,
body#category #left-column h4,
body#category #left-column .h4 {
  font-family: var(--elegant) !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1.5px solid rgba(0, 0, 0, .06) !important;
  color: var(--dark);
  text-transform: none !important;
  letter-spacing: 0 !important
}

body#category #left-column .facet .facet-label {
  padding: 9px 14px;
  border-radius: 10px;
  font-size: .88rem;
  color: var(--text);
  transition: all .3s;
  margin-bottom: 2px;
  display: flex;
  align-items: center
}

body#category #left-column .facet .facet-label:hover {
  background: rgba(184, 148, 95, .08);
  color: var(--gold)
}

body#category #left-column .facet .facet-label .custom-checkbox input[type="checkbox"]+span {
  border-color: var(--gold);
  border-radius: 5px
}

body#category #left-column .facet .facet-label .custom-checkbox input[type="checkbox"]:checked+span {
  background: var(--gold);
  border-color: var(--gold)
}

body#category #left-column .facet .facet-label .magnitude {
  margin-left: auto;
  font-size: .72rem;
  color: var(--text-muted);
  background: rgba(0, 0, 0, .04);
  padding: 2px 8px;
  border-radius: 50px
}

/* Color swatches in sidebar */
body#category #left-column .facet .facet-label .color {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 2px solid transparent !important;
  cursor: pointer;
  transition: all .3s
}

body#category #left-column .facet .facet-label .color:hover,
body#category #left-column .facet .facet-label.active .color {
  border-color: var(--gold) !important;
  transform: scale(1.15);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15)
}

/* Price filter range */
body#category #left-column .facet .ui-slider {
  background: rgba(0, 0, 0, .08) !important;
  border: none !important;
  border-radius: 4px !important;
  height: 4px !important
}

body#category #left-column .facet .ui-slider .ui-slider-range {
  background: var(--gold) !important
}

body#category #left-column .facet .ui-slider .ui-slider-handle {
  background: var(--gold) !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  width: 18px !important;
  height: 18px !important;
  top: -7px !important;
  box-shadow: 0 2px 8px rgba(184, 148, 95, .3);
  cursor: pointer
}

/* TOOLBAR — sort bar */
body#category #products .products-sort-order,
body#category #products .products-selection,
body#category .products-sort-order {
  margin-bottom: 25px
}

body#category .products-sort-order .select-title,
body#category .products-sort-order select,
body#category .sort-by-row select {
  padding: 10px 36px 10px 16px !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 10px !important;
  font-size: .85rem !important;
  font-family: var(--sans) !important;
  outline: none;
  background: var(--white, #fff) !important;
  cursor: pointer;
  transition: border .3s
}

body#category .products-sort-order .select-title:focus,
body#category .sort-by-row select:focus {
  border-color: var(--gold) !important
}

body#category .total-products {
  font-size: .92rem !important;
  color: var(--text-light)
}

body#category .total-products p strong,
body#category .total-products p b {
  color: var(--dark);
  font-weight: 600
}

/* VIEW TOGGLE */
body#category .grid-list-btn button,
body#category .grid-list-btn a {
  width: 38px;
  height: 38px;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .3s;
  color: var(--text-light)
}

body#category .grid-list-btn button:hover,
body#category .grid-list-btn a:hover,
body#category .grid-list-btn button.active,
body#category .grid-list-btn a.active {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  background: rgba(184, 148, 95, .05) !important
}

/* PRODUCT CARDS */
body#category .product-miniature {
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  background: #fff !important;
  transition: all .5s cubic-bezier(.25, .46, .45, .94) !important;
  border: 1px solid rgba(0, 0, 0, .04) !important;
  box-shadow: none !important;
  margin-bottom: 24px
}

body#category .product-miniature:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--shadow-lg) !important;
  border-color: transparent !important
}

/* Product card image */
body#category .product-miniature .thumbnail-container {
  border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
  overflow: hidden !important;
  position: relative
}

body#category .product-miniature .thumbnail-container .product-thumbnail {
  overflow: hidden;
  display: block;
  aspect-ratio: 4/3
}

body#category .product-miniature .thumbnail-container .product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .7s cubic-bezier(.25, .46, .45, .94) !important
}

body#category .product-miniature:hover .thumbnail-container .product-thumbnail img.product-thumbnail-first {
  transform: scale(1.08) !important
}

/* Product flags / tags */
body#category .product-miniature .product-flags {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 5;
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px
}

body#category .product-miniature .product-flags .product-flag {
  background: var(--gold) !important;
  color: var(--dark) !important;
  padding: 5px 14px !important;
  border-radius: 50px !important;
  font-size: .66rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border: none !important;
  line-height: 1.4
}

body#category .product-miniature .product-flags .product-flag.discount {
  background: #e74c3c !important;
  color: #fff !important
}

body#category .product-miniature .product-flags .product-flag.new {
  background: var(--gold) !important;
  color: var(--dark) !important
}

body#category .product-miniature .product-flags .product-flag.on-sale {
  background: #e74c3c !important;
  color: #fff !important
}

/* Quick view / functional buttons */
body#category .product-miniature .product-functional-buttons {
  opacity: 0;
  transform: translateY(-5px);
  transition: all .3s;
  z-index: 10
}

body#category .product-miniature:hover .product-functional-buttons {
  opacity: 1;
  transform: translateY(0)
}

body#category .product-miniature .product-functional-buttons a,
body#category .product-miniature .product-functional-buttons button {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .9) !important;
  backdrop-filter: blur(5px);
  border: none !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: var(--text-light) !important;
  font-size: 1rem;
  transition: all .3s
}

body#category .product-miniature .product-functional-buttons a:hover,
body#category .product-miniature .product-functional-buttons button:hover {
  color: var(--gold) !important;
  background: #fff !important
}

/* Product card body / description */
body#category .product-miniature .product-description {
  padding: 22px 22px 26px !important;
  background: #fff
}

body#category .product-miniature .product-title {
  font-family: var(--elegant) !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  margin-bottom: 10px;
  line-height: 1.35
}

body#category .product-miniature .product-title a {
  color: var(--dark) !important;
  transition: color .3s
}

body#category .product-miniature:hover .product-title a {
  color: var(--gold) !important
}

/* Product price */
body#category .product-miniature .product-price-and-shipping {
  margin-top: 8px
}

body#category .product-miniature .product-price-and-shipping .product-price {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--gold-dark) !important
}

body#category .product-miniature .product-price-and-shipping .regular-price {
  font-size: .88rem !important;
  color: var(--text-muted) !important;
  text-decoration: line-through
}

/* Product category name */
body#category .product-miniature .product-category-name {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
  margin-bottom: 4px
}

/* Product stars/reviews */
body#category .product-miniature .star-content {
  color: var(--gold) !important
}

body#category .product-miniature .star-content .star::after,
body#category .product-miniature .star-content .star {
  color: var(--gold) !important
}

/* Add to cart / configure button */
body#category .product-miniature .btn-product,
body#category .product-miniature .add-to-cart,
body#category .product-miniature .product-add-cart a,
body#category .product-miniature .product-add-cart button {
  display: inline-block;
  padding: 10px 24px !important;
  border-radius: 50px !important;
  background: var(--dark) !important;
  color: #fff !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  transition: all .3s !important;
  border: none !important;
  cursor: pointer;
  font-family: var(--sans) !important;
  text-align: center;
  margin-top: 10px
}

body#category .product-miniature .btn-product:hover,
body#category .product-miniature .add-to-cart:hover,
body#category .product-miniature .product-add-cart a:hover,
body#category .product-miniature .product-add-cart button:hover {
  background: var(--gold) !important;
  color: var(--dark) !important;
  box-shadow: var(--shadow-gold) !important
}

/* Product availability badge */
body#category .product-miniature .product-availability .badge {
  font-size: .68rem !important;
  font-weight: 500 !important;
  padding: 4px 12px !important;
  border-radius: 50px !important
}

body#category .product-miniature .product-availability .badge-success {
  background: rgba(46, 204, 113, .1) !important;
  color: #27ae60 !important
}

/* Hide some clutter on category page */
body#category .product-miniature .product-description-short {
  display: none !important
}

body#category .product-miniature .product-reference {
  display: none !important
}

body#category .product-miniature .product-brand {
  display: none !important
}

body#category .product-miniature .products-variants {
  margin-top: 8px
}

/* PAGINATION */
body#category .pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 40px;
  margin-bottom: 40px
}

body#category .pagination .page-list {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: center
}

body#category .pagination .page-list li {
  margin: 0
}

body#category .pagination .page-list li a,
body#category .pagination .page-list li span {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 1.5px solid #e0e0e0 !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  cursor: pointer;
  transition: all .3s !important;
  padding: 0 !important;
  line-height: 1 !important
}

body#category .pagination .page-list li a:hover,
body#category .pagination .page-list li.current a,
body#category .pagination .page-list li.current span,
body#category .pagination .page-list li a[rel="nofollow"].current {
  background: var(--gold) !important;
  color: var(--dark) !important;
  border-color: var(--gold) !important
}

body#category .pagination .page-list li .previous,
body#category .pagination .page-list li .next {
  font-size: .9rem
}

/* Products count shown */
body#category .showing {
  text-align: center;
  font-size: .88rem;
  color: var(--text-light);
  margin-top: 10px
}

/* RESPONSIVE — Category Page */
@media(max-width:1024px) {
  .ocat-hero {
    height: 260px;
    margin: -15px -15px 20px -15px
  }

  .ocat-hero .ocat-hero-content {
    padding: 0 30px
  }

  .ocat-hero .ocat-hero-content .page-title,
  .ocat-hero .ocat-hero-content .page-title span {
    font-size: 2.4rem !important
  }
}

@media(max-width:768px) {
  .ocat-hero {
    height: 220px
  }

  .ocat-hero .ocat-hero-content .page-title,
  .ocat-hero .ocat-hero-content .page-title span {
    font-size: 2rem !important
  }

  .ocat-hero .ocat-hero-desc {
    font-size: .88rem;
    display: none
  }

  body#category .product-miniature .product-description {
    padding: 16px 16px 20px !important
  }
}

/* ===================================================================
   O NANOMÈTRE — CATEGORY PAGE FIXES v2
   Force 3-col grid, card actions, price unit, sidebar refinements
   =================================================================== */

/* FORCE 3-COLUMN GRID on desktop */
body#category #js-product-list .products .js-product-miniature-wrapper {
  flex: 0 0 33.333% !important;
  max-width: 33.333% !important;
  padding: 0 12px !important;
  margin-bottom: 24px !important
}

@media(min-width:1200px) {
  body#category #js-product-list .products .js-product-miniature-wrapper {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important
  }
}

@media(max-width:1024px) {
  body#category #js-product-list .products .js-product-miniature-wrapper {
    flex: 0 0 50% !important;
    max-width: 50% !important
  }
}

@media(max-width:576px) {
  body#category #js-product-list .products .js-product-miniature-wrapper {
    flex: 0 0 100% !important;
    max-width: 100% !important
  }
}

/* Product card — enhanced border-radius & background */
body#category .product-miniature {
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .04) !important;
  box-shadow: none !important;
  transition: all .5s cubic-bezier(.25, .46, .45, .94) !important;
  position: relative
}

body#category .product-miniature:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .12) !important;
  border-color: transparent !important
}

/* Thumbnail container */
body#category .product-miniature .thumbnail-container {
  border-radius: 24px 24px 0 0 !important;
  overflow: hidden !important;
  position: relative !important;
  background: #f5f5f5
}

body#category .product-miniature .thumbnail-container .product-thumbnail {
  overflow: hidden !important;
  display: block !important;
  aspect-ratio: 4/3 !important;
  position: relative
}

body#category .product-miniature .thumbnail-container .product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .7s cubic-bezier(.25, .46, .45, .94) !important
}

body#category .product-miniature:hover .thumbnail-container .product-thumbnail img.product-thumbnail-first {
  transform: scale(1.08) !important
}

/* Product flags — gold pill badges */
body#category .product-miniature .product-flags {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 5 !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important
}

body#category .product-miniature .product-flags .product-flag {
  background: var(--gold) !important;
  color: var(--dark) !important;
  padding: 5px 14px !important;
  border-radius: 50px !important;
  font-size: .66rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border: none !important;
  line-height: 1.4
}

/* Quick-view buttons — float right, circle */
body#category .product-miniature .product-functional-buttons {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  bottom: auto !important;
  opacity: 0;
  transform: translateY(-5px);
  transition: all .3s !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  width: auto !important
}

body#category .product-miniature:hover .product-functional-buttons {
  opacity: 1 !important;
  transform: translateY(0) !important
}

body#category .product-miniature .product-functional-buttons-links {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important
}

body#category .product-miniature .product-functional-buttons a,
body#category .product-miniature .product-functional-buttons button {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .92) !important;
  backdrop-filter: blur(5px);
  border: none !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--text-light) !important;
  font-size: .9rem !important;
  transition: all .3s !important;
  padding: 0 !important;
  min-width: 0 !important
}

body#category .product-miniature .product-functional-buttons a:hover,
body#category .product-miniature .product-functional-buttons button:hover {
  color: var(--gold) !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12) !important
}

/* Product description body */
body#category .product-miniature .product-description {
  padding: 22px 22px 26px !important;
  background: #fff !important
}

/* Stars / reviews */
body#category .product-miniature .product-description .star-content,
body#category .product-miniature .product-description .grade-stars {
  color: var(--gold) !important;
  font-size: .78rem;
  margin-bottom: 8px;
  letter-spacing: 1px
}

/* Product title */
body#category .product-miniature .product-title {
  font-family: var(--elegant) !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  margin-bottom: 10px !important;
  line-height: 1.35 !important
}

body#category .product-miniature .product-title a {
  color: var(--dark) !important;
  transition: color .3s !important
}

body#category .product-miniature:hover .product-title a {
  color: var(--gold) !important
}

/* Price styling */
body#category .product-miniature .product-price-and-shipping {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  flex-wrap: wrap
}

body#category .product-miniature .product-price-and-shipping .product-price {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--gold-dark) !important
}

/* TTC /m² label after price */
body#category .product-miniature .price-unit-label {
  font-weight: 400 !important;
  color: var(--text-light) !important;
  font-size: .82rem !important
}

/* CARD ACTION BUTTONS — Configurer + Échantillon */
body#category .product-miniature .ocard-actions {
  display: flex !important;
  gap: 10px !important;
  margin-top: 16px !important
}

body#category .product-miniature .ocard-btn {
  flex: 1 !important;
  padding: 10px 0 !important;
  border-radius: 50px !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all .3s !important;
  font-family: var(--sans) !important;
  border: none !important;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 1.4 !important
}

body#category .product-miniature .ocard-btn-primary {
  background: var(--dark) !important;
  color: #fff !important
}

body#category .product-miniature .ocard-btn-primary:hover {
  background: var(--gold) !important;
  color: var(--dark) !important;
  box-shadow: 0 8px 30px rgba(184, 148, 95, .25) !important
}

body#category .product-miniature .ocard-btn-outline {
  background: transparent !important;
  border: 1.5px solid #e0e0e0 !important;
  color: var(--text) !important
}

body#category .product-miniature .ocard-btn-outline:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important
}

/* Hide default add-to-cart form on category page (we use custom buttons) */
body#category .product-miniature .product-add-cart.js-product-add-cart,
body#category .product-miniature .js-product-add-cart {
  display: none !important
}

/* Hide description-short, brand, reference on cards */
body#category .product-miniature .product-description-short,
body#category .product-miniature .product-reference,
body#category .product-miniature .product-brand,
body#category .product-miniature .product-category-name {
  display: none !important
}

/* Product availability badge — hide on grid */
body#category .product-miniature .product-availability {
  display: none !important
}

/* SIDEBAR — Categories list styling */
body#category #left-column .block-categories {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important
}

body#category #left-column .block-categories .block-title {
  font-family: var(--elegant) !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: var(--dark) !important;
  padding-bottom: 12px !important;
  margin-bottom: 18px !important;
  border-bottom: 1.5px solid rgba(0, 0, 0, .06) !important;
  text-transform: none !important;
  letter-spacing: 0 !important
}

body#category #left-column .block-categories .category-sub-menu li {
  margin-bottom: 2px !important
}

body#category #left-column .block-categories .category-sub-menu li a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 14px !important;
  border-radius: 10px !important;
  font-size: .88rem !important;
  color: var(--text) !important;
  transition: all .3s !important;
  font-weight: 400 !important;
  text-decoration: none !important
}

body#category #left-column .block-categories .category-sub-menu li a:hover,
body#category #left-column .block-categories .category-sub-menu li.current a {
  background: rgba(184, 148, 95, .08) !important;
  color: var(--gold) !important;
  font-weight: 500 !important
}

body#category #left-column .block-categories .category-sub-menu li .collapse-icons {
  color: var(--text-muted) !important
}

/* Sidebar facets refinements */
body#category #left-column #search_filters {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important
}

body#category #left-column #search_filters .h6,
body#category #left-column #search_filters h6 {
  font-family: var(--elegant) !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  padding-bottom: 12px !important;
  margin-bottom: 18px !important;
  border-bottom: 1.5px solid rgba(0, 0, 0, .06) !important;
  color: var(--dark) !important;
  text-transform: none !important;
  letter-spacing: 0 !important
}

/* TOOLBAR — sort, view, count */
body#category .products-selection .total-products {
  font-size: .92rem !important;
  color: var(--text-light) !important
}

body#category .products-selection .total-products p {
  margin: 0
}

body#category .products-sort-order .select-title {
  padding: 10px 36px 10px 16px !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 10px !important;
  font-size: .85rem !important;
  background: #fff !important;
  transition: border .3s
}

body#category .products-sort-order .select-title:focus,
body#category .products-sort-order .select-title:hover {
  border-color: var(--gold) !important
}

/* Grid/list toggle */
body#category .grid-list-btn .btn,
body#category .grid-list-btn button {
  width: 38px !important;
  height: 38px !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--text-light) !important;
  transition: all .3s !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important
}

body#category .grid-list-btn .btn:hover,
body#category .grid-list-btn .btn.active,
body#category .grid-list-btn button:hover,
body#category .grid-list-btn button.active {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  background: rgba(184, 148, 95, .05) !important
}

/* PAGINATION */
body#category nav.pagination {
  margin-top: 50px !important;
  margin-bottom: 40px !important
}

body#category .pagination .page-list {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  align-items: center
}

body#category .pagination .page-list li {
  margin: 0 !important
}

body#category .pagination .page-list li a,
body#category .pagination .page-list li span {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 1.5px solid #e0e0e0 !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  transition: all .3s !important;
  padding: 0 !important;
  line-height: 1 !important
}

body#category .pagination .page-list li a:hover,
body#category .pagination .page-list li.current a,
body#category .pagination .page-list li.current span {
  background: var(--gold) !important;
  color: var(--dark) !important;
  border-color: var(--gold) !important
}

/* Hide showing count text */
body#category .pagination .showing {
  text-align: center;
  font-size: .85rem;
  color: var(--text-light)
}

/* ===================================================================
   O NANOMÈTRE — Text alignment + card polish v3
   =================================================================== */

/* Force left-align on card body (design = left-aligned) */
body#category .product-miniature .product-description {
  text-align: left !important
}

body#category .product-miniature .product-title {
  text-align: left !important
}

body#category .product-miniature .product-price-and-shipping {
  text-align: left !important;
  justify-content: flex-start !important
}

body#category .product-miniature .ocard-actions {
  justify-content: flex-start !important
}

/* Card border-radius reinforcement */
body#category .product-miniature,
body#category .product-miniature-default {
  border-radius: 24px !important;
  overflow: hidden !important
}

body#category .product-miniature .thumbnail-container {
  border-radius: 0 !important
}

/* Wishlist/compare/quickview — ensure they stay as column on right */
body#category .product-miniature .product-functional-buttons {
  right: 14px !important;
  top: 14px !important;
  flex-direction: column !important
}

body#category .product-miniature .product-functional-buttons-links {
  flex-direction: column !important;
  gap: 6px !important
}

/* Improve image zoom on hover */
body#category .product-miniature:hover .product-thumbnail img.product-thumbnail-first {
  transform: scale(1.08) !important
}

/* Hide second image rollover (cleaner look) */
body#category .product-miniature .product-thumbnail-second {
  display: none !important
}

/* Sidebar left column — cleaner padding */
body#category #left-column {
  padding-right: 30px !important
}

body#category #left-column .block-categories .category-sub-menu {
  list-style: none !important;
  padding-left: 0 !important
}

/* Category description area — remove top spacing weirdness */
body#category .category-description {
  display: none !important
}

/* Hero — full width (consolidated in first .ocat-hero rule) */


/* ===================================================================
   O NANOMÈTRE — PIXEL-PERFECT POLISH v4
   Breadcrumb in hero, stars, card radius, sidebar, toolbar
   =================================================================== */

/* BREADCRUMB INSIDE HERO */
.ocat-hero .ocat-breadcrumb {
  display: flex;
  gap: 8px;
  align-items: center;
  color: rgba(255, 255, 255, .5);
  font-size: .78rem;
  margin-bottom: 20px;
  font-family: var(--sans)
}

.ocat-hero .ocat-breadcrumb a {
  color: var(--gold-light) !important;
  transition: color .2s;
  text-decoration: none
}

.ocat-hero .ocat-breadcrumb a:hover {
  color: #fff !important
}

.ocat-hero .ocat-breadcrumb .ocat-sep {
  color: rgba(255, 255, 255, .3)
}

/* Hide default PrestaShop breadcrumb on category pages */
body#category #wrapper .breadcrumb {
  display: none !important
}

/* STAR RATINGS on product cards */
body#category .product-miniature .ocard-stars {
  color: var(--gold);
  font-size: .78rem;
  margin-bottom: 8px;
  letter-spacing: 1px;
  line-height: 1
}

body#category .product-miniature .ocard-stars small {
  color: var(--text-muted);
  font-weight: 400;
  font-size: .72rem
}

/* CARD BORDER-RADIUS — triple reinforcement */
body#category .product-miniature,
body#category .product-miniature-default,
body#category article.product-miniature {
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .04) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: all .5s cubic-bezier(.25, .46, .45, .94) !important
}

body#category .product-miniature:hover,
body#category .product-miniature-default:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--shadow-lg) !important;
  border-color: transparent !important
}

/* Ensure thumbnail doesn't break parent radius */
body#category .product-miniature .thumbnail-container {
  border-radius: 0 !important;
  overflow: hidden !important
}

/* PRODUCT GRID — proper gap */
body#category #js-product-list .products.row {
  margin-left: -12px !important;
  margin-right: -12px !important
}

body#category #js-product-list .products .js-product-miniature-wrapper {
  padding: 0 12px !important;
  margin-bottom: 24px !important
}

/* SIDEBAR — sticky + elegant */
body#category #left-column {
  position: sticky !important;
  top: 140px !important;
  align-self: start !important;
  padding-right: 30px !important
}

/* Hide "Accueil" text above sidebar */
body#category #left-column .block-categories .category-top-menu>li:first-child {
  display: none
}

/* Sidebar category links — hover gold with round bg */
body#category #left-column .block-categories .category-sub-menu li a {
  display: flex !important;
  align-items: center !important;
  padding: 9px 14px !important;
  border-radius: 10px !important;
  font-size: .88rem !important;
  color: var(--text) !important;
  transition: all .3s !important;
  text-decoration: none !important
}

body#category #left-column .block-categories .category-sub-menu li a:hover,
body#category #left-column .block-categories .category-sub-menu li.current a {
  background: rgba(184, 148, 95, .08) !important;
  color: var(--gold) !important;
  font-weight: 500 !important
}

/* TOOLBAR — "Il y a X produits." style */
body#category .products-selection .total-products p {
  font-size: .92rem !important;
  color: var(--text-light) !important;
  margin: 0
}

/* HERO — full-width (consolidated in first .ocat-hero rule) */

/* Products area — ensure padding matches design */
body#category #content-wrapper {
  padding-left: 0 !important
}

/* FOOTER polish — ensure dark bg */
#footer {
  background: var(--darker) !important
}

/* Cookie banner — less intrusive */
.iqitcookielaw-container {
  max-width: 400px !important;
  border-radius: 16px !important;
  box-shadow: var(--shadow-lg) !important
}

/* ===================================================================
   O NANOMÈTRE — PIXEL-PERFECT v5 — final fixes
   =================================================================== */

/* HIDE default breadcrumb completely (the 'Accueil' above sidebar) */
body#category #wrapper>.container>.breadcrumb,
body#category #wrapper>.breadcrumb,
body#category .breadcrumb-wrapper,
body#category nav.breadcrumb,
body#category .breadcrumb:not(.ocat-breadcrumb) {
  display: none !important
}

/* Also hide 'Accueil' that appears as standalone text */
body#category #wrapper>.container>nav,
body#category #wrapper>nav {
  display: none !important
}

/* SIDEBAR — position sticky fix (needs height constraint) */
body#category #left-column {
  position: sticky !important;
  top: 120px !important;
  align-self: start !important;
  max-height: calc(100vh - 140px) !important;
  overflow-y: auto !important
}

/* CARD BORDER-RADIUS — nuclear option */
body#category .product-miniature,
body#category .product-miniature-default,
body#category article.product-miniature,
body#category .js-product-miniature {
  border-radius: 24px !important;
  overflow: hidden !important;
  -webkit-mask-image: -webkit-radial-gradient(white, black) !important
}

/* Ensure wrapper div doesn't clip radius */
body#category .js-product-miniature-wrapper {
  overflow: visible !important
}

/* Card shadow baseline (subtle) */
body#category .product-miniature {
  box-shadow: 0 2px 8px rgba(0, 0, 0, .06) !important
}

body#category .product-miniature:hover {
  box-shadow: 0 20px 60px rgba(0, 0, 0, .12) !important
}

/* Image aspect-ratio 4/3 ensure */
body#category .product-miniature .thumbnail-container .product-thumbnail {
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
  display: block !important
}

body#category .product-miniature .thumbnail-container .product-thumbnail img.product-thumbnail-first {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important
}

/* Stars — ensure gold color */
body#category .ocard-stars {
  color: #b8945f !important;
  font-size: .78rem !important;
  margin-bottom: 8px !important;
  letter-spacing: 1px !important
}

body#category .ocard-stars small {
  color: #b0b0b0 !important;
  font-weight: 400 !important
}

/* Toolbar — clean spacing */
body#category .products-sort-nb {
  padding: 0 !important;
  margin-bottom: 25px !important
}

/* Products grid wrapper — proper gap */
body#category #js-product-list .products {
  gap: 0 !important
}


/* v6 — Hide the default nav.breadcrumb in container */
body#category .container>nav.breadcrumb,
body#category nav.breadcrumb {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important
}

/* Also hide any 'Accueil' standalone link before sidebar */
body#category #wrapper>.container>.breadcrumb,
body#category #wrapper .breadcrumb:not(.ocat-breadcrumb) {
  display: none !important
}


/* v7 — Hide 'Accueil' in block-categories title */
body#category #left-column .block-categories>.block-title {
  display: none !important
}

/* Show category sub-menu directly without the 'Accueil' parent */
body#category #left-column .block-categories .category-top-menu {
  padding-top: 0 !important;
  margin-top: 0 !important
}

/* Add a custom 'Matériau' heading before the category list */
body#category #left-column .block-categories .category-top-menu::before {
  content: 'Matériau';
  display: block;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 500;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1.5px solid rgba(0, 0, 0, .06);
  color: #141414
}


/* ===================================================================
   O NANOMÈTRE — FINAL PIXEL-PERFECT v8
   =================================================================== */

/* Card — visible white bg + subtle shadow + clear radius */
body#category .product-miniature,
body#category article.product-miniature {
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .06) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .05) !important;
  transition: all .5s cubic-bezier(.25, .46, .45, .94) !important
}

body#category .product-miniature:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .12) !important;
  border-color: transparent !important
}

/* Sidebar — current category link active style */
body#category #left-column .block-categories .category-sub-menu li a[href*="3-plan-de-travail"] {
  background: rgba(184, 148, 95, .08) !important;
  color: var(--gold) !important;
  font-weight: 500 !important
}

/* Sidebar — subcategory indent + style */
body#category #left-column .block-categories .category-sub-menu .category-sub-menu {
  padding-left: 12px !important
}

body#category #left-column .block-categories .category-sub-menu .category-sub-menu li a {
  font-size: .82rem !important;
  padding: 7px 14px !important;
  color: var(--text-light) !important
}

body#category #left-column .block-categories .category-sub-menu .category-sub-menu li a:hover {
  color: var(--gold) !important
}

/* Product grid area — slightly more top padding */
body#category #js-product-list {
  padding-top: 5px !important
}

/* Toolbar — ensure clean look */
body#category .products-sort-nb .row {
  align-items: center !important
}

/* Hero — min-height (consolidated in first .ocat-hero rule) */

/* STARS — ensure all 5 show consistently */
body#category .ocard-stars {
  font-size: .82rem !important;
  unicode-bidi: bidi-override !important;
  direction: ltr !important
}

/* Buttons — ensure equal width flex */
body#category .ocard-actions {
  display: flex !important;
  gap: 10px !important;
  margin-top: 16px !important
}

body#category .ocard-btn {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  white-space: nowrap !important
}

/* Footer — match design dark bg */
#footer {
  background: #0a0a0a !important;
  color: rgba(255, 255, 255, .6) !important;
  padding: 70px 60px 35px !important
}

#footer .footer-container {
  max-width: 1400px !important;
  margin: 0 auto !important
}

#footer h4,
#footer .h4,
#footer .block-title span {
  color: #fff !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 2.5px !important;
  font-weight: 600 !important;
  font-family: var(--sans) !important
}

#footer a {
  color: rgba(255, 255, 255, .45) !important;
  font-size: .88rem !important;
  transition: all .3s !important
}

#footer a:hover {
  color: var(--gold) !important;
  padding-left: 5px !important
}

#footer .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .06) !important;
  padding-top: 30px !important;
  font-size: .78rem !important;
  color: rgba(255, 255, 255, .3) !important
}


/* ===================================================================
   O NANOMÈTRE — SIDEBAR CLEANUP v9
   =================================================================== */


/* Hide empty facets_search_wrapper */
body#category #left-column #facets_search_wrapper {
  display: none !important
}

/* Block categories — hide 'Accueil' title (already done but reinforce) */
body#category #left-column .block-categories>h5.block-title {
  display: none !important
}

/* Ensure Matériau pseudo-heading shows cleanly */
body#category #left-column .block-categories .category-top-menu {
  padding: 0 !important;
  margin: 0 !important
}

body#category #left-column .block-categories .category-top-menu::before {
  content: 'Matériau' !important;
  display: block !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 1.5px solid rgba(0, 0, 0, .06) !important;
  color: #141414 !important
}

/* Category sub-menu — clean list */
body#category #left-column .block-categories .category-sub-menu {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important
}

body#category #left-column .block-categories .category-sub-menu>li {
  margin-bottom: 2px !important
}

body#category #left-column .block-categories .category-sub-menu>li>a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 14px !important;
  border-radius: 10px !important;
  font-size: .88rem !important;
  color: #2d2d2d !important;
  transition: all .3s !important;
  font-weight: 400 !important;
  text-decoration: none !important
}

body#category #left-column .block-categories .category-sub-menu>li>a:hover {
  background: rgba(184, 148, 95, .08) !important;
  color: #b8945f !important;
  font-weight: 500 !important
}

/* Collapse icons — style matching */
body#category #left-column .block-categories .collapse-icons {
  color: #b0b0b0 !important;
  margin-left: auto !important
}


/* ===================================================================
   O NANOMÈTRE — CUSTOM SIDEBAR (oside-*) — matches design exactly
   =================================================================== */

/* Hide ALL default left-column content */
body#category #left-column .block-categories,
body#category #left-column #facets_search_wrapper,
body#category #left-column #search_filters,
body#category #left-column .block_newsletter,
body#category #left-column .iqitBlockCms {
  display: none !important
}

/* Custom sidebar container */
.oside-sidebar {
  position: sticky;
  top: 160px;
  align-self: start
}

.oside-section {
  margin-bottom: 35px
}

.oside-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 500;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1.5px solid rgba(0, 0, 0, .06);
  color: #141414
}

/* Filter list */
.oside-filter-list {
  list-style: none;
  padding: 0;
  margin: 0
}

.oside-filter-list li {
  margin-bottom: 8px
}

.oside-filter-list li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border-radius: 10px;
  font-size: .88rem;
  color: #2d2d2d;
  transition: all .3s;
  font-weight: 400;
  text-decoration: none
}

.oside-filter-list li a:hover,
.oside-filter-list li a.active {
  background: rgba(184, 148, 95, .08);
  color: #b8945f;
  font-weight: 500
}

.oside-count {
  margin-left: auto;
  font-size: .72rem;
  color: #b0b0b0;
  background: rgba(0, 0, 0, .04);
  padding: 2px 8px;
  border-radius: 50px
}

/* Price range inputs */
.oside-price-range {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 10px
}

.oside-price-range input {
  width: 100%;
  padding: 8px 12px;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  font-size: .85rem;
  font-family: 'Inter', -apple-system, sans-serif;
  outline: none;
  transition: border .3s;
  background: #fff
}

.oside-price-range input:focus {
  border-color: #b8945f
}

.oside-sep {
  color: #b0b0b0;
  font-size: .85rem;
  flex-shrink: 0
}

/* Color swatches */
.oside-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px
}

.oside-swatch {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all .3s
}

.oside-swatch:hover,
.oside-swatch.active {
  border-color: #b8945f;
  transform: scale(1.15);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15)
}

/* HERO IMAGE — (consolidated in first .ocat-hero rule + MASTER LAYOUT below) */

/* ===================================================================
   O NANOMETRE — MASTER LAYOUT FIX v5
   Matches plan-de-travail.html design EXACTLY
   =================================================================== */

/* HERO — sub-element overrides (main hero consolidated in first rule) */
body#category .ocat-hero .ocat-hero-content {
  position: relative !important;
  z-index: 2 !important;
  padding: 0 60px !important;
  max-width: 800px !important
}

body#category .ocat-hero .ocat-hero-content .page-title,
body#category .ocat-hero .ocat-hero-content .page-title span {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 3.2rem !important;
  color: #fff !important;
  font-weight: 400 !important;
  margin-bottom: 14px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border: none !important;
  background: none !important;
  padding: 0 !important
}

body#category .ocat-hero .ocat-hero-desc {
  color: rgba(255, 255, 255, .6) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  max-width: 600px !important
}

body#category .ocat-hero .ocat-breadcrumb {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  color: rgba(255, 255, 255, .5) !important;
  font-size: .78rem !important;
  margin-bottom: 20px !important
}

body#category .ocat-hero .ocat-breadcrumb a {
  color: #d4b07a !important;
  text-decoration: none !important
}

body#category .ocat-hero .ocat-breadcrumb a:hover {
  color: #fff !important
}

body#category .ocat-hero .ocat-breadcrumb .ocat-sep {
  color: rgba(255, 255, 255, .3) !important
}

/* Hide default breadcrumb */
body#category nav.breadcrumb:not(.ocat-breadcrumb) {
  display: none !important
}

/* ===== MAIN LAYOUT — sidebar 280px + content ===== */
body#category #inner-wrapper>.row {
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 50px 50px 100px !important;
  display: flex !important;
  gap: 50px !important;
  overflow: visible !important
}

body#category #wrapper,
body#category #wrapper>.container,
body#category #inner-wrapper {
  overflow: visible !important;
  max-width: 100% !important
}

/* LEFT COLUMN — 280px, sticky */
body#category #left-column {
  width: 280px !important;
  max-width: 280px !important;
  min-width: 280px !important;
  flex: 0 0 280px !important;
  position: sticky !important;
  top: 140px !important;
  align-self: start !important;
  padding: 0 !important;
  margin: 0 !important
}

/* CONTENT WRAPPER — takes remaining space */
body#category .js-content-wrapper,
body#category #content-wrapper {
  flex: 1 !important;
  max-width: calc(100% - 330px) !important;
  padding: 0 !important;
  width: auto !important
}

/* ===== SIDEBAR SECTIONS ===== */
.oside-sidebar {
  position: sticky;
  top: 140px
}

.oside-section {
  margin-bottom: 35px
}

.oside-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.3rem;
  font-weight: 500;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1.5px solid rgba(0, 0, 0, .06);
  color: #141414
}

.oside-filter-list {
  list-style: none;
  padding: 0;
  margin: 0
}

.oside-filter-list li {
  margin-bottom: 8px
}

.oside-filter-list li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border-radius: 10px;
  font-size: .88rem;
  color: #2d2d2d;
  transition: all .3s;
  font-weight: 400;
  text-decoration: none
}

.oside-filter-list li a:hover,
.oside-filter-list li a.active {
  background: rgba(184, 148, 95, .08);
  color: #b8945f;
  font-weight: 500
}

.oside-count {
  margin-left: auto;
  font-size: .72rem;
  color: #b0b0b0;
  background: rgba(0, 0, 0, .04);
  padding: 2px 8px;
  border-radius: 50px
}

.oside-price-range {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 10px
}

.oside-price-range input {
  width: 100%;
  padding: 8px 12px;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  font-size: .85rem;
  font-family: "Inter", -apple-system, sans-serif;
  outline: none;
  transition: border .3s;
  background: #fff
}

.oside-price-range input:focus {
  border-color: #b8945f
}

.oside-sep {
  color: #b0b0b0;
  font-size: .85rem;
  flex-shrink: 0
}

.oside-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px
}

.oside-swatch {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all .3s
}

.oside-swatch:hover,
.oside-swatch.active {
  border-color: #b8945f;
  transform: scale(1.15);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15)
}

/* ===== TOOLBAR — "Il y a X produits" style ===== */
body#category .products-selection .total-products {
  font-size: .92rem !important;
  color: #7a7a7a !important
}

body#category .products-selection .total-products p {
  margin: 0
}

body#category .products-sort-order .select-title {
  padding: 10px 36px 10px 16px !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 10px !important;
  font-size: .85rem !important;
  background: #fff !important
}

/* ===== PRODUCT GRID — 3 columns ===== */
body#category #js-product-list .products .js-product-miniature-wrapper {
  flex: 0 0 33.333% !important;
  max-width: 33.333% !important;
  padding: 0 12px !important;
  margin-bottom: 24px !important
}

/* ===== PRODUCT CARDS ===== */
body#category .product-miniature,
body#category article.product-miniature {
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .04) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .06) !important;
  transition: all .5s cubic-bezier(.25, .46, .45, .94) !important
}

body#category .product-miniature:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .12) !important;
  border-color: transparent !important
}

body#category .product-miniature .thumbnail-container .product-thumbnail {
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
  display: block !important
}

body#category .product-miniature .thumbnail-container .product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .7s cubic-bezier(.25, .46, .45, .94) !important
}

body#category .product-miniature:hover .product-thumbnail img.product-thumbnail-first {
  transform: scale(1.08) !important
}

body#category .product-miniature .product-thumbnail-second {
  display: none !important
}

/* Flags */
body#category .product-miniature .product-flags {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 5 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important
}

body#category .product-miniature .product-flag {
  background: #b8945f !important;
  color: #141414 !important;
  padding: 5px 14px !important;
  border-radius: 50px !important;
  font-size: .66rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border: none !important
}

/* Quick-view buttons on hover */
body#category .product-miniature .product-functional-buttons {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  opacity: 0;
  transform: translateY(-5px);
  transition: all .3s !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  width: auto !important;
  left: auto !important;
  bottom: auto !important
}

body#category .product-miniature:hover .product-functional-buttons {
  opacity: 1 !important;
  transform: translateY(0) !important
}

body#category .product-miniature .product-functional-buttons-links {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important
}

body#category .product-miniature .product-functional-buttons a,
body#category .product-miniature .product-functional-buttons button {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .9) !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #7a7a7a !important;
  font-size: .9rem !important;
  transition: all .3s !important;
  padding: 0 !important;
  min-width: 0 !important
}

body#category .product-miniature .product-functional-buttons a:hover,
body#category .product-miniature .product-functional-buttons button:hover {
  color: #b8945f !important;
  background: #fff !important
}

/* Card body */
body#category .product-miniature .product-description {
  padding: 22px 22px 26px !important;
  text-align: left !important;
  background: #fff !important
}

body#category .product-miniature .product-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  margin-bottom: 10px !important;
  line-height: 1.35 !important;
  text-align: left !important
}

body#category .product-miniature .product-title a {
  color: #141414 !important;
  transition: color .3s !important
}

body#category .product-miniature:hover .product-title a {
  color: #b8945f !important
}

/* Stars */
body#category .ocard-stars {
  color: #b8945f !important;
  font-size: .78rem !important;
  margin-bottom: 8px !important;
  letter-spacing: 1px !important
}

body#category .ocard-stars small {
  color: #b0b0b0 !important;
  font-weight: 400 !important
}

/* Price */
body#category .product-miniature .product-price-and-shipping {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  text-align: left !important;
  justify-content: flex-start !important
}

body#category .product-miniature .product-price {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #8a6d3b !important
}

body#category .product-miniature .price-unit-label {
  font-weight: 400 !important;
  color: #7a7a7a !important;
  font-size: .82rem !important
}

/* Action buttons */
body#category .ocard-actions {
  display: flex !important;
  gap: 10px !important;
  margin-top: 16px !important;
  justify-content: flex-start !important
}

body#category .ocard-btn {
  flex: 1 1 0 !important;
  padding: 10px 0 !important;
  border-radius: 50px !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all .3s !important;
  font-family: "Inter", -apple-system, sans-serif !important;
  border: none !important;
  text-decoration: none !important;
  display: inline-block !important;
  white-space: nowrap !important
}

body#category .ocard-btn-primary {
  background: #141414 !important;
  color: #fff !important
}

body#category .ocard-btn-primary:hover {
  background: #b8945f !important;
  color: #141414 !important;
  box-shadow: 0 8px 30px rgba(184, 148, 95, .25) !important
}

body#category .ocard-btn-outline {
  background: transparent !important;
  border: 1.5px solid #e0e0e0 !important;
  color: #2d2d2d !important
}

body#category .ocard-btn-outline:hover {
  border-color: #b8945f !important;
  color: #b8945f !important
}

/* Hide default cart form, description-short, reference, brand */
body#category .product-miniature .js-product-add-cart,
body#category .product-miniature .product-add-cart,
body#category .product-miniature .product-description-short,
body#category .product-miniature .product-reference,
body#category .product-miniature .product-brand,
body#category .product-miniature .product-category-name,
body#category .product-miniature .product-availability {
  display: none !important
}

/* ===== PAGINATION ===== */
body#category nav.pagination {
  margin-top: 60px !important;
  margin-bottom: 40px !important
}

body#category .pagination .page-list {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important
}

body#category .pagination .page-list li a,
body#category .pagination .page-list li span {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 1.5px solid #e0e0e0 !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
  color: #2d2d2d !important;
  transition: all .3s !important;
  padding: 0 !important
}

body#category .pagination .page-list li a:hover,
body#category .pagination .page-list li.current a,
body#category .pagination .page-list li.current span {
  background: #b8945f !important;
  color: #141414 !important;
  border-color: #b8945f !important
}

/* ===== HIDE OLD MODULES/BLOCKS ===== */
body#category #left-column .block-categories,
body#category #left-column #facets_search_wrapper,
body#category #left-column #search_filters,
body#category #left-column .block_newsletter,
body#category #left-column .iqitBlockCms {
  display: none !important
}

/* Category description — hide */
body#category .category-description,
body#category .category-image {
  display: none !important
}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px) {
  body#category .ocat-hero {
    height: 260px !important
  }

  body#category #inner-wrapper>.row {
    padding: 30px 20px 80px !important;
    flex-direction: column !important;
    gap: 20px !important
  }

  body#category #left-column {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    flex: 1 !important
  }

  body#category .js-content-wrapper,
  body#category #content-wrapper {
    max-width: 100% !important
  }

  body#category #js-product-list .products .js-product-miniature-wrapper {
    flex: 0 0 50% !important;
    max-width: 50% !important
  }
}

@media(max-width:576px) {
  body#category #js-product-list .products .js-product-miniature-wrapper {
    flex: 0 0 100% !important;
    max-width: 100% !important
  }

  body#category .ocat-hero .ocat-hero-content .page-title span {
    font-size: 2.2rem !important
  }
}

/* ===== ADVANCED SEARCH MODULE — Design ADN Styling ===== */

/* Remove card borders/shadows from module */
body#category #PM_ASBlock_1 {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

body#category #PM_ASBlock_1 .card-block {
  padding: 0 !important;
}

/* Section titles — Cormorant Garamond */
body#category .PM_ASCriterionsGroupTitle {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: #141414 !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 1.5px solid rgba(0, 0, 0, .06) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Filter list items */
body#category .oside-filter-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
}

body#category .oside-filter-list li {
  margin-bottom: 4px !important;
}

body#category .oside-filter-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 14px !important;
  border-radius: 10px !important;
  font-size: .88rem !important;
  color: #2d2d2d !important;
  transition: all .3s !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

body#category .oside-filter-item:hover,
body#category .oside-filter-item.active {
  background: rgba(184, 148, 95, .08) !important;
  color: #b8945f !important;
  font-weight: 500 !important;
}

/* Count badges */
body#category .oside-count {
  margin-left: auto !important;
  font-size: .72rem !important;
  color: #b0b0b0 !important;
  background: rgba(0, 0, 0, .04) !important;
  padding: 2px 8px !important;
  border-radius: 50px !important;
  min-width: 28px !important;
  text-align: center !important;
}

/* Price range inputs */
body#category .oside-price-range {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 10px 0 !important;
}

body#category .oside-price-input {
  width: 100% !important;
  padding: 8px 12px !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  font-size: .85rem !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  outline: none !important;
  transition: border .3s !important;
  background: #fff !important;
}

body#category .oside-price-input:focus {
  border-color: #b8945f !important;
}

body#category .oside-price-range .oside-sep {
  color: #b0b0b0 !important;
  font-size: .85rem !important;
  flex-shrink: 0 !important;
}

/* Color swatches */
body#category .oside-swatches {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 8px 0 !important;
}

body#category .oside-swatch {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: all .3s !important;
}

body#category .oside-swatch:hover,
body#category .oside-swatch.active {
  border-color: #b8945f !important;
  transform: scale(1.15) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15) !important;
}

/* Spacing between filter sections */
body#category .PM_ASCriterionsGroup {
  margin-bottom: 30px !important;
}

/* Hide module submit button if any */
body#category .PM_ASForm .PM_ASSubmitSearchButton {
  display: none !important;
}

/* ===== ADVANCED SEARCH MODULE — Design ADN Styling v2 ===== */

/* Remove card borders/shadows */
body#category #PM_ASBlock_1 {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

body#category #PM_ASBlock_1 .card-block {
  padding: 0 !important;
}

/* Section titles — Cormorant Garamond */
body#category .PM_ASCriterionsGroupTitle.h4 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: #141414 !important;
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  border-bottom: 1.5px solid rgba(0, 0, 0, .06) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  background: none !important;
}

/* Spacing between filter groups */
body#category .PM_ASCriterionsGroup {
  margin-bottom: 30px !important;
}

/* ---- Filter list items (Matériau, Finition) ---- */
body#category .PM_ASCriterionGroupLink {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body#category .PM_ASCriterionGroupLink>li {
  margin-bottom: 4px !important;
  list-style: none !important;
}

body#category .PM_ASCriterionGroupLink>li::before {
  display: none !important;
}

body#category .PM_ASCriterionGroupLink .PM_ASCriterionLink {
  display: flex !important;
  align-items: center !important;
  padding: 9px 14px !important;
  border-radius: 10px !important;
  font-size: .88rem !important;
  color: #2d2d2d !important;
  transition: all .3s !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  background: transparent !important;
}

body#category .PM_ASCriterionLink:hover,
body#category .PM_ASCriterionLinkSelected {
  background: rgba(184, 148, 95, .08) !important;
  color: #b8945f !important;
  font-weight: 500 !important;
}

/* Count badges */
body#category .PM_ASCriterionNbProduct {
  margin-left: auto !important;
  font-size: .72rem !important;
  color: #b0b0b0 !important;
  background: rgba(0, 0, 0, .04) !important;
  padding: 2px 8px !important;
  border-radius: 50px !important;
  min-width: 28px !important;
  text-align: center !important;
  display: inline-block !important;
  font-weight: 400 !important;
}

/* ---- Color swatches (Couleur) ---- */
body#category .PM_ASCriterionGroupColor {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 8px 0 !important;
}

body#category .PM_ASCriterionGroupColor>li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#category .PM_ASCriterionGroupColor>li::before {
  display: none !important;
}

body#category .PM_ASCriterionGroupColor .PM_ASCriterionLink {
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 2px solid transparent !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: all .3s !important;
}

body#category .PM_ASCriterionGroupColor .PM_ASCriterionLink:hover,
body#category .PM_ASCriterionGroupColor .PM_ASCriterionLinkSelected {
  border-color: #b8945f !important;
  transform: scale(1.15) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15) !important;
  background-color: inherit !important;
}

/* Hide module submit button */
body#category .PM_ASSubmitSearchButton {
  display: none !important;
}

/* Hide bullet markers from warehouse theme */
body#category .PM_ASCriterionGroupLink.bullet>li::before,
body#category .PM_ASCriterionGroupColor>li::before {
  content: none !important;
  display: none !important;
}

/* Fix: hide FontAwesome arrow bullets on filter links */
body#category .PM_ASCriterionGroupLink .PM_ASCriterionLink::before {
  content: none !important;
  display: none !important;
}

body#category .PM_ASCriterionGroupColor .PM_ASCriterionLink::before {
  content: none !important;
  display: none !important;
}

/* Fix: Color swatches — round LI, remove square borders */
body#category .PM_ASCriterionGroupColor.color_to_pick_list>li {
  border: none !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
}

body#category .PM_ASCriterionGroupColor.color_to_pick_list>li .PM_ASCriterionLink {
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  display: block !important;
  padding: 0 !important;
  border: 2px solid transparent !important;
  box-sizing: border-box !important;
}

body#category .PM_ASCriterionGroupColor.color_to_pick_list>li .PM_ASCriterionLink:hover,
body#category .PM_ASCriterionGroupColor.color_to_pick_list>li .PM_ASCriterionLinkSelected {
  border-color: #b8945f !important;
  transform: scale(1.15) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15) !important;
}


/* ===================================================================
   PRODUCT PAGE — O nanomètre Luxury Redesign v2
   =================================================================== */

body#product {
  --gold-pale: #f0e6d4;
  --green: #2ecc71;
  --green-dark: #1fa85a;
  --ease: cubic-bezier(.25, .46, .45, .94);
  --ease-bounce: cubic-bezier(.34, 1.56, .64, 1);
  --shadow-soft: 0 4px 20px rgba(0, 0, 0, .04);
}

@keyframes onano-shimmer {
  0% {
    background-position: -200% 0
  }

  100% {
    background-position: 200% 0
  }
}

@keyframes onano-fadeUp {
  from {
    opacity: 0;
    transform: translateY(30px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

/* ---- BREADCRUMB ---- */
body#product #wrapper .breadcrumb {
  background: var(--light) !important;
  padding: 18px 15px 14px !important;
  margin-bottom: 0 !important;
  font-size: .78rem !important;
  border-bottom: 1px solid rgba(0, 0, 0, .04);
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important
}

body#product #wrapper .breadcrumb ol {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0
}

body#product #wrapper .breadcrumb li a {
  color: var(--gold) !important;
  transition: color .2s
}

body#product #wrapper .breadcrumb li a:hover {
  color: var(--gold-light) !important
}

/* ---- PRODUCT LAYOUT ---- */
body#product #main-product-wrapper {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 40px 15px 0 !important
}

body#product .col-product-image.col-md-4 {
  flex: unset !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important
}

body#product .col-product-info.col-md-6 {
  flex: unset !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important
}

body#product .product-sidebar {
  display: none !important
}

/* ---- GALLERY ---- */
body#product .product-cover {
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  background: #fff !important;
  position: relative !important
}

body#product .product-cover img {
  border-radius: 0 !important;
  transition: transform 1s var(--ease) !important
}

body#product .product-cover:hover img {
  transform: scale(1.04) !important
}

body#product .product-cover .expander {
  position: absolute !important;
  bottom: 18px !important;
  right: 18px !important;
  z-index: 10 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .88) !important;
  backdrop-filter: blur(16px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  transition: all .4s var(--ease) !important;
  transform: translateY(6px) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .06) !important;
  color: var(--text) !important;
  font-size: .9rem !important
}

body#product .product-cover:hover .expander {
  opacity: 1 !important;
  transform: translateY(0) !important
}

/* Gallery inner layers */
body#product .images-container {
  position: relative !important
}

body#product .product-cover,
body#product .images-container .product-images-large,
body#product .images-container #product-images-large {
  border-radius: 20px !important;
  overflow: hidden !important
}

body#product .images-container #product-images-large .swiper-wrapper {
  border-radius: 20px !important
}

body#product .product-cover .swiper-button-prev,
body#product .product-cover .swiper-button-next {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .88) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .08) !important;
  opacity: 0 !important;
  visibility: visible !important;
  transition: all .4s var(--ease) !important
}

body#product .product-cover .swiper-button-prev.swiper-button-disabled,
body#product .product-cover .swiper-button-next.swiper-button-disabled {
  display: none !important;
}

body#product .product-cover:hover .swiper-button-prev:not(.swiper-button-disabled),
body#product .product-cover:hover .swiper-button-next:not(.swiper-button-disabled) {
  opacity: 1 !important;
}

body#product .product-cover .swiper-button-prev::after,
body#product .product-cover .swiper-button-next::after {
  font-size: .7rem !important;
  color: var(--text) !important;
  font-weight: 700 !important
}

body#product .product-cover:hover .swiper-button-prev,
body#product .product-cover:hover .swiper-button-next {
  opacity: 1 !important
}

/* Product flags */
body#product .product-flags {
  top: 16px !important;
  left: 16px !important;
  z-index: 15 !important
}

body#product .product-flags li.product-flag {
  background: rgba(255, 255, 255, .92) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  color: var(--gold-dark) !important;
  padding: 7px 18px !important;
  border-radius: 50px !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .06) !important
}

/* Gallery image fill */
body#product .product-cover img,
body#product .product-cover .swiper-slide img,
body#product #product-images-large img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important
}

/* Thumbnails (swiper-based) */
body#product .js-qv-product-images {
  margin: 16px 0 0 !important;
  padding: 0 !important;
}

body#product #product-images-thumbs {
  margin: 16px 0 0 !important;
}

body#product .js-qv-product-images .swiper-slide {
  width: 90px !important;
  height: 90px !important;
  box-sizing: border-box !important;
}

body#product .js-qv-product-images .swiper-slide .thumb-container,
body#product .js-qv-product-images .swiper-slide .js-thumb-container,
body#product #product-images-thumbs .swiper-slide .thumb-container {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
}

body#product .js-qv-product-images .swiper-slide picture,
body#product .js-qv-product-images .swiper-slide img,
body#product #product-images-thumbs .swiper-slide picture,
body#product #product-images-thumbs .swiper-slide img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  position: absolute !important;
  inset: 0 !important;
}

body#product .js-qv-product-images .swiper-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

body#product .js-qv-product-images .swiper-slide {
  border-radius: 14px !important;
  overflow: hidden !important;
  border: none !important;
  box-shadow: inset 0 0 0 2.5px transparent !important;
  transition: all .5s var(--ease) !important;
  opacity: .45 !important;
  filter: saturate(.6) brightness(.95) !important;
  cursor: pointer !important
}

body#product .js-qv-product-images .swiper-slide:hover {
  opacity: .7 !important;
  filter: saturate(.8) brightness(1) !important
}

body#product .js-qv-product-images .swiper-slide.swiper-slide-thumb-active,
body#product .js-qv-product-images .swiper-slide-thumb-active {
  opacity: 1 !important;
  filter: none !important;
  box-shadow: inset 0 0 0 2.5px var(--gold) !important;
  transform: none !important
}

@media (min-width: 1100px) {
  body#product .col-product-image .images-container {
    position: sticky !important;
    top: 160px !important;
  }
}

/* ---- PRODUCT TITLE ---- */
body#product .product_header_container {
  margin-bottom: 10px !important
}

body#product .product_header_container .page-title,
body#product .product_header_container h1,
body#product .product_header_container h1 span {
  font-family: var(--elegant) !important;
  font-size: 2.8rem !important;
  font-weight: 400 !important;
  color: var(--dark) !important;
  line-height: 1.1 !important;
  letter-spacing: -.5px !important;
  text-transform: none !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
  margin-bottom: 8px !important
}

/* Rating stars */
body#product .product-comments-additional-info,
body#product .star-content {
  margin-bottom: 18px !important
}

body#product .star-content .star,
body#product .star-content .star::after {
  color: var(--gold) !important
}

/* ---- SHORT DESCRIPTION ---- */
body#product .product-description {
  color: var(--text-light) !important;
  font-size: .92rem !important;
  line-height: 1.9 !important;
  margin-bottom: 24px !important;
  max-width: 560px
}

/* ---- PRODUCT VARIANTS ---- */
body#product .product-variants {
  margin-bottom: 20px !important
}

body#product .product-variants .product-variants-item {
  margin-bottom: 18px !important
}

body#product .product-variants .product-variants-item .control-label {
  font-size: .8rem !important;
  font-weight: 600 !important;
  color: var(--dark) !important;
  margin-bottom: 10px !important;
  display: block
}

body#product .product-variants select,
body#product .product-variants .form-control {
  width: 100% !important;
  padding: 14px 44px 14px 18px !important;
  border: 1.5px solid #e6e6e6 !important;
  border-radius: 14px !important;
  font-size: .86rem !important;
  font-family: var(--sans) !important;
  outline: none !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: all .3s !important
}

body#product .product-variants select:focus,
body#product .product-variants .form-control:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 4px rgba(184, 148, 95, .06) !important
}

/* Color swatches */
body#product .product-variants .color {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(0, 0, 0, .06) !important;
  cursor: pointer !important;
  transition: all .4s var(--ease) !important
}

body#product .product-variants .color:hover {
  transform: scale(1.15) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .12) !important
}

body#product .product-variants .color.selected,
body#product .product-variants .color.active,
body#product .product-variants .input-color:checked+span {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(184, 148, 95, .25) !important;
  transform: scale(1.15) !important
}

/* ---- PRICE SECTION ---- */
body#product .product-prices {
  padding: 28px 30px !important;
  background: #fff !important;
  border-radius: 20px !important;
  border: 1px solid rgba(184, 148, 95, .15) !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 15px 50px rgba(184, 148, 95, .06) !important;
  margin-bottom: 24px !important
}

body#product .product-prices::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--gold-dark), var(--gold), var(--gold-light), var(--gold)) !important;
  background-size: 200% 100% !important;
  animation: onano-shimmer 4s ease infinite !important
}

body#product .product-prices .current-price,
body#product .product-prices .product-price {
  font-family: var(--elegant) !important;
  font-size: 2.8rem !important;
  font-weight: 500 !important;
  color: var(--dark) !important;
  line-height: 1 !important;
  letter-spacing: -1px !important
}

body#product .product-prices .current-price .current-price-value {
  font-family: var(--elegant) !important;
  font-size: 2.8rem !important;
  font-weight: 500 !important;
  color: var(--dark) !important
}

body#product .product-prices .tax-shipping-delivery-label {
  font-size: .75rem !important;
  color: var(--text-muted) !important;
  margin-top: 6px !important
}

body#product .product-prices .product-unit-price {
  font-size: .78rem !important;
  color: var(--text-muted) !important;
  background: var(--light) !important;
  padding: 4px 12px !important;
  border-radius: 8px !important;
  display: inline-block !important;
  margin-top: 8px !important
}

/* ---- ADD TO CART BUTTON ---- */
body#product .product-add-to-cart .add-to-cart,
body#product .product-add-to-cart .btn-primary {
  width: 100% !important;
  padding: 18px 32px !important;
  border-radius: 16px !important;
  background: var(--dark) !important;
  color: #fff !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all .5s var(--ease) !important;
  position: relative !important;
  overflow: hidden !important;
  font-family: var(--sans) !important
}

body#product .product-add-to-cart .add-to-cart:hover,
body#product .product-add-to-cart .btn-primary:hover {
  background: var(--gold) !important;
  color: var(--dark) !important;
  box-shadow: 0 16px 50px rgba(184, 148, 95, .3) !important;
  transform: translateY(-2px) !important
}

/* Quantity input */
body#product .product-add-to-cart .qty .input-group {
  border-radius: 14px !important;
  overflow: hidden !important;
  border: 1.5px solid #e6e6e6 !important
}

body#product .product-add-to-cart .qty input {
  font-family: var(--sans) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  border: none !important;
  width: 60px !important
}

/* ---- PRODUCT TABS ---- */
body#product .product-tabs,
body#product .tabs.product-tabs {
  margin-top: 50px !important;
  border: none !important
}

body#product .product-tabs .nav-tabs,
body#product .tabs .nav-tabs {
  border: none !important;
  display: flex !important;
  gap: 6px !important;
  background: var(--light) !important;
  border-radius: 14px !important;
  padding: 5px !important;
  margin-bottom: 30px !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important
}

body#product .product-tabs .nav-tabs .nav-link,
body#product .tabs .nav-tabs .nav-link,
body#product .product-tabs .nav-tabs li a,
body#product .tabs .nav-tabs li a {
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 28px !important;
  font-size: .76rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: var(--text-light) !important;
  transition: all .4s var(--ease) !important;
  white-space: nowrap !important;
  background: transparent !important;
  font-family: var(--sans) !important
}

body#product .product-tabs .nav-tabs .nav-link:hover,
body#product .tabs .nav-tabs .nav-link:hover,
body#product .product-tabs .nav-tabs li a:hover,
body#product .tabs .nav-tabs li a:hover {
  color: var(--gold) !important;
  background: rgba(184, 148, 95, .06) !important
}

body#product .product-tabs .nav-tabs .nav-link.active,
body#product .tabs .nav-tabs .nav-link.active,
body#product .product-tabs .nav-tabs li.active a,
body#product .tabs .nav-tabs li.active a {
  background: var(--dark) !important;
  color: #fff !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .12) !important
}

/* Tab panels */
body#product .product-tabs .tab-content,
body#product .tabs .tab-content {
  border: none !important;
  padding: 0 !important;
  background: transparent !important
}

body#product .product-tabs .tab-pane,
body#product .tabs .tab-pane {
  animation: onano-fadeUp .5s var(--ease) !important
}

body#product .product-tabs .tab-pane h3,
body#product .tabs .tab-pane h3 {
  font-family: var(--elegant) !important;
  font-size: 1.8rem !important;
  font-weight: 400 !important;
  margin-bottom: 18px !important;
  color: var(--dark)
}

body#product .product-tabs .tab-pane p,
body#product .tabs .tab-pane p,
body#product .product-tabs .tab-pane .rte-content,
body#product .tabs .tab-pane .rte-content {
  color: var(--text-light) !important;
  font-size: .92rem !important;
  line-height: 1.9 !important;
  max-width: 700px
}

/* ---- REASSURANCE MODULE ---- */
body#product .blockreassurance_product,
body#product #block-reassurance {
  margin-top: 28px !important;
  padding: 24px !important;
  background: var(--light) !important;
  border-radius: 20px !important;
  border: 1px solid rgba(0, 0, 0, .04) !important
}

body#product .blockreassurance_product .block-reassurance-item,
body#product #block-reassurance .block-reassurance-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, .04) !important
}

body#product .blockreassurance_product .block-reassurance-item:last-child,
body#product #block-reassurance .block-reassurance-item:last-child {
  border-bottom: none !important
}

body#product .blockreassurance_product img,
body#product #block-reassurance img {
  width: 38px !important;
  height: 38px !important;
  padding: 8px !important;
  background: rgba(184, 148, 95, .08) !important;
  border-radius: 12px !important;
  object-fit: contain !important
}

/* ---- PRODUCT FEATURES TABLE ---- */
body#product .data-sheet dl,
body#product .product-features .data-sheet {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important
}

body#product .data-sheet dt,
body#product .data-sheet dd {
  padding: 14px 20px !important;
  font-size: .88rem !important;
  border-bottom: 1px solid rgba(0, 0, 0, .05) !important;
  margin: 0 !important
}

body#product .data-sheet dt {
  color: var(--text-muted) !important;
  font-weight: 400 !important;
  background: rgba(0, 0, 0, .01) !important
}

body#product .data-sheet dd {
  color: var(--dark) !important;
  font-weight: 500 !important
}

/* ---- PRODUCT ACCESSORIES ---- */
body#product .category-products {
  margin-top: 60px !important;
  padding-top: 50px !important;
  border-top: 1px solid rgba(0, 0, 0, .05) !important
}

body#product .category-products .section-title,
body#product .category-products .block-title span {
  font-family: var(--elegant) !important;
  font-size: 2.2rem !important;
  font-weight: 400 !important;
  color: var(--dark) !important;
  text-align: center !important;
  display: block !important;
  margin-bottom: 30px !important;
  text-transform: none !important;
  letter-spacing: 0 !important
}

/* ---- REVIEWS ---- */
body#product .product-comment-list-item,
body#product .product-comment-list .comment {
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .05) !important;
  border-radius: 18px !important;
  padding: 28px 30px !important;
  margin-bottom: 16px !important;
  position: relative !important;
  transition: all .4s var(--ease) !important
}

body#product .product-comment-list-item:hover,
body#product .product-comment-list .comment:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, .06) !important;
  transform: translateY(-2px) !important
}

body#product .product-comment-list-item::before,
body#product .product-comment-list .comment::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 20px !important;
  bottom: 20px !important;
  width: 3px !important;
  background: var(--gold) !important;
  border-radius: 0 3px 3px 0 !important
}

/* Social sharing */
body#product .social-sharing li a {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--light) !important;
  color: var(--text-muted) !important;
  transition: all .3s !important;
  border: none !important;
  font-size: .85rem !important
}

body#product .social-sharing li a:hover {
  background: var(--gold) !important;
  color: #fff !important;
  transform: translateY(-2px) !important
}

/* Manufacturer logo */
body#product .product-manufacturer img {
  max-height: 40px !important;
  opacity: .6 !important;
  transition: opacity .3s !important
}

body#product .product-manufacturer img:hover {
  opacity: 1 !important
}

/* ---- RESPONSIVE ---- */
@media(max-width:1024px) {

  body#product .product_header_container h1 span,
  body#product .product_header_container .page-title {
    font-size: 2.2rem !important
  }

  body#product .product-prices .current-price-value {
    font-size: 2.2rem !important
  }

  body#product .col-product-image {
    padding-right: 15px !important
  }

  body#product .col-product-info {
    padding-left: 15px !important
  }
}

@media(max-width:768px) {
  body#product #main-product-wrapper {
    padding: 20px 10px 0 !important
  }

  body#product .product_header_container h1 span,
  body#product .product_header_container .page-title {
    font-size: 1.8rem !important
  }

  body#product .product-prices .current-price-value {
    font-size: 2rem !important
  }

  body#product .product-cover {
    border-radius: 16px !important
  }

  body#product .product-tabs .nav-tabs,
  body#product .tabs .nav-tabs {
    border-radius: 12px !important;
    padding: 4px !important
  }

  body#product .product-tabs .nav-tabs .nav-link,
  body#product .tabs .nav-tabs li a {
    padding: 10px 18px !important;
    font-size: .68rem !important
  }

  body#product .product-prices {
    padding: 22px 20px !important;
    border-radius: 16px !important
  }

  body#product .product-add-to-cart .add-to-cart,
  body#product .product-add-to-cart .btn-primary {
    padding: 16px 24px !important;
    border-radius: 14px !important
  }

  body#product .col-product-image.col-md-4,
  body#product .col-product-info.col-md-6 {
    flex: unset !important;
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important
  }
}


/* ===================================================================
   PRODUCT PAGE — Accessories cards = same style as category listing
   =================================================================== */

body#product .category-products .product-miniature {
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .04) !important;
  box-shadow: none !important;
  transition: all .5s cubic-bezier(.25, .46, .45, .94) !important;
  position: relative
}

body#product .category-products .product-miniature:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .12) !important;
  border-color: transparent !important
}

/* Thumbnail */
body#product .category-products .product-miniature .thumbnail-container {
  border-radius: 24px 24px 0 0 !important;
  overflow: hidden !important;
  position: relative !important;
  background: #f5f5f5
}

body#product .category-products .product-miniature .thumbnail-container .product-thumbnail {
  overflow: hidden !important;
  display: block !important;
  aspect-ratio: 4/3 !important;
  position: relative
}

body#product .category-products .product-miniature .thumbnail-container .product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .7s cubic-bezier(.25, .46, .45, .94) !important
}

body#product .category-products .product-miniature:hover .thumbnail-container .product-thumbnail img.product-thumbnail-first {
  transform: scale(1.08) !important
}

/* Flags */
body#product .category-products .product-miniature .product-flags {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 5 !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important
}

body#product .category-products .product-miniature .product-flags .product-flag {
  background: var(--gold) !important;
  color: var(--dark) !important;
  padding: 5px 14px !important;
  border-radius: 50px !important;
  font-size: .66rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border: none !important;
  line-height: 1.4
}

/* Quick-view buttons */
body#product .category-products .product-miniature .product-functional-buttons {
  position: absolute !important;
  top: 10px !important;
  right: 8px !important;
  left: auto !important;
  bottom: auto !important;
  opacity: 0;
  transform: translateY(-5px);
  transition: all .3s !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  width: auto !important
}

body#product .category-products .product-miniature:hover .product-functional-buttons {
  opacity: 1 !important;
  transform: translateY(0) !important
}

body#product .category-products .product-miniature .product-functional-buttons-links {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important
}

body#product .category-products .product-miniature .product-functional-buttons a,
body#product .category-products .product-miniature .product-functional-buttons button {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .92) !important;
  backdrop-filter: blur(5px);
  border: none !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--text-light) !important;
  font-size: .9rem !important;
  transition: all .3s !important;
  padding: 0 !important;
  min-width: 0 !important
}

body#product .category-products .product-miniature .product-functional-buttons a:hover,
body#product .category-products .product-miniature .product-functional-buttons button:hover {
  color: var(--gold) !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12) !important
}

/* Description body */
body#product .category-products .product-miniature .product-description {
  padding: 22px 22px 26px !important;
  background: #fff !important
}

/* Stars */
body#product .category-products .product-miniature .product-description .star-content,
body#product .category-products .product-miniature .product-description .grade-stars {
  color: var(--gold) !important;
  font-size: .78rem;
  margin-bottom: 8px;
  letter-spacing: 1px
}

/* Title */
body#product .category-products .product-miniature .product-title {
  font-family: var(--elegant) !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  margin-bottom: 10px !important;
  line-height: 1.35 !important
}

body#product .category-products .product-miniature .product-title a {
  color: var(--dark) !important;
  transition: color .3s !important
}

body#product .category-products .product-miniature:hover .product-title a {
  color: var(--gold) !important
}

/* Price */
body#product .category-products .product-miniature .product-price-and-shipping {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  flex-wrap: wrap
}

body#product .category-products .product-miniature .product-price-and-shipping .product-price {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--gold-dark) !important
}

body#product .category-products .product-miniature .price-unit-label {
  font-weight: 400 !important;
  color: var(--text-light) !important;
  font-size: .82rem !important
}

/* Card action buttons — Configurer + Échantillon */
body#product .category-products .product-miniature .ocard-actions {
  display: flex !important;
  gap: 10px !important;
  margin-top: 16px !important
}

body#product .category-products .product-miniature .ocard-btn {
  flex: 1 !important;
  padding: 10px 0 !important;
  border-radius: 50px !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all .3s !important;
  font-family: var(--sans) !important;
  border: none !important;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 1.4 !important
}

body#product .category-products .product-miniature .ocard-btn-primary {
  background: var(--dark) !important;
  color: #fff !important
}

body#product .category-products .product-miniature .ocard-btn-primary:hover {
  background: var(--gold) !important;
  color: var(--dark) !important;
  box-shadow: 0 8px 30px rgba(184, 148, 95, .25) !important
}

body#product .category-products .product-miniature .ocard-btn-outline {
  background: transparent !important;
  border: 1.5px solid #e0e0e0 !important;
  color: var(--text) !important
}

body#product .category-products .product-miniature .ocard-btn-outline:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important
}

/* Hide default add-to-cart form (custom buttons used) */
body#product .category-products .product-miniature .product-add-cart.js-product-add-cart,
body#product .category-products .product-miniature .js-product-add-cart {
  display: none !important
}

/* Hide clutter */
body#product .category-products .product-miniature .product-description-short,
body#product .category-products .product-miniature .product-reference,
body#product .category-products .product-miniature .product-brand,
body#product .category-products .product-miniature .product-category-name {
  display: none !important
}

/* Availability badge — hide */
body#product .category-products .product-miniature .product-availability {
  display: none !important
}

/* Color variant swatches */
body#product .category-products .product-miniature .products-variants {
  margin-top: 8px
}

/* ---- CATEGORY-PRODUCTS CAROUSEL — 4 cards visible ---- */
body#product .category-products .swiper-slide {
  width: calc(25% - 15px) !important;
  margin-right: 20px !important
}

body#product .category-products .swiper-container,
body#product .category-products .swiper {
  overflow: hidden !important;
  padding: 10px 0 30px !important
}

body#product .category-products .swiper-wrapper {
  gap: 0 !important
}

/* Navigation arrows */
body#product .category-products .swiper-button-prev,
body#product .category-products .swiper-button-next {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .92) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .08) !important;
  transition: all .3s !important
}

body#product .category-products .swiper-button-prev::after,
body#product .category-products .swiper-button-next::after {
  font-size: .7rem !important;
  color: var(--dark) !important;
  font-weight: 700 !important
}

body#product .category-products .swiper-button-prev:hover,
body#product .category-products .swiper-button-next:hover {
  background: var(--dark) !important
}

body#product .category-products .swiper-button-prev:hover::after,
body#product .category-products .swiper-button-next:hover::after {
  color: #fff !important
}

/* Pagination dots */
body#product .category-products .swiper-pagination-bullet {
  background: var(--gold) !important;
  opacity: .3 !important;
  width: 8px !important;
  height: 8px !important;
  transition: all .3s !important
}

body#product .category-products .swiper-pagination-bullet-active {
  opacity: 1 !important;
  width: 24px !important;
  border-radius: 4px !important
}

/* ============================================================
   PRODUCT PAGE V2 — Full Redesign (produit-v2.html match)
   ============================================================ */

/* --- TASK 1: Layout Override — CSS Grid 55/45 --- */
body#product .product-container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 50px 60px 0 !important;
}

body#product .product-info-row {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 80px !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: start !important;
}

body#product .product-info-row::before,
body#product .product-info-row::after {
  display: none !important;
}

body#product .col-product-image {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  position: sticky !important;
  top: 160px !important;
}

body#product .col-product-info {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 8px 0 0 !important;
}

body#product .product-sidebar,
body#product .col-md-2.sidebar {
  display: none !important;
}

body#product #left-column,
body#product #right-column {
  display: none !important;
}

body#product #content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* --- TASK 2: Gallery Main Image --- */
body#product .images-container {
  position: relative !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
  margin-bottom: 18px !important;
}

body#product .product-cover {
  border-radius: 20px !important;
  overflow: hidden !important;
}

body#product .product-cover img,
body#product .images-container img.js-qv-product-cover {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 1s cubic-bezier(.25, .46, .45, .94), opacity .4s !important;
}

body#product .product-cover:hover img,
body#product .images-container:hover img.js-qv-product-cover {
  transform: scale(1.04) !important;
}

body#product #product-images-large {
  border-radius: 20px !important;
  overflow: hidden !important;
}

body#product .product-flags {
  position: absolute !important;
  top: 22px !important;
  left: 22px !important;
  z-index: 10 !important;
}

body#product .product-flag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(255, 255, 255, .92) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  padding: 10px 20px !important;
  border-radius: 50px !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  color: var(--gold-dark) !important;
  letter-spacing: .4px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .06) !important;
  text-transform: none !important;
}

body#product .product-flag.new {
  color: var(--green-dark, #1fa85a) !important;
}

/* --- TASK 3: Gallery Thumbnails --- */
body#product .product-images>li,
body#product .product-images .thumb-container {
  width: 90px !important;
  height: 90px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  border: 2.5px solid transparent !important;
  transition: all .5s cubic-bezier(.25, .46, .45, .94) !important;
  opacity: .4 !important;
  filter: saturate(.6) brightness(.95) !important;
  margin-right: 14px !important;
}

body#product .product-images>li:hover,
body#product .product-images .thumb-container:hover {
  opacity: .7 !important;
  filter: saturate(.8) brightness(1) !important;
}

body#product .product-images>li.active,
body#product .product-images .thumb-container.active,
body#product .product-images>li.selected,
body#product .product-images .thumb-container.selected,
body#product .product-images .swiper-slide-thumb-active {
  border-color: var(--gold) !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: 0 8px 25px rgba(184, 148, 95, .2) !important;
  transform: translateY(-4px) !important;
}

body#product .product-images img,
body#product .product-images .thumb-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}

body#product .after-cover-tumbnails,
body#product .after-cover-tumbnails2 {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

body#product .scroll-box-arrows {
  display: none !important;
}

/* --- TASK 4: Product Info Badge --- */
body#product .product-manufacturer {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 9px 22px !important;
  border-radius: 50px !important;
  background: var(--cream, #f8f4ef) !important;
  color: var(--gold-dark) !important;
  font-size: .68rem !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 24px !important;
  border: 1px solid rgba(184, 148, 95, .1) !important;
}

body#product .product-manufacturer::before {
  content: '' !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: var(--gold) !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

body#product .product-manufacturer img {
  display: none !important;
}

/* --- TASK 5: Product Title --- */
body#product h1.page-title,
body#product h1[itemprop="name"],
body#product .product-title {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 3.2rem !important;
  font-weight: 400 !important;
  color: var(--dark, #0f0f0f) !important;
  line-height: 1.1 !important;
  letter-spacing: -1px !important;
  margin-bottom: 6px !important;
}

body#product .product-description-short,
body#product #product-description-short {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  color: var(--text-muted, #a0a0a0) !important;
  margin-bottom: 22px !important;
  font-style: italic !important;
  letter-spacing: .5px !important;
}

/* --- TASK 6: Rating & Description --- */
body#product .product-comment-list-stars,
body#product .star-content,
body#product .grade-stars {
  display: flex !important;
  gap: 2px !important;
  margin-bottom: 28px !important;
}

body#product .star-content .star-on,
body#product .grade-stars .material-icons {
  color: var(--gold) !important;
  font-size: 15px !important;
}

body#product .product-description {
  color: var(--text-light, #6b6b6b) !important;
  font-size: .92rem !important;
  line-height: 1.9 !important;
  margin-bottom: 32px !important;
  max-width: 540px !important;
}

body#product .product-description strong {
  color: var(--text, #1a1a1a) !important;
  font-weight: 600 !important;
}

/* --- TASK 7: Configurator — Variant Selects --- */
body#product .product-variants {
  margin-top: 0 !important;
  margin-bottom: 26px !important;
}

body#product .product-variants-item {
  margin-bottom: 26px !important;
  position: relative !important;
}

body#product .product-variants-item .control-label,
body#product .product-variants-item label {
  font-size: .8rem !important;
  font-weight: 600 !important;
  color: var(--dark, #0f0f0f) !important;
  margin-bottom: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

body#product .product-variants-item select,
body#product .product-actions select {
  width: 100% !important;
  padding: 14px 44px 14px 18px !important;
  border: 1.5px solid #e6e6e6 !important;
  border-radius: 14px !important;
  font-size: .86rem !important;
  font-family: var(--sans, 'Inter', sans-serif) !important;
  outline: none !important;
  background-color: #fff !important;
  cursor: pointer !important;
  transition: all .3s !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
}

body#product .product-variants-item select:focus,
body#product .product-actions select:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 4px rgba(184, 148, 95, .06) !important;
}

/* Color swatches in configurator */
body#product .product-variants .input-color,
body#product .product-variants .color {
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(0, 0, 0, .04) !important;
  cursor: pointer !important;
  transition: all .4s cubic-bezier(.25, .46, .45, .94) !important;
}

body#product .product-variants .input-color:hover,
body#product .product-variants .color:hover {
  transform: scale(1.1) !important;
}

body#product .product-variants .input-color.active,
body#product .product-variants .input-color.selected,
body#product .product-variants .color.active,
body#product .product-variants .color.selected {
  border-color: var(--gold) !important;
  box-shadow: 0 2px 8px rgba(184, 148, 95, .3) !important;
  position: relative !important;
}

/* --- TASK 8: Quantity Input --- */
body#product .product-quantity .qty,
body#product .product-quantity input[type="number"],
body#product .product-quantity #quantity_wanted {
  width: 100% !important;
  padding: 14px 18px !important;
  border: 1.5px solid #e6e6e6 !important;
  border-radius: 14px !important;
  font-size: .86rem !important;
  font-family: var(--sans, 'Inter', sans-serif) !important;
  outline: none !important;
  transition: all .3s !important;
  text-align: center !important;
}

body#product .product-quantity .qty:focus,
body#product .product-quantity input[type="number"]:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 4px rgba(184, 148, 95, .06) !important;
}

body#product .bootstrap-touchspin {
  border: none !important;
  box-shadow: none !important;
}

body#product .bootstrap-touchspin .btn,
body#product .bootstrap-touchspin .input-group-btn .btn {
  background: var(--light, #faf9f7) !important;
  border: 1.5px solid #e6e6e6 !important;
  border-radius: 12px !important;
  width: 42px !important;
  height: 42px !important;
  font-size: 1.2rem !important;
  color: var(--text, #1a1a1a) !important;
  transition: all .3s !important;
}

body#product .bootstrap-touchspin .btn:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

/* --- TASK 9: Price Section Card --- */
body#product .product-prices {
  margin-top: 16px !important;
  padding: 34px 36px !important;
  background: #fff !important;
  border-radius: 20px !important;
  border: 1px solid rgba(184, 148, 95, .15) !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 15px 50px rgba(184, 148, 95, .06) !important;
}

body#product .product-prices::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--gold-dark, #8a6d3b), var(--gold), var(--gold-light, #d4b07a), var(--gold)) !important;
  background-size: 200% 100% !important;
  animation: shimmer 4s ease infinite !important;
}

body#product .product-price,
body#product .current-price [itemprop="price"],
body#product .current-price .price {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 3.2rem !important;
  font-weight: 500 !important;
  color: var(--dark, #0f0f0f) !important;
  line-height: 1 !important;
  letter-spacing: -1px !important;
}

body#product .current-price .tax-shipping-delivery-label {
  font-size: .78rem !important;
  color: var(--text-muted, #a0a0a0) !important;
  background: var(--light, #faf9f7) !important;
  padding: 5px 14px !important;
  border-radius: 8px !important;
  display: inline-block !important;
  margin-top: 8px !important;
}

body#product .product-unit-price {
  font-size: .78rem !important;
  color: var(--text-muted, #a0a0a0) !important;
}

/* Add to Cart Button — Premium Style */
body#product .product-add-to-cart {
  padding: 0 36px 34px !important;
  margin-top: -10px !important;
  background: #fff !important;
  border-radius: 0 0 20px 20px !important;
  border-left: 1px solid rgba(184, 148, 95, .15) !important;
  border-right: 1px solid rgba(184, 148, 95, .15) !important;
  border-bottom: 1px solid rgba(184, 148, 95, .15) !important;
}

body#product .product-add-to-cart .add-to-cart,
body#product .product-add-to-cart .btn-primary {
  flex: 1 !important;
  padding: 18px 28px !important;
  border-radius: 50px !important;
  font-size: .74rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2.2px !important;
  cursor: pointer !important;
  font-family: var(--sans, 'Inter', sans-serif) !important;
  border: none !important;
  background: var(--dark, #0f0f0f) !important;
  color: #fff !important;
  transition: all .5s cubic-bezier(.25, .46, .45, .94) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
}

body#product .product-add-to-cart .add-to-cart:hover,
body#product .product-add-to-cart .btn-primary:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .2) !important;
  background: linear-gradient(135deg, var(--gold), var(--gold-light, #d4b07a)) !important;
  color: var(--dark, #0f0f0f) !important;
}

/* --- TASK 10: Product Tabs — Pill Navigation --- */
body#product .product-tabs {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 100px 60px !important;
  background: var(--cream, #f8f4ef) !important;
  position: relative !important;
}

body#product .product-tabs {
  border-top: 1px solid rgba(184, 148, 95, .12) !important;
}

body#product .product-tabs .nav-tabs,
body#product .product-tabs .nav {
  display: flex !important;
  gap: 4px !important;
  justify-content: center !important;
  margin-bottom: 60px !important;
  background: #fff !important;
  border-radius: 50px !important;
  padding: 5px !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .04) !important;
  border: none !important;
}

body#product .product-tabs .nav-tabs .nav-link,
body#product .product-tabs .nav .nav-link,
body#product .product-tabs .nav-tabs li a,
body#product .product-tabs .nav li a {
  padding: 13px 32px !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  color: var(--text-muted, #a0a0a0) !important;
  background: none !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  transition: all .4s !important;
  font-family: var(--sans, 'Inter', sans-serif) !important;
  letter-spacing: .3px !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

body#product .product-tabs .nav-tabs .nav-link:hover,
body#product .product-tabs .nav li a:hover {
  color: var(--text, #1a1a1a) !important;
}

body#product .product-tabs .nav-tabs .nav-link.active,
body#product .product-tabs .nav li a.active,
body#product .product-tabs .nav-tabs .active .nav-link {
  background: var(--dark, #0f0f0f) !important;
  color: #fff !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, .12) !important;
  border: none !important;
}

/* --- TASK 11: Tab Content Panels --- */
body#product .product-tabs .tab-content {
  max-width: 780px !important;
  margin: 0 auto !important;
}

body#product .product-tabs .tab-pane h3,
body#product .product-tabs .tab-content h3 {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 2.2rem !important;
  font-weight: 400 !important;
  margin-bottom: 22px !important;
  color: var(--dark, #0f0f0f) !important;
}

body#product .product-tabs .tab-pane p,
body#product .product-tabs .tab-content p {
  color: var(--text-light, #6b6b6b) !important;
  font-size: .92rem !important;
  line-height: 2 !important;
  margin-bottom: 16px !important;
}

body#product .product-tabs .tab-pane p strong,
body#product .product-tabs .tab-content p strong {
  color: var(--text, #1a1a1a) !important;
  font-weight: 600 !important;
}

/* Specs table in tabs */
body#product .product-tabs table,
body#product .product-tabs .data-sheet {
  width: 100% !important;
  border-collapse: collapse !important;
}

body#product .product-tabs table tr,
body#product .product-tabs .data-sheet li {
  border-bottom: 1px solid rgba(0, 0, 0, .04) !important;
  transition: background .3s !important;
  display: flex !important;
  padding: 0 !important;
}

body#product .product-tabs table tr:hover,
body#product .product-tabs .data-sheet li:hover {
  background: rgba(184, 148, 95, .02) !important;
}

body#product .product-tabs table td,
body#product .product-tabs .data-sheet .name,
body#product .product-tabs .data-sheet .value {
  padding: 18px 0 !important;
  font-size: .88rem !important;
  vertical-align: top !important;
}

body#product .product-tabs table td:first-child,
body#product .product-tabs .data-sheet .name {
  font-weight: 600 !important;
  color: var(--dark, #0f0f0f) !important;
  width: 220px !important;
  padding-right: 30px !important;
  flex-shrink: 0 !important;
}

body#product .product-tabs table td:last-child,
body#product .product-tabs .data-sheet .value {
  color: var(--text-light, #6b6b6b) !important;
  flex: 1 !important;
}

/* --- TASK 14: Responsive Breakpoints --- */
@media (max-width: 1100px) {
  body#product .product-container {
    padding: 30px 30px 0 !important;
  }

  body#product .product-info-row {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  body#product .col-product-image {
    position: static !important;
  }

  body#product .product-tabs {
    padding: 60px 30px !important;
  }
}

@media (max-width: 768px) {
  body#product .product-container {
    padding: 20px 16px 0 !important;
  }

  body#product h1.page-title,
  body#product h1[itemprop="name"],
  body#product .product-title {
    font-size: 2.4rem !important;
  }

  body#product .product-prices {
    padding: 24px 20px !important;
  }

  body#product .product-add-to-cart {
    padding: 0 20px 24px !important;
  }

  body#product .product-price,
  body#product .current-price .price {
    font-size: 2.4rem !important;
  }

  body#product .product-tabs {
    padding: 50px 16px !important;
  }

  body#product .product-tabs .nav-tabs,
  body#product .product-tabs .nav {
    flex-wrap: wrap !important;
    border-radius: 16px !important;
    max-width: 100% !important;
  }

  body#product .product-tabs .nav-link,
  body#product .product-tabs .nav li a {
    flex: 1 !important;
    min-width: 90px !important;
    font-size: .7rem !important;
    padding: 10px 14px !important;
    text-align: center !important;
  }
}

/* ============================================================
   PRODUCT PAGE V2 — Polish & Refinements
   ============================================================ */

/* --- Breadcrumb --- */
body#product .breadcrumb-wrapper,
body#product .breadcrumb-section,
body#product #wrapper>.container:first-child {
  background: var(--light, #faf9f7) !important;
  border-bottom: 1px solid rgba(0, 0, 0, .04) !important;
}

body#product .breadcrumb {
  font-size: .78rem !important;
  color: var(--text-muted, #b0b0b0) !important;
  padding: 16px 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

body#product .breadcrumb a {
  color: var(--text-light, #7a7a7a) !important;
  transition: color .3s !important;
}

body#product .breadcrumb a:hover {
  color: var(--gold) !important;
}

body#product .breadcrumb li::before,
body#product .breadcrumb .separator {
  color: #ddd !important;
  font-size: .65rem !important;
}

/* --- Quantity input compact --- */
body#product .product-quantity {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 10px !important;
}

body#product .product-quantity .qty,
body#product .product-quantity #quantity_wanted {
  width: 70px !important;
  height: 50px !important;
  padding: 10px 8px !important;
  border-radius: 12px !important;
  text-align: center !important;
  font-size: .9rem !important;
}

body#product .bootstrap-touchspin {
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

body#product .bootstrap-touchspin .btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 10px !important;
  padding: 0 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

/* --- Wishlist & Compare buttons --- */
body#product .product-additional-info {
  display: flex !important;
  gap: 10px !important;
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(0, 0, 0, .04) !important;
}

body#product .product-additional-info a,
body#product .product-additional-info button {
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  border: 1.5px solid #e8e8e8 !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .3s !important;
  padding: 0 !important;
}

body#product .product-additional-info a:hover,
body#product .product-additional-info button:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

/* --- Social sharing compact --- */
body#product .social-sharing {
  display: flex !important;
  gap: 8px !important;
  margin: 20px 0 !important;
  padding: 0 !important;
}

body#product .social-sharing ul {
  display: flex !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-direction: row !important;
}

body#product .social-sharing li {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid #eee !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .75rem !important;
  color: var(--text-muted, #a0a0a0) !important;
  transition: all .3s !important;
  list-style: none !important;
}

body#product .social-sharing a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  color: inherit !important;
}

body#product .social-sharing li:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

/* --- Product info spacing --- */
body#product .product-information {
  margin-bottom: 10px !important;
}

/* --- Comments section cleanup --- */
body#product .product-comment-list-reviews,
body#product #product-comments-list-header {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 40px 60px !important;
}

/* --- Hide accordion mobile duplicate on desktop --- */
@media (min-width: 769px) {
  body#product #product-infos-accordion-mobile {
    display: none !important;
  }
}

/* ============================================================
   PRODUCT PAGE V2 — Final Template Match
   ============================================================ */

/* --- Gallery aspect ratio like template (1/0.85) --- */
body#product .product-cover {
  aspect-ratio: 1 / 0.85 !important;
}

body#product .images-container .product-images-large,
body#product .images-container #product-images-large {
  aspect-ratio: 1 / 0.85 !important;
  height: auto !important;
}

body#product .images-container .product-images-large img,
body#product .images-container #product-images-large img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body#product .product-cover img,
body#product .product-lmage-large img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body#product .images-container {
  border-radius: 20px !important;
  overflow: hidden !important;
  background: transparent !important;
  background-image: none !important;
}

body#product #product-images-large {
  border-radius: 20px !important;
  overflow: hidden !important;
}

/* Gallery shadow like template */
body#product .product-cover,
body#product .images-container {
  box-shadow: none !important;
}

/* --- Thumbnails refined (match template) --- */
body#product .product-images>.thumb-container,
body#product .product-images .product-thumb {
  width: 90px !important;
  height: 90px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  border: 2.5px solid transparent !important;
  transition: all .5s cubic-bezier(.25, .46, .45, .94) !important;
  opacity: .4 !important;
  filter: saturate(.6) brightness(.95) !important;
}

body#product .product-images>.thumb-container:hover,
body#product .product-images .product-thumb:hover {
  opacity: .7 !important;
  filter: saturate(.8) brightness(1) !important;
}

body#product .product-images>.thumb-container.selected,
body#product .product-images .product-thumb.selected,
body#product .product-images>.thumb-container.active {
  border-color: var(--gold) !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: 0 8px 25px rgba(184, 148, 95, .2) !important;
  transform: translateY(-4px) !important;
}

body#product .product-images>.thumb-container img,
body#product .product-images .product-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* --- Title larger (3.6rem like template) --- */
body#product h1.page-title,
body#product h1[itemprop="name"],
body#product .product-title {
  font-size: 3.2rem !important;
  line-height: 1.05 !important;
  letter-spacing: -1px !important;
  margin-bottom: 6px !important;
}

/* --- Description max-width --- */
body#product .product-description {
  max-width: 540px !important;
  color: var(--text-light, #6b6b6b) !important;
  font-size: .92rem !important;
  line-height: 1.9 !important;
  margin-bottom: 28px !important;
}

/* --- Hide default PS quantity/cart when configurator exists --- */
body#product .product-add-to-cart {
  display: none !important;
}

/* --- Color variant swatches refined --- */
body#product .product-variants .color {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 2.5px solid transparent !important;
  cursor: pointer !important;
  transition: all .4s !important;
}

body#product .product-variants .color:hover {
  transform: scale(1.08) !important;
}

body#product .product-variants .color.selected,
body#product .product-variants .color.active,
body#product .product-variants .input-color:checked+span {
  border-color: var(--gold) !important;
  box-shadow: 0 4px 15px rgba(184, 148, 95, .25) !important;
}

/* --- Product container padding match template --- */
body#product .product-container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 50px 60px 0 !important;
}

/* --- Material Stats Strip (dark bg) --- */
body#product .on-material-stats {
  background: var(--dark, #0f0f0f);
  padding: 80px 60px;
  margin: 0;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

body#product .on-material-stats .stats-grid {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  text-align: center;
}

body#product .on-material-stats .stat-item .stat-number {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif);
  font-size: 4rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 10px;
  display: block;
}

body#product .on-material-stats .stat-item .stat-label {
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .5);
}

/* --- Story Section --- */
body#product .on-story-section {
  max-width: 1400px;
  margin: 0 auto;
  padding: 100px 60px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

body#product .on-story-section .story-image {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .08);
}

body#product .on-story-section .story-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body#product .on-story-section .story-label {
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}

body#product .on-story-section .story-label::after {
  content: '';
  height: 1px;
  width: 50px;
  background: var(--gold);
}

body#product .on-story-section .story-title {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif);
  font-size: 3rem;
  font-weight: 400;
  color: var(--dark, #0f0f0f);
  line-height: 1.15;
  margin-bottom: 30px;
}

body#product .on-story-section .story-title em {
  font-style: italic;
  font-weight: 300;
  color: var(--gold-dark, #8a6d3b);
}

body#product .on-story-section .story-text {
  color: var(--text-light, #6b6b6b);
  font-size: .92rem;
  line-height: 2;
}

body#product .on-story-section .story-text strong {
  color: var(--text, #1a1a1a);
  font-weight: 600;
}

/* --- Reassurance Section (dark bg) --- */
body#product .on-reassurance {
  background: var(--darker, #080808);
  padding: 100px 60px;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

body#product .on-reassurance .reas-inner {
  max-width: 1400px;
  margin: 0 auto;
  text-align: center;
}

body#product .on-reassurance .reas-label {
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px;
}

body#product .on-reassurance .reas-title {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif);
  font-size: 3rem;
  font-weight: 400;
  color: #fff;
  margin-bottom: 60px;
}

body#product .on-reassurance .reas-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

body#product .on-reassurance .reas-card {
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 24px;
  padding: 50px 30px;
  text-align: center;
  transition: all .5s cubic-bezier(.25, .46, .45, .94);
}

body#product .on-reassurance .reas-card:hover {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(184, 148, 95, .2);
  transform: translateY(-6px);
}

body#product .on-reassurance .reas-card .rc-icon {
  width: 60px;
  height: 60px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(184, 148, 95, .15), rgba(184, 148, 95, .05));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 22px;
}

body#product .on-reassurance .reas-card .rc-icon svg {
  width: 24px;
  height: 24px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 1.8;
}

body#product .on-reassurance .reas-card h4 {
  color: #fff;
  font-size: .88rem;
  font-weight: 600;
  margin-bottom: 10px;
  font-family: var(--sans, 'Inter', sans-serif);
}

body#product .on-reassurance .reas-card p {
  color: rgba(255, 255, 255, .45);
  font-size: .8rem;
  line-height: 1.7;
}

/* --- Tabs section heading via flexbox --- */
body#product .product-tabs {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

body#product .product-tabs::before {
  content: 'EN SAVOIR PLUS';
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
  text-align: center;
  margin-bottom: 16px;
  order: -2;
}

body#product .product-tabs::after {
  content: 'Tout sur ce matériau';
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif);
  font-size: 3rem;
  font-weight: 400;
  color: var(--dark, #0f0f0f);
  display: block;
  text-align: center;
  margin-bottom: 50px;
  order: -1;
  position: static;
}

body#product .product-tabs .nav-tabs,
body#product .product-tabs .nav {
  order: 0;
}

body#product .product-tabs .tab-content {
  order: 1;
  width: 100%;
}

/* --- Responsive for new sections --- */
@media (max-width: 1100px) {
  body#product .on-material-stats .stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  body#product .on-story-section {
    grid-template-columns: 1fr;
    padding: 60px 30px;
    gap: 40px;
  }

  body#product .on-reassurance .reas-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  body#product .on-reassurance {
    padding: 60px 30px;
  }

  body#product .on-material-stats {
    padding: 50px 30px;
  }
}

@media (max-width: 768px) {
  body#product .on-material-stats .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }

  body#product .on-material-stats .stat-item .stat-number {
    font-size: 2.8rem;
  }

  body#product .on-reassurance .reas-grid {
    grid-template-columns: 1fr;
  }

  body#product .on-story-section .story-title {
    font-size: 2.2rem;
  }

  body#product .product-tabs::after {
    font-size: 2.2rem;
  }
}

/* ============================================================
   CONFIGURATOR MODULE (onano) — Match Template V2 Screenshot
   ============================================================ */

/* --- Hide social sharing completely --- */
body#product .social-sharing {
  display: none !important;
}

/* --- Hide the product-sidebar col-md-2 completely --- */
body#product .product-sidebar {
  display: none !important;
}

/* --- Product info row: ensure 2 columns only --- */
body#product .product-info-row {
  grid-template-columns: 55% 45% !important;
}

/* --- Layout: stack options + sidebar vertically --- */
body#product .oc-layout {
  display: flex !important;
  flex-direction: column !important;
  gap: 40px !important;
}

body#product .oc-options {
  width: 100% !important;
  max-width: 100% !important;
  flex: unset !important;
}

body#product .oc-sidebar,
body#product .oc-layout>.oc-sidebar,
body#product .product-additional-info .oc-sidebar,
body#product aside.oc-sidebar {
  width: 100% !important;
  max-width: 100% !important;
  flex: unset !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
}

body#product .oc-sidebar__inner,
body#product .oc-sidebar .oc-sidebar__inner {
  position: static !important;
  top: auto !important;
}

/* --- "Configurez votre plan" heading via ::before on .oc-options --- */
body#product #oc-configurator .oc-options::before {
  content: 'Configurez votre plan';
  display: block;
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif);
  font-size: 2.4rem;
  font-weight: 400;
  color: var(--dark, #0f0f0f);
  margin-bottom: 40px;
  padding-bottom: 0;
}

/* --- Step counter on each .oc-field via CSS counters --- */
body#product #oc-configurator .oc-options {
  counter-reset: oc-step;
}

body#product #oc-configurator .oc-field {
  counter-increment: oc-step;
  margin-bottom: 36px !important;
  padding-bottom: 36px !important;
  border-bottom: 1px solid rgba(0, 0, 0, .05) !important;
}

body#product #oc-configurator .oc-field:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* --- Step number badge --- */
body#product #oc-configurator .oc-field__header {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
  flex-wrap: wrap !important;
}

body#product #oc-configurator .oc-field__header::before {
  content: counter(oc-step);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 50%;
  background: var(--gold, #b8945f);
  color: #fff;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .82rem;
  font-weight: 700;
  flex-shrink: 0;
}

/* --- Field label --- */
body#product #oc-configurator .oc-field__label {
  font-family: var(--sans, 'Inter', sans-serif) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--dark, #0f0f0f) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#product #oc-configurator .oc-field__desc {
  width: 100% !important;
  padding-left: 50px !important;
  font-size: .78rem !important;
  color: #888 !important;
  margin-top: -4px !important;
}

body#product #oc-configurator .oc-required {
  color: var(--gold) !important;
}

/* --- Radio list: vertical cards --- */
body#product #oc-configurator .oc-radio-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

body#product #oc-configurator .oc-radio {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 18px !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 14px !important;
  cursor: pointer !important;
  transition: all .25s ease !important;
  background: #fff !important;
  margin: 0 !important;
}

body#product #oc-configurator .oc-radio:hover {
  border-color: rgba(184, 148, 95, .35) !important;
  background: rgba(184, 148, 95, .02) !important;
}

body#product #oc-configurator .oc-radio--selected,
body#product #oc-configurator .oc-radio.oc-radio--selected {
  border-color: var(--gold) !important;
  background: rgba(184, 148, 95, .04) !important;
  box-shadow: 0 4px 16px rgba(184, 148, 95, .1) !important;
}

/* --- Radio indicator (circle) --- */
body#product #oc-configurator .oc-radio__indicator {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border-radius: 50% !important;
  border: 2px solid #d0d0d0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .25s !important;
  flex-shrink: 0 !important;
}

body#product #oc-configurator .oc-radio--selected .oc-radio__indicator {
  border-color: var(--gold) !important;
  background: var(--gold) !important;
}

body#product #oc-configurator .oc-radio--selected .oc-radio__indicator::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
}

/* --- Radio name + price --- */
body#product #oc-configurator .oc-radio__content {
  flex: 1 !important;
}

body#product #oc-configurator .oc-radio__name {
  font-family: var(--sans, 'Inter', sans-serif) !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
  color: var(--dark, #0f0f0f) !important;
}

body#product #oc-configurator .oc-radio__price {
  font-family: var(--sans, 'Inter', sans-serif) !important;
  font-size: .82rem !important;
  color: #888 !important;
  white-space: nowrap !important;
  margin-left: auto !important;
}

/* --- Number inputs (dimensions) — side by side --- */
body#product #oc-configurator .oc-field--number {
  display: inline-block !important;
  width: calc(50% - 10px) !important;
  vertical-align: top !important;
  border-bottom: none !important;
  margin-bottom: 16px !important;
  padding-bottom: 16px !important;
}

body#product #oc-configurator .oc-field--number+.oc-field--number {
  margin-left: 16px !important;
}

body#product #oc-configurator .oc-field--number .oc-field__header::before {
  display: none !important;
}

body#product #oc-configurator .oc-field--number .oc-field__label {
  font-size: .82rem !important;
  font-weight: 500 !important;
  color: #666 !important;
}

body#product #oc-configurator .oc-field--number .oc-field__desc {
  display: none !important;
}

body#product #oc-configurator .oc-number-input,
body#product #oc-configurator .oc-field--number input[type="number"] {
  width: 100% !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  font-family: var(--sans, 'Inter', sans-serif) !important;
  color: var(--dark, #0f0f0f) !important;
  text-align: left !important;
  transition: border-color .3s !important;
  -moz-appearance: textfield !important;
}

body#product #oc-configurator .oc-field--number input[type="number"]:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(184, 148, 95, .1) !important;
}

body#product #oc-configurator .oc-field--number .oc-number__unit {
  font-size: .82rem !important;
  color: #aaa !important;
}

/* --- Checkbox options (extras) --- */
body#product #oc-configurator .oc-checkbox-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

body#product #oc-configurator .oc-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 18px !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 14px !important;
  cursor: pointer !important;
  transition: all .25s ease !important;
  background: #fff !important;
}

body#product #oc-configurator .oc-checkbox:hover {
  border-color: rgba(184, 148, 95, .35) !important;
}

body#product #oc-configurator .oc-checkbox--checked {
  border-color: var(--gold) !important;
  background: rgba(184, 148, 95, .04) !important;
}

/* --- Textarea (notes) --- */
body#product #oc-configurator .oc-field--textarea textarea {
  width: 100% !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  font-size: .88rem !important;
  font-family: var(--sans, 'Inter', sans-serif) !important;
  resize: vertical !important;
  min-height: 90px !important;
  transition: border-color .3s !important;
}

body#product #oc-configurator .oc-field--textarea textarea:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(184, 148, 95, .1) !important;
}

/* --- Sidebar (price summary card) --- */
body#product #oc-configurator .oc-summary {
  background: #fff !important;
  border-radius: 24px !important;
  border: 1.5px solid rgba(0, 0, 0, .06) !important;
  padding: 32px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .06) !important;
}

body#product #oc-configurator .oc-summary__title {
  font-family: var(--sans, 'Inter', sans-serif) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: var(--dark, #0f0f0f) !important;
  margin-bottom: 18px !important;
}

body#product #oc-configurator .oc-summary__row {
  display: flex !important;
  justify-content: space-between !important;
  font-size: .85rem !important;
  color: #666 !important;
  margin-bottom: 6px !important;
}

body#product #oc-configurator .oc-summary__divider {
  height: 3px !important;
  background: linear-gradient(90deg, var(--gold), var(--gold-light, #d4b978), var(--gold)) !important;
  border-radius: 3px !important;
  margin: 16px 0 !important;
  border: none !important;
}

body#product #oc-configurator .oc-summary__total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
}

body#product #oc-configurator .oc-summary__total span:last-child {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 2.6rem !important;
  font-weight: 400 !important;
  color: var(--dark, #0f0f0f) !important;
}

/* --- CTA buttons --- */
body#product #oc-configurator .oc-sidebar .oc-cta__cart,
body#product #oc-configurator #oc-add-to-cart.oc-cta__cart {
  background: var(--dark, #0f0f0f) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 18px 40px !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all .4s cubic-bezier(.25, .46, .45, .94) !important;
  width: 100% !important;
  margin-top: 18px !important;
}

body#product #oc-configurator .oc-sidebar .oc-cta__cart:hover,
body#product #oc-configurator #oc-add-to-cart.oc-cta__cart:hover {
  background: var(--gold) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 15px 40px rgba(184, 148, 95, .3) !important;
}

body#product #oc-configurator .oc-sidebar .oc-cta__quote,
body#product #oc-configurator button.oc-cta__quote {
  background: transparent !important;
  color: var(--dark, #0f0f0f) !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 50px !important;
  padding: 16px 40px !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all .3s !important;
  width: 100% !important;
  margin-top: 10px !important;
}

body#product #oc-configurator .oc-sidebar .oc-cta__quote:hover,
body#product #oc-configurator button.oc-cta__quote:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

body#product #oc-configurator .oc-cta__save {
  font-size: .78rem !important;
  color: #aaa !important;
  text-decoration: underline !important;
  text-align: center !important;
  display: block !important;
  margin-top: 12px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
}

body#product #oc-configurator .oc-cta__save:hover {
  color: var(--gold) !important;
}

/* --- Group borders (less prominent since fields have their own) --- */
body#product #oc-configurator .oc-group {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* --- Hide default PS add-to-cart when configurator exists --- */
body#product .product-add-to-cart {
  display: none !important;
}

/* ============================================================
   PRODUCT PAGE — Final Polish & Defect Fixes
   ============================================================ */

/* --- Gallery sticky: ensure it stays while scrolling configurator --- */
body#product .col-product-image {
  position: sticky !important;
  top: 120px !important;
  align-self: start !important;
}

/* --- Title: gold underline accent --- */
body#product h1.page-title {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 2.6rem !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--dark, #0f0f0f) !important;
  margin-bottom: 20px !important;
  padding-bottom: 20px !important;
  border-bottom: 3px solid var(--gold) !important;
  border-image: linear-gradient(90deg, var(--gold), transparent) 1 !important;
}

/* --- Price section: cleaner, more luxe --- */
body#product .product-prices {
  background: var(--cream, #f8f4ef) !important;
  border-radius: 16px !important;
  padding: 24px 28px !important;
  margin-bottom: 28px !important;
  border: none !important;
  box-shadow: none !important;
}

body#product .product-price,
body#product .current-price span[itemprop="price"] {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 2.8rem !important;
  font-weight: 400 !important;
  color: var(--dark, #0f0f0f) !important;
}

body#product .tax-shipping-delivery-label {
  font-size: .72rem !important;
  color: #aaa !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}

/* --- Description: max-width for readability --- */
body#product .product-description-short,
body#product .product-description {
  max-width: 480px !important;
  font-size: .88rem !important;
  line-height: 1.75 !important;
  color: #666 !important;
  margin-bottom: 24px !important;
}

/* --- Color swatches: larger, more refined --- */
body#product .product-variants .color {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 3px solid #e8e8e8 !important;
  transition: all .3s ease !important;
  cursor: pointer !important;
}

body#product .product-variants .color:hover {
  transform: scale(1.1) !important;
  border-color: rgba(184, 148, 95, .4) !important;
}

body#product .product-variants .color.selected,
body#product .product-variants .color.active,
body#product .product-variants .input-color:checked+span {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(184, 148, 95, .2) !important;
  transform: scale(1.1) !important;
}

body#product .product-variants-item label {
  font-family: var(--sans, 'Inter', sans-serif) !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  color: var(--dark) !important;
  margin-bottom: 12px !important;
}

/* --- Thumbnails area: clean up bottom strip --- */
body#product .after-cover-tumbnails,
body#product .after-cover-tumbnails2 {
  margin-top: 14px !important;
}

body#product .product-images {
  display: flex !important;
  gap: 10px !important;
  padding: 0 !important;
  list-style: none !important;
}

/* --- Breadcrumb: refined --- */
body#product .breadcrumb {
  font-size: .75rem !important;
  color: #999 !important;
  margin-bottom: 10px !important;
  padding-top: 18px !important;
  padding-bottom: 14px !important;
}

body#product .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  transition: color .2s !important;
}

body#product .breadcrumb a:hover {
  color: var(--gold) !important;
}

/* --- "NOUVEAU" badge polish --- */
body#product .product-flag.new {
  background: rgba(255, 255, 255, .95) !important;
  color: var(--gold-dark, #8a6d3b) !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-size: .65rem !important;
}

/* --- Hide "Nombre de plans" label duplicate if present --- */
body#product .product-variants .product-variants-item:has(.input-group) {
  display: none !important;
}

/* --- Product info column spacing --- */
body#product .col-product-info>div {
  padding-right: 10px !important;
}

/* --- Gallery aspect ratio refinement --- */
body#product .product-cover {
  aspect-ratio: 1 / 0.85 !important;
}

body#product .product-cover img,
body#product .product-lmage-large img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* --- Product tabs: full width content --- */
body#product .product-tabs .tab-content {
  max-width: 800px !important;
  margin: 0 auto !important;
}

/* --- Accessories carousel title --- */
body#product .product-accessories .section-title,
body#product .block-section .section-title {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 2rem !important;
  font-weight: 400 !important;
  text-align: center !important;
  color: var(--dark) !important;
}

/* ============================================================
   IQITMEGAMENU — suppression ombre module front.css
   ============================================================ */
.on-nav-wrap .cbp-hrsub,
.on-nav-wrap .cbp-hrmenu .cbp-hrsub,
#cbp-hrmenu .cbp-hrsub {
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  box-shadow: none !important;
}

/* ============================================================
   STICKY BOTTOM BAR — product page
   ============================================================ */
.on-sticky-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9990;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-top: 1px solid rgba(0, 0, 0, .06);
  transform: translateY(100%);
  transition: transform .4s cubic-bezier(.25, .46, .45, .94);
  padding: 0 24px;
}

.on-sticky-bar.is-visible {
  transform: translateY(0);
}

.on-sticky-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 64px;
}

.on-sticky-info {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .82rem;
  font-weight: 500;
  color: var(--dark, #1a1a1a);
  white-space: nowrap;
}

.on-sticky-info svg {
  flex-shrink: 0;
  color: var(--gold, #b8945f);
}

.on-sticky-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.on-sticky-btn {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .8px;
  text-transform: uppercase;
  padding: 12px 28px;
  border-radius: 50px;
  cursor: pointer;
  transition: all .3s ease;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
}

.on-sticky-btn--outline {
  background: transparent;
  color: var(--dark, #1a1a1a);
  border: 1.5px solid var(--dark, #1a1a1a);
}

.on-sticky-btn--outline:hover {
  background: var(--dark, #1a1a1a);
  color: #fff;
}

.on-sticky-btn--fill {
  background: var(--dark, #1a1a1a);
  color: #fff;
  border: 1.5px solid var(--dark, #1a1a1a);
}

.on-sticky-btn--fill:hover {
  background: var(--gold, #b8945f);
  border-color: var(--gold, #b8945f);
}

.on-sticky-btn--fill svg {
  stroke: currentColor;
}

.on-sticky-price {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--dark, #1a1a1a);
  white-space: nowrap;
}

.on-sticky-price small {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .65rem;
  font-weight: 500;
  color: #888;
  letter-spacing: .5px;
}

/* Responsive sticky bar */
@media (max-width: 768px) {
  .on-sticky-inner {
    flex-wrap: wrap;
    height: auto;
    padding: 12px 0;
    gap: 10px;
  }

  .on-sticky-info {
    display: none;
  }

  .on-sticky-actions {
    flex: 1;
  }

  .on-sticky-btn {
    padding: 10px 16px;
    font-size: .7rem;
  }
}

/* Add bottom padding to page so sticky bar doesn't cover content */
body#product #main {
  padding-bottom: 80px !important;
}

/* ============================================================
   HEADER ACTIONS — panier & connexion comme index.html
   ============================================================ */
/* Masquer les blocs panier/compte natifs du thème Warehouse */
#desktop-header .header-actions,
#desktop-header ._desktop-cart,
#desktop-header ._desktop-user-info,
#desktop-header .header-cart,
#desktop-header .header-account {
  display: none !important;
}

/* ===================================================================
   QUOTE MODAL — "Recevoir mon devis"
   =================================================================== */

/* Overlay */
.oqm-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(8, 8, 8, .55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease;
}

.oqm-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

/* Modal container */
.oqm-modal {
  position: relative;
  width: 94vw;
  max-width: 960px;
  max-height: 92vh;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, .25), 0 0 0 1px rgba(255, 255, 255, .08);
  overflow: hidden;
  transform: translateY(30px) scale(.97);
  transition: transform .4s cubic-bezier(.22, .61, .36, 1);
}

.oqm-overlay.is-open .oqm-modal {
  transform: translateY(0) scale(1);
}

/* Close button */
.oqm-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid rgba(0, 0, 0, .08);
  background: rgba(255, 255, 255, .9);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .25s;
  color: #333;
}

.oqm-close:hover {
  background: #111;
  color: #fff;
  border-color: #111;
}

/* Body — two columns */
.oqm-body {
  display: grid;
  grid-template-columns: 380px 1fr;
  max-height: 92vh;
}

/* LEFT — Product recap */
.oqm-product {
  background: var(--cream, #faf8f5);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  border-right: 1px solid rgba(0, 0, 0, .04);
}

.oqm-badge {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold, #b8945f);
  margin-bottom: 20px;
}

.oqm-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 0.85;
  border-radius: 14px;
  overflow: hidden;
  background: #f0ede8;
  margin-bottom: 20px;
}

.oqm-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.oqm-product-name {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif);
  font-size: 1.4rem;
  font-weight: 500;
  color: #1a1a1a;
  margin: 0 0 18px;
  line-height: 1.3;
}

/* Config summary lines */
.oqm-config-summary {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0, 0, 0, .06);
}

.oqm-config-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.oqm-config-label {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .78rem;
  color: #888;
  white-space: nowrap;
}

.oqm-config-value {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .82rem;
  font-weight: 500;
  color: #1a1a1a;
  text-align: right;
}

/* Price rows */
.oqm-price-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 4px;
}

.oqm-price-label {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .82rem;
  color: #666;
}

.oqm-price-value {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif);
  font-size: 1.6rem;
  font-weight: 600;
  color: #1a1a1a;
}

.oqm-price-ht .oqm-price-value {
  font-size: .9rem;
  color: #999;
  font-family: var(--sans, 'Inter', sans-serif);
  font-weight: 400;
}

.oqm-price-ht .oqm-price-label {
  font-size: .75rem;
  color: #999;
}

/* RIGHT — Form side */
.oqm-form-side {
  padding: 36px 40px;
  overflow-y: auto;
  max-height: 92vh;
}

.oqm-form-title {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif);
  font-size: 1.8rem;
  font-weight: 500;
  color: #1a1a1a;
  margin: 0 0 6px;
  line-height: 1.25;
}

.oqm-form-title em {
  color: var(--gold, #b8945f);
  font-style: italic;
}

.oqm-form-subtitle {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .88rem;
  color: #888;
  margin: 0 0 24px;
  line-height: 1.5;
}

/* Form fields */
.oqm-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.oqm-field {
  margin-bottom: 14px;
}

.oqm-field label {
  display: block;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .75rem;
  font-weight: 500;
  color: #555;
  margin-bottom: 5px;
  letter-spacing: .02em;
}

.oqm-field input,
.oqm-field textarea {
  width: 100%;
  padding: 11px 14px;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .88rem;
  color: #1a1a1a;
  background: #faf8f5;
  border: 1.5px solid rgba(0, 0, 0, .08);
  border-radius: 10px;
  outline: none;
  transition: border-color .25s, box-shadow .25s;
  box-sizing: border-box;
}

.oqm-field input:focus,
.oqm-field textarea:focus {
  border-color: var(--gold, #b8945f);
  box-shadow: 0 0 0 3px rgba(184, 148, 95, .1);
}

.oqm-field input.oqm-error,
.oqm-field textarea.oqm-error,
.oqm-consent input.oqm-error {
  border-color: #d94f4f;
  box-shadow: 0 0 0 3px rgba(217, 79, 79, .1);
}

.oqm-field textarea {
  resize: vertical;
  min-height: 70px;
}

/* Consent */
.oqm-consent {
  margin-bottom: 18px;
}

.oqm-consent label {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .75rem;
  color: #888;
  line-height: 1.5;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  cursor: pointer;
}

.oqm-consent input[type="checkbox"] {
  accent-color: var(--gold, #b8945f);
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Submit button */
.oqm-submit {
  width: 100%;
  padding: 14px 24px;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: #fff;
  background: #1a1a1a;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: all .3s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.oqm-submit:hover {
  background: var(--gold, #b8945f);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(184, 148, 95, .25);
}

.oqm-submit:disabled {
  opacity: .6;
  cursor: not-allowed;
  transform: none;
}

.oqm-submit-loading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Success state */
.oqm-success {
  text-align: center;
  padding: 60px 20px;
}

.oqm-success-icon {
  margin-bottom: 20px;
}

.oqm-success h3 {
  font-family: var(--elegant, 'Cormorant Garamond', Georgia, serif);
  font-size: 1.8rem;
  color: #1a1a1a;
  margin: 0 0 12px;
}

.oqm-success p {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: .92rem;
  color: #888;
  margin: 0 0 28px;
  line-height: 1.6;
}

.oqm-success .oqm-submit {
  max-width: 240px;
  margin: 0 auto;
}

/* Responsive — stack on mobile */
@media (max-width: 768px) {
  .oqm-body {
    grid-template-columns: 1fr;
    max-height: none;
  }

  .oqm-modal {
    max-height: 95vh;
    border-radius: 16px 16px 0 0;
    max-width: 100vw;
    width: 100vw;
    margin-top: auto;
  }

  .oqm-overlay {
    align-items: flex-end;
  }

  .oqm-overlay.is-open .oqm-modal {
    transform: translateY(0);
  }

  .oqm-modal {
    transform: translateY(100%);
  }

  .oqm-product {
    padding: 24px 20px 20px;
    border-right: none;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
  }

  .oqm-img-wrap {
    aspect-ratio: 16/9;
    max-height: 180px;
  }

  .oqm-form-side {
    padding: 24px 20px 32px;
    max-height: 60vh;
  }

  .oqm-form-title {
    font-size: 1.5rem;
  }

  .oqm-field-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* ============================================================
   CMS PAGES - O Millimètre Design System
   ============================================================ */

/* --- Hero Banner --- */
.cms-hero {
  position: relative;
  height: 400px;
  background-size: cover;
  background-position: center;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 3rem;
}

.cms-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
}

.cms-hero__overlay h1 {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 3rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 0.75rem;
  line-height: 1.15;
}

.cms-hero__sub {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 1.15rem;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 300;
  letter-spacing: 0.02em;
}

/* --- Sections --- */
.cms-page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1rem 3rem;
}

.cms-section {
  padding: 3rem 0;
}

.cms-section h2 {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 2.2rem;
  font-weight: 600;
  color: var(--dark, #1a1a1a);
  margin-bottom: 1.5rem;
  text-align: center;
}

.cms-section h3 {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 1.1rem;
  color: var(--gold, #b8960c);
  text-align: center;
  margin-bottom: 2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.cms-section p {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 1rem;
  line-height: 1.75;
  color: #444;
}

/* --- Dark Section --- */
.cms-section--dark {
  background: var(--darker, #111);
  color: #fff;
  padding: 3rem 2rem;
  border-radius: 20px;
  margin: 2rem 0;
}

.cms-section--dark h2,
.cms-section--dark h3 {
  color: #fff;
}

.cms-section--dark p {
  color: rgba(255, 255, 255, 0.8);
}

/* --- Alt Section (light bg) --- */
.cms-section--alt {
  background: var(--cream, #faf8f4);
  padding: 3rem 2rem;
  border-radius: 20px;
  margin: 2rem 0;
}

/* --- CTA Section --- */
.cms-section--cta {
  text-align: center;
  background: linear-gradient(135deg, var(--dark, #1a1a1a) 0%, #2a2a2a 100%);
  color: #fff;
  padding: 3rem 2rem;
  border-radius: 20px;
  margin: 2rem 0;
}

.cms-section--cta h2 {
  color: #fff;
}

.cms-section--cta p {
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 2rem;
}

/* --- Columns Layout --- */
.cms-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}

/* --- Grid Layouts --- */
.cms-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.cms-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* --- Cards --- */
.cms-card {
  background: #fff;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

.cms-section--dark .cms-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.cms-section--dark .cms-card h3 {
  color: var(--gold, #b8960c);
  text-align: left;
}

.cms-section--dark .cms-card p {
  color: rgba(255, 255, 255, 0.7);
}

.cms-card h3 {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  color: var(--dark, #1a1a1a);
  text-align: left;
}

.cms-card p {
  font-size: 0.95rem;
  line-height: 1.6;
}

.cms-card__icon {
  color: var(--gold, #b8960c);
  margin-bottom: 1rem;
}

.cms-card__number {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--gold, #b8960c);
  opacity: 0.5;
  line-height: 1;
  margin-bottom: 0.75rem;
}

.cms-card--horizontal {
  display: flex;
  flex-direction: column;
}

/* --- Images --- */
.cms-img-rounded {
  width: 100%;
  border-radius: 16px;
  object-fit: cover;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
}

/* --- Checklist --- */
.cms-list-check {
  list-style: none;
  padding: 0;
}

.cms-list-check li {
  position: relative;
  padding: 0.6rem 0 0.6rem 2rem;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 1rem;
  line-height: 1.6;
  color: #444;
}

.cms-list-check li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0.6rem;
  color: var(--gold, #b8960c);
  font-weight: 700;
  font-size: 1.1rem;
}

/* --- Buttons --- */
.cms-btn {
  display: inline-block;
  padding: 0.85rem 2.2rem;
  border-radius: 50px;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
  background: var(--gold, #b8960c);
  color: #fff;
  border: 2px solid var(--gold, #b8960c);
}

.cms-btn:hover {
  background: var(--gold-dark, #9a7d0a);
  border-color: var(--gold-dark, #9a7d0a);
  color: #fff;
  text-decoration: none;
}

.cms-btn--outline {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.cms-btn--outline:hover {
  background: #fff;
  color: var(--dark, #1a1a1a);
  border-color: #fff;
}

/* --- Legal Pages --- */
.cms-legal {
  max-width: 900px;
  margin: 0 auto;
  padding: 2rem 1rem 3rem;
}

.cms-legal h1 {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 2.8rem;
  font-weight: 600;
  color: var(--dark, #1a1a1a);
  margin-bottom: 2rem;
  text-align: center;
}

.cms-legal-content h2 {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--dark, #1a1a1a);
  margin: 2rem 0 0.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid #eee;
}

.cms-legal-content h2:first-child {
  border-top: none;
  padding-top: 0;
}

.cms-legal-content p {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.95rem;
  line-height: 1.75;
  color: #555;
}

.cms-legal-content ul {
  padding-left: 1.5rem;
  margin: 0.75rem 0;
}

.cms-legal-content li {
  font-size: 0.95rem;
  line-height: 1.75;
  color: #555;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .cms-hero {
    height: 280px;
    border-radius: 12px;
  }

  .cms-hero__overlay h1 {
    font-size: 2rem;
  }

  .cms-cols {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .cms-grid-2,
  .cms-grid-3 {
    grid-template-columns: 1fr;
  }

  .cms-section h2 {
    font-size: 1.8rem;
  }

  .cms-section--dark,
  .cms-section--alt,
  .cms-section--cta {
    padding: 2rem 1.25rem;
    border-radius: 12px;
  }

  .cms-legal h1 {
    font-size: 2rem;
  }
}

/* ============================================================
   CMS STORES PAGES - O Millimètre
   ============================================================ */

/* --- Hero label --- */
.cms-hero__label {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--gold, #b8960c);
  margin-bottom: 0.5rem;
  font-weight: 600;
}

/* --- Store Info Layout --- */
.cms-store-info {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 3rem;
  align-items: start;
}

.cms-store-info__main h2 {
  text-align: left;
}

.cms-store-info__main p {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 1rem;
  line-height: 1.75;
  color: #444;
}

/* --- Store Card --- */
.cms-store-card {
  background: #fff;
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08);
  border: 1px solid #f0ede8;
}

.cms-store-card h3 {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--dark, #1a1a1a);
  margin-bottom: 1.5rem;
  text-align: left;
}

/* --- Store Details List --- */
.cms-store-details {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cms-store-details li {
  display: flex;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid #f0ede8;
  align-items: flex-start;
}

.cms-store-details li:last-child {
  border-bottom: none;
}

.cms-store-details li svg {
  flex-shrink: 0;
  color: var(--gold, #b8960c);
  margin-top: 2px;
}

.cms-store-details li div {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.92rem;
  line-height: 1.6;
  color: #555;
}

.cms-store-details li strong {
  color: var(--dark, #1a1a1a);
  display: block;
  margin-bottom: 2px;
}

.cms-store-details li a {
  color: var(--gold, #b8960c);
  text-decoration: none;
  font-weight: 500;
}

.cms-store-details li a:hover {
  text-decoration: underline;
}

/* --- Store Access Layout --- */
.cms-store-access {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 2.5rem;
  align-items: start;
}

.cms-store-access__details h3 {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--dark, #1a1a1a);
  margin-bottom: 1.25rem;
  text-align: left;
}

/* --- Responsive Stores --- */
@media (max-width: 768px) {
  .cms-store-info {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .cms-store-access {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .cms-store-card {
    border-radius: 14px;
  }
}

/* ============================================================
   CMS CUISINE SUR MESURE - O Millimètre
   ============================================================ */

/* Taller hero for cuisine page */
.cms-hero--tall {
  min-height: 420px;
}

/* Steps list (vertical timeline) */
.cms-steps-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.cms-step {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
}

.cms-step__num {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--gold, #b8960c);
  color: #fff;
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 1.4rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cms-step h3 {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--dark, #1a1a1a);
  margin: 0 0 0.35rem;
  text-align: left;
}

.cms-step p {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.92rem;
  line-height: 1.65;
  color: #555;
  margin: 0;
}

@media (max-width: 768px) {
  .cms-hero--tall {
    min-height: 300px;
  }
}

/* ============================================================
   CMS DEVIS EN LIGNE — O Millimètre
   Formulaire multi-étapes élégant
   ============================================================ */

/* --- Reassurance bar --- */
.devis-reassurance {
  display: flex;
  justify-content: center;
  gap: 3rem;
  padding: 2.5rem 2rem;
  background: #faf9f6;
  border-bottom: 1px solid #f0ede8;
}

.devis-reassurance__item {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.devis-reassurance__item svg {
  color: var(--gold, #b8960c);
  flex-shrink: 0;
}

.devis-reassurance__item strong {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.92rem;
  color: var(--dark, #1a1a1a);
  display: block;
}

.devis-reassurance__item span {
  font-size: 0.82rem;
  color: #888;
}

/* --- Wrapper --- */
.devis-wrapper {
  max-width: 820px;
  margin: 0 auto;
  padding: 3rem 2rem 4rem;
}

/* --- Progress Bar --- */
.devis-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 3rem;
}

.devis-progress__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  z-index: 2;
}

.devis-progress__circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #e8e5e0;
  color: #999;
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 1.2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s cubic-bezier(.4, 0, .2, 1);
  border: 2px solid transparent;
}

.devis-progress__step span {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #aaa;
  transition: color 0.3s;
}

.devis-progress__step.active .devis-progress__circle {
  background: var(--gold, #b8960c);
  color: #fff;
  border-color: var(--gold, #b8960c);
  box-shadow: 0 4px 15px rgba(184, 150, 12, 0.3);
}

.devis-progress__step.active span {
  color: var(--dark, #1a1a1a);
  font-weight: 600;
}

.devis-progress__step.completed .devis-progress__circle {
  background: var(--dark, #1a1a1a);
  color: #fff;
  border-color: var(--dark, #1a1a1a);
}

.devis-progress__step.completed span {
  color: #666;
}

.devis-progress__line {
  flex: 1;
  height: 2px;
  background: #e8e5e0;
  margin: 0 0.5rem;
  margin-bottom: 1.5rem;
}

/* --- Steps --- */
.devis-step {
  display: none;
  animation: devisSlideIn 0.4s ease;
}

.devis-step.active {
  display: block;
}

@keyframes devisSlideIn {
  from {
    opacity: 0;
    transform: translateY(15px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.devis-step__header {
  margin-bottom: 2rem;
}

.devis-step__header h2 {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 2rem;
  font-weight: 600;
  color: var(--dark, #1a1a1a);
  margin: 0 0 0.5rem;
  text-align: left;
}

.devis-step__header p {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.95rem;
  color: #888;
  margin: 0;
}

/* --- Fields --- */
.devis-field-group {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}

.devis-field-group--inline {
  flex-wrap: nowrap;
}

.devis-field {
  flex: 1 1 100%;
}

.devis-field--half {
  flex: 1 1 calc(50% - 0.625rem);
  min-width: 200px;
}

.devis-field--third {
  flex: 1 1 calc(33.33% - 0.85rem);
  min-width: 140px;
}

.devis-field label {
  display: block;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--dark, #1a1a1a);
  margin-bottom: 0.5rem;
  letter-spacing: 0.3px;
}

.devis-field input[type="text"],
.devis-field input[type="email"],
.devis-field input[type="tel"],
.devis-field input[type="number"],
.devis-field select,
.devis-field textarea {
  width: 100%;
  padding: 0.85rem 1.1rem;
  border: 1.5px solid #e0ddd8;
  border-radius: 12px;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.95rem;
  color: var(--dark, #1a1a1a);
  background: #fff;
  transition: all 0.3s;
  outline: none;
  -webkit-appearance: none;
  box-sizing: border-box;
}

.devis-field input:focus,
.devis-field select:focus,
.devis-field textarea:focus {
  border-color: var(--gold, #b8960c);
  box-shadow: 0 0 0 3px rgba(184, 150, 12, 0.1);
}

.devis-field input::placeholder,
.devis-field textarea::placeholder {
  color: #bbb;
}

.devis-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}

.devis-field textarea {
  resize: vertical;
  min-height: 100px;
}

/* --- Checkboxes --- */
.devis-checkbox {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.92rem;
  color: #444;
  padding: 0.4rem 0;
}

.devis-checkbox input[type="checkbox"] {
  width: 20px;
  height: 20px;
  border-radius: 6px;
  border: 1.5px solid #d0cdc8;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s;
  position: relative;
}

.devis-checkbox input[type="checkbox"]:checked {
  background: var(--gold, #b8960c);
  border-color: var(--gold, #b8960c);
}

.devis-checkbox input[type="checkbox"]:checked::after {
  content: '✓';
  color: #fff;
  font-size: 13px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.devis-checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.devis-checkbox-group--services {
  flex-direction: row;
  gap: 1rem;
  flex-wrap: wrap;
}

.devis-checkbox--card {
  flex: 1;
  min-width: 180px;
}

.devis-checkbox--card input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.devis-checkbox__card {
  background: #faf9f6;
  border: 1.5px solid #e8e5e0;
  border-radius: 14px;
  padding: 1.25rem;
  text-align: center;
  transition: all 0.3s;
  cursor: pointer;
}

.devis-checkbox__card svg {
  color: #999;
  margin-bottom: 0.5rem;
  transition: color 0.3s;
}

.devis-checkbox__card strong {
  display: block;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.88rem;
  color: var(--dark, #1a1a1a);
  margin-bottom: 0.2rem;
}

.devis-checkbox__card span {
  font-size: 0.8rem;
  color: #999;
}

.devis-checkbox--card input:checked+.devis-checkbox__card {
  border-color: var(--gold, #b8960c);
  background: rgba(184, 150, 12, 0.05);
  box-shadow: 0 2px 12px rgba(184, 150, 12, 0.15);
}

.devis-checkbox--card input:checked+.devis-checkbox__card svg {
  color: var(--gold, #b8960c);
}

/* --- Plaque row --- */
.devis-plaque-row {
  background: #faf9f6;
  border: 1px solid #f0ede8;
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  margin-top: 1.25rem;
}

.devis-plaque-row h4 {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--gold, #b8960c);
  margin: 0 0 1rem;
}

/* --- Navigation buttons --- */
.devis-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid #f0ede8;
}

.devis-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 2rem;
  border: none;
  border-radius: 50px;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.92rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  text-decoration: none;
}

.devis-btn--next {
  background: var(--dark, #1a1a1a);
  color: #fff;
}

.devis-btn--next:hover {
  background: var(--gold, #b8960c);
  transform: translateX(3px);
}

.devis-btn--prev {
  background: transparent;
  color: #888;
  border: 1.5px solid #e0ddd8;
}

.devis-btn--prev:hover {
  border-color: var(--dark, #1a1a1a);
  color: var(--dark, #1a1a1a);
  transform: translateX(-3px);
}

.devis-btn--submit {
  background: var(--gold, #b8960c);
  color: #fff;
  font-size: 1rem;
  padding: 1rem 2.5rem;
}

.devis-btn--submit:hover {
  background: #a07d00;
  box-shadow: 0 6px 20px rgba(184, 150, 12, 0.35);
  transform: translateY(-2px);
}

.devis-btn span {
  font-size: 1.1rem;
  transition: transform 0.3s;
}

.devis-btn--next:hover span {
  transform: translateX(3px);
}

.devis-btn--prev:hover span {
  transform: translateX(-3px);
}

/* --- Success --- */
.devis-success {
  text-align: center;
  padding: 4rem 2rem;
}

.devis-success__icon {
  margin-bottom: 1.5rem;
}

.devis-success h2 {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 2.2rem;
  color: var(--dark, #1a1a1a);
  margin-bottom: 1rem;
}

.devis-success p {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 1.05rem;
  color: #666;
  max-width: 500px;
  margin: 0 auto;
  line-height: 1.7;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .devis-reassurance {
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem;
    align-items: flex-start;
  }

  .devis-wrapper {
    padding: 2rem 1rem 3rem;
  }

  .devis-progress {
    gap: 0;
  }

  .devis-progress__step span {
    display: none;
  }

  .devis-progress__line {
    margin-bottom: 0;
  }

  .devis-field--half,
  .devis-field--third {
    flex: 1 1 100%;
  }

  .devis-field-group--inline {
    flex-wrap: wrap;
  }

  .devis-checkbox-group--services {
    flex-direction: column;
  }

  .devis-step__header h2 {
    font-size: 1.6rem;
  }
}

/* ============================================================
   CMS PAGES V2 UPGRADE — O Millimètre
   Breadcrumb fix + Devis redesign + Stores WOW
   ============================================================ */

/* ===========================================
   1. BREADCRUMB & TITLE FIX (all CMS pages)
   =========================================== */

/* Hide the default PrestaShop h1 page-title on CMS pages (we use our own in hero) */
.page-cms .page-header,
.page-cms-9 .page-header,
.page-cms-10 .page-header,
.page-cms-11 .page-header,
.page-cms-12 .page-header,
.page-cms-13 .page-header,
section.page-cms~.page-header,
#content-wrapper .page-header {
  display: none !important;
}

/* Breadcrumb: properly spaced and aligned with content */
body#cms nav.breadcrumb {
  max-width: 1100px;
  margin: 0 auto 0.75rem !important;
  padding: 0.9rem 1rem 0.5rem !important;
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 0.82rem;
  color: #999;
}

body#cms nav.breadcrumb a {
  color: #888;
  text-decoration: none;
  transition: color 0.2s;
}

body#cms nav.breadcrumb a:hover {
  color: var(--gold, #b8960c);
}

body#cms nav.breadcrumb li::after {
  color: #ccc;
}

/* Container alignment fix */
body#cms #wrapper>.container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body#cms #content-wrapper {
  padding: 0;
}

/* ===========================================
   2. DEVIS PAGE — More visible, more beautiful
   =========================================== */

/* Make hero smaller to show form faster */
.cms-devis .cms-hero {
  height: 280px;
  margin-bottom: 0;
  border-radius: 0;
}

.cms-devis .cms-hero__overlay h1 {
  font-size: 2.5rem;
}

/* Reassurance bar tighter */
.devis-reassurance {
  padding: 1.5rem 2rem !important;
  gap: 2.5rem !important;
  background: linear-gradient(180deg, #faf9f6 0%, #fff 100%) !important;
  border-bottom: none !important;
}

/* Form wrapper tighter */
.devis-wrapper {
  padding-top: 2rem !important;
}

/* Progress bar more compact */
.devis-progress {
  margin-bottom: 2rem !important;
}

/* Form card style — wrap each step in a card-like container */
.devis-step.active {
  background: #fff;
  border: 1px solid #f0ede8;
  border-radius: 20px;
  padding: 2.5rem;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.04);
}

/* Step header slightly bigger */
.devis-step__header h2 {
  font-size: 2.2rem !important;
}

/* Submit button larger */
.devis-btn--submit {
  padding: 1.1rem 3rem !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.3px;
}

/* ===========================================
   3. STORES PAGES — WOW Effect
   =========================================== */

/* Full-bleed hero for stores */
.cms-store .cms-hero {
  height: 450px;
  border-radius: 0;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  margin-bottom: 0;
}

.cms-store .cms-hero__overlay {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.75) 100%);
}

.cms-store .cms-hero__overlay h1 {
  font-size: 3.5rem;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

.cms-store .cms-hero__label {
  background: var(--gold, #b8960c);
  color: #fff;
  padding: 0.35rem 1.2rem;
  border-radius: 50px;
  font-size: 0.72rem;
  letter-spacing: 3px;
  display: inline-block;
  margin-bottom: 1rem;
}

/* Store info section: bigger spacing + decorative line */
.cms-store .cms-section:first-of-type {
  padding-top: 4rem;
}

.cms-store .cms-store-info__main h2 {
  font-size: 2.2rem;
  position: relative;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}

.cms-store .cms-store-info__main h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background: var(--gold, #b8960c);
  border-radius: 3px;
}

.cms-store .cms-store-info__main p {
  font-size: 1.05rem;
  line-height: 1.85;
  color: #555;
}

/* Store card — more premium feel */
.cms-store .cms-store-card {
  background: linear-gradient(135deg, #faf9f6 0%, #fff 100%);
  border-radius: 24px !important;
  padding: 2.5rem !important;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08) !important;
  border: none !important;
  position: relative;
  overflow: hidden;
}

.cms-store .cms-store-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--gold, #b8960c) 0%, #d4b84a 100%);
}

.cms-store .cms-store-card h3 {
  font-size: 1.6rem !important;
  margin-bottom: 2rem !important;
}

/* Store details — icons with gold bg circles */
.cms-store .cms-store-details li {
  padding: 1.15rem 0 !important;
}

.cms-store .cms-store-details li svg {
  background: rgba(184, 150, 12, 0.1);
  padding: 8px;
  border-radius: 12px;
  width: 36px;
  height: 36px;
  box-sizing: content-box;
}

/* CTA button in store card */
.cms-store .cms-store-card .cms-btn {
  background: var(--dark, #1a1a1a) !important;
  color: #fff !important;
  border-radius: 50px !important;
  padding: 1rem 2rem !important;
  font-size: 0.95rem !important;
  font-weight: 600;
  transition: all 0.3s;
  border: none !important;
}

.cms-store .cms-store-card .cms-btn:hover {
  background: var(--gold, #b8960c) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(184, 150, 12, 0.3);
}

/* Cards in stores — more visual impact */
.cms-store .cms-card {
  border-radius: 20px !important;
  padding: 2rem 1.5rem !important;
  transition: all 0.4s cubic-bezier(.4, 0, .2, 1) !important;
}

.cms-store .cms-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12) !important;
}

.cms-store .cms-card__number {
  font-size: 2.5rem !important;
  background: linear-gradient(135deg, var(--gold, #b8960c), #d4b84a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
}

.cms-store .cms-card__icon svg {
  color: var(--gold, #b8960c);
}

.cms-store .cms-section--dark .cms-card {
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 20px !important;
}

.cms-store .cms-section--dark .cms-card:hover {
  border-color: var(--gold, #b8960c) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

/* Access section — map iframe larger */
.cms-store .cms-store-access {
  gap: 3rem !important;
}

.cms-store .cms-store-access__map iframe {
  border-radius: 20px !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

/* CTA section — full-bleed gradient */
.cms-store .cms-section--cta {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  padding: 4rem 2rem !important;
  background: linear-gradient(135deg, var(--dark, #1a1a1a) 0%, #2a2a2a 100%) !important;
  border-radius: 0 !important;
}

.cms-store .cms-section--cta h2 {
  font-size: 2.2rem;
}

/* Stores — also full-bleed the dark section */
.cms-store .cms-section--dark {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  border-radius: 0 !important;
}

/* Alt sections in stores — slightly rounder */
.cms-store .cms-section--alt {
  border-radius: 0 !important;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
}

/* === Responsive Stores === */
@media (max-width: 768px) {
  .cms-store .cms-hero {
    height: 320px;
  }

  .cms-store .cms-hero__overlay h1 {
    font-size: 2.2rem;
  }

  .cms-store .cms-store-card {
    padding: 1.5rem !important;
    border-radius: 16px !important;
  }

  .cms-store .cms-section--cta,
  .cms-store .cms-section--dark,
  .cms-store .cms-section--alt {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .devis-step.active {
    padding: 1.5rem;
    border-radius: 14px;
  }

  .cms-devis .cms-hero {
    height: 200px;
  }
}

/* ============================================================
   CMS V3 — Breadcrumb polish + Stores & Devis refinements
   ============================================================ */

/* --- Hide breadcrumb on store & devis pages (hero is full-bleed) --- */
.page-cms-9~nav.breadcrumb,
.page-cms-10~nav.breadcrumb,
.page-cms-11~nav.breadcrumb,
.page-cms-13~nav.breadcrumb,
body#cms nav.breadcrumb {
  display: none !important;
}

/* --- Devis: hero full-bleed like stores --- */
.cms-devis .cms-hero {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  width: 100vw !important;
  border-radius: 0 !important;
  height: 300px !important;
}

/* --- Devis: form card shadow refinement --- */
.devis-step.active {
  animation: devisCardIn 0.5s ease;
}

@keyframes devisCardIn {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* --- Devis: nicer field focus glow --- */
.devis-field input:focus,
.devis-field select:focus,
.devis-field textarea:focus {
  box-shadow: 0 0 0 4px rgba(184, 150, 12, 0.12) !important;
  border-color: var(--gold, #b8960c) !important;
}

/* --- Stores: animate cards on scroll (hover-ready state) --- */
.cms-store .cms-card {
  opacity: 1;
  transform: translateY(0);
}

/* --- Stores: info card CTA bigger --- */
.cms-store .cms-store-card .cms-btn {
  font-size: 1rem !important;
  padding: 1.1rem 2.5rem !important;
  letter-spacing: 0.3px;
}

/* --- Stores: "Ce que vous trouverez" section title accent --- */
.cms-store .cms-section--alt h2,
.cms-store .cms-section--dark h2 {
  position: relative;
  display: inline-block;
}

.cms-store .cms-section--alt h2::after,
.cms-store .cms-section--dark h2::after {
  content: '';
  display: block;
  width: 50px;
  height: 3px;
  background: var(--gold, #b8960c);
  border-radius: 3px;
  margin: 0.75rem auto 0;
}

/* --- Stores: access section check list enhanced --- */
.cms-store .cms-list-check li {
  padding: 0.6rem 0;
  font-size: 0.95rem;
  border-bottom: 1px solid #f0ede8;
}

.cms-store .cms-list-check li:last-child {
  border-bottom: none;
}

/* --- Stores: hero text animation feel --- */
.cms-store .cms-hero__overlay h1 {
  letter-spacing: -0.02em;
}

.cms-store .cms-hero__sub {
  font-size: 1.15rem;
  max-width: 500px;
  margin: 0 auto;
}

/* --- Also hide breadcrumb on cuisine page --- */
.page-cms-12~nav.breadcrumb {
  display: none !important;
}

/* --- Cuisine hero full-bleed --- */
.cms-cuisine .cms-hero {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  width: 100vw !important;
  border-radius: 0 !important;
}

/* --- All CMS pages with .cms-page: hide breadcrumb globally --- */
/* Since all our custom CMS pages have hero banners, hide breadcrumb on all of them */

/* --- For non-custom CMS pages (legal, CGV etc), keep breadcrumb but fix spacing --- */
body#cms #content-wrapper {
  padding-top: 0 !important;
}

/* ============================================================
   WHITE TEXT FIX — All gold/dark background buttons
   ============================================================ */

/* Category page: CONFIGURER button hover → white text */
body#category .product-miniature .btn-product:hover,
body#category .product-miniature .add-to-cart:hover,
body#category .product-miniature .product-add-cart a:hover,
body#category .product-miniature .product-add-cart button:hover {
  color: #fff !important;
}

/* CMS buttons: always white text on gold bg */
.cms-btn,
.cms-btn:hover,
.cms-btn:focus,
.cms-btn:active,
.cms-btn:visited {
  color: #fff !important;
}

/* CMS outline buttons: white on transparent, dark on hover (white bg) */
.cms-btn--outline {
  color: #fff !important;
}

.cms-btn--outline:hover {
  color: var(--dark, #1a1a1a) !important;
}

/* Devis submit button */
.devis-btn--submit,
.devis-btn--submit:hover {
  color: #fff !important;
}

/* Store card CTA button */
.cms-store .cms-store-card .cms-btn,
.cms-store .cms-store-card .cms-btn:hover {
  color: #fff !important;
}

/* Global: any element with gold background should have white text */
a[style*='background'][style*='gold'],
button[style*='background'][style*='gold'] {
  color: #fff !important;
}

/* ============================================================
   WHITE TEXT FIX V2 — Homepage CTA + Configurator quote buttons
   ============================================================ */

/* Homepage: Demander un devis gratuit button (a.bg on index.tpl) */
body#index a.bg,
body#index a.bg:hover,
body#index a.bg:focus,
body#index a.bg:visited {
  color: #fff !important;
}

/* Configurator: Demander un devis outline button — white on hover gold */
body#product #oc-configurator .oc-cta__quote,
body#product #oc-configurator button.oc-cta__quote {
  color: #fff !important;
}

body#product #oc-configurator .oc-cta__quote:hover,
body#product #oc-configurator button.oc-cta__quote:hover {
  color: #fff !important;
}

/* Global catch-all: any button/link with gold-ish background */
a[class*='bg-gold'],
button[class*='bg-gold'],
.btn-gold,
.btn-gold:hover {
  color: #fff !important;
}

/* Fix: hero badge too close to top */
body#index .hp .hero-c {
  padding-top: 40px;
}

/* ============================================================
   STORE PAGES V2 — Gallery, Atelier, Testimonials, Delivery
   ============================================================ */

/* --- Gallery Grid --- */
.cms-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  max-width: 1100px;
  margin: 0 auto;
}

.cms-gallery-item {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/3;
}

.cms-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(.4, 0, .2, 1);
}

.cms-gallery-item:hover img {
  transform: scale(1.05);
}

.cms-gallery-item--large {
  grid-column: span 2;
  grid-row: span 2;
  aspect-ratio: auto;
}

.cms-gallery-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.2rem 1.5rem;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, transparent 100%);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 500;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s ease;
}

.cms-gallery-item:hover .cms-gallery-caption {
  opacity: 1;
  transform: translateY(0);
}

/* --- Atelier Grid --- */
.cms-store-atelier__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto;
}

.cms-store-atelier__item {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.4s cubic-bezier(.4, 0, .2, 1);
}

.cms-store-atelier__item:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.1);
}

.cms-store-atelier__item img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.cms-store-atelier__item h3 {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 1.4rem;
  margin: 1.25rem 1.5rem 0.5rem;
  color: var(--dark, #1a1a1a);
}

.cms-store-atelier__item p {
  font-size: 0.92rem;
  line-height: 1.7;
  color: #666;
  margin: 0 1.5rem 1.5rem;
}

/* --- Delivery Section --- */
.cms-store-delivery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}

.cms-store-delivery__image img {
  width: 100%;
  border-radius: 20px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

.cms-store-delivery__content h2 {
  font-family: var(--elegant, 'Cormorant Garamond', serif);
  font-size: 2rem;
  margin-bottom: 1rem;
  color: var(--dark, #1a1a1a);
}

.cms-store-delivery__content p {
  font-size: 1rem;
  line-height: 1.8;
  color: #555;
  margin-bottom: 1.5rem;
}

.cms-list-check {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cms-list-check li {
  padding: 0.65rem 0;
  font-size: 0.95rem;
  color: #444;
  border-bottom: 1px solid #f0ede8;
}

.cms-list-check li:last-child {
  border-bottom: none;
}

/* --- Testimonials --- */
.cms-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto;
}

.cms-testimonial {
  background: #fff;
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.cms-testimonial:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.cms-testimonial__stars {
  color: var(--gold, #b8960c);
  font-size: 1.1rem;
  margin-bottom: 1rem;
  letter-spacing: 2px;
}

.cms-testimonial__text {
  font-size: 0.95rem;
  line-height: 1.75;
  color: #555;
  font-style: italic;
  margin-bottom: 1.25rem;
}

.cms-testimonial__author {
  font-size: 0.85rem;
  color: #999;
}

.cms-testimonial__author strong {
  color: var(--dark, #1a1a1a);
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .cms-gallery-grid {
    grid-template-columns: 1fr;
  }

  .cms-gallery-item--large {
    grid-column: span 1;
    grid-row: span 1;
  }

  .cms-store-atelier__grid {
    grid-template-columns: 1fr;
  }

  .cms-store-delivery {
    grid-template-columns: 1fr;
  }

  .cms-testimonials {
    grid-template-columns: 1fr;
  }

  .cms-cols {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 480px) {
  .cms-cols {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   MOBILE FIX — Hide Warehouse mobile header entirely.
   A custom mobile nav is built into .on-header-wrap instead.
   ============================================================ */
#mobile-header {
  display: none !important;
}

/* ============================================================
   CUSTOM MOBILE NAV — slide-out menu
   ============================================================ */
.on-mobile-nav {
  position: fixed !important;
  top: 0 !important;
  left: -100% !important;
  width: 75vw !important;
  max-width: 300px !important;
  height: 100vh !important;
  z-index: 10001 !important;
  background: #fff !important;
  box-shadow: 4px 0 30px rgba(0, 0, 0, .15) !important;
  transition: left .35s cubic-bezier(.4, 0, .2, 1) !important;
  overflow-y: auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

nav.on-mobile-nav.open {
  left: 0 !important;
}

/* Overlay */
.on-mobile-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, .45) !important;
  z-index: 10000 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .35s !important;
}

.on-mobile-overlay.open {
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Menu header */
.on-mobile-nav__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 24px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.on-mobile-nav__head .on-logo {
  font-size: 1.2rem !important;
}

.on-mobile-nav__close {
  background: none !important;
  border: none !important;
  font-size: 1.6rem !important;
  cursor: pointer !important;
  color: #2d2d2d !important;
  padding: 4px 8px !important;
  line-height: 1 !important;
}

/* Menu links */
.on-mobile-nav__links {
  list-style: none !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  flex: 1 !important;
}

.on-mobile-nav__links li a {
  display: block !important;
  padding: 15px 28px !important;
  font-size: .95rem !important;
  font-weight: 500 !important;
  color: #2d2d2d !important;
  text-decoration: none !important;
  border-bottom: 1px solid #f5f5f5 !important;
  transition: color .2s, background .2s !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.on-mobile-nav__links li a:hover {
  color: #b8945f !important;
  background: #faf8f5 !important;
}

/* Menu footer */
.on-mobile-nav__foot {
  padding: 20px 28px !important;
  border-top: 1px solid #f0f0f0 !important;
  font-size: .8rem !important;
  color: #999 !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.on-mobile-nav__foot a {
  color: #b8945f !important;
  text-decoration: none !important;
}

.on-mobile-nav__cta {
  display: block !important;
  margin: 0 28px 16px !important;
  padding: 14px !important;
  background: #141414 !important;
  color: #fff !important;
  text-align: center !important;
  border-radius: 8px !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  letter-spacing: .5px !important;
  transition: background .2s !important;
}

.on-mobile-nav__cta:hover {
  background: #b8945f !important;
}

/* ============================================================
   MOBILE FIX — Product page responsive (≤ 768px)
   Force single-column stacking, proper sizing, no overflow.
   ============================================================ */
@media (max-width: 768px) {

  /* Force single column layout — reset desktop grid */
  body#product .product-info-row {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 0 16px !important;
  }

  /* Remove desktop padding on product container */
  body#product .product-container {
    padding: 10px 0 0 !important;
  }

  /* Image column: full width, disable sticky */
  body#product .col-product-image {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    position: static !important;
    top: auto !important;
  }

  /* Info column: full width */
  body#product .col-product-info {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    margin-top: 20px !important;
  }

  /* Product cover image */
  body#product .product-cover {
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  body#product .product-cover img {
    width: 100% !important;
    height: auto !important;
  }

  /* Thumbnails row */
  body#product .product-images,
  body#product .after-cover-tumbnails,
  body#product .after-cover-tumbnails2 {
    gap: 8px !important;
    margin-top: 10px !important;
  }

  body#product .product-images li,
  body#product .after-cover-tumbnails .thumb-container,
  body#product .after-cover-tumbnails2 .thumb-container {
    width: 60px !important;
    height: 60px !important;
  }

  /* Product title */
  body#product h1.page-title,
  body#product h1.product-title,
  body#product .product_header_container h1 {
    font-size: 1.6rem !important;
    line-height: 1.25 !important;
    margin-bottom: 10px !important;
  }

  /* Price */
  body#product .product-price,
  body#product .current-price,
  body#product [itemprop="price"],
  body#product .product-prices .current-price-value {
    font-size: 1.5rem !important;
  }

  /* Description short */
  body#product .product-description-short {
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
  }

  /* Configurator */
  body#product .oc-layout {
    flex-direction: column !important;
    gap: 20px !important;
  }

  body#product .oc-sidebar,
  body#product .oc-options {
    width: 100% !important;
    max-width: 100% !important;
  }

  body#product .oc-sidebar__inner {
    position: static !important;
  }

  /* Tabs section */
  body#product .product-tabs {
    padding: 30px 0 !important;
  }

  body#product .product-tabs .nav-tabs {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  body#product .product-tabs .nav-tabs .nav-link {
    font-size: 0.8rem !important;
    padding: 8px 14px !important;
  }

  /* Breadcrumb */
  body#product .breadcrumb {
    font-size: 0.75rem !important;
    padding: 10px 16px !important;
    flex-wrap: wrap !important;
  }

  /* Prevent horizontal overflow */
  body#product #main,
  body#product #content-wrapper,
  body#product .page-content {
    overflow-x: hidden !important;
  }

  /* Custom sections responsive */
  body#product .on-material-stats {
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    padding: 30px 16px !important;
  }

  body#product .on-story-section {
    padding: 40px 16px !important;
  }

  body#product .on-reassurance {
    padding: 40px 16px !important;
  }

  body#product .on-reassurance-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* Sticky bottom bar */
  body#product .on-sticky-bar {
    padding: 0 10px !important;
  }

  body#product .on-sticky-inner {
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 10px 0 !important;
  }

  body#product .on-sticky-info {
    display: none !important;
  }

  /* Product accessories / related products */
  body#product .product-accessories .products,
  body#product .block-section .products {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    gap: 12px !important;
    padding: 0 16px !important;
  }

  body#product .product-accessories .product-miniature,
  body#product .block-section .product-miniature {
    min-width: 200px !important;
    scroll-snap-align: start !important;
  }
}

/* Extra small screens */
@media (max-width: 480px) {
  body#product .on-material-stats {
    grid-template-columns: 1fr !important;
  }

  body#product h1.page-title,
  body#product h1.product-title {
    font-size: 1.35rem !important;
  }
}