/** Shopify CDN: Minification failed

Line 2142:0 Unexpected "@import"

**/
/** Shopify CDN: Minification failed

Line 2137:0 Unexpected "@import"

**/
/* ============================================
   PURE — Yoga & Lifestyle | Main Stylesheet
   Compatible Shopify Theme
   ============================================ */

:root {
  --cream:   #F5F0E8;
  --sand:    #E8DDD0;
  --stone:   #C4B5A5;
  --or:      #A8956A;
  --earth:   #8B7355;
  --deep:    #2C2420;
  --white:   #FDFAF6;
}

/* SHOPIFY RESET — les wrappers <div class="shopify-section"> deviennent invisibles */
.shopify-section { display: contents; }
.shopify-section + .shopify-section { display: contents; }

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--cream);
  color: var(--deep);
  font-family: 'Montserrat', sans-serif;
  font-weight: 200;
  overflow-x: hidden;
}

/* CURSOR — navigateur par défaut */
.cursor { display: none; }
.cursor-ring { display: none; }

/* SITE HEADER FIXE */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background: var(--cream);
  border-bottom: 1px solid var(--sand);
  transition: box-shadow 0.4s;
}
.site-header.scrolled {
  box-shadow: 0 2px 32px rgba(44,36,32,0.08);
}

/* ANNOUNCEMENT BAR */
.announcement {
  background: var(--deep);
  color: var(--sand);
  text-align: center;
  padding: 10px;
  font-size: 10px;
  letter-spacing: 4px;
  text-transform: uppercase;
  font-weight: 300;
}
.announcement span { color: var(--or); }

/* NAV */
nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 60px;
}
.nav-logo {
  font-family: 'Montserrat', sans-serif;
  font-size: 26px;
  font-weight: 200;
  letter-spacing: 12px;
  text-transform: uppercase;
  color: var(--deep);
  text-decoration: none;
  text-indent: 12px;
}
.nav-links {
  display: flex;
  gap: 40px;
  list-style: none;
}
.nav-links a {
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--deep);
  text-decoration: none;
  font-weight: 300;
  position: relative;
  padding-bottom: 2px;
}
.nav-links a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 0; height: 1px;
  background: var(--or);
  transition: width 0.3s ease;
}
.nav-links a:hover::after { width: 100%; }
.nav-right { display: flex; align-items: center; gap: 28px; }
.nav-icon {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--deep);
  cursor: pointer;
  font-weight: 300;
  background: none;
  border: none;
  font-family: 'Montserrat', sans-serif;
  text-decoration: none;
}
.cart-btn {
  background: var(--deep);
  color: var(--cream);
  border: none;
  padding: 10px 24px;
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  letter-spacing: 3px;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 300;
  transition: background 0.3s, color 0.3s;
}
.cart-btn:hover { background: var(--or); }

/* SEARCH OVERLAY */
.search-overlay {
  position: fixed;
  inset: 0;
  background: rgba(44,36,32,0.95);
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.search-overlay.open { opacity: 1; pointer-events: all; }
.search-form { display: flex; gap: 0; width: 600px; max-width: 90vw; }
.search-input {
  flex: 1;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--stone);
  color: var(--cream);
  font-family: 'Cormorant Garamond', serif;
  font-size: 32px;
  font-style: italic;
  font-weight: 300;
  padding: 16px 0;
  outline: none;
}
.search-input::placeholder { color: rgba(196,181,165,0.4); }
.search-submit {
  background: none;
  border: none;
  color: var(--or);
  font-size: 28px;
  cursor: pointer;
  padding: 0 16px;
}
.search-close {
  position: absolute;
  top: 32px; right: 40px;
  background: none;
  border: none;
  color: var(--stone);
  font-size: 20px;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
}

/* HERO */
.hero {
  height: 100vh;
  padding-top: 102px;
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
  background: linear-gradient(160deg, #1A1210 0%, #2E2018 30%, #3A2820 60%, #1E1410 100%);
}
.hero-iframe {
  position: absolute;
  top: 50%; left: 50%;
  width: 177.78vh;
  min-width: 100%;
  height: 56.25vw;
  min-height: 100%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  filter: brightness(0.80) contrast(1.12) saturate(0.78);
  border: none;
}
.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to top, rgba(6,3,2,0) 0%, rgba(6,3,2,0) 25%, rgba(6,3,2,0) 55%, transparent 100%),
    linear-gradient(to right, rgba(6,3,2,0) 0%, rgba(6,3,2,0) 40%, transparent 65%);
}
.hero-grain {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0.04;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  animation: grainShift 0.5s steps(2) infinite;
}
@keyframes grainShift {
  0% { transform: translate(0,0); } 25% { transform: translate(-2px,1px); }
  50% { transform: translate(1px,-2px); } 75% { transform: translate(2px,1px); }
  100% { transform: translate(-1px,2px); }
}
.hero-light {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(ellipse 50% 60% at 75% 20%, rgba(168,149,106,0.18) 0%, transparent 60%);
  animation: lightPulse 6s ease-in-out infinite alternate;
}
@keyframes lightPulse {
  0% { opacity: 0.6; transform: scale(1) translateX(0); }
  100% { opacity: 1; transform: scale(1.08) translateX(-20px); }
}
.hero-content {
  position: relative;
  z-index: 10;
  padding: 0 60px 100px;
  max-width: 800px;
}
.hero-eyebrow {
  font-size: 9px; letter-spacing: 6px; text-transform: uppercase;
  color: var(--or); margin-bottom: 24px;
  opacity: 0; animation: fadeUp 1s 0.3s forwards;
}
.hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(64px, 9vw, 120px);
  font-weight: 300; font-style: italic; line-height: 0.95;
  color: var(--cream); margin-bottom: 40px;
  opacity: 0; animation: fadeUp 1s 0.5s forwards;
}
.hero-title em { font-style: italic; font-weight: 300; color: var(--cream); display: block; }
.hero-sub {
  font-size: 12px; line-height: 2; color: rgba(245,240,232,0.75);
  letter-spacing: 1px; max-width: 380px; margin-bottom: 48px;
  opacity: 0; animation: fadeUp 1s 0.7s forwards;
}
.hero-ctas {
  display: flex; gap: 16px; align-items: center;
  opacity: 0; animation: fadeUp 1s 0.9s forwards;
}
.hero-scroll {
  position: absolute; bottom: 40px; right: 60px;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  opacity: 0; animation: fadeIn 1s 1.5s forwards; z-index: 2;
}
.hero-scroll span {
  font-size: 8px; letter-spacing: 4px; text-transform: uppercase;
  color: rgba(245,240,232,0.5); writing-mode: vertical-rl;
}
.scroll-line {
  width: 1px; height: 60px;
  background: linear-gradient(to bottom, var(--or), transparent);
  animation: scrollPulse 2s infinite;
}

/* BUTTONS */
.btn-primary {
  background: var(--deep); color: var(--cream); border: none;
  padding: 16px 40px; font-family: 'Montserrat', sans-serif;
  font-size: 10px; letter-spacing: 4px; text-transform: uppercase;
  cursor: pointer; font-weight: 300; transition: background 0.3s, transform 0.2s;
  text-decoration: none; display: inline-block;
}
.btn-primary:hover { background: var(--or); transform: translateY(-2px); }
.btn-secondary {
  font-size: 10px; letter-spacing: 3px; text-transform: uppercase;
  color: var(--cream); text-decoration: none; font-weight: 300;
  padding-bottom: 2px; border-bottom: 1px solid rgba(245,240,232,0.4);
  transition: border-color 0.3s, color 0.3s;
}
.btn-secondary:hover { border-color: var(--or); color: var(--or); }

/* MARQUEE */
.marquee-section { background: var(--deep); padding: 20px 0; overflow: hidden; white-space: nowrap; }
.marquee-track { display: inline-flex; animation: marquee 25s linear infinite; }
.marquee-item { font-family: 'Cormorant Garamond', serif; font-size: 18px; font-weight: 300; font-style: italic; color: var(--stone); padding: 0 40px; }
.marquee-dot { color: var(--or); padding: 0 10px; font-style: normal; }

/* SECTION COMMONS */
.section-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 72px; }
.section-eyebrow { font-size: 9px; letter-spacing: 5px; text-transform: uppercase; color: var(--or); margin-bottom: 20px; }
.section-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(36px, 5vw, 60px); font-weight: 300; line-height: 1.1; color: var(--deep); }
.section-title em { font-style: italic; color: var(--earth); }
.section-link { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--earth); text-decoration: none; border-bottom: 1px solid var(--stone); padding-bottom: 2px; transition: border-color 0.3s, color 0.3s; }
.section-link:hover { color: var(--or); border-color: var(--or); }

/* CATEGORIES */
.categories-grid { padding: 100px 5vw; background: var(--white); }
.categories-wrapper { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 50px; max-width: 1400px; margin-left: auto; margin-right: auto; }
.category-card { position: relative; overflow: hidden; border-radius: 8px; text-decoration: none; color: var(--white); display: block; }
.category-card__image { position: relative; aspect-ratio: 4/5; overflow: hidden; }
.category-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94); }
.category-card:hover .category-card__image img { transform: scale(1.05); }
.category-card__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(44,36,32,0.6) 0%, transparent 60%); transition: opacity 0.4s; }
.category-card:hover .category-card__overlay { opacity: 0.8; }
.category-card__content { position: absolute; bottom: 0; left: 0; right: 0; padding: 30px; z-index: 2; }
.category-card__title { font-family: var(--heading); font-size: 1.5rem; font-weight: 400; letter-spacing: 0.08em; text-transform: uppercase; margin: 0 0 8px; }
.category-card__cta { font-family: var(--body); font-size: 0.8rem; letter-spacing: 0.15em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 8px; opacity: 0; transform: translateY(10px); transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94); }
.category-card:hover .category-card__cta { opacity: 1; transform: translateY(0); }
.category-card__placeholder { aspect-ratio: 4/5; }
@media (max-width: 768px) { .categories-wrapper { grid-template-columns: 1fr; gap: 16px; } .category-card__image { aspect-ratio: 16/9; } }

/* PRODUCTS */
.products { background: var(--deep); padding: 140px 80px; }
.products .section-eyebrow { color: var(--or); }
.products .section-title { color: var(--cream); }
.products .section-title em { color: var(--stone); }
.products .section-link { color: var(--stone); border-color: rgba(196,181,165,0.4); }
.products .section-link:hover { color: var(--or); border-color: var(--or); }
.products-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 72px; }
.product-card { position: relative; cursor: pointer; }
.product-card:hover .product-actions { opacity: 1; transform: translateY(0); }
.product-img-wrap { aspect-ratio: 3/4; overflow: hidden; position: relative; background: #3E3530; }
.product-img-placeholder { width: 100%; height: 100%; transition: filter 0.4s; display: flex; align-items: center; justify-content: center; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 18px; color: rgba(245,240,232,0.2); letter-spacing: 2px; }
.p1 { background: linear-gradient(160deg, #4A3D35, #352C26); }
.p2 { background: linear-gradient(160deg, #3E3028, #2C231D); }
.p3 { background: linear-gradient(160deg, #453830, #3A2E26); }
.p4 { background: linear-gradient(160deg, #4E4035, #3E3228); }
.product-badge { position: absolute; top: 16px; left: 16px; background: var(--or); color: var(--deep); font-size: 8px; letter-spacing: 2px; text-transform: uppercase; padding: 4px 10px; font-weight: 400; }
.product-actions { position: absolute; bottom: 16px; left: 16px; right: 16px; opacity: 0; transform: translateY(8px); transition: opacity 0.3s, transform 0.3s; }
.add-to-cart { width: 100%; background: var(--cream); color: var(--deep); border: none; padding: 12px; font-family: 'Montserrat', sans-serif; font-size: 9px; letter-spacing: 3px; text-transform: uppercase; cursor: pointer; font-weight: 300; transition: background 0.2s; }
.add-to-cart:hover { background: var(--or); }
.product-info { padding: 24px 0 0; }
.product-name { font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 300; font-style: italic; color: var(--cream); margin-bottom: 8px; }
.product-cat { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: var(--stone); margin-bottom: 10px; }
.product-price { font-size: 13px; color: var(--or); letter-spacing: 1px; font-weight: 300; }

/* COLLECTION PAGE */
.collection-page { padding: 160px 60px 120px; }
.collection-header { text-align: center; margin-bottom: 80px; }
.collection-desc { font-size: 13px; line-height: 2; color: var(--earth); max-width: 500px; margin: 20px auto 0; }
.collection-count { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--stone); margin-top: 12px; }
.collection-grid { grid-template-columns: repeat(3, 1fr); background: transparent; padding: 0; }
.collection-grid .product-name { color: var(--deep); }
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 80px; }
.pagination a, .pagination span { font-size: 10px; letter-spacing: 2px; color: var(--deep); padding: 8px 16px; border: 1px solid var(--sand); text-decoration: none; }
.pagination .current { background: var(--deep); color: var(--cream); }

/* PRODUCT PAGE */
.product-page { padding: 140px 60px 120px; }
.product-page-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.product-gallery {}

.product-thumbs { display: flex; gap: 8px; margin-top: 8px; }
.product-thumb { width: 80px; height: 80px; overflow: hidden; cursor: pointer; opacity: 0.5; transition: opacity 0.2s; border: 1px solid transparent; }
.product-thumb.active { opacity: 1; border-color: var(--or); }
.product-thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-info-panel { padding-top: 20px; }
.product-page-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(32px, 4vw, 52px); font-weight: 300; font-style: italic; color: var(--deep); margin: 12px 0 20px; line-height: 1.1; }
.product-page-price { font-size: 22px; color: var(--or); letter-spacing: 1px; margin-bottom: 32px; }
.product-compare-price { font-size: 14px; color: var(--stone); text-decoration: line-through; margin-left: 10px; }
.product-description { font-size: 13px; line-height: 2.2; color: var(--earth); letter-spacing: 0.5px; margin-bottom: 32px; }
.product-page .product-description { display: none; }
.product-option { margin-bottom: 24px; }
.option-label { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--stone); margin-bottom: 12px; }
.option-values { display: flex; gap: 8px; flex-wrap: wrap; }
.option-swatch { border: 1px solid var(--sand); padding: 8px 16px; font-size: 10px; letter-spacing: 2px; cursor: pointer; transition: border-color 0.2s, background 0.2s; }
.option-swatch input { display: none; }
.option-swatch.selected, .option-swatch:hover { border-color: var(--deep); background: var(--deep); color: var(--cream); }
.product-meta { margin-top: 32px; padding-top: 32px; border-top: 1px solid var(--sand); display: flex; flex-direction: column; gap: 10px; }
.product-meta-item { font-size: 10px; letter-spacing: 2px; color: var(--stone); }

/* PHILOSOPHY */
/* WHY PURE */
.why-pure { padding: 100px 5vw; background: var(--cream); position: relative; }
.why-pure-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; margin-top: 60px; max-width: 1200px; margin-left: auto; margin-right: auto; }
.why-pure-card { text-align: center; padding: 40px 20px; background: var(--white); border-radius: 12px; transition: transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94), box-shadow 0.4s; }
.why-pure-card:hover { transform: translateY(-4px); box-shadow: 0 20px 60px rgba(44,36,32,0.06); }
.why-pure-icon { margin-bottom: 20px; }
.why-pure-card__title { font-family: var(--heading); font-size: 1.1rem; font-weight: 500; color: var(--deep); margin: 0 0 12px; letter-spacing: 0.02em; }
.why-pure-card__desc { font-family: var(--body); font-size: 0.85rem; color: var(--stone); line-height: 1.7; margin: 0; }
@media (max-width: 768px) { .why-pure-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } .why-pure-card { padding: 30px 16px; } }
@media (max-width: 480px) { .why-pure-grid { grid-template-columns: 1fr; } }

/* PHILOSOPHIE */
.philosophy { padding: 180px 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 140px; align-items: center; position: relative; overflow: hidden; }
.philosophy::before { content: ''; position: absolute; top: -20%; left: -10%; width: 70%; height: 140%; background: radial-gradient(ellipse at center, var(--sand) 0%, transparent 70%); opacity: 0.3; pointer-events: none; z-index: 0; }
.philosophy-visual { aspect-ratio: 1; position: relative; z-index: 1; }
.phil-circle { position: absolute; border-radius: 50%; border: 1px solid var(--sand); }
.phil-circle-1 { inset: 0; }
.phil-circle-2 { inset: 40px; border-color: var(--stone); }
.phil-center { position: absolute; inset: 80px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, var(--white) 0%, var(--sand) 100%); display: flex; align-items: center; justify-content: center; box-shadow: 0 40px 80px rgba(44, 36, 32, 0.06), inset 0 -20px 60px rgba(168, 149, 106, 0.1); }
.phil-center::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 30% 25%, rgba(255,255,255,0.25) 0%, transparent 50%); }
.phil-word { font-family: 'Cormorant Garamond', serif; font-size: 32px; font-style: italic; font-weight: 300; color: var(--earth); position: relative; z-index: 1; }
.phil-orbit { position: absolute; inset: 0; animation: orbit 20s linear infinite; }
.phil-orbit-word { position: absolute; font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: var(--stone); font-weight: 300; }
.o1 { top: 4px; left: 50%; transform: translateX(-50%); }
.o2 { right: 4px; top: 50%; transform: translateY(-50%); }
.o3 { bottom: 4px; left: 50%; transform: translateX(-50%); }
.o4 { left: 4px; top: 50%; transform: translateY(-50%); }
.phil-text-ring { position: absolute; inset: -12px; animation: orbit 55s linear infinite; opacity: 0; animation: orbit 55s linear infinite, fadeInSlow 2s ease 0.8s forwards; }
.phil-text-ring text { font-family: 'Jost', sans-serif; font-size: 9.5px; font-weight: 400; letter-spacing: 0.35em; text-transform: uppercase; fill: var(--stone); }
.phil-dot { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--or); opacity: 0.5; }
.phil-dot--top { top: -3px; left: 50%; transform: translateX(-50%); }
.phil-dot--bottom { bottom: -3px; left: 50%; transform: translateX(-50%); }
.phil-dot--left { left: -3px; top: 50%; transform: translateY(-50%); }
.phil-dot--right { right: -3px; top: 50%; transform: translateY(-50%); }
.philosophy-text { z-index: 1; }
.section-eyebrow { font-size: 10px; letter-spacing: 5px; text-transform: uppercase; color: var(--or); margin-bottom: 32px; display: flex; align-items: center; gap: 16px; }
.eyebrow-line { display: inline-block; width: 40px; height: 1px; background: var(--or); }
.section-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(38px, 4.5vw, 56px); font-weight: 300; line-height: 1.15; color: var(--deep); margin-bottom: 32px; }
.section-title em { font-style: italic; font-weight: 300; color: var(--or); }
.title-divider { width: 60px; height: 1px; background: linear-gradient(to right, var(--or), transparent); margin-bottom: 32px; }
.philosophy-text p { font-size: 13px; line-height: 2.2; color: var(--earth); letter-spacing: 0.5px; margin-bottom: 20px; }
.cta-link { display: inline-flex; align-items: center; gap: 12px; padding: 12px 0; font-size: 10px; font-weight: 500; letter-spacing: 4px; text-transform: uppercase; color: var(--deep); text-decoration: none; border-bottom: 1px solid var(--deep); margin-top: 16px; transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.cta-link:hover { color: var(--or); border-color: var(--or); padding-left: 8px; }
.cta-arrow { transition: transform 0.4s ease; }
.cta-link:hover .cta-arrow { transform: translateX(6px); }
.philosophy-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--sand); grid-column: 1 / -1; }
.stat-item { text-align: center; padding: 24px 8px; position: relative; }
.stat-item:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 25%; height: 50%; width: 1px; background: linear-gradient(to bottom, transparent, var(--sand), transparent); }
.stat-num { font-family: 'Cormorant Garamond', serif; font-size: clamp(36px, 3.5vw, 48px); font-weight: 300; color: var(--deep); line-height: 1; margin-bottom: 8px; }
.stat-label { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--stone); line-height: 1.6; }
@keyframes fadeInSlow { from { opacity: 0; } to { opacity: 1; } }

/* TESTIMONIALS */
.testimonials { padding: 100px 5vw; background: var(--white); }
.testimonials-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 50px; max-width: 1200px; margin-left: auto; margin-right: auto; }
.testi-card { background: var(--cream); border-radius: 12px; padding: 36px 30px; transition: transform 0.4s, box-shadow 0.4s; }
.testi-card:hover { transform: translateY(-3px); box-shadow: 0 16px 48px rgba(44,36,32,0.06); }
.testi-stars { display: flex; gap: 2px; margin-bottom: 16px; }
.testi-quote { font-family: var(--body); font-size: 0.92rem; color: var(--deep); line-height: 1.75; margin: 0 0 20px; font-style: normal; }
.testi-author { display: flex; flex-direction: column; gap: 2px; }
.testi-name { font-family: var(--heading); font-size: 0.95rem; color: var(--deep); font-weight: 500; }
.testi-role { font-family: var(--body); font-size: 0.8rem; color: var(--stone); }
.testi-verified { display: inline-flex; align-items: center; gap: 4px; font-family: var(--body); font-size: 0.72rem; color: var(--or); margin-top: 4px; letter-spacing: 0.05em; text-transform: uppercase; }
.section-subtitle { font-family: var(--body); }
@media (max-width: 768px) { .testimonials-track { grid-template-columns: 1fr; gap: 16px; } }

/* INSTAGRAM */
.social-proof { padding: 80px 5vw; background: var(--cream); }
.social-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 40px; max-width: 1400px; margin-left: auto; margin-right: auto; }
.social-item { position: relative; overflow: hidden; border-radius: 8px; cursor: pointer; }
.social-item .social-bg { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94); }
.social-item:hover .social-bg { transform: scale(1.06); }
.social-likes { position: absolute; bottom: 10px; left: 10px; background: rgba(44,36,32,0.7); color: white; font-family: var(--body); font-size: 0.72rem; padding: 4px 10px; border-radius: 20px; display: flex; align-items: center; gap: 5px; opacity: 0; transition: opacity 0.3s; }
.social-item:hover .social-likes { opacity: 1; }
.social-placeholder { border-radius: 8px; }
.section-link { font-family: var(--body); font-size: 0.8rem; color: var(--or); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 8px; transition: color 0.3s; }
.section-link:hover { color: var(--earth); }
@media (max-width: 768px) { .social-grid { grid-template-columns: repeat(2, 1fr); } }

/* EMAIL CAPTURE */
.email-capture { background: var(--deep); padding: 160px 80px; text-align: center; position: relative; overflow: hidden; }
.email-capture::before { content: 'PURE'; position: absolute; font-family: 'Cormorant Garamond', serif; font-size: 240px; font-weight: 300; letter-spacing: 40px; color: rgba(168,149,106,0.06); top: 50%; left: 50%; transform: translate(-50%,-50%); white-space: nowrap; pointer-events: none; }
.email-capture .section-eyebrow { color: var(--or); margin-bottom: 20px; }
.email-capture .section-title { color: var(--cream); margin-bottom: 16px; }
.email-capture p { font-size: 12px; line-height: 2; color: var(--stone); letter-spacing: 1px; margin-bottom: 48px; }
.email-form { display: flex; gap: 0; max-width: 480px; margin: 0 auto; }
.email-input { flex: 1; background: rgba(255,255,255,0.06); border: 1px solid rgba(196,181,165,0.3); border-right: none; color: var(--cream); padding: 16px 24px; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 200; letter-spacing: 2px; outline: none; transition: border-color 0.3s; }
.email-input::placeholder { color: rgba(196,181,165,0.4); }
.email-input:focus { border-color: var(--or); }
.email-submit { background: var(--or); color: var(--deep); border: none; padding: 16px 32px; font-family: 'Montserrat', sans-serif; font-size: 9px; letter-spacing: 3px; text-transform: uppercase; cursor: pointer; font-weight: 400; transition: background 0.3s; }
.email-submit:hover { background: var(--cream); }
.email-note { font-size: 9px; letter-spacing: 2px; color: rgba(196,181,165,0.4); margin-top: 16px; text-transform: uppercase; }

/* FOOTER */
footer { background: var(--cream); border-top: 1px solid rgba(196,181,165,0.15); padding: 100px 80px 48px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 80px; margin-bottom: 72px; }
.footer-brand .nav-logo { display: block; margin-bottom: 20px; color: var(--cream); letter-spacing: 12px; font-size: 22px; }
.footer-brand p { font-size: 11px; line-height: 2; color: var(--stone); letter-spacing: 0.5px; max-width: 240px; margin-bottom: 32px; }
.footer-social { display: flex; gap: 16px; }
.social-link { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--stone); text-decoration: none; transition: color 0.2s; }
.social-link:hover { color: var(--or); }
.footer-col h4 { font-size: 9px; letter-spacing: 4px; text-transform: uppercase; color: var(--or); margin-bottom: 24px; font-weight: 400; }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 12px; }
.footer-col ul li a { font-size: 11px; color: var(--stone); text-decoration: none; letter-spacing: 1px; font-weight: 200; transition: color 0.2s; }
.footer-col ul li a:hover { color: var(--cream); }
.footer-bottom { border-top: 1px solid rgba(196,181,165,0.1); padding-top: 32px; display: flex; justify-content: space-between; align-items: center; }
.footer-copy { font-size: 9px; letter-spacing: 2px; color: rgba(196,181,165,0.3); text-transform: uppercase; }
.footer-payments { display: flex; gap: 8px; }
.pay-badge { font-size: 8px; letter-spacing: 1px; color: rgba(196,181,165,0.3); border: 1px solid rgba(196,181,165,0.15); padding: 4px 8px; text-transform: uppercase; }

/* CART DRAWER */
.cart-drawer { position: fixed; inset: 0; z-index: 300; pointer-events: none; }
.cart-drawer.open { pointer-events: all; }
.cart-drawer-overlay { position: absolute; inset: 0; background: rgba(44,36,32,0.5); opacity: 0; transition: opacity 0.3s; }
.cart-drawer.open .cart-drawer-overlay { opacity: 1; }
.cart-drawer-panel { position: absolute; right: 0; top: 0; bottom: 0; width: 420px; max-width: 90vw; background: var(--cream); transform: translateX(100%); transition: transform 0.4s ease; display: flex; flex-direction: column; }
.cart-drawer.open .cart-drawer-panel { transform: translateX(0); }
.cart-drawer-header { display: flex; justify-content: space-between; align-items: center; padding: 32px 32px 24px; border-bottom: 1px solid var(--sand); }
.cart-drawer-title { font-size: 10px; letter-spacing: 4px; text-transform: uppercase; color: var(--deep); }
.cart-drawer-close { background: none; border: none; font-size: 16px; cursor: pointer; color: var(--stone); }
.cart-drawer-items { flex: 1; overflow-y: auto; padding: 24px 32px; }
.cart-empty { font-size: 11px; letter-spacing: 2px; color: var(--stone); text-align: center; padding: 40px 0; text-transform: uppercase; }
.cart-item { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--sand); }
.cart-item-img { width: 72px; height: 90px; object-fit: cover; background: var(--sand); flex-shrink: 0; }
.cart-item-info { flex: 1; }
.cart-item-name { font-family: 'Cormorant Garamond', serif; font-size: 16px; font-style: italic; font-weight: 300; color: var(--deep); margin-bottom: 4px; }
.cart-item-price { font-size: 11px; color: var(--or); letter-spacing: 1px; }
.cart-item-remove { background: none; border: none; font-size: 10px; color: var(--stone); cursor: pointer; letter-spacing: 1px; text-transform: uppercase; margin-top: 8px; display: block; }
.cart-drawer-footer { padding: 24px 32px 32px; border-top: 1px solid var(--sand); }
.cart-total { display: flex; justify-content: space-between; align-items: center; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--deep); }

/* TOAST */
.toast {
  position: fixed; bottom: 32px; left: 50%;
  transform: translateX(-50%) translateY(100px);
  background: var(--deep); color: var(--cream);
  padding: 16px 32px; font-size: 10px; letter-spacing: 3px;
  text-transform: uppercase; z-index: 1000;
  transition: transform 0.4s ease;
  font-family: 'Montserrat', sans-serif; font-weight: 200;
  white-space: nowrap; border-left: 3px solid var(--or);
}
.toast.show { transform: translateX(-50%) translateY(0); }

/* ANIMATIONS */
@keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes scrollPulse { 0%,100% { opacity: 0.4; } 50% { opacity: 1; } }
@keyframes orbit { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* SCROLL REVEAL */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.8s ease, transform 0.8s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* RESPONSIVE */
@media (max-width: 1024px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }
  .cat-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .cat-card:first-child { grid-row: auto; }
  .philosophy { grid-template-columns: 1fr; gap: 60px; padding: 120px 60px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .product-page-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  nav { padding: 0 24px; }
  nav.scrolled { padding: 16px 24px; }
  .nav-links { display: none; }
  .hero-content { padding: 0 24px 80px; }
  .categories, .products, .social-proof, .email-capture { padding: 80px 24px; }
  .philosophy, .testimonials { padding: 80px 24px; }
  footer { padding: 60px 24px 32px; }
  .products-grid, .collection-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .social-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .email-form { flex-direction: column; }
  .email-input { border-right: 1px solid rgba(196,181,165,0.3); border-bottom: none; }
  .footer-grid { grid-template-columns: 1fr; gap: 40px; }
  .product-page { padding: 120px 24px 80px; }
  .collection-page { padding: 120px 24px 80px; }
}
/* COLLECTION PAGE */
.collection-page {
  padding: 140px 80px;
  background: var(--deep);
  min-height: 60vh;
}

.collection-header {
  margin-bottom: 72px;
}

.collection-header .section-title {
  color: var(--cream);
  margin-bottom: 16px;
}

.collection-header .section-eyebrow {
  color: var(--or);
}

.collection-description {
  font-size: 13px;
  line-height: 2;
  color: var(--stone);
  letter-spacing: 0.5px;
  max-width: 600px;
}

.collection-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

@media (max-width: 1024px) {
  .collection-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .collection-page { padding: 80px 24px; }
  .collection-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
} 
/* PAGE */
.page-content {
  background: var(--cream);
  padding: 160px 80px;
  min-height: 60vh;
}
.page-inner {
  max-width: 800px;
  margin: 0 auto;
}
.page-inner .section-title {
  margin-bottom: 48px;
}
.page-body {
  font-size: 14px;
  line-height: 2.4;
  color: var(--earth);
  letter-spacing: 0.5px;
}
.page-body p { margin-bottom: 24px; }
.page-body h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 36px;
  font-weight: 300;
  font-style: italic;
  color: var(--deep);
  margin: 48px 0 24px;
}

@media (max-width: 768px) {
  .page-content { padding: 120px 24px 80px; }
}
/* FOOTER NEWSLETTER */
.footer-top { padding: 80px 80px 0; }
.footer-grid { display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr 1.4fr; gap: 60px; margin-bottom: 60px; }
.footer-social { display: flex; gap: 16px; margin-top: 24px; }
.footer-social-icon { color: var(--stone); transition: color .2s; display: flex; align-items: center; }
.footer-social-icon:hover { color: var(--or); }
.footer-newsletter h4 { font-size: 9px; letter-spacing: 4px; text-transform: uppercase; color: var(--or); margin-bottom: 16px; font-weight: 400; }
.footer-newsletter p { font-size: 11px; line-height: 1.8; color: var(--stone); letter-spacing: .5px; margin-bottom: 20px; }
.footer-newsletter-form { display: flex; border: 1px solid rgba(196,181,165,.3); }
.footer-newsletter-input { flex: 1; background: transparent; border: none; color: var(--cream); padding: 12px 16px; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 200; letter-spacing: 1px; outline: none; }
.footer-newsletter-input::placeholder { color: rgba(196,181,165,.4); }
.footer-newsletter-btn { background: none; border: none; border-left: 1px solid rgba(196,181,165,.3); color: var(--or); padding: 12px 16px; cursor: pointer; font-size: 16px; transition: background .2s; }
.footer-newsletter-btn:hover { background: var(--or); color: var(--deep); }
.footer-newsletter-note { font-size: 9px; letter-spacing: 1px; color: rgba(196,181,165,.3); margin-top: 10px; text-transform: uppercase; }
.footer-newsletter-success { color: var(--or); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; }

@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
  .footer-newsletter { grid-column: 1 / -1; }
  .footer-top { padding: 60px 40px 0; }
}
@media (max-width: 768px) {
  .footer-grid { grid-template-columns: 1fr; gap: 40px; }
  .footer-top { padding: 60px 24px 0; }
}
/* ===================== MOBILE ===================== */
@media (max-width: 768px) {

  /* HEADER */
  .announcement {
    font-size: 9px;
    letter-spacing: 1.5px;
    padding: 8px 16px;
    white-space: normal;
    text-align: center;
    line-height: 1.6;
  }

  #nav {
    padding: 0 20px;
    height: 56px;
  }

  .nav-logo {
    font-size: 18px;
    letter-spacing: 8px;
  }

  .nav-links {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--deep);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 32px;
    z-index: 999;
  }

  .nav-links.open {
    display: flex;
  }

  

  .nav-links li a {
    font-size: 11px;
    letter-spacing: 5px;
    color: var(--cream);
  }

  .nav-icon {
    display: none;
  }

  .cart-btn {
    font-size: 9px;
    padding: 8px 12px;
    letter-spacing: 2px;
  }

  .hamburger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    margin-left: 12px;
  }

  .hamburger span {
    display: block;
    width: 22px;
    height: 1px;
    background: var(--deep);
    transition: all 0.3s;
  }

  .hamburger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity: 0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .hamburger.open span { background: var(--cream); }

  /* HERO */
  .hero { padding-top: 90px; }
  .hero-content { padding: 0 24px; }
  .hero-title { font-size: clamp(48px, 14vw, 80px); line-height: 1.05; }
  .hero-subtitle { font-size: 13px; line-height: 1.8; margin: 20px 0 32px; }
  .hero-buttons { flex-direction: column; gap: 12px; align-items: flex-start; }
  .btn-primary { font-size: 9px; padding: 14px 24px; }
  .btn-secondary { font-size: 9px; }
  .hero-scroll { display: none; }

  /* CATEGORIES */
  .cat-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .cat-card { height: 200px; }
  .cat-name { font-size: 10px; letter-spacing: 2px; }
  .cat-count { font-size: 8px; }

  /* PRODUITS */
  .products-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .products { padding: 60px 16px; }
  .product-name { font-size: 14px; }
  .product-price { font-size: 11px; }

  /* PHILOSOPHIE */
  .philosophy { padding: 60px 24px; }
  .philosophy-layout { flex-direction: column; gap: 40px; }
  .philosophy-orbit { width: 280px; height: 280px; margin: 0 auto; }
  .orbit-ring-1 { width: 280px; height: 280px; }
  .orbit-ring-2 { width: 200px; height: 200px; }
  .orbit-center { width: 120px; height: 120px; }
  .orbit-word { font-size: 7px; }
  .philosophy-text { max-width: 100%; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 24px; }

  /* TEMOIGNAGES */
  .testimonials { padding: 60px 16px; }
  .testimonials-grid { grid-template-columns: 1fr; gap: 16px; }
  .testimonial-card { padding: 28px 24px; }
  .testimonial-quote { font-size: 18px; }

  /* INSTAGRAM */
  .instagram { padding: 60px 16px; }
  .insta-grid { grid-template-columns: 1fr 1fr 1fr; gap: 4px; }

  /* EMAIL CAPTURE */
  .email-capture { padding: 60px 24px; }
  .email-capture-title { font-size: clamp(32px, 9vw, 52px); }
  .email-form { flex-direction: column; }
  .email-input { border-right: 1px solid rgba(255,255,255,.2); border-bottom: none; }
  .email-submit { padding: 16px; }

  /* FOOTER */
  .footer-top { padding: 48px 24px 0; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; gap: 16px; text-align: center; padding: 24px; }
  .footer-payments { justify-content: center; }

  /* SECTIONS GENERALES */
  .section-header { flex-direction: column; gap: 16px; align-items: flex-start; }
  .section-title { font-size: clamp(36px, 9vw, 56px); }
}

/* HAMBURGER caché sur desktop */
@media (min-width: 769px) {
  .hamburger { display: none; }
}
/* BLOQUER LE SCROLL HORIZONTAL */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}
* {
  box-sizing: border-box;
}
.nav-menu-close {
  display: none;
  position: absolute;
  top: 24px;
  right: 24px;
  background: none;
  border: none;
  color: var(--stone);
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
  z-index: 1000;
}
@media (max-width: 768px) {
  .nav-menu-close { display: block; }
}
footer .nav-logo { color: var(--deep) !important; }
footer .social-link { color: var(--deep) !important; }
footer .footer-newsletter-btn { color: var(--deep) !important; }
footer .footer-newsletter-btn:hover { background: var(--deep) !important; color: var(--cream) !important; }
footer h4 { color: var(--deep) !important; }
footer a { color: var(--deep) !important; }
footer p { color: var(--deep) !important; }
footer span { color: var(--deep) !important; }
footer a {
  transition: all 0.2s ease;
  text-decoration: none;
  position: relative;
}

footer .footer-col ul li a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--or);
  transition: width 0.3s ease;
}

footer .footer-col ul li a:hover::after {
  width: 100%;
}

footer .footer-col ul li a:hover {
  color: var(--or) !important;
  padding-left: 6px;
}
footer .footer-newsletter-input {
  color: var(--deep) !important;
  background: transparent;
}
/* MEGA MENU */
.has-dropdown { position: relative; }

.mega-menu {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  top: var(--header-height, 102px);
  background: var(--cream);
  border-top: 1px solid var(--sand);
  z-index: 998;
  padding: 40px 80px;
  box-shadow: 0 20px 60px rgba(44,36,32,0.12);
}

.has-dropdown:hover .mega-menu { display: block; }

.mega-menu-inner {
  display: flex;
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}

.mega-item {
  text-decoration: none;
  flex: 1;
  max-width: 180px;
  transition: transform 0.3s ease;
}

.mega-item:hover { transform: translateY(-4px); }

.mega-item-img {
  width: 100%;
  aspect-ratio: 3/4;
  overflow: hidden;
  background: var(--sand);
  margin-bottom: 12px;
}

.mega-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.mega-item:hover .mega-item-img img { transform: scale(1.04); }

.mega-item-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 48px;
  color: var(--stone);
}

.mega-item-label {
  font-size: 9px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--deep);
  text-align: center;
  transition: color 0.2s;
}

.mega-item:hover .mega-item-label { color: var(--or); }

@media (max-width: 768px) {
  .mega-menu { display: none !important; }
}
/* SIMPLE DROPDOWN */
.simple-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--cream);
  border: 1px solid var(--sand);
  min-width: 200px;
  z-index: 999;
  padding: 12px 0;
  list-style: none;
  box-shadow: 0 12px 40px rgba(44,36,32,0.1);
}

.has-dropdown:hover .simple-dropdown { display: block; }

.simple-dropdown li a {
  display: block;
  padding: 10px 24px;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--deep);
  text-decoration: none;
  transition: all 0.2s;
}

.simple-dropdown li a:hover {
  color: var(--or);
  padding-left: 30px;
}
/* SIMPLE DROPDOWN */
.simple-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--cream);
  border: 1px solid var(--sand);
  min-width: 220px;
  z-index: 999;
  padding: 8px 0;
  list-style: none;
  box-shadow: 0 12px 40px rgba(44,36,32,0.1);
}

.has-dropdown:hover .simple-dropdown { display: block; }

.simple-dropdown li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--deep);
  text-decoration: none;
  transition: all 0.2s;
  border-bottom: 1px solid rgba(196,181,165,0.15);
}

.simple-dropdown li:last-child a { border-bottom: none; }

.simple-dropdown li a:hover {
  color: var(--or);
  background: var(--sand);
  padding-left: 30px;
}

.has-dropdown:hover .simple-dropdown { display: block; }

.simple-dropdown li a {
  display: block;
  padding: 10px 24px;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--deep);
  text-decoration: none;
  transition: all 0.2s;
}

.simple-dropdown li a:hover {
  color: var(--or);
  padding-left: 30px;
}
/* MEGA MENU PONT */
.has-dropdown::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 12px;
}

.mega-menu {
  margin-top: 0 !important;
  top: calc(var(--header-height, 102px)) !important;
}

.simple-dropdown {
  margin-top: 0 !important;
}

.has-dropdown:hover .mega-menu,
.has-dropdown:hover .simple-dropdown {
  display: block;
}

/* ==========================================
   PURE — CORRECTIFS CONTRASTE & TYPO ALO YOGA
      ========================================== */

      /* ---- CORRECTIF CRITIQUE : textes ton-sur-ton ---- */

      /* Grille collection : nom produit sombre sur fond sombre → crème */
      .collection-grid .product-name {
        color: var(--cream) !important;
          font-style: normal !important;
            font-weight: 400 !important;
              letter-spacing: 0.03em;
                font-size: 15px;
                }

                /* Description de collection trop sombre sur fond sombre */
                .collection-desc {
                  color: var(--stone) !important;
                    letter-spacing: 0.02em;
                    }

                    /* Compteur de résultats */
                    .collection-count {
                      color: var(--stone) !important;
                        letter-spacing: 0.22em;
                        }

                        /* Textes dans les sections à fond sombre (--deep) */
                        .products .product-name,
                        .products .product-info * {
                          color: var(--cream) !important;
                          }

                          /* ---- TYPOGRAPHIE INSPIRÉE ALO YOGA ---- */

                          /* Body : poids légèrement augmenté pour lisibilité */
                          body {
                            font-weight: 300;
                              letter-spacing: 0.01em;
                              }

                              /* H1 section-title : impact éditorial, weight renforcé */
                              h1.section-title,
                              .collection-header .section-title {
                                font-weight: 400 !important;
                                  letter-spacing: -0.015em;
                                    line-height: 1.08;
                                      font-size: clamp(38px, 5.5vw, 74px);
                                      }

                                      /* Eyebrow / surtitre : style Alo (très espacé, minuscule poids) */
                                      .section-eyebrow {
                                        letter-spacing: 0.28em !important;
                                          font-size: 8.5px !important;
                                            font-weight: 500 !important;
                                              text-transform: uppercase;
                                              }

                                              /* Noms de produits : lisibles, non-italic par défaut */
                                              .product-name {
                                                font-style: normal !important;
                                                  font-weight: 400 !important;
                                                    letter-spacing: 0.02em !important;
                                                      font-size: 15px !important;
                                                      }

                                                      /* Prix */
                                                      .product-price {
                                                        letter-spacing: 0.08em;
                                                          font-size: 12px !important;
                                                          }

                                                          /* Boutons : élégance sobre */
                                                          .add-to-cart,
                                                          .btn,
                                                          button[type="submit"],
                                                          .site-btn {
                                                            letter-spacing: 0.18em !important;
                                                              font-size: 9px !important;
                                                                font-weight: 500 !important;
                                                                }

                                                                /* Barre d'annonce */
                                                                .announcement-bar {
                                                                  letter-spacing: 0.14em;
                                                                    font-size: 10px;
                                                                    }

                                                                    /* Nav : aéré et raffiné */
                                                                    .site-header-nav a,
                                                                    .nav-link {
                                                                      letter-spacing: 0.15em;
                                                                      }

                                                                      /* Catégorie produit */
                                                                      .product-cat {
                                                                        letter-spacing: 0.22em !important;
                                                                          font-size: 8px !important;
                                                                            font-weight: 500 !important;
                                                                            }

                                                                            /* Page produit : titre élégant */
                                                                            .product-main h1,
                                                                            .product-title {
                                                                              font-family: 'Cormorant Garamond', serif;
                                                                                font-weight: 400;
                                                                                  font-size: clamp(30px, 4vw, 52px);
                                                                                    letter-spacing: -0.01em;
                                                                                      line-height: 1.1;
                                                                                        font-style: normal;
                                                                                        }

                                                                                        /* Section titre général */
                                                                                        .section-title {
                                                                                          line-height: 1.08;
                                                                                          }

                                                                                          /* Footer */
                                                                                          footer,
                                                                                          .footer-col p,
                                                                                          .footer-desc {
                                                                                            letter-spacing: 0.03em;
                                                                                              line-height: 1.9;
                                                                                              }

                                                                                              /* Pagination */
                                                                                              .pagination a,
                                                                                              .pagination span {
                                                                                                letter-spacing: 0.12em !important;
                                                                                                }
/* ---- CORRECTIF : textes SEO collection-header sur fond sombre ---- */
.collection-header h2,
.collection-header h3,
.collection-header p,
.collection-header ul,
.collection-header li {
  color: var(--stone) !important;
    line-height: 1.8;
    }                                                                                                
.collection-header h2 {
    font-family: 'Cormorant Garamond', serif;
      font-weight: 400;
        font-size: clamp(20px, 2.5vw, 32px);
          letter-spacing: -0.01em;
            color: var(--cream) !important;
            }
            .collection-header h3 {
              font-family: 'Cormorant Garamond', serif;
                font-weight: 400;
                  font-size: clamp(16px, 1.8vw, 24px);
                    color: var(--sand) !important;
                    }
                    .collection-page {
                      color: var(--cream);
                      }
/* ==========================================
   PURE — LAYOUT COLLECTION & TYPO HOMEPAGE
      ========================================== */

      /* ---- CENTRAGE & AGENCEMENT collection-header ---- */
      .collection-header {
        max-width: 720px;
          margin-left: auto !important;
            margin-right: auto !important;
              text-align: center;
                padding: 0 24px 60px;
                }
                .collection-header h2 {
                  max-width: 640px;
                    margin-left: auto !important;
                      margin-right: auto !important;
                        margin-bottom: 1em;
                          margin-top: 2em;
                          }
                          .collection-header h3 {
                            max-width: 560px;
                              margin-left: auto !important;
                                margin-right: auto !important;
                                  margin-top: 2em;
                                    margin-bottom: 0.6em;
                                    }
                                    .collection-header p {
                                      max-width: 640px;
                                        margin-left: auto !important;
                                          margin-right: auto !important;
                                            margin-bottom: 1em;
                                              font-size: 13px;
                                                letter-spacing: 0.03em;
                                                  line-height: 1.9;
                                                  }
                                                  /* UL : sans puces, tirets dorés, centré élégant */
                                                  .collection-header ul {
                                                    list-style: none !important;
                                                      padding: 0 !important;
                                                        margin: 1.4em auto 1.8em !important;
                                                          max-width: 480px;
                                                          }
                                                          .collection-header li {
                                                            position: relative;
                                                              padding: 0.3em 0;
                                                                font-size: 12px;
                                                                  letter-spacing: 0.1em;
                                                                    text-transform: uppercase;
                                                                      color: var(--stone) !important;
                                                                      }
                                                                      .collection-header li::before {
                                                                        content: '\2014';
                                                                          margin-right: 0.6em;
                                                                            color: var(--or);
                                                                              font-weight: 300;
                                                                              }
                                                                              /* Séparateur visuel entre titre principal et SEO */
                                                                              .collection-header h2:first-of-type {
                                                                                border-top: 1px solid rgba(196,181,165,0.2);
                                                                                  padding-top: 2em;
                                                                                  }

                                                                                  /* ---- TYPO HERO HOMEPAGE : plus classe & pure ---- */
                                                                                  .hero-content h1,
                                                                                  .hero h1,
                                                                                  .hero-title,
                                                                                  section.hero .section-title {
                                                                                    font-family: 'Cormorant Garamond', serif !important;
                                                                                      font-weight: 300 !important;
                                                                                        font-style: italic !important;
                                                                                          font-size: clamp(52px, 7.5vw, 110px) !important;
                                                                                            letter-spacing: -0.025em !important;
                                                                                              line-height: 1.0 !important;
                                                                                              }
                                                                                              /* Variante : si le titre est dans .collection-header section hero */
                                                                                              .hero .section-title,
                                                                                              .hero-banner .section-title {
                                                                                                font-size: clamp(56px, 8vw, 116px) !important;
                                                                                                  letter-spacing: -0.03em !important;
                                                                                                    font-weight: 300 !important;
                                                                                                      font-style: italic !important;
                                                                                                      }

/* ---- TYPO HERO RAFFINEE : contraste roman / italique ---- */
.hero-title {
    font-style: normal !important;
      font-weight: 200 !important;
        font-size: clamp(58px, 8vw, 120px) !important;
          letter-spacing: -0.03em !important;
            line-height: 0.98 !important;
}                                                                                                      
.hero-title em {
    font-style: italic !important;
      font-weight: 200 !important;
        color: var(--stone);
}

/* PURE CRO BOOST */
.pure-stars-wrapper{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.pure-stars{display:inline-flex;gap:2px}
.pure-stars svg{width:16px;height:16px;fill:#C9A96E}
.pure-stars svg.empty{fill:#d9d0c4}
.pure-rating-score{font-size:14px;font-weight:600;color:#2c2416}
.pure-rating-count{font-size:13px;color:#8a7b6a;text-decoration:underline;cursor:pointer}
.pure-badge-popular{display:inline-flex;align-items:center;gap:4px;background:#2c2416;color:#C9A96E;font-size:10px;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:2px}
.pure-price-block{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:8px 0 20px}
.pure-price-original{font-size:14px;color:#b8a898;text-decoration:line-through;font-weight:300;letter-spacing:0.02em}
.pure-price-current{font-size:28px;font-weight:400;color:#2c2416;letter-spacing:-0.02em;font-family:'Cormorant Garamond',serif}
.pure-sale-badge{background:#2c2416;color:#f5f0e8;font-size:9px;font-weight:700;padding:4px 10px;letter-spacing:0.14em;text-transform:uppercase;border-radius:1px}
/* Social proof styles removed */
.pure-bundle-section{margin:20px 0;border-top:1px solid #e8e0d4;padding-top:18px}
.pure-bundle-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8a7b6a;margin-bottom:10px}
.pure-bundle-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pure-bundle-option{position:relative;border:1.5px solid #e0d8ce;border-radius:6px;padding:12px 8px;text-align:center;cursor:pointer;background:#fff}
.pure-bundle-option:hover{border-color:#C9A96E}
.pure-bundle-option.selected{border-color:#2c2416;background:#f9f5ef}
.pure-bundle-qty{font-size:13px;font-weight:700;color:#2c2416;display:block;margin-bottom:4px}
.pure-bundle-price{font-size:14px;font-weight:600;color:#2c2416;display:block}
.pure-bundle-per-item{font-size:11px;color:#8a7b6a;display:block;margin-top:2px}
.pure-bundle-save{display:inline-block;background:#C9A96E;color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:2px;margin-top:5px}
.pure-bundle-popular-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:#2c2416;color:#C9A96E;font-size:9px;font-weight:700;padding:3px 8px;border-radius:2px;white-space:nowrap}
.pure-urgency{display:flex;align-items:center;gap:8px;font-size:13px;color:#b45309;margin-bottom:14px;font-weight:500}
.pure-urgency svg{width:16px;height:16px;fill:#b45309;flex-shrink:0}
.pure-stock-bar{width:100%;height:4px;background:#e8e0d4;border-radius:2px;margin-bottom:6px;overflow:hidden}
.pure-stock-fill{height:100%;background:linear-gradient(90deg,#C9A96E,#a07840);border-radius:2px;width:25%}
.add-to-cart-page{position:relative;overflow:hidden}
.pure-guarantee{display:flex;align-items:center;gap:10px;background:#f9f5ef;border:1px solid #dfd6c8;border-radius:6px;padding:12px 16px;margin-top:16px}
.pure-guarantee-icon{width:36px;height:36px;background:#2c2416;border-radius:50%;display:flex;align-items:center;justify-content:center}
.pure-guarantee-icon svg{width:18px;height:18px;fill:#C9A96E}
.pure-guarantee-text strong{display:block;font-size:13px;font-weight:700;color:#2c2416}
.pure-guarantee-text span{font-size:12px;color:#8a7b6a}
.pure-trust-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pure-trust-pill{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #e0d8ce;border-radius:20px;padding:5px 12px;font-size:12px;color:#5a4e42;font-weight:500}
.pure-trust-pill svg{width:13px;height:13px;fill:#C9A96E;flex-shrink:0}
.pure-payment-row{display:flex;align-items:center;gap:6px;margin-top:14px;opacity:.65}
.pure-payment-icons{display:flex;gap:4px;flex-wrap:wrap}
.pure-payment-icon{background:#f0ece5;border:1px solid #ddd;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600;color:#5a4e42}
@media(max-width:768px){.pure-bundle-option{padding:10px 6px}.pure-bundle-price{font-size:13px}}


/* ================================================
   PURE PREMIUM — Layout Alo/Lululemon Style
   ================================================ */

/* GRID: image 52%, info 48% — image plus proeminente */
.product-page {
  padding: 0 !important;
}
.product-page-grid {
  grid-template-columns: 52% 1fr !important;
  gap: 0 !important;
  align-items: stretch !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* IMAGE: collée au bord gauche, sticky, pleine hauteur */
.product-gallery {
  position: sticky !important;
  top: 0 !important;
  align-self: flex-start !important;
}
.product-main-img {
  aspect-ratio: 4 / 5 !important;
  height: auto !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  flex: none !important;
  align-self: flex-start !important;
}

.product-thumbs {
  padding: 12px 24px !important;
  background: #faf8f5 !important;
}
.product-thumbs img {
  border-radius: 4px !important;
}

/* INFO PANEL: padding propre, dense, élégant */
.product-info-panel {
  padding: 48px 52px 60px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  background: #faf8f5 !important;
  min-height: auto !important;
}

/* TITLE: compact, élégant */
h1.product-page-title {
  font-size: clamp(1.6rem, 2.2vw, 2.4rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  margin: 8px 0 12px !important;
  color: #1a1410 !important;
}

/* PRICE BLOCK: serré */
.pure-price-block {
  margin: 0 0 16px !important;
  gap: 8px !important;
}
.pure-price-current {
  font-size: 1.5rem !important;
}

/* DESCRIPTION: cacher le verbose, garder seulement les bullets */
.product-description h2,
.product-description > p:first-of-type,
.product-description > p:last-of-type,
.product-description h3:not(.pure-keep),
.product-description ul:last-of-type {
  display: none !important;
}
.product-description {
  margin: 0 0 16px !important;
}
/* Description native cachée — accordéon = seule source */
.product-description > ul:first-of-type { display: none !important; }

/* FEATURE TAGS */
.pure-feature-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 0 0 16px !important;
}
.pure-feature-tag {
  background: transparent !important;
  border: 1px solid #c9a96e55 !important;
  border-radius: 2px !important;
  padding: 3px 10px !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #8a7060 !important;
  font-weight: 600 !important;
}

/* SOCIAL PROOF: plus petit */
.pure-social-proof {
  padding: 8px 12px !important;
  font-size: 12px !important;
  margin-bottom: 14px !important;
}

/* BUNDLE: compact */
.pure-bundle-section {
  margin: 12px 0 !important;
  padding-top: 14px !important;
}
.pure-bundle-label {
  font-size: 10px !important;
  margin-bottom: 8px !important;
}
.pure-bundle-option {
  padding: 10px 6px !important;
}
.pure-bundle-qty { font-size: 11px !important; }
.pure-bundle-price { font-size: 13px !important; }
.pure-bundle-per-item { font-size: 10px !important; }

/* URGENCY */
.pure-urgency-block { margin-bottom: 10px !important; }
.pure-urgency { font-size: 12px !important; margin-bottom: 10px !important; }

/* ATC BUTTON: large, impactful */
.add-to-cart-page {
  height: 52px !important;
  font-size: 12px !important;
  letter-spacing: 0.14em !important;
  font-weight: 700 !important;
}

/* GUARANTEE: compact */
.pure-guarantee {
  margin-top: 12px !important;
  padding: 10px 14px !important;
  border-radius: 4px !important;
}
.pure-guarantee-icon { width: 28px !important; height: 28px !important; }
.pure-guarantee-text strong { font-size: 12px !important; }
.pure-guarantee-text span { font-size: 11px !important; }
.pure-trust-pills { margin-top: 8px !important; gap: 6px !important; }
.pure-trust-pill { padding: 4px 10px !important; font-size: 11px !important; }
.pure-payment-row { margin-top: 10px !important; }
.pure-payment-icon { font-size: 9px !important; padding: 2px 5px !important; }

/* PRODUCT META: cacher (on a déjà tout dans CRO) */
.product-meta {
  display: none !important;
}

/* ACCORDION SEO */
.pure-accordion {
  border-top: 1px solid #e0d8ce !important;
  margin-top: 16px !important;
}
.pure-accordion-item {
  border-bottom: 1px solid #e0d8ce !important;
}
.pure-accordion-toggle {
  width: 100% !important;
  background: none !important;
  border: none !important;
  padding: 14px 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  cursor: pointer !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #2c2416 !important;
  font-weight: 700 !important;
  font-family: inherit !important;
}
.pure-accordion-toggle::after {
  content: '+' !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  color: #C9A96E !important;
  transition: transform 0.2s !important;
}
.pure-accordion-toggle.open::after {
  content: '−' !important;
}
.pure-accordion-body {
  display: none !important;
  padding: 0 0 14px !important;
  font-size: 12.5px !important;
  color: #5a4e42 !important;
  line-height: 1.7 !important;
}
.pure-accordion-body.open {
  display: block !important;
}

/* RESPONSIVE */
@media(max-width: 900px) {
  .product-page-grid {
    grid-template-columns: 1fr !important;
  }
  .product-gallery {
    position: relative !important;
    top: 0 !important;
  }
  .product-main-img,
  .product-main-img img {
    height: 480px !important;
  }
  .product-info-panel {
    padding: 28px 20px 40px !important;
  }
  .product-description > ul:first-of-type {
    grid-template-columns: 1fr !important;
  }
}
/* ---- DESCRIPTION REFINEMENT ---- */
/* Cacher TOUS les paragraphes et h3 de la description */
.product-description p,
.product-description h2,
.product-description h3 {
  display: none !important;
}
/* Cacher la 2e liste (caracteristiques techniques) */
.product-description ul ~ ul {
  display: none !important;
}
/* Description native cachée — accordéon = seule source */
.product-description > ul:first-of-type,
.product-description > ul:first-of-type li { display: none !important; }

/* Stars: plus compactes */
.pure-stars-wrapper {
  margin-bottom: 6px !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.pure-rating-count { font-size: 12px !important; }
.pure-badge-popular {
  font-size: 9px !important;
  padding: 3px 8px !important;
}

/* Feature tags: juste après les étoiles */
.pure-feature-tags {
  margin: 10px 0 14px !important;
}
/* ---- NAV OFFSET FIX ---- */
/* Le panel info doit commencer sous la nav fixe */
.product-page {
  padding-top: 0 !important;
}
.product-page-grid {
  padding-top: 0 !important;
}
.product-gallery {
  top: 80px !important;
}
.product-info-panel {
  padding-top: 80px !important;
}
/* Stars toujours visibles */
.pure-stars-wrapper {
  margin-bottom: 8px !important;
}
/* ---- NAV OFFSET CORRECTION (header = 110px) ---- */
.product-info-panel { padding-top: 120px !important; }
.product-gallery { top: 110px !important; }
@media(max-width:900px){
  .product-info-panel { padding-top: 24px !important; }
  .product-gallery { top: 0 !important; position: relative !important; }
}
/* ================================================
   FOND UNIFIÉ + IMAGE FIX — Alo/Lululemon Clean
   ================================================ */

/* FOND UNIQUE partout — blanc cassé chaud #f5f0e8 */
body {
  background: #f5f0e8 !important;
}
.product-page,
.product-page-grid,
.product-gallery,
.product-thumbs {
  background: #f5f0e8 !important;
}

/* INFO PANEL: même fond que le reste */
.product-info-panel {
  background: #f5f0e8 !important;
}

/* IMAGE CONTAINER: remplit toute la colonne galerie */
.product-main-img {
  width: 100% !important;
  background: #f5f0e8 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* IMAGE: format portrait uniforme */


/* GALERIE: toute la hauteur du panel info */
.product-gallery {
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.product-main-img { flex: none !important; align-self: flex-start !important; }

/* Léger séparateur entre les deux colonnes */
.product-info-panel {
  border-left: 1px solid rgba(0,0,0,0.06) !important;
}

/* THUMBS: même fond */
.product-thumbs {
  background: #f5f0e8 !important;
  border-top: 1px solid rgba(0,0,0,0.06) !important;
  padding: 12px 20px !important;
}

/* SECTIONS du site: fond unifié */
.shopify-section:not(.site-header-section):not(.footer-section):not([class*="footer"]) {
  background: #f5f0e8 !important;
}
/* ---- IMAGE TOP FIX — nav = 110px ---- */
.product-gallery {
  padding-top: 110px !important;
}
.product-main-img {
  height: 600px !important;
}
.product-main-img img {
  height: 600px !important;
}
@media(max-width:900px){
  .product-gallery { padding-top: 0 !important; }
  .product-main-img { height: 460px !important; }
  .product-main-img img { height: 460px !important; padding: 16px !important; }
}
/* ================================================
   PURE POPUP — Newsletter / Bienvenue
   ================================================ */
.pure-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(26, 20, 16, 0.65);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.pure-popup-overlay.active {
  opacity: 1;
  pointer-events: all;
}
.pure-popup {
  display: flex;
  width: 760px;
  max-width: 94vw;
  max-height: 94vh;
  border-radius: 4px;
  overflow: hidden;
  transform: translateY(24px) scale(0.97);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 24px 80px rgba(0,0,0,0.35);
}
.pure-popup-overlay.active .pure-popup {
  transform: translateY(0) scale(1);
}
/* Colonne gauche — brand */
.pure-popup-left {
  width: 46%;
  background: #1a1410;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 28px;
  position: relative;
  overflow: hidden;
}
.pure-popup-left::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 60% 40%, #C9A96E22 0%, transparent 70%);
}
.pure-popup-logo {
  font-size: 2.6rem;
  font-weight: 200;
  letter-spacing: 0.55em;
  color: #f5f0e8;
  font-family: 'Cormorant Garamond', serif;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
  margin-bottom: 16px;
}
.pure-popup-tagline {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #C9A96E;
  font-weight: 600;
  position: relative;
  z-index: 1;
  text-align: center;
}
.pure-popup-circle {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  border: 1px solid #C9A96E44;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 0;
  position: relative;
  z-index: 1;
}
.pure-popup-circle span {
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #C9A96E;
  text-align: center;
  line-height: 1.5;
  font-weight: 600;
}
/* Colonne droite — formulaire */
.pure-popup-right {
  width: 54%;
  background: #faf8f5;
  padding: 44px 40px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.pure-popup-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8a7b6a;
  font-size: 18px;
  line-height: 1;
  transition: color 0.2s;
  padding: 0;
}
.pure-popup-close:hover { color: #2c2416; }
.pure-popup-eyebrow {
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #C9A96E;
  font-weight: 700;
  margin-bottom: 8px;
}
.pure-popup-headline {
  font-size: 13px;
  color: #5a4e42;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
  font-family: inherit;
  font-weight: 400;
}
.pure-popup-offer {
  font-size: 3rem;
  font-weight: 700;
  color: #1a1410;
  line-height: 1;
  letter-spacing: -0.02em;
  margin: 6px 0 4px;
  font-family: 'Cormorant Garamond', serif;
}
.pure-popup-sub {
  font-size: 12px;
  color: #8a7b6a;
  margin-bottom: 24px;
  line-height: 1.5;
}
.pure-popup-input-wrap {
  position: relative;
  margin-bottom: 10px;
}
.pure-popup-input {
  width: 100%;
  height: 48px;
  border: 1.5px solid #d8d0c8;
  border-radius: 2px;
  padding: 0 16px;
  font-size: 13px;
  background: #fff;
  color: #2c2416;
  font-family: inherit;
  transition: border-color 0.2s;
  box-sizing: border-box;
  outline: none;
}
.pure-popup-input:focus { border-color: #C9A96E; }
.pure-popup-input::placeholder { color: #bbb0a0; }
.pure-popup-btn {
  width: 100%;
  height: 48px;
  background: #1a1410;
  color: #f5f0e8;
  border: none;
  border-radius: 2px;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.2s, color 0.2s;
  margin-bottom: 14px;
}
.pure-popup-btn:hover { background: #C9A96E; color: #1a1410; }
.pure-popup-btn.success { background: #4a7c59; color: #fff; }
.pure-popup-legal {
  font-size: 10px;
  color: #b0a090;
  line-height: 1.6;
}
.pure-popup-skip {
  background: none;
  border: none;
  font-size: 11px;
  color: #b0a090;
  cursor: pointer;
  letter-spacing: 0.06em;
  text-decoration: underline;
  margin-top: 10px;
  padding: 0;
  font-family: inherit;
  display: block;
  text-align: left;
}
.pure-popup-skip:hover { color: #5a4e42; }
@media(max-width: 600px) {
  .pure-popup { flex-direction: column; width: 92vw; max-height: 90vh; overflow-y: auto; }
  .pure-popup-left { width: 100%; padding: 28px 20px; flex-direction: row; gap: 16px; }
  .pure-popup-circle { width: 64px; height: 64px; margin: 0; }
  .pure-popup-right { width: 100%; padding: 28px 20px 24px; }
  .pure-popup-offer { font-size: 2.2rem; }
}
/* ================================================
   PURE POPUP v2 — Newsletter
   ================================================ */
.pure-popup-overlay {
  position: fixed; inset: 0;
  background: rgba(20,16,12,0.7);
  z-index: 99999;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity 0.35s ease; pointer-events: none;
  backdrop-filter: blur(3px);
}
.pure-popup-overlay.active { opacity: 1; pointer-events: all; }
.pure-popup {
  display: flex; width: 800px; max-width: 95vw; max-height: 96vh;
  border-radius: 3px; overflow: hidden;
  transform: translateY(20px) scale(0.98);
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
  box-shadow: 0 32px 100px rgba(0,0,0,0.4);
}
.pure-popup-overlay.active .pure-popup { transform: translateY(0) scale(1); }

/* ── Gauche ── */
.pure-popup-left {
  width: 44%; background: #1a1410;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 48px 32px; position: relative; overflow: hidden;
}
.pure-popup-left::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 30%, rgba(201,169,110,0.12) 0%, transparent 65%);
  pointer-events: none;
}
/* LOGO — identique à la nav */
.pure-popup-logo {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.7rem; font-weight: 300;
  letter-spacing: 0.55em;
  color: #f5f0e8;
  text-transform: uppercase;
  text-indent: 0.55em; /* compense le dernier espace */
  position: relative; z-index: 1;
  margin-bottom: 6px;
}
.pure-popup-subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 9px; font-weight: 600;
  letter-spacing: 0.28em; text-transform: uppercase;
  color: #C9A96E; position: relative; z-index: 1;
  margin-bottom: 36px;
}
.pure-popup-divider {
  width: 32px; height: 1px;
  background: linear-gradient(90deg, transparent, #C9A96E88, transparent);
  margin: 0 auto 32px; position: relative; z-index: 1;
}
.pure-popup-claim {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem; font-weight: 300; font-style: italic;
  color: rgba(245,240,232,0.65);
  letter-spacing: 0.04em; text-align: center;
  line-height: 1.6; position: relative; z-index: 1;
  max-width: 180px;
}

/* ── Droite ── */
.pure-popup-right {
  width: 56%; background: #faf8f5;
  padding: 48px 44px 40px; position: relative;
  display: flex; flex-direction: column; justify-content: center;
}
.pure-popup-close {
  position: absolute; top: 18px; right: 18px;
  background: none; border: none; cursor: pointer;
  width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  color: #a09080; font-size: 16px; transition: color 0.2s; padding: 0;
  font-family: inherit;
}
.pure-popup-close:hover { color: #1a1410; }
.pure-popup-eyebrow {
  font-size: 9.5px; letter-spacing: 0.24em; text-transform: uppercase;
  color: #C9A96E; font-weight: 700; font-family: 'Montserrat', sans-serif;
  margin-bottom: 10px;
}
.pure-popup-headline {
  font-family: 'Montserrat', sans-serif;
  font-size: 12.5px; color: #6a5e52; letter-spacing: 0.03em;
  margin-bottom: 6px; font-weight: 400; line-height: 1.5;
}
/* -15%* — Cormorant élégant */
.pure-popup-offer {
  font-family: 'Cormorant Garamond', serif;
  font-size: 5rem; font-weight: 600; font-style: italic;
  color: #1a1410; line-height: 0.9;
  letter-spacing: -0.02em;
  margin: 4px 0 10px; display: block;
}
.pure-popup-offer sup {
  font-size: 2rem; vertical-align: super;
  font-style: normal; font-weight: 400;
}
.pure-popup-sub {
  font-size: 11.5px; color: #8a7b6a;
  margin-bottom: 28px; line-height: 1.6;
  font-family: 'Montserrat', sans-serif;
}
.pure-popup-input {
  width: 100%; height: 46px;
  border: 1.5px solid #ddd5c8; border-radius: 2px;
  padding: 0 16px; font-size: 12.5px;
  background: #fff; color: #2c2416;
  font-family: 'Montserrat', sans-serif;
  transition: border-color 0.2s; box-sizing: border-box;
  outline: none; margin-bottom: 10px; display: block;
}
.pure-popup-input:focus { border-color: #C9A96E; }
.pure-popup-input::placeholder { color: #c0b4a8; }
.pure-popup-input.error { border-color: #c0392b; }
.pure-popup-btn {
  width: 100%; height: 46px;
  background: #1a1410; color: #f5f0e8;
  border: none; border-radius: 2px; cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
  font-weight: 700; transition: background 0.2s, color 0.2s;
  margin-bottom: 14px;
}
.pure-popup-btn:hover:not(:disabled) { background: #C9A96E; color: #1a1410; }
.pure-popup-btn:disabled { opacity: 0.7; cursor: default; }
.pure-popup-btn.success { background: #4a7c59; color: #fff; }
.pure-popup-legal {
  font-size: 9.5px; color: #b8a898; line-height: 1.7;
  font-family: 'Montserrat', sans-serif;
}
.pure-popup-skip {
  background: none; border: none; padding: 0;
  font-size: 10px; color: #b8a898; cursor: pointer;
  letter-spacing: 0.04em; text-decoration: underline;
  margin-top: 10px; font-family: 'Montserrat', sans-serif;
  display: block; text-align: left; width: fit-content;
}
.pure-popup-skip:hover { color: #5a4e42; }
@media(max-width:640px){
  .pure-popup { flex-direction: column; max-height: 92vh; overflow-y: auto; }
  .pure-popup-left { width: 100%; padding: 28px 20px; flex-direction: row; gap: 20px; justify-content: flex-start; }
  .pure-popup-divider,.pure-popup-claim { display: none; }
  .pure-popup-logo { font-size: 1.3rem; margin-bottom: 0; }
  .pure-popup-subtitle { margin-bottom: 0; }
  .pure-popup-right { width: 100%; padding: 28px 20px 24px; }
  .pure-popup-offer { font-size: 3.5rem; }
}
/* Hide product description images */
.product-description img{display:none!important;}


/* ===== PURE — Collections Section Premium Redesign ===== */
section.categories.pure-cat-done{background:#f5f0e8!important;padding:100px 0 90px!important;}
section.categories.pure-cat-done .section-header{padding:0 60px 52px!important;display:flex;align-items:flex-end;justify-content:space-between;max-width:1440px;margin:0 auto;}
section.categories.pure-cat-done .section-title{font-size:clamp(32px,4vw,54px)!important;font-weight:300!important;color:#2c2416!important;letter-spacing:-0.01em!important;line-height:1!important;}
section.categories.pure-cat-done .section-title em{color:#8a7560!important;font-style:italic;}
section.categories.pure-cat-done .cat-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;max-width:1440px;margin:0 auto;padding:0 60px!important;height:72vh;min-height:540px;max-height:820px;}
section.categories.pure-cat-done .cat-card{position:relative!important;overflow:hidden!important;display:block!important;height:100%!important;}
section.categories.pure-cat-done [class*="cat-img"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background-size:cover!important;background-position:center 20%!important;transition:transform 1.1s cubic-bezier(0.25,0.46,0.45,0.94)!important;}
section.categories.pure-cat-done .cat-card:hover [class*="cat-img"]{transform:scale(1.06)!important;}
section.categories.pure-cat-done .cat-overlay{position:absolute!important;inset:0!important;background:linear-gradient(0deg,rgba(15,10,5,0.72) 0%,rgba(15,10,5,0.12) 45%,transparent 100%)!important;z-index:1!important;transition:opacity 0.5s;}
section.categories.pure-cat-done .cat-card:hover .cat-overlay{opacity:1.15!important;}
section.categories.pure-cat-done .cat-info{position:absolute!important;bottom:52px!important;left:48px!important;right:48px!important;z-index:2!important;}
section.categories.pure-cat-done .cat-name{font-family:'Cormorant Garamond',serif!important;font-size:clamp(26px,2.8vw,44px)!important;font-weight:300!important;color:#f5f0e8!important;letter-spacing:0.02em!important;line-height:1.1!important;margin:0!important;}
section.categories.pure-cat-done .cat-name::after{content:'Découvrir';display:block;font-family:inherit;font-size:10px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:rgba(245,240,232,0.5);margin-top:16px;font-style:normal;transition:color 0.3s;}
section.categories.pure-cat-done .cat-card:hover .cat-name::after{color:rgba(245,240,232,0.88);}
section.categories.pure-cat-done .cat-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#c9a96e;transform:scaleX(0);transform-origin:left;transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);z-index:3;}
section.categories.pure-cat-done .cat-card:hover::before{transform:scaleX(1);}
@media(max-width:768px){section.categories.pure-cat-done .cat-grid{grid-template-columns:1fr!important;height:auto!important;gap:6px!important;padding:0 20px!important;}section.categories.pure-cat-done .cat-card{height:55vw!important;min-height:320px!important;}section.categories.pure-cat-done .section-header{padding:0 20px 36px!important;}section.categories.pure-cat-done .cat-info{left:28px!important;right:28px!important;bottom:32px!important;}}


/* ===== PURE Collections — New Editorial Layout ===== */
section.categories.pure-cat-done{background:#f5f0e8!important;padding:80px 0 90px!important;}
.pure-coll-header{padding:0 60px 44px;max-width:1440px;margin:0 auto;}
.pure-coll-title{font-family:'Cormorant Garamond',serif!important;font-size:clamp(30px,4vw,52px)!important;font-weight:300!important;color:#2c2416!important;letter-spacing:-0.01em!important;line-height:1!important;margin:0!important;}
.pure-coll-title em{color:#8a7560!important;font-style:italic!important;}
.pure-coll-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:6px;max-width:1440px;margin:0 auto;padding:0 60px;height:72vh;min-height:500px;max-height:800px;}
.pure-coll-card{position:relative;overflow:hidden;display:block;}
.pure-coll-img{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center 15%;transition:transform 1.1s cubic-bezier(0.25,0.46,0.45,0.94);}
.pure-coll-card:hover .pure-coll-img{transform:scale(1.06);}
.pure-coll-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(15,10,5,0.74) 0%,rgba(15,10,5,0.1) 42%,transparent 100%);}
.pure-coll-info{position:absolute;bottom:48px;left:44px;right:44px;z-index:2;}
.pure-coll-name{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,2.6vw,40px);font-weight:300;color:#f5f0e8;letter-spacing:0.03em;line-height:1.1;margin:0 0 14px;}
.pure-coll-cta{display:inline-block;font-size:10px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:rgba(245,240,232,0.55);transition:color 0.35s,transform 0.35s;}
.pure-coll-card:hover .pure-coll-cta{color:rgba(245,240,232,0.92);transform:translateX(4px);}
.pure-coll-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#c9a96e;transform:scaleX(0);transform-origin:left;transition:transform 0.55s cubic-bezier(0.25,0.46,0.45,0.94);z-index:3;}
.pure-coll-card:hover::after{transform:scaleX(1);}
@media(max-width:900px){.pure-coll-grid{grid-template-columns:1fr;grid-template-rows:auto auto;height:auto;padding:0 20px;gap:6px;}.pure-coll-card{height:58vw;min-height:280px;}.pure-coll-header{padding:0 20px 32px;}}

/* ===== PURE — Collection Page Redesign ===== */
body.template-collection .collection-page
/* ================================================
   COLLECTION PAGE — LUXURY AESTHETIC
   ================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&display=swap');



/* === Collection Pure === */
.pure-vc-page{background:#faf8f5!important;min-height:60vh!important}

/* Header */
.pure-vc-header{text-align:center!important;padding:150px 20px 45px!important}
.pure-vc-header-eyebrow{font-family:'Jost',sans-serif!important;font-size:.7rem!important;letter-spacing:.35em!important;text-transform:uppercase!important;color:#c9a96e!important;margin:0 0 8px!important;font-weight:400!important}
.pure-vc-header-title{font-family:'Cinzel',serif!important;font-size:clamp(1.8rem,4vw,2.8rem)!important;font-weight:400!important;color:#1a1510!important;margin:0!important;letter-spacing:.06em!important}
.pure-vc-header-line{width:40px!important;height:1px!important;background:#c9a96e!important;margin:18px auto!important;opacity:.6!important}
.pure-vc-header-sub{font-family:'Jost',sans-serif!important;font-size:.85rem!important;color:#8a8580!important;margin:0!important;font-weight:300!important;letter-spacing:.08em!important}

/* Grid */
.pure-vc-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important;gap:24px!important;max-width:1140px!important;margin:0 auto!important;padding:0 50px 90px!important}

/* Cards */
.pure-vc-card{text-decoration:none!important;color:inherit!important;display:block!important;opacity:0!important;transform:translateY(25px)!important;transition:opacity .7s ease,transform .7s ease!important}
.pure-vc-card.visible{opacity:1!important;transform:translateY(0)!important}
.pure-vc-img-wrap{position:relative!important;overflow:hidden!important;aspect-ratio:3/4!important;background:#eee9e2!important}
.pure-vc-img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .7s ease,filter .5s ease!important}
.pure-vc-img--hover{position:absolute!important;inset:0!important;opacity:0!important;transition:opacity .5s ease,transform .7s ease,filter .5s ease!important}
.pure-vc-card:hover .pure-vc-img{transform:scale(1.04)!important;filter:brightness(.65)!important}
.pure-vc-card:hover .pure-vc-img--hover{opacity:1!important;transform:scale(1.04)!important;filter:brightness(.65)!important}

/* Overlay */
.pure-vc-overlay{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;opacity:0!important;transition:opacity .4s ease!important;pointer-events:none!important}
.pure-vc-card:hover .pure-vc-overlay{opacity:1!important}
.pure-vc-discover{font-family:'Cinzel',serif!important;font-size:.75rem!important;letter-spacing:.25em!important;text-transform:uppercase!important;color:#fff!important;opacity:0!important;transform:translateY(6px)!important;transition:opacity .4s .15s,transform .4s .15s!important}
.pure-vc-card:hover .pure-vc-discover{opacity:1!important;transform:translateY(0)!important}
.pure-vc-overlay-arrow{color:#fff!important;opacity:0!important;transform:translateX(-6px)!important;transition:opacity .4s .25s,transform .4s .25s!important}
.pure-vc-card:hover .pure-vc-overlay-arrow{opacity:1!important;transform:translateX(0)!important}

/* Badge */
.pure-vc-badge{position:absolute!important;top:14px!important;left:14px!important;background:#c9a96e!important;color:#fff!important;font-family:'Jost',sans-serif!important;font-size:.65rem!important;letter-spacing:.18em!important;text-transform:uppercase!important;padding:5px 14px!important;z-index:2!important;font-weight:400!important}

/* Info */
.pure-vc-info{padding:16px 4px 0!important;text-align:left!important}
.pure-vc-name{font-family:'Jost',sans-serif!important;font-size:.82rem!important;color:#1a1510!important;font-weight:400!important;letter-spacing:.03em!important;transition:color .3s!important;line-height:1.4!important}
.pure-vc-card:hover .pure-vc-name{color:#c9a96e!important}
.pure-vc-price{font-family:'Jost',sans-serif!important;font-size:.78rem!important;color:#8a8580!important;margin-top:4px!important;font-weight:300!important}
.pure-vc-price-sale{color:#c9a96e!important;font-weight:500!important;margin-right:8px!important}
.pure-vc-price-compare{text-decoration:line-through!important;color:#bbb!important;font-size:.75rem!important}

/* Empty */
.pure-vc-empty{text-align:center!important;padding:60px 20px!important;font-family:'Jost',sans-serif!important;color:#8a8580!important;font-size:.9rem!important}

/* Responsive */
@media(max-width:1024px){.pure-vc-grid{grid-template-columns:repeat(2,1fr)!important;gap:20px!important;padding:0 30px 70px!important}}
@media(max-width:768px){.pure-vc-header{padding:130px 20px 35px!important}.pure-vc-grid{gap:16px!important;padding:0 20px 60px!important}.pure-vc-info{padding:12px 2px 0!important}}
@media(max-width:480px){.pure-vc-grid{grid-template-columns:1fr!important;max-width:400px!important;gap:30px!important;padding:0 20px 50px!important}.pure-vc-header{padding:120px 15px 30px!important}}


/* === Color Swatches === */
.color-swatches {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
}

.color-swatch-label {
  display: inline-block !important;
  cursor: pointer !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

.color-swatch-label input[type="radio"] {
  display: none !important;
}

.color-dot {
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 2px solid transparent !important;
  transition: border-color 0.2s ease, transform 0.2s ease !important;
  box-sizing: border-box !important;
}

.color-swatch-label:hover .color-dot {
  transform: scale(1.15) !important;
}

.color-swatch-label.selected .color-dot {
  border-color: #333 !important;
  transform: scale(1.1) !important;
}

/* Color mappings */
.color-dot[data-color="bleu-azur"] { background: #0066FF !important; }
.color-dot[data-color="orange"] { background: #FF7518 !important; }
.color-dot[data-color="noir"] { background: #000000 !important; }
.color-dot[data-color="cafe"], .color-dot[data-color="café"] { background: #9e7f6c !important; }
.color-dot[data-color="vert"] { background: #00674F !important; }
.color-dot[data-color="rose-rouge"] { background: #FF10F0 !important; }
.color-dot[data-color="lilas"] { background: #DAB1DA !important; }
.color-dot[data-color="blanc"] { background-color: #FFFFFF !important; border-color: #ddd !important; }
.color-dot[data-color="gris"] { background-color: #808080 !important; }
.color-dot[data-color="bleu"] { background-color: #4169E1 !important; }
.color-dot[data-color="rouge"] { background-color: #C0392B !important; }
.color-dot[data-color="beige"] { background-color: #C8B69E !important; }
.color-dot[data-color="marron"] { background-color: #5C4033 !important; }
.color-dot[data-color="rose"] { background-color: #FFC5D3 !important; }

/* === Pure Yoga Swatch Gallery - hide thumbs, show on swatch click === */
.product-thumbs { display: flex !important; }
/* === End Pure Yoga Swatch Gallery === */


/* ── Wishlist ──────────────────────────── */
.pure-vc-card { position: relative; }
.pure-fav-card { position: relative; }

.pure-wl-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  background: rgba(255,252,248,0.88);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 20;
  transition: background 0.2s ease, transform 0.18s ease;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 0;
}
.pure-wl-btn:hover { background: #fff; transform: scale(1.08); }
.pure-wl-btn svg {
  width: 17px;
  height: 17px;
  display: block;
}
.pure-wl-btn svg path {
  fill: none;
  stroke: #6b5a50;
  stroke-width: 1.6;
  transition: fill 0.22s ease, stroke 0.22s ease;
}
.pure-wl-btn--active svg path {
  fill: #C9A84C;
  stroke: #C9A84C;
}
@keyframes pure-wl-pop {
  0%,100% { transform: scale(1); }
  45% { transform: scale(1.28); }
}
.pure-wl-btn--active { animation: pure-wl-pop 0.32s ease; }

.pure-wl-toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%) translateY(14px);
  background: #2c2420;
  color: #f5f0ea;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 11px 22px;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 0.28s ease, transform 0.28s ease;
  z-index: 9999;
  pointer-events: none;
  white-space: nowrap;
}
.pure-wl-toast--show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ── Wishlist Drawer ───────────────────── */
.pure-wl-drawer { position: fixed; inset: 0; z-index: 10000; pointer-events: none; }
.pure-wl-drawer--open { pointer-events: all; }
.pure-wl-drawer__overlay {
  position: absolute; inset: 0;
  background: rgba(44,36,32,0); transition: background 0.35s ease;
}
.pure-wl-drawer--open .pure-wl-drawer__overlay { background: rgba(44,36,32,0.38); }
.pure-wl-drawer__panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: 380px; max-width: 92vw;
  background: #faf7f2; display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform 0.38s cubic-bezier(0.4,0,0.2,1);
  box-shadow: -4px 0 40px rgba(44,36,32,0.12);
}
.pure-wl-drawer--open .pure-wl-drawer__panel { transform: translateX(0); }
.pure-wl-drawer__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 24px 28px; border-bottom: 1px solid #e8e0d4;
}
.pure-wl-drawer__head-title {
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: #2c2420; font-weight: 500;
}
.pure-wl-drawer__close {
  background: none; border: none; cursor: pointer; font-size: 18px;
  color: #8a7a6e; line-height: 1; padding: 4px; transition: color 0.2s;
}
.pure-wl-drawer__close:hover { color: #2c2420; }
.pure-wl-drawer__body { flex: 1; overflow-y: auto; padding: 8px 0; }
.pure-wl-drawer__item {
  display: flex; align-items: center; gap: 16px;
  padding: 18px 28px; border-bottom: 1px solid #f0e9e1;
  transition: background 0.15s;
}
.pure-wl-drawer__item:hover { background: #f5f0ea; }
.pure-wl-drawer__img {
  flex-shrink: 0; width: 72px; height: 90px; overflow: hidden; display: block;
}
.pure-wl-drawer__img img { width: 100%; height: 100%; object-fit: cover; }
.pure-wl-drawer__info { flex: 1; min-width: 0; }
.pure-wl-drawer__name {
  font-size: 13px; color: #2c2420; line-height: 1.4;
  margin-bottom: 10px; letter-spacing: 0.02em;
}
.pure-wl-drawer__cta {
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  color: #C9A84C; text-decoration: none; font-weight: 500;
  transition: opacity 0.2s;
}
.pure-wl-drawer__cta:hover { opacity: 0.75; }
.pure-wl-drawer__rm {
  flex-shrink: 0; background: none; border: none; cursor: pointer;
  color: #b0a090; font-size: 14px; padding: 4px; transition: color 0.2s;
}
.pure-wl-drawer__rm:hover { color: #2c2420; }
.pure-wl-drawer__empty {
  padding: 48px 28px; text-align: center; color: #8a7a6e;
  font-size: 13px; letter-spacing: 0.06em;
}

/* Nav heart icon */
.pure-wl-nav-btn {
  background: none; border: none; cursor: pointer;
  display: flex; align-items: center; position: relative;
  padding: 0 2px; color: inherit;
}
.pure-wl-nav-btn svg { width: 18px; height: 18px; display: block; }
.pure-wl-nav-btn svg path { fill: none; stroke: currentColor; stroke-width: 1.5; }
.pure-wl-count {
  position: absolute; top: -7px; right: -8px;
  background: #C9A84C; color: #fff; font-size: 9px; font-weight: 700;
  width: 15px; height: 15px; border-radius: 50%;
  display: none; align-items: center; justify-content: center; line-height: 1;
}

/* ============================================
   PURE — COLOR SWATCH MAPPINGS (all products)
   ============================================ */
.color-dot[data-color="bleu"]       { background: #0066FF !important; }
.color-dot[data-color="orange"]          { background: #FF7518 !important; }
.color-dot[data-color="noir"]            { background: #000000 !important; }
.color-dot[data-color="cafe"]            { background: #6F4E37 !important; }
.color-dot[data-color="vert"]            { background: #00674F !important; }
.color-dot[data-color="rose-flashy"]      { background: #FF10F0 !important; }
.color-dot[data-color="lilas"]           { background: #DAB1DA !important; }
.color-dot[data-color="rose"]            { background: #FFC5D3 !important; }
.color-dot[data-color="rose-poudre"]     { background: #FFC5D3 !important; }
.color-dot[data-color="bleu-clair"]    { background: #77B1D4 !important; }
.color-dot[data-color="prune"]           { background: #4f3d3d !important; }
.color-dot[data-color="vert-bourgeon"]   { background: #6f7a76 !important; }
.color-dot[data-color="bleu-marine"]    { background: #182E6F !important; }
.color-dot[data-color="noir-etoile"]     { background: #2b1d15 !important; }
.color-dot[data-color="gris-cendre"]     { background: #626870 !important; }
.color-dot[data-color="blanc-ivoire"]    { background: #EDE8D0 !important; border: 1.5px solid #ddd !important; }
.color-dot[data-color="cacao"]           { background: #BEAB8F !important; }
.color-dot[data-color="vert-menthe"]            { background: #9EB8A0 !important; }
.color-dot[data-color="rouge-framboise"] { background: #E0115F !important; }
.color-dot[data-color="vert-olive"]      { background: #636B2F !important; }
.color-dot[data-color="gris-acier"]      { background: #8e5538 !important; }
.color-dot[data-color="violet"]          { background: #8E4585 !important; }

/* Ensure consistent portrait 4:5 image format on product page */
.color-dot[data-color="marine"]       { background: #1B3A5E !important; }


/* ============================================
   PRODUCT PAGE IMAGE FORMAT FIX — Alo style
   ============================================ */

/* 1. Constrain image height so full product is visible */
.product-main-img {
  padding-top: 0 !important;
  height: 78vh !important;
  max-height: 740px !important;
  min-height: 420px !important;
}

/* 2. Image fills the container, anchored at top to show head-to-toe */
.product-main-img img,
.product-main-img #main-product-img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
}

/* 3. Sticky product info panel — stays visible while scrolling gallery */
.product-info-panel {
  position: sticky !important;
  top: 100px !important;
  align-self: start !important;
}

/* 4. Slightly reduce page top padding for a tighter, more editorial look */
.product-page {
  padding-top: 80px !important;
}

/* === Pure Yoga - Layout Fix v7 (crossfade réel) === */
.product-page { padding-top: 0 !important; }
.product-page-grid {
  padding: 0 64px 0 56px !important;
  gap: 48px !important;
  grid-template-columns: minmax(0, 36%) 1fr !important;
}
.product-main-img {
  padding-top: 125% !important;
  height: auto !important;
  max-height: none !important;
  min-height: auto !important;
  background-size: cover !important;
  background-position: top center !important;
  background-repeat: no-repeat !important;
}
.product-main-img img,
.product-main-img #main-product-img {
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  transition: opacity 0.22s ease !important;
  will-change: opacity !important;
}
.product-info-panel {
  position: sticky !important;
  top: 110px !important;
  align-self: flex-start !important;
  max-height: none !important;
  overflow-y: visible !important;
}
.product-thumb {
  aspect-ratio: 3/4 !important;
  overflow: hidden !important;
}
.product-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
}
.color-dot[data-color="bleu-ciel"]      { background-color: #DCF3FF; }
.color-dot[data-color="chocolat"]       { background-color: #92624E; }
.color-dot[data-color="blanc"] { background-color: #FFFFFF; border: 1px solid #d0d0d0; }
.color-dot[data-color="vert-eau"] { background-color: #ADEBB3; }
.color-dot[data-color="gris-clair"] { background-color: #D3D3D3; }
.color-dot[data-color="mauve"]      { background-color: #856288; }
/* Style Alo Yoga : pastille selectionnée avec halo blanc + fin contour foncé */
.color-swatch-label.selected .color-dot {
  border-color: transparent !important;
  box-shadow: 0 0 0 4px #ffffff, 0 0 0 5px #B0B0B0;
}

/* ================================================
   MOBILE — Sections manquantes
   Pure Yoga — 23/05/2026
   max-width: 768px uniquement — PC non impacte
   ================================================ */

@media (max-width: 768px) {

  /* --- "Nos Favoris" (.pure-fav) --- */
  .pure-fav {
    padding: 50px 0 60px;
  }
  .pure-fav__header {
    flex-direction: column;
    align-items: flex-start;
    padding: 0 24px 28px;
    gap: 10px;
  }
  .pure-fav__title {
    font-size: clamp(26px, 8vw, 38px);
    line-height: 1.1;
  }
  .pure-fav__scroll {
    padding: 0 24px;
    gap: 16px;
  }
  .pure-fav__card {
    min-width: 220px;
    max-width: 260px;
  }

  /* --- "Cercle Pure" (.cp-teaser) --- */
  .cp-teaser {
    padding: 60px 24px;
    text-align: left;
  }
  .cp-teaser__title {
    font-size: clamp(28px, 9vw, 46px);
    line-height: 1.1;
  }
  .cp-teaser__subtitle {
    max-width: 100%;
    font-size: 14px;
  }
  .cp-teaser__tiers {
    flex-direction: column;
    gap: 14px;
    margin-top: 32px;
  }
  .cp-teaser__tier {
    width: 100%;
    box-sizing: border-box;
  }
  .cp-teaser__btn {
    margin-top: 32px;
  }

}


/* ================================================
   MOBILE — Page Produit (refonte complète)
   Inspiré Oner Active — 23/05/2026
   max-width: 768px uniquement — PC non impacté
   ================================================ */

@media (max-width: 768px) {

  /* --- 1. GRILLE PRINCIPALE --- */
  /* Supprimer le double padding (56px + 64px) qui écrase le contenu */
  .product-page-grid {
    padding: 0 !important;
    grid-template-columns: 1fr !important;
  }

  .product-page {
    padding-top: 56px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 60px !important;
  }

  /* --- 2. GALERIE PHOTO — style Oner Active --- */
  .product-gallery {
    width: 100% !important;
    position: relative !important;
    top: 0 !important;
    padding: 0 !important;
  }

  /* Image principale : plein largeur, grande, aucun padding */
  .product-main-img {
    height: 480px !important;
    width: 100% !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
  }

  .product-main-img img,
  .product-main-img .product-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  /* Thumbnails : rangée horizontale scrollable sous l'image */
  .product-thumbs {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .product-thumbs::-webkit-scrollbar { display: none; }

  .product-thumb {
    width: 64px !important;
    height: 80px !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    border-radius: 4px !important;
  }

  .product-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    padding: 0 !important;
  }

  /* --- 3. PANNEAU INFO --- */
  .product-info-panel {
    padding: 24px 20px 100px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  /* --- 4. TITRE & PRIX --- */
  .product-page-title {
    font-size: clamp(20px, 5.5vw, 26px) !important;
    line-height: 1.25 !important;
  }

  /* --- 5. BUNDLE / QUANTITÉ (3 colonnes égales) --- */
  .pure-bundle-options {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 6px !important;
  }

  .pure-bundle-option {
    padding: 8px 4px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .pure-bundle-qty {
    font-size: 10px !important;
    letter-spacing: 0.5px !important;
  }

  .pure-bundle-price {
    font-size: 12px !important;
  }

  .pure-bundle-per-item {
    font-size: 9px !important;
  }

  .pure-bundle-save {
    font-size: 8px !important;
    padding: 2px 4px !important;
  }

  .pure-bundle-popular-tag {
    font-size: 8px !important;
    padding: 2px 4px !important;
    top: -10px !important;
  }

  /* --- 6. FEATURE TAGS (badges) --- */
  .pure-feature-tags {
    flex-wrap: wrap !important;
    gap: 6px !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* --- 7. SWATCHES COULEUR --- */
  .color-swatches {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  /* --- 8. OPTIONS TAILLE — toutes visibles --- */
  .option-values {
    flex-wrap: wrap !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  .option-swatch {
    min-width: 44px !important;
    box-sizing: border-box !important;
  }

  /* --- 9. BOUTON ATC — plein largeur --- */
  .btn-primary,
  .add-to-cart-page {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* --- 10. TRUST & PAIEMENT --- */
  .pure-trust-pills {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .pure-payment-row {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  /* --- 11. ANTI-DÉBORDEMENT GLOBAL --- */
  .product-page, .product-page * {
    max-width: 100% !important;
    overflow-x: hidden;
  }
  .pure-feature-tags, .option-values, .color-swatches,
  .pure-trust-pills, .pure-payment-icons, .product-thumbs {
    overflow-x: auto;
  }

}


/* =============================================
   PURE YOGA — MOBILE OPTIMISATIONS BLOC 3
   Inspiré Alo Yoga / Oner Active
   Strict @media (max-width: 768px) — PC inchangé
   ============================================= */

@media (max-width: 768px) {

  /* ── HERO ── */
  .hero-title, .hero__title, [class*="hero"] h1, [class*="hero"] h2 {
    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.1 !important;
  }
  .hero-subtitle, .hero__subtitle, [class*="hero"] p {
    font-size: clamp(14px, 3.8vw, 17px) !important;
  }
  .hero-section, .hero, [class*="hero-wrap"] {
    min-height: 75vh !important;
    max-height: 90vh !important;
  }

  /* ── SECTION SPACING UNIFORMISÉ ── */
  .why-pure, .pure-why, [class*="why-pure"],
  .testimonials-section, [class*="testimonial"],
  .instagram-section, [class*="instagram"] {
    padding: 60px 20px !important;
  }

  /* ── NOS FAVORIS — SCROLL SNAP + PEEK ── */
  .pure-fav__scroll {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: scroll !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 0 20px 16px !important;
    gap: 12px !important;
  }
  .pure-fav__scroll::-webkit-scrollbar { display: none !important; }
  .pure-fav__card {
    flex: 0 0 75vw !important;
    min-width: 75vw !important;
    max-width: 75vw !important;
    scroll-snap-align: start !important;
  }
  .pure-fav__card img {
    width: 100% !important;
    height: 340px !important;
    object-fit: cover !important;
    object-position: center top !important;
    border-radius: 8px !important;
  }
  .pure-fav__card-name {
    font-size: clamp(14px, 3.8vw, 17px) !important;
    margin-top: 10px !important;
  }
  .pure-fav__card-price {
    font-size: 13px !important;
  }

  /* ── PHILOSOPHY — CACHER ORBITE, TEXTE PLEIN ── */
  .philosophy-visual, .philosophy__visual,
  [class*="philosophy"] svg, [class*="philosophy"] canvas,
  [class*="philosophy"] .orbit, [class*="orbit"] {
    display: none !important;
  }
  .philosophy-section, .philosophy, [class*="philosophy-wrap"] {
    padding: 60px 20px !important;
    text-align: center !important;
  }
  .philosophy-text, .philosophy__text, [class*="philosophy"] p,
  .philosophy-content, [class*="philosophy"] .content {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(14px, 3.8vw, 17px) !important;
    line-height: 1.7 !important;
  }
  .philosophy-title, [class*="philosophy"] h2, [class*="philosophy"] h3 {
    font-size: clamp(26px, 7.5vw, 36px) !important;
    line-height: 1.15 !important;
    margin-bottom: 20px !important;
  }

  /* ── INSTAGRAM — 2 COLONNES ── */
  .instagram-grid, .instagram__grid, [class*="insta-grid"],
  [class*="instagram"] .grid, [class*="instagram"] ul,
  [class*="instagram"] .photos {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4px !important;
    padding: 0 !important;
  }
  .instagram-grid > *, .instagram__grid > *,
  [class*="insta-grid"] > *, [class*="instagram"] .grid > *,
  [class*="instagram"] ul > li, [class*="instagram"] .photos > * {
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }
  .instagram-grid img, .instagram__grid img,
  [class*="instagram"] .grid img, [class*="instagram"] ul img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* ── STICKY ATC BUTTON ── */
  .add-to-cart-page, .btn-atc-sticky,
  form[action*="cart"] .btn-primary,
  .product-info-panel .btn-primary {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    border-radius: 0 !important;
    padding: 16px 24px !important;
    font-size: 15px !important;
    letter-spacing: 1px !important;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.12) !important;
    box-sizing: border-box !important;
  }

  /* ── COLLECTION PAGE ── */
  .collection-grid, .products-grid, [class*="collection"] .grid,
  [class*="products"] .grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    padding: 16px !important;
  }
  .collection-header, [class*="collection"] header,
  [class*="collection"] .header {
    padding: 40px 20px 24px !important;
    text-align: left !important;
  }
  .collection-title, [class*="collection"] h1 {
    font-size: clamp(24px, 7vw, 34px) !important;
  }
  .collection-filters, [class*="filter"] {
    padding: 0 16px 16px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }
  .collection-filters::-webkit-scrollbar { display: none !important; }

  /* ── PRODUCT CARD NOM / PRIX ── */
  .product-card__name, .card__name, [class*="product-card"] h3,
  [class*="product-card"] .name {
    font-size: clamp(12px, 3.3vw, 14px) !important;
    line-height: 1.3 !important;
  }
  .product-card__price, .card__price, [class*="product-card"] .price {
    font-size: 12px !important;
  }

  /* ── TYPOGRAPHY GENERALE MOBILE ── */
  .section-title, [class*="section"] > h2,
  [class*="section"] > h3 {
    font-size: clamp(22px, 6.5vw, 32px) !important;
    line-height: 1.15 !important;
  }
  .section-subtitle, [class*="section"] > p:first-of-type {
    font-size: clamp(13px, 3.5vw, 16px) !important;
  }

  /* ── FOOTER ── */
  footer, .footer, [class*="footer"] {
    padding: 40px 20px !important;
  }
  .footer-cols, .footer__cols, [class*="footer"] .cols,
  [class*="footer"] .columns {
    flex-direction: column !important;
    gap: 28px !important;
  }
  .footer-col, .footer__col {
    width: 100% !important;
  }
}


/* =============================================
   PURE YOGA — MOBILE BLOC 4 — HOMEPAGE FIX
   why-pure carousel | cp-teaser fix | testimonials carousel
   Strict @media (max-width: 768px) — PC inchangé
   ============================================= */

@media (max-width: 768px) {

  /* ══════════════════════════════════════
     WHY PURE — Carousel horizontal snappé
     (remplace la grille 2col trop haute)
     ══════════════════════════════════════ */
  .why-pure {
    padding: 50px 0 !important;
    overflow: hidden !important;
  }
  .why-pure > h2, .why-pure > .section-title,
  .why-pure > [class*="title"] {
    padding: 0 20px 28px !important;
    font-size: clamp(22px, 6.5vw, 30px) !important;
  }
  .why-pure-grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: scroll !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 14px !important;
    padding: 0 20px 20px !important;
    grid-template-columns: unset !important;
    grid-template-rows: unset !important;
  }
  .why-pure-grid::-webkit-scrollbar { display: none !important; }

  .why-pure-card {
    flex: 0 0 72vw !important;
    min-width: 72vw !important;
    max-width: 72vw !important;
    scroll-snap-align: start !important;
    padding: 24px 20px 28px !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
  .why-pure-icon {
    width: 56px !important;
    height: 56px !important;
    min-height: unset !important;
    flex-shrink: 0 !important;
  }
  .why-pure-icon img,
  .why-pure-icon svg {
    width: 56px !important;
    height: 56px !important;
    object-fit: contain !important;
  }
  .why-pure-card__title {
    font-size: clamp(15px, 4.2vw, 18px) !important;
    line-height: 1.3 !important;
    margin: 0 !important;
  }
  .why-pure-card__desc {
    font-size: 13px !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    color: inherit !important;
  }

  /* ══════════════════════════════════════
     CP-TEASER — "Revenir à l'essentiel"
     Fix overflow + tiers full-width
     ══════════════════════════════════════ */
  .cp-teaser {
    padding: 50px 20px 54px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  .cp-teaser__tiers {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 24px !important;
  }
  .cp-tier {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 16px 18px !important;
    border-radius: 10px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
  }
  .cp-tier__icon, .cp-tier > svg,
  .cp-tier > img, .cp-tier > [class*="icon"] {
    flex-shrink: 0 !important;
    width: 36px !important;
    height: 36px !important;
  }
  .cp-tier__text, .cp-tier > div,
  .cp-tier > span, .cp-tier > p {
    flex: 1 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
  .cp-teaser__title {
    font-size: clamp(24px, 7vw, 32px) !important;
    line-height: 1.15 !important;
  }
  .cp-teaser__subtitle {
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-top: 10px !important;
  }
  .cp-teaser__cta, .cp-teaser__btn {
    margin-top: 28px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* ══════════════════════════════════════
     TESTIMONIALS — Carousel horizontal
     (remplace grille 420px overflow)
     ══════════════════════════════════════ */
  .testimonials {
    padding: 50px 0 !important;
    overflow: hidden !important;
  }
  .testimonials > h2,
  .testimonials > .section-title,
  .testimonials > [class*="title"],
  .testimonials > header {
    padding: 0 20px 28px !important;
    font-size: clamp(22px, 6.5vw, 30px) !important;
  }
  .testimonials-track {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: scroll !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 14px !important;
    padding: 0 20px 20px !important;
    grid-template-columns: unset !important;
    align-items: stretch !important;
  }
  .testimonials-track::-webkit-scrollbar { display: none !important; }

  .testi-card {
    flex: 0 0 82vw !important;
    min-width: 82vw !important;
    max-width: 82vw !important;
    scroll-snap-align: start !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    height: auto !important;
  }
  .testi-stars {
    margin-bottom: 12px !important;
  }
  .testi-quote {
    font-size: 14px !important;
    line-height: 1.65 !important;
    margin: 0 0 16px !important;
  }
  .testi-author {
    font-size: 13px !important;
  }

  /* ══════════════════════════════════════
     CATEGORIES GRID — 2 colonnes propres
     ══════════════════════════════════════ */
  .categories-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 16px 16px !important;
  }
  .categories-grid > * {
    border-radius: 8px !important;
    overflow: hidden !important;
  }
}


/* =============================================
   PURE YOGA — MOBILE BLOC 5 — PADDING RESET
   Fix padding: 60px 20px sur icon/title/desc
   ============================================= */

@media (max-width: 768px) {

  /* ── WHY-PURE : reset tous les paddings internes ── */
  .why-pure-icon,
  .why-pure-card__title,
  .why-pure-card__desc {
    padding: 0 !important;
    margin: 0 !important;
  }
  .why-pure-icon {
    width: 56px !important;
    height: 56px !important;
    flex-shrink: 0 !important;
    margin-bottom: 14px !important;
    display: block !important;
  }
  .why-pure-icon svg,
  .why-pure-icon img {
    width: 56px !important;
    height: 56px !important;
    display: block !important;
  }
  .why-pure-card__title {
    font-size: clamp(16px, 4.5vw, 19px) !important;
    line-height: 1.3 !important;
    margin-bottom: 10px !important;
  }
  .why-pure-card__desc {
    font-size: 13px !important;
    line-height: 1.65 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* ── CP-TEASER : reset padding enfants ── */
  .cp-teaser__label,
  .cp-teaser__title,
  .cp-teaser__subtitle,
  .cp-teaser__cta,
  .cp-teaser__note {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .cp-tier * {
    box-sizing: border-box !important;
  }

  /* ── TESTIMONIALS : reset paddings internes ── */
  .testi-quote,
  .testi-author,
  .testi-stars {
    padding: 0 !important;
    margin: 0 0 10px !important;
  }
  .testi-quote {
    font-size: 14px !important;
    line-height: 1.65 !important;
    font-style: italic !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 6 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .testi-card {
    display: flex !important;
    flex-direction: column !important;
  }
}


/* =============================================
   PURE YOGA — MOBILE BLOC 6 — AESTHETIC FINAL
   Philosophy fix | CP-tier dots | Global polish
   Strict @media (max-width: 768px) — PC inchangé
   ============================================= */

@media (max-width: 768px) {

  /* ══════════════════════════════════════════
     PHILOSOPHIE — Fix grille + lisibilité totale
     ══════════════════════════════════════════ */
  .philosophy {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: unset !important;
    padding: 56px 24px 60px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    gap: 32px !important;
    text-align: center !important;
  }
  .philosophy-visual {
    display: none !important;
  }
  .philosophy-text {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
  }
  .philosophy-text .section-eyebrow {
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
  }
  .philosophy-text .section-title {
    font-size: clamp(26px, 7.5vw, 34px) !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
  .philosophy-text .title-divider {
    width: 40px !important;
    margin: 4px auto !important;
  }
  .philosophy-text p {
    font-size: 15px !important;
    line-height: 1.75 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .philosophy-text .cta-link {
    font-size: 11px !important;
    letter-spacing: 2px !important;
    margin-top: 8px !important;
  }
  .philosophy-stats {
    width: 100% !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px 16px !important;
    padding: 0 !important;
  }
  .stat-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 6px !important;
  }
  .stat-number, .stat-item > strong,
  .stat-item > [class*="number"], .stat-item > span:first-child {
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.1 !important;
  }
  .stat-label, .stat-item > [class*="label"],
  .stat-item > span:last-child, .stat-item > p {
    font-size: 11px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
  }

  /* ══════════════════════════════════════════
     CP-TIER — Ronds parfaitement circulaires
     ══════════════════════════════════════════ */
  .cp-tier {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 14px 18px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 10px !important;
  }
  .cp-tier__dot {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    flex: 0 0 36px !important;
    border-radius: 50% !important;
    display: block !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1 / 1 !important;
  }
  .cp-tier__name {
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    flex: 1 !important;
  }
  .cp-tier__desc {
    font-size: 13px !important;
    opacity: 0.7 !important;
    white-space: nowrap !important;
  }

  /* ══════════════════════════════════════════
     WHY-PURE — Réduire gap header/cards
     ══════════════════════════════════════════ */
  .why-pure {
    padding: 48px 0 40px !important;
  }
  .why-pure > *:first-child {
    padding: 0 20px 20px !important;
    margin: 0 !important;
  }
  .why-pure > h2, .why-pure > .section-title {
    padding: 0 20px 8px !important;
    font-size: clamp(22px, 6.5vw, 30px) !important;
  }
  .why-pure > p, .why-pure > .section-subtitle {
    padding: 0 20px 20px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin: 0 !important;
  }

  /* ══════════════════════════════════════════
     GLOBAL EYEBROW + TYPOGRAPHIE
     ══════════════════════════════════════════ */
  .section-eyebrow {
    font-size: 11px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
  }

  /* ══════════════════════════════════════════
     NOS FAVORIS — Header compact
     ══════════════════════════════════════════ */
  .pure-fav {
    padding: 48px 0 40px !important;
  }
  .pure-fav__header {
    padding: 0 20px 20px !important;
    gap: 6px !important;
  }
  .pure-fav__title {
    font-size: clamp(22px, 6.5vw, 30px) !important;
    line-height: 1.15 !important;
  }

  /* ══════════════════════════════════════════
     TESTIMONIALS — Header compact + cartes
     ══════════════════════════════════════════ */
  .testimonials {
    padding: 48px 0 40px !important;
  }
  .testimonials > h2,
  .testimonials > .section-title {
    padding: 0 20px 6px !important;
    font-size: clamp(22px, 6.5vw, 30px) !important;
  }
  .testimonials > p,
  .testimonials > .section-subtitle,
  .testimonials > .testi-summary {
    padding: 0 20px 20px !important;
    font-size: 13px !important;
    margin: 0 !important;
  }
  .testi-card {
    background: #faf9f7 !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    border-radius: 14px !important;
    padding: 22px 20px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05) !important;
  }
  .testi-stars {
    margin-bottom: 12px !important;
    font-size: 14px !important;
  }
  .testi-quote {
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-bottom: 14px !important;
    font-style: italic !important;
  }
  .testi-author {
    font-size: 12px !important;
    opacity: 0.75 !important;
  }

  /* ══════════════════════════════════════════
     SOCIAL PROOF / TRUST BAR
     ══════════════════════════════════════════ */
  .social-proof {
    padding: 40px 24px !important;
  }
  .social-proof__inner, [class*="social-proof"] > * {
    flex-wrap: wrap !important;
    gap: 20px 32px !important;
    justify-content: center !important;
  }

  /* ══════════════════════════════════════════
     EMAIL CAPTURE
     ══════════════════════════════════════════ */
  .email-capture {
    padding: 56px 24px !important;
    text-align: center !important;
  }
  .email-capture__title, [class*="email-capture"] h2 {
    font-size: clamp(22px, 6.5vw, 30px) !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
  }
  .email-capture__form, [class*="email-capture"] form {
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .email-capture__input, [class*="email-capture"] input {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
  }
  .email-capture__btn, [class*="email-capture"] button {
    width: 100% !important;
    padding: 14px !important;
    font-size: 13px !important;
    letter-spacing: 1.5px !important;
  }
}
