/*
 * single.css — listing & neighborhood single templates.
 * Depends on the tokens in main.css. Enqueued only on those
 * post types (see functions.php).
 */

.btm-single {
	max-width: var(--btm-max);
	margin: 0 auto;
	padding: 40px 0 0;
}

/* Head */
.btm-single__tags {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.btm-tag {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--btm-slate);
	border-bottom: 2px solid var(--btm-powder);
	padding-bottom: 2px;
}

.btm-tag--quiet {
	border-bottom-color: transparent;
}

.btm-single__title {
	margin: 14px 0 0;
	font-size: clamp(34px, 6vw, 64px);
}

.btm-single__place {
	margin: 10px 0 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--btm-slate);
}

/* Two-column layout: body + facts rail */
.btm-single__layout {
	margin-top: 32px;
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
	border-top: var(--btm-rule);
	padding-top: 32px;
}

.btm-single__photo {
	margin: 0 0 24px;
}

.btm-single__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.btm-single__content {
	font-size: 17px;
	line-height: 1.6;
	max-width: 68ch;
}

.btm-single__content h2,
.btm-single__content h3 {
	margin-top: 1.4em;
}

.btm-single__content table,
.btm-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

.btm-single__content th,
.btm-single__content td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid var(--btm-powder);
}

.btm-single__content thead th {
	border-bottom: var(--btm-rule);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--btm-slate);
}

.btm-pullquote {
	margin: 1.6em 0;
	padding: 0 0 0 20px;
	border-left: 4px solid var(--btm-powder);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

/* Facts rail */
.btm-facts {
	background: var(--btm-cyan);
	border: var(--btm-rule);
	padding: 24px 26px 28px;
	position: sticky;
	top: 24px;
}

.btm-facts__kicker {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--btm-slate);
}

.btm-facts__list {
	margin: 14px 0 20px;
}

.btm-facts__list dt {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--btm-slate);
	margin-top: 12px;
}

.btm-facts__list dd {
	margin: 2px 0 0;
	font-size: 15px;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.btm-facts__list dt:first-child {
	margin-top: 0;
}

/* Nearby listings */
.btm-nearby {
	margin-top: 40px;
	padding-top: 24px;
	border-top: var(--btm-rule);
}

.btm-nearby__title {
	font-size: 24px;
}

.btm-nearby__list {
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 32px;
}

.btm-nearby__list li {
	padding: 9px 0;
	border-bottom: 1px solid var(--btm-powder);
	font-size: 16px;
	font-weight: 700;
}

/* Back link */
.btm-single__back {
	margin-top: 48px;
	padding: 20px 0 64px;
	border-top: var(--btm-rule);
	font-weight: 700;
}

@media (max-width: 900px) {
	.btm-single__layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.btm-facts {
		position: static;
	}

	.btm-nearby__list {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
 * Listing single — prototype treatment
 * ============================================================ */

.btm-listing {
	max-width: var(--btm-max);
	margin: 0 auto;
	padding-top: 48px;
}

.btm-listing__kicker {
	display: block;
	margin-top: 16px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--btm-slate);
}

.btm-listing__title {
	margin: 12px 0 0;
	font-size: clamp(44px, 6vw, 80px);
	line-height: 0.98;
	max-width: 1100px;
	text-wrap: balance;
}

.btm-listing__title .btm-highlight {
	padding: 0 0.1em;
}

.btm-listing__rule {
	margin-top: 32px;
	border-top: var(--btm-rule);
}

.btm-listing__layout {
	padding-top: 48px;
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 64px;
	align-items: start;
}

.btm-listing__photo {
	margin: 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--btm-cyan);
}

.btm-listing__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.btm-listing__about {
	margin-top: 32px;
}

.btm-listing__photo + .btm-listing__about {
	margin-top: 32px;
}

.btm-listing__about h2 {
	margin: 0;
	font-size: 32px;
	letter-spacing: -0.04em;
	line-height: 1.05;
}

.btm-listing__desc {
	margin-top: 16px;
	font-size: 18px;
	line-height: 1.6;
	text-wrap: pretty;
}

.btm-listing__desc p {
	margin: 0 0 1em;
}

.btm-listing__desc p:last-child {
	margin-bottom: 0;
}

/* Claim band */
.btm-claim {
	margin-top: 36px;
	padding: 28px 32px;
	background: var(--btm-cyan);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}

.btm-claim__title {
	margin: 0;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.04em;
	line-height: 1.05;
}

.btm-claim__sub {
	margin: 6px 0 0;
	font-size: 14px;
	color: var(--btm-slate);
}

.btm-claim__btn {
	padding: 12px 20px;
	background: var(--btm-ink);
	color: var(--btm-white);
	font-weight: 700;
	font-size: 14px;
	flex: none;
}

.btm-claim__btn:hover {
	background: var(--btm-peach);
	color: var(--btm-white);
}

/* Stacked facts cells with ink gutters */
.btm-factstack {
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: var(--btm-ink);
	border: var(--btm-rule);
}

.btm-factstack__cell {
	background: var(--btm-white);
	padding: 18px 20px;
}

.btm-factstack__label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--btm-slate);
}

.btm-factstack__value {
	display: block;
	margin-top: 4px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.btm-factstack__value--link {
	text-decoration: underline;
}

.btm-factstack__sub {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	color: var(--btm-slate);
}

.btm-factstack__map {
	background: var(--btm-white);
	line-height: 0;
}

.btm-factstack__map iframe {
	border: 0;
	display: block;
	width: 100%;
}

/* More in {Category} */
.btm-morein {
	padding-top: 80px;
}

.btm-morein__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 12px;
}

.btm-morein__title {
	margin: 0;
	font-size: 40px;
	line-height: 1;
}

.btm-morein__grid {
	margin-top: 20px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 48px;
}

.btm-morein__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: baseline;
	padding: 16px 0;
	border-bottom: 1px solid var(--btm-powder);
}

.btm-morein__name {
	display: block;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.btm-morein__addr {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: var(--btm-slate);
}

.btm-morein__sub {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--btm-slate);
	text-align: right;
}

@media (max-width: 900px) {
	.btm-listing__layout,
	.btm-morein__grid {
		grid-template-columns: 1fr;
	}

	.btm-listing__layout {
		gap: 36px;
	}
}

/* Past-event notice (prepended on single events whose date has passed) */
.btm-pastevent {
	margin: 0 0 24px;
	padding: 16px 20px;
	background: var(--btm-cyan);
	border: var(--btm-rule);
	font-size: 15px;
}

.btm-pastevent a {
	font-weight: 700;
	text-decoration: underline;
	margin-left: 6px;
}

/* ============================================================
 * Single event — prototype treatment (no photo areas)
 * ============================================================ */

.btm-event {
	padding: 48px 0 0;
}

.btm-event__head {
	margin-top: 16px;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 32px;
	align-items: end;
}

.btm-event__date {
	font-size: clamp(80px, 12vw, 160px);
	font-weight: 900;
	letter-spacing: -0.06em;
	line-height: 0.85;
}

.btm-event__date span {
	display: block;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-top: 8px;
}

.btm-event__freebadge {
	display: inline-block;
	background: var(--btm-ink);
	color: var(--btm-white);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 5px 8px;
}

.btm-event__title {
	margin: 12px 0 0;
	font-size: clamp(44px, 6vw, 80px);
	line-height: 0.98;
	text-wrap: pretty;
}

.btm-event__title .btm-highlight {
	padding: 0 0.1em;
}

.btm-event__sub {
	margin: 14px 0 0;
	font-size: 18px;
}

.btm-event__grid {
	padding-top: 56px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 64px;
	align-items: start;
}

.btm-event__body {
	max-width: 720px;
	font-size: 19px;
	line-height: 1.65;
}

.btm-event__body p {
	margin: 0 0 16px;
}

.btm-event__body h2 {
	margin: 40px 0 16px;
	font-size: 32px;
	letter-spacing: -0.04em;
	line-height: 1.05;
}

.btm-event__body ul {
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	border-top: var(--btm-rule);
	font-size: 16px;
}

.btm-event__body ul li {
	padding: 12px 0;
	border-bottom: 1px solid var(--btm-powder);
}

/* Sticky facts rail */
.btm-event__facts {
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: var(--btm-ink);
	border: var(--btm-rule);
	position: sticky;
	top: 24px;
}

.btm-event__cell {
	background: var(--btm-white);
	padding: 18px 20px;
}

.btm-event__label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--btm-slate);
}

.btm-event__value {
	display: block;
	margin-top: 4px;
	font-size: 16px;
	font-weight: 600;
}

.btm-event__valuesub {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: var(--btm-slate);
}

/* More coming up — text-only cards */
.btm-event__more {
	padding-top: 96px;
}

.btm-event__morecards {
	margin-top: 28px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.btm-morecard {
	display: block;
	padding-top: 14px;
	border-top: var(--btm-rule);
}

.btm-morecard__when {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--btm-peach);
}

.btm-morecard__title {
	display: block;
	margin-top: 8px;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.btm-morecard__title .btm-highlight {
	padding: 0 0.12em;
}

@media (max-width: 900px) {
	.btm-event__head {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.btm-event__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.btm-event__facts {
		position: static;
	}

	.btm-event__morecards {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
 * Single guide — prototype treatment
 * ============================================================ */

.btm-guide {
	padding-top: 24px;
}

/* Sponsor pitch bar (unsponsored guides) */
.btm-sponsorbar {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 20px;
	background: var(--btm-cyan);
	border-top: 1px solid var(--btm-powder);
	border-bottom: 1px solid var(--btm-powder);
	font-size: 13px;
	flex-wrap: wrap;
}

.btm-sponsorbar__kicker {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--btm-slate);
}

.btm-sponsorbar__pitch {
	flex: 1;
	min-width: 200px;
}

.btm-sponsorbar__btn {
	padding: 9px 14px;
	background: var(--btm-ink);
	color: var(--btm-white);
	font-size: 12px;
	font-weight: 700;
}

.btm-sponsorbar__btn:hover {
	background: var(--btm-peach);
	color: var(--btm-white);
}

.btm-guide__inner {
	padding-top: 24px;
}

.btm-guide__presented {
	margin-top: 14px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	border: 1.5px solid var(--btm-ink);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.btm-guide__presented mark {
	background: var(--btm-powder);
	padding: 2px 6px;
}

.btm-guide__title {
	margin: 16px 0 0;
	font-size: clamp(44px, 6vw, 80px);
	line-height: 0.98;
	text-wrap: pretty;
	max-width: 1040px;
}

.btm-guide__title .btm-highlight {
	padding: 0 0.1em;
}

.btm-guide__metarow {
	margin-top: 18px;
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	font-size: 13px;
	color: var(--btm-slate);
}

.btm-guide__cat {
	font-weight: 700;
	color: var(--btm-ink);
}

.btm-guide__correct {
	text-decoration: underline;
}

/* Body at reading measure with floated contents box */
.btm-guide__body {
	padding-top: 56px;
	font-size: 19px;
	line-height: 1.65;
	max-width: none;
}

.btm-guide__body p {
	margin: 0 0 16px;
}

.btm-guide__body h2 {
	margin: 44px 0 16px;
	font-size: 32px;
	letter-spacing: -0.04em;
	line-height: 1.05;
	scroll-margin-top: 24px;
}

.btm-guide__body h3 {
	margin: 28px 0 12px;
	font-size: 22px;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.btm-guide__body ul {
	margin: 12px 0 16px;
	padding: 0;
	list-style: none;
}

.btm-guide__body ul li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 6px;
	font-size: 17px;
	line-height: 1.5;
}

.btm-guide__body ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 8px;
	height: 8px;
	background: var(--btm-peach);
}

.btm-guide__body a,
.btm-article__body a {
	text-decoration: underline;
	text-decoration-color: var(--btm-peach);
	text-decoration-thickness: 2px;
}

.btm-guide__body table {
	width: 100%;
	margin: 14px 0 16px;
	border-collapse: collapse;
	border-top: var(--btm-rule);
	font-size: 15px;
}

.btm-guide__body table th {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--btm-slate);
	text-align: left;
	padding: 10px 12px 10px 0;
	border-bottom: 1px solid var(--btm-powder);
}

.btm-guide__body table td {
	padding: 14px 12px 14px 0;
	border-bottom: 1px solid var(--btm-powder);
}

.btm-guide__toc {
	float: right;
	width: 300px;
	margin: 0 0 24px 48px;
	padding: 22px;
	border: var(--btm-rule);
	font-size: 15px;
}

.btm-guide__toclabel {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--btm-slate);
	margin-bottom: 10px;
}

.btm-guide__toc a {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: underline;
	text-decoration-color: var(--btm-powder);
	text-decoration-thickness: 2px;
}

@media (max-width: 900px) {
	.btm-guide__toc {
		float: none;
		width: auto;
		margin: 0 0 32px;
	}
}

/* Spotlight callout on listing pages */
.btm-spotcall {
	display: block;
	margin-top: 56px;
	padding: 32px 36px;
	background: var(--btm-cyan);
	border: var(--btm-rule);
}

.btm-spotcall__title {
	display: block;
	margin-top: 10px;
	font-size: clamp(24px, 3vw, 36px);
	font-weight: 900;
	letter-spacing: -0.04em;
	line-height: 1.05;
	max-width: 760px;
}

.btm-spotcall__title .btm-highlight {
	padding: 0 0.1em;
}

.btm-spotcall__dek {
	display: block;
	margin-top: 10px;
	font-size: 16px;
	line-height: 1.5;
	max-width: 640px;
}

.btm-spotcall__cta {
	display: inline-block;
	margin-top: 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-bottom: 2px solid var(--btm-ink);
	padding-bottom: 2px;
}

.btm-spotcall:hover .btm-spotcall__cta {
	color: var(--btm-peach);
	border-color: var(--btm-peach);
}

/* ============================================================
 * Single post (spotlight article) — prototype treatment
 * ============================================================ */

.btm-article {
	padding-top: 48px;
}

.btm-article__head {
	max-width: 1000px;
}

.btm-article__sponsored {
	display: inline-block;
	margin-top: 14px;
	padding: 6px 10px;
	border: 1.5px solid var(--btm-ink);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.btm-article__title {
	margin: 16px 0 0;
	font-size: clamp(44px, 6vw, 80px);
	line-height: 0.98;
	text-wrap: pretty;
}

.btm-article__title .btm-highlight {
	padding: 0 0.1em;
}

.btm-article__dek {
	margin: 20px 0 0;
	font-size: 22px;
	line-height: 1.4;
	max-width: 760px;
}

.btm-article__byline {
	margin-top: 20px;
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	font-size: 13px;
	color: var(--btm-slate);
}

.btm-article__by {
	font-weight: 700;
	color: var(--btm-ink);
}

/* Body */
.btm-article__body {
	padding-top: 56px;
	font-size: 19px;
	line-height: 1.65;
	max-width: 960px;
}

.btm-article__body p {
	margin: 0 0 22px;
}

/* Drop cap on the opening paragraph */
.btm-article__body p:first-of-type::first-letter {
	float: left;
	font-size: 88px;
	line-height: 0.8;
	font-weight: 900;
	margin: 8px 10px 0 0;
	letter-spacing: -0.05em;
}

.btm-article__body h2 {
	margin: 44px 0 16px;
	font-size: 32px;
	letter-spacing: -0.04em;
	line-height: 1.05;
	scroll-margin-top: 24px;
	clear: none;
}

/* Pull quote */
.btm-article__body blockquote {
	margin: 40px 0;
	padding: 32px 0;
	border-top: var(--btm-rule);
	border-bottom: var(--btm-rule);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 1.05;
	clear: both;
}

.btm-article__body blockquote p {
	margin: 0;
	display: inline;
	background: var(--btm-powder);
	padding: 0 0.1em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* In this story box */
.btm-article__toc {
	float: right;
	width: 300px;
	margin: 0 0 24px 48px;
	padding: 22px;
	border: var(--btm-rule);
	font-size: 15px;
}

.btm-article__toclabel {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--btm-slate);
	margin-bottom: 10px;
}

.btm-article__toc a {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: underline;
	text-decoration-color: var(--btm-powder);
	text-decoration-thickness: 2px;
}

/* Featured business band */
.btm-article__featured {
	margin-top: 48px;
	padding: 28px 32px;
	background: var(--btm-cyan);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	clear: both;
}

.btm-article__featkicker {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.btm-article__featname {
	display: block;
	margin-top: 8px;
	font-size: 26px;
	font-weight: 900;
	letter-spacing: -0.04em;
	line-height: 1.05;
}

.btm-article__featsub {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.6;
}

.btm-article__featbtn {
	padding: 12px 18px;
	background: var(--btm-ink);
	color: var(--btm-white);
	font-weight: 700;
	font-size: 13px;
	white-space: nowrap;
}

.btm-article__featbtn:hover {
	background: var(--btm-peach);
	color: var(--btm-white);
}


/* Related */
.btm-article__related {
	padding-top: 96px;
}

.btm-article__relgrid {
	margin-top: 28px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.btm-relcard {
	display: block;
}

.btm-relcard__img {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.btm-relcard__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.btm-relcard .btm-kicker {
	display: block;
	margin-top: 12px;
}

.btm-relcard__title {
	display: block;
	margin-top: 6px;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.btm-relcard__title .btm-highlight {
	padding: 0 0.12em;
}

@media (max-width: 900px) {
	.btm-article__toc {
		float: none;
		width: auto;
		margin: 0 0 32px;
	}

	.btm-article__featured {
		grid-template-columns: 1fr;
	}

	.btm-article__relgrid {
		grid-template-columns: 1fr;
	}
}


/* ---- In the news (single listings) ---- */
.btm-inthenews .btm-latestrow__title {
	font-size: 22px;
}

.btm-inthenews .btm-latestrow {
	padding: 18px 0;
}


/* ---- AdSense: under the map on directory listings. It sits in the
   facts stack as one more white cell (the stack's ink background
   draws the 2px rule above it), and the cell folds away when AdSense
   has no ad to show so no empty box is left behind. ---- */
.btm-listing__ad {
	background: var(--btm-white);
	padding: 16px;
}

.btm-listing__ad:has(ins[data-ad-status="unfilled"]) {
	display: none;
}

/* ---- AdSense: under the bottom call-to-action band on directory pages ---- */
.btm-dircta-ad {
	margin-top: 22px;
}

/* ---- AdSense: directly under the "In this guide" / "In this story"
   box on guides and news. Same column, width and breakpoint as the
   box, so it stacks right beneath it. ---- */
.btm-toc-ad {
	float: right;
	clear: right;
	width: 348px; /* the box's 300px + 22px padding + 2px border, each side */
	margin: 0 0 24px 48px;
}

@media (max-width: 900px) {
	.btm-toc-ad {
		float: none;
		width: auto;
		margin: 0 0 32px;
	}
}

/* ---- AdSense: "Bottom of Guides", above the closing band on guides
   and news. Clears any float still hanging past the end of the text;
   the band's own top margin tightens so the gap stays about the same. ---- */
.btm-bottom-ad {
	clear: both;
	margin-top: 64px;
}

.btm-bottom-ad + .btm-band {
	margin-top: 40px;
}

@media (max-width: 560px) {
	.btm-bottom-ad {
		margin-top: 44px;
	}

	.btm-bottom-ad + .btm-band {
		margin-top: 28px;
	}
}
