/**
 * FRSN ad slots.
 *
 * The label is required, not decorative: a news outlet marks paid placement.
 * Muted #717171 clears AA at 4.88:1 on the page surface, and the slot reserves
 * its own height so a late-loading creative doesn't shove the story down.
 */

.frsn-ad {
	display: block;
	margin: 2.5rem auto;
	text-align: center;
}

.frsn-ad__label {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--wp--preset--color--muted, #717171);
	font-family: var(--wp--preset--font-family--montserrat, inherit);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1;
}

.frsn-ad__inner {
	display: flex;
	justify-content: center;
}

.frsn-ad__creative[hidden] {
	display: none;
}

.frsn-ad__link {
	display: inline-block;
	line-height: 0;
	box-shadow: none;
	text-decoration: none;
}

.frsn-ad__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--gold, #fdba12);
	outline-offset: 3px;
}

.frsn-ad__image {
	max-width: 100%;
	height: auto;
}

.frsn-ad__html {
	max-width: 100%;
}

/* Reserve height per placement so filling the slot doesn't shift layout. */
.frsn-ad--leaderboard-1 .frsn-ad__inner,
.frsn-ad--footer .frsn-ad__inner {
	min-height: 90px;
	align-items: center;
}

.frsn-ad--hero-rail .frsn-ad__inner,
.frsn-ad--article-inline .frsn-ad__inner {
	min-height: 250px;
	align-items: center;
}

.frsn-ad--sidebar-sticky .frsn-ad__inner,
.frsn-ad--gallery-sidebar .frsn-ad__inner {
	min-height: 250px;
	align-items: flex-start;
}

.frsn-ad--gallery-strip .frsn-ad__inner {
	min-height: 250px;
	align-items: center;
}

/* Hero band sits on navy, so the label needs the light value there. */
.frsn-hero .frsn-ad__label,
.has-navy-background-color .frsn-ad__label {
	color: var(--wp--preset--color--navy-tint, #dde0e7);
}

/* Editor-only marker for an unfilled slot. Never rendered for the public. */
.frsn-ad--empty {
	padding: 1.25rem;
	border: 1px dashed var(--wp--preset--color--gray, #bcbcbc);
	border-radius: 4px;
	background: transparent;
}

.frsn-ad__empty {
	display: block;
	color: var(--wp--preset--color--muted, #717171);
	font-size: 12.5px;
	line-height: 1.4;
}

@media (max-width: 782px) {
	.frsn-ad {
		margin: 1.75rem auto;
	}

	.frsn-ad--leaderboard-1 .frsn-ad__inner,
	.frsn-ad--footer .frsn-ad__inner,
	.frsn-ad--gallery-strip .frsn-ad__inner {
		min-height: 100px;
	}
}

/* A slot whose placement is unset or unknown. Editors only. */
.frsn-ad--misconfigured {
	border-color: #b32d2e;
}

.frsn-ad--misconfigured .frsn-ad__empty {
	color: #b32d2e;
}
