/*
Theme Name:  LevelStore
Description: Tema premium de tecnología para LevelStore.cl
Version:     2.0.0
Author:      LevelStore.cl
Text Domain: levelstore
*/

/* ═══════════════════════════════════════════════════════════════
   DESIGN TOKENS — Identidad nueva
   Paleta: negro absoluto + verde eléctrico + blanco puro
═══════════════════════════════════════════════════════════════ */
:root {
  /* Fondo */
  --bg:        #07070a;
  --bg-2:      #0e0e14;
  --bg-3:      #14141c;

  /* Superficies glass */
  --glass:     rgba(255,255,255,.04);
  --glass-2:   rgba(255,255,255,.08);
  --glass-3:   rgba(255,255,255,.12);

  /* Texto */
  --white:     #ffffff;
  --text:      #f2f2f5;
  --text-2:    #a0a0b0;
  --text-3:    #606070;
  --text-4:    #404050;

  /* Acento principal — verde eléctrico */
  --green:     #00ff87;
  --green-dim: rgba(0,255,135,.12);
  --green-glow:0 0 40px rgba(0,255,135,.25);

  /* Acento secundario — violeta */
  --purple:    #9b5de5;
  --purple-dim:rgba(155,93,229,.15);

  /* Rojo/alerta */
  --red:       #ff4757;
  --amber:     #ffa502;

  /* Bordes */
  --b1: rgba(255,255,255,.07);
  --b2: rgba(255,255,255,.14);
  --b3: rgba(255,255,255,.22);

  /* Layout */
  --wrap: min(1380px, 100% - 3rem);
  --gap:  clamp(16px, 2.2vw, 28px);
  --hh:   72px;

  /* Radios */
  --r1: 6px; --r2: 12px; --r3: 20px; --r4: 32px; --rmax: 100px;

  /* Motion */
  --ease: cubic-bezier(.16,1,.3,1);
  --t1: .15s; --t2: .28s; --t3: .45s;

  /* Shadows */
  --shadow: 0 8px 32px rgba(0,0,0,.6);
  --shadow-lg: 0 24px 64px rgba(0,0,0,.75);
}

/* ═══════════════════════════════════════════════════════════════
   RESET
═══════════════════════════════════════════════════════════════ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:16px; scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  background: var(--bg) !important;
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  overflow-x: hidden;
}
img,video,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
ul,ol { list-style:none; }
h1,h2,h3,h4,h5,h6 { font-weight:800; line-height:1.2; letter-spacing:-.02em; color:var(--white); }

/* ═══════════════════════════════════════════════════════════════
   WRAPPER
═══════════════════════════════════════════════════════════════ */
.ls-wrap,
.ls-container { width:var(--wrap); margin-inline:auto; }

/* ═══════════════════════════════════════════════════════════════
   TIPOGRAFÍA
═══════════════════════════════════════════════════════════════ */
.ls-label { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--green); }
.ls-eyebrow { display:inline-flex; align-items:center; gap:8px; }
.ls-eyebrow::before { content:''; width:20px; height:2px; background:var(--green); border-radius:2px; }

/* ═══════════════════════════════════════════════════════════════
   BOTONES
═══════════════════════════════════════════════════════════════ */
.ls-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: var(--rmax);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
  transition: all var(--t2) var(--ease);
  white-space: nowrap;
  border: none;
  background: var(--green);
  color: #000;
  position: relative;
  overflow: hidden;
}
.ls-btn::after {
  content:'';
  position:absolute; inset:0;
  background: rgba(255,255,255,0);
  transition: background var(--t1) var(--ease);
}
.ls-btn:hover::after { background: rgba(255,255,255,.12); }
.ls-btn:hover { box-shadow: var(--green-glow); transform:translateY(-1px); }
.ls-btn:active { transform:translateY(0); }

.ls-btn--sm { padding:9px 20px; font-size:13px; }
.ls-btn--lg { padding:16px 40px; font-size:16px; }

.ls-btn--outline {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--b2);
}
.ls-btn--outline:hover { border-color:var(--green); color:var(--green); box-shadow:none; background:var(--green-dim); }

.ls-btn--ghost {
  background: transparent;
  color: var(--text-2);
  padding-inline: 0;
}
.ls-btn--ghost:hover { color:var(--green); }

.ls-btn--white {
  background: var(--white);
  color: #000;
}

/* WooCommerce button overrides */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 14px 32px !important;
  border-radius: var(--rmax) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all var(--t2) var(--ease) !important;
  border: none !important;
  background: var(--green) !important;
  color: #000 !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  box-shadow: var(--green-glow) !important;
  transform: translateY(-2px) !important;
  opacity: 1 !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt { background: var(--green) !important; color: #000 !important; }

/* ═══════════════════════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════════════════════ */
.ls-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  height: var(--hh);
  display: flex;
  align-items: center;
  background: rgba(7,7,10,.8);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border-bottom: 1px solid var(--b1);
  transition: background var(--t2) var(--ease), border-color var(--t2) var(--ease);
}
.ls-header.scrolled {
  background: rgba(7,7,10,.96);
  border-bottom-color: var(--b2);
}
.ls-header__inner {
  width: var(--wrap);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 28px;
  width: 100%;
  padding-inline: max(24px, calc((100% - 1380px) / 2 + 24px));
}
.ls-header__logo {
  flex-shrink: 0;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -.04em;
  color: var(--white);
}
.ls-header__logo span { color: var(--green); }
.ls-header__logo img,
.ls-header__logo-img { height: 36px; width: auto; object-fit: contain; }

.ls-nav {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1;
}
.ls-nav a,
.ls-nav .menu-item > a {
  display: block;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-2);
  border-radius: var(--r1);
  transition: color var(--t1) var(--ease), background var(--t1) var(--ease);
  white-space: nowrap;
}
.ls-nav a:hover,
.ls-nav .current-menu-item > a { color: var(--white); background: var(--glass); }
.ls-nav .current-menu-item > a { color: var(--green); }

/* Submenú */
.ls-nav .menu-item { position:relative; }
.ls-nav .sub-menu {
  position:absolute; top:calc(100% + 8px); left:0;
  background: var(--bg-2);
  border: 1px solid var(--b2);
  border-radius: var(--r2);
  min-width: 200px;
  padding: 8px;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition: all var(--t2) var(--ease);
  box-shadow: var(--shadow);
}
.ls-nav .menu-item:hover .sub-menu { opacity:1; visibility:visible; transform:none; }
.ls-nav .sub-menu a { border-radius: var(--r1); color:var(--text-2); }
.ls-nav .sub-menu a:hover { color:var(--green); }

.ls-header__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex-shrink: 0;
}
.ls-header__icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: var(--r2);
  color: var(--text-2);
  transition: color var(--t1) var(--ease), background var(--t1) var(--ease);
}
.ls-header__icon:hover { color:var(--white); background:var(--glass); }
.ls-header__wa { color:#25d366; }
.ls-header__wa:hover { color:#25d366; background:rgba(37,211,102,.12); }
.ls-cart-count {
  position: absolute;
  top: 4px; right: 4px;
  min-width: 16px; height: 16px;
  background: var(--green);
  color: #000;
  font-size: 9px;
  font-weight: 800;
  border-radius: var(--rmax);
  display: flex; align-items:center; justify-content:center;
  padding: 0 4px;
  line-height: 1;
}

/* ═══════════════════════════════════════════════════════════════
   BURGER
═══════════════════════════════════════════════════════════════ */
.ls-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 40px; height: 40px;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--b2);
  border-radius: var(--r1);
  cursor: pointer;
  transition: border-color var(--t1) var(--ease);
}
.ls-burger:hover { border-color:var(--b3); }
.ls-burger span {
  display: block;
  width: 18px; height: 1.5px;
  background: var(--text);
  border-radius: 2px;
  transition: all var(--t2) var(--ease);
}
.ls-burger[aria-expanded="true"] span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.ls-burger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.ls-burger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

/* ═══════════════════════════════════════════════════════════════
   DRAWER MÓVIL
═══════════════════════════════════════════════════════════════ */
.ls-drawer { position:fixed; inset:0; z-index:1100; }
.ls-drawer__overlay {
  position:absolute; inset:0;
  background: rgba(0,0,0,.7);
  backdrop-filter: blur(4px);
  opacity:0; transition:opacity var(--t3) var(--ease);
}
.ls-drawer.open .ls-drawer__overlay { opacity:1; }
.ls-drawer__panel {
  position:absolute; top:0; right:0; bottom:0;
  width: min(320px, 88vw);
  background: var(--bg-2);
  border-left: 1px solid var(--b2);
  display:flex; flex-direction:column;
  transform: translateX(100%);
  transition: transform var(--t3) var(--ease);
}
.ls-drawer.open .ls-drawer__panel { transform:none; }
.ls-drawer__head {
  display:flex; align-items:center; justify-content:space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--b1);
}
.ls-drawer__logo { font-size:18px; font-weight:900; letter-spacing:-.04em; color:var(--white); }
.ls-drawer__logo span { color:var(--green); }
.ls-drawer__close {
  width:32px; height:32px; border-radius:var(--r1);
  background:var(--glass); border:none; cursor:pointer;
  color:var(--text-2); display:flex; align-items:center; justify-content:center;
  transition:all var(--t1) var(--ease);
}
.ls-drawer__close:hover { background:var(--glass-2); color:var(--white); }
.ls-drawer__nav { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:2px; }
.ls-drawer__nav .menu-item > a {
  display:block; padding:13px 16px;
  font-size:15px; font-weight:500;
  color:var(--text-2); border-radius:var(--r2);
  transition:all var(--t1) var(--ease);
}
.ls-drawer__nav .menu-item > a:hover,
.ls-drawer__nav .current-menu-item > a { color:var(--white); background:var(--glass-2); }
.ls-drawer__nav .current-menu-item > a { color:var(--green); }
.ls-drawer__actions { padding:20px 24px; display:flex; flex-direction:column; gap:10px; border-top:1px solid var(--b1); }
.ls-drawer__actions .ls-btn { width:100%; }

/* ═══════════════════════════════════════════════════════════════
   MAIN CONTENT
═══════════════════════════════════════════════════════════════ */
.ls-main {
  padding-top: calc(var(--hh) + 40px);
  padding-bottom: 80px;
  min-height: 60vh;
}

/* ═══════════════════════════════════════════════════════════════
   ELEMENTOR — Override global para que el tema mande el color
═══════════════════════════════════════════════════════════════ */
body.elementor-page .elementor-section,
body.elementor-page .e-con,
body.elementor-page .e-con-inner {
  background-color: transparent;
}
body.elementor-page .elementor-section-wrap,
body.elementor-page #content,
body.elementor-page .site-content,
body.elementor-page .entry-content {
  background: transparent;
}
/* Fuerza fondo oscuro en todo */
.elementor-kit-7 {
  --e-global-color-primary:    var(--green) !important;
  --e-global-color-secondary:  var(--purple) !important;
  --e-global-color-text:       var(--text) !important;
  --e-global-color-accent:     var(--green) !important;
  --e-global-typography-primary-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', sans-serif !important;
}
/* Fondo de sección elementor */
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con { max-width: var(--wrap) !important; }

/* Textos Elementor */
.elementor-widget-text-editor, .elementor-widget-text-editor p { color: var(--text-2) !important; }
.elementor-widget-heading .elementor-heading-title { color: var(--white) !important; letter-spacing:-.02em; font-weight:800; }

/* Botones Elementor */
.elementor-button {
  background: var(--green) !important;
  color: #000 !important;
  border-radius: var(--rmax) !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  border: none !important;
  transition: all var(--t2) var(--ease) !important;
}
.elementor-button:hover { box-shadow: var(--green-glow) !important; transform:translateY(-2px) !important; }

/* ═══════════════════════════════════════════════════════════════
   WOOCOMMERCE GLOBAL
═══════════════════════════════════════════════════════════════ */
.woocommerce-notices-wrapper { width:var(--wrap); margin-inline:auto; padding-top:8px; }
.woocommerce-message,
.woocommerce-info {
  background: var(--green-dim) !important;
  border-top: 2px solid var(--green) !important;
  color: var(--text) !important;
  padding: 14px 20px !important;
  border-radius: var(--r2) !important;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--green) !important; }
.woocommerce-error { background: rgba(255,71,87,.1) !important; border-top: 2px solid var(--red) !important; border-radius: var(--r2) !important; }

/* Breadcrumb */
.ls-breadcrumb,
.woocommerce-breadcrumb {
  font-size: 12px;
  color: var(--text-3);
  margin-bottom: 32px;
  padding-top: 8px;
}
.woocommerce-breadcrumb a { color:var(--text-3); }
.woocommerce-breadcrumb a:hover { color:var(--green); }

/* ═══════════════════════════════════════════════════════════════
   SHOP — ARCHIVE GRID
═══════════════════════════════════════════════════════════════ */
.ls-shop-title {
  font-size: clamp(26px,4vw,40px);
  font-weight: 900;
  margin-bottom: 32px;
  letter-spacing: -.03em;
}
.ls-shop-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 32px;
  padding: 14px 20px;
  background: var(--glass);
  border: 1px solid var(--b1);
  border-radius: var(--r2);
}
.woocommerce-result-count { font-size:13px; color:var(--text-3); margin:0; }
.woocommerce-ordering select {
  background: var(--bg-3);
  color: var(--text);
  border: 1px solid var(--b2);
  border-radius: var(--r1);
  padding: 8px 36px 8px 14px;
  font-size: 13px;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23606070' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  transition: border-color var(--t1) var(--ease);
}
.woocommerce-ordering select:focus { outline:none; border-color:var(--green); }

/* Grid productos */
ul.products,
.products.columns-4,
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: var(--gap) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   TARJETA DE PRODUCTO (.ls-card)
═══════════════════════════════════════════════════════════════ */
.ls-card,
.woocommerce ul.products li.product {
  background: var(--glass) !important;
  border: 1px solid var(--b1) !important;
  border-radius: var(--r3) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: border-color var(--t2) var(--ease), transform var(--t2) var(--ease), box-shadow var(--t2) var(--ease) !important;
  position: relative !important;
  float: none !important;
  width: auto !important;
  padding: 0 !important;
}
.ls-card:hover,
.woocommerce ul.products li.product:hover {
  border-color: var(--b3) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.5) !important;
}

.ls-card__img-wrap,
.woocommerce ul.products li.product a:first-child {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  background: var(--bg-3) !important;
  aspect-ratio: 1 / 1 !important;
}
.ls-card__img-wrap img,
.woocommerce ul.products li.product a:first-child img,
.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .5s var(--ease) !important;
  display: block !important;
  margin: 0 !important;
}
.ls-card:hover .ls-card__img-wrap img,
.woocommerce ul.products li.product:hover img { transform: scale(1.06) !important; }

/* Badge */
.ls-card__badge,
.woocommerce span.onsale {
  position: absolute !important;
  top: 12px !important; left: 12px !important;
  display: inline-block !important;
  width: fit-content !important;
  background: var(--green) !important;
  color: #000 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  padding: 4px 10px !important;
  border-radius: var(--rmax) !important;
  line-height: 1.4 !important;
  z-index: 2 !important;
  text-transform: uppercase !important;
}

.ls-card__body,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  padding: 16px 18px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  text-decoration: none !important;
}
.ls-card__cat { display: none !important; }
.woocommerce ul.products li.product .woocommerce-loop-category__title {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--green) !important;
}
.ls-card__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--white) !important;
  letter-spacing: -.01em !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 !important;
}
.ls-card__price,
.woocommerce ul.products li.product .price {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--white) !important;
  letter-spacing: -.02em !important;
}
.woocommerce ul.products li.product .price del {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--text-3) !important;
  opacity: 1 !important;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--green) !important;
}

.ls-card__footer,
.woocommerce ul.products li.product .button-wrap,
.woocommerce ul.products li.product > a.button,
.woocommerce ul.products li.product > a.add_to_cart_button {
  padding: 12px 18px 16px !important;
  margin-top: auto !important;
}
.woocommerce ul.products li.product > a.button,
.woocommerce ul.products li.product > a.add_to_cart_button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: calc(100% - 36px) !important;
  margin: 0 18px 16px !important;
  padding: 11px 18px !important;
  background: var(--glass-2) !important;
  color: var(--white) !important;
  border: 1px solid var(--b2) !important;
  border-radius: var(--rmax) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  transition: all var(--t2) var(--ease) !important;
}
.woocommerce ul.products li.product > a.button:hover,
.woocommerce ul.products li.product > a.add_to_cart_button:hover {
  background: var(--green) !important;
  color: #000 !important;
  border-color: var(--green) !important;
  box-shadow: var(--green-glow) !important;
}
.woocommerce ul.products li.product > a.added {
  background: var(--green-dim) !important;
  border-color: var(--green) !important;
  color: var(--green) !important;
}

/* ═══════════════════════════════════════════════════════════════
   SINGLE PRODUCT
═══════════════════════════════════════════════════════════════ */
.ls-product-layout {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 48px;
  align-items: start;
  padding-top: 8px;
}

/* ── Galería ── */
.ls-product-gallery {
  position: sticky;
  top: calc(var(--hh) + 20px);
}
/* Fix: WooCommerce impone width:48% float:left en div.images — anular */
.ls-product-gallery .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  border-radius: var(--r3) !important;
  overflow: hidden !important;
  background: var(--bg-3) !important;
  border: 1px solid var(--b1) !important;
  position: relative !important;
}
.ls-product-gallery .woocommerce-product-gallery__wrapper {
  display: block !important;
  position: relative !important;
}
.ls-product-gallery .woocommerce-product-gallery__image {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
}
.ls-product-gallery .woocommerce-product-gallery__image a {
  display: block !important;
}
.ls-product-gallery .woocommerce-product-gallery__image a img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 560px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  padding: 20px !important;
}
/* Zoom — no tocar opacity (lo maneja jQuery Zoom vía JS) */
.ls-product-gallery img.zoomImg {
  max-width: none !important;
  max-height: none !important;
}
/* Slides no activos ocultos */
.ls-product-gallery .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:not(:first-child) {
  display: none !important;
}
.ls-product-gallery .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image.flex-active-slide {
  display: block !important;
}
/* Ícono zoom */
.ls-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 10 !important;
  background: var(--glass) !important;
  border: 1px solid var(--b1) !important;
  border-radius: 50% !important;
  width: 36px !important; height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: .7 !important;
  transition: opacity var(--t1) var(--ease) !important;
}
.ls-product-gallery .woocommerce-product-gallery__trigger:hover { opacity: 1 !important; }
/* Thumbnails */
.ls-product-gallery .flex-control-nav.flex-control-thumbs {
  display: flex !important;
  gap: 8px !important;
  padding: 12px !important;
  background: transparent !important;
  border-top: 1px solid var(--b1) !important;
  list-style: none !important;
  margin: 0 !important;
  flex-wrap: wrap !important;
}
.ls-product-gallery .flex-control-thumbs li { flex: 0 0 68px; }
.ls-product-gallery .flex-control-thumbs img {
  width: 68px !important;
  height: 68px !important;
  object-fit: cover !important;
  border-radius: var(--r1) !important;
  cursor: pointer !important;
  opacity: .45 !important;
  transition: opacity var(--t1) var(--ease), border-color var(--t1) var(--ease) !important;
  border: 2px solid transparent !important;
}
.ls-product-gallery .flex-control-thumbs img:hover { opacity: .8 !important; }
.ls-product-gallery .flex-control-thumbs .flex-active img,
.ls-product-gallery .flex-control-thumbs img.flex-active {
  opacity: 1 !important;
  border-color: var(--green) !important;
}

/* ── Summary ── */
/* Fix: WooCommerce impone float:right width:48% en div.summary — anular */
.ls-product-cart {
  float: none !important;
  width: auto !important;
}
.ls-product-cart .woocommerce-product-details__short-description {
  color: var(--text-2);
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 20px;
}
.ls-product-cart .woocommerce-product-details__short-description p {
  margin-bottom: 10px;
}
.ls-product-cart .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.ls-product-cart .woocommerce-product-details__short-description strong { color: var(--white); font-weight: 600; }
.ls-product-cart .woocommerce-product-details__short-description ul,
.ls-product-cart .woocommerce-product-details__short-description ol {
  padding-left: 18px;
  margin-bottom: 10px;
}
.ls-product-cart .woocommerce-product-details__short-description li { margin-bottom: 4px; }

.ls-product-cart .product_title {
  font-size: clamp(20px, 2.5vw, 30px) !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
  color: var(--white) !important;
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
}
.ls-product-cart .woocommerce-product-rating { margin-bottom: 14px; }
.ls-product-cart .star-rating { color: var(--amber) !important; font-size: 14px !important; }

/* Precio */
.ls-product-cart .price small { color: var(--text-3) !important; font-size: 13px !important; font-weight: 500 !important; }
.ls-product-cart .price,
.ls-product-cart .price .woocommerce-Price-amount,
.ls-product-cart .price bdi {
  font-size: 32px !important;
  font-weight: 900 !important;
  color: var(--white) !important;
  letter-spacing: -.04em !important;
}
.ls-product-cart .price {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-bottom: 6px !important;
}
.ls-product-cart .price del,
.ls-product-cart .price del .woocommerce-Price-amount,
.ls-product-cart .price del bdi {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--text-3) !important;
  text-decoration: line-through !important;
  opacity: 1 !important;
}
.ls-product-cart .price ins,
.ls-product-cart .price ins .woocommerce-Price-amount,
.ls-product-cart .price ins bdi {
  text-decoration: none !important;
  color: var(--green) !important;
}
.ls-product-cart .woocommerce-variation-price .price { font-size: 26px !important; }

/* Divisor antes del formulario */
.ls-product-cart form.cart {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--b1);
}
/* Qty */
.ls-product-cart .quantity {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 14px;
  background: var(--bg-3);
  border: 1px solid var(--b2);
  border-radius: var(--r1);
  width: fit-content;
  overflow: hidden;
}
.ls-product-cart .quantity .qty-btn,
.ls-product-cart .quantity button.minus,
.ls-product-cart .quantity button.plus {
  background: transparent !important;
  border: none !important;
  color: var(--white) !important;
  width: 40px !important;
  height: 44px !important;
  font-size: 18px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ls-product-cart input.qty {
  width: 52px !important;
  height: 44px !important;
  text-align: center !important;
  background: transparent !important;
  color: var(--white) !important;
  border: none !important;
  border-left: 1px solid var(--b2) !important;
  border-right: 1px solid var(--b2) !important;
  border-radius: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
/* ATC button */
.ls-product-cart .single_add_to_cart_button {
  width: 100% !important;
  padding: 15px 24px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  background: var(--green) !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--rmax) !important;
  cursor: pointer !important;
  transition: all var(--t2) var(--ease) !important;
  text-transform: uppercase !important;
}
.ls-product-cart .single_add_to_cart_button:hover {
  box-shadow: var(--green-glow) !important;
  transform: translateY(-2px) !important;
}
.ls-product-cart .single_add_to_cart_button.loading {
  opacity: .7 !important;
  pointer-events: none !important;
}

/* Meta */
.ls-product-cart .product_meta {
  font-size: 12px;
  color: var(--text-3);
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ls-product-cart .product_meta span { display: inline-flex; align-items: center; gap: 4px; }
.ls-product-cart .product_meta a { color: var(--text-2); }
.ls-product-cart .product_meta a:hover { color: var(--green); }
.ls-product-cart .posted_in,
.ls-product-cart .tagged_as,
.ls-product-cart .sku_wrapper {
  background: var(--glass);
  border: 1px solid var(--b1);
  border-radius: var(--rmax);
  padding: 3px 10px;
}

/* Ahorro */
.ls-product-savings {
  font-size: 13px;
  color: var(--text-3);
  margin-bottom: 14px;
}
.ls-product-savings strong { color: var(--green); font-weight: 700; }
.ls-product-savings em { font-style: normal; }

/* Trust badges */
.ls-product-cart__trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 20px;
}
.ls-product-cart__trust span {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 12px 6px !important;
  background: var(--glass) !important;
  border: 1px solid var(--b1) !important;
  border-radius: var(--r2) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--text-2) !important;
  text-align: center !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}
.ls-product-cart__trust span svg { color: var(--green); flex-shrink: 0; }

/* Tabs */
.ls-product-tabs { border-top:1px solid var(--b1); padding:48px 0; }
.woocommerce-tabs .wc-tabs {
  display:flex; gap:4px; flex-wrap:wrap;
  border-bottom:1px solid var(--b1);
  margin-bottom:32px; padding:0; list-style:none;
}
.woocommerce-tabs .wc-tabs li a {
  display:block; padding:12px 20px;
  font-size:14px; font-weight:600; color:var(--text-3);
  border-bottom:2px solid transparent;
  transition:all var(--t1) var(--ease);
  white-space:nowrap;
}
.woocommerce-tabs .wc-tabs li.active a { color:var(--green); border-bottom-color:var(--green); }
.woocommerce-tabs .wc-tabs li a:hover { color:var(--text); }
.woocommerce-tabs .panel { color:var(--text-2); line-height:1.8; }
.woocommerce-tabs .panel h2 { font-size:18px; font-weight:800; margin:0 0 20px; color:var(--white); }

/* ── WCZ Long Description ── */
.wcz-product-long-desc {
  margin-top: 64px;
  padding-top: 64px;
  border-top: 1px solid var(--b1);
}
/* Label "Descripción del producto" antes del contenido */
.wcz-product-long-desc::before {
  content: "Descripción del producto";
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 32px;
}
/* Ocultar h2 "Descripción" y p vacío que inyecta el plugin */
.wcz-inner > h2:first-child { display: none !important; }
.wcz-inner > p:empty { display: none !important; }

/* Contenedor con ancho de lectura cómodo */
.wcz-inner {
  max-width: 860px !important;
  color: var(--text-2) !important;
  font-family: var(--font) !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
}
/* Reset inline styles — !important supera estilos inline */
.wcz-inner * {
  color: inherit !important;
  font-family: inherit !important;
  background-color: transparent !important;
  border-radius: 0 !important;
}
/* Headings */
.wcz-inner h1, .wcz-inner h2, .wcz-inner h3,
.wcz-inner h4, .wcz-inner h5, .wcz-inner h6 {
  color: var(--white) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  line-height: 1.2 !important;
  margin: 40px 0 12px !important;
}
.wcz-inner h2 { font-size: 26px !important; }
.wcz-inner h3 { font-size: 19px !important; }
.wcz-inner h4 { font-size: 16px !important; }
/* Primer heading sin margen superior */
.wcz-inner > section > h2:first-of-type,
.wcz-inner section h2:first-child { margin-top: 0 !important; }

/* Párrafos y listas */
.wcz-inner p { margin-bottom: 16px !important; }
.wcz-inner p:last-child { margin-bottom: 0 !important; }
.wcz-inner ul, .wcz-inner ol {
  padding-left: 0 !important;
  margin: 8px 0 20px !important;
  list-style: none !important;
}
.wcz-inner li {
  padding: 6px 0 6px 24px !important;
  position: relative !important;
  border-bottom: 1px solid var(--b1) !important;
}
.wcz-inner li:last-child { border-bottom: none !important; }
.wcz-inner li::before {
  content: "→" !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--green) !important;
  font-weight: 700 !important;
}
.wcz-inner strong { color: var(--white) !important; font-weight: 700 !important; }

/* Imágenes */
.wcz-inner img {
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: cover !important;
  border-radius: var(--r3) !important;
  display: block !important;
  margin: 28px 0 !important;
}

/* Cajas con background (inline style) — glassmorphism dark */
.wcz-inner div[style*="background"] {
  background: var(--bg-3) !important;
  border: 1px solid var(--b1) !important;
  border-radius: var(--r2) !important;
  padding: 20px 24px !important;
  margin: 20px 0 !important;
}
/* Caja de advertencia amarilla → amber sutil */
.wcz-inner div[style*="fff3cd"],
.wcz-inner div[style*="#fff3"] {
  background: rgba(255, 195, 0, 0.06) !important;
  border-color: rgba(255, 195, 0, 0.2) !important;
  border-left: 3px solid #ffc300 !important;
}
/* Section wrapper */
.wcz-inner section {
  color: var(--text-2) !important;
}

/* Tabla de specs */
.woocommerce-product-attributes { width:100%; border-collapse:collapse; }
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
  padding:12px 16px; border-bottom:1px solid var(--b1);
  font-size:14px; text-align:left;
}
.woocommerce-product-attributes th { color:var(--text-3); width:35%; font-weight:600; }
.woocommerce-product-attributes td { color:var(--text-2); }
.woocommerce-product-attributes tr:last-child th,
.woocommerce-product-attributes tr:last-child td { border-bottom:none; }

/* ═══════════════════════════════════════════════════════════════
   RELATED PRODUCTS
═══════════════════════════════════════════════════════════════ */
.ls-related { padding:56px 0; }
.ls-related .related > h2,
.related.products > h2 {
  font-size:clamp(20px,3vw,28px);
  font-weight:900;
  letter-spacing:-.03em;
  margin-bottom:28px;
  color:var(--white);
}

/* ═══════════════════════════════════════════════════════════════
   CART / CHECKOUT
═══════════════════════════════════════════════════════════════ */
.woocommerce-cart table.cart,
.woocommerce-checkout form.woocommerce-checkout {
  background: transparent;
  color: var(--text);
}
.woocommerce table.shop_table {
  background: var(--glass);
  border: 1px solid var(--b1) !important;
  border-radius: var(--r3) !important;
  overflow: hidden;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.woocommerce table.shop_table th {
  background: var(--bg-3) !important;
  color: var(--text-3) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 14px 20px !important;
  border-bottom: 1px solid var(--b2) !important;
}
.woocommerce table.shop_table td {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--b1) !important;
  color: var(--text-2) !important;
  vertical-align: middle !important;
}
.woocommerce table.shop_table .product-name a { color: var(--white); font-weight:600; }
.woocommerce table.shop_table .product-name a:hover { color:var(--green); }
.woocommerce table.shop_table .amount { color:var(--white) !important; font-weight:700 !important; }

/* Cart page — expandir ancho completo */
.woocommerce-cart .ls-page-content__body,
.woocommerce-checkout .ls-page-content__body {
  max-width: 100% !important;
}

/* Cart layout: tabla izquierda, totals derecha */
.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 32px;
  align-items: start;
}
/* Todo va a col 1 por defecto */
.woocommerce-cart .woocommerce > * { grid-column: 1; }
/* Cart-collaterals fijado en col 2 */
.woocommerce-cart .cart-collaterals {
  grid-column: 2 !important;
  grid-row: 1 / 20 !important;
  width: 100% !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}
/* Totals arriba, cross-sells abajo dentro de la columna derecha */
.woocommerce-cart .cart_totals { order: 1; width: 100% !important; float: none !important; }
.woocommerce-cart .cross-sells { order: 2; width: 100% !important; float: none !important; }

/* Tabla del carrito */
.woocommerce-cart table.cart { width: 100% !important; }

/* Imagen producto en carrito */
.woocommerce-cart table.cart .product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  border-radius: var(--r2) !important;
  background: var(--bg-3) !important;
  padding: 6px !important;
}

/* Botón volver a la tienda */
.woocommerce-cart .wc-backward,
.woocommerce-cart .return-to-shop a,
.woocommerce-cart .actions .button {
  background: transparent !important;
  border: 1px solid var(--b2) !important;
  color: var(--text-2) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
  border-radius: var(--r2) !important;
  transition: all var(--t1) var(--ease) !important;
}
.woocommerce-cart .wc-backward:hover,
.woocommerce-cart .return-to-shop a:hover {
  border-color: var(--green) !important;
  color: var(--green) !important;
}

/* Botón actualizar carrito */
.woocommerce-cart .actions button[name="update_cart"] {
  background: var(--bg-3) !important;
  border: 1px solid var(--b2) !important;
  color: var(--text-3) !important;
  font-size: 12px !important;
  padding: 10px 18px !important;
  border-radius: var(--r2) !important;
}

/* Cantidad input */
.woocommerce-cart table.cart .quantity .qty {
  background: var(--bg-3) !important;
  border: 1px solid var(--b2) !important;
  color: var(--text) !important;
  border-radius: var(--r1) !important;
  padding: 8px 10px !important;
  width: 64px !important;
  text-align: center !important;
}

/* Cross-sells título */
.cross-sells h2 {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--white) !important;
  margin-bottom: 20px !important;
}

/* Cart totals */
.cart_totals { background:var(--glass); border:1px solid var(--b1); border-radius:var(--r3); padding:28px; position:sticky; top:100px; }
.cart_totals h2 { font-size:18px; font-weight:800; margin-bottom:20px; }
.cart_totals table { width:100% !important; }
.cart_totals table th { color:var(--text-3); font-size:13px; font-weight:600; padding:12px 0; border-bottom:1px solid var(--b1); }
.cart_totals table td { color:var(--text); font-weight:600; text-align:right; padding:12px 0; border-bottom:1px solid var(--b1); }
.cart_totals .order-total td .amount { font-size:24px !important; font-weight:900 !important; color:var(--green) !important; }

/* Checkout — layout 2 columnas */
.woocommerce-checkout .ls-page-content__body { max-width: 100% !important; }
.woocommerce-checkout form.woocommerce-checkout {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 40px;
  align-items: start;
}
.woocommerce-checkout .col2-set { grid-column: 1; grid-row: 1; }
.woocommerce-checkout .woocommerce-checkout-review-order { grid-column: 2; grid-row: 1; position: sticky; top: 100px; }
.woocommerce-checkout form.woocommerce-checkout > h3 { grid-column: 2; grid-row: 1; display: none; }
.woocommerce-checkout form.woocommerce-checkout > input[type="hidden"] { display: none; }

/* Resumen de pedido en checkout */
.woocommerce-checkout-review-order {
  background: var(--glass) !important;
  border: 1px solid var(--b1) !important;
  border-radius: var(--r3) !important;
  padding: 28px !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--b1) !important;
  color: var(--text-2) !important;
  font-size: 14px !important;
}
.woocommerce-checkout-review-order-table .product-name { color: var(--white) !important; font-weight: 600 !important; }
.woocommerce-checkout-review-order-table .product-total .amount { color: var(--white) !important; font-weight: 700 !important; }
.woocommerce-checkout-review-order-table .order-total td .amount { color: var(--green) !important; font-size: 22px !important; font-weight: 900 !important; }
#order_review_heading { font-size: 16px !important; font-weight: 800 !important; color: var(--white) !important; margin-bottom: 16px !important; }

/* Campos del formulario col2 */
.col2-set .col-1, .col2-set .col-2 { float: none !important; width: 100% !important; }

/* Checkout fields */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  background: var(--bg-3) !important;
  border: 1px solid var(--b2) !important;
  border-radius: var(--r1) !important;
  color: var(--text) !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  transition: border-color var(--t1) var(--ease) !important;
  width: 100% !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  outline: none !important;
  border-color: var(--green) !important;
  box-shadow: 0 0 0 3px rgba(0,255,135,.1) !important;
}
.woocommerce form .form-row label { color:var(--text-2) !important; font-size:13px !important; font-weight:600 !important; margin-bottom:6px !important; display:block !important; }

/* ═══════════════════════════════════════════════════════════════
   RELATED PRODUCTS CAROUSEL
═══════════════════════════════════════════════════════════════ */
.related.products { margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--b1); }
.related.products > h2 {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--green) !important;
  margin-bottom: 24px !important;
}
.ls-related-carousel {
  position: relative;
  overflow: hidden;
}
.ls-related-carousel ul.products {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
  transition: transform 0.5s cubic-bezier(.4,0,.2,1) !important;
  will-change: transform;
  margin: 0 !important;
  padding: 0 !important;
}
.ls-related-carousel ul.products .ls-card,
.ls-related-carousel ul.products li.product {
  flex: 0 0 calc(25% - 15px) !important;
  min-width: 0 !important;
  width: auto !important;
}
@media (max-width: 800px) {
  .ls-related-carousel ul.products .ls-card,
  .ls-related-carousel ul.products li.product { flex: 0 0 calc(50% - 10px) !important; }
}
@media (max-width: 520px) {
  .ls-related-carousel ul.products .ls-card,
  .ls-related-carousel ul.products li.product { flex: 0 0 calc(80%) !important; }
}

/* ═══════════════════════════════════════════════════════════════
   MY ACCOUNT
═══════════════════════════════════════════════════════════════ */
.woocommerce-MyAccount-navigation {
  background: var(--glass);
  border: 1px solid var(--b1);
  border-radius: var(--r3);
  overflow: hidden;
}
.woocommerce-MyAccount-navigation ul { list-style:none !important; padding:8px !important; }
.woocommerce-MyAccount-navigation ul li a {
  display:block; padding:12px 16px;
  font-size:14px; font-weight:500;
  color:var(--text-2); border-radius:var(--r2);
  transition:all var(--t1) var(--ease);
}
.woocommerce-MyAccount-navigation ul li a:hover { color:var(--white); background:var(--glass-2); }
.woocommerce-MyAccount-navigation ul li.is-active a { color:var(--green); background:var(--green-dim); font-weight:700; }

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — HERO
═══════════════════════════════════════════════════════════════ */
.lsh-hero {
  position: relative;
  overflow: hidden;
  padding: calc(var(--hh) + 80px) 0 80px;
  min-height: 100svh;
  display: flex;
  align-items: center;
}
.lsh-hero__bg {
  position: absolute; inset: 0; z-index: 0;
}
.lsh-hero__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: .25;
}
.lsh-hero__glow--1 {
  width: 600px; height: 600px;
  background: radial-gradient(circle, var(--green) 0%, transparent 70%);
  top: -100px; left: -100px;
}
.lsh-hero__glow--2 {
  width: 500px; height: 500px;
  background: radial-gradient(circle, var(--purple) 0%, transparent 70%);
  bottom: -80px; right: -80px;
}
.lsh-hero__grid-lines {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 60px 60px;
}
.lsh-hero__inner {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.lsh-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: var(--green-dim);
  border: 1px solid rgba(0,255,135,.25);
  border-radius: var(--rmax);
  font-size: 12px;
  font-weight: 600;
  color: var(--green);
  letter-spacing: .04em;
  margin-bottom: 28px;
}
.lsh-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--green);
  animation: pulse 2s infinite;
  flex-shrink: 0;
}
@keyframes pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50% { opacity:.4; transform:scale(.8); }
}
.lsh-hero__title {
  font-size: clamp(40px, 6vw, 72px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -.04em;
  color: var(--white);
  margin-bottom: 24px;
}
.lsh-hero__title-accent {
  background: linear-gradient(90deg, var(--green) 0%, #7fffcf 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.lsh-hero__desc {
  font-size: clamp(16px,1.4vw,18px);
  color: var(--text-2);
  line-height: 1.7;
  max-width: 480px;
  margin-bottom: 36px;
}
.lsh-hero__actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.lsh-hero__stats {
  display: flex;
  align-items: center;
  gap: 24px;
}
.lsh-stat strong {
  display: block;
  font-size: 26px;
  font-weight: 900;
  color: var(--white);
  letter-spacing: -.03em;
  line-height: 1.1;
}
.lsh-stat span {
  font-size: 12px;
  color: var(--text-3);
  font-weight: 500;
}
.lsh-stat-sep {
  width: 1px;
  height: 36px;
  background: var(--b2);
}
/* Visual hero */
.lsh-hero__visual {
  position: relative;
}
.lsh-hero__card--main {
  background: var(--glass-2);
  border: 1px solid var(--b2);
  border-radius: var(--r4);
  overflow: hidden;
  aspect-ratio: 4/3;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: transform var(--t2) var(--ease), box-shadow var(--t2) var(--ease);
}
.lsh-hero__card--main:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(0,255,135,.15);
  border-color: var(--green);
}
.lsh-hero__card-img {
  flex: 1;
  background: var(--bg-3);
  overflow: hidden;
}
.lsh-hero__card-img img,
.lsh-hero__card-photo { width:100%; height:100%; object-fit:cover; }
.lsh-hero__card-placeholder {
  height: 100%; display:flex; align-items:center; justify-content:center;
}
.lsh-hero__card-body {
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--bg-2);
  border-top: 1px solid var(--b1);
}
.lsh-hero__card-label {
  font-size: 10px; font-weight: 700; text-transform:uppercase;
  letter-spacing:.1em; color:var(--green);
  background: var(--green-dim);
  padding: 3px 8px; border-radius:var(--rmax);
}
.lsh-hero__card-name {
  flex:1; font-size:13px; font-weight:600; color:var(--text);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.lsh-hero__card-price { font-size:14px; font-weight:800; color:var(--white); }
/* Floating badges */
.lsh-hero__floating {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: var(--bg-2);
  border: 1px solid var(--b2);
  border-radius: var(--rmax);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-2);
  backdrop-filter: blur(12px);
  white-space: nowrap;
}
.lsh-hero__floating svg { color:var(--green); flex-shrink:0; }
.lsh-hero__floating--1 { top: -16px; right: -16px; }
.lsh-hero__floating--2 { bottom: 24px; left: -20px; }

/* ── EYEBROW ── */
.lsh-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 12px;
}
.lsh-eyebrow::before { content:''; width:20px; height:2px; background:var(--green); border-radius:2px; }

/* ── SECTION HEADS ── */
.lsh-section-head {
  display: flex; align-items: flex-end; justify-content:space-between;
  margin-bottom: 36px; gap:16px; flex-wrap:wrap;
}
.lsh-section-head--center { flex-direction:column; align-items:center; text-align:center; }
.lsh-section-title {
  font-size: clamp(24px,3.5vw,38px);
  font-weight: 900;
  letter-spacing: -.03em;
  color: var(--white);
  line-height: 1.15;
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — CATEGORÍAS
═══════════════════════════════════════════════════════════════ */
.lsh-cats {
  padding: 80px 0;
  background: var(--bg-2);
  border-top: 1px solid var(--b1);
  border-bottom: 1px solid var(--b1);
}
.lsh-cats__head { margin-bottom: 36px; }
.lsh-cats__grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: var(--gap);
}
.lsh-cat-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
  background: var(--glass);
  border: 1px solid var(--b1);
  border-radius: var(--r3);
  transition: all var(--t2) var(--ease);
  text-decoration: none;
}
.lsh-cat-card:hover {
  background: var(--glass-2);
  border-color: var(--b3);
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}
.lsh-cat-card:hover .lsh-cat-card__icon { background: var(--green-dim); border-color: rgba(0,255,135,.3); color:var(--green); }
.lsh-cat-card:hover .lsh-cat-card__arrow { color:var(--green); transform:translateX(4px); }
.lsh-cat-card__icon {
  flex-shrink: 0;
  width: 52px; height: 52px;
  border-radius: var(--r2);
  background: var(--glass-2);
  border: 1px solid var(--b2);
  display: flex; align-items:center; justify-content:center;
  color: var(--text-2);
  transition: all var(--t2) var(--ease);
}
.lsh-cat-card__body { flex:1; min-width:0; }
.lsh-cat-card__name { font-size:15px; font-weight:700; color:var(--white); margin-bottom:4px; }
.lsh-cat-card__desc { font-size:12px; color:var(--text-3); line-height:1.4; }
.lsh-cat-card__count { display:inline-block; margin-top:6px; font-size:11px; font-weight:600; color:var(--green); background:var(--green-dim); padding:2px 8px; border-radius:var(--rmax); }
.lsh-cat-card__arrow { color:var(--text-4); transition:all var(--t2) var(--ease); flex-shrink:0; }

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — PRODUCTOS RECIENTES
═══════════════════════════════════════════════════════════════ */
.lsh-products { padding: 80px 0; }
.lsh-products__grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: var(--gap);
}
.lsh-pcard {
  background: var(--glass);
  border: 1px solid var(--b1);
  border-radius: var(--r3);
  overflow: hidden;
  display: flex; flex-direction:column;
  transition: all var(--t2) var(--ease);
}
.lsh-pcard:hover { border-color:var(--b3); transform:translateY(-4px); box-shadow:0 20px 60px rgba(0,0,0,.5); }
.lsh-pcard__img-wrap {
  display:block; aspect-ratio:1; overflow:hidden;
  background:var(--bg-3); position:relative;
}
.lsh-pcard__img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.lsh-pcard:hover .lsh-pcard__img { transform:scale(1.07); }
.lsh-pcard__badge {
  position:absolute; top:12px; left:12px;
  background:var(--green); color:#000;
  font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  padding:4px 10px; border-radius:var(--rmax);
}
.lsh-pcard__body { padding:16px 18px 10px; display:flex; flex-direction:column; gap:5px; }
.lsh-pcard__cat { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green); }
.lsh-pcard__name { font-size:14px; font-weight:700; line-height:1.35; color:var(--white); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.lsh-pcard__name a { color:inherit; }
.lsh-pcard__name a:hover { color:var(--green); }
.lsh-pcard__price { font-size:16px; font-weight:800; color:var(--white); letter-spacing:-.02em; }
.lsh-pcard__price del { font-size:12px; font-weight:400; color:var(--text-3); margin-right:6px; }
.lsh-pcard__price ins { text-decoration:none; color:var(--green); }
.lsh-pcard__footer { padding:10px 18px 16px; margin-top:auto; }
.lsh-pcard__atc {
  display:flex; align-items:center; justify-content:center;
  width:100%; padding:10px; font-size:13px !important;
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — BANNER
═══════════════════════════════════════════════════════════════ */
.lsh-banner { padding: 80px 0; }
.lsh-banner__inner {
  position: relative;
  overflow: hidden;
  border-radius: var(--r4);
  background: linear-gradient(135deg, #0e0e18 0%, #1a0d2e 50%, #0e1a0e 100%);
  border: 1px solid var(--b2);
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 48px;
  padding: 64px 64px;
}
.lsh-banner__glow {
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 60% 50%, rgba(0,255,135,.08) 0%, transparent 65%);
  pointer-events:none;
}
.lsh-banner__content { position:relative; z-index:1; }
.lsh-banner__title {
  font-size: clamp(28px,4vw,48px);
  font-weight: 900;
  letter-spacing: -.04em;
  color: var(--white);
  margin-bottom: 16px;
  line-height: 1.1;
}
.lsh-banner__desc { color:var(--text-2); font-size:16px; line-height:1.7; margin-bottom:32px; max-width:400px; }
.lsh-banner__visual { display:flex; justify-content:center; align-items:center; }
.lsh-banner__img { max-height:320px; width:auto; object-fit:contain; filter:drop-shadow(0 20px 40px rgba(0,0,0,.6)); }

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — WHY LEVELSTORE
═══════════════════════════════════════════════════════════════ */
.lsh-why {
  padding: 80px 0 100px;
  background: var(--bg-2);
  border-top: 1px solid var(--b1);
}

/* Reseñas Google (TrustIndex) */
.lsh-reviews {
  padding: 80px 0 100px;
  border-top: 1px solid var(--b1);
}
.lsh-reviews__title {
  font-size: clamp(22px,4vw,36px);
  font-weight: 900;
  letter-spacing: -.03em;
  margin-bottom: 40px;
  text-align: center;
}
.lsh-why__grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: var(--gap);
  max-width: 960px;
  margin-inline: auto;
}
.lsh-why-card {
  padding: 32px 28px;
  background: var(--glass);
  border: 1px solid var(--b1);
  border-radius: var(--r3);
  transition: border-color var(--t2) var(--ease);
}
.lsh-why-card:hover { border-color:var(--b3); }
.lsh-why-card__icon {
  width: 48px; height: 48px;
  background: var(--green-dim);
  border: 1px solid rgba(0,255,135,.2);
  border-radius: var(--r2);
  display: flex; align-items:center; justify-content:center;
  color: var(--green);
  margin-bottom: 20px;
}
.lsh-why-card h3 { font-size:17px; font-weight:800; color:var(--white); margin-bottom:10px; letter-spacing:-.02em; }
.lsh-why-card p { font-size:14px; color:var(--text-3); line-height:1.7; }

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE RESPONSIVE
═══════════════════════════════════════════════════════════════ */
@media (max-width:1100px) {
  .lsh-hero__inner { gap:40px; }
  .lsh-cats__grid { grid-template-columns:repeat(2,1fr); }
  .lsh-products__grid { grid-template-columns:repeat(3,1fr); }
  .lsh-why__grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:800px) {
  .lsh-hero { padding:calc(var(--hh) + 48px) 0 56px; min-height:auto; }
  .lsh-hero__inner { grid-template-columns:1fr; gap:40px; }
  .lsh-hero__visual { display:none; }
  .lsh-hero__title { font-size:clamp(36px,9vw,52px); }
  .lsh-cats__grid { grid-template-columns:1fr 1fr; gap:14px; }
  .lsh-cat-card { padding:18px; }
  .lsh-products__grid { grid-template-columns:repeat(2,1fr); }
  .lsh-banner__inner { grid-template-columns:1fr; padding:40px 32px; gap:24px; }
  .lsh-banner__visual { display:none; }
  .lsh-why__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:520px) {
  .lsh-cats__grid { grid-template-columns:1fr; }
  .lsh-products__grid { grid-template-columns:1fr 1fr; }
  .lsh-why__grid { grid-template-columns:1fr; }
  .lsh-hero__actions { flex-direction:column; align-items:flex-start; }
}

/* ═══════════════════════════════════════════════════════════════
   TRUST BAR
═══════════════════════════════════════════════════════════════ */
.ls-trust {
  background: var(--bg-2);
  border-top: 1px solid var(--b1);
  padding: 32px 0;
}
.ls-trust__grid {
  width: var(--wrap);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap);
}
.ls-trust__item {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-2);
}
.ls-trust__item svg { color:var(--green); flex-shrink:0; }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════ */
.ls-footer { background: var(--bg-2); border-top:1px solid var(--b1); }
.ls-footer__body { padding:64px 0 48px; }
.ls-footer__grid {
  width: var(--wrap);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: clamp(24px,4vw,56px);
}
.ls-footer__brand {}
.ls-footer__logo-text { font-size:22px; font-weight:900; letter-spacing:-.04em; color:var(--white); margin-bottom:14px; }
.ls-footer__logo-text span { color:var(--green); }
.ls-footer__logo-img { height:40px; width:auto; margin-bottom:14px; }
.ls-footer__tagline { font-size:14px; color:var(--text-3); line-height:1.7; max-width:280px; margin-bottom:24px; }
.ls-social { display:flex; gap:8px; }
.ls-social__btn {
  width:36px; height:36px; border-radius:var(--r2);
  background: var(--glass);
  border: 1px solid var(--b1);
  color:var(--text-3);
  display:flex; align-items:center; justify-content:center;
  transition:all var(--t1) var(--ease);
}
.ls-social__btn:hover { background:var(--green-dim); border-color:var(--green); color:var(--green); }

.ls-footer__col h4 { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); margin-bottom:20px; }
.ls-footer__col ul { display:flex; flex-direction:column; gap:10px; }
.ls-footer__col ul a { font-size:14px; color:var(--text-3); transition:color var(--t1) var(--ease); }
.ls-footer__col ul a:hover { color:var(--white); }

/* Medios de pago */
.ls-payments { border-top:1px solid var(--b1); padding:20px 0; }
.ls-payments__inner {
  width:var(--wrap); margin-inline:auto;
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
}
.ls-payments__label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--text-4); }
.ls-payments__label--sep { margin-left:32px; }
.ls-payments__logos { display:flex; gap:8px; flex-wrap:wrap; }
.ls-payments__chip {
  padding:5px 12px;
  background:var(--glass);
  border:1px solid var(--b1);
  border-radius:var(--r1);
  font-size:11px; font-weight:600;
  color:var(--text-3);
  letter-spacing:.04em;
}

/* Footer bottom */
.ls-footer__bottom { border-top:1px solid var(--b1); padding:16px 0; }
.ls-footer__bottom-inner {
  width:var(--wrap); margin-inline:auto;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:12px; color:var(--text-4);
}
.ls-footer__bottom-inner a { color:var(--text-4); transition:color var(--t1) var(--ease); }
.ls-footer__bottom-inner a:hover { color:var(--text-2); }
.ls-footer__bottom-inner div { display:flex; gap:20px; }

/* ═══════════════════════════════════════════════════════════════
   404
═══════════════════════════════════════════════════════════════ */
.ls-404 {
  display:flex; align-items:center; justify-content:center;
  min-height:70vh; padding:80px 24px; text-align:center;
}
.ls-404__inner { max-width:480px; }
.ls-404__code {
  font-size:clamp(100px,18vw,180px); font-weight:900; line-height:.9;
  background: linear-gradient(135deg, var(--green) 0%, var(--purple) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:24px;
}
.ls-404__title { font-size:clamp(20px,3vw,28px); font-weight:800; margin-bottom:12px; }
.ls-404__msg { color:var(--text-3); font-size:15px; line-height:1.7; margin-bottom:32px; }
.ls-404__actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ═══════════════════════════════════════════════════════════════
   PAGINATION
═══════════════════════════════════════════════════════════════ */
.ls-pagination { display:flex; justify-content:center; margin:48px 0; }
.ls-pagination .page-numbers,
.woocommerce-pagination .page-numbers { display:flex; gap:6px; list-style:none; padding:0; margin:0; }
.ls-pagination .page-numbers a,
.ls-pagination .page-numbers span,
.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px;
  border-radius:var(--r2);
  background:var(--glass); color:var(--text-2);
  font-size:14px; font-weight:600;
  text-decoration:none;
  transition:all var(--t1) var(--ease);
  border:1px solid var(--b1);
}
.ls-pagination .page-numbers .current,
.woocommerce-pagination .page-numbers .current { background:var(--green); color:#000; border-color:var(--green); }
.ls-pagination .page-numbers a:hover,
.woocommerce-pagination .page-numbers a:hover { border-color:var(--green); color:var(--green); background:var(--green-dim); }

/* ═══════════════════════════════════════════════════════════════
   QUANTITY STEPPER
═══════════════════════════════════════════════════════════════ */
.ls-qty-btn {
  width:40px; height:44px;
  background:var(--bg-3); color:var(--text);
  border:1px solid var(--b2); border-radius:var(--r1);
  cursor:pointer; font-size:18px; line-height:1;
  display:inline-flex; align-items:center; justify-content:center;
  transition:all var(--t1) var(--ease);
}
.ls-qty-btn:hover { background:var(--green-dim); border-color:var(--green); color:var(--green); }

/* ═══════════════════════════════════════════════════════════════
   TOAST
═══════════════════════════════════════════════════════════════ */
.ls-toast {
  position:fixed; bottom:28px; left:50%;
  transform:translateX(-50%) translateY(80px);
  background:var(--bg-2); color:var(--white);
  border:1px solid var(--green); border-radius:var(--rmax);
  padding:13px 28px; font-size:14px; font-weight:600;
  z-index:9999; pointer-events:none;
  transition:transform .3s var(--ease), opacity .3s var(--ease);
  opacity:0; white-space:nowrap;
  box-shadow:var(--green-glow);
}
.ls-toast.ls-toast--show { transform:translateX(-50%) translateY(0); opacity:1; }

/* ═══════════════════════════════════════════════════════════════
   BLOG / POSTS GRID
═══════════════════════════════════════════════════════════════ */
.ls-posts-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:var(--gap); }
.ls-post-card { background:var(--glass); border:1px solid var(--b1); border-radius:var(--r3); overflow:hidden; transition:all var(--t2) var(--ease); }
.ls-post-card:hover { transform:translateY(-4px); border-color:var(--b3); }
.ls-post-card__thumb { display:block; aspect-ratio:16/9; overflow:hidden; }
.ls-post-card__thumb img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.ls-post-card:hover .ls-post-card__thumb img { transform:scale(1.05); }
.ls-post-card__body { padding:20px; display:flex; flex-direction:column; gap:12px; }
.ls-post-card__title { font-size:17px; font-weight:800; line-height:1.3; letter-spacing:-.02em; }
.ls-post-card__title a { color:var(--white); }
.ls-post-card__title a:hover { color:var(--green); }
.ls-post-card__excerpt { color:var(--text-3); font-size:14px; line-height:1.65; }

/* ═══════════════════════════════════════════════════════════════
   PAGE CONTENT
═══════════════════════════════════════════════════════════════ */
.ls-page-content__title { font-size:clamp(26px,5vw,44px); font-weight:900; letter-spacing:-.03em; margin-bottom:32px; }
.ls-page-content__body { color:var(--text-2); line-height:1.8; max-width:720px; }
.ls-page-content__body h2 { font-size:24px; font-weight:800; color:var(--white); margin:32px 0 14px; }
.ls-page-content__body h3 { font-size:18px; font-weight:700; color:var(--white); margin:24px 0 10px; }
.ls-page-content__body p { margin-bottom:18px; }
.ls-page-content__body a { color:var(--green); }
.ls-page-content__body ul { list-style:disc; padding-left:20px; margin-bottom:18px; }
.ls-page-content__body li { margin-bottom:6px; }
.ls-no-results { color:var(--text-3); text-align:center; padding:80px 0; font-size:16px; }

/* ═══════════════════════════════════════════════════════════════
   PÁGINA CONTACTO
═══════════════════════════════════════════════════════════════ */
.lsc-hero {
  padding: 60px 0 48px;
  border-bottom: 1px solid var(--b1);
}
.lsc-hero__title {
  font-size: clamp(28px,5vw,52px);
  font-weight: 900;
  letter-spacing: -.03em;
  margin-bottom: 16px;
}
.lsc-hero__desc {
  font-size: 16px;
  color: var(--text-2);
  max-width: 580px;
  line-height: 1.7;
  margin-bottom: 28px;
}
.lsc-hero__chips { display: flex; flex-wrap: wrap; gap: 12px; }
.lsc-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: var(--rmax);
  font-size: 14px;
  font-weight: 600;
  border: 1px solid var(--b2);
  transition: background var(--t1) var(--ease), border-color var(--t1) var(--ease);
  color: var(--text);
}
.lsc-chip--wa { border-color: #25d366; color: #25d366; }
.lsc-chip--wa:hover { background: rgba(37,211,102,.1); }
.lsc-chip--mail:hover { background: var(--glass); }

.lsc-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 64px;
  padding: 64px 0 100px;
  align-items: start;
}
.lsc-section-title {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.02em;
  margin-bottom: 24px;
}

/* Formulario */
.lsc-form { display: flex; flex-direction: column; gap: 20px; }
.lsc-form__row { display: flex; flex-direction: column; gap: 6px; }
.lsc-form__label { font-size: 13px; font-weight: 600; color: var(--text-2); }
.lsc-form__input {
  background: var(--bg-2);
  border: 1px solid var(--b2);
  border-radius: var(--r2);
  padding: 12px 16px;
  font-size: 14px;
  color: var(--white);
  width: 100%;
  transition: border-color var(--t1) var(--ease);
}
.lsc-form__input:focus { outline: none; border-color: var(--green); }
.lsc-form__input::placeholder { color: var(--text-4); }
.lsc-form__textarea { resize: vertical; min-height: 140px; }
.lsc-no-cf7 { color: var(--text-3); font-size: 14px; }

/* Contenido del editor dentro del template contacto */
.lsc-page-content { color: var(--text-2); line-height: 1.8; }
.lsc-page-content p { margin-bottom: 16px; }
.lsc-page-content h2, .lsc-page-content h3 { color: var(--white); font-weight: 800; margin: 24px 0 12px; }
.lsc-page-content iframe { width: 100%; border-radius: var(--r3); border: 1px solid var(--b1); margin-top: 16px; }
.lsc-page-content input, .lsc-page-content textarea, .lsc-page-content select {
  background: var(--bg-2) !important;
  border: 1px solid var(--b2) !important;
  border-radius: var(--r2) !important;
  padding: 12px 16px !important;
  color: var(--white) !important;
  font-size: 14px !important;
  width: 100% !important;
  font-family: inherit !important;
}
.lsc-page-content input:focus, .lsc-page-content textarea:focus { outline: none !important; border-color: var(--green) !important; }
.lsc-page-content input[type="submit"], .lsc-page-content button[type="submit"] {
  background: var(--green) !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--rmax) !important;
  padding: 14px 32px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  width: auto !important;
}
/* No romper CAPTCHA — Cloudflare Turnstile, reCAPTCHA, hCaptcha */
.lsc-page-content .cf-turnstile,
.lsc-page-content .g-recaptcha,
.lsc-page-content .h-captcha { margin-top: 8px; }

.lsc-page-content .cf-turnstile iframe,
.lsc-page-content .g-recaptcha iframe,
.lsc-page-content .h-captcha iframe,
.lsc-page-content [id*="turnstile"] iframe,
.lsc-page-content [class*="turnstile"] iframe {
  border: none !important;
  border-radius: 6px !important;
  width: auto !important;
  margin: 0 !important;
}
.lsc-page-content .cf-turnstile input,
.lsc-page-content .g-recaptcha input,
.lsc-page-content .h-captcha input,
.lsc-page-content [id*="captcha"] input,
.lsc-page-content [class*="captcha"] input,
.lsc-page-content [class*="turnstile"] input {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  width: auto !important;
}

/* Estilos CF7 integrados */
.wpcf7-form { display: flex; flex-direction: column; gap: 18px; }
.wpcf7-form p { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.wpcf7-form label { font-size: 13px; font-weight: 600; color: var(--text-2); }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  background: var(--bg-2);
  border: 1px solid var(--b2);
  border-radius: var(--r2);
  padding: 12px 16px;
  font-size: 14px;
  color: var(--white);
  width: 100%;
  transition: border-color var(--t1) var(--ease);
  font-family: inherit;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus { outline: none; border-color: var(--green); }
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder { color: var(--text-4); }
.wpcf7-form textarea { resize: vertical; min-height: 140px; }
.wpcf7-form input[type="submit"] {
  background: var(--green);
  color: #000;
  border: none;
  border-radius: var(--rmax);
  padding: 14px 32px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity var(--t1) var(--ease);
  width: fit-content;
}
.wpcf7-form input[type="submit"]:hover { opacity: .85; }
.wpcf7-response-output {
  font-size: 13px;
  padding: 10px 16px;
  border-radius: var(--r2);
  border: 1px solid var(--b2);
  color: var(--text-2);
  margin-top: 8px;
}
.wpcf7-mail-sent-ok { border-color: var(--green) !important; color: var(--green) !important; }
.wpcf7-validation-errors { border-color: #f87171 !important; color: #f87171 !important; }
.wpcf7-not-valid-tip { font-size: 12px; color: #f87171; margin-top: 4px; }

/* Info lateral */
.lsc-info__card {
  background: var(--bg-2);
  border: 1px solid var(--b1);
  border-radius: var(--r3);
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 24px;
}
.lsc-info__item { display: flex; align-items: flex-start; gap: 16px; }
.lsc-info__icon {
  width: 40px; height: 40px;
  border-radius: var(--r2);
  background: var(--glass);
  border: 1px solid var(--b1);
  display: flex; align-items: center; justify-content: center;
  color: var(--green);
  flex-shrink: 0;
}
.lsc-info__label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--text-4); margin-bottom: 4px; }
.lsc-info__val { font-size: 14px; color: var(--text-2); }
a.lsc-info__val:hover { color: var(--green); }
.lsc-info__social { display: flex; flex-direction: column; gap: 12px; }
.lsc-info__social-links { display: flex; gap: 10px; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════ */
@media (max-width:1100px) {
  ul.products, .products.columns-4, .woocommerce ul.products { grid-template-columns:repeat(3,1fr) !important; }
  .ls-product-layout { grid-template-columns:1fr 1fr; gap:32px; }
  .ls-footer__grid { grid-template-columns:1fr 1fr; gap:32px; }
  .lsh-why__grid { grid-template-columns:1fr 1fr !important; }
  .lsh-products__grid { grid-template-columns:repeat(3,1fr) !important; }
}
@media (max-width:800px) {
  :root { --hh:60px; }
  .ls-nav { display:none !important; }
  .ls-nav-cta { display:none !important; }
  .ls-burger { display:flex !important; }

  /* Home */
  .lsh-hero { padding: 80px 0 48px !important; }
  .lsh-hero__title { font-size: clamp(28px,8vw,48px) !important; }
  .lsh-hero__actions { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  .lsh-stats { grid-template-columns: repeat(3,1fr) !important; gap:16px !important; }
  .lsh-cats__grid { grid-template-columns: 1fr !important; gap:12px !important; }
  .lsh-products__grid { grid-template-columns: repeat(2,1fr) !important; }
  .lsh-banner { flex-direction:column !important; padding:32px 24px !important; }
  .lsh-banner__text { max-width:100% !important; }
  .lsh-why__grid { grid-template-columns:1fr 1fr !important; gap:16px !important; }

  /* Footer trust bar */
  .ls-trust__grid { grid-template-columns:1fr 1fr; gap:20px; }
  .ls-trust__item { padding:16px 12px !important; }

  /* Footer grid */
  .ls-footer__grid { grid-template-columns:1fr 1fr; gap:28px; }
  .ls-footer__brand { grid-column:span 2; }

  /* Footer payments */
  .ls-payments__inner { flex-wrap:wrap !important; gap:12px !important; }

  /* Productos */
  ul.products, .products.columns-4, .woocommerce ul.products { grid-template-columns:repeat(2,1fr) !important; }

  /* Single product */
  .ls-product-layout { grid-template-columns:1fr !important; gap:28px; }
  .ls-product-gallery { position:static !important; }
  .ls-product-cart .price { font-size:26px !important; }
  .ls-product-cart__trust { grid-template-columns:repeat(2,1fr) !important; }

  /* Contacto */
  .lsc-grid { grid-template-columns:1fr !important; gap:40px !important; }

  /* Cart — 1 columna */
  .woocommerce-cart .woocommerce { grid-template-columns:1fr !important; }
  .woocommerce-cart .cart-collaterals { grid-column:1 !important; grid-row:auto !important; position:static !important; }

  /* Checkout — 1 columna */
  .woocommerce-checkout form.woocommerce-checkout { grid-template-columns:1fr !important; }
  .woocommerce-checkout .woocommerce-checkout-review-order { grid-column:1 !important; grid-row:auto !important; position:static !important; }
}
@media (max-width:520px) {
  /* Productos 2 cols en móvil chico */
  ul.products, .products.columns-4, .woocommerce ul.products { grid-template-columns:1fr 1fr !important; }

  /* Home */
  .lsh-why__grid { grid-template-columns:1fr !important; }
  .lsh-stats { grid-template-columns:repeat(3,1fr) !important; gap:10px !important; }
  .lsh-stats__number { font-size:22px !important; }

  /* Footer */
  .ls-trust__grid { grid-template-columns:1fr 1fr; }
  .ls-footer__grid { grid-template-columns:1fr; }
  .ls-footer__brand { grid-column:1; }
  .ls-payments__inner { flex-direction:column !important; align-items:flex-start !important; gap:10px !important; }
  .ls-payments__label,
  .ls-payments__label--sep { margin-left:0 !important; }

  /* Checkout */
  .ls-404__actions { flex-direction:column; align-items:center; }
  .woocommerce-checkout .col2-set { display:block !important; }
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2 { float:none !important; width:100% !important; }

  /* Carrito tabla — ocultar thumbnail en móvil chico */
  .woocommerce-cart table.cart .product-thumbnail { display:none !important; }
  .woocommerce-cart table.cart th.product-thumbnail { display:none !important; }
  .woocommerce-cart table.cart td { padding:12px 8px !important; font-size:13px !important; }
}
@media (max-width:380px) {
  ul.products, .woocommerce ul.products { grid-template-columns:1fr !important; }
  .ls-product-cart__trust { grid-template-columns:1fr !important; }
}
