/*
 * The Place page's layout, the whole site's (Place Pages 0.36.0; Kasey, Oct 15, 2026): the
 * widths and the title area every page shares (includes/layout.php). A dependency of
 * place-page.css and collections.css, and loaded on its own on the other pages it lays out.
 *
 * Widths (the Place page's three, approved Oct 3, 2026): wide is the page's container, which
 * the opening, At a Glance beside On This Page, Nearby's cards and the collection pages' cards
 * share edge for edge; media is a section's column, centered in the page, and the visual
 * modules fill it; measure is the text inside a section, at most 740px from the column's left
 * edge, never centered on its own. The opening's text block is on the page's edge. On small
 * screens the widths converge on the gutters. Kadence's container is set to the same
 * (Customizer → General → Layout: 1264px, edges 32/24/16px), so nothing sets a width of its own.
 *
 * The title area: the title 44px below the site header (28px on phones), on the page's edge,
 * in the Place's title style; an eyebrow or breadcrumb above it, 12px apart.
 */

:root {
	--pf-measure: 740px;      /* reading width: the text, from the section's left edge */
	--pf-media: 960px;        /* section width: the section column and its visual modules */
	--pf-wide: 1200px;        /* wide width: the page's container */
	--pf-hero-text: 760px;    /* the opening's text block: title, summary, contributor line */
	--pf-hero-gutter: 20px;   /* the Place opening's own side padding on phones */
	--pf-gutter: 32px;        /* side space when the screen is narrower than the content */
	--pf-h1: 46px;            /* a page's title (style reference §2) */
	--pf-lede: 20px;          /* a page's summary, under its title */
	--pf-opening-top: 44px;   /* from the site header to a page's opening */
}

@media (max-width: 1024px) {
	:root {
		--pf-gutter: 24px;
	}
}

@media (max-width: 767px) {
	:root {
		--pf-gutter: 16px;
		--pf-h1: 32px;
		--pf-lede: 19px;
		--pf-opening-top: 28px;
	}
}

/* -------------------------------------------------------------------------
 * The title area, wherever Kadence prints the title (body.pf-page-title)
 * ---------------------------------------------------------------------- */

body.pf-page-title .site-main .entry-content-wrap > .entry-header,
body.pf-text-page.error404 .site-main .page-header {
	margin: var(--pf-opening-top) 0 16px;
	padding: 0;
	text-align: left;
}

body.pf-page-title .site-main .entry-content-wrap > .entry-header .entry-title,
body.pf-text-page.error404 .site-main .page-header .page-title,
body.pf-text-page .site-main .entry-content h1 {
	max-width: var(--pf-hero-text);
	margin: 0;
	padding: 0;
	font-family: var(--pf-font-heading, inherit);
	font-size: var(--pf-h1);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.015em;
	text-align: left;
	color: var(--pf-fg, #14161A);
	text-wrap: balance;
}

@media (max-width: 767px) {
	body.pf-page-title .site-main .entry-content-wrap > .entry-header .entry-title,
	body.pf-text-page.error404 .site-main .page-header .page-title,
	body.pf-text-page .site-main .entry-content h1 {
		line-height: 1.15;
	}
}

/* An opening's own title (About's) sits 12px under its eyebrow, the summary 16px under it. */
body.pf-text-page .site-main .entry-content h1 {
	margin-bottom: 16px;
}

/* The header Places Found draws for a Page (the Places directory, 0.37.0): the title and the
   summary, as a Place's opening (no breadcrumb since 0.40.0); 28px to the page's own content. */
.site-main .pf-page-header {
	max-width: var(--pf-hero-text);
	margin: var(--pf-opening-top) 0 28px;
}

/* Kadence's own space above the content (32px on phones) would outweigh the header's. */
.site-main .entry-content:has(> .pf-page-header:first-child) {
	margin-top: 0;
}

.site-main .pf-page-header .pf-page-header__title {
	margin: 0;
	padding: 0;
	font-family: var(--pf-font-heading, inherit);
	font-size: var(--pf-h1);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.015em;
	color: var(--pf-fg, #14161A);
	text-wrap: balance;
}

.site-main .pf-page-header p.pf-page-header__summary {
	margin: 16px 0 0;
	font-family: var(--pf-font-body, inherit);
	font-size: var(--pf-lede);
	line-height: 1.6;
	color: var(--pf-fg-soft, #3A3630);
}

@media (max-width: 767px) {
	.site-main .pf-page-header .pf-page-header__title {
		line-height: 1.15;
	}
}

/* -------------------------------------------------------------------------
 * Ordinary pages and the 404 page (body.pf-text-page): the Place page's widths
 * ---------------------------------------------------------------------- */

/* The page's background, as on the Place and collection pages; Kadence's unboxed style would
   paint it the content color. As specific as that rule. */
body.pf-text-page.content-style-unboxed .site {
	background-color: var(--global-palette8, #FAF7F1);
}

body.pf-text-page .site-main .content-bg,
body.pf-text-page .site-main .entry-content-wrap {
	margin-top: 0; /* the 404 page's box keeps none above the title (0.37.0) */
	padding: 0;
	background: transparent;
	box-shadow: none;
}

/* The opening: everything before the first heading or separator, on the page's edge. */
body.pf-text-page .entry-content > *,
body.pf-text-page .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap.kt-has-1-columns > .wp-block-kadence-column > .kt-inside-inner-col > *,
body.pf-text-page.error404 .site-main .entry-content-wrap > * {
	max-width: var(--pf-hero-text);
	margin-left: 0;
	margin-right: auto;
}

/* A one-column Kadence row is a wrapper, not part of the text: its columns take the page's
   width, and the opening its top margin. */
body.pf-text-page .entry-content > .kb-row-layout-wrap {
	max-width: none;
}

body.pf-text-page .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap.kt-has-1-columns {
	max-width: none;
	padding: var(--pf-opening-top) 0 0;
}

/* From the first heading or separator on: the section column, its text at the measure. */
body.pf-text-page .entry-content > :is(h2, hr, .wp-block-separator),
body.pf-text-page .entry-content > :is(h2, hr, .wp-block-separator) ~ *,
body.pf-text-page .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap.kt-has-1-columns > .wp-block-kadence-column > .kt-inside-inner-col > :is(h2, hr, .wp-block-separator),
body.pf-text-page .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap.kt-has-1-columns > .wp-block-kadence-column > .kt-inside-inner-col > :is(h2, hr, .wp-block-separator) ~ * {
	max-width: var(--pf-measure);
	margin-left: max(0px, calc((100% - var(--pf-media)) / 2));
	margin-right: auto;
}

/* A section's heading and its rule span the column. */
body.pf-text-page .entry-content > :is(h2, hr, .wp-block-separator),
body.pf-text-page .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap.kt-has-1-columns > .wp-block-kadence-column > .kt-inside-inner-col > :is(h2, hr, .wp-block-separator) {
	max-width: var(--pf-media);
}

/* A signed-in account's pages: the whole width for the tabs and their lists. */
body.pf-text-page.woocommerce-account.logged-in .entry-content > * {
	max-width: none;
}

/* Registration (0.49.0, includes/registration.php): Places Found's additions to Kadence Memberships'
   form, a field's hint beside its label and the age choice. */
.rcp_form .pf-register-hint {
	display: block;
	margin: 2px 0 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	color: #6B655B;
}

/* The 18-or-older box (0.66.0, in place of 0.49.0's two age choices). */
.rcp_form p.pf-register-age {
	margin: 16px 0 8px;
	font-weight: 600;
}

.rcp_form .pf-register-agree {
	margin: 8px 0 16px;
	font-size: 14px;
}

/* A new email address's confirmation page (0.49.0, includes/email-change.php). */
.pf-confirm-email {
	box-sizing: border-box;
	max-width: var(--pf-measure);
	margin: var(--pf-opening-top) auto 72px;
	padding: 0 var(--pf-gutter);
}

.pf-confirm-email .pf-confirm-email__title {
	margin: 0 0 16px;
	font-size: 32px;
	line-height: 1.2;
}

.pf-confirm-email .pf-account-button {
	display: inline-flex;
	align-items: center;
	padding: 12px 22px;
	border: 1px solid #B4552B;
	border-radius: 2px;
	background: #B4552B;
	color: #FAF7F1;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}

/* -------------------------------------------------------------------------
 * The saved ad spaces (includes/ad-slots.php): the section column's width and 250px high, so an
 * ad filling one never moves the page. Between a Place's sections, or a full row of cards.
 * ---------------------------------------------------------------------- */
.pf-ad {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 250px;
}
.pf-ad img {
	display: block;
	max-width: 100%;
	height: auto;
}
.pf-page .site-main .entry-content > .pf-ad {
	max-width: var(--pf-media);
	margin-top: var(--pf-section-gap);
}
.pf-collection ul.pf-collection__grid > li.pf-ad {
	display: flex;
	grid-column: 1 / -1;
}
