/** Directory advertisements. No automatic advertising label is injected. */

.snm-frontend .snm-ad-region {
	display: grid;
	gap: clamp(12px, 2vw, 22px);
	width: 100%;
	min-width: 0;
	padding-block: clamp(14px, 2.4vw, 28px);
}

.snm-frontend .snm-ad-region:empty {
	display: none;
}

.snm-frontend .snm-advertisement {
	width: min(calc(100% - clamp(32px, 6.8vw, 96px)), var(--snm-directory-wide, 1320px));
	min-width: 0;
	margin-inline: auto;
	color: var(--snm-design-text, #102a2e);
	overflow: hidden;
}

.snm-frontend .snm-advertisement--width-content {
	max-width: 820px;
}

.snm-frontend .snm-advertisement--width-full {
	width: 100%;
	max-width: none;
}

.snm-frontend .snm-advertisement--card,
.snm-frontend .snm-advertisement--accent,
.snm-frontend .snm-advertisement--outline {
	padding: clamp(18px, 3vw, 34px);
	border: 1px solid var(--snm-design-border, #d9e3df);
	border-radius: var(--snm-directory-radius, 22px);
	background: var(--snm-design-surface, #fff);
	box-shadow: 0 14px 38px rgba(9, 45, 48, .07);
}

.snm-frontend .snm-advertisement--accent {
	border-color: color-mix(in srgb, var(--snm-brand, #087a72) 35%, transparent);
	background: var(--snm-design-accent-soft, #e5f5f1);
}

.snm-frontend .snm-advertisement--outline {
	border: 2px solid var(--snm-brand, #087a72);
	background: transparent;
	box-shadow: none;
}

.snm-frontend .snm-advertisement--align-center {
	text-align: center;
}

.snm-frontend .snm-advertisement__title {
	margin: 0 0 14px;
	color: var(--snm-design-heading, #0b2529);
}

.snm-frontend .snm-advertisement__content > :first-child {
	margin-top: 0;
}

.snm-frontend .snm-advertisement__content > :last-child {
	margin-bottom: 0;
}

.snm-frontend .snm-advertisement__content :where(img, video, iframe, object, embed) {
	max-width: 100%;
}

.snm-frontend .snm-advertisement__content :where(img, video) {
	height: auto;
}

.snm-frontend .snm-directory-shell > .snm-ad-region {
	padding-block: 0;
}

.snm-frontend .snm-directory-shell > .snm-ad-region .snm-advertisement {
	width: 100%;
}

@media (max-width: 640px) {
	.snm-frontend .snm-ad-region {
		padding-block: 12px;
	}

	.snm-frontend .snm-advertisement {
		width: calc(100% - 28px);
	}

	.snm-frontend .snm-advertisement--width-full,
	.snm-frontend .snm-directory-shell > .snm-ad-region .snm-advertisement {
		width: 100%;
	}

	.snm-frontend .snm-advertisement--card,
	.snm-frontend .snm-advertisement--accent,
	.snm-frontend .snm-advertisement--outline {
		padding: 18px;
		border-radius: 16px;
	}
}
