/* ═══════════════════════════════════════════════════════════
   BEBREEZE v3 — FUCHSIA LUXE
   Color base: #FB5FAB · Cursor: Cartera SVG
   Cormorant Garamond × Jost · Premium Feminine Editorial
   ═══════════════════════════════════════════════════════════ */

/* ── DESIGN TOKENS ───────────────────────────────────────── */
:root {
  /* ✦ PALETA PRINCIPAL #FB5FAB ✦ */
  --pink:         #FB5FAB;   /* fuchsia principal BEBREEZE */
  --pink-glow:    #FC7DBB;   /* pink más suave / hover */
  --pink-light:   #FDD5EC;   /* pink claro para fondos */
  --pink-pale:    #FEF0F8;   /* fondo principal de la web */
  --pink-blush:   #FFF5FB;   /* blanco rosado muy suave */
  --pink-deep:    #D43A88;   /* pink oscuro / texto activo */
  --pink-dark:    #9C1B5E;   /* dark pink para texto */
  --pink-mauve:   #6B1040;   /* mauve muy oscuro */
  --pink-cream:   #FFFAFE;   /* blanco con tinte rosado */

  /* Neutrales cálidos */
  --warm-white:   #FFFCFE;
  --ivory:        #FFF8FD;
  --linen:        #F5E8F0;
  --taupe:        #D4A8C0;
  --warm-gray:    #A8789A;
  --warm-mid:     #7A4A6A;
  --dark:         #1A0A12;   /* negro con tinte rosa */
  --charcoal:     #2E1424;

  /* Tipografías */
  --ff-display: 'Cormorant Garamond', 'Georgia', serif;
  --ff-body:    'Jost', -apple-system, sans-serif;

  /* Spacing */
  --sp-xs:4px; --sp-sm:8px; --sp-md:16px;
  --sp-lg:24px; --sp-xl:40px; --sp-2xl:64px; --sp-3xl:96px;

  /* Layout */
  --max-w: 1440px;
  --gutter: clamp(20px, 4vw, 64px);

  /* Easing */
  --ease-spring: cubic-bezier(0.16,1,0.3,1);
  --ease-smooth: cubic-bezier(0.25,0.46,0.45,0.94);
  --ease-sharp:  cubic-bezier(0.4,0,0.2,1);

  /* Shadows */
  --shadow-pink: 0 4px 24px rgba(251,95,171,0.18);
  --shadow-deep: 0 12px 48px rgba(26,10,18,0.16);
  --shadow-card: 0 2px 20px rgba(251,95,171,0.10);

  --ann-h: 36px; --hdr-h: 68px; --top: 104px;
}

/* ── RESET ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{
  font-family:var(--ff-body);
  background:var(--pink-pale);
  color:var(--dark);
  overflow-x:hidden;
}
img{display:block;width:100%;object-fit:cover;}
a{text-decoration:none;color:inherit;}
button{font-family:var(--ff-body);border:none;background:none;}
ul{list-style:none;}

/* ── CUSTOM CURSOR: CARTERA BEBREEZE ─────────────────────── */
/*
  Cursor HD en forma de cartera mini.
  Se renderiza como SVG nativo — HD en cualquier pantalla.
  La cartera sigue el mouse con un pequeño brillo de seguimiento.
*/

/* Cursor nativo: mantenemos la flecha nativa junto a la cartera */
@media (hover: hover) and (pointer: fine) {
  /* Solo ocultamos en los elementos donde la cartera funciona */
  /* Cursor default = flecha del sistema. La cartera se superpone arriba */
  html, body {
    cursor: default !important;
  }
  a, button, .prod-card, .coll-card, [role="button"] {
    cursor: pointer !important;
  }
}

/* Cursor principal: cartera SVG */
#bb-cursor {
  position:fixed; pointer-events:none; z-index:99999; top:0; left:0;
  width:36px; height:36px; transform:translate(-50%,-100%); will-change:left,top;
}
#bb-cursor svg{ width:100%; height:100%; }
#bb-cursor svg {
  width: 36px;
  height: 36px;
  display: block;
}

/* Cursor trail — OCULTO. Solo se usa la cartera + flecha nativa */
#bb-cursor-trail {
  display: none !important;
}
body.cur-hover #bb-cursor {
  filter: drop-shadow(0 4px 14px rgba(251,95,171,0.7));
  transform: translate(-4px,-28px) scale(1.12);
}

@media (hover: none), (pointer: coarse) {
  #bb-cursor, #bb-cursor-trail { display: none; }
  html, body, a, button { cursor: auto !important; }
}

/* ── SCROLLBAR ───────────────────────────────────────────── */
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--pink-light);}
::-webkit-scrollbar-thumb{background:var(--pink);border-radius:2px;}

/* ── LOADER ──────────────────────────────────────────────── */
#bb-loader {
  position:fixed;inset:0;background:var(--dark);z-index:9999;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;
  transition:opacity 0.8s var(--ease-smooth), transform 0.8s var(--ease-smooth);
}
#bb-loader.out{opacity:0;transform:scale(1.04);pointer-events:none;}
.loader-logo{
  font-family:var(--ff-display);font-size:3rem;font-weight:300;
  letter-spacing:0.45em;text-transform:uppercase;color:var(--pink-cream);
  animation:breathe 1.8s ease-in-out infinite;
}
.loader-sub{
  font-size:0.55rem;font-weight:300;letter-spacing:0.42em;
  text-transform:uppercase;color:var(--pink);
}
.loader-bar-wrap{width:130px;height:1px;background:rgba(251,95,171,0.15);overflow:hidden;position:relative;}
.loader-bar{
  position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,var(--pink),transparent);
  animation:loadBar 1.6s var(--ease-smooth) forwards;
}
/* Cartera animada en el loader */
.loader-bag{
  width:48px;height:48px;margin-bottom:8px;
  animation:loaderBagSway 2s ease-in-out infinite;
}
@keyframes breathe{0%,100%{opacity:0.4;}50%{opacity:1;}}
@keyframes loadBar{to{left:0;}}
@keyframes loaderBagSway{
  0%,100%{transform:rotate(-6deg);}
  50%{transform:rotate(6deg);}
}

/* ── SCROLL REVEAL ───────────────────────────────────────── */
.sr{opacity:0;transform:translateY(26px);transition:opacity 0.9s var(--ease-spring),transform 0.9s var(--ease-spring);}
.sr.in{opacity:1;transform:none;}
.sr-l{opacity:0;transform:translateX(-22px);transition:opacity 0.9s var(--ease-spring),transform 0.9s var(--ease-spring);}
.sr-l.in{opacity:1;transform:none;}
.sr-r{opacity:0;transform:translateX(22px);transition:opacity 0.9s var(--ease-spring),transform 0.9s var(--ease-spring);}
.sr-r.in{opacity:1;transform:none;}
.d1{transition-delay:0.07s}.d2{transition-delay:0.14s}.d3{transition-delay:0.21s}
.d4{transition-delay:0.28s}.d5{transition-delay:0.35s}.d6{transition-delay:0.42s}

/* ── UTILITY ─────────────────────────────────────────────── */
.label{
  font-size:0.58rem;font-weight:400;letter-spacing:0.3em;
  text-transform:uppercase;color:var(--pink);
}
.display{
  font-family:var(--ff-display);
  font-size:clamp(2rem,4.2vw,4rem);
  font-weight:300;line-height:1.07;letter-spacing:-0.01em;
}
.display em{font-style:italic;color:var(--pink);}

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--ff-body);font-size:0.64rem;font-weight:400;
  letter-spacing:0.22em;text-transform:uppercase;
  padding:15px 36px;transition:all 0.35s var(--ease-smooth);
  position:relative;overflow:hidden;
}
.btn-pink{background:var(--pink);color:var(--warm-white);border:1px solid var(--pink);}
.btn-pink:hover{background:var(--pink-deep);border-color:var(--pink-deep);}
.btn-dark{background:var(--dark);color:var(--pink-cream);border:1px solid var(--dark);}
.btn-dark:hover{background:var(--charcoal);}
.btn-outline-white{background:transparent;color:var(--pink-cream);border:1px solid rgba(255,252,254,0.55);}
.btn-outline-white:hover{border-color:var(--pink-cream);background:rgba(255,252,254,0.1);}
.btn-outline-pink{background:transparent;color:var(--pink);border:1px solid var(--pink);}
.btn-outline-pink:hover{background:var(--pink);color:var(--warm-white);}
.btn .arr{transition:transform 0.35s var(--ease-spring);}
.btn:hover .arr{transform:translateX(6px);}

.link-ul{
  font-size:0.64rem;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--dark);border-bottom:1px solid currentColor;padding-bottom:2px;
  display:inline-flex;align-items:center;gap:8px;
  transition:color 0.25s,gap 0.3s var(--ease-spring);
}
.link-ul:hover{color:var(--pink-deep);gap:13px;}

/* ── ANNOUNCEMENT BAR ────────────────────────────────────── */
#bb-announce{
  position:fixed; top:0; left:0; right:0; z-index:9000;
  height:var(--ann-h); background:#FB5FAB; color:#ffffff;
  display:flex; align-items:center; justify-content:center;
  padding:0 var(--gutter); font-size:0.68rem; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase; white-space:nowrap; overflow:hidden;
}
#bb-announce a{ color:#ffffff; text-decoration:underline; text-underline-offset:3px; font-weight:700; transition:opacity 0.2s; }
#bb-announce a:hover{ opacity:0.85; }
.sep{margin:0 14px;opacity:0.5;}

/* ── HEADER ──────────────────────────────────────────────── */
#bb-header{
  position:fixed; top:var(--ann-h); left:0; right:0; z-index:8000;
  height:var(--hdr-h); background:rgba(255,248,253,0.97);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:0 1px 0 rgba(251,95,171,0.12); display:flex; align-items:center;
  transition:box-shadow 0.3s, background 0.3s;
}
/* .pinned sólo mejora visualmente la sombra — NO mueve el header hacia arriba */
#bb-header.pinned{
  background:rgba(255,248,253,0.99);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  box-shadow:0 2px 24px rgba(26,10,18,0.12);
}
.hdr-inner{
  width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
}

/* Left nav */
.hdr-left{display:flex;align-items:center;gap:30px;}
.hdr-link{
  font-size:0.64rem;font-weight:400;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--dark);position:relative;padding-bottom:2px;transition:color 0.25s;
}
.hdr-link::after{
  content:'';position:absolute;bottom:-2px;left:0;
  width:0;height:1.5px;background:var(--pink);
  transition:width 0.38s var(--ease-smooth);
}
.hdr-link:hover{color:var(--pink-deep);}
.hdr-link:hover::after,.hdr-link.active::after{width:100%;}

/* Dropdown */
/* ── DROPDOWN ─────────────────────────────────────────────── */
.hdr-drop-wrap{position:relative;}
.hdr-drop{
  position:absolute;top:calc(100% + 8px);left:0;
  transform:translateY(-6px);
  background:var(--warm-white);
  border:1px solid var(--pink-light);
  box-shadow:var(--shadow-pink);
  min-width:215px;padding:7px 0;z-index:8500;
  opacity:0;pointer-events:none;
  transition:opacity 0.22s,transform 0.22s var(--ease-smooth);
}
/* Puente invisible que llena el gap entre el link y el dropdown
   — evita que el hover se interrumpa al cruzar el espacio */
.hdr-drop::before{
  content:'';
  position:absolute;
  top:-18px;
  left:0;
  right:0;
  height:18px;
  background:transparent;
}
.hdr-drop-wrap:hover .hdr-drop,
.hdr-drop-wrap:focus-within .hdr-drop{
  opacity:1;pointer-events:all;transform:translateY(0);
}
.drop-section{
  padding:8px 18px 4px;font-size:0.52rem;font-weight:400;
  letter-spacing:0.24em;text-transform:uppercase;color:var(--pink);
  border-bottom:1px solid var(--pink-light);margin-bottom:4px;
}
.hdr-drop a{
  display:block;padding:9px 18px;
  font-size:0.73rem;font-weight:300;color:var(--dark);
  transition:background 0.2s,padding-left 0.25s,color 0.2s;
}
.hdr-drop a:hover{background:var(--pink-pale);padding-left:24px;color:var(--pink-deep);}

/* Logo */
.hdr-logo{
  font-family:var(--ff-display);
  font-size:1.75rem;font-weight:300;letter-spacing:0.38em;
  text-transform:uppercase;color:var(--dark);text-align:center;line-height:1;
}
.hdr-logo-sub{
  display:block;font-family:var(--ff-body);font-size:0.56rem;font-weight:500;
  letter-spacing:0.38em;color:#888888;opacity:1;margin-top:4px;text-transform:uppercase;
}

/* Right */
.hdr-right{display:flex;align-items:center;justify-content:flex-end;gap:4px;}
.hdr-nav-right{display:flex;align-items:center;gap:28px;margin-right:10px;}
.hdr-icon{
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  color:var(--dark);transition:color 0.25s;position:relative;
}
.hdr-icon:hover{color:var(--pink);}
.hdr-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;}
.cart-pip{
  position:absolute;top:6px;right:5px;
  width:16px;height:16px;border-radius:50%;
  background:var(--pink);color:var(--warm-white);
  font-size:0.47rem;font-weight:500;
  display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--pink-pale);
}

/* Burger */
.hdr-burger{
  display:none;flex-direction:column;gap:5px;
  padding:8px;width:40px;height:40px;justify-content:center;
}
.hdr-burger span{
  display:block;width:20px;height:1px;background:var(--dark);
  transition:transform 0.32s,opacity 0.32s;transform-origin:center;
}
.hdr-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.hdr-burger.open span:nth-child(2){opacity:0;}
.hdr-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* Mobile Menu */
.mobile-menu{
  position:fixed;inset:0;background:var(--warm-white);z-index:9100;
  transform:translateX(100%);transition:transform 0.55s var(--ease-spring);
  display:flex;flex-direction:column;padding:90px 36px 48px;overflow-y:auto;
}
.mobile-menu.open{transform:none;}
.mob-link{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 0;border-bottom:1px solid var(--pink-light);
  font-family:var(--ff-display);font-size:2.4rem;font-style:italic;
  font-weight:600;color:var(--dark);transition:color 0.2s,padding-left 0.3s;
}
.mob-link:hover{color:var(--pink);padding-left:10px;}
.mob-footer{display:flex;gap:18px;flex-wrap:wrap;padding-top:28px;margin-top:auto;}
.mob-footer a{font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--warm-gray);font-weight:600;}

/* ── HERO SECTION ────────────────────────────────────────── */
/*
  ┌─────────────────────────────────────────────┐
  │  WORDPRESS: Cambiar imagen de fondo del Hero │
  │  Elementor → Clic en sección → Estilo →     │
  │  Fondo → Imagen → Biblioteca de Medios       │
  │  También puedes poner un VIDEO:              │
  │  Fondo → Video → URL de YouTube o .mp4      │
  └─────────────────────────────────────────────┘
*/
#bb-hero{
  position:relative;height:100svh;min-height:640px;
  display:flex;align-items:flex-end;overflow:hidden;
  padding-top:var(--top);
}

/* Fondo actual: gradiente de marca #FB5FAB
   En WordPress: reemplazar con imagen real de producto/modelo */
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 30% 60%, rgba(251,95,171,0.6) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 20%, rgba(212,58,136,0.5) 0%, transparent 50%),
    linear-gradient(145deg,
      #FF9ED0 0%,
      #FB5FAB 22%,
      #D43A88 45%,
      #9C1B5E 68%,
      #4A0A2E 88%,
      #1A0A12 100%
    );
  transform:scale(1.04);
  transition:transform 14s ease-out;
}
.hero-bg.anim{transform:scale(1);}

/* Velo cinematográfico */
.hero-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(to top,rgba(26,10,18,0.75) 0%,rgba(26,10,18,0.18) 40%,transparent 68%),
    radial-gradient(ellipse at 70% 40%,transparent 40%,rgba(26,10,18,0.22) 100%);
}

/* Grain texture */
.hero-grain{
  position:absolute;inset:0;opacity:0.035;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Patrón decorativo de puntos */
.hero-dots{
  position:absolute;right:6%;top:18%;
  width:180px;height:220px;pointer-events:none;
  background-image:radial-gradient(circle,rgba(255,200,230,0.28) 1.5px,transparent 1.5px);
  background-size:18px 18px;
}

/* Línea vertical decorativa */
.hero-line{
  position:absolute;width:1px;top:0;bottom:0;right:26%;
  background:linear-gradient(to bottom,transparent,rgba(255,200,230,0.14) 30%,rgba(255,200,230,0.14) 70%,transparent);
  pointer-events:none;
}

/* Contenido */
.hero-content{
  position:relative;z-index:10;
  padding:0 var(--gutter) clamp(56px,8vh,100px);
  max-width:var(--max-w);margin:0 auto;width:100%;
}
.hero-eyebrow{
  font-size:0.6rem;font-weight:300;letter-spacing:0.34em;text-transform:uppercase;
  color:rgba(255,200,230,0.72);margin-bottom:18px;
  opacity:0;animation:fadeUp 0.9s var(--ease-spring) 0.3s forwards;
}
.hero-h1{
  font-family:var(--ff-display);
  font-size:clamp(3.8rem,10.5vw,10rem);
  font-weight:300;line-height:0.91;letter-spacing:-0.025em;
  color:var(--pink-cream);max-width:880px;margin-bottom:28px;
  opacity:0;animation:fadeUp 1.1s var(--ease-spring) 0.5s forwards;
}
.hero-h1 em{font-style:italic;color:#FFB8DA;}
.hero-sub{
  font-size:clamp(0.82rem,1.2vw,0.96rem);font-weight:300;line-height:1.9;
  color:rgba(255,200,230,0.72);max-width:350px;margin-bottom:40px;letter-spacing:0.03em;
  opacity:0;animation:fadeUp 0.9s var(--ease-spring) 0.7s forwards;
}
.hero-ctas{
  display:flex;gap:13px;flex-wrap:wrap;
  opacity:0;animation:fadeUp 0.9s var(--ease-spring) 0.9s forwards;
}

/* Badge flotante */
.hero-badge{
  position:absolute;right:var(--gutter);top:clamp(95px,13vh,145px);z-index:10;
  background:rgba(255,200,230,0.1);backdrop-filter:blur(12px);
  border:1px solid rgba(255,200,230,0.22);border-radius:50%;
  width:96px;height:96px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  color:var(--pink-cream);text-align:center;
  opacity:0;animation:fadeIn 1s var(--ease-spring) 1.3s forwards;
}
.badge-num{font-family:var(--ff-display);font-size:1.6rem;font-style:italic;line-height:1;}
.badge-txt{font-size:0.44rem;letter-spacing:0.16em;text-transform:uppercase;opacity:0.62;}

/* Scroll indicator */
.hero-scroll{
  position:absolute;bottom:clamp(36px,5vh,58px);right:var(--gutter);z-index:10;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  opacity:0;animation:fadeIn 1s var(--ease-spring) 1.7s forwards;
}
.scroll-line{width:1px;height:52px;background:rgba(255,200,230,0.2);overflow:hidden;position:relative;}
.scroll-line::after{
  content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;
  background:rgba(255,200,230,0.8);animation:scrollDrop 2.5s var(--ease-smooth) 2s infinite;
}
.scroll-txt{font-size:0.5rem;letter-spacing:0.26em;text-transform:uppercase;color:rgba(255,200,230,0.38);writing-mode:vertical-rl;}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes scrollDrop{from{top:-100%;}to{top:100%;}}

/* ── MARQUEE ─────────────────────────────────────────────── */
.bb-marquee{overflow:hidden;background:#FB5FAB;padding:0;}
.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
.marquee-item{
  display:flex;align-items:center;gap:22px;padding:0 28px;
  white-space:nowrap;font-size:0.68rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;color:#ffffff;
  height:var(--ann-h);
}
.marquee-item a{color:#ffffff;text-decoration:underline;font-weight:700;}
.marquee-gem{width:5px;height:5px;background:#ffffff;transform:rotate(45deg);flex-shrink:0;opacity:0.7;}
@keyframes marquee{to{transform:translateX(-50%);}}

/* ── SECTION SHELL ───────────────────────────────────────── */
.bb-section{padding:clamp(64px,9vw,120px) var(--gutter);max-width:var(--max-w);margin:0 auto;}
.bb-full{padding:0;max-width:none;}
.section-hdr{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:clamp(34px,5vw,64px);gap:20px;flex-wrap:wrap;
}
.section-hdr-l{display:flex;flex-direction:column;gap:11px;}

/* ── GRADIENT PLACEHOLDERS (reemplazar con imágenes reales) ─ */
/*
  ┌──────────────────────────────────────────────────────┐
  │  TODOS ESTOS GRADIENTES SON PLACEHOLDERS.            │
  │  En WordPress + Elementor:                           │
  │  → Para tarjetas: doble clic en imagen → Cambiar     │
  │  → Para fondos de sección: Estilo → Fondo → Imagen   │
  │  → Para productos: WooCommerce → Producto → Imagen   │
  └──────────────────────────────────────────────────────┘
*/
.g1{background:linear-gradient(145deg,#FDD5EC,#D43A88);}
.g2{background:linear-gradient(145deg,#FF9ED0,#9C1B5E);}
.g3{background:linear-gradient(145deg,#FEF0F8,#FDD5EC);}
.g4{background:linear-gradient(145deg,#FB5FAB,#4A0A2E);}
.g5{background:linear-gradient(145deg,#9C1B5E,#1A0A12);}
.g6{background:linear-gradient(145deg,#F5E8F0,#D4A8C0);}
.g7{background:linear-gradient(145deg,#FF9ED0,#FB5FAB);}
.g8{background:linear-gradient(145deg,#2E1424,#1A0A12);}

/* ── COLLECTIONS GRID ────────────────────────────────────── */
/*
  WORDPRESS: Cada imagen de colección = widget "Image" en Elementor.
  Doble clic → Cambiar imagen → Biblioteca de Medios.
*/
.coll-grid{
  display:grid;
  grid-template-columns:1.55fr 1fr 1fr;
  grid-template-rows:auto auto;
  gap:10px;
}
.coll-card{position:relative;overflow:hidden;display:block;}
.coll-card--hero{grid-row:span 2;}
.coll-card--hero .coll-img-wrap{min-height:580px;height:100%;}
.coll-card--sm .coll-img-wrap{aspect-ratio:3/4;}
.coll-img-wrap{overflow:hidden;position:relative;width:100%;}
.coll-img{width:100%;height:100%;transition:transform 0.95s var(--ease-smooth);}
.coll-card:hover .coll-img{transform:scale(1.07);}

/* Overlay gradient */
.coll-veil{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(26,10,18,0.72) 0%,rgba(26,10,18,0.1) 45%,transparent 70%);
  transition:opacity 0.4s;
}
.coll-card:hover .coll-veil{opacity:1.1;}

/* Info */
.coll-info{position:absolute;bottom:0;left:0;right:0;padding:28px;color:var(--pink-cream);}
.coll-tag{font-size:0.52rem;font-weight:400;letter-spacing:0.24em;text-transform:uppercase;color:var(--pink-glow);margin-bottom:6px;opacity:0.9;}
.coll-name{
  font-family:var(--ff-display);font-style:italic;font-weight:300;
  font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1.1;margin-bottom:14px;
}
.coll-card--hero .coll-name{font-size:clamp(2rem,3.5vw,3.3rem);}
.coll-cta{
  display:inline-flex;align-items:center;gap:7px;
  font-size:0.6rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--pink-cream);opacity:0;transform:translateY(5px);
  transition:opacity 0.35s,transform 0.35s;
}
.coll-card:hover .coll-cta{opacity:1;transform:none;}
.coll-cta .arr{transition:transform 0.3s var(--ease-spring);}
.coll-card:hover .coll-cta .arr{transform:translateX(4px);}

/* Swatches en hover */
.coll-sw{
  position:absolute;top:14px;right:14px;
  display:flex;flex-direction:column;gap:4px;
  opacity:0;transform:translateX(5px);
  transition:opacity 0.3s 0.1s,transform 0.3s 0.1s;
}
.coll-card:hover .coll-sw{opacity:1;transform:none;}
.sw{width:15px;height:15px;border-radius:50%;border:1.5px solid rgba(255,200,230,0.7);}

/* ── PRODUCTS ────────────────────────────────────────────── */
/*
  WORDPRESS: Los productos NUNCA se editan aquí.
  Panel de WordPress → WooCommerce → Productos → Editar producto.
  Las imágenes, precios y descripciones se cambian ahí directamente.
  El shortcode [best_selling_products limit="4"] muestra los productos automáticamente.
*/
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,2vw,22px);}
.prod-card{display:flex;flex-direction:column;gap:14px;}
.prod-img-wrap{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--pink-light);}
.prod-img-main,.prod-img-alt{
  position:absolute;inset:0;width:100%;height:100%;
  transition:opacity 0.55s var(--ease-smooth),transform 0.8s var(--ease-smooth);
}
.prod-img-main{opacity:1;}
.prod-img-alt{opacity:0;}
/* Hover: zoom only — no fade to prevent white flash when no alt image */
.prod-card:hover .prod-img-main{transform:scale(1.07);}
.prod-card:hover .prod-img-alt{opacity:1;transform:scale(1.07);}

/* Badges */
.prod-badge{
  position:absolute;top:12px;left:12px;z-index:2;
  padding:4px 9px;font-size:0.5rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;
}
.badge-new{background:var(--pink);color:var(--warm-white);}
.badge-hot{background:var(--dark);color:var(--pink-cream);}
.badge-sale{background:var(--pink-dark);color:var(--pink-cream);}

/* Quick view */
.prod-qv{
  position:absolute;top:12px;right:12px;z-index:3;
  width:32px;height:32px;background:rgba(255,252,254,0.94);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(0.85);
  transition:opacity 0.3s,transform 0.3s;
}
.prod-card:hover .prod-qv{opacity:1;transform:scale(1);}
.prod-qv svg{width:13px;height:13px;stroke:var(--dark);fill:none;stroke-width:1.5;}

/* Hover actions bar */
.prod-actions{
  position:absolute;bottom:0;left:0;right:0;padding:12px;
  display:flex;gap:7px;
  transform:translateY(100%);
  transition:transform 0.42s var(--ease-spring);
  background:linear-gradient(to top,rgba(26,10,18,0.78),transparent);
}
.prod-card:hover .prod-actions{transform:none;}
@media(hover:none){.prod-actions{transform:none!important;}}

.prod-atc{
  flex:1;padding:11px 6px;
  background:rgba(255,252,254,0.96);color:var(--dark);
  font-size:0.58rem;font-weight:400;letter-spacing:0.16em;text-transform:uppercase;text-align:center;
  transition:background 0.25s,color 0.25s;
}
.prod-atc:hover,.prod-atc.added{background:var(--pink)!important;color:var(--warm-white)!important;}
.prod-wish{
  width:40px;height:40px;flex-shrink:0;
  background:rgba(255,252,254,0.12);border:1px solid rgba(255,200,230,0.35);
  display:flex;align-items:center;justify-content:center;color:var(--pink-cream);
  transition:background 0.25s;
}
.prod-wish.wished svg{fill:var(--pink);stroke:var(--pink);}
.prod-wish svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.4;}

/* Info */
.prod-info{padding:0 2px;}
.prod-colors-row{display:flex;gap:5px;margin-bottom:9px;}
.pcolor{
  width:13px;height:13px;border-radius:50%;border:1.5px solid transparent;
  transition:transform 0.2s,border-color 0.2s;
}
.pcolor:hover{transform:scale(1.3);}
.pcolor.sel{border-color:var(--pink-deep);}
.prod-name{font-family:var(--ff-display);font-size:1rem;font-style:italic;font-weight:300;line-height:1.25;margin-bottom:3px;}
.prod-variant{font-size:0.7rem;font-weight:300;color:var(--warm-gray);margin-bottom:7px;}
.prod-price-row{display:flex;align-items:baseline;gap:8px;}
.prod-price{font-size:0.82rem;font-weight:400;color:var(--dark);}
.prod-was{font-size:0.76rem;color:var(--taupe);text-decoration:line-through;}
.prod-sizes{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px;}
.psz{
  height:25px;padding:0 8px;font-size:0.58rem;font-weight:300;letter-spacing:0.1em;
  border:1px solid var(--linen);color:var(--dark);
  transition:background 0.2s,border-color 0.2s,color 0.2s;
}
.psz:hover{border-color:var(--pink);}
.psz.sel{background:var(--dark);color:var(--pink-cream);border-color:var(--dark);}

/* ── EDITORIAL SPLIT ─────────────────────────────────────── */
/*
  WORDPRESS: Imagen izquierda → Widget "Image" en Elementor.
  Doble clic en la imagen → Cambiar → Biblioteca de Medios.
  Para video: cambiar widget Image por Widget Video.
*/
.ed-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:76vh;}
.ed-img{overflow:hidden;position:relative;}
.ed-img-inner{
  width:100%;height:100%;min-height:460px;
  background:linear-gradient(145deg,#FDD5EC 0%,#FB5FAB 40%,#9C1B5E 75%,#1A0A12 100%);
  transition:transform 10s ease-out;transform:scale(1.05);
}
.ed-wrap:hover .ed-img-inner{transform:scale(1);}
.ed-body{
  background:var(--dark);color:var(--pink-cream);
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(48px,6vw,100px);
}
.ed-label{color:var(--pink);margin-bottom:18px;}
.ed-title{
  font-family:var(--ff-display);font-size:clamp(2.2rem,4vw,4rem);
  font-weight:300;line-height:1.07;margin-bottom:22px;
}
.ed-title em{font-style:italic;color:var(--pink-glow);}
.ed-text{
  font-size:clamp(0.82rem,1vw,0.94rem);font-weight:300;line-height:1.92;
  opacity:0.65;max-width:380px;margin-bottom:40px;
}
.ed-stats{
  display:flex;gap:clamp(24px,4vw,52px);margin-top:50px;
  padding-top:32px;border-top:1px solid rgba(251,95,171,0.16);
}
.stat-n{font-family:var(--ff-display);font-size:2.8rem;font-style:italic;font-weight:300;line-height:1;color:var(--pink-glow);}
.stat-l{font-size:0.56rem;letter-spacing:0.18em;text-transform:uppercase;opacity:0.45;margin-top:5px;}

/* ── PRODUCT DETAIL ──────────────────────────────────────── */
/*
  WORDPRESS: La galería de fotos del producto se maneja desde:
  WooCommerce → Producto → "Imagen del producto" (foto principal)
  y "Galería del producto" (fotos adicionales).
  NO se necesita tocar Elementor para cambiar fotos de producto.
*/
.pd-wrap{background:var(--pink-blush);}
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:start;}
.pd-gallery{display:grid;grid-template-columns:66px 1fr;gap:9px;}
.pd-thumbs{display:flex;flex-direction:column;gap:7px;}
.pd-thumb{
  aspect-ratio:3/4;overflow:hidden;border:2px solid transparent;opacity:0.5;
  transition:opacity 0.25s,border-color 0.25s;
}
.pd-thumb.act,.pd-thumb:hover{opacity:1;border-color:var(--pink);}
.pd-main{aspect-ratio:3/4;overflow:hidden;position:relative;background:var(--pink-light);}
.pd-main-inner{width:100%;height:100%;transition:transform 0.8s var(--ease-smooth);}
.pd-main:hover .pd-main-inner{transform:scale(1.04);}
.pd-zoom-tag{
  position:absolute;bottom:12px;right:12px;
  background:rgba(255,252,254,0.9);padding:4px 10px;
  font-size:0.52rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--warm-mid);
  display:flex;align-items:center;gap:5px;
}
.pd-zoom-tag svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:1.5;}

.pd-info{padding-top:4px;}
.pd-bc{display:flex;gap:7px;font-size:0.63rem;color:var(--warm-gray);margin-bottom:18px;}
.pd-bc a:hover{color:var(--pink-deep);}
.pd-bc-sep{opacity:0.35;}
.pd-title{font-family:var(--ff-display);font-size:clamp(1.8rem,3vw,2.8rem);font-style:italic;font-weight:300;line-height:1.12;margin-bottom:6px;}
.pd-sub{font-size:0.82rem;font-weight:300;color:var(--warm-gray);margin-bottom:18px;}
.pd-stars{display:flex;gap:2px;align-items:center;margin-bottom:20px;}
.pd-star{color:var(--pink);font-size:0.85rem;}
.pd-rc{font-size:0.68rem;color:var(--warm-gray);margin-left:8px;}
.pd-price{font-size:1.25rem;font-weight:400;letter-spacing:0.05em;margin-bottom:32px;}

.pd-opt-group{margin-bottom:24px;}
.pd-opt-label{
  font-size:0.63rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;
  margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;
}
.pd-opt-label a{color:var(--pink-deep);text-decoration:underline;text-underline-offset:2px;font-size:0.62rem;font-weight:300;}
.pd-colors{display:flex;gap:8px;flex-wrap:wrap;}
.pd-copt{
  width:29px;height:29px;border-radius:50%;border:2.5px solid transparent;
  transition:transform 0.25s,border-color 0.25s;position:relative;
}
.pd-copt:hover{transform:scale(1.15);}
.pd-copt.sel{border-color:var(--pink-deep);}
.pd-copt.sel::after{content:'';position:absolute;inset:2px;border-radius:50%;border:2px solid var(--warm-white);}
.pd-sizes-row{display:flex;gap:6px;flex-wrap:wrap;}
.pd-sbtn{
  min-width:48px;height:42px;padding:0 10px;border:1px solid var(--linen);
  font-size:0.7rem;font-weight:300;letter-spacing:0.08em;color:var(--dark);
  transition:background 0.25s,border-color 0.25s,color 0.25s;
}
.pd-sbtn:hover{border-color:var(--pink);}
.pd-sbtn.sel{background:var(--dark);color:var(--pink-cream);border-color:var(--dark);}
.pd-sbtn.out{opacity:0.3;text-decoration:line-through;pointer-events:none;}

.pd-actions{display:flex;flex-direction:column;gap:9px;margin-top:28px;}
.pd-atc{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--pink);color:var(--warm-white);padding:17px 32px;
  font-size:0.68rem;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;
  transition:background 0.3s;
}
.pd-atc:hover{background:var(--pink-deep);}
.pd-atc svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.4;}
.pd-wl{
  display:flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--linen);color:var(--warm-mid);padding:13px 32px;
  font-size:0.66rem;font-weight:300;letter-spacing:0.18em;text-transform:uppercase;
  transition:border-color 0.25s,color 0.25s;
}
.pd-wl:hover{border-color:var(--pink);color:var(--pink-deep);}
.pd-wl svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.4;}

.pd-trust{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  margin-top:26px;padding:16px;background:var(--pink-pale);
}
.trust-i{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;}
.trust-i svg{width:19px;height:19px;stroke:var(--pink-deep);fill:none;stroke-width:1.4;}
.trust-i span{font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--warm-mid);line-height:1.5;}

/* Accordion */
.accordion{border-top:1px solid var(--pink-light);margin-top:30px;}
.acc-item{border-bottom:1px solid var(--pink-light);}
.acc-trig{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:15px 0;font-size:0.68rem;font-weight:400;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--dark);transition:color 0.25s;
}
.acc-trig:hover{color:var(--pink-deep);}
.acc-plus{font-size:1.1rem;color:var(--pink);transition:transform 0.38s var(--ease-spring);}
.acc-item.open .acc-plus{transform:rotate(45deg);}
.acc-body{display:none;padding-bottom:18px;font-size:0.82rem;font-weight:300;line-height:1.9;color:var(--warm-mid);}
.acc-item.open .acc-body{display:block;}

/* ── COMPLETE THE LOOK ───────────────────────────────────── */
.look-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(28px,5vw,80px);align-items:center;}
.look-img-wrap{position:relative;overflow:hidden;aspect-ratio:2/3;}
.look-img-inner{
  width:100%;height:100%;
  background:linear-gradient(145deg,#FDD5EC 0%,#FB5FAB 45%,#4A0A2E 100%);
  transition:transform 0.9s var(--ease-smooth);
}
.look-img-wrap:hover .look-img-inner{transform:scale(1.04);}
.look-dot{
  position:absolute;width:28px;height:28px;border-radius:50%;
  background:rgba(255,252,254,0.96);border:1px solid rgba(255,200,230,0.4);
  display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--dark);
  animation:dotPulse 2.8s ease-in-out infinite;
}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(251,95,171,0.5);}50%{box-shadow:0 0 0 12px rgba(251,95,171,0);}}
.look-items{display:flex;flex-direction:column;gap:14px;}
.look-item{
  display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:16px;
  padding:13px;background:var(--warm-white);transition:background 0.25s;
}
.look-item:hover{background:var(--pink-pale);}
.look-item-img{aspect-ratio:3/4;overflow:hidden;}
.look-item-name{font-family:var(--ff-display);font-size:0.95rem;font-style:italic;margin-bottom:3px;}
.look-item-col{font-size:0.7rem;color:var(--warm-gray);font-weight:300;}
.look-item-price{font-size:0.82rem;font-weight:400;white-space:nowrap;}
.look-total{
  margin-top:4px;padding:17px 16px;
  background:var(--dark);color:var(--pink-cream);
  display:flex;justify-content:space-between;align-items:center;
}
.look-total-lbl{font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;opacity:0.5;}
.look-total-p{font-family:var(--ff-display);font-size:1.5rem;font-style:italic;}

/* ── TESTIMONIALS ────────────────────────────────────────── */
.test-section{background:var(--pink-pale);}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,24px);}
.test-card{
  background:var(--warm-white);padding:clamp(22px,3vw,38px);
  display:flex;flex-direction:column;gap:16px;
  box-shadow:var(--shadow-card);border-top:2px solid var(--pink-light);
}
.test-stars{display:flex;gap:2px;}
.test-star{color:var(--pink);font-size:0.82rem;}
.test-quote{
  font-family:var(--ff-display);font-size:clamp(0.95rem,1.4vw,1.12rem);
  font-style:italic;font-weight:300;line-height:1.65;color:var(--dark);flex:1;
}
.test-quote::before{content:'\201C';font-size:2rem;color:var(--pink);line-height:0;vertical-align:-0.35em;margin-right:2px;}
.test-author{padding-top:14px;border-top:1px solid var(--pink-light);}
.test-name{font-size:0.74rem;font-weight:400;letter-spacing:0.1em;}
.test-loc{font-size:0.65rem;color:var(--warm-gray);font-weight:300;margin-top:2px;}
.test-ctrl{display:flex;align-items:center;gap:14px;margin-top:34px;}
.test-btn{
  width:44px;height:44px;border:1px solid var(--pink-light);
  display:flex;align-items:center;justify-content:center;
  transition:background 0.25s,color 0.25s,border-color 0.25s;
}
.test-btn:hover{background:var(--pink);color:var(--warm-white);border-color:var(--pink);}
.test-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.6;}
.test-dots{display:flex;gap:6px;}
.tdot{width:20px;height:2px;background:var(--pink-light);transition:width 0.42s var(--ease-spring),background 0.3s;}
.tdot.act{width:38px;background:var(--pink);}

/* ── INSTAGRAM ───────────────────────────────────────────── */
/*
  WORDPRESS: Instalar plugin "Smash Balloon Social Photo Feed".
  Conectar tu cuenta de Instagram una sola vez.
  Las fotos se actualizan automáticamente con cada nuevo post.
*/
.insta-hdr{
  display:flex;align-items:flex-end;justify-content:space-between;
  padding:var(--gutter) var(--gutter) 32px;max-width:var(--max-w);margin:0 auto;
}
.insta-handle{font-family:var(--ff-display);font-size:1.4rem;font-style:italic;font-weight:300;color:var(--pink-deep);}
.insta-strip{display:grid;grid-template-columns:repeat(6,1fr);}
.insta-cell{aspect-ratio:1;overflow:hidden;position:relative;}
.insta-cell-img{width:100%;height:100%;transition:transform 0.65s var(--ease-smooth);}
.insta-cell:hover .insta-cell-img{transform:scale(1.09);}
.insta-over{
  position:absolute;inset:0;
  background:rgba(156,27,94,0.68);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  opacity:0;transition:opacity 0.3s;color:var(--pink-cream);
}
.insta-cell:hover .insta-over{opacity:1;}
.insta-icon{font-size:1.2rem;}
.insta-count{font-size:0.66rem;font-weight:400;letter-spacing:0.1em;}

/* ── NEWSLETTER ──────────────────────────────────────────── */
/*
  WORDPRESS: El formulario de newsletter se hace con el
  widget Form de Elementor + plugin MailPoet.
  Conectar lista → las suscripciones van directo a MailPoet.
*/
.nl-section{background:var(--dark);color:var(--pink-cream);}
.nl-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,96px);align-items:center;}
.nl-lbl{color:var(--pink);margin-bottom:16px;}
.nl-title{
  font-family:var(--ff-display);font-size:clamp(2.2rem,4.5vw,4.2rem);
  font-weight:300;line-height:1.07;margin-bottom:16px;
}
.nl-title em{font-style:italic;color:var(--pink-glow);}
.nl-desc{font-size:0.87rem;font-weight:300;line-height:1.92;opacity:0.55;max-width:400px;}
.nl-perks{display:flex;gap:28px;margin-top:34px;flex-wrap:wrap;}
.nl-perk{display:flex;flex-direction:column;gap:4px;}
.nl-perk-icon{font-size:1rem;color:var(--pink);}
.nl-perk-txt{font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;opacity:0.38;}
.nl-form{display:flex;flex-direction:column;gap:16px;}
.nl-field{position:relative;}
.nl-input{
  width:100%;background:transparent;border:none;border-bottom:1px solid rgba(251,95,171,0.22);
  color:var(--pink-cream);font-family:var(--ff-body);font-size:0.88rem;font-weight:300;
  padding:13px 0;outline:none;letter-spacing:0.04em;transition:border-color 0.3s;
}
.nl-input::placeholder{color:transparent;}
.nl-input:focus{border-color:var(--pink);}
.nl-lbl-fl{
  position:absolute;top:13px;left:0;
  font-size:0.63rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(251,95,171,0.35);
  pointer-events:none;transition:top 0.25s,font-size 0.25s,color 0.25s;
}
.nl-input:focus ~ .nl-lbl-fl,
.nl-input:not(:placeholder-shown) ~ .nl-lbl-fl{top:-7px;font-size:0.52rem;color:var(--pink);}
.nl-submit{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--pink);color:var(--warm-white);padding:15px 32px;margin-top:6px;
  font-size:0.65rem;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;
  transition:background 0.3s,gap 0.35s var(--ease-spring);
}
.nl-submit:hover{background:var(--pink-deep);gap:16px;}
.nl-fine{font-size:0.6rem;opacity:0.22;font-weight:300;line-height:1.7;margin-top:3px;}

/* ── URGENCY BAR ─────────────────────────────────────────── */
.urgency{
  display:flex;align-items:center;justify-content:center;gap:14px;
  background:var(--pink-dark);color:var(--pink-cream);
  padding:11px var(--gutter);font-size:0.68rem;font-weight:300;
  letter-spacing:0.14em;text-transform:uppercase;text-align:center;
}
.urgency strong{font-weight:500;}
.countdown-t{font-family:var(--ff-display);font-style:italic;font-size:0.95rem;}

/* ── FOOTER ──────────────────────────────────────────────── */
#bb-footer{background:var(--charcoal);color:var(--pink-cream);border-top:1px solid rgba(251,95,171,0.07);}
.footer-main{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(28px,5vw,60px);
  padding:clamp(52px,8vw,96px) var(--gutter) clamp(44px,6vw,64px);
  max-width:var(--max-w);margin:0 auto;
}
.foot-logo{font-family:var(--ff-display);font-size:1.5rem;font-weight:300;letter-spacing:0.34em;text-transform:uppercase;margin-bottom:16px;}
.foot-tag{font-size:0.82rem;font-weight:300;opacity:0.42;max-width:250px;line-height:1.9;margin-bottom:26px;}
.foot-socials{display:flex;gap:10px;}
.foot-social{
  width:34px;height:34px;border:1px solid rgba(251,95,171,0.18);
  display:flex;align-items:center;justify-content:center;
  font-size:0.68rem;color:rgba(251,95,171,0.5);
  transition:border-color 0.25s,color 0.25s,background 0.25s;
}
.foot-social:hover{border-color:var(--pink);color:var(--pink);background:rgba(251,95,171,0.08);}
.foot-col-title{font-size:0.58rem;font-weight:400;letter-spacing:0.24em;text-transform:uppercase;opacity:0.36;margin-bottom:20px;}
.foot-links{display:flex;flex-direction:column;gap:10px;}
.foot-links a{font-size:0.82rem;font-weight:300;opacity:0.54;display:block;transition:opacity 0.25s,padding-left 0.25s;}
.foot-links a:hover{opacity:1;padding-left:6px;}
.footer-bottom{
  border-top:1px solid rgba(251,95,171,0.07);
  padding:22px var(--gutter);max-width:var(--max-w);margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
}
.foot-copy{font-size:0.64rem;opacity:0.24;font-weight:300;letter-spacing:0.06em;}
.foot-pays{display:flex;gap:7px;}
.pay-chip{border:1px solid rgba(251,95,171,0.12);padding:3px 9px;font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;opacity:0.32;}
.foot-legal{display:flex;gap:18px;}
.foot-legal a{font-size:0.62rem;opacity:0.26;transition:opacity 0.25s;}
.foot-legal a:hover{opacity:0.65;}

/* ── CART DRAWER ─────────────────────────────────────────── */
.cart-ovl{position:fixed;inset:0;background:rgba(26,10,18,0.44);z-index:400;opacity:0;pointer-events:none;transition:opacity 0.4s;}
.cart-ovl.vis{opacity:1;pointer-events:all;}
.cart-drawer{
  position:fixed;top:0;right:-450px;width:min(450px,100vw);height:100vh;
  background:var(--warm-white);z-index:500;display:flex;flex-direction:column;
  transition:right 0.5s var(--ease-spring);box-shadow:var(--shadow-deep);
}
.cart-drawer.open{right:0;}
.cart-hdr{
  display:flex;justify-content:space-between;align-items:center;
  padding:24px 26px;border-bottom:1px solid var(--pink-light);
}
.cart-title-row{display:flex;align-items:baseline;gap:9px;}
.cart-title{font-family:var(--ff-display);font-size:1.3rem;font-style:italic;font-weight:300;}
.cart-ct{font-size:0.6rem;letter-spacing:0.14em;color:var(--warm-gray);text-transform:uppercase;}
.cart-close{font-size:1.4rem;color:var(--warm-mid);transition:color 0.2s;}
.cart-close:hover{color:var(--dark);}
.cart-items{flex:1;overflow-y:auto;padding:20px 26px;display:flex;flex-direction:column;gap:16px;}
.cart-item{display:grid;grid-template-columns:72px 1fr;gap:13px;align-items:start;}
.cart-item-img{aspect-ratio:3/4;overflow:hidden;background:var(--pink-light);}
.cart-item-name{font-family:var(--ff-display);font-size:0.95rem;font-style:italic;font-weight:300;}
.cart-item-var{font-size:0.67rem;color:var(--warm-gray);font-weight:300;margin-top:2px;}
.cart-item-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;}
.cart-qty-wrap{display:flex;align-items:center;gap:10px;border:1px solid var(--pink-light);padding:4px 10px;}
.qty-btn{font-size:0.95rem;color:var(--warm-mid);}
.qty-val{font-size:0.78rem;min-width:14px;text-align:center;}
.cart-item-price{font-size:0.82rem;}
.cart-foot{padding:18px 26px;border-top:1px solid var(--pink-light);display:flex;flex-direction:column;gap:10px;}
.cart-sub-row{display:flex;justify-content:space-between;align-items:center;}
.cart-sub-lbl{font-size:0.63rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--warm-gray);}
.cart-sub-val{font-family:var(--ff-display);font-size:1.5rem;font-style:italic;font-weight:300;}
.cart-note{text-align:center;font-size:0.62rem;color:var(--pink-deep);font-weight:300;}
.cart-checkout{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--pink);color:var(--warm-white);padding:16px;
  font-size:0.66rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;
  transition:background 0.3s;
}
.cart-checkout:hover{background:var(--pink-deep);}

/* ── QUICK VIEW ──────────────────────────────────────────── */
.qv-ovl{
  position:fixed;inset:0;background:rgba(26,10,18,0.52);
  z-index:600;opacity:0;pointer-events:none;transition:opacity 0.35s;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.qv-ovl.vis{opacity:1;pointer-events:all;}
.qv-modal{
  background:var(--warm-white);width:min(800px,100%);max-height:90vh;overflow-y:auto;
  transform:scale(0.93) translateY(18px);transition:transform 0.42s var(--ease-spring);
  display:grid;grid-template-columns:1fr 1fr;
}
.qv-ovl.vis .qv-modal{transform:none;}
.qv-img{aspect-ratio:3/4;background:var(--pink-light);}
.qv-body{padding:34px;display:flex;flex-direction:column;gap:14px;position:relative;}
.qv-close{position:absolute;top:14px;right:14px;font-size:1.3rem;color:var(--warm-mid);}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width:1200px){
  .prod-grid{grid-template-columns:repeat(3,1fr);}
  .footer-main{grid-template-columns:1.5fr 1fr 1fr;}
  .footer-main>*:last-child{grid-column:2;grid-row:2;}
}
@media (max-width:1024px){
  .coll-grid{grid-template-columns:1fr 1fr;}
  .coll-card--hero{grid-column:span 2;grid-row:auto;}
  .coll-card--hero .coll-img-wrap{min-height:50vw;}
  .ed-wrap{grid-template-columns:1fr;}
  .ed-img-inner{min-height:52vw;}
  .look-grid{grid-template-columns:1fr;}
  .nl-inner{grid-template-columns:1fr;gap:44px;}
  .insta-strip{grid-template-columns:repeat(3,1fr);}
  .insta-strip>*:nth-child(n+4){display:none;}
}
@media (max-width:900px){
  .pd-grid{grid-template-columns:1fr;}
  .pd-gallery{grid-template-columns:50px 1fr;}
  .test-grid{grid-template-columns:1fr;}
  .test-grid>*:nth-child(n+2){display:none;}
  .qv-modal{grid-template-columns:1fr;}
  .qv-img{aspect-ratio:16/9;max-height:260px;}
}
@media (max-width:768px){:root{--ann-h:32px;--hdr-h:60px;--top:92px;}
  :root{--gutter:16px;}

  /* ── ANNOUNCEMENT BAR MOBILE ── */
  #bb-announce{font-size:0.62rem;letter-spacing:0.08em;font-weight:700;}

  /* ── HEADER MOBILE: burger IZQUIERDA · logo CENTRO · iconos DERECHA ── */
  .hdr-inner{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    padding:0 14px;
    height:var(--hdr-h);
    gap:0;
  }

  /* Ocultar nav izquierda y links de derecha */
  .hdr-left, .hdr-nav-right { display:none !important; }

  /* Burger: primer elemento, lado izquierdo */
  .hdr-burger {
    display:flex !important;
    order: 1;
    flex-shrink: 0;
    margin-right: 0;
  }

  /* Logo: centro absoluto */
  .hdr-logo {
    order: 2;
    flex: 1;
    text-align: center;
    font-size: 1.35rem;
    letter-spacing: 0.22em;
    justify-content: center;
  }
  .hdr-logo-sub { font-size: 0.48rem; letter-spacing: 0.28em; color: #888888; opacity: 1; }

  /* Iconos derecha */
  .hdr-right {
    order: 3;
    flex-shrink: 0;
    gap: 2px;
    justify-content: flex-end;
  }

  /* Reducir tamaño de iconos en mobile */
  .hdr-icon { width: 36px; height: 36px; }
  .hdr-icon svg { width: 18px; height: 18px; }

  /* ── RESTO MOBILE ── */
  .coll-grid{grid-template-columns:1fr;gap:8px;}
  .coll-card--hero{grid-column:auto;}
  .coll-card--hero .coll-img-wrap{min-height:72vw;}
  .coll-card--sm .coll-img-wrap{aspect-ratio:4/5;}
  .prod-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .prod-actions{transform:none !important;}
  .hero-badge{display:none;}
  .hero-scroll{display:none;}
  .ed-body{padding:clamp(34px,8vw,52px) var(--gutter);}
  .ed-stats{flex-wrap:wrap;gap:18px;}
  .pd-gallery{grid-template-columns:1fr;}
  .pd-thumbs{flex-direction:row;overflow-x:auto;}
  .pd-thumb{width:66px;flex-shrink:0;aspect-ratio:3/4;}
  .look-img-wrap{aspect-ratio:5/6;}
  .insta-strip{grid-template-columns:repeat(3,1fr);}
  .insta-strip>*:nth-child(n+4){display:none;}
  .footer-main{grid-template-columns:1fr 1fr;gap:32px;}
  .footer-main .footer-brand{grid-column:1/-1;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:12px;}
}

@media (max-width:480px){
  .prod-grid{grid-template-columns:repeat(2,1fr);gap:7px;}
  .footer-main{grid-template-columns:1fr;}
  .nl-perks{gap:14px;}
  .cart-drawer{width:100vw;}
  .hdr-logo{font-size:1.18rem;letter-spacing:0.18em;}
  .hdr-logo-sub{font-size:0.42rem;color:#888888;opacity:1;}
  /* Ocultar wishlist en mobile muy pequeño para no saturar */
  .hdr-icon.hide-xs{display:none;}
}

/* ── TABLET (769px – 1024px) ──────────────────────────────── */
@media (min-width:769px) and (max-width:1024px){
  .hdr-inner{padding:0 24px;}
  .hdr-left{gap:18px;}
  .hdr-link{font-size:0.6rem;}
  .hdr-nav-right{gap:16px;margin-right:6px;}
  .hdr-logo{font-size:1.55rem;letter-spacing:0.28em;}
}


body.cur-clicking #bb-cursor{opacity:0.85;}
.bb-page-inner{max-width:900px;margin:0 auto;padding:calc(var(--top)+60px) 24px 100px;}

/* ── CART DRAWER AJAX MEJORADO ───────────────────────────── */
.cart-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  align-items: start;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--pink-light);
}
.cart-item:last-child { border-bottom: none; }
.cart-item-img {
  aspect-ratio: 3/4;
  overflow: hidden;
  background: var(--pink-light);
  border-radius: 2px;
}
.cart-item-img img { width: 100%; height: 100%; object-fit: cover; }
.cart-item-body { display: flex; flex-direction: column; gap: 4px; }
.cart-item-name {
  font-family: var(--ff-display);
  font-size: 0.95rem;
  font-style: italic;
  font-weight: 300;
  line-height: 1.2;
}
.cart-item-var {
  font-size: 0.67rem;
  color: var(--warm-gray);
  font-weight: 300;
}
.cart-item-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
  gap: 8px;
}
.cart-item-price { font-size: 0.82rem; font-weight: 400; }

/* Qty buttons */
.cart-qty-wrap {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--pink-light);
}
.qty-btn-minus, .qty-btn-plus {
  background: none;
  border: none;
  cursor: pointer;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--warm-mid);
  transition: color 0.2s, background 0.2s;
  line-height: 1;
}
.qty-btn-minus:hover, .qty-btn-plus:hover {
  color: var(--pink-deep);
  background: var(--pink-pale);
}
.qty-val {
  font-size: 0.78rem;
  min-width: 22px;
  text-align: center;
  padding: 0 2px;
}

/* Botón eliminar */
.cart-remove-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--taupe);
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: color 0.2s, background 0.2s, transform 0.2s;
  margin-left: auto;
}
.cart-remove-btn:hover {
  color: var(--pink-deep);
  background: var(--pink-pale);
  transform: scale(1.12);
}

/* Carrito vacío */
.cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  height: 100%;
  min-height: 260px;
  padding: 40px 24px;
  text-align: center;
}
.cart-empty svg { opacity: 0.35; }
.cart-empty p {
  font-size: 0.88rem;
  color: var(--warm-gray);
  font-weight: 300;
  letter-spacing: 0.04em;
}
.cart-empty .btn { font-size: 0.62rem; }

/* Spinner de carga */
.cart-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.cart-spin {
  animation: spinCart 0.9s linear infinite;
  stroke-linecap: round;
}
@keyframes spinCart { to { transform: rotate(360deg); } }

/* ── WHATSAPP FLOTANTE ───────────────────────────────────── */
#bb-wa {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 8500;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,0.42);
  transition: transform 0.35s var(--ease-spring), box-shadow 0.3s;
  text-decoration: none;
}
#bb-wa:hover {
  transform: scale(1.1) translateY(-3px);
  box-shadow: 0 8px 32px rgba(37,211,102,0.55);
}
/* Pulso animado */
#bb-wa::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid rgba(37,211,102,0.4);
  animation: waPulse 2.2s ease-out infinite;
}
@keyframes waPulse {
  0%   { transform: scale(1);   opacity: 1; }
  70%  { transform: scale(1.4); opacity: 0; }
  100% { opacity: 0; }
}
@media (max-width: 768px) {
  #bb-wa { bottom: 20px; right: 16px; width: 50px; height: 50px; }
}


/* ═══════════════════════════════════════════════════════════════════
   BEBREEZE PRODUCT CARDS v6.2 — PNG sin fondo + WooCommerce
   Diseñado para imágenes de producto con fondo transparente.
   Fondo: degradado crema-rosado acorde con la paleta bebreeze.
   ═══════════════════════════════════════════════════════════════════ */

/* ── PRODUCT GRID ─────────────────────────────────────────── */
.prod-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
@media (max-width: 1200px) { .prod-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 768px)  { .prod-grid { grid-template-columns: repeat(2,1fr); gap: 10px; } }
@media (max-width: 400px)  { .prod-grid { grid-template-columns: repeat(2,1fr); gap: 7px; } }

/* ── PRODUCT CARD ─────────────────────────────────────────── */
.prod-card {
  position: relative;
  cursor: pointer;
}

/* ── IMAGE WRAPPER ────────────────────────────────────────── */
.prod-img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  aspect-ratio: 3 / 4;
  /* Fondo crema-rosado: luce perfecto con cualquier PNG transparente */
  background: linear-gradient(160deg, #FFF5FB 0%, #FEF0F8 45%, #F9E8F3 100%);
}

/* ── PRODUCT IMAGES (PNG con fondo transparente) ──────────── */
.prod-img-main {
  width: 100%;
  height: 100%;
  display: block;
  /* contain: muestra el producto completo sin recortar */
  object-fit: contain;
  padding: 14px;
  transition: transform 0.55s cubic-bezier(0.16,1,0.3,1),
              filter 0.4s ease;
  will-change: transform;
  /* Sombra que recorta el contorno exacto de la pieza (solo en PNG) */
  filter: drop-shadow(0 6px 20px rgba(26,10,18,0.13));
}

/* Hover: la pieza flota suavemente */
.prod-card:hover .prod-img-main {
  transform: scale(1.06) translateY(-5px);
  filter: drop-shadow(0 14px 32px rgba(251,95,171,0.22))
          drop-shadow(0 4px 10px rgba(26,10,18,0.12));
}

/* ── IMAGES JPG (fondos de estudio coloreados — bags) ─────── */
.prod-img-main[src$=".jpg"],
.prod-img-main[src$=".jpeg"] {
  object-fit: cover;
  padding: 0;
  border-radius: 8px;
  filter: none;
}
.prod-card:hover .prod-img-main[src$=".jpg"],
.prod-card:hover .prod-img-main[src$=".jpeg"] {
  transform: scale(1.04);
  filter: none;
}

/* Bags con fondo neutro de estudio */
.prod-img-wrap:has(.prod-img-main[src$=".jpg"]) {
  background: #F8F3EE;
}

/* ── BADGES ───────────────────────────────────────────────── */
.prod-badge {
  position: absolute;
  top: 10px; left: 10px;
  padding: 4px 9px;
  font-size: 0.54rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 3px;
  z-index: 3;
  pointer-events: none;
}
.badge-hot  { background: var(--pink, #FB5FAB); color: #fff; }
.badge-new  { background: var(--dark, #1A0A12); color: #fff; }
.badge-sale { background: transparent; color: var(--dark, #1A0A12);
              border: 1px solid currentColor; }

/* ── PRODUCT ACTIONS (overlay en hover) ──────────────────── */
.prod-actions {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 16px 10px 10px;
  background: linear-gradient(to top, rgba(26,10,18,0.68) 0%, transparent 100%);
  display: flex;
  gap: 6px;
  align-items: center;
  transform: translateY(101%);
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1);
  border-radius: 0 0 8px 8px;
}
.prod-card:hover .prod-actions {
  transform: translateY(0);
}
/* En móvil siempre visible */
@media (max-width: 768px) {
  .prod-actions {
    transform: none;
    position: relative;
    background: none;
    padding: 8px 0 0;
    border-radius: 0;
  }
}

/* ── ADD TO CART ──────────────────────────────────────────── */
.prod-atc {
  flex: 1;
  background: var(--pink, #FB5FAB);
  color: #fff;
  border: none;
  padding: 9px 12px;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 3px;
  text-align: center;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  font-family: var(--ff-body, 'Jost', sans-serif);
  white-space: nowrap;
}
.prod-atc:hover { background: var(--pink-deep, #D43A88); color: #fff; }

/* ── WISHLIST BUTTON ──────────────────────────────────────── */
.prod-wish {
  background: rgba(255,252,254,0.92);
  border: none; cursor: pointer;
  width: 36px; height: 36px;
  border-radius: 3px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.25s; color: var(--dark, #1A0A12);
}
.prod-wish:hover, .prod-wish.wished { color: var(--pink, #FB5FAB); }
.prod-wish svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.prod-wish.wished svg { fill: currentColor; }

/* ── QUICK VIEW BUTTON ────────────────────────────────────── */
.prod-qv {
  background: rgba(255,252,254,0.92);
  border: none; cursor: pointer;
  width: 36px; height: 36px;
  border-radius: 3px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  color: var(--dark, #1A0A12); transition: all 0.25s;
}
.prod-qv:hover { color: var(--pink, #FB5FAB); }
.prod-qv svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 1.8; }

/* ── PRODUCT INFO ─────────────────────────────────────────── */
.prod-info { padding: 10px 2px 0; }
.prod-name {
  font-family: var(--ff-display, 'Cormorant Garamond', serif);
  font-style: italic;
  font-size: 0.88rem;
  font-weight: 300;
  line-height: 1.25;
  margin-bottom: 4px;
  color: var(--dark, #1A0A12);
}
.prod-price-row { display: flex; align-items: center; gap: 6px; }
.prod-price {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--pink-deep, #D43A88);
  letter-spacing: 0.02em;
}
.prod-price del {
  color: var(--warm-gray, #A8789A);
  font-size: 0.78rem;
  margin-right: 4px;
  font-weight: 300;
}

/* ── WOOCOMMERCE GALLERY — PNG transparente ────────────────── */
/* Producto individual: galería con fondo crema-rosado */
.woocommerce-product-gallery {
  background: linear-gradient(160deg, #FFF5FB 0%, #FEF0F8 45%, #F9E8F3 100%) !important;
  border-radius: 10px;
  overflow: hidden;
}
.woocommerce-product-gallery__image img {
  object-fit: contain !important;
  padding: 20px !important;
  background: transparent !important;
}
.woocommerce-product-gallery__image img[src$=".png"] {
  filter: drop-shadow(0 8px 24px rgba(26,10,18,0.12));
}

/* ── COLLECTION CARD IMAGES (homepage grid) ────────────────── */
.coll-img-wrap {
  overflow: hidden;
  position: relative;
  border-radius: 6px;
}
/* Para URLs de PNG en background-image inline */
.coll-img-wrap [style*=".png"] .coll-img {
  background-size: contain !important;
  background-color: #FEF0F8 !important;
}

/* ── LIGHTBOX OVERLAY para PNGs ───────────────────────────── */
.woocommerce-product-gallery__trigger {
  background: rgba(26,10,18,0.06) !important;
  border-radius: 50% !important;
}

/* ── RESPONSIVE TWEAKS ────────────────────────────────────── */
@media (max-width: 480px) {
  .prod-img-main { padding: 8px; }
  .prod-name     { font-size: 0.78rem; }
  .prod-price    { font-size: 0.82rem; }
  .prod-actions  { gap: 4px; }
  .prod-atc      { font-size: 0.55rem; padding: 8px 6px; }
  .prod-wish,
  .prod-qv       { width: 32px; height: 32px; }
}


/* ═══════════════════════════════════════════════════════════
   LOGO STYLES — Aplicado en header, splash, footer y móvil
   ═══════════════════════════════════════════════════════════ */

/* Footer logo imagen */
.foot-logo-img {
  height: 32px;
  width: auto;
  display: block;
  object-fit: contain;
  opacity: 0.92;
  transition: opacity var(--ease-smooth, 0.25s);
  margin-bottom: 14px;
}
.foot-logo-img:hover { opacity: 1; }

/* Header logo imagen (complementa .hdr-logo-img ya definido) */
.hdr-logo-img {
  height: 38px;
  width: auto;
  display: block;
  object-fit: contain;
  transition: opacity 0.25s;
}
.hdr-logo:hover .hdr-logo-img { opacity: 0.82; }

/* Menú móvil logo */
.mob-logo-wrap {
  padding: 22px 24px 12px;
  border-bottom: 1px solid rgba(26,10,18,0.07);
  margin-bottom: 6px;
}
.mob-logo-img {
  height: 28px;
  width: auto;
  display: block;
  object-fit: contain;
}

/* ── LOGO FIX — fixed size, no WooCommerce override ── */
.hdr-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  max-width: 200px !important;
  width: auto !important;
}
.hdr-logo-real {
  height: 36px !important;
  width: auto !important;
  max-width: 200px !important;
  display: block !important;
  object-fit: contain !important;
  font-size: 0 !important;       /* prevent font-size inheritance */
  line-height: 0 !important;
  flex-shrink: 0 !important;
}
/* Prevent WooCommerce page styles from affecting header logo */
.woocommerce .hdr-logo-real,
.woocommerce-page .hdr-logo-real,
.single-product .hdr-logo-real,
.product-template-default .hdr-logo-real {
  height: 36px !important;
  width: auto !important;
  max-width: 200px !important;
  font-size: 0 !important;
}

/* ── UNIVERSAL PRODUCT IMAGE ZOOM (todas las grillas) ── */
.prod-img-wrap img,
.prod-img-wrap .prod-img-main {
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform;
}
.prod-card:hover .prod-img-wrap img,
.prod-card:hover .prod-img-main {
  transform: scale(1.07) !important;
}
/* WooCommerce native product loops */
.woocommerce ul.products li.product:hover img,
.woocommerce-page ul.products li.product:hover img {
  transform: scale(1.05) translateY(-3px) !important;
}

/* ═══════════════════════════════════════════════════════════
   WOOCOMMERCE OVERRIDES — Precio EUR + Botón Carrito
   ═══════════════════════════════════════════════════════════ */

/* Precio en euros — color de marca */
.woocommerce-Price-amount,
.woocommerce-Price-amount bdi,
span.price,
.prod-price .woocommerce-Price-amount {
    color: var(--pink-deep, #D43A88) !important;
    font-weight: 500 !important;
}

/* Precio tachado (sale) */
.price del .woocommerce-Price-amount,
del .woocommerce-Price-amount {
    color: var(--warm-gray, #A8789A) !important;
    font-size: 0.85em !important;
    font-weight: 300 !important;
}

/* Add to Cart — botón de WooCommerce con estilo bebreeze */
.single_add_to_cart_button,
.woocommerce .single_add_to_cart_button.button,
button.single_add_to_cart_button {
    background: var(--pink, #FB5FAB) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    font-family: var(--ff-body, 'Jost', sans-serif) !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 14px 28px !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background 0.25s, transform 0.2s !important;
    margin-bottom: 10px !important;
}
.single_add_to_cart_button:hover,
.woocommerce .single_add_to_cart_button.button:hover {
    background: var(--pink-deep, #D43A88) !important;
    transform: translateY(-1px) !important;
}

/* Quantity input en WooCommerce single product */
.woocommerce .quantity .qty {
    border: 1.5px solid var(--pink-light, #FDD5EC) !important;
    border-radius: 6px !important;
    height: 44px !important;
    text-align: center !important;
    font-size: 1rem !important;
    color: var(--dark, #1A0A12) !important;
    width: 64px !important;
}
.woocommerce form.cart {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

/* Responsive: stack en móvil */
@media (max-width: 768px) {
    .woocommerce form.cart {
        flex-direction: column !important;
    }
    .woocommerce .quantity .qty {
        width: 100% !important;
    }
}

/* ─── SINGLE PRODUCT — layout responsivo ─── */
@media (max-width: 768px) {
    .bb-section div[style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    .bb-section div[style*="position:sticky"] {
        position: relative !important;
        top: 0 !important;
    }
}

/* ─── WC breadcrumb - hide default, usamos el nuestro ─── */
.woocommerce .woocommerce-breadcrumb { display: none !important; }

/* ─── WC tabs (descripción, valoraciones) ─── */
.woocommerce-tabs .tabs li a {
    font-family: var(--ff-body, 'Jost', sans-serif) !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--warm-gray, #A8789A) !important;
}
.woocommerce-tabs .tabs li.active a {
    color: var(--pink-deep, #D43A88) !important;
    border-bottom-color: var(--pink, #FB5FAB) !important;
}

/* ─── Product image not found: hide WC placeholder ─── */
.woocommerce-product-gallery__image img[src*="woocommerce-placeholder"] {
    display: none !important;
}
.bb-cat-img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}
