:root {

  /* ═══════════════════════════════════════
     BBW4LIFE — BRAND COLORS (core)
  ═══════════════════════════════════════ */
  --bbw-black:        #0d0d0d;
  --bbw-black-soft:   #1a1a1a;
  --bbw-gold:         #c9963e;
  --bbw-gold-vivid:   #FFD700;
  --bbw-gold-light:   #e8bc6a;
  --bbw-rose:         #c0385e;
  --bbw-rose-light:   #d4506e;
  --bbw-white:        #ffffff;
  --bbw-white-soft:   rgba(255,255,255,0.85);
  --bbw-mist:         rgba(255,255,255,0.45);

  /* ═══════════════════════════════════════
     HERO BANNER
  ═══════════════════════════════════════ */
  --hero-height-desktop:      500px;
  --hero-height-mobile:       450px;
  --hero-thumb-size-desktop:  80px;
  --hero-thumb-size-mobile:   52px;
  --hero-thumb-gap:           12px;
  --hero-btn-bg:              var(--bbw-gold);
  --hero-btn-color:           #000000;
  --hero-btn-hover-bg:        var(--bbw-gold-vivid);
  --hero-text-color:          var(--bbw-white);
  --hero-dot-inactive:        var(--bbw-mist);
  --hero-dot-active:          var(--bbw-gold-vivid);
  --hero-transition:          0.55s cubic-bezier(0.4, 0, 0.2, 1);

  /* ═══════════════════════════════════════
     AI CHATBOT
  ═══════════════════════════════════════ */
  --cf-rose:          var(--bbw-rose);
  --cf-rose-light:    var(--bbw-rose-light);
  --cf-gold:          var(--bbw-gold-light);
  --cf-white:         var(--bbw-white);
  --cf-bg:            #fdf8f5;
  --cf-surface:       var(--bbw-white);
  --cf-text:          #1e1a1c;
  --cf-muted:         #8e7e85;
  --cf-border:        rgba(201, 150, 62, 0.15);
  --cf-shadow:        0 20px 60px rgba(107, 52, 96, 0.22), 0 8px 24px rgba(0,0,0,0.10);
  --cf-radius:        20px;
  --cf-radius-msg:    18px;
  --cf-gradient:      linear-gradient(135deg, var(--bbw-rose) 0%, #7b3f6e 100%);

  /* ═══════════════════════════════════════
     GLOBAL UI
  ═══════════════════════════════════════ */
  --green:            #22a06b;
  --charcoal:         var(--bbw-black-soft);
  --slate:            #42383e;
  --mist:             #8a7a82;
  --mist-light:       #b8adb3;

  --border:           rgba(201, 150, 62, 0.09);
  --border-mid:       rgba(201, 150, 62, 0.18);

  --shadow-soft:      0 2px 16px rgba(0,0,0,0.15);
  --shadow-mid:       0 6px 28px rgba(0,0,0,0.20);
  --shadow-lift:      0 14px 50px rgba(0,0,0,0.25);
  --shadow-glow:      0 0 36px rgba(201, 150, 62, 0.30);

  --radius-xs:        4px;
  --radius-sm:        8px;
  --radius-md:        16px;
  --radius-lg:        26px;
  --radius-xl:        40px;
  --radius-full:      100px;

  --font-display:     'Cormorant Garamond', Georgia, serif;
  --font-body:        'DM Sans', system-ui, sans-serif;

  --section-pad:      48px;
  --section-pad-sm:   28px;
  --section-gap:      15px;

  --transition:       all 0.30s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow:  all 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}


html {
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}



/* ═══════════════════════════════════════════════
   STORY CIRCLES SECTION — BBW4LIFE Premium
═══════════════════════════════════════════════ */

.story-circles-section {
  width: 100%;
  overflow: hidden;
  padding: 30px 0 5px;
  background: var(--bg, #fff);
  position: relative;
}

.story-circles-track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 6px 20px 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.story-circles-track::-webkit-scrollbar { display: none; }


.story-circles-section:not(.anim--marquee) .story-circles-track {
  justify-content: flex-start;
  padding-left: max(24px, calc((100vw - (90px * var(--sc-count, 7) + 18px * (var(--sc-count, 7) - 1))) / 2));
  padding-right: 24px;
}

@media (min-width: 769px) {
  .story-circles-section:not(.anim--marquee) .story-circles-track {
    justify-content: flex-start;  
    padding-left: 20px;
    padding-right: 20px;
  }
}


.story-circles-section.anim--marquee .story-circles-track {
  justify-content: flex-start;
  overflow: hidden;
  padding: 6px 0 10px;
  flex-wrap: nowrap;
  width: 100%;
  display: flex;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  );
}
.story-circles-section.anim--marquee .story-circles-track:hover .story-circles-marquee-inner {
  animation-play-state: paused;
}

.story-circles-marquee-inner {
  display: flex;
  gap: 18px;
  animation: sc-marquee-scroll 100s linear infinite;
  will-change: transform;
  flex-shrink: 0;
}
.story-circles-marquee-inner:nth-child(2) {
  margin-left: 18px;
}
@keyframes sc-marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(calc(-100% - 18px)); }
}


.story-circle-item {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  text-decoration: none;
  scroll-snap-align: start;
  width: 90px;
  animation: sc-entrance 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
@keyframes sc-entrance {
  from { opacity: 0; transform: translateY(16px) scale(0.85); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}


.story-circle-ring {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  padding: 3px;
  background: conic-gradient(
    #0d0d0d   0deg,
    #4a4a4a  60deg,
    #1f1f1f 120deg,
    #6e6e6e 180deg,
    #111111 240deg,
    #3a3a3a 300deg,
    #0d0d0d 360deg
  );
  transition: box-shadow 0.3s ease;
  position: relative;
  flex-shrink: 0;
  box-shadow: 0 2px 10px rgba(0,0,0,0.25);
}

.story-circle-ring::before {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: #fff;
  z-index: 0;
  transition: inset 0.3s ease;
}

/* ════════════════════════════════
   BORDER STYLES
════════════════════════════════ */


.story-circles-section.border--conic_noir .story-circle-ring {
  background: conic-gradient(
    #0d0d0d   0deg,
    #4a4a4a  60deg,
    #1f1f1f 120deg,
    #6e6e6e 180deg,
    #111111 240deg,
    #3a3a3a 300deg,
    #0d0d0d 360deg
  );
}
.story-circles-section.border--conic_noir .story-circle-ring::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  background: conic-gradient(
    transparent   0deg,
    rgba(255,255,255,0.30) 60deg,
    transparent  120deg,
    rgba(255,255,255,0.12) 200deg,
    transparent  280deg
  );
  z-index: 2;
  pointer-events: none;
  animation: sc-shimmer 4s linear infinite;
}
@keyframes sc-shimmer {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}


.story-circles-section.border--solid .story-circle-ring {
  background: var(--sc-border-color, #c0385e);
  padding: var(--sc-border-size, 3px);
}
.story-circles-section.border--solid .story-circle-ring::after { display: none; }


.story-circles-section.border--gradient_rgb .story-circle-ring {
  background: conic-gradient(
    #ff6b6b, #ffd93d, #6bcb77,
    #4d96ff, #c77dff, #ff6b6b
  );
  padding: var(--sc-border-size, 3px);
  animation: sc-rgb-spin 4s linear infinite;
}
.story-circles-section.border--gradient_rgb .story-circle-ring::after { display: none; }
@keyframes sc-rgb-spin {
  from { filter: hue-rotate(0deg); }
  to   { filter: hue-rotate(360deg); }
}


.story-circles-section.border--dashed .story-circle-ring {
  background: transparent;
  padding: 0;
  border: var(--sc-border-size, 3px) dashed var(--sc-border-color, #c0385e);
  box-shadow: none;
}
.story-circles-section.border--dashed .story-circle-ring::before { inset: 0; }
.story-circles-section.border--dashed .story-circle-ring::after  { display: none; }
.story-circles-section.border--dashed .story-circle-img { border-radius: 50%; }


.story-circles-section.border--dotted .story-circle-ring {
  background: transparent;
  padding: 0;
  border: var(--sc-border-size, 3px) dotted var(--sc-border-color, #c9963e);
  box-shadow: none;
}
.story-circles-section.border--dotted .story-circle-ring::before { inset: 0; }
.story-circles-section.border--dotted .story-circle-ring::after  { display: none; }
.story-circles-section.border--dotted .story-circle-img { border-radius: 50%; }


.story-circles-section.border--double .story-circle-ring {
  background: transparent;
  padding: 0;
  border: var(--sc-border-size, 4px) double var(--sc-border-color, #c9963e);
  box-shadow:
    0 0 0 2px var(--sc-border-color, #c9963e),
    inset 0 0 0 2px var(--sc-border-color, #c9963e);
}
.story-circles-section.border--double .story-circle-ring::before { inset: 6px; }
.story-circles-section.border--double .story-circle-ring::after  { display: none; }
.story-circles-section.border--double .story-circle-img { border-radius: 50%; }


.story-circles-section:not(.anim--spin) .story-circle-item:hover .story-circle-ring {
  box-shadow:
    0 8px 28px rgba(0,0,0,0.38),
    0 0 0 4px rgba(0,0,0,0.08),
    0 0 18px 2px rgba(0,0,0,0.15);
}
.story-circles-section:not(.anim--spin) .story-circle-item:hover .story-circle-ring::before {
  inset: 2px;
}
.story-circles-section.border--dashed .story-circle-item:hover .story-circle-ring,
.story-circles-section.border--dotted .story-circle-item:hover .story-circle-ring { transform: scale(1.12); }
.story-circles-section.border--gradient_rgb .story-circle-item:hover .story-circle-ring {
  animation-play-state: paused;
}

.story-circle-img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  position: relative;
  z-index: 1;
  display: block;
}


.story-circle-label {
  font-size: 11px;
  font-weight: 600;
  color: #1a1a1a;
  text-align: center;
  max-width: 86px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
  letter-spacing: 0.04em;
  transition: color 0.2s ease, letter-spacing 0.2s ease;
  position: relative;
  z-index: 10;
}
.story-circle-item:hover .story-circle-label {
  color: #000;
  letter-spacing: 0.08em;
}


.story-circle-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1a1a1a, #555);
  box-shadow: 0 1px 4px rgba(0,0,0,0.3);
  animation: sc-pulse-dot 2s ease-in-out infinite;
}
@keyframes sc-pulse-dot {
  0%, 100% { transform: scale(1);   opacity: 0.65; }
  50%       { transform: scale(1.6); opacity: 1; box-shadow: 0 0 8px rgba(0,0,0,0.45); }
}

/* ════════════════════════════════
   ANIMATIONS
════════════════════════════════ */


.story-circles-section.anim--float .story-circle-ring {
  animation: sc-float 3.2s ease-in-out infinite;
}
@keyframes sc-float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-7px); }
}


.story-circles-section.anim--pulse .story-circle-ring {
  animation: sc-pulse 2.2s ease-in-out infinite;
}
@keyframes sc-pulse {
  0%, 100% { transform: scale(1);    box-shadow: 0 2px 10px rgba(0,0,0,0.22); }
  50%       { transform: scale(1.07); box-shadow: 0 8px 24px rgba(0,0,0,0.40), 0 0 0 8px rgba(0,0,0,0.06); }
}


.story-circles-section.anim--bounce .story-circle-ring {
  animation: sc-bounce 1.8s ease-in-out infinite;
}
@keyframes sc-bounce {
  0%, 100% { transform: translateY(0); }
  45%       { transform: translateY(-10px); }
  60%       { transform: translateY(-5px); }
  75%       { transform: translateY(-10px); }
}


.story-circles-section.anim--glow .story-circle-ring {
  animation: sc-glow-noir 2.4s ease-in-out infinite alternate;
}
@keyframes sc-glow-noir {
  from { box-shadow: 0 4px 12px rgba(0,0,0,0.25); }
  to   { box-shadow: 0 8px 30px rgba(0,0,0,0.50), 0 0 0 6px rgba(0,0,0,0.08); }
}


.story-circles-section.anim--spin .story-circle-ring {
  animation: sc-spin-ring 6s linear infinite;
}
.story-circles-section.anim--spin .story-circle-item:hover .story-circle-ring {
  animation-play-state: paused;
}

.story-circles-section.anim--spin .story-circle-ring::before {
  animation: sc-spin-counter 6s linear infinite;
}
.story-circles-section.anim--spin .story-circle-img {
  animation: sc-spin-counter 6s linear infinite;
}
@keyframes sc-spin-ring {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes sc-spin-counter {
  from { transform: rotate(0deg); }
  to   { transform: rotate(-360deg); }
}


.story-circles-section.anim--wave .story-circle-item .story-circle-ring {
  animation: sc-wave 2s ease-in-out infinite;
}
.story-circles-section:not(.anim--marquee) .story-circle-item:nth-child(1)  .story-circle-ring { animation-delay: 0s;    }
.story-circles-section:not(.anim--marquee) .story-circle-item:nth-child(2)  .story-circle-ring { animation-delay: 0.15s; }
.story-circles-section:not(.anim--marquee) .story-circle-item:nth-child(3)  .story-circle-ring { animation-delay: 0.30s; }
.story-circles-section:not(.anim--marquee) .story-circle-item:nth-child(4)  .story-circle-ring { animation-delay: 0.45s; }
.story-circles-section:not(.anim--marquee) .story-circle-item:nth-child(5)  .story-circle-ring { animation-delay: 0.60s; }
.story-circles-section:not(.anim--marquee) .story-circle-item:nth-child(6)  .story-circle-ring { animation-delay: 0.75s; }
.story-circles-section:not(.anim--marquee) .story-circle-item:nth-child(7)  .story-circle-ring { animation-delay: 0.90s; }
.story-circles-section:not(.anim--marquee) .story-circle-item:nth-child(8)  .story-circle-ring { animation-delay: 1.05s; }
.story-circles-section:not(.anim--marquee) .story-circle-item:nth-child(9)  .story-circle-ring { animation-delay: 1.20s; }
.story-circles-section:not(.anim--marquee) .story-circle-item:nth-child(10) .story-circle-ring { animation-delay: 1.35s; }
@keyframes sc-wave {
  0%, 100% { transform: translateY(0); }
  25%       { transform: translateY(-10px); }
  75%       { transform: translateY(4px); }
}


.story-circles-section.anim--shake .story-circle-ring {
  animation: sc-shake 3s ease-in-out infinite;
}
@keyframes sc-shake {
  0%, 85%, 100%  { transform: rotate(0deg); }
  87%  { transform: rotate(-6deg); }
  89%  { transform: rotate(6deg); }
  91%  { transform: rotate(-5deg); }
  93%  { transform: rotate(5deg); }
  95%  { transform: rotate(-3deg); }
  97%  { transform: rotate(3deg); }
}


.story-circles-section:not(.anim--marquee):not(.anim--wave) .story-circle-item:nth-child(1)  .story-circle-ring { animation-delay: 0s;    }
.story-circles-section:not(.anim--marquee):not(.anim--wave) .story-circle-item:nth-child(2)  .story-circle-ring { animation-delay: 0.18s; }
.story-circles-section:not(.anim--marquee):not(.anim--wave) .story-circle-item:nth-child(3)  .story-circle-ring { animation-delay: 0.36s; }
.story-circles-section:not(.anim--marquee):not(.anim--wave) .story-circle-item:nth-child(4)  .story-circle-ring { animation-delay: 0.54s; }
.story-circles-section:not(.anim--marquee):not(.anim--wave) .story-circle-item:nth-child(5)  .story-circle-ring { animation-delay: 0.72s; }
.story-circles-section:not(.anim--marquee):not(.anim--wave) .story-circle-item:nth-child(6)  .story-circle-ring { animation-delay: 0.90s; }
.story-circles-section:not(.anim--marquee):not(.anim--wave) .story-circle-item:nth-child(7)  .story-circle-ring { animation-delay: 1.08s; }
.story-circles-section:not(.anim--marquee):not(.anim--wave) .story-circle-item:nth-child(8)  .story-circle-ring { animation-delay: 1.26s; }
.story-circles-section:not(.anim--marquee):not(.anim--wave) .story-circle-item:nth-child(9)  .story-circle-ring { animation-delay: 1.44s; }
.story-circles-section:not(.anim--marquee):not(.anim--wave) .story-circle-item:nth-child(10) .story-circle-ring { animation-delay: 1.62s; }


@media (max-width: 600px) {
  .story-circle-item  { width: 74px; }
  .story-circle-ring  { width: 66px; height: 66px; }
  .story-circle-label { font-size: 10px; max-width: 70px; }
  .story-circles-track { gap: 12px; padding: 6px 12px 10px; }
  .story-circles-section:not(.anim--marquee) .story-circles-track {
    padding-left: 16px;
    padding-right: 16px;
  }
  .story-circles-marquee-inner { gap: 12px; }
  .story-circles-marquee-inner:nth-child(2) { margin-left: 12px; }
}



.bbw-hero-banner {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  height: var(--hero-height-desktop);
  overflow: hidden;
  background: var(--bbw-black);
  display: flex;
  align-items: center;
  box-sizing: border-box;
  isolation: isolate;
}


.bbw-hero-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 25;
  opacity: 0.030;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  background-size: 220px 220px;
  mix-blend-mode: overlay;
}


.bbw-hero-banner::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1.5px;
  background: linear-gradient(
    90deg,
    transparent   0%,
    #a83050       15%,
    #d4506c       30%,
    var(--bbw-gold-vivid) 50%,
    #d4506c       70%,
    #a83050       85%,
    transparent   100%
  );
  z-index: 30;
  box-shadow:
    0 0 14px rgba(212, 80, 108, 0.85),
    0 0  4px rgba(255, 215,   0, 0.40);
  animation: bbwTopLine 7s ease-in-out infinite alternate;
}

@keyframes bbwTopLine {
  0%   { opacity: 0.25; transform: scaleX(0.4); transform-origin: center; }
  60%  { opacity: 1.00; transform: scaleX(1.0); }
  100% { opacity: 0.65; transform: scaleX(0.85); }
}


.bbw-hero__glow {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 70% at -5%  60%,  rgba(212, 80, 108, 0.22) 0%, transparent 60%),
    radial-gradient(ellipse 35% 45% at 18%  95%,  rgba(212, 80, 108, 0.10) 0%, transparent 55%),
    radial-gradient(ellipse 40% 50% at 100% 20%,  rgba(201,150,  62, 0.14) 0%, transparent 60%),
    radial-gradient(ellipse 20% 25% at 85%  80%,  rgba(232,188, 106, 0.07) 0%, transparent 50%);
  animation: bbwAmbientShift 12s ease-in-out infinite alternate;
}

@keyframes bbwAmbientShift {
  0%   { opacity: 0.70; transform: scale(1);    }
  50%  { opacity: 0.95; transform: scale(1.03); }
  100% { opacity: 0.80; transform: scale(1.06); }
}


.bbw-hero__orb {
  position: absolute;
  width: 680px;
  height: 680px;
  border-radius: 50%;
  left: -120px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  pointer-events: none;
  background: radial-gradient(
    ellipse at 40% 45%,
    rgba(212, 80, 108, 0.13) 0%,
    rgba(160, 40,  80, 0.07) 38%,
    transparent              72%
  );
  filter: blur(2px);
  animation: bbwOrbBreath 9s ease-in-out infinite alternate;
}

@keyframes bbwOrbBreath {
  0%   { transform: translateY(-50%) scale(0.88); opacity: 0.65; }
  100% { transform: translateY(-50%) scale(1.12); opacity: 1.00; }
}


.bbw-hero__particles {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  overflow: hidden;
}

.bbw-hero__particle {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,80,108,0.85) 0%, transparent 70%);
  opacity: 0;
  animation: bbwParticleFloat linear infinite;
}

.bbw-hero__particle:nth-child(1) { width: 3px; height: 3px; left: 12%; top: 75%; animation-duration: 15s; animation-delay:  0s; }
.bbw-hero__particle:nth-child(2) { width: 2px; height: 2px; left: 28%; top: 82%; animation-duration: 20s; animation-delay:  3s; background: radial-gradient(circle, rgba(232,200,130,0.90) 0%, transparent 70%); }
.bbw-hero__particle:nth-child(3) { width: 4px; height: 4px; left: 55%; top: 88%; animation-duration: 24s; animation-delay:  6s; }
.bbw-hero__particle:nth-child(4) { width: 2px; height: 2px; left: 72%; top: 78%; animation-duration: 17s; animation-delay:  9s; background: radial-gradient(circle, rgba(232,200,130,0.70) 0%, transparent 70%); }
.bbw-hero__particle:nth-child(5) { width: 3px; height: 3px; left: 85%; top: 86%; animation-duration: 21s; animation-delay:  4s; }
.bbw-hero__particle:nth-child(6) { width: 2px; height: 2px; left: 40%; top: 80%; animation-duration: 26s; animation-delay: 12s; background: radial-gradient(circle, rgba(232,200,130,0.60) 0%, transparent 70%); }

@keyframes bbwParticleFloat {
  0%   { opacity: 0;    transform: translateY(0)     translateX(0)    scale(1);   }
  10%  { opacity: 0.85; }
  50%  { opacity: 0.45; transform: translateY(-45vh) translateX(18px) scale(1.3); }
  90%  { opacity: 0.15; }
  100% { opacity: 0;    transform: translateY(-90vh) translateX(-10px) scale(0.7); }
}


.bbw-hero__media {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.bbw-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity var(--hero-transition);
  pointer-events: none;
}

.bbw-hero__media img.bbw-hero--active { opacity: 1; }

.bbw-hero__media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bbw-hero__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(108deg, rgba(6,4,7,0.93) 0%, rgba(6,4,7,0.60) 40%, rgba(6,4,7,0.10) 70%, rgba(6,4,7,0.25) 100%),
    linear-gradient(270deg, rgba(212,80,108,0.06) 0%, transparent 45%);
  z-index: 2;
}


.bbw-hero__content {
  position: relative;
  z-index: 10;
  padding: 0 68px;
  max-width: 640px;
  color: var(--hero-text-color);
}

.bbw-hero__eyebrow {
  font-family: var(--font-body);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: #d4506c;
  margin-bottom: 14px;
  opacity: 0;
  transform: translateY(18px);
  animation: bbwHeroFadeUp 0.65s 0.05s cubic-bezier(0.22,1,0.36,1) forwards;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: relative;
}

.bbw-hero__eyebrow::before {
  content: '';
  display: inline-block;
  width: 26px;
  height: 1.5px;
  background: linear-gradient(90deg, transparent, #d4506c);
  border-radius: 2px;
  flex-shrink: 0;
}

.bbw-hero__eyebrow::after {
  content: '';
  position: absolute;
  left: -10px; top: 50%;
  transform: translateY(-50%);
  width: 120px; height: 28px;
  background: radial-gradient(ellipse at center, rgba(212,80,108,0.16) 0%, transparent 70%);
  z-index: -1;
  pointer-events: none;
}

.bbw-hero__title {
  font-family: var(--font-body);
  font-size: clamp(11px, 1.2vw, 13px);
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  margin-bottom: 12px;
  opacity: 0;
  transform: translateY(18px);
  animation: bbwHeroFadeUp 0.65s 0.18s cubic-bezier(0.22,1,0.36,1) forwards;
}

.bbw-hero__subtitle {
  font-family: var(--font-display);
  font-size: clamp(30px, 4.8vw, 60px);
  font-weight: 700;
  line-height: 1.05;
  margin-bottom: 18px;
  color: var(--bbw-white);
  letter-spacing: -0.01em;
  text-shadow:
    0  0  80px rgba(212, 80, 108, 0.20),
    0  0  40px rgba(201,150,  62, 0.12),
    0  2px  6px rgba(0,0,0,0.80);
  opacity: 0;
  transform: translateY(18px);
  animation: bbwHeroFadeUp 0.70s 0.30s cubic-bezier(0.22,1,0.36,1) forwards;
}

.bbw-hero__subtitle em {
  font-style: normal;
  background: linear-gradient(135deg, #e8718a 0%, #d4506c 40%, #f0395c 60%, #d4506c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
}

.bbw-hero__subtitle em::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 0%; height: 2px;
  background: #d4506c;
  border-radius: 2px;
  animation: bbwUnderline 1.2s 0.9s ease forwards;
  box-shadow: 0 0 8px rgba(212,80,108,0.65);
}

@keyframes bbwUnderline { to { width: 100%; } }

.bbw-hero__text {
  font-family: var(--font-body);
  font-size: clamp(13px, 1.25vw, 15px);
  color: rgba(255,255,255,0.65);
  line-height: 1.72;
  margin-bottom: 32px;
  opacity: 0;
  transform: translateY(18px);
  animation: bbwHeroFadeUp 0.65s 0.44s cubic-bezier(0.22,1,0.36,1) forwards;
}

@keyframes bbwHeroFadeUp {
  to { opacity: 1; transform: translateY(0); }
}

.bbw-hero--anim-reset {
  opacity: 0 !important;
  transform: translateY(16px) !important;
  animation: none !important;
}

.bbw-hero--anim-play {
  animation: bbwHeroFadeUp 0.55s cubic-bezier(0.22,1,0.36,1) forwards !important;
}


.bbw-hero__countdown {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  opacity: 0;
  transform: translateY(18px);
  animation: bbwHeroFadeUp 0.65s 0.56s cubic-bezier(0.22,1,0.36,1) forwards;
}

.bbw-hero__cd-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(10,6,10,0.72);
  border: 1px solid rgba(201,150,62,0.40);
  border-radius: var(--radius-sm);
  padding: 10px 16px;
  min-width: 62px;
  position: relative;
  overflow: hidden;
  box-shadow:
    0 0 20px rgba(201,150,62,0.07) inset,
    0 4px 24px rgba(0,0,0,0.60);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.bbw-hero__cd-block::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,150,62,0.60), transparent);
}

.bbw-hero__cd-block:hover {
  border-color: rgba(201,150,62,0.70);
  box-shadow:
    0 0 28px rgba(201,150,62,0.14) inset,
    0 6px 32px rgba(201,150,62,0.22);
}

.bbw-hero__cd-num {
  font-family: var(--font-display);
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 700;
  color: var(--bbw-white);
  line-height: 1;
  letter-spacing: 0.02em;
  text-shadow: 0 0 20px rgba(201,150,62,0.40);
  transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1);
}

.bbw-hero__cd-block:hover .bbw-hero__cd-num {
  transform: scale(1.08);
}

.bbw-hero__cd-label {
  font-family: var(--font-body);
  font-size: 8.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c9963e;
  margin-top: 5px;
}

.bbw-hero__cd-sep {
  font-size: 24px;
  font-weight: 300;
  color: rgba(201,150,62,0.70);
  margin-bottom: 16px;
  align-self: center;
  animation: bbwSepBlink 2.2s ease-in-out infinite;
}

@keyframes bbwSepBlink {
  0%, 100% { opacity: 1;    }
  50%       { opacity: 0.20; }
}


.bbw-hero__btn-wrap {
  opacity: 0;
  transform: translateY(18px);
  animation: bbwHeroFadeUp 0.65s 0.70s cubic-bezier(0.22,1,0.36,1) forwards;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}

.bbw-hero__btn {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #c9963e;
  background: #000000;
  border: 2px solid #c9963e;
  border-radius: var(--radius-full);
  padding: 15px 40px;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition:
    transform 0.28s cubic-bezier(0.34,1.56,0.64,1),
    box-shadow 0.38s ease;
  box-shadow: 0 4px 22px rgba(0,0,0,0.80);
  animation: bbwBtnPulse 3.8s ease-in-out infinite;
}

.bbw-hero__btn::before,
.bbw-hero__btn::after {
  display: none;
}

.bbw-hero__btn:hover {
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 14px 40px rgba(0,0,0,0.90);
  color: #f0c96a;
  border-color: #f0c96a;
}

.bbw-hero__btn:active {
  transform: translateY(0) scale(0.97);
  box-shadow: 0 4px 14px rgba(0,0,0,0.70);
}

@keyframes bbwBtnPulse {
  0%, 100% { box-shadow: 0 4px 22px rgba(0,0,0,0.80); }
  50%       { box-shadow: 0 8px 36px rgba(0,0,0,0.95); }
}

.bbw-hero__btn--added {
  background: #000000 !important;
  color: #c9963e !important;
  border-color: #c9963e !important;
  pointer-events: none;
  animation: none !important;
  box-shadow: 0 4px 22px rgba(0,0,0,0.70) !important;
}


.bbw-hero__thumbs {
  position: absolute;
  z-index: 10;
  display: flex;
  gap: var(--hero-thumb-gap);
}

.bbw-hero__thumbs.bbw-thumbs--right {
  flex-direction: column;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
}

.bbw-hero__thumbs.bbw-thumbs--left {
  flex-direction: column;
  left: 32px;
  top: 50%;
  transform: translateY(-50%);
}

.bbw-hero__thumb {
  width: var(--hero-thumb-size-desktop);
  height: var(--hero-thumb-size-desktop);
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid rgba(212,80,108,0.15);
  opacity: 0.48;
  transition:
    opacity      0.38s cubic-bezier(0.22,1,0.36,1),
    border-color 0.38s ease,
    transform    0.38s cubic-bezier(0.34,1.56,0.64,1),
    box-shadow   0.38s ease;
  flex-shrink: 0;
}

.bbw-hero__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.38s cubic-bezier(0.22,1,0.36,1);
}

.bbw-hero__thumb.bbw-hero--active,
.bbw-hero__thumb:hover {
  opacity: 1;
  border-color: #d4506c;
  transform: scale(1.12);
  box-shadow:
    0 0 0  3px rgba(212,80,108,0.18),
    0 0 20px rgba(212,80,108,0.55);
}

.bbw-hero__thumb:hover img {
  transform: scale(1.08);
}


.bbw-hero__dots {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 10;
}

.bbw-hero__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,0.22);
  border: 1px solid rgba(212,80,108,0.22);
  cursor: pointer;
  transition: background 0.3s ease, width 0.3s ease, box-shadow 0.3s ease;
  padding: 0;
}

.bbw-hero__dot.bbw-hero--active {
  background: #d4506c;
  width: 22px;
  border-radius: 4px;
  border-color: #d4506c;
  box-shadow: 0 0 10px rgba(212,80,108,0.70);
}


@media (max-width: 767px) {
  .bbw-hero-banner {
    height: var(--hero-height-mobile);
    align-items: flex-end;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }

  .bbw-hero__media::after {
    background:
      linear-gradient(to top, rgba(6,4,7,0.94) 0%, rgba(6,4,7,0.50) 55%, rgba(6,4,7,0.05) 100%),
      linear-gradient(270deg, rgba(212,80,108,0.05) 0%, transparent 40%);
  }

  .bbw-hero__content {
    padding: 0 20px 24px;
    max-width: 100%;
  }

  .bbw-hero__subtitle {
    font-size: clamp(22px, 7.5vw, 30px);
    margin-bottom: 10px;
  }

  .bbw-hero__text {
    font-size: 12px;
    margin-bottom: 16px;
  }

  .bbw-hero__countdown {
    gap: 5px;
    margin-bottom: 16px;
  }

  .bbw-hero__cd-block {
    padding: 6px 10px;
    min-width: 44px;
    border-radius: 6px;
  }

  .bbw-hero__cd-num  { font-size: 20px; }
  .bbw-hero__cd-sep  { font-size: 18px; margin-bottom: 12px; }
  .bbw-hero__btn     { font-size: 12px; padding: 11px 24px; }

  .bbw-hero__thumbs {
    flex-direction: row !important;
    top: auto !important;
    transform: none !important;
    left: 50% !important;
    right: auto !important;
    bottom: 12px;
    transform: translateX(-50%) !important;
  }

  .bbw-hero__thumbs.bbw-thumbs--mobile-top {
    bottom: auto !important;
    top: 12px !important;
    transform: translateX(-50%) !important;
  }

  .bbw-hero__thumb {
    width: var(--hero-thumb-size-mobile);
    height: var(--hero-thumb-size-mobile);
    border-radius: 50%;
  }

  .bbw-hero__dots {
    bottom: auto;
    top: 50%;
    left: auto;
    right: 12px;
    transform: translateY(-50%);
    flex-direction: column;
  }
}
#bbwHeroVideoPlaceholder {
  opacity: 1 !important;
  z-index: 3 !important;
  transition: opacity 0.5s ease !important;
  position: absolute !important;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}


/* ================================================================
   COLLECTION MARQUEE BOOST
================================================================ */
.col-marquee-section {
  background: #000;
  padding: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  border-top: 2px solid var(--col-accent);
  border-bottom: 2px solid var(--col-accent);
  margin-top: 0;
}

.col-marquee-section::before,
.col-marquee-section::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}

.col-marquee-section::before {
  left: 0;
  background: linear-gradient(to right, #faf7ef 0%, transparent 100%);
}

.col-marquee-section::after {
  right: 0;
  background: linear-gradient(to left, #f5f1e6 0%, transparent 100%);
}

.col-marquee-track {
  display: flex;
  align-items: center;
  padding: 14px 0;
  width: 100%;
}

.col-marquee-inner {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  animation: colMarqueeScroll 50s linear infinite !important;
  will-change: transform;
}

.col-marquee-inner:hover {
  animation-play-state: paused;
}

@keyframes colMarqueeScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.col-marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 32px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.2s;
}

.col-marquee-item i {
  color: var(--col-accent-2);
  font-size: 14px;
}

.col-marquee-item:hover {
  color: #be9128;
}

.col-marquee-sep {
  color: var(--col-accent);
  font-size: 12px;
  flex-shrink: 0;
  opacity: 0.8;
}

@media (max-width: 768px) {
  .col-marquee-section::before,
  .col-marquee-section::after {
    width: 60px;
  }
  .col-marquee-section {
    margin-top: 0;
  }
  .col-marquee-item {
    font-size: 11px;
    padding: 0 20px;
  }
  .col-marquee-inner {
    animation-duration: 35s !important;
  }
}

@media (max-width: 768px) {
  .col-sort {
    position: static;
  }

  .col-sort-menu {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    width: calc(100vw - 48px);
    max-width: 320px;
    right: auto;
    z-index: 9999;
  }

  .col-sort-menu.open {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: all;
  }
}





/* ================================================================
   BBW4LIFE — CART DRAWER — ULTRA PREMIUM LUMIÈRE
================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700&family=DM+Sans:wght@400;500;600;700;800&display=swap');


.cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0);
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    z-index: 9999;
    pointer-events: none;
    transition: background 0.50s ease, backdrop-filter 0.50s ease;
}
.cart-overlay.active {
    background: rgba(5, 0, 10, 0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: all;
}

/* ================================================================
   CONTENEUR PRINCIPAL
================================================================ */
.cart-drawer {
    position: fixed;
    top: 0;
    right: -500px;
    width: 430px;
    max-width: 100vw;
    height: 100%;
    height: 100dvh;
    
    background: #faf6f0;
    box-shadow:
        -1px 0 0 rgba(201,150,62,0.25),
        -8px 0 60px rgba(13,0,26,0.35),
        -40px 0 120px rgba(13,0,26,0.18);
    transition: right 0.50s cubic-bezier(0.4,0,0.2,1);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.cart-drawer.active { right: 0; }


.cart-drawer::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg,
        transparent 0%,
        #7b3f6e 10%,
        #c9963e 25%,
        #f5d080 45%,
        #ffffff 50%,
        #f5d080 55%,
        #c9963e 75%,
        #7b3f6e 90%,
        transparent 100%);
    background-size: 200% 100%;
    animation: topBarShimmer 2.8s ease-in-out infinite;
    z-index: 100;
}
@keyframes topBarShimmer {
    0%   { background-position: -200% 0; opacity: 0.9; }
    50%  { background-position: 0% 0;    opacity: 1; }
    100% { background-position: 200% 0;  opacity: 0.9; }
}


.cart-drawer::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 3px; height: 100%;
    background: linear-gradient(180deg,
        transparent 0%,
        rgba(201,150,62,0.70) 15%,
        rgba(245,208,128,0.90) 50%,
        rgba(201,150,62,0.70) 85%,
        transparent 100%);
    z-index: 100;
    animation: sideGlow 3.5s ease-in-out infinite;
}
@keyframes sideGlow {
    0%, 100% { opacity: 0.45; }
    50%       { opacity: 1; }
}

/* ================================================================
   HEADER — INCHANGÉ
================================================================ */
.drawer-header {
    flex-shrink: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 22px 18px;
    background: linear-gradient(135deg, #0d0d0d 0%, #1a0812 60%, #0d0d0d 100%) !important;
    position: relative;
    z-index: 2;
    overflow: hidden;
}
.drawer-header::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 55%;
    height: 100%;
    background: linear-gradient(110deg,
        transparent 0%,
        rgba(201,150,62,0.06) 30%,
        rgba(245,208,128,0.14) 50%,
        rgba(201,150,62,0.06) 70%,
        transparent 100%);
    animation: headerLightPass 4s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}
@keyframes headerLightPass {
    0%   { left: -100%; opacity: 0; }
    10%  { opacity: 1; }
    90%  { opacity: 1; }
    100% { left: 160%; opacity: 0; }
}
.drawer-header::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1.5px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(201,150,62,0.40) 15%,
        rgba(201,150,62,0.80) 35%,
        rgba(245,208,128,1.00) 50%,
        rgba(201,150,62,0.80) 65%,
        rgba(201,150,62,0.40) 85%,
        transparent 100%);
    animation: headerBorderShimmer 3.5s ease-in-out infinite;
}
@keyframes headerBorderShimmer {
    0%, 100% { opacity: 0.60; }
    50%       { opacity: 1; }
}
.drawer-header h3::before {
    content: '';
    position: absolute;
    top: -60px; left: -30px;
    width: 180px; height: 180px;
    background: radial-gradient(ellipse,
        rgba(201,150,62,0.12) 0%,
        rgba(192,56,94,0.06) 40%,
        transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    animation: headerHalo 5s ease-in-out infinite;
}
@keyframes headerHalo {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50%       { opacity: 1; transform: scale(1.2); }
}
.drawer-header h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.30rem;
    font-weight: 700;
    color: #fdfdfd !important;
    margin: 0;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    position: relative;
    z-index: 2;
    text-shadow:
        0 0 20px rgba(201,150,62,0.55),
        0 0 40px rgba(201,150,62,0.25);
}
.drawer-header h3::after {
    content: '';
    position: absolute;
    bottom: -5px; left: 0;
    width: 70%;
    height: 1px;
    background: linear-gradient(90deg,
        rgba(201,150,62,0.80),
        rgba(201,150,62,0));
}
.close-drawer {
    background: rgba(201,150,62,0.08);
    border: 1px solid rgba(201,150,62,0.28);
    cursor: pointer;
    color: rgba(232,188,106,0.60);
    width: 36px; height: 36px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.30s cubic-bezier(0.4,0,0.2,1);
    line-height: 1;
    font-size: 1rem;
    position: relative;
    overflow: hidden;
    z-index: 2;
}
.close-drawer::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center,
        rgba(201,150,62,0.20) 0%,
        transparent 70%);
    opacity: 0;
    transition: opacity 0.30s;
}
.close-drawer:hover::before { opacity: 1; }
.close-drawer:hover {
    color: #fff;
    border-color: rgba(201,150,62,0.55);
    transform: rotate(90deg);
    box-shadow:
        0 0 20px rgba(201,150,62,0.35),
        0 0 8px rgba(201,150,62,0.20) inset;
    background: rgba(201,150,62,0.15);
}

/* ================================================================
   BODY — ✦ RETOUCHE
================================================================ */
.cart-drawer__body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(201,150,62,0.30) transparent;
    box-sizing: border-box;
    
    background: #faf6f0;
}
.cart-drawer__body::-webkit-scrollbar { width: 3px; }
.cart-drawer__body::-webkit-scrollbar-track { background: transparent; }
.cart-drawer__body::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg,
        rgba(201,150,62,0.50),
        rgba(201,150,62,0.35));
    border-radius: 4px;
}

/* ================================================================
   FOOTER — ✦ RETOUCHE
================================================================ */
.cart-drawer__footer {
    flex-shrink: 0;
    padding: 14px 20px 22px;
    
    background: #fffdf9;
    z-index: 2;
    position: relative;
    border-top: 1px solid rgba(201,150,62,0.14);
    box-shadow: 0 -4px 24px rgba(201,150,62,0.07);
}
.cart-drawer__footer::before {
    content: '';
    position: absolute;
    top: 0; left: 15px; right: 15px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(201,150,62,0.55),
        rgba(232,188,106,0.85),
        rgba(201,150,62,0.55),
        transparent);
}

.subtotal {
    font-family: 'DM Sans', sans-serif;
    font-weight: 600;
    font-size: 0.74rem;
    
    color: #a08878;
    margin: 0 0 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    letter-spacing: 0.10em;
    text-transform: uppercase;
}
.subtotal strong,
.subtotal .subtotal-amount {
    color: #1e1a1c;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}


.checkout {
    display: block;
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg,
        #0d0d0d 0%,
        #1a1a1a 50%,
        #0d0d0d 100%);
    background-size: 300% 100%;
    color: #e8bc6a;
    border: 1.5px solid rgba(201,150,62,0.70);
    border-radius: 100px;
    cursor: pointer;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: all 0.50s cubic-bezier(0.4,0,0.2,1);
    box-shadow:
        0 4px 24px rgba(201,150,62,0.25),
        0 1px 0 rgba(255,255,255,0.08) inset,
        0 -1px 0 rgba(0,0,0,0.20) inset;
    text-align: center;
    position: relative;
    overflow: hidden;
    animation: checkoutPulse 3s ease-in-out infinite;
}
@keyframes checkoutPulse {
    0%, 100% {
        box-shadow:
            0 4px 24px rgba(201,150,62,0.25),
            0 1px 0 rgba(255,255,255,0.08) inset,
            0 -1px 0 rgba(0,0,0,0.20) inset;
    }
    50% {
        box-shadow:
            0 6px 40px rgba(201,150,62,0.50),
            0 0 70px rgba(201,150,62,0.15),
            0 1px 0 rgba(255,255,255,0.08) inset,
            0 -1px 0 rgba(0,0,0,0.20) inset;
    }
}
.checkout::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(201,150,62,0.15) 50%,
        transparent 100%);
    animation: btnShimmer 2.2s ease-in-out infinite;
    pointer-events: none;
}
@keyframes btnShimmer {
    0%   { left: -60%; }
    100% { left: 160%; }
}
.checkout:hover {
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 50%, #1a1a1a 100%);
    border-color: rgba(245,208,128,1);
    color: #f5d080;
    transform: translateY(-3px);
    box-shadow:
        0 10px 52px rgba(201,150,62,0.45),
        0 0 90px rgba(201,150,62,0.20),
        0 1px 0 rgba(255,255,255,0.10) inset;
    animation: none;
}
.checkout:active { transform: translateY(-1px); }

/* ================================================================
   CART ITEMS — ✦ RETOUCHE
================================================================ */
.cart-items {
    padding: 14px 18px 6px;
}

.cart-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 12px;
    
    border-bottom: 1px solid rgba(201,150,62,0.14);
    border-radius: 14px;
    transition: background 0.25s, box-shadow 0.25s;
    margin-bottom: 2px;
}
.cart-item:hover {
    
    background: rgba(255, 252, 245, 0.92);
    box-shadow: 0 4px 24px rgba(201,150,62,0.14);
}
.cart-item:last-child { border-bottom: none; }

.cart-item img {
    width: 78px; height: 78px;
    object-fit: cover;
    border-radius: 12px;
    cursor: pointer;
    flex-shrink: 0;
    border: 1.5px solid rgba(201,150,62,0.30);
    box-shadow:
        0 4px 14px rgba(0,0,0,0.10),
        0 0 0 3px rgba(201,150,62,0.07);
    transition: all 0.30s ease;
}
.cart-item img:hover {
    border-color: rgba(201,150,62,0.65);
    box-shadow:
        0 6px 22px rgba(0,0,0,0.14),
        0 0 0 4px rgba(201,150,62,0.14);
    transform: scale(1.04);
}

.cart-item h4 {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.87rem;
    font-weight: 600;
    color: #1e1a1c;
    cursor: pointer;
    line-height: 1.45;
    margin: 0 0 3px;
    flex: 1;
    transition: color 0.22s;
}
.cart-item h4:hover { color: #c9963e; }

.cart-item p {
    font-size: 1.0rem;
    color: #1e1a1c;
    font-weight: 700;
    margin: 0 0 2px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    letter-spacing: 0.02em;
}

.item-variant {
    font-size: 0.74rem;
    
    color: #b09898;
    font-weight: 400;
    margin: 2px 0 0;
    letter-spacing: 0.03em;
}


.quantity-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.quantity {
    display: flex;
    align-items: center;
    gap: 2px;
    
    background: rgba(253, 248, 238, 0.95);
    border: 1px solid rgba(201,150,62,0.32);
    border-radius: 10px;
    padding: 2px 4px;
    backdrop-filter: blur(4px);
}

.quantity button {
    background: none;
    color: #1e1a1c;
    border: none;
    width: 28px; height: 28px;
    border-radius: 7px;
    cursor: pointer;
    font-weight: 700;
    font-size: 1.05rem;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.20s;
    flex-shrink: 0;
}
.quantity button:hover {
    background: #1e1a1c;
    color: #e8bc6a;
    box-shadow: 0 2px 10px rgba(0,0,0,0.25);
    transform: scale(1.05);
}

.quantity span {
    font-size: 0.86rem;
    font-weight: 700;
    min-width: 22px;
    text-align: center;
    color: #1e1a1c;
    font-family: 'DM Sans', sans-serif;
}

.remove-item {
    background: none;
    border: none;
    color: #c8b4b4;
    cursor: pointer;
    font-size: 0.80rem;
    padding: 5px 7px;
    border-radius: 7px;
    transition: all 0.22s;
    flex-shrink: 0;
    display: flex; align-items: center;
}
.remove-item:hover {
    color: #1e1a1c;
    background: rgba(0,0,0,0.06);
    transform: scale(1.12);
}

/* ================================================================
   EMPTY CART — ✦ RETOUCHE COMPLÈTE
================================================================ */
.empty-cart {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 56px 28px 48px;
    min-height: 380px;
    text-align: center;
    position: relative;
    overflow: hidden;
    
    background: linear-gradient(160deg, #fdf8f0 0%, #faf3e8 50%, #fdf6ee 100%);
}

.empty-cart::before {
    content: '';
    position: absolute;
    top: 32%; left: 50%;
    transform: translate(-50%, -50%);
    width: 280px; height: 280px;
    
    background: radial-gradient(circle,
        rgba(201,150,62,0.18) 0%,
        rgba(232,188,106,0.08) 40%,
        transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    animation: emptyHalo 5s ease-in-out infinite;
}
.empty-cart::after {
    content: '';
    position: absolute;
    top: 35%; left: 55%;
    transform: translate(-50%, -50%);
    width: 200px; height: 200px;
    background: radial-gradient(circle,
        rgba(245,208,128,0.16) 0%,
        transparent 65%);
    border-radius: 50%;
    pointer-events: none;
    animation: emptyHalo 5s ease-in-out infinite reverse;
    animation-delay: 1s;
}
@keyframes emptyHalo {
    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }
    50%       { opacity: 1;   transform: translate(-50%, -50%) scale(1.15); }
}

.empty-cart__icon-wrap {
    position: relative;
    width: 104px; height: 104px;
    margin-bottom: 30px;
    flex-shrink: 0;
    z-index: 2;
}

.empty-cart__icon-wrap::before {
    content: '';
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    border: 1.5px solid transparent;
    border-top-color: rgba(201,150,62,0.70);
    border-right-color: rgba(201,150,62,0.22);
    animation: rotateSlow 7s linear infinite;
    pointer-events: none;
    filter: drop-shadow(0 0 5px rgba(201,150,62,0.35));
}
.empty-cart__icon-wrap::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1px solid transparent;
    border-bottom-color: rgba(201,150,62,0.40);
    border-left-color: rgba(201,150,62,0.14);
    animation: rotateSlow 4.5s linear infinite reverse;
    pointer-events: none;
}
@keyframes rotateSlow {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.empty-cart__icon-bg {
    width: 100%; height: 100%;
    
    background: linear-gradient(145deg,
        rgba(255,255,255,0.98) 0%,
        rgba(255,250,240,0.95) 60%,
        rgba(252,244,230,0.98) 100%);
    border-radius: 50%;
    border: 1.5px solid rgba(201,150,62,0.35);
    display: flex; align-items: center; justify-content: center;
    box-shadow:
        0 0 0 6px rgba(201,150,62,0.08),
        0 12px 40px rgba(30,26,28,0.10),
        0 4px 18px rgba(201,150,62,0.08),
        inset 0 1px 0 rgba(255,255,255,0.95),
        inset 0 0 24px rgba(201,150,62,0.10);
    position: relative;
    overflow: hidden;
}
.empty-cart__icon-bg::before {
    content: '';
    position: absolute;
    top: -30%; left: -30%;
    width: 70%; height: 70%;
    background: radial-gradient(ellipse,
        rgba(255,255,255,0.80) 0%,
        transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.empty-cart__icon {
    font-size: 2.8rem;
    line-height: 1;
    filter: drop-shadow(0 3px 8px rgba(201,150,62,0.28));
    animation: iconFloat 4s ease-in-out infinite;
    position: relative;
    z-index: 1;
}
@keyframes iconFloat {
    0%, 100% { transform: translateY(0) rotate(-2deg); }
    50%       { transform: translateY(-6px) rotate(2deg); }
}

.empty-cart__badge {
    position: absolute;
    top: -2px; right: -2px;
    width: 24px; height: 24px;
    background: linear-gradient(135deg, #1e1a1c, #2a2a2a);
    border: 2px solid rgba(201,150,62,0.60);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.65rem;
    font-weight: 800;
    color: #e8bc6a;
    font-family: 'DM Sans', sans-serif;
    box-shadow:
        0 2px 10px rgba(0,0,0,0.35),
        0 0 0 3px rgba(201,150,62,0.14);
    animation: badgePop 2.5s ease-in-out infinite;
}
@keyframes badgePop {
    0%, 100% { transform: scale(1); }
    50%       { transform: scale(1.10); }
}

.empty-cart h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.60rem;
    font-weight: 700;
    
    color: #2a1f1a;
    margin: 0 0 8px;
    letter-spacing: 0.04em;
    line-height: 1.25;
    position: relative;
    z-index: 2;
}
.empty-cart h3 span { color: #c9963e; }

.empty-cart__divider {
    width: 60px; height: 1px;
    background: linear-gradient(90deg,
        transparent,
        #c9963e,
        #e8bc6a,
        #c9963e,
        transparent);
    margin: 8px auto 16px;
    position: relative;
    z-index: 2;
    animation: dividerGlow 3s ease-in-out infinite;
}
@keyframes dividerGlow {
    0%, 100% { opacity: 0.55; width: 48px; }
    50%       { opacity: 1;    width: 76px; }
}

.empty-cart p {
    font-family: 'DM Sans', sans-serif;
    
    color: #a89090;
    margin: 0 0 32px;
    font-size: 0.84rem;
    line-height: 1.65;
    max-width: 230px;
    position: relative;
    z-index: 2;
}


.empty-cart .cta,
.empty-cart__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 36px;
    background: linear-gradient(135deg,
        #0d0d0d 0%,
        #1a1a1a 50%,
        #0d0d0d 100%);
    background-size: 200% 100%;
    color: #e8bc6a;
    border: 1.5px solid rgba(201,150,62,0.70);
    border-radius: 100px;
    cursor: pointer;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.40s ease;
    position: relative;
    overflow: hidden;
    z-index: 2;
    box-shadow:
        0 4px 24px rgba(201,150,62,0.20),
        0 1px 0 rgba(255,255,255,0.06) inset;
    animation: ctaPulse 3s ease-in-out infinite;
}
@keyframes ctaPulse {
    0%, 100% { box-shadow: 0 4px 24px rgba(201,150,62,0.20), 0 1px 0 rgba(255,255,255,0.06) inset; }
    50%       { box-shadow: 0 6px 36px rgba(201,150,62,0.40), 0 0 45px rgba(201,150,62,0.12), 0 1px 0 rgba(255,255,255,0.06) inset; }
}
.empty-cart .cta::before,
.empty-cart__cta::before {
    content: '';
    position: absolute;
    top: 0; left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg,
        transparent,
        rgba(201,150,62,0.15),
        transparent);
    animation: ctaShimmer 2.8s ease-in-out infinite;
    pointer-events: none;
}
@keyframes ctaShimmer {
    0%   { left: -75%; }
    100% { left: 150%; }
}
.empty-cart .cta:hover,
.empty-cart__cta:hover {
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 50%, #1a1a1a 100%);
    border-color: rgba(245,208,128,1);
    color: #f5d080;
    transform: translateY(-3px);
    box-shadow:
        0 10px 45px rgba(201,150,62,0.45),
        0 0 65px rgba(201,150,62,0.18),
        0 1px 0 rgba(255,255,255,0.08) inset;
    animation: none;
}
.empty-cart .cta:active,
.empty-cart__cta:active { transform: translateY(-1px); }
.empty-cart .cta span,
.empty-cart__cta span { position: relative; z-index: 1; }
.empty-cart .cta-arrow {
    font-size: 1.0rem;
    position: relative; z-index: 1;
    transition: transform 0.30s ease;
}
.empty-cart .cta:hover .cta-arrow,
.empty-cart__cta:hover .cta-arrow { transform: translateX(5px); }

/* ================================================================
   COUNTDOWN — ✦ RETOUCHE
================================================================ */
.cart-drawer__countdown {
    
    background: linear-gradient(100deg, #fdf8f0 0%, #faf4ea 60%, #fdf8f0 100%);
    border-bottom: 1px solid rgba(201,150,62,0.12);
    padding: 10px 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
}
.cart-drawer__countdown::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(201,150,62,0.30),
        rgba(201,150,62,0.55),
        rgba(201,150,62,0.30),
        transparent);
}
.cart-drawer__countdown::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(110deg,
        transparent 30%,
        rgba(255,255,255,0.65) 50%,
        transparent 70%);
    background-size: 200% 100%;
    animation: cdShimmer 4s linear infinite;
    pointer-events: none;
}
@keyframes cdShimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.cart-drawer__countdown-text {
    
    color: #9e7060;
    font-size: 0.70rem;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    font-family: 'DM Sans', sans-serif;
    position: relative; z-index: 1;
}

.cart-drawer__countdown-time {
    color: #1e1a1c;
    font-size: 1.08rem;
    font-weight: 700;
    font-family: 'Cormorant Garamond', Georgia, serif;
    letter-spacing: 0.12em;
    
    background: rgba(255, 252, 245, 0.95);
    border: 1px solid rgba(201,150,62,0.40);
    padding: 4px 16px;
    border-radius: 100px;
    min-width: 78px;
    text-align: center;
    position: relative; z-index: 1;
    box-shadow:
        0 2px 12px rgba(201,150,62,0.16),
        inset 0 1px 0 rgba(255,255,255,0.95);
    animation: timePulse 1s ease-in-out infinite;
}
@keyframes timePulse {
    0%, 100% { box-shadow: 0 2px 12px rgba(201,150,62,0.14), inset 0 1px 0 rgba(255,255,255,0.90); }
    50%       { box-shadow: 0 2px 22px rgba(201,150,62,0.30), inset 0 1px 0 rgba(255,255,255,0.90); }
}

/* ================================================================
   PROGRESS BAR — ✦ RETOUCHE
================================================================ */
.cart-drawer__progress-container {
    padding: 12px 18px 10px;
    
    background: linear-gradient(180deg, #fdf8f0, #faf6f0);
    border-bottom: 1px solid rgba(201,150,62,0.10);
}
.cart-drawer__progress-message {
    display: block;
    font-size: 0.74rem;
    font-weight: 600;
    
    color: #7a5060;
    margin-bottom: 9px;
    text-align: center;
    letter-spacing: 0.03em;
    font-family: 'DM Sans', sans-serif;
}
.cart-drawer__progress-message strong { color: #1e1a1c; }

.cart-drawer__progress-bar {
    width: 100%;
    height: 8px;
    background: rgba(201,150,62,0.12);
    border-radius: 20px;
    position: relative;
    overflow: visible;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.06);
}
.cart-drawer__progress-fill {
    height: 100%;
    background: linear-gradient(90deg,
        #1e1a1c 0%,
        #2a2a2a 60%,
        #c9963e 100%);
    border-radius: 20px;
    width: 0%;
    transition: width 0.65s cubic-bezier(0.34,1.56,0.64,1);
    position: relative;
    box-shadow:
        0 0 14px rgba(201,150,62,0.35),
        0 0 5px rgba(201,150,62,0.45);
}
.cart-drawer__progress-fill::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255,255,255,0.20) 50%,
        transparent 100%);
    background-size: 60px 100%;
    animation: barShimmer 1.8s linear infinite;
    border-radius: 20px;
}
@keyframes barShimmer {
    0%   { background-position: -60px 0; }
    100% { background-position: 300px 0; }
}
.cart-drawer__progress-fill::after {
    content: '';
    position: absolute;
    right: -2px; top: 50%;
    transform: translateY(-50%);
    width: 14px; height: 14px;
    background: radial-gradient(circle, #c9963e, #1e1a1c);
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow:
        0 0 0 3px rgba(201,150,62,0.22),
        0 0 12px rgba(201,150,62,0.50);
    animation: progPulse 2s ease-in-out infinite;
}
@keyframes progPulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(201,150,62,0.22), 0 0 10px rgba(201,150,62,0.42); }
    50%       { box-shadow: 0 0 0 6px rgba(201,150,62,0.09), 0 0 20px rgba(201,150,62,0.60); }
}
.cart-drawer__progress-truck {
    position: absolute;
    right: 0; top: 50%;
    transform: translateY(-50%);
    display: flex; align-items: center; justify-content: center;
    width: 26px; height: 26px;
    background: linear-gradient(135deg, #1e1a1c, #2a2a2a);
    border-radius: 50%;
    box-shadow: 0 2px 12px rgba(201,150,62,0.35);
    border: 2px solid rgba(201,150,62,0.50);
}
.cart-drawer__progress-truck svg {
    width: 13px; height: 13px;
    color: #e8bc6a;
    display: block;
}

/* ================================================================
   PROMO MESSAGE — ✦ RETOUCHE
================================================================ */
.cart-promo-message {
    padding: 9px 18px;
    text-align: center;
    
    background: linear-gradient(135deg,
        rgba(201,150,62,0.07) 0%,
        rgba(255,252,245,0.90) 50%,
        rgba(201,150,62,0.04) 100%);
    border-bottom: 1px solid rgba(201,150,62,0.12);
    position: relative;
}
.cart-promo-message::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, #c9963e, #e8bc6a);
    border-radius: 0 2px 2px 0;
    box-shadow: 1px 0 10px rgba(201,150,62,0.35);
}
.promo-text { font-size: 0.78rem; font-weight: 500; color: #7a5568; line-height: 1.55; font-family: 'DM Sans', sans-serif; }
.promo-text.initial  { color: #a09090; }
.promo-text.progress { color: #1e1a1c; font-weight: 600; }
.promo-text.complete { color: #22a06b; font-weight: 700; }
.promo-number        { color: #1e1a1c; font-weight: 800; font-size: 1.05em; }
.promo-text.complete .promo-number { color: #22a06b; }

/* ================================================================
   BANNER SLIDER — ✦ RETOUCHE COULEURS
================================================================ */
.cart-drawer__paul-banner {
    position: relative;
    height: 100px;
    overflow: hidden;
    width: 100%;
}
.cart-drawer__paul-banner::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 55px;
    background: linear-gradient(to top,
        rgba(250, 246, 240, 0.70),
        transparent);
    z-index: 3;
    pointer-events: none;
}
.cart-drawer__paul-banner .paul-banner-slide {
    position: absolute; inset: 0;
    opacity: 0; transition: opacity 1.4s ease-in-out; z-index: 1;
}
.cart-drawer__paul-banner .paul-banner-slide.active { opacity: 1; z-index: 2; }
.cart-drawer__paul-banner .paul-banner-image { width: 100%; height: 100%; object-fit: cover; display: block; }
.cart-drawer__paul-banner .paul-banner-title {
    position: absolute;
    bottom: 22px; left: 50%;
    transform: translateX(-50%) translateY(8px);
    color: #fff;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.05rem; font-weight: 700;
    text-align: center; width: 88%;
    background: rgba(30, 15, 8, 0.65);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(201,150,62,0.35);
    padding: 6px 14px; border-radius: 10px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.45);
    line-height: 1.3; margin: 0; opacity: 0;
    transition: opacity 1.2s ease-in-out, transform 1.2s ease-in-out;
    z-index: 4;
    box-shadow:
        0 4px 20px rgba(0,0,0,0.22),
        0 0 0 1px rgba(201,150,62,0.12);
}
.cart-drawer__paul-banner .paul-banner-slide.active .paul-banner-title {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.cart-drawer__paul-banner .paul-banner-indicators {
    position: absolute;
    bottom: 7px; left: 50%;
    transform: translateX(-50%);
    display: flex; gap: 5px; z-index: 5;
}
.cart-drawer__paul-banner .paul-banner-indicator {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,0.40);
    cursor: pointer; transition: all 0.30s;
}
.cart-drawer__paul-banner .paul-banner-indicator.active {
    background: #c9963e;
    transform: scale(1.45);
    box-shadow: 0 0 10px rgba(201,150,62,0.75);
}


.paul-banner-video-overlay {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 10px;
    pointer-events: none;
}

.paul-banner-video-overlay .paul-banner-indicators {
    pointer-events: all;
}

.paul-banner-video-texts {
    position: relative;
    width: 92%;
    text-align: center;
    margin-bottom: 4px;
}

.paul-banner-video-text {
    position: absolute;
    bottom: 0;
    left: 0; right: 0;
    color: #fff;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.05rem;
    font-weight: 700;
    text-align: center;
    background: rgba(30, 15, 8, 0.65);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(201, 150, 62, 0.35);
    padding: 6px 14px;
    border-radius: 10px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.45);
    line-height: 1.3;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    pointer-events: none;
}

.paul-banner-video-text.active {
    opacity: 1;
    transform: translateY(0);
    position: relative;
}


.paul-banner-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 2;
    filter: brightness(0.88) saturate(1.05);
}


.cart-drawer__paul-banner.paul-banner--video-mode {
    height: 140px;
    background: #0d0a08;
}


.cart-drawer__paul-banner {
    height: 130px;
}


#cp-paul-banner {
    height: 180px;
}


#cp-paul-banner.paul-banner--video-mode {
    height: 200px;
    background: #0d0a08;
}


#cp-paul-banner {
    margin-top: -20px !important;
    margin-bottom: -10px !important;
}

#cp-paul-banner .paul-banner-title {
    bottom: 18px;
    font-size: 1.15rem;
    padding: 8px 20px;
}

#cp-paul-banner .paul-banner-video-text.active {
    font-size: 1.15rem;
    padding: 8px 20px;
}

#cp-paul-banner .paul-banner-indicators {
    bottom: 6px;
}


/* ================================================================
   PROMO CODE SLIDER — inchangé
================================================================ */
.cart-drawer__promo-slider-container {
    margin: 12px 14px 6px;
}
.cart-drawer__promo-slider {
    background: linear-gradient(135deg, #0d0d0d 0%, #1a0812 55%, #0f0a0d 100%);
    border: 1px solid rgba(201,150,62,0.35);
    border-radius: 18px;
    padding: 14px 16px 12px;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 6px 34px rgba(13,0,26,0.28),
        0 0 0 1px rgba(201,150,62,0.08),
        inset 0 1px 0 rgba(255,255,255,0.07);
}
.cart-drawer__promo-slider::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1.5px;
    background: linear-gradient(90deg,
        transparent,
        #7b3f6e 10%,
        #c9963e 30%,
        #f5d080 50%,
        #c9963e 70%,
        #7b3f6e 90%,
        transparent);
    animation: topBarShimmer 3s ease-in-out infinite;
}
.cart-drawer__promo-slider::after {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(110deg,
        transparent 0%,
        rgba(201,150,62,0.05) 30%,
        rgba(245,208,128,0.10) 50%,
        rgba(201,150,62,0.05) 70%,
        transparent 100%);
    animation: promoLightPass 5s ease-in-out infinite;
    pointer-events: none;
}
@keyframes promoLightPass {
    0%   { left: -100%; opacity: 0; }
    15%  { opacity: 1; }
    85%  { opacity: 1; }
    100% { left: 150%; opacity: 0; }
}
.cart-drawer__promo-slide        { display: none; opacity: 0; transition: opacity 0.5s; }
.cart-drawer__promo-slide.active { display: block; opacity: 1; }
.cart-drawer__promo-title {
    margin: 0 0 4px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.05rem; font-weight: 700;
    color: #e8bc6a;
    letter-spacing: 0.04em;
    text-shadow: 0 0 16px rgba(201,150,62,0.40);
}
.cart-drawer__promo-text {
    margin: 0 0 11px;
    font-size: 0.74rem;
    color: rgba(255,255,255,0.45);
    line-height: 1.50;
    font-family: 'DM Sans', sans-serif;
}
.cart-drawer__promo-text strong { color: rgba(255,255,255,0.78); font-weight: 600; }
.cart-drawer__promo-code-row { display: flex; align-items: center; gap: 10px; }
.cart-drawer__promo-code {
    font-size: 1.12rem; font-weight: 700;
    font-family: 'Cormorant Garamond', Georgia, serif;
    color: #e8bc6a;
    background: rgba(201,150,62,0.10);
    border: 1px solid rgba(201,150,62,0.32);
    padding: 6px 14px;
    border-radius: 10px;
    letter-spacing: 0.14em;
    flex: 1; text-align: center;
    transition: all 0.25s;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
    text-shadow: 0 0 18px rgba(201,150,62,0.50);
}
.cart-drawer__promo-code:hover {
    background: rgba(201,150,62,0.18);
    box-shadow: 0 0 24px rgba(201,150,62,0.26), inset 0 1px 0 rgba(255,255,255,0.05);
}
.cart-drawer__promo-copy-btn {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    width: 36px; height: 36px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; flex-shrink: 0;
    transition: all 0.25s;
}
.cart-drawer__promo-copy-btn:hover {
    background: rgba(201,150,62,0.24);
    border-color: rgba(201,150,62,0.55);
    transform: scale(1.08);
    box-shadow: 0 0 18px rgba(201,150,62,0.30);
}
.cart-drawer__promo-copy-btn svg { width: 14px; height: 14px; stroke: rgba(255,255,255,0.55); fill: none; stroke-linecap: round; stroke-linejoin: round; transition: stroke 0.22s; }
.cart-drawer__promo-copy-btn:hover svg { stroke: #e8bc6a; }
.cart-drawer__promo-copy-btn.copied svg { stroke: #22a06b; }
.cart-drawer__promo-indicators { display: flex; justify-content: center; gap: 7px; margin-top: 11px; }
.cart-drawer__promo-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    cursor: pointer; transition: all 0.28s;
}
.cart-drawer__promo-dot.active {
    background: #c9963e !important;
    transform: scale(1.40);
    box-shadow: 0 0 12px rgba(201,150,62,0.65);
}

/* ================================================================
   REVIEWS CAROUSEL — ✦ RETOUCHE
================================================================ */
.reviews-carousel {
    margin: 10px 12px;
    overflow: hidden;
    position: relative;
    height: 130px;
    border-top: 1px solid rgba(201,150,62,0.10);
    box-sizing: border-box;
}
.review-item {
    display: none; align-items: center;
    position: absolute; width: 100%; opacity: 0;
    transition: opacity 0.5s;
}
.review-item.active { display: flex; opacity: 1; }

.review-item-inner {
    
    background: #fffdf9;
    border: 1px solid rgba(201,150,62,0.18);
    border-radius: 16px;
    padding: 12px 14px 10px;
    width: 100%;
    box-sizing: border-box;
    box-shadow:
        0 4px 20px rgba(201,150,62,0.07),
        0 1px 0 rgba(255,255,255,0.95) inset;
    position: relative;
    overflow: hidden;
}
.review-item-inner::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, #c9963e, rgba(201,150,62,0));
    border-radius: 16px 0 0 16px;
}

.review-top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; width: 100%; box-sizing: border-box; }
.review-avatar {
    width: 46px !important; height: 46px !important;
    border-radius: 50%; object-fit: cover; flex-shrink: 0;
    border: 1.5px solid rgba(201,150,62,0.32);
    box-shadow: 0 2px 10px rgba(0,0,0,0.10);
}
.review-meta { flex: 1; min-width: 0; overflow: hidden; }
.review-meta h4 { font-size: 0.80rem; font-weight: 700; margin: 0 0 2px; color: #1e1a1c; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: 'DM Sans', sans-serif; }
.review-stars { color: #c9963e; font-size: 0.88rem; letter-spacing: 1px; line-height: 1; }
.verified-badge {
    flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    width: 28px; height: 28px;
    background: #f0f4ff;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(66,133,244,0.15);
    border: 1px solid rgba(66,133,244,0.15);
}
.verified-badge svg { display: block; }
.verified-badge i { font-size: 0.80rem; }

.review-text { font-size: 0.76rem; color: #6a4a50; font-style: italic; margin: 0 0 5px; line-height: 1.50; word-break: break-word; font-family: 'DM Sans', sans-serif; }
.review-date { font-size: 0.66rem; color: #c0a8a8; display: block; letter-spacing: 0.04em; }

/* ================================================================
   MARQUEE — inchangé
================================================================ */
.cart-marquee {
    overflow: hidden;
    background: linear-gradient(90deg, #0d0d0d 0%, #1a0812 50%, #0d0d0d 100%);
    padding: 8px 0;
    position: relative;
    border-top: 1px solid rgba(201,150,62,0.20);
    border-bottom: 1px solid rgba(201,150,62,0.20);
}
.cart-marquee::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(201,150,62,0.55),
        rgba(245,208,128,0.80),
        rgba(201,150,62,0.55),
        transparent);
    animation: topBarShimmer 3s ease-in-out infinite;
}
.cart-marquee::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(90deg,
        transparent 20%,
        rgba(201,150,62,0.07) 50%,
        transparent 80%);
    background-size: 200% 100%;
    animation: cdShimmer 3s linear infinite;
    pointer-events: none;
}
.cart-marquee .marquee-content {
    display: flex; gap: 2px;
    white-space: nowrap;
    animation: marquee 15s linear infinite;
}
.cart-marquee .marquee-content span {
    color: rgba(232,188,106,0.85);
    font-size: 0.72rem; font-weight: 600;
    letter-spacing: 0.10em; text-transform: uppercase;
    flex-shrink: 0;
    font-family: 'DM Sans', sans-serif;
}
@keyframes marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ================================================================
   PAYMENT ICONS — ✦ RETOUCHE
================================================================ */
.payment-icons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 15px !important;
    padding: 10px 16px 14px;
    border-top: 1px solid rgba(201,150,62,0.10);
    
    background: rgba(253, 248, 240, 0.80);
}
.payment-icons i {
    font-size: 1.55rem;
    color: #000000 !important;
    transition: all 0.25s;
}
.payment-icons i:hover {
    color: #c9963e;
    filter: grayscale(0) opacity(1);
    transform: translateY(-2px);
}

/* ================================================================
   CART EXTRA
================================================================ */
.cart-extra { display: none; }
.cart-extra.active { display: block; }

/* ================================================================
   FREE BADGE
================================================================ */
.free-badge {
    display: inline-block;
    background: linear-gradient(135deg, #1e1a1c, #2a2a2a);
    color: #e8bc6a;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 100px;
    border: 1px solid rgba(201,150,62,0.50);
    letter-spacing: 0.06em;
    margin-left: 6px;
    vertical-align: middle;
}

/* ================================================================
   RESPONSIVE
================================================================ */
@media (max-width: 480px) {
    .cart-drawer { width: 100%; right: -100%; }
    .cart-drawer__paul-banner { height: 110px; }
    .cart-drawer__paul-banner .paul-banner-title { font-size: 0.86rem; }
    .cart-drawer__countdown-time { font-size: 0.96rem; }
    .cart-item img { width: 66px; height: 66px; }
    .empty-cart { padding: 44px 22px 38px; min-height: 300px; }
    .empty-cart__icon-wrap { width: 86px; height: 86px; }
    .empty-cart h3 { font-size: 1.32rem; }
    .checkout { font-size: 0.74rem; padding: 14px; }
    .payment-icons { overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; padding-bottom: 6px; }
    .payment-icons::-webkit-scrollbar { display: none; }
    .payment-icons i { flex: 0 0 auto; }
}




/* ════════════════════════════════════════
   WISHLIST MODAL — BBW4LIFE Ultra Premium
   Beauty Has No Sizes
════════════════════════════════════════ */


.wishlist-modal {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1900;
}
.wishlist-modal.active { display: flex; }


.wishlist-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 3, 12, 0.72);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
}


.modal-content {
  background: linear-gradient(160deg,
    #fff9f5 0%,
    #fff4f7 40%,
    #fdf8ff 70%,
    #fff9f4 100%
  );
  border-radius: 28px;
  max-width: 460px;
  width: 95%;
  max-height: 88vh;
  text-align: left;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  border: 1.5px solid rgba(201, 150, 62, 0.22);
  box-shadow:
    0 40px 100px rgba(10, 4, 16, 0.32),
    0 0 0 1px rgba(192, 56, 94, 0.08),
    0 0 60px rgba(192, 56, 94, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  transform: scale(0.88) translateY(24px);
  opacity: 0;
  transition: transform 0.42s cubic-bezier(0.34, 1.56, 0.64, 1),
              opacity 0.32s ease;
}
.wishlist-modal.active .modal-content {
  transform: scale(1) translateY(0);
  opacity: 1;
}


.wishlist-modal-shimmer {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg,
    var(--bbw-rose, #c0385e),
    var(--bbw-gold-light, #e8bc6a),
    var(--bbw-rose, #c0385e),
    var(--bbw-gold, #c9963e),
    var(--bbw-rose, #c0385e)
  );
  background-size: 300% 100%;
  animation: wl-modal-shimmer 3s linear infinite;
  border-radius: 28px 28px 0 0;
  z-index: 3;
}
@keyframes wl-modal-shimmer {
  0%   { background-position: -300% 0; }
  100% { background-position: 300% 0; }
}


.modal-content::before {
  content: '';
  position: absolute;
  top: -40px; left: 50%;
  transform: translateX(-50%);
  width: 280px; height: 80px;
  background: radial-gradient(ellipse, rgba(201,150,62,0.18) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}


.drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 22px 16px;
  border-bottom: 1px solid rgba(201, 150, 62, 0.12);
  flex-shrink: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.70) 0%, transparent 100%);
  position: relative;
  z-index: 1;
}
.wishlist-header-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.wishlist-icon-wrap {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #fde8ed, #fdf0f5);
  border: 1.5px solid rgba(192, 56, 94, 0.22);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 4px 16px rgba(192, 56, 94, 0.20),
    inset 0 1px 0 rgba(255,255,255,0.90);
  flex-shrink: 0;
  animation: wl-icon-pulse 2.5s ease-in-out infinite;
}
@keyframes wl-icon-pulse {
  0%, 100% {
    box-shadow: 0 4px 16px rgba(192,56,94,0.20), inset 0 1px 0 rgba(255,255,255,0.90);
  }
  50% {
    box-shadow: 0 4px 28px rgba(192,56,94,0.42), 0 0 0 4px rgba(192,56,94,0.08), inset 0 1px 0 rgba(255,255,255,0.90);
  }
}

.drawer-header h3 {
  font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
  font-size: 22px;
  font-weight: 700;
  color: #1a0a12;
  margin: 0 0 3px;
  letter-spacing: -0.3px;
  line-height: 1;
}
.wishlist-subtitle {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: linear-gradient(90deg, #c0385e, #c9963e);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.close-modal {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(201, 150, 62, 0.08);
  border: 1.5px solid rgba(201, 150, 62, 0.20);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #9a6c1e;
  transition: all 0.30s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
}
.close-modal:hover {
  background: linear-gradient(135deg, #c0385e, #7b3f6e);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 16px rgba(192, 56, 94, 0.38);
  transform: rotate(90deg) scale(1.08);
}


.wishlist-bar-row {
  display: flex;
  gap: 5px;
  padding: 14px 22px 0;
  flex-shrink: 0;
}
.wishlist-bar {
  flex: 1;
  height: 2.5px;
  background: rgba(201, 150, 62, 0.10);
  border-radius: 4px;
  overflow: hidden;
}
.wishlist-bar-fill {
  height: 100%;
  width: 0;
  border-radius: 4px;
  background: linear-gradient(90deg,
    #c0385e,
    #c9963e,
    #e8bc6a,
    #c0385e
  );
  background-size: 300% 100%;
  animation: wl-bar-grow 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards,
             wl-modal-shimmer 2.5s linear infinite;
}
.wishlist-bar:nth-child(1) .wishlist-bar-fill { animation-delay: 0.08s, 0s; }
.wishlist-bar:nth-child(2) .wishlist-bar-fill { animation-delay: 0.24s, 0s; }
.wishlist-bar:nth-child(3) .wishlist-bar-fill { animation-delay: 0.40s, 0s; }
@keyframes wl-bar-grow { to { width: 100%; } }


.wishlist-items {
  flex: 1;
  overflow-y: auto;
  padding: 14px 20px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.wishlist-items::-webkit-scrollbar { display: none; }

.wishlist-items .wishlist-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px 12px 16px;
  border-radius: 18px;
  border: 1.5px solid rgba(201, 150, 62, 0.14);
  background: linear-gradient(135deg,
    rgba(255,255,255,0.95) 0%,
    rgba(253, 242, 245, 0.85) 100%
  );
  margin-bottom: 10px;
  transition: all 0.30s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(192, 56, 94, 0.06);
}


.wishlist-item::before {
  content: '';
  position: absolute;
  left: 0; top: 8px; bottom: 8px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(to bottom, #c9963e, #c0385e);
  box-shadow: 0 0 8px rgba(201, 150, 62, 0.40);
}


.wishlist-item::after {
  content: '';
  position: absolute;
  top: 0; left: -80%;
  width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(201,150,62,0.07), transparent);
  transform: skewX(-15deg);
  transition: none;
  pointer-events: none;
}
.wishlist-item:hover::after {
  left: 140%;
  transition: left 0.55s ease;
}

.wishlist-item:last-child { margin-bottom: 0; }
.wishlist-item:hover {
  border-color: rgba(201, 150, 62, 0.30);
  box-shadow:
    0 6px 24px rgba(192, 56, 94, 0.12),
    0 0 0 1px rgba(201, 150, 62, 0.12);
  transform: translateX(4px) translateY(-1px);
  background: linear-gradient(135deg,
    rgba(255,255,255,1) 0%,
    rgba(255, 244, 247, 0.95) 100%
  );
}

.wishlist-item img {
  width: 60px; height: 60px;
  object-fit: cover;
  border-radius: 14px;
  border: 1.5px solid rgba(201, 150, 62, 0.18);
  flex-shrink: 0;
  transition: all 0.32s ease;
  box-shadow: 0 4px 12px rgba(30,10,20,0.12);
}
.wishlist-item:hover img {
  transform: scale(1.06);
  box-shadow: 0 6px 18px rgba(192, 56, 94, 0.18);
  border-color: rgba(201, 150, 62, 0.35);
}

.wishlist-item h4 {
  flex-grow: 1;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 13px;
  font-weight: 700;
  color: #1a0a12;
  margin: 0 0 5px;
  line-height: 1.35;
}

.wishlist-item p {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.wishlist-item .current-price {
  font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
  font-size: 17px !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, #c0385e, #c9963e) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  line-height: 1;
}
.wishlist-item .compare-price {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 11px !important;
  color: rgba(100, 60, 75, 0.45) !important;
  text-decoration: line-through;
  font-weight: 400 !important;
}


.remove-wishlist {
  background: rgba(201, 150, 62, 0.07);
  border: 1.5px solid rgba(201, 150, 62, 0.18);
  color: #9a6c1e;
  cursor: pointer;
  width: 32px; height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
  margin-left: 6px;
}
.remove-wishlist:hover {
  background: linear-gradient(135deg, #c0385e, #7b3f6e);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 4px 14px rgba(192, 56, 94, 0.40);
  transform: scale(1.14) rotate(-8deg);
}


.wishlist-footer {
  padding: 14px 20px 16px;
  border-top: 1px solid rgba(201, 150, 62, 0.12);
  flex-shrink: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(253,242,245,0.40) 100%);
}

.add-all-to-cart {
  width: 100%;
  padding: 14px 20px;
  background: linear-gradient(135deg, #000 0%, #1a0e00 50%, #a07820 100%);
  background-size: 200% auto;
  color: #a07820;
  border: 1px solid #a07828 !important;
  cursor: pointer;
  border-radius: 50px;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 0.05em;
  transition: all 0.38s ease;
  box-shadow:
    0 6px 24px rgba(192, 56, 94, 0.40),
    0 0 0 1px rgba(201, 150, 62, 0.15) inset;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  position: relative;
  overflow: hidden;
  animation: wl-cta-glow 3s ease-in-out infinite;
}

@keyframes wl-cta-glow {
  0%, 100% { box-shadow: 0 6px 24px rgba(192,56,94,0.40), 0 0 0 1px rgba(201,150,62,0.15) inset; }
  50%       { box-shadow: 0 8px 36px rgba(192,56,94,0.60), 0 0 0 1px rgba(201,150,62,0.20) inset; }
}


.add-all-to-cart::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
  transform: skewX(-15deg);
  animation: wl-btn-sweep 3s ease-in-out infinite;
  animation-delay: 1s;
}
@keyframes wl-btn-sweep {
  0%   { left: -100%; }
  40%  { left: 140%; }
  100% { left: 140%; }
}

.add-all-to-cart svg,
.add-all-to-cart span {
  position: relative;
  z-index: 1;
  color: #fff !important;
}

.add-all-to-cart:hover {
  background-position: right center;
  box-shadow:
    0 10px 40px rgba(192, 56, 94, 0.55),
    0 0 0 1px rgba(201, 150, 62, 0.25) inset;
  transform: translateY(-3px) scale(1.01);
}
.add-all-to-cart:active {
  transform: translateY(0) scale(0.99);
}

.cart-icon.added { animation: wl-bounce 0.5s; }
@keyframes wl-bounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-6px); }
}


.wishlist-share-footer {
  padding: 12px 20px 16px;
  border-top: 1px solid rgba(201, 150, 62, 0.10);
  flex-shrink: 0;
  text-align: center;
  background: linear-gradient(180deg, transparent 0%, rgba(255,248,245,0.60) 100%);
}
.wishlist-share-label {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: linear-gradient(90deg, #c0385e, #c9963e);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 12px;
  display: block;
}
.wishlist-share-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.wishlist-share-btn {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1.5px solid rgba(201, 150, 62, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.30s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
  font-size: 14px;
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,0.85);
  box-shadow: 0 2px 8px rgba(30,10,20,0.08);
}
.wishlist-share-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.28s;
}
.wishlist-share-btn:hover::before { opacity: 1; }
.wishlist-share-btn:hover {
  transform: translateY(-4px) scale(1.10);
  box-shadow: 0 8px 22px rgba(30,10,20,0.18);
  border-color: transparent;
}


.wishlist-share-btn--fb  { color: #1877f2; }
.wishlist-share-btn--fb::before  { background: #1877f2; }
.wishlist-share-btn--fb:hover  { color: #fff; }

.wishlist-share-btn--ig  { color: #e1306c; }
.wishlist-share-btn--ig::before  { background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af); }
.wishlist-share-btn--ig:hover  { color: #fff; }

.wishlist-share-btn--tw  { color: #000; }
.wishlist-share-btn--tw::before  { background: #000; }
.wishlist-share-btn--tw:hover  { color: #fff; }

.wishlist-share-btn--wa  { color: #25d366; }
.wishlist-share-btn--wa::before  { background: #25d366; }
.wishlist-share-btn--wa:hover  { color: #fff; }

.wishlist-share-btn--pi  { color: #e60023; }
.wishlist-share-btn--pi::before  { background: #e60023; }
.wishlist-share-btn--pi:hover  { color: #fff; }

.wishlist-share-btn i {
  position: relative;
  z-index: 1;
  font-size: 14px;
}


@media (max-width: 768px) {
  .modal-content {
    border-radius: 24px;
    max-height: 85vh;
  }

  .wishlist-items {
    padding: 12px 12px;
  }

  .wishlist-items .wishlist-item {
    padding: 10px 10px 10px 14px;
    gap: 10px;
    border-radius: 16px;
  }

  .wishlist-item img {
    width: 52px;
    height: 52px;
  }

  .remove-wishlist {
    width: 30px;
    height: 30px;
    margin-left: 4px;
  }

  .add-all-to-cart {
    padding: 13px 18px;
    font-size: 13.5px;
  }
}


@media (prefers-reduced-motion: reduce) {
  .wishlist-modal-shimmer,
  .wishlist-bar-fill,
  .add-all-to-cart::before,
  .add-all-to-cart,
  .wishlist-icon-wrap {
    animation: none !important;
    transition: none !important;
  }
  .wishlist-bar-fill { width: 100%; }
}

/* ================================================================
   BBW4LIFE — WISHLIST MINI ICONS (Cart, Drawer Extra, Product Grid)
================================================================ */


.bbw-mini-wish {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: rgba(255,255,255,0.92);
  border: 1px solid #e4b722;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.bbw-mini-wish:hover {
  border-color: #c9963e;
  background: #fff;
  transform: scale(1.12);
  box-shadow: 0 4px 14px rgba(192,56,94,0.22);
}

.bbw-mini-wish svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  transition: all 0.22s ease;
}

.bbw-mini-wish .bbw-mw-empty {
  display: block;
}
.bbw-mini-wish .bbw-mw-filled {
  display: none;
}

.bbw-mini-wish.bbw-mw-active {
  background: #fff0f3;
  border-color: #e4b722;
  box-shadow: 0 2px 12px rgba(192,56,94,0.25);
}
.bbw-mini-wish.bbw-mw-active .bbw-mw-empty  { display: none; }
.bbw-mini-wish.bbw-mw-active .bbw-mw-filled { display: block; }


.cart-item-img-wrap {
  position: relative;
  flex-shrink: 0;
}

.cart-item-img-wrap .bbw-mini-wish {
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 26px;
  height: 26px;
}
.cart-item-img-wrap .bbw-mini-wish:hover {
  transform: translateX(-50%) scale(1.14);
}
.cart-item-img-wrap .bbw-mini-wish.bbw-mw-active {
  transform: translateX(-50%) scale(1.0);
}
.cart-item-img-wrap .bbw-mini-wish svg {
  width: 12px;
  height: 12px;
}


.drawer-extra-card__img-wrap,
.cp-extra-card__img-wrap {
  position: relative;
}

.drawer-extra-card__img-wrap .bbw-mini-wish,
.cp-extra-card__img-wrap .bbw-mini-wish {
  bottom: 6px;
  left: 6px;
  top: auto;
  right: auto;
  width: 28px;
  height: 28px;
}
.drawer-extra-card__img-wrap .bbw-mini-wish svg,
.cp-extra-card__img-wrap .bbw-mini-wish svg {
  width: 13px;
  height: 13px;
}


.bbwpg-card__img-wrap {
  position: relative;
}

.bbwpg-card__img-wrap .bbw-mini-wish {
  bottom: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
}
.bbwpg-card__img-wrap .bbw-mini-wish svg {
  width: 14px;
  height: 14px;
}


.fs-img-frame {
  position: relative;
}

.fs-img-frame .bbw-mini-wish {
  top: 10px;
  right: 10px;
  bottom: auto;
  left: auto;
  width: 34px;
  height: 34px;
}
.fs-img-frame .bbw-mini-wish svg {
  width: 15px;
  height: 15px;
}


.rv-card__img-wrap {
  position: relative;
}

.rv-card__img-wrap .bbw-mini-wish {
  bottom: 6px;
  right: 6px;
  top: auto;
  left: auto;
  width: 28px;
  height: 28px;
}
.rv-card__img-wrap .bbw-mini-wish svg {
  width: 13px;
  height: 13px;
}


.col-rv-card {
  position: relative;
}

.col-rv-card > .bbw-mini-wish {
  top: 8px;
  left: 8px;
  bottom: auto;
  right: auto;
  width: 28px;
  height: 28px;
}
.col-rv-card > .bbw-mini-wish svg {
  width: 13px;
  height: 13px;
}


.col-fbt-card {
  position: relative;
}

.col-fbt-card > .bbw-mini-wish {
  top: 8px;
  left: 8px;
  bottom: auto;
  right: auto;
  width: 28px;
  height: 28px;
}
.col-fbt-card > .bbw-mini-wish svg {
  width: 13px;
  height: 13px;
}

@media (max-width: 768px) {
  .bbw-mini-wish {
    width: 22px !important;
    height: 22px !important;
  }
  .bbw-mini-wish svg {
    width: 14px !important;
    height: 14px !important;
  }
}




/* ════════════════════════════════════════
   BBW4LIFE — WATERMARK IMAGE OVERLAY
════════════════════════════════════════ */
.bbw-watermark {
  position: absolute;
  bottom: 12%;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-display, 'Cormorant Garamond', serif);
  font-size: clamp(20px, 5.5vw, 40px);
  font-weight: 900;
  letter-spacing: 0.12em;
  color: rgba(80, 60, 60, 0.32);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  z-index: 5;
  line-height: 1;
}


.col-card__media .bbw-watermark,
.cs-media .bbw-watermark,
.rv-card__img-wrap .bbw-watermark,
.bbwpg-card__img-wrap .bbw-watermark {
  font-size: clamp(15px, 4vw, 25px);
}

.cart-item-img-wrap .bbw-watermark,
.drawer-extra-card__img-wrap .bbw-watermark,
.cp-extra-card__img-wrap .bbw-watermark {
  font-size: 11px;
  bottom: 6%;
}


.main-image .bbw-watermark {
  font-size: clamp(24px, 4.5vw, 46px);
  bottom: 10%;
}


.col-rv-card {
  overflow: hidden;
  position: relative;
}

.col-rv-card .bbw-watermark {
  font-size: clamp(11px, 3vw, 18px);
  bottom: 30%;
}


.col-fbt-card {
  overflow: hidden;
  position: relative;
}

.col-fbt-card .bbw-watermark {
  font-size: clamp(11px, 3vw, 18px);
  bottom: 30%;
}

@media (max-width: 768px) {
  .bbw-watermark {
    font-size: clamp(14px, 4.5vw, 22px);
  }
  .main-image .bbw-watermark {
    font-size: clamp(18px, 5.5vw, 30px);
  }
  .col-rv-card .bbw-watermark,
  .col-fbt-card .bbw-watermark {
    font-size: clamp(12px, 3.5vw, 16px);
    bottom: 40%;
  }
}

@media (max-width: 768px) {
  .cart-item-img-wrap .bbw-watermark,
  .drawer-extra-card__img-wrap .bbw-watermark,
  .cp-extra-card__img-wrap .bbw-watermark {
    font-size: 9px;
    bottom: 9%;
  }
}



/* ================================================================
   PAUL INDICATOR & POPUP — Ultra Premium BBW4LIFE Edition
================================================================ */


@keyframes paulPulse {
    0%, 100% {
        transform: scale(1);
        box-shadow:
            0 0 18px rgba(192,56,94,0.50),
            0 4px 14px rgba(123,63,110,0.35);
    }
    50% {
        transform: scale(1.13);
        box-shadow:
            0 0 42px rgba(192,56,94,0.80),
            0 6px 28px rgba(123,63,110,0.60),
            0 0 70px rgba(201,150,62,0.30);
    }
}

@keyframes shimmerBar {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(220%); }
}

@keyframes borderGlow {
    0%, 100% { opacity: 0.45; }
    50%       { opacity: 1; }
}

@keyframes popupSlideIn {
    from { opacity: 0; transform: scale(0.88) translateY(24px); }
    to   { opacity: 1; transform: scale(1)    translateY(0); }
}

@keyframes particleDrift {
    0%   { transform: translateY(0px)   rotate(0deg);   opacity: 0.5; }
    50%  { transform: translateY(-14px) rotate(180deg); opacity: 1; }
    100% { transform: translateY(0px)   rotate(360deg); opacity: 0.5; }
}

@keyframes accentSlide {
    0%   { width: 0%;  opacity: 0; }
    100% { width: 60%; opacity: 1; }
}

@keyframes pulseRing {
    0%   { transform: scale(1);    opacity: 0.7; }
    100% { transform: scale(1.65); opacity: 0; }
}

@keyframes popupFade {
    from { opacity: 0; transform: scale(0.9); }
    to   { opacity: 1; transform: scale(1); }
}

@keyframes toastIn {
    from { opacity: 0; transform: translateX(-50%) translateY(10px); }
    to   { opacity: 1; transform: translateX(-50%) translateY(-10px); }
}

@keyframes topBarShimmer {
    0%   { background-position: -200% 0; opacity: 0.8; }
    50%  { background-position: 0% 0;    opacity: 1; }
    100% { background-position: 200% 0;  opacity: 0.8; }
}

@keyframes popupAnim {
    from { opacity: 0; transform: translate(-50%, -60%); }
    to   { opacity: 1; transform: translate(-50%, -50%); }
}

/* ================================================================
   INDICATOR WRAPPER
================================================================ */
.paul-indicator-wrapper {
    position: fixed;
    z-index: 999;
    bottom: 20px;
    right: 5px;
    transition: all 0.30s cubic-bezier(0.4,0,0.2,1);
}

@media (max-width: 768px) {
    .paul-indicator-wrapper { bottom: 15px; right: 5px; }
}


.paul-indicator-wrapper::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 2px solid rgba(192,56,94,0.65);
    animation: pulseRing 2s ease-out infinite;
    pointer-events: none;
}
.paul-indicator-wrapper::after {
    content: '';
    position: absolute;
    inset: -12px;
    border-radius: 50%;
    border: 1.5px solid rgba(201,150,62,0.45);
    animation: pulseRing 2s ease-out infinite 0.6s;
    pointer-events: none;
}


.paul-indicator {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: linear-gradient(145deg, #1a0812 0%, #0d0d0d 60%, #000000 100%);
    border: 2px solid rgba(201,150,62,0.55);
    border-radius: 50%;
    color: #f5d080;
    font-size: 20px;
    box-shadow:
        0 0 22px rgba(192,56,94,0.55),
        0 4px 16px rgba(123,63,110,0.42),
        inset 0 1px 0 rgba(255,255,255,0.12);
    animation: paulPulse 2.2s infinite ease-in-out;
    cursor: pointer;
    text-decoration: none;
    overflow: visible;
}


.paul-indicator::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg,
        transparent 20%,
        rgba(201,150,62,0.28) 50%,
        transparent 80%);
    animation: shimmerBar 3s ease-in-out infinite;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}


.paul-tooltip {
    position: absolute;
    right: 56px;
    top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(135deg, #0d0d0d 0%, #1a0812 100%);
    color: #e8bc6a;
    padding: 7px 18px;
    border-radius: 50px;
    font-family: 'DM Sans', sans-serif;
    font-weight: 600;
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.28s cubic-bezier(0.4,0,0.2,1);
    border: 1.5px solid rgba(201,150,62,0.42);
    box-shadow:
        0 4px 20px rgba(123,63,110,0.35),
        0 0 30px rgba(201,150,62,0.10),
        inset 0 1px 0 rgba(255,255,255,0.07);
    overflow: hidden;
    pointer-events: none;
}

.paul-tooltip::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(240,192,96,0.16) 50%,
        transparent 100%);
    animation: shimmerBar 2.5s ease-in-out infinite;
    pointer-events: none;
}

.paul-indicator-wrapper:hover .paul-tooltip {
    opacity: 1;
    visibility: visible;
}


@media (max-width: 768px) {
    .paul-tooltip {
        font-size: 0.70rem;
        white-space: normal;
        max-width: 150px;
        width: 150px;
        text-align: center;
        line-height: 1.4;
        border-radius: 10px;
        padding: 6px 10px;
    }
}

/* ================================================================
   POPUP OVERLAY
================================================================ */
.paul-popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(5,0,10,0.90);
    z-index: 10000;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    padding: 16px;
    box-sizing: border-box;
}

.paul-popup-overlay.active { display: flex; }

/* ================================================================
   POPUP BOX
================================================================ */
.paul-popup {
    background: linear-gradient(160deg, #0d0d0d 0%, #1a0812 50%, #130910 100%);
    padding: 36px 30px 28px;
    border-radius: 24px;
    border: 1px solid rgba(201,150,62,0.22);
    max-width: 440px;
    width: 100%;
    
    max-height: min(88vh, 680px);
    overflow-y: auto;
    text-align: center;
    position: relative;
    box-shadow:
        0 32px 80px rgba(13,0,26,0.60),
        0 0 0 1px rgba(192,56,94,0.12),
        0 0 80px rgba(192,56,94,0.08),
        inset 0 1px 0 rgba(255,255,255,0.06);
    scrollbar-width: none;
    animation: popupSlideIn 0.38s cubic-bezier(0.34,1.56,0.64,1);
    outline: 1px solid rgba(201,150,62,0.10);
    box-sizing: border-box;
}

.paul-popup::-webkit-scrollbar { display: none; }


.paul-popup::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg,
        transparent 0%,
        #7b3f6e 10%,
        #c0385e 30%,
        #e8bc6a 50%,
        #c0385e 70%,
        #7b3f6e 90%,
        transparent 100%);
    background-size: 200% 100%;
    border-radius: 24px 24px 0 0;
    animation: topBarShimmer 3s ease-in-out infinite;
}


.paul-popup::after {
    content: '';
    position: absolute;
    bottom: 0; left: 10%; right: 10%;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(201,150,62,0.40),
        rgba(192,56,94,0.30),
        transparent);
    border-radius: 0 0 24px 24px;
    animation: borderGlow 3s ease-in-out infinite 1s;
}


.paul-popup .paul-particle {
    position: absolute;
    width: 5px; height: 5px;
    border-radius: 50%;
    pointer-events: none;
}
.paul-popup .paul-particle:nth-child(1) {
    top: 18%; left: 8%;
    background: rgba(192,56,94,0.55);
    animation: particleDrift 4s ease-in-out infinite;
}
.paul-popup .paul-particle:nth-child(2) {
    top: 35%; right: 7%;
    background: rgba(201,150,62,0.50);
    animation: particleDrift 5s ease-in-out infinite 1s;
}
.paul-popup .paul-particle:nth-child(3) {
    bottom: 22%; left: 12%;
    background: rgba(123,63,110,0.55);
    animation: particleDrift 4.5s ease-in-out infinite 0.5s;
}


.paul-close,
.popup-close {
    position: absolute !important;
    top: 14px !important;
    right: 18px !important;
    font-size: 24px !important;
    color: rgba(201,150,62,0.40) !important;
    cursor: pointer !important;
    line-height: 1 !important;
    z-index: 10;
    transition: color 0.25s, transform 0.25s !important;
    background: none;
    border: none;
}
.paul-close:hover,
.popup-close:hover {
    color: #e8bc6a !important;
    transform: rotate(90deg) scale(1.15);
}


.paul-offer-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 2rem;
    font-weight: 700;
    background: linear-gradient(135deg, #e8bc6a 0%, #f5d080 50%, #c9963e 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 6px;
    letter-spacing: 0.02em;
    line-height: 1.15;
    position: relative;
    display: inline-block;
    text-shadow: none;
    filter: drop-shadow(0 0 20px rgba(201,150,62,0.30));
}

.paul-offer-title::after {
    content: '';
    display: block;
    margin: 8px auto 0;
    height: 1.5px;
    width: 0%;
    background: linear-gradient(90deg,
        transparent,
        #e8bc6a,
        rgba(201,150,62,0));
    border-radius: 2px;
    animation: accentSlide 0.9s cubic-bezier(0.4,0,0.2,1) 0.3s forwards;
}

.paul-offer-subtitle {
    font-size: 0.88rem;
    color: rgba(255,255,255,0.50);
    margin-bottom: 20px;
    font-weight: 300;
    letter-spacing: 0.04em;
    font-family: 'DM Sans', sans-serif;
}


.paul-popup hr,
.paul-divider {
    border: none;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(201,150,62,0.35) 30%,
        rgba(192,56,94,0.35) 70%,
        transparent);
    margin: 16px 0;
    position: relative;
    overflow: hidden;
}
.paul-popup hr::after,
.paul-divider::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(240,192,96,0.60) 50%,
        transparent 100%);
    animation: shimmerBar 2.8s ease-in-out infinite;
}

/* ================================================================
   AUTH FORM
================================================================ */
.auth-form { margin-top: 12px; }

.auth-form h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.45rem;
    font-weight: 600;
    background: linear-gradient(135deg, #e8bc6a, #f5d080);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 14px;
    letter-spacing: 0.02em;
    position: relative;
    display: inline-block;
    filter: drop-shadow(0 0 16px rgba(201,150,62,0.30));
}
.auth-form h3::after {
    content: '';
    display: block;
    margin: 4px auto 0;
    height: 1px;
    width: 0%;
    background: linear-gradient(90deg,
        transparent,
        rgba(201,150,62,0.65),
        transparent);
    border-radius: 2px;
    animation: accentSlide 0.8s cubic-bezier(0.4,0,0.2,1) 0.2s forwards;
}


.auth-form input {
    width: 100%;
    padding: 12px 16px;
    margin: 4px 0;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(201,150,62,0.16);
    border-radius: 12px;
    color: #fff;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.90rem;
    box-sizing: border-box;
    transition: border-color 0.25s, background 0.25s, box-shadow 0.25s;
}
.auth-form input::placeholder {
    color: rgba(255,255,255,0.28);
}
.auth-form input:focus {
    outline: none;
    border-color: rgba(192,56,94,0.60);
    background: rgba(255,255,255,0.07);
    box-shadow:
        0 0 0 3px rgba(192,56,94,0.10),
        0 0 20px rgba(192,56,94,0.08),
        inset 0 1px 0 rgba(255,255,255,0.05);
}

.auth-form label {
    color: rgba(255,255,255,0.45);
    font-size: 0.80rem;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0;
    justify-content: flex-start;
    text-align: left;
    font-family: 'DM Sans', sans-serif;
}
.auth-form input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    margin: 0;
    flex-shrink: 0;
    accent-color: #c0385e;
    transform: none !important;
    transition: none !important;
}


.password-input-wrapper,
.password-wrapper {
    position: relative !important;
    width: 100% !important;
    margin-bottom: 4px !important;
}
.password-input-wrapper input,
.password-wrapper input {
    padding-right: 50px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.password-toggle {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 999 !important;
    cursor: pointer !important;
    color: rgba(255,255,255,0.35) !important;
    font-size: 18px !important;
    transition: color 0.22s;
}
.password-toggle:hover {
    color: #e8bc6a !important;
}

/* ================================================================
   BOUTONS
================================================================ */
.paul-btn {
    width: 100%;
    padding: 13px 20px;
    border: none;
    border-radius: 100px;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.90rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 10px 0 6px;
    cursor: pointer;
    transition: all 0.28s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    overflow: hidden;
}


.paul-btn::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg,
        transparent,
        rgba(255,255,255,0.22),
        transparent);
    animation: shimmerBar 2.2s ease-in-out infinite;
    pointer-events: none;
}


.paul-btn-login,
.paul-btn-register {
    background: linear-gradient(135deg,
        #c9963e 0%,
        #e8bc6a 30%,
        #f5d080 50%,
        #e8bc6a 70%,
        #c9963e 100%);
    background-size: 300% 100%;
    color: #1a0e00;
    box-shadow:
        0 4px 28px rgba(201,150,62,0.50),
        0 0 0 1px rgba(201,150,62,0.20),
        0 1px 0 rgba(255,255,255,0.40) inset,
        0 -1px 0 rgba(0,0,0,0.12) inset;
    animation: btnGoldPulse 3s ease-in-out infinite;
}

@keyframes btnGoldPulse {
    0%, 100% {
        box-shadow:
            0 4px 28px rgba(201,150,62,0.50),
            0 0 0 1px rgba(201,150,62,0.20),
            0 1px 0 rgba(255,255,255,0.40) inset;
    }
    50% {
        box-shadow:
            0 6px 44px rgba(201,150,62,0.75),
            0 0 70px rgba(201,150,62,0.22),
            0 0 0 1px rgba(201,150,62,0.35),
            0 1px 0 rgba(255,255,255,0.40) inset;
    }
}

.paul-btn-login:hover,
.paul-btn-register:hover {
    background-position: 100% 0;
    transform: translateY(-3px);
    box-shadow:
        0 12px 50px rgba(201,150,62,0.70),
        0 0 80px rgba(201,150,62,0.28),
        0 1px 0 rgba(255,255,255,0.50) inset;
    animation: none;
}

.paul-btn:active {
    transform: scale(0.97) !important;
    box-shadow: inset 0 3px 10px rgba(0,0,0,0.30) !important;
}


.switch-link {
    color: rgba(255,255,255,0.38);
    margin-top: 12px;
    font-size: 0.82rem;
    font-family: 'DM Sans', sans-serif;
}
.switch-link span {
    color: #e8bc6a;
    cursor: pointer;
    font-weight: 600;
    transition: color 0.2s, border-color 0.2s;
    border-bottom: 1px solid rgba(232,188,106,0.35);
    padding-bottom: 1px;
}
.switch-link span:hover {
    color: #f5d080;
    border-color: #f5d080;
}

/* ================================================================
   TOAST
================================================================ */
.toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #0d0d0d, #1a0812);
    color: #e8bc6a;
    padding: 14px 28px;
    border-radius: 100px;
    border: 1px solid rgba(201,150,62,0.45);
    box-shadow:
        0 0 30px rgba(192,56,94,0.35),
        0 8px 24px rgba(123,63,110,0.40),
        inset 0 1px 0 rgba(255,255,255,0.07);
    z-index: 10001;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
    font-weight: 700;
    font-family: 'DM Sans', sans-serif;
    white-space: nowrap;
    max-width: 90vw;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0.04em;
}
.toast::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(240,192,96,0.14) 50%,
        transparent 100%);
    animation: shimmerBar 2.5s ease-in-out infinite;
    border-radius: 100px;
    pointer-events: none;
}
.toast.show {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(-10px);
    animation: toastIn 0.4s cubic-bezier(0.34,1.56,0.64,1);
}



#error-popup {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(3px);
}

#error-popup.show {
  display: flex;
  animation: popupFadeIn 0.25s ease;
}

@keyframes popupFadeIn {
  from { opacity: 0; transform: scale(0.94); }
  to   { opacity: 1; transform: scale(1); }
}

#error-popup .popup-content {
  background: #fff;
  border-radius: 16px;
  padding: 24px 4px 18px;
  max-width: 220px;
  width: calc(100% - 60px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
  text-align: center;
  border-top: 4px solid #c0385e;
  position: relative;
}

#error-popup .popup-content::before {
  content: '!';
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fdeef3;
  color: #c0385e;
  font-size: 18px;
  font-weight: 700;
  margin: 0 auto 12px;
  border: 2px solid #f5c0d0;
}

#error-popup .popup-text,
#popup-message {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #2d2d2d !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 0 18px !important;
  word-break: break-word;
  white-space: normal;
  letter-spacing: 0.01em;
}

#error-popup .popup-btn {
  background: linear-gradient(135deg, #c0385e, #9e2a4a);
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 9px 32px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  box-shadow: 0 4px 14px rgba(192, 56, 94, 0.35);
}

#error-popup .popup-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(192, 56, 94, 0.45);
}

#error-popup .popup-btn:active {
  transform: scale(0.97);
}


/* ================================================================
   LEGACY / COMPAT
================================================================ */
.popup-overlay { display: none !important; }
.popup-overlay.open { display: flex !important; }
.popup { animation: popupFade 0.4s ease; }


.paul-policy-link {
    text-align: left;
    margin-top: 10px;
}
.paul-policy-link a {
    color: rgba(201,150,62,0.50);
    font-size: 0.80rem;
    font-family: 'DM Sans', sans-serif;
    font-weight: 500;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.22s;
    border-bottom: 1px solid transparent;
}
.paul-policy-link a:hover {
    color: #e8bc6a;
    border-bottom-color: rgba(201,150,62,0.40);
}
.paul-policy-link--small a {
    font-size: 0.74rem;
    color: rgba(201,150,62,0.38);
}
.paul-policy-link--small a:hover {
    color: rgba(201,150,62,0.75);
}
.paul-policy-link i,
.paul-policy-link--small i {
    font-size: 11px;
    opacity: 0.80;
}

/* ================================================================
   RESPONSIVE
================================================================ */
@media (max-width: 1024px) {
    .product-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    html, body {
        margin: 0;
        padding: 0;
        overflow-x: hidden;
    }

    
    .paul-popup-overlay {
        padding: 12px 16px;
        align-items: center;
    }

    
    .paul-popup {
        max-height: min(85vh, 600px);
        padding: 28px 20px 22px;
        border-radius: 20px;
        width: 100%;
        max-width: 100%;
    }

    .paul-offer-title {
        font-size: 1.60rem;
    }

    .auth-form input {
        padding: 11px 14px;
        font-size: 0.88rem;
    }

    .paul-btn {
        padding: 12px 18px;
        font-size: 0.84rem;
    }

    
    .shop-banner-section {
        padding: 48px 20px 40px;
        height: auto;
    }
    .banner-content h1 {
        font-size: 1.8rem;
        width: auto !important;
    }
    .banner-content h2 { font-size: 1.2rem; }
    .banner-content p  { font-size: 0.9rem; }
    .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
    .product-card img { height: 170px; }
    .testimonials-mini { flex-direction: column; align-items: center; }
    .statistics-mini   { flex-direction: column; align-items: center; }
    .comparison-table  { font-size: 0.9rem; }
}

@media (max-width: 480px) {
    .paul-popup-overlay {
        padding: 10px 12px;
    }
    .paul-popup {
        max-height: min(82vh, 560px);
        padding: 24px 16px 18px;
        border-radius: 18px;
    }
    .paul-offer-title { font-size: 1.40rem; }
    .product-grid { grid-template-columns: 1fr; }
}






@keyframes fnavPulse {
    0%, 100% {
        box-shadow:
            0 6px 24px rgba(201,150,62,0.50),
            0 2px 6px rgba(0,0,0,0.25),
            inset 0 1px 0 rgba(255,255,255,0.25);
    }
    50% {
        box-shadow:
            0 8px 40px rgba(201,150,62,0.80),
            0 0 60px rgba(201,150,62,0.22),
            0 2px 6px rgba(0,0,0,0.25),
            inset 0 1px 0 rgba(255,255,255,0.30);
    }
}

@keyframes fnavShimmer {
    0%   { left: -80%; }
    100% { left: 160%; }
}

#floating-nav {
    position: fixed;
    bottom: 490px !important;
    right: 40px !important;
    z-index: 999;
}


.fnav-toggle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px solid rgba(245,208,128,0.40);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    color: #1a0e00;
    background: linear-gradient(135deg,
        #c9963e 0%,
        #e8bc6a 35%,
        #f5d080 50%,
        #e8bc6a 65%,
        #c9963e 100%);
    background-size: 300% 100%;
    box-shadow:
        0 6px 24px rgba(201,150,62,0.50),
        0 2px 6px rgba(0,0,0,0.25),
        inset 0 1px 0 rgba(255,255,255,0.40),
        inset 0 -1px 0 rgba(0,0,0,0.12);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-position 0.5s ease;
    position: relative;
    z-index: 2;
    overflow: hidden;
    animation: fnavPulse 2.8s ease-in-out infinite;
}


.fnav-toggle::before {
    content: '';
    position: absolute;
    top: 0; left: -80%;
    width: 50%; height: 100%;
    background: linear-gradient(90deg,
        transparent,
        rgba(255,255,255,0.38),
        transparent);
    animation: fnavShimmer 2.5s ease-in-out infinite;
    pointer-events: none;
}

.fnav-toggle:hover {
    background-position: 100% 0;
    transform: scale(1.12);
    box-shadow:
        0 10px 42px rgba(201,150,62,0.72),
        0 0 65px rgba(201,150,62,0.22),
        inset 0 1px 0 rgba(255,255,255,0.45);
    animation: none;
}

.fnav-toggle.open {
    transform: rotate(45deg) scale(1.05);
    animation: none;
}


.fnav-wheel {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 40px;
    height: 40px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.fnav-wheel.open {
    pointer-events: all;
    opacity: 1;
}


.fnav-btn {
    position: absolute;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: 1px solid rgba(201,150,62,0.20);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    color: #e8bc6a;
    background: linear-gradient(145deg, #1a0812 0%, #0d0d0d 60%, #130910 100%);
    box-shadow:
        0 4px 16px rgba(0,0,0,0.50),
        0 0 0 1px rgba(201,150,62,0.07),
        inset 0 1px 0 rgba(255,255,255,0.07),
        inset 0 -1px 0 rgba(0,0,0,0.30);
    transform: translate(-50%, -50%) scale(0);
    transition:
        transform 0.35s cubic-bezier(0.34,1.56,0.64,1),
        box-shadow 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease;
    overflow: hidden;
}


.fnav-btn::before {
    content: '';
    position: absolute;
    top: -40%; left: -40%;
    width: 80%; height: 80%;
    background: radial-gradient(ellipse,
        rgba(201,150,62,0.14) 0%,
        transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.fnav-top     { top: -20px; left: 50%;   transition-delay: 0.05s; }
.fnav-right   { top: 50%;   left: 60px;  transition-delay: 0.10s; }
.fnav-bottom  { top: 60px;  left: 50%;   transition-delay: 0.05s; }
.fnav-left    { top: 60%;   left: -20px; transition-delay: 0.10s; }


.fnav-refresh {
    top: -26px;
    left: 60px;
    width: 36px;
    height: 36px;
    font-size: 0.85rem;
    color: #1a0e00;
    background: linear-gradient(135deg,
        #c9963e 0%,
        #e8bc6a 50%,
        #c9963e 100%);
    background-size: 200% 100%;
    border: 1px solid rgba(245,208,128,0.35);
    box-shadow:
        0 4px 18px rgba(201,150,62,0.48),
        inset 0 1px 0 rgba(255,255,255,0.38),
        inset 0 -1px 0 rgba(0,0,0,0.12);
    transition-delay: 0.15s;
}

.fnav-wheel.open .fnav-btn {
    transform: translate(-50%, -50%) scale(1);
}


.fnav-btn:hover {
    color: #f5d080;
    background: linear-gradient(145deg, #2a1020 0%, #1a0d18 60%, #0d0d0d 100%);
    border-color: rgba(201,150,62,0.55);
    box-shadow:
        0 8px 26px rgba(201,150,62,0.28),
        0 0 22px rgba(201,150,62,0.14),
        0 3px 6px rgba(0,0,0,0.35),
        inset 0 1px 0 rgba(255,255,255,0.10);
    transform: translate(-50%, -50%) scale(1.18) translateY(-2px);
}


.fnav-refresh:hover {
    background-position: 100% 0;
    color: #1a0e00;
    box-shadow:
        0 8px 30px rgba(201,150,62,0.62),
        0 0 45px rgba(201,150,62,0.22),
        inset 0 1px 0 rgba(255,255,255,0.42);
    transform: translate(-50%, -50%) scale(1.18) translateY(-2px);
}

.fnav-btn:active {
    transform: translate(-50%, -50%) scale(0.94) translateY(1px) !important;
    box-shadow:
        0 2px 8px rgba(0,0,0,0.45),
        inset 0 2px 6px rgba(0,0,0,0.35) !important;
}


.fnav-btn::after {
    content: none;
    position: absolute;
    background: linear-gradient(135deg, #0d0d0d, #1a0812);
    color: #e8bc6a;
    font-size: 0.68rem;
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-weight: 600;
    letter-spacing: 0.05em;
    padding: 5px 12px;
    border-radius: 20px;
    border: 1px solid rgba(201,150,62,0.28);
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 99999;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0 4px 16px rgba(0,0,0,0.40);
}

.fnav-top::after     { content: 'Scroll top';    }
.fnav-right::after   { content: 'Next page';     }
.fnav-bottom::after  { content: 'Scroll bottom'; }
.fnav-left::after    { content: 'Previous page'; }
.fnav-refresh::after { content: 'Refresh';       }

.fnav-top:hover::after,
.fnav-right:hover::after,
.fnav-bottom:hover::after,
.fnav-left:hover::after,
.fnav-refresh:hover::after { opacity: 1; }


@media (max-width: 768px) {
    #floating-nav {
        bottom: 500px !important;
        right: 20px !important;
    }

    .fnav-toggle {
        width: 30px;
        height: 30px;
        font-size: 1.1rem;
    }

    .fnav-btn {
        width: 25px;
        height: 25px;
        font-size: 0.88rem;
    }

    .fnav-top     { top: -5px;  left: 50%; }
    .fnav-right   { top: 50%;   left: 50px; }
    .fnav-bottom  { top: 55px;  left: 50%; }
    .fnav-left    { top: 60%;   left: -5px; }

    .fnav-refresh {
        top: -22px;
        left: 45px;
        width: 30px;
        height: 30px;
    }

    .fnav-btn::after,
    .fnav-top::after,
    .fnav-right::after,
    .fnav-bottom::after,
    .fnav-left::after,
    .fnav-refresh::after { display: none !important; }
}





/* ================================================================
   BBW4LIFE — CHATBOT CSS — PREMIUM EDITION (LIGHT REWORK)
================================================================ */


#cf-chat-widget {
  position: fixed;
  bottom: 70px;
  left: 5px;
  z-index: 9998;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  font-family: var(--font-body);
  touch-action: none;
  user-select: none;
}


#cf-chat-toggle {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, #0d0d0d 0%, #1a1200 60%, #c9963e 100%);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 8px 32px rgba(201,150,62,0.35), 0 2px 8px rgba(0,0,0,0.18);
  transition: width 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
              border-radius 0.3s ease,
              box-shadow 0.3s ease,
              transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: fixed;
  bottom: 20px;
  left: 5px;
  z-index: 990;
  outline: none;
  overflow: hidden;
  white-space: nowrap;
}

#cf-chat-toggle:hover {
  width: 210px;
  border-radius: 28px;
  padding: 0 20px 0 6px;
  transform: translateY(-3px);
  box-shadow: 0 14px 40px rgba(201,150,62,0.45), 0 4px 12px rgba(0,0,0,0.25);
}

#cf-chat-toggle:active {
  transform: translateY(0) scale(0.97);
}

.cf-toggle-inner {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,0.10);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 auto;
}

#cf-chat-toggle:not(:hover) .cf-toggle-inner {
  margin: 0 auto;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: transparent;
}

.cf-toggle-label {
  font-size: 0.85rem;
  font-weight: 700;
  color: #f5d080;
  letter-spacing: 0.06em;
  white-space: nowrap;
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-width 0.3s ease, opacity 0.25s ease, margin 0.3s ease;
  margin-left: 0;
  text-transform: uppercase;
}

#cf-chat-toggle:hover .cf-toggle-label {
  max-width: 180px;
  opacity: 1;
  margin-left: 8px;
}

#cf-chat-toggle:hover .cf-toggle-inner {
  width: 44px;
  height: 44px;
  min-width: 44px;
  background: rgba(255,255,255,0.08);
  margin: 0;
}

.cf-notif-dot {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 10px;
  height: 10px;
  background: #c9963e;
  border-radius: 50%;
  border: 2px solid #0d0d0d;
  animation: cf-pulse-dot 2s infinite;
  display: none;
}

@keyframes cf-pulse-dot {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.75; }
}


.cf-chat-window {
  position: absolute;
  bottom: 54px;
  left: 0;
  width: 390px;
  max-height: min(520px, calc(100vh - 120px));
  background: #f7f2ea;
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 72px rgba(0,0,0,0.18), 0 8px 24px rgba(201,150,62,0.12);
  border: 1px solid rgba(201,150,62,0.28);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform-origin: bottom left;
  transform: scale(0.85) translateY(20px);
  opacity: 0;
  pointer-events: none;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

#cf-chat-widget.cf-right .cf-chat-window {
  left: auto;
  right: 0;
  transform-origin: bottom right;
}

#cf-chat-widget.cf-top .cf-chat-window {
  bottom: auto;
  top: 72px;
  transform-origin: top left;
}

#cf-chat-widget.cf-top.cf-right .cf-chat-window {
  transform-origin: top right;
}

.cf-chat-window.cf-open {
  transform: scale(1) translateY(0);
  opacity: 1;
  pointer-events: all;
}


.cf-chat-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  background: linear-gradient(135deg, #0d0d0d 0%, #1f1200 100%);
  border-bottom: 1px solid rgba(201,150,62,0.30);
  flex-shrink: 0;
  position: relative;
}

.cf-chat-header::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 18px; right: 18px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--bbw-gold), transparent);
  opacity: 0.6;
}

.cf-header-avatar {
  position: relative;
  flex-shrink: 0;
}

.cf-header-avatar img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--bbw-gold);
  background: #1a1200;
}

.cf-avatar-fallback {
  display: none;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(201,150,62,0.18);
  color: var(--bbw-gold);
  font-weight: 700;
  font-size: 1.1rem;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--bbw-gold);
}

.cf-header-avatar img:not([src]),
.cf-header-avatar img[src=""] {
  display: none;
}

.cf-online-dot {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: 10px;
  height: 10px;
  background: #22c55e;
  border-radius: 50%;
  border: 2px solid #0d0d0d;
  box-shadow: 0 0 8px rgba(34,197,94,0.6);
}

.cf-header-info {
  flex: 1;
}

.cf-header-info h3 {
  font-size: 0.96rem;
  font-weight: 700;
  color: var(--bbw-gold-light);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  letter-spacing: 0.04em;
}

.cf-ai-badge {
  font-size: 0.60rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  background: rgba(201,150,62,0.18);
  color: var(--bbw-gold);
  padding: 2px 7px;
  border-radius: 100px;
  border: 1px solid rgba(201,150,62,0.45);
  font-family: var(--font-body);
}

.cf-header-info p {
  font-size: 0.74rem;
  color: rgba(245,224,180,0.70);
  margin: 2px 0 0;
  font-weight: 400;
}

.cf-header-close {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid rgba(201,150,62,0.40);
  background: rgba(201,150,62,0.08);
  color: rgba(245,224,180,0.70);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.cf-header-close:hover {
  background: rgba(201,150,62,0.20);
  color: var(--bbw-gold);
  border-color: var(--bbw-gold);
  transform: scale(1.1);
}


.cf-quick-chips {
  display: flex;
  gap: 6px;
  padding: 10px 14px;
  overflow-x: auto;
  flex-shrink: 0;
  scrollbar-width: none;
  background: #f0e8d8;
  border-bottom: 1px solid rgba(201,150,62,0.18);
}

.cf-quick-chips::-webkit-scrollbar { display: none; }

.cf-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  background: #0d0d0d;
  border: 1px solid var(--bbw-gold);
  border-radius: 100px;
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bbw-gold);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.22s ease;
  flex-shrink: 0;
}

.cf-chip:hover {
  background: var(--bbw-gold);
  color: #000;
  border-color: var(--bbw-gold);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(201,150,62,0.35);
}


.cf-messages {
  flex: 1;
  overflow-y: auto;
  padding: 16px 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  scroll-behavior: smooth;
  background: #f7f2ea;
  min-height: 0;
}

.cf-messages::-webkit-scrollbar { width: 4px; }
.cf-messages::-webkit-scrollbar-track { background: transparent; }
.cf-messages::-webkit-scrollbar-thumb {
  background: rgba(201,150,62,0.30);
  border-radius: 4px;
}


.cf-message {
  display: flex;
  flex-direction: column;
  max-width: 82%;
  animation: cf-msg-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes cf-msg-in {
  from { opacity: 0; transform: translateY(10px) scale(0.95); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.cf-message--ai  { align-self: flex-start; align-items: flex-start; }
.cf-message--user { align-self: flex-end;   align-items: flex-end; }

.cf-msg-bubble {
  padding: 12px 16px;
  border-radius: var(--radius-md);
  font-size: 0.875rem;
  line-height: 1.65;
  word-break: break-word;
}


.cf-message--ai .cf-msg-bubble {
  background: #fff8f0;
  border: 1px solid rgba(201,150,62,0.25);
  border-bottom-left-radius: 6px;
  color: #2a1f10;
  box-shadow: 0 2px 12px rgba(201,150,62,0.08);
}


.cf-message--user .cf-msg-bubble {
  background: #0d0d0d;
  border: 1.5px solid var(--bbw-gold);
  color: var(--bbw-gold);
  border-bottom-right-radius: 6px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.20);
  font-weight: 500;
}


.cf-message--ai .cf-msg-bubble strong {
  font-weight: 700;
  color: #a87430;
}


.cf-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 14px;
  background: #0d0d0d;
  border: 1px solid var(--bbw-gold);
  color: var(--bbw-gold) !important;
  font-size: 0.78rem;
  font-weight: 700;
  border-radius: 100px;
  text-decoration: none !important;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 3px 10px rgba(0,0,0,0.15);
  margin: 3px 2px;
  vertical-align: middle;
}

.cf-link-btn:hover {
  background: var(--bbw-gold);
  color: #000 !important;
  transform: translateY(-1px);
  box-shadow: 0 5px 18px rgba(201,150,62,0.40);
}

.cf-msg-time {
  font-size: 0.68rem;
  color: #9e8560;
  margin-top: 4px;
  padding: 0 4px;
}


.cf-product-cards {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
  width: 100%;
  max-width: 290px;
}

.cf-product-card {
  background: #fff8f0;
  border: 1px solid rgba(201,150,62,0.28);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(201,150,62,0.08);
  transition: all 0.22s ease;
}

.cf-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(201,150,62,0.18), 0 4px 12px rgba(0,0,0,0.10);
  border-color: rgba(201,150,62,0.50);
}

.cf-pc-img-wrap {
  width: 100%;
  height: 210px;
  overflow: hidden;
  background: #f0e8d8;
  display: block;
  line-height: 0;
  font-size: 0;
}

.cf-pc-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.cf-pc-img:hover { transform: scale(1.04); }

.cf-pc-info { padding: 10px 12px 12px; }

.cf-pc-title {
  font-size: 0.80rem;
  font-weight: 700;
  color: #1e1408;
  line-height: 1.3;
  margin-bottom: 4px;
}

.cf-pc-rating {
  font-size: 0.72rem;
  color: var(--bbw-gold);
  margin-bottom: 5px;
}

.cf-pc-price {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

.cf-pc-price-current {
  font-size: 0.95rem;
  font-weight: 800;
  color: #a87430;
}

.cf-pc-price-compare {
  font-size: 0.72rem;
  color: #9e8560;
  text-decoration: line-through;
}

.cf-pc-colors {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  margin-bottom: 3px;
}

.cf-pc-swatch {
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0,0,0,0.20);
  transition: transform 0.18s ease, border-color 0.18s ease;
  flex-shrink: 0;
}

.cf-pc-swatch:hover,
.cf-pc-swatch--active {
  transform: scale(1.25);
  border-color: var(--bbw-gold);
}

.cf-pc-swatch-more {
  font-size: 0.70rem;
  color: #9e8560;
  line-height: 16px;
}

.cf-pc-color-label {
  font-size: 0.70rem;
  color: #7a6545;
  font-style: italic;
  min-height: 14px;
  margin-bottom: 4px;
}

.cf-pc-sizes {
  font-size: 0.70rem;
  color: #7a6545;
  margin-bottom: 4px;
  line-height: 1.4;
}

.cf-pc-sizes strong { color: #1e1408; }

.cf-pc-delivery {
  font-size: 0.70rem;
  color: #16a34a;
  margin-bottom: 8px;
}


.cf-pc-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  padding: 9px 10px;
  background: #0d0d0d;
  border: 1.5px solid var(--bbw-gold);
  color: var(--bbw-gold) !important;
  font-size: 0.78rem;
  font-weight: 800;
  border-radius: var(--radius-sm);
  text-decoration: none !important;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
  box-shadow: 0 3px 12px rgba(0,0,0,0.18);
  margin-top: 4px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cf-pc-btn:hover {
  background: var(--bbw-gold);
  color: #000 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(201,150,62,0.40);
}

.cf-pc-btn svg { flex-shrink: 0; }


.cf-typing {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px 4px;
  flex-shrink: 0;
  background: #f7f2ea;
}

.cf-typing-bubble {
  display: flex;
  align-items: center;
  gap: 4px;
  background: #fff8f0;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(201,150,62,0.25);
  box-shadow: 0 2px 8px rgba(201,150,62,0.08);
}

.cf-typing-bubble span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--bbw-gold);
  opacity: 0.45;
  animation: cf-typing-bounce 1.2s infinite;
}

.cf-typing-bubble span:nth-child(2) { animation-delay: 0.2s; }
.cf-typing-bubble span:nth-child(3) { animation-delay: 0.4s; }

@keyframes cf-typing-bounce {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.45; }
  30% { transform: translateY(-5px); opacity: 1; }
}

.cf-typing p {
  font-size: 0.72rem;
  color: #9e8560;
  margin: 0;
  font-style: italic;
}


.cf-input-area {
  padding: 10px 12px 12px;
  background: #f0e8d8;
  border-top: 1px solid rgba(201,150,62,0.25);
  flex-shrink: 0;
}

.cf-input-wrapper {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  background: #fff8f0;
  border: 1.5px solid rgba(201,150,62,0.30);
  border-radius: 14px;
  padding: 8px 8px 8px 14px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cf-input-wrapper:focus-within {
  border-color: var(--bbw-gold);
  box-shadow: 0 0 0 3px rgba(201,150,62,0.12);
  background: #fffdf8;
}

#cf-input {
  flex: 1;
  border: none;
  background: transparent;
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: #2a1f10;
  resize: none;
  outline: none;
  line-height: 1.5;
  max-height: 100px;
  overflow-y: auto;
  padding: 0;
}

#cf-input::placeholder {
  color: #9e8560;
  font-weight: 400;
}


.cf-send-btn {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1.5px solid var(--bbw-gold);
  background: #0d0d0d;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.22s ease;
  box-shadow: 0 3px 10px rgba(0,0,0,0.20);
}

.cf-send-btn svg { color: var(--bbw-gold); fill: var(--bbw-gold); }

.cf-send-btn:disabled {
  background: #e8e0d4;
  border-color: rgba(201,150,62,0.20);
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.5;
}

.cf-send-btn:not(:disabled):hover {
  background: var(--bbw-gold);
  transform: scale(1.1) translateY(-1px);
  box-shadow: 0 6px 20px rgba(201,150,62,0.45);
}

.cf-send-btn:not(:disabled):hover svg { color: #000; fill: #000; }

.cf-send-btn:not(:disabled):active { transform: scale(0.95); }

.cf-input-hint {
  font-size: 0.66rem;
  color: #9e8560;
  text-align: center;
  margin: 6px 0 0;
  opacity: 0.7;
}


.cf-contact-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 4px 0;
}

.cf-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.15s;
  white-space: nowrap;
}

.cf-contact-btn:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}

.cf-contact-btn--whatsapp { background: #25D366; color: #fff; }
.cf-contact-btn--telegram { background: #0088cc; color: #fff; }


.cf-contact-btn--page {
  background: #0d0d0d;
  border: 1.5px solid var(--bbw-gold);
  color: var(--bbw-gold);
  font-weight: 700;
}


.cf-promo-code {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #0d0d0d;
  border: 1.5px solid var(--bbw-gold);
  color: var(--bbw-gold);
  font-family: 'Courier New', Courier, monospace;
  font-weight: 800;
  font-size: 0.82em;
  letter-spacing: 0.10em;
  padding: 3px 9px 3px 8px;
  border-radius: 5px;
  cursor: pointer;
  user-select: none;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  vertical-align: middle;
  white-space: nowrap;
}

.cf-promo-code:hover {
  background: var(--bbw-gold);
  color: #000;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(201,150,62,0.45);
}

.cf-promo-code:active { transform: translateY(0); }

.cf-promo-code--copied {
  background: #00b894 !important;
  border-color: #00b894 !important;
  box-shadow: 0 2px 6px rgba(0,184,148,0.45) !important;
  color: #fff !important;
}

.cf-promo-copy-icon {
  opacity: 0.80;
  flex-shrink: 0;
  vertical-align: middle;
}


.mind-card-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-sm);
  background: rgba(201,150,62,0.08);
  border: 1px solid rgba(201,150,62,0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  transition: background 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.mind-card-icon i {
  font-size: 22px;
  color: #a87430;
  transition: color 0.25s ease;
}

.mind-card:hover .mind-card-icon {
  background: #0d0d0d;
  border-color: var(--bbw-gold);
  transform: scale(1.1);
}

.mind-card:hover .mind-card-icon i { color: var(--bbw-gold); }


.rtl-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-sm);
  background: rgba(201,150,62,0.08);
  border: 1px solid rgba(201,150,62,0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  transition: background 0.25s ease, border-color 0.25s ease;
}

.rtl-icon i {
  font-size: 24px;
  color: #a87430;
  transition: color 0.25s ease;
}

.rtl-card:hover .rtl-icon {
  background: #0d0d0d;
  border-color: var(--bbw-gold);
}

.rtl-card:hover .rtl-icon i { color: var(--bbw-gold); }


.free-badge {
  display: inline-block;
  background: #0d0d0d;
  border: 1.5px solid var(--bbw-gold);
  color: var(--bbw-gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.10em;
  padding: 3px 9px;
  border-radius: 20px;
  text-transform: uppercase;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  cursor: default;
  white-space: nowrap;
  vertical-align: middle;
  margin-left: 6px;
}

.free-badge:hover {
  background: var(--bbw-gold);
  color: #000;
  transform: scale(1.10);
  box-shadow: 0 4px 14px rgba(201,150,62,0.45);
}


.cf-page-btns {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}

.cf-page-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #0d0d0d;
  border: 1px solid var(--bbw-gold);
  border-radius: var(--radius-sm);
  color: var(--bbw-gold);
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}

.cf-page-btn:hover {
  background: var(--bbw-gold);
  border-color: var(--bbw-gold);
  color: #000;
  box-shadow: 0 4px 16px rgba(201,150,62,0.35);
  transform: translateY(-1px);
}

.cf-page-btn-icon { font-size: 16px; line-height: 1; flex-shrink: 0; }
.cf-page-btn-label { flex: 1; }

.cf-page-btn-arrow {
  flex-shrink: 0;
  opacity: 0.55;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.cf-page-btn:hover .cf-page-btn-arrow {
  transform: translateX(4px);
  opacity: 1;
}


.cf-msg-bubble strong { font-weight: 700; }
.cf-msg-bubble em     { font-style: italic; }
.cf-msg-bubble a      { color: #a87430; text-decoration: underline; }


#cf-chat-widget.cf-dragging          { cursor: grabbing !important; }
#cf-chat-widget.cf-dragging *        { cursor: grabbing !important; pointer-events: none; }


@media (max-width: 480px) {
  #cf-chat-widget { bottom: 25px; left: 4px; }

  .cf-chat-window {
    width: calc(100vw - 24px);
    max-height: min(72vh, calc(100vh - 120px));
    bottom: 54px;
  }

  #cf-chat-toggle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    padding: 0;
  }

  #cf-chat-toggle:hover {
    width: 155px;
    border-radius: 26px;
    padding: 0 16px 0 5px;
  }

  .cf-pc-img-wrap { height: 190px; }
}



/* ══════════════════════════════════════════════════════
   CURVAFIT — COOKIE CONSENT POPUP — ULTRA PREMIUM LIGHT
══════════════════════════════════════════════════════ */


#cf-cookie-popup {
  --ck-rose:      #c94f6e;
  --ck-rose-dim:  rgba(201, 79, 110, 0.14);
  --ck-gold:      #a87430;
  --ck-gold-dim:  rgba(168, 116, 48, 0.12);
  --ck-plum:      #8b3a5e;
  --ck-surface:   #f7f2ea;
  --ck-glass:     rgba(255, 248, 240, 0.80);
  --ck-border:    rgba(201, 150, 62, 0.20);
  --ck-text:      #1e1408;
  --ck-muted:     #7a6545;
  --ck-radius:    18px;
  --ck-radius-sm: 11px;
}


#cf-cookie-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 12px 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.38s ease;
}
#cf-cookie-popup.cfck-visible {
  opacity: 1;
  pointer-events: all;
}
#cf-cookie-popup.cfck-hiding {
  opacity: 0;
  pointer-events: none;
}


#cf-cookie-overlay {
  position: fixed;
  inset: 0;
  background: rgba(30, 20, 8, 0.35);
  backdrop-filter: blur(6px) saturate(1.4);
  -webkit-backdrop-filter: blur(6px) saturate(1.4);
  cursor: pointer;
}


#cf-cookie-modal {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 560px;
  background: #f7f2ea;
  backdrop-filter: blur(28px) saturate(1.6);
  -webkit-backdrop-filter: blur(28px) saturate(1.6);
  border: 1px solid rgba(201, 150, 62, 0.28);
  border-radius: var(--ck-radius);
  box-shadow:
    0 0 0 1px rgba(255, 248, 240, 0.80) inset,
    0 2px 0 rgba(255, 255, 255, 0.60) inset,
    0 40px 80px rgba(0, 0, 0, 0.14),
    0 0 60px rgba(201, 150, 62, 0.08),
    0 0 0 1px rgba(201, 150, 62, 0.10);
  overflow: hidden;
  transform: translateY(36px) scale(0.96);
  transition: transform 0.42s cubic-bezier(0.34, 1.46, 0.64, 1), opacity 0.38s ease;
  opacity: 0;
}
#cf-cookie-popup.cfck-visible #cf-cookie-modal {
  transform: translateY(0) scale(1);
  opacity: 1;
}
#cf-cookie-popup.cfck-hiding #cf-cookie-modal {
  transform: translateY(20px) scale(0.97);
  opacity: 0;
}


#cf-cookie-modal::before {
  content: '';
  display: block;
  height: 2.5px;
  background: linear-gradient(90deg,
    #c9963e 0%,
    #a87430 25%,
    #c9963e 50%,
    #e8c070 70%,
    #a87430 85%,
    #c9963e 100%
  );
  background-size: 300% 100%;
  animation: cfck-shimmer 4s linear infinite;
}


#cf-cookie-modal::after {
  content: '';
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  height: 160px;
  background: radial-gradient(ellipse at center, rgba(201,150,62,0.08) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

@keyframes cfck-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}


.cfck-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 22px 14px;
  position: relative;
  z-index: 1;
  background: #f0e8d8;
  border-bottom: 1px solid rgba(201,150,62,0.18);
}
.cfck-header-left {
  display: flex;
  align-items: center;
  gap: 14px;
}

.cfck-icon-wrap {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #0d0d0d;
  border: 1px solid rgba(201,150,62,0.50);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ck-gold);
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18), 0 0 0 1px rgba(201,150,62,0.12) inset;
  animation: cfck-icon-pulse 3s ease-in-out infinite;
}
@keyframes cfck-icon-pulse {
  0%, 100% { box-shadow: 0 4px 16px rgba(0,0,0,0.18), 0 0 0 1px rgba(201,150,62,0.12) inset; }
  50%       { box-shadow: 0 4px 26px rgba(201,150,62,0.28), 0 0 0 1px rgba(201,150,62,0.20) inset; }
}

.cfck-title {
  font-size: 1.08rem;
  font-weight: 700;
  color: #1e1408;
  margin: 0 0 3px;
  letter-spacing: -0.015em;
  line-height: 1.1;
}
.cfck-subtitle {
  font-size: 0.72rem;
  color: #a87430;
  margin: 0;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.90;
}

.cfck-close-x {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid rgba(201,150,62,0.30);
  background: #0d0d0d;
  color: rgba(201,150,62,0.70);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.22s ease;
  flex-shrink: 0;
}
.cfck-close-x:hover {
  background: #0d0d0d;
  color: #c9963e;
  border-color: #c9963e;
  transform: rotate(90deg) scale(1.08);
}


.cfck-body {
  padding: 16px 22px 10px;
  position: relative;
  z-index: 1;
}
.cfck-desc {
  font-size: 0.84rem;
  color: #5a4530;
  line-height: 1.70;
  margin: 0 0 14px;
}
.cfck-link {
  color: #a87430;
  text-decoration: underline;
  text-decoration-color: rgba(168,116,48,0.40);
  text-underline-offset: 3px;
  transition: color 0.2s;
  font-weight: 600;
}
.cfck-link:hover { color: #c9963e; }


.cfck-panels {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.cfck-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 13px;
  background: #fff8f0;
  border: 1px solid rgba(201,150,62,0.20);
  border-radius: var(--ck-radius-sm);
  transition: border-color 0.22s, background 0.22s, box-shadow 0.22s;
  gap: 12px;
  position: relative;
  overflow: hidden;
}
.cfck-panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.50) 0%, transparent 60%);
  pointer-events: none;
}
.cfck-panel:hover {
  border-color: rgba(201,150,62,0.40);
  background: #fffdf8;
  box-shadow: 0 4px 24px rgba(201,150,62,0.10);
}
.cfck-panel--required {
  background: #fffcf4;
  border-color: rgba(201,150,62,0.30);
}
.cfck-panel--required:hover {
  background: #fffdf8;
  border-color: rgba(201,150,62,0.48);
  box-shadow: 0 4px 24px rgba(201,150,62,0.12);
}

.cfck-panel-left {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  flex: 1;
  min-width: 0;
}

.cfck-panel-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cfck-panel-icon--shield {
  background: #0d0d0d;
  color: #c9963e;
  border: 1px solid rgba(201,150,62,0.40);
}
.cfck-panel-icon--chart {
  background: #0d0d0d;
  color: #c9963e;
  border: 1px solid rgba(201,150,62,0.35);
}
.cfck-panel-icon--target {
  background: #0d0d0d;
  color: #c9963e;
  border: 1px solid rgba(201,150,62,0.35);
}

.cfck-panel-name {
  display: block;
  font-size: 0.84rem;
  font-weight: 700;
  color: #1e1408;
  margin-bottom: 2px;
  letter-spacing: -0.01em;
}
.cfck-panel-desc {
  display: block;
  font-size: 0.74rem;
  color: #7a6545;
  line-height: 1.45;
}


.cfck-always-badge {
  font-size: 0.70rem;
  font-weight: 700;
  color: #a87430;
  background: #0d0d0d;
  border: 1px solid rgba(201,150,62,0.45);
  border-radius: 30px;
  padding: 4px 10px;
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: 0.04em;
}


.cfck-toggle {
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
}
.cfck-toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
}
.cfck-toggle-track {
  display: block;
  width: 44px;
  height: 24px;
  border-radius: 12px;
  background: rgba(168,116,48,0.15);
  border: 1px solid rgba(168,116,48,0.28);
  position: relative;
  transition: background 0.25s, border-color 0.25s, box-shadow 0.25s;
}
.cfck-toggle input:checked + .cfck-toggle-track {
  background: #0d0d0d;
  border-color: #c9963e;
  box-shadow: 0 0 12px rgba(201,150,62,0.30);
}
.cfck-toggle-thumb {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 5px rgba(0,0,0,0.20);
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.cfck-toggle input:checked + .cfck-toggle-track .cfck-toggle-thumb {
  transform: translateX(20px);
  background: #c9963e;
}
.cfck-toggle:hover .cfck-toggle-track {
  border-color: rgba(201,150,62,0.55);
}


.cfck-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,150,62,0.22), transparent);
  margin: 10px 22px 0;
}


.cfck-footer {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 14px 22px 18px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
  background: #f0e8d8;
  border-top: 1px solid rgba(201,150,62,0.18);
}

.cfck-btn {
  flex: 1;
  min-width: 100px;
  height: 42px;
  border-radius: 50px;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  border: none;
  transition: all 0.24s ease;
  letter-spacing: 0.02em;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}


.cfck-btn--ghost {
  background: #e8e0d0;
  color: #9e8560;
  border: 1px solid rgba(201,150,62,0.22);
}
.cfck-btn--ghost:hover {
  background: #ddd5c5;
  color: #6b5435;
  border-color: rgba(201,150,62,0.38);
}


.cfck-btn--outline {
  background: #0d0d0d;
  color: #c9963e;
  border: 1.5px solid #c9963e;
}
.cfck-btn--outline:hover {
  background: #c9963e;
  color: #000;
  box-shadow: 0 4px 16px rgba(201,150,62,0.30);
}


.cfck-btn--primary {
  background: #0d0d0d;
  color: #c9963e;
  border: 1.5px solid #c9963e;
  box-shadow: 0 4px 20px rgba(0,0,0,0.20), 0 0 0 1px rgba(201,150,62,0.15) inset;
}
.cfck-btn--primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(201,150,62,0.10), transparent);
  background-size: 200% 100%;
  animation: cfck-shimmer 3s linear infinite;
  border-radius: 50px;
}
.cfck-btn--primary:hover {
  background: #c9963e;
  color: #000;
  box-shadow: 0 8px 30px rgba(201,150,62,0.38);
  transform: translateY(-2px);
}
.cfck-btn--primary:active {
  transform: translateY(0);
  box-shadow: 0 4px 16px rgba(201,150,62,0.25);
}


.cfck-confirm {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 22px;
  background: rgba(201,150,62,0.10);
  border-top: 1px solid rgba(201,150,62,0.22);
  color: #a87430;
  font-size: 0.82rem;
  font-weight: 600;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.3s ease, max-height 0.35s ease, padding 0.3s ease;
}
.cfck-confirm--visible {
  opacity: 1;
  max-height: 60px;
  padding: 12px 22px;
}

/* ══════════════════════════════════════════════════════
   MOBILE
══════════════════════════════════════════════════════ */
@media (max-width: 600px) {
  #cf-cookie-popup {
    padding: 0 8px 16px;
    align-items: flex-end;
  }

  #cf-cookie-modal {
    border-radius: 16px 16px 14px 14px;
    max-width: 100%;
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #cf-cookie-modal::-webkit-scrollbar { display: none; }

  .cfck-header {
    padding: 16px 16px 12px;
  }
  .cfck-body {
    padding: 12px 16px 8px;
  }
  .cfck-divider {
    margin: 8px 16px 0;
  }
  .cfck-footer {
    padding: 12px 16px 16px;
    flex-direction: column;
    gap: 8px;
  }
  .cfck-btn {
    width: 100%;
    flex: none;
    height: 46px;
    font-size: 0.88rem;
  }
  
  .cfck-btn--primary { order: 1; }
  .cfck-btn--outline { order: 2; }
  .cfck-btn--ghost   { order: 3; }

  .cfck-confirm {
    padding: 0 16px;
  }
  .cfck-confirm--visible {
    padding: 10px 16px;
  }

  .cfck-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .cfck-title {
    font-size: 1rem;
  }
  .cfck-desc {
    font-size: 0.82rem;
  }
  .cfck-panel {
    padding: 10px 11px;
  }
  .cfck-panel-icon {
    width: 30px;
    height: 30px;
  }
}




@keyframes rc-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

@keyframes rc-slidein {
    from { opacity: 0; transform: translateY(24px) scale(0.92); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes rc-slideout {
    to { opacity: 0; transform: translateY(16px) scale(0.93); }
}

@keyframes rc-urgency-drain {
    from { width: 100%; }
    to   { width: 0%; }
}

@keyframes rc-glow-pulse {
    0%, 100% {
        box-shadow:
            0 4px 6px rgba(0,0,0,0.06),
            0 12px 44px rgba(180,130,60,0.18),
            0 0 0 1px rgba(180,130,60,0.20),
            -1px 0 0 rgba(180,130,60,0.25);
    }
    50% {
        box-shadow:
            0 4px 6px rgba(0,0,0,0.08),
            0 16px 56px rgba(180,130,60,0.28),
            0 0 40px rgba(180,130,60,0.12),
            0 0 0 1px rgba(180,130,60,0.30),
            -1px 0 0 rgba(180,130,60,0.35);
    }
}

@keyframes rc-badge-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(180,130,60,0.30); }
    50%       { box-shadow: 0 0 0 4px rgba(180,130,60,0); }
}

@keyframes rc-btn-shimmer {
    0%   { left: -75%; }
    100% { left: 160%; }
}

@keyframes rc-top-bar {
    0%   { background-position: -200% 0; opacity: 0.85; }
    50%  { background-position: 0% 0;    opacity: 1; }
    100% { background-position: 200% 0;  opacity: 0.85; }
}


#rc-popup-container {
    position: fixed;
    z-index: 1001;
    pointer-events: none;
}

#rc-popup-container.rc-pos-bottom-right { bottom: 28px; right: 28px; }
#rc-popup-container.rc-pos-bottom-left  { bottom: 28px; left: 28px; }
#rc-popup-container.rc-pos-top-right    { top: 95px; right: 28px; }
#rc-popup-container.rc-pos-top-left     { top: 95px; left: 28px; }


#rc-popup {
    pointer-events: all;
    background: linear-gradient(160deg,
        #fdf8f0 0%,
        #faf3e8 55%,
        #f7ede0 100%
    );
    border: 1px solid rgba(180,130,60,0.28);
    border-radius: 24px;
    padding: 0;
    display: flex;
    flex-direction: column;
    max-width: 310px;
    width: 100%;
    overflow: hidden;
    position: relative;
    box-shadow:
        0 4px 6px rgba(0,0,0,0.04),
        0 12px 44px rgba(180,130,60,0.15),
        0 0 0 1px rgba(180,130,60,0.14);
    animation: rc-slidein 0.5s cubic-bezier(0.22,1,0.36,1) both, rc-glow-pulse 4s ease-in-out 0.6s infinite;
}


#rc-popup::before {
    content: '';
    display: block;
    height: 3px;
    width: 100%;
    flex-shrink: 0;
    background: linear-gradient(90deg,
        transparent 0%,
        #a07828 10%,
        #c9963e 30%,
        #e8bc6a 50%,
        #c9963e 70%,
        #a07828 90%,
        transparent 100%);
    background-size: 200% 100%;
    animation: rc-top-bar 3s ease-in-out infinite;
}


#rc-popup::after {
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 120px; height: 120px;
    background: radial-gradient(ellipse at top right,
        rgba(201,150,62,0.10) 0%,
        transparent 65%);
    pointer-events: none;
}

#rc-popup.rc-hiding {
    animation: rc-slideout 0.38s cubic-bezier(0.4,0,1,1) forwards;
}


#rc-popup-body {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px 6px 14px;
    position: relative;
    z-index: 1;
}


#rc-close {
    position: absolute;
    top: 12px;
    right: 14px;
    background: rgba(180,130,60,0.08);
    border: 1px solid rgba(180,130,60,0.22);
    cursor: pointer;
    padding: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(140,100,30,0.55);
    transition: all 0.25s ease;
    z-index: 2;
}
#rc-close:hover {
    background: rgba(180,130,60,0.15);
    border-color: rgba(180,130,60,0.45);
    color: #8a6318;
    transform: rotate(90deg);
}


#rc-avatar-wrap {
    flex-shrink: 0;
    position: relative;
}

#rc-avatar-img,
#rc-avatar-video {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(180,130,60,0.45);
    box-shadow:
        0 0 0 3px rgba(180,130,60,0.12),
        0 4px 14px rgba(0,0,0,0.12);
}


#rc-avatar-wrap::after {
    content: '';
    position: absolute;
    bottom: 3px; right: 3px;
    width: 10px; height: 10px;
    background: #22c55e;
    border-radius: 50%;
    border: 2px solid #fdf8f0;
    box-shadow: 0 0 6px rgba(34,197,94,0.50);
}


#rc-content {
    flex: 1;
    min-width: 0;
    padding-right: 20px;
}

#rc-subtitle {
    font-size: 10px;
    color: #8a6318;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 3px;
    font-family: 'DM Sans', sans-serif;
}

#rc-title {
    font-size: 13px;
    font-weight: 700;
    color: #2a1f0e;
    margin: 0 0 3px;
    line-height: 1.35;
    font-family: 'DM Sans', sans-serif;
}

#rc-description {
    font-size: 11px;
    color: rgba(40,25,10,0.55);
    margin: 0;
    line-height: 1.50;
    font-family: 'DM Sans', sans-serif;
}


#rc-count-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(180,130,60,0.10);
    border: 1px solid rgba(180,130,60,0.30);
    color: #7a5210;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
    margin: 8px 14px 0;
    width: fit-content;
    font-family: 'DM Sans', sans-serif;
    letter-spacing: 0.03em;
    animation: rc-badge-pulse 2.5s ease-in-out infinite;
}
#rc-count-badge svg { flex-shrink: 0; }


#rc-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: linear-gradient(135deg,
        #1a1208 0%,
        #0d0d0d 40%,
        #1a1208 100%);
    background-size: 300% 100%;
    color: #e8bc6a;
    border: 1.5px solid rgba(201,150,62,0.65);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 11px 16px;
    margin: 10px 12px 12px;
    border-radius: 100px;
    text-decoration: none;
    transition: background-position 0.5s ease, transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow:
        0 4px 20px rgba(0,0,0,0.25),
        0 0 0 0 rgba(201,150,62,0),
        0 1px 0 rgba(255,255,255,0.05) inset;
    position: relative;
    overflow: hidden;
    font-family: 'DM Sans', sans-serif;
}


#rc-checkout-btn::before {
    content: '';
    position: absolute;
    top: 0; left: -75%;
    width: 50%; height: 100%;
    background: linear-gradient(90deg,
        transparent,
        rgba(232,188,106,0.20),
        transparent);
    animation: rc-btn-shimmer 2.2s ease-in-out infinite;
    pointer-events: none;
}

#rc-checkout-btn:hover {
    background-position: 100% 0;
    transform: translateY(-2px);
    color: #f5d080;
    box-shadow:
        0 10px 32px rgba(0,0,0,0.35),
        0 0 24px rgba(201,150,62,0.25),
        0 0 0 1.5px rgba(201,150,62,0.80);
}
#rc-checkout-btn:active {
    transform: scale(0.97);
}


#rc-urgency-bar {
    height: 3px;
    background: rgba(180,130,60,0.12);
    margin: 0 12px 10px;
    border-radius: 50px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

#rc-urgency-fill {
    height: 100%;
    width: 100%;
    background: linear-gradient(90deg,
        #8a6318 0%,
        #c9963e 50%,
        #e8bc6a 100%);
    border-radius: 50px;
    animation: rc-urgency-drain linear forwards;
    box-shadow: 0 0 8px rgba(201,150,62,0.35);
}


@media (max-width: 480px) {
    #rc-popup-container.rc-pos-bottom-right { bottom: 14px; right: 10px; left: auto; }
    #rc-popup-container.rc-pos-bottom-left  { bottom: 14px; left: 10px; right: auto; }
    #rc-popup-container.rc-pos-top-right    { top: 78px; right: 10px; left: auto; }
    #rc-popup-container.rc-pos-top-left     { top: 78px; left: 10px; right: auto; }

    #rc-popup {
        max-width: 252px;
        border-radius: 18px;
    }

    #rc-popup-body {
        padding: 10px 12px 4px 12px;
        gap: 10px;
    }

    #rc-avatar-img,
    #rc-avatar-video {
        width: 38px;
        height: 38px;
    }

    #rc-subtitle    { font-size: 9px;    margin-bottom: 1px; }
    #rc-title       { font-size: 11.5px; margin-bottom: 1px; }
    #rc-description { font-size: 10px; }

    #rc-count-badge {
        font-size: 9.5px;
        padding: 3px 8px;
        margin: 6px 12px 0;
    }

    #rc-checkout-btn {
        font-size: 11px;
        padding: 10px 12px;
        margin: 8px 10px 10px;
    }

    #rc-urgency-bar {
        height: 2px;
        margin: 0 10px 10px;
    }
}





#snow-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 99998;
  overflow: hidden;
}

.snow-el {
  position: absolute;
  top: -60px;
  pointer-events: none;
  animation: snow-fall linear infinite;
  will-change: transform;
  user-select: none;
}

@keyframes snow-fall {
  0% {
    transform: translateY(0) translateX(0) rotate(0deg);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 0.8;
  }
  100% {
    transform: translateY(110vh) translateX(var(--snow-drift, 30px)) rotate(360deg);
    opacity: 0;
  }
}

.account-icon-wrapper {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 0;
}

.account-icon-wrapper i {
  font-size: 20px;
  color: var(--primary-color, #e91e8c);
  transition: transform 0.2s ease, color 0.2s ease;
}

.account-icon-wrapper:hover i {
  transform: scale(1.15);
}



/* ================================================================
   BBW4LIFE PRELOADER — Beauty Has No Sizes
================================================================ */

#cf-preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  background: linear-gradient(160deg, #0d0d0d 0%, #1a0a10 50%, #0d0d0d 100%);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  overflow: hidden;
  transition: opacity 0.55s cubic-bezier(0.4, 0, 0.2, 1),
              visibility 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

#cf-preloader.cf-pre--hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

#cf-preloader::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(
    ellipse at center,
    rgba(192, 56, 94, 0.20) 0%,
    rgba(201, 150, 62, 0.08) 40%,
    transparent 70%
  );
  pointer-events: none;
  animation: cfPreGlowPulse 3s ease-in-out infinite;
}

@keyframes cfPreGlowPulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1);   opacity: 0.7; }
  50%       { transform: translate(-50%, -50%) scale(1.2); opacity: 1;   }
}

.cf-pre-particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.cf-pre-particle {
  position: absolute;
  border-radius: 50%;
  animation: cfPreParticleFloat linear infinite;
  opacity: 0;
}

@keyframes cfPreParticleFloat {
  0%   { transform: translateY(100vh) scale(0); opacity: 0; }
  10%  { opacity: 0.7; }
  90%  { opacity: 0.3; }
  100% { transform: translateY(-10vh) scale(1); opacity: 0; }
}


.cf-pre-logo-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.cf-pre-logo-ring {
  position: absolute;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  border: 1.5px solid rgba(201, 150, 62, 0.30);
  animation: cfPreRingRotate 6s linear infinite;
}

.cf-pre-logo-ring::before {
  content: '';
  position: absolute;
  top: -3px;
  left: 50%;
  width: 6px;
  height: 6px;
  background: #c9963e;
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 10px 3px rgba(201, 150, 62, 0.6);
}

@keyframes cfPreRingRotate {
  from { transform: rotate(0deg);   }
  to   { transform: rotate(360deg); }
}

.cf-pre-logo {
  width: 80px;
  height: 80px;
  object-fit: contain;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 4px 20px rgba(192, 56, 94, 0.50));
  animation: cfPreLogoBreath 2.5s ease-in-out infinite;
}

@keyframes cfPreLogoBreath {
  0%, 100% { transform: scale(1);    filter: drop-shadow(0 4px 20px rgba(192, 56, 94, 0.50)); }
  50%       { transform: scale(1.05); filter: drop-shadow(0 6px 28px rgba(192, 56, 94, 0.75)); }
}


.cf-pre-brand {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
}

.cf-pre-brand-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  background: linear-gradient(135deg, #ffffff 30%, rgba(201, 150, 62, 0.90) 70%, #c0385e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  opacity: 0;
  transform: translateY(12px);
  animation: cfPreFadeUp 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 0.25s forwards;
}

.cf-pre-tagline {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  opacity: 0;
  transform: translateY(8px);
  animation: cfPreFadeUp 0.6s ease 0.5s forwards;
}

@keyframes cfPreFadeUp {
  to { opacity: 1; transform: translateY(0); }
}


#cf-preloader.style-pulse-logo .cf-pre-logo {
  animation: cfPrePulseLogo 1.2s ease-in-out infinite;
}

@keyframes cfPrePulseLogo {
  0%, 100% { transform: scale(1);    filter: drop-shadow(0 0 12px rgba(192, 56, 94, 0.5)); }
  50%       { transform: scale(1.15); filter: drop-shadow(0 0 32px rgba(192, 56, 94, 0.9)); }
}

#cf-preloader.style-pulse-logo .cf-pre-logo-ring {
  animation: cfPreRingPulse 1.2s ease-in-out infinite;
}

@keyframes cfPreRingPulse {
  0%, 100% { transform: scale(1);    opacity: 0.4; }
  50%       { transform: scale(1.25); opacity: 0.9; }
}


.cf-pre-progress-wrap {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 260px;
}

#cf-preloader.style-progress-bar .cf-pre-progress-wrap {
  display: flex;
}

.cf-pre-progress-track {
  width: 100%;
  height: 3px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 100px;
  overflow: hidden;
}

.cf-pre-progress-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #c0385e, #c9963e, #c0385e);
  background-size: 200% 100%;
  border-radius: 100px;
  transition: width 0.3s ease;
  animation: cfPreProgressShimmer 2s linear infinite;
}

@keyframes cfPreProgressShimmer {
  0%   { background-position: 100% 0;  }
  100% { background-position: -100% 0; }
}

.cf-pre-progress-pct {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 0.1em;
}


.cf-pre-spinner-wrap {
  display: none;
  position: relative;
  width: 56px;
  height: 56px;
}

#cf-preloader.style-spinner-ring .cf-pre-spinner-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cf-pre-spinner {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2.5px solid transparent;
}

.cf-pre-spinner:nth-child(1) { border-top-color:    #c0385e; animation: cfPreSpinCW  1s    linear infinite; }
.cf-pre-spinner:nth-child(2) { inset: 8px;  border-right-color:  #c9963e; animation: cfPreSpinCCW 0.75s linear infinite; }
.cf-pre-spinner:nth-child(3) { inset: 16px; border-bottom-color: rgba(255,255,255,0.5); animation: cfPreSpinCW 0.5s linear infinite; }

@keyframes cfPreSpinCW  { to { transform: rotate(360deg);  } }
@keyframes cfPreSpinCCW { to { transform: rotate(-360deg); } }


.cf-pre-dots-wrap {
  display: none;
  align-items: flex-end;
  gap: 6px;
  height: 28px;
}

#cf-preloader.style-dots-wave .cf-pre-dots-wrap {
  display: flex;
}

.cf-pre-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  animation: cfPreDotWave 1.4s ease-in-out infinite;
}

.cf-pre-dot:nth-child(1) { background: #c0385e; animation-delay: 0s;    }
.cf-pre-dot:nth-child(2) { background: #d4506e; animation-delay: 0.16s; }
.cf-pre-dot:nth-child(3) { background: #c9963e; animation-delay: 0.32s; }
.cf-pre-dot:nth-child(4) { background: #d4506e; animation-delay: 0.48s; }
.cf-pre-dot:nth-child(5) { background: #c0385e; animation-delay: 0.64s; }

@keyframes cfPreDotWave {
  0%, 80%, 100% { transform: scaleY(0.4); opacity: 0.4; }
  40%           { transform: scaleY(1.4); opacity: 1;   }
}


.cf-pre-morph-wrap {
  display: none;
  position: relative;
  height: 48px;
  overflow: hidden;
  width: 90vw;
  max-width: 420px;
  text-align: center;
}

#cf-preloader.style-morph-text .cf-pre-morph-wrap {
  display: block;
}

.cf-pre-morph-text {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  white-space: normal;
  word-break: break-word;
  line-height: 1.4;
  padding: 0 8px;
  box-sizing: border-box;
  text-align: center;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.cf-pre-morph-text.cf-morph-enter { transform: translateY(20px);  opacity: 0; }
.cf-pre-morph-text.cf-morph-active { transform: translateY(0);     opacity: 1; }
.cf-pre-morph-text.cf-morph-exit  { transform: translateY(-20px); opacity: 0; }






/* ============================================================
   SEARCH GLOBAL — curva-search.css — ULTRA PREMIUM
   Palette : fond crème ivoire · bordure or · icônes or
             section header fond noir · texte or
   ============================================================ */
.curva-search-dropdown {
  position: fixed;
  z-index: 999999;
  background: linear-gradient(160deg, #fdf8f0 0%, #faf4e8 50%, #f7f0e2 100%);
  border: 1.5px solid rgba(201, 160, 62, 0.55);
  border-radius: 18px;
  box-shadow:
    0 24px 64px rgba(30, 18, 8, 0.38),
    0 4px 20px rgba(201, 160, 62, 0.18),
    0 0 0 1px rgba(255, 248, 220, 0.80) inset;
  overflow: hidden;
  min-width: 370px;
  max-width: 500px;
  max-height: 440px;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  display: none;
  font-family: inherit;
}

.curva-search-dropdown::-webkit-scrollbar {
  display: none;
}

.curva-search-dropdown.open {
  display: block;
  animation: searchFadeIn .18s ease;
}

@keyframes searchFadeIn {
  from { opacity: 0; transform: translateY(-6px) scale(.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}



.curva-search-header {
  padding: 10px 16px 6px;
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .20em;
  color: #c9a03e;
  background: linear-gradient(90deg, #111008 0%, #1c1608 100%);
  border-bottom: 1px solid rgba(201, 160, 62, 0.30);
  border-top: 1px solid rgba(201, 160, 62, 0.15);
}
.curva-search-header:first-child {
  border-top: none;
}


.curva-search-item {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 0;
  padding: 12px 14px 12px 12px;
  cursor: pointer;
  border-bottom: 1px solid rgba(201, 160, 62, 0.12);
  transition: background .15s ease;
  text-decoration: none;
  color: inherit;
  overflow-x: hidden;
}

.curva-search-item:last-child {
  border-bottom: none;
}

.curva-search-item:hover,
.curva-search-item.active {
  background: linear-gradient(90deg, rgba(201, 160, 62, 0.10), rgba(30, 18, 8, 0.05));
}


.curva-search-icon {
  font-size: 16px;
  width: 36px;
  text-align: center;
  flex-shrink: 0;
  line-height: 1;
  color: #c9a03e;
}

.curva-search-icon i {
  color: #c9a03e !important;
}


.curva-search-text {
  min-width: 0;
  overflow-x: hidden;
  padding-right: 10px;
}

.curva-search-title {
  font-size: 13.5px;
  font-weight: 500;
  color: #1c1206;
  white-space: normal;
  overflow-x: hidden;
  word-break: break-word;
  line-height: 1.45;
  display: block;
}


.curva-search-title mark {
  background: rgba(201, 160, 62, 0.18);
  color: #a07820;
  border-radius: 3px;
  padding: 0 3px;
  font-weight: 700;
  font-style: normal;
}


.curva-search-price {
  font-size: 12px;
  font-weight: 600;
  color: #c9a03e;
  display: block;
  margin-top: 2px;
}


.curva-search-badge {
  font-size: 9.5px;
  font-weight: 600;
  color: #c9a03e;
  background: #111008;
  border: 1px solid rgba(201, 160, 62, 0.45);
  border-radius: 20px;
  padding: 3px 9px;
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: .06em;
  line-height: 1;
  align-self: flex-start;
  margin-top: 2px;
}


.curva-search-empty {
  padding: 22px 18px;
  font-size: 13px;
  color: #a09070;
  text-align: center;
}

@media (max-width: 480px) {
  .curva-search-dropdown {
    min-width: unset !important;
    max-width: unset !important;
    left: 8px !important;
    right: 8px !important;
    width: calc(100vw - 16px) !important;
  }
}



/* ══════════════════════════════════════════════════════════════
   SECTION BASE — fond chaud ambré ultra premium
══════════════════════════════════════════════════════════════ */
.featured-spotlight-section {
  padding: 15px 10px 10px;
  background: #fff;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(180,130,60,0.22);
  border-bottom: 1px solid rgba(180,130,60,0.22);
}


.featured-spotlight-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    #a0720a 15%,
    #c9963e 35%,
    #f0c96a 50%,
    #c9963e 65%,
    #a0720a 85%,
    transparent 100%
  );
  background-size: 300% 100%;
  animation: fs-gold-sweep 5s linear infinite;
  pointer-events: none;
}


.fs-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(70px);
  animation: fs-orb-float ease-in-out infinite;
}
.fs-orb--1 {
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(201,150,62,0.13) 0%, transparent 70%);
  top: -100px; left: -80px;
  animation-duration: 11s;
}
.fs-orb--2 {
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(212,80,110,0.09) 0%, transparent 70%);
  bottom: -80px; right: -60px;
  animation-duration: 14s;
  animation-delay: -4s;
}
.fs-orb--3 {
  width: 260px; height: 260px;
  background: radial-gradient(circle, rgba(180,130,60,0.08) 0%, transparent 70%);
  top: 45%; right: 30%;
  animation-duration: 9s;
  animation-delay: -7s;
}


.fs-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 55% 45%;
  gap: 50px;
  align-items: center;
  position: relative;
  z-index: 2;
}

/* ══════════════════════════════════════════════════════════════
   MEDIA — IMAGE
══════════════════════════════════════════════════════════════ */
.fs-media { position: relative; }


.fs-badge-float {
  position: absolute;
  top: 16px; left: 16px;
  background: #000000;
  color: #c9963e;
  font-size: 10px;
  font-weight: 800;
  padding: 7px 16px;
  border-radius: 6px;
  z-index: 3;
  box-shadow:
    0 4px 20px rgba(0,0,0,0.55),
    inset 0 1px 0 rgba(255,220,120,0.15);
  letter-spacing: 1.8px;
  text-transform: uppercase;
  animation: fs-badge-in 0.6s cubic-bezier(0.34,1.56,0.64,1) both;
}


.fs-img-frame {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  background: #fff !important;
  box-shadow:
    0 10px 40px rgba(140,100,40,0.16),
    0 2px 10px rgba(140,100,40,0.10),
    0 0 0 1px rgba(180,130,60,0.28),
    inset 0 1px 0 rgba(255,255,255,0.70);
  transition: transform 0.4s cubic-bezier(0.4,0,0.2,1), box-shadow 0.4s;
}
.fs-img-frame:hover {
  transform: translateY(-4px);
  box-shadow:
    0 20px 55px rgba(140,100,40,0.22),
    0 6px 20px rgba(140,100,40,0.14),
    0 0 0 1.5px rgba(180,130,60,0.40),
    inset 0 1px 0 rgba(255,255,255,0.70);
}

.fs-img-shine {
  position: absolute;
  top:0; left:-80%;
  width:55%; height:100%;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,0.22) 50%, transparent 65%);
  animation: fs-shine 5s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
}

.fs-main-img {
  width: 100%;
  height: 420px;
  object-fit: contain;
  border-radius: 22px;
  display: block;
  background: #fff;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1);
}
.fs-img-frame:hover .fs-main-img {
  transform: scale(1.025);
}


.fs-mini-gallery {
  display: flex;
  gap: 10px;
  margin-top: 14px;
}
.fs-thumb {
  flex: 1;
  height: 80px;
  object-fit: cover;
  border-radius: 12px;
  cursor: pointer;
  border: 1.5px solid rgba(180,130,60,0.30);
  background: #ede0cc;
  box-shadow: 0 2px 8px rgba(140,100,40,0.12);
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
.fs-thumb:hover {
  transform: scale(1.05) translateY(-2px);
  border-color: #c9963e;
  box-shadow: 0 6px 18px rgba(180,130,60,0.28);
}
.fs-thumb--active {
  border-color: #c9963e !important;
  box-shadow: 0 6px 18px rgba(180,130,60,0.32) !important;
  transform: scale(1.05) translateY(-2px);
}

/* ══════════════════════════════════════════════════════════════
   CONTENT — partie droite
══════════════════════════════════════════════════════════════ */
.fs-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}


.fs-category {
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #c9963e;
  background: #000000;
  border: 1px solid rgba(201,150,62,0.50);
  padding: 5px 16px;
  border-radius: 20px;
  width: fit-content;
  box-shadow: 0 2px 12px rgba(0,0,0,0.30);
}


.fs-title {
  font-size: 30px;
  font-weight: 900;
  line-height: 1.2;
  margin: 0;
  font-family: 'Cormorant Garamond', Georgia, serif;
  color: #1a1208;
}
.fs-title span,
.fs-title em {
  color: #8a6318;
  font-style: normal;
}


.fs-rating {
  display: flex;
  align-items: center;
  gap: 10px;
}
.fs-stars {
  color: #00b67a;
  font-size: 22px;
  letter-spacing: 2px;
  line-height: 1;
  display: inline-block;
  min-width: 1em;
}
.fs-stars:empty::before {
  content: '★★★★★';
  color: #00b67a;
}


.fs-stars .unique-star {
  display: inline-block;
  font-size: 20px;
  line-height: 1;
}
.fs-stars .unique-star::before {
  content: '★';
  color: #d4d4d4;
}
.fs-stars .unique-star.full::before {
  content: '★';
  color: #00b67a;
}
.fs-stars .unique-star.half::before {
  content: '★';
  background: linear-gradient(90deg, #00b67a 50%, #d4d4d4 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}


.fs-count {
  font-size: 15px;
  color: rgba(30,18,5,0.55);
  font-weight: 600;
}


.fs-price-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.fs-price {
  font-size: 34px;
  font-weight: 900;
  color: #1a1208;
  line-height: 1;
}
.fs-compare {
  font-size: 17px;
  color: rgba(40,25,10,0.38);
  text-decoration: line-through;
}


.fs-discount-tag {
  font-size: 11px;
  font-weight: 800;
  background: #000000;
  color: #c9963e;
  border: 1px solid rgba(201,150,62,0.45);
  padding: 5px 14px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.30);
}


.fs-desc {
  font-size: 14px;
  color: #ffffff;
  background: #000000;
  line-height: 1.80;
  margin: 0;
  padding: 14px 18px;
  border-radius: 12px;
  box-shadow:
    0 4px 18px rgba(0,0,0,0.28),
    inset 0 1px 0 rgba(255,255,255,0.06);
}


.fs-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 16px 18px;
  background: rgba(255,248,235,0.70);
  border: 1px solid rgba(180,130,60,0.25);
  border-radius: 14px;
  box-shadow:
    0 2px 12px rgba(140,100,40,0.10),
    inset 0 1px 0 rgba(255,255,255,0.80);
}
.fs-feat {
  font-size: 13px;
  font-weight: 600;
  color: #a0720a !important;
  display: flex;
  align-items: center;
  gap: 6px;
  animation: fs-feat-slide 0.4s ease both;
}
.fs-feat:nth-child(1) { animation-delay: 0.05s; }
.fs-feat:nth-child(2) { animation-delay: 0.15s; }
.fs-feat:nth-child(3) { animation-delay: 0.25s; }
.fs-feat:nth-child(4) { animation-delay: 0.35s; }


.fs-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}


.fs-btn-primary {
  display: inline-block;
  background: #000000;
  color: #c9963e;
  font-weight: 800;
  font-size: 15px;
  padding: 15px 32px;
  border-radius: 30px;
  border: 2px solid #c9963e;
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: transform 0.2s, box-shadow 0.3s ease, color 0.2s, border-color 0.2s;
  position: relative;
  overflow: hidden;
  text-transform: uppercase;
  box-shadow: 0 6px 24px rgba(0,0,0,0.80);
  animation: bbwBtnPulse 3.8s ease-in-out infinite;
}

.fs-btn-primary::after {
  display: none;
}

.fs-btn-primary:hover {
  transform: translateY(-2px);
  color: #f0c96a;
  border-color: #f0c96a;
  box-shadow: 0 10px 32px rgba(0,0,0,0.90);
}

.fs-btn-primary:active {
  transform: translateY(0) scale(0.97);
  box-shadow: 0 4px 14px rgba(0,0,0,0.70);
}

@keyframes bbwBtnPulse {
  0%, 100% { box-shadow: 0 4px 22px rgba(0,0,0,0.80); }
  50%       { box-shadow: 0 8px 36px rgba(0,0,0,0.95); }
}


.fs-stock {
  font-size: 13px;
  color: rgba(40,25,10,0.52);
  font-weight: 500;
  animation: fs-stock-blink 2s ease-in-out infinite;
}
.fs-stock strong {
  color: #8a6318;
  font-weight: 800;
}

/* ══════════════════════════════════════════════════════════════
   KEYFRAMES
══════════════════════════════════════════════════════════════ */
@keyframes fs-gold-sweep {
  0%   { background-position: 100% 0; }
  100% { background-position: -200% 0; }
}
@keyframes fs-orb-float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-22px); }
}
@keyframes fs-shine {
  0%   { left: -80%; }
  60%  { left: 130%; }
  100% { left: 130%; }
}
@keyframes fs-badge-in {
  from { opacity: 0; transform: scale(0.7) translateY(-6px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes fs-feat-slide {
  from { opacity: 0; transform: translateX(-8px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes fs-btn-glow-rose {
  0%, 100% { box-shadow: 0 6px 24px rgba(212,80,110,0.35), 0 2px 8px rgba(212,80,110,0.20); }
  50%       { box-shadow: 0 8px 32px rgba(212,80,110,0.52), 0 2px 12px rgba(212,80,110,0.30); }
}
@keyframes fs-stock-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.65; }
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .fs-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .fs-main-img { height: 320px; }
  .fs-title    { font-size: 24px; }
  .fs-price    { font-size: 28px; }
}

@media (max-width: 480px) {
  .featured-spotlight-section { padding: 10px 10px !important; }
  .fs-main-img { height: 280px; }
  .fs-thumb    { height: 62px; }
  .fs-features { grid-template-columns: 1fr; }
  .fs-title    { font-size: 20px; }
  .fs-btn-primary { font-size: 14px; padding: 13px 24px; }
}


.bar-separator-section {
  width: 100%;
  box-sizing: border-box;
  z-index: 100;
}
.bar-separator-line {
  max-width: 1500px;
  margin: 0 auto;
  display: block;
}




/* ═══════════════════════════
   SECTION WRAPPER — Fond blanc pâle premium
═══════════════════════════ */
.jrgq-section {
  position: relative;
  background: linear-gradient(170deg,
    #fdf9f4 0%,
    #faf4ec 25%,
    #fdf6ee 55%,
    #f9f2e8 100%
  );
  overflow: hidden;
  isolation: isolate;
}


.jrgq-grid-overlay {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(201,150,62,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,150,62,0.07) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 0;
}


.jrgq-scanline {
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(192,56,94,0.30) 20%,
    rgba(201,150,62,0.75) 50%,
    rgba(192,56,94,0.30) 80%,
    transparent 100%
  );
  animation: jrgq-scanline 7s linear infinite;
  z-index: 1;
  pointer-events: none;
}


.jrgq-particles {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.jrgq-ptcl {
  position: absolute;
  border-radius: 50%;
  animation: jrgq-particle linear infinite;
  opacity: 0;
}

/* ═══════════════════════════
   EYEBROW — FOND NOIR, TEXTE OR
═══════════════════════════ */
.jrgq-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c9963e;
  background: #000000;
  border: 1px solid rgba(201,150,62,0.50);
  border-radius: 50px;
  padding: 7px 22px;
  margin-bottom: 18px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.28);
}
.jrgq-eyebrow::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(201,150,62,0.20), transparent);
  animation: jrgq-progress-sweep 3.5s ease-in-out infinite;
}

.jrgq-eyebrow-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #c9963e;
  flex-shrink: 0;
  animation: jrgq-glow-pulse 2s ease-in-out infinite;
}

/* ═══════════════════════════════════════
   GALLERY BLOCK
═══════════════════════════════════════ */
.jrgq-gallery-block {
  padding: 10px 20px 5px;
  position: relative;
  z-index: 2;
  text-align: center;
}

.jrgq-gallery-header {
  max-width: 640px;
  margin: 0 auto 38px;
}

.jrgq-gallery-title {
  font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 700;
  color: #1a1005;
  line-height: 1.1;
  margin: 0 0 12px;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 20px rgba(201,150,62,0.18);
}
.jrgq-gallery-title em {
  font-style: italic;
  background: linear-gradient(135deg, #c0385e 0%, #c9963e 50%, #9a6c1e 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: jrgq-shimmer 4s linear infinite;
}
.jrgq-gallery-sub {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 1rem;
  color: rgba(30,15,5,0.50);
  line-height: 1.65;
  margin: 0;
}


.jrgq-gallery-mosaic {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.6fr 1fr 1.2fr;
  grid-template-rows: minmax(260px, 320px) minmax(240px, 300px);
  gap: 12px;
  max-width: 1400px;
  margin: 0 auto;
}

.jrgq-gal-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jrgq-gal-item--1 { grid-column: 1; grid-row: 1 / 3; }
.jrgq-gal-item--2 { grid-column: 2; grid-row: 1; }
.jrgq-gal-item--3 { grid-column: 3; grid-row: 1 / 3; }
.jrgq-gal-item--4 { grid-column: 4; grid-row: 1; }
.jrgq-gal-item--5 { grid-column: 5; grid-row: 1 / 3; }
.jrgq-gal-item--6 { grid-column: 2; grid-row: 2; }
.jrgq-gal-item--7 { grid-column: 4; grid-row: 2; }

.jrgq-gal-item {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  cursor: pointer;
  border: 1.5px solid rgba(201,150,62,0.20);
  transition: transform 0.38s cubic-bezier(0.4,0,0.2,1),
              box-shadow 0.38s ease,
              border-color 0.28s;
  animation: jrgq-gallery-reveal 0.7s cubic-bezier(0.34,1.2,0.64,1) both;
  box-shadow: 0 4px 20px rgba(30,15,5,0.08);
}
.jrgq-gal-item:nth-child(1) { animation-delay: 0.05s; }
.jrgq-gal-item:nth-child(2) { animation-delay: 0.15s; }
.jrgq-gal-item:nth-child(3) { animation-delay: 0.10s; }
.jrgq-gal-item:nth-child(4) { animation-delay: 0.20s; }
.jrgq-gal-item:nth-child(5) { animation-delay: 0.25s; }

.jrgq-gal-item:hover {
  transform: scale(1.025) translateY(-5px);
  box-shadow: 0 24px 60px rgba(192,56,94,0.18), 0 0 0 2px rgba(192,56,94,0.35);
  border-color: rgba(192,56,94,0.40);
  z-index: 3;
}
.jrgq-gal-item--featured {
  border-color: rgba(201,150,62,0.45);
  box-shadow: 0 12px 40px rgba(201,150,62,0.18), 0 0 50px rgba(192,56,94,0.08);
}
.jrgq-gal-item--featured:hover {
  box-shadow: 0 28px 70px rgba(201,150,62,0.28), 0 0 0 2px rgba(201,150,62,0.55);
  border-color: rgba(201,150,62,0.65);
}

.jrgq-gal-img-wrap {
  position: relative;
  width: 100%;
  height: 100% !important;
}
.jrgq-gal-img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1), filter 0.4s;
  filter: brightness(0.88) saturate(1.05);
}
.jrgq-gal-item:hover .jrgq-gal-img {
  transform: scale(1.07);
  filter: brightness(0.96) saturate(1.15);
}

.jrgq-gal-gradient {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 65%;
  background: linear-gradient(to top,
    rgba(20,10,3,0.88) 0%,
    rgba(20,10,3,0.50) 50%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
}

.jrgq-gal-shimmer {
  position: absolute;
  top: 0; left: -120%;
  width: 60%; height: 100%;
  background: linear-gradient(105deg, transparent, rgba(201,150,62,0.14), transparent);
  pointer-events: none;
  z-index: 2;
  transition: none;
}
.jrgq-gal-item:hover .jrgq-gal-shimmer {
  left: 160%;
  transition: left 0.65s ease;
}

.jrgq-gal-featured-badge {
  position: absolute;
  top: 14px; left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  background: linear-gradient(135deg, #c9963e, #e8bc6a);
  color: #3a1f00;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 50px;
  box-shadow: 0 4px 18px rgba(201,150,62,0.50);
  white-space: nowrap;
  animation: jrgq-float 3s ease-in-out infinite;
}

.jrgq-gal-badge {
  position: absolute;
  top: 12px; right: 12px;
  z-index: 4;
  background: rgba(22,163,90,0.14);
  border: 1px solid rgba(22,163,90,0.40);
  color: #15803d;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 50px;
  backdrop-filter: blur(6px);
}

.jrgq-gal-info {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 14px 16px;
  z-index: 3;
  text-align: left;
}
.jrgq-gal-loss {
  display: block;
  font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 700;
  background: linear-gradient(135deg, #f4aab8, #e8bc6a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  margin-bottom: 2px;
}
.jrgq-gal-time {
  display: inline-block;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.60);
  margin-bottom: 4px;
}
.jrgq-gal-name {
  display: block;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.82rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 3px;
}
.jrgq-gal-stars {
  font-size: 0.70rem;
  color: #e8bc6a;
  letter-spacing: 1px;
  margin-bottom: 5px;
  text-shadow: 0 0 8px rgba(201,150,62,0.55);
}
.jrgq-gal-quote {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.72rem;
  font-style: italic;
  color: rgba(255,255,255,0.65);
  line-height: 1.45;
  margin: 0;
  display: none;
}
.jrgq-gal-item--featured .jrgq-gal-quote { display: block; }
.jrgq-gal-item:hover .jrgq-gal-quote      { display: block; }

.jrgq-gal-info--featured .jrgq-gal-loss {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
}


.jrgq-gallery-stats-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
  margin-top: 24px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  background: linear-gradient(135deg,
    rgba(255,255,255,0.90) 0%,
    rgba(253,249,244,0.95) 100%
  );
  border: 1px solid rgba(201,150,62,0.28);
  border-radius: 18px;
  overflow: hidden;
  box-shadow:
    0 4px 24px rgba(201,150,62,0.10),
    0 1px 0 rgba(255,255,255,0.80) inset;
}
.jrgq-gstat {
  flex: 1;
  min-width: 130px;
  padding: 18px 16px;
  text-align: center;
  position: relative;
  border-right: 1px solid rgba(201,150,62,0.15);
  transition: background 0.28s ease;
}
.jrgq-gstat:hover {
  background: rgba(201,150,62,0.06);
}
.jrgq-gstat:last-child { border-right: none; }


.jrgq-gstat-num {
  display: block;
  font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
  font-size: 1.55rem;
  font-weight: 700;
  background: linear-gradient(135deg, #c9963e, #f0c96a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  margin-bottom: 4px;
}
.jrgq-gstat-label {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: rgba(30,15,5,0.42);
  text-transform: uppercase;
}
.jrgq-gstat-sep {
  font-size: 0.60rem;
  color: rgba(192,56,94,0.25);
  padding: 0 4px;
  align-self: center;
  display: none;
}

/* ═══════════════════════════
   SOCIAL PROOF STRIP
═══════════════════════════ */
.jrgq-proof-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 20px 24px 32px;
  position: relative;
  z-index: 2;
  border-top: 1px solid rgba(201,150,62,0.14);
  margin-top: 12px;
}
.jrgq-proof-avatars {
  display: flex;
}
.jrgq-proof-av {
  width: 34px; height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
  margin-left: -10px;
  border: 2.5px solid rgba(253,249,244,0.95);
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(30,15,5,0.18);
}
.jrgq-proof-av:first-child { margin-left: 0; }


.jrgq-proof-text {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.82rem;
  color: rgba(30,15,5,0.48);
}
.jrgq-proof-text strong {
  color: rgba(30,15,5,0.82);
  animation: jrgq-count-pulse 2.4s ease-in-out infinite;
  display: inline-block;
}

.jrgq-proof-stars {
  font-size: 0.78rem;
  color: #c9963e;
  display: flex;
  align-items: center;
  gap: 5px;
  letter-spacing: 1px;
}
.jrgq-proof-stars span {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.70rem;
  font-weight: 700;
  color: rgba(30,15,5,0.45);
  letter-spacing: normal;
}

/* ═══════════════════════════
   CTA BUTTON — NOIR PUR + OR
═══════════════════════════ */
.jrgq-gal-cta-btn {
  display: inline-block;
  margin-top: 8px;
  padding: 7px 16px;
  background: #000000;
  color: #c9963e !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: 20px;
  border: 2px solid #c9963e;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
}

.jrgq-gal-cta-btn:hover {
  transform: translateY(-2px);
  color: #f0c96a !important;
  border-color: #f0c96a;
  box-shadow: 0 6px 18px rgba(0,0,0,0.80);
}

.jrgq-gal-cta-btn:active {
  transform: translateY(0);
  box-shadow: none;
}

.jrgq-gal-item--featured .jrgq-gal-cta-btn {
  padding: 9px 20px;
  font-size: 13px;
  background: #000000;
  color: #c9963e !important;
  border: 2px solid #c9963e;
  box-shadow: 0 4px 14px rgba(0,0,0,0.70);
}

/* ═══════════════════════════
   KEYFRAMES
═══════════════════════════ */
@keyframes jrgq-scanline {
  0%   { top: -2px; }
  100% { top: 100%; }
}
@keyframes jrgq-particle {
  0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
  10%  { opacity: 0.7; }
  90%  { opacity: 0.4; }
  100% { transform: translateY(-400px) translateX(var(--px, 0px)) scale(0.4); opacity: 0; }
}
@keyframes jrgq-shimmer {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}
@keyframes jrgq-glow-pulse {
  0%,100% { box-shadow: 0 0 4px rgba(201,150,62,0.55); }
  50%      { box-shadow: 0 0 14px rgba(201,150,62,1); }
}
@keyframes jrgq-progress-sweep {
  0%   { left: -100%; }
  100% { left: 200%; }
}
@keyframes jrgq-gallery-reveal {
  0%   { opacity: 0; transform: translateY(24px) scale(0.96); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes jrgq-float {
  0%,100% { transform: translateX(-50%) translateY(0); }
  50%      { transform: translateX(-50%) translateY(-5px); }
}


@keyframes jrgq-count-pulse {
  0%,100% {
    transform: scale(1);
    color: rgba(30,15,5,0.82);
  }
  50% {
    transform: scale(1.06);
    color: #9a6c1e;
  }
}

/* ═══════════════════════════════
   RESPONSIVE
═══════════════════════════════ */
@media (max-width: 900px) {
  .jrgq-gallery-mosaic {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 220px 220px 220px 220px;
  }
  .jrgq-gal-item--1 { grid-column: 1; grid-row: 1 / 3; }
  .jrgq-gal-item--2 { grid-column: 2; grid-row: 1; }
  .jrgq-gal-item--3 { grid-column: 3; grid-row: 1 / 3; }
  .jrgq-gal-item--4 { grid-column: 2; grid-row: 2; }
  .jrgq-gal-item--5 { grid-column: 1 / 2; grid-row: 3; }
  .jrgq-gal-item--6 { grid-column: 2 / 3; grid-row: 3; }
  .jrgq-gal-item--7 { grid-column: 3 / 4; grid-row: 3; }
}

@media (max-width: 640px) {
  .jrgq-gallery-block { padding: 20px 10px 8px; }

  .jrgq-gallery-mosaic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 200px 180px 200px 200px;
    gap: 8px;
  }
  .jrgq-gal-item--1 { grid-column: 1; grid-row: 1; }
  .jrgq-gal-item--2 { grid-column: 2; grid-row: 1; }
  .jrgq-gal-item--3 { grid-column: 1 / 3; grid-row: 2; }
  .jrgq-gal-item--4 { grid-column: 1; grid-row: 3; }
  .jrgq-gal-item--5 { grid-column: 2; grid-row: 3; }
  .jrgq-gal-item--6 { grid-column: 1; grid-row: 4; }
  .jrgq-gal-item--7 { grid-column: 2; grid-row: 4; }

  .jrgq-gal-cta-btn {
    font-size: 10px;
    padding: 5px 10px;
    letter-spacing: 0em;
    white-space: nowrap;
    display: inline-block;
    margin-left: 0;
    margin-top: 6px;
  }

  .jrgq-gal-item--featured .jrgq-gal-cta-btn {
    font-size: 10px;
    padding: 5px 10px;
    white-space: nowrap;
    margin-left: 0;
  }

  .jrgq-gallery-stats-strip {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
    border-radius: 14px;
  }
  .jrgq-gstat {
    flex: none !important;
    min-width: 0 !important;
    width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(201,150,62,0.12) !important;
  }
  .jrgq-gstat:nth-child(odd) {
    border-right: 1px solid rgba(201,150,62,0.12) !important;
  }
  .jrgq-gstat:last-child,
  .jrgq-gstat:nth-last-child(2):nth-child(odd) {
    border-bottom: none !important;
  }
  .jrgq-gstat-sep { display: none; }
}



/* ════════════════════════════════════════
  Wave section
════════════════════════════════════════ */

#wave-section * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
#wave-section {
    position: relative;
    width: 100%;
    height: 28px;
    background: #0d0d0d;
    overflow: hidden;
    isolation: isolate;
}
#wave-section .wave-container {
    position: absolute;
    width: 200%;
    height: 100%;
    bottom: 0;
    left: 0;
}
#wave-section .wave {
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    fill: #fdf8f2;
    animation: wave-slide 10s linear infinite;
    opacity: 0.92;
}
#wave-section .wave:nth-child(2) {
    animation: wave-slide 14s linear infinite reverse;
    opacity: 0.45;
    fill: #fdf8f2;
}
@keyframes wave-slide {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}


/* ════════════════════════════════════════
   TRUST BANNER — Ultra Premium
════════════════════════════════════════ */

.trust-banner-section {
  position: relative;
}

.trust-banner-wrap {
  position: relative;
  border-radius: 0px;
  overflow: hidden;
  isolation: isolate;
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
}


.trust-banner-photo {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center top;
  transform: scale(1.04);
  transition: transform 9s ease-out;
  will-change: transform;
}
.trust-banner-wrap:hover .trust-banner-photo {
  transform: scale(1.08);
}


.trust-overlay { position: absolute; inset: 0; }

.trust-overlay--dark {
  background: rgba(8, 4, 10, 0.54);
}
.trust-overlay--gradient {
  background: linear-gradient(
    105deg,
    rgba(123, 63, 110, 0.72) 0%,
    rgba(192, 56, 94, 0.48) 50%,
    rgba(8, 4, 10, 0.65) 100%
  );
  mix-blend-mode: multiply;
}
.trust-overlay--vignette {
  background: radial-gradient(
    ellipse at center,
    transparent 35%,
    rgba(0,0,0,0.62) 100%
  );
}


.trust-topline,
.trust-bottomline {
  position: absolute;
  left: 0; right: 0;
  height: 1.5px;
  z-index: 3;
}
.trust-topline {
  top: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(192, 56, 94, 0.0) 10%,
    rgba(192, 56, 94, 0.9) 40%,
    rgba(240, 192, 96, 0.8) 55%,
    rgba(192, 56, 94, 0.9) 70%,
    rgba(192, 56, 94, 0.0) 90%,
    transparent 100%
  );
  box-shadow: 0 0 14px 2px rgba(192, 56, 94, 0.55);
  animation: lineShimmer 3.5s ease-in-out infinite alternate;
}
.trust-bottomline {
  bottom: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(123, 63, 110, 0.0) 10%,
    rgba(123, 63, 110, 0.7) 45%,
    rgba(168, 90, 152, 0.8) 55%,
    rgba(123, 63, 110, 0.7) 70%,
    rgba(123, 63, 110, 0.0) 90%,
    transparent 100%
  );
  box-shadow: 0 0 12px 2px rgba(123, 63, 110, 0.45);
  animation: lineShimmer 3.5s ease-in-out infinite alternate-reverse;
}
@keyframes lineShimmer {
  from { opacity: 0.7; }
  to   { opacity: 1; }
}


.tbp {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
}
.tbp--1 {
  width: 5px; height: 5px;
  background: rgba(240, 192, 96, 0.7);
  box-shadow: 0 0 8px 2px rgba(240, 192, 96, 0.5);
  top: 20%; left: 8%;
  animation: floatP 6s ease-in-out infinite;
}
.tbp--2 {
  width: 3px; height: 3px;
  background: rgba(192, 56, 94, 0.8);
  box-shadow: 0 0 6px 2px rgba(192, 56, 94, 0.5);
  top: 65%; left: 14%;
  animation: floatP 8s ease-in-out infinite reverse;
  animation-delay: -2s;
}
.tbp--3 {
  width: 4px; height: 4px;
  background: rgba(168, 90, 152, 0.75);
  box-shadow: 0 0 8px 2px rgba(168, 90, 152, 0.5);
  top: 30%; right: 10%;
  animation: floatP 7s ease-in-out infinite;
  animation-delay: -3.5s;
}
.tbp--4 {
  width: 6px; height: 6px;
  background: rgba(240, 192, 96, 0.55);
  box-shadow: 0 0 10px 3px rgba(240, 192, 96, 0.4);
  bottom: 22%; right: 16%;
  animation: floatP 9s ease-in-out infinite reverse;
  animation-delay: -1s;
}
.tbp--5 {
  width: 3px; height: 3px;
  background: rgba(255,255,255, 0.5);
  box-shadow: 0 0 6px 2px rgba(255,255,255,0.35);
  top: 50%; left: 50%;
  animation: floatP 5s ease-in-out infinite;
  animation-delay: -4s;
}
@keyframes floatP {
  0%,100% { transform: translateY(0) scale(1); opacity: 0.8; }
  50%      { transform: translateY(-14px) scale(1.25); opacity: 1; }
}


.trust-banner-inner {
  position: relative;
  z-index: 4;
  text-align: center;
  padding: 52px 28px 48px;
  max-width: 720px;
}


.trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.75);
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.14);
  padding: 5px 16px 5px 12px;
  border-radius: 100px;
  margin-bottom: 22px;
  backdrop-filter: blur(6px);
}
.trust-badge-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--rose-light);
  box-shadow: 0 0 7px 2px rgba(192,56,94,0.7);
  animation: dotPulse 1.8s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes dotPulse {
  0%,100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.5); opacity: 0.6; }
}


.trust-banner-title {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 4.5vw, 2.85rem);
  font-weight: 700;
  line-height: 1.18;
  color: #fff;
  letter-spacing: -0.01em;
  margin-bottom: 0;
  text-shadow: 0 2px 24px rgba(0,0,0,0.5);
}
.trust-banner-title em {
  font-style: italic;
  background: linear-gradient(90deg, var(--rose-light) 0%, var(--gold-light) 55%, var(--rose-light) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: titleShine 4s linear infinite;
}
@keyframes titleShine {
  from { background-position: 0% center; }
  to   { background-position: 200% center; }
}


.trust-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 18px auto;
}
.trust-divider-line {
  display: block;
  width: 60px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(240,192,96,0.5));
}
.trust-divider-line:last-child {
  background: linear-gradient(90deg, rgba(240,192,96,0.5), transparent);
}
.trust-divider-diamond {
  display: block;
  width: 6px; height: 6px;
  background: var(--gold-light);
  transform: rotate(45deg);
  box-shadow: 0 0 8px 2px rgba(240,192,96,0.6);
}


.trust-banner-text {
  font-family: var(--font-body);
  font-size: clamp(0.88rem, 1.5vw, 1rem);
  color: rgba(255,255,255,0.68);
  line-height: 1.7;
  margin-bottom: 26px;
}
.trust-banner-text strong {
  color: rgba(255,255,255,0.92);
  font-weight: 600;
}


.trust-pills {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 10px;
}
.trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 500;
  color: rgba(255,255,255,0.72);
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 5px 13px;
  border-radius: 100px;
  backdrop-filter: blur(4px);
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.trust-pill i {
  font-size: 0.75rem;
  color: var(--rose-light);
}
.trust-pill:hover {
  background: rgba(192,56,94,0.16);
  border-color: rgba(192,56,94,0.35);
  color: #fff;
}
.trust-pill-sep {
  color: rgba(255,255,255,0.2);
  font-size: 1rem;
}

@media (max-width: 640px) {
  #trust-banner .trust-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  #trust-banner .trust-pill-sep {
    display: none !important;
  }

  #trust-banner .trust-pill {
    white-space: nowrap !important;
    font-size: 0.72rem !important;
    padding: 5px 10px !important;
    flex: 0 0 auto !important;
    width: auto !important;
  }

  #trust-banner .trust-pill:nth-child(1) {
    order: 1 !important;
  }

  #trust-banner .trust-pill:nth-child(3) {
    order: 2 !important;
  }

  #trust-banner .trust-pill:nth-child(5) {
    order: 3 !important;
    flex-basis: auto;
    justify-content: center !important;
    display: flex !important;
  }
}

/* ═══════════════════════════
   BBW4LIFE — MARQUEE SECTION
═══════════════════════════ */
.bbw-marquee-section {
  background: #000;
  padding: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  border-top: 2px solid #c9963e;
  border-bottom: 2px solid #c9963e;
}

.bbw-marquee-section::before,
.bbw-marquee-section::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}
.bbw-marquee-section::before {
  left: 0;
  background: linear-gradient(to right, #0d0d0d 0%, transparent 100%);
}
.bbw-marquee-section::after {
  right: 0;
  background: linear-gradient(to left, #0d0d0d 0%, transparent 100%);
}

.bbw-marquee-track {
  display: flex;
  align-items: center;
  padding: 14px 0;
  width: 100%;
}

.bbw-marquee-inner {
  display: flex;
  align-items: center;
  white-space: nowrap;
  animation: bbwMarqueeRight 50s linear infinite !important;
  will-change: transform;
}
.bbw-marquee-inner:hover {
  animation-play-state: paused;
}

@keyframes bbwMarqueeRight {
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}

.bbw-marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 32px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.85);
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.2s;
}
.bbw-marquee-item i {
  color: #e8bc6a;
  font-size: 14px;
}
.bbw-marquee-item:hover {
  color: #e8bc6a;
}

.bbw-marquee-sep {
  color: #c0385e;
  font-size: 12px;
  flex-shrink: 0;
  opacity: 0.9;
}

@media (max-width: 768px) {
  .bbw-marquee-section::before,
  .bbw-marquee-section::after {
    width: 60px;
  }
  .bbw-marquee-item {
    font-size: 11px;
    padding: 0 20px;
  }
  .bbw-marquee-inner {
    animation-duration: 30s !important;
  }
}



/* ════════════════════════════════════════════
   BBW4LIFE — Stories + Videos Community Section
════════════════════════════════════════════ */

.bbw-stories-section {
  position: relative;
  padding: 15px 0 10px;
  background: #000 !important;
  overflow: hidden;
  isolation: isolate;
}

.bss-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(80px);
  opacity: 0.15;
  z-index: 0;
}
.bss-orb--1 {
  width: 420px; height: 420px;
  background: #c0385e;
  top: -120px; left: -100px;
}
.bss-orb--2 {
  width: 360px; height: 360px;
  background: #7b3f6e;
  bottom: -80px; right: -80px;
}
.bss-orb--3 {
  width: 260px; height: 260px;
  background: #c9963e;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.06;
}

/* ════════════════════════
   STORIES ROW
════════════════════════ */
.bss-stories-wrap {
  position: relative;
  z-index: 2;
  padding: 0 20px 14px;
  overflow: hidden;
}
.bss-stories-wrap::before,
.bss-stories-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 60px;
  z-index: 3;
  pointer-events: none;
}
.bss-stories-wrap::before {
  left: 0;
  background: linear-gradient(90deg, #0d0d0d, transparent);
}
.bss-stories-wrap::after {
  right: 0;
  background: linear-gradient(90deg, transparent, #0d0d0d);
}

.bss-stories-track {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 8px 40px;
  scroll-behavior: smooth;
}
.bss-stories-track::-webkit-scrollbar { display: none; }

.bss-story {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  cursor: pointer;
}

.bss-story-ring {
  width: 72px; height: 72px;
  border-radius: 50%;
  padding: 2.5px;
  background: linear-gradient(135deg, #c0385e 0%, #c9963e 50%, #7b3f6e 100%);
  background-size: 200% 200%;
  animation: ringRotate 4s linear infinite;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.bss-story:hover .bss-story-ring {
  transform: scale(1.08);
  box-shadow: 0 0 24px rgba(201, 150, 62, 0.45), 0 0 10px rgba(192, 56, 94, 0.35);
}
@keyframes ringRotate {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.bss-story-img-wrap {
  width: 100%; height: 100%;
  border-radius: 50%;
  overflow: hidden;
  background: #1a1a1a;
  padding: 2px;
}
.bss-story-img {
  width: 100%; height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.bss-story:hover .bss-story-img {
  transform: scale(1.06);
}

.bss-story-name {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.02em;
  text-align: center;
  transition: color 0.3s;
  white-space: nowrap;
}
.bss-story:hover .bss-story-name {
  color: #e8bc6a;
}

/* ════════════════════════
   SECTION HEADER
════════════════════════ */
.bss-header {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 20px 18px;
}

.bss-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 8px;
}
.bss-eyebrow-dot {
  display: inline-block;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #c9963e;
  box-shadow: 0 0 10px rgba(201, 150, 62, 0.85);
  animation: bssDotPulse 1.8s ease-in-out infinite;
}
.bss-eyebrow-dot:last-child {
  animation-delay: 0.9s;
}
@keyframes bssDotPulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.35; transform: scale(0.6); }
}

.bss-title {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 4vw, 2.8rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 6px;
  letter-spacing: -0.01em;
}
.bss-title em {
  font-style: italic;
  background: linear-gradient(90deg, #d4506e 0%, #e8bc6a 55%, #d4506e 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: bssTitleShine 4s linear infinite;
}
@keyframes bssTitleShine {
  from { background-position: 0% center; }
  to   { background-position: 200% center; }
}

.bss-subtitle {
  font-family: var(--font-body);
  font-size: 0.92rem;
  color: rgba(255, 255, 255, 0.38);
  letter-spacing: 0.04em;
}

/* ════════════════════════
   VIDEOS SLIDER
════════════════════════ */
.bss-videos-wrap {
  position: relative;
  z-index: 2;
  padding: 0 20px;
}

.bss-videos-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 6px 4px 10px;
}
.bss-videos-track::-webkit-scrollbar { display: none; }

.bss-video-item {
  flex-shrink: 0;
  width: calc((100% - 5 * 14px) / 5);
  scroll-snap-align: start;
}

.bss-video-inner {
  position: relative;
  aspect-ratio: 9 / 14;
  border-radius: 18px;
  overflow: hidden;
  background: #1a1a1a;
  border: 1px solid rgba(201, 150, 62, 0.14);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.50);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.bss-video-inner:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.65), 0 0 28px rgba(201, 150, 62, 0.20);
  border-color: rgba(201, 150, 62, 0.40);
}

.bss-video {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

.bss-video-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 45%,
    rgba(8, 3, 10, 0.88) 100%
  );
  pointer-events: none;
}

.bss-video-badge {
  position: absolute;
  top: 10px; left: 10px;
  font-family: var(--font-body);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(192, 56, 94, 0.70);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 3px 9px;
  border-radius: 100px;
}

.bss-sound-btn {
  position: absolute;
  bottom: 42px; right: 10px;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.50);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(201, 150, 62, 0.25);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
  z-index: 3;
  padding: 0;
}
.bss-sound-btn:hover {
  background: rgba(201, 150, 62, 0.30);
  border-color: rgba(201, 150, 62, 0.60);
  transform: scale(1.1);
}
.bss-sound-btn svg {
  width: 14px; height: 14px;
  stroke: #fff;
}

.bss-video-info {
  position: absolute;
  bottom: 10px; left: 10px; right: 10px;
  z-index: 3;
}
.bss-video-name {
  display: block;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 600;
  color: #fff;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.65);
  margin-bottom: 2px;
}


.bss-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 38px; height: 38px;
  border-radius: 50%;
  background: rgba(13, 13, 13, 0.80);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(201, 150, 62, 0.28);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  z-index: 5;
  transition: background 0.25s, border-color 0.25s, transform 0.25s;
}
.bss-nav:hover {
  background: linear-gradient(135deg, #c0385e, #c9963e);
  border-color: transparent;
  transform: translateY(-50%) scale(1.1);
}
.bss-nav--prev { left: -6px; }
.bss-nav--next { right: -6px; }


.bss-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 10px;
  z-index: 2;
  position: relative;
}
.bss-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  transition: all 0.3s ease;
  cursor: pointer;
}
.bss-dot.active {
  width: 22px;
  border-radius: 3px;
  background: linear-gradient(90deg, #c0385e, #c9963e);
  box-shadow: 0 0 10px rgba(201, 150, 62, 0.55);
}

/* ════════════════════════
   RESPONSIVE
════════════════════════ */
@media (max-width: 1024px) {
  .bss-video-item {
    width: calc((100% - 3 * 14px) / 3.2);
  }
}
@media (max-width: 768px) {
  .bss-video-item {
    width: calc((100% - 14px) / 2.1);
  }
  .bss-nav { display: none; }
  .bbw-stories-section { padding: 10px 0 6px; }
}
@media (max-width: 480px) {
  .bss-video-item {
    width: calc(100% - 30px);
  }
}

.bss-video-placeholder {
  position: absolute;
  inset: 0;
  z-index: 2;
  background-size: cover;
  background-position: center;
  transition: opacity 0.5s ease;
}

.bss-video-placeholder.hidden {
  opacity: 0;
  pointer-events: none;
}

.bss-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}



#divider-wave * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
#divider-wave {
    position: relative;
    width: 100%;
    height: 20px;
    background: #fff;
    overflow: hidden;
    isolation: isolate;
}
#divider-wave .wave-container {
    position: absolute;
    width: 200%;
    height: 100%;
    bottom: 0;
    left: 0;
}
#divider-wave .wave {
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    fill: #0d0d0d;
    animation: wave-slide 10s linear infinite;
}
#divider-wave .wave {
    fill: #0d0d0d;
}
#divider-wave .wave:nth-child(2) {
    fill: #0d0d0d;
    opacity: 0.45;
}

@keyframes wave-slide {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}



/* ═══════════════════════════════════════════════════
   BBW4LIFE — COLLECTION SLIDER — PREMIUM LIGHT
   ═══════════════════════════════════════════════════ */

.cs-section {
  position: relative;
  padding: 20px 0 10px;
  overflow: hidden;
  background: linear-gradient(160deg, #fffaf6 0%, #fdf6ef 50%, #fef9f4 100%);
}

.cs-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.80' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.55 0 0 0 0 0.45 0 0 0 0 0.35 0 0 0 0.30 0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 300px 300px;
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}


@keyframes gridDrift {
  0%   { background-position: 0 0; }
  100% { background-position: 60px 60px; }
}


.cs-section::after {
  content: '';
  position: absolute;
  top: -120px;
  right: -80px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(212,80,110,0.07) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
  animation: ambientDrift 12s ease-in-out infinite;
}

@keyframes ambientDrift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%       { transform: translate(-20px, 20px) scale(1.08); }
}

.comm-reviews-section .section-header .section-label {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bbw-gold-light);
}

.comm-reviews-section .section-header h2 {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 4vw, 2.8rem);
  font-weight: 700;
  color: #1a0f05;
  line-height: 1.2;
  margin-bottom: 8px;
}

.comm-reviews-section .section-header .section-subtitle {
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: rgba(26,15,5,0.45);
  letter-spacing: 0.04em;
}

.cs-wrapper {
  position: relative;
  overflow: hidden;
  padding: 0 52px;
  z-index: 1;
}


.cs-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 8px;
}
.cs-track::-webkit-scrollbar { display: none; }


.cs-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 42px;
  height: 42px;
  border: 1.5px solid rgba(212,80,110,0.25);
  border-radius: 50%;
  background: #fff;
  backdrop-filter: blur(10px);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d4506e;
  box-shadow: 0 4px 20px rgba(212,80,110,0.10), 0 2px 8px rgba(0,0,0,0.06);
  transition: var(--transition);
  padding: 0;
}
.cs-nav:hover {
  background: #d4506e;
  border-color: transparent;
  color: #fff;
  box-shadow: 0 8px 28px rgba(212,80,110,0.40), 0 0 0 4px rgba(212,80,110,0.10);
  transform: translateY(-50%) scale(1.10);
}
.cs-nav--prev { left: 4px; }
.cs-nav--next { right: 4px; }


.cs-card {
  flex: 0 0 calc(25% - 15px);
  min-width: 200px;
  max-width: 300px;
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid rgba(201,150,62,0.14);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: var(--transition-slow);
  cursor: pointer;
  box-shadow:
    0 2px 12px rgba(201,150,62,0.06),
    0 1px 3px rgba(0,0,0,0.04);
  animation: cardEntrance 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes cardEntrance {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
.cs-card:nth-child(1) { animation-delay: 0.04s; }
.cs-card:nth-child(2) { animation-delay: 0.10s; }
.cs-card:nth-child(3) { animation-delay: 0.16s; }
.cs-card:nth-child(4) { animation-delay: 0.22s; }

.cs-card:hover {
  box-shadow:
    0 0 0 1.5px rgba(0,0,0,0.18),
    0 16px 48px rgba(0,0,0,0.12),
    0 6px 20px rgba(201,150,62,0.10),
    0 2px 6px rgba(0,0,0,0.06);
  transform: translateY(-7px);
  border-color: rgba(0,0,0,0.25);
}


.cs-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #c9963e 35%, #e8bc6a 65%, transparent 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
  z-index: 10;
}
.cs-card:hover::before { opacity: 1; }


.cs-discount-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #000000;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: var(--radius-full);
  z-index: 5;
  letter-spacing: 0.06em;
  pointer-events: none;
  border: 1px solid rgba(201,150,62,0.30);
  box-shadow: 0 3px 12px rgba(0,0,0,0.40);
  animation: badgePulse 3.5s ease-in-out infinite;
}

@keyframes badgePulse {
  0%, 100% { box-shadow: 0 3px 12px rgba(0,0,0,0.40); }
  50%       { box-shadow: 0 3px 22px rgba(0,0,0,0.60); transform: scale(1.04); }
}


.cs-wishlist-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 6;
  background: #000000;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(201,150,62,0.40);
  border-radius: 50%;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--transition);
  padding: 0;
  box-shadow: 0 2px 10px rgba(0,0,0,0.35);
}
.cs-wishlist-btn:hover {
  background: #1a1a1a;
  border-color: rgba(201,150,62,0.80);
  transform: scale(1.14);
  box-shadow: 0 0 16px rgba(201,150,62,0.35);
}
.cs-wishlist-btn svg {
  width: 16px;
  height: 16px;
  stroke: #c9963e;
}
.cs-wishlist-btn .cs-heart-empty { display: block; }
.cs-wishlist-btn .cs-heart-filled { display: none; }
.cs-wishlist-btn.cs-in-wishlist .cs-heart-empty { display: none; }
.cs-wishlist-btn.cs-in-wishlist .cs-heart-filled { display: block; }
.cs-wishlist-btn.cs-in-wishlist svg {
  stroke: #c9963e;
  fill: #c9963e;
}


.cs-media {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #f9f1eb;
  aspect-ratio: 1 / 1;
  border-bottom: 1px solid rgba(0,0,0,0.12);
}
.cs-media a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.cs-media-inner {
  display: flex;
  height: 100%;
  transition: transform 0.35s ease;
  will-change: transform;
}
.cs-media-slide {
  flex: 0 0 100%;
  height: 100%;
}
.cs-media-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
  transition: transform 0.60s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.40s ease;
  filter: brightness(0.97) saturate(1.02);
}
.cs-card:hover .cs-media-slide img {
  transform: scale(1.05);
  filter: brightness(1) saturate(1.10);
}


.cs-media::after {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 55%; height: 100%;
  background: linear-gradient(
    108deg,
    transparent 20%,
    rgba(201,150,62,0.08) 40%,
    rgba(232,188,106,0.14) 50%,
    rgba(201,150,62,0.08) 60%,
    transparent 80%
  );
  pointer-events: none;
  z-index: 2;
  transition: none;
}
.cs-card:hover .cs-media::after {
  left: 160%;
  transition: left 0.70s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}


.cs-media-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  background: rgba(0,0,0,0.75);
  border: 1px solid rgba(201,150,62,0.40);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.2s, background 0.2s, box-shadow 0.2s;
  padding: 0;
  box-shadow: 0 2px 10px rgba(0,0,0,0.30);
}
.cs-card:hover .cs-media-arrow { opacity: 1; }
.cs-media-arrow:hover {
  background: #000000;
  border-color: rgba(201,150,62,0.80);
  box-shadow: 0 0 12px rgba(201,150,62,0.30);
}
.cs-media-arrow--prev { left: 8px; }
.cs-media-arrow--next { right: 8px; }
.cs-media-arrow svg {
  width: 12px;
  height: 12px;
  stroke: #c9963e;
}


.cs-body {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 6px;
  background: transparent;
}


.cs-title {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  color: #1a0f05;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
  display: block;
  line-height: 1.3;
  transition: color 0.2s;
}
.cs-title:hover { color: #c9963e; }


.cs-variants {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 2px 0;
}
.cs-variant-thumb {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 1px 4px rgba(0,0,0,0.10);
}
.cs-variant-thumb:hover {
  border-color: #000000;
  transform: scale(1.10);
  box-shadow: 0 0 10px rgba(0,0,0,0.25);
}
.cs-variant-thumb.cs-active {
  border-color: var(--bbw-gold);
  box-shadow: 0 0 10px rgba(201,150,62,0.40);
}

.cs-variants-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px;
  display: flex;
  align-items: center;
  color: var(--bbw-gold);
  font-size: 11px;
  gap: 2px;
  margin-top: 2px;
  transition: color 0.2s;
}
.cs-variants-toggle:hover { color: #000000; }
.cs-variants-toggle svg { width: 14px; height: 14px; }


.cs-price-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
}
.cs-price {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: #1a0f05;
}
.cs-compare-price {
  font-size: 12px;
  color: #c0b5b0;
  text-decoration: line-through;
}


.cs-atc-btn {
  width: 100%;
  padding: 11px 10px;
  background: #000000;
  color: #c9963e;
  border: 2px solid #c9963e;
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  margin-top: 4px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,0.30);
}


.cs-atc-btn::before {
  content: '';
  position: absolute;
  top: 0; left: -80%;
  width: 55%; height: 100%;
  background: linear-gradient(105deg, transparent, rgba(201,150,62,0.18), transparent);
  transition: left 0.50s ease;
  pointer-events: none;
}
.cs-atc-btn:hover::before { left: 130%; }

.cs-atc-btn:hover {
  background: #1a1a1a;
  color: #e8bc6a;
  border-color: #e8bc6a;
  box-shadow:
    0 0 0 3px rgba(201,150,62,0.15),
    0 8px 30px rgba(0,0,0,0.45);
  transform: translateY(-2px);
  letter-spacing: 0.12em;
}
.cs-atc-btn:active {
  transform: scale(0.97);
  box-shadow: 0 2px 10px rgba(0,0,0,0.30);
}
.cs-atc-btn svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  stroke: #c9963e;
}
.cs-atc-btn:hover svg { stroke: #e8bc6a; }
.cs-atc-btn.cs-adding { opacity: 0.70; pointer-events: none; }
.cs-atc-btn.cs-added {
  background: #000000;
  color: #22a06b;
  border-color: #22a06b;
  box-shadow: 0 4px 18px rgba(34,160,107,0.25);
}
.cs-atc-btn.cs-added svg { stroke: #22a06b; }


.cs-dots {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 18px;
  position: relative;
  z-index: 1;
}
.cs-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(0,0,0,0.12);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: var(--transition);
}
.cs-dot.cs-active {
  width: 22px;
  border-radius: 3px;
  background: linear-gradient(90deg, #000000, #c9963e);
  box-shadow: 0 0 12px rgba(201,150,62,0.40);
}

/* ═══════════════════════════════
   RESPONSIVE
   ═══════════════════════════════ */
@media (max-width: 1024px) {
  .cs-card { flex: 0 0 calc(33.333% - 14px); }
}
@media (max-width: 767px) {
  .cs-wrapper { padding: 0 36px; }
  .cs-card { flex: 0 0 calc(100% - 0px); max-width: 100%; }
  .cs-nav { width: 34px; height: 34px; }
  .cs-nav--prev { left: 0; }
  .cs-nav--next { right: 0; }
  .cs-media-arrow { opacity: 1; }
  .cs-variant-thumb { width: 40px; height: 40px; }
  .cs-atc-btn { font-size: 13px; padding: 10px; }
}


.cs-card,
.cs-card *,
.cs-media,
.cs-media a,
.cs-media-inner,
.cs-media-slide,
.cs-media-arrow,
.cs-media-arrow * {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
  -webkit-user-select: none;
}

.cs-media a {
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

.cs-media-arrow {
  -webkit-tap-highlight-color: transparent;
  outline: none;
}


/* ═══════════════════════════════════════════════
   BBW4LIFE — COMMUNITY REVIEWS MARQUEE — PREMIUM
═══════════════════════════════════════════════ */
.comm-reviews-section {
  overflow: hidden;
  background: var(--bbw-black) !important;
  position: relative;
  isolation: isolate;
  padding: 15px 0 10px;
}

/* ── NOISE TEXTURE GRAVIER SABLE SUR NOIR ── */
.comm-reviews-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.80' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.04 0 0 0 0 0.04 0 0 0 0 0.04 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 300px 300px;
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}

/* ── STREAK TOP ── */
.comm-reviews-section::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(201,150,62,0.0) 15%,
    rgba(201,150,62,0.60) 35%,
    rgba(212,80,110,0.80) 50%,
    rgba(201,150,62,0.60) 65%,
    rgba(201,150,62,0.0) 85%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: topStreakSlide 4s ease-in-out infinite;
  z-index: 2;
}
@keyframes topStreakSlide {
  0%, 100% { background-position: 100% 0; opacity: 0.6; }
  50%       { background-position: 0% 0;   opacity: 1; }
}

/* ── ORBS ── */
.comm-reviews-section .comm-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(90px);
  z-index: 0;
}
.comm-orb--1 {
  width: 600px; height: 600px;
  top: -220px; left: -180px;
  background: radial-gradient(circle, rgba(212,80,110,0.18) 0%, transparent 70%);
  animation: orbPulse1 9s ease-in-out infinite;
}
.comm-orb--2 {
  width: 520px; height: 520px;
  bottom: -180px; right: -120px;
  background: radial-gradient(circle, rgba(201,150,62,0.16) 0%, transparent 70%);
  animation: orbPulse2 11s ease-in-out infinite;
}
.comm-orb--3 {
  width: 320px; height: 320px;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(123,63,110,0.13) 0%, transparent 70%);
  animation: orbPulse1 13s ease-in-out infinite reverse;
}

@keyframes orbPulse1 {
  0%, 100% { transform: scale(1) translate(0, 0); opacity: 0.8; }
  50%       { transform: scale(1.12) translate(15px, -15px); opacity: 1; }
}
@keyframes orbPulse2 {
  0%, 100% { transform: scale(1) translate(0, 0); opacity: 0.8; }
  50%       { transform: scale(1.10) translate(-12px, 12px); opacity: 1; }
}

/* ── SECTION HEADER ── */
.comm-reviews-section .section-header {
  text-align: center;
  margin-bottom: 2.5rem;
  position: relative;
  z-index: 1;
}

/* ── LABEL : zéro espace superflu ── */
.comm-reviews-section .section-header .section-label {
  display: inline-block !important;
  font-family: var(--font-body) !important;
  font-size: 0.67rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--bbw-gold-light) !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  line-height: 1 !important;
  position: relative;
}

.comm-reviews-section .section-header .section-label::before,
.comm-reviews-section .section-header .section-label::after {
  content: '· · ·';
  letter-spacing: 0.15em;
  color: rgba(201,150,62,0.40);
  font-size: 0.6rem;
  margin: 0 10px;
  vertical-align: middle;
}


.comm-reviews-section .section-header h2 {
  font-family: var(--font-display) !important;
  font-size: clamp(1.9rem, 4vw, 2.8rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  margin-top: 4px !important;
  margin-bottom: 10px !important;
  background: linear-gradient(135deg, #ffffff 0%, var(--bbw-gold-light) 45%, #ffffff 70%, rgba(212,80,110,0.90) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  background-size: 200% 100%;
  animation: titleGradientShift 6s ease-in-out infinite;
  text-shadow: none !important;
}
@keyframes titleGradientShift {
  0%, 100% { background-position: 0% 50%; }
  50%       { background-position: 100% 50%; }
}

.comm-reviews-section .section-header .section-subtitle {
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  color: rgba(255,255,255,0.42) !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;  /* ← aucun espace parasite */
}

/* ── MARQUEE ── */
.comm-marquee-clip {
  overflow: hidden;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
}
.comm-marquee-clip:last-child { margin-bottom: 0; }

.comm-reviews-row {
  display: flex;
  gap: 12px;
  width: max-content;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.comm-reviews-row--left  { animation: commRevLeft  52s linear infinite; }
.comm-reviews-row--right { animation: commRevRight 60s linear infinite; }
.comm-reviews-row:hover  { animation-play-state: paused; }

@keyframes commRevLeft  { from { transform: translateX(0); }    to { transform: translateX(-50%); } }
@keyframes commRevRight { from { transform: translateX(-50%); } to { transform: translateX(0); } }

/* ── CARDS ── */
.comm-rev-card {
  flex-shrink: 0;
  width: 230px;
  background: linear-gradient(145deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
  border: 1px solid rgba(201,150,62,0.14);
  border-radius: 16px;
  padding: 14px 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  cursor: default;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(6px);
  transition: transform 0.40s cubic-bezier(0.4,0,0.2,1),
              box-shadow 0.40s ease,
              border-color 0.30s;
  box-shadow:
    0 4px 24px rgba(0,0,0,0.40),
    inset 0 1px 0 rgba(255,255,255,0.05);
}

.comm-rev-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    transparent,
    var(--bbw-rose),
    var(--bbw-gold),
    var(--bbw-gold-light),
    var(--bbw-rose),
    transparent
  );
  background-size: 300% 100%;
  animation: cardTopShimmer 4s ease infinite;
  opacity: 0.65;
}
@keyframes cardTopShimmer {
  0%   { background-position: -100% 0; }
  100% { background-position: 200% 0; }
}

.comm-rev-card::after {
  content: '';
  position: absolute;
  bottom: -50px; right: -50px;
  width: 120px; height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,150,62,0.14) 0%, transparent 70%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.45s ease;
}
.comm-rev-card:hover::after { opacity: 1; }

.comm-rev-shine {
  position: absolute;
  top: 0; left: -80%;
  width: 55%;
  height: 100%;
  background: linear-gradient(108deg,
    transparent 25%,
    rgba(255,255,255,0.05) 50%,
    rgba(201,150,62,0.06) 55%,
    transparent 75%
  );
  transform: skewX(-14deg);
  transition: left 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  pointer-events: none;
}
.comm-rev-card:hover .comm-rev-shine { left: 140%; }

.comm-rev-card:hover {
  transform: translateY(-7px) scale(1.020);
  border-color: rgba(201,150,62,0.38);
  box-shadow:
    0 0 0 1px rgba(201,150,62,0.12),
    0 24px 60px rgba(0,0,0,0.55),
    0 0 36px rgba(201,150,62,0.16),
    inset 0 1px 0 rgba(255,255,255,0.08);
}

.comm-rev-card-top {
  display: flex;
  align-items: center;
  gap: 9px;
}

.comm-rev-avatar-wrap {
  position: relative;
  flex-shrink: 0;
}
.comm-rev-avatar-wrap::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  background: conic-gradient(
    var(--bbw-rose) 0deg,
    var(--bbw-gold) 120deg,
    var(--bbw-gold-light) 180deg,
    var(--bbw-rose) 360deg
  );
  z-index: 0;
  animation: avatarRingRotate 3.5s linear infinite;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.comm-rev-card:hover .comm-rev-avatar-wrap::after { opacity: 1; }

@keyframes avatarRingRotate {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.comm-rev-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  position: relative;
  z-index: 1;
  border: 2px solid rgba(20,10,5,0.90);
}

.comm-rev-name {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.92) !important;
  margin: 0 0 2px !important;
  line-height: 1.2 !important;
}

.comm-rev-stars {
  font-size: 11px !important;
  color: var(--bbw-gold-light) !important;
  letter-spacing: 2px !important;
  text-shadow: 0 0 10px rgba(201,150,62,0.70), 0 0 20px rgba(201,150,62,0.30) !important;
}

.comm-rev-quote {
  font-family: var(--font-body) !important;
  font-size: 11.5px !important;
  color: rgba(255,255,255,0.58) !important;
  line-height: 1.70 !important;
  margin: 0 !important;
  padding-left: 10px !important;
  border-left: 2px solid !important;
  border-image: linear-gradient(180deg, #d4506e, var(--bbw-gold)) 1 !important;
  font-style: italic !important;
  flex: 1;
}

.comm-rev-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-family: var(--font-body) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: var(--bbw-gold-light) !important;
  background: rgba(201,150,62,0.09) !important;
  border: 1px solid rgba(201,150,62,0.24) !important;
  border-radius: var(--radius-full) !important;
  padding: 3px 10px !important;
  width: fit-content !important;
  transition: var(--transition) !important;
}
.comm-rev-card:hover .comm-rev-badge {
  background: rgba(201,150,62,0.16) !important;
  border-color: rgba(201,150,62,0.45) !important;
  box-shadow: 0 0 14px rgba(201,150,62,0.22) !important;
}

.comm-rev-badge--special {
  color: #f08faa !important;
  background: rgba(212,80,110,0.09) !important;
  border-color: rgba(212,80,110,0.24) !important;
}
.comm-rev-card:hover .comm-rev-badge--special {
  background: rgba(212,80,110,0.16) !important;
  border-color: rgba(212,80,110,0.45) !important;
  box-shadow: 0 0 14px rgba(212,80,110,0.22) !important;
}

@media (max-width: 768px) {
  .comm-rev-card {
    width: 200px;
    padding: 12px 12px 10px;
    gap: 8px;
    border-radius: 14px;
  }
  .comm-rev-avatar { width: 32px; height: 32px; }
  .comm-rev-name { font-size: 11px !important; }
  .comm-rev-quote { font-size: 11px !important; }
  .comm-rev-badge { font-size: 8px !important; padding: 3px 8px !important; }
  .comm-reviews-section { padding: 10px 0 10px; }
}


/* ══════════════════════════════════════════════════════════════
   BBW4LIFE — BEFORE / AFTER SECTION — PREMIUM VERSION
══════════════════════════════════════════════════════════════ */


.before-after-section {
  background: linear-gradient(160deg, #fdf8f2 0%, #f8f0e6 40%, #f3e8d8 100%);
  position: relative;
  overflow: hidden;
  padding: 20px 10px 10px !important;
}

.before-after-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 45% at 10% 60%, rgba(201, 150, 62, 0.09) 0%, transparent 65%),
    radial-gradient(ellipse 45% 35% at 90% 30%, rgba(201, 150, 62, 0.07) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 50% 100%, rgba(180, 130, 60, 0.05) 0%, transparent 70%);
  pointer-events: none;
}


.before-after-section::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(201, 150, 62, 0.70),
    rgba(232, 188, 106, 0.80),
    rgba(201, 150, 62, 0.70),
    transparent
  );
}


.before-after-section .ba-header {
  text-align: center;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}


.before-after-section .ba-tag {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #ffffff;
  background: #000000;
  border: 1px solid rgba(201, 150, 62, 0.50);
  padding: 5px 18px;
  border-radius: 50px;
  margin-bottom: 16px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.25);
}

.before-after-section .ba-header h2 {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  font-weight: 600;
  color: #1a0a0f;
  margin: 0 0 12px;
  line-height: 1.15;
  letter-spacing: -0.01em;
}


.before-after-section .ba-header h2 em {
  font-style: italic;
  color: #c9963e;
}

.before-after-section .ba-header p {
  font-family: var(--font-body);
  font-size: 0.90rem;
  color: rgba(30, 10, 18, 0.55);
  max-width: 500px;
  margin: 0 auto;
  line-height: 1.7;
}


.before-after-section .ba-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr 1fr;
  gap: 18px;
  align-items: start;
  position: relative;
  z-index: 1;
}


.before-after-section .ba-card {
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(201, 150, 62, 0.20);
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  transition: var(--transition);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow:
    0 2px 20px rgba(201, 150, 62, 0.08),
    0 1px 4px rgba(0, 0, 0, 0.05);
}

.before-after-section .ba-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(201, 150, 62, 0.04) 0%, transparent 55%);
  pointer-events: none;
  z-index: 0;
}

.before-after-section .ba-card:hover {
  border-color: rgba(201, 150, 62, 0.45);
  box-shadow:
    0 0 0 1px rgba(201, 150, 62, 0.14),
    0 0 30px rgba(201, 150, 62, 0.16),
    0 0 60px rgba(0, 0, 0, 0.06),
    0 20px 50px rgba(0, 0, 0, 0.10);
  transform: translateY(-4px);
}


.before-after-section .ba-images {
  display: flex;
  align-items: stretch;
  position: relative;
}

.before-after-section .ba-img {
  flex: 1;
  position: relative;
  overflow: hidden;
}

.before-after-section .ba-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.before-after-section .ba-card:hover .ba-img img {
  transform: scale(1.05);
}

.before-after-section .ba-before img {
  filter: grayscale(35%) brightness(0.88) sepia(0.08);
}

.before-after-section .ba-after img {
  filter: brightness(1.06) saturate(1.12);
}


.before-after-section .ba-label {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-body);
  font-size: 0.60rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 3px 11px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.85);
  color: rgba(30, 10, 18, 0.75);
  border: 1px solid rgba(201, 150, 62, 0.30);
  backdrop-filter: blur(4px);
  white-space: nowrap;
  z-index: 3;
}


.before-after-section .ba-label--after {
  background: #000000;
  color: #c9963e;
  border-color: rgba(201, 150, 62, 0.50);
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.45);
}


.before-after-section .ba-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  flex-shrink: 0;
  background: rgba(201, 150, 62, 0.08);
  color: #c9963e;
  font-size: 1rem;
  font-weight: 700;
  position: relative;
  z-index: 2;
  border-left:  1px solid rgba(201, 150, 62, 0.14);
  border-right: 1px solid rgba(201, 150, 62, 0.14);
}


.before-after-section .ba-result {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 1px solid rgba(201, 150, 62, 0.14);
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.55);
}


.before-after-section .ba-result::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, #000000, rgba(201, 150, 62, 0.80), transparent);
  border-radius: 0 0 20px 20px;
  opacity: 0;
  transition: opacity 0.35s;
}

.before-after-section .ba-card:hover .ba-result::before {
  opacity: 1;
}

.before-after-section .ba-result strong {
  font-family: var(--font-display);
  font-size: 1.08rem;
  color: #1a0a0f;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.before-after-section .ba-result span {
  font-family: var(--font-body);
  font-size: 0.76rem;
  color: rgba(30, 10, 18, 0.45);
  letter-spacing: 0.03em;
}


.before-after-section .ba-card--center {
  background: rgba(255, 255, 255, 0.85);
  border-color: rgba(201, 150, 62, 0.30);
  border-width: 1.5px;
  padding: 26px 22px 22px;
  box-shadow:
    0 4px 32px rgba(201, 150, 62, 0.12),
    0 1px 6px rgba(0, 0, 0, 0.06);
}


.before-after-section .ba-card--center::after {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 65%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201, 150, 62, 0.80), transparent);
  border-radius: 0 0 2px 2px;
}


.before-after-section .ba-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 22px;
  position: relative;
}


.before-after-section .ba-timeline::before {
  content: '';
  position: absolute;
  left: 9px; top: 8px; bottom: 8px;
  width: 1px;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.15),
    rgba(0, 0, 0, 0.55),
    rgba(201, 150, 62, 0.40)
  );
}

.before-after-section .ba-week {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 14px;
  row-gap: 2px;
  padding: 10px 0 10px 28px;
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}


.before-after-section .ba-week::before {
  content: '';
  position: absolute;
  left: 4px; top: 50%;
  transform: translateY(-50%);
  width: 10px; height: 10px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.12);
  border: 1.5px solid rgba(0, 0, 0, 0.35);
  transition: var(--transition);
}

.before-after-section .ba-week:hover::before {
  background: #000000;
  border-color: #c9963e;
  box-shadow: 0 0 12px rgba(201, 150, 62, 0.45);
}


.before-after-section .ba-week--final::before {
  background: #000000;
  border-color: #c9963e;
  box-shadow: 0 0 14px rgba(201, 150, 62, 0.50);
  animation: pulseGold 2s ease-in-out infinite;
}

@keyframes pulseGold {
  0%, 100% { box-shadow: 0 0 8px rgba(201, 150, 62, 0.35); }
  50%       { box-shadow: 0 0 22px rgba(201, 150, 62, 0.75); }
}


.before-after-section .ba-week span {
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #c9963e;
  white-space: nowrap;
  grid-column: 1; grid-row: 1;
  align-self: center;
}

.before-after-section .ba-week p {
  font-family: var(--font-body);
  font-size: 0.81rem;
  color: rgba(30, 10, 18, 0.58);
  line-height: 1.5;
  margin: 0;
  grid-column: 2; grid-row: 1;
}

.before-after-section .ba-week--final span {
  color: #c9963e;
  font-size: 0.75rem;
}

.before-after-section .ba-week--final p {
  color: rgba(30, 10, 18, 0.82);
  font-weight: 500;
}


.before-after-section .ba-week::after {
  content: '';
  display: block;
  height: 2px;
  border-radius: 2px;
  margin-top: 5px;
  grid-column: 2; grid-row: 2;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.55), rgba(201, 150, 62, 0.35));
  transform-origin: left;
  animation: growBar 1.2s cubic-bezier(0.4, 0, 0.2, 1) both;
  opacity: 0.55;
}

.before-after-section .ba-week:nth-child(1)::after { width: 35%; animation-delay: 0.10s; }
.before-after-section .ba-week:nth-child(2)::after { width: 55%; animation-delay: 0.25s; }
.before-after-section .ba-week:nth-child(3)::after { width: 75%; animation-delay: 0.40s; }


.before-after-section .ba-week--final::after {
  width: 100%;
  animation-delay: 0.55s;
  background: linear-gradient(90deg, #000000, rgba(201, 150, 62, 0.90));
  opacity: 0.90;
  box-shadow: 0 0 10px rgba(201, 150, 62, 0.30);
}

@keyframes growBar {
  from { transform: scaleX(0); opacity: 0; }
  to   { transform: scaleX(1); opacity: 1; }
}


.before-after-section .ba-cta {
  display: block;
  text-align: center;
  font-family: var(--font-body);
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: #000000 !important;
  color: #c9963e !important;
  -webkit-text-fill-color: #c9963e !important;
  border: 2px solid #c9963e;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.30), 0 1px 4px rgba(0, 0, 0, 0.10);
  padding: 13px 20px;
  border-radius: 50px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: var(--transition);
}


.before-after-section .ba-cta::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(201, 150, 62, 0.14), transparent);
  transition: left 0.5s ease;
}

.before-after-section .ba-cta:hover::before { left: 100%; }

.before-after-section .ba-cta:hover {
  background: #1a1a1a !important;
  color: #e8bc6a !important;
  -webkit-text-fill-color: #e8bc6a !important;
  border-color: #e8bc6a;
  box-shadow:
    0 0 28px rgba(201, 150, 62, 0.35),
    0 8px 28px rgba(0, 0, 0, 0.25);
  transform: translateY(-2px);
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .before-after-section .ba-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }
  .before-after-section .ba-card--center {
    grid-column: 1 / -1;
    order: -1;
  }
}

@media (max-width: 560px) {
  .before-after-section .ba-grid {
    grid-template-columns: 1fr;
  }
  .before-after-section .ba-card--center {
    grid-column: auto;
    order: 0;
  }
  .before-after-section .ba-img img {
    height: 100%;
  }
}



/* ──────────────────────────────────────────────────────────────
   BBW4LIFE — RISK REVERSAL — COMPLET & SYNCHRONISÉ
────────────────────────────────────────────────────────────── */

.risk-reversal-section {
    padding: 15px 10px;
    background: var(--bbw-white, #ffffff);
    position: relative;
    overflow: hidden;
}

.risk-reversal-section::before,
.risk-reversal-section::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}
.risk-reversal-section::before {
    width: 560px;
    height: 560px;
    top: -200px;
    left: -180px;
    background: radial-gradient(circle, rgba(201, 150, 62, 0.09) 0%, transparent 65%);
    animation: rrOrb1 10s ease-in-out infinite alternate;
}
.risk-reversal-section::after {
    width: 440px;
    height: 440px;
    bottom: -160px;
    right: -120px;
    background: radial-gradient(circle, rgba(192, 56, 94, 0.07) 0%, transparent 65%);
    animation: rrOrb2 13s ease-in-out infinite alternate;
}
@keyframes rrOrb1 {
    from { transform: translate(0,0) scale(1); }
    to   { transform: translate(50px,40px) scale(1.12); }
}
@keyframes rrOrb2 {
    from { transform: translate(0,0) scale(1); }
    to   { transform: translate(-40px,-50px) scale(1.10); }
}

.risk-reversal-section .container {
    position: relative;
    z-index: 1;
}


.rr-inner {
    max-width: 1020px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 56px;
    align-items: center;
}


.rr-badge {
    position: relative;
    width: 164px;
    height: 164px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rr-badge-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1.5px solid #000;
    background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(135deg,
            var(--bbw-gold,       #c9963e),
            var(--bbw-gold-light, #e8bc6a),
            var(--bbw-rose,       #c0385e),
            var(--bbw-gold,       #c9963e)
        ) border-box;
    animation: rrRingSpin 6s linear infinite;
}
.rr-badge-ring--2 {
    inset: 8px;
    border-width: 10px;
    opacity: 0.45;
    animation-duration: 10s;
    animation-direction: reverse;
}
@keyframes rrRingSpin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.rr-badge-content {
    position: relative;
    z-index: 2;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: linear-gradient(145deg, #ffffff 0%, rgba(201, 150, 62, 0.06) 100%);
    border: 1px solid rgba(201, 150, 62, 0.22);
    box-shadow:
        0 0 0 1px rgba(201, 150, 62, 0.12),
        0 8px 32px rgba(201, 150, 62, 0.16),
        0 2px 8px rgba(0, 0, 0, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 2px;
    padding: 12px;
    animation: rrBadgePulse 4s ease-in-out infinite;
}
@keyframes rrBadgePulse {
    0%,100% {
        box-shadow:
            0 0 0 1px rgba(201,150,62,0.12),
            0 8px 32px rgba(201,150,62,0.16),
            0 2px 8px rgba(0,0,0,0.05),
            inset 0 1px 0 rgba(255,255,255,0.95);
    }
    50% {
        box-shadow:
            0 0 0 1px rgba(201,150,62,0.22),
            0 8px 42px rgba(201,150,62,0.30),
            0 2px 8px rgba(0,0,0,0.05),
            inset 0 1px 0 rgba(255,255,255,0.95);
    }
}

.rr-shield {
    font-size: 26px;
    line-height: 1;
    filter: drop-shadow(0 2px 6px rgba(201, 150, 62, 0.30));
}

.rr-badge-content strong {
    font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    background: linear-gradient(135deg, var(--bbw-gold, #c9963e), var(--bbw-gold-light, #e8bc6a));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.rr-badge-content span {
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(30, 15, 10, 0.50);
    line-height: 1.3;
}


.rr-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rr-eyebrow-wrap { display: flex; }

.rr-eyebrow {
    display: inline-block;
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: 0.70rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--bbw-gold, #c9963e);
    background: #000;
    border: 1px solid rgba(201, 150, 62, 0.28);
    padding: 4px 14px;
    border-radius: 999px;
    animation: rrEyebrowPulse 3.5s ease-in-out infinite;
}
@keyframes rrEyebrowPulse {
    0%,100% { box-shadow: 0 0 0 0 rgba(201, 150, 62, 0.0); }
    50%      { box-shadow: 0 0 14px 2px rgba(201, 150, 62, 0.18); }
}

.rr-content h2 {
    font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    font-weight: 700;
    color: var(--bbw-black-soft, #1a1a1a);
    margin: 0;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.rr-content h2 em {
    font-style: italic;
    background: linear-gradient(120deg, var(--bbw-rose, #c0385e), var(--bbw-gold, #c9963e));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.rr-content > p {
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: 0.95rem;
    color: rgba(30, 15, 10, 0.65);
    line-height: 1.70;
    margin: 0;
}

.rr-content > p strong {
    color: var(--bbw-gold, #c9963e);
    font-weight: 600;
}


.rr-bar-track {
    height: 2px;
    background: rgba(201, 150, 62, 0.10);
    border-radius: 999px;
    overflow: hidden;
}
.rr-bar-fill {
    height: 100%;
    width: 0%;
    border-radius: 999px;
    background: linear-gradient(90deg,
        var(--bbw-rose,       #c0385e),
        var(--bbw-gold-light, #e8bc6a),
        var(--bbw-gold,       #c9963e)
    );
    background-size: 200% 100%;
    animation: rrBarFill 2.4s cubic-bezier(0.4,0,0.2,1) forwards,
               rrBarShift 3s 2.4s linear infinite;
    box-shadow: 0 0 10px rgba(201, 150, 62, 0.40);
}
@keyframes rrBarFill {
    from { width: 0%; }
    to   { width: 100%; }
}
@keyframes rrBarShift {
    0%   { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}


.rr-pillars {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.rr-pillar {
    background: #ffffff;
    border-radius: 16px;
    padding: 18px 14px;
    text-align: center;
    border: 1px solid rgba(201, 150, 62, 0.12);
    box-shadow:
        0 2px 16px rgba(201, 150, 62, 0.07),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
    transition: transform 0.30s ease, border-color 0.30s ease, box-shadow 0.30s ease;
    position: relative;
    overflow: hidden;
}

.rr-pillar::before {
    content: '';
    position: absolute;
    top: 0; left: -80%;
    width: 55%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(201, 150, 62, 0.05), transparent);
    transition: left 0.5s ease;
    pointer-events: none;
}
.rr-pillar:hover::before { left: 120%; }

.rr-pillar::after {
    content: '';
    position: absolute;
    top: 0; left: 20%; right: 20%;
    height: 2px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(90deg, var(--bbw-gold, #c9963e), var(--bbw-rose, #c0385e));
    opacity: 0;
    transition: opacity 0.30s ease;
}
.rr-pillar:hover::after { opacity: 1; }

.rr-pillar:hover {
    transform: translateY(-4px);
    border-color: rgba(201, 150, 62, 0.30);
    box-shadow:
        0 10px 32px rgba(201, 150, 62, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.rr-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg,
        rgba(201, 150, 62, 0.08),
        rgba(201, 150, 62, 0.15)
    );
    border: 1px solid rgba(201, 150, 62, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: var(--bbw-gold, #c9963e);
    margin-bottom: 2px;
    transition: box-shadow 0.30s ease, transform 0.30s ease;
}
.rr-pillar:hover .rr-icon {
    box-shadow: 0 0 18px rgba(201, 150, 62, 0.28);
    transform: scale(1.08);
}

.rr-pillar strong {
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: 0.80rem;
    color: #1a0f0a;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.rr-pillar span {
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: 0.72rem;
    color: rgba(30, 15, 10, 0.48);
    line-height: 1.4;
}


@media (max-width: 900px) {
    .rr-inner {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 32px;
    }
    .rr-badge { margin: 0 auto; }
    .rr-eyebrow-wrap { justify-content: center; }
    .rr-pillars { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .rr-pillars { grid-template-columns: 1fr 1fr; }
}


/* ──────────────────────────────────────────────────────────────
   BBW4LIFE — BUNDLE DEAL — PREMIUM
────────────────────────────────────────────────────────────── */


@keyframes bd-scanline {
    0%   { transform: translateY(-100%); }
    100% { transform: translateY(100vh); }
}
@keyframes bd-particle-float {
    0%   { transform: translateY(0) scale(1); opacity: 0; }
    20%  { opacity: 1; }
    80%  { opacity: 0.6; }
    100% { transform: translateY(-120px) scale(0.4); opacity: 0; }
}
@keyframes bd-bar-grow {
    from { width: 0; }
    to   { width: var(--w); }
}
@keyframes bd-glow-pulse {
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50%       { opacity: 0.8; transform: scale(1.08); }
}
@keyframes bd-shine-sweep {
    0%   { left: -80%; }
    100% { left: 130%; }
}
@keyframes bd-cta-pulse {
    0%, 100% {
        box-shadow:
            0 6px 28px rgba(201, 150, 62, 0.55),
            0 0 0 0 rgba(201, 150, 62, 0.30);
    }
    50% {
        box-shadow:
            0 10px 42px rgba(201, 150, 62, 0.75),
            0 0 0 10px rgba(201, 150, 62, 0);
    }
}
@keyframes bd-urgency-blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.55; }
}
@keyframes bd-orb-drift1 {
    from { transform: translate(0, 0) scale(1); }
    to   { transform: translate(40px, 30px) scale(1.10); }
}
@keyframes bd-orb-drift2 {
    from { transform: translate(0, 0) scale(1); }
    to   { transform: translate(-30px, -40px) scale(1.08); }
}
@keyframes bd-float-badge {
    0%, 100% { transform: translateY(0px); }
    50%       { transform: translateY(-6px); }
}


.bundle-deal-section {
  padding: 15px 10px 5px !important;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.90' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0.5'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='0.55'/%3E%3C/svg%3E"),
    linear-gradient(
      160deg,
      #f8f6f4 0%,
      #f5f2ef 40%,
      #f8f6f4 100%
    ) !important;
  position: relative !important;
  overflow: hidden !important;
}


.bundle-deal-section::before {
    content: '' !important;
    position: absolute !important;
    width: 650px !important;
    height: 650px !important;
    top: -250px !important;
    left: -200px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle,
        rgba(212, 80, 110, 0.06) 0%,
        rgba(212, 80, 110, 0.02) 40%,
        transparent 70%
    ) !important;
    animation: bd-orb-drift1 11s ease-in-out infinite alternate !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
.bundle-deal-section::after {
    content: '' !important;
    position: absolute !important;
    width: 500px !important;
    height: 500px !important;
    bottom: -180px !important;
    right: -150px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle,
        rgba(201, 150, 62, 0.06) 0%,
        rgba(201, 150, 62, 0.02) 40%,
        transparent 70%
    ) !important;
    animation: bd-orb-drift2 14s ease-in-out infinite alternate !important;
    pointer-events: none !important;
    z-index: 0 !important;
}


.bd-scan-line {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg,
        transparent,
        rgba(201, 150, 62, 0.80),
        rgba(255, 255, 255, 0.50),
        rgba(201, 150, 62, 0.80),
        transparent
    ) !important;
    animation: bd-scanline 7s linear infinite !important;
    pointer-events: none !important;
    z-index: 1 !important;
}


.bd-particles {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
.bd-particles span {
    position: absolute !important;
    width: 4px !important;
    height: 4px !important;
    border-radius: 50% !important;
    animation: bd-particle-float linear infinite !important;
}
.bd-particles span:nth-child(1)  { left: 8% !important;  bottom: 10% !important; animation-duration: 7s !important;  animation-delay: 0s !important;   width: 3px !important; height: 3px !important; background: #c9963e !important; }
.bd-particles span:nth-child(2)  { left: 18% !important; bottom: 5% !important;  animation-duration: 9s !important;  animation-delay: 1s !important;   background: rgba(201,150,62,0.60) !important; }
.bd-particles span:nth-child(3)  { left: 32% !important; bottom: 15% !important; animation-duration: 6s !important;  animation-delay: 2.5s !important; width: 2px !important; height: 2px !important; background: #e8bc6a !important; }
.bd-particles span:nth-child(4)  { left: 50% !important; bottom: 8% !important;  animation-duration: 8s !important;  animation-delay: 0.8s !important; background: #c9963e !important; }
.bd-particles span:nth-child(5)  { left: 62% !important; bottom: 12% !important; animation-duration: 10s !important; animation-delay: 3s !important;   width: 3px !important; height: 3px !important; background: rgba(201,150,62,0.70) !important; }
.bd-particles span:nth-child(6)  { left: 75% !important; bottom: 6% !important;  animation-duration: 7s !important;  animation-delay: 1.5s !important; background: #c9963e !important; }
.bd-particles span:nth-child(7)  { left: 85% !important; bottom: 18% !important; animation-duration: 9s !important;  animation-delay: 4s !important;   width: 2px !important; height: 2px !important; background: #e8bc6a !important; }
.bd-particles span:nth-child(8)  { left: 92% !important; bottom: 10% !important; animation-duration: 6s !important;  animation-delay: 2s !important;   background: rgba(201,150,62,0.50) !important; }
.bd-particles span:nth-child(9)  { left: 44% !important; bottom: 3% !important;  animation-duration: 11s !important; animation-delay: 0.3s !important; width: 5px !important; height: 5px !important; background: rgba(201,150,62,0.30) !important; }
.bd-particles span:nth-child(10) { left: 27% !important; bottom: 20% !important; animation-duration: 8s !important;  animation-delay: 5s !important;   width: 2px !important; height: 2px !important; background: #e8bc6a !important; }

.bundle-deal-section .container {
    position: relative !important;
    z-index: 2 !important;
}


.bd-header {
    text-align: center !important;
    max-width: 640px !important;
    margin: 0 auto 5px !important;
}


.bd-tag {
    display: inline-block !important;
    background: linear-gradient(135deg, #c9963e, #e8bc6a) !important;
    border: 1px solid rgba(201, 150, 62, 0.80) !important;
    color: #000000 !important;
    font-family: var(--font-body, 'DM Sans', sans-serif) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    padding: 6px 20px !important;
    border-radius: 50px !important;
    margin-bottom: 16px !important;
    text-shadow: none !important;
    box-shadow:
        0 0 20px rgba(201, 150, 62, 0.35),
        inset 0 1px 0 rgba(255,255,255,0.20) !important;
    animation: bd-float-badge 3s ease-in-out infinite !important;
}

.bd-header h2 {
    font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: clamp(1.9rem, 3.5vw, 2.8rem) !important;
    font-weight: 700 !important;
    color: #1a1208 !important;
    margin: 0 0 14px !important;
    line-height: 1.18 !important;
    letter-spacing: 0.01em !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.10) !important;
}

.bd-header h2 em {
    font-style: italic !important;
    background: linear-gradient(120deg, #c9963e, #e8bc6a, #f5d080) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

.bd-header p {
    font-family: var(--font-body, 'DM Sans', sans-serif) !important;
    font-size: 0.94rem !important;
    color: rgba(30, 20, 10, 0.60) !important;
    line-height: 1.70 !important;
    margin: 0 !important;
}


.bd-inner {
    max-width: 1100px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 44px !important;
    align-items: center !important;
}


.bd-products {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}


/* ── Cards produit — même fond gravier que la section ── */
.bd-product-item {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.90' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0.5'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='0.40'/%3E%3C/svg%3E"),
        linear-gradient(160deg, #f8f6f4 0%, #f5f2ef 50%, #f8f6f4 100%) !important;
    border: 1px solid rgba(201, 150, 62, 0.45) !important;
    border-radius: 16px !important;
    padding: 18px 22px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: border-color 0.30s ease, transform 0.30s ease, box-shadow 0.30s ease !important;
}

.bd-product-item:hover {
    border-color: rgba(201, 150, 62, 0.80) !important;
    transform: translateX(6px) !important;
    box-shadow:
        0 0 28px rgba(201, 150, 62, 0.18),
        0 4px 24px rgba(0,0,0,0.08) !important;
}


.bd-item-glow {
    position: absolute !important;
    left: -20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 70px !important;
    height: 70px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(201, 150, 62, 0.20) 0%, transparent 70%) !important;
    animation: bd-glow-pulse 3s ease-in-out infinite !important;
    pointer-events: none !important;
}

.bd-product-item img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    flex-shrink: 0 !important;
    border: 1px solid rgba(201, 150, 62, 0.35) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.10) !important;
}

.bd-product-info {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}

.bd-product-info strong {
    font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 1.05rem !important;
    color: #c9963e !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
}

.bd-product-info span {
    font-family: var(--font-body, 'DM Sans', sans-serif) !important;
    font-size: 0.76rem !important;
    color: #c9963e !important;
    opacity: 0.70 !important;
}

.bd-product-price {
    font-family: var(--font-body, 'DM Sans', sans-serif) !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    color: #1a1208 !important;
    flex-shrink: 0 !important;
}


.bd-plus {
    text-align: center !important;
    font-size: 1.3rem !important;
    color: #c9963e !important;
    font-weight: 900 !important;
    margin: 6px 0 !important;
    padding-left: 22px !important;
    text-shadow: none !important;
}


/* ── Summary card — même fond gravier que la section ── */
.bd-summary {
    min-width: 300px !important;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.90' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0.5'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='0.40'/%3E%3C/svg%3E"),
        linear-gradient(160deg, #f8f6f4 0%, #f5f2ef 50%, #f8f6f4 100%) !important;
    border: 1px solid rgba(201, 150, 62, 0.35) !important;
    border-radius: 24px !important;
    padding: 32px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    box-shadow:
        0 0 0 1px rgba(201, 150, 62, 0.10),
        0 12px 50px rgba(0, 0, 0, 0.10),
        0 0 40px rgba(201, 150, 62, 0.08) !important;
    position: relative !important;
    overflow: hidden !important;
}

.bd-summary::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 10% !important;
    right: 10% !important;
    height: 2px !important;
    background: linear-gradient(
        90deg,
        transparent,
        #c9963e,
        #e8bc6a,
        #c9963e,
        transparent
    ) !important;
    border-radius: 0 0 2px 2px !important;
}

.bd-summary-shine {
    position: absolute !important;
    top: 0 !important;
    left: -80% !important;
    width: 60% !important;
    height: 100% !important;
    background: linear-gradient(105deg,
        transparent 40%,
        rgba(201, 150, 62, 0.05) 50%,
        transparent 60%
    ) !important;
    animation: bd-shine-sweep 5s ease-in-out infinite !important;
    pointer-events: none !important;
}


.bd-bars {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
.bd-bar {
    width: 100% !important;
    height: 4px !important;
    background: rgba(0, 0, 0, 0.08) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}
.bd-bar-fill {
    height: 100% !important;
    width: 0 !important;
    border-radius: 4px !important;
    animation: bd-bar-grow 1.8s cubic-bezier(0.4, 0, 0.2, 1) forwards !important;
}
.bd-bar:nth-child(1) .bd-bar-fill {
    background: linear-gradient(90deg, #c9963e, rgba(201,150,62,0.50)) !important;
    animation-delay: 0.2s !important;
}
.bd-bar:nth-child(2) .bd-bar-fill {
    background: linear-gradient(90deg, rgba(201,150,62,0.70), #c9963e) !important;
    animation-delay: 0.5s !important;
}
.bd-bar:nth-child(3) .bd-bar-fill {
    background: linear-gradient(90deg, #c9963e, rgba(201,150,62,0.60)) !important;
    animation-delay: 0.8s !important;
}


.bd-price-box {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(201, 150, 62, 0.18) !important;
}

.bd-original {
    font-family: var(--font-body, 'DM Sans', sans-serif) !important;
    color: rgba(30, 10, 18, 0.40) !important;
    font-size: 0.86rem !important;
}
.bd-original s {
    color: rgba(30, 10, 18, 0.30) !important;
}

.bd-save {
    font-family: var(--font-body, 'DM Sans', sans-serif) !important;
    color: #c9963e !important;
    font-size: 0.94rem !important;
    font-weight: 700 !important;
}

.bd-total {
    font-family: var(--font-body, 'DM Sans', sans-serif) !important;
    color: rgba(30, 10, 18, 0.50) !important;
    font-size: 0.86rem !important;
}

.bd-total-price {
    font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 2.6rem !important;
    color: #1a1208 !important;
    display: block !important;
    margin-top: 4px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}


.bd-benefits {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 16px 18px !important;
    background: rgba(201, 150, 62, 0.07) !important;
    border: 1px solid rgba(201, 150, 62, 0.18) !important;
    border-radius: 14px !important;
}

.bd-benefit {
    font-family: var(--font-body, 'DM Sans', sans-serif) !important;
    color: #c9963e !important;
    font-size: 0.83rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.bd-benefit::before {
    content: '♥' !important;
    color: #c9963e !important;
    font-size: 0.65rem !important;
    flex-shrink: 0 !important;
}


.bd-cta {
    display: block !important;
    text-align: center !important;
    background: #000000 !important;
    color: #c9963e !important;
    -webkit-text-fill-color: #c9963e !important;
    font-family: var(--font-body, 'DM Sans', sans-serif) !important;
    font-weight: 800 !important;
    font-size: 0.90rem !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    padding: 17px 22px !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    border: 2px solid #c9963e !important;
    transition: background 0.3s ease, transform 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    animation: bd-cta-pulse 2.5s ease-in-out infinite !important;
    position: relative !important;
    overflow: hidden !important;
}

.bd-cta::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -75% !important;
    width: 50% !important;
    height: 100% !important;
    background: linear-gradient(105deg,
        transparent 40%,
        rgba(201, 150, 62, 0.15) 50%,
        transparent 60%
    ) !important;
    transition: left 0.5s ease !important;
}
.bd-cta:hover::after { left: 130% !important; }

.bd-cta:hover {
    background: #1a1a1a !important;
    transform: translateY(-2px) !important;
    color: #e8bc6a !important;
    -webkit-text-fill-color: #e8bc6a !important;
    border-color: #e8bc6a !important;
}


.bd-urgency {
    font-family: var(--font-body, 'DM Sans', sans-serif) !important;
    text-align: center !important;
    color: rgba(30, 10, 18, 0.45) !important;
    font-size: 0.74rem !important;
    margin: 0 !important;
    animation: bd-urgency-blink 2s ease-in-out infinite !important;
}

.bd-urgency span {
    color: #c9963e !important;
    font-weight: 700 !important;
}


@media (max-width: 900px) {
    .bundle-deal-section {
        box-sizing: border-box !important;
    }
    .bundle-deal-section .container {
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .bd-inner {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        padding: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
    }
    .bd-products {
        width: 100% !important;
    }
    .bd-product-item {
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .bd-summary {
        min-width: auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .bd-plus {
        padding-left: 0 !important;
    }
    .bd-header {
        padding: 0 !important;
        margin-bottom: 10px !important;
        max-width: 100% !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   BBW4LIFE — NEWSLETTER SECTION — FOND BLANC NACRÉ ULTRA PREMIUM
   ═══════════════════════════════════════════════════════════════ */

.nl-section {
  position: relative;
  background: #0a0604;
  overflow: hidden;
  padding: 20px 0;
  border-top: 1px solid rgba(201, 150, 62, 0.35);
  border-bottom: 1px solid rgba(201, 150, 62, 0.35);
  box-shadow:
    0 8px 32px rgba(0,0,0,0.28),
    0 0 0 1px rgba(201,150,62,0.12) inset;
}


.nl-glow-left {
  position: absolute;
  left: -80px;
  top: 50%;
  transform: translateY(-50%);
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 150, 62, 0.18) 0%, transparent 70%);
  pointer-events: none;
  z-index: 2;
}
.nl-glow-right {
  position: absolute;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(192, 56, 94, 0.12) 0%, transparent 70%);
  pointer-events: none;
  z-index: 2;
}


.nl-shimmer-line {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 4;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(201,150,62,0.60) 30%,
    rgba(232,188,106,0.90) 50%,
    rgba(201,150,62,0.60) 70%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: nl-shimmer-run 3s linear infinite;
}
.nl-shimmer-line--top    { top: 0; }
.nl-shimmer-line--bottom { bottom: 0; animation-delay: 1.5s; }

@keyframes nl-shimmer-run {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}


.nl-particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}
.nl-ptcl {
  position: absolute;
  border-radius: 50%;
  animation: nl-float linear infinite;
  opacity: 0;
}
@keyframes nl-float {
  0%   { transform: translateY(0) scale(1);        opacity: 0; }
  15%  { opacity: 0.7; }
  85%  { opacity: 0.4; }
  100% { transform: translateY(-180px) scale(0.5); opacity: 0; }
}


.nl-inner {
  position: relative;
  z-index: 5;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 2.5rem;
  display: flex;
  align-items: center;
  gap: 3rem;
}


.nl-left {
  flex: 0 0 auto;
  max-width: 290px;
}


.nl-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(192, 56, 94, 0.15);
  border: 1px solid rgba(192, 56, 94, 0.35);
  border-radius: 30px;
  padding: 3px 12px;
  font-size: 0.62rem;
  font-weight: 700;
  color: #e8829a;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.nl-badge-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #e8829a;
  animation: nl-pulse 1.5s ease-in-out infinite;
}


.nl-eyebrow {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #c9963e;
  margin-bottom: 10px;
}
.nl-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c9963e;
  animation: nl-pulse-gold 1.8s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes nl-pulse {
  0%, 100% { box-shadow: 0 0 0 0   rgba(192, 56, 94, 0.6); }
  50%       { box-shadow: 0 0 0 6px rgba(192, 56, 94, 0); }
}
@keyframes nl-pulse-gold {
  0%, 100% { box-shadow: 0 0 0 0   rgba(201, 150, 62, 0.6); }
  50%       { box-shadow: 0 0 0 6px rgba(201, 150, 62, 0); }
}


.nl-title {
  font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
  font-size: 1.65rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.18;
  margin-bottom: 8px;
  letter-spacing: 0.01em;
}
.nl-title em {
  font-style: italic;
  background: linear-gradient(120deg, #e8829a, #c9963e);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}


.nl-subtitle {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.80rem;
  color: rgba(253, 249, 244, 0.60);
  line-height: 1.65;
  margin-bottom: 14px;
}


.nl-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.nl-pill {
  display: flex;
  align-items: center;
  gap: 5px;
  background: rgba(201, 150, 62, 0.10);
  border: 1px solid rgba(201, 150, 62, 0.28);
  border-radius: 30px;
  padding: 4px 12px;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.68rem;
  color: rgba(253, 249, 244, 0.60);
}
.nl-pill i {
  font-size: 10px;
  color: #c9963e;
}


.nl-divider {
  width: 1px;
  height: 90px;
  background: linear-gradient(to bottom,
    transparent,
    rgba(201, 150, 62, 0.35),
    transparent
  );
  flex-shrink: 0;
}


.nl-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
}


.nl-social-proof {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nl-avatars { display: flex; }
.nl-av {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid rgba(201,150,62,0.30);
  margin-left: -8px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.nl-av:first-child { margin-left: 0; }
.nl-av--1 { background: linear-gradient(135deg, #c0385e, #8b2443); }
.nl-av--2 { background: linear-gradient(135deg, #7b3f6e, #4e2748); }
.nl-av--3 { background: linear-gradient(135deg, #c9963e, #8a6425); }
.nl-av--4 { background: linear-gradient(135deg, #3d8b6e, #1e5c47); }

.nl-stars {
  color: #c9963e;
  font-size: 11px;
  letter-spacing: 1px;
}
.nl-proof-text {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.72rem;
  color: rgba(253, 249, 244, 0.50);
}
.nl-proof-text strong {
  color: rgba(253, 249, 244, 0.90);
}


.nl-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(201, 150, 62, 0.35);
  border-radius: 50px;
  overflow: hidden;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 2px 16px rgba(0,0,0,0.20);
}
.nl-input-wrap:focus-within {
  border-color: rgba(201, 150, 62, 0.65);
  box-shadow: 0 0 0 3px rgba(201, 150, 62, 0.12), 0 4px 20px rgba(201, 150, 62, 0.15);
}

.nl-icon {
  flex-shrink: 0;
  color: rgba(253, 249, 244, 0.40);
  font-size: 14px;
  padding-left: 20px;
}
.nl-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: 13px 14px;
  font-size: 0.82rem;
  color: #fdf9f4;
  font-family: var(--font-body, 'DM Sans', sans-serif);
}
.nl-input::placeholder {
  color: rgba(253, 249, 244, 0.35);
}


.nl-btn {
  display: flex;
  align-items: center;
  gap: 7px;
  background: linear-gradient(135deg,
    #c9963e 0%,
    #e8bc6a 50%,
    #c9963e 100%
  );
  background-size: 200% auto;
  border: none;
  border-radius: 50px;
  padding: 11px 22px;
  margin: 5px;
  cursor: pointer;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.80rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #000000;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-position 0.4s ease;
  box-shadow: 0 4px 18px rgba(201, 150, 62, 0.40);
}
.nl-btn:hover {
  transform: scale(1.03);
  background-position: right center;
  box-shadow: 0 6px 28px rgba(201, 150, 62, 0.55);
}
.nl-btn:active   { transform: scale(0.98); }
.nl-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
.nl-btn i { font-size: 12px; }


.nl-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
}
.nl-privacy {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.68rem;
  color: rgba(253, 249, 244, 0.30);
  display: flex;
  align-items: center;
  gap: 5px;
}
.nl-privacy i {
  font-size: 10px;
  color: rgba(253, 249, 244, 0.28);
}
.nl-perks { display: flex; gap: 14px; }
.nl-perk {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.68rem;
  color: rgba(253, 249, 244, 0.40);
  display: flex;
  align-items: center;
  gap: 4px;
}
.nl-perk i {
  font-size: 10px;
  color: #c9963e;
}


#nl-success-msg {
  display: none;
  align-items: center;
  gap: 10px;
  background: rgba(201, 150, 62, 0.10);
  border: 1px solid rgba(201, 150, 62, 0.30);
  border-radius: 12px;
  padding: 12px 16px;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.82rem;
  color: rgba(253, 249, 244, 0.80);
}
#nl-success-msg i {
  color: #c9963e;
  font-size: 16px;
}


.newsletter-success-popup {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: #1a0f0a;
  border-radius: 20px;
  padding: 28px 24px;
  box-shadow:
    0 8px 48px rgba(201, 150, 62, 0.22),
    0 2px 16px rgba(0, 0, 0, 0.40);
  border: 1px solid rgba(201, 150, 62, 0.28);
  z-index: 99999;
  max-width: 320px;
  text-align: center;
}
.newsletter-success-popup.show { display: block; }
.newsletter-success-popup .popup-icon i {
  font-size: 28px;
  color: #c9963e;
}
.newsletter-success-popup h3 {
  font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  margin: 10px 0 6px;
}
.newsletter-success-popup p {
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.80rem;
  color: rgba(253, 249, 244, 0.55);
  margin-bottom: 16px;
  line-height: 1.55;
}
.newsletter-success-popup button {
  background: linear-gradient(135deg, #c9963e, #e8bc6a);
  color: #000000;
  border: none;
  border-radius: 50px;
  padding: 9px 24px;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(201, 150, 62, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.newsletter-success-popup button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 22px rgba(201, 150, 62, 0.50);
}


@media (max-width: 768px) {
  .nl-section { padding: 28px 0; }
  .nl-inner {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
    padding: 0 1.25rem;
  }
  .nl-left    { max-width: 100%; }
  .nl-divider { display: none; }
  .nl-title   { font-size: 1.4rem; }
  .nl-right   { width: 100%; }
  .nl-bottom-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  .nl-btn span { display: none; }
  .nl-btn { padding: 11px 18px; }
}

/* ══════════════════════════════════════════
   NEWSLETTER — IMAGE BANNER (style custom-banner)
══════════════════════════════════════════ */

@keyframes nl-cb-img-float {
  0%, 100% { transform: scale(1.04) translateY(0); }
  50%       { transform: scale(1.06) translateY(-4px); }
}
@keyframes nl-cb-overlay-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.92; }
}
@keyframes nl-cb-shimmer-run {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}


.nl-bg-images {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.nl-bg-img {
  position: absolute;
  inset: 0;
}
.nl-bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  animation: nl-cb-img-float 8s ease-in-out infinite;
  filter: brightness(0.55) saturate(0.80);
}


.nl-bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(135deg,
    rgba(0,0,0,0.72) 0%,
    rgba(10,6,2,0.80) 50%,
    rgba(0,0,0,0.72) 100%
  );
  animation: nl-cb-overlay-pulse 6s ease-in-out infinite;
}


.nl-bg-shimmer-top,
.nl-bg-shimmer-bottom {
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(201,150,62,0.60) 30%,
    rgba(232,188,106,0.90) 50%,
    rgba(201,150,62,0.60) 70%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: nl-cb-shimmer-run 3s linear infinite;
}
.nl-bg-shimmer-top    { top: 0; }
.nl-bg-shimmer-bottom { bottom: 0; animation-delay: 1.5s; }





.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-left.visible {
  opacity: 1;
  transform: translateX(0);
}
.reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-right.visible {
  opacity: 1;
  transform: translateX(0);
}



.cart-item-img-wrap {
  position: relative;
  display: inline-block;
}


.cart-item-warning-dot {
  position: absolute;
  top: -5px;
  right: -5px;
  width: 16px;
  height: 16px;
  background: #e53935;
  border-radius: 50%;
  border: 2px solid #fff;
  cursor: pointer;
  z-index: 10;
  animation: pulse-warning 1.8s ease-in-out infinite;
}
 
@keyframes pulse-warning {
  0%, 100% { box-shadow: 0 0 0 0 rgba(229, 57, 53, 0.5); }
  50%       { box-shadow: 0 0 0 5px rgba(229, 57, 53, 0); }
}


.cart-item-warning-tooltip {
  display: none;
  position: absolute;
  top: 22px;
  left: -10px;
  width: 220px;
  background: #1a1a1a;
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  padding: 8px 10px;
  border-radius: 8px;
  z-index: 100;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

.cart-item-warning-tooltip::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 12px;
  border: 6px solid transparent;
  border-bottom-color: #1a1a1a;
  border-top: none;
}

.cart-item-warning-dot:hover .cart-item-warning-tooltip {
  display: block;
}


.cart-item-request-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 6px 0 4px;
  padding: 5px 12px;
  background: linear-gradient(135deg, #c0385e, #d4506e);
  color: #fff;
  border: none;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: 0.3px;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.cart-item-request-btn:hover {
  transform: scale(1.03);
  opacity: 0.92;
}

.cart-item-request-btn i {
  font-size: 11px;
}





#checkout-block-popup {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cbp-modal {
  background: #fff;
  border-radius: 16px;
  padding: 32px 28px;
  max-width: 400px;
  width: 90%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  animation: cbp-in 0.25s ease;
}

@keyframes cbp-in {
  from { opacity: 0; transform: scale(0.92) translateY(10px); }
  to   { opacity: 1; transform: scale(1)    translateY(0);     }
}

.cbp-icon {
  font-size: 40px;
  margin-bottom: 12px;
}

.cbp-title {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 12px;
}

.cbp-msg {
  font-size: 13px;
  color: #444;
  line-height: 1.7;
  margin-bottom: 24px;
}

.cbp-msg strong {
  color: #c0385e;
}

.cbp-btn--close {
  background: linear-gradient(135deg, #c0385e, #d4506e);
  color: #fff;
  border: none;
  border-radius: 25px;
  padding: 10px 24px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.cbp-btn--close:hover {
  opacity: 0.88;
}


/* ══════════════════════════════════════════════════════
   READING PROGRESS BAR — global
══════════════════════════════════════════════════════ */
#reading-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background: linear-gradient(90deg, #1e1a1c, #c9963e, #e8bc6a);
  z-index: 99999;
  transition: width 0.1s linear;
  border-radius: 0 2px 2px 0;
  pointer-events: none;
}




.bbw-stories-section,
.bss-videos-wrap,
.comm-reviews-section,
.bundle-deal-section {
  will-change: transform;
  transform: translateZ(0);
}

.bss-video-inner,
.comm-rev-card {
  contain: layout style paint;
}

.bd-orb, .fs-orb, .bss-orb, .comm-orb {
  will-change: auto;
  contain: strict;
}

@media (max-width: 768px) {
  .cart-drawer,
  .paul-popup,
  .cf-chat-window {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}



i[class*="fi"],
i[class*="fa"] {
    visibility: hidden;
}

.fonts-loaded i[class*="fi"],
.fonts-loaded i[class*="fa"] {
    visibility: visible;
}



/* ══════════════════════════════════════
   FOUNDER PHOTO — Chat Widget
══════════════════════════════════════ */
.cf-founder-img {
  width: 100%;
  max-width: 200px;
  border-radius: 14px;
  display: block;
  margin: 10px auto;
  border: 2px solid rgba(201, 150, 62, 0.45);
  box-shadow: 0 4px 20px rgba(192, 56, 94, 0.18);
  object-fit: cover;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cf-founder-img:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 30px rgba(192, 56, 94, 0.28);
}


.cf-founder-caption {
  text-align: center;
  font-size: 0.75rem;
  color: var(--os-muted, #999);
  margin-top: 4px;
  font-style: italic;
}

/* ══════════════════════════════════════
   Masuqer background link a
══════════════════════════════════════ */
a {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  outline: none;
}

a:focus,
a:focus-visible,
a:active {
  outline: none;
  background-color: transparent;
  -webkit-tap-highlight-color: transparent;
}


