/**
 * Minimal resource-shortcode presentation.
 * Values are scoped and can be overridden by the active theme or Elementor.
 */
.ac-resources {
	--ac-resource-text: #303030;
	--ac-resource-muted: #6b625f;
	--ac-resource-accent: #f47363;
	--ac-resource-soft: #fff0ed;
	--ac-resource-border: #e4dad7;
	--ac-resource-title-size: 22px;
	--ac-resource-title-size-tablet: 20px;
	--ac-resource-title-size-mobile: 18px;
	--ac-resource-excerpt-size: 15px;
	color: var(--ac-resource-text);
}

.ac-resources__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.ac-resources--columns-1 .ac-resources__grid { grid-template-columns: 1fr; }
.ac-resources--columns-2 .ac-resources__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ac-resources--columns-4 .ac-resources__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ac-resource-card {
	min-width: 0;
	border: 1px solid var(--ac-resource-border);
	background: #fff;
}

.ac-resource-card__media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--ac-resource-soft);
}

.ac-resource-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ac-resource-card__body {
	padding: 1.25rem;
}

.ac-resource-card__meta {
	margin-block-end: 0.625rem;
	color: var(--ac-resource-accent);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ac-resources .ac-resource-card .ac-resource-card__title {
	margin: 0 !important;
	font-size: var(--ac-resource-title-size) !important;
	line-height: 1.25 !important;
	font-weight: 700;
}

.ac-resource-card__title a,
.ac-resource-card__link {
	color: inherit;
	text-decoration: none;
}

.ac-resource-card__excerpt {
	margin: 0.9rem 0 1rem;
	color: var(--ac-resource-muted);
	font-size: var(--ac-resource-excerpt-size);
	line-height: 1.65;
}

.ac-resource-card__link {
	display: inline-flex;
	font-weight: 700;
}

.ac-resource-card__link:hover,
.ac-resource-card__link:focus-visible,
.ac-resource-card__title a:hover,
.ac-resource-card__title a:focus-visible {
	color: var(--ac-resource-accent);
}

.ac-resources__pagination {
	margin-block-start: 2rem;
}

.ac-resources__pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0;
	list-style: none;
}

.ac-resources__pagination a,
.ac-resources__pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding-inline: 0.75rem;
	border: 1px solid var(--ac-resource-border);
	color: inherit;
	text-decoration: none;
}

.ac-resources__pagination .current {
	border-color: var(--ac-resource-accent);
	background: var(--ac-resource-accent);
	color: #fff;
}

.ac-resources-empty {
	color: var(--ac-resource-muted);
}

@media (max-width: 900px) {
	.ac-resources .ac-resource-card .ac-resource-card__title {
		font-size: var(--ac-resource-title-size-tablet) !important;
	}

	.ac-resources__grid,
	.ac-resources--columns-4 .ac-resources__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.ac-resources .ac-resource-card .ac-resource-card__title {
		font-size: var(--ac-resource-title-size-mobile) !important;
	}

	.ac-resources__grid,
	.ac-resources--columns-2 .ac-resources__grid,
	.ac-resources--columns-4 .ac-resources__grid {
		grid-template-columns: 1fr;
	}
}
