/**
 * NDELL Store — ficha de venta de producto.
 * Solo se carga en las páginas de producto (body.ndell-ficha). Reutiliza los tokens --ndell-*.
 */
body.ndell-ficha {
	--f-card: var(--ndell-superficie, rgba(10, 10, 10, .92));
	--f-line: rgba(168, 255, 0, .28);
	--f-text: #D5DCD8;
	--f-warn: #FFD166;
}
body.ndell-ficha #ndell-comprar,
body.ndell-ficha #ndell-dudas { scroll-margin-top: 110px; }

/* ---------- Primera pantalla ---------- */
body.ndell-ficha div.product .woocommerce-product-gallery {
	padding: 10px;
	border: 1px solid var(--f-line);
	border-radius: 16px;
	background: var(--f-card);
}
body.ndell-ficha div.product .woocommerce-product-gallery img { border-radius: 10px; }
body.ndell-ficha div.product .summary {
	padding: 24px 24px 18px;
	border: 1px solid var(--f-line);
	border-radius: 16px;
	background: var(--f-card);
	color: var(--f-text);
}
p.ndell-f-marca {
	margin: 0 0 6px;
	color: var(--ndell-neon);
	font: 700 12.5px/1.3 var(--ndell-font-body);
	letter-spacing: 1.2px;
	text-transform: uppercase;
}
p.ndell-f-marca a { color: inherit; text-decoration: none; }
p.ndell-f-marca a:hover, p.ndell-f-marca a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
body.ndell-ficha div.product .summary .product_title {
	margin: 0 0 10px;
	color: #fff;
	font: italic 800 clamp(28px, 2.8vw, 38px)/1 var(--ndell-font-display);
	text-transform: uppercase;
	letter-spacing: .2px;
}
body.ndell-ficha div.product .summary p.price {
	margin: 0 0 8px;
	color: var(--ndell-neon);
	font: 800 34px/1 var(--ndell-font-display);
}
body.ndell-ficha div.product .summary p.price .ndell-from { color: var(--ndell-soft); font: 600 14px/1 var(--ndell-font-body); text-transform: uppercase; letter-spacing: .5px; }
p.ndell-f-argumento {
	margin: 0 0 14px;
	padding: 2px 0 2px 12px;
	border-left: 3px solid var(--ndell-neon);
	color: #fff;
	font: 600 15.5px/1.45 var(--ndell-font-body);
}
.ndell-f-resumen p { margin: 0 0 14px; color: var(--f-text); font: 400 15px/1.6 var(--ndell-font-body); }

dl.ndell-f-datos { display: grid; gap: 0; margin: 0 0 14px; border-top: 1px solid rgba(255, 255, 255, .1); }
dl.ndell-f-datos > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
dl.ndell-f-datos dt { margin: 0; color: var(--ndell-soft); font: 700 11.5px/1.5 var(--ndell-font-body); letter-spacing: .6px; text-transform: uppercase; }
dl.ndell-f-datos dd { margin: 0; color: #fff; font: 500 14.5px/1.45 var(--ndell-font-body); }
dl.ndell-f-datos dd.is-ok { color: var(--ndell-neon); font-weight: 700; }
dl.ndell-f-datos dd.is-off { color: #FF9C9C; font-weight: 700; }

.ndell-f-opc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 12px; }
p.ndell-f-opc__t { flex: none; min-width: 108px; margin: 0; color: #fff; font: 700 12.5px/1.2 var(--ndell-font-body); text-transform: uppercase; letter-spacing: .5px; }
ul.ndell-f-opc__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
ul.ndell-f-opc__list li { margin: 0; }
.ndell-f-opc__o {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 7px 14px;
	border: 1.5px solid rgba(255, 255, 255, .28);
	border-radius: 999px;
	color: #fff;
	font: 600 14px/1.2 var(--ndell-font-body);
	text-decoration: none;
	transition: border-color .2s, background-color .2s;
}
a.ndell-f-opc__o:hover, a.ndell-f-opc__o:focus-visible { border-color: var(--ndell-neon); color: #fff; }
.ndell-f-opc__o.is-active { border-color: var(--ndell-neon); background: var(--ndell-neon); color: var(--ndell-black); font-weight: 800; }
.ndell-f-opc__o.is-off { opacity: .55; }

.ndell-f-sec { margin: 4px 0 12px; }
body.ndell-ficha .ndell-f-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 52px;
	margin: 0;
	padding: 0 24px;
	border: 2px solid var(--ndell-neon);
	border-radius: var(--ndell-radius-sm, 8px);
	background: var(--ndell-neon);
	color: var(--ndell-black);
	font: italic 800 19px/1 var(--ndell-font-display);
	letter-spacing: .3px;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none;
	transition: background-color .2s, border-color .2s, color .2s;
}
body.ndell-ficha .ndell-f-btn:hover, body.ndell-ficha .ndell-f-btn:focus-visible { border-color: var(--ndell-lime); background: var(--ndell-lime); color: var(--ndell-black); }
body.ndell-ficha .ndell-f-btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
body.ndell-ficha .ndell-f-btn--sec { width: 100%; background: transparent; color: var(--ndell-neon); }
body.ndell-ficha .ndell-f-btn--sec:hover, body.ndell-ficha .ndell-f-btn--sec:focus-visible { background: rgba(168, 255, 0, .1); color: var(--ndell-lime); }

ul.ndell-f-confianza { display: grid; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
ul.ndell-f-confianza li { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--f-text); font: 500 13.5px/1.35 var(--ndell-font-body); }
ul.ndell-f-confianza strong { color: #fff; }
.ndell-f-confianza__i { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border: 1px solid var(--f-line); border-radius: 50%; color: var(--ndell-neon); font-size: 16px; }

/* ---------- Secciones ---------- */
.ndell-f { display: grid; gap: 22px; clear: both; margin: 28px 0; }
.ndell-f-card {
	padding: 26px 28px;
	border: 1px solid var(--f-line);
	border-radius: 16px;
	background: var(--f-card);
}
.ndell-f h2.ndell-f-h2 {
	margin: 0 0 14px;
	color: #fff;
	font: italic 800 clamp(26px, 3vw, 36px)/1.05 var(--ndell-font-display);
	text-transform: uppercase;
	letter-spacing: .2px;
}
.ndell-f h2.ndell-f-h2 .is-accent { color: var(--ndell-neon); }
.ndell-f h3.ndell-f-h3 { margin: 18px 0 8px; color: #fff; font: 800 18px/1.2 var(--ndell-font-display); text-transform: uppercase; letter-spacing: .3px; }
.ndell-f-dos h3.ndell-f-h3 { margin-top: 4px; }
.ndell-f p { margin: 0 0 12px; color: var(--f-text); font: 400 15.5px/1.65 var(--ndell-font-body); }
.ndell-f p:last-child { margin-bottom: 0; }
.ndell-f p.ndell-f-nota { margin: -6px 0 14px; color: var(--ndell-soft); font: 700 11.5px/1.4 var(--ndell-font-body); letter-spacing: .8px; text-transform: uppercase; }
.ndell-f p.ndell-f-fuente { margin-top: 12px; color: var(--ndell-soft); font-size: 13px; }
.ndell-f p.ndell-f-aviso {
	padding: 12px 14px;
	border-left: 3px solid var(--f-warn);
	border-radius: 0 10px 10px 0;
	background: rgba(255, 209, 102, .08);
	color: #FFE9B0;
	font-size: 14.5px;
}
.ndell-f-verde { color: var(--ndell-neon); }

ul.ndell-f-lista { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
ul.ndell-f-lista li { position: relative; margin: 0; padding-left: 28px; color: var(--f-text); font: 400 15px/1.55 var(--ndell-font-body); }
ul.ndell-f-lista li::before {
	content: "";
	position: absolute;
	left: 4px; top: .55em;
	width: 9px; height: 9px;
	border-radius: 50%;
	background: var(--ndell-neon);
}
ul.ndell-f-lista--si li::before { content: "✓"; left: 0; top: 0; width: auto; height: auto; background: none; color: var(--ndell-neon); font-weight: 800; }
ul.ndell-f-lista--no li::before { content: "!"; left: 4px; top: .15em; width: 16px; height: 16px; display: grid; place-items: center; border-radius: 50%; background: var(--f-warn); color: var(--ndell-black); font: 800 11px/1 var(--ndell-font-body); }

.ndell-f-dos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }

ul.ndell-f-beneficios { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
li.ndell-f-beneficio {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 20px 18px;
	border: 1px solid var(--f-line);
	border-radius: 14px;
	background: var(--f-card);
	color: var(--f-text);
	font: 400 14px/1.5 var(--ndell-font-body);
}
li.ndell-f-beneficio strong { color: #fff; font: 800 19px/1.15 var(--ndell-font-display); text-transform: uppercase; letter-spacing: .2px; }
.ndell-f-beneficio__i { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 4px; border-radius: 50%; background: var(--ndell-neon); color: var(--ndell-black); font-size: 20px; }

ol.ndell-f-pasos { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: paso; }
ol.ndell-f-pasos li { position: relative; margin: 0; padding-left: 44px; min-height: 30px; color: var(--f-text); font: 400 15px/1.55 var(--ndell-font-body); counter-increment: paso; }
ol.ndell-f-pasos li::before {
	content: counter(paso);
	position: absolute;
	left: 0; top: -2px;
	display: grid; place-items: center;
	width: 30px; height: 30px;
	border: 2px solid var(--ndell-neon);
	border-radius: 50%;
	color: var(--ndell-neon);
	font: 800 15px/1 var(--ndell-font-display);
}

table.ndell-f-tabla { width: 100%; margin: 0; border-collapse: collapse; color: #fff; font: 400 14.5px/1.4 var(--ndell-font-body); }
table.ndell-f-tabla th, table.ndell-f-tabla td { padding: 10px 12px; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .1); background: none; text-align: left; vertical-align: top; }
table.ndell-f-tabla tbody th { color: var(--ndell-soft); font-weight: 600; }
table.ndell-f-tabla td { font-weight: 700; }
.ndell-f-tabla-wrap { margin-top: 16px; overflow-x: auto; }
table.ndell-f-comp thead th { color: var(--ndell-neon); font: 700 12px/1.3 var(--ndell-font-body); letter-spacing: .6px; text-transform: uppercase; border-bottom: 1.5px solid var(--f-line); }
table.ndell-f-comp tbody th { color: #fff; font-weight: 700; }
table.ndell-f-comp tbody th a { color: #fff; text-decoration: underline; text-decoration-color: var(--ndell-neon); text-underline-offset: 3px; }
table.ndell-f-comp td { font-weight: 500; }
table.ndell-f-comp tr.is-actual th, table.ndell-f-comp tr.is-actual td { background: rgba(168, 255, 0, .08); }
.ndell-f-sub { display: block; color: var(--ndell-soft); font: 500 12px/1.3 var(--ndell-font-body); }
.ndell-f-tag {
	display: inline-block;
	margin: 0 0 4px;
	padding: 3px 8px;
	border: 1px solid var(--ndell-neon);
	border-radius: 4px;
	color: var(--ndell-neon);
	font: 700 10.5px/1.2 var(--ndell-font-body);
	letter-spacing: .6px;
	text-transform: uppercase;
	vertical-align: middle;
}

.ndell-f-faq { display: grid; gap: 10px; }
details.ndell-f-faq__item { border: 1px solid var(--f-line); border-radius: 12px; background: var(--f-card); }
details.ndell-f-faq__item summary {
	position: relative;
	display: block;
	padding: 16px 52px 16px 18px;
	color: #fff;
	font: 700 15.5px/1.35 var(--ndell-font-body);
	cursor: pointer;
	list-style: none;
}
details.ndell-f-faq__item summary::-webkit-details-marker { display: none; }
details.ndell-f-faq__item summary::after {
	content: "+";
	position: absolute;
	right: 16px; top: 50%;
	display: grid; place-items: center;
	width: 26px; height: 26px;
	margin-top: -13px;
	border-radius: 50%;
	background: var(--ndell-neon);
	color: var(--ndell-black);
	font: 800 18px/1 var(--ndell-font-body);
}
details.ndell-f-faq__item[open] summary::after { content: "−"; }
details.ndell-f-faq__item summary:focus-visible { outline: 3px solid var(--ndell-neon); outline-offset: 2px; border-radius: 12px; }
.ndell-f-faq__a { padding: 0 18px 16px; }

ul.ndell-f-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
li.ndell-f-item { display: flex; gap: 16px; margin: 0; padding: 16px; border: 1px solid var(--f-line); border-radius: 14px; background: var(--f-card); }
li.ndell-f-item--regalo { border-style: dashed; }
.ndell-f-item__img { display: grid; place-items: center; flex: none; width: 104px; height: 104px; overflow: hidden; border-radius: 10px; background: var(--ndell-ink, #0B1210); color: var(--ndell-neon); font-size: 34px; }
.ndell-f-item__img img { width: 100%; height: 100%; object-fit: cover; }
.ndell-f-item__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ndell-f-item__n { color: #fff; font: 800 19px/1.15 var(--ndell-font-display); text-transform: uppercase; }
.ndell-f-item__m { color: var(--ndell-soft); font: 600 12.5px/1.3 var(--ndell-font-body); }
.ndell-f-item__f { color: var(--f-text); font: 400 14px/1.45 var(--ndell-font-body); }
a.ndell-f-item__link { margin-top: 4px; color: var(--ndell-neon); font: 700 13px/1.3 var(--ndell-font-body); text-decoration: none; }
a.ndell-f-item__link:hover, a.ndell-f-item__link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }

section.ndell-f-cta {
	padding: 28px 24px;
	border: 2px solid var(--ndell-neon);
	border-radius: 18px;
	background: radial-gradient(circle at 50% 0%, rgba(168, 255, 0, .14), transparent 60%), var(--f-card);
	text-align: center;
	box-shadow: 0 0 26px rgba(168, 255, 0, .14);
}
section.ndell-f-cta h2.ndell-f-h2 { margin-bottom: 6px; }
.ndell-f p.ndell-f-cta__n { margin: 0 0 6px; color: #fff; font-weight: 600; }
.ndell-f p.ndell-f-cta__p { margin: 0 0 14px; color: var(--ndell-neon); font: 800 34px/1 var(--ndell-font-display); }
.ndell-f p.ndell-f-cta__p .ndell-from { color: var(--ndell-soft); font: 600 13px/1 var(--ndell-font-body); text-transform: uppercase; }
section.ndell-f-cta .ndell-f-btn { min-width: 260px; }
.ndell-f p.ndell-f-cta__h { margin: 12px 0 0; color: var(--ndell-soft); font-size: 13.5px; }
.ndell-f p.ndell-f-cta__h a { color: var(--ndell-neon); }
.ndell-f p.ndell-f-cta__msg { margin: 12px auto 0; max-width: 520px; padding: 10px 12px; border-radius: 10px; font: 600 14px/1.4 var(--ndell-font-body); }
.ndell-f p.ndell-f-cta__msg[hidden] { display: none; }
.ndell-f p.ndell-f-cta__msg.is-ok { background: rgba(168, 255, 0, .12); color: var(--ndell-neon); }
.ndell-f p.ndell-f-cta__msg.is-error { background: rgba(255, 120, 120, .12); color: #FF9C9C; }
.ndell-f p.ndell-f-cta__msg a { color: #fff; font-weight: 800; }

/* Opiniones reales de WooCommerce */
body.ndell-ficha div.product .woocommerce-tabs {
	clear: both;
	margin: 0 0 28px;
	padding: 22px 26px;
	border: 1px solid var(--f-line);
	border-radius: 16px;
	background: var(--f-card);
	color: var(--f-text);
}
body.ndell-ficha div.product .woocommerce-tabs ul.tabs li a { color: #fff; font-weight: 700; }
body.ndell-ficha div.product .woocommerce-tabs h2 { color: #fff; font: italic 800 26px/1.1 var(--ndell-font-display); text-transform: uppercase; }

/* Complementos */
ul.ndell-f-mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
li.ndell-f-mini__i { margin: 0; }
li.ndell-f-mini__i a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	padding: 12px 12px 16px;
	border: 1px solid var(--f-line);
	border-radius: 14px;
	background: var(--f-card);
	color: #fff;
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s;
}
li.ndell-f-mini__i a:hover, li.ndell-f-mini__i a:focus-visible { border-color: var(--ndell-neon); box-shadow: 0 0 18px rgba(168, 255, 0, .18); }
.ndell-f-mini__img { display: block; overflow: hidden; border-radius: 10px; background: var(--ndell-ink, #0B1210); aspect-ratio: 4 / 3; }
.ndell-f-mini__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ndell-f-mini__n { font: 800 18px/1.15 var(--ndell-font-display); text-transform: uppercase; }
.ndell-f-mini__p { color: var(--ndell-neon); font: 800 22px/1 var(--ndell-font-display); }
.ndell-f-mini__p .ndell-from { color: var(--ndell-soft); font: 600 12px/1 var(--ndell-font-body); text-transform: uppercase; }
.ndell-f-mini__b { margin-top: auto; color: var(--ndell-neon); font: 700 13px/1.2 var(--ndell-font-body); text-transform: uppercase; letter-spacing: .4px; }

/* Barra de compra fija (solo móviles) */
.ndell-f-barra {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 9990;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
	border-top: 1.5px solid var(--ndell-neon);
	background: rgba(2, 8, 6, .97);
	box-shadow: 0 -8px 24px rgba(0, 0, 0, .45);
}
.ndell-f-barra[hidden] { display: none; }
.ndell-f-barra__t { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.ndell-f-barra__n { overflow: hidden; color: #fff; font: 700 13px/1.25 var(--ndell-font-body); white-space: nowrap; text-overflow: ellipsis; }
.ndell-f-barra__p { color: var(--ndell-neon); font: 800 21px/1 var(--ndell-font-display); }
.ndell-f-barra__p .ndell-from { color: var(--ndell-soft); font: 600 11px/1 var(--ndell-font-body); text-transform: uppercase; }
body.ndell-ficha .ndell-f-barra .ndell-f-btn { min-height: 48px; padding: 0 18px; font-size: 17px; }
body.ndell-barra-on { padding-bottom: 76px; }

@media (min-width: 768px) {
	.ndell-f-barra { display: none !important; }
	body.ndell-barra-on { padding-bottom: 0; }
}
/* En escritorio la galería acompaña al resumen mientras se baja. */
@media (min-width: 1025px) {
	body.ndell-ficha div.product .woocommerce-product-gallery { position: sticky; top: 24px; }
}
@media (max-width: 1024px) {
	ul.ndell-f-items { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
	body.ndell-ficha div.product .summary { padding: 18px 16px 14px; }
	body.ndell-ficha div.product .summary p.price { font-size: 30px; }
	dl.ndell-f-datos > div { grid-template-columns: 92px minmax(0, 1fr); }
	.ndell-f { gap: 16px; margin: 20px 0; }
	.ndell-f-card { padding: 20px 16px; border-radius: 14px; }
	.ndell-f-dos { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	ul.ndell-f-beneficios { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	li.ndell-f-beneficio { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; padding: 14px 16px; }
	.ndell-f-beneficio__i { grid-row: span 2; width: 40px; height: 40px; margin: 0; font-size: 18px; }
	li.ndell-f-beneficio strong { font-size: 17px; }
	li.ndell-f-item { padding: 12px; gap: 12px; }
	.ndell-f-item__img { width: 84px; height: 84px; }
	ul.ndell-f-mini { grid-template-columns: minmax(0, 1fr); }
	li.ndell-f-mini__i a { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 12px; }
	.ndell-f-mini__img { width: 96px; flex: none; }
	.ndell-f-mini__n { flex: 1; min-width: 0; font-size: 16px; }
	.ndell-f-mini__p, .ndell-f-mini__b { width: 100%; }
	section.ndell-f-cta { padding: 22px 16px; }
	section.ndell-f-cta .ndell-f-btn { width: 100%; min-width: 0; }
	body.ndell-ficha div.product .woocommerce-tabs { padding: 18px 16px; }
	/* Comparación como tarjetas */
	table.ndell-f-comp thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	table.ndell-f-comp, table.ndell-f-comp tbody, table.ndell-f-comp tr, table.ndell-f-comp th, table.ndell-f-comp td { display: block; width: 100%; }
	table.ndell-f-comp tr { margin: 0 0 10px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 12px; overflow: hidden; }
	table.ndell-f-comp tr.is-actual { border-color: var(--ndell-neon); }
	table.ndell-f-comp td { display: flex; justify-content: space-between; gap: 12px; padding: 7px 12px; }
	table.ndell-f-comp td::before { content: attr(data-label); color: var(--ndell-soft); font-weight: 600; }
	table.ndell-f-comp tbody th { padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.ndell-f-opc__o, li.ndell-f-mini__i a, body.ndell-ficha .ndell-f-btn { transition: none; }
}
