/* ==========================================================================
   Bastardos — Catálogo
   ========================================================================== */

.bastardos-catalogo { padding-top: 76px; min-height: 100vh; display: flex; flex-direction: column; overflow-x: hidden; }
.bastardos-catalogo .ct-main { flex: 1 0 auto; width: 100%; max-width: 1180px; margin: 0 auto; padding: 56px 24px 96px; }
.bastardos-catalogo .bh-footer { flex-shrink: 0; }

.bh-hero__sub-page { text-align: center; margin-bottom: 48px; }
.bh-hero__sub-page h1 {
	font-family: var(--bh-font-display);
	text-transform: uppercase;
	font-size: clamp(32px, 6vw, 48px);
	margin: 6px 0 10px;
}
.ct-intro { color: #666; font-size: 15px; }

.ct-empty { text-align: center; color: var(--bh-gray); padding: 60px 0; }

.ct-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}
.ct-card {
	background: var(--bh-white);
	border: 1.5px solid var(--bh-gray-light);
	border-radius: var(--bh-radius);
	padding: 16px;
	text-align: center;
	transition: transform 0.2s, box-shadow 0.2s;
}
.ct-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px -18px rgba(0,0,0,0.18); }
.ct-card__foto {
	aspect-ratio: 1;
	border-radius: 10px;
	overflow: hidden;
	background: var(--bh-off-white);
	margin-bottom: 12px;
}
.ct-card__foto img { width: 100%; height: 100%; object-fit: cover; }
.ct-card h3 { font-size: 15px; margin: 0 0 4px; }
.ct-card__desc { font-size: 12.5px; color: var(--bh-gray); margin: 0 0 8px; }
.ct-card__precio { color: var(--bh-red); font-weight: 800; font-size: 16px; margin: 0; }

@media (max-width: 900px) {
	.ct-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.bastardos-catalogo .ct-main { padding: 40px 16px 64px; }
	.ct-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
