:root {
	--chm-cobre: #b8611f;
	--chm-cobre-claro: #fbeee3;
	--chm-texto: #1f2328;
	--chm-suave: #5f6670;
	--chm-borde: #e3e5e8;
	--chm-fondo: #ffffff;
	--chm-fondo-2: #f7f7f8;
	--chm-sube: #1a7f37;
	--chm-baja: #c62828;
}

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

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

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

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

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

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

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

/* Preguntas frecuentes */
.entry-content details, .chm-faq details { border-bottom: 1px solid var(--chm-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 */
.chm-footer { padding: 24px 16px; border-top: 1px solid var(--chm-borde); text-align: center; font-size: .85em; color: var(--chm-suave); background: var(--chm-fondo-2); }
.chm-footer a { color: inherit; margin: 0 6px; }
.chm-footer p { margin: 4px 0; }

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