/* Generic interior-page copy section. Values are carried from the built
   sections rather than invented: heading treatment and block padding from
   space-editorial, table rows from space-table, the bold inline label from the
   FAQ question, the gold 43x1.5 rule and 1078px content width from design.md. */
.bsw-page-section.wp-block-group.alignfull {
	background: #fff;
	padding: 70px 20px !important;
	margin-block: 0 !important;
}

/* Tinted variant — alternate down the page for vertical rhythm */
.bsw-page-section--cream.wp-block-group.alignfull {
	background: #f8f7f4;
}

/* ── Headings ────────────────────────────────────────────────────────── */

/* Italic Cormorant with the standard gold rule below */
h2.bsw-page-section__heading {
	font-family: var(--wp--preset--font-family--cormorant, 'Cormorant', serif) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: 42px !important;
	line-height: 1.2 !important;
	color: var(--wp--preset--color--taupe, #8c857b) !important;
	margin-block: 0 !important;
}

h2.bsw-page-section__heading::after {
	content: "";
	display: block;
	width: 43px;
	height: 1.5px;
	background: #baaa7c;
	margin: 24px auto 0;
}

/* Sub-heading for labelled sub-blocks inside a section */
h3.bsw-page-section__subheading {
	font-family: var(--wp--preset--font-family--cormorant, 'Cormorant', serif) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: 28px !important;
	line-height: 1.3 !important;
	color: var(--wp--preset--color--taupe, #8c857b) !important;
	margin-block: 38px 0 !important;
}

/* ── Copy ────────────────────────────────────────────────────────────── */

p.bsw-page-section__body {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-size: 16px;
	line-height: 28px;
	color: var(--wp--preset--color--charcoal, #373737);
	margin-block: 24px 0 !important;
}

h2.bsw-page-section__heading + p.bsw-page-section__body {
	margin-block-start: 26px !important;
}

h3.bsw-page-section__subheading + p.bsw-page-section__body,
h3.bsw-page-section__subheading + ul.bsw-page-section__list {
	margin-block-start: 14px !important;
}

/* Inline labels reuse the site's single bold treatment (the FAQ question) rather
   than introducing a second one — see design.md typography notes. */
.bsw-page-section__body strong,
.bsw-page-section__list strong,
.bsw-page-section__table strong {
	font-weight: 700;
	color: #554b4b;
}

.bsw-page-section__body em,
.bsw-page-section__list em {
	font-style: italic;
}

/* Inline links (body, lists, tables) — colour, underline animation and the tel:
   nowrap guard all live in assets/css/base/links.css */

/* ── Lists ───────────────────────────────────────────────────────────── */

ul.bsw-page-section__list {
	list-style: none !important;
	padding-left: 0 !important;
	margin-block: 24px 0 !important;
}

ul.bsw-page-section__list li {
	position: relative;
	padding-left: 24px;
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-size: 16px;
	line-height: 28px;
	color: var(--wp--preset--color--charcoal, #373737);
	margin-block-start: 10px;
}

ul.bsw-page-section__list li:first-child {
	margin-block-start: 0;
}

/* Gold dash bullet, aligned to the first line's optical centre */
ul.bsw-page-section__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 13px;
	width: 10px;
	height: 1px;
	background: #baaa7c;
}

/* ── Two-column table ────────────────────────────────────────────────── */

.bsw-page-section__table {
	width: 100%;
	margin-block-start: 30px;
}

.bsw-page-section__table-row {
	display: flex;
	align-items: baseline;
	gap: 20px;
	padding: 20px;
	border-bottom: 1px solid rgba(140, 133, 123, 0.3);
	box-sizing: border-box;
}

/* Zebra — data rows are children 2..n, so tinting the odd-positioned children
   lands on the 2nd, 4th, 6th data row (space-table uses the same trick). */
.bsw-page-section__table-row:nth-child(odd):not(.bsw-page-section__table-row--head) {
	background: #f8f7f4;
}

/* On a cream section the tint has to go the other way */
.bsw-page-section--cream .bsw-page-section__table-row:nth-child(odd):not(.bsw-page-section__table-row--head) {
	background: #fff;
}

.bsw-page-section__table-row--head {
	padding-block: 16px;
	border-bottom: 1px solid var(--wp--preset--color--taupe, #8c857b);
}

.bsw-page-section__table-row--head .bsw-page-section__table-label,
.bsw-page-section__table-row--head .bsw-page-section__table-value {
	font-size: 16px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #aa747c;
	line-height: normal;
}

.bsw-page-section__table-label {
	flex: 0 0 240px;
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-size: 16px;
	line-height: 28px;
	color: var(--wp--preset--color--charcoal, #373737);
}

.bsw-page-section__table-value {
	flex: 1 1 auto;
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-size: 16px;
	line-height: 28px;
	color: var(--wp--preset--color--charcoal, #373737);
}

/* ── Contact card ────────────────────────────────────────────────────── */

.bsw-page-section__contact {
	background: #f8f7f4;
	padding: 34px 20px;
	margin-block-start: 30px;
	text-align: center;
}

.bsw-page-section--cream .bsw-page-section__contact {
	background: #fff;
}

.bsw-page-section__contact-line {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-size: 18px;
	line-height: 1.6;
	margin: 0;
}

/* Contact-line links (email, phone) — styled in assets/css/base/links.css */

.bsw-page-section__contact-address {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-size: 16px;
	line-height: 1.75;
	color: var(--wp--preset--color--charcoal, #373737);
	margin: 14px 0 0;
}

/* ── Instagram section below a content section ───────────────────────── */

/* The Instagram section (floral icon → heading → photo grid) ships with no top
   padding: on the homepage, venues and spaces pages the section above it is white
   and supplies the gap with its own bottom padding. On the generated content pages
   the section above is often the cream page-section, so the flourish lands right on
   the colour boundary. Give it back the design's ~60px above the icon — matching the
   plugin's own mobile value — scoped so the older pages keep their spacing.
   `:has()` catches the case where the shortcode isn't an immediate sibling (nested in
   a group, or with a divider between); the adjacent-sibling selectors are kept for
   browsers without :has(). Two classes beats the plugin's single `.bsw-instagram`,
   so stylesheet order doesn't matter. */
.bsw-page-section + .bsw-instagram,
.bsw-page-intro + .bsw-instagram,
.wp-site-blocks:has(.bsw-page-section) .bsw-instagram,
.wp-site-blocks:has(.bsw-page-intro) .bsw-instagram {
	padding-block-start: 60px;
}

/* ── FAQ accordion nested in a section ───────────────────────────────── */

/* faq.css styles .bsw-faq__items / .bsw-faq__item unscoped, so the accordion
   drops straight in; it only needs its top margin trimmed to this section's
   rhythm (faq.css sets 3rem for the standalone FAQ card). */
.bsw-page-section .bsw-faq__items.wp-block-group {
	margin-block-start: 30px !important;
}

/* ── CTA row ─────────────────────────────────────────────────────────── */

.bsw-page-section .wp-block-buttons {
	margin-block: 40px 0 !important;
	gap: 16px !important;
}

@media (max-width: 767px) {
	.bsw-page-section.wp-block-group.alignfull {
		padding: 40px 20px !important;
	}

	h2.bsw-page-section__heading {
		font-size: 38px !important;
	}

	/* Prose centers on mobile, as it does in space-editorial. Lists, tables and
	   the contact card stay left-aligned — centered bullets don't read. */
	p.bsw-page-section__body {
		text-align: center;
	}

	h3.bsw-page-section__subheading {
		text-align: center;
	}

	/* Rows stack, so the column header stops meaning anything — each row now
	   reads as its own label over its value. */
	.bsw-page-section__table-row--head {
		display: none;
	}

	.bsw-page-section__table-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		padding-inline: 0;
	}

	/* The zebra needs no adjustment — the hidden head row still counts for
	   :nth-child, so the first visible row stays untinted either way. */

	.bsw-page-section__table-label {
		flex: 0 0 auto;
	}

	.bsw-page-section .wp-block-buttons {
		width: 100% !important;
	}

	.bsw-page-section .wp-block-button {
		flex: 0 0 100% !important;
		width: 100% !important;
	}

	.bsw-page-section .wp-block-button__link {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 331px;
		margin-inline: auto;
	}
}

/* Accommodations rhythm — owns the gap above it (37px in the artboard) and
   hands the gap below to the next section. Mobile: the intro above already
   carries 60px and page-columns below carries 52px, so this section adds none. */
.bsw-page-section--tight.wp-block-group.alignfull {
	padding-block: 37px 0 !important;
}

@media (max-width: 767px) {
	.bsw-page-section--tight.wp-block-group.alignfull {
		padding-block: 0 !important;
	}
}
