/*
Theme Name: Beauty Therapies by Poppy
Theme URI: https://www.beautytherapiesbypoppy.co.uk
Author: Poppy
Author URI: https://www.beautytherapiesbypoppy.co.uk
Description: Custom block theme for Beauty Therapies by Poppy — a beauty therapy business working from a salon and a private home salon in Saltash. Rose and sage palette, salon serif headings, full site editing, and a treatment/pricing system built for price changes without a developer.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: beauty-poppy
Tags: block-theme, full-site-editing, one-column, custom-colors, custom-menu, custom-logo, editor-style, block-patterns, translation-ready
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root {
	--bp-rose: #b76e79;
	--bp-rose-dark: #8f5460;
	--bp-rose-light: #f6ecec;
	--bp-sage: #7c8b7a;
	--bp-sage-light: #eef1ec;
	--bp-ink: #2f2a2c;
	--bp-ink-soft: #5c5357;
	--bp-cream: #fdfbf9;
	--bp-line: #ebe2e0;
	--bp-radius: 14px;
	--bp-radius-sm: 8px;
	--bp-shadow: 0 6px 24px rgba(47, 42, 44, .07);
	--bp-shadow-lift: 0 12px 34px rgba(47, 42, 44, .12);
	--bp-font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--bp-font-body: "Karla", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--bp-measure: 44rem;
}

/* ==========================================================================
   Base
   ========================================================================== */
body {
	font-family: var(--bp-font-body);
	color: var(--bp-ink);
	background-color: var(--bp-cream);
	-webkit-font-smoothing: antialiased;
	line-height: 1.65;
}

h1, h2, h3, .bp-display {
	font-family: var(--bp-font-display);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -.01em;
}

h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.75rem, 3.6vw, 2.5rem); }
h3 { font-size: clamp(1.2rem, 2.2vw, 1.5rem); }

p { margin-block: 0 1.1em; }
p:last-child { margin-block-end: 0; }

a { color: var(--bp-rose-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--bp-ink); }

.bp-measure { max-width: var(--bp-measure); }
.bp-center { margin-inline: auto; }

.bp-eyebrow {
	font-family: var(--bp-font-body);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--bp-rose-dark);
	margin-block-end: .6rem;
}

.bp-lede { font-size: 1.12rem; color: var(--bp-ink-soft); }

/* ==========================================================================
   Buttons
   ========================================================================== */
.bp-btn,
.wp-block-button__link {
	display: inline-block;
	font-family: var(--bp-font-body);
	font-size: .95rem;
	font-weight: 600;
	letter-spacing: .02em;
	padding: .8em 1.7em;
	border-radius: 999px;
	text-decoration: none;
	transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.wp-block-button__link {
	background-color: var(--bp-rose);
	color: #fff;
}

.wp-block-button__link:hover {
	background-color: var(--bp-rose-dark);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: var(--bp-shadow);
}

.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent;
	border: 1.5px solid var(--bp-rose);
	color: var(--bp-rose-dark);
}

.is-style-outline .wp-block-button__link:hover {
	background-color: var(--bp-rose);
	color: #fff;
}

/* ==========================================================================
   WhatsApp button
   ========================================================================== */
.bp-whatsapp .wp-block-button__link,
.wp-block-button.is-style-whatsapp .wp-block-button__link {
	background-color: #fff;
	color: #128c7e;
	border: 1.5px solid #25d366;
	display: inline-flex;
	align-items: center;
	gap: .5em;
}

.bp-whatsapp .wp-block-button__link:hover,
.wp-block-button.is-style-whatsapp .wp-block-button__link:hover {
	background-color: #25d366;
	border-color: #25d366;
	color: #fff;
	transform: translateY(-1px);
	box-shadow: var(--bp-shadow);
}

.bp-whatsapp .wp-block-button__link::before,
.wp-block-button.is-style-whatsapp .wp-block-button__link::before {
	content: "";
	width: 1.05em;
	height: 1.05em;
	flex: 0 0 auto;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15s-.77.97-.94 1.17c-.17.2-.35.22-.64.07-.3-.15-1.28-.47-2.43-1.5-.9-.8-1.5-1.79-1.68-2.09-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.07-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48s1.06 2.88 1.21 3.08c.15.2 2.08 3.18 5.04 4.46.7.3 1.25.48 1.68.62.71.22 1.35.19 1.86.12.57-.09 1.76-.72 2-1.41.25-.7.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35z'/%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.46 1.32 4.96L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2zm0 18.15c-1.52 0-3.01-.41-4.31-1.18l-.31-.18-3.2.84.85-3.12-.2-.32a8.23 8.23 0 01-1.26-4.39c0-4.54 3.7-8.24 8.24-8.24s8.24 3.7 8.24 8.24-3.7 8.35-8.24 8.35z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15s-.77.97-.94 1.17c-.17.2-.35.22-.64.07-.3-.15-1.28-.47-2.43-1.5-.9-.8-1.5-1.79-1.68-2.09-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.07-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48s1.06 2.88 1.21 3.08c.15.2 2.08 3.18 5.04 4.46.7.3 1.25.48 1.68.62.71.22 1.35.19 1.86.12.57-.09 1.76-.72 2-1.41.25-.7.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35z'/%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.46 1.32 4.96L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2zm0 18.15c-1.52 0-3.01-.41-4.31-1.18l-.31-.18-3.2.84.85-3.12-.2-.32a8.23 8.23 0 01-1.26-4.39c0-4.54 3.7-8.24 8.24-8.24s8.24 3.7 8.24 8.24-3.7 8.35-8.24 8.35z'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

.bp-whatsapp--wide .wp-block-button__link { width: 100%; justify-content: center; }

/* Header variant of the WhatsApp button: a plain text link with a small
   green glyph, matching the weight of the navigation links. */
.bp-header-wa .wp-block-button__link { color: var(--bp-ink); }

.bp-header-wa:hover .bp-wa-icon { background-color: var(--bp-rose-dark); }

.bp-contact-choice {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
	gap: 1.25rem;
	margin-block-start: 1.5rem;
}

/* ==========================================================================
   Header & navigation
   ========================================================================== */
.bp-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(253, 251, 249, .94);
	backdrop-filter: saturate(180%) blur(8px);
	border-bottom: 1px solid var(--bp-line);
}

.bp-header .wp-block-group > .wp-block-group:first-child { align-items: center; }

/* Brand lockup.
   The logo image already contains the words "Beauty Therapies by Poppy",
   so the text site title is held back as a fallback: hidden while the logo
   is present, shown again on small screens where the logo would be too
   small to read beside the header buttons. */
.bp-brand { align-items: center; gap: .75rem; min-width: 0; }

.bp-header .wp-block-site-logo { line-height: 0; }

.bp-header .wp-block-site-logo img {
	width: auto;
	height: auto;
	max-height: 128px;
	max-width: 100%;
	object-fit: contain;
}

.bp-header .bp-brand-fallback {
	display: none;
	font-family: var(--bp-font-display);
	font-size: 1.35rem;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--bp-ink);
	line-height: 1.15;
	white-space: nowrap;
}

@media (max-width: 700px) {
	.bp-header .wp-block-site-logo { display: none; }
	.bp-header .bp-brand-fallback { display: inline-block; }

	/* On a phone the header holds the name, the menu toggle and the booking
	   links. Rather than let the row wrap and break the WhatsApp label across
	   two lines, keep every item on one line and let the labels shorten. */
	.bp-header-actions {
		gap: .9rem;
		flex-wrap: nowrap;
		white-space: nowrap;
	}

	.bp-header-actions .wp-block-button__link {
		font-size: .85rem;
		white-space: nowrap;
		word-break: keep-all;
		overflow-wrap: normal;
	}

	.bp-header .wp-block-group.bp-header > .wp-block-group { flex-wrap: nowrap; }
}

@media (min-width: 701px) and (max-width: 960px) {
	.bp-header .wp-block-site-logo img { max-height: 72px; }
}

.bp-header .wp-block-site-title a {
	font-family: var(--bp-font-display);
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--bp-ink);
	text-decoration: none;
	letter-spacing: 0;
}

.bp-header .wp-block-site-title a:hover { color: var(--bp-rose-dark); }

/* Header actions.
   These sit at the same size and spacing as the navigation links so the whole
   right-hand side reads as one row, rather than two buttons bolted on beside
   a menu. The WhatsApp item keeps its green only as a small icon. */
.bp-header-actions {
	gap: 1.25rem;
	align-items: center;
	margin-block-start: 0;
}

.bp-header-actions .wp-block-button { margin: 0; }

.bp-header-actions .wp-block-button__link {
	font-size: .93rem;
	word-break: keep-all;
	overflow-wrap: normal;
	font-weight: 500;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--bp-ink);
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: .45em;
	line-height: 1.2;
}

.bp-header-actions .wp-block-button__link:hover {
	background: none;
	color: var(--bp-rose-dark);
	transform: none;
	box-shadow: none;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bp-header-link .wp-block-button__link { box-shadow: inset 0 -2px 0 var(--bp-rose); }

.bp-wa-icon {
	width: 1.05em;
	height: 1.05em;
	flex: 0 0 auto;
	background-color: #25d366;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15s-.77.97-.94 1.17c-.17.2-.35.22-.64.07-.3-.15-1.28-.47-2.43-1.5-.9-.8-1.5-1.79-1.68-2.09-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.07-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48s1.06 2.88 1.21 3.08c.15.2 2.08 3.18 5.04 4.46.7.3 1.25.48 1.68.62.71.22 1.35.19 1.86.12.57-.09 1.76-.72 2-1.41.25-.7.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35z'/%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.46 1.32 4.96L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2zm0 18.15c-1.52 0-3.01-.41-4.31-1.18l-.31-.18-3.2.84.85-3.12-.2-.32a8.23 8.23 0 01-1.26-4.39c0-4.54 3.7-8.24 8.24-8.24s8.24 3.7 8.24 8.24-3.7 8.35-8.24 8.35z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15s-.77.97-.94 1.17c-.17.2-.35.22-.64.07-.3-.15-1.28-.47-2.43-1.5-.9-.8-1.5-1.79-1.68-2.09-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.07-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48s1.06 2.88 1.21 3.08c.15.2 2.08 3.18 5.04 4.46.7.3 1.25.48 1.68.62.71.22 1.35.19 1.86.12.57-.09 1.76-.72 2-1.41.25-.7.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35z'/%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.46 1.32 4.96L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2zm0 18.15c-1.52 0-3.01-.41-4.31-1.18l-.31-.18-3.2.84.85-3.12-.2-.32a8.23 8.23 0 01-1.26-4.39c0-4.54 3.7-8.24 8.24-8.24s8.24 3.7 8.24 8.24-3.7 8.35-8.24 8.35z'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

.bp-nav .wp-block-navigation-item__content {
	font-size: .93rem;
	font-weight: 500;
	color: var(--bp-ink);
	text-decoration: none;
	padding-block: .35rem;
}

.bp-nav .wp-block-navigation-item__content:hover { color: var(--bp-rose-dark); }

.bp-nav .wp-block-navigation-item.is-current-menu-item .wp-block-navigation-item__content,
.bp-nav .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
	color: var(--bp-rose-dark);
	box-shadow: inset 0 -2px 0 var(--bp-rose);
}

/* ==========================================================================
   Hero
   ========================================================================== */
.bp-hero {
	background:
		radial-gradient(1100px 460px at 88% -12%, var(--bp-rose-light) 0%, rgba(246,236,236,0) 62%),
		radial-gradient(760px 380px at 4% 108%, var(--bp-sage-light) 0%, rgba(238,241,236,0) 70%),
		var(--bp-cream);
	border-bottom: 1px solid var(--bp-line);
	overflow: hidden;
}

.bp-hero h1 { margin-block: 0 .5em; }

.bp-hero .bp-hero-media {
	position: relative;
	border-radius: var(--bp-radius);
	overflow: hidden;
	box-shadow: var(--bp-shadow-lift);
	aspect-ratio: 4 / 5;
	background: linear-gradient(150deg, var(--bp-rose-light), var(--bp-sage-light));
}

.bp-hero .bp-hero-media img { width: 100%; height: 100%; object-fit: cover; }

.bp-credential-strip {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem .6rem;
	margin-block: 1.4rem 0;
	padding: 0;
	list-style: none;
}

.bp-credential-strip li {
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .04em;
	padding: .35em .85em;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--bp-line);
	color: var(--bp-ink-soft);
}

/* ==========================================================================
   Sections
   ========================================================================== */
.bp-section { padding-block: clamp(3rem, 7vw, 5.5rem); }
.bp-section--tint { background-color: #fff; border-block: 1px solid var(--bp-line); }
.bp-section--rose { background-color: var(--bp-rose-light); }

.bp-section-head { max-width: var(--bp-measure); margin-block-end: 2.6rem; }

.bp-placeholder {
	display: grid;
	place-content: center;
	gap: .35rem;
	text-align: center;
	min-height: 11rem;
	padding: 1.5rem;
	border: 1.5px dashed var(--bp-rose);
	border-radius: var(--bp-radius);
	background: repeating-linear-gradient(135deg, #fff, #fff 12px, var(--bp-rose-light) 12px, var(--bp-rose-light) 24px);
	color: var(--bp-rose-dark);
	font-size: .9rem;
	font-weight: 600;
}

/* ==========================================================================
   Treatment cards
   ========================================================================== */
.bp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr));
	gap: 1.25rem;
}

.bp-card {
	background: #fff;
	border: 1px solid var(--bp-line);
	border-radius: var(--bp-radius);
	padding: 1.6rem;
	box-shadow: var(--bp-shadow);
	transition: transform .18s ease, box-shadow .18s ease;
	height: 100%;
}

.bp-card:hover { transform: translateY(-3px); box-shadow: var(--bp-shadow-lift); }
.bp-card h3 { margin-block: 0 .5rem; color: var(--bp-ink); }
.bp-card p { color: var(--bp-ink-soft); font-size: .96rem; }

.bp-card__meta {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	margin-block-start: 1.1rem;
	padding-block-start: .9rem;
	border-top: 1px solid var(--bp-line);
	font-size: .85rem;
}

.bp-card__duration { color: var(--bp-ink-soft); }
.bp-card__price { font-family: var(--bp-font-display); font-size: 1.35rem; font-weight: 600; color: var(--bp-rose-dark); }
.bp-card__price-from { font-family: var(--bp-font-body); font-size: .78rem; color: var(--bp-ink-soft); }

/* ==========================================================================
   Pricing table
   ========================================================================== */
.bp-price-groups {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(19rem, 100%), 1fr));
	gap: 1.25rem;
}

.bp-price-group {
	background: #fff;
	border: 1px solid var(--bp-line);
	border-radius: var(--bp-radius);
	padding: 1.5rem 1.6rem;
	box-shadow: var(--bp-shadow);
}

.bp-price-group h3 {
	margin-block: 0 1rem;
	padding-block-end: .7rem;
	border-bottom: 2px solid var(--bp-rose-light);
	font-size: 1.3rem;
}

.bp-price-list { list-style: none; margin: 0; padding: 0; }

.bp-price-list li {
	display: flex;
	align-items: baseline;
	gap: .75rem;
	padding-block: .55rem;
	border-bottom: 1px dotted var(--bp-line);
	font-size: .96rem;
}

.bp-price-list li:last-child { border-bottom: 0; }
.bp-price-list .bp-dots { flex: 1 1 auto; border-bottom: 1px dotted #d8cdcb; transform: translateY(-.25em); }
.bp-price-list .bp-price { font-weight: 700; color: var(--bp-rose-dark); white-space: nowrap; }
.bp-price-list .bp-price-note { display: block; font-size: .8rem; color: var(--bp-ink-soft); font-weight: 400; }

/* ==========================================================================
   Meta panels (hours, contact)
   ========================================================================== */
.bp-panels {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
	gap: 1.25rem;
}

.bp-panel {
	background: #fff;
	border: 1px solid var(--bp-line);
	border-radius: var(--bp-radius);
	padding: 1.5rem;
}

.bp-panel h3 { margin-block: 0 .6rem; font-size: 1.1rem; }
.bp-panel p { font-size: .95rem; color: var(--bp-ink-soft); margin-block-end: .4rem; }
.bp-panel a { word-break: break-word; }

/* ==========================================================================
   Forms
   ========================================================================== */
.bp-form,
.wp-block-wpforms-form,
.wp-block-contact-form-7-contact-form-selector,
.wp-block-jetpack-contact-form {
	background: #fff;
	border: 1px solid var(--bp-line);
	border-radius: var(--bp-radius);
	padding: clamp(1.4rem, 4vw, 2.4rem);
	box-shadow: var(--bp-shadow);
}

.bp-form input[type="text"],
.bp-form input[type="email"],
.bp-form input[type="tel"],
.bp-form input[type="date"],
.bp-form select,
.bp-form textarea,
.wpforms-container input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wpforms-container select,
.wpforms-container textarea,
.wp-block-contact-form-7 input:not([type="submit"]),
.wp-block-contact-form-7 textarea {
	width: 100%;
	font-family: var(--bp-font-body);
	font-size: 1rem;
	padding: .75em .9em;
	border: 1px solid var(--bp-line);
	border-radius: var(--bp-radius-sm);
	background: var(--bp-cream);
	color: var(--bp-ink);
}

.bp-form input:focus,
.bp-form select:focus,
.bp-form textarea:focus {
	outline: 2px solid var(--bp-rose);
	outline-offset: 1px;
	background: #fff;
}

.bp-form label { display: block; font-size: .88rem; font-weight: 600; margin-block-end: .3rem; }
.bp-form .bp-field { margin-block-end: 1.05rem; }

.bp-form button[type="submit"],
.bp-form input[type="submit"] {
	font-family: var(--bp-font-body);
	font-size: .95rem;
	font-weight: 600;
	padding: .85em 2.2em;
	border: 0;
	border-radius: 999px;
	background: var(--bp-rose);
	color: #fff;
	cursor: pointer;
}

.bp-form button[type="submit"]:hover { background: var(--bp-rose-dark); }

/* ==========================================================================
   Footer
   ========================================================================== */
.bp-footer {
	background: #fff;
	border-top: 1px solid var(--bp-line);
	padding-block: clamp(2.5rem, 5vw, 3.5rem);
	font-size: .93rem;
}

.bp-footer h4 {
	font-family: var(--bp-font-body);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bp-ink-soft);
	margin-block: 0 .8rem;
}

.bp-footer ul { list-style: none; margin: 0; padding: 0; }
.bp-footer li { margin-block-end: .5rem; }
.bp-footer a { color: var(--bp-ink); text-decoration: none; }
.bp-footer a:hover { color: var(--bp-rose-dark); text-decoration: underline; }

.bp-footer__legal {
	margin-block-start: 2.2rem;
	padding-block-start: 1.3rem;
	border-top: 1px solid var(--bp-line);
	font-size: .85rem;
	color: var(--bp-ink-soft);
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.2rem;
	justify-content: space-between;
}

.bp-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--bp-ink);
	color: #fff;
	padding: .7rem 1.1rem;
	z-index: 100;
	border-radius: 0 0 var(--bp-radius-sm) 0;
}

.bp-skip-link:focus { left: 0; color: #fff; }

/* ==========================================================================
   Utilities
   ========================================================================== */
.bp-text-center { text-align: center; }
.bp-mt-0 { margin-block-start: 0; }
.bp-mt-2 { margin-block-start: 2rem; }
.bp-mb-2 { margin-block-end: 2rem; }
.bp-small { font-size: .85rem; color: var(--bp-ink-soft); }
.bp-divider { height: 1px; background: var(--bp-line); border: 0; margin-block: 2rem; }

@media (max-width: 781px) {
	.bp-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--bp-cream); }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
	.bp-card:hover { transform: none; }
}

@media print {
	.bp-header, .bp-footer, .wp-block-button { display: none; }
	body { background: #fff; }
}
