/* ==============================================
   El Hair Couture — Custom Theme Overrides
   Child theme of Hummingbird (PrestaShop 8)
   ============================================== */

/* --- CSS Variables / Design Tokens --- */
:root {
  --eh-black: #0a0a0a;
  --eh-black-deep: #060606;
  --eh-black-card: #0a0a0a;
  --eh-black-card-border: #1a1a1a;
  --eh-white: #ffffff;
  --eh-white-off: #f5f0eb;
  --eh-beige: #d4b896;
  --eh-beige-light: #e8d5be;
  --eh-beige-muted: #c4a882;
  --eh-gray: #d5b896;
  --eh-gray-light: #aaaaaa;
  --eh-gray-dark: #666666;
  --eh-gray-subtle: #999999;
  --eh-green: #4caf50;

  --eh-font-serif: 'Cormorant Garamond', 'Georgia', serif;
  --eh-font-sans: 'Inter', 'Helvetica Neue', 'Arial', sans-serif;

  --eh-transition-fast: 0.2s ease;
  --eh-transition-base: 0.3s ease;
  --eh-transition-slow: 0.5s ease;
}

/* ==============================================
   1. BASE / RESET
   ============================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background-color: var(--eh-black) !important;
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans) !important;
  font-weight: 300;
  font-size: 0.875rem;
  line-height: 1.5;
}

::selection {
  background: var(--eh-beige);
  color: var(--eh-black);
}

/* ==============================================
   2. TYPOGRAPHY
   ============================================== */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--eh-font-serif) !important;
  color: var(--eh-white-off) !important;
  font-weight: 400;
  line-height: 1.1;
}

h1, .h1 {
  font-size: 2.5rem;
  font-style: italic;
}
h2, .h2 {
  font-size: 2rem;
  font-style: italic;
}
h3, .h3 {
  font-size: 1.5rem;
  font-style: italic;
}
h4, .h4 {
  font-size: 1.25rem;
  font-style: italic;
}

@media (min-width: 768px) {
  h1, .h1 { font-size: 3.25rem; }
  h2, .h2 { font-size: 2.5rem; }
  h3, .h3 { font-size: 2rem; }
}

@media (min-width: 1024px) {
  h1, .h1 { font-size: 5rem; }
  h2, .h2 { font-size: 3.25rem; }
  h3, .h3 { font-size: 2.5rem; }
}

p, li, td, th, label, span, div {
  color: inherit;
}

a {
  color: var(--eh-beige);
  text-decoration: none;
  transition: color var(--eh-transition-fast);
}
a:hover {
  color: var(--eh-beige-light);
}

/* ==============================================
   3. HEADER
   ============================================== */
.header-top,
.header__banner,
header,
#header {
  background-color: var(--eh-black) !important;
  border-bottom: 1px solid var(--eh-black-card-border) !important;
}

.header-top {
  background-color: transparent !important;
  border-bottom: none !important;
}

@media (max-width: 767px) {
  /* Header overflow prevention */
  #header,
  .header-top,
  .header-top .container,
  .header-top .row {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  /* Hide desktop logo in header-top on mobile (hidden-sm-down is BS4, not BS3) */
  #_desktop_logo {
    display: none !important;
  }

  /* Search bar takes full width */
  .header-top {
    padding: 0 !important;
  }
  .header-top .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }
  .header-top .row {
    margin: 0 !important;
    width: 100% !important;
  }
  .header-top .col-md-10,
  .header-top .col-sm-12,
  .header-top .header-top-right {
    width: 100% !important;
    padding: 0 !important;
    float: none !important;
  }
  .header-top .search-widgets,
  .header-top #search_widget {
    margin: 0 !important;
    width: 100% !important;
  }
  .header-top #search_widget form {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
  }
  .header-top .ui-autocomplete-input,
  .header-top input[type="text"],
  .header-top input[type="search"],
  #search_widget input {
    height: 40px !important;
    padding: 0 0.75rem !important;
    font-size: 0.85rem !important;
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  /* Breadcrumb — compact on mobile */
  .breadcrumb,
  #wrapper .breadcrumb {
    font-size: 0.65rem !important;
    padding: 0.4rem 0.75rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .breadcrumb ol,
  .breadcrumb nav {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex-wrap: nowrap !important;
  }
  .breadcrumb li,
  .breadcrumb li a,
  .breadcrumb li span {
    font-size: 0.65rem !important;
    white-space: nowrap !important;
  }
}

.header-bottom,
#header .header-bottom {
  background-color: var(--eh-black) !important;
}

.header-bottom__container {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

#header .header-block__action-btn,
#header .header-block__icon,
#header a,
.header-top a,
.header-bottom a {
  color: var(--eh-white-off) !important;
  text-decoration: none;
}

#header .header-block__action-btn:hover,
#header a:hover,
.header-top a:hover {
  color: var(--eh-beige) !important;
}

/* Navigation links */
#_desktop_top_menu .top-menu a,
.top-menu a,
#top-menu a,
.js-top-menu a {
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans) !important;
  font-weight: 400;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: color var(--eh-transition-fast);
}

#_desktop_top_menu .top-menu a:hover,
.top-menu a:hover,
#top-menu a:hover {
  color: var(--eh-beige) !important;
}

/* Logo */
img.logo,
.logo img,
#header img.logo,
#header .logo img,
#_desktop_logo img {
  max-height: 70px !important;
  width: auto !important;
  height: auto !important;
  filter: brightness(1.1);
}
#_desktop_logo,
#_desktop_logo h1,
#_desktop_logo a {
  line-height: 1 !important;
  font-size: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

/* Cart badge */
.header-block__badge,
.cart-products-count {
  background-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
  font-size: 0.625rem;
  font-weight: 600;
  min-width: 18px;
  height: 18px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Search bar */
.search-widget input,
#search_widget input {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans);
}

.search-widget input::placeholder {
  color: var(--eh-gray) !important;
}

/* Mobile menu / Offcanvas */
.offcanvas,
.offcanvas-start,
.offcanvas-end {
  background-color: var(--eh-black) !important;
  color: var(--eh-white-off) !important;
}

.offcanvas .btn-close {
  filter: invert(1);
}

/* Sub-menus dropdown */
.dropdown-menu,
.top-menu .sub-menu,
.popover {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
}

.dropdown-item,
.top-menu .sub-menu a {
  color: var(--eh-white-off) !important;
}
.dropdown-item:hover,
.dropdown-item:focus,
.top-menu .sub-menu a:hover {
  background-color: var(--eh-black) !important;
  color: var(--eh-beige) !important;
}

/* ==============================================
   4. BUTTONS
   ============================================== */
.btn-primary,
.btn-primary:visited,
button.btn-primary {
  background-color: var(--eh-beige) !important;
  border-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
  font-family: var(--eh-font-sans) !important;
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.875rem 2rem;
  border-radius: 0;
  transition: all var(--eh-transition-base);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
button.btn-primary:hover {
  background-color: var(--eh-beige-light) !important;
  border-color: var(--eh-beige-light) !important;
  color: var(--eh-black) !important;
}

.btn-secondary,
.btn-outline-secondary {
  background-color: transparent !important;
  border: 1px solid var(--eh-beige) !important;
  color: var(--eh-beige) !important;
  font-family: var(--eh-font-sans) !important;
  font-weight: 400;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.875rem 2rem;
  border-radius: 0;
  transition: all var(--eh-transition-base);
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-outline-secondary:hover {
  background-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

.btn-tertiary,
.btn-outline-primary {
  background-color: transparent !important;
  border: 1px solid var(--eh-white-off) !important;
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.875rem 2rem;
  border-radius: 0;
  transition: all var(--eh-transition-base);
}

.btn-tertiary:hover,
.btn-outline-primary:hover {
  background-color: var(--eh-white-off) !important;
  color: var(--eh-black) !important;
}

/* Add to cart button */
.add-to-cart,
.add-to-cart:visited,
#add-to-cart-or-refresh .add-to-cart {
  background-color: var(--eh-beige) !important;
  border-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
  font-family: var(--eh-font-sans) !important;
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 1rem 2.5rem;
  border-radius: 0;
  transition: all var(--eh-transition-base);
  width: 100%;
}

.add-to-cart:hover {
  background-color: var(--eh-beige-light) !important;
  border-color: var(--eh-beige-light) !important;
}

/* ==============================================
   5. FORMS
   ============================================== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="search"],
textarea,
select,
.form-control,
.form-select,
.custom-select {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans);
  font-size: 0.875rem;
  padding: 0.75rem 1rem;
  border-radius: 2px;
  transition: border-color var(--eh-transition-fast);
}

input:focus,
textarea:focus,
select:focus,
.form-control:focus,
.form-select:focus {
  border-color: var(--eh-beige) !important;
  box-shadow: none !important;
  outline: none;
  background-color: var(--eh-black-card) !important;
  color: var(--eh-white-off) !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--eh-gray) !important;
}

label,
.form-label {
  color: var(--eh-white-off);
  font-family: var(--eh-font-sans);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

/* Quantity selector */
.qty-input,
.product-quantity .qty,
.product-quantity input[name="qty"],
.js-cart-line-product-quantity {
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
  text-align: center;
  font-family: var(--eh-font-sans);
}

.product-quantity .input-group-btn button,
.qty-input__btn,
.js-touchspin button,
.input-group .btn {
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
}

/* Color swatches */
.variant-links .color,
.color-swatch,
.product-variants .color {
  border: 2px solid var(--eh-black-card-border);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  cursor: pointer;
  transition: border-color var(--eh-transition-fast);
}

.variant-links .color.active,
.variant-links .color:hover,
.color-swatch.active {
  border-color: var(--eh-beige);
}

/* Checkbox / Radio */
.custom-checkbox input[type="checkbox"],
.custom-radio input[type="radio"] {
  accent-color: var(--eh-beige);
}

/* ==============================================
   6. PRODUCT PAGE
   ============================================== */
.product__name,
.product-title,
#main .product__name {
  font-family: var(--eh-font-serif) !important;
  font-style: italic;
  font-weight: 400;
  font-size: 2rem;
  color: var(--eh-white-off) !important;
  margin-bottom: 0.5rem;
}

@media (min-width: 1024px) {
  .product__name,
  .product-title {
    font-size: 2.5rem;
  }
}

/* Product category label */
.product-category,
.product__category {
  font-family: var(--eh-font-sans);
  font-size: 0.6875rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--eh-beige) !important;
  margin-bottom: 0.5rem;
}

/* Product price */
.product-prices .current-price,
.product-price,
.current-price-value,
.product__current-price {
  font-family: var(--eh-font-serif) !important;
  font-size: 1.5rem;
  color: var(--eh-white-off) !important;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.product-prices .regular-price,
.regular-price {
  color: var(--eh-gray) !important;
  text-decoration: line-through;
}

.product-prices .discount-percentage,
.product-prices .discount-amount {
  color: var(--eh-beige) !important;
}

/* Product short description */
.product__description-short,
.product-description-short {
  color: var(--eh-gray-light);
  font-size: 0.875rem;
  line-height: 1.75;
  margin: 1.5rem 0;
}

/* Product labels (Longueur, Couleur, etc.) */
.product-variants > .clearfix > .product-variants-item label,
.product-variants-item label,
.product-variants .product-variants-item > span {
  font-family: var(--eh-font-sans) !important;
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--eh-white-off) !important;
}

/* Product images */
.product__left,
.product-images,
.images-container {
  background-color: var(--eh-black-card);
  border-radius: 4px;
  overflow: hidden;
}

.product-images .thumb-container,
.product-thumbs .thumb,
.js-thumb {
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color var(--eh-transition-fast);
  opacity: 0.6;
}

.product-images .thumb-container.selected,
.product-images .thumb-container:hover,
.js-thumb.selected,
.js-thumb:hover {
  border-color: var(--eh-beige);
  opacity: 1;
}

/* Product flags / badges */
.product-flag,
.product__flags .product-flag,
.product-flags li {
  background-color: var(--eh-black) !important;
  font-family: var(--eh-font-sans);
  font-size: 0.625rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.375rem 0.75rem;
  border: 1px solid var(--eh-white-off);
  border-radius: 0;
}

/* Stock indicator */
.product-availability,
#product-availability {
  font-family: var(--eh-font-sans);
  font-size: 0.8125rem;
}

.product-availability .product-available,
#product-availability .product-available {
  color: var(--eh-green) !important;
}

/* Wishlist / Favorite */
.wishlist-button-add,
.wishlist-btn {
  color: var(--eh-gray) !important;
  border: none !important;
  background: transparent !important;
}
.wishlist-button-add:hover {
  color: var(--eh-beige) !important;
}

/* Product tabs / accordion */
.product__infos .accordion-item,
.accordion-item {
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--eh-black-card-border) !important;
}

.product__infos .accordion-button,
.accordion-button {
  background-color: transparent !important;
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 1.25rem 0;
  box-shadow: none !important;
}

.accordion-button::after {
  filter: invert(1);
}

.accordion-button:not(.collapsed)::after {
  filter: invert(1);
}

.accordion-body {
  color: var(--eh-gray-light);
  font-size: 0.875rem;
  line-height: 1.75;
  padding: 0 0 1.5rem 0;
}

/* ==============================================
   7. PRODUCT CARDS / MINIATURES
   ============================================== */
.product-miniature,
.js-product-miniature {
  background-color: var(--eh-black-card);
  border: 1px solid var(--eh-black-card-border);
  border-radius: 4px;
  overflow: hidden;
  transition: border-color var(--eh-transition-base);
}

.product-miniature:hover {
  border-color: var(--eh-beige-muted);
}

.product-miniature .product-title a,
.product-miniature .product-title,
.product-miniature h3 a {
  font-family: var(--eh-font-serif) !important;
  font-style: italic;
  color: var(--eh-white-off) !important;
  font-weight: 400;
  font-size: 1.125rem;
}


.product-miniature .product-description-short,
.product-miniature .product-desc {
  color: var(--eh-gray);
  font-size: 0.8125rem;
}

.product-miniature .thumbnail-container {
  background-color: var(--eh-black-card);
}

/* ==============================================
   8. CATEGORY / LISTING PAGES
   ============================================== */
.category-header,
#category-description,
.block-category {
  background-color: var(--eh-black) !important;
  color: var(--eh-white-off) !important;
}

.category-header h1,
.block-category h1 {
  font-family: var(--eh-font-serif) !important;
  font-style: italic;
}

/* Sort & Filters */
.products-sort-order .select-title,
.sort-by-row {
  background-color: var(--eh-black-card) !important;
  color: var(--eh-white-off) !important;
  border: 1px solid var(--eh-black-card-border) !important;
}

.facet-title,
.facet .facet-title {
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.75rem;
}

.facet .facet-label a,
.facet .facet-label .custom-checkbox span {
  color: var(--eh-gray-light) !important;
}

/* Active filters */
.active-filter-title {
  color: var(--eh-white-off) !important;
}

.js-search-filters-clear-all {
  color: var(--eh-beige) !important;
}

/* Breadcrumb */
.breadcrumb,
#wrapper .breadcrumb {
  background-color: transparent !important;
  padding: 0.75rem 0;
}

@media (max-width: 767px) {
  .breadcrumb,
  #wrapper .breadcrumb {
    padding: 0.35rem 0 !important;
  }
}

.breadcrumb li,
.breadcrumb li a,
.breadcrumb li span {
  color: var(--eh-gray) !important;
  font-family: var(--eh-font-sans);
  font-size: 0.75rem;
}

.breadcrumb li a:hover {
  color: var(--eh-beige) !important;
}

.breadcrumb li::after,
.breadcrumb .breadcrumb-separator {
  color: var(--eh-gray-dark) !important;
}

/* Pagination */
.pagination .page-item .page-link {
  background-color: transparent !important;
  color: var(--eh-white-off) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  font-family: var(--eh-font-sans);
}

.pagination .page-item.active .page-link,
.pagination .page-item .page-link:hover {
  background-color: var(--eh-beige) !important;
  border-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

/* ==============================================
   9. HOMEPAGE
   ============================================== */
.page-home,
.page-index,
#index {
  background-color: var(--eh-black) !important;
}

/* ==============================================
   10. FOOTER
   ============================================== */
footer,
#footer,
.footer-container {
  background-color: var(--eh-black-deep) !important;
  color: var(--eh-gray) !important;
  border-top: 1px solid var(--eh-black-card-border);
}

#footer a,
.footer-container a,
footer a {
  color: var(--eh-gray-light) !important;
  font-family: var(--eh-font-sans);
  font-size: 0.8125rem;
  transition: color var(--eh-transition-fast);
}

#footer a:hover,
footer a:hover {
  color: var(--eh-beige) !important;
}

#footer h4,
footer h4,
.footer-container h4,
.footer-title {
  font-family: var(--eh-font-sans) !important;
  font-size: 0.6875rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--eh-white-off) !important;
  font-style: normal;
  font-weight: 500;
  margin-bottom: 1.5rem;
}

.footer__copyright,
.footer-copyright {
  color: var(--eh-gray-dark);
  font-size: 0.75rem;
}

/* ==============================================
   11. CART & CHECKOUT
   ============================================== */
.cart-grid,
.checkout-container,
#checkout {
  background-color: var(--eh-black) !important;
  color: var(--eh-white-off) !important;
}

.cart-overview .cart-item,
.cart-items .cart-item {
  background-color: var(--eh-black-card);
  border: 1px solid var(--eh-black-card-border);
  border-radius: 4px;
  padding: 1rem;
  margin-bottom: 0.75rem;
}

.cart-summary,
.cart-detailed-totals {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
}

.cart-summary .cart-summary-line,
.cart-detailed-totals .cart-summary-line {
  color: var(--eh-white-off);
}

.cart-summary .cart-total,
.cart-detailed-totals .cart-total {
  font-family: var(--eh-font-serif);
  font-size: 1.25rem;
  color: var(--eh-white-off) !important;
}

/* Checkout steps */
.checkout-step .step-title,
.-current .step-title {
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans) !important;
}

.checkout-step .step-number {
  background-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

.checkout-step.-current {
  border-color: var(--eh-beige) !important;
}

/* Promo / Voucher */
.promo-code .promo-input,
.block-promo input {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
}

/* ==============================================
   12. CUSTOMER ACCOUNT PAGES
   ============================================== */
.page-my-account,
.page-customer-account,
.page-authentication {
  background-color: var(--eh-black) !important;
}

.account-list a,
.my-account-links a {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
  transition: border-color var(--eh-transition-base);
}

.account-list a:hover,
.my-account-links a:hover {
  border-color: var(--eh-beige) !important;
  color: var(--eh-beige) !important;
}

/* ==============================================
   13. ALERTS & NOTIFICATIONS
   ============================================== */
.alert-warning {
  background-color: rgba(212, 184, 150, 0.1) !important;
  border-color: var(--eh-beige-muted) !important;
  color: var(--eh-beige) !important;
}

.alert-success {
  background-color: rgba(76, 175, 80, 0.1) !important;
  border-color: var(--eh-green) !important;
  color: var(--eh-green) !important;
}

.alert-danger {
  background-color: rgba(244, 67, 54, 0.1) !important;
  border-color: #f44336 !important;
  color: #ef9a9a !important;
}

.alert-info {
  background-color: rgba(212, 184, 150, 0.05) !important;
  border-color: var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
}

/* ==============================================
   14. TABLES
   ============================================== */
table,
.table {
  color: var(--eh-white-off) !important;
}

.table thead th,
table thead th {
  background-color: var(--eh-black-card) !important;
  color: var(--eh-white-off) !important;
  border-color: var(--eh-black-card-border) !important;
  font-family: var(--eh-font-sans);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.table td,
.table th,
table td,
table th {
  border-color: var(--eh-black-card-border) !important;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(17, 17, 17, 0.5) !important;
}

/* ==============================================
   15. MODALS
   ============================================== */
.modal-content {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
}

.modal-header {
  border-bottom-color: var(--eh-black-card-border) !important;
}

.modal-footer {
  border-top-color: var(--eh-black-card-border) !important;
}

.modal-header .btn-close,
.modal .btn-close {
  filter: invert(1);
}

/* ==============================================
   16. CARDS & BLOCKS GENERIC
   ============================================== */
.card,
.card-block {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
  border-radius: 4px;
}

.card-header {
  background-color: rgba(17, 17, 17, 0.8) !important;
  border-bottom-color: var(--eh-black-card-border) !important;
}

/* ==============================================
   17. WRAPPER / MAIN CONTENT AREA
   ============================================== */
#wrapper,
#main,
.wrapper__content,
main {
  background-color: var(--eh-black) !important;
}

.container,
.container-md,
.container-lg,
.container-xl {
  /* keep container structure, just ensure transparency */
}

/* Page title section */
.page-header h1,
.page-title-section h1 {
  font-family: var(--eh-font-serif) !important;
  font-style: italic;
  color: var(--eh-white-off) !important;
}

/* ==============================================
   18. MISC / UTILITIES
   ============================================== */
hr {
  border-color: var(--eh-black-card-border);
}

/* Toast notifications */
.toast,
.toast-container .toast {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
}

/* Tooltip */
.tooltip-inner {
  background-color: var(--eh-black-card) !important;
  color: var(--eh-white-off) !important;
  border: 1px solid var(--eh-black-card-border);
}

/* Scroll to top (if present) */
.back-to-top {
  background-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

/* Material icons color override */
.material-icons,
i.material-icons {
  color: inherit;
}

/* Force dark on any white bg leftover from Hummingbird */
.bg-white,
.bg-light {
  background-color: var(--eh-black-card) !important;
}

/* Reassurance block */
.blockreassurance_product,
.blockreassurance {
  background-color: transparent !important;
}

.blockreassurance .block-reassurance-item {
  border-color: var(--eh-black-card-border) !important;
}

.blockreassurance p,
.blockreassurance span {
  color: var(--eh-gray-light) !important;
}

.blockreassurance img {
  filter: brightness(0.8) invert(0.8);
}

/* Quick view */
.quickview .modal-content {
  background-color: var(--eh-black-card) !important;
}

/* Contact page */
.contact-form {
  background-color: var(--eh-black) !important;
}

/* CMS pages */
.cms-page .page-content,
.cms-page-content {
  color: var(--eh-gray-light);
  line-height: 1.75;
}

/* ==============================================
   19. HUMMINGBIRD SPECIFIC OVERRIDES
   ============================================== */

/* Hummingbird uses CSS custom properties - override them */
#header,
#wrapper,
#footer,
body {
  --bs-body-bg: var(--eh-black);
  --bs-body-color: var(--eh-white-off);
  --bs-primary: var(--eh-beige);
  --bs-secondary: var(--eh-black-card);
  --bs-border-color: var(--eh-black-card-border);
  --bs-card-bg: var(--eh-black-card);
  --bs-card-border-color: var(--eh-black-card-border);
  --bs-modal-bg: var(--eh-black-card);
  --bs-link-color: var(--eh-beige);
  --bs-link-hover-color: var(--eh-beige-light);
}

/* Hummingbird wrapper backgrounds */
.wrapper,
.wrapper__content,
.wrapper__columns {
  background-color: var(--eh-black) !important;
}

/* Hummingbird search widget */
.search__offcanvas {
  background-color: var(--eh-black) !important;
}

/* Hummingbird header banner */
.header__banner {
  background-color: var(--eh-black-deep) !important;
}

/* Hummingbird nav full width */
.nav-full-width,
#_desktop_top_menu {
  background-color: var(--eh-black) !important;
}

/* Hummingbird product grid */
.products .product-miniature {
  background-color: var(--eh-black-card);
}

/* Hummingbird page loader */
.page-loader {
  background-color: var(--eh-black) !important;
}

/* Hummingbird progress circle */
.progress-circle__circle {
  stroke: var(--eh-beige) !important;
}

/* ==============================================
   20. HEADER SCROLL EFFECT
   ============================================== */
#header {
  transition: background-color var(--eh-transition-base), backdrop-filter var(--eh-transition-base);
}

#header.header--scrolled {
  background-color: rgba(10, 10, 10, 0.95) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* ==============================================
   21. ANIMATIONS
   ============================================== */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.25, 0.1, 0.25, 1),
              transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.fade-in--visible {
  opacity: 1;
  transform: translateY(0);
}

/* ==============================================
   22. CLASSIC THEME — SPECIFIC FIXES
   ============================================== */

/* --- Product page tabs (classic uses .tabs, not accordion) --- */
.tabs,
.tabs .tab-pane,
.tab-content,
.tab-content .tab-pane,
#product-infos-accordion,
.product-tabs,
.page-product .tabs {
  background-color: var(--eh-black-card) !important;
  color: var(--eh-white-off) !important;
  border-radius: 4px;
}

.tabs .nav-tabs,
.nav-tabs {
  border-bottom-color: var(--eh-black-card-border) !important;
  background-color: var(--eh-black-card) !important;
}

.tabs .nav-tabs .nav-link,
.nav-tabs .nav-link {
  color: var(--eh-gray) !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: none !important;
  background: transparent !important;
  padding: 1rem 1.5rem;
}

.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover,
.nav-tabs .nav-link.active,
.nav-tabs .nav-link:hover {
  color: var(--eh-beige) !important;
  border-bottom: 2px solid var(--eh-beige) !important;
  background: transparent !important;
}

.tab-content .tab-pane {
  padding: 1.5rem;
}

.tab-content,
.tab-content p,
.tab-content li,
.tab-content span,
.product-description p,
.product-description li {
  color: var(--eh-gray-light) !important;
  font-size: 0.875rem;
  line-height: 1.75;
}

/* --- Newsletter block --- */
.block_newsletter,
#blockEmailSubscription_displayFooterBefore,
.footer-before,
#footer .block_newsletter,
.footer-container .block_newsletter {
  background-color: var(--eh-black-deep) !important;
  color: var(--eh-white-off) !important;
}

.block_newsletter p,
.block_newsletter label {
  color: var(--eh-white-off) !important;
}

.block_newsletter input[type="email"],
.block_newsletter .form-control {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
}

.block_newsletter .btn-primary {
  background-color: var(--eh-beige) !important;
  border-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

/* --- "Déjà vus" / Recently viewed / Crossselling --- */
.featured-products,
.product-accessories,
.crossselling-products,
.viewed-products,
#content-wrapper .featured-products,
section.featured-products,
section.crossselling-products {
  background-color: var(--eh-black) !important;
}

.featured-products .products,
.product-accessories .products,
.crossselling-products .products,
.viewed-products .products {
  background-color: transparent !important;
}

.featured-products h2,
.product-accessories h2,
.crossselling-products h2,
.viewed-products h2 {
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-serif) !important;
  font-style: italic;
}

/* --- Product miniature cards (classic theme) --- */
.product-miniature {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
}

.product-miniature .thumbnail-container,
.product-miniature .product-thumbnail {
  background-color: var(--eh-black-card) !important;
}

.product-miniature .product-title a,
.product-miniature .product-title {
  color: var(--eh-white-off) !important;
}

.product-miniature .regular-price {
  color: var(--eh-gray) !important;
}

.product-miniature .discount-product,
.product-miniature .discount-percentage {
  background-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

.product-miniature .highlighted-informations {
  background-color: var(--eh-black-card) !important;
}

.product-miniature .highlighted-informations a {
  color: var(--eh-beige) !important;
}

/* --- Compare block --- */
.products-selection,
.products-sort-order,
.compare-products,
#products-comparison,
.page-product-compare {
  background-color: var(--eh-black) !important;
  color: var(--eh-white-off) !important;
}

/* --- Cart page (classic theme uses .card) --- */
.card,
.card-block {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
}

.cart-container,
.card.cart-container {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
}

.cart-summary,
.card.cart-summary {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
}

.cart-grid-body,
.cart-grid-right {
  background-color: transparent !important;
}

.cart-detailed-totals,
.js-cart-detailed-totals {
  background-color: var(--eh-black-card) !important;
  color: var(--eh-white-off) !important;
}

.cart-summary-totals,
.js-cart-summary-totals {
  background-color: var(--eh-black-card) !important;
}

.cart-summary-line {
  color: var(--eh-white-off) !important;
}


.cart-total .value,
.cart-total .label {
  color: var(--eh-white-off) !important;
  font-weight: 500;
}

.checkout .btn-primary,
.checkout a.btn-primary {
  background-color: var(--eh-beige) !important;
  border-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

/* Cart product lines */
.cart-item,
.cart-overview .cart-item {
  border-bottom: 1px solid var(--eh-black-card-border) !important;
}

.cart-item .product-line-info a,
.cart-item .product-line-info {
  color: var(--eh-white-off) !important;
}

.cart-item .product-price,
.cart-item .product-line-grid .product-price {
  color: var(--eh-white-off) !important;
}

/* --- Header classic theme specifics --- */
.header-banner {
  background-color: var(--eh-black-deep) !important;
}

.header-nav {
  background-color: var(--eh-black-deep) !important;
  border-bottom: 1px solid var(--eh-black-card-border) !important;
}

.header-top {
  background-color: var(--eh-black) !important;
  padding: 0.75rem 0;
}

@media (max-width: 767px) {
  .header-top {
    padding: 0 !important;
  }
  /* Keep the header-nav icon row consistent height */
  .header-nav .hidden-md-up {
    min-height: 50px;
  }
}

#_desktop_top_menu .top-menu > li > a,
.top-menu > li > a {
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.top-menu > li > a:hover {
  color: var(--eh-beige) !important;
}

/* Sub-menu popover (classic) */
.popover.sub-menu,
.js-sub-menu {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
}

.popover.sub-menu a,
.js-sub-menu a {
  color: var(--eh-white-off) !important;
}

.popover.sub-menu a:hover,
.js-sub-menu a:hover {
  color: var(--eh-beige) !important;
}

/* --- Footer classic theme --- */
.footer-container {
  background-color: var(--eh-black-deep) !important;
  border-top: 1px solid var(--eh-black-card-border) !important;
}

.footer-container .wrapper,
.footer-container .links,
.footer-container .block-contact {
  background-color: transparent !important;
}

.footer-container h4,
.footer-container .h3 {
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.6875rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-style: normal !important;
}

.footer-container a,
.footer-container li a {
  color: var(--eh-gray-light) !important;
}

.footer-container a:hover {
  color: var(--eh-beige) !important;
}

.footer-container .block-social ul li a {
  color: var(--eh-gray-light) !important;
  background-color: transparent !important;
}

.footer-container .copyright {
  color: var(--eh-gray-dark) !important;
}

/* --- Carousel / Image slider --- */
#carousel,
.carousel,
.carousel-inner,
.carousel-item {
  background-color: var(--eh-black) !important;
}

.carousel-control-prev,
.carousel-control-next {
  color: var(--eh-white-off) !important;
}

/* --- Product page in classic theme --- */
#product .page-content,
.page-product .page-content,
body[id="product"] #content-wrapper {
  background-color: var(--eh-black) !important;
}

.product-actions .control-label,
.product-variants-item .control-label {
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.product-actions .add-to-cart,
.product-quantity .add-to-cart {
  background-color: var(--eh-beige) !important;
  border-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

.product-actions .add-to-cart:hover {
  background-color: var(--eh-beige-light) !important;
}

/* Qty spinner classic */
.product-quantity .qty .input-group .form-control,
.product-quantity .qty input {

  border-color: var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
}

.product-quantity .qty .input-group .btn,
.product-quantity .input-group-btn .btn {
  background-color: var(--eh-black-card) !important;
  border-color: var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
}

/* Social sharing — override Bootstrap's text-hide (font: 0/0 a sets font-size:0) */
.social-sharing {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
}
.social-sharing > span {
  font-family: var(--eh-font-sans) !important;
  font-size: 0.6rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(245,240,235,0.45) !important;
}
.social-sharing ul {
  display: flex !important;
  gap: 0.5rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.social-sharing li {
  background-image: none !important;
}
.social-sharing li a,
.social-sharing li a.text-hide {
  /* reset Bootstrap's text-hide: font:0/0 a makes font-size=0 */
  font-size: 0.58rem !important;
  line-height: 1 !important;
  font-family: var(--eh-font-sans) !important;
  font-weight: 500 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-indent: 0 !important;
  overflow: visible !important;
  background-image: none !important;
  background-color: transparent !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: rgba(245,240,235,0.55) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.4rem 0.85rem !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: border-color 0.2s, color 0.2s !important;
}
.social-sharing li a:hover,
.social-sharing li a.text-hide:hover {
  border-color: var(--eh-beige) !important;
  color: var(--eh-beige) !important;
  background-color: transparent !important;
}

/* Tax label */
.tax-shipping-delivery-label,
.product-prices .tax-shipping-delivery-label {
  color: var(--eh-gray) !important;
}

/* Product discount badge */
.product-discount .regular-price,
.has-discount .discount {
  background-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

/* --- Page wrapper / content (classic) --- */
#wrapper,
#content-wrapper,
.js-content-wrapper,
.page-content,
.page-footer,
.page-header {
  background-color: var(--eh-black) !important;
  color: var(--eh-white-off) !important;
}

/* --- Wish list modal --- */
.wishlist-modal .modal-content,
.wishlist-modal .modal-body {
  background-color: var(--eh-black-card) !important;
  color: var(--eh-white-off) !important;
}

/* --- Global catch-all for white backgrounds --- */
.bg-white,
.bg-light,
[style*="background-color: white"],
[style*="background-color: #fff"],
[style*="background: white"],
[style*="background: #fff"] {
  background-color: var(--eh-black-card) !important;
}

/* ==============================================
   23. MOBILE MENU (classic theme)
   ============================================== */
#mobile_top_menu_wrapper,
#mobile_top_menu_wrapper .js-top-menu,
#mobile_top_menu_wrapper .js-top-menu-bottom,
#_mobile_top_menu,
.js-top-menu.mobile,
.mobile-menu,
.mobile-nav {
  background-color: var(--eh-black) !important;
  color: var(--eh-white-off) !important;
}

#mobile_top_menu_wrapper ul,
#mobile_top_menu_wrapper .top-menu,
.js-top-menu.mobile ul,
.js-top-menu.mobile .top-menu {
  background-color: var(--eh-black) !important;
}

#mobile_top_menu_wrapper li,
#mobile_top_menu_wrapper .top-menu li,
.js-top-menu.mobile li {
  background-color: transparent !important;
  border-bottom: 1px solid var(--eh-black-card-border) !important;
}

#mobile_top_menu_wrapper a,
#mobile_top_menu_wrapper .top-menu a,
.js-top-menu.mobile a {
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.875rem 1rem !important;
  display: block;
}

#mobile_top_menu_wrapper a:hover,
.js-top-menu.mobile a:hover {
  color: var(--eh-beige) !important;
  background-color: transparent !important;
}

/* Sous-menus mobile */
#mobile_top_menu_wrapper .sub-menu,
#mobile_top_menu_wrapper .popover,
.js-top-menu.mobile .sub-menu {
  background-color: var(--eh-black-card) !important;
  border: none !important;
  box-shadow: none !important;
  position: static !important;
}

/* Navbar toggler (collapse icons) */
#mobile_top_menu_wrapper .navbar-toggler,
#mobile_top_menu_wrapper .collapse-icons,
.js-top-menu.mobile .navbar-toggler {
  color: var(--eh-gray) !important;
  background: transparent !important;
  border: none !important;
}

#mobile_top_menu_wrapper .navbar-toggler .material-icons,
.js-top-menu.mobile .collapse-icons .material-icons {
  color: var(--eh-gray) !important;
}

/* Language + contact in mobile bottom menu */
#mobile_top_menu_wrapper .js-top-menu-bottom,
.js-top-menu-bottom {
  background-color: var(--eh-black) !important;
  border-top: 1px solid var(--eh-black-card-border) !important;
  padding: 1rem !important;
}

#mobile_top_menu_wrapper .js-top-menu-bottom *,
.js-top-menu-bottom * {
  color: var(--eh-gray-light) !important;
}

/* Language selector in mobile */
#_mobile_language_selector,
#_mobile_currency_selector {
  background-color: transparent !important;
}

#_mobile_language_selector select,
#_mobile_currency_selector select {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans);
}

/* Mobile header bar */
.hidden-md-up.text-sm-center.mobile {
  background-color: var(--eh-black) !important;
  border-bottom: 1px solid var(--eh-black-card-border) !important;
}

/* Hamburger icon */
#menu-icon .material-icons,
.navbar-toggler .material-icons {
  color: var(--eh-white-off) !important;
}

/* Mobile cart button */
#_mobile_cart .blockcart,
#_mobile_cart .header {
  background-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

#_mobile_cart .cart-products-count {
  color: var(--eh-black) !important;
}

/* ==============================================
   24. CATEGORY LEFT COLUMN & FACETS (classic)
   ============================================== */

/* Nuclear override — everything in left column goes dark */
#left-column * {
  background-color: transparent !important;
  color: var(--eh-white-off) !important;
  border-color: var(--eh-black-card-border) !important;
}

#left-column {
  background-color: transparent !important;
}

.block-categories,
#search_filters_brands,
#search_filters_wrapper,
#search_filters {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  border-radius: 4px;
  padding: 1.25rem !important;
  margin-bottom: 1rem;
}

section.facet {
  background-color: var(--eh-black-card) !important;
  padding: 1rem 0 !important;
  border-bottom: 1px solid var(--eh-black-card-border) !important;
  margin-bottom: 0 !important;
}

section.facet:last-child {
  border-bottom: none !important;
}

/* Titles */
.block-categories h5,
.block-categories .h5,
.facet p.facet-title,
.facet .h6,
#search_filters_brands .h6 {
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.6875rem !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-style: normal !important;
}

/* Links */
.block-categories ul li a,
.facet .facet-label a,
#search_filters_brands a {
  color: var(--eh-gray-light) !important;
  font-size: 0.8125rem;
}

.block-categories ul li a:hover,
.facet .facet-label a:hover,
#search_filters_brands a:hover {
  color: var(--eh-beige) !important;
}

/* Currently active category */
.block-categories .current > a,
.block-categories li.current > a {
  color: var(--eh-beige) !important;
}

/* Expand/collapse icons */
.block-categories .navbar-toggler,
.block-categories .collapse-icons {
  color: var(--eh-gray) !important;
}

/* Checkboxes */
.facet .custom-checkbox span.color {
  border: 2px solid var(--eh-black-card-border) !important;
}

.facet .custom-checkbox input[type="checkbox"] + span {
  background-color: var(--eh-black) !important;
  border: 1px solid var(--eh-gray-dark) !important;
}

.facet .custom-checkbox input[type="checkbox"]:checked + span {
  background-color: var(--eh-beige) !important;
  border-color: var(--eh-beige) !important;
}

/* Active filters */
.active-filter-button,
.filter-block {
  background-color: var(--eh-black-card) !important;
  color: var(--eh-white-off) !important;
  border: 1px solid var(--eh-black-card-border) !important;
}

.js-search-filters-clear-all {
  color: var(--eh-beige) !important;
}

/* Sort bar */
.sort-by-row,
.products-sort-order,
#js-product-list-header {
  background-color: transparent !important;
  color: var(--eh-white-off) !important;
}

.products-sort-order .select-title,
.products-sort-order select,
.products-sort-order .custom-select {
  background-color: var(--eh-black-card) !important;
  border: 1px solid var(--eh-black-card-border) !important;
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-sans);
}

.sort-by-row .sort-by {
  color: var(--eh-gray) !important;
  font-family: var(--eh-font-sans);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ==============================================
   24. REVIEWS / COMMENTS MODULE (ps_productcomments)
   ============================================== */
#product-comments-list,
.product-comment-list,
.product-comment-list-item,
.grade-stars,
.comments-list,
.no-comments,
.productcomments-module,
#product-comments-list-header,
.product-comments-additional-info,
.comment-form,
div[id*="product-comment"] {
  background-color: var(--eh-black-card) !important;
  color: var(--eh-white-off) !important;
  border-color: var(--eh-black-card-border) !important;
}

.product-comment-list-item {
  border-bottom: 1px solid var(--eh-black-card-border) !important;
}

.no-comments,
.no-comments p,
.product-comments-additional-info p {
  color: var(--eh-gray) !important;
}

/* Star ratings */
.grade-stars .star-on {
  color: var(--eh-beige) !important;
}

.grade-stars .star-off {
  color: var(--eh-gray-dark) !important;
}

/* ==============================================
   25. CART MODAL (#blockcart-modal)
   ============================================== */
#blockcart-modal .modal-content,
#blockcart-modal .modal-header,
#blockcart-modal .modal-body,
#blockcart-modal .modal-footer {
  background-color: var(--eh-black-card) !important;
  color: var(--eh-white-off) !important;
  border-color: var(--eh-black-card-border) !important;
}

#blockcart-modal .modal-title,
#blockcart-modal .product-name,
#blockcart-modal .product-price,
#blockcart-modal .cart-products-count,
#blockcart-modal .label,
#blockcart-modal .value,
#blockcart-modal p,
#blockcart-modal span {
  color: var(--eh-white-off) !important;
  background-color: transparent !important;
}

#blockcart-modal .divide-right {
  border-right-color: var(--eh-black-card-border) !important;
}

#blockcart-modal .product-total .label,
#blockcart-modal .product-total .value {
  font-weight: 600;
  color: var(--eh-white-off) !important;
}

#blockcart-modal .btn-secondary {
  background-color: transparent !important;
  border: 1px solid var(--eh-beige) !important;
  color: var(--eh-beige) !important;
}

#blockcart-modal .btn-secondary:hover {
  background-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

#blockcart-modal .btn-primary {
  background-color: var(--eh-beige) !important;
  border-color: var(--eh-beige) !important;
  color: var(--eh-black) !important;
}

#blockcart-modal .close,
#blockcart-modal .close .material-icons {
  color: var(--eh-gray-light) !important;
  text-shadow: none !important;
}

/* ==============================================
   26. REASSURANCE MODULE (ps_customerreassurance)
   ============================================== */
.blockreassurance_product,
.blockreassurance,
.block-reassurance-item,
#blockreassurance_displayProductButtons,
#blockreassurance_displayProductButtons .block-reassurance-item {
  background-color: transparent !important;
  border-color: var(--eh-black-card-border) !important;
}

.blockreassurance_product p,
.blockreassurance_product span,
.block-reassurance-item p,
.block-reassurance-item span {
  color: var(--eh-gray-light) !important;
  background-color: transparent !important;
  background: none !important;
}

/* Override inline background set by the module via JS */
.blockreassurance_product [style*="background"],
.block-reassurance-item [style*="background"] {
  background: transparent !important;
  background-color: transparent !important;
}

/* mark element (browser default is yellow) */
mark {
  background-color: transparent !important;
  color: inherit !important;
}

/* ==============================================
   27. CMS / CUSTOM HTML MODULES — white bg override
   ============================================== */

/* These modules inject inline styles - we force override */
.cms-block,
.custom-text,
.custom-html,
[class*="displayHome"] > div,
[class*="displayBanner"] > div,
.module_ps_banner,
#ps_banner,
.banner,
.banner-img,
.custom-block,
.displayHome .container > div,
.page-home section:not(.featured-products):not(.crossselling-products) {
  background-color: transparent !important;
}

/* Force all divs with inline white backgrounds to be dark */
/* (Only safe approach is to catch common patterns) */
div[style*="background:#fff"],
div[style*="background: #fff"],
div[style*="background:#ffffff"],
div[style*="background: #ffffff"],
div[style*="background:white"],
div[style*="background: white"],
div[style*="background-color:#fff"],
div[style*="background-color: #fff"],
div[style*="background-color:#ffffff"],
div[style*="background-color: #ffffff"],
div[style*="background-color:white"],
div[style*="background-color: white"],
div[style*="background-color: rgb(255, 255, 255)"],
div[style*="background-color:rgb(255,255,255)"] {
  background-color: var(--eh-black-card) !important;
  color: var(--eh-white-off) !important;
}

/* ==============================================
   29. HOMEPAGE SECTIONS
   ============================================== */

/* ── Shared tokens for homepage ── */
.eh-homepage {
  --hp-gold: #F7D9BC;
  --hp-gold-light: #e8c9a8;
  --hp-bg: #0a0a0a;
  --hp-bg-card: #0a0a0a;
  --hp-bg-card-dark: #161616;
  --hp-cream: #f5f0eb;
  --hp-cream-dim: rgba(245,240,235,0.65);
  --hp-text-muted: rgba(245,240,235,0.35);
  --hp-border-gold: rgba(201,169,110,0.1);
  --hp-transition: 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}

/* Reset PS wrappers on homepage — break out of container */
#index #wrapper,
#index #wrapper .container,
#index #wrapper #content-wrapper,
#index #wrapper .wrapper__content,
#index #wrapper .wrapper__content-full-width {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Fallback for :has() support */
body:has(.eh-homepage) #wrapper .container,
body:has(.eh-homepage) #content-wrapper,
body:has(.eh-homepage) .wrapper__content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.eh-homepage {
  width: 100%;
  overflow-x: hidden;
}

/* ── Scroll reveal ── */
.eh-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.75s ease, transform 0.75s ease;
}
.eh-reveal.eh-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Shared section styles ── */
.eh-homepage section {
  padding: 6rem 3rem;
  background-color: var(--hp-bg);
}

.eh-eyebrow {
  font-family: var(--eh-font-sans);
  font-size: 0.65rem;
  font-weight: 400;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--hp-gold);
  text-align: center;
  margin-bottom: 1rem;
  display: block;
}

.eh-section-title {
  font-family: var(--eh-font-serif);
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  font-weight: 300;
  text-align: center;
  color: var(--hp-cream);
  margin-bottom: 1rem;
  line-height: 1.1;
}

.eh-section-subtitle {
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--hp-cream-dim);
  text-align: center;
  max-width: 560px;
  margin: 0 auto 3.5rem;
}

.eh-divider {
  width: 40px;
  height: 1px;
  background: var(--hp-gold);
  margin: 1.5rem auto 2rem;
}

/* ── Shared buttons ── */
.eh-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 2.2rem;
  font-family: var(--eh-font-sans);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: var(--hp-transition);
}
.eh-btn--primary {
  background: var(--hp-gold);
  color: var(--hp-bg);
}
.eh-btn--primary:hover {
  background: var(--hp-gold-light);
  transform: translateY(-2px);
  color: var(--hp-bg);
}
.eh-btn--outline {
  background: transparent;
  color: var(--hp-cream-dim);
  border: 1px solid rgba(245,240,235,0.2);
}
.eh-btn--outline:hover {
  border-color: var(--hp-gold);
  color: var(--hp-gold);
}

/* ── HERO ── */
.eh-hero {
  min-height: 88vh !important;
  display: flex !important;
  align-items: flex-start !important;
  position: relative;
  overflow: hidden;
  padding: 5rem 3rem 5rem !important;
}
.eh-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse at 80% 20%, rgba(247,217,188,0.07) 0%, transparent 60%),
    radial-gradient(ellipse at 20% 80%, rgba(247,217,188,0.03) 0%, transparent 50%),
    #0a0a0a;
}
.eh-hero__content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
}
.eh-hero__text { max-width: 600px; }
.eh-hero__title {
  font-family: var(--eh-font-serif) !important;
  font-size: clamp(2.8rem, 5.5vw, 5rem) !important;
  font-weight: 300 !important;
  line-height: 1.05;
  color: var(--hp-cream) !important;
  margin-bottom: 1.5rem;
  opacity: 0;
  animation: ehFadeUp 0.8s 0.4s ease forwards;
}
.eh-hero__title em {
  font-style: italic;
  color: var(--hp-gold);
  font-weight: 400;
}
.eh-hero__subtitle {
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--hp-cream-dim);
  margin-bottom: 2.5rem;
  max-width: 440px;
  opacity: 0;
  animation: ehFadeUp 0.8s 0.6s ease forwards;
}
.eh-hero__actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  opacity: 0;
  animation: ehFadeUp 0.8s 0.8s ease forwards;
}
.eh-hero__image {
  position: relative;
  opacity: 0;
  animation: ehFadeUp 1s 0.5s ease forwards;
}
.eh-hero__glow {
  position: absolute;
  inset: -40px;
  background: radial-gradient(ellipse at 50% 50%, rgba(247,217,188,0.07) 0%, transparent 70%);
  z-index: 0;
}
.eh-hero__image img {
  position: relative;
  z-index: 1;
  width: min(100%, 600px);
  height: auto;
  display: block;
  object-fit: contain;
  filter: brightness(0.96) contrast(1.04) saturate(0.95) drop-shadow(0 18px 34px rgba(0,0,0,0.6));
  -webkit-mask-image:
    radial-gradient(circle at 52% 38%, #000 44%, transparent 76%),
    linear-gradient(to bottom, #000 0%, #000 75%, transparent 100%),
    linear-gradient(to right, transparent 0%, #000 18%, #000 82%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    radial-gradient(circle at 52% 38%, #000 44%, transparent 76%),
    linear-gradient(to bottom, #000 0%, #000 75%, transparent 100%),
    linear-gradient(to right, transparent 0%, #000 18%, #000 82%, transparent 100%);
  mask-composite: intersect;
}

@keyframes ehFadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── ENGAGEMENTS ── */
.eh-engagements {
  background: var(--hp-bg-card) !important;
  border-top: 1px solid var(--hp-border-gold);
  border-bottom: 1px solid var(--hp-border-gold);
}
.eh-engagements-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}
.eh-engagement {
  text-align: center;
  padding: 2rem 1.5rem;
  border: 1px solid rgba(201,169,110,0.06);
  transition: var(--hp-transition);
}
.eh-engagement:hover {
  border-color: rgba(201,169,110,0.18);
  background: rgba(201,169,110,0.03);
}
.eh-engagement__icon {
  font-size: 1.3rem;
  margin-bottom: 1rem;
  color: var(--hp-gold);
}
.eh-engagement h4 {
  font-family: var(--eh-font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--hp-cream);
  margin-bottom: 0.6rem;
}
.eh-engagement p {
  font-size: 0.78rem;
  line-height: 1.7;
  color: var(--hp-cream-dim);
}

/* ── PRODUCTS ── */
.eh-products {
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.eh-products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: center;
}
.eh-product-card {
  background: var(--hp-bg-card-dark);
  border: 1px solid rgba(255,255,255,0.04);
  transition: var(--hp-transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.eh-product-card:hover {
  border-color: rgba(201,169,110,0.15);
  background: #1c1c1c;
  transform: translateY(-4px);
}
.eh-product-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/4;
}
.eh-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
  filter: brightness(0.85) contrast(1.05);
}
.eh-product-card:hover .eh-product-image img { transform: scale(1.05); }
.eh-product-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  padding: 0.3rem 0.8rem;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  background: var(--hp-gold);
  color: var(--hp-bg);
  z-index: 2;
}
.eh-product-info { padding: 1.3rem 1.5rem 1.5rem; }
.eh-product-texture {
  font-size: 0.6rem;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--hp-gold);
  margin-bottom: 0.5rem;
}
.eh-product-name {
  font-family: var(--eh-font-serif);
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--hp-cream);
  margin-bottom: 0.4rem;
}
.eh-product-desc {
  font-size: 0.78rem;
  color: var(--hp-cream-dim);
  margin-bottom: 1rem;
  line-height: 1.6;
}
.eh-product-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.eh-product-price {
  font-family: var(--eh-font-serif);
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--hp-cream);
}
.eh-product-price span {
  font-size: 0.75rem;
  color: var(--hp-text-muted);
  font-family: var(--eh-font-sans);
  font-weight: 300;
}
.eh-btn-add {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(201,169,110,0.3);
  background: transparent;
  color: var(--hp-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--hp-transition);
  font-size: 1.1rem;
  text-decoration: none;
  line-height: 1;
}
.eh-btn-add:hover { background: var(--hp-gold); color: var(--hp-bg); }

/* ── PRICING ── */
.eh-pricing {
  background: var(--hp-bg-card) !important;
  border-top: 1px solid var(--hp-border-gold);
  border-bottom: 1px solid var(--hp-border-gold);
}
.eh-pricing-table {
  max-width: 700px;
  margin: 0 auto;
  border: 1px solid rgba(201,169,110,0.1);
  overflow: hidden;
}
.eh-pricing-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 1.2rem 2rem;
  background: rgba(201,169,110,0.06);
  border-bottom: 1px solid rgba(201,169,110,0.1);
}
.eh-pricing-header span {
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--hp-gold);
}
.eh-pricing-header span:last-child { text-align: right; }
.eh-pricing-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0.9rem 2rem;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  transition: var(--hp-transition);
}
.eh-pricing-row:last-child { border-bottom: none; }
.eh-pricing-row:hover { background: rgba(201,169,110,0.04); }
.eh-length {
  font-family: var(--eh-font-serif);
  font-size: 1.05rem;
  color: var(--hp-cream);
}
.eh-price {
  text-align: right;
  font-family: var(--eh-font-serif);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--hp-gold);
}

/* ── QUALITY ── */
.eh-quality {
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.eh-quality__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.eh-quality__image {
  position: relative;
}
.eh-quality__image img {
  width: 100%;
  height: 550px;
  object-fit: cover;
  filter: brightness(0.85) contrast(1.1);
}
.eh-quality__image::before {
  content: '';
  position: absolute;
  top: -15px;
  left: -15px;
  width: 80px;
  height: 80px;
  border-top: 1px solid var(--hp-gold);
  border-left: 1px solid var(--hp-gold);
  opacity: 0.4;
}
.eh-quality__image::after {
  content: '';
  position: absolute;
  bottom: -15px;
  right: -15px;
  width: 80px;
  height: 80px;
  border-bottom: 1px solid var(--hp-gold);
  border-right: 1px solid var(--hp-gold);
  opacity: 0.4;
}
.eh-quality__text h3 {
  font-family: var(--eh-font-serif) !important;
  font-size: clamp(2rem, 3vw, 2.8rem) !important;
  font-weight: 300 !important;
  color: var(--hp-cream) !important;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}
.eh-quality__text h3 em {
  font-style: italic;
  color: var(--hp-gold);
}
.eh-tagline {
  font-family: var(--eh-font-serif);
  font-size: 1rem;
  font-style: italic;
  color: var(--hp-cream-dim);
  margin-bottom: 2rem;
}
.eh-quality-features { display: flex; flex-direction: column; gap: 1.2rem; }
.eh-quality-feature {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.2rem;
  border: 1px solid rgba(255,255,255,0.03);
  transition: var(--hp-transition);
}
.eh-quality-feature:hover {
  border-color: rgba(201,169,110,0.12);
  background: rgba(201,169,110,0.03);
}
.eh-quality-check {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--hp-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hp-gold);
  font-size: 0.7rem;
  margin-top: 2px;
}
.eh-quality-feature-text h5 {
  font-family: var(--eh-font-serif);
  font-size: 1rem;
  font-weight: 500;
  color: var(--hp-cream);
  margin-bottom: 0.25rem;
}
.eh-quality-feature-text p {
  font-size: 0.78rem;
  color: var(--hp-cream-dim);
  line-height: 1.6;
}

/* ── PRO SECTION ── */
.eh-pro {
  background: var(--hp-bg-card) !important;
  border-top: 1px solid var(--hp-border-gold);
  border-bottom: 1px solid var(--hp-border-gold);
  text-align: center;
}
.eh-pro-desc {
  font-size: 0.9rem;
  color: var(--hp-cream-dim);
  max-width: 500px;
  margin: 0 auto 2rem;
  line-height: 1.8;
}
.eh-pro-badges {
  display: flex;
  gap: 2rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
}
.eh-pro-badge {
  padding: 0.6rem 1.5rem;
  border: 1px solid rgba(201,169,110,0.15);
  font-size: 0.7rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--hp-gold);
  transition: var(--hp-transition);
}
.eh-pro-badge:hover { background: rgba(201,169,110,0.08); }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .eh-hero { overflow: hidden; }
  .eh-hero__content { grid-template-columns: 1fr; position: relative; }
  .eh-hero__image {
    display: block;
    position: absolute;
    top: 0;
    right: -10%;
    width: 70%;
    max-width: 420px;
    margin: 0;
    z-index: 0;
    pointer-events: none;
  }
  .eh-hero__image img {
    width: 100%;
    height: auto;
  }
  .eh-hero__text { position: relative; z-index: 1; }
  .eh-quality__content { grid-template-columns: 1fr; }
  .eh-quality__image { max-height: 400px; overflow: hidden; }
  .eh-engagements-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {

  /* ── Sections générales ── */
  .eh-homepage section {
    padding: 3.5rem 1.4rem !important;
  }
  .eh-section-title {
    font-size: clamp(1.8rem, 8vw, 2.5rem) !important;
  }
  .eh-section-subtitle {
    font-size: 0.85rem !important;
    margin-bottom: 2.5rem !important;
  }

  /* ── Hero ── */
  .eh-hero {
    min-height: auto !important;
    padding: 4rem 1.4rem 3.5rem !important;
    align-items: flex-start !important;
  }
  .eh-hero__content {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .eh-hero__title {
    font-size: clamp(2.4rem, 11vw, 3.8rem) !important;
    margin-bottom: 1.2rem !important;
  }
  .eh-hero__subtitle {
    font-size: 0.88rem !important;
    margin-bottom: 2rem !important;
    max-width: 100% !important;
  }
  .eh-hero__actions {
    flex-direction: column !important;
    gap: 0.8rem !important;
    width: 100% !important;
  }
  .eh-btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 1rem 1.5rem !important;
  }

  /* ── Engagements ── */
  .eh-engagements-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
  }
  .eh-engagement {
    padding: 1.5rem 1rem !important;
  }

  /* ── Products ── */
  .eh-products-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
  }
  .eh-product-name { font-size: 1rem !important; }
  .eh-product-desc { display: none; }

  /* ── Pricing ── */
  .eh-pricing-table { margin: 0 !important; }
  .eh-pricing-row, .eh-pricing-header {
    padding: 0.8rem 1.2rem !important;
  }

  /* ── Quality ── */
  .eh-quality__content {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .eh-quality__image {
    max-height: 300px !important;
    overflow: hidden !important;
  }
  .eh-quality__text h3 {
    font-size: 2rem !important;
  }

  /* ── Pro ── */
  .eh-pro-badges {
    gap: 0.6rem !important;
    justify-content: center !important;
  }
  .eh-pro-badge {
    padding: 0.5rem 1rem !important;
    font-size: 0.65rem !important;
  }
}

@media (max-width: 480px) {
  .eh-products-grid { grid-template-columns: 1fr !important; }
  .eh-engagements-grid { grid-template-columns: 1fr !important; }
  .eh-hero__title {
    font-size: clamp(2rem, 10vw, 2.8rem) !important;
  }
  .eh-product-desc { display: none; }
}

/* ==============================================
   28. PRINT
   ============================================== */
@media print {
  body {
    background-color: #fff !important;
    color: #000 !important;
  }

  #header,
  #footer {
    display: none !important;
  }
}

/* ==============================================
   29. FULL-WIDTH LAYOUT FIX (all pages)
   ============================================== */

/*
 * The classic parent theme's layout-both-columns.tpl doesn't have a
 * content_columns block, so layout-full-width.tpl can't suppress the
 * sidebar via Smarty. We fix it here with body.layout-full-width class
 * which PrestaShop adds automatically on full-width pages.
 */
.layout-full-width #left-column,
.layout-full-width #right-column {
  display: none !important;
}

.layout-full-width #content-wrapper {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.layout-full-width #wrapper .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

.layout-full-width #wrapper .container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ── Functional page headings — keep serif but remove giant italic treatment ── */
.page-cart h1, .page-cart h2, .page-cart h3, .page-cart h4,
.page-cart .h1, .page-cart .h2, .page-cart .h3, .page-cart .h4,
.page-authentication h1, .page-authentication h2, .page-authentication h3,
.page-authentication .h1, .page-authentication .h2, .page-authentication .h3,
.page-checkout h1, .page-checkout h2, .page-checkout h3,
.page-checkout .h1, .page-checkout .h2,
.page-order-confirmation h1, .page-order-confirmation h2,
.page-contact h1, .page-contact h2,
.page-my-account h1, .page-my-account h2,
.page-order h1, .page-order h2,
.page-history h1, .page-history h2,
.page-identity h1, .page-identity h2,
.page-address h1, .page-address h2,
.page-addresses h1, .page-addresses h2,
.page-search h1, .page-search h2 {
  font-style: normal !important;
  font-size: 1.5rem !important;
}

/* ==============================================
   30. PRODUCT PAGE
   ============================================== */

/* ── Reset PS containers on product page ── */
.page-product #wrapper,
.page-product #wrapper #content-wrapper,
.page-product #wrapper .wrapper__content,
.page-product #wrapper .wrapper__content-full-width {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Div wrapper (ex-.container, classe vidée) */
.page-product #wrapper > div {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Bootstrap .row negative margins → reset */
.page-product #wrapper .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}
/* Content wrapper full width */
.page-product #content-wrapper {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
/* Cacher colonnes latérales */
.page-product #left-column,
.page-product #right-column {
  display: none !important;
}

/* ── Product 2-col grid ── */
.eh-product {
  display: grid !important;
  grid-template-columns: 56% 44% !important;
  gap: 0 !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 2rem 3rem 4rem !important;
  align-items: start !important;
}

/* ══════════════════════════════════════
   GALLERY (left col)
   ══════════════════════════════════════ */

.eh-product__gallery {
  position: sticky;
  top: 100px;
}

/* Main carousel */
.eh-product__gallery #product-images,
.eh-product__gallery .carousel {
  background: #111 !important;
  border: none !important;
}
.eh-product__gallery .carousel-inner {
  background: #111;
}
.eh-product__gallery .carousel-item {
  background: #0f0f0f;
}
.eh-product__gallery .carousel-item img,
.eh-product__gallery .product__images img {
  width: 100% !important;
  height: 620px !important;
  max-height: 620px !important;
  object-fit: cover !important;
  display: block !important;
  filter: brightness(0.92) contrast(1.04) !important;
}
.eh-product__gallery .carousel-control-prev,
.eh-product__gallery .carousel-control-next {
  width: 44px;
  height: 44px;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5) !important;
  border: 1px solid rgba(255,255,255,0.08);
  opacity: 0;
  border-radius: 0 !important;
  transition: opacity 0.3s;
}
.eh-product__gallery:hover .carousel-control-prev,
.eh-product__gallery:hover .carousel-control-next {
  opacity: 1;
}
.eh-product__gallery .carousel-control-prev-icon,
.eh-product__gallery .carousel-control-next-icon {
  width: 14px;
  height: 14px;
}

/* Modal zoom icon */
.eh-product__gallery .product__images__modal-opener {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  width: 36px;
  height: 36px;
  background: rgba(0,0,0,0.5);
  border: 1px solid rgba(255,255,255,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s;
}
.eh-product__gallery .carousel-item:hover .product__images__modal-opener {
  opacity: 1;
}
.eh-product__gallery .product__images__modal-opener .material-icons {
  color: var(--eh-white-off);
  font-size: 1.1rem;
}

/* Flags / badges */
.eh-product__gallery .product-flags {
  position: absolute !important;
  top: 1rem !important;
  left: 1rem !important;
  z-index: 5 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.4rem !important;
}
.eh-product__gallery .product-flags .badge,
.eh-product__gallery .product-flags li {
  background: var(--eh-beige) !important;
  color: var(--eh-black) !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.58rem !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 0.35rem 0.9rem !important;
  border-radius: 0 !important;
}

/* Thumbnails */
.eh-product__gallery .thumbnails__container {
  margin-top: 0.6rem;
}
.eh-product__gallery .thumbnails__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  counter-reset: thumb !important;
}
.eh-product__gallery .thumbnails__list .thumbnail {
  counter-increment: thumb !important;
  width: 74px !important;
  height: 74px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  background: #111 !important;
  padding: 0 !important;
  position: relative !important;
  transition: border-color 0.3s !important;
  list-style: none !important;
}
.eh-product__gallery .thumbnails__list .thumbnail.active,
.eh-product__gallery .thumbnails__list .thumbnail:hover {
  border-color: var(--eh-beige) !important;
}
.eh-product__gallery .thumbnails__list .thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0.55 !important;
  transition: opacity 0.3s !important;
}
.eh-product__gallery .thumbnails__list .thumbnail.active img,
.eh-product__gallery .thumbnails__list .thumbnail:hover img {
  opacity: 1 !important;
}
/* Numbered overlay */
.eh-product__gallery .thumbnails__list .thumbnail::after {
  content: counter(thumb) !important;
  position: absolute !important;
  bottom: 3px !important;
  right: 6px !important;
  font-family: var(--eh-font-serif) !important;
  font-size: 0.9rem !important;
  font-weight: 300 !important;
  color: rgba(245,240,235,0.7) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.9) !important;
  pointer-events: none !important;
  line-height: 1 !important;
}

/* ══════════════════════════════════════
   INFO (right col)
   ══════════════════════════════════════ */

.eh-product__info {
  padding: 0.5rem 0 0 3.5rem !important;
}

/* Category label */
.eh-product__category {
  font-family: var(--eh-font-sans) !important;
  font-size: 0.6rem !important;
  font-weight: 500 !important;
  letter-spacing: 3.5px !important;
  text-transform: uppercase !important;
  color: var(--eh-beige) !important;
  margin-bottom: 0.8rem !important;
  display: block !important;
}

/* Product name */
.eh-product__name {
  font-family: var(--eh-font-serif) !important;
  font-size: clamp(2.4rem, 4vw, 3.5rem) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: var(--eh-white-off) !important;
  line-height: 1.08 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
}

/* Divider */
.eh-product__divider {
  height: 1px !important;
  background: rgba(255,255,255,0.07) !important;
  margin: 1.6rem 0 !important;
  border: none !important;
}

/* ── Price ── */
.product__prices {
  margin-bottom: 0 !important;
  padding: 0 !important;
}
.product__prices .prices__wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.4rem !important;
  margin: 0 !important;
}
.product__current-price {
  font-family: var(--eh-font-serif) !important;
  font-size: 2.6rem !important;
  font-weight: 300 !important;
  color: var(--eh-white-off) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
}
/* Struck-through old price */
.product__price-regular {
  font-family: var(--eh-font-serif) !important;
  font-size: 1.1rem !important;
  color: rgba(245,240,235,0.3) !important;
  text-decoration: line-through !important;
  font-weight: 300 !important;
}
/* Discount % */
.product__discount-percentage,
.product__discount-amount {
  font-size: 0.7rem !important;
  color: rgba(245,240,235,0.45) !important;
  font-family: var(--eh-font-sans) !important;
}
/* Tax / eco label */
.product__tax-info,
.product__tax-label {
  font-size: 0.7rem !important;
  color: rgba(245,240,235,0.35) !important;
  letter-spacing: 1px !important;
  font-family: var(--eh-font-sans) !important;
}

/* ── Short description ── */
.eh-product__desc,
.product__description-short {
  font-family: var(--eh-font-sans) !important;
  font-size: 0.84rem !important;
  line-height: 1.8 !important;
  color: rgba(245,240,235,0.5) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.eh-product__desc p,
.product__description-short p {
  font-size: 0.84rem !important;
  line-height: 1.8 !important;
  color: rgba(245,240,235,0.5) !important;
  margin: 0 !important;
}

/* ── Variants ── */
.product__variants {
  margin: 0 !important;
  padding: 0 !important;
}
.variant {
  margin-bottom: 1.4rem !important;
}
.variant .form-label {
  display: block !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.6rem !important;
  font-weight: 500 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: rgba(245,240,235,0.4) !important;
  margin-bottom: 0.7rem !important;
}

/* Select (longueur) */
.variant .form-select,
select.form-select {
  background-color: #161616 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23d4b896' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 12px !important;
  border: 1px solid rgba(212,184,150,0.2) !important;
  color: var(--eh-white-off) !important;
  border-radius: 0 !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.82rem !important;
  padding: 0.8rem 2.5rem 0.8rem 1rem !important;
  height: auto !important;
  width: 100% !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  transition: border-color 0.25s !important;
}
.variant .form-select:focus,
select.form-select:focus {
  border-color: var(--eh-beige) !important;
  box-shadow: none !important;
  outline: none !important;
}
.variant .form-select option {
  background-color: #161616 !important;
  color: var(--eh-white-off) !important;
}

/* Color swatches */
.color-variants {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  gap: 0.7rem !important;
}
.color-variant { list-style: none !important; }
.color-variant label { cursor: pointer !important; display: block !important; }
.color-variant .color {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: block !important;
  border: 2px solid transparent !important;
  transition: box-shadow 0.25s, transform 0.2s !important;
}
.color-variant .color.active,
.color-variant input:checked ~ .color,
.color-variant input:checked + span {
  border: 2px solid #0a0a0a !important;
  box-shadow: 0 0 0 2px var(--eh-beige) !important;
  transform: scale(1.1) !important;
}
.color-variant input.input-color { display: none !important; }
.color-variant .attribute-name { display: none !important; }

/* Radio variants */
.radio-variants {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}
.radio-variant {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.radio-variant label {
  cursor: pointer !important;
}
.radio-variant .form-check-input { display: none !important; }
.radio-variant .radio-label {
  display: block !important;
  padding: 0.5rem 1rem !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  font-size: 0.78rem !important;
  color: rgba(245,240,235,0.6) !important;
  font-family: var(--eh-font-sans) !important;
  transition: border-color 0.25s, color 0.25s !important;
  cursor: pointer !important;
}
.radio-variant input:checked + .radio-label,
.radio-variant label:has(input:checked) .radio-label {
  border-color: var(--eh-beige) !important;
  color: var(--eh-beige) !important;
  background: rgba(212,184,150,0.05) !important;
}

/* ── Add to cart section ── */
.product__add-to-cart {
  margin: 0 !important;
  padding: 0 !important;
}
.product__add-to-cart > .mb-3 {
  margin-bottom: 1rem !important;
}

/* Availability */
#product-availability .alert {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  font-size: 0.8rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}
#product-availability .alert-success { color: #5aad6e !important; }
#product-availability .alert-warning { color: #c4a03a !important; }
#product-availability .alert-danger  { color: #c05050 !important; }
#product-availability .material-icons { font-size: 1rem !important; }

/* Qty + button row */
.product__actions .row.g-2 {
  display: flex !important;
  gap: 0.6rem !important;
  margin: 0 !important;
  align-items: stretch !important;
}
.product__actions .quantity-button {
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 0 !important;
}
.product__actions .add {
  flex: 1 1 auto !important;
  padding: 0 !important;
}

/* ── Qty — structure réelle : .input-group.flex-nowrap ── */
.product-actions__quantity .input-group {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  background: #161616 !important;
  border-radius: 0 !important;
  height: 52px !important;
  overflow: hidden !important;
  margin: 0 !important;
}
.product-actions__quantity .btn.decrement,
.product-actions__quantity .btn.increment,
.product-actions__quantity .js-decrement-button,
.product-actions__quantity .js-increment-button {
  background: transparent !important;
  border: none !important;
  color: rgba(245,240,235,0.55) !important;
  width: 42px !important;
  height: 52px !important;
  padding: 0 !important;
  cursor: pointer !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: color 0.2s, background 0.2s !important;
}
.product-actions__quantity .btn.decrement:hover,
.product-actions__quantity .btn.increment:hover {
  color: var(--eh-beige) !important;
  background: rgba(212,184,150,0.05) !important;
}
.product-actions__quantity .btn.decrement .material-icons,
.product-actions__quantity .btn.increment .material-icons {
  font-size: 1.1rem !important;
  line-height: 1 !important;
}
.product-actions__quantity .material-icons.confirmation,
.product-actions__quantity .spinner-border { display: none !important; }
.product-actions__quantity input.form-control {
  background: transparent !important;
  border: none !important;
  border-left: 1px solid rgba(255,255,255,0.06) !important;
  border-right: 1px solid rgba(255,255,255,0.06) !important;
  color: var(--eh-white-off) !important;
  font-family: var(--eh-font-serif) !important;
  font-size: 1.2rem !important;
  font-weight: 300 !important;
  text-align: center !important;
  width: 3.5rem !important;
  min-width: 3.5rem !important;
  height: 52px !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
}
.product-actions__quantity input.form-control:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* ── Badge "ÉCONOMISEZ" — discret ── */
.product__discount {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
}
.product__discount-percentage,
.product__discount-amount {
  font-size: 0.65rem !important;
  color: rgba(245,240,235,0.38) !important;
  font-family: var(--eh-font-sans) !important;
  letter-spacing: 1px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}
.product__prices .badge,
.product__prices [class*="discount-badge"] { display: none !important; }

/* Add to cart button */
.btn.btn-primary.add-to-cart,
button.add-to-cart {
  background: var(--eh-beige) !important;
  color: var(--eh-black) !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 0 1.5rem !important;
  height: 52px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.3s !important;
  cursor: pointer !important;
}
.btn.btn-primary.add-to-cart:hover {
  background: #e8c9a8 !important;
}
.btn.btn-primary.add-to-cart .material-icons {
  display: none !important;
}

/* Minimal quantity notice */
.product-minimal-quantity {
  font-size: 0.75rem !important;
  color: rgba(245,240,235,0.35) !important;
  margin-top: 0.5rem !important;
}
.product-minimal-quantity .material-icons { display: none !important; }

/* Wishlist / additional hooks */
.eh-product__reassurance {
  padding-top: 0.5rem;
}
.eh-product__reassurance a,
.eh-product__reassurance button,
.product__additional-info a,
.product__additional-info button {
  font-size: 0.78rem !important;
  color: rgba(245,240,235,0.38) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  cursor: pointer !important;
  background: none !important;
  border: none !important;
  padding: 0.4rem 0 !important;
  transition: color 0.25s !important;
  font-family: var(--eh-font-sans) !important;
  letter-spacing: 0.5px !important;
}
.eh-product__reassurance a:hover,
.eh-product__reassurance button:hover,
.product__additional-info a:hover {
  color: var(--eh-beige) !important;
}
.eh-product__reassurance .material-icons,
.product__additional-info .material-icons {
  font-size: 1rem !important;
}

/* ══════════════════════════════════════
   TABS
   ══════════════════════════════════════ */

.eh-product__tabs-wrapper {
  max-width: 1400px;
  margin: 0 auto 4rem;
  padding: 0 3rem;
  border-top: 1px solid rgba(255,255,255,0.05);
}
.eh-tabs-nav {
  display: flex;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  margin-bottom: 2.5rem;
  overflow-x: auto;
}
.eh-tab-btn {
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  color: rgba(245,240,235,0.3) !important;
  font-family: var(--eh-font-sans) !important;
  font-size: 0.6rem !important;
  font-weight: 500 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 1.3rem 2.2rem !important;
  cursor: pointer !important;
  transition: color 0.25s, border-color 0.25s !important;
  margin-bottom: -1px !important;
  white-space: nowrap !important;
}
.eh-tab-btn:hover { color: var(--eh-white-off) !important; }
.eh-tab-btn.active {
  color: var(--eh-white-off) !important;
  border-bottom-color: var(--eh-beige) !important;
}
.eh-tab-panel { display: none; }
.eh-tab-panel.active { display: block; }
.eh-tab-panel,
.eh-product__description {
  font-size: 0.86rem !important;
  line-height: 1.85 !important;
  color: rgba(245,240,235,0.55) !important;
  max-width: 800px !important;
}
.eh-tab-panel p {
  font-size: 0.86rem !important;
  line-height: 1.85 !important;
  color: rgba(245,240,235,0.55) !important;
}
/* Details table */
.product-details table,
.eh-tab-panel table {
  width: 100%;
  border-collapse: collapse;
}
.product-details table td,
.eh-tab-panel table td {
  padding: 0.7rem 1rem !important;
  font-size: 0.82rem !important;
  color: rgba(245,240,235,0.55) !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  background: transparent !important;
  font-family: var(--eh-font-sans) !important;
}
.product-details table td:first-child,
.eh-tab-panel table td:first-child {
  color: var(--eh-beige) !important;
  font-size: 0.7rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  width: 40% !important;
}

/* ══════════════════════════════════════
   RESPONSIVE — product page
   ══════════════════════════════════════ */

@media (max-width: 1100px) {
  .eh-product {
    grid-template-columns: 52% 48% !important;
    padding: 1.5rem 2rem 3rem !important;
  }
  .eh-product__info { padding-left: 2.5rem !important; }
}
@media (max-width: 900px) {
  .eh-product {
    grid-template-columns: 1fr !important;
    padding: 0 1.4rem 3rem !important;
  }
  .eh-product__gallery { position: static !important; }
  .eh-product__info { padding: 2rem 0 0 !important; }
  .eh-product__gallery .carousel-item img { height: 400px !important; max-height: 400px !important; }
  .eh-product__tabs-wrapper { padding: 0 1.4rem !important; }
}
@media (max-width: 576px) {
  .eh-product__name { font-size: 2.2rem !important; }
  .product__current-price { font-size: 2rem !important; }
  .btn.btn-primary.add-to-cart { font-size: 0.58rem !important; letter-spacing: 2px !important; }
}

/* ==============================================
   HERO TOP GAP FIX — placed last to win cascade
   ============================================== */
section.eh-hero,
body .eh-hero {
  padding: 5rem 3rem 5rem !important;
  align-items: flex-start !important;
  min-height: 88vh !important;
}

/* ==============================================
   PRODUCT PAGE — prevent horizontal overflow
   ============================================== */
#product body,
body#product,
body.page-product {
  overflow-x: hidden !important;
}
#product #wrapper,
#product #wrapper .container,
#product #wrapper .row,
body.page-product #wrapper,
body.page-product #wrapper .container,
body.page-product #wrapper .row {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
}
@media (max-width: 900px) {
  .eh-product {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  .eh-product__info {
    padding: 2rem 0 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .product__actions .row.g-2,
  .product__add-to-cart .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
  }
}

#product-modal .modal-content .modal-body .product-cover-modal, .product-cover img {
    background: black;
}

.eh-product__reassurance {
    display: none;
}

.social-sharing {
    display: none !important;
}

#header .header-nav .cart-preview.active {
    background: #000000;
}

#header .header-nav  {
    background: #000000;
}

@media (max-width: 900px) {

#search_widget form i {
    position: absolute;
    padding: .1rem !important;
    font-size: 10px !important;
}
}


.radio-label {
    display: inline-block;
    padding: .125rem .625rem;
    font-weight: 600;
    background: transparent !important;
    border: 2px solid #fff;
}

section.eh-hero {
    padding: 0px !important;
}

section.eh-hero, body .eh-hero {
    padding: 0px !important;
    align-items: flex-start !important;
    min-height: 88vh !important;
}


#header .header-top {
    padding: 0px !important;
}

.header-top #search_widget input {
    padding-right: 1rem;
    display: none !important;
}

#header .logo {
    max-width: 400px !important;
    height: auto;
}

:root {
    --eh-black: #111111 !important;
}


#product-modal .modal-content .modal-body .product-cover-modal, .product-cover img {
    background: #111111 !important;
}

div#contact-link {
    display: none;
}

.breadcrumb, #wrapper .breadcrumb {
    background-color: transparent !important;
    padding: .75rem 0;
    margin: 0 auto;
    /* text-align: center !important; */
    border-bottom: 1px solid #2e2e2e;
    border-top: 1px solid #2e2e2e;
        padding: 5px !important;

}

#wrapper .breadcrumb ol, .list-group {
    padding-left: 0;
    margin-bottom: 0;
        margin-left: 15% !important;
                padding: 10px !important;


}

.header-top {
    border-bottom: 1px solid #2e2e2e !important;
}

select.form-control:not([size]):not([multiple]) {
    height: calc(2.5rem - 2px);
    width: 100% !important;
}

select#group_1 {
    background: #2a2a2a !important;
    padding: 0.85rem 1rem;
    border: 1px solid #2e2e2e;
    font-size: 0.85rem !important;
    font-weight: 300;
    height: 50px;
    margin-top: 15px !important;
}

.product-quantity .qty .input-group .form-control, .product-quantity .qty input {
    background-color: #2a2a2a !important;
    border-color: var(--eh-black-card-border) !important;
    color: var(--eh-white-off) !important;
}



input#quantity_wanted {
    background: #2a2a2a !important;
}

button.btn.btn-touchspin.js-touchspin.bootstrap-touchspin-up {
    background: #2a2a2a !important;
}


button.btn.btn-touchspin.js-touchspin.bootstrap-touchspin-down {
    background: #2a2a2a !important;
}

.product-quantity {
    margin-top: 15px !important;
}

button.btn.btn-primary.add-to-cart {
      font-weight: 500 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
}

.checkout .btn-primary, .checkout a.btn-primary {
    background-color: var(--eh-beige) !important;
    border-color: var(--eh-beige) !important;
    color: var(--eh-black) !important;
          font-weight: 500 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
}

span.current-price-value {
    font-size: 2rem !important;
    font-weight: 500 !important;
    color: #d4b896 !important;
}

.product-cover {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}

.product-cover img.js-qv-product-cover {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1.35) !important;
}

.product-images>li.thumb-container .thumb.selected, .product-images>li.thumb-container .thumb:hover {
    border: #d5b896 3px solid !important;
}

img.logo, .logo img, #header img.logo, #header .logo img, #_desktop_logo img {
    max-height: 200px !important;
    width: auto !important;
    height: auto !important;
    filter: brightness(1.1);
}

div#subcategories {
    display: none !important;
}

li.product-flag.new {
    display: none;
}

div#js-product-list-header {
    display: none;
}

.row.sort-by-row {
    display: none;
}

div#product-comments-list-header {
    display: none;
}

.featured-products, .product-accessories, .crossselling-products, .viewed-products, #content-wrapper .featured-products, section.featured-products, section.crossselling-products {
    background-color: var(--eh-black) !important;
    display: none;
}

.header-top-right.col-md-10.col-sm-12.position-static {
    margin-left: 10% !important;
}

.input-group.bootstrap-touchspin {
    background: #2a2a2a !important;
}

select#group_7 {
    background: #2a2a2a !important;
    padding: 0.85rem 1rem;
    border: 1px solid #2e2e2e;
    font-size: 0.85rem !important;
    font-weight: 300;
    height: 50px;
    margin-top: 15px !important;
}

@media (max-width: 767px) {

    img.logo, .logo img, #header img.logo, #header .logo img, #_desktop_logo img {
    max-height: 100px !important;
    width: auto !important;
    height: auto !important;
    filter: brightness(1.1);
}
header .logo {
     max-width: 100px !important;
    height: auto;
}

#header .header-nav {
    max-height: 200px;
    border-bottom: #f6f6f6 2px solid;
}

article.product-miniature.js-product-miniature.reviews-loaded {
    margin-top: 10px;
}
}

.blockreassurance_product {
    display: none !important;
}

.cart-summary-line .value {
    color: #d5b896 !important;
}

span.price {
    color: #d5b896 !important;
}

.product-miniature .product-description {
  background-color: #1e1e1e !important;
}
article.product-miniature.js-product-miniature.reviews-loaded {
  background-color: #1e1e1e !important;
}

.product-miniature .product-price-and-shipping .price, .product-miniature .price {
    color: #d5b896 !important;
    font-size: 1.50em !important;
}

.thumbnail-top img {
    object-fit: cover !important;
    object-position: center !important;
}

.product-description {
    background: red !important;
}

.products-selection .total-products, .products-selection h1 {
    padding-top: .625rem;
    display: none;
}

.product__left, .product-images, .images-container {
    background-color: transparent !important;
    border-radius: 4px;
    overflow: hidden;
}

@media (max-width: 767px) {

  .eh-hero__content {
    padding: 60px 24px;
  }

  .eh-hero__text {
    max-width: 100%;
  }

  .eh-hero__title {
    font-size: 56px;
    line-height: 1.05;
    letter-spacing: -1px;
    margin-bottom: 30px;
  }

  .eh-hero__title em {
    display: block;
  }

  .eh-hero__subtitle {
    font-size: 18px;
    line-height: 1.8;
    max-width: 95%;
    margin-bottom: 40px;
  }

  .eh-hero__actions {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
  }

  .eh-btn {
    width: 100%;
    text-align: center;
    padding: 22px 20px;
  }

  .eh-hero__image {
    display: block;
    position: absolute;
    top: 0;
    right: -15%;
    width: 75%;
    max-width: 340px;
    margin: 0;
    z-index: 0;
    pointer-events: none;
  }
  .eh-hero__image img {
    width: 100%;
    height: auto;
  }
  .eh-hero__text { position: relative; z-index: 1; }
}

.product-miniature .thumbnail-container .thumbnail-top {
  height: 420px !important;
  overflow: hidden !important;
  background: #222 !important;
}

.product-miniature .thumbnail-container .thumbnail-top a.thumbnail,
.product-miniature .thumbnail-container .thumbnail-top picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.product-miniature .thumbnail-container .thumbnail-top img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

@media (max-width: 767px) {
  .product-miniature .thumbnail-container {
    overflow: hidden !important;
  }

  .product-miniature .thumbnail-top {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    overflow: hidden !important;
  }

  .product-miniature .thumbnail-top a.product-thumbnail,
  .product-miniature .thumbnail-top picture {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
  }

  .product-miniature .thumbnail-top img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    min-width: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }
}

@media (max-width: 767px) {
  .product-miniature .thumbnail-top img {
    transform: scale(1.35) !important;
  }
}

i.material-icons.shopping-cart {
    display: none !important;
}


@media (max-width: 767px) {
  .product-miniature .thumbnail-top img {
    transform: scale(1.35) !important;
  }
}


article.product-miniature.js-product-miniature.reviews-loaded {
    background-color: #111111 !important;
}

/* ==============================================
   HOMEPAGE LAUNCH LOADER (from tracy)
   ============================================== */
.eh-launch-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: var(--eh-black, #0a0a0a);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1.5rem;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}
.eh-launch-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.eh-launch-loader__logo {
  opacity: 0;
  animation: ehLoaderFadeUp 1s 0.2s ease forwards;
}
.eh-launch-loader__logo img {
  max-width: 220px;
  height: auto;
  display: block;
}
.eh-launch-loader__bar {
  width: 120px;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
  position: relative;
  overflow: hidden;
}
.eh-launch-loader__bar::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--eh-beige, #d4b896);
  animation: ehLoaderSlide 1.5s ease-in-out infinite;
}
@keyframes ehLoaderSlide {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
@keyframes ehLoaderFadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}