/* NovaBuilder — widgets de tienda PDP / COD (estilo GOAL / FLAIR) */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800;900&family=Anton&family=Bebas+Neue&family=Oswald:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&family=Poppins:wght@400;600;700;800&family=Montserrat:wght@400;600;700;800&display=swap');

.nvx, .nvx *, .nvx *::before, .nvx *::after { margin: 0; padding: 0; box-sizing: border-box; }

.nvx {
	--nvx-accent: #FFE800;
	--nvx-lime: var(--nvx-accent);
	--nvx-dark: #0a0a0a; --nvx-ink: #111; --nvx-wa: #25D366;
	--nvx-cta-bg: #111111; --nvx-cta-text: #ffffff;
	--nvx-radius: 12px;
	--nvx-font-head: 'Anton', 'Archivo', sans-serif;
	--nvx-star: #facc15; --nvx-ok: #16a34a; --nvx-bad: #dc2626; --nvx-line: #e6e6e6; --nvx-grey: #6b7280;
	font-family: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
	color: var(--nvx-ink);
	max-width: 480px; width: 100%; margin: 0 auto;
	line-height: 1.5; position: relative;
}
.nvx h1, .nvx h2, .nvx h3 {
	font-family: var(--nvx-font-head); font-weight: 900;
	text-transform: uppercase; letter-spacing: 0; line-height: 1.05;
}
.nvx-theme-note { display: none; }
.nvx svg { display: block; }
.nvx .ico { width: 20px; height: 20px; stroke-width: 2; }
.nvx .lime { color: var(--nvx-lime); }
.nvx a { text-decoration: none; color: inherit; }
.nvx img { display: block; max-width: 100%; }
.nvx-ph {
	background: repeating-linear-gradient(45deg, #e2e2e2, #e2e2e2 12px, #ececec 12px, #ececec 24px);
	display: flex; align-items: center; justify-content: center; flex-direction: column;
	gap: 4px; color: #999; font-size: 11px; font-weight: 600; text-align: center; padding: 16px;
}

/* Barra de oferta */
.nvx-offerbar {
	position: sticky; top: 0; z-index: 60; background: var(--nvx-dark); color: #fff;
	display: flex; align-items: center; justify-content: center; gap: 12px; padding: 9px 14px; font-size: 11.5px;
}
.nvx-offerbar .ob-text { font-weight: 700; }
.nvx-offerbar .ob-timer { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 13px; color: var(--nvx-lime); font-variant-numeric: tabular-nums; }

/* Cabecera */
.nvx-header { background: #fff; border-bottom: 1px solid var(--nvx-line); display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; }
.nvx-header .brand { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 20px; letter-spacing: -0.03em; }
.nvx-header .h-icons { display: flex; gap: 16px; color: #111; }

/* Galería */
.nvx-gallery { background: #fff; padding: 0 0 12px; }
.nvx-hero { position: relative; }
.nvx-hero .hero-img { aspect-ratio: 1/1; width: 100%; object-fit: cover; }
.nvx-badge { position: absolute; top: 14px; left: 14px; background: var(--nvx-dark); color: var(--nvx-lime); font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 10px; letter-spacing: 0.02em; padding: 5px 10px; border-radius: 4px; }
.nvx-thumbs { display: flex; gap: 8px; padding: 12px 16px 0; overflow-x: auto; }
.nvx-thumbs::-webkit-scrollbar { display: none; }
.nvx-thumb { min-width: 64px; width: 64px; height: 64px; border-radius: 8px; overflow: hidden; border: 2px solid transparent; flex-shrink: 0; font-size: 8px; object-fit: cover; cursor: pointer; }
.nvx-thumb.active { border-color: var(--nvx-dark); }

/* Título + rating */
.nvx-titleblock { background: #fff; padding: 16px; }
.nvx-titleblock h1 { font-size: 26px; margin-bottom: 8px; }
.nvx-rating { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #444; margin-bottom: 6px; }
.nvx-stars { display: flex; gap: 1px; color: var(--nvx-star); font-size: 15px; letter-spacing: 1px; }
.nvx-rating .r-count { color: var(--nvx-grey); font-weight: 600; }
.nvx-stock { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--nvx-ok); font-weight: 700; }
.nvx-stock .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--nvx-ok); }

/* Checklist */
.nvx-checklist { background: #fff; padding: 4px 16px 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
.nvx-check { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; }
.nvx-check .c-ico { width: 22px; height: 22px; border-radius: 50%; background: var(--nvx-dark); color: var(--nvx-lime); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 12px; font-weight: 900; }

/* Bloque de compra */
.nvx-buy { background: #fafafa; padding: 18px 16px; border-top: 1px solid var(--nvx-line); border-bottom: 1px solid var(--nvx-line); }
.nvx-buy .buy-head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.nvx-buy .buy-head .line { flex: 1; height: 1px; background: var(--nvx-line); }
.nvx-buy .buy-head span { font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 13px; letter-spacing: 0.02em; }
.nvx-pack { position: relative; background: #f4f4f4; border: 2px solid transparent; border-radius: var(--nvx-radius); padding: 16px 14px; margin-bottom: 12px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; cursor: pointer; }
.nvx-pack.selected { background: #fffdf0; border-color: var(--nvx-dark); box-shadow: 0 4px 14px rgba(0,0,0,0.06); }
.pk-included { flex-basis: 100%; background: rgba(0,0,0,0.07); border-radius: 8px; padding: 8px 10px; font-size: 11px; font-weight: 700; }
.pk-inc-row { padding: 2px 0; }
.nvx-pack .pk-left { display: flex; align-items: center; gap: 12px; }
.nvx-radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid #cbd5e1; flex-shrink: 0; }
.nvx-radio.on { border-color: var(--nvx-dark); background: var(--nvx-dark); box-shadow: inset 0 0 0 4px #fff; }
.nvx-pack .pk-name { font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 15px; }
.nvx-pack .pk-desc { font-size: 11px; color: var(--nvx-grey); font-weight: 600; margin-top: 2px; }
.nvx-pack .pk-save { display: inline-block; margin-top: 5px; background: var(--nvx-ok); color: #fff; font-size: 10px; font-weight: 800; padding: 2px 7px; border-radius: 20px; }
.nvx-pack .pk-price { text-align: right; }
.nvx-pack .pk-old { font-size: 11px; color: #9ca3af; text-decoration: line-through; }
.nvx-pack .pk-new { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 19px; }
.nvx-pack .pk-flag { position: absolute; top: -10px; right: 14px; background: var(--nvx-dark); color: var(--nvx-lime); font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 9.5px; padding: 3px 9px; border-radius: 20px; letter-spacing: 0.03em; }

/* Slot del formulario COD */
.nvx-form-slot { border: 2px dashed #cbd5e1; border-radius: 12px; background: #fff; padding: 18px 14px; text-align: center; margin: 14px 0 12px; }
.nvx-form-slot .fs-label { font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 12px; color: #475569; }
.nvx-form-slot .fs-sub { font-size: 11px; color: var(--nvx-grey); margin-top: 4px; }

/* CTAs */
.nvx-cta { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 16px; border-radius: 12px; font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 15px; letter-spacing: 0.02em; cursor: pointer; }
.nvx-cta.primary { background: var(--nvx-lime); color: var(--nvx-dark); }
.nvx-cta.wa { background: var(--nvx-wa); color: #fff; margin-top: 9px; font-size: 13.5px; }

/* Fila de confianza + urgencia */
.nvx-trustrow { display: flex; justify-content: space-between; gap: 6px; margin-top: 14px; }
.nvx-trustrow .t-item { flex: 1; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 5px; }
.nvx-trustrow .t-item .t-ico { font-size: 20px; }
.nvx-trustrow .t-item .t-txt { font-size: 10px; font-weight: 700; line-height: 1.25; color: #374151; }
.nvx-urgency { display: flex; align-items: center; gap: 8px; margin-top: 12px; background: #fff7ed; border: 1px solid #fed7aa; border-radius: 8px; padding: 9px 12px; font-size: 11.5px; color: #9a3412; font-weight: 600; }

/* Problema */
.nvx-problem { background: var(--nvx-dark); color: #fff; padding: 26px 16px; }
.nvx-problem h2 { font-size: 21px; line-height: 1.15; }
.nvx-problem .p-sub { font-size: 12.5px; color: rgba(255,255,255,0.55); margin-top: 10px; font-weight: 500; }
.nvx-pgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 18px; }
.nvx-pcard { background: #171717; border-radius: 10px; padding: 14px 10px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.nvx-pcard .pc-ico { font-size: 22px; }
.nvx-pcard .pc-name { font-size: 11px; font-weight: 700; }

/* Solución */
.nvx-solution { background: #fff; padding: 24px 16px; text-align: center; }
.nvx-solution .sol-tag { display: inline-block; background: var(--nvx-dark); color: var(--nvx-lime); font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 10px; padding: 5px 12px; border-radius: 20px; margin-bottom: 12px; letter-spacing: 0.03em; }
.nvx-solution h3 { font-size: 19px; }
.nvx-solution p { font-size: 13px; color: #4b5563; margin-top: 8px; }

/* Cómo funciona */
.nvx-how { background: #fafafa; padding: 24px 16px; }
.nvx-how h2 { font-size: 17px; text-align: center; margin-bottom: 18px; }
.nvx-steps { display: flex; flex-direction: column; gap: 10px; }
.nvx-step { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid var(--nvx-line); border-radius: 10px; padding: 13px; }
.nvx-step .st-num { width: 28px; height: 28px; border-radius: 50%; background: var(--nvx-dark); color: var(--nvx-lime); font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 13px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.nvx-step .st-title { font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 13px; }
.nvx-step .st-desc { font-size: 11.5px; color: var(--nvx-grey); margin-top: 3px; }

/* Vídeos */
.nvx-videos { background: #fff; padding: 22px 0; }
.nvx-videos h2 { font-size: 17px; padding: 0 16px; margin-bottom: 12px; }
.nvx-vscroll { display: flex; gap: 9px; padding: 0 16px; overflow-x: auto; }
.nvx-vscroll::-webkit-scrollbar { display: none; }
.nvx-vthumb { min-width: 132px; width: 132px; height: 224px; border-radius: 12px; flex-shrink: 0; position: relative; overflow: hidden; background: #1a1a1a; color: #888; cursor: pointer; }
.nvx-vthumb iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.nvx-vthumb .v-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 40px; height: 40px; background: rgba(255,255,255,0.92); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #111; font-size: 13px; padding-left: 3px; }

/* Antes / después */
.nvx-ba { background: var(--nvx-dark); padding: 24px 16px; }
.nvx-ba h2 { color: #fff; font-size: 17px; text-align: center; margin-bottom: 16px; }
.nvx-barow { display: flex; gap: 9px; }
.nvx-bacard { flex: 1; border-radius: 10px; overflow: hidden; }
.nvx-bacard .ba-img { aspect-ratio: 1/1; width: 100%; object-fit: cover; }
.nvx-bacard .ba-label { padding: 9px; text-align: center; background: #171717; }
.nvx-bacard .ba-title { font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 11px; }
.nvx-bacard .ba-title.antes { color: #f87171; }
.nvx-bacard .ba-title.despues { color: var(--nvx-lime); }
.nvx-bacard .ba-sub { font-size: 9.5px; color: rgba(255,255,255,0.5); margin-top: 2px; }

/* Comparativa */
.nvx-compare { background: #fff; padding: 24px 16px; }
.nvx-compare h2 { font-size: 17px; text-align: center; margin-bottom: 16px; }
.nvx-ctable { width: 100%; border-collapse: collapse; font-size: 12px; }
.nvx-ctable th { background: var(--nvx-dark); color: #fff; padding: 11px 6px; font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 10.5px; }
.nvx-ctable th.brand { color: var(--nvx-lime); }
.nvx-ctable td { padding: 11px 6px; border-bottom: 1px solid #f0f0f0; text-align: center; }
.nvx-ctable td:first-child { text-align: left; font-weight: 700; font-size: 11.5px; }
.nvx-ctable .yes { color: var(--nvx-ok); font-weight: 900; font-size: 15px; }
.nvx-ctable .no { color: #cbd5e1; font-weight: 900; font-size: 15px; }
.nvx-ctable tr:last-child td { border-bottom: none; }

/* Ficha técnica */
.nvx-specs { background: #fafafa; padding: 24px 16px; }
.nvx-specs h2 { font-size: 17px; text-align: center; margin-bottom: 16px; }
.nvx-spec { display: flex; gap: 13px; align-items: center; background: #fff; border: 1px solid var(--nvx-line); border-radius: 10px; padding: 13px; margin-bottom: 9px; }
.nvx-spec .sp-ico { font-size: 22px; flex-shrink: 0; }
.nvx-spec .sp-title { font-family: 'Archivo', sans-serif; font-weight: 700; text-transform: uppercase; font-size: 12.5px; }
.nvx-spec .sp-desc { font-size: 11px; color: var(--nvx-grey); margin-top: 2px; }

/* Cross-sell */
.nvx-cross { background: #fff; padding: 24px 16px; }
.nvx-cross h2 { font-size: 17px; text-align: center; margin-bottom: 6px; }
.nvx-cross .cx-sub { text-align: center; font-size: 12px; color: var(--nvx-grey); margin-bottom: 16px; }
.nvx-cxbundle { border: 2px solid var(--nvx-dark); border-radius: 14px; overflow: hidden; background: linear-gradient(180deg,#fafafa,#fff); }
.nvx-cxrow { display: flex; align-items: center; gap: 12px; padding: 14px; }
.nvx-cxrow .cx-img { width: 64px; height: 64px; border-radius: 10px; flex-shrink: 0; font-size: 8px; object-fit: cover; }
.nvx-cxrow .cx-name { font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 13px; }
.nvx-cxrow .cx-note { font-size: 11px; color: var(--nvx-grey); margin-top: 2px; }
.nvx-cxplus { display: flex; align-items: center; justify-content: center; }
.nvx-cxplus .plus { width: 30px; height: 30px; border-radius: 50%; background: #e5e7eb; display: flex; align-items: center; justify-content: center; color: #6b7280; font-weight: 800; }
.nvx-cxfoot { background: var(--nvx-dark); color: #fff; padding: 14px; display: flex; align-items: center; justify-content: space-between; }
.nvx-cxfoot .cf-label { font-size: 11px; color: rgba(255,255,255,0.6); }
.nvx-cxfoot .cf-price { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 20px; }
.nvx-cxfoot .cf-old { font-size: 11px; color: rgba(255,255,255,0.4); text-decoration: line-through; }
.nvx-cxfoot .cf-btn { background: var(--nvx-lime); color: var(--nvx-dark); font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 11px; padding: 9px 14px; border-radius: 8px; cursor: pointer; }

/* Reseñas */
.nvx-reviews { background: #fafafa; padding: 24px 16px; }
.nvx-reviews h2 { font-size: 19px; text-align: center; }
.nvx-rhead { text-align: center; margin-bottom: 18px; }
.nvx-rhead .rh-score { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 8px; }
.nvx-rhead .rh-num { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 15px; }
.nvx-rhead .rh-basis { font-size: 11.5px; color: var(--nvx-grey); margin-top: 3px; }
.nvx-rbars { max-width: 240px; margin: 14px auto 0; display: flex; flex-direction: column; gap: 5px; }
.nvx-rbar { display: flex; align-items: center; gap: 8px; font-size: 11px; }
.nvx-rbar .rb-star { color: var(--nvx-star); width: 44px; display: flex; gap: 1px; font-weight: 700; }
.nvx-rbar .rb-track { flex: 1; height: 7px; background: #e5e7eb; border-radius: 4px; overflow: hidden; }
.nvx-rbar .rb-fill { height: 100%; background: var(--nvx-dark); }
.nvx-rbar .rb-n { width: 34px; text-align: right; color: var(--nvx-grey); font-weight: 600; }
.nvx-rcard { background: #fff; border: 1px solid var(--nvx-line); border-radius: 12px; padding: 15px; margin-top: 12px; }
.nvx-rcard .rc-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.nvx-rcard .rc-stars { color: var(--nvx-star); display: flex; gap: 1px; font-size: 14px; }
.nvx-rcard .rc-verified { display: flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 700; color: var(--nvx-ok); }
.nvx-rcard .rc-title { font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 12.5px; margin-bottom: 5px; }
.nvx-rcard .rc-text { font-size: 12px; color: #4b5563; }
.nvx-rcard .rc-author { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.nvx-rcard .rc-avatar { width: 32px; height: 32px; border-radius: 50%; background: #fde68a; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; color: #92400e; }
.nvx-rcard .rc-name { font-size: 11.5px; font-weight: 700; }
.nvx-rcard .rc-role { font-size: 10px; color: var(--nvx-grey); }

/* Prueba social */
.nvx-honest { background: var(--nvx-dark); color: #fff; padding: 26px 16px; text-align: center; }
.nvx-honest .ho-eyebrow { font-size: 10.5px; font-weight: 800; letter-spacing: 0.14em; color: var(--nvx-lime); text-transform: uppercase; }
.nvx-honest h2 { font-size: 20px; margin: 10px 0 4px; }
.nvx-honest .ho-sub { font-size: 12px; color: rgba(255,255,255,0.55); }
.nvx-honest .ho-stats { display: flex; justify-content: space-around; gap: 10px; margin-top: 20px; }
.nvx-honest .ho-stat .hs-num { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 24px; color: var(--nvx-lime); }
.nvx-honest .ho-stat .hs-label { font-size: 9.5px; color: rgba(255,255,255,0.6); margin-top: 2px; line-height: 1.3; }

/* Garantía + CTA final */
.nvx-final { background: #fff; padding: 26px 16px; text-align: center; }
.nvx-final .fn-guarantee { display: inline-flex; align-items: center; gap: 8px; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px; padding: 10px 14px; margin-bottom: 16px; }
.nvx-final .fn-guarantee .fg-title { font-size: 12px; font-weight: 800; text-align: left; }
.nvx-final .fn-guarantee .fg-sub { font-size: 10px; color: var(--nvx-grey); text-align: left; }
.nvx-final h2 { font-size: 20px; margin-bottom: 12px; }

/* Footer */
.nvx-footer { background: var(--nvx-ink); color: rgba(255,255,255,0.55); padding: 22px 16px; font-size: 11px; }
.nvx-footer .f-brand { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 18px; color: #fff; margin-bottom: 12px; }
.nvx-footer .f-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-bottom: 14px; }
.nvx-footer .f-links a { color: inherit; }
.nvx-footer .f-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 12px; }

/* ============ Componentes estilo GOAL / FLAIR ============ */

/* Barra superior con timer en cajas */
.ob-boxes { display: inline-flex; gap: 6px; }
.ob-boxes .tb { background: #1f1f1f; border-radius: 6px; padding: 3px 8px; display: flex; flex-direction: column; align-items: center; min-width: 40px; }
.ob-boxes .tb b { font-family: var(--nvx-font-head); font-size: 14px; color: var(--nvx-accent); font-variant-numeric: tabular-nums; line-height: 1.1; font-weight: 400; }
.ob-boxes .tb i { font-style: normal; font-size: 7.5px; letter-spacing: .08em; color: rgba(255,255,255,.55); font-weight: 700; }

/* Precio + ahorro */
.nvx-priceline { display: flex; align-items: center; gap: 10px; padding: 4px 16px; flex-wrap: wrap; justify-content: inherit; }
.nvx[style*="text-align:center"] .nvx-priceline, .nvx-priceline { }
.pl-price { font-family: var(--nvx-font-head); font-size: 30px; color: #e4002b; letter-spacing: .01em; }
.pl-old { font-size: 16px; color: #9ca3af; text-decoration: line-through; font-weight: 600; }
.pl-save { color: #fff; font-size: 11px; font-weight: 800; padding: 5px 12px; border-radius: 999px; text-transform: uppercase; }

/* Variantes */
.nvx-options { padding: 8px 16px; }
.opt-label { font-size: 13px; margin-bottom: 8px; color: #374151; }
.opt-label b { color: var(--nvx-ink); }
.opt-items { display: flex; gap: 8px; flex-wrap: wrap; }
.opt-pill { background: #fff; border: 1.5px solid #cbd5e1; border-radius: 999px; padding: 10px 18px; font-size: 13px; font-weight: 700; cursor: pointer; font-family: inherit; color: var(--nvx-ink); transition: all .15s ease; }
.opt-pill.on { border-color: var(--nvx-dark); border-width: 2px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.opt-swatch { width: 66px; height: 66px; border-radius: 10px; border: 2px solid transparent; overflow: hidden; padding: 0; cursor: pointer; background: #f4f4f4; }
.opt-swatch img { width: 100%; height: 100%; object-fit: cover; display: block; }
.opt-swatch.on { border-color: var(--nvx-dark); }

/* Banner de regalo */
.nvx-promo { background: var(--nvx-dark); border-radius: var(--nvx-radius); margin: 10px 16px; padding: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; overflow: hidden; }
.pm-eyebrow { font-family: var(--nvx-font-head); text-transform: uppercase; color: var(--nvx-accent); font-size: 15px; letter-spacing: .02em; }
.pm-line1 { font-family: var(--nvx-font-head); text-transform: uppercase; color: #fff; font-size: 22px; line-height: 1.05; }
.pm-line2 { font-family: var(--nvx-font-head); text-transform: uppercase; color: var(--nvx-accent); font-size: 18px; }
.pm-img { width: 96px; flex-shrink: 0; }

/* Métodos de pago */
.nvx-payments { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 16px; justify-content: center; }
.pay-badge { background: #fff; border: 1px solid #e2e8f0; border-radius: 6px; padding: 5px 10px; font-size: 10.5px; font-weight: 800; color: #334155; letter-spacing: .02em; display: inline-flex; align-items: center; }
.pay-badge img { height: 16px; display: block; }

/* CTA píldora */
.nvx-bigcta-wrap { padding: 8px 16px; }
.nvx-bigcta { display: inline-block; background: var(--nvx-cta-bg); color: var(--nvx-cta-text); font-family: var(--nvx-font-head); text-transform: uppercase; font-size: 17px; letter-spacing: .04em; text-align: center; padding: 17px 38px; border-radius: 999px; transition: transform .15s ease, filter .15s ease; }
.nvx-bigcta.is-full { display: block; width: 100%; }
.nvx-bigcta:hover { transform: translateY(-2px); filter: brightness(1.08); }
.bigcta-sub { font-size: 11px; color: var(--nvx-grey); margin-top: 8px; text-align: center; }

/* Línea de confianza */
.nvx-trustline { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 8px 16px; }
.tl-avatars { display: flex; }
.tl-avatars img, .tl-ph { width: 30px; height: 30px; border-radius: 50%; border: 2px solid #fff; object-fit: cover; margin-left: -8px; background: #d1d5db; display: inline-block; }
.tl-avatars img:first-child, .tl-ph:first-child { margin-left: 0; }
.tl-text { font-size: 12px; font-weight: 800; letter-spacing: .02em; }

/* Visto en (prensa) */
.nvx-press { padding: 22px 16px; background: #f4f4f4; }
.press-title { font-family: var(--nvx-font-head); text-transform: uppercase; font-size: 15px; margin-bottom: 14px; }
.press-row { display: flex; flex-wrap: wrap; gap: 12px 22px; align-items: center; justify-content: center; }
.press-name { font-family: var(--nvx-font-head); font-size: 16px; color: #111; opacity: .75; text-transform: uppercase; }
.press-logo { height: 22px; filter: grayscale(1); opacity: .8; }

/* Clubes / ligas */
.nvx-clubs { padding: 24px 16px; background: #f4f4f4; }
.nvx-clubs.is-dark { background: var(--nvx-dark); }
.nvx-clubs.is-dark h2, .nvx-clubs.is-dark .clubs-note { color: #fff; }
.nvx-clubs h2 { font-size: 18px; margin-bottom: 16px; }
.clubs-row { display: flex; gap: 18px; overflow-x: auto; justify-content: safe center; padding-bottom: 6px; }
.clubs-row::-webkit-scrollbar { display: none; }
.club-logo { height: 56px; flex-shrink: 0; }
.club-name { font-family: var(--nvx-font-head); font-size: 14px; text-transform: uppercase; opacity: .8; flex-shrink: 0; align-self: center; }
.nvx-clubs.is-dark .club-name { color: #fff; }
.clubs-note { font-size: 12px; color: var(--nvx-grey); margin-top: 10px; }

/* Carrusel de atletas */
.nvx-athletes { padding: 26px 0; }
.nvx-athletes h2 { font-size: 20px; padding: 0 16px; }
.ath-sub { font-size: 12px; color: var(--nvx-grey); padding: 0 16px; margin: 4px 0 16px; }
.ath-row { display: flex; gap: 10px; overflow-x: auto; padding: 0 16px; }
.ath-row::-webkit-scrollbar { display: none; }
.ath-card { min-width: 150px; width: 150px; flex-shrink: 0; text-align: left; }
.ath-img { width: 100%; height: 190px; object-fit: cover; border-radius: 10px; font-size: 10px; }
.ath-name { font-size: 12.5px; font-weight: 800; margin-top: 8px; }
.ath-check { color: #2563eb; font-size: 11px; }
.ath-club { font-size: 11px; color: var(--nvx-grey); }

/* Galería UGC */
.nvx-mediagrid { padding: 26px 0; background: #f4f4f4; }
.nvx-mediagrid h2 { font-size: 20px; padding: 0 16px; }
.mg-sub { font-size: 12px; color: var(--nvx-grey); padding: 0 16px; margin: 4px 0 16px; }
.mg-row { display: flex; gap: 10px; overflow-x: auto; padding: 0 16px; }
.mg-row::-webkit-scrollbar { display: none; }
.mg-card { min-width: 150px; width: 150px; flex-shrink: 0; }
.mg-media { position: relative; height: 230px; border-radius: 12px; overflow: hidden; background: #1a1a1a; cursor: pointer; font-size: 10px; }
.mg-media iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mg-media .v-play { position: absolute; bottom: 10px; left: 10px; width: 34px; height: 34px; background: rgba(255,255,255,.92); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #111; font-size: 11px; padding-left: 2px; }
.mg-label { font-size: 11px; font-weight: 700; margin-top: 7px; color: #374151; }

/* Estadísticas % */
.nvx-percent { padding: 28px 16px; }
.pc-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--nvx-grey); text-transform: uppercase; margin-bottom: 8px; }
.nvx-percent h2 { font-size: 24px; margin-bottom: 6px; }
.pc-sub { font-size: 13px; color: var(--nvx-grey); margin-bottom: 18px; }
.pc-card { display: flex; align-items: center; gap: 16px; background: #fafafa; border: 1px solid #eee; border-radius: 16px; padding: 18px; margin-bottom: 12px; text-align: left; box-shadow: 0 4px 12px rgba(0,0,0,.04); }
.pc-circle { width: 74px; height: 74px; border-radius: 50%; border: 5px solid var(--nvx-dark); display: flex; align-items: center; justify-content: center; font-family: var(--nvx-font-head); font-size: 19px; flex-shrink: 0; }
.pc-card p { font-size: 13.5px; color: #374151; margin: 0; }
.pc-note { background: var(--nvx-dark); color: rgba(255,255,255,.85); border-radius: 16px; padding: 18px; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; text-align: left; margin-top: 6px; }

/* Nosotros vs. genéricos */
.nvx-vs { padding: 28px 12px; }
.vs-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--nvx-grey); text-transform: uppercase; margin-bottom: 8px; }
.nvx-vs h2 { font-size: 22px; margin-bottom: 18px; }
.vs-row { display: flex; gap: 10px; align-items: flex-start; }
.vs-card { flex: 1; border-radius: 18px; padding: 16px 12px; }
.vs-card img { width: 100%; border-radius: 12px; margin-bottom: 12px; }
.vs-us { background: var(--nvx-dark); color: #fff; }
.vs-them { background: #fff; border: 1.5px solid #d1d5db; color: #374151; }
.vs-item { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; padding: 10px 2px; text-align: center; line-height: 1.3; }
.vs-yes { color: var(--nvx-accent); font-size: 16px; font-weight: 900; }
.vs-no { color: #9ca3af; font-size: 16px; font-weight: 900; }

/* Banner con imagen de fondo */
.nvx-heroban { position: relative; background-size: cover; background-position: center; border-radius: 0; overflow: hidden; display: flex; }
.hb-shade { position: absolute; inset: 0; background: #000; }
.hb-content { position: relative; z-index: 1; color: #fff; padding: 22px 18px; display: flex; flex-direction: column; gap: 8px; width: 100%; }
.nvx-heroban.hb-bottom-left { align-items: flex-end; }
.nvx-heroban.hb-bottom-left .hb-content { align-items: flex-start; text-align: left; }
.nvx-heroban.hb-top-left { align-items: flex-start; }
.nvx-heroban.hb-top-left .hb-content { align-items: flex-start; text-align: left; }
.nvx-heroban.hb-center { align-items: center; }
.nvx-heroban.hb-center .hb-content { align-items: center; text-align: center; }
.hb-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--nvx-accent); }
.nvx-heroban h2 { font-size: 28px; color: #fff; }
.hb-sub { font-size: 13px; opacity: .9; }
.nvx-heroban .nvx-bigcta { margin-top: 8px; background: var(--nvx-accent); color: var(--nvx-dark); }

/* FAQ oscuro (píldoras) */
.nvx-faqdark { background: #111; padding: 28px 16px; }
.nvx-faqdark h2 { color: #fff; font-size: 22px; text-align: center; margin-bottom: 6px; }
.fd-sub { color: rgba(255,255,255,.6); font-size: 12.5px; text-align: center; margin-bottom: 12px; }
.nvx-faqdark .nb-faq { margin-top: 14px; }
.nvx-faqdark .nb-faq-item { background: #2a2a2a; border: 0; border-radius: 999px; overflow: hidden; }
.nvx-faqdark .nb-faq-item.is-open { border-radius: 22px; }
.nvx-faqdark .nb-faq-q { color: #fff; font-size: 13px; padding: 15px 20px; }
.nvx-faqdark .nb-faq-ico { color: var(--nvx-accent); }
.nvx-faqdark .nb-faq-a-inner { color: rgba(255,255,255,.75); font-size: 12.5px; }

/* Newsletter */
.nvx-newsletter { background: var(--nvx-dark); color: #fff; padding: 30px 18px; }
.nvx-newsletter h2 { color: #fff; font-size: 26px; }
.nl-highlight { font-family: var(--nvx-font-head); text-transform: uppercase; color: var(--nvx-accent); font-size: 16px; margin: 2px 0 10px; }
.nl-sub { font-size: 13px; color: rgba(255,255,255,.7); margin-bottom: 16px; }
.nl-form { display: flex; flex-direction: column; gap: 10px; }
.nl-form input[type=email] { background: transparent; border: 1.5px solid rgba(255,255,255,.4); border-radius: 999px; padding: 15px 20px; color: #fff; font-size: 13px; letter-spacing: .04em; font-family: inherit; }
.nl-form input[type=email]::placeholder { color: rgba(255,255,255,.5); }
.nl-form input[type=email]:focus { outline: none; border-color: var(--nvx-accent); }
.nl-btn { background: #fff; color: #111; border: 0; border-radius: 999px; padding: 15px; font-family: var(--nvx-font-head); text-transform: uppercase; font-size: 14px; letter-spacing: .05em; cursor: pointer; }
.nl-btn:hover { background: var(--nvx-accent); }
.nvx-newsletter .nb-form-msg { background: rgba(255,255,255,.12); color: #fff; border-radius: 12px; padding: 12px 16px; font-weight: 600; }

/* WooCommerce: comprar producto */
.nvx-wcbuy { position: relative; padding: 18px 16px; }
.wcb-sale { position: absolute; top: 26px; left: 26px; z-index: 2; background: #e4002b; color: #fff; font-family: var(--nvx-font-head); font-size: 11px; letter-spacing: .05em; padding: 4px 12px; border-radius: 4px; }
.wcb-img img { width: 100%; height: auto; border-radius: var(--nvx-radius); }
.wcb-name { font-size: 24px; margin: 12px 0 4px; }
.wcb-price { font-family: var(--nvx-font-head); font-size: 26px; color: #e4002b; margin-bottom: 6px; }
.wcb-price del { color: #9ca3af; font-size: 17px; margin-right: 8px; font-family: 'Manrope', sans-serif; font-weight: 600; }
.wcb-price ins { text-decoration: none; }
.wcb-stock { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 12.5px; font-weight: 700; margin-bottom: 14px; }
.wcb-stock.in { color: var(--nvx-ok); }
.wcb-stock.out { color: #dc2626; }
.wcb-stock .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--nvx-ok); }

/* WooCommerce: grid de productos */
.nvx-wcgrid { padding: 24px 16px; }
.nvx-wcgrid h2 { font-size: 20px; margin-bottom: 14px; }
.wcg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wcg-card { position: relative; background: #fff; border: 1px solid #ececec; border-radius: var(--nvx-radius); overflow: hidden; text-align: left; box-shadow: 0 3px 10px rgba(0,0,0,.04); }
.wcg-sale { position: absolute; top: 8px; left: 8px; z-index: 2; background: #e4002b; color: #fff; font-size: 9px; font-weight: 800; padding: 3px 8px; border-radius: 4px; letter-spacing: .04em; }
.wcg-card > a > img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }
.wcg-body { padding: 10px 10px 12px; }
.wcg-name { font-size: 12px; font-weight: 800; line-height: 1.3; min-height: 31px; }
.wcg-price { font-size: 13.5px; font-weight: 800; color: #e4002b; margin: 5px 0 9px; }
.wcg-price del { color: #9ca3af; font-weight: 600; margin-right: 6px; font-size: 11.5px; }
.wcg-price ins { text-decoration: none; }
.wcg-btn { display: block; text-align: center; background: var(--nvx-cta-bg); color: var(--nvx-cta-text); border-radius: 999px; padding: 9px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.wcg-btn:hover { filter: brightness(1.15); }

/* Barra fija inferior */
.nvx-sticky { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 480px; z-index: 70; background: #fff; border-top: 1px solid var(--nvx-line); padding: 10px 14px; display: flex; align-items: center; gap: 12px; box-shadow: 0 -4px 16px rgba(0,0,0,0.08); }
.nvx-sticky .sk-price { flex-shrink: 0; }
.nvx-sticky .sk-old { font-size: 10px; color: #9ca3af; text-decoration: line-through; display: block; }
.nvx-sticky .sk-new { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 18px; line-height: 1; }
.nvx-sticky .sk-btn { flex: 1; background: var(--nvx-lime); color: var(--nvx-dark); font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 14px; text-align: center; padding: 14px; border-radius: 10px; cursor: pointer; }
/* Reserva de espacio para que la barra fija no tape el footer */
.nb-w-pdp_sticky { height: 70px; }
