/* Pages éditoriales Aurore */
.subpage {
  min-height: 100vh;
  background: var(--bg);
}

.subpage .header { position: absolute; }
.subpage .nav a.is-current { color: var(--ink); }
.subpage .nav a,
.subpage .logo,
.subpage .cart-btn { transition: color .25s ease, transform .25s ease; }
.subpage .logo:hover { transform: translateY(-2px); }
.subpage .cart-btn:hover { color: var(--accent); transform: translateY(-2px); }

.page-hero {
  min-height: min(760px, 88vh);
  padding: 10rem 4rem 5rem;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: 4rem;
  align-items: end;
  background: #e9e1d3;
  overflow: hidden;
}
.page-hero--dark { background: #e9e1d3; color: var(--ink); }
.page-hero__copy { position: relative; z-index: 1; max-width: 650px; }
.page-hero__copy .eyebrow { margin-bottom: 1.4rem; }
.page-hero--dark .eyebrow { color: var(--soft); }
.page-hero__title {
  font-family: var(--font-display);
  font-size: clamp(4rem, 10vw, 9rem);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.03em;
  margin: 0;
}
.page-hero__lead {
  max-width: 32ch;
  margin: 2rem 0 0;
  color: var(--soft);
  line-height: 1.75;
}
.page-hero--dark .page-hero__lead { color: var(--soft); }
.page-hero__index {
  display: block;
  margin-bottom: 1rem;
  color: var(--accent);
  font-size: 0.75rem;
  letter-spacing: 0.22em;
}
.page-hero__art {
  position: relative;
  min-height: 390px;
  align-self: stretch;
}
.page-hero__art::before,
.page-hero__art::after { content: ""; position: absolute; border-radius: 50%; }
.page-hero__art::before {
  width: min(34vw, 390px); aspect-ratio: 1; right: 4%; top: 10%;
  background: radial-gradient(circle at 35% 28%, #fffdf8 0 8%, #d8c8ad 37%, #9b7e61 100%);
  box-shadow: -30px 40px 80px rgba(78, 56, 34, 0.2);
}
.page-hero__art::after {
  width: 130px; aspect-ratio: 1; right: 50%; bottom: 6%;
  background: #b89b6a; opacity: 0.65;
}
.page-hero__art { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.page-hero:hover .page-hero__art { transform: translateY(-8px) rotate(1deg); }
.page-hero:hover .page-hero__art::before { transform: scale(1.04); }
.page-hero__art::before { transition: transform .7s cubic-bezier(.2,.7,.2,1), box-shadow .7s ease; }
.page-hero:hover .page-hero__art::after { transform: translate(12px, -8px); }
.page-hero__art::after { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.page-hero--dark .page-hero__art::before {
  background: radial-gradient(circle at 35% 28%, #fffdf8 0 8%, #d8c8ad 37%, #9b7e61 100%);
  box-shadow: -30px 40px 80px rgba(78, 56, 34, 0.2);
}

.page-content { padding: 8rem 4rem; }
.page-content--tight { padding-top: 5rem; }
.page-content__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.page-content__title { font-family: var(--font-display); font-size: clamp(2.4rem, 5vw, 4.5rem); font-weight: 400; line-height: 1.04; margin: 0; }
.page-content__text { color: var(--soft); line-height: 1.8; max-width: 38ch; margin: 0; }

/* Collection */
.product-showcase { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.product-showcase__item { min-width: 0; }
.product-showcase__visual {
  height: 390px; position: relative; overflow: hidden; display: grid; place-items: center;
  background: #f0ebe2; border-radius: 5px;
  transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
}
.product-showcase__item { transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.product-showcase__item:hover { transform: translateY(-8px); }
.product-showcase__item:hover .product-showcase__visual { box-shadow: 0 22px 40px rgba(22,20,15,.12); }
.product-showcase__item:hover .product-shape { transform: translateY(-10px) rotate(-2deg) scale(1.04); }
.product-showcase__visual--gold { background: #d9c7a8; }
.product-showcase__visual--rose { background: #e8d9d0; }
.product-showcase__visual--green { background: #dce0d3; }
.product-showcase__visual::after {
  content: ""; position: absolute; width: 65%; height: 18%; bottom: 9%; border-radius: 50%;
  background: rgba(22, 20, 15, 0.12); filter: blur(16px);
}
.product-shape { position: relative; z-index: 1; width: 37%; height: 50%; border-radius: 14px 14px 20px 20px; background: #fffdf9; box-shadow: 0 22px 30px rgba(22,20,15,.16); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.product-shape::before { content: ""; position: absolute; left: 19%; top: -13%; width: 62%; height: 15%; border-radius: 4px 4px 2px 2px; background: #e7dfd1; }
.product-shape::after { content: "AU"; position: absolute; top: 46%; left: 0; right: 0; text-align: center; color: #bea77f; font: 1.15rem var(--font-display); letter-spacing: .1em; }
.product-shape--jar { height: 35%; border-radius: 18px; }
.product-shape--jar::before { top: -8%; height: 14%; left: -5%; width: 110%; border-radius: 5px; background: #d1bc99; }
.product-shape--amber { background: #b78b55; }
.product-shape--glass { background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.7); }
.product-showcase__meta { padding-top: 1rem; }
.product-showcase__category { color: var(--soft); font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; margin: 0; }
.product-showcase__name { font: 1.45rem/1.08 var(--font-display); margin: .35rem 0; }
.product-showcase__price { font-size: .9rem; margin: 0; }
.product-showcase__name { transition: color .25s ease; }
.product-showcase__item:hover .product-showcase__name { color: var(--accent); }
.page-note { display: flex; justify-content: space-between; gap: 2rem; padding-top: 4rem; margin-top: 5rem; border-top: 1px solid var(--line); color: var(--soft); font-size: .8rem; letter-spacing: .08em; }
.page-note a { color: var(--ink); transition: color .25s ease, letter-spacing .25s ease; }
.page-note a:hover { color: var(--accent); letter-spacing: .12em; }

/* Rituel */
.rituel-story { display: grid; grid-template-columns: .75fr 1.25fr; gap: 6rem; align-items: start; }
.rituel-story__aside { position: sticky; top: 7rem; }
.rituel-story__aside p { color: var(--soft); line-height: 1.8; max-width: 26ch; }
.steps { border-top: 1px solid var(--line); }
.step { display: grid; grid-template-columns: 80px 1fr; gap: 2rem; padding: 2.5rem 0; border-bottom: 1px solid var(--line); }
.step { transition: padding-left .35s ease, background .35s ease; }
.step:hover { padding-left: 1rem; background: rgba(255,255,255,.42); }
.step__number { color: var(--accent); font: 1.5rem var(--font-display); }
.step__title { font: 2.6rem/1.02 var(--font-display); margin: 0 0 .65rem; }
.step__title { transition: color .25s ease; }
.step:hover .step__title { color: var(--accent); }
.step__text { max-width: 48ch; color: var(--soft); line-height: 1.75; margin: 0; }
.rituel-banner { margin-top: 8rem; padding: 5rem; text-align: center; background: #ded4c3; }
.rituel-banner { transition: background .4s ease, transform .4s ease, box-shadow .4s ease; }
.rituel-banner:hover { background: #d5c5aa; transform: translateY(-5px); box-shadow: 0 24px 50px rgba(22,20,15,.1); }
.rituel-banner__title { font: clamp(2.5rem, 6vw, 5.5rem)/1.02 var(--font-display); margin: 0; }
.rituel-banner p { color: var(--soft); max-width: 38ch; margin: 1.4rem auto 0; line-height: 1.7; }

/* Maison */
.maison-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
.maison-copy { max-width: 52ch; }
.maison-copy p { color: var(--soft); line-height: 1.85; margin: 0 0 1.3rem; }
.maison-portrait { min-height: 600px; position: relative; overflow: hidden; background: #c8bba7; }
.maison-portrait { transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease; }
.maison-portrait:hover { transform: translateY(-7px); box-shadow: 0 26px 55px rgba(22,20,15,.14); }
.maison-portrait::before { content: ""; position: absolute; width: 70%; aspect-ratio: 1; border-radius: 50%; top: 11%; left: 15%; background: radial-gradient(circle at 40% 30%, #f4eade, #b99b77 45%, #6d5041 100%); }
.maison-portrait::before { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.maison-portrait:hover::before { transform: scale(1.06) rotate(3deg); }
.maison-portrait::after { content: "AURORE"; position: absolute; bottom: 2.2rem; left: 2.2rem; color: rgba(246,243,236,.82); font-size: .66rem; letter-spacing: .35em; }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 8rem; border-top: 1px solid var(--line); }
.principle { padding-top: 1.4rem; }
.principle { transition: transform .35s ease; }
.principle:hover { transform: translateY(-5px); }
.principle__label { color: var(--accent); font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; }
.principle h3 { font: 1.8rem/1.05 var(--font-display); margin: .7rem 0; }
.principle h3 { transition: color .25s ease; }
.principle:hover h3 { color: var(--accent); }
.principle p { color: var(--soft); line-height: 1.7; margin: 0; }

@media (max-width: 900px) {
  .page-hero { grid-template-columns: 1fr; min-height: auto; padding: 9rem 2rem 3rem; gap: 2rem; }
  .page-hero__art { min-height: 300px; }
  .page-hero__art::before { width: min(58vw, 340px); right: 13%; }
  .page-content { padding: 5rem 2rem; }
  .product-showcase { grid-template-columns: repeat(2, 1fr); }
  .rituel-story, .maison-grid { grid-template-columns: 1fr; gap: 3rem; }
  .rituel-story__aside { position: static; }
  .maison-portrait { min-height: 420px; }
}
@media (max-width: 560px) {
  .page-hero__title { font-size: clamp(3.6rem, 18vw, 6rem); line-height: .96; }
  .page-content__intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .product-showcase { grid-template-columns: 1fr; }
  .product-showcase__visual { height: 340px; }
  .step { grid-template-columns: 45px 1fr; gap: 1rem; }
  .step__title { font-size: 2rem; }
  .rituel-banner { padding: 3rem 1.5rem; }
  .principles { grid-template-columns: 1fr; gap: 2rem; margin-top: 5rem; }
  .page-note { flex-direction: column; gap: .7rem; }
}

/* --- Direction visuelle commune avec la home --- */
.subpage {
  --page-cream: #eee6d8;
  --page-sage: #dfe3d6;
  --page-blush: #ead8d2;
}

.subpage .header { background: rgba(246, 243, 236, .66); }
.subpage main { overflow: clip; }
.page-hero { position: relative; isolation: isolate; }
.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(246,243,236,.18), transparent 56%);
  z-index: -1;
}
.page-hero__copy { transform: translateZ(0); }
.page-hero__title { text-wrap: balance; }
.page-hero__art { will-change: transform; }
.page-hero__art::before,
.page-hero__art::after { z-index: 0; }
.page-hero__art--product::before,
.page-hero__art--product::after,
.page-hero__art--rituel::before,
.page-hero__art--rituel::after { content: none; }
.page-hero__art--product {
  display: grid;
  place-items: center;
  min-height: 520px;
  transform: translate3d(calc(var(--mx, 0) * 1px), calc(var(--my, 0) * 1px), 0);
}
.page-hero__art--product img {
  position: relative;
  z-index: 1;
  width: min(31vw, 390px);
  height: min(56vw, 570px);
  object-fit: cover;
  border-radius: 240px 240px 18px 18px;
  box-shadow: 28px 34px 70px rgba(73, 50, 30, .2);
  transform: translateY(20px) rotate(3deg);
  transition: transform .9s cubic-bezier(.2,.7,.2,1), box-shadow .9s ease;
}
.page-hero:hover .page-hero__art--product img { transform: translateY(-4px) rotate(-1deg) scale(1.02); box-shadow: 34px 48px 90px rgba(73,50,30,.24); }
.hero-orbit { position: absolute; border: 1px solid rgba(184,155,106,.55); border-radius: 50%; pointer-events: none; }
.hero-orbit--one { width: min(34vw, 430px); aspect-ratio: 1; right: 9%; top: 16%; animation: orbitFloat 8s ease-in-out infinite; }
.hero-orbit--two { width: min(15vw, 190px); aspect-ratio: 1; right: 1%; bottom: 8%; border-color: rgba(184,155,106,.32); animation: orbitFloat 6s ease-in-out -2s infinite reverse; }
@keyframes orbitFloat { 0%, 100% { transform: translate3d(0, 0, 0) rotate(0); } 50% { transform: translate3d(-12px, -16px, 0) rotate(7deg); } }

.page-content__intro { position: relative; }
.page-content__intro::before {
  content: "AU / 2026";
  position: absolute;
  right: 0;
  top: -1.7rem;
  color: var(--accent);
  font-size: .65rem;
  letter-spacing: .22em;
}
.product-showcase { gap: 1.15rem; }
.product-showcase__visual { border-radius: 4px; }
.product-showcase__visual img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply;
  transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .6s ease;
}
.product-showcase__visual--gold img { mix-blend-mode: multiply; }
.product-showcase__item:hover .product-showcase__visual img { transform: scale(1.08) translateY(-8px); filter: saturate(1.06); }
.product-showcase__index {
  position: absolute;
  z-index: 2;
  right: 1rem;
  bottom: 1rem;
  color: rgba(22,20,15,.56);
  font-size: .64rem;
  letter-spacing: .14em;
}

.rituel-story { position: relative; }
.step { position: relative; min-height: 182px; align-items: start; overflow: hidden; }
.step__copy { position: relative; z-index: 1; }
.step > img {
  position: absolute;
  z-index: 0;
  right: 1rem;
  top: 50%;
  width: 150px;
  height: 190px;
  object-fit: cover;
  mix-blend-mode: multiply;
  opacity: .76;
  transform: translateY(-50%) rotate(5deg);
  transition: transform .65s cubic-bezier(.2,.7,.2,1), opacity .35s ease;
}
.step:hover > img { transform: translateY(-56%) rotate(-2deg) scale(1.06); opacity: 1; }
.page-hero__art--rituel { min-height: 490px; transform: translate3d(calc(var(--mx, 0) * 1px), calc(var(--my, 0) * 1px), 0); }
.rituel-hero-product { position: absolute; z-index: 1; overflow: hidden; box-shadow: 25px 35px 65px rgba(73,50,30,.18); transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.rituel-hero-product img { width: 100%; height: 100%; display: block; object-fit: cover; mix-blend-mode: multiply; }
.rituel-hero-product--back { width: min(25vw, 300px); height: min(42vw, 430px); right: 4%; top: 3%; border-radius: 180px 180px 12px 12px; transform: rotate(7deg); }
.rituel-hero-product--front { width: min(25vw, 300px); height: min(35vw, 360px); left: 12%; bottom: 4%; border-radius: 20px; transform: rotate(-8deg); }
.page-hero:hover .rituel-hero-product--back { transform: translateY(-12px) rotate(3deg); }
.page-hero:hover .rituel-hero-product--front { transform: translateY(-6px) rotate(-3deg); }
.rituel-banner { position: relative; overflow: hidden; }
.rituel-banner::before {
  content: "";
  position: absolute;
  width: 240px;
  aspect-ratio: 1;
  border: 1px solid rgba(184,155,106,.48);
  border-radius: 50%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  animation: orbitFloat 7s ease-in-out infinite;
}
.rituel-banner > * { position: relative; z-index: 1; }

.maison-grid { position: relative; }
.maison-portrait { background: var(--page-cream); }
.maison-portrait::before { content: none; }
.maison-portrait img { width: 100%; height: 100%; min-height: 600px; display: block; object-fit: cover; mix-blend-mode: multiply; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.maison-portrait:hover img { transform: scale(1.06) rotate(2deg); }
.maison-portrait::after { content: ""; inset: 0; bottom: auto; left: auto; width: auto; height: auto; background: linear-gradient(180deg, transparent 56%, rgba(72,50,32,.3)); color: transparent; pointer-events: none; }
.maison-portrait span { position: absolute; z-index: 1; left: 2.2rem; bottom: 2.2rem; color: var(--bg); font-size: .66rem; letter-spacing: .35em; }
.principles { position: relative; }
.principle { padding-right: 1rem; }

/* Contenus complémentaires */
.collection-details,
.rituel-repere,
.maison-journal {
  margin-top: 9rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
}
.collection-details { display: grid; grid-template-columns: .8fr 1.2fr; gap: 6rem; }
.detail-list { border-top: 1px solid var(--line); }
.detail-list__item { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.detail-list__number { color: var(--accent); font: 1.3rem var(--font-display); }
.detail-list h3 { font: 1.7rem/1.06 var(--font-display); margin: 0 0 .55rem; }
.detail-list p { max-width: 42ch; color: var(--soft); line-height: 1.75; margin: 0; }
.rituel-repere { display: grid; grid-template-columns: .8fr 1.2fr; gap: 6rem; }
.rituel-repere__rows { border-top: 1px solid var(--line); }
.rituel-repere__row { display: grid; grid-template-columns: 9rem 1fr; gap: 1.5rem; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.rituel-repere__row > span { font: 1.5rem/1.08 var(--font-display); }
.rituel-repere__row p { color: var(--soft); line-height: 1.75; margin: 0; max-width: 38ch; }
.maison-journal { display: grid; grid-template-columns: .9fr 1.1fr; gap: 6rem; }
.maison-journal__copy { color: var(--soft); line-height: 1.8; max-width: 48ch; }
.maison-journal__copy p { margin: 0 0 1.2rem; }
.maison-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.5rem; padding-top: 1.4rem; border-top: 1px solid var(--line); }
.maison-facts span { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.maison-facts strong { display: block; color: var(--ink); font: 2rem/1.08 var(--font-display); letter-spacing: 0; margin-bottom: .35rem; }

@media (max-width: 900px) {
  .collection-details, .rituel-repere, .maison-journal { grid-template-columns: 1fr; gap: 3rem; }
  .collection-details, .rituel-repere, .maison-journal { margin-top: 6rem; }
}

@media (max-width: 900px) {
  .page-hero__art--product { min-height: 370px; }
  .page-hero__art--product img { width: min(48vw, 320px); height: min(72vw, 400px); }
  .hero-orbit--one { width: min(57vw, 380px); right: 10%; top: 6%; }
  .hero-orbit--two { width: 22vw; }
  .page-hero__art--rituel { min-height: 360px; }
  .rituel-hero-product--back { width: min(34vw, 250px); height: min(55vw, 330px); }
  .rituel-hero-product--front { width: min(34vw, 250px); height: min(48vw, 290px); }
  .maison-portrait img { min-height: 420px; }
}

@media (max-width: 560px) {
  .page-content__intro::before { display: none; }
  .page-hero__art--product { min-height: 320px; }
  .page-hero__art--product img { width: 58vw; height: 78vw; }
  .hero-orbit--one { width: 70vw; right: 8%; }
  .hero-orbit--two { width: 28vw; right: 0; }
  .step { min-height: 210px; padding-right: 1rem; }
  .step > img { width: 105px; height: 140px; right: -1rem; opacity: .42; }
  .step__text { max-width: 28ch; }
  .page-hero__art--rituel { min-height: 300px; }
  .rituel-hero-product--back { width: 40vw; height: 62vw; right: 2%; }
  .rituel-hero-product--front { width: 40vw; height: 56vw; left: 8%; }
  .maison-portrait img { min-height: 390px; }
  .detail-list__item { grid-template-columns: 2.3rem 1fr; }
  .rituel-repere__row { grid-template-columns: 1fr; gap: .5rem; }
  .maison-facts { grid-template-columns: 1fr; gap: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-orbit, .rituel-banner::before { animation: none; }
  .page-hero__art, .page-hero__art img, .step > img, .maison-portrait img { transition: none; }
}

/* ---------- responsive polish ---------- */
@media (max-width: 720px) {
  .page-hero { padding: 7rem 1.25rem 2.5rem; gap: 1rem; }
  .page-hero__copy .eyebrow { margin-bottom: 1rem; }
  .page-hero__title { font-size: clamp(3.5rem, 16vw, 5.8rem); line-height: .98; }
  .page-hero__lead { margin-top: 1.35rem; max-width: 31ch; font-size: .92rem; line-height: 1.65; }
  .page-hero__art { min-height: 300px; }
  .page-content { padding: 4.5rem 1.25rem; }
  .page-content__intro { gap: 1.25rem; margin-bottom: 2.75rem; }
  .page-content__title { font-size: clamp(2.55rem, 11vw, 4rem); }

  .product-showcase { gap: 2.5rem; }
  .product-showcase__visual { height: min(88vw, 350px); }
  .product-showcase__meta { padding-top: .8rem; }
  .page-note { gap: .65rem; margin-top: 3.5rem; padding-top: 2rem; line-height: 1.5; }

  .rituel-story { gap: 2.5rem; }
  .step { min-height: 0; padding: 1.7rem 5.5rem 1.7rem 0; grid-template-columns: 2.3rem minmax(0, 1fr); gap: .85rem; }
  .step__title { font-size: 2.15rem; }
  .step__text { max-width: none; font-size: .9rem; line-height: 1.65; }
  .step > img { width: 82px; height: 112px; right: -.5rem; opacity: .3; }
  .rituel-banner { margin-top: 4.5rem; padding: 3.5rem 1.2rem; }
  .rituel-banner__title { font-size: clamp(2.7rem, 13vw, 4.8rem); }

  .maison-grid { gap: 2.5rem; }
  .maison-copy p { line-height: 1.7; }
  .maison-portrait { min-height: 390px; }
  .maison-portrait img { min-height: 390px; }
  .principles { gap: 1.7rem; margin-top: 5rem; }

  .collection-details, .rituel-repere, .maison-journal { gap: 2.4rem; margin-top: 5.5rem; }
  .detail-list__item { padding: 1.35rem 0; }
  .detail-list p, .rituel-repere__row p, .maison-journal__copy { font-size: .92rem; line-height: 1.7; }
  .rituel-repere__row { gap: .45rem; padding: 1.35rem 0; }
  .maison-facts { margin-top: 2rem; }
}

@media (max-width: 380px) {
  .page-hero { padding-top: 6.5rem; }
  .page-hero__title { font-size: clamp(3.25rem, 15.5vw, 5rem); }
  .page-hero__art { min-height: 270px; }
  .page-hero__art--product img { width: 62vw; height: 82vw; }
  .page-hero__art--rituel { min-height: 270px; }
  .step { padding-right: 4.5rem; }
  .step > img { width: 70px; height: 96px; }
}
