@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Jost:wght@200;300;400;500;600;700&display=swap');

/* =============================================
   CIUDAD ALTERNATIVA — LIPSTICK RED THEME OVERRIDE
   ============================================= */
:root {
  --red:       #C0102D;
  --red-deep:  #8B0A1F;
  --red-light: #E8304A;
  --red-blush: #F9D0D8;
  --dark:      #1A0008;
  --cream:     #FFF8F8;
  --gold:      #B8922A;
  --white:     #FFFFFF;
  --gray:      #6B5A5E;
  --gray-lt:   #EDE8E9;
  --red:      #C0102D;
  --ff-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --ff-body:    'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Tallas section */
.tallas-section{padding:80px 0;}
.tallas-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.talla-card{border:1.5px solid #EDE8E9;border-radius:6px;padding:22px;text-align:center;transition:border-color .2s,box-shadow .2s;}
.talla-card:hover{border-color:#C0102D;box-shadow:0 2px 12px rgba(192,16,45,.1);}
.talla-num{font-family:'Cormorant Garamond',Georgia,serif;font-size:2.2rem;font-weight:300;color:#C0102D;margin-bottom:8px;}
.talla-info{font-size:.78rem;color:#6B5A5E;line-height:1.6;}
.cat-strip{display:flex;gap:12px;overflow-x:auto;padding:28px;scrollbar-width:none;}
.cat-strip::-webkit-scrollbar{display:none;}
.cat-pill{flex-shrink:0;padding:10px 22px;border-radius:30px;border:1.5px solid #EDE8E9;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#1A0008;background:#fff;cursor:pointer;transition:all .2s;white-space:nowrap;display:inline-block;}
.cat-pill.active,.cat-pill:hover{background:#C0102D;border-color:#C0102D;color:#fff;}
@media(max-width:900px){.tallas-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:480px){.tallas-grid{grid-template-columns:repeat(2,1fr);}}
/* ═══════════════════════════════════════════════════════════
   CIUDAD ALTERNATIVA v3 — FUCHSIA LUXE
   Color base: #C0102D · Cursor: Cartera SVG
   Cormorant Garamond × Jost · Premium Feminine Editorial
   ═══════════════════════════════════════════════════════════ */

/* ── DESIGN TOKENS ───────────────────────────────────────── */
:root {
  /* ✦ PALETA PRINCIPAL #C0102D ✦ */
  --red:         #C0102D;   /* fuchsia principal CIUDAD ALTERNATIVA */
  --red-glow:    #FC7DBB;   /* red más suave / hover */
  --red-light:   #F9D0D8;   /* red claro para fondos */
  --red-pale:    #FFF0F2;   /* fondo principal de la web */
  --red-blush:   #FFF8F8;   /* blanco rosado muy suave */
  --red-deep:    #8B0A1F;   /* red oscuro / texto activo */
  --red-dark:    #8B0A1F;   /* dark red para texto */
  --red-mauve:   #6B1040;   /* mauve muy oscuro */
  --red-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:         #1A0008;   /* 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-red: 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(--red-pale);
  color:var(--dark);
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto;}
a{text-decoration:none;color:inherit;}
button{font-family:var(--ff-body);border:none;background:none;}
ul{list-style:none;}

/* ── CUSTOM CURSOR: CARTERA CIUDAD ALTERNATIVA ─────────────────────── */
/*
  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 */
#ca-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;
}
#ca-cursor svg{ width:100%; height:100%; }
#ca-cursor svg {
  width: 36px;
  height: 36px;
  display: block;
}

/* Cursor trail — OCULTO. Solo se usa la cartera + flecha nativa */
#ca-cursor-trail {
  display: none !important;
}
body.cur-hover #ca-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) {
  #ca-cursor, #ca-cursor-trail { display: none; }
  html, body, a, button { cursor: auto !important; }
}

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

/* ── LOADER ──────────────────────────────────────────────── */
#ca-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);
}
#ca-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(--red-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(--red);
}
.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(--red),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(--red);
}
.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(--red);}

/* ── 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-red{background:var(--red);color:var(--warm-white);border:1px solid var(--red);}
.btn-red:hover{background:var(--red-deep);border-color:var(--red-deep);}
.btn-dark{background:var(--dark);color:var(--red-cream);border:1px solid var(--dark);}
.btn-dark:hover{background:var(--charcoal);}
.btn-outline-white{background:transparent;color:var(--red-cream);border:1px solid rgba(255,252,254,0.55);}
.btn-outline-white:hover{border-color:var(--red-cream);background:rgba(255,252,254,0.1);}
.btn-outline-red{background:transparent;color:var(--red);border:1px solid var(--red);}
.btn-outline-red:hover{background:var(--red);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(--red-deep);gap:13px;}

/* ── ANNOUNCEMENT BAR ────────────────────────────────────── */
#ca-announce{
  position:fixed; top:0; left:0; right:0; z-index:9000;
  height:var(--ann-h); background:#C0102D; 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;
}
#ca-announce a{ color:#ffffff; text-decoration:underline; text-underline-offset:3px; font-weight:700; transition:opacity 0.2s; }
#ca-announce a:hover{ opacity:0.85; }
.sep{margin:0 14px;opacity:0.5;}

/* ── HEADER ──────────────────────────────────────────────── */
#ca-header{
  position:fixed; top:var(--ann-h); left:0; right:0; z-index:8000;
  height:var(--hdr-h); background:rgba(255,255,255,0.97);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:0 1px 0 rgba(200,16,46,0.08); 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 */
#ca-header.pinned{
  background:rgba(255,255,255,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(--red);
  transition:width 0.38s var(--ease-smooth);
}
.hdr-link:hover{color:var(--red-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(--red-light);
  box-shadow:var(--shadow-red);
  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(--red);
  border-bottom:1px solid var(--red-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(--red-pale);padding-left:24px;color:var(--red-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(--red);}
.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(--red);color:var(--warm-white);
  font-size:0.47rem;font-weight:500;
  display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--red-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(--red-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(--red);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      │
  └─────────────────────────────────────────────┘
*/
#ca-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 #C0102D
   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%,
      #C0102D 22%,
      #8B0A1F 45%,
      #8B0A1F 68%,
      #4A0A2E 88%,
      #1A0008 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.72rem;font-weight:400;letter-spacing:0.34em;text-transform:uppercase;
  color:#E30613;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(--red-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:#C8102E;backdrop-filter:none;
  border:2px solid #C8102E;border-radius:50%;
  width:96px;height:96px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  color:#ffffff;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;color:#ffffff;font-weight:700;}
.badge-txt{font-size:0.44rem;letter-spacing:0.16em;text-transform:uppercase;opacity:1;color:#ffffff;}

/* 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 ─────────────────────────────────────────────── */
.ca-marquee{overflow:hidden;background:#C0102D;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 ───────────────────────────────────────── */
.ca-section{padding:clamp(64px,9vw,120px) var(--gutter);max-width:var(--max-w);margin:0 auto;}
.ca-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,#F9D0D8,#8B0A1F);}
.g2{background:linear-gradient(145deg,#FF9ED0,#8B0A1F);}
.g3{background:linear-gradient(145deg,#FFF0F2,#F9D0D8);}
.g4{background:linear-gradient(145deg,#C0102D,#4A0A2E);}
.g5{background:linear-gradient(145deg,#8B0A1F,#1A0008);}
.g6{background:linear-gradient(145deg,#F5E8F0,#D4A8C0);}
.g7{background:linear-gradient(145deg,#FF9ED0,#C0102D);}
.g8{background:linear-gradient(145deg,#2E1424,#1A0008);}

/* ── 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(--red-cream);}
.coll-tag{font-size:0.52rem;font-weight:400;letter-spacing:0.24em;text-transform:uppercase;color:var(--red-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(--red-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(--red-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(--red);color:var(--warm-white);}
.badge-hot{background:var(--dark);color:var(--red-cream);}
.badge-sale{background:var(--red-dark);color:var(--red-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(--red)!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(--red-cream);
  transition:background 0.25s;
}
.prod-wish.wished svg{fill:var(--red);stroke:var(--red);}
.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(--red-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(--red);}
.psz.sel{background:var(--dark);color:var(--red-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,#F9D0D8 0%,#C0102D 40%,#8B0A1F 75%,#1A0008 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(--red-cream);
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(48px,6vw,100px);
}
.ed-label{color:var(--red);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(--red-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(--red-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(--red-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(--red);}
.pd-main{aspect-ratio:3/4;overflow:hidden;position:relative;background:var(--red-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(--red-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(--red);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(--red-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(--red-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(--red);}
.pd-sbtn.sel{background:var(--dark);color:var(--red-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(--red);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(--red-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(--red);color:var(--red-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(--red-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(--red-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(--red-light);margin-top:30px;}
.acc-item{border-bottom:1px solid var(--red-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(--red-deep);}
.acc-plus{font-size:1.1rem;color:var(--red);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,#F9D0D8 0%,#C0102D 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(--red-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(--red-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(--red-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(--red-light);
}
.test-stars{display:flex;gap:2px;}
.test-star{color:var(--red);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(--red);line-height:0;vertical-align:-0.35em;margin-right:2px;}
.test-author{padding-top:14px;border-top:1px solid var(--red-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(--red-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(--red);color:var(--warm-white);border-color:var(--red);}
.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(--red-light);transition:width 0.42s var(--ease-spring),background 0.3s;}
.tdot.act{width:38px;background:var(--red);}

/* ── 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(--red-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(--red-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:#F9D0D8;color:var(--dark);}
.nl-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,96px);align-items:center;}
.nl-lbl{color:var(--red);margin-bottom:16px;font-weight:700;}
.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(--red);}
.nl-desc{font-size:0.87rem;font-weight:300;line-height:1.92;opacity:0.9;max-width:400px;color:var(--dark);}
.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:#ffffff;}
.nl-perk-txt{font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;opacity:1;color:var(--dark) !important;font-weight:600;}
.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(--red-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(--red);}
.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(--red);}
.nl-submit{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--red);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(--red-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:#F9D0D8;color:#1A0008;
  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 ──────────────────────────────────────────────── */
#ca-footer{background:#C8102E;color:#ffffff;border-top:1px solid rgba(255,255,255,0.15);}
.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:700;letter-spacing:0.34em;text-transform:uppercase;margin-bottom:16px;color:#ffffff;}
.foot-tag{font-size:0.82rem;font-weight:400;opacity:0.9;max-width:250px;line-height:1.9;margin-bottom:26px;color:#ffffff;}
.foot-socials{display:flex;gap:14px;flex-wrap:wrap;}
.foot-social{
  width:68px;height:68px;border:1px solid rgba(255,255,255,0.4);
  display:flex;align-items:center;justify-content:center;
  font-size:0.68rem;color:rgba(255,255,255,0.8);
  transition:border-color 0.25s,color 0.25s,background 0.25s;
}
.foot-social:hover{border-color:#ffffff;color:#ffffff;background:rgba(255,255,255,0.15);}
.foot-col-title{font-size:0.58rem;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;opacity:0.7;margin-bottom:20px;color:#ffffff;}
.foot-links{display:flex;flex-direction:column;gap:10px;}
.foot-links a{font-size:0.82rem;font-weight:400;opacity:0.85;color:#ffffff !important;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(255,255,255,0.2);
  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:1;font-weight:600;letter-spacing:0.06em;color:#ffffff !important;}
.foot-pays{display:flex;gap:7px;}
.pay-chip{border:1px solid rgba(255,255,255,0.45);padding:3px 9px;font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;opacity:1;color:#ffffff !important;font-weight:600;}
.foot-legal{display:flex;gap:18px;}
.foot-legal a{font-size:0.62rem;opacity:0.85;transition:opacity 0.25s;color:#ffffff !important;}
.foot-legal a:hover{opacity:1;}

/* ── 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(--red-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(--red-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(--red-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(--red-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(--red-deep);font-weight:300;}
.cart-checkout{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--red);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(--red-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(--red-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 ── */
  #ca-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: extremo izquierdo */
  .hdr-burger {
    display:flex !important;
    order: 1;
    flex-shrink: 0;
    margin-right: 8px;
  }

  /* Logo + brand-text juntos, a la izquierda del centro */
  .hdr-center-wrap {
    order: 2;
    flex: 1;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
  }
  .hdr-logo {
    order: unset;
    flex: 0 0 auto;
    text-align: left;
    justify-content: flex-start;
    font-size: 1.35rem;
    letter-spacing: 0.22em;
  }
  .hdr-logo-brand-text {
    display: block !important;
    order: unset;
    font-size: 0.68rem;
    font-style: italic;
    color: var(--dark, #1A0008);
    letter-spacing: 0.06em;
    border-left: 1px solid rgba(26,0,8,0.18);
    padding-left: 8px;
    margin-left: 8px;
    line-height: 1.2;
    white-space: nowrap;
    font-weight: 400;
    text-transform: uppercase;
  }
  .hdr-logo-sub { font-size: 0.48rem; letter-spacing: 0.28em; color: #888888; opacity: 1; }

  /* Iconos: extremo derecho */
  .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 #ca-cursor{opacity:0.85;}
.ca-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(--red-light);
}
.cart-item:last-child { border-bottom: none; }
.cart-item-img {
  aspect-ratio: 3/4;
  overflow: hidden;
  background: var(--red-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(--red-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(--red-deep);
  background: var(--red-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(--red-deep);
  background: var(--red-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 ───────────────────────────────────── */
#ca-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;
}
#ca-wa:hover {
  transform: scale(1.1) translateY(-3px);
  box-shadow: 0 8px 32px rgba(37,211,102,0.55);
}
/* Pulso animado */
#ca-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) {
  #ca-wa { bottom: 20px; right: 16px; width: 50px; height: 50px; }
}


/* ═══════════════════════════════════════════════════════════════════
   CIUDAD ALTERNATIVA 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 ciudad-alternativa.
   ═══════════════════════════════════════════════════════════════════ */

/* ── 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, #FFF8F8 0%, #FFF0F2 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(--red, #C0102D); color: #fff; }
.badge-new  { background: var(--dark, #1A0008); color: #fff; }
.badge-sale { background: transparent; color: var(--dark, #1A0008);
              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(--red, #C0102D);
  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(--red-deep, #8B0A1F); 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, #1A0008);
}
.prod-wish:hover, .prod-wish.wished { color: var(--red, #C0102D); }
.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, #1A0008); transition: all 0.25s;
}
.prod-qv:hover { color: var(--red, #C0102D); }
.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, #1A0008);
}
.prod-price-row { display: flex; align-items: center; gap: 6px; }
.prod-price {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--red-deep, #8B0A1F);
  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, #FFF8F8 0%, #FFF0F2 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: #FFF0F2 !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: auto;
  width: 160px;
  max-width: 100%;
  display: block;
  object-fit: contain;
  opacity: 1;
  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(--red-deep, #8B0A1F) !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 ciudad-alternativa */
.single_add_to_cart_button,
.woocommerce .single_add_to_cart_button.button,
button.single_add_to_cart_button {
    background: var(--red, #C0102D) !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(--red-deep, #8B0A1F) !important;
    transform: translateY(-1px) !important;
}

/* Quantity input en WooCommerce single product */
.woocommerce .quantity .qty {
    border: 1.5px solid var(--red-light, #F9D0D8) !important;
    border-radius: 6px !important;
    height: 44px !important;
    text-align: center !important;
    font-size: 1rem !important;
    color: var(--dark, #1A0008) !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) {
    .ca-section div[style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    .ca-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(--red-deep, #8B0A1F) !important;
    border-bottom-color: var(--red, #C0102D) !important;
}

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

/* ═══════════════════════════════════════════════════════
   CIUDAD ALTERNATIVA — CRITICAL FIXES v2
   ═══════════════════════════════════════════════════════ */

/* FIX: Splash screen REMOVED */
#ca-loader { display:none !important; visibility:hidden !important; pointer-events:none !important; }

/* FIX: Product images - correct proportions */
.prod-img-wrap { position:relative; overflow:hidden; aspect-ratio:3/4; }
.prod-img-main { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; max-width:none; }

/* FIX: Collection card images */
.coll-img-wrap { position:relative; overflow:hidden; height:100%; }
.coll-img { position:absolute; inset:0; width:100%; height:100%; background-size:cover; background-position:center; }

/* FIX: Hero image */
.hero-bg { position:absolute; inset:0; background-size:cover; background-position:center top; }

/* FIX: Instagram images */
.insta-cell img { width:100%; height:100%; object-fit:cover; display:block; max-width:none; }

/* FIX: Logo size - transparent, no distortion */
.hdr-logo-real { height:54px; width:auto; max-width:200px; object-fit:contain; display:block; }
.mob-logo-real { height:48px; width:auto; max-width:160px; object-fit:contain; display:block; }
.foot-logo-img { height:auto; width:160px; max-width:160px; object-fit:contain; display:block; }

/* FIX: Navigation font sizes - more readable */
.hdr-link { font-size:0.76rem !important; letter-spacing:0.1em !important; }
.mob-link { font-size:0.9rem !important; }

/* FIX: Body font size baseline */
html { font-size:16px; }
body { font-size:1rem; line-height:1.65; }

/* FIX: Product card layout */
.prod-card { display:flex; flex-direction:column; overflow:hidden; }
.prod-info { padding:16px; flex:1; }
.prod-name { font-family:var(--ff-display); font-size:1rem; }
.prod-price { font-size:1.1rem; color:var(--red); font-family:var(--ff-display); }

/* FIX: Scroll reveal - use 'in' class as original ciudad-alternativa uses */
.sr.in, .sr-l.in, .sr-r.in { opacity:1 !important; transform:none !important; }

/* FIX: Color variables align to crimson red */
:root {
  --red:       #C0102D;
  --red-deep:  #8B0A1F;
  --red-light: #E8304A;
  --red-blush: #F9D0D8;
  --red-pale:  #FFF8F8;
  --red-glow:  #E8304A;
  --red-dark:  #8B0A1F;
  --dark:      #1A0008;
  --ann-bg:    #1A0008;
  --ff-display:'Cormorant Garamond',Georgia,serif;
  --ff-body:   'Jost',-apple-system,'Segoe UI',sans-serif;
}

/* FIX: Announcement bar */
#ca-announce { background:#1A0008; border-bottom:1px solid rgba(192,16,45,.3); }

/* FIX: Buttons consistent red */
.btn-red, .btn-pink {
  background:var(--red) !important;
  color:#fff !important;
  box-shadow:0 4px 20px rgba(192,16,45,.3) !important;
}
.btn-red:hover, .btn-pink:hover { background:#E8304A !important; transform:translateY(-2px); }

/* FIX: Cart overlay class - original uses 'vis' not 'show' */
.cart-ovl.vis { opacity:1; pointer-events:all; }
.qv-ovl.vis   { opacity:1; pointer-events:all; }

/* FIX: Edit modal close button */
.mob-ovl.show, .cart-ovl.show { opacity:1; pointer-events:all; }

/* FIX: footer logo filter for dark bg */
#ca-footer .foot-logo-img { filter:brightness(0) invert(1); opacity:0.9; }

/* FIX: Editorial strip images full height */
.ed-img { min-height:400px; }
.ed-img > * { position:absolute; }

/* FIX: Look img wrap */
.look-img-wrap { position:relative; overflow:hidden; }
.look-img-wrap img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; max-width:none; }

/* ═══════════════════════════════════════════════════════════
   GLOBAL BOLD TEXT OVERRIDES — CIUDAD ALTERNATIVA 2026
   ═══════════════════════════════════════════════════════════ */

/* Nuestras Colecciones / Nuevos Ingresos / tacones · 2026 */
.label { font-weight: 700 !important; }
.coll-tag { font-weight: 700 !important; }
.coll-name { font-weight: 700 !important; }

/* Más vendidos / producto destacado */
.section-hdr-l .label { font-weight: 700 !important; }
.prod-name { font-weight: 700 !important; font-style: normal !important; }

/* Inicio / Botas / Botas de Infarto / Diseño urbano */
.pd-bc, .pd-bc a, .pd-bc span { font-weight: 700 !important; color: var(--dark); }
.pd-sub { font-weight: 700 !important; color: var(--dark) !important; opacity: 1 !important; }

/* Negro Mate, Fuscia, Rojo Fuego — color/size labels */
.pd-opt-label { font-weight: 700 !important; }

/* Guardar en Wishlist */
.pd-wl { font-weight: 700 !important; }

/* Envío Gratis +€150 / Confección 7–9 días / Pago 100% Seguro */
.trust-i span { font-weight: 700 !important; color: var(--dark) !important; opacity: 1 !important; }

/* Reseñas / Síguenos */
.test-section .label,
.insta-hdr .label { font-weight: 700 !important; }
.insta-handle { font-weight: 700 !important; }

/* Al suscribirte aceptas nuestra Política de Privacidad. Sin spam, nunca. LISTO */
.nl-fine { font-weight: 700 !important; }
.nl-submit { font-weight: 700 !important; }

/* Styling — look section */
.look-item-name { font-weight: 700 !important; font-style: normal !important; }
.look-total-lbl { font-weight: 700 !important; }

/* 30 AÑOS DE EXPERIENCIA — sin negrita */
.hero-eyebrow { font-weight: 400 !important; color: #E30613 !important; }

/* Stats 200+ / 4.9★ / 12k+ — sin negrita */
.stat-n { font-weight: 300 !important; font-style: italic; }
.stat-l { font-weight: 300 !important; opacity: 0.55 !important; }

/* Ed info bold */
.ed-info-detail strong { font-weight: 900 !important; }

/* Descripción del producto en rojo */
.acc-body { font-weight: 400; }
.acc-item.open .acc-body { color: var(--dark); }

/* Footer logo filter fix for red background */
#ca-footer .foot-logo-img { filter: brightness(0) invert(1) !important; opacity: 1 !important; }

/* Footer NUESTRAS TIENDAS label */
#ca-footer .footer-brand p { color: #ffffff !important; opacity: 1 !important; }

/* Marquee items bold */
.marquee-item { font-weight: 700 !important; }

/* ═══ RESPONSIVE GLOBAL ═══════════════════════════════════ */
@media (max-width: 1200px) {
  .footer-main { grid-template-columns: 1.5fr 1fr 1fr; }
}
@media (max-width: 960px) {
  .footer-main { grid-template-columns: 1fr 1fr; gap: 28px; padding: 40px 24px 32px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; align-items: flex-start; padding: 18px 24px; }
}
@media (max-width: 600px) {
  .footer-main { grid-template-columns: 1fr; padding: 32px 18px 24px; }
  .footer-bottom { padding: 16px 18px; gap: 10px; }
  .foot-pays { flex-wrap: wrap; }
  .foot-legal { flex-wrap: wrap; gap: 10px; }
}

/* ═══ HERO BADGE ═══════════════════════════════════════════ */
/* Ensure badge stays visible on mobile at a smaller size */
@media (max-width: 600px) {
  .hero-badge {
    width: 72px !important;
    height: 72px !important;
    right: 16px !important;
    display: flex !important;
  }
  .badge-num { font-size: 1.1rem !important; }
  .badge-txt { font-size: 0.36rem !important; }
}

/* ═══ EDITORIAL STRIP RED-SIDE IMAGE ══════════════════════ */
.ed-img {
  min-height: 480px;
  background-position: center center !important;
  background-size: cover !important;
}
@media (max-width: 900px) {
  .ed-wrap { grid-template-columns: 1fr !important; }
  .ed-img { min-height: 320px; }
  .ed-body { padding: 40px 28px !important; }
}
@media (max-width: 480px) {
  .ed-img { min-height: 240px; }
  .ed-body { padding: 28px 18px !important; }
  .ed-info-grid { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════════════════════
   PATCH 2 — BOLD/WEIGHT CORRECTIONS + NEWSLETTER + REVIEWS
   ═══════════════════════════════════════════════════════════ */

/* --- QUITAR negrita a @ciudadalternativaoficial y stats --- */
.insta-handle { font-weight: 400 !important; }
.stat-n { font-weight: 300 !important; font-style: italic; }
.stat-l { font-weight: 300 !important; opacity: 0.45 !important; }

/* --- AGREGAR negrita a reseñas completas --- */
.test-quote { font-weight: 700 !important; }
.test-name  { font-weight: 700 !important; }
.test-loc   { font-weight: 700 !important; }
.test-star  { font-weight: 700 !important; }
.test-section .label { font-weight: 700 !important; }
.test-section .display { font-weight: 700 !important; }
.test-section .display em { font-weight: 700 !important; }

/* --- NEWSLETTER sección rosa clara — letras oscuras --- */
.nl-section,
.nl-section * { color: var(--dark); }
.nl-section .nl-input {
  background: rgba(255,255,255,0.55);
  border-color: rgba(200,16,46,0.3);
  color: var(--dark);
}
.nl-section .nl-input:focus { border-color: var(--red); }
.nl-section .nl-lbl-fl { color: rgba(26,0,8,0.55); }
.nl-section .nl-input:focus ~ .nl-lbl-fl,
.nl-section .nl-input:not(:placeholder-shown) ~ .nl-lbl-fl {
  color: var(--red);
}
.nl-section .nl-submit {
  background: #C8102E;
  color: #ffffff;
  font-weight: 700;
}
.nl-section .nl-submit:hover { background: #a00d24; }
.nl-perk-txt { color: var(--dark) !important; opacity: 1 !important; font-weight: 600 !important; }
.nl-fine { color: rgba(26,0,8,0.6) !important; opacity: 1 !important; }
.nl-perk-icon { color: var(--red) !important; }

/* --- FOOTER logo override (no filter needed — already white logo) --- */
#ca-footer .foot-logo-img {
  filter: none !important;
  opacity: 1 !important;
  width: 160px !important;
  height: auto !important;
}

/* --- HERO BG parallax setup --- */
#hero-bg {
  height: 130% !important;
  top: -15% !important;
  will-change: transform;
  transition: none !important;
}

/* --- HEADER nombre "Ciudad Alternativa" junto al logo --- */
.ca-brand-name {
  font-family: var(--ff-display);
  font-size: clamp(0.9rem, 1.5vw, 1.25rem);
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.06em;
  color: var(--dark);
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
}
@media (max-width: 768px) {
  .ca-brand-name { font-size: 0.85rem; margin-left: 6px; }
}

/* ═══════════════════════════════════════════════════════════
   PATCH FINAL — MÁRGENES · ESPACIO BLANCO · FONDO ROSA
   ═══════════════════════════════════════════════════════════ */

/* --- DEFINICIÓN bb-section: wrapper principal de contenido --- */
.bb-section {
  max-width: var(--max-w);
  margin-left: auto;
  margin-right: auto;
  padding-left:  max(22px, clamp(22px, 4vw, 64px));
  padding-right: max(22px, clamp(22px, 4vw, 64px));
  padding-top:   clamp(48px, 7vw, 96px);
  padding-bottom: clamp(48px, 7vw, 96px);
  box-sizing: border-box;
  width: 100%;
}
section .bb-section,
.test-section .bb-section,
.pd-wrap .bb-section,
.nl-section .bb-section { padding-top: 0; padding-bottom: 0; }
#colecciones, #productos, #lookbook, .test-section, .pd-wrap, .nl-section, .insta-section {
  padding-top:    clamp(56px, 8vw, 96px);
  padding-bottom: clamp(56px, 8vw, 96px);
}

/* --- MÁRGENES LATERALES mínimo 22px en móvil --- */
@media (max-width: 768px) {
  .bb-section,
  .ed-body,
  .insta-hdr,
  .nl-inner,
  .urgency,
  .footer-main,
  .footer-bottom { padding-left: 22px !important; padding-right: 22px !important; }
}

/* --- HEADER: fondo blanco --- */
#ca-header {
  background: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid rgba(200,16,46,0.08) !important;
}

/* --- PARALLAX hero: imagen se mueve de arriba hacia abajo al hacer scroll --- */
#hero-bg {
  height: 130% !important;
  top: -15% !important;
  will-change: transform;
  transition: none !important;
  background-image: url('https://rifafj.com/wp-content/uploads/2026/03/No-sigo-tendencias-sigo-el-sonido-de-mis-tacones-al-caminar.-•-Compra-online-Sambil-0412-275.jpg') !important;
  background-size: cover !important;
  background-position: center top !important;
}

/* --- TIRA INTERMEDIA que rellena el espacio en blanco --- */
.ca-mid-strip {
  background: #C8102E;
  color: #fff;
  padding: clamp(48px, 7vw, 96px) max(22px, var(--gutter));
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
  align-items: start;
}
.ca-mid-card { display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
.ca-mid-card img { width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:4px; }
.ca-mid-card__label { font-size:.52rem; letter-spacing:.22em; text-transform:uppercase; opacity:.7; }
.ca-mid-card__name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.1rem, 2vw, 1.6rem);
  font-style: italic; font-weight: 300;
}
.ca-mid-card__price { font-size:.85rem; font-weight:600; letter-spacing:.06em; }
.ca-mid-card__cta {
  display:inline-block; border:1px solid rgba(255,255,255,.6);
  padding:8px 22px; font-size:.55rem; letter-spacing:.18em; text-transform:uppercase;
  color:#fff; transition:background .2s;
}
.ca-mid-card__cta:hover { background:rgba(255,255,255,.15); }
@media (max-width:768px) { .ca-mid-strip { grid-template-columns:1fr; gap:28px; } }

/* --- FRANJA EDITORIAL entre secciones --- */
.ca-editorial-band {
  background: #F9D0D8;
  padding: clamp(48px,6vw,80px) max(22px,var(--gutter));
  text-align: center;
}
.ca-editorial-band h2 {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(2rem,5vw,4.2rem);
  font-style:italic; font-weight:300;
  color:#1A0008; line-height:1.1;
  max-width:680px; margin:0 auto 18px;
}
.ca-editorial-band h2 em { color:#C8102E; }
.ca-editorial-band p {
  font-size:.9rem; font-weight:300; line-height:1.9;
  color:#7A4A6A; max-width:500px; margin:0 auto 28px;
}
.ca-editorial-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.ca-btn-solid {
  display:inline-block; background:#C8102E; color:#fff;
  padding:13px 34px; font-size:.6rem; letter-spacing:.18em;
  text-transform:uppercase; font-weight:700;
}
.ca-btn-outline {
  display:inline-block; border:2px solid #C8102E; color:#C8102E;
  padding:13px 34px; font-size:.6rem; letter-spacing:.18em;
  text-transform:uppercase; font-weight:700;
}

/* --- PÁGINAS DE CATEGORÍA --- */
.ca-cat-page { padding:clamp(48px,7vw,96px) max(22px,var(--gutter)); max-width:var(--max-w); margin:0 auto; box-sizing:border-box; }
.ca-cat-hero { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,64px); align-items:center; margin-bottom:clamp(48px,7vw,96px); }
.ca-cat-hero__img { width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:4px; }
.ca-cat-hero__body { display:flex; flex-direction:column; gap:18px; }
.ca-cat-hero__label { font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red);font-weight:700; }
.ca-cat-hero__title { font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2rem,4vw,3.8rem);font-style:italic;font-weight:300;line-height:1.1; }
.ca-cat-hero__desc { font-size:.9rem;font-weight:300;line-height:1.9;color:#7A4A6A;max-width:420px; }
.ca-cat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2.5vw,28px); }
@media (max-width:1100px){.ca-cat-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:768px){.ca-cat-grid{grid-template-columns:repeat(2,1fr);gap:12px;}.ca-cat-hero{grid-template-columns:1fr;}}
@media (max-width:400px){.ca-cat-grid{gap:8px;}}

.ca-filter-bar { display:flex;gap:10px;flex-wrap:wrap;margin-bottom:clamp(24px,4vw,48px); }
.ca-filter-pill {
  padding:8px 20px; border:1.5px solid rgba(200,16,46,.28); border-radius:30px;
  font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  color:var(--dark);background:transparent;cursor:pointer;transition:all .2s;white-space:nowrap;
}
.ca-filter-pill.active,.ca-filter-pill:hover{background:#C8102E;border-color:#C8102E;color:#fff;}

.ca-cat-card { display:flex;flex-direction:column;gap:10px;cursor:pointer; }
.ca-cat-card__img-wrap {
  position:relative;overflow:hidden;aspect-ratio:3/4;
  background:#f0b8c5;border-radius:4px;
}
.ca-cat-card__img { width:100%;height:100%;object-fit:cover;transition:transform .5s ease; }
.ca-cat-card:hover .ca-cat-card__img{transform:scale(1.06);}
.ca-cat-card__badge {
  position:absolute;top:10px;left:10px;background:#C8102E;color:#fff;
  font-size:.46rem;letter-spacing:.16em;text-transform:uppercase;padding:3px 9px;font-weight:700;
}
.ca-cat-card__sub{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-gray);font-weight:500;}
.ca-cat-card__name{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(.9rem,1.4vw,1.05rem);font-style:italic;font-weight:300;line-height:1.25;}
.ca-cat-card__price{font-size:.82rem;font-weight:600;color:var(--dark);}
.ca-cat-card__cta{display:inline-flex;align-items:center;gap:5px;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:700;border-bottom:1px solid currentColor;padding-bottom:1px;width:fit-content;}

/* === FOOTER LOGO SIZE — 160px (~6.35cm visual) === */
.foot-logo-img,
#ca-footer .foot-logo-img {
  width: 160px !important;
  max-width: 160px !important;
  height: auto !important;
  object-fit: contain !important;
}

/* ═══════════════════════════════════════════════════════════
   CATEGORY PAGES — Shared styles
   ═══════════════════════════════════════════════════════════ */

/* Page wrapper */
.ca-page { background: var(--red-pale, #FFF0F2); min-height: 60vh; }

/* Category hero header */
.ca-cat-header {
  background: #C8102E;
  color: #fff;
  padding: clamp(48px,8vw,96px) clamp(22px,5vw,72px) clamp(40px,6vw,72px);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ca-cat-header::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(255,255,255,.06) 0%, transparent 65%);
}
.ca-cat-header__eyebrow {
  font-size: .55rem; letter-spacing: .3em; text-transform: uppercase;
  opacity: .7; font-weight: 600; margin-bottom: 12px;
}
.ca-cat-header__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.4rem, 6vw, 5.5rem);
  font-style: italic; font-weight: 300; line-height: 1.0;
  margin-bottom: 16px;
}
.ca-cat-header__desc {
  font-size: .92rem; font-weight: 300; line-height: 1.85;
  opacity: .85; max-width: 560px; margin: 0 auto;
}

/* Sub-nav pills */
.ca-subnav {
  background: #fff;
  border-bottom: 1px solid rgba(200,16,46,.1);
  padding: 0 clamp(22px,5vw,72px);
  display: flex; gap: 0; overflow-x: auto;
  scrollbar-width: none;
}
.ca-subnav::-webkit-scrollbar { display: none; }
.ca-subnav__link {
  font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
  font-weight: 600; color: #7A4A6A; padding: 18px 22px;
  border-bottom: 2px solid transparent; white-space: nowrap;
  transition: color .2s, border-color .2s;
  display: inline-block;
}
.ca-subnav__link:hover,
.ca-subnav__link.active { color: #C8102E; border-bottom-color: #C8102E; }

/* Section title */
.ca-section-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-style: italic; font-weight: 300;
  line-height: 1.1; margin-bottom: 6px;
}
.ca-section-title em { color: #C8102E; }
.ca-section-sub {
  font-size: .82rem; font-weight: 300;
  color: #7A4A6A; line-height: 1.7; margin-bottom: clamp(28px,4vw,48px);
}

/* Product grid */
.ca-prod-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2.5vw, 28px);
}
@media (max-width: 1100px) { .ca-prod-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 768px)  { .ca-prod-grid { grid-template-columns: repeat(2,1fr); gap: 12px; } }
@media (max-width: 400px)  { .ca-prod-grid { grid-template-columns: repeat(2,1fr); gap: 8px; } }

/* Product card */
.ca-prod-card {
  display: flex; flex-direction: column; gap: 10px;
  cursor: pointer;
}
.ca-prod-card__img-wrap {
  position: relative; overflow: hidden;
  aspect-ratio: 3/4; background: #f5e0e5; border-radius: 3px;
}
.ca-prod-card__img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .55s ease;
}
.ca-prod-card:hover .ca-prod-card__img { transform: scale(1.07); }
.ca-prod-card__badge {
  position: absolute; top: 10px; left: 10px;
  background: #C8102E; color: #fff;
  font-size: .44rem; letter-spacing: .18em; text-transform: uppercase;
  padding: 3px 9px; font-weight: 700; border-radius: 1px;
}
.ca-prod-card__over {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: rgba(26,0,8,.82);
  padding: 12px 14px;
  transform: translateY(100%);
  transition: transform .3s ease;
  display: flex; gap: 8px; align-items: center;
}
.ca-prod-card:hover .ca-prod-card__over { transform: translateY(0); }
.ca-prod-card__atc {
  flex: 1; background: #C8102E; color: #fff;
  font-size: .55rem; letter-spacing: .14em; text-transform: uppercase;
  font-weight: 700; padding: 9px 12px; text-align: center;
  border: none; cursor: pointer; transition: background .2s;
}
.ca-prod-card__atc:hover { background: #a00d24; }
.ca-prod-card__wish {
  width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.4);
  background: none; color: #fff; display: flex; align-items: center;
  justify-content: center; cursor: pointer; flex-shrink: 0;
}
.ca-prod-card__wish svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.ca-prod-card__sub {
  font-size: .56rem; letter-spacing: .1em; text-transform: uppercase;
  color: #A8789A; font-weight: 500; margin-top: 2px;
}
.ca-prod-card__name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(.95rem,1.5vw,1.12rem);
  font-weight: 300; font-style: italic; line-height: 1.2;
}
.ca-prod-card__price {
  font-size: .85rem; font-weight: 600; color: #1A0008;
}
.ca-prod-card__desc {
  font-size: .7rem; font-weight: 300; line-height: 1.6;
  color: #7A4A6A; margin-top: -4px;
}
.ca-prod-card__cta {
  font-size: .56rem; letter-spacing: .14em; text-transform: uppercase;
  font-weight: 700; color: #C8102E;
  border-bottom: 1px solid #C8102E; padding-bottom: 1px;
  width: fit-content; display: inline-block;
}

/* Content section wrapper */
.ca-content-sec {
  padding: clamp(48px,7vw,88px) clamp(22px,5vw,72px);
  max-width: 1440px; margin: 0 auto;
}

/* Stats bar */
.ca-stats-bar {
  background: #C8102E; color: #fff;
  padding: clamp(36px,5vw,64px) clamp(22px,5vw,72px);
  display: flex; justify-content: center; gap: clamp(36px,6vw,96px);
  flex-wrap: wrap; text-align: center;
}
.ca-stat__n {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem,4vw,3.5rem); font-style: italic; font-weight: 300;
}
.ca-stat__l {
  font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; opacity: .7; margin-top: 4px;
}

/* Filter row */
.ca-filters {
  display: flex; gap: 8px; flex-wrap: wrap;
  margin-bottom: clamp(24px,4vw,44px);
}
.ca-filter {
  padding: 7px 18px; border: 1.5px solid rgba(200,16,46,.25);
  border-radius: 30px; font-size: .58rem; letter-spacing: .1em;
  text-transform: uppercase; font-weight: 600; color: #1A0008;
  background: transparent; cursor: pointer; transition: all .2s;
  white-space: nowrap;
}
.ca-filter.on, .ca-filter:hover {
  background: #C8102E; border-color: #C8102E; color: #fff;
}
