/* ============================================================
   BIJOUX HÉLÈNE RIU — Theme Override Claude
   Surcharge progressive sur PS9 Classic
   Fonts: Cormorant Garamond, Inter Tight, Italiana
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=Inter+Tight:wght@300;400;500;600&family=Italiana&display=swap');

/* ── VARIABLES ──────────────────────────────────────────── */
:root {
  --night: #0E0B1A;
  --night-2: #16122A;
  --night-3: #1F1934;
  --amethyst: #6B4A8C;
  --amethyst-light: #9B7FB8;
  --amethyst-deep: #3D2B5C;
  --gold: #D4B570;
  --gold-pale: #E8D9A8;
  --gold-deep: #A88845;
  --moon: #F4EFE6;
  --mist: #E8DFE8;
  --obsidian: #1A1520;

  --serif: 'Cormorant Garamond', 'Times New Roman', serif;
  --display: 'Italiana', serif;
  --sans: 'Inter Tight', system-ui, sans-serif;
}

/* ── BASE DARK ──────────────────────────────────────────── */
html, body {
  background: var(--night) !important;
  color: var(--moon) !important;
  font-family: var(--sans) !important;
  font-weight: 300 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { background: var(--gold); color: var(--night); }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--night); }
::-webkit-scrollbar-thumb { background: var(--amethyst-deep); }
::-webkit-scrollbar-thumb:hover { background: var(--amethyst); }

/* ── HEADER ─────────────────────────────────────────────── */
#header,
.header-top,
#header .header-top {
  background: rgba(14, 11, 26, 0.92) !important;
  backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  border-bottom: 1px solid rgba(212, 181, 112, 0.15) !important;
  box-shadow: none !important;
}

#header .logo,
#header .header-logo a {
  font-family: var(--display) !important;
  color: var(--moon) !important;
}

/* Nav links */
#top-menu > li > a,
.js-top-menu a,
#header .top-nav a {
  color: var(--moon) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  transition: color 0.3s ease !important;
}
#top-menu > li > a:hover,
.js-top-menu a:hover {
  color: var(--gold) !important;
}

/* Icons header (panier, compte) */
#header .material-icons,
#header .cart-products-count,
#header .blockcart a,
#header .user-info a {
  color: var(--moon) !important;
}
#header .blockcart a:hover,
#header .user-info a:hover {
  color: var(--gold) !important;
}

/* Dropdown nav */
.popover, .dropdown-menu, #header .top-nav .dropdown-menu {
  background: var(--night-2) !important;
  border: 1px solid rgba(212, 181, 112, 0.2) !important;
}
.dropdown-item, .dropdown-menu a {
  color: var(--moon) !important;
}
.dropdown-item:hover, .dropdown-menu a:hover {
  background: rgba(212, 181, 112, 0.1) !important;
  color: var(--gold) !important;
}

/* ── SECTIONS PRINCIPALES ───────────────────────────────── */
#wrapper, #main, .page-content, #content-wrapper,
section, .section, .container-fluid {
  background: transparent !important;
  color: var(--moon) !important;
}

/* Cartes produits */
.product-miniature,
.js-product-miniature,
article.product-miniature {
  background: linear-gradient(180deg, rgba(31, 25, 52, 0.6) 0%, rgba(14, 11, 26, 0.9) 100%) !important;
  border: 1px solid rgba(232, 223, 232, 0.1) !important;
  color: var(--moon) !important;
  transition: border-color 0.4s ease, transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
  border-radius: 0 !important;
}
.product-miniature:hover,
.js-product-miniature:hover {
  border-color: var(--gold) !important;
  transform: translateY(-5px) !important;
}

.product-miniature .product-title a,
.product-miniature h3 a,
.product-miniature .h3 a {
  color: var(--moon) !important;
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  transition: color 0.3s;
}
.product-miniature .product-title a:hover,
.product-miniature h3 a:hover {
  color: var(--gold) !important;
}

.product-miniature .price,
.product-miniature .product-price-and-shipping .price {
  color: var(--gold) !important;
  font-family: var(--serif) !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
}

/* Image produit overlay */
.product-miniature .product-thumbnail {
  position: relative;
  overflow: hidden;
}
.product-miniature .product-thumbnail::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(14,11,26,0.5) 100%);
  pointer-events: none;
}

/* Bouton ajouter au panier sur card */
.product-miniature .add-to-cart,
.product-miniature .ajax_add_to_cart_button {
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
  font-family: var(--sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  transition: all 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
  border-radius: 0 !important;
}
.product-miniature .add-to-cart:hover,
.product-miniature .ajax_add_to_cart_button:hover {
  background: var(--gold) !important;
  color: var(--night) !important;
}

/* ── BUTTONS GLOBAUX ────────────────────────────────────── */
.btn-primary, .btn.btn-primary, button.btn-primary,
input[type="submit"].btn-primary {
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  border-radius: 0 !important;
  padding: 13px 28px !important;
  transition: all 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}
.btn-primary:hover, .btn.btn-primary:hover, button.btn-primary:hover,
input[type="submit"].btn-primary:hover {
  background: var(--gold) !important;
  color: var(--night) !important;
  border-color: var(--gold) !important;
}

.btn-secondary, .btn.btn-secondary {
  background: transparent !important;
  border: 1px solid rgba(232, 223, 232, 0.3) !important;
  color: var(--moon) !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
}
.btn-secondary:hover, .btn.btn-secondary:hover {
  border-color: var(--amethyst-light) !important;
  color: var(--amethyst-light) !important;
}

/* Bouton panier sticky (override custom-bijoux.css) */
.product-sticky-cart .btn-sticky-cart {
  background: var(--gold) !important;
  color: var(--night) !important;
  border-radius: 0 !important;
}
.product-sticky-cart .btn-sticky-cart:hover {
  background: var(--gold-deep) !important;
}
.product-sticky-cart {
  background: var(--night-2) !important;
  border-top: 1px solid rgba(212, 181, 112, 0.2) !important;
  color: var(--moon) !important;
}
.product-sticky-cart .sticky-price {
  color: var(--gold) !important;
}

/* ── INPUTS / FORMULAIRES ───────────────────────────────── */
input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="tel"], textarea, select,
.form-control {
  background: rgba(22, 18, 42, 0.8) !important;
  border: 1px solid rgba(232, 223, 232, 0.15) !important;
  color: var(--moon) !important;
  border-radius: 0 !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  letter-spacing: 0.03em !important;
  transition: border-color 0.3s !important;
}
input:focus, textarea:focus, select:focus, .form-control:focus {
  border-color: var(--gold) !important;
  box-shadow: none !important;
  outline: none !important;
  background: rgba(22, 18, 42, 0.95) !important;
}
input::placeholder, textarea::placeholder { color: rgba(244, 239, 230, 0.35) !important; }

/* ── CATÉGORIE / LISTING ────────────────────────────────── */
#category,
#category #wrapper,
.category-cover,
#products-section {
  background: var(--night) !important;
}

.faceted-overlay, #search_filters,
.faceted-search-filters .collapse {
  background: var(--night-2) !important;
  border: 1px solid rgba(232, 223, 232, 0.08) !important;
}
.faceted-search-filters .h6,
.faceted-search-filters label,
.faceted-search-filters p {
  color: var(--moon) !important;
  font-family: var(--sans) !important;
}
.faceted-search-filters input[type="checkbox"] {
  accent-color: var(--amethyst) !important;
}

/* ── PAGE PRODUIT ───────────────────────────────────────── */
#product, #product #wrapper {
  background: var(--night) !important;
}

.product-cover, .images-container {
  border: 1px solid rgba(232, 223, 232, 0.08) !important;
  background: var(--night-2) !important;
}

.page-product .product-name,
#product h1, .product-name h1 {
  font-family: var(--serif) !important;
  color: var(--moon) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
}

.product-price .current-price,
.product-price .price {
  color: var(--gold) !important;
  font-family: var(--serif) !important;
  font-size: 1.4rem !important;
}

.product-description, .product-description-short,
.product-description p, .product-description-short p {
  color: rgba(244, 239, 230, 0.78) !important;
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

/* Add to cart button produit */
#add-to-cart-or-refresh .btn-primary,
.product-add-to-cart .btn-primary {
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
  border-radius: 0 !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  padding: 16px 32px !important;
}
#add-to-cart-or-refresh .btn-primary:hover,
.product-add-to-cart .btn-primary:hover {
  background: var(--gold) !important;
  color: var(--night) !important;
}

/* Tabs produit */
.product-tabs .nav-tabs {
  border-bottom: 1px solid rgba(212, 181, 112, 0.15) !important;
}
.product-tabs .nav-tabs .nav-link {
  color: rgba(244, 239, 230, 0.5) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.product-tabs .nav-tabs .nav-link.active {
  color: var(--gold) !important;
  border-bottom: 1px solid var(--gold) !important;
  background: transparent !important;
}

/* ── FOOTER ─────────────────────────────────────────────── */
#footer, footer {
  background: var(--obsidian) !important;
  border-top: 1px solid rgba(212, 181, 112, 0.15) !important;
  color: rgba(244, 239, 230, 0.6) !important;
}
#footer a, footer a {
  color: rgba(244, 239, 230, 0.6) !important;
  transition: color 0.3s !important;
}
#footer a:hover, footer a:hover {
  color: var(--gold) !important;
}
#footer h4, #footer .h4, footer h4, footer .h4,
#footer .h3, footer .h3 {
  color: var(--moon) !important;
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
  letter-spacing: 0.05em !important;
}

/* Disclaimer lithothérapie footer */
.disclaimer-litho, #footer .disclaimer-litho,
.bijoux-disclaimer {
  font-size: 11px !important;
  color: rgba(244, 239, 230, 0.35) !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.03em !important;
  border-top: 1px solid rgba(232, 223, 232, 0.06) !important;
  padding-top: 1.5rem !important;
}

/* ── BREADCRUMB ─────────────────────────────────────────── */
.breadcrumb, nav.breadcrumb ol {
  background: transparent !important;
}
.breadcrumb-item a {
  color: rgba(244, 239, 230, 0.45) !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  font-family: var(--sans) !important;
  text-transform: uppercase !important;
}
.breadcrumb-item.active {
  color: var(--gold) !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  font-family: var(--sans) !important;
  text-transform: uppercase !important;
}
.breadcrumb-item + .breadcrumb-item::before {
  color: rgba(212, 181, 112, 0.4) !important;
}

/* ── NEWSLETTER BANNER (override custom-bijoux) ─────────── */
#bijoux-newsletter-sticky {
  background: var(--night-2) !important;
  border-top: 1px solid rgba(212, 181, 112, 0.2) !important;
}
#bijoux-newsletter-sticky .bijoux-nl-cta {
  background: var(--gold) !important;
  color: var(--night) !important;
  border-radius: 0 !important;
}
#bijoux-newsletter-sticky .bijoux-nl-cta:hover {
  background: var(--gold-deep) !important;
}

/* ── ALERTES / BADGES ───────────────────────────────────── */
.badge-danger, .badge.badge-danger,
span.discount-percentage, span.discount-amount {
  background: var(--amethyst) !important;
  border-radius: 0 !important;
}
.badge-success, .badge.badge-success {
  background: rgba(107, 74, 140, 0.6) !important;
  border-radius: 0 !important;
}
.alert-info {
  background: rgba(31, 25, 52, 0.8) !important;
  border: 1px solid rgba(107, 74, 140, 0.3) !important;
  color: var(--moon) !important;
}

/* ── PAGE CHECKOUT & PANIER ─────────────────────────────── */
#order-confirmation, #cart, #checkout {
  background: var(--night) !important;
  color: var(--moon) !important;
}
.cart-grid-body, .card, .cart-summary, .checkout-step {
  background: var(--night-2) !important;
  border: 1px solid rgba(232, 223, 232, 0.08) !important;
  border-radius: 0 !important;
  color: var(--moon) !important;
}
.card-header, .checkout-step__title {
  background: var(--night-3) !important;
  border-bottom: 1px solid rgba(212, 181, 112, 0.15) !important;
  color: var(--moon) !important;
  font-family: var(--serif) !important;
}
.cart-total .label, .cart-total .value,
.cart-subtotals .label, .cart-subtotals .value {
  color: var(--moon) !important;
}
.cart-total .value {
  color: var(--gold) !important;
  font-family: var(--serif) !important;
}

/* ── SEARCH ─────────────────────────────────────────────── */
#search_widget input[type="text"] {
  background: rgba(22, 18, 42, 0.8) !important;
  border: 1px solid rgba(232, 223, 232, 0.12) !important;
  color: var(--moon) !important;
}
.ui-autocomplete, .ac-suggestions {
  background: var(--night-2) !important;
  border: 1px solid rgba(212, 181, 112, 0.2) !important;
}
.ui-menu-item a, .ac-suggestion {
  color: var(--moon) !important;
}
.ui-menu-item a:hover, .ac-suggestion:hover {
  background: rgba(212, 181, 112, 0.1) !important;
  color: var(--gold) !important;
}

/* ── H1/H2 TITRES DE PAGE ───────────────────────────────── */
h1, .h1 {
  font-family: var(--serif) !important;
  color: var(--moon) !important;
  font-weight: 400 !important;
}
h2, .h2 {
  font-family: var(--serif) !important;
  color: var(--moon) !important;
  font-weight: 400 !important;
}
h3, .h3, h4, .h4 {
  color: var(--moon) !important;
  font-family: var(--sans) !important;
}

/* ── PAGINATION ─────────────────────────────────────────── */
.pagination .page-link {
  background: transparent !important;
  border: 1px solid rgba(232, 223, 232, 0.12) !important;
  color: var(--moon) !important;
  border-radius: 0 !important;
}
.pagination .page-item.active .page-link {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--night) !important;
}
.pagination .page-link:hover {
  background: rgba(212, 181, 112, 0.15) !important;
  color: var(--gold) !important;
}

/* ── HOMEPAGE SECTIONS — Hero override ──────────────────── */
/* Si un hook ou module injecte un hero block maison */
.bijoux-hero-block {
  background: var(--night) !important;
  color: var(--moon) !important;
  font-family: var(--display) !important;
}
.bijoux-hero-block h1 {
  font-size: clamp(52px, 9vw, 120px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.02em !important;
  font-family: var(--display) !important;
  color: var(--moon) !important;
}
.bijoux-hero-block .gold-accent {
  color: var(--gold) !important;
  font-family: var(--serif) !important;
  font-style: italic !important;
}
.bijoux-hero-block .eyebrow {
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
  font-family: var(--sans);
  font-weight: 400;
}

/* ── HOMEPAGE — Modules natifs PS ───────────────────────── */
/* ps_imageslider */
#carousel .carousel-inner, #ps_imageslider {
  background: var(--night) !important;
}
#carousel .carousel-caption h2,
#carousel .carousel-caption p {
  font-family: var(--serif) !important;
  color: var(--moon) !important;
}
#carousel .carousel-indicators li,
#carousel .carousel-indicators button {
  background: rgba(212, 181, 112, 0.4) !important;
  border: none !important;
}
#carousel .carousel-indicators .active,
#carousel .carousel-indicators li.active,
#carousel .carousel-indicators button.active {
  background: var(--gold) !important;
}

/* ps_featuredproducts, ps_newproducts */
.featured-products, .new-products,
section.featured-products, section.new-products {
  background: var(--night) !important;
  color: var(--moon) !important;
}
.featured-products h2, .new-products h2,
.featured-products .section-title, .new-products .section-title {
  font-family: var(--serif) !important;
  color: var(--moon) !important;
  font-weight: 400 !important;
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  letter-spacing: -0.01em !important;
}
/* Divider or sous les titres */
.featured-products h2::after, .new-products h2::after {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), transparent);
  margin-top: 12px;
}

/* ps_categoryproducts */
.category-products, .home-categories {
  background: var(--night) !important;
}

/* ps_customtext / blocs HTML maison */
.block-custom-text {
  background: transparent !important;
  color: var(--moon) !important;
}

/* ── MOBILE ─────────────────────────────────────────────── */
@media (max-width: 767.98px) {
  .product-miniature:hover {
    transform: none !important;
  }
  .featured-products h2, .new-products h2 {
    font-size: 1.8rem !important;
  }
}

/* ============================================================
   BHR CATEGORY HERO
   ============================================================ */
.bhr-cat-hero {
  position: relative;
  background: var(--night-2);
  border-bottom: 1px solid rgba(212,181,112,.15);
  overflow: hidden;
  margin-bottom: 2rem;
}
.bhr-cat-hero__glow {
  position: absolute;
  top: -80px; left: -80px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(107,74,140,.35) 0%, transparent 70%);
  pointer-events: none;
}
.bhr-cat-hero__inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 1.5rem 2.5rem;
}
.bhr-cat-breadcrumb {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1.5rem;
  font-family: var(--sans);
  font-size: .75rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold-pale);
  opacity: .7;
}
.bhr-cat-breadcrumb__link {
  color: var(--gold-pale);
  text-decoration: none;
}
.bhr-cat-breadcrumb__link:hover { opacity: 1; color: var(--gold); }
.bhr-cat-breadcrumb__sep { opacity: .5; }
.bhr-cat-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
}
.bhr-eyebrow {
  font-family: var(--sans);
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .75rem;
}
.bhr-cat-hero__title {
  font-family: var(--serif);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 300;
  color: var(--moon);
  line-height: 1.1;
  margin: 0;
}
.bhr-gold-italic {
  font-style: italic;
  color: var(--gold);
}
.bhr-cat-hero__desc {
  font-family: var(--sans);
  font-size: .9rem;
  color: rgba(244,239,230,.6);
  line-height: 1.7;
  margin: 0;
  padding-top: .5rem;
}
.bhr-cat-cover {
  margin-top: 2rem;
  border-radius: 4px;
  overflow: hidden;
  max-height: 220px;
}
.bhr-cat-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 767.98px) {
  .bhr-cat-hero__grid { grid-template-columns: 1fr; }
  .bhr-cat-hero__inner { padding: 2rem 1rem; }
}

/* ============================================================
   BHR PRODUCT CARD (miniature)
   ============================================================ */
.bhr-card {
  background: var(--night-2);
  border: 1px solid rgba(212,181,112,.1);
  border-radius: 6px;
  overflow: hidden;
  transition: border-color .3s, box-shadow .3s;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.bhr-card:hover {
  border-color: rgba(212,181,112,.35);
  box-shadow: 0 8px 32px rgba(0,0,0,.4);
}
.bhr-card__visual {
  position: relative;
}
.bhr-card__img-wrap {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
}
.bhr-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.bhr-card:hover .bhr-card__img-wrap img {
  transform: scale(1.05);
}
.bhr-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(14,11,26,.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s;
}
.bhr-card:hover .bhr-card__overlay {
  opacity: 1;
}
.bhr-card__view-label {
  font-family: var(--sans);
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid var(--gold);
  padding: .4rem 1rem;
  border-radius: 2px;
}
.bhr-card__info {
  padding: 1rem 1.25rem 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.bhr-card__name {
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 400;
  color: var(--moon);
  margin: 0;
  line-height: 1.3;
}
.bhr-card__name a {
  color: inherit;
  text-decoration: none;
}
.bhr-card__name a:hover { color: var(--gold); }
.bhr-card__price {
  font-family: var(--sans);
  font-size: .9rem;
  color: var(--gold);
  margin: 0;
}
.bhr-card__regular-price {
  text-decoration: line-through;
  color: rgba(244,239,230,.4);
  font-size: .8rem;
  margin-right: .4rem;
}
.bhr-quickview {
  font-family: var(--sans);
  font-size: .7rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold-pale);
  text-decoration: none;
  background: rgba(212,181,112,.1);
  border: 1px solid rgba(212,181,112,.2);
  padding: .25rem .6rem;
  border-radius: 2px;
  transition: background .2s;
}
.bhr-quickview:hover {
  background: rgba(212,181,112,.2);
  color: var(--gold);
}
/* Keep highlighted-informations styled */
.highlighted-informations {
  padding: .5rem .75rem;
  background: rgba(14,11,26,.7);
}

/* ============================================================
   BHR FOOTER
   ============================================================ */
.bhr-footer.footer-container {
  background: var(--night) !important;
  border-top: 1px solid rgba(212,181,112,.15);
  color: var(--moon);
  padding: 0 !important;
}
.bhr-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 1.5rem 2rem;
}
.bhr-footer__grid {
  display: grid;
  grid-template-columns: 260px 1fr 1fr 1fr;
  gap: 2.5rem;
  align-items: start;
}
.bhr-footer__logo {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1.25rem;
}
.bhr-footer__brand-name {
  font-family: var(--serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--moon);
}
.bhr-footer__brand-sub {
  font-family: var(--sans);
  font-size: .65rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: .8;
}
.bhr-footer__address {
  font-family: var(--sans);
  font-size: .8rem;
  color: rgba(244,239,230,.55);
  line-height: 1.8;
  font-style: normal;
}
.bhr-footer__tel {
  color: var(--gold-pale);
  text-decoration: none;
}
.bhr-footer__tel:hover { color: var(--gold); }
.bhr-footer__hook-cols .row { margin: 0; }
/* Nav columns */
.bhr-footer__col--nav .bhr-footer__col-title {
  font-family: var(--serif);
  font-size: .8rem;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .75rem;
  list-style: none;
  cursor: default;
}
.bhr-footer__accordion { border: none; margin: 0; padding: 0; }
.bhr-footer__accordion > summary { list-style: none; }
.bhr-footer__accordion > summary::-webkit-details-marker { display: none; }
.bhr-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.bhr-footer__links a {
  font-family: var(--sans);
  font-size: .8rem;
  color: rgba(244,239,230,.55);
  text-decoration: none;
  transition: color .2s;
}
.bhr-footer__links a:hover { color: var(--gold); }
/* Desktop: show links regardless of details open state */
@media (min-width: 768px) {
  .bhr-footer__accordion > summary { pointer-events: none; cursor: default; }
  .bhr-footer__accordion > summary::after { display: none !important; }
  /* Force display of the list even when details is closed */
  .bhr-footer__col--nav .bhr-footer__links {
    display: flex !important;
    visibility: visible !important;
  }
}
/* Mobile accordion */
@media (max-width: 767.98px) {
  .bhr-footer__accordion[open] > summary::after { content: ' ▲'; font-size: .6rem; }
  .bhr-footer__accordion:not([open]) > summary::after { content: ' ▼'; font-size: .6rem; }
  .bhr-footer__accordion { border-bottom: 1px solid rgba(212,181,112,.1); padding-bottom: .75rem; margin-bottom: .25rem; }
  .bhr-footer__accordion[open] { /* keep open state */ }
  .bhr-footer__col--nav .bhr-footer__col-title { cursor: pointer; }
}
.bhr-footer__divider {
  height: 1px;
  background: linear-gradient(90deg, var(--gold) 0%, transparent 60%);
  margin: 2rem 0;
  opacity: .2;
}
.bhr-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.bhr-footer__copy {
  font-family: var(--sans);
  font-size: .75rem;
  color: rgba(244,239,230,.4);
  letter-spacing: .05em;
}
.bhr-footer__legal {
  font-family: var(--sans);
  font-size: .75rem;
  color: rgba(244,239,230,.4);
}
.bhr-footer__legal a { color: rgba(244,239,230,.4); text-decoration: none; }
.bhr-footer__legal a:hover { color: var(--gold); }
@media (max-width: 991.98px) {
  .bhr-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .bhr-footer__col--brand { grid-column: span 2; }
}
@media (max-width: 767.98px) {
  .bhr-footer__grid { grid-template-columns: 1fr; gap: 0; }
  .bhr-footer__col--brand { grid-column: span 1; margin-bottom: 1rem; }
  .bhr-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   MOBILE FIXES — 2026-04-25
   Audit UX 375px / 414px
   ============================================================ */

/* ── HEADER STICKY ──────────────────────────────────────── */
#header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

/* ── TOUCH TARGETS HEADER (min 44px) ───────────────────── */
@media (max-width: 767.98px) {
  /* Icônes compte + panier */
  #header .user-info,
  #header .blockcart {
    min-height: 44px;
    display: flex !important;
    align-items: center;
  }
  #header .user-info a,
  #header .blockcart a {
    min-height: 44px;
    min-width: 44px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 8px !important;
  }

  /* Burger menu touch target */
  #mobile_top_menu_wrapper .js-top-menu-toggle,
  button.js-top-menu-toggle,
  .material-icons.search,
  #search_widget button {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  /* Nav mobile dropdown items */
  .dropdown-item,
  #mobile_top_menu_wrapper a,
  #top-menu a {
    font-size: 13px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    min-height: 44px;
    display: flex !important;
    align-items: center;
  }

  /* Bouton sort/filtre (Pertinence) */
  select.form-control,
  #js-product-list-top select,
  #js-product-list-bottom select,
  .products-sort-order .select-title {
    min-height: 44px !important;
    font-size: 14px !important;
  }

  /* Bouton primary (Commander, Ajouter, etc.) */
  .btn-primary, .btn.btn-primary, button.btn-primary,
  input[type="submit"].btn-primary,
  .add-to-cart, #add-to-cart-or-refresh .btn-primary,
  .product-add-to-cart .btn-primary {
    min-height: 44px !important;
    padding: 12px 24px !important;
  }

  /* Pagination links */
  .pagination .page-link {
    min-height: 44px !important;
    min-width: 44px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  /* Breadcrumb font */
  .breadcrumb-item a,
  .breadcrumb-item.active {
    font-size: 12px !important;
  }
}

/* ── OVERFLOW CLIP SUR GLOWS ────────────────────────────── */
.bhr-cat-hero {
  overflow: hidden !important;
}
.bhr-pierres {
  overflow: hidden !important;
}

/* ── FONTS LISIBLES MOBILE ──────────────────────────────── */
@media (max-width: 767.98px) {
  /* Nav items dropdown */
  #top-menu > li > a,
  .js-top-menu a {
    font-size: 13px !important;
  }

  /* Textes secondaires (prix, labels) */
  .product-miniature .price,
  .product-miniature .product-price-and-shipping .price {
    font-size: 1rem !important;
  }

  /* Input search */
  #search_widget input[type="text"] {
    font-size: 16px !important; /* empêche zoom iOS */
    height: 44px !important;
  }
  input[type="text"], input[type="email"], input[type="password"],
  input[type="search"], input[type="tel"], textarea, select,
  .form-control {
    font-size: 16px !important; /* empêche zoom iOS sur focus */
    min-height: 44px !important;
  }

  /* Homepage sections padding */
  .bhr-collections,
  .bhr-intentions,
  .bhr-pierres__inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Collections grid → 2 colonnes compact */
  .bhr-collections__grid {
    gap: 10px !important;
  }
  .bhr-coll-card__content h3 {
    font-size: 28px !important;
  }

  /* Intentions cards */
  .bhr-intent-card h3 {
    font-size: 28px !important;
  }
  .bhr-intent-card {
    padding: 20px 14px !important;
    min-height: 140px !important;
  }

  /* Hero title clamp plus agressif */
  .bhr-hero__title {
    font-size: clamp(44px, 13vw, 72px) !important;
  }

  /* Marquee mobile : garder visible */
  .bhr-marquee-wrap {
    display: block !important;
  }
}

/* ── FOOTER ACCORDION MOBILE ────────────────────────────── */
@media (max-width: 767.98px) {
  #footer .links .title,
  #footer .block-title {
    cursor: pointer;
    min-height: 44px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(212,181,112,0.1) !important;
  }
  #footer .links .title::after,
  #footer .block-title::after {
    content: '+';
    font-family: var(--sans);
    font-size: 18px;
    color: var(--gold);
    opacity: 0.7;
    flex-shrink: 0;
  }
  #footer .links .collapse:not(.show) {
    display: none;
  }
}

/* ============================================================
   BHR DISCLAIMER
   ============================================================ */
.bhr-disclaimer {
  background: rgba(107,74,140,.08);
  border-top: 1px solid rgba(107,74,140,.2);
  padding: .75rem 1.5rem;
  text-align: center;
}
.bhr-disclaimer p {
  font-family: var(--sans);
  font-size: .75rem;
  color: rgba(244,239,230,.45);
  letter-spacing: .04em;
  margin: 0;
}

/* ============================================================
   CORRECTIONS GRILLE PRODUITS — 2025-04
   ============================================================ */

/* 1. Grille 2 cols mobile */
@media (max-width: 767px) {
  .products, #products .products, .featured-products .products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .product-miniature, .bhr-card { width: 100% !important; min-width: 0 !important; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .products { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}
@media (min-width: 1200px) {
  .products { grid-template-columns: repeat(4, 1fr); gap: 24px; }
}

/* 2. Image carrée forcée */
.product-miniature .product-thumbnail, .bhr-card .product-thumbnail,
.product-miniature img, .bhr-card img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  width: 100% !important;
  height: auto !important;
}

/* 3. Prix lisible */
.bhr-card .product-price-and-shipping .price,
.product-miniature .price {
  color: var(--gold, #D4B570) !important;
  font-weight: 600 !important;
  font-size: 1.05rem;
  letter-spacing: 0.02em;
}

/* 4. Cards uniformes hauteur */
.bhr-card { display: flex; flex-direction: column; height: 100%; }
.bhr-card__body { flex: 1; display: flex; flex-direction: column; }

/* 5. Masquer sous-catégories sans image valide */
.product-miniature .product-thumbnail img[src*="/no-image"],
.product-miniature[data-id-product="0"] { display: none !important; }

/* ============================================================
   POLISH 2026-04-25
   ============================================================ */

/* ── 1. VARIABLES MANQUANTES ────────────────────────────────── */
:root {
  --cream: #E8E0D0;
  --ink: #14102A;
  --muted: rgba(232, 224, 208, 0.65);
}

/* ── 2. HEADER STICKY — position + padding cohérent ────────── */
#header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* Padding interne de la barre (desktop) */
@media (min-width: 768px) {
  #header .header-top {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
}

/* ── 3. HERO OVERFLOW CLIP ──────────────────────────────────── */
.bhr-hero {
  position: relative !important;
  overflow: hidden !important;
}

/* ── 4. MARQUEE OVERFLOW + WHITESPACE ──────────────────────── */
.bhr-marquee-wrap {
  overflow: hidden !important;
}
.bhr-marquee {
  white-space: nowrap !important;
  display: inline-block;
  animation: marqueeScroll 28s linear infinite;
}
@keyframes marqueeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ── 5. PIERRES SVG AMBIENT ─────────────────────────────────── */
.bhr-pierres {
  position: relative !important;
  overflow: hidden !important;
}
.bhr-pierres > svg,
.bhr-pierres__ambient,
.bhr-pierres__glow {
  position: absolute !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.bhr-pierres__inner {
  position: relative !important;
  z-index: 1 !important;
}

/* ── 6. FOOTER GRID — déjà OK (4→2→1), confirmé ────────────── */
/* Rules existantes lignes 940-948 couvrent le responsive.     */

/* ── 7. CONTAINER MAX-WIDTH CAP ─────────────────────────────── */
.container,
.container-fluid {
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── 8. SECTION SPACING PRINCIPAL ──────────────────────────── */
.bhr-hero,
.bhr-marquee-wrap,
.bhr-collections,
.bhr-intentions,
.bhr-pierres,
.bhr-collections__section,
.bhr-intentions__section {
  padding-top: clamp(60px, 8vw, 120px) !important;
  padding-bottom: clamp(60px, 8vw, 120px) !important;
}
/* Exception : le marquee est plus compact */
.bhr-marquee-wrap {
  padding-top: clamp(20px, 3vw, 40px) !important;
  padding-bottom: clamp(20px, 3vw, 40px) !important;
}

/* === HEADER OVERFLOW FIX === */

/* Body anti-overflow horizontal global */
html, body { overflow-x: clip !important; max-width: 100vw; }

/* Header initial state — pas de bhr-hidden au mount */
header#header { transform: translateY(0) !important; opacity: 1 !important; visibility: visible !important; }
header#header.bhr-hidden { transform: translateY(-100%); opacity: 0; }
header#header { transition: transform .3s ease, opacity .25s ease; }

/* Nav overflow desktop+mobile */
ul.bhr-nav-list, .bhr-mobile-nav-list, .bhr-main-nav, .bhr-nav {
  max-width: 100% !important;
  overflow-x: clip !important;
}

/* Nav scrolled compact */
header.bhr-scrolled .bhr-nav-list, header.bhr-scrolled .bhr-main-nav {
  gap: clamp(8px, 1vw, 20px) !important;
  font-size: 0.85rem !important;
}
header.bhr-scrolled .bhr-logo svg { height: 36px !important; }

/* Container max-width strict pour cap layout */
.container, .container-fluid, .l-wrapper, #main, #content-wrapper {
  max-width: min(1320px, 100%) !important;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Hero astrolabe ne doit pas écraser h1 */
.bhr-hero { position: relative !important; overflow: hidden !important; isolation: isolate; }
.bhr-hero__astrolabe, .bhr-hero svg.astrolabe, [class*="hero"] [class*="astrolabe"] {
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 0.5 !important;
}
.bhr-hero h1, .bhr-hero__title, .bhr-display { position: relative; z-index: 2; }

/* Section spacing safer */
section { isolation: isolate; }

/* ============================================================
   RYTHME VERTICAL — AUDIT 2026-04-25
   ============================================================ */

/* ── WRAPPER PS natif : pt=25.008px → 24px ─────────────────── */
#wrapper, #main.container {
  padding-top: 24px !important;
}

/* ── HERO HOMEPAGE — clamp cohérent ─────────────────────────── */
.bhr-hero {
  padding-top: clamp(64px, 8vw, 120px) !important;
  padding-bottom: clamp(64px, 8vw, 120px) !important;
}

/* ── HERO CATÉGORIE — aligné sur un multiple de 8 ───────────── */
.bhr-cat-hero .bhr-cat-hero__inner {
  padding-top: clamp(48px, 5vw, 80px) !important;
  padding-bottom: clamp(40px, 4vw, 64px) !important;
}

/* ── SECTIONS HOMEPAGE — rythme 8x clamp ───────────────────── */
/* Override le clamp(60-120) trop agressif : sections custom BHR */
.bhr-collections,
.bhr-intentions,
.bhr-pierres {
  padding-top: clamp(64px, 6vw, 96px) !important;
  padding-bottom: clamp(64px, 6vw, 96px) !important;
}

/* ── FEATURED-PRODUCTS — supprimer le margin-top orphelin ──── */
/* PS injecte margin-top:48px sur .featured-products; le remplacer */
/* par du padding sur la section parente pour rester cohérent    */
.featured-products,
.new-products {
  padding-top: clamp(48px, 5vw, 80px) !important;
  padding-bottom: clamp(48px, 5vw, 80px) !important;
  margin-top: 0 !important;
}

/* ── ALTERNANCE BG SECTIONS ─────────────────────────────────── */
/* hero → transparent (nuit de base)                             */
/* marquee → night-2 (rgba 14,11,26,.6) déjà OK                 */
/* featured-products → nuit (#0E0B1A) déjà OK                   */
/* collections → ink (#14102A)                                   */
/* pierres → nuit (#0E0B1A)                                      */
/* intentions → ink (#14102A)                                    */
.bhr-collections {
  background: #14102A !important;
}
.bhr-pierres {
  background: #0E0B1A !important;
}
.bhr-intentions {
  background: #14102A !important;
}

/* ── CONTAINER max-width unique 1320px ─────────────────────── */
/* container-fluid pleine largeur doit tout de même être cappé   */
/* pour les sections non-full-bleed                              */
.container {
  max-width: min(1320px, 100%) !important;
}
/* Les container-fluid full-bleed (hero, marquee) gardent 100%  */
.bhr-hero .container-fluid,
.bhr-marquee-wrap .container-fluid {
  max-width: 100% !important;
}

/* ── TITRES — marges H2/H3 ──────────────────────────────────── */
h2, .h2 {
  margin-top: clamp(8px, 2vw, 24px) !important;
  margin-bottom: clamp(16px, 2vw, 24px) !important;
}
h3, .h3 {
  margin-top: clamp(4px, 1vw, 16px) !important;
  margin-bottom: clamp(8px, 1.5vw, 16px) !important;
}
/* H2 après paragraphe : espace supérieur plus généreux */
p + h2, p + .h2 {
  margin-top: clamp(24px, 3vw, 40px) !important;
}
p + h3, p + .h3 {
  margin-top: clamp(16px, 2vw, 32px) !important;
}

/* ── FOOTER TOP-MARGIN — léger espace si contenu collé ──────── */
#footer, footer, .bhr-footer {
  margin-top: clamp(16px, 2vw, 32px) !important;
}

/* ── BLOG / CONTENT / PANIER — padding page cohérent ───────── */
#cms, #blog, .page-content,
#cart #main, #checkout #main {
  padding-top: clamp(32px, 4vw, 64px) !important;
  padding-bottom: clamp(32px, 4vw, 64px) !important;
}

/* ── MOBILE ─────────────────────────────────────────────────── */
@media (max-width: 767.98px) {
  .bhr-hero {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .bhr-collections, .bhr-intentions, .bhr-pierres {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .featured-products, .new-products {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .bhr-cat-hero .bhr-cat-hero__inner {
    padding-top: 32px !important;
    padding-bottom: 24px !important;
  }
  h2, .h2 { margin-bottom: 16px !important; }
  #footer, footer, .bhr-footer { margin-top: 16px !important; }
}

/* ============================================================
   ITER 5 — 2ND PASS SPACING  2026-04-25
   ============================================================ */

/* ── FOOTER padding-top >= 80px desktop ─────────────────────── */
.bhr-footer__inner {
  padding-top: clamp(80px, 8vw, 120px) !important;
  padding-bottom: clamp(48px, 5vw, 80px) !important;
}
/* Footer natif PS aussi */
#footer .footer-container,
footer .footer-container {
  padding-top: clamp(80px, 8vw, 120px) !important;
}
@media (max-width: 767.98px) {
  .bhr-footer__inner {
    padding-top: 64px !important;
    padding-bottom: 48px !important;
  }
}

/* ── CARD GAP desktop >= 24px, mobile >= 16px ───────────────── */
/* Grilles produits */
@media (min-width: 1200px) {
  .products,
  #products .products,
  .featured-products .products,
  .new-products .products {
    gap: 24px !important;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .products,
  #products .products,
  .featured-products .products {
    gap: 24px !important;
  }
}
@media (max-width: 767.98px) {
  .products,
  #products .products,
  .featured-products .products,
  .new-products .products {
    gap: 16px !important;
  }
}
/* Grilles custom BHR (collections, intentions) */
.bhr-collections__grid {
  gap: clamp(16px, 2vw, 32px) !important;
}
.bhr-intentions__grid,
.bhr-intentions .products {
  gap: clamp(16px, 2vw, 24px) !important;
}
@media (max-width: 767.98px) {
  .bhr-collections__grid { gap: 16px !important; }
  .bhr-intentions__grid  { gap: 16px !important; }
}

/* ── HERO TAGLINE margin-top ─────────────────────────────────── */
.bhr-hero__tagline,
.bhr-hero .tagline,
.bijoux-hero-block .eyebrow,
.bhr-hero__eyebrow {
  margin-top: clamp(16px, 2vw, 24px) !important;
  margin-bottom: clamp(8px, 1.5vw, 16px) !important;
}
/* Tagline/subtitle sous h1 */
.bhr-hero__subtitle,
.bhr-hero p.subtitle,
.bijoux-hero-block p {
  margin-top: clamp(16px, 2vw, 24px) !important;
}

/* ── ORNEMENTS TITRE CENTRÉS ─────────────────────────────────── */
/* Pseudo-element décoratif sous h2 (déjà présent) : centrer */
.featured-products h2::after,
.new-products h2::after,
.bhr-section-title::after,
h2.bhr-ornament::after,
.bhr-title-ornament::after {
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}
/* Texte h2/h3 principal des sections custom */
.bhr-collections h2,
.bhr-intentions h2,
.bhr-pierres h2,
.featured-products h2,
.new-products h2,
.bhr-section__title {
  text-align: center !important;
}
/* Sous-titre section */
.bhr-section__subtitle,
.featured-products .section-subtitle,
.new-products .section-subtitle {
  text-align: center !important;
}

/* ── SECTIONS VIDES — min-height raisonnable ────────────────── */
/* Évite effondrement à 0 si contenu absent */
.bhr-hero { min-height: clamp(320px, 50vh, 640px) !important; }
.bhr-collections { min-height: clamp(240px, 30vh, 400px); }
.bhr-intentions  { min-height: clamp(240px, 30vh, 400px); }
.bhr-pierres     { min-height: clamp(200px, 25vh, 320px); }
/* Catégorie hero vide */
.bhr-cat-hero    { min-height: clamp(120px, 15vh, 200px); }

/* ── WRAPPER page top padding cohérent ──────────────────────── */
/* Supprimer le pt=24px sur pages normales; garder seulement sur home */
#index #wrapper, #index #main.container {
  padding-top: 0 !important;
}

/* ── PRODUCTS GRID — fix Bootstrap col width in CSS grid context ─ */
/* .products avec display:grid : les enfants .col-xl-3 reçoivent
   width:25% de Bootstrap (25% de la cellule = ~82px). Forcer 100%. */
.featured-products .products .js-product,
.new-products .products .js-product,
.page-home .products .js-product {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  float: none !important;
}

/* ── HOMEPAGE CONTAINER FULL-WIDTH ──────────────────────────── */
/* Bootstrap 4 cap à 1140px → override max-width uniquement,
   garder les paddings natifs pour éviter l'overflow du .row */
#index .container {
  max-width: 100% !important;
  width: 100% !important;
}
/* #main et #content-wrapper : max-width 100% mais sans toucher aux paddings */
#index #main,
#index #content-wrapper {
  max-width: 100% !important;
  width: 100% !important;
}
/* Les sections BHR custom sont déjà full-width par leur propre CSS.
   Elles héritent la width du parent via #content-wrapper.
   overflow-x hidden pour masquer l'éventuel dépassement du .row Bootstrap */
#index #main {
  overflow-x: hidden;
}

/* ── CONTAINER 1320px — padding horizontal cohérent ─────────── */
@media (min-width: 1400px) {
  .container {
    padding-left: clamp(16px, 2vw, 32px) !important;
    padding-right: clamp(16px, 2vw, 32px) !important;
  }
}

/* ── MOBILE spacing final pass ──────────────────────────────── */
@media (max-width: 767.98px) {
  /* Section padding-y mobile 48-64px */
  .bhr-hero,
  .bhr-collections,
  .bhr-intentions,
  .bhr-pierres {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
  .featured-products,
  .new-products {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  /* Hero min-height mobile */
  .bhr-hero { min-height: 280px !important; }
  /* Ornements centrés mobile aussi */
  .bhr-collections h2,
  .bhr-intentions h2,
  .bhr-pierres h2,
  .featured-products h2,
  .new-products h2 {
    text-align: center !important;
  }
}

/* ============================================================
   ITER 26 — 3E PASSE POLISH  2026-04-25
   Section transitions · Container · Rythme · Buttons · Shadows
   Radius · Z-index · Gradients · Ornements ✦
   ============================================================ */

/* ── DESIGN TOKENS SYSTÈME ──────────────────────────────────── */
:root {
  /* Box-shadow hiérarchie */
  --shadow-sm:  0 1px 3px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.25);
  --shadow-md:  0 4px 16px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.30);
  --shadow-lg:  0 8px 32px rgba(0,0,0,.55), 0 4px 12px rgba(0,0,0,.35);
  --shadow-xl:  0 20px 60px rgba(0,0,0,.65), 0 8px 24px rgba(0,0,0,.40);
  --shadow-gold: 0 0 24px rgba(212,181,112,.18);

  /* Border-radius hiérarchie */
  --radius-xs:  4px;
  --radius-sm:  8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;

  /* Z-index hiérarchie */
  --z-base:    1;
  --z-raised:  10;
  --z-overlay: 100;
  --z-modal:   1000;
  --z-toast:   2000;

  /* Gradient overlays standardisés */
  --grad-night-bottom: linear-gradient(180deg, transparent 0%, rgba(14,11,26,.85) 100%);
  --grad-night-top:    linear-gradient(0deg,   transparent 0%, rgba(14,11,26,.85) 100%);
  --grad-gold-h:       linear-gradient(90deg,  var(--gold) 0%, transparent 70%);
  --grad-gold-center:  linear-gradient(90deg,  transparent 0%, var(--gold) 50%, transparent 100%);
  --grad-amethyst-glow: radial-gradient(ellipse 60% 40% at 50% 100%, rgba(107,74,140,.35) 0%, transparent 70%);
  --grad-section-divider: linear-gradient(90deg, transparent, rgba(212,181,112,.15), transparent);
}

/* ── SECTION TRANSITIONS — alternance night/ink ─────────────── */
/* Séparateurs visuels entre sections via pseudo-elements */
.bhr-hero,
.bhr-marquee-wrap,
.bhr-collections,
.bhr-pierres,
.bhr-intentions,
.featured-products,
.new-products {
  position: relative;
}

/* Divider décoratif en bas de chaque section (1px gradient) */
.bhr-collections::after,
.bhr-intentions::after,
.bhr-pierres::after,
.featured-products::after,
.new-products::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--grad-section-divider);
  pointer-events: none;
}

/* Glow ambiant en haut des sections sur fond ink */
.bhr-collections::before,
.bhr-intentions::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: var(--grad-amethyst-glow);
  pointer-events: none;
  z-index: 0;
}
.bhr-collections > *,
.bhr-intentions > * {
  position: relative;
  z-index: var(--z-base);
}

/* ── CONTAINER max-width 1320px unifié ──────────────────────── */
/* Un seul endroit, couvre tous les cas */
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl {
  max-width: min(1320px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Sections full-bleed gardent 100% */
.bhr-hero,
.bhr-marquee-wrap {
  max-width: 100% !important;
}

/* ── VERTICAL RHYTHM — multiples de 8px ─────────────────────── */
/* Espaces canoniques entre éléments inline */
.bhr-card__info { gap: 8px !important; }                   /* 8 */
.bhr-footer__links { gap: 8px !important; }                /* 8 */
.bhr-cat-breadcrumb { gap: 8px !important; margin-bottom: 24px !important; } /* 8/24 */
.bhr-eyebrow { margin-bottom: 8px !important; }            /* 8 */
.bhr-cat-hero__title { margin-bottom: 16px !important; }   /* 16 */
.bhr-footer__logo { margin-bottom: 24px !important; }      /* 24 */

/* ── BUTTONS GLOBAUX — hiérarchie primary/secondary/ghost ──── */

/* Primary — or/gold fill on hover, outline default */
.btn-primary,
.btn.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  border-radius: var(--radius-xs) !important;
  padding: 14px 32px !important;
  transition: background .35s cubic-bezier(.2,.7,.2,1), color .35s, box-shadow .35s !important;
  box-shadow: none !important;
}
.btn-primary:hover,
.btn.btn-primary:hover,
button.btn-primary:hover,
input[type="submit"].btn-primary:hover {
  background: var(--gold) !important;
  color: var(--night) !important;
  box-shadow: var(--shadow-gold) !important;
}

/* Secondary — contour mist, hover amethyst */
.btn-secondary,
.btn.btn-secondary {
  background: transparent !important;
  border: 1px solid rgba(232,223,232,.28) !important;
  color: var(--moon) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: var(--radius-xs) !important;
  padding: 12px 24px !important;
  transition: border-color .3s, color .3s !important;
}
.btn-secondary:hover,
.btn.btn-secondary:hover {
  border-color: var(--amethyst-light) !important;
  color: var(--amethyst-light) !important;
}

/* Ghost — totalement transparent, pas de border */
.btn-ghost,
.btn.btn-ghost {
  background: transparent !important;
  border: none !important;
  color: rgba(244,239,230,.65) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 10px 16px !important;
  transition: color .3s !important;
  border-radius: var(--radius-xs) !important;
}
.btn-ghost:hover,
.btn.btn-ghost:hover {
  color: var(--gold) !important;
}

/* ── BOX-SHADOWS — application cohérente ────────────────────── */
/* Cards produits */
.bhr-card {
  box-shadow: var(--shadow-sm);
  transition: border-color .3s, box-shadow .3s !important;
}
.bhr-card:hover {
  box-shadow: var(--shadow-lg) !important;
}

/* Modals / drawers */
.modal-content,
.cart-detailed-totals,
.checkout-step {
  box-shadow: var(--shadow-xl) !important;
}

/* Header */
#header,
.header-top,
#header .header-top {
  box-shadow: var(--shadow-md) !important;
}

/* Dropdowns */
.popover,
.dropdown-menu,
.ui-autocomplete {
  box-shadow: var(--shadow-lg) !important;
}

/* ── BORDER-RADIUS — application hiérarchique ───────────────── */
/* Cards */
.bhr-card         { border-radius: var(--radius-sm) !important; }
/* Media thumbnails */
.bhr-cat-cover,
.bhr-card__img-wrap { border-radius: var(--radius-xs) !important; }
/* View label pill */
.bhr-card__view-label { border-radius: var(--radius-xs) !important; }
/* Quickview badge */
.bhr-quickview    { border-radius: var(--radius-xs) !important; }
/* Inputs */
input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="tel"], textarea, select,
.form-control     { border-radius: var(--radius-xs) !important; }
/* Modals */
.modal-content    { border-radius: var(--radius-md) !important; }
/* Toasts / badges */
.flash.alert, .alert { border-radius: var(--radius-sm) !important; }

/* ── Z-INDEX HIÉRARCHIE CENTRALISÉE ─────────────────────────── */
/* Header sticky */
#header           { z-index: var(--z-modal) !important; }
/* Overlays carte produit */
.bhr-card__overlay { z-index: var(--z-raised) !important; }
/* Dropdowns nav */
.dropdown-menu,
.popover,
.ui-autocomplete  { z-index: calc(var(--z-modal) + 10) !important; }
/* Modals */
.modal            { z-index: var(--z-modal) !important; }
.modal-backdrop   { z-index: calc(var(--z-modal) - 1) !important; }
/* Sticky panier */
.product-sticky-cart { z-index: calc(var(--z-modal) - 100) !important; }
/* Newsletter sticky */
#bijoux-newsletter-sticky { z-index: calc(var(--z-toast) - 500) !important; }

/* ── GRADIENT OVERLAYS STANDARDISÉS ─────────────────────────── */
/* Image produit (thumbnail overlay) */
.product-miniature .product-thumbnail::after {
  background: var(--grad-night-bottom) !important;
}
/* Hero overlay (si image de fond) */
.bhr-hero__bg-overlay,
.bhr-hero > .overlay {
  background: var(--grad-night-top) !important;
}
/* Section title underline gold (remplace border inline) */
.featured-products h2::after,
.new-products h2::after,
.bhr-section-title::after {
  background: var(--grad-gold-h) !important;
}

/* ── ORNEMENTS ✦ POSITIONNEMENT ─────────────────────────────── */
/* Ornement ✦ avant/après titres de sections */
.bhr-section-title,
.bhr-title-ornament,
h2.bhr-ornament {
  position: relative;
  display: inline-block;
}
.bhr-section-title::before,
.bhr-title-ornament::before,
h2.bhr-ornament::before {
  content: '✦';
  position: absolute;
  left: -1.6em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.55em;
  color: var(--gold);
  opacity: 0.6;
}
.bhr-section-title::after,
.bhr-title-ornament::after,
h2.bhr-ornament::after {
  /* Override l'after gold-line précédent : deux usages → on injecte ornement ✦ à droite */
  content: '✦';
  position: absolute;
  right: -1.6em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.55em;
  color: var(--gold);
  opacity: 0.6;
  background: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  display: inline !important;
}

/* Ornements ✦ dans les eyebrows (position inline après texte) */
.bhr-eyebrow::before {
  content: '✦ ';
  font-size: 0.7em;
  color: var(--gold);
  opacity: 0.7;
  margin-right: 4px;
}
.bhr-eyebrow::after {
  content: ' ✦';
  font-size: 0.7em;
  color: var(--gold);
  opacity: 0.7;
  margin-left: 4px;
}

/* ── SECTION HEADING WRAPPER centré ─────────────────────────── */
/* Wrapper pour centrage ornements : éviter que l'absolute dépasse */
.bhr-section-heading {
  text-align: center;
  padding: 0 2.5em;  /* espace pour les ornements ✦ */
}

/* ── TRANSITIONS SECTION BG — ombre de passage ──────────────── */
/* Dégradé de fondu entre sections nuit → ink → nuit */
.bhr-collections {
  box-shadow: 0 -32px 48px 0 rgba(14,11,26,.5) inset;
}
.bhr-intentions {
  box-shadow: 0 -32px 48px 0 rgba(14,11,26,.5) inset;
}

/* ── MD5 BUMP 2026-04-25-iter26 ────────────────────────────── */
