/* ==========================================================================
   LB JEANS — Rediseño 27-sep-2026 · «la foto manda»
   --------------------------------------------------------------------------
   Modelo: las tiendas de jeans que más venden (Fashion Nova, Studio F,
   Good American). Blanco y negro, fotos grandes, texto corto, botones
   rectangulares negros, sin adornos. El dorado queda SOLO en el logo.

   Va de ÚLTIMA capa: primero reasigna las variables de las capas viejas
   (así carrito, checkout y ficha cambian sin tocarlas una por una) y después
   pinta los componentes nuevos (clases lb2-*) y los que se ven en todas las
   páginas.
   ========================================================================== */

:root {
  --v2-negro: #111111;
  --v2-texto: #111111;
  --v2-suave: #6b6b6b;
  --v2-linea: #e6e6e6;
  --v2-fondo: #ffffff;
  --v2-gris: #f4f4f4;
  --v2-rojo: #c8102e;
  --v2-titulo: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --v2-texto-f: 'Inter', 'Helvetica Neue', Arial, sans-serif;

  /* Capas viejas → paleta nueva */
  --lb-gold: var(--v2-negro); --lb-gold-deep: var(--v2-negro); --lb-gold-light: #333;
  --lb-hilo: var(--v2-negro); --lb-hilo-oscuro: var(--v2-negro); --lb-hilo-tenue: var(--v2-linea);
  --lb-acento: var(--v2-negro); --lb-acento-inverso: #fff; --lb-sombra-oro: none;
  --lb-ink: var(--v2-negro); --lb-ink-2: #222; --lb-ink-3: #333; --lb-tinta: var(--v2-negro); --lb-tinta-2: var(--v2-suave);
  --lb-indigo-500: #333; --lb-indigo-700: #222; --lb-indigo-900: var(--v2-negro); --lb-indigo-950: var(--v2-negro); --lb-indigo-990: var(--v2-negro);
  --lb-fondo-inverso: var(--v2-negro); --lb-fondo-inverso-2: #1c1c1c;
  --lb-paper: var(--v2-fondo); --lb-paper-2: var(--v2-gris); --lb-paper-3: #ececec;
  --lb-lienzo: var(--v2-fondo); --lb-lienzo-2: var(--v2-gris); --lb-lienzo-3: #ececec;
  --lb-fondo: var(--v2-fondo); --lb-fondo-elevado: var(--v2-fondo); --lb-fondo-hundido: var(--v2-gris);
  --lb-texto: var(--v2-texto); --lb-texto-suave: var(--v2-suave); --lb-muted: var(--v2-suave);
  --lb-on-light: var(--v2-texto);
  --lb-line: var(--v2-linea); --lb-linea: var(--v2-linea); --lb-linea-fuerte: #cfcfcf;
  --lb-mezclilla-100: var(--v2-gris); --lb-mezclilla-300: #ddd;
  --lb-costura-color: transparent; --lb-costura: none;
  --lb-sombra-1: none; --lb-sombra-2: 0 1px 2px rgba(0,0,0,.06); --lb-sombra-3: 0 8px 24px rgba(0,0,0,.08);
  --lb-r-sm: 0; --lb-r-md: 2px; --lb-r-lg: 4px;
  --lb-fuente-titulo: var(--v2-titulo); --lb-serif: var(--v2-titulo); --font-display: var(--v2-titulo);
  --lb-fuente-texto: var(--v2-texto-f); --lb-sans: var(--v2-texto-f); --font-body: var(--v2-texto-f);
  --nfc-cyan: var(--v2-negro); --nfc-bright: var(--v2-negro); --nfc-cyan-dim: var(--v2-gris);
  --nfc-cyan-border: var(--v2-linea); --nfc-cyan-strong: var(--v2-negro); --nfc-cyan-glow: transparent;
  --surface: var(--v2-fondo); --surface-low: var(--v2-gris); --surface-container: var(--v2-gris);
  --surface-high: var(--v2-linea); --surface-highest: #ddd; --surface-variant: var(--v2-gris);
  --on-surface: var(--v2-texto); --on-surface-dim: var(--v2-suave); --on-surface-variant: var(--v2-suave);
  --outline: #cfcfcf; --outline-variant: var(--v2-linea);
  --radius-sm: 0; --radius-md: 2px; --radius-lg: 4px; --radius-xl: 4px;
  --shadow-sm: none; --shadow-md: 0 1px 2px rgba(0,0,0,.06); --shadow-lg: 0 8px 24px rgba(0,0,0,.08);
}

html body {
  background: var(--v2-fondo) !important;
  color: var(--v2-texto);
  font-family: var(--v2-texto-f) !important;
  -webkit-font-smoothing: antialiased;
}
body h1, body h2, body h3, body h4 { font-family: var(--v2-titulo); letter-spacing: -0.01em; }
body ::selection { background: #111; color: #fff; }

/* Lo decorativo de las capas viejas, fuera */
.lb-marquee, .lb-eyebrow, .lb-rule, .lb-hero__divider, .lb-hero__eyebrow, .lb-hero__tag { display: none !important; }
body em { font-style: normal; color: inherit; }

/* ------------------------------------------------------------------ AVISO */
.lb2-aviso {
  background: var(--v2-negro); color: #fff; text-align: center;
  font: 600 12.5px/1.3 var(--v2-texto-f); letter-spacing: .01em;
  padding: 9px 16px;
}

/* --------------------------------------------------------------- CABECERA */
.lb2-cab {
  position: sticky; top: 0; z-index: 900;
  background: #fff; border-bottom: 1px solid var(--v2-linea);
}
.lb2-cab__fila {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px;
  max-width: 1440px; margin: 0 auto; padding: 0 32px; height: 68px;
}
.lb2-cab__logo { display: flex; align-items: center; justify-self: start; }
.lb2-cab__logo img { height: 38px; width: auto; display: block; }
.lb2-cab__nav { display: flex; gap: 26px; justify-content: center; }
.lb2-cab__nav a {
  color: var(--v2-texto); text-decoration: none; white-space: nowrap;
  font: 600 13px/1 var(--v2-texto-f); text-transform: uppercase; letter-spacing: .02em;
  padding: 25px 0 23px; border-bottom: 2px solid transparent;
}
.lb2-cab__nav a:hover { border-bottom-color: var(--v2-negro); }
.lb2-cab__acciones { display: flex; align-items: center; gap: 6px; justify-self: end; }
.lb2-cab__icono {
  position: relative; display: inline-grid; place-items: center; width: 42px; height: 42px;
  background: none; border: 0; padding: 0; color: var(--v2-texto); cursor: pointer; text-decoration: none;
}
.lb2-cab .lb2-cab__menu { display: none; }
/* premium.css pintaba la bolsa en blanco con !important (era para la cabecera oscura) */
.lb2-cab .header__cart { color: var(--v2-texto) !important; border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; width: 42px; height: 42px; transform: none !important; }
.lb2-cab__icono svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.lb2-cab__icono:focus-visible, .lb2-cab__nav a:focus-visible { outline: 2px solid var(--v2-negro); outline-offset: 2px; }
.lb2-cab .lb2-cab__cuenta {
  position: absolute; top: 4px; right: 3px; min-width: 17px; height: 17px; padding: 0 4px;
  display: flex; align-items: center; justify-content: center; border-radius: 9px;
  background: var(--v2-negro) !important; color: #fff !important; font: 700 10px/1 var(--v2-texto-f) !important; border: 0 !important; box-shadow: none !important;
  width: auto !important;
}
.lb2-cab__movil { display: none; }
.lb2-cab__buscar {
  max-height: 0; overflow: hidden; transition: max-height .2s ease;
  border-top: 1px solid transparent;
}
.lb2-cab__buscar.is-open { max-height: 80px; border-top-color: var(--v2-linea); }
.lb2-cab__buscar form { max-width: 720px; margin: 0 auto; padding: 12px 20px; }
.lb2-cab__buscar input {
  width: 100%; height: 44px; padding: 0 18px; border: 1px solid #cfcfcf; border-radius: 22px;
  font: 400 15px var(--v2-texto-f); color: var(--v2-texto); background: #fff; outline: none;
}
.lb2-cab__buscar input:focus { border-color: var(--v2-negro); }

@media (max-width: 1100px) {
  .lb2-cab__nav { gap: 18px; }
  .lb2-cab__nav a { font-size: 12px; }
}
@media (max-width: 900px) {
  .lb2-cab__fila { grid-template-columns: 1fr auto 1fr; gap: 0; padding: 0 8px; height: 58px; }
  .lb2-cab .lb2-cab__menu { display: inline-grid; justify-self: start; }
  .lb2-cab__logo { justify-self: center; }
  .lb2-cab__logo img { height: 32px; }
  .lb2-cab__nav { display: none; }
  .lb2-cab__acciones { justify-self: end; gap: 0; }
  .lb2-cab__wa { display: none; }
  .lb2-cab__movil.open { display: flex; flex-direction: column; border-top: 1px solid var(--v2-linea); padding: 6px 0 12px; }
  .lb2-cab__movil a {
    padding: 14px 20px; color: var(--v2-texto); text-decoration: none;
    font: 600 15px/1.2 var(--v2-texto-f); text-transform: uppercase; letter-spacing: .02em;
  }
  .lb2-aviso { font-size: 11.5px; padding: 8px 12px; }
}

/* ---------------------------------------------------------------- BOTONES */
.lb2-btn, body .btn.btn--primary, body .btn--primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 32px;
  background: var(--v2-negro) !important; color: #fff !important; border: 1px solid var(--v2-negro) !important;
  border-radius: 0 !important; box-shadow: none !important; text-decoration: none;
  font: 700 13.5px/1 var(--v2-texto-f) !important; text-transform: uppercase; letter-spacing: .06em;
  transition: background .15s ease, color .15s ease;
}
.lb2-btn:hover, body .btn--primary:hover { background: #333 !important; border-color: #333 !important; }
.lb2-btn--borde, body .btn.btn--outline, body .btn--outline {
  background: #fff !important; color: var(--v2-negro) !important; border: 1px solid var(--v2-negro) !important;
  border-radius: 0 !important; box-shadow: none !important;
  font-family: var(--v2-texto-f) !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .06em;
}
.lb2-btn--borde:hover, body .btn--outline:hover { background: var(--v2-negro) !important; color: #fff !important; }
body .btn--whatsapp { border-radius: 0 !important; box-shadow: none !important; }

/* ----------------------------------------------------------------- PORTADA */
.lb2-hero { position: relative; background: var(--v2-gris); }
.lb2-hero__fila {
  display: grid; grid-auto-flow: column; grid-auto-columns: calc(100% / 3);
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
}
.lb2-hero__fila::-webkit-scrollbar { display: none; }
.lb2-hero__foto { scroll-snap-align: start; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--v2-gris); }
.lb2-hero__foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.lb2-hero__foto:hover img { transform: scale(1.03); }
.lb2-hero__texto {
  position: absolute; left: 0; right: 0; bottom: 0; pointer-events: none;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 120px 20px 44px;
  background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
}
.lb2-hero__texto .lb2-btn { pointer-events: auto; background: #fff !important; color: var(--v2-negro) !important; border-color: #fff !important; }
.lb2-hero__texto .lb2-btn:hover { background: var(--v2-negro) !important; color: #fff !important; border-color: var(--v2-negro) !important; }
.lb2-hero__titulo {
  margin: 0; color: #fff; font: 900 clamp(34px, 4.6vw, 64px)/.95 var(--v2-titulo);
  text-transform: uppercase; letter-spacing: -0.02em;
}
.lb2-hero__sub { margin: 14px 0 22px; color: #fff; font: 500 16px/1.4 var(--v2-texto-f); }

@media (max-width: 900px) {
  .lb2-hero__fila { grid-auto-columns: 86%; }
  .lb2-hero__texto { position: static; background: #fff; padding: 22px 16px 8px; align-items: flex-start; text-align: left; }
  .lb2-hero__titulo { color: var(--v2-negro); font-size: 34px; }
  .lb2-hero__sub { color: var(--v2-suave); margin: 8px 0 16px; font-size: 15px; }
  .lb2-hero__texto .lb2-btn { background: var(--v2-negro) !important; color: #fff !important; border-color: var(--v2-negro) !important; width: 100%; }
}

/* -------------------------------------------------------------- SECCIONES */
.lb2-seccion { max-width: 1440px; margin: 0 auto; padding: 56px 32px 8px; }
.lb2-cabeza { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.lb2-titulo {
  margin: 0 0 20px; color: var(--v2-negro);
  font: 900 26px/1.05 var(--v2-titulo); text-transform: uppercase; letter-spacing: -0.01em;
}
.lb2-cabeza .lb2-titulo { margin: 0; }
.lb2-vertodo { color: var(--v2-negro); font: 600 14px var(--v2-texto-f); text-decoration: underline; text-underline-offset: 4px; }
.lb2-centro { text-align: center; margin-top: 36px; }

/* Compra por estilo */
.lb2-estilos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.lb2-estilo { text-decoration: none; color: var(--v2-negro); }
.lb2-estilo__img { display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--v2-gris); }
.lb2-estilo__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.lb2-estilo:hover .lb2-estilo__img img { transform: scale(1.04); }
.lb2-estilo__nombre { display: block; margin-top: 10px; text-align: center; font: 700 13px/1.2 var(--v2-texto-f); text-transform: uppercase; letter-spacing: .03em; }

/* Cuadrícula de prendas (portada) */
.lb2-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px 12px; }
.lb2-card { min-width: 0; }
.lb2-card__img { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--v2-gris); }
.lb2-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.lb2-card:hover .lb2-card__img img { transform: scale(1.03); }
.lb2-card__tag {
  position: absolute; left: 8px; top: 8px; padding: 4px 8px; background: #fff; color: var(--v2-negro);
  font: 700 10.5px/1 var(--v2-texto-f); text-transform: uppercase; letter-spacing: .06em;
}
.lb2-card__tag--oferta { background: var(--v2-rojo); color: #fff; }
.lb2-card__nombre { margin: 10px 0 4px; font: 500 14px/1.35 var(--v2-texto-f); letter-spacing: 0; }
.lb2-card__nombre a { color: var(--v2-texto); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lb2-card__precio { margin: 0; font: 700 15px var(--v2-texto-f); color: var(--v2-negro); }
.lb2-card__antes { color: var(--v2-suave); font-weight: 400; text-decoration: line-through; margin-right: 6px; }
.lb2-card__rebaja { color: var(--v2-rojo); }

/* Datos de compra */
.lb2-datos {
  max-width: 1440px; margin: 56px auto 0; padding: 26px 32px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  border-top: 1px solid var(--v2-linea); border-bottom: 1px solid var(--v2-linea);
}
.lb2-datos div { display: flex; flex-direction: column; gap: 4px; text-align: center; }
.lb2-datos strong { font: 700 14px var(--v2-texto-f); text-transform: uppercase; letter-spacing: .04em; }
.lb2-datos span { color: var(--v2-suave); font: 400 14px/1.4 var(--v2-texto-f); }

/* Preguntas */
.lb2-faq { max-width: 820px; padding-bottom: 64px; }
.lb2-faq details { border-bottom: 1px solid var(--v2-linea); }
.lb2-faq summary {
  list-style: none; cursor: pointer; padding: 18px 28px 18px 0; position: relative;
  font: 600 16px/1.35 var(--v2-texto-f); color: var(--v2-negro);
}
.lb2-faq summary::-webkit-details-marker { display: none; }
.lb2-faq summary::after { content: '+'; position: absolute; right: 2px; top: 14px; font: 300 24px/1 var(--v2-texto-f); }
.lb2-faq details[open] summary::after { content: '–'; }
.lb2-faq details p { margin: 0 0 18px; color: var(--v2-suave); font: 400 15px/1.65 var(--v2-texto-f); }

@media (max-width: 900px) {
  .lb2-seccion { padding: 40px 16px 4px; }
  .lb2-titulo { font-size: 21px; }
  .lb2-estilos { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 38%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -16px; padding: 0 16px; gap: 10px; }
  .lb2-estilos::-webkit-scrollbar { display: none; }
  .lb2-estilo { scroll-snap-align: start; }
  .lb2-grid { grid-template-columns: repeat(2, 1fr); gap: 22px 8px; margin: 0 -8px; }
  .lb2-card__nombre { font-size: 13px; }
  .lb2-card__precio { font-size: 14px; }
  .lb2-datos { grid-template-columns: 1fr; margin-top: 40px; padding: 20px 16px; gap: 14px; }
  .lb2-datos div { text-align: left; }
}

/* ---------------------------------------------- TIENDA (listado de prendas) */
body .lb-cabecera-coleccion { background: #fff !important; color: var(--v2-negro) !important; border-bottom: 1px solid var(--v2-linea); }
body .lb-cabecera-coleccion * { color: var(--v2-negro) !important; }
body .lb-cabecera-coleccion h1 { font: 900 30px/1 var(--v2-titulo) !important; text-transform: uppercase; }
body .productos-grid { gap: 28px 12px !important; }
body .product-card {
  background: #fff !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: visible !important;
}
body .product-card:hover { transform: none !important; box-shadow: none !important; }
body .product-card__image-wrap { aspect-ratio: 3 / 4 !important; background: var(--v2-gris) !important; border-radius: 0 !important; }
body .product-card__image { object-fit: cover !important; border-radius: 0 !important; }
body .product-card__info { padding: 10px 0 0 !important; background: none !important; }
body .product-card__category { display: none !important; }
body .product-card__name { font: 500 14px/1.35 var(--v2-texto-f) !important; color: var(--v2-texto) !important; letter-spacing: 0 !important; text-transform: none !important; }
body .product-card__name a { color: inherit !important; }
body .product-card__price { font: 700 15px var(--v2-texto-f) !important; color: var(--v2-negro) !important; }
body .product-card__price-original { color: var(--v2-suave) !important; }
body .product-card__badges .badge, body .product-card .badge {
  background: #fff !important; color: var(--v2-negro) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  font: 700 10.5px/1 var(--v2-texto-f) !important; text-transform: uppercase; letter-spacing: .06em; padding: 5px 8px !important;
}
body .product-card__actions .btn { min-height: 40px; font-size: 12px !important; padding: 0 12px; }
body .tienda-sidebar .sidebar__card { background: #fff !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; padding-left: 0 !important; }
body .sidebar__title { font: 700 13px var(--v2-texto-f) !important; text-transform: uppercase; letter-spacing: .04em; color: var(--v2-negro) !important; }
body .sidebar__cat-link { color: var(--v2-texto) !important; border-radius: 0 !important; background: none !important; }
body .sidebar__cat-link.active { font-weight: 700 !important; text-decoration: underline; text-underline-offset: 4px; }
body .lb-chip { border-radius: 18px !important; border: 1px solid #cfcfcf !important; background: #fff !important; color: var(--v2-negro) !important; font: 600 13px var(--v2-texto-f) !important; }
body .lb-chip.es-activo { background: var(--v2-negro) !important; color: #fff !important; border-color: var(--v2-negro) !important; }
body .breadcrumb, body .breadcrumb a { color: var(--v2-suave) !important; font: 400 13px var(--v2-texto-f) !important; }
body .tienda-toolbar select, body select, body input, body textarea { border-radius: 0 !important; }

/* ------------------------------------------------------- FICHA DE PRODUCTO */
body .talla-opcion {
  border-radius: 0 !important; border: 1px solid #cfcfcf !important; background: #fff !important; color: var(--v2-negro) !important;
  font: 600 14px var(--v2-texto-f) !important; box-shadow: none !important;
}
body .talla-opcion:hover { border-color: var(--v2-negro) !important; }
body .talla-opcion[aria-checked="true"], body .talla-opcion.es-activa, body .talla-opcion.activa, body .talla-opcion.selected {
  background: var(--v2-negro) !important; color: #fff !important; border-color: var(--v2-negro) !important;
}

/* ------------------------------------------------------------------- PIE */
body .lb-footer { background: var(--v2-gris) !important; color: var(--v2-texto) !important; border-top: 0 !important; }
body .lb-footer * { color: var(--v2-texto) !important; }
body .lb-footer h4 { font: 700 13px var(--v2-texto-f) !important; text-transform: uppercase; letter-spacing: .05em; }
body .lb-footer a { font: 400 14px/1.9 var(--v2-texto-f) !important; text-decoration: none; }
body .lb-footer a:hover { text-decoration: underline; }
body .lb-footer__brand p { color: var(--v2-suave) !important; }
body .lb-footer__bar { border-top: 1px solid var(--v2-linea) !important; background: none !important; }
body .lb-footer__bar span { color: var(--v2-suave) !important; font-size: 12.5px !important; }
body .lb-footer__social a { border-radius: 50% !important; border: 1px solid #cfcfcf !important; background: #fff !important; }

/* ------------------------------------------- LINA (lanzador del chat) */
body .lb-asesora__boton { background: var(--v2-negro) !important; border: 0 !important; box-shadow: 0 6px 18px rgba(0,0,0,.18) !important; }
body .lb-asesora__avatar { background: #fff !important; color: var(--v2-negro) !important; box-shadow: none !important; font-style: normal !important; font-family: var(--v2-titulo) !important; }
body .lb-asesora__texto, body .lb-asesora__texto * { color: #fff !important; }
body .lb-asesora__texto small, body .lb-asesora__texto span:first-child { color: rgba(255,255,255,.7) !important; letter-spacing: .02em !important; }
body .lb-asesora__globo { border-radius: 0 !important; border: 1px solid var(--v2-linea) !important; box-shadow: 0 8px 24px rgba(0,0,0,.1) !important; }

/* ------------------------------------------------ Retoques del listado y la ficha */
body .lb-cabecera-coleccion { padding: 28px 32px 18px !important; text-align: left !important; }
body .lb-cabecera-coleccion > * { max-width: 1440px; margin-left: auto !important; margin-right: auto !important; }
body .lb-cabecera-coleccion p { color: var(--v2-suave) !important; }
body .product-card__resumen { display: none !important; }
body .product-card__actions { padding: 8px 0 0 !important; }
body .product-card__actions .btn { width: 100% !important; margin: 0 !important; }
body .breadcrumb, body .breadcrumb * { letter-spacing: 0 !important; text-transform: none !important; }
body .producto-detail-grid h1 { font: 800 28px/1.15 var(--v2-titulo) !important; letter-spacing: -0.01em !important; }
body .producto-detail-grid img, body #imagen-principal { border-radius: 0 !important; }
body .producto-detail-grid [style*="border-radius"] { border-radius: 0 !important; }
@media (max-width: 900px) {
  body .lb-cabecera-coleccion { padding: 22px 16px 14px !important; }
  body .lb-cabecera-coleccion h1 { font-size: 24px !important; }
  body .producto-detail-grid h1 { font-size: 23px !important; }
}
