/* WehFiGo ad slots. Wrapper markup: inc/wehfigo-ads.php */

.wf-ad {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--container-max, 1200px);
	margin: var(--space-6, 32px) auto;
	padding-inline: var(--container-gutter, 20px);
}

/* Cache-busted placements arrive empty and fill later; stay hidden until media lands. */
.wf-ad:not(:has(img, picture, video, iframe, ins, object)) {
	display: none !important;
}

.wf-ad__inner {
	display: flex;
	justify-content: center;
	min-width: 0;
}

.wf-ad__inner > * {
	max-width: 100%;
	min-width: 0;
}

.wf-ad a {
	display: block;
	line-height: 0;
}

.wf-ad img,
.wf-ad picture,
.wf-ad video {
	display: block;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.wf-ad iframe {
	max-width: 100%;
}

/* Advanced Ads label (Settings, General, Ad label). */
.wf-ad .advads-adlabel {
	margin: 0 0 6px;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: left;
	color: var(--color-text-muted, #c8c8c8);
}

/* Banner: 970x250 desktop, 320x100 phone. */
.wf-ad--banner img {
	width: 970px;
	border-radius: var(--radius-lg, 12px);
}

/* Card: native 600x300, full width on phones. */
.wf-ad--card .wf-ad__inner > * {
	width: 600px;
	padding: 12px;
	border: 1px solid var(--color-border, rgba(255, 255, 255, 0.12));
	border-radius: var(--radius-lg, 12px);
	background: var(--color-surface, rgba(255, 255, 255, 0.04));
}

.wf-ad--card img {
	width: 100%;
	border-radius: var(--radius-md, 8px);
}

/* Side: 300x600 desktop rail. */
.wf-ad--side {
	margin: 0 0 var(--space-6, 32px);
	padding-inline: 0;
}

.wf-ad--side img {
	width: 300px;
	border-radius: var(--radius-lg, 12px);
}

/* Logo: sits beside a heading. */
.wf-ad--logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: auto;
	max-width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}

.wf-ad--logo:not(:has(img, picture, video, iframe, ins, object)) {
	display: none !important;
}

.wf-ad__prefix {
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--color-text-muted, #c8c8c8);
}

.wf-ad--logo .wf-ad__inner {
	justify-content: flex-start;
}

.wf-ad--logo img {
	width: auto;
	max-height: 40px;
}

.wf-ad--logo .advads-adlabel,
.wf-ad--logo .wehfi-adlabel {
	display: none;
}

.wehfigo-section-head .wf-ad--logo {
	display: flex;
	margin-top: 12px;
}

/* Calendar already sits inside a container. Month changes replace the grid, not these spots. */
.wehfigo-calendar .wf-ad {
	max-width: none;
	margin-inline: 0;
	padding-inline: 0;
}

.wehfigo-cal__filters-head .wf-ad--logo {
	margin: 0;
}

/* Explore, parish and category results. E2 and E3 sit in the results grid and span the full row. */
.wf-ad--archive {
	max-width: none;
	padding-inline: 0;
}

#listeo-listings-container > .wf-ad,
.listings-container .wf-ad {
	flex: 1 0 100%;
	grid-column: 1 / -1;
	width: 100%;
}

/* Strip: 1440x90 under the menu, 320x50 phone. */
.wf-ad--strip {
	max-width: none;
	margin: 0;
	padding: 8px var(--container-gutter, 20px);
}

.wf-ad--strip img {
	width: 1440px;
}

/* Gallery photos are positioned by Envira and were painting on top of the card. */
body.wehfigo-gallery-filters-on .envira-album-public {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	height: auto !important;
	min-height: 0 !important;
}

body.wehfigo-gallery-filters-on .envira-album-public > .envira-gallery-item {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	width: auto !important;
	height: auto !important;
	transform: none !important;
	margin: 0 !important;
	float: none !important;
}

/* Card sits on its own row after about 12 photos, at 600px, not cropped into a photo square. */
.envira-album-public > [data-wf-ad="wf-gal-g2"],
.envira-album-public > .wf-ad--gallery-tile {
	grid-column: 1 / -1 !important;
	align-self: center !important;
	justify-self: center !important;
	clear: both !important;
	float: none !important;
	position: relative !important;
	left: auto !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	width: min(640px, 100%) !important;
	max-width: 640px !important;
	height: auto !important;
	max-height: none !important;
	margin: 16px auto !important;
	padding: 0 !important;
	overflow: visible !important;
	z-index: 2;
}

.envira-album-public > [data-wf-ad="wf-gal-g2"] .wf-ad__inner,
.envira-album-public > [data-wf-ad="wf-gal-g2"] .wf-ad__inner > *,
.envira-album-public > [data-wf-ad="wf-gal-g2"] img,
.envira-gallery-wrap .wf-ad--gallery-tile img,
.envira-album-wrap .wf-ad--gallery-tile img {
	width: min(600px, 100%) !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	margin-inline: auto;
	position: static !important;
	object-fit: contain !important;
}

.envira-gallery-wrap .wf-ad--gallery img,
.envira-album-wrap .wf-ad--gallery img {
	position: static !important;
	height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
}

.envira-gallery-wrap .wf-ad--banner img,
.envira-album-wrap .wf-ad--banner img {
	width: min(970px, 100%) !important;
	max-width: 100% !important;
}

/* Wide gallery banner is left-stuck because the wrap resets margins. Center it on the photo row. */
.envira-gallery-wrap > [data-wf-ad="wf-gal-g1"],
.envira-album-wrap > [data-wf-ad="wf-gal-g1"] {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	width: 100% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 28px !important;
	padding-inline: 0 !important;
}

.envira-gallery-wrap > [data-wf-ad="wf-gal-g1"] .wf-ad__inner,
.envira-album-wrap > [data-wf-ad="wf-gal-g1"] .wf-ad__inner {
	justify-content: center !important;
	width: 100%;
}

.envira-gallery-wrap > [data-wf-ad="wf-gal-g1"] .wf-ad__inner > *,
.envira-album-wrap > [data-wf-ad="wf-gal-g1"] .wf-ad__inner > * {
	width: min(970px, 100%) !important;
	margin-inline: auto;
}

.envira-gallery-wrap > [data-wf-ad="wf-gal-g1"] .wehfi-adlabel,
.envira-gallery-wrap > [data-wf-ad="wf-gal-g1"] .advads-adlabel,
.envira-album-wrap > [data-wf-ad="wf-gal-g1"] .wehfi-adlabel,
.envira-album-wrap > [data-wf-ad="wf-gal-g1"] .advads-adlabel {
	text-align: center !important;
}

.wehfigo-post .wf-ad--article {
	max-width: 100%;
	padding-inline: 0;
}

/* Homepage ads sit inside the section under them, on that section's background. */
.wehfigo-section .wf-ad--home {
	margin-top: 8px;
	margin-bottom: 36px;
}

.wehfigo-section .wf-ad--home.wf-ad--card .wf-ad__inner > * {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.envira-gallery-wrap .wf-ad--card .wf-ad__inner,
.envira-gallery-wrap .wf-ad--card .wf-ad__inner > *,
.envira-gallery-wrap .wf-ad--card img,
.envira-album-wrap .wf-ad--card .wf-ad__inner,
.envira-album-wrap .wf-ad--card .wf-ad__inner > *,
.envira-album-wrap .wf-ad--card img {
	width: min(600px, 100%) !important;
	max-width: 100% !important;
	height: auto !important;
	margin-inline: auto;
}

.envira-gallery-wrap .wf-ad--logo img,
.envira-album-wrap .wf-ad--logo img {
	width: auto !important;
	max-width: 300px !important;
	max-height: 40px !important;
}

@media (max-width: 1024px) {
	body.wehfigo-gallery-filters-on .envira-album-public {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	body.wehfigo-gallery-filters-on .envira-album-public {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.wf-ad {
		margin-block: var(--space-5, 24px);
	}

	.wf-ad--card .wf-ad__inner > * {
		width: 100%;
	}

	.wf-ad--logo img {
		max-height: 32px;
	}

	.wf-ad--side {
		margin-top: 28px;
	}

	.wf-ad--side img {
		width: 100%;
		max-width: 320px;
	}
}
