/* ================================================================
   A STORE — Home CIP v2 Official (Alternating Dark/Light)
   Para pegar en: Astra Customizer → CSS Adicional
   Versión: 2.2 — HIGH SPECIFICITY para ganarle a inline stuck
   ================================================================ */

/* ──────────────────────────────────────────────────────────────
   1. DESIGN TOKENS — CIP v2 Official Palette
   ────────────────────────────────────────────────────────────── */
body:root,
html body:root {
  /* Brand (CIP v2 official) */
  --astore-cyan:        #00D4FF;
  --astore-cyan-strong: #00A6CE;
  --astore-amber:       #FF8C00;
  --astore-amber-soft:  #FFF3E0;
  --astore-success:     #22C55E;
  --astore-success-soft:#E8F7EE;
  --astore-ink:         #0A0A0A;
  --astore-ink-soft:    #15151A;
  --astore-offwhite:    #F5F5F0;
  --astore-offwhite-2:  #FAFAF5;
  --astore-muted:       #888896;
  --astore-muted-lg:    #6B6E76;
  --astore-border:      rgba(10,10,10,0.08);
  --astore-border-dk:   rgba(10,10,10,0.05);

  /* Semantic */
  --astore-cta-bg:      var(--astore-cyan);
  --astore-cta-text:    var(--astore-ink);
  --astore-urgency-bg:  var(--astore-amber);
  --astore-urgency-text: var(--astore-ink);
  --astore-whatsapp:    #25D366;

  /* Typography */
  --astore-grotesk: 'Space Grotesk', system-ui, sans-serif;
  --astore-inter:   'Inter', system-ui, sans-serif;
  --astore-mono:    'DM Mono', ui-monospace, SFMono-Regular, monospace;

  /* Spacing scale */
  --astore-space-1: 4px;
  --astore-space-2: 8px;
  --astore-space-3: 16px;
  --astore-space-4: 24px;
  --astore-space-5: 32px;
  --astore-space-6: 48px;
  --astore-space-7: 64px;
  --astore-space-8: 96px;

  /* Radii */
  --astore-radius-sm: 6px;
  --astore-radius:    12px;
  --astore-radius-lg: 20px;
  --astore-radius-pill: 100px;

  /* Shadows — Dimensional Layering (4 niveles) */
  --astore-elevation-1: 0 2px 6px rgba(10,10,10,0.06);
  --astore-elevation-2: 0 8px 24px rgba(0,212,255,0.14);
  --astore-elevation-3: 0 16px 32px rgba(0,0,0,0.10);
  --astore-elevation-4: 0 24px 48px rgba(0,0,0,0.12);

  /* Transitions */
  --astore-transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);

  /* Container */
  --astore-container: 1280px;
}

/* ──────────────────────────────────────────────────────────────
   2. GLOBAL BASE — Tipografía + Reset (HIGH SPECIFICITY)
   ────────────────────────────────────────────────────────────── */
html body,
html body.page-id-16,
body.page-id-16 {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--astore-offwhite) !important;
  color: var(--astore-ink) !important;
}

html body,
html body.page-id-16,
body.page-id-16 {
  font-family: var(--astore-inter) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.65;
}

html body h1, html body h2,
html body.page-id-16 h1, html body.page-id-16 h2 {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: var(--astore-ink) !important;
}

html body h3, html body h4,
html body.page-id-16 h3, html body.page-id-16 h4 {
  font-family: var(--astore-grotesk) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  color: var(--astore-ink) !important;
}

/* Mono para datos técnicos, precios, badges, ticker */
html body .astore-mono,
html body .woocommerce .price,
html body .woocommerce .badge,
html body .ticker,
html body .astore-ticker,
html body .woocommerce-Price-amount,
body.page-id-16 .astore-mono,
body.page-id-16 .woocommerce .price,
body.page-id-16 .woocommerce .badge,
body.page-id-16 .ticker,
body.page-id-16 .astore-ticker,
body.page-id-16 .woocommerce-Price-amount {
  font-family: var(--astore-mono) !important;
}

/* ──────────────────────────────────────────────────────────────
   3. ACCESIBILIDAD
   ────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  html body *, html body *::before, html body *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  html body .astore-ticker { animation-play-state: paused !important; }
}

html body :focus-visible,
body.page-id-16 :focus-visible {
  outline: 2px solid var(--astore-cyan) !important;
  outline-offset: 3px !important;
  border-radius: 4px !important;
}

html body .astore-button,
html body .astore-card[onclick],
html body a[data-action],
html body button[type="submit"],
html body .woocommerce a.button,
html body .menu-toggle,
html body .astore-cta,
html body .astore-fab-final,
html body .astore-whatsapp-fab,
body.page-id-16 .astore-button,
body.page-id-16 .astore-card[onclick],
body.page-id-16 a[data-action],
body.page-id-16 button[type="submit"],
body.page-id-16 .woocommerce a.button,
body.page-id-16 .menu-toggle,
body.page-id-16 .astore-cta,
body.page-id-16 .astore-fab-final,
body.page-id-16 .astore-whatsapp-fab {
  cursor: pointer !important;
}

/* ──────────────────────────────────────────────────────────────
   4. BOTONES MODERNOS — Pill + Glow + States
   ────────────────────────────────────────────────────────────── */
html body .astore-button,
html body .btn-cyan,
html body .btn-green,
body.page-id-16 .astore-button,
body.page-id-16 .btn-cyan,
body.page-id-16 .btn-green {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 14px 28px !important;
  border-radius: var(--astore-radius-pill) !important;
  cursor: pointer !important;
  transition: all var(--astore-transition) !important;
  border: none !important;
  user-select: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

html body .astore-button-primary,
body.page-id-16 .astore-button-primary {
  background: var(--astore-cyan) !important;
  color: var(--astore-ink) !important;
  box-shadow: var(--astore-elevation-2) !important;
}

html body .astore-button-primary:hover,
body.page-id-16 .astore-button-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(0,212,255,0.28) !important;
}

html body .astore-button-primary:active,
body.page-id-16 .astore-button-primary:active {
  transform: translateY(0) !important;
  box-shadow: var(--astore-elevation-2) !important;
}

html body .astore-button-whatsapp,
html body .btn-green,
body.page-id-16 .astore-button-whatsapp,
body.page-id-16 .btn-green {
  background: var(--astore-whatsapp) !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 24px rgba(37,211,102,0.20) !important;
}

html body .astore-button-whatsapp:hover,
html body .btn-green:hover,
body.page-id-16 .astore-button-whatsapp:hover,
body.page-id-16 .btn-green:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(37,211,102,0.30) !important;
}

html body .astore-button-primary,
html body .btn-cyan,
body.page-id-16 .astore-button-primary,
body.page-id-16 .btn-cyan {
  background: var(--astore-cyan) !important;
  color: var(--astore-ink) !important;
  box-shadow: var(--astore-elevation-2) !important;
}

html body .astore-button-primary:hover,
html body .btn-cyan:hover,
body.page-id-16 .astore-button-primary:hover,
body.page-id-16 .btn-cyan:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(0,212,255,0.28) !important;
}

html body .astore-button-primary:active,
html body .btn-cyan:active,
body.page-id-16 .astore-button-primary:active,
body.page-id-16 .btn-cyan:active {
  transform: translateY(0) !important;
  box-shadow: var(--astore-elevation-2) !important;
}

html body .astore-button-ghost,
body.page-id-16 .astore-button-ghost {
  background: transparent !important;
  color: var(--astore-cyan) !important;
  border: 1.5px solid var(--astore-cyan) !important;
}

html body .astore-button-ghost:hover,
body.page-id-16 .astore-button-ghost:hover {
  background: var(--astore-cyan) !important;
  color: var(--astore-ink) !important;
}

html body .astore-button-outline-white,
body.page-id-16 .astore-button-outline-white {
  background: transparent !important;
  color: #FFFFFF !important;
  border: 1.5px solid #FFFFFF !important;
}

html body .astore-button-outline-white:hover,
body.page-id-16 .astore-button-outline-white:hover {
  background: #FFFFFF !important;
  color: var(--astore-ink) !important;
}

/* Override botones WooCommerce — HIGH SPECIFICITY */
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .woocommerce input.button,
body.page-id-16 .woocommerce a.button,
body.page-id-16 .woocommerce button.button,
body.page-id-16 .woocommerce input.button {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 14px 28px !important;
  border-radius: var(--astore-radius-pill) !important;
  border: none !important;
  transition: all var(--astore-transition) !important;
  box-shadow: var(--astore-elevation-2) !important;
}

html body .woocommerce a.button.alt,
html body .woocommerce button.button.alt,
html body .woocommerce input.button.alt,
html body .woocommerce a.button.add_to_cart_button,
body.page-id-16 .woocommerce a.button.alt,
body.page-id-16 .woocommerce button.button.alt,
body.page-id-16 .woocommerce input.button.alt,
body.page-id-16 .woocommerce a.button.add_to_cart_button {
  background: var(--astore-cyan) !important;
  color: var(--astore-ink) !important;
}

html body .woocommerce a.button.alt:hover,
html body .woocommerce button.button.alt:hover,
html body .woocommerce input.button.alt:hover,
body.page-id-16 .woocommerce a.button.alt:hover,
body.page-id-16 .woocommerce button.button.alt:hover,
body.page-id-16 .woocommerce input.button.alt:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(0,212,255,0.28) !important;
  background: var(--astore-cyan-strong) !important;
}

/* ──────────────────────────────────────────────────────────────
   5. HEADER / NAV — Glassmorphism al scroll
   ────────────────────────────────────────────────────────────── */
html body .site-header,
body.page-id-16 .site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  transition: background var(--astore-transition), box-shadow var(--astore-transition) !important;
  background: transparent !important;
}

html body .site-header.scrolled,
html body .site-header[style*="fixed"],
body.page-id-16 .site-header.scrolled,
body.page-id-16 .site-header[style*="fixed"] {
  background: rgba(255,255,255,0.85) !important;
  backdrop-filter: saturate(180%) blur(16px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(16px) !important;
  box-shadow: var(--astore-elevation-1) !important;
  border-bottom: 1px solid var(--astore-border) !important;
}

html body .site-branding .site-title a,
body.page-id-16 .site-branding .site-title a {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  letter-spacing: -0.02em !important;
  color: var(--astore-ink) !important;
  text-decoration: none !important;
}

html body .main-header-menu .menu-item a,
body.page-id-16 .main-header-menu .menu-item a {
  font-family: var(--astore-inter) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--astore-ink) !important;
  padding: 8px 16px !important;
  border-radius: var(--astore-radius) !important;
  transition: all var(--astore-transition) !important;
}

html body .main-header-menu .menu-item a:hover,
body.page-id-16 .main-header-menu .menu-item a:hover {
  background: var(--astore-offwhite) !important;
  color: var(--astore-cyan) !important;
}

html body .menu-toggle,
body.page-id-16 .menu-toggle {
  border: 1.5px solid var(--astore-cyan) !important;
  border-radius: var(--astore-radius) !important;
  padding: 8px 12px !important;
  color: var(--astore-cyan) !important;
}

html body .menu-toggle:hover,
body.page-id-16 .menu-toggle:hover {
  background: var(--astore-cyan) !important;
  color: var(--astore-ink) !important;
}

/* ──────────────────────────────────────────────────────────────
   6. BLOQUE 00 — BARRA URGENCIA (AMBER STICKY)
   ────────────────────────────────────────────────────────────── */
html body .astore-urgency-bar,
body.page-id-16 .astore-urgency-bar {
  background: var(--astore-urgency-bg) !important;
  color: var(--astore-urgency-text) !important;
  text-align: center !important;
  padding: 11px 22px !important;
  font-family: var(--astore-mono) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 10000 !important;
  border-bottom: 1px solid rgba(10,10,10,0.08) !important;
}

html body .astore-urgency-bar::before,
body.page-id-16 .astore-urgency-bar::before {
  content: '' !important;
  display: inline-block !important;
  width: 7px !important; height: 7px !important;
  background: var(--astore-ink) !important;
  border-radius: 50% !important;
  margin-right: 10px !important;
  vertical-align: middle !important;
}

html body .astore-urgency-bar .astore-urge-item,
body.page-id-16 .astore-urgency-bar .astore-urge-item {
  display: inline-block !important;
  padding: 0 14px !important;
}

html body .astore-urgency-bar .astore-urge-item a,
body.page-id-16 .astore-urgency-bar .astore-urge-item a {
  color: var(--astore-ink) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 1.5px solid var(--astore-ink) !important;
  padding-bottom: 1px !important;
}

html body .astore-urgency-bar .astore-urge-item a:hover,
body.page-id-16 .astore-urgency-bar .astore-urge-item a:hover {
  opacity: 0.8 !important;
}

/* ──────────────────────────────────────────────────────────────
   7. BLOQUE 02 — HERO CINEMATOGRÁFICO (DARK) — 90vh
   ────────────────────────────────────────────────────────────── */
html body .astore-hero,
body.page-id-16 .astore-hero {
  min-height: 90vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  position: relative !important;
  background-size: cover !important;
  background-position: center !important;
  color: var(--astore-offwhite) !important;
  padding: 0 var(--astore-space-5) !important;
}

html body .astore-hero::before,
body.page-id-16 .astore-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,0.55) !important;
  z-index: 0 !important;
}

html body .astore-hero::after,
body.page-id-16 .astore-hero::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 80% 20%, rgba(0,212,255,0.12), transparent 60%) !important;
  z-index: 0 !important;
}

html body .astore-hero-inner,
body.page-id-16 .astore-hero-inner {
  position: relative !important;
  z-index: 1 !important;
  max-width: var(--astore-container) !important;
  margin: 0 auto !important;
  width: 100% !important;
}

html body .astore-hero .badge-dm,
body.page-id-16 .astore-hero .badge-dm {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--astore-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--astore-cyan) !important;
  border: 1.5px solid var(--astore-cyan) !important;
  padding: 6px 14px !important;
  border-radius: var(--astore-radius-sm) !important;
  margin-bottom: var(--astore-space-4) !important;
  background: rgba(255,255,255,0.1) !important;
  backdrop-filter: blur(8px) !important;
}

html body .astore-hero h1,
body.page-id-16 .astore-hero h1 {
  font-family: var(--astore-grotesk) !important;
  font-size: clamp(48px, 8vw, 96px) !important;
  font-weight: 700 !important;
  line-height: 1.0 !important;
  letter-spacing: -0.03em !important;
  color: var(--astore-offwhite) !important;
  margin: 0 0 var(--astore-space-4) !important;
  max-width: 880px !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.5) !important;
}

html body .astore-hero-sub,
body.page-id-16 .astore-hero-sub {
  font-size: 18px !important;
  color: rgba(245,245,240,0.7) !important;
  max-width: 600px !important;
  margin: 0 0 var(--astore-space-5) !important;
  line-height: 1.5 !important;
}

html body .astore-hero-ctas,
body.page-id-16 .astore-hero-ctas {
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-bottom: var(--astore-space-6) !important;
}

/* Ticker animado en hero */
html body .ticker,
html body .astore-ticker,
body.page-id-16 .ticker,
body.page-id-16 .astore-ticker {
  display: flex !important;
  gap: 32px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  font-family: var(--astore-mono) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--astore-amber) !important;
  animation: astore-ticker 25s linear infinite !important;
}

html body .ticker span,
html body .astore-ticker span,
body.page-id-16 .ticker span,
body.page-id-16 .astore-ticker span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 16px !important;
  flex-shrink: 0 !important;
}

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

/* ──────────────────────────────────────────────────────────────
   8. BLOQUE 03 — SELLOS CONFIANZA (LIGHT — off-white)
   ────────────────────────────────────────────────────────────── */
html body .astore-trust-section,
body.page-id-16 .astore-trust-section {
  background: var(--astore-offwhite) !important;
  padding: var(--astore-space-7) var(--astore-space-5) !important;
}

html body .astore-trust-row,
body.page-id-16 .astore-trust-row {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: var(--astore-space-4) !important;
  max-width: var(--astore-container) !important;
  margin: 0 auto !important;
}

html body .astore-trust-row .item,
body.page-id-16 .astore-trust-row .item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--astore-space-2) !important;
  text-align: center !important;
  padding: var(--astore-space-3) !important;
}

html body .astore-trust-row .ico,
body.page-id-16 .astore-trust-row .ico {
  font-size: 28px !important;
  line-height: 1 !important;
}

html body .astore-trust-row .item span:last-child,
body.page-id-16 .astore-trust-row .item span:last-child {
  font-family: var(--astore-inter) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--astore-ink) !important;
}

@media (max-width: 768px) {
  html body .astore-trust-row,
  body.page-id-16 .astore-trust-row {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  html body .astore-trust-row,
  body.page-id-16 .astore-trust-row {
    grid-template-columns: 1fr !important;
  }
}

/* ──────────────────────────────────────────────────────────────
   9. BLOQUE 04 — PRODUCTOS MÁS VENDIDOS (LIGHT — off-white)
   ────────────────────────────────────────────────────────────── */
html body .astore-productos,
body.page-id-16 .astore-productos {
  background: var(--astore-offwhite) !important;
  padding: var(--astore-space-8) var(--astore-space-5) !important;
}

html body .astore-section-head,
body.page-id-16 .astore-section-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  max-width: var(--astore-container) !important;
  margin: 0 auto var(--astore-space-6) !important;
  padding: 0 var(--astore-space-3) !important;
}

html body .astore-section-head h2,
body.page-id-16 .astore-section-head h2 {
  font-size: clamp(32px, 4vw, 48px) !important;
  margin: 0 !important;
  color: var(--astore-ink) !important;
}

html body .astore-link-ghost,
body.page-id-16 .astore-link-ghost {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.10em !important;
  color: var(--astore-cyan-strong) !important;
  border: 1.5px solid var(--astore-cyan) !important;
  padding: 12px 20px !important;
  border-radius: var(--astore-radius-sm) !important;
  text-decoration: none !important;
  transition: all var(--astore-transition) !important;
}

html body .astore-link-ghost:hover,
body.page-id-16 .astore-link-ghost:hover {
  background: var(--astore-cyan) !important;
  color: #FFFFFF !important;
}

html body .astore-productos ul.products,
body.page-id-16 .astore-productos ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  margin: 0 !important;
  max-width: var(--astore-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body .astore-productos ul.products li.product,
body.page-id-16 .astore-productos ul.products li.product {
  margin: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid var(--astore-border) !important;
  border-radius: var(--astore-radius) !important;
  overflow: hidden !important;
  transition: all var(--astore-transition) !important;
  box-shadow: var(--astore-elevation-1) !important;
}

html body .astore-productos ul.products li.product:hover,
body.page-id-16 .astore-productos ul.products li.product:hover {
  border-color: var(--astore-cyan) !important;
  transform: translateY(-4px) !important;
  box-shadow: var(--astore-elevation-3) !important;
}

html body .astore-productos .astra-shop-thumbnail-wrap,
body.page-id-16 .astore-productos .astra-shop-thumbnail-wrap {
  overflow: hidden !important;
}

html body .astore-productos .astra-shop-thumbnail-wrap img,
body.page-id-16 .astore-productos .astra-shop-thumbnail-wrap img {
  transition: transform 500ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

html body .astore-productos ul.products li.product:hover .astra-shop-thumbnail-wrap img,
body.page-id-16 .astore-productos ul.products li.product:hover .astra-shop-thumbnail-wrap img {
  transform: scale(1.06) !important;
}

html body .astore-productos .woocommerce-loop-product__title,
body.page-id-16 .astore-productos .woocommerce-loop-product__title {
  font-family: var(--astore-inter) !important;
  font-weight: 600 !important;
  color: var(--astore-ink) !important;
  font-size: 1.02rem !important;
  padding: var(--astore-space-3) var(--astore-space-3) 0 !important;
  margin: 0 !important;
}

html body .astore-productos .price,
body.page-id-16 .astore-productos .price {
  font-family: var(--astore-mono) !important;
  color: var(--astore-ink) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 0 var(--astore-space-3) var(--astore-space-3) !important;
  margin: 0 !important;
}

html body .astore-productos .price ins,
body.page-id-16 .astore-productos .price ins { background: transparent !important; }
html body .astore-productos .price del,
body.page-id-16 .astore-productos .price del {
  color: var(--astore-muted) !important;
  font-weight: 500 !important;
}

html body .astore-productos .button,
body.page-id-16 .astore-productos .button {
  background: var(--astore-cyan) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  font-weight: 700 !important;
  margin: 0 var(--astore-space-3) var(--astore-space-3) !important;
  padding: 12px 20px !important;
  border-radius: var(--astore-radius-pill) !important;
  width: calc(100% - 32px) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-family: var(--astore-grotesk) !important;
  font-size: 13px !important;
  transition: all var(--astore-transition) !important;
  box-shadow: var(--astore-elevation-2) !important;
}

html body .astore-productos .button:hover,
body.page-id-16 .astore-productos .button:hover {
  background: var(--astore-cyan-strong) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(0,212,255,0.28) !important;
}

@media (max-width: 1024px) {
  html body .astore-productos ul.products,
  body.page-id-16 .astore-productos ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 768px) {
  html body .astore-productos ul.products,
  body.page-id-16 .astore-productos ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  html body .astore-productos ul.products,
  body.page-id-16 .astore-productos ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ──────────────────────────────────────────────────────────────
   10. BLOQUE 05 — FEATURE PRODUCT (DARK — ink 50/50)
   ────────────────────────────────────────────────────────────── */
html body .astore-feature,
body.page-id-16 .astore-feature {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  background: var(--astore-ink) !important;
  color: var(--astore-offwhite) !important;
  overflow: hidden !important;
  position: relative !important;
}

html body .astore-feature-img,
body.page-id-16 .astore-feature-img {
  min-height: 540px !important;
  background: var(--astore-ink-soft) !important;
  position: relative !important;
  overflow: hidden !important;
}

html body .astore-feature-img::after,
body.page-id-16 .astore-feature-img::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, transparent 70%, var(--astore-ink) 100%) !important;
  pointer-events: none !important;
}

html body .astore-feature-img img,
body.page-id-16 .astore-feature-img img {
  display: block !important; width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
}

html body .astore-feature:hover img,
body.page-id-16 .astore-feature:hover img {
  transform: scale(1.04) !important;
}

html body .astore-feature-body,
body.page-id-16 .astore-feature-body {
  padding: 80px 70px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

html body .astore-feature-badge,
body.page-id-16 .astore-feature-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--astore-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--astore-cyan) !important;
  border: 1.5px solid var(--astore-cyan) !important;
  padding: 6px 14px !important;
  border-radius: var(--astore-radius-sm) !important;
  margin-bottom: 28px !important;
  width: fit-content !important;
  background: rgba(0,212,255,0.1) !important;
}

html body .astore-feature-body h2,
body.page-id-16 .astore-feature-body h2 {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: clamp(2.4rem, 3.8vw, 3.2rem) !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 16px !important;
  line-height: 1.05 !important;
  color: var(--astore-offwhite) !important;
}

html body .astore-feature-tag,
body.page-id-16 .astore-feature-tag {
  color: var(--astore-muted) !important;
  font-size: 1.05rem !important;
  line-height: 1.5 !important;
  margin: 0 0 22px !important;
  max-width: 480px !important;
}

html body .astore-feature-body .precio,
body.page-id-16 .astore-feature-body .precio {
  font-family: var(--astore-mono) !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
  color: var(--astore-offwhite) !important;
  margin-bottom: 24px !important;
}

html body .astore-feature-body .precio del,
body.page-id-16 .astore-feature-body .precio del {
  color: var(--astore-muted) !important;
  font-weight: 500 !important;
  margin-right: 12px !important;
}

html body .astore-feature-body .precio em,
body.page-id-16 .astore-feature-body .precio em {
  font-style: normal !important;
  color: var(--astore-success) !important;
  font-size: 0.8em !important;
  margin-left: 12px !important;
  font-weight: 700 !important;
}

html body .astore-feature-garantias,
body.page-id-16 .astore-feature-garantias {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
  color: var(--astore-muted) !important;
  font-size: 0.95rem !important;
  display: flex !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

html body .astore-feature-garantias li::before,
body.page-id-16 .astore-feature-garantias li::before {
  content: '+ ' !important;
  color: var(--astore-cyan) !important;
  font-weight: 700 !important;
}

html body .astore-feature-ctas,
body.page-id-16 .astore-feature-ctas {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

@media (max-width: 900px) {
  html body .astore-feature,
  body.page-id-16 .astore-feature {
    grid-template-columns: 1fr !important;
  }
  html body .astore-feature-img,
  body.page-id-16 .astore-feature-img {
    min-height: 320px !important;
  }
  html body .astore-feature-img::after,
  body.page-id-16 .astore-feature-img::after {
    background: linear-gradient(180deg, transparent 70%, var(--astore-ink) 100%) !important;
  }
  html body .astore-feature-body,
  body.page-id-16 .astore-feature-body {
    padding: 48px 28px !important;
  }
}

/* ──────────────────────────────────────────────────────────────
   11. BLOQUE 06 — CARTELERA EVENTOS (DARK — ink)
   ────────────────────────────────────────────────────────────── */
html body .astore-cartelera,
body.page-id-16 .astore-cartelera {
  background: var(--astore-ink) !important;
  color: var(--astore-offwhite) !important;
  padding: var(--astore-space-8) var(--astore-space-5) !important;
}

html body .astore-cartelera > h2,
html body .astore-cartelera h2,
body.page-id-16 .astore-cartelera > h2,
body.page-id-16 .astore-cartelera h2 {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: clamp(2.2rem, 3.5vw, 3rem) !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 var(--astore-space-6) !important;
  max-width: var(--astore-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 var(--astore-space-3) !important;
}

html body .astore-cartelera-track,
body.page-id-16 .astore-cartelera-track {
  display: flex !important;
  gap: 20px !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  padding: var(--astore-space-2) var(--astore-space-3) !important;
  margin: 0 calc(-1 * var(--astore-space-3)) !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--astore-cyan) transparent !important;
}

html body .astore-cartelera-track::-webkit-scrollbar,
body.page-id-16 .astore-cartelera-track::-webkit-scrollbar {
  height: 8px !important;
}

html body .astore-cartelera-track::-webkit-scrollbar-track,
body.page-id-16 .astore-cartelera-track::-webkit-scrollbar-track {
  background: transparent !important;
}

html body .astore-cartelera-track::-webkit-scrollbar-thumb,
body.page-id-16 .astore-cartelera-track::-webkit-scrollbar-thumb {
  background: var(--astore-cyan) !important;
  border-radius: 4px !important;
}

html body .astore-event-card,
body.page-id-16 .astore-event-card {
  flex: 0 0 320px !important;
  scroll-snap-align: start !important;
  background: var(--astore-ink-soft) !important;
  border: 1px solid var(--astore-border-dk) !important;
  border-radius: var(--astore-radius-lg) !important;
  overflow: hidden !important;
  transition: all var(--astore-transition) !important;
  display: flex !important;
  flex-direction: column !important;
}

html body .astore-event-card:hover,
body.page-id-16 .astore-event-card:hover {
  border-color: var(--astore-cyan) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 32px rgba(0,212,255,0.15) !important;
}

html body .astore-event-img,
body.page-id-16 .astore-event-img {
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
}

html body .astore-event-img img,
body.page-id-16 .astore-event-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 500ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}

html body .astore-event-card:hover .astore-event-img img,
body.page-id-16 .astore-event-card:hover .astore-event-img img {
  transform: scale(1.06) !important;
}

html body .astore-event-body,
body.page-id-16 .astore-event-body {
  padding: var(--astore-space-4) !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

html body .astore-event-badge,
body.page-id-16 .astore-event-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: var(--astore-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: var(--astore-radius-pill) !important;
  width: fit-content !important;
  margin-bottom: var(--astore-space-2) !important;
}

html body .astore-event-badge.status-abierta,
body.page-id-16 .astore-event-badge.status-abierta {
  background: var(--astore-success-soft) !important;
  color: var(--astore-success) !important;
}

html body .astore-event-badge.status-agotado,
body.page-id-16 .astore-event-badge.status-agotado {
  background: rgba(255,255,255,0.1) !important;
  color: var(--astore-muted) !important;
}

html body .astore-event-badge.status-proximamente,
body.page-id-16 .astore-event-badge.status-proximamente {
  background: var(--astore-amber-soft) !important;
  color: var(--astore-amber) !important;
}

html body .astore-event-title,
body.page-id-16 .astore-event-title {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 8px !important;
  color: var(--astore-offwhite) !important;
}

html body .astore-event-meta,
body.page-id-16 .astore-event-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  font-family: var(--astore-mono) !important;
  font-size: 12px !important;
  color: var(--astore-muted) !important;
  margin-bottom: auto !important;
}

html body .astore-event-price,
body.page-id-16 .astore-event-price {
  font-family: var(--astore-mono) !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  color: var(--astore-cyan) !important;
  margin-top: var(--astore-space-3) !important;
}

@media (max-width: 768px) {
  html body .astore-event-card,
  body.page-id-16 .astore-event-card {
    flex: 0 0 280px !important;
  }
}

/* ──────────────────────────────────────────────────────────────
   12. BLOQUE 07 — SERVICIOS ORGANIZADORES (LIGHT — off-white)
   ────────────────────────────────────────────────────────────── */
html body .astore-services,
body.page-id-16 .astore-services {
  background: var(--astore-offwhite) !important;
  padding: var(--astore-space-8) var(--astore-space-5) !important;
}

html body .astore-services > h2,
body.page-id-16 .astore-services > h2 {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: clamp(2.2rem, 3.5vw, 3rem) !important;
  letter-spacing: -0.025em !important;
  text-align: center !important;
  margin: 0 0 var(--astore-space-7) !important;
  color: var(--astore-ink) !important;
}

html body .astore-services-grid,
body.page-id-16 .astore-services-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  max-width: var(--astore-container) !important;
  margin: 0 auto !important;
}

html body .astore-service-card,
body.page-id-16 .astore-service-card {
  background: #FFFFFF !important;
  border: 1px solid var(--astore-border) !important;
  border-radius: var(--astore-radius-lg) !important;
  padding: var(--astore-space-6) !important;
  transition: all var(--astore-transition) !important;
  text-align: left !important;
  box-shadow: var(--astore-elevation-1) !important;
}

html body .astore-service-card:hover,
body.page-id-16 .astore-service-card:hover {
  border-color: var(--astore-cyan) !important;
  transform: translateY(-4px) !important;
  box-shadow: var(--astore-elevation-3) !important;
}

html body .astore-service-icon,
body.page-id-16 .astore-service-icon {
  font-size: 36px !important;
  line-height: 1 !important;
  margin-bottom: var(--astore-space-4) !important;
}

html body .astore-service-card h3,
body.page-id-16 .astore-service-card h3 {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 var(--astore-space-2) !important;
  color: var(--astore-ink) !important;
}

html body .astore-service-card p,
body.page-id-16 .astore-service-card p {
  color: var(--astore-muted-lg) !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  margin: 0 0 var(--astore-space-4) !important;
}

html body .astore-service-card .card-cta,
body.page-id-16 .astore-service-card .card-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--astore-mono) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--astore-cyan-strong) !important;
  text-decoration: none !important;
  border-bottom: 2px solid var(--astore-cyan) !important;
  padding-bottom: 2px !important;
  transition: all var(--astore-transition) !important;
}

html body .astore-service-card .card-cta:hover,
body.page-id-16 .astore-service-card .card-cta:hover {
  gap: 14px !important;
  color: var(--astore-ink) !important;
  border-bottom-color: var(--astore-ink) !important;
}

@media (max-width: 768px) {
  html body .astore-services-grid,
  body.page-id-16 .astore-services-grid {
    grid-template-columns: 1fr !important;
  }
  html body .astore-services,
  body.page-id-16 .astore-services {
    padding: var(--astore-space-7) var(--astore-space-4) !important;
  }
}

/* ──────────────────────────────────────────────────────────────
   13. BLOQUE 08 — STATS + RESEÑAS (DARK — ink)
   ────────────────────────────────────────────────────────────── */
html body .astore-social,
body.page-id-16 .astore-social {
  background: var(--astore-ink) !important;
  padding: var(--astore-space-8) var(--astore-space-5) !important;
  text-align: center !important;
  color: var(--astore-offwhite) !important;
}

html body .astore-stats,
body.page-id-16 .astore-stats {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 40px 24px !important;
  max-width: 1100px !important;
  margin: 0 auto var(--astore-space-7) !important;
}

html body .astore-stat,
body.page-id-16 .astore-stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
}

html body .astore-stat .num,
body.page-id-16 .astore-stat .num {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: clamp(3.4rem, 5.6vw, 4.6rem) !important;
  color: var(--astore-cyan) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.03em !important;
}

html body .astore-stat .lab,
body.page-id-16 .astore-stat .lab {
  font-family: var(--astore-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--astore-muted) !important;
}

html body .astore-resenas,
body.page-id-16 .astore-resenas {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 24px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

html body .astore-resena,
body.page-id-16 .astore-resena {
  background: var(--astore-ink-soft) !important;
  border: 1px solid var(--astore-border-dk) !important;
  border-radius: var(--astore-radius-lg) !important;
  padding: 32px 30px !important;
  text-align: left !important;
  transition: all var(--astore-transition) !important;
  box-shadow: var(--astore-elevation-1) !important;
}

html body .astore-resena:hover,
body.page-id-16 .astore-resena:hover {
  border-color: var(--astore-cyan) !important;
  transform: translateY(-3px) !important;
  box-shadow: var(--astore-elevation-3) !important;
}

html body .astore-resena .estrellas,
body.page-id-16 .astore-resena .estrellas {
  color: var(--astore-amber) !important;
  font-size: 1.05rem !important;
  letter-spacing: 4px !important;
  margin-bottom: 14px !important;
}

html body .astore-resena p,
body.page-id-16 .astore-resena p {
  font-family: var(--astore-inter) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--astore-offwhite) !important;
  line-height: 1.55 !important;
  margin: 0 0 16px !important;
  font-size: 1.02rem !important;
}

html body .astore-resena .autor,
body.page-id-16 .astore-resena .autor {
  display: block !important;
  font-family: var(--astore-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--astore-muted) !important;
}

@media (max-width: 768px) {
  html body .astore-social,
  body.page-id-16 .astore-social {
    padding: var(--astore-space-7) var(--astore-space-4) !important;
  }
}

/* ──────────────────────────────────────────────────────────────
   14. BLOQUE 09 — CÓMO COMPRAR (DARK — ink)
   ────────────────────────────────────────────────────────────── */
html body .astore-como-comprar,
body.page-id-16 .astore-como-comprar {
  background: var(--astore-ink) !important;
  padding: var(--astore-space-8) var(--astore-space-5) !important;
  text-align: center !important;
  color: var(--astore-offwhite) !important;
}

html body .astore-como-comprar h2,
body.page-id-16 .astore-como-comprar h2 {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: clamp(2.2rem, 3.5vw, 3rem) !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 var(--astore-space-7) !important;
  color: var(--astore-offwhite) !important;
}

html body .astore-steps,
body.page-id-16 .astore-steps {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 32px !important;
  max-width: 1100px !important;
  margin: 0 auto var(--astore-space-7) !important;
}

html body .astore-step,
body.page-id-16 .astore-step {
  padding: 36px 28px !important;
  background: var(--astore-ink-soft) !important;
  border: 1px solid var(--astore-border-dk) !important;
  border-radius: var(--astore-radius-lg) !important;
  transition: all var(--astore-transition) !important;
  text-align: left !important;
  box-shadow: var(--astore-elevation-1) !important;
}

html body .astore-step:hover,
body.page-id-16 .astore-step:hover {
  border-color: var(--astore-cyan) !important;
  transform: translateY(-4px) !important;
  box-shadow: var(--astore-elevation-3) !important;
}

html body .astore-step .num,
body.page-id-16 .astore-step .num {
  display: inline-block !important;
  font-family: var(--astore-mono) !important;
  font-weight: 700 !important;
  font-size: 2rem !important;
  color: var(--astore-cyan) !important;
  margin-bottom: 16px !important;
}

html body .astore-step h3,
body.page-id-16 .astore-step h3 {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.01em !important;
  color: var(--astore-offwhite) !important;
}

html body .astore-step p,
body.page-id-16 .astore-step p {
  color: var(--astore-muted) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  html body .astore-como-comprar,
  body.page-id-16 .astore-como-comprar {
    padding: var(--astore-space-7) var(--astore-space-4) !important;
  }
}

/* ──────────────────────────────────────────────────────────────
   15. BLOQUE 10 — CTA FINAL WHATSAPP (GRADIENT — LIGHT)
   ────────────────────────────────────────────────────────────── */
html body .astore-cta-final,
body.page-id-16 .astore-cta-final {
  background: linear-gradient(135deg, var(--astore-offwhite) 50%, #E5F7FA 100%) !important;
  color: var(--astore-ink) !important;
  padding: var(--astore-space-8) var(--astore-space-5) !important;
  text-align: center !important;
  position: relative !important;
}

html body .astore-cta-final::before,
body.page-id-16 .astore-cta-final::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; right: 0 !important;
  width: 400px !important; height: 400px !important;
  background: radial-gradient(circle, rgba(0,212,255,0.08), transparent 70%) !important;
  pointer-events: none !important;
}

html body .astore-cta-final h2,
body.page-id-16 .astore-cta-final h2 {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: clamp(2.4rem, 4vw, 3.4rem) !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 16px !important;
  color: var(--astore-ink) !important;
  position: relative !important; z-index: 1 !important;
}

html body .astore-cta-final p,
body.page-id-16 .astore-cta-final p {
  color: var(--astore-muted) !important;
  font-size: 1.1rem !important;
  margin: 0 0 var(--astore-space-6) !important;
  position: relative !important; z-index: 1 !important;
}

html body .astore-fab-final,
body.page-id-16 .astore-fab-final {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: var(--astore-success) !important;
  color: #FFFFFF !important;
  padding: 18px 40px !important;
  border-radius: var(--astore-radius) !important;
  text-decoration: none !important;
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  transition: all var(--astore-transition) !important;
  box-shadow: 0 6px 20px rgba(34,197,94,0.30) !important;
  position: relative !important; z-index: 1 !important;
}

html body .astore-fab-final:hover,
body.page-id-16 .astore-fab-final:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 32px rgba(34,197,94,0.50) !important;
  color: #FFFFFF !important;
}

html body .astore-cta-final .astore-tel,
body.page-id-16 .astore-cta-final .astore-tel {
  display: inline-block !important;
  margin-top: 28px !important;
  font-family: var(--astore-mono) !important;
  color: var(--astore-cyan-strong) !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.05em !important;
  font-weight: 700 !important;
  position: relative !important; z-index: 1 !important;
}

@media (max-width: 768px) {
  html body .astore-cta-final,
  body.page-id-16 .astore-cta-final {
    padding: var(--astore-space-7) var(--astore-space-4) !important;
  }
}

/* ──────────────────────────────────────────────────────────────
   16. WHATSAPP FAB FLOTANTE (GLOBAL)
   ────────────────────────────────────────────────────────────── */
html body .astore-whatsapp-fab,
body.page-id-16 .astore-whatsapp-fab {
  position: fixed !important;
  bottom: 28px !important;
  right: 28px !important;
  z-index: 10000 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: var(--astore-success) !important;
  color: #FFFFFF !important;
  padding: 14px 24px !important;
  border-radius: var(--astore-radius-pill) !important;
  text-decoration: none !important;
  font-family: var(--astore-inter) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  box-shadow: 0 8px 28px rgba(34,197,94,0.45) !important;
  transition: all var(--astore-transition) !important;
}

html body .astore-whatsapp-fab svg,
body.page-id-16 .astore-whatsapp-fab svg {
  width: 22px !important;
  height: 22px !important;
}

html body .astore-whatsapp-fab:hover,
body.page-id-16 .astore-whatsapp-fab:hover {
  color: #FFFFFF !important;
  transform: translateY(-3px) scale(1.03) !important;
  box-shadow: 0 14px 40px rgba(34,197,94,0.55) !important;
}

@media (max-width: 600px) {
  html body .astore-whatsapp-fab,
  body.page-id-16 .astore-whatsapp-fab {
    bottom: 16px !important;
    right: 16px !important;
    padding: 12px 18px !important;
  }
  html body .astore-whatsapp-fab span:not(:first-child),
  body.page-id-16 .astore-whatsapp-fab span:not(:first-child) {
    display: none !important;
  }
}

/* ──────────────────────────────────────────────────────────────
   17. FOOTER — BLOQUE 11 (DARK — ink)
   ────────────────────────────────────────────────────────────── */
html body .site-footer,
html body footer#colophon,
body.page-id-16 .site-footer,
body.page-id-16 footer#colophon {
  background: var(--astore-ink) !important;
  color: var(--astore-offwhite) !important;
  padding: var(--astore-space-8) var(--astore-space-5) var(--astore-space-5) !important;
}

html body .site-footer .widget-title,
html body footer#colophon .widget-title,
body.page-id-16 .site-footer .widget-title,
body.page-id-16 footer#colophon .widget-title {
  font-family: var(--astore-grotesk) !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  letter-spacing: -0.01em !important;
  color: var(--astore-cyan) !important;
  margin-bottom: var(--astore-space-4) !important;
}

html body .site-footer a,
html body footer#colophon a,
body.page-id-16 .site-footer a,
body.page-id-16 footer#colophon a {
  color: var(--astore-muted) !important;
  transition: color var(--astore-transition) !important;
}

html body .site-footer a:hover,
html body footer#colophon a:hover,
body.page-id-16 .site-footer a:hover,
body.page-id-16 footer#colophon a:hover {
  color: var(--astore-cyan) !important;
}

html body .site-footer .site-info,
html body footer#colophon .site-info,
body.page-id-16 .site-footer .site-info,
body.page-id-16 footer#colophon .site-info {
  border-top: 1px solid var(--astore-border-dk) !important;
  margin-top: var(--astore-space-6) !important;
  padding-top: var(--astore-space-4) !important;
  text-align: center !important;
  font-family: var(--astore-mono) !important;
  font-size: 12px !important;
  color: var(--astore-muted) !important;
}

/* ──────────────────────────────────────────────────────────────
   18. NEUTRALIZAR ESTILOS INLINE AGRESIVOS (astore-astra-neutralize)
   ────────────────────────────────────────────────────────────── */
/* El inline stuck oculta header/footer y fuerza colores - revertimos */
html body .site-header,
html body .ast-header-break-point,
html body #masthead,
html body .site-footer,
html body .ast-footer-copyright,
html body header .main-header-bar,
html body footer#colophon,
body.page-id-16 .site-header,
body.page-id-16 .ast-header-break-point,
body.page-id-16 #masthead,
body.page-id-16 .site-footer,
body.page-id-16 .ast-footer-copyright,
body.page-id-16 header .main-header-bar,
body.page-id-16 footer#colophon {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .entry-header,
html body .ast-breadcrumbs-wrapper,
html body .ast-post-format-,
html body .ast-featured-container,
html body .ast-single-post .entry-title,
html body .ast-article-header,
html body .entry-meta,
html body header.entry-header,
body.page-id-16 .entry-header,
body.page-id-16 .ast-breadcrumbs-wrapper,
body.page-id-16 .ast-post-format-,
body.page-id-16 .ast-featured-container,
body.page-id-16 .ast-single-post .entry-title,
body.page-id-16 .ast-article-header,
body.page-id-16 .entry-meta,
body.page-id-16 header.entry-header {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

html body .wp-block-heading,
html body .entry-header h1,
html body .entry-title,
body.page-id-16 .wp-block-heading,
body.page-id-16 .entry-header h1,
body.page-id-16 .entry-title {
  color: var(--astore-ink) !important;
  display: block !important;
}

html body .widget,
html body .widget-title,
html body .sidebar-main,
body.page-id-16 .widget,
body.page-id-16 .widget-title,
body.page-id-16 .sidebar-main {
  color: var(--astore-ink) !important;
  display: block !important;
}

html body .ast-single-post .entry-header,
html body .page header.entry-header,
body.page-id-16 .ast-single-post .entry-header,
body.page-id-16 .page header.entry-header {
  display: block !important;
}

/* Revertir colores forzados por astra-neutralize en nuestros bloques */
html body .astore-cartelera,
html body .astore-cartelera h2,
html body .astore-feature,
html body .astore-feature-body h2,
html body .astore-feature-body p,
html body .astore-cartelera-scroll .astore-evento-card,
html body .astore-evento-card .title,
html body .astore-evento-card .meta,
html body .astore-evento-card .price,
html body .astore-social,
html body .astore-stat .num,
html body .astore-stat .lab,
html body .astore-resena,
html body .astore-resena p,
html body .astore-resena .autor,
html body .astore-como-comprar,
html body .astore-como-comprar h2,
html body .astore-step h3,
html body .astore-step p,
html body .astore-cta-final h2,
html body .astore-cta-final p,
html body .astore-fab-final,
html body .astore-hero h1,
html body .astore-hero .badge-dm,
html body .astore-hero-sub,
html body .astore-hero .ticker,
body.page-id-16 .astore-cartelera,
body.page-id-16 .astore-cartelera h2,
body.page-id-16 .astore-feature,
body.page-id-16 .astore-feature-body h2,
body.page-id-16 .astore-feature-body p,
body.page-id-16 .astore-cartelera-scroll .astore-evento-card,
body.page-id-16 .astore-evento-card .title,
body.page-id-16 .astore-evento-card .meta,
body.page-id-16 .astore-evento-card .price,
body.page-id-16 .astore-social,
body.page-id-16 .astore-stat .num,
body.page-id-16 .astore-stat .lab,
body.page-id-16 .astore-resena,
body.page-id-16 .astore-resena p,
body.page-id-16 .astore-resena .autor,
body.page-id-16 .astore-como-comprar,
body.page-id-16 .astore-como-comprar h2,
body.page-id-16 .astore-step h3,
body.page-id-16 .astore-step p,
body.page-id-16 .astore-cta-final h2,
body.page-id-16 .astore-cta-final p,
body.page-id-16 .astore-fab-final,
body.page-id-16 .astore-hero h1,
body.page-id-16 .astore-hero .badge-dm,
body.page-id-16 .astore-hero-sub,
body.page-id-16 .astore-hero .ticker {
  color: inherit !important;
}

html body .astore-hero .badge-dm,
html body .astore-feature-badge,
body.page-id-16 .astore-hero .badge-dm,
body.page-id-16 .astore-feature-badge {
  background: transparent !important;
}

/* ──────────────────────────────────────────────────────────────
   19. NEUTRALIZAR WC OVERRIDE (astore-wc-override)
   ────────────────────────────────────────────────────────────── */
html body .astore-productos,
html body .astore-productos li.product,
html body .astore-productos .astra-shop-summary-wrap,
html body .astore-productos .astra-shop-thumbnail-wrap,
html body .astore-productos ul.products,
body.page-id-16 .astore-productos,
body.page-id-16 .astore-productos li.product,
body.page-id-16 .astore-productos .astra-shop-summary-wrap,
body.page-id-16 .astore-productos .astra-shop-thumbnail-wrap,
body.page-id-16 .astore-productos ul.products {
  background: transparent !important;
  color: inherit !important;
}

html body .astore-productos h2.woocommerce-loop-product__title,
body.page-id-16 .astore-productos h2.woocommerce-loop-product__title {
  color: inherit !important;
  font-weight: inherit !important;
}

html body .astore-productos .price,
body.page-id-16 .astore-productos .price {
  color: inherit !important;
  font-weight: inherit !important;
}

html body .astore-productos .price ins,
body.page-id-16 .astore-productos .price ins {
  color: inherit !important;
  font-weight: inherit !important;
  background: transparent !important;
  text-decoration: none !important;
}

html body .astore-productos .price del,
body.page-id-16 .astore-productos .price del {
  color: var(--astore-muted) !important;
}

html body .astore-productos .button,
html body .astore-productos a.button,
html body .astore-productos .ast-loop-product__button,
body.page-id-16 .astore-productos .button,
body.page-id-16 .astore-productos a.button,
body.page-id-16 .astore-productos .ast-loop-product__button {
  background: var(--astore-cyan) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  font-weight: 700 !important;
  padding: 12px 20px !important;
  border-radius: var(--astore-radius-pill) !important;
  width: calc(100% - 32px) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-family: var(--astore-grotesk) !important;
  font-size: 13px !important;
  transition: all var(--astore-transition) !important;
  box-shadow: var(--astore-elevation-2) !important;
}

html body .astore-productos .button:hover,
html body .astore-productos a.button:hover,
body.page-id-16 .astore-productos .button:hover,
body.page-id-16 .astore-productos a.button:hover {
  background: var(--astore-cyan-strong) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(0,212,255,0.28) !important;
}

html body .astore-productos .woocommerce-loop-product__link,
html body .astore-productos a,
body.page-id-16 .astore-productos .woocommerce-loop-product__link,
body.page-id-16 .astore-productos a {
  color: inherit !important;
  text-decoration: none !important;
  display: block !important;
}

html body .astore-productos .ast-woo-product-category,
body.page-id-16 .astore-productos .ast-woo-product-category {
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--astore-muted) !important;
  display: block !important;
  margin-bottom: 4px !important;
}

html body .astore-productos .astra-shop-thumbnail-wrap,
body.page-id-16 .astore-productos .astra-shop-thumbnail-wrap {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 1/1 !important;
  border-radius: var(--astore-radius) var(--astore-radius) 0 0 !important;
}

html body .astore-productos .astra-shop-thumbnail-wrap img,
body.page-id-16 .astore-productos .astra-shop-thumbnail-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .3s ease !important;
  display: block !important;
}

html body .astore-productos li.product:hover .astra-shop-thumbnail-wrap img,
body.page-id-16 .astore-productos li.product:hover .astra-shop-thumbnail-wrap img {
  transform: scale(1.04) !important;
}

html body .astore-productos .astra-shop-summary-wrap,
body.page-id-16 .astore-productos .astra-shop-summary-wrap {
  padding: 18px 16px 20px !important;
  text-align: left !important;
  background: #FFFFFF !important;
  color: var(--astore-ink) !important;
}

html body .astore-productos .onsale,
html body .astore-productos .ast-onsale-card,
body.page-id-16 .astore-productos .onsale,
body.page-id-16 .astore-productos .ast-onsale-card {
  display: none !important;
}

html body .astore-services .card,
html body .astore-services .card p,
html body .astore-services .card h3,
body.page-id-16 .astore-services .card,
body.page-id-16 .astore-services .card p,
body.page-id-16 .astore-services .card h3 {
  color: inherit !important;
  background: transparent !important;
}

/* ──────────────────────────────────────────────────────────────
   20. UTILIDADES
   ────────────────────────────────────────────────────────────── */
html body .astore-container,
body.page-id-16 .astore-container {
  max-width: var(--astore-container) !important;
  margin: 0 auto !important;
  padding: 0 var(--astore-space-4) !important;
}

html body .astore-grid-2,
body.page-id-16 .astore-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: var(--astore-space-5) !important;
}

html body .astore-grid-3,
body.page-id-16 .astore-grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--astore-space-5) !important;
}

html body .astore-grid-4,
body.page-id-16 .astore-grid-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: var(--astore-space-4) !important;
}

@media (max-width: 900px) {
  html body .astore-grid-4,
  body.page-id-16 .astore-grid-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  html body .astore-grid-2,
  html body .astore-grid-3,
  html body .astore-grid-4,
  body.page-id-16 .astore-grid-2,
  body.page-id-16 .astore-grid-3,
  body.page-id-16 .astore-grid-4 {
    grid-template-columns: 1fr !important;
  }
}

/* ──────────────────────────────────────────────────────────────
   21. PRINT
   ────────────────────────────────────────────────────────────── */
@media print {
  html body .astore-hero,
  html body .astore-urgency-bar,
  html body .astore-whatsapp-fab,
  html body .site-header,
  html body .site-footer,
  html body .menu-toggle,
  body.page-id-16 .astore-hero,
  body.page-id-16 .astore-urgency-bar,
  body.page-id-16 .astore-whatsapp-fab,
  body.page-id-16 .site-header,
  body.page-id-16 .site-footer,
  body.page-id-16 .menu-toggle {
    display: none !important;
  }
  html body .astore-feature,
  body.page-id-16 .astore-feature {
    grid-template-columns: 1fr !important;
  }
  html body .astore-cartelera-track,
  body.page-id-16 .astore-cartelera-track {
    overflow: visible !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
  html body,
  body.page-id-16 {
    background: white !important;
    color: black !important;
  }
}