:root {
	--div-acento: #1f6f5c;
	--div-claro: #e7f4ef;
	--div-texto: #1f2328;
	--div-suave: #5f6670;
	--div-borde: #e3e5e8;
	--div-fondo: #ffffff;
	--div-fondo-2: #f7f7f8;
	--div-sube: #1a7f37;
	--div-baja: #c62828;
}

.div-inline { color: var(--div-acento); white-space: nowrap; }
.div-aviso { padding: 12px 16px; background: var(--div-fondo-2); border-radius: 8px; color: var(--div-suave); }
.div-actualizado { display: inline-block; font-size: .9em; color: var(--div-suave); }

/* Tarjetas */
.div-tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin: 1.2em 0; }
.div-tarjeta { display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 1px solid var(--div-borde); border-radius: 12px; background: var(--div-fondo); color: var(--div-texto) !important; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
.div-tarjeta:hover { border-color: var(--div-acento); box-shadow: 0 2px 10px rgba(31, 111, 92, .14); }
.div-tarjeta-nombre { font-size: .9em; color: var(--div-suave); }
.div-tarjeta-precio { font-size: 1.8em; font-weight: 700; line-height: 1.1; color: var(--div-acento); font-variant-numeric: tabular-nums; }
.div-tarjeta-precio small { font-size: .5em; font-weight: 500; color: var(--div-suave); margin-left: 2px; }
.div-tarjeta-rango { font-size: .85em; color: var(--div-suave); }

.div-var { font-size: .85em; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.div-sube { color: var(--div-sube); }
.div-baja { color: var(--div-baja); }
.div-igual { color: var(--div-suave); }

/* Tablas */
.div-tabla-wrap { overflow-x: auto; margin: 1em 0 .4em; }
.div-tabla { width: 100%; border-collapse: collapse; font-size: .95em; margin: 0 !important; }
.div-tabla th, .div-tabla td { padding: 10px 12px; border: 0; border-bottom: 1px solid var(--div-borde); text-align: left; vertical-align: top; }
.div-tabla thead th { background: var(--div-fondo-2); font-size: .85em; text-transform: uppercase; letter-spacing: .03em; color: var(--div-suave); }
.div-tabla .div-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.div-tabla tbody tr:hover { background: var(--div-claro); }
.div-nota { display: block; font-size: .82em; color: var(--div-suave); margin-top: 2px; }
.div-pie { font-size: .85em; color: var(--div-suave); margin: .4em 0 1.2em; }

/* Gráfico */
.div-grafico { margin: 1.2em 0; padding: 14px; border: 1px solid var(--div-borde); border-radius: 12px; background: var(--div-fondo); }
.div-grafico-titulo { margin: 0 0 8px !important; font-size: 1.05em; }
.div-rangos { display: flex; gap: 6px; margin-bottom: 8px; }
.div-rangos button { padding: 4px 10px; border: 1px solid var(--div-borde); border-radius: 999px; background: transparent; color: var(--div-texto); font-size: .82em; cursor: pointer; line-height: 1.4; }
.div-rangos button.activo { background: var(--div-acento); border-color: var(--div-acento); color: #fff; }
.div-lienzo { position: relative; width: 100%; }
.div-lienzo svg { display: block; width: 100%; height: auto; touch-action: pan-y; }
.div-linea { fill: none; stroke: var(--div-acento); stroke-width: 2; stroke-linejoin: round; }
.div-area { fill: var(--div-acento); opacity: .08; }
.div-rejilla { stroke: var(--div-borde); stroke-width: 1; }
.div-eje { font-size: 11px; fill: var(--div-suave); }
.div-guia { stroke: var(--div-suave); stroke-dasharray: 3 3; }
.div-punto { fill: var(--div-acento); stroke: #fff; stroke-width: 2; }
.div-tip { display: none; position: absolute; top: 4px; transform: translateX(-50%); padding: 6px 10px; border-radius: 6px; background: var(--div-texto); color: #fff; font-size: 12px; line-height: 1.35; pointer-events: none; text-align: center; white-space: nowrap; }
.div-grafico figcaption { font-size: .82em; color: var(--div-suave); margin-top: 6px; }

/* Calculadora */
.div-calc { margin: 1.2em 0; padding: 18px; border-radius: 12px; background: var(--div-claro); }
.div-calc-campos { display: grid; grid-template-columns: 1fr 1.4fr 1.6fr; gap: 12px; }
.div-calc label { display: flex; flex-direction: column; gap: 4px; font-size: .85em; font-weight: 600; color: var(--div-texto); }
.div-calc select, .div-calc input { width: 100%; padding: 10px; border: 1px solid var(--div-borde); border-radius: 8px; font-size: 1rem; background: #fff; color: var(--div-texto); }
.div-calc-resultado { display: block; margin-top: 14px; font-size: 1.1em; line-height: 1.5; }
.div-calc-resultado strong { color: var(--div-acento); }

/* Amazon */
.div-amazon { margin: 1.5em 0; padding: 14px 18px; border: 1px dashed var(--div-borde); border-radius: 10px; }
.div-amazon ul { margin: .5em 0; }
.div-amazon small { color: var(--div-suave); }

/* Preguntas frecuentes */
.entry-content details, .div-faq details { border-bottom: 1px solid var(--div-borde); padding: 12px 0; }
.entry-content details summary { cursor: pointer; font-weight: 600; }
.entry-content details > *:not(summary) { margin-top: 8px; }

/* Pie de la web */
.div-footer { padding: 24px 16px; border-top: 1px solid var(--div-borde); text-align: center; font-size: .85em; color: var(--div-suave); background: var(--div-fondo-2); }
.div-footer a { color: inherit; margin: 0 6px; }
.div-footer p { margin: 4px 0; }

@media (max-width: 600px) {
	.div-oculto-movil { display: none; }
	.div-calc-campos { grid-template-columns: 1fr; }
	.div-tabla th, .div-tabla td { padding: 9px 8px; }
	.div-tarjetas { grid-template-columns: 1fr 1fr; }
	.div-tarjeta-precio { font-size: 1.4em; }
}

.div-calc-resultado span { display: block; }
.div-calc-valor { font-size: 2em; font-weight: 700; color: var(--div-acento); line-height: 1.2; font-variant-numeric: tabular-nums; }
.div-tabla-alta { max-height: 520px; overflow-y: auto; }
.div-tabla-alta thead th { position: sticky; top: 0; }

.div-tarjetas div.div-tarjeta:hover { border-color: var(--div-borde); box-shadow: none; }
.div-destacado { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 1.2em 0; padding: 18px; border-radius: 14px; background: var(--div-claro); }
.div-destacado > div { display: flex; flex-direction: column; gap: 2px; }
.div-destacado-et { font-size: .9em; color: var(--div-suave); }
.div-destacado-valor { font-size: 2.1em; font-weight: 800; color: var(--div-acento); line-height: 1.1; font-variant-numeric: tabular-nums; }
.div-destacado .div-destacado-var { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: 14px; }
@media (max-width: 600px) { .div-destacado { grid-template-columns: 1fr; } .div-destacado-valor { font-size: 1.7em; } }
