/* ==========================================================================
   Saveur — Posts section ("Use the Tips & Recipes")
   Heading + a centred row of three 410×460 photo tiles; the post card itself
   (.sv-post-card) is shared with the blog archives via template-parts/card-post.php.
   ========================================================================== */

.sv-posts { padding: 130px 0; }
.sv-posts .sv-heading { margin-bottom: 60px; }

.sv-posts__grid {
	display: grid;
	grid-template-columns: repeat(3, 413px);
	justify-content: center;
	gap: 30px;
}
.sv-posts__empty { margin: 0; text-align: center; }

/* ---------- Card ---------- */
.sv-post-card {
	position: relative;
	height: 460px;
	overflow: hidden;
	isolation: isolate; /* keeps the arch clipping the scaled image in Safari */
	background: var(--sv-surface);
}
.sv-post-card__link {
	position: relative;
	display: block;
	height: 100%;
	color: inherit;
}
.sv-post-card__link:hover { color: inherit; }
.sv-post-card__link:focus-visible { outline: 2px solid var(--sv-accent); outline-offset: -4px; }

/* Photo (or a plain surface box when the post has no thumbnail) */
.sv-post-card__media {
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	overflow: hidden;
	background: var(--sv-surface);
}
.sv-post-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s var(--sv-ease);
}
.sv-post-card__media::after {
	content: "";
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .95) 100%);
}
.sv-post-card:hover .sv-post-card__media img { transform: scale(1.05); }

/* Meta over the gradient */
.sv-post-card__body {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	z-index: 1;
	padding: 30px;
}
.sv-post-card__date {
	display: table;
	margin: 0 0 20px;
	padding-bottom: 8px;
	border-bottom: 1px solid #fff;
	font-family: var(--sv-body-font);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #fff;
}
.sv-post-card__cats {
	display: block;
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 1.8;
	text-transform: capitalize;
	color: var(--sv-accent);
}
.sv-post-card__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 0;
	font-family: var(--sv-heading-font);
	font-size: 30px;
	font-weight: 300;
	line-height: 1.2;
	color: var(--sv-heading);
	transition: color .3s;
}
.sv-post-card:hover .sv-post-card__title { color: var(--sv-accent); }

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
	.sv-posts__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
	.sv-posts { padding: 90px 0; }
	.sv-posts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.sv-posts { padding: 72px 0; }
	.sv-posts__grid { grid-template-columns: minmax(0, 410px); }
	.sv-post-card { border-radius: 300px 300px 0 0; }
}
@media (max-width: 479px) {
	.sv-post-card__title { font-size: 26px; }
}
