/**
 * Affiliate modules ("Where to stay" etc.). Design-system tokens.
 *
 * @package tourszoom-affiliate
 */

.tzaff-stay {
	--tzaff-navy: #103d62;
	--tzaff-amber: #ffc24d;
	--tzaff-amber-hover: #f0ad2e;
	--tzaff-text: #374151;
	--tzaff-muted: #6b7280;
	--tzaff-border: #e5e7eb;
	margin: 40px 0;
}

.tzaff-stay__heading {
	margin: 0 0 18px;
	color: var(--tzaff-navy);
	font-size: 28px;
	line-height: 1.2;
}

.tzaff-grid {
	display: grid;
	grid-template-columns: repeat(var(--tzaff-cols, 4), 1fr);
	gap: 20px;
}

.tzaff-card {
	background: #fff;
	border: 1px solid var(--tzaff-border);
	border-radius: 10px;
	overflow: hidden;
	transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.tzaff-card:hover {
	box-shadow: 0 10px 26px rgba(16, 61, 98, 0.14);
	transform: translateY(-3px);
}
.tzaff-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.tzaff-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	/* Shown when a feed image 404s (img is hidden via onerror) — looks intentional. */
	background: linear-gradient(135deg, #1a3460 0%, #103d62 100%);
}
.tzaff-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.tzaff-card__body {
	padding: 14px 16px 16px;
}
.tzaff-card__title {
	margin: 0 0 4px;
	color: var(--tzaff-navy);
	font-size: 17px;
	line-height: 1.3;
}
.tzaff-card__city {
	margin: 0 0 10px;
	color: var(--tzaff-muted);
	font-size: 14px;
}
.tzaff-card__cta {
	color: var(--tzaff-navy);
	font-size: 14px;
	font-weight: 600;
}
.tzaff-card:hover .tzaff-card__cta {
	color: var(--tzaff-amber-hover);
}

.tzaff-stay__all {
	margin: 20px 0 0;
}
.tzaff-btn {
	display: inline-block;
	padding: 11px 22px;
	border-radius: 9px;
	background: var(--tzaff-amber);
	color: #0d2840;
	font-weight: 700;
	text-decoration: none;
}
.tzaff-btn:hover {
	background: var(--tzaff-amber-hover);
	color: #0d2840;
}

.tzaff-disclosure {
	margin: 14px 0 0;
	color: var(--tzaff-muted);
	font-size: 12px;
}

@media (max-width: 900px) {
	.tzaff-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
	.tzaff-grid { grid-template-columns: 1fr !important; }
}
