/* ==========================================================
   Novaionic - Neo Kinpaku layer (rev 38)
   Carga despues de style.css. Reglas Impeccable + DESIGN.md.
   Los colores de marca (oro #c9a227) no cambian.
   ========================================================== */

:root{
  /* Neutros tibios: misma luminosidad que antes, tinte hacia el oro */
  --ink: oklch(16% 0.006 82);
  --ink-soft: oklch(20.5% 0.008 82);
  --ink-line: oklch(30% 0.012 84);
  --ink-deep: oklch(12.5% 0.005 82);
  --paper-faint: oklch(62% 0.010 90);          /* antes 3.75:1, ahora 5.3:1 */
  --champagne: oklch(93% 0.018 88);
  --patina: oklch(70% 0.12 188);
  --patina-ink: oklch(46% 0.085 188);
  --hairline-gold: oklch(72.8% 0.138 89.7 / .38);
  --hairline-gold-strong: oklch(72.8% 0.138 89.7 / .8);
  --font-display: "Alumni Sans", "Arial Narrow", sans-serif;
  --font-body: "Albert Sans", ui-sans-serif, system-ui, sans-serif;
  --ni-radius: 2px;
  --ni-radius-lg: 2px;
  --ease-out: cubic-bezier(.22,1,.36,1);
}

/* ---------- Tipografia ---------- */
h1,h2,h3,h4,h5,h6,
.brand span,
.value .vnum,
.svc-card .snum,
.vc-title,
.ni-age-gate__title,
.ni-waitlist h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.wc-block-checkout .wc-block-components-checkout-step__title{
  text-transform: uppercase;
  font-size-adjust: cap-height .7;   /* iguala la altura de mayusculas de Bebas */
  letter-spacing: .02em;
}
h1,h2{ font-weight: 300 !important; color: var(--champagne) !important; }
h3,h4,h5,h6,
.value .vnum,
.svc-card .snum,
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-weight: 500 !important; }
.woocommerce div.product .product_title{ font-weight: 400 !important; }

p, li{ text-wrap: pretty; }
h1,h2,h3{ text-wrap: balance; }

/* Texto con degradado fuera (Impeccable: gradient-text) */
.hero h1 .gold{
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--gold) !important;
}

/* ---------- Header ---------- */
.site-header{
  background: linear-gradient(180deg, oklch(16% 0.006 82 / .94), oklch(16% 0.006 82 / .66)) !important;
}
.site-header.scrolled, .site-header.is-scrolled{
  border-bottom: 1px solid var(--ink-line);
}
/* Un solo "Tienda": se oculta el item del menu, queda el boton dorado */
@media (min-width: 901px){ .nav-links li.nav-cta{ display: none !important; } }

/* ---------- Botones ---------- */
.btn,
.btn-gold, .ni-btn, .novaionic-btn-quote, .novaionic-btn-quote-loop,
.nav-cta-tienda,
.mv-btn,
.woocommerce a.button, .woocommerce a.add_to_cart_button,
.woocommerce button.button, .woocommerce input.button,
.wc-block-components-button,
.wc-block-components-checkout-place-order-button,
.wpforms-container button[type="submit"], .wpforms-container .wpforms-submit,
.novaionic-expansion-btn{
  border-radius: 2px !important;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: .78rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  line-height: 1.1 !important;
  transition: background-color .16s var(--ease-out), border-color .16s var(--ease-out), color .16s var(--ease-out) !important;
}
.nav-cta-tienda{ min-height: 44px; padding-inline: 20px !important; }
.btn-gold:hover, .ni-btn:hover, .novaionic-btn-quote:hover{ background: var(--gold-bright) !important; }
.btn-ghost{ border-color: var(--hairline-gold) !important; color: var(--champagne) !important; }
.btn-ghost:hover{ border-color: var(--hairline-gold-strong) !important; color: var(--gold-bright) !important; }
/* Sin pulso decorativo continuo (Impeccable: motion sin proposito) */
.btn-pulse::before, .btn-pulse::after{ animation: none !important; opacity: 0 !important; }
.btn .arrow{ transition: transform .24s var(--ease-out); }

/* Foco visible coherente con la marca (pisa el CSS adicional) */
html body :is(a, button, input, select, textarea, [tabindex]):focus-visible{
  outline: 2px solid var(--gold-bright) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px var(--ink-deep) !important;
}
.ni-skip-link{ background: var(--gold) !important; color: var(--ink-deep) !important; }

/* ---------- Superficies: hairline primero, sin sombras ---------- */
.svc-card, .form-card, .legal-strip, .mv-card,
.wc-block-components-order-summary,
.wpforms-confirmation-container-full,
.novaionic-expansion, .novaionic-expansion-card,
.ni-other-country-notice{
  border-radius: 2px !important;
  box-shadow: none !important;
  border: 1px solid var(--ink-line);
}
.woocommerce ul.products li.product img,
.woocommerce div.product img.wp-post-image,
.woocommerce div.product .images{ border-radius: 2px !important; }
.woocommerce ul.products li.product{
  border-radius: 2px !important;
  box-shadow: none !important;
}
.woocommerce ul.products li.product:hover{ border-color: var(--hairline-gold) !important; }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="password"], input[type="number"], input[type="search"],
textarea, select,
.wc-block-checkout .wc-block-components-text-input input{
  border-radius: 2px !important;
  min-height: 48px;
}
textarea{ min-height: 120px; }
input:focus, textarea:focus, select:focus{
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px oklch(72.8% 0.138 89.7 / .18) !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.ni-pagination .page-numbers{ border-radius: 2px !important; min-width: 44px; min-height: 44px; }

/* Sin vidrio esmerilado (Impeccable: glassmorphism) */
.vc-arrow{ backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: var(--ink-soft) !important; border: 1px solid var(--hairline-gold) !important; min-width: 44px; min-height: 44px; }
.ni-age-gate{ backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: oklch(12.5% 0.005 82 / .94) !important; }
.ni-age-gate__panel{
  border-radius: 2px !important;
  border: 1px solid var(--hairline-gold) !important;
  background: var(--ink-soft) !important;
  box-shadow: 0 24px 48px -24px oklch(5% 0.004 82 / .8) !important;
}

/* ---------- Texto y contraste ---------- */
html body footer p, html body footer a{ color: var(--paper-dim) !important; }
html body footer a:hover{ color: var(--gold-bright) !important; }
.novaionic-price-tbc{
  font-style: normal !important;
  color: var(--paper-dim) !important;
  font-family: var(--font-body) !important;
  font-size: .78em;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.novaionic-quote-cta .quote-note{ font-style: normal !important; }

/* Estados con patina */
.woocommerce .stock.in-stock, .in-stock{ color: var(--patina) !important; }
.woocommerce-message, .wc-block-components-notice-banner.is-success{ border-color: var(--patina) !important; }
.woocommerce-message::before{ color: var(--patina) !important; }

/* Superficies claras: el oro no va en texto, usa patina oscura */
.has-paper-bg a, .is-light a, .paper a{ color: var(--patina-ink); }

/* ---------- Loader + transicion entre paginas ---------- */
.ni-page-transition{
  background: var(--ink-deep) !important;
}
html.ni-loading .ni-page-transition{
  opacity: 1;
  pointer-events: all;
}
.ni-page-transition::before{
  content: "NOVAIONIC";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -100%);
  font: 300 clamp(2rem, 7vw, 3.2rem)/1 var(--font-display);
  letter-spacing: .32em;
  padding-left: .32em;   /* compensa el tracking para centrar */
  color: var(--champagne);
  white-space: nowrap;
}
.ni-page-transition::after{
  content: "PHARMA";
  position: absolute;
  top: calc(50% + 10px);
  left: 50%;
  transform: translateX(-50%);
  font: 500 .62rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: .6em;
  padding-left: .6em;
  color: var(--gold);
}
.ni-page-transition__spinner{
  top: calc(50% + 40px) !important;
  left: 50% !important;
  width: min(180px, 44vw) !important;
  height: 1px !important;
  margin: 0 !important;
  transform: translateX(-50%);
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ink-line);
  overflow: hidden;
  animation: none !important;
}
.ni-page-transition__spinner::after{
  content: "";
  position: absolute;
  inset: 0;
  width: 40%;
  background: var(--gold);
  animation: ni-kinpaku-bar 1.1s var(--ease-out) infinite;
}
@keyframes ni-kinpaku-bar{
  from{ transform: translateX(-100%); }
  to{ transform: translateX(250%); }
}

/* ---------- Movimiento ---------- */
@media (prefers-reduced-motion: reduce){
  .ni-page-transition__spinner::after{ animation: none; width: 100%; }
  html.ni-loading .ni-page-transition{ opacity: 0; pointer-events: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 767px){
  .btn, .btn-gold, .btn-ghost{ min-height: 48px; }
  .nav-links a{ min-height: 44px; display: inline-flex; align-items: center; }
  h1{ letter-spacing: .01em; }
}

/* ---------- Rev 38b: correcciones de la verificacion por pantalla ---------- */
/* Hero: la plantilla trae estilos inline con Inter */
.ni-hero__tag, .ni-hero__sub{ font-family: var(--font-body) !important; }
.ni-hero__cta{
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: .78rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  min-height: 48px;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}
.ni-hero__cta:hover{ background: var(--gold-bright) !important; }

/* Precios: Breakdance los dejaba casi negros sobre fondo negro */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price *,
.woocommerce div.product p.price, .woocommerce div.product p.price *,
.woocommerce div.product span.price, .woocommerce div.product span.price *{
  color: var(--champagne) !important;
  font-family: var(--font-display) !important;
  font-size-adjust: cap-height .7;
  letter-spacing: .03em;
}
.woocommerce ul.products li.product .price{ font-size: 1.5rem !important; font-weight: 400 !important; }
.woocommerce div.product p.price{ font-size: 2rem !important; font-weight: 300 !important; }
.woocommerce .price del, .woocommerce .price del *{ color: var(--paper-faint) !important; }
.woocommerce .price ins{ text-decoration: none; }

/* Selector de cantidad */
.quantity .bde-quantity-button,
.wc-block-components-quantity-selector__button{
  font-family: var(--font-body) !important;
  color: var(--paper-dim) !important;
  min-width: 40px;
  min-height: 40px;
}
.quantity .bde-quantity-button:hover,
.wc-block-components-quantity-selector__button:hover{ color: var(--gold-bright) !important; }
.wc-block-components-quantity-selector{ border-radius: 2px !important; border-color: var(--ink-line) !important; }

/* Pestanas de producto (Breakdance) */
.bde-tabs__tabslist{ border-bottom: 1px solid var(--ink-line) !important; }
.bde-tabs__tab{
  background: transparent !important;
  color: var(--paper-dim) !important;
  border-radius: 0 !important;
  border-bottom: 1px solid transparent !important;
  min-height: 48px;
}
.bde-tabs__tab-title{
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: .78rem !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: inherit !important;
}
.bde-tabs__tab.is-active, .bde-tabs__tab:hover{ color: var(--champagne) !important; border-bottom-color: var(--gold) !important; }

/* Estrellas de valoracion (sin la fuente de iconos de WooCommerce) */
.woocommerce p.stars a, p.stars a{
  position: relative;
  display: inline-block;
  width: 32px;
  height: 32px;
  font-size: 0 !important;
  color: transparent !important;
  text-decoration: none;
}
p.stars a::before{
  content: "\2605";
  position: absolute;
  inset: 0;
  font-size: 24px;
  line-height: 32px;
  text-align: center;
  color: var(--ink-line);
}
p.stars:hover a::before{ color: var(--gold); }
p.stars a:hover ~ a::before{ color: var(--ink-line); }
p.stars.selected a.active::before, p.stars.selected a:not(.active)::before{ color: var(--gold); }
p.stars.selected a.active ~ a::before{ color: var(--ink-line); }

/* Boton de zoom de la galeria */
.woocommerce-product-gallery__trigger{
  width: 40px !important;
  height: 40px !important;
  font-size: 0 !important;
  display: grid !important;
  place-items: center;
  background: var(--ink-soft) !important;
  border: 1px solid var(--hairline-gold) !important;
  border-radius: 2px !important;
  z-index: 5;
}
.woocommerce-product-gallery__trigger > *{ display: none !important; }
.woocommerce-product-gallery__trigger::after{
  content: "+";
  font: 300 24px/1 var(--font-body);
  color: var(--gold);
}

/* Carrito y checkout (bloques) */
.wc-block-components-button{ min-height: 48px !important; }
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background: var(--gold) !important;
  color: var(--ink-deep) !important;
  border: 0 !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{ background: var(--gold-bright) !important; }
.wc-blocks-components-select__label{ color: var(--paper-dim) !important; }
.wc-blocks-components-select__container,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-radio-control-accordion-option{ border-radius: 2px !important; }
.wc-block-components-radio-control-accordion-option--checked-option-highlighted{
  box-shadow: none !important;
  border: 1px solid var(--hairline-gold-strong) !important;
}
.wc-block-components-order-summary-item__quantity{
  background: var(--gold) !important;
  color: var(--ink-deep) !important;
  border-color: var(--ink) !important;
  box-shadow: none !important;
}
.wc-block-cart-item__remove-link{ min-width: 32px; min-height: 32px; }

/* Programa de Expansion */
.novaionic-expansion-btn--outline{
  background: transparent !important;
  color: var(--gold-bright) !important;
  border: 1px solid var(--hairline-gold-strong) !important;
}
.novaionic-expansion-btn--outline:hover{ background: var(--gold) !important; color: var(--ink-deep) !important; }
.novaionic-expansion-whatsapp, .novaionic-expansion-form{ border-radius: 2px !important; }

/* Contacto: bloque con estilo inline */
.page-content div[style*="border-radius:12px"]{ border-radius: 2px !important; }

/* Blog */
.ni-read-more{ min-height: 44px; display: inline-flex; align-items: center; }

/* ---------- Rev 38c: cantidad, CTA de producto, estrellas ---------- */
.quantity.quantity--number{
  display: inline-flex !important;
  align-items: stretch;
  width: auto !important;
  border: 1px solid var(--ink-line);
  border-radius: 2px;
  background: var(--ink);
}
.quantity.quantity--number .bde-quantity-button{
  position: static !important;
  transform: none !important;
  width: 44px !important;
  height: auto !important;
  min-height: 48px;
  margin: 0 !important;
  font-size: 1.1rem !important;
}
.quantity.quantity--number input.qty{
  border: 0 !important;
  width: 56px !important;
  min-height: 48px;
  padding: 0 !important;
  text-align: center !important;
  background: transparent !important;
  -moz-appearance: textfield;
  appearance: textfield;
}
.quantity.quantity--number input.qty::-webkit-inner-spin-button,
.quantity.quantity--number input.qty::-webkit-outer-spin-button{ -webkit-appearance: none; margin: 0; }
.woocommerce div.product form.cart .single_add_to_cart_button,
.single_add_to_cart_button{
  background: var(--gold) !important;
  color: var(--ink-deep) !important;
  border: 1px solid var(--gold) !important;
}
.single_add_to_cart_button:hover{ background: var(--gold-bright) !important; border-color: var(--gold-bright) !important; }
p.stars a::before{ color: var(--paper-faint); }
p.stars a:hover ~ a::before, p.stars.selected a.active ~ a::before{ color: var(--paper-faint); }

/* ---------- Rev 38d: tarjetas de producto en mobile, formulario de resenas ---------- */
.bde-woo-product-footer{ flex-wrap: wrap !important; gap: 8px !important; }
.bde-woo-product-footer .quantity{ flex: 0 0 auto !important; min-width: max-content; }
.bde-woo-product-footer .button{ flex: 1 1 160px !important; }
.ni-hero__sub br{ display: initial !important; }

input[type="checkbox"], input[type="radio"]{ accent-color: var(--gold); }
#respond input[type="checkbox"]{ width: 18px; height: 18px; vertical-align: -3px; margin-right: 8px; }
#respond textarea, #respond input[type="text"], #respond input[type="email"], #respond input[type="url"]{
  width: 100%;
  background: var(--ink-deep) !important;
  border: 1px solid var(--ink-line) !important;
  color: var(--paper) !important;
  padding: 12px 16px !important;
  font-family: var(--font-body) !important;
}
#respond input[type="submit"], #respond .submit{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px !important;
  margin-top: 8px;
  background: var(--gold) !important;
  color: var(--ink-deep) !important;
  border: 0 !important;
  border-radius: 2px !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: .78rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  cursor: pointer;
}
#respond input[type="submit"]:hover, #respond .submit:hover{ background: var(--gold-bright) !important; }
#respond label, .comment-notes, .comment-form-cookies-consent label{ color: var(--paper-dim) !important; font-size: .9rem; }

/* ---------- Rev 38e: checkout ---------- */
.wc-blocks-components-select__container{ background: var(--ink) !important; }
.wc-block-components-order-summary-item__quantity *{ color: var(--ink-deep) !important; }
.wc-block-cart__submit-button, .wc-block-cart__submit-button *{ text-decoration: none !important; }

/* ---------- Rev 38f: banner de cookies ---------- */
.ni-cookie-banner__panel{ border-radius: 2px !important; border: 1px solid var(--hairline-gold) !important; background: var(--ink-soft) !important; }
.ni-cookie-banner__btn{
  border-radius: 2px !important;
  min-height: 44px;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: .74rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.ni-cookie-banner__btn--reject{ background: transparent !important; color: var(--champagne) !important; border: 1px solid var(--hairline-gold) !important; }
.ni-cookie-banner__btn--reject:hover{ border-color: var(--hairline-gold-strong) !important; color: var(--gold-bright) !important; }

/* Indicador de pestana activa: oro en vez del azul de Breakdance */
.bde-tabs__tab::after{ background: var(--gold) !important; }
