/*
 * TDP Descripción de Categorías — estilo de la descripción de cada categoría.
 * Todo cuelga de .tdp-catdesc: no toca nada más de la página.
 */
.tdp-catdesc {
	--tdp-dc-texto: #1f2937;
	--tdp-dc-suave: #6b7280;
	--tdp-dc-borde: #e5e7eb;
	--tdp-dc-fondo: #f6f7f9;
	--tdp-dc-azul: #2563eb;
	--tdp-dc-lima: #b8ff4a;
	--tdp-dc-lima-borde: #8fd61f;
	--tdp-dc-oscuro: #111827;
	color: var(--tdp-dc-texto);
	font-size: 16px;
	line-height: 1.65;
	max-width: 100%;
}
.tdp-catdesc--antes { margin: 0 0 28px; }

/* XStore pinta woocommerce_before_shop_loop dentro de .filter-content, una
   fila flex sin salto de línea que además pone display:flex a cada hijo: la
   descripción salía en columnas. Fila completa y bloque normal, como el
   carrusel de categorías. */
.filter-wrap .filter-content > .tdp-catdesc,
.tdp-catdesc {
	display: block !important;
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.filter-content:has(> .tdp-catdesc) {
	flex-wrap: wrap !important;
}
.tdp-catdesc--despues {
	margin: 48px 0 24px;
	padding-top: 32px;
	border-top: 1px solid var(--tdp-dc-borde);
}
.tdp-catdesc > :first-child { margin-top: 0; }
.tdp-catdesc > :last-child { margin-bottom: 0; }

/* ── Texto ─────────────────────────────────────────────────────────────── */
.tdp-catdesc h1,
.tdp-catdesc h2,
.tdp-catdesc h3 {
	color: var(--tdp-dc-oscuro);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	text-transform: none;
}
.tdp-catdesc h1 { font-size: 30px; margin: 0 0 16px; }
.tdp-catdesc h2 { font-size: 24px; margin: 40px 0 16px; }
.tdp-catdesc h3 { font-size: 18px; margin: 24px 0 8px; }
.tdp-catdesc p { margin: 0 0 14px; }
.tdp-catdesc strong { color: var(--tdp-dc-oscuro); font-weight: 700; }
.tdp-catdesc a {
	color: var(--tdp-dc-azul);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.tdp-catdesc a:hover { text-decoration-thickness: 2px; }
.tdp-catdesc ul,
.tdp-catdesc ol { margin: 0 0 16px 1.25em; padding: 0; }
.tdp-catdesc li { margin: 0 0 6px; }

/* Lead: el primer párrafo tras el H1, un punto más grande. */
.tdp-catdesc--antes h1 + p { font-size: 17px; }

/* ── Tabla comparativa ─────────────────────────────────────────────────── */
.tdp-catdesc__tabla {
	margin: 0 0 12px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--tdp-dc-borde);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}
.tdp-catdesc__tabla:focus-visible { outline: 2px solid var(--tdp-dc-azul); outline-offset: 2px; }
.tdp-catdesc table {
	width: 100%;
	min-width: 640px;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 14px;
	line-height: 1.4;
	background: transparent;
}
.tdp-catdesc th,
.tdp-catdesc td {
	padding: 12px 14px;
	border: 0;
	border-bottom: 1px solid var(--tdp-dc-borde);
	text-align: left;
	vertical-align: middle;
	background: #fff;
}
.tdp-catdesc tbody tr:last-child > * { border-bottom: 0; }
/* 1.0.3 — El tema quita el padding de la primera y la última columna y
   alinea la última a la derecha: la tabla se veía cortada por los lados. */
.tdp-catdesc .tdp-catdesc__tabla table th,
.tdp-catdesc .tdp-catdesc__tabla table td {
	padding: 12px 16px !important;
	text-align: left !important;
}
.tdp-catdesc thead th {
	background: var(--tdp-dc-oscuro);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}
.tdp-catdesc thead th strong { color: inherit; }
.tdp-catdesc tbody th {
	color: var(--tdp-dc-suave);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
	background: var(--tdp-dc-fondo);
}
.tdp-catdesc tbody tr:hover td { background: #fafbfc; }
/* Primera columna fija al deslizar en el móvil. */
.tdp-catdesc tr > :first-child {
	position: sticky;
	left: 0;
	z-index: 1;
	box-shadow: 1px 0 0 var(--tdp-dc-borde);
}
.tdp-catdesc thead tr > :first-child { z-index: 2; }

.tdp-catdesc__tabla + p {
	color: var(--tdp-dc-suave);
	font-size: 13px;
}

/* ── Lista de ventajas: <ul class="tdp-ventajas"> ──────────────────────── */
.tdp-catdesc ul.tdp-ventajas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}
.tdp-catdesc ul.tdp-ventajas > li {
	position: relative;
	margin: 0;
	padding: 16px 16px 16px 48px;
	border: 1px solid var(--tdp-dc-borde);
	border-radius: 14px;
	background: #fff;
	font-size: 15px;
}
.tdp-catdesc ul.tdp-ventajas > li::before {
	content: "✓";
	position: absolute;
	top: 15px;
	left: 16px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--tdp-dc-lima);
	color: var(--tdp-dc-oscuro);
	font-size: 13px;
	font-weight: 800;
	line-height: 22px;
	text-align: center;
}
.tdp-catdesc ul.tdp-ventajas > li strong { display: block; margin-bottom: 2px; }

/* ── Preguntas frecuentes (acordeón) ───────────────────────────────────── */
.tdp-catdesc .tdp-faq {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 16px;
}
.tdp-catdesc .tdp-faq__item {
	border: 1px solid var(--tdp-dc-borde);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.tdp-catdesc .tdp-faq__item:hover { border-color: var(--tdp-dc-lima-borde); }
.tdp-catdesc .tdp-faq__item[open] {
	border-color: var(--tdp-dc-lima-borde);
	box-shadow: 0 4px 14px rgba(143, 214, 31, 0.18);
}
/* 1.0.3 — Ni marcadores ni flechitas del tema en el acordeón: solo el +/−. */
.tdp-catdesc .tdp-faq__item::before,
.tdp-catdesc .tdp-faq__item::after,
.tdp-catdesc .tdp-faq__item > summary::before,
.tdp-catdesc .tdp-faq__q::before,
.tdp-catdesc .tdp-faq__q::after {
	content: none !important;
	display: none !important;
}
.tdp-catdesc .tdp-faq__item,
.tdp-catdesc .tdp-faq__item > summary {
	list-style: none !important;
	margin-left: 0 !important;
}
.tdp-catdesc .tdp-faq__item > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 18px;
	cursor: pointer;
	list-style: none;
}
.tdp-catdesc .tdp-faq__item > summary::-webkit-details-marker { display: none; }
.tdp-catdesc .tdp-faq__item > summary::marker { content: ""; }
.tdp-catdesc .tdp-faq__item > summary::after {
	content: "+";
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--tdp-dc-fondo);
	color: var(--tdp-dc-oscuro);
	font-size: 20px;
	font-weight: 600;
	line-height: 28px;
	text-align: center;
}
.tdp-catdesc .tdp-faq__item[open] > summary::after {
	content: "−";
	background: var(--tdp-dc-lima);
	color: var(--tdp-dc-oscuro);
}
.tdp-catdesc .tdp-faq__item > summary:focus-visible { outline: 2px solid var(--tdp-dc-lima-borde); outline-offset: -2px; }
.tdp-catdesc .tdp-faq__q {
	margin: 0;
	font-size: 16px;
	line-height: 1.35;
}
.tdp-catdesc .tdp-faq__a { padding: 0 18px 4px; }
.tdp-catdesc .tdp-faq__a > p { color: var(--tdp-dc-texto); }

/* ── 1.1.0 · Descripción larga del producto ───────────────────────────── */
.tdp-catdesc--producto { margin: 0; }
/* Ficha técnica (tabla de dos columnas): cabe en el móvil sin deslizar. */
.tdp-catdesc .tdp-catdesc__tabla--ficha table { min-width: 0; }
.tdp-catdesc .tdp-catdesc__tabla--ficha tbody th { white-space: normal; width: 38%; }
.tdp-catdesc .tdp-catdesc__tabla--ficha tr > :first-child { position: static; box-shadow: none; }
/* Celdas que empiezan por ✅ (comparativas). */
.tdp-catdesc td.tdp-si {
	color: var(--tdp-dc-oscuro);
	font-weight: 600;
	background: #f4ffe6;
}
.tdp-catdesc tbody tr:hover td.tdp-si { background: #ecfdd3; }
/* Listas normales: punto verde lima en vez del del tema. */
.tdp-catdesc ul:not(.tdp-ventajas) {
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}
.tdp-catdesc ul:not(.tdp-ventajas) > li {
	position: relative;
	margin: 0 0 8px;
	padding-left: 24px;
}
.tdp-catdesc ul:not(.tdp-ventajas) > li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 4px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--tdp-dc-lima);
	box-shadow: 0 0 0 1px var(--tdp-dc-lima-borde);
}
/* Notas y párrafos destacados. */
.tdp-catdesc p.tdp-nota,
.tdp-catdesc p.tdp-destacado {
	margin: 0 0 16px;
	padding: 14px 16px;
	border-radius: 12px;
	font-size: 15px;
}
.tdp-catdesc p.tdp-nota {
	color: var(--tdp-dc-texto);
	background: var(--tdp-dc-fondo);
	border: 1px solid var(--tdp-dc-borde);
}
.tdp-catdesc p.tdp-destacado {
	background: #fff;
	border: 1px solid var(--tdp-dc-borde);
	border-left: 4px solid var(--tdp-dc-lima-borde);
}

/* ── Móvil ─────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
	.tdp-catdesc { font-size: 15px; }
	.tdp-catdesc h1 { font-size: 24px; }
	.tdp-catdesc h2 { font-size: 20px; margin-top: 32px; }
	.tdp-catdesc h3 { font-size: 17px; }
	.tdp-catdesc--antes h1 + p { font-size: 16px; }
	.tdp-catdesc .tdp-catdesc__tabla table th,
	.tdp-catdesc .tdp-catdesc__tabla table td { padding: 10px 12px !important; }
	.tdp-catdesc .tdp-faq__item > summary { padding: 14px; }
	.tdp-catdesc .tdp-faq__a { padding: 0 14px 2px; }
	.tdp-catdesc .tdp-faq__q { font-size: 15px; }
}
