/**
 * Smoking Aces — Catalog widget styles
 * Estratti 1:1 dal prototipo Catalog.dc.html
 * CSS custom properties settate inline dal render() PHP.
 */

.sma-cat-wrap {
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
	color: var(--sma-cat-text, #1C1A16);
	background: var(--sma-cat-outer-bg, #EFEDEC);
	-webkit-font-smoothing: antialiased;
}
.sma-cat-wrap *,
.sma-cat-wrap *::before,
.sma-cat-wrap *::after { box-sizing: border-box; }

.sma-cat {
	width: 100%;
	max-width: var(--sma-cat-outer-max, 1920px);
	margin: 0 auto;
	padding: clamp(48px, 6vw, 96px) clamp(20px, 3vw, 48px);
}

.sma-cat__inner {
	max-width: var(--sma-cat-inner-max, 1600px);
	margin: 0 auto;
}

.sma-cat__intro {
	text-align: center;
	margin: 0 auto clamp(32px, 4vw, 56px);
	max-width: 820px;
}

.sma-cat__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sma-cat-text, #1C1A16);
	margin: 0 0 16px;
}
.sma-cat__eyebrow::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--sma-cat-eyebrow-dot, #B9D62F);
	flex: 0 0 6px;
}

.sma-cat__heading {
	font-family: 'Manrope', system-ui, sans-serif;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.05;
	margin: 0;
	font-size: clamp(28px, 3.6vw, var(--sma-cat-h2, 44px));
	color: var(--sma-cat-text, #1C1A16);
	text-wrap: balance;
}

.sma-cat__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 1.8vw, 24px);
}
@media (max-width: 1000px) {
	.sma-cat__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.sma-cat__grid { grid-template-columns: minmax(0, 1fr); }
}

.sma-cat__card {
	background: var(--sma-cat-card-bg, #FFFFFF);
	border-radius: var(--sma-cat-card-radius, 20px);
	padding: var(--sma-cat-card-padding, 14px);
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	transition: transform .25s ease, box-shadow .25s ease;
}
.sma-cat__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}

.sma-cat__media {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	border-radius: var(--sma-cat-media-radius, 14px);
	background-color: #111;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	overflow: hidden;
}

.sma-cat__arrow {
	position: absolute;
	left: 14px;
	bottom: 14px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--sma-cat-arrow-bg, #E6FD56);
	color: var(--sma-cat-arrow-color, #1C1A16);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.sma-cat__arrow svg { width: 16px; height: 16px; }

.sma-cat__body { padding: 18px 8px 10px; }

.sma-cat__title {
	font-family: 'Manrope', system-ui, sans-serif;
	font-weight: 800;
	font-size: clamp(18px, 1.35vw, 22px);
	margin: 0 0 8px;
	color: var(--sma-cat-text, #1C1A16);
	letter-spacing: -0.01em;
}
.sma-cat__desc {
	font-size: clamp(14px, 1vw, 15px);
	line-height: 1.55;
	color: var(--sma-cat-text, #1C1A16);
	margin: 0;
	text-wrap: pretty;
}
