/* ============================================================
   BIJOUX HÉLÈNE RIU — Homepage sections (Claude Design)
   Complément de bijoux-theme-claude.css
   ============================================================ */

/* ── UTILITAIRES ────────────────────────────────────────── */
.bhr-eyebrow {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
}
.bhr-eyebrow-sm {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gold);
}
.bhr-h-display {
  font-family: 'Italiana', serif;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 0.92;
  color: var(--moon);
}
.bhr-gold-italic {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 300;
  color: var(--gold);
}
.bhr-gold { color: var(--gold); }
.bhr-moon-low { color: var(--moon); opacity: 0.45; }
.bhr-arrow { color: var(--gold); }
.bhr-sep { margin: 0 16px; color: var(--gold); }

.bhr-divider-vert {
  width: 1px;
  height: 80px;
  background: linear-gradient(180deg, transparent, rgba(212,181,112,0.4), transparent);
  flex-shrink: 0;
}

/* ── BOUTONS ─────────────────────────────────────────────── */
.bhr-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 26px;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  border: 1px solid var(--gold);
  color: var(--gold);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.2,0.7,0.2,1);
  position: relative;
  overflow: hidden;
}
.bhr-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gold);
  transform: translateY(101%);
  transition: transform 0.5s cubic-bezier(0.2,0.7,0.2,1);
  z-index: 0;
}
.bhr-btn > * { position: relative; z-index: 1; }
.bhr-btn:hover { color: var(--night); }
.bhr-btn:hover::before { transform: translateY(0); }
.bhr-btn--ghost {
  border-color: rgba(232,223,232,0.3);
  color: var(--moon);
}
.bhr-btn--ghost::before { background: rgba(232,223,232,0.1); }
.bhr-btn--ghost:hover { color: var(--moon); }

/* ── ORBS (placeholder colorés) ────────────────────────── */
.bhr-orb--amethyst    { background: radial-gradient(circle at 35% 35%, #9B7FB8, #3D2B5C 70%); }
.bhr-orb--amethyst-lg { background: radial-gradient(circle at 35% 35%, #9B7FB8, #3D2B5C 70%); }
.bhr-orb--quartz      { background: radial-gradient(circle at 35% 35%, #F2C4C8, #C68B90 70%); }
.bhr-orb--lapis       { background: radial-gradient(circle at 35% 35%, #4A6EA8, #1A3060 70%); }
.bhr-orb--obsidian    { background: radial-gradient(circle at 35% 35%, #3A3050, #0A0810 70%); }
.bhr-orb--cristal     { background: radial-gradient(circle at 35% 35%, #E8E4F0, #B0A8C0 70%); }
.bhr-orb--aventurine  { background: radial-gradient(circle at 35% 35%, #5BA872, #2A6040 70%); }
.bhr-orb--howlite     { background: radial-gradient(circle at 35% 35%, #E0D8D0, #A89888 70%); }
.bhr-orb--agate       { background: radial-gradient(circle at 35% 35%, #C87850, #784028 70%); }

/* ── HERO ───────────────────────────────────────────────── */
.bhr-hero {
  position: relative;
  min-height: 90vh;
  overflow: hidden;
  border-bottom: 1px solid rgba(212,181,112,0.15);
}
.bhr-hero__glow {
  position: absolute;
  top: 40%;
  left: 60%;
  transform: translate(-50%,-50%);
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(107,74,140,0.35) 0%, rgba(107,74,140,0.08) 45%, transparent 70%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 0;
}
.bhr-hero__grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 0;
  max-width: 1600px;
  margin: 0 auto;
  padding: 80px 48px 60px;
  min-height: 85vh;
  position: relative;
  z-index: 1;
}
.bhr-hero__left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-right: 60px;
}
.bhr-hero__eyebrow-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 60px;
}
.bhr-hero__sub {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  color: rgba(244,239,230,0.55);
}
.bhr-hero__title {
  font-family: 'Italiana', serif;
  font-size: clamp(72px, 11vw, 168px);
  line-height: 0.92;
  letter-spacing: -0.02em;
  color: var(--moon);
  font-weight: 400;
  margin: 0;
}
.bhr-hero__title em {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 300;
  font-size: 0.78em;
  color: var(--gold);
}
.bhr-hero__dot-row {
  display: inline-flex;
  align-items: baseline;
  gap: 24px;
}
.bhr-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--gold);
  transform: translateY(-0.4em);
  box-shadow: 0 0 30px rgba(212,181,112,0.8);
}
.bhr-hero__bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 40px;
  align-items: end;
  margin-top: 60px;
}
.bhr-hero__desc {
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.55;
  color: rgba(244,239,230,0.78);
}
.bhr-hero__cta { }
.bhr-btn-row {
  display: flex;
  gap: 16px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.bhr-hero__right {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* ── ASTRO SVG ──────────────────────────────────────────── */
.bhr-astro {
  position: relative;
  width: 480px;
  height: 480px;
}
.bhr-astro__ring,
.bhr-astro__mid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.bhr-spin-slow { animation: bhr-spin-slow 80s linear infinite; }
.bhr-spin-reverse { animation: bhr-spin-reverse 50s linear infinite; }
@keyframes bhr-spin-slow { to { transform: rotate(360deg); } }
@keyframes bhr-spin-reverse { to { transform: rotate(-360deg); } }

.bhr-astro__center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 200px;
  height: 200px;
  border-radius: 50%;
  animation: bhr-pulse 4s ease-in-out infinite;
}
.bhr-astro__orb.bhr-orb--amethyst {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
@keyframes bhr-pulse {
  0%,100% { opacity: 0.7; transform: translate(-50%,-50%) scale(1); }
  50% { opacity: 1; transform: translate(-50%,-50%) scale(1.04); }
}

/* ── MARQUEE ─────────────────────────────────────────────── */
.bhr-marquee-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 14px 0;
  border-top: 1px solid rgba(212,181,112,0.15);
  background: rgba(14,11,26,0.6);
  overflow: hidden;
  white-space: nowrap;
  z-index: 2;
}
.bhr-marquee {
  display: inline-flex;
  gap: 0;
  animation: bhr-marquee 60s linear infinite;
}
.bhr-marquee span {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  color: rgba(244,239,230,0.5);
  padding: 0 40px;
  flex-shrink: 0;
}
@keyframes bhr-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-33.333%); }
}

/* ── COLLECTIONS ─────────────────────────────────────────── */
.bhr-collections {
  padding: 120px 48px 80px;
  max-width: 1600px;
  margin: 0 auto;
}
.bhr-collections__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 60px;
}
.bhr-collections__title {
  font-size: clamp(52px, 7vw, 88px);
  margin-top: 12px;
}
.bhr-collections__sub {
  font-family: var(--serif);
  font-style: italic;
  font-size: 17px;
  line-height: 1.55;
  color: rgba(244,239,230,0.6);
  max-width: 360px;
}
.bhr-collections__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.bhr-coll-card {
  position: relative;
  aspect-ratio: 0.78;
  border: 1px solid rgba(232,223,232,0.12);
  background: linear-gradient(180deg, rgba(31,25,52,0.5) 0%, rgba(14,11,26,0.8) 100%);
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  transition: all 0.6s cubic-bezier(0.2,0.7,0.2,1);
  text-decoration: none;
  color: var(--moon);
}
.bhr-coll-card:hover {
  border-color: var(--gold);
  transform: translateY(-6px);
  color: var(--moon);
}
.bhr-coll-card__orb {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 180px;
  height: 180px;
  border-radius: 50%;
  opacity: 0.55;
}
.bhr-coll-card__content {
  position: relative;
  z-index: 2;
}
.bhr-coll-card__content h3 {
  font-family: 'Italiana', serif;
  font-size: 36px;
  color: var(--moon);
  line-height: 1;
  margin: 0;
  font-weight: 400;
}
.bhr-coll-card__sub {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  color: rgba(244,239,230,0.55);
  margin-top: 8px;
}
.bhr-coll-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(212,181,112,0.2);
}

/* ── ENCYCLOPEDIE ────────────────────────────────────────── */
.bhr-pierres {
  padding: 120px 0;
  background: var(--night-2);
  border-top: 1px solid rgba(212,181,112,0.15);
  border-bottom: 1px solid rgba(212,181,112,0.15);
  position: relative;
  overflow: hidden;
}
.bhr-pierres__ambient {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1000px;
  height: 1000px;
  transform: translate(-50%,-50%);
  background: radial-gradient(circle, rgba(107,74,140,0.2) 0%, transparent 60%);
  filter: blur(60px);
  pointer-events: none;
}
.bhr-pierres__inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 48px;
  position: relative;
}
.bhr-pierres__head {
  text-align: center;
  margin-bottom: 80px;
}
.bhr-pierres__title {
  font-size: clamp(48px, 8vw, 96px);
  margin-top: 12px;
  margin-bottom: 0;
}
.bhr-pierres__intro {
  font-family: var(--serif);
  font-style: italic;
  font-size: 17px;
  color: rgba(244,239,230,0.6);
  max-width: 600px;
  margin: 20px auto 0;
  line-height: 1.5;
}
.bhr-pierres__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.bhr-pierre-card {
  padding: 32px 24px;
  border: 1px solid rgba(232,223,232,0.1);
  background: rgba(22,18,42,0.5);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: border-color 0.4s, transform 0.4s;
}
.bhr-pierre-card:hover {
  border-color: rgba(212,181,112,0.4);
  transform: translateY(-4px);
}
.bhr-pierre-card__orb {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  margin-bottom: 20px;
}
.bhr-pierre-card__num {
  font-family: 'Italiana', serif;
  font-size: 13px;
  color: var(--gold);
  opacity: 0.7;
  margin-bottom: 8px;
  letter-spacing: 0.1em;
}
.bhr-pierre-card h3 {
  font-family: 'Italiana', serif;
  font-size: 26px;
  color: var(--moon);
  font-weight: 400;
  margin: 0 0 6px;
  line-height: 1.1;
}
.bhr-pierre-card__latin {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  color: rgba(244,239,230,0.45);
  margin-bottom: 12px;
}
.bhr-pierre-card__tag {
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.8;
  padding: 6px 12px;
  border: 1px solid rgba(212,181,112,0.3);
}

/* ── INTENTIONS ──────────────────────────────────────────── */
.bhr-intentions {
  padding: 120px 48px;
  max-width: 1600px;
  margin: 0 auto;
}
.bhr-intentions__head {
  text-align: center;
  margin-bottom: 60px;
}
.bhr-intentions__title {
  font-size: clamp(48px, 7vw, 88px);
  margin-top: 12px;
  margin-bottom: 0;
}
.bhr-intentions__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid rgba(212,181,112,0.2);
}
.bhr-intent-card {
  padding: 40px 28px;
  border-right: 1px solid rgba(212,181,112,0.2);
  border-bottom: 1px solid rgba(212,181,112,0.2);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 220px;
  text-decoration: none;
  color: var(--moon);
  transition: background 0.4s;
}
.bhr-intent-card:nth-child(4n) { border-right: none; }
.bhr-intent-card:nth-child(5),
.bhr-intent-card:nth-child(6),
.bhr-intent-card:nth-child(7),
.bhr-intent-card:nth-child(8) { border-bottom: none; }
.bhr-intent-card:hover {
  background: rgba(107,74,140,0.12);
  color: var(--moon);
}
.bhr-intent-card h3 {
  font-family: 'Italiana', serif;
  font-size: 46px;
  color: var(--moon);
  font-weight: 400;
  margin: 12px 0 0;
  line-height: 1;
}
.bhr-intent-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid rgba(212,181,112,0.2);
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  color: rgba(244,239,230,0.7);
  margin-top: 16px;
}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 1024px) {
  .bhr-hero__grid { grid-template-columns: 1fr; padding: 60px 24px 40px; }
  .bhr-hero__right { display: none; }
  .bhr-hero__bottom { grid-template-columns: 1fr; gap: 20px; }
  .bhr-divider-vert { display: none; }
  .bhr-collections__grid { grid-template-columns: repeat(2, 1fr); }
  .bhr-pierres__grid { grid-template-columns: repeat(2, 1fr); }
  .bhr-intentions__grid { grid-template-columns: repeat(2, 1fr); }
  .bhr-collections__head { flex-direction: column; align-items: flex-start; gap: 20px; }
}
@media (max-width: 640px) {
  .bhr-hero { min-height: 70vh; }
  .bhr-hero__grid { padding: 40px 20px 30px; }
  .bhr-hero__eyebrow-row { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 30px; }
  .bhr-hero__title { font-size: clamp(52px, 15vw, 90px); }
  .bhr-collections { padding: 60px 20px; }
  .bhr-collections__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .bhr-pierres__inner { padding: 0 20px; }
  .bhr-pierres__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .bhr-intentions { padding: 60px 20px; }
  .bhr-intentions__grid { grid-template-columns: 1fr 1fr; }
  .bhr-intent-card { padding: 24px 16px; min-height: 160px; }
  .bhr-intent-card h3 { font-size: 32px; }
}

/* === HOMEPAGE POLISH === */

/* ── HERO mobile & eyebrow ──────────────────────────────── */
@media (max-width: 640px) {
  .bhr-hero__title {
    font-size: clamp(2.4rem, 9vw, 5rem);
    margin-left: 4px;
    margin-right: 4px;
  }
  .bhr-hero__grid {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Eyebrow "MAISON RIU" précis */
.bhr-hero__eyebrow-row .bhr-eyebrow {
  font-size: 11px;
  letter-spacing: 0.22em;
}

/* Astrolabe SVG responsive */
:root { --bhr-astro-size: clamp(280px, 60vw, 460px); }
.bhr-astro {
  width: var(--bhr-astro-size);
  height: var(--bhr-astro-size);
}

/* ── MARQUEE polish ─────────────────────────────────────── */
.bhr-marquee-wrap { padding: 14px 0; }
.bhr-marquee span {
  font-family: 'Inter Tight', var(--sans);
  font-style: normal;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--gold);
  opacity: 0.85;
}
/* Séparateur "·" couleur cream */
.bhr-marquee span.bhr-msep {
  color: var(--cream, #F4EFE6);
  opacity: 0.6;
  padding: 0 8px;
  font-style: normal;
}

/* ── COLLECTIONS 3-col desktop / 2 tablet / 1 mobile ───── */
.bhr-collections__grid {
  grid-template-columns: repeat(3, 1fr);
}
/* Image aspect 4:5 */
.bhr-coll-card {
  aspect-ratio: 4 / 5;
}
/* Titre Cormorant */
.bhr-coll-card__content h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.02em;
}
/* Caption gold fade-in au hover */
.bhr-coll-card__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 28px;
  background: linear-gradient(0deg, rgba(14,11,26,0.85) 0%, transparent 100%);
  color: var(--gold);
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.4s, transform 0.4s;
  z-index: 3;
}
.bhr-coll-card:hover .bhr-coll-card__caption {
  opacity: 1;
  transform: translateY(0);
}
.bhr-coll-card:hover {
  transform: scale(1.02);
}
@media (max-width: 1024px) {
  .bhr-collections__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .bhr-collections__grid { grid-template-columns: 1fr; }
}

/* ── PIERRES — icône SVG gold 64px + Cormorant ──────────── */
.bhr-pierre-card__icon {
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
  color: var(--gold);
  flex-shrink: 0;
}
.bhr-pierre-card__icon svg { width: 64px; height: 64px; fill: currentColor; }
.bhr-pierre-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 500;
}
.bhr-pierre-card__props {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  color: rgba(244,239,230,0.55);
  margin-top: 6px;
  line-height: 1.4;
}

/* ── INTENTIONS 4 desktop / 2 mobile — hover gold border ── */
.bhr-intent-card {
  transition: background 0.4s, border-color 0.4s;
}
.bhr-intent-card:hover {
  border-color: var(--gold);
  background: rgba(107,74,140,0.1);
}
/* Desc courte sous le label */
.bhr-intent-card__desc {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  color: rgba(244,239,230,0.55);
  margin-top: 8px;
  line-height: 1.45;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* ── ATELIER TEASER split 50/50 ─────────────────────────── */
.bhr-atelier {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
  border-top: 1px solid rgba(212,181,112,0.15);
  border-bottom: 1px solid rgba(212,181,112,0.15);
}
.bhr-atelier__image {
  overflow: hidden;
  position: relative;
}
.bhr-atelier__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.2,0.7,0.2,1);
}
.bhr-atelier:hover .bhr-atelier__image img {
  transform: scale(1.03);
}
.bhr-atelier__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 64px;
  background: var(--night-2, rgba(14,11,26,0.95));
}
@media (max-width: 1024px) {
  .bhr-atelier { grid-template-columns: 1fr; }
  .bhr-atelier__image { min-height: 320px; }
  .bhr-atelier__content { padding: 60px 32px; }
}
@media (max-width: 640px) {
  .bhr-atelier__content { padding: 40px 20px; }
}

/* ── JOURNAL / BLOG TEASER ──────────────────────────────── */
.bhr-journal {
  padding: 120px 48px;
  max-width: 1600px;
  margin: 0 auto;
}
.bhr-journal__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 60px;
}
.bhr-journal__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.bhr-journal-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--moon);
  transition: color 0.3s;
}
.bhr-journal-card__img {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  margin-bottom: 20px;
  position: relative;
}
.bhr-journal-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.2,0.7,0.2,1);
}
.bhr-journal-card:hover .bhr-journal-card__img img {
  transform: scale(1.04);
}
.bhr-journal-card__date {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.8;
  margin-bottom: 8px;
}
.bhr-journal-card__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--moon);
  margin: 0 0 10px;
}
.bhr-journal-card__excerpt {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  color: rgba(244,239,230,0.6);
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
@media (max-width: 1024px) {
  .bhr-journal__grid { grid-template-columns: repeat(2, 1fr); }
  .bhr-journal { padding: 80px 24px; }
}
@media (max-width: 640px) {
  .bhr-journal__grid { grid-template-columns: 1fr; gap: 40px; }
  .bhr-journal { padding: 60px 20px; }
}

/* ── FOOTER ENCYCLOPEDIE / CODEX LAPIDUM ───────────────── */
.bhr-codex-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (min-width: 1024px) {
  .bhr-codex-grid { grid-template-columns: repeat(4, 1fr); }
}
.bhr-codex-card {
  padding: 24px 20px;
  border: 1px solid rgba(212,181,112,0.15);
  background: rgba(22,18,42,0.5);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  text-decoration: none;
  color: var(--moon);
  transition: border-color 0.4s, transform 0.4s;
}
.bhr-codex-card:hover {
  border-color: rgba(212,181,112,0.4);
  transform: translateY(-3px);
}
.bhr-codex-card__orb {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  flex-shrink: 0;
}
.bhr-codex-card__name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 500;
  color: var(--moon);
  margin: 0;
}
.bhr-codex-card__tag {
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.75;
}
@media (max-width: 640px) {
  .bhr-codex-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* === HOME 80 DÉFAUTS === */

/* Astrolabe SVG ne doit pas écraser H1 */
.bhr-hero__astrolabe, .bhr-astro {
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 0.5 !important;
}
.bhr-hero h1, .bhr-display { position: relative; z-index: 2; }

/* Section Intentions contraste */
.bhr-intentions p, .bhr-intentions span, .bhr-intent-card__label,
[class*="intention"] p, [class*="intention"] .label {
  color: var(--cream) !important;
}
.bhr-intent-card__desc, [class*="intention"] [class*="desc"] {
  color: rgba(232,224,208,0.85) !important;
}

/* Section Pierres mobile — swatches min 48x48 */
.bhr-pierre-card, [class*="pierre-item"], .codex-stone-swatch {
  min-width: 48px !important;
  min-height: 48px !important;
}

/* Collections — alignement vertical */
.bhr-collections, .bhr-coll-grid, [class*="collections"] {
  align-items: stretch !important;
}
.bhr-coll-card, .bhr-collection-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
}

/* Cards produits home — images visibles */
.featured-products .product-miniature img, .bhr-card img,
.bhr-card .thumbnail, .bhr-card .product-thumbnail {
  background-color: var(--ink, #14102A) !important;
  opacity: 1 !important;
}
.featured-products .product-miniature .product-thumbnail img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
}

/* Footer separator mobile */
@media (max-width: 767px) {
  .bhr-footer__col + .bhr-footer__col, .footer-col + .footer-col {
    border-top: 1px solid rgba(212,181,112,0.15);
    padding-top: 20px;
    margin-top: 16px;
  }
}

/* === HOME v8 FIX === */
.bhr-product-card, .bhr-card, .product-miniature, .featured-products .product-miniature {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(212,181,112,0.15) !important;
  transition: all .25s;
}
.bhr-product-card:hover, .bhr-card:hover, .product-miniature:hover {
  border-color: rgba(212,181,112,0.45) !important;
  transform: translateY(-3px);
}

.bhr-family-label, [class*="family"] [class*="label"], [class*="famille"] [class*="label"] {
  font-size: 0.85rem !important;
  color: var(--cream, #E8E0D0) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  font-weight: 500;
}

.bhr-product-name a, .product-title a, .product-name a, .bhr-card__name a {
  display: inline-block !important;
  padding: 6px 0 !important;
  min-height: 44px !important;
  line-height: 1.4 !important;
}

.bhr-journal-card a, .bhr-journal-card { display: block; }
.bhr-journal-card a { padding: 6px 0; min-height: 44px; }

/* Footer accordion clean transitions */
.bhr-footer__col details {
  overflow: hidden;
}
.bhr-footer__col details:not([open]) > *:not(summary) { display: none; }
@media (min-width: 768px) {
  .bhr-footer__col details > *:not(summary) { display: block !important; }
  .bhr-footer__col details summary { pointer-events: none; cursor: default; }
}

/* === AUDIT FIXES === */

/* FIX 1 — Hero min-height CLS : limiter hauteur desktop */
.bhr-hero {
  min-height: min(90vh, 900px);
}
@media (max-width: 1024px) {
  .bhr-hero { min-height: 70vh; }
}

/* FIX 2 — Produits featured : images visibles pleine taille */
.featured-products .product-miniature img,
.featured-products .product-thumbnail img {
  width: 100% !important;
  height: auto !important;
  min-height: 160px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
}
.featured-products .product-miniature .product-thumbnail {
  overflow: hidden;
  display: block;
  width: 100%;
}

/* FIX 3 — Collections grid : 3 col desktop, 2 tablet, 1 mobile */
@media (min-width: 1025px) {
  .bhr-collections__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1024px) {
  .bhr-collections__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .bhr-collections__grid { grid-template-columns: 1fr; }
}

/* FIX 4 — Fade-in scroll : animation légère sur sections */
.bhr-collections,
.bhr-pierres,
.bhr-intentions,
.bhr-atelier,
.bhr-journal,
.featured-products {
  animation: bhr-fadein-up 0.6s ease both;
  animation-timeline: view();
  animation-range: entry 0% entry 20%;
}
@supports not (animation-timeline: view()) {
  .bhr-collections,
  .bhr-pierres,
  .bhr-intentions,
  .bhr-atelier,
  .bhr-journal,
  .featured-products {
    animation: none;
  }
}
@keyframes bhr-fadein-up {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* FIX 5 — Hero image CLS : réserver la hauteur avec aspect-ratio */
.bhr-hero .homeslider-container,
.bhr-hero .bhr-hero__bg {
  aspect-ratio: 16 / 7;
  width: 100%;
}

/* FIX 6 — Footer accordion : transition CSS via grid-template-rows */
footer details {
  overflow: hidden;
}
footer details > *:not(summary) {
  display: block !important;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s ease;
}
footer details[open] > *:not(summary) {
  max-height: 600px;
}
@media (min-width: 768px) {
  footer details > *:not(summary) { max-height: none !important; transition: none; }
}

/* FIX 7 — Contraste texte : boost opacity textes secondaires */
.bhr-hero__desc,
.bhr-collections__sub,
.bhr-journal-card__excerpt,
.bhr-intent-card__desc {
  color: rgba(244, 239, 230, 0.82);
}
.bhr-intent-card__label,
.bhr-intent-card h3,
.bhr-pierre-card h3 {
  color: var(--moon, #F4EFE6);
}

/* FIX 8 — Touch targets mobile nav + CTA min 44px */
@media (max-width: 1024px) {
  .bhr-btn {
    min-height: 48px;
    padding: 14px 28px;
  }
  .bhr-coll-card,
  .bhr-intent-card,
  .bhr-pierre-card {
    min-height: 48px;
  }
}

/* FIX 9 — Grid alignement : éviter orphelins sur 3 col */
@media (min-width: 1025px) {
  .bhr-intentions__grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1024px) {
  .bhr-intentions__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .bhr-intentions__grid { grid-template-columns: 1fr 1fr; }
  .bhr-intent-card { padding: 20px 14px; }
}

/* ============================================================
   ITER 7 — POLISH HOME 1440 + 375
   ============================================================ */

/* ── 1. Hero astrolabe SVG glow animation subtle ─────────── */
@keyframes bhr-glow-pulse {
  0%, 100% { filter: drop-shadow(0 0 8px rgba(212,181,112,0.25)) drop-shadow(0 0 24px rgba(107,74,140,0.3)); opacity: 0.82; }
  50%       { filter: drop-shadow(0 0 18px rgba(212,181,112,0.55)) drop-shadow(0 0 48px rgba(107,74,140,0.55)); opacity: 1; }
}
.bhr-astro {
  animation: bhr-glow-pulse 6s ease-in-out infinite;
}
/* Ne pas combiner avec l'opacity: 0.5 du reset — on surcharge proprement */
.bhr-hero__astrolabe .bhr-astro,
.bhr-astro {
  opacity: 1 !important;
}

/* ── 2. USP / Values icons — stroke gold, hover scale ───── */
.bhr-usp__icon,
.bhr-values__icon,
[class*="usp"] [class*="icon"],
[class*="values"] [class*="icon"] {
  color: var(--gold);
  stroke: var(--gold);
  fill: none;
  transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1), color 0.3s;
  display: inline-block;
}
.bhr-usp__item:hover .bhr-usp__icon,
.bhr-values__item:hover .bhr-values__icon,
[class*="usp"] li:hover [class*="icon"],
[class*="values"] li:hover [class*="icon"] {
  transform: scale(1.15);
  color: #F0D98A;
  stroke: #F0D98A;
}

/* ── 3. Featured products — titre avec ornements ─────────── */
.bhr-featured__title,
.featured-products h2,
.featured-products .products-section-title {
  position: relative;
  display: inline-block;
  padding: 0 48px;
}
.bhr-featured__title::before,
.bhr-featured__title::after,
.featured-products h2::before,
.featured-products h2::after {
  content: '✦';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gold);
  font-size: 0.55em;
  opacity: 0.75;
  animation: bhr-ornament-pulse 3s ease-in-out infinite;
}
.bhr-featured__title::before,
.featured-products h2::before { left: 12px; }
.bhr-featured__title::after,
.featured-products h2::after  { right: 12px; animation-delay: 1.5s; }
@keyframes bhr-ornament-pulse {
  0%, 100% { opacity: 0.75; transform: translateY(-50%) scale(1); }
  50%       { opacity: 1;    transform: translateY(-50%) scale(1.2); }
}

/* ── 4. Collections cards hover : image scale + overlay ──── */
.bhr-coll-card {
  overflow: hidden;
}
.bhr-coll-card__img-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.bhr-coll-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.2,0.7,0.2,1);
}
.bhr-coll-card:hover .bhr-coll-card__img-wrap img {
  transform: scale(1.04);
}
.bhr-coll-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(14,11,26,0.1) 0%,
    rgba(14,11,26,0.6) 55%,
    rgba(14,11,26,0.88) 100%);
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 1;
}
.bhr-coll-card:hover::after {
  opacity: 1;
}
.bhr-coll-card__content,
.bhr-coll-card__foot {
  position: relative;
  z-index: 2;
}

/* ── 5. Pierres section — sparkle animation rare ─────────── */
@keyframes bhr-sparkle {
  0%, 92%, 100% { opacity: 0; transform: scale(0.5) rotate(0deg); }
  94%            { opacity: 1; transform: scale(1.3) rotate(45deg); }
  96%            { opacity: 0.6; transform: scale(1) rotate(90deg); }
  98%            { opacity: 0; transform: scale(0.3) rotate(180deg); }
}
.bhr-pierre-card::before {
  content: '✦';
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 14px;
  color: var(--gold);
  animation: bhr-sparkle 8s ease-in-out infinite;
  pointer-events: none;
}
.bhr-pierre-card:nth-child(2)::before { animation-delay: 2.4s; }
.bhr-pierre-card:nth-child(3)::before { animation-delay: 5.1s; }
.bhr-pierre-card:nth-child(4)::before { animation-delay: 1.2s; }
.bhr-pierre-card:nth-child(5)::before { animation-delay: 6.8s; }
.bhr-pierre-card:nth-child(6)::before { animation-delay: 3.5s; }
.bhr-pierre-card:nth-child(7)::before { animation-delay: 7.3s; }
.bhr-pierre-card:nth-child(8)::before { animation-delay: 0.9s; }

/* ── 6. Journal cards uniformes ─────────────────────────── */
.bhr-journal__grid {
  align-items: stretch;
}
.bhr-journal-card {
  height: 100%;
  background: rgba(22,18,42,0.4);
  border: 1px solid rgba(232,223,232,0.08);
  border-radius: 0;
  transition: border-color 0.4s, transform 0.4s;
  padding-bottom: 24px;
}
.bhr-journal-card:hover {
  border-color: rgba(212,181,112,0.35);
  transform: translateY(-4px);
}
.bhr-journal-card__img {
  margin-bottom: 0;
  flex-shrink: 0;
}
.bhr-journal-card__body {
  padding: 20px 20px 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.bhr-journal-card__date {
  margin-bottom: 6px;
}
.bhr-journal-card__title {
  flex: 1;
}

/* ── 7. Testimonials slider arrows ───────────────────────── */
.bhr-testimonials__prev,
.bhr-testimonials__next,
[class*="testimonial"] .slick-prev,
[class*="testimonial"] .slick-next,
[class*="testimonial"] [class*="prev"],
[class*="testimonial"] [class*="next"] {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(212,181,112,0.5);
  background: transparent;
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.3s, border-color 0.3s;
  flex-shrink: 0;
}
.bhr-testimonials__prev:hover,
.bhr-testimonials__next:hover,
[class*="testimonial"] .slick-prev:hover,
[class*="testimonial"] .slick-next:hover {
  background: rgba(212,181,112,0.12);
  border-color: var(--gold);
}
.bhr-testimonials__prev::after { content: '←'; font-size: 18px; }
.bhr-testimonials__next::after { content: '→'; font-size: 18px; }
.bhr-testimonials__nav {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 28px;
}

/* ── 8. Newsletter banner intégrée ───────────────────────── */
.bhr-newsletter {
  background: linear-gradient(135deg, rgba(31,25,52,0.95) 0%, rgba(22,18,42,0.98) 100%);
  border-top: 1px solid rgba(212,181,112,0.2);
  border-bottom: 1px solid rgba(212,181,112,0.2);
  padding: 64px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  position: relative;
  overflow: hidden;
}
.bhr-newsletter::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 30%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(107,74,140,0.15) 0%, transparent 60%);
  filter: blur(40px);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.bhr-newsletter__left { flex: 1; position: relative; }
.bhr-newsletter__title {
  font-family: 'Italiana', serif;
  font-size: clamp(28px, 3.5vw, 48px);
  color: var(--moon);
  font-weight: 400;
  margin: 8px 0 4px;
  line-height: 1.05;
}
.bhr-newsletter__sub {
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  color: rgba(244,239,230,0.65);
  margin: 0;
}
.bhr-newsletter__form {
  flex: 0 0 440px;
  display: flex;
  gap: 0;
  position: relative;
}
.bhr-newsletter__input {
  flex: 1;
  background: rgba(14,11,26,0.7);
  border: 1px solid rgba(212,181,112,0.35);
  border-right: none;
  color: var(--moon);
  font-family: var(--sans);
  font-size: 13px;
  padding: 14px 18px;
  outline: none;
  transition: border-color 0.3s;
}
.bhr-newsletter__input::placeholder { color: rgba(244,239,230,0.35); }
.bhr-newsletter__input:focus { border-color: var(--gold); }
.bhr-newsletter__submit {
  background: transparent;
  border: 1px solid rgba(212,181,112,0.35);
  color: var(--gold);
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 14px 22px;
  cursor: pointer;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
  white-space: nowrap;
}
.bhr-newsletter__submit:hover {
  background: var(--gold);
  color: var(--night);
  border-color: var(--gold);
}
@media (max-width: 1024px) {
  .bhr-newsletter { flex-direction: column; align-items: flex-start; padding: 48px 32px; }
  .bhr-newsletter__form { flex: 1; width: 100%; max-width: 480px; }
}
@media (max-width: 640px) {
  .bhr-newsletter { padding: 40px 20px; gap: 28px; }
  .bhr-newsletter__form { flex-direction: column; max-width: 100%; }
  .bhr-newsletter__input { border-right: 1px solid rgba(212,181,112,0.35); border-bottom: none; }
  .bhr-newsletter__submit { padding: 14px; text-align: center; }
}

/* ── 9. Mobile hero carousel swipe friction ──────────────── */
@media (max-width: 640px) {
  .bhr-hero .homeslider-container,
  .bhr-hero [class*="carousel"],
  .bhr-hero [class*="slider"] {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    cursor: grab;
  }
  .bhr-hero .homeslider-container:active,
  .bhr-hero [class*="carousel"]:active {
    cursor: grabbing;
  }
  .bhr-hero [class*="slide"],
  .bhr-hero .homeslider-container > * {
    scroll-snap-align: start;
    flex-shrink: 0;
    width: 100%;
  }
}

/* ── 10. Hero CLS : réserver espace images décoratives ───── */
.bhr-hero__deco-img,
.bhr-hero [class*="deco"] img,
.bhr-hero__right img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  display: block;
}
.bhr-hero__right {
  contain: layout size;
}
/* Astro container — dimensions fixes pour éviter reflow */
.bhr-astro {
  width: var(--bhr-astro-size, clamp(280px, 60vw, 460px));
  height: var(--bhr-astro-size, clamp(280px, 60vw, 460px));
  flex-shrink: 0;
  contain: strict;
}

/* ── ITER 7 END ──────────────────────────────────────────── */

/* ============================================================
   ITER 19 — POLISH HOME 3e PASSE
   ============================================================ */

/* ── 1. HERO CTA PRIMARY "Découvrir" — gold prominent ──────── */
.bhr-btn--primary,
.bhr-hero .bhr-btn-row a:first-child,
.bhr-hero__cta .bhr-btn:not(.bhr-btn--ghost) {
  background: var(--gold);
  color: var(--night, #0E0B1A);
  border-color: var(--gold);
  font-weight: 500;
  letter-spacing: 0.2em;
  box-shadow: 0 0 32px rgba(212,181,112,0.28), 0 4px 20px rgba(212,181,112,0.18);
}
.bhr-btn--primary::before,
.bhr-hero .bhr-btn-row a:first-child::before,
.bhr-hero__cta .bhr-btn:not(.bhr-btn--ghost)::before {
  background: #F0D98A;
}
.bhr-btn--primary:hover,
.bhr-hero .bhr-btn-row a:first-child:hover,
.bhr-hero__cta .bhr-btn:not(.bhr-btn--ghost):hover {
  color: var(--night, #0E0B1A);
  box-shadow: 0 0 48px rgba(212,181,112,0.45);
}

/* ── 2. HERO SECONDARY "Notre histoire" — link underline ───── */
.bhr-btn--link,
.bhr-hero .bhr-btn-row a:last-child:not(.bhr-btn--ghost),
.bhr-hero__cta .bhr-link {
  border: none;
  background: transparent;
  color: rgba(244,239,230,0.75);
  padding: 8px 0;
  text-decoration: none;
  position: relative;
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  letter-spacing: 0.04em;
  text-transform: none;
}
.bhr-btn--link::after,
.bhr-hero .bhr-btn-row a:last-child:not(.bhr-btn--ghost)::after,
.bhr-hero__cta .bhr-link::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 0;
  right: 100%;
  height: 1px;
  background: var(--gold);
  transition: right 0.4s cubic-bezier(0.2,0.7,0.2,1);
}
.bhr-btn--link:hover::after,
.bhr-hero .bhr-btn-row a:last-child:not(.bhr-btn--ghost):hover::after,
.bhr-hero__cta .bhr-link:hover::after {
  right: 0;
}
.bhr-btn--link:hover,
.bhr-hero .bhr-btn-row a:last-child:not(.bhr-btn--ghost):hover {
  color: var(--moon);
}
/* Annuler l'effet fill-up générique pour ce bouton */
.bhr-btn--link::before { display: none; }

/* ── 3. BEST-SELLERS — carousel ─────────────────────────────── */
.bhr-bestsellers {
  padding: 100px 0 80px;
  background: var(--night-2, rgba(14,11,26,0.98));
  border-top: 1px solid rgba(212,181,112,0.12);
  border-bottom: 1px solid rgba(212,181,112,0.12);
  overflow: hidden;
  position: relative;
}
.bhr-bestsellers__inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 48px;
}
.bhr-bestsellers__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 48px;
}
.bhr-bestsellers__title {
  font-family: 'Italiana', serif;
  font-size: clamp(40px, 5vw, 72px);
  font-weight: 400;
  color: var(--moon);
  margin: 8px 0 0;
  line-height: 1;
}
.bhr-bestsellers__nav {
  display: flex;
  gap: 10px;
}
.bhr-bestsellers__btn {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(212,181,112,0.45);
  background: transparent;
  color: var(--gold);
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s, border-color 0.3s;
  flex-shrink: 0;
}
.bhr-bestsellers__btn:hover {
  background: rgba(212,181,112,0.12);
  border-color: var(--gold);
}
.bhr-bestsellers__track-wrap {
  overflow: hidden;
}
.bhr-bestsellers__track {
  display: flex;
  gap: 24px;
  transition: transform 0.6s cubic-bezier(0.2,0.7,0.2,1);
}
.bhr-bestsellers__item {
  flex: 0 0 calc(25% - 18px);
  min-width: 220px;
  display: flex;
  flex-direction: column;
  background: rgba(22,18,42,0.5);
  border: 1px solid rgba(232,223,232,0.1);
  transition: border-color 0.4s, transform 0.4s;
  text-decoration: none;
  color: var(--moon);
}
.bhr-bestsellers__item:hover {
  border-color: rgba(212,181,112,0.4);
  transform: translateY(-4px);
  color: var(--moon);
}
.bhr-bestsellers__img {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: rgba(14,11,26,0.6);
}
.bhr-bestsellers__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.2,0.7,0.2,1);
}
.bhr-bestsellers__item:hover .bhr-bestsellers__img img {
  transform: scale(1.04);
}
.bhr-bestsellers__info {
  padding: 16px 20px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bhr-bestsellers__name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--moon);
  line-height: 1.2;
  margin: 0;
}
.bhr-bestsellers__price {
  font-family: var(--sans);
  font-size: 13px;
  color: var(--gold);
  letter-spacing: 0.06em;
  margin-top: auto;
}
@media (max-width: 1024px) {
  .bhr-bestsellers__item { flex: 0 0 calc(50% - 12px); }
  .bhr-bestsellers__inner { padding: 0 24px; }
}
@media (max-width: 640px) {
  .bhr-bestsellers { padding: 60px 0 50px; }
  .bhr-bestsellers__item { flex: 0 0 calc(80vw); }
  .bhr-bestsellers__inner { padding: 0 20px; }
  .bhr-bestsellers__track { gap: 16px; }
}

/* ── 4. NOUVEAUTÉS badge "Récent" gold ───────────────────────── */
.bhr-badge-recent,
.bhr-nouveautes .bhr-badge,
[class*="nouveautes"] [class*="badge"],
.product-flag.new,
.bhr-nouveautes .product-flag {
  display: inline-block;
  padding: 4px 10px;
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--night, #0E0B1A);
  background: var(--gold);
  border: none;
  line-height: 1.4;
  flex-shrink: 0;
}

/* ── 5. TESTIMONIAL — citation + photo arrondie ──────────────── */
.bhr-testimonials {
  padding: 100px 48px;
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
}
.bhr-testimonials__head {
  text-align: center;
  margin-bottom: 64px;
}
.bhr-testimonials__title {
  font-family: 'Italiana', serif;
  font-size: clamp(40px, 5vw, 68px);
  font-weight: 400;
  color: var(--moon);
  margin: 8px 0 0;
}
.bhr-testimonials__track {
  display: flex;
  gap: 32px;
  overflow: hidden;
}
.bhr-testimonial-card {
  flex: 0 0 calc(33.333% - 22px);
  padding: 40px 36px;
  background: rgba(22,18,42,0.5);
  border: 1px solid rgba(232,223,232,0.1);
  display: flex;
  flex-direction: column;
  gap: 24px;
  transition: border-color 0.4s;
}
.bhr-testimonial-card:hover {
  border-color: rgba(212,181,112,0.3);
}
.bhr-testimonial-card__stars {
  display: flex;
  gap: 4px;
  color: var(--gold);
  font-size: 14px;
}
.bhr-testimonial-card__quote {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.55;
  color: rgba(244,239,230,0.85);
  margin: 0;
  flex: 1;
  position: relative;
}
.bhr-testimonial-card__quote::before {
  content: '\201C';
  font-family: 'Cormorant Garamond', serif;
  font-size: 80px;
  color: var(--gold);
  opacity: 0.2;
  position: absolute;
  top: -20px;
  left: -10px;
  line-height: 1;
  pointer-events: none;
}
.bhr-testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 20px;
  border-top: 1px solid rgba(212,181,112,0.15);
}
.bhr-testimonial-card__photo {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(212,181,112,0.4);
  flex-shrink: 0;
  background: rgba(107,74,140,0.3);
}
.bhr-testimonial-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bhr-testimonial-card__name {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--moon);
}
.bhr-testimonial-card__loc {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  color: rgba(244,239,230,0.5);
}
@media (max-width: 1024px) {
  .bhr-testimonials { padding: 80px 24px; }
  .bhr-testimonial-card { flex: 0 0 calc(50% - 16px); }
}
@media (max-width: 640px) {
  .bhr-testimonials { padding: 60px 20px; }
  .bhr-testimonial-card { flex: 0 0 calc(85vw); }
  .bhr-testimonials__track {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  .bhr-testimonials__track::-webkit-scrollbar { display: none; }
  .bhr-testimonial-card { scroll-snap-align: start; }
}

/* ── 6. PRESS LOGO WALL ─────────────────────────────────────── */
.bhr-press {
  padding: 60px 48px;
  border-top: 1px solid rgba(212,181,112,0.1);
  background: rgba(14,11,26,0.6);
  overflow: hidden;
}
.bhr-press__eyebrow {
  text-align: center;
  margin-bottom: 32px;
}
.bhr-press__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px 64px;
}
.bhr-press__logo {
  opacity: 0.4;
  filter: brightness(0) invert(1);
  transition: opacity 0.3s;
  max-height: 28px;
  width: auto;
}
.bhr-press__logo:hover {
  opacity: 0.75;
}
.bhr-press__logo-text {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: rgba(244,239,230,0.4);
  font-style: italic;
  transition: color 0.3s;
}
.bhr-press__logo-text:hover {
  color: rgba(244,239,230,0.75);
}
@media (max-width: 640px) {
  .bhr-press { padding: 48px 20px; }
  .bhr-press__logos { gap: 28px 40px; }
}

/* ── 7. POURQUOI NOUS — 3-4 valeurs icones+text ─────────────── */
.bhr-values {
  padding: 100px 48px;
  max-width: 1600px;
  margin: 0 auto;
}
.bhr-values__head {
  text-align: center;
  margin-bottom: 64px;
}
.bhr-values__title {
  font-family: 'Italiana', serif;
  font-size: clamp(40px, 5vw, 68px);
  font-weight: 400;
  color: var(--moon);
  margin: 8px 0 0;
}
.bhr-values__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  border: 1px solid rgba(212,181,112,0.15);
}
.bhr-value-item {
  padding: 48px 32px 40px;
  border-right: 1px solid rgba(212,181,112,0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  transition: background 0.4s;
}
.bhr-value-item:last-child { border-right: none; }
.bhr-value-item:hover {
  background: rgba(107,74,140,0.08);
}
.bhr-value-item__icon {
  width: 56px;
  height: 56px;
  color: var(--gold);
  stroke: var(--gold);
  fill: none;
  transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
  flex-shrink: 0;
}
.bhr-value-item__icon svg {
  width: 100%;
  height: 100%;
}
.bhr-value-item:hover .bhr-value-item__icon {
  transform: scale(1.15) translateY(-2px);
}
.bhr-value-item__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--moon);
  margin: 0;
  line-height: 1.15;
}
.bhr-value-item__desc {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  color: rgba(244,239,230,0.65);
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 1024px) {
  .bhr-values { padding: 80px 24px; }
  .bhr-values__grid { grid-template-columns: repeat(2, 1fr); }
  .bhr-value-item:nth-child(2) { border-right: none; }
  .bhr-value-item:nth-child(1),
  .bhr-value-item:nth-child(2) {
    border-bottom: 1px solid rgba(212,181,112,0.15);
  }
}
@media (max-width: 640px) {
  .bhr-values { padding: 60px 20px; }
  .bhr-values__grid { grid-template-columns: 1fr 1fr; }
  .bhr-value-item { padding: 32px 20px 28px; }
}

/* ── 8. INSTAGRAM FEED GRID ─────────────────────────────────── */
.bhr-insta {
  padding: 80px 48px;
  max-width: 1600px;
  margin: 0 auto;
}
.bhr-insta__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
}
.bhr-insta__handle {
  font-family: var(--sans);
  font-size: 13px;
  letter-spacing: 0.14em;
  color: var(--gold);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: opacity 0.3s;
}
.bhr-insta__handle:hover { opacity: 0.75; }
.bhr-insta__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
}
.bhr-insta__cell {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
  background: rgba(22,18,42,0.5);
  display: block;
  text-decoration: none;
}
.bhr-insta__cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2,0.7,0.2,1), filter 0.4s;
}
.bhr-insta__cell::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(107,74,140,0.45);
  opacity: 0;
  transition: opacity 0.4s;
}
.bhr-insta__cell:hover img {
  transform: scale(1.06);
  filter: brightness(0.85);
}
.bhr-insta__cell:hover::after {
  opacity: 1;
}
@media (max-width: 1024px) {
  .bhr-insta { padding: 60px 24px; }
  .bhr-insta__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .bhr-insta { padding: 48px 20px; }
  .bhr-insta__grid { grid-template-columns: repeat(3, 1fr); gap: 3px; }
}

/* ── 9. SERVICE CLIENT BANNER (SAV / Livraison / Garantie) ───── */
.bhr-service-banner {
  padding: 52px 48px;
  background: rgba(22,18,42,0.6);
  border-top: 1px solid rgba(212,181,112,0.15);
  border-bottom: 1px solid rgba(212,181,112,0.15);
}
.bhr-service-banner__inner {
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  divide-color: transparent;
}
.bhr-service-item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 32px;
  border-right: 1px solid rgba(212,181,112,0.15);
}
.bhr-service-item:first-child { padding-left: 0; }
.bhr-service-item:last-child {
  border-right: none;
  padding-right: 0;
}
.bhr-service-item__icon {
  width: 44px;
  height: 44px;
  color: var(--gold);
  stroke: var(--gold);
  fill: none;
  flex-shrink: 0;
}
.bhr-service-item__icon svg {
  width: 100%;
  height: 100%;
}
.bhr-service-item__text { }
.bhr-service-item__title {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--moon);
  margin: 0 0 4px;
}
.bhr-service-item__sub {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  color: rgba(244,239,230,0.6);
  margin: 0;
}
@media (max-width: 1024px) {
  .bhr-service-banner { padding: 40px 24px; }
  .bhr-service-item { gap: 16px; padding: 0 20px; }
}
@media (max-width: 640px) {
  .bhr-service-banner { padding: 36px 20px; }
  .bhr-service-banner__inner { grid-template-columns: 1fr; gap: 24px; }
  .bhr-service-item {
    padding: 0;
    border-right: none;
    border-bottom: 1px solid rgba(212,181,112,0.12);
    padding-bottom: 20px;
  }
  .bhr-service-item:last-child { border-bottom: none; padding-bottom: 0; }
}

/* ── 10. NEWSLETTER INLINE (fin de page, pas sticky) ─────────── */
/* Reset sticky si présent */
.bhr-newsletter-sticky,
[class*="newsletter"][class*="sticky"],
[class*="newsletter"][class*="fixed"] {
  position: static !important;
  bottom: auto !important;
}

/* Section inline */
.bhr-newsletter-inline {
  padding: 80px 48px;
  background: linear-gradient(135deg, rgba(31,25,52,0.98) 0%, rgba(22,18,42,1) 100%);
  border-top: 1px solid rgba(212,181,112,0.2);
  position: relative;
  overflow: hidden;
}
.bhr-newsletter-inline::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(107,74,140,0.18) 0%, transparent 60%);
  filter: blur(50px);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.bhr-newsletter-inline__inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.bhr-newsletter-inline__title {
  font-family: 'Italiana', serif;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 400;
  color: var(--moon);
  margin: 10px 0 6px;
  line-height: 1.05;
}
.bhr-newsletter-inline__sub {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 17px;
  color: rgba(244,239,230,0.65);
  margin: 0 0 36px;
  line-height: 1.5;
}
.bhr-newsletter-inline__form {
  display: flex;
  gap: 0;
  max-width: 480px;
  margin: 0 auto;
}
.bhr-newsletter-inline__input {
  flex: 1;
  background: rgba(14,11,26,0.75);
  border: 1px solid rgba(212,181,112,0.35);
  border-right: none;
  color: var(--moon);
  font-family: var(--sans);
  font-size: 13px;
  padding: 15px 20px;
  outline: none;
  transition: border-color 0.3s;
}
.bhr-newsletter-inline__input::placeholder {
  color: rgba(244,239,230,0.35);
}
.bhr-newsletter-inline__input:focus {
  border-color: var(--gold);
}
.bhr-newsletter-inline__submit {
  background: var(--gold);
  border: 1px solid var(--gold);
  color: var(--night, #0E0B1A);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 15px 24px;
  cursor: pointer;
  transition: background 0.3s, box-shadow 0.3s;
  white-space: nowrap;
}
.bhr-newsletter-inline__submit:hover {
  background: #F0D98A;
  border-color: #F0D98A;
  box-shadow: 0 0 24px rgba(212,181,112,0.3);
}
.bhr-newsletter-inline__legal {
  margin-top: 14px;
  font-family: var(--sans);
  font-size: 11px;
  color: rgba(244,239,230,0.35);
  letter-spacing: 0.06em;
}
@media (max-width: 640px) {
  .bhr-newsletter-inline { padding: 56px 20px; }
  .bhr-newsletter-inline__form { flex-direction: column; }
  .bhr-newsletter-inline__input {
    border-right: 1px solid rgba(212,181,112,0.35);
    border-bottom: none;
  }
  .bhr-newsletter-inline__submit { padding: 15px; text-align: center; }
}

/* ── ITER 48 — 5e PASSE POLISH ───────────────────────────────── */

/* 1. HERO SCROLL INDICATOR */
.bhr-scroll-indicator {
  position: absolute;
  bottom: 36px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 10;
  animation: bhr-scroll-fade 2.4s ease-in-out infinite;
}
.bhr-scroll-indicator__label {
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(212,181,112,0.55);
}
.bhr-scroll-indicator__arrow {
  width: 20px;
  height: 20px;
  border-right: 1px solid rgba(212,181,112,0.5);
  border-bottom: 1px solid rgba(212,181,112,0.5);
  transform: rotate(45deg);
  animation: bhr-scroll-bounce 1.6s ease-in-out infinite;
}
@keyframes bhr-scroll-fade {
  0%,100% { opacity: 0.45; }
  50%      { opacity: 1; }
}
@keyframes bhr-scroll-bounce {
  0%,100% { transform: rotate(45deg) translateY(0); }
  50%      { transform: rotate(45deg) translateY(5px); }
}

/* 2. COMMENT ÇA MARCHE — 3-4 steps */
.bhr-how {
  padding: 100px 48px;
  max-width: 1400px;
  margin: 0 auto;
}
.bhr-how__head {
  text-align: center;
  margin-bottom: 72px;
}
.bhr-how__title {
  font-family: 'Italiana', serif;
  font-size: clamp(36px, 5vw, 60px);
  font-weight: 400;
  color: var(--moon);
  margin: 12px 0 0;
}
.bhr-how__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
}
.bhr-how__steps::before {
  content: '';
  position: absolute;
  top: 28px;
  left: 12.5%;
  right: 12.5%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212,181,112,0.3) 20%, rgba(212,181,112,0.3) 80%, transparent);
}
.bhr-how__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 24px;
  position: relative;
}
.bhr-how__step-num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid rgba(212,181,112,0.35);
  background: rgba(212,181,112,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 300;
  color: var(--gold);
  margin-bottom: 28px;
  position: relative;
  z-index: 1;
}
.bhr-how__step-icon {
  font-size: 20px;
  margin-bottom: 20px;
  color: var(--gold);
  opacity: 0.8;
}
.bhr-how__step-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--moon);
  margin-bottom: 10px;
  letter-spacing: 0.04em;
}
.bhr-how__step-desc {
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.7;
  color: rgba(244,239,230,0.5);
}
@media (max-width: 768px) {
  .bhr-how { padding: 72px 20px; }
  .bhr-how__steps { grid-template-columns: 1fr 1fr; gap: 48px 0; }
  .bhr-how__steps::before { display: none; }
}
@media (max-width: 480px) {
  .bhr-how__steps { grid-template-columns: 1fr; gap: 40px; }
}

/* 3. TRUST BADGES ROW */
.bhr-trust {
  padding: 48px;
  border-top: 1px solid rgba(212,181,112,0.1);
  border-bottom: 1px solid rgba(212,181,112,0.1);
  background: rgba(212,181,112,0.03);
}
.bhr-trust__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  max-width: 960px;
  margin: 0 auto;
}
.bhr-trust__item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 48px;
  flex: 1;
}
.bhr-trust__item + .bhr-trust__item {
  border-left: 1px solid rgba(212,181,112,0.15);
}
.bhr-trust__icon {
  width: 38px;
  height: 38px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(212,181,112,0.3);
  border-radius: 50%;
  color: var(--gold);
  font-size: 16px;
}
.bhr-trust__label {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(244,239,230,0.7);
  line-height: 1.5;
}
.bhr-trust__label strong {
  display: block;
  color: var(--moon);
  font-weight: 500;
}
@media (max-width: 768px) {
  .bhr-trust { padding: 40px 20px; }
  .bhr-trust__row { flex-direction: column; gap: 28px; }
  .bhr-trust__item { border-left: none !important; padding: 0; }
}

/* 4. CUSTOMER REVIEWS CAROUSEL */
.bhr-reviews {
  padding: 100px 48px;
  overflow: hidden;
  background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(107,74,140,0.06) 0%, transparent 70%);
}
.bhr-reviews__head {
  text-align: center;
  margin-bottom: 60px;
}
.bhr-reviews__title {
  font-family: 'Italiana', serif;
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 400;
  color: var(--moon);
  margin: 10px 0 16px;
}
.bhr-reviews__stars-global {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--sans);
  font-size: 12px;
  color: rgba(244,239,230,0.5);
  letter-spacing: 0.1em;
}
.bhr-reviews__stars-global .bhr-stars { color: var(--gold); letter-spacing: 2px; }
.bhr-reviews__carousel {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
}
.bhr-reviews__track {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.bhr-review-card {
  background: rgba(212,181,112,0.04);
  border: 1px solid rgba(212,181,112,0.12);
  padding: 36px 32px;
  position: relative;
  transition: border-color 0.3s, transform 0.3s;
}
.bhr-review-card:hover {
  border-color: rgba(212,181,112,0.28);
  transform: translateY(-3px);
}
.bhr-review-card__quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: 42px;
  line-height: 1;
  color: rgba(212,181,112,0.2);
  margin-bottom: 4px;
}
.bhr-review-card__text {
  font-family: var(--serif);
  font-size: 15px;
  font-style: italic;
  font-weight: 300;
  line-height: 1.75;
  color: rgba(244,239,230,0.75);
  margin-bottom: 24px;
}
.bhr-review-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.bhr-review-card__author {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.12em;
  color: rgba(244,239,230,0.55);
  text-transform: uppercase;
}
.bhr-review-card__author strong {
  display: block;
  color: var(--moon);
  font-weight: 500;
  margin-bottom: 3px;
}
.bhr-stars { color: var(--gold); letter-spacing: 2px; font-size: 12px; }
.bhr-reviews__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 40px;
}
.bhr-reviews__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(212,181,112,0.25);
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
  border: none;
}
.bhr-reviews__dot--active,
.bhr-reviews__dot:hover {
  background: var(--gold);
  transform: scale(1.4);
}
@media (max-width: 900px) {
  .bhr-reviews__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .bhr-reviews { padding: 72px 20px; }
  .bhr-reviews__track {
    grid-template-columns: 1fr;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    display: flex;
    gap: 16px;
  }
  .bhr-reviews__track::-webkit-scrollbar { display: none; }
  .bhr-review-card {
    min-width: 85vw;
    scroll-snap-align: start;
  }
}

/* 5. PRESS RIBBON (ticker) */
.bhr-press-ribbon {
  padding: 20px 0;
  background: rgba(212,181,112,0.04);
  border-top: 1px solid rgba(212,181,112,0.12);
  border-bottom: 1px solid rgba(212,181,112,0.12);
  overflow: hidden;
}
.bhr-press-ribbon__track {
  display: flex;
  align-items: center;
  gap: 56px;
  animation: bhr-ticker 28s linear infinite;
  width: max-content;
}
.bhr-press-ribbon__track:hover { animation-play-state: paused; }
.bhr-press-ribbon__item {
  display: flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
  flex-shrink: 0;
}
.bhr-press-ribbon__name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 400;
  font-style: italic;
  color: rgba(244,239,230,0.38);
  letter-spacing: 0.06em;
  transition: color 0.3s;
}
.bhr-press-ribbon__item:hover .bhr-press-ribbon__name {
  color: rgba(244,239,230,0.7);
}
.bhr-press-ribbon__sep {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(212,181,112,0.3);
}
@keyframes bhr-ticker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* 6. NEWSLETTER INLINE CTA (modale inline) */
.bhr-nl-modal {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 0 48px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s;
}
.bhr-nl-modal--visible {
  opacity: 1;
  pointer-events: auto;
}
.bhr-nl-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(14,11,26,0.5);
  backdrop-filter: blur(4px);
}
.bhr-nl-modal__box {
  position: relative;
  z-index: 1;
  background: #140E24;
  border: 1px solid rgba(212,181,112,0.25);
  padding: 52px 60px;
  max-width: 640px;
  width: 100%;
  text-align: center;
  transform: translateY(24px);
  transition: transform 0.4s cubic-bezier(0.2,0.7,0.2,1);
}
.bhr-nl-modal--visible .bhr-nl-modal__box { transform: translateY(0); }
.bhr-nl-modal__close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  color: rgba(244,239,230,0.4);
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s;
}
.bhr-nl-modal__close:hover { color: var(--gold); }
.bhr-nl-modal__headline {
  font-family: 'Italiana', serif;
  font-size: 34px;
  font-weight: 400;
  color: var(--moon);
  margin: 14px 0 10px;
}
.bhr-nl-modal__sub {
  font-family: var(--serif);
  font-size: 14px;
  font-style: italic;
  color: rgba(244,239,230,0.5);
  margin-bottom: 28px;
}
.bhr-nl-modal__form {
  display: flex;
  border: 1px solid rgba(212,181,112,0.35);
}
.bhr-nl-modal__input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: 14px 18px;
  font-family: var(--sans);
  font-size: 13px;
  color: var(--moon);
}
.bhr-nl-modal__input::placeholder { color: rgba(244,239,230,0.3); }
.bhr-nl-modal__submit {
  background: var(--gold);
  border: none;
  color: var(--night, #0E0B1A);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 14px 22px;
  cursor: pointer;
  transition: background 0.3s;
}
.bhr-nl-modal__submit:hover { background: #F0D98A; }
.bhr-nl-modal__legal {
  margin-top: 12px;
  font-size: 11px;
  color: rgba(244,239,230,0.28);
  font-family: var(--sans);
}
@media (max-width: 640px) {
  .bhr-nl-modal__box { padding: 40px 24px; }
  .bhr-nl-modal__form { flex-direction: column; }
}

/* 7. FEATURED COLLECTIONS — HERO OVERLAP */
.bhr-featured-overlap {
  position: relative;
  margin-top: -80px;
  padding: 0 48px 80px;
  z-index: 2;
}
.bhr-featured-overlap__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 1400px;
  margin: 0 auto;
}
.bhr-featured-overlap__card {
  background: rgba(14,11,26,0.9);
  border: 1px solid rgba(212,181,112,0.15);
  backdrop-filter: blur(12px);
  padding: 28px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color 0.3s, transform 0.3s;
  cursor: pointer;
  text-decoration: none;
}
.bhr-featured-overlap__card:hover {
  border-color: rgba(212,181,112,0.35);
  transform: translateY(-4px);
}
.bhr-featured-overlap__orb {
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 2px;
  overflow: hidden;
}
.bhr-featured-overlap__label {
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
}
.bhr-featured-overlap__name {
  font-family: 'Italiana', serif;
  font-size: 24px;
  font-weight: 400;
  color: var(--moon);
}
.bhr-featured-overlap__cta {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: rgba(244,239,230,0.45);
  text-transform: uppercase;
  margin-top: auto;
}
@media (max-width: 900px) {
  .bhr-featured-overlap { margin-top: 0; padding: 40px 20px; }
  .bhr-featured-overlap__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .bhr-featured-overlap__grid { grid-template-columns: 1fr; }
}

/* 8. BIRTHSTONE CALENDAR WIDGET */
.bhr-birthstone {
  padding: 100px 48px;
  max-width: 1200px;
  margin: 0 auto;
}
.bhr-birthstone__head {
  text-align: center;
  margin-bottom: 56px;
}
.bhr-birthstone__title {
  font-family: 'Italiana', serif;
  font-size: clamp(34px, 4.5vw, 52px);
  font-weight: 400;
  color: var(--moon);
  margin: 10px 0 0;
}
.bhr-birthstone__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}
.bhr-birthstone__month {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 20px 12px 16px;
  border: 1px solid rgba(212,181,112,0.1);
  background: rgba(212,181,112,0.03);
  cursor: pointer;
  transition: border-color 0.3s, background 0.3s, transform 0.25s;
  text-decoration: none;
}
.bhr-birthstone__month:hover,
.bhr-birthstone__month--active {
  border-color: rgba(212,181,112,0.3);
  background: rgba(212,181,112,0.07);
  transform: translateY(-3px);
}
.bhr-birthstone__stone-orb {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
.bhr-birthstone__month-name {
  font-family: var(--sans);
  font-size: 9px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(244,239,230,0.5);
}
.bhr-birthstone__stone-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 13px;
  font-style: italic;
  font-weight: 300;
  color: var(--gold);
  text-align: center;
  line-height: 1.3;
}
/* Couleurs pierres */
.bhr-stone--january    { background: radial-gradient(circle at 35% 35%, #B44250, #6B1020 70%); }
.bhr-stone--february   { background: radial-gradient(circle at 35% 35%, #9B7FB8, #3D2B5C 70%); }
.bhr-stone--march      { background: radial-gradient(circle at 35% 35%, #7FBFBF, #1A6060 70%); }
.bhr-stone--april      { background: radial-gradient(circle at 35% 35%, #F2F0EC, #C8C4BC 70%); }
.bhr-stone--may        { background: radial-gradient(circle at 35% 35%, #5BA872, #1A4A30 70%); }
.bhr-stone--june       { background: radial-gradient(circle at 35% 35%, #F2C4C8, #C88090 70%); }
.bhr-stone--july       { background: radial-gradient(circle at 35% 35%, #B44250, #6B1020 70%); }
.bhr-stone--august     { background: radial-gradient(circle at 35% 35%, #88B844, #3A5A10 70%); }
.bhr-stone--september  { background: radial-gradient(circle at 35% 35%, #4A6EA8, #1A3060 70%); }
.bhr-stone--october    { background: radial-gradient(circle at 35% 35%, #E07840, #7A3010 70%); }
.bhr-stone--november   { background: radial-gradient(circle at 35% 35%, #D4A840, #7A5800 70%); }
.bhr-stone--december   { background: radial-gradient(circle at 35% 35%, #4898C8, #144870 70%); }
@media (max-width: 900px) {
  .bhr-birthstone { padding: 72px 20px; }
  .bhr-birthstone__grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 540px) {
  .bhr-birthstone__grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .bhr-birthstone__month { padding: 14px 8px 12px; }
}

/* ── ITER 48 END ─────────────────────────────────────────────── */

/* ── HERO IMAGE (iter upgrade) ───────────────────────────── */
.bhr-astro__center--img {
  width: 220px !important;
  height: 220px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 1.5px solid rgba(212,181,112,0.5) !important;
  box-shadow: 0 0 40px rgba(107,74,140,0.6), 0 0 80px rgba(212,181,112,0.15) !important;
}
.bhr-astro__hero-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 50% !important;
}

/* ── HERO ASTRO — ANIMATIONS V2 ────────────────────────────── */
.bhr-astro__center--img {
  position: relative !important;
  animation: bhr-hero-float 6s ease-in-out infinite, bhr-hero-breathe 4.5s ease-in-out infinite !important;
  transition: transform .6s cubic-bezier(.2,.8,.2,1), box-shadow .6s ease !important;
  will-change: transform, box-shadow !important;
}
.bhr-astro__center--img::before {
  content: "" !important;
  position: absolute !important;
  inset: -12px !important;
  border-radius: 50% !important;
  background: conic-gradient(from 0deg, transparent 0%, rgba(212,181,112,0.55) 18%, transparent 36%, transparent 60%, rgba(107,74,140,0.55) 78%, transparent 96%) !important;
  filter: blur(14px) !important;
  opacity: 0.55 !important;
  z-index: -1 !important;
  animation: bhr-hero-halo 14s linear infinite !important;
}
.bhr-astro__center--img::after {
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(212,181,112,0.35) !important;
  box-shadow: inset 0 0 30px rgba(107,74,140,0.4) !important;
  pointer-events: none !important;
  animation: bhr-hero-pulse 3.2s ease-in-out infinite !important;
}
.bhr-astro__hero-img {
  transition: transform 1.2s cubic-bezier(.2,.8,.2,1), filter .8s ease !important;
}
.bhr-astro:hover .bhr-astro__hero-img {
  transform: scale(1.06) !important;
  filter: brightness(1.12) saturate(1.08) !important;
}
.bhr-astro:hover .bhr-astro__center--img {
  box-shadow: 0 0 60px rgba(107,74,140,0.85), 0 0 120px rgba(212,181,112,0.3) !important;
}
.bhr-astro__ring { transition: animation-duration .6s ease !important; }
.bhr-astro:hover .bhr-spin-slow { animation-duration: 40s !important; }
.bhr-astro:hover .bhr-spin-reverse { animation-duration: 25s !important; }

@keyframes bhr-hero-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes bhr-hero-breathe {
  0%, 100% { box-shadow: 0 0 40px rgba(107,74,140,0.6), 0 0 80px rgba(212,181,112,0.15); }
  50% { box-shadow: 0 0 55px rgba(107,74,140,0.85), 0 0 110px rgba(212,181,112,0.28); }
}
@keyframes bhr-hero-halo {
  to { transform: rotate(360deg); }
}
@keyframes bhr-hero-pulse {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.015); }
}

/* Parallax-like mouse tilt support (JS optional) */
.bhr-astro { perspective: 1200px !important; }
.bhr-astro__center--img { transform-style: preserve-3d !important; }

@media (prefers-reduced-motion: reduce) {
  .bhr-astro__center--img,
  .bhr-astro__center--img::before,
  .bhr-astro__center--img::after { animation: none !important; }
}

/* ── PIERRES — premium animations V2 ────────────────────── */
.bhr-pierre-card {
  transition: transform .55s cubic-bezier(.2,.8,.2,1), border-color .4s, box-shadow .55s ease, background .4s !important;
  will-change: transform !important;
}
.bhr-pierre-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 50% 0%, rgba(212,181,112,0.12), transparent 60%) !important;
  opacity: 0 !important;
  transition: opacity .55s ease !important;
  pointer-events: none !important;
}
.bhr-pierre-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 50px -10px rgba(0,0,0,0.6), 0 0 30px rgba(107,74,140,0.25) !important;
  background: rgba(28,22,52,0.7) !important;
}
.bhr-pierre-card:hover::before { opacity: 1 !important; }

.bhr-pierre-card__orb {
  position: relative !important;
  overflow: visible !important;
  transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .5s ease !important;
}
.bhr-pierre-card__orb::after {
  content: "" !important;
  position: absolute !important;
  inset: -8px !important;
  border-radius: 50% !important;
  border: 1px dashed rgba(212,181,112,0.3) !important;
  opacity: 0 !important;
  transition: opacity .5s ease, transform .8s ease !important;
  animation: bhr-orb-spin 18s linear infinite !important;
}
.bhr-pierre-card:hover .bhr-pierre-card__orb {
  transform: scale(1.08) rotate(2deg) !important;
  filter: brightness(1.15) saturate(1.1) !important;
}
.bhr-pierre-card:hover .bhr-pierre-card__orb::after { opacity: 1 !important; }

@keyframes bhr-orb-spin { to { transform: rotate(360deg); } }

/* Stagger reveal */
.bhr-pierre-card { opacity: 0; transform: translateY(24px); animation: bhr-pierre-in .8s cubic-bezier(.2,.8,.2,1) forwards; }
.bhr-pierre-card:nth-child(1) { animation-delay: .05s; }
.bhr-pierre-card:nth-child(2) { animation-delay: .12s; }
.bhr-pierre-card:nth-child(3) { animation-delay: .19s; }
.bhr-pierre-card:nth-child(4) { animation-delay: .26s; }
.bhr-pierre-card:nth-child(5) { animation-delay: .33s; }
.bhr-pierre-card:nth-child(6) { animation-delay: .40s; }
.bhr-pierre-card:nth-child(7) { animation-delay: .47s; }
.bhr-pierre-card:nth-child(8) { animation-delay: .54s; }

@keyframes bhr-pierre-in {
  to { opacity: 1; transform: translateY(0); }
}

/* ── COLLECTIONS (Quatre familles) — boost animation ───── */
.bhr-coll-card {
  transition: transform .6s cubic-bezier(.2,.8,.2,1), box-shadow .6s ease !important;
  will-change: transform !important;
}
.bhr-coll-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, transparent 40%, rgba(212,181,112,0.08) 50%, transparent 60%) !important;
  background-size: 200% 200% !important;
  background-position: -100% -100% !important;
  transition: background-position 1s ease !important;
  pointer-events: none !important;
}
.bhr-coll-card:hover { transform: translateY(-10px) !important; box-shadow: 0 25px 60px -10px rgba(0,0,0,0.7), 0 0 40px rgba(107,74,140,0.3) !important; }
.bhr-coll-card:hover::after { background-position: 100% 100% !important; }
.bhr-coll-card__orb {
  transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .6s ease !important;
}
.bhr-coll-card:hover .bhr-coll-card__orb {
  transform: scale(1.08) rotate(-1deg) !important;
  filter: brightness(1.12) saturate(1.1) !important;
}

@media (prefers-reduced-motion: reduce) {
  .bhr-pierre-card, .bhr-pierre-card__orb, .bhr-pierre-card__orb::after,
  .bhr-coll-card, .bhr-coll-card__orb, .bhr-coll-card::after { animation: none !important; transition: none !important; }
  .bhr-pierre-card { opacity: 1 !important; transform: none !important; }
}

/* ── HERO CAROUSEL MYSTIQUE ──────────────────────────────── */
.bhr-astro__carousel { position: relative !important; }
.bhr-astro__carousel .bhr-astro__hero-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  opacity: 0 !important;
  transform: scale(1.04) !important;
  transition: opacity 1.4s ease, transform 6s ease !important;
  pointer-events: none !important;
}
.bhr-astro__carousel .bhr-astro__hero-img.is-active {
  opacity: 1 !important;
  transform: scale(1) !important;
  z-index: 2 !important;
}

/* Mystical multi-ring spin boost */
.bhr-astro__ring.bhr-spin-slow { animation: bhr-spin-slow 60s linear infinite !important; transform-origin: center !important; }
.bhr-astro__mid.bhr-spin-reverse { animation: bhr-spin-reverse 38s linear infinite !important; transform-origin: center !important; }

/* Mystical pulse on outer ring */
.bhr-astro__ring { animation: bhr-spin-slow 60s linear infinite, bhr-mystic-pulse 8s ease-in-out infinite !important; }
@keyframes bhr-mystic-pulse {
  0%, 100% { filter: drop-shadow(0 0 6px rgba(212,181,112,0.2)); }
  50% { filter: drop-shadow(0 0 18px rgba(212,181,112,0.6)) drop-shadow(0 0 30px rgba(107,74,140,0.4)); }
}

/* Particles flottantes (gold dust) autour du cercle */
.bhr-astro::before {
  content: "" !important;
  position: absolute !important;
  inset: -8% !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 20% 30%, rgba(212,181,112,0.6) 0, transparent 1px),
    radial-gradient(circle at 80% 20%, rgba(212,181,112,0.5) 0, transparent 1px),
    radial-gradient(circle at 70% 80%, rgba(244,239,230,0.5) 0, transparent 1px),
    radial-gradient(circle at 30% 75%, rgba(212,181,112,0.4) 0, transparent 1px),
    radial-gradient(circle at 50% 10%, rgba(244,239,230,0.4) 0, transparent 1.5px),
    radial-gradient(circle at 90% 60%, rgba(212,181,112,0.5) 0, transparent 1px),
    radial-gradient(circle at 10% 60%, rgba(212,181,112,0.4) 0, transparent 1px);
  animation: bhr-mystic-orbit 28s linear infinite !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
@keyframes bhr-mystic-orbit {
  0% { transform: rotate(0deg) scale(1); opacity: 0.7; }
  50% { transform: rotate(180deg) scale(1.05); opacity: 1; }
  100% { transform: rotate(360deg) scale(1); opacity: 0.7; }
}

@media (prefers-reduced-motion: reduce) {
  .bhr-astro__carousel .bhr-astro__hero-img { transition: opacity .3s ease !important; transform: none !important; }
  .bhr-astro::before, .bhr-astro__ring { animation: none !important; }
}
