/* Cuponera — ranking y ficha de productos. Usa los tokens del tema Semilla. */

.cp-ranking .cp-subrankings { margin-bottom: 20px; }
.cp-ranking a.sm-chip-filtro { text-decoration: none; color: var(--sm-ink, #14170F); display: inline-block; }
.cp-ranking a.sm-chip-filtro.is-activo { color: var(--sm-snow, #FCFCF8); }

.cp-rank-row { grid-template-columns: 56px 64px minmax(0, 1fr) 150px 150px; }
.cp-rank-precio { text-align: right; line-height: 1.35; }
.cp-rank-precio strong { color: var(--sm-ink, #14170F); font-weight: 600; }
.cp-precio-movil { display: none; }
.cp-vacio { padding: 20px; margin: 0; color: var(--sm-ink-2, #3A3E33); border-top: 1px solid var(--sm-hairline, rgba(20,23,15,.12)); }

@media (max-width: 720px) {
	.cp-rank-row { grid-template-columns: 40px minmax(0, 1fr); }
	.cp-precio-movil { display: inline; color: var(--sm-ink, #14170F); font-weight: 600; }
}

.cp-ficha-cabecera { margin: 8px 0 32px; }
.cp-ficha-cabecera .sm-rank-marca { display: block; margin: 0 0 4px; }
.cp-indice { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; margin: 0 0 4px; }
.cp-indice span { font-size: 14px; font-weight: 400; color: var(--sm-ink-3, #6B7062); }
.cp-desde { margin: 0; font-size: 17px; }
.cp-desde a { margin-left: 4px; }

.cp-ofertas-wrap { overflow-x: auto; }
.cp-ofertas { width: 100%; border-collapse: collapse; font-size: 15px; }
.cp-ofertas th { text-align: left; font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--sm-ink-3, #6B7062); padding: 8px 12px; border-bottom: 1px solid var(--sm-hairline, rgba(20,23,15,.12)); }
.cp-ofertas td { padding: 14px 12px; border-bottom: 1px solid var(--sm-hairline, rgba(20,23,15,.12)); vertical-align: middle; }
.cp-ofertas td:last-child { text-align: right; white-space: nowrap; }
.cp-ofertas tr.cp-mejor td { background: var(--sm-apple-tint, #EDF2D0); }
.cp-sub { display: block; font-size: 12px; color: var(--sm-ink-3, #6B7062); margin-top: 2px; }
.cp-btn { display: inline-block; padding: 10px 20px; border-radius: 999px; background: var(--sm-verdigris, #1E5A47); color: var(--sm-snow, #FCFCF8) !important; text-decoration: none; font-size: 14px; font-weight: 500; transition: background var(--sm-dur-fast, 160ms) ease; }
.cp-btn:hover, .cp-btn:focus-visible { background: var(--sm-verdigris-hover, #194C3C); }

@media (max-width: 720px) {
	.cp-ofertas thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.cp-ofertas, .cp-ofertas tbody, .cp-ofertas tr { display: block; width: 100%; }
	.cp-ofertas tr { border-bottom: 1px solid var(--sm-hairline, rgba(20,23,15,.12)); padding: 12px 0; }
	.cp-ofertas tr.cp-mejor { background: var(--sm-apple-tint, #EDF2D0); }
	.cp-ofertas td { box-sizing: border-box; width: 100%; border: 0; padding: 4px 12px; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; align-items: baseline; text-align: right; }
	.cp-ofertas td::before { content: attr(data-label); grid-row: 1 / span 2; font-size: 12px; color: var(--sm-ink-3, #6B7062); text-align: left; }
	.cp-ofertas td > * { grid-column: 2; }
	.cp-ofertas td:last-child { display: block; text-align: left; padding-top: 8px; }
	.cp-ofertas-wrap { overflow-x: visible; }
	.cp-ofertas td:last-child::before { content: none; }
	.cp-btn { box-sizing: border-box; width: 100%; text-align: center; }
}

.cp-etiqueta th { text-align: left; width: 34%; font-weight: 500; }
.cp-etiqueta ul { margin: 0; padding-left: 18px; }
.cp-nota { font-size: 12px; color: var(--sm-ink-3, #6B7062); margin-top: 12px; }
.cp-volver { margin-top: 32px; }
.cp-aviso { font-size: 13px; color: var(--sm-ink-2, #3A3E33); background: var(--sm-sunk, #EAE7DC); border-radius: 14px; padding: 14px 18px; margin-top: 32px; }
.cp-lista-marca { padding-left: 18px; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
