/* ============================================================
   Tabla de Precios Terranza – Estilos del shortcode
   ============================================================ */

/* ── Contenedor raíz ── */
.tpt-wrap {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 14px;
	color: #1e1e1e;
	margin: 1.5em 0;
}

/* ── Scroll horizontal en móviles ── */
.tpt-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* ── Tabla base ── */
.tpt-table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	min-width: 560px;
}

.tpt-table caption {
	font-weight: 700;
	font-size: 1.05em;
	text-align: left;
	padding: 0 0 0.5em;
	color: #1e1e1e;
}

/* ── Encabezado oscuro ── */
.tpt-table thead th {
	background-color: #1e1e1e;
	color: #fff;
	font-weight: 600;
	text-align: left;
	padding: 10px 14px;
	white-space: nowrap;
}

/* ── Cuerpo de la tabla ── */
.tpt-table tbody td {
	padding: 9px 14px;
	border-bottom: 1px solid #e0e0e0;
	vertical-align: middle;
}

/* Filas alternas */
.tpt-table tbody tr:nth-child(even) td {
	background-color: #f7f7f7;
}

/* Hover */
.tpt-table tbody tr:hover td {
	background-color: #eef4fb;
}

/* ── Columnas específicas ── */
.tpt-dev-name {
	font-weight: 600;
}

.tpt-price {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.tpt-price--total {
	font-weight: 700;
}

.tpt-num {
	text-align: center;
	color: #666;
	font-size: 0.85em;
	width: 40px;
}

.tpt-area {
	white-space: nowrap;
}

.tpt-lot-name {
	white-space: nowrap;
}

.tpt-empty {
	color: #bbb;
}

/* ── Badges de tipo de lote ── */
.tpt-tipo {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 0.8em;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	white-space: nowrap;
	background-color: #e0e0e0;
	color: #333;
}

/* A */
.tpt-tipo--A {
	background-color: #d4edda;
	color: #155724;
}

/* AA */
.tpt-tipo--AA {
	background-color: #cce5ff;
	color: #004085;
}

/* AAA */
.tpt-tipo--AAA {
	background-color: #fff3cd;
	color: #856404;
}

/* AAA-PLUS / AAA PLUS */
.tpt-tipo--AAA-PLUS,
.tpt-tipo--AAA-plus {
	background-color: #f8d7da;
	color: #721c24;
}

/* MIXTO */
.tpt-tipo--MIXTO {
	background-color: #e2d9f3;
	color: #3d1a78;
}

/* MIXTO 1 */
.tpt-tipo--MIXTO-1 {
	background-color: #d1ecf1;
	color: #0c5460;
}

/* MIXTO 2 */
.tpt-tipo--MIXTO-2 {
	background-color: #fde8d8;
	color: #7d3c00;
}

/* MIXTO 3 */
.tpt-tipo--MIXTO-3 {
	background-color: #e8f4d9;
	color: #2d6a0a;
}

/* RESTRICCION */
.tpt-tipo--RESTRICCION {
	background-color: #f5c6cb;
	color: #491217;
}

/* MIXTO RESTRICCION */
.tpt-tipo--MIXTO-RESTRICCION {
	background-color: #fed8d8;
	color: #6b1414;
}

/* ── Barra de meta / fecha ── */
.tpt-meta {
	font-size: 0.82em;
	color: #555;
	margin: 0 0 0.5em;
}

/* ── Badge de advertencia (datos de respaldo) ── */
.tpt-badge {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 3px;
	font-size: 0.85em;
	vertical-align: middle;
}

.tpt-badge--warning {
	background-color: #fff3cd;
	color: #856404;
	border: 1px solid #ffc107;
}

/* ── Nota de condiciones ── */
.tpt-nota {
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #555;
	text-transform: uppercase;
	margin: 0 0 0.6em;
}

/* ── Disclaimer legal ── */
.tpt-disclaimer {
	font-size: 0.78em;
	color: #888;
	margin: 0.75em 0 0;
	line-height: 1.5;
}

/* ── Sin datos ── */
.tpt-no-data {
	color: #888;
	font-style: italic;
}

/* ── Responsive ── */
@media (max-width: 640px) {
	.tpt-table {
		font-size: 13px;
	}

	.tpt-table thead th,
	.tpt-table tbody td {
		padding: 7px 10px;
	}

	.tpt-nota {
		font-size: 0.72em;
	}
}
