/* BWG YGL theme — custom styles on top of theme.json + TT5.
   Type and color rules:
   - Every paragraph/list item uses --ygl-text. No gray-for-body.
   - --ygl-text-muted only for card meta, form labels, captions.
   - --ygl-text-faint only for footer fine print.
   - Headings are ink, not crimson. Crimson is the accent, not the chrome.
   - Body line-height 1.7, measure caps at 65ch.
*/

:root {
	/* Brand and palette aliases source from the theme.json palette so that
	   Global Styles and per-customer style variations reskin the whole site
	   from one place. The hex after each comma is a fallback if a preset slug
	   is ever removed. To reskin a clone: change the palette in Global Styles
	   (or pick a styles/ variation) — no CSS edits needed. */

	/* Brand — BWG crimson */
	--ygl-crimson:        var(--wp--preset--color--ygl-crimson, #9B1C1C);
	--ygl-crimson-hover:  var(--wp--preset--color--ygl-crimson-hover, #7F1515);
	--ygl-crimson-bright: var(--wp--preset--color--ygl-crimson-bright, #B91C1C);
	--ygl-crimson-tint:   var(--wp--preset--color--ygl-crimson-tint, #FBEAEA);

	/* Text ramp — ordered by permitted use */
	--ygl-ink:            var(--wp--preset--color--ygl-ink, #0F1724);
	--ygl-text:           var(--wp--preset--color--ygl-text, #1F2937);
	--ygl-text-muted:     var(--wp--preset--color--ygl-text-muted, #4B5563);
	--ygl-text-faint:     var(--wp--preset--color--ygl-text-faint, #6B7280);

	/* Surfaces */
	--ygl-surface:        var(--wp--preset--color--ygl-surface, #FFFFFF);
	--ygl-surface-alt:    var(--wp--preset--color--ygl-surface-alt, #F9FAFB);
	--ygl-page:           var(--wp--preset--color--ygl-page, #F3F4F6);
	--ygl-border:         var(--wp--preset--color--ygl-border, #E5E7EB);
	--ygl-border-strong:  var(--wp--preset--color--ygl-border-strong, #D1D5DB);

	/* Type */
	--ygl-font-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--ygl-font-sans:  'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--ygl-font-mono:  'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;

	/* Plugin header offset (matches .site-header height incl. padding) */
	--bwgygl-header-offset: 72px;

	/* Down chevron used as a CSS mask for the FAQ <details> marker. */
	--bwgygl-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

*, *::before, *::after { box-sizing: border-box; }

body {
	font-family: var(--ygl-font-sans);
	font-size: 1rem;
	line-height: 1.7;
	color: var(--ygl-text);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

/* Base type scale */
h1, h2 {
	font-family: var(--ygl-font-serif);
	font-weight: 600;
	color: var(--ygl-ink);
	letter-spacing: -0.01em;
}
h1 { font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1.1; letter-spacing: -0.015em; }
h2 { font-size: clamp(2rem, 3.5vw, 2.75rem); line-height: 1.15; }

h3 {
	font-family: var(--ygl-font-sans);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ygl-ink);
	letter-spacing: 0;
}

p, li {
	font-family: var(--ygl-font-sans);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.7;
	color: var(--ygl-text);
	max-width: 65ch;
}

/* Inside flex/grid children the max-width becomes "fill parent" via 100%. */
.bwgygl-feature-card p,
.bwgygl-integration-card p,
.bwgygl-detail-card p,
.bwgygl-pricing-card p,
.bwgygl-pricing-card__features li,
.bwgygl-pricing-trial__text p,
.site-footer p,
.site-footer li {
	max-width: none;
}

code, pre {
	font-family: var(--ygl-font-mono);
	font-size: 0.9375rem;
}

/* Visible focus for everything. */
a:focus-visible,
button:focus-visible,
[role="switch"]:focus-visible,
[role="menuitem"]:focus-visible,
[data-faq-toggle]:focus-visible {
	outline: 2px solid var(--ygl-crimson);
	outline-offset: 3px;
	border-radius: 0.375rem;
}

.bwgygl-demo-page .bwgygl-root { isolation: isolate; }

/* ============ Site header ============ */
/* Sticky goes on the WP template-part wrapper so the containing block spans
   the full page. Putting position:sticky on .site-header alone fails because
   the wrapper is only as tall as the header — once scrolled past, the
   containing block exits the viewport and sticky deactivates. Scoped to the
   front page so demo pages and inner pages keep a static header (their own
   sticky chrome — filter bar — handles pinning). */
body.home header.wp-block-template-part:has(.site-header) {
	position: sticky;
	top: 0;
	z-index: 100;
}
.site-header {
	background: var(--ygl-surface);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 1rem 1.25rem;
	max-width: 1280px;
	margin: 0 auto;
}
.site-header__brand {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	text-decoration: none;
	color: var(--ygl-ink);
}
.site-header__brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 9999px;
	background: var(--ygl-crimson);
	color: #fff;
	font-weight: 600;
}
.site-header__brand-text {
	font-weight: 600;
	font-size: 1.125rem;
	letter-spacing: -0.01em;
	color: var(--ygl-ink);
}
.site-header__brand-text em { font-style: normal; color: var(--ygl-ink); }
.site-header__nav {
	display: flex;
	align-items: center;
	gap: 2rem;
}
.site-header__nav a {
	color: var(--ygl-text);
	text-decoration: none;
	font-size: 1rem;
	font-weight: 400;
	padding: 0.5rem 0.25rem;
	transition: color 0.15s ease;
}
.site-header__nav a:hover { color: var(--ygl-crimson); }
.site-header__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.75rem 1.5rem;
	background: var(--ygl-crimson);
	color: #fff !important;
	border: 0;
	border-radius: 0.5rem;
	text-decoration: none;
	font-family: inherit;
	font-weight: 600;
	font-size: 1rem;
	min-height: 2.75rem;
	cursor: pointer;
	transition: background-color 0.15s ease;
}
.site-header__cta:hover { background: var(--ygl-crimson-hover); }
.site-header__cta-caret { transition: transform 0.15s ease; }

/* ============ Header dropdown ============ */
.site-header__dropdown { position: relative; }
.site-header__dropdown-menu {
	position: absolute;
	top: calc(100% + 0.5rem);
	right: 0;
	min-width: 12rem;
	background: var(--ygl-surface);
	border: 1px solid var(--ygl-border);
	border-radius: 0.5rem;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
	padding: 0.25rem;
	display: none;
	flex-direction: column;
	z-index: 200;
}
.site-header__dropdown-menu a {
	display: flex;
	align-items: center;
	padding: 0.5rem 0.875rem;
	border-radius: 0.375rem;
	color: var(--ygl-text);
	text-decoration: none;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.2;
	min-height: 2.5rem;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.site-header__dropdown-menu a:hover,
.site-header__dropdown-menu a:focus-visible {
	background: var(--ygl-page);
	color: var(--ygl-crimson);
}
.site-header__dropdown[data-open] .site-header__dropdown-menu { display: flex; }
.site-header__dropdown[data-open] .site-header__cta-caret { transform: rotate(180deg); }

/* ============ Mobile demo submenu ============ */
.site-header__mobile-demo-group {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	margin-top: 0.25rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--ygl-border);
}
.site-header__mobile-demo-label {
	padding: 0.5rem 0.875rem 0.25rem;
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--ygl-text-muted);
}
.site-header__toggle {
	display: none;
	background: none;
	border: 0;
	padding: 0.5rem;
	cursor: pointer;
	color: var(--ygl-text);
}
.site-header__toggle svg { width: 1.5rem; height: 1.5rem; }
.site-header__mobile-menu {
	display: none;
	flex-direction: column;
	gap: 0.25rem;
	padding: 0.75rem 1.25rem;
	background: var(--ygl-surface);
	border-top: 1px solid var(--ygl-border);
}
.site-header__mobile-menu a {
	padding: 0.875rem 0.875rem;
	border-radius: 0.375rem;
	color: var(--ygl-text);
	text-decoration: none;
	font-size: 1rem;
	font-weight: 400;
	min-height: 2.75rem;
	display: flex;
	align-items: center;
}
.site-header__mobile-menu a:hover { background: var(--ygl-page); color: var(--ygl-crimson); }
.site-header__mobile-menu.is-open { display: flex; }

@media (max-width: 768px) {
	.site-header__nav { display: none; }
	.site-header__toggle { display: inline-flex; }
}

/* ============ Hero ============ */
/* Hero is a core/cover block (.bwgygl-hero). Background image + dim overlay
   are native cover features (swappable in the editor); the rules below tune
   the inner container, headline, lede, and CTA buttons. */
.bwgygl-hero {
	text-align: center;
}
.bwgygl-hero .wp-block-cover__inner-container {
	max-width: 64rem;
	padding: 2rem 1.5rem;
	margin: 0 auto;
}
.bwgygl-hero h1 {
	font-family: var(--ygl-font-serif);
	font-weight: 600;
	font-size: clamp(2.5rem, 5vw + 1rem, 4.5rem);
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: #fff;
	margin: 0;
	max-width: none;
}
.bwgygl-hero h1 em { font-style: italic; font-weight: 500; color: #fff; }
.bwgygl-hero__lede {
	max-width: 48rem;
	margin: 2rem auto 0;
	font-size: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);
	line-height: 1.6;
	color: #F3F4F6;
}
.bwgygl-hero__ctas {
	gap: 1rem;
	margin-top: 3rem;
	justify-content: center;
}
.bwgygl-hero__ctas .wp-block-button__link {
	padding: 0.875rem 2.5rem;
	font-size: 1.0625rem;
	min-height: 2.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
/* Primary CTA inherits crimson from theme.json button styles; add a drop
   shadow to lift it off the image. */
.bwgygl-hero__ctas .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	box-shadow: 0 4px 14px rgba(0,0,0,0.15);
}
/* Ghost CTA: white outline on the dark hero. */
.bwgygl-hero__ctas .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 2px solid #fff;
}
.bwgygl-hero__ctas .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: #fff;
	color: var(--ygl-ink);
}

/* ============ Promo band ============ */
.bwgygl-promo-band {
	background: var(--ygl-crimson);
	color: #fff;
}
.bwgygl-promo-band__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0.875rem 1.5rem;
	color: #fff;
	text-decoration: none;
	font-size: 0.9375rem;
	line-height: 1.4;
	transition: background 150ms ease;
}
.bwgygl-promo-band__link:hover,
.bwgygl-promo-band__link:focus-visible {
	color: #fff;
	text-decoration: none;
}
.bwgygl-promo-band:hover { background: var(--ygl-crimson-hover); }
.bwgygl-promo-band__link > p { margin: 0; color: #fff; }
.bwgygl-promo-band a { color: #fff; text-decoration: none; }
.bwgygl-promo-band__tag {
	display: inline-block;
	padding: 0.1875rem 0.625rem;
	background: rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
}
.bwgygl-promo-band__copy {
	font-weight: 500;
	text-align: center;
}
.bwgygl-promo-band__cta {
	font-weight: 600;
	white-space: nowrap;
}
.bwgygl-promo-band__cta a {
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	padding-bottom: 1px;
}
@media (min-width: 720px) {
	.bwgygl-promo-band__link {
		flex-direction: row;
		gap: 1rem;
		padding: 0.75rem 1.5rem;
	}
}

/* ============ Section scaffolding ============ */
.bwgygl-section { padding: 5rem 1.5rem; }
.bwgygl-section--gray { background: var(--ygl-page); }
.bwgygl-section__inner {
	max-width: 1280px;
	margin: 0 auto;
}
.bwgygl-section__narrow {
	max-width: 768px;
	margin: 0 auto;
}
.bwgygl-section h2 {
	text-align: center;
	margin: 0;
	max-width: none;
}
.bwgygl-section__lede {
	max-width: 60ch;
	margin: 1rem auto 0;
	text-align: center;
	font-size: 1.125rem;
	line-height: 1.7;
	color: var(--ygl-text);
}

/* ============ Feature cards ============ */
.bwgygl-feature-grid {
	display: grid;
	gap: 2rem;
	margin-top: 3.5rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) { .bwgygl-feature-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bwgygl-feature-grid { grid-template-columns: repeat(4, 1fr); } }
.bwgygl-feature-card {
	background: var(--ygl-surface);
	padding: 1.5rem;
	border-radius: 0.75rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: box-shadow 0.2s ease;
}
.bwgygl-feature-card:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); }
.bwgygl-feature-card__icon { color: var(--ygl-crimson-bright); margin-bottom: 1rem; }
.bwgygl-feature-card__icon svg { width: 2rem; height: 2rem; }
.bwgygl-feature-card h3 {
	font-size: 1.25rem;
	margin: 0;
}
.bwgygl-feature-card p {
	margin: 0.625rem 0 0;
	color: var(--ygl-text);
}

/* ============ Integration cards (how it works) ============ */
.bwgygl-integrations {
	display: grid;
	gap: 2rem;
	margin-top: 3.5rem;
	/* minmax(0, 1fr) instead of 1fr so the column shrinks to viewport
	   width — otherwise the wide <pre> code samples push the card past
	   the screen and create a horizontal scroll. The pre has its own
	   overflow-x: auto, which only kicks in once we constrain the cell. */
	grid-template-columns: minmax(0, 1fr);
}
/* The wrapping group uses WordPress flow block-gap, which adds margin-block-start
   to every card after the first. On a CSS grid that misaligns the first card and
   inflates the row; the grid `gap` already handles spacing, so drop the margins. */
.bwgygl-feature-grid > *,
.bwgygl-integrations > *,
.bwgygl-details > * {
	margin-block: 0;
}
@media (min-width: 1024px) { .bwgygl-integrations { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bwgygl-integration-card {
	display: flex;
	flex-direction: column;
	padding: 1.5rem;
	border: 1px solid var(--ygl-border);
	border-radius: 0.75rem;
	background: var(--ygl-surface);
}
.bwgygl-integration-card h3 {
	font-size: 1.25rem;
	margin: 0;
}
.bwgygl-integration-card p {
	margin: 0.625rem 0 0;
	color: var(--ygl-text);
}
.bwgygl-integration-card pre {
	flex: 1;
	margin: 1rem 0 0;
	padding: 1.125rem;
	background: #111827;
	color: #E5E7EB;
	font-size: 0.875rem;
	line-height: 1.6;
	border-radius: 0.5rem;
	overflow-x: auto;
	/* core/code defaults to white-space: pre-wrap, which wraps the long
	   <script> lines and made the three code boxes render at unequal
	   heights. Match the bare-<pre> behaviour (no wrap, horizontal scroll). */
	white-space: pre;
}
.bwgygl-integration-card pre > code {
	/* core/code renders <code> as display:block, which seeded an unequal
	   flex-grow height across the three cards. Match the bare-<pre><code>
	   (inline) behaviour so all code boxes resolve to the same height. */
	display: inline;
	white-space: inherit;
}

/* ============ API flow diagram ============ */
.bwgygl-flow {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	max-width: 48rem;
	margin: 3.5rem auto 0;
}
@media (min-width: 640px) {
	.bwgygl-flow { flex-direction: row; gap: 0; }
}
.bwgygl-flow__node {
	flex: 1;
	padding: 1.25rem 1.5rem;
	border-radius: 0.5rem;
	border: 1px solid var(--ygl-border);
	background: var(--ygl-surface-alt);
	text-align: center;
}
.bwgygl-flow__node--middle {
	border: 2px solid var(--ygl-crimson);
	background: var(--ygl-crimson-tint);
	box-shadow: 0 0 0 1px rgba(155, 28, 28, 0.15);
}
.bwgygl-flow__node-label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--ygl-text-muted);
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	max-width: none;
}
.bwgygl-flow__node--middle .bwgygl-flow__node-label { color: var(--ygl-crimson); }
.bwgygl-flow__node-value {
	margin: 0.375rem 0 0;
	font-family: var(--ygl-font-sans);
	font-weight: 600;
	font-size: 1.125rem;
	color: var(--ygl-ink);
	max-width: none;
}
.bwgygl-flow__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ygl-text-faint);
	padding: 0 0.75rem;
}
.bwgygl-flow__arrow svg { width: 2rem; height: 1.5rem; }
.bwgygl-flow__arrow--h { display: none; }
.bwgygl-flow__arrow--v { display: flex; }
@media (min-width: 640px) {
	.bwgygl-flow__arrow--h { display: flex; }
	.bwgygl-flow__arrow--v { display: none; }
}

/* ============ Detail cards (3-up) ============ */
.bwgygl-details {
	display: grid;
	gap: 2rem;
	margin: 3.5rem auto 0;
	max-width: 80rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) { .bwgygl-details { grid-template-columns: repeat(3, 1fr); } }
.bwgygl-detail-card {
	padding: 1.5rem;
	background: var(--ygl-surface-alt);
	border: 1px solid var(--ygl-border);
	border-radius: 0.75rem;
}
.bwgygl-detail-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.5rem;
	background: var(--ygl-crimson-tint);
	color: var(--ygl-crimson);
	margin-bottom: 0.75rem;
}
.bwgygl-detail-card__icon svg { width: 1.25rem; height: 1.25rem; }
.bwgygl-detail-card h3 {
	font-size: 1.25rem;
	margin: 0;
}
.bwgygl-detail-card p {
	margin: 0.625rem 0 0;
	color: var(--ygl-text);
}

/* ============ Pricing ============ */
.bwgygl-pricing-toggle {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	margin: 2.5rem auto 0;
	padding: 0.625rem 1.25rem;
	background: var(--ygl-surface);
	border: 1px solid var(--ygl-border);
	border-radius: 999px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	font-size: 1rem;
	color: var(--ygl-text-muted);
}
.bwgygl-section .bwgygl-pricing-toggle {
	display: flex;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}
.bwgygl-pricing-toggle__label {
	font-weight: 400;
	color: var(--ygl-text-muted);
	transition: color 0.15s ease;
	display: inline-flex;
	align-items: baseline;
	gap: 0.5rem;
	cursor: pointer;
	padding: 0.25rem 0;
}
.bwgygl-pricing-toggle__label em {
	font-style: normal;
	font-size: 0.8125rem;
	color: var(--ygl-crimson);
	font-weight: 600;
}
.bwgygl-pricing-toggle[data-mode="monthly"] [data-pricing-label="monthly"],
.bwgygl-pricing-toggle[data-mode="annual"]  [data-pricing-label="annual"] {
	color: var(--ygl-ink);
	font-weight: 600;
}
.bwgygl-pricing-toggle__switch {
	position: relative;
	width: 3.25rem;
	height: 1.875rem;
	background: var(--ygl-border-strong);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color 0.2s ease;
	padding: 0;
	flex-shrink: 0;
}
.bwgygl-pricing-toggle__switch[aria-checked="true"] {
	background: var(--ygl-crimson);
}
.bwgygl-pricing-toggle__knob {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 1.5rem;
	height: 1.5rem;
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
	transition: transform 0.2s ease;
}
.bwgygl-pricing-toggle__switch[aria-checked="true"] .bwgygl-pricing-toggle__knob {
	transform: translateX(1.375rem);
}

.bwgygl-pricing {
	display: grid;
	gap: 2rem;
	margin: 2.5rem auto 0;
	max-width: 48rem;
	grid-template-columns: 1fr;
}
.bwgygl-pricing--three { max-width: 72rem; }
@media (min-width: 768px) { .bwgygl-pricing { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) {
	.bwgygl-pricing--three { grid-template-columns: repeat(3, 1fr); }
}
.bwgygl-pricing-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 2rem;
	background: var(--ygl-surface);
	border: 1px solid var(--ygl-border);
	border-radius: 0.75rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.bwgygl-pricing-card--highlight {
	border: 2px solid var(--ygl-crimson);
	background: var(--ygl-crimson-tint);
	box-shadow: 0 0 0 1px rgba(155, 28, 28, 0.15);
}
.bwgygl-pricing-card__badge {
	position: absolute;
	top: -0.875rem;
	left: 50%;
	transform: translateX(-50%);
	padding: 0.375rem 0.875rem;
	background: var(--ygl-crimson);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 999px;
	white-space: nowrap;
}
.bwgygl-pricing-card__note {
	min-height: 1.25rem;
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	color: var(--ygl-text-muted);
}
.bwgygl-pricing-card__tier {
	font-size: 1.25rem;
	margin: 0;
}
.bwgygl-pricing-card__price {
	display: flex;
	align-items: baseline;
	margin-top: 1rem;
}
.bwgygl-pricing-card__amount {
	font-family: var(--ygl-font-serif);
	font-weight: 600;
	font-size: 2.75rem;
	color: var(--ygl-ink);
	line-height: 1;
	letter-spacing: -0.01em;
}
.bwgygl-pricing-card__period {
	margin-left: 0.375rem;
	font-size: 0.9375rem;
	color: var(--ygl-text-muted);
}
.bwgygl-pricing-card__features {
	flex: 1;
	list-style: none;
	padding: 0;
	margin: 1.5rem 0 0;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}
.bwgygl-pricing-card__features li {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--ygl-text);
}
.bwgygl-pricing-card__check {
	flex-shrink: 0;
	width: 1.125rem;
	height: 1.125rem;
	margin-top: 0.1875rem;
	color: var(--ygl-crimson-bright);
}
.bwgygl-pricing-card__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2rem;
	padding: 0.75rem 1rem;
	text-align: center;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.2;
	min-height: 2.75rem;
	border-radius: 0.5rem;
	text-decoration: none;
	transition: background-color 0.15s ease;
}
.bwgygl-pricing-card__cta--secondary {
	border: 1px solid var(--ygl-border-strong);
	color: var(--ygl-ink);
}
.bwgygl-pricing-card__cta--secondary:hover { background: var(--ygl-page); }
.bwgygl-pricing-card__cta--primary {
	background: var(--ygl-crimson);
	color: #fff;
}
.bwgygl-pricing-card__cta--primary:hover { background: var(--ygl-crimson-hover); }

/* ============ YGL Bundle ============ */
.bwgygl-bundle {
	display: grid;
	gap: 2rem;
	max-width: 72rem;
	margin: 3rem auto 0;
	padding: 2.5rem;
	background: var(--ygl-ink);
	color: #fff;
	border-radius: 1rem;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
	grid-template-columns: 1fr;
}
@media (min-width: 880px) {
	.bwgygl-bundle {
		grid-template-columns: 1.1fr 1fr;
		align-items: center;
		gap: 3rem;
	}
}
.bwgygl-bundle__intro { color: #fff; }
.bwgygl-bundle__eyebrow {
	display: inline-block;
	padding: 0.375rem 0.875rem;
	background: var(--ygl-crimson);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 999px;
}
.bwgygl-bundle__title {
	margin: 1rem 0 1.25rem;
	font-size: 2.25rem;
	font-family: var(--ygl-font-serif);
	color: #fff;
	line-height: 1.1;
}
.bwgygl-bundle__includes {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: 1.0625rem;
	font-weight: 500;
	color: #fff;
}
.bwgygl-bundle__includes li {
	display: flex;
	align-items: baseline;
	gap: 0.625rem;
	color: #fff;
}
.bwgygl-bundle__plus {
	color: var(--ygl-crimson-bright);
	font-weight: 700;
}
.bwgygl-bundle__copy {
	margin: 0 0 0.875rem;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.9375rem;
	line-height: 1.55;
}
.bwgygl-bundle__copy:last-of-type { margin-bottom: 0; }

.bwgygl-bundle__card {
	display: flex;
	flex-direction: column;
	padding: 2rem;
	background: var(--ygl-surface);
	color: var(--ygl-text);
	border-radius: 0.75rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.bwgygl-bundle__card-eyebrow {
	display: inline-block;
	align-self: flex-start;
	padding: 0.25rem 0.75rem;
	background: var(--ygl-crimson-tint);
	color: var(--ygl-crimson);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 999px;
}
.bwgygl-bundle__card-title {
	margin: 0.875rem 0 0;
	font-size: 1.25rem;
	color: var(--ygl-ink);
	line-height: 1.25;
}
.bwgygl-bundle__price {
	display: flex;
	align-items: baseline;
	margin-top: 1rem;
}
.bwgygl-bundle__amount {
	font-family: var(--ygl-font-serif);
	font-weight: 600;
	font-size: 3rem;
	color: var(--ygl-ink);
	line-height: 1;
	letter-spacing: -0.01em;
}
.bwgygl-bundle__period {
	margin-left: 0.375rem;
	font-size: 1rem;
	color: var(--ygl-text-muted);
}
.bwgygl-bundle__card-note {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	color: var(--ygl-text-muted);
}
.bwgygl-bundle__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 1.5rem;
	padding: 0.875rem 1rem;
	background: var(--ygl-crimson);
	color: #fff;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.2;
	min-height: 2.75rem;
	border-radius: 0.5rem;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.15s ease;
}
.bwgygl-bundle__cta:hover { background: var(--ygl-crimson-hover); }
.bwgygl-bundle__card-perk {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin: 1.25rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid var(--ygl-border);
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--ygl-text);
}
.bwgygl-bundle__card-perk .bwgygl-pricing-card__check {
	margin-top: 0.0625rem;
}

/* ============ Free-trial card ============ */
.bwgygl-pricing-trial {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	max-width: 56rem;
	margin: 2rem auto 0;
	padding: 1.25rem 1.5rem;
	background: var(--ygl-surface);
	border: 1px dashed var(--ygl-border-strong);
	border-radius: 0.75rem;
}
@media (min-width: 640px) {
	.bwgygl-pricing-trial {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 2rem;
	}
}
.bwgygl-pricing-trial__text { flex: 1; }
.bwgygl-pricing-trial__text h3 {
	margin: 0;
	font-size: 1.25rem;
}
.bwgygl-pricing-trial__text p {
	margin: 0.375rem 0 0;
	color: var(--ygl-text);
}
.bwgygl-pricing-trial__cta {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.75rem;
	background: transparent;
	color: var(--ygl-crimson);
	border: 2px solid var(--ygl-crimson);
	border-radius: 0.5rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	min-height: 2.75rem;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.bwgygl-pricing-trial__cta:hover {
	background: var(--ygl-crimson);
	color: #fff;
}

/* ============ FAQ ============ */
.bwgygl-faq { margin-top: 3rem; }
.bwgygl-faq .wp-block-details {
	border-bottom: 1px solid var(--ygl-border);
}
.bwgygl-faq .wp-block-details:last-child { border-bottom: 0; }
.bwgygl-faq summary {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1.5rem;
	width: 100%;
	padding: 1.25rem 0;
	min-height: 3.25rem;
	cursor: pointer;
	list-style: none;
	font-family: var(--ygl-font-sans);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--ygl-ink);
}
.bwgygl-faq summary::-webkit-details-marker { display: none; }
.bwgygl-faq summary::after {
	content: "";
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	background-color: var(--ygl-text-faint);
	-webkit-mask: var(--bwgygl-chevron) no-repeat center / contain;
	        mask: var(--bwgygl-chevron) no-repeat center / contain;
	transition: transform 0.2s ease;
}
.bwgygl-faq .wp-block-details[open] summary::after { transform: rotate(180deg); }
.bwgygl-faq .wp-block-details > :not(summary) {
	margin: 0 0 1.25rem;
	padding-right: 3rem;
	color: var(--ygl-text);
}

/* ============ Footer ============ */
.site-footer {
	background: var(--ygl-ink);
	color: #fff;
}
.site-footer__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 4rem 1.5rem;
}
.site-footer__cols {
	display: grid;
	gap: 3rem;
	grid-template-columns: 1fr;
}
@media (min-width: 768px) {
	.site-footer__cols { grid-template-columns: repeat(3, 1fr); }
}
.site-footer__brand {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
}
.site-footer__brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 9999px;
	background: var(--ygl-crimson);
	color: #fff;
	font-weight: 600;
}
.site-footer__brand-text {
	font-weight: 600;
	font-size: 1.125rem;
	letter-spacing: -0.01em;
	color: #fff;
}
.site-footer__brand-text em { font-style: normal; color: #fff; }
.site-footer__tagline {
	margin: 1rem 0 0;
	color: #F3F4F6;
	max-width: none;
}
.site-footer h3 {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #F3F4F6;
	margin: 0;
}
.site-footer__list {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}
.site-footer__list a {
	font-size: 1rem;
	color: #F3F4F6;
	text-decoration: none;
	padding: 0.25rem 0;
	display: inline-block;
	transition: color 0.15s ease;
}
.site-footer__list a:hover { color: #fff; text-decoration: underline; }
.site-footer__bottom {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid #374151;
	text-align: center;
	font-size: 0.875rem;
	color: #D1D5DB;
}
.site-footer__bottom p { max-width: none; color: inherit; }

/* ============ Demo page chrome ============ */
.bwgygl-demo-page main { padding: 0; }

/* Plugin split layout is 100vh; leave room for the sticky header. */
.bwgygl-demo-page--split .bwgygl-layout-split {
	height: calc(100vh - 64px);
}
@media (max-width: 968px) {
	/* Mobile list-only collapses split into a vertical flow; the 100vh
	   constraint is desktop-only. */
	body.bwgygl-mobile-list-only .bwgygl-demo-page--split .bwgygl-layout-split {
		height: auto;
	}
}

/* wpautop wraps the plugin's hidden-inputs partial in a <p>. Strip them. */
.bwgygl-root > p,
.bwgygl-layout-split > p,
.bwgygl-layout-stacked > p,
.bwgygl-split-container > p,
.bwgygl-results-column > p,
.bwgygl-map-column > p,
.bwgygl-stacked-map-wrapper > p,
.bwgygl-stacked-search-bar-wrapper > p,
.bwgygl-stacked-cards-wrapper > p {
	display: none !important;
}

/* ============ Modal ============ */
.ygl-trial-modal[hidden] { display: none; }
.ygl-trial-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 2rem 1rem;
	overflow-y: auto;
}
.ygl-trial-modal__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 36, 0.65);
	cursor: pointer;
}
.ygl-trial-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 36rem;
	margin: auto;
	background: var(--ygl-surface);
	border-radius: 0.75rem;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
	padding: 2rem;
}
.ygl-trial-modal__close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	background: transparent;
	border: 0;
	border-radius: 0.375rem;
	color: var(--ygl-text-muted);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.ygl-trial-modal__close:hover { background: var(--ygl-page); color: var(--ygl-ink); }
.ygl-trial-modal__header h2 {
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.2;
}
.ygl-trial-modal__header p {
	margin: 0.5rem 0 0;
	color: var(--ygl-text);
}
.ygl-trial-modal__body { margin-top: 1.5rem; }
.ygl-trial-modal__body .gform_wrapper { margin: 0; }
.ygl-trial-modal__body input[type="text"],
.ygl-trial-modal__body input[type="email"],
.ygl-trial-modal__body input[type="tel"],
.ygl-trial-modal__body textarea {
	width: 100%;
	padding: 0.625rem 0.75rem;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--ygl-text);
	background: var(--ygl-surface);
	border: 1px solid var(--ygl-border-strong);
	border-radius: 0.375rem;
}
.ygl-trial-modal__body input:focus,
.ygl-trial-modal__body textarea:focus {
	outline: 2px solid var(--ygl-crimson);
	outline-offset: 1px;
	border-color: var(--ygl-crimson);
}
.ygl-trial-modal__body label,
.ygl-trial-modal__body .gfield_label {
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--ygl-ink);
}
.ygl-trial-modal__body input[type="submit"],
.ygl-trial-modal__body button[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.5rem !important;
	background: var(--ygl-crimson) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0.5rem !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	min-height: 2.75rem;
	cursor: pointer;
	transition: background-color 0.15s ease;
	appearance: none;
	-webkit-appearance: none;
}
.ygl-trial-modal__body input[type="submit"]:hover,
.ygl-trial-modal__body button[type="submit"]:hover {
	background: var(--ygl-crimson-hover) !important;
}

/* Lock body scroll when modal open */
body.ygl-trial-modal-open { overflow: hidden; }

/* ============================================================
   Plugin widget overrides — apply theme tokens to the YGL plugin.
   Scope to .bwgygl-root so we only touch plugin-rendered markup.
   ============================================================ */

.bwgygl-root,
.bwgygl-root button,
.bwgygl-root input,
.bwgygl-root select,
.bwgygl-root textarea {
	font-family: var(--ygl-font-sans);
}

.bwgygl-root {
	color: var(--ygl-text);
}

/* Property cards */
.bwgygl-root .bwgygl-property-card {
	border-radius: 0.75rem;
	border: 1px solid var(--ygl-border);
	background: var(--ygl-surface);
}

.bwgygl-root .bwgygl-property-price {
	font-family: var(--ygl-font-serif);
	font-weight: 600;
	color: var(--ygl-ink);
	letter-spacing: -0.01em;
}
.bwgygl-root .bwgygl-property-price-label {
	font-family: var(--ygl-font-sans);
	font-weight: 400;
	color: var(--ygl-text-muted);
}
.bwgygl-root .bwgygl-property-address {
	font-family: var(--ygl-font-sans);
	font-weight: 600;
	font-size: 1rem;
	color: var(--ygl-ink);
	line-height: 1.4;
}
.bwgygl-root .bwgygl-property-details {
	font-family: var(--ygl-font-sans);
	font-weight: 400;
	font-size: 0.875rem;
	color: var(--ygl-text-muted);
	line-height: 1.5;
}
.bwgygl-root .bwgygl-property-available {
	font-family: var(--ygl-font-sans);
	font-weight: 500;
	color: var(--ygl-text-muted);
}

/* Badges — keep plugin's semantic colors, just fix font */
.bwgygl-root .bwgygl-badge {
	font-family: var(--ygl-font-sans);
	font-weight: 500;
}

/* Filter bar — tighter pill shape matching bwgygl.com prototype */
.bwgygl-root .bwgygl-filter-bar,
.bwgygl-root .bwgygl-filter-bar button,
.bwgygl-root .bwgygl-filter-bar input,
.bwgygl-root .bwgygl-filter-bar select {
	font-family: var(--ygl-font-sans);
}
.bwgygl-root .bwgygl-filter-bar {
	gap: 0.5rem;
	padding: 0.75rem 1rem;
}
.bwgygl-root .bwgygl-filter-pill {
	padding: 0.5rem 0.875rem !important;
	border-radius: 999px !important;
	border: 1px solid var(--ygl-border-strong) !important;
	background: var(--ygl-surface) !important;
	color: var(--ygl-ink) !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: 1.3 !important;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}
.bwgygl-root .bwgygl-filter-pill:hover {
	background: var(--ygl-page) !important;
	border-color: var(--ygl-ink) !important;
}
.bwgygl-root .bwgygl-filter-pill[aria-expanded="true"],
.bwgygl-root .bwgygl-filter-pill.is-active,
.bwgygl-root .bwgygl-filter-pill.has-value {
	background: var(--ygl-crimson-tint) !important;
	border-color: var(--ygl-crimson) !important;
	color: var(--ygl-ink) !important;
}
.bwgygl-root .bwgygl-filter-pill .bwgygl-sort-icon,
.bwgygl-root .bwgygl-filter-pill .bwgygl-chevron {
	color: var(--ygl-text-muted);
	font-size: 0.75rem;
}

/* Hide the separate "Found N properties" banner — the count lives
   in the pagination footer on the bwgygl.com prototype. */
body .bwgygl-root .bwgygl-results-summary,
body .bwgygl-results-summary {
	display: none !important;
}

/* Pagination styling to match the prototype */
.bwgygl-root .bwgygl-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	padding: 1.25rem 1rem;
	flex-wrap: wrap;
}
.bwgygl-root .bwgygl-pagination button {
	font-family: var(--ygl-font-sans);
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.5rem 0.75rem;
	min-width: 2.25rem;
	border-radius: 999px;
	border: 1px solid var(--ygl-border);
	background: var(--ygl-surface);
	color: var(--ygl-text);
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}
.bwgygl-root .bwgygl-pagination button:hover:not(:disabled) {
	background: var(--ygl-page);
	border-color: var(--ygl-ink);
}
.bwgygl-root .bwgygl-pagination button.active {
	background: var(--ygl-crimson);
	border-color: var(--ygl-crimson);
	color: #fff;
}
.bwgygl-root .bwgygl-pagination button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}
.bwgygl-root .bwgygl-pagination span {
	font-family: var(--ygl-font-sans);
	font-size: 0.875rem;
	color: var(--ygl-text-muted);
}

/* ============ Stacked layout search bar ============
   Mirrors bwgygl.com: filter pills on the left, results count + pagination
   stacked on the right. The plugin's .bwgygl-stacked-search-bar already does
   flex with justify-content: space-between, so we just style the children. */
.bwgygl-root .bwgygl-stacked-search-bar-wrapper {
	padding: 0.75rem 1rem;
}
.bwgygl-root .bwgygl-stacked-search-bar {
	background: transparent !important;
}
.bwgygl-root .bwgygl-stacked-search-bar .bwgygl-filter-bar {
	flex: 1 1 auto;
}
.bwgygl-root .bwgygl-stacked-results-info {
	flex: 0 0 auto;
	margin-left: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.375rem;
	font-size: 0.8125rem;
	color: var(--ygl-text-muted);
	white-space: nowrap;
}
.bwgygl-root .bwgygl-stacked-results-info .bwgygl-stacked-count {
	font-size: 0.8125rem;
	color: var(--ygl-text-muted);
}
.bwgygl-root .bwgygl-stacked-results-info .bwgygl-pagination {
	padding: 0;
	gap: 0.25rem;
}
.bwgygl-root .bwgygl-stacked-results-info .bwgygl-pagination button {
	padding: 0.375rem 0.625rem;
	min-width: 2rem;
	font-size: 0.8125rem;
}
.bwgygl-root .bwgygl-stacked-search-bar-wrapper .bwgygl-filter-pill {
	padding: 0.4375rem 0.75rem !important;
	font-size: 0.75rem !important;
}

/* The plugin ships a misleadingly named palette: --gold is actually a blue,
   --navy is a dark slate. Remap both at body scope so the brand crimson +
   ink reach every plugin element on every viewport (search-area button on
   desktop map, mobile view toggle on body, filter trigger pill, etc.). */
body {
	--gold: var(--ygl-crimson);
	--navy: var(--ygl-ink);
	--navy-light: #1f2937;
}

/* ============ Mobile chrome (filter trigger, view toggle, map button) ============ */
@media (max-width: 968px) {
	body {
		/* On mobile the site header is no longer sticky, so the filter bar
		   sticks at viewport top:0 (no offset to clear). */
		--bwgygl-header-offset: 0px;
	}
	/* In map-only mode hide the site header entirely so the map fills the
	   viewport. (Sticky already only applies to body.home, so demo pages
	   in list mode let the header scroll off naturally.) */
	body.bwgygl-mobile-map-only header.wp-block-template-part:has(.site-header) {
		display: none;
	}
	.bwgygl-root .bwgygl-filters-trigger {
		background: #fff !important;
		border-color: rgba(0, 0, 0, 0.1) !important;
		color: var(--ygl-ink) !important;
	}
	.bwgygl-root .bwgygl-filters-trigger-badge {
		background: var(--ygl-crimson) !important;
		color: #fff !important;
	}
	/* Mobile list view (matches bwgygl.com): filter pill on its own row,
	   then a sub-row with results count on the left and pagination on the
	   right. The split wrapper is a plain block by default — make it flex so
	   align-items:stretch makes the trigger fill the full pill width like
	   stacked. */
	.bwgygl-root .bwgygl-stacked-search-bar,
	.bwgygl-root .bwgygl-split-search-bar-wrapper {
		display: flex;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0.5rem;
	}
	.bwgygl-root .bwgygl-stacked-results-info {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		margin-left: 0 !important;
		width: 100%;
		gap: 0.5rem;
	}
	/* Compact pagination on mobile: arrows + 3 numbers on one row.
	   The renderPagination JS already produces compact markup at this
	   breakpoint (no Prev/Next text, no ellipsis). Force nowrap and tighten
	   spacing so it stays inline with the count on the right. */
	.bwgygl-root .bwgygl-stacked-results-info .bwgygl-pagination {
		flex-wrap: nowrap;
		flex-shrink: 0;
	}
	.bwgygl-root .bwgygl-pagination .bwgygl-page-info {
		display: none;
	}
	.bwgygl-root .bwgygl-pagination button {
		padding: 4px 8px;
		font-size: 12px;
		min-width: 28px;
		flex-shrink: 0;
	}
	/* Sticky filter bar on mobile needs an opaque background so list cards
	   don't bleed through. The wrapper is constrained by parent padding, so
	   extend the visible band edge-to-edge with a wide box-shadow + clip
	   path (the shadow is the visible band, clip-path keeps it horizontal). */
	.bwgygl-root .bwgygl-stacked-search-bar-wrapper,
	.bwgygl-root .bwgygl-split-search-bar-wrapper {
		background: var(--ygl-surface) !important;
		box-shadow: 0 0 0 100vmax var(--ygl-surface), 0 1px 3px rgba(0, 0, 0, 0.05);
		clip-path: inset(0 -100vmax);
	}
	/* When the filters modal is open, the wrapper's clip-path would clip
	   the modal's full-viewport fixed children (clip-path applies to all
	   descendants, including position:fixed). Disable it. */
	body.bwgygl-filters-modal-active .bwgygl-root .bwgygl-stacked-search-bar-wrapper,
	body.bwgygl-filters-modal-active .bwgygl-root .bwgygl-split-search-bar-wrapper {
		clip-path: none;
		box-shadow: none;
	}
	/* Modal: leave room above the first pill so it doesn't sit flush against
	   (or behind) the fixed Filters header. The plugin mobile CSS sets a 70px
	   pad but theme's .bwgygl-root .bwgygl-filter-bar rule wins on
	   specificity and resets padding; redo it here at higher specificity. */
	.bwgygl-root .bwgygl-filter-bar.bwgygl-filters-modal-open {
		padding: 96px 16px 100px;
	}
	/* Theme's desktop "display: flex" on results-info was leaking past the
	   plugin's map-only hide rule. Explicitly hide here. */
	body.bwgygl-mobile-map-only .bwgygl-root .bwgygl-stacked-results-info {
		display: none;
	}
}

/* Found N properties banner */
.bwgygl-root .bwgygl-results-header,
.bwgygl-root .bwgygl-results-count {
	font-family: var(--ygl-font-sans);
	color: var(--ygl-text);
}

/* Property detail views — scope covers both:
   - Demo-page modal (body > .bwgygl-modal > .bwgygl-modal-content)
   - Property single page (.bwgygl-property-page > .bwgygl-modal-content)
   .bwgygl-modal-content is the common wrapper. */
body .bwgygl-modal-content,
body .bwgygl-modal-content * {
	font-family: var(--ygl-font-sans);
}
body .bwgygl-modal-content h1,
body .bwgygl-modal-content h2,
body .bwgygl-modal-content h3,
body .bwgygl-modal-content .bwgygl-modal-address,
body .bwgygl-modal-content [class*="property-name"],
body .bwgygl-modal-content [class*="property-address"],
body .bwgygl-modal-content .bwgygl-detail-address {
	font-family: var(--ygl-font-sans);
	font-weight: 600;
	color: var(--ygl-ink);
}
body .bwgygl-modal-content [class*="price"],
body .bwgygl-modal-content .bwgygl-detail-price,
body .bwgygl-modal-content .bwgygl-detail-price-col {
	font-family: var(--ygl-font-serif);
	font-weight: 600;
	color: var(--ygl-ink);
	letter-spacing: -0.01em;
}
body .bwgygl-modal-content .bwgygl-detail-stat-number,
body .bwgygl-modal-content .bwgygl-detail-stat-value,
body .bwgygl-modal-content [class*="stat-number"],
body .bwgygl-modal-content [class*="stat-value"] {
	font-family: var(--ygl-font-serif);
	font-weight: 600;
	color: var(--ygl-ink);
	letter-spacing: -0.01em;
}
body .bwgygl-modal-content .bwgygl-detail-stat-label,
body .bwgygl-modal-content [class*="stat-label"] {
	font-family: var(--ygl-font-sans);
	color: var(--ygl-text-muted);
}
body .bwgygl-modal-content p,
body .bwgygl-modal-content li {
	color: var(--ygl-text);
	line-height: 1.7;
}
body .bwgygl-modal-content [role="tab"],
body .bwgygl-modal-content [class*="tab"] {
	font-family: var(--ygl-font-sans);
	color: var(--ygl-text-muted);
}
body .bwgygl-modal-content [role="tab"][aria-selected="true"],
body .bwgygl-modal-content [class*="tab"][class*="active"] {
	color: var(--ygl-ink);
	border-bottom-color: var(--ygl-crimson);
}

/* Detail sections have a blue top accent bar — crimson it. */
body .bwgygl-modal-content .bwgygl-detail-section {
	border-top-color: var(--ygl-crimson) !important;
}

/* Action buttons inside property modal (Call Us, Request Showing)
   Plugin modal is appended to <body> directly, not inside .bwgygl-root,
   so scope to .bwgygl-modal instead. */
body .bwgygl-modal-content .bwgygl-action-btn {
	background: var(--ygl-crimson);
	color: #fff;
	border: 2px solid var(--ygl-crimson);
	border-radius: 0.5rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}
body .bwgygl-modal-content .bwgygl-action-btn:hover,
body .bwgygl-modal-content .bwgygl-action-btn:focus {
	background: var(--ygl-crimson-hover);
	border-color: var(--ygl-crimson-hover);
	color: #fff;
}

/* Secondary buttons (Share, View on Map) */
body .bwgygl-modal-content .bwgygl-copy-link-btn,
body .bwgygl-modal-content .bwgygl-view-on-map-btn {
	background: var(--ygl-surface);
	color: var(--ygl-ink);
	border: 1px solid var(--ygl-border-strong);
	border-radius: 0.5rem;
	font-weight: 600;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}
body .bwgygl-modal-content .bwgygl-copy-link-btn:hover,
body .bwgygl-modal-content .bwgygl-view-on-map-btn:hover {
	background: var(--ygl-page);
	border-color: var(--ygl-ink);
}

/* Filters modal (also body-level) */
body .bwgygl-filters-modal,
body .bwgygl-filters-modal * {
	font-family: var(--ygl-font-sans);
}
body .bwgygl-filters-modal-title {
	font-weight: 600;
	color: var(--ygl-ink);
}
body .bwgygl-filters-modal-apply {
	background: var(--ygl-crimson);
	color: #fff;
	border: 0;
	border-radius: 0.5rem;
	font-weight: 600;
}
body .bwgygl-filters-modal-apply:hover {
	background: var(--ygl-crimson-hover);
}

/* ============ Leaflet markers — recolor blue → crimson ============ */
/* The default marker PNG is blue; hue-rotate shifts it to crimson.
   Only target IMG markers, not cluster div markers.
   Includes .bwgygl-modal (property detail modal mini-map). */
.bwgygl-root img.leaflet-marker-icon,
.bwgygl-property-page img.leaflet-marker-icon,
body .bwgygl-modal img.leaflet-marker-icon {
	filter: hue-rotate(140deg) saturate(1.1) brightness(0.95);
}

/* Cluster bubbles (MarkerCluster.Default.css uses blue/green tints).
   The cluster marker is a DIV with a nested DIV containing the count. */
.bwgygl-root div.marker-cluster,
.bwgygl-property-page div.marker-cluster {
	background-clip: padding-box;
	border-radius: 20px;
}
.bwgygl-root div.marker-cluster-small,
.bwgygl-root div.marker-cluster-medium,
.bwgygl-root div.marker-cluster-large {
	background-color: rgba(155, 28, 28, 0.25) !important;
}
.bwgygl-root div.marker-cluster-small div,
.bwgygl-root div.marker-cluster-medium div,
.bwgygl-root div.marker-cluster-large div {
	background-color: var(--ygl-crimson) !important;
	color: #fff !important;
	font-family: var(--ygl-font-sans);
	font-weight: 600;
}

/* Highlight hover marker (single property hover) */
.bwgygl-root .bwgygl-highlight-marker-inner,
.bwgygl-property-page .bwgygl-highlight-marker-inner {
	background: var(--ygl-crimson) !important;
}

/* ============ Gravity Forms — base styling (property pages, inline) ============ */
body .bwgygl-property-page .gform_wrapper input[type="text"],
body .bwgygl-property-page .gform_wrapper input[type="email"],
body .bwgygl-property-page .gform_wrapper input[type="tel"],
body .bwgygl-property-page .gform_wrapper input[type="url"],
body .bwgygl-property-page .gform_wrapper textarea,
body .bwgygl-property-page .gform_wrapper select {
	width: 100%;
	padding: 0.625rem 0.75rem;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--ygl-text);
	background: var(--ygl-surface);
	border: 1px solid var(--ygl-border-strong);
	border-radius: 0.375rem;
}
body .bwgygl-property-page .gform_wrapper input:focus,
body .bwgygl-property-page .gform_wrapper textarea:focus {
	outline: 2px solid var(--ygl-crimson);
	outline-offset: 1px;
	border-color: var(--ygl-crimson);
}
body .bwgygl-property-page .gform_wrapper .gfield_label {
	font-family: var(--ygl-font-sans);
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--ygl-ink);
}
body .bwgygl-property-page .gform_wrapper input[type="submit"],
body .bwgygl-property-page .gform_wrapper button[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.5rem !important;
	background: var(--ygl-crimson) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0.5rem !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	min-height: 2.75rem;
	cursor: pointer;
	transition: background-color 0.15s ease;
	appearance: none;
	-webkit-appearance: none;
}
body .bwgygl-property-page .gform_wrapper input[type="submit"]:hover,
body .bwgygl-property-page .gform_wrapper button[type="submit"]:hover {
	background: var(--ygl-crimson-hover) !important;
}

/* ============ Plugin's GF sub-modal (Request Showing) ============ */
body .bwgygl-gf-submodal .bwgygl-gf-submodal-panel {
	background: var(--ygl-surface);
	border-radius: 0.75rem;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
}
body .bwgygl-gf-submodal .bwgygl-gf-submodal-backdrop {
	background: rgba(15, 23, 36, 0.65);
}
body .bwgygl-gf-submodal .bwgygl-gf-submodal-close {
	color: var(--ygl-text-muted);
	font-size: 1.5rem;
}
body .bwgygl-gf-submodal .bwgygl-gf-submodal-close:hover {
	color: var(--ygl-ink);
}
body .bwgygl-gf-submodal h2,
body .bwgygl-gf-submodal .bwgygl-gf-submodal-title {
	font-family: var(--ygl-font-serif);
	font-weight: 600;
	color: var(--ygl-ink);
	letter-spacing: -0.01em;
}
body .bwgygl-gf-submodal .gform_wrapper input[type="text"],
body .bwgygl-gf-submodal .gform_wrapper input[type="email"],
body .bwgygl-gf-submodal .gform_wrapper input[type="tel"],
body .bwgygl-gf-submodal .gform_wrapper input[type="url"],
body .bwgygl-gf-submodal .gform_wrapper textarea,
body .bwgygl-gf-submodal .gform_wrapper select {
	width: 100%;
	padding: 0.625rem 0.75rem;
	font-family: var(--ygl-font-sans);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--ygl-text);
	background: var(--ygl-surface);
	border: 1px solid var(--ygl-border-strong);
	border-radius: 0.375rem;
}
body .bwgygl-gf-submodal .gform_wrapper textarea {
	min-height: 0 !important;
	height: 5rem !important;
	resize: vertical;
}
body .bwgygl-gf-submodal .gform_wrapper input:focus,
body .bwgygl-gf-submodal .gform_wrapper textarea:focus {
	outline: 2px solid var(--ygl-crimson);
	outline-offset: 1px;
	border-color: var(--ygl-crimson);
}
body .bwgygl-gf-submodal .gform_wrapper .gfield_label {
	font-family: var(--ygl-font-sans);
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--ygl-ink);
}
body .bwgygl-gf-submodal .gform_wrapper input[type="submit"],
body .bwgygl-gf-submodal .gform_wrapper button[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.5rem !important;
	background: var(--ygl-crimson) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0.5rem !important;
	font-family: var(--ygl-font-sans) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	min-height: 2.75rem;
	cursor: pointer;
	transition: background-color 0.15s ease;
	appearance: none;
	-webkit-appearance: none;
}
body .bwgygl-gf-submodal .gform_wrapper input[type="submit"]:hover,
body .bwgygl-gf-submodal .gform_wrapper button[type="submit"]:hover {
	background: var(--ygl-crimson-hover) !important;
}
/* wpautop wraps hidden inputs + <br> in tall <p>s that stretch the flex
   footer, inflating the submit button. Kill them. */
body .bwgygl-gf-submodal .gform_footer > p,
body .bwgygl-property-page .gform_footer > p,
body .ygl-trial-modal .gform_footer > p {
	display: none !important;
}
body .bwgygl-gf-submodal .gform_footer input[type="submit"],
body .bwgygl-property-page .gform_footer input[type="submit"],
body .ygl-trial-modal .gform_footer input[type="submit"] {
	align-self: flex-start;
	height: auto !important;
}

/* ============ Map popup (View Details) ============ */
body .leaflet-popup .bwgygl-popup-button,
body .leaflet-popup a.bwgygl-popup-button {
	background: var(--ygl-crimson);
	color: #fff;
	border: 0;
	border-radius: 0.375rem;
	padding: 0.5rem 1rem;
	font-family: var(--ygl-font-sans);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.15s ease;
}
body .leaflet-popup .bwgygl-popup-button:hover {
	background: var(--ygl-crimson-hover);
}
body .leaflet-popup [class*="price"] {
	font-family: var(--ygl-font-serif);
	font-weight: 600;
	color: var(--ygl-ink);
}

/* ================================================================
   PadMatch additions
   ================================================================
   Fresh classes specific to the PadMatch theme. The .bwgygl-* and
   --ygl-* identifiers above are kept as-is for stability; their
   color values were rebranded in theme.json. The rules below add
   PadMatch's logo header, hero, section, agent grid, and contact
   form styling on top of that foundation. */

:root {
	--padmatch-red:    #D12126;
	--padmatch-purple: #6A2671;
}

/* ---- Header brand (logo image instead of text mark) ---- */
.padmatch-header .site-header__inner {
	min-height: 72px;
}
.padmatch-header__brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
.padmatch-header__logo {
	display: block;
	height: 44px;
	width: auto;
	max-width: 220px;
}
@media (max-width: 768px) {
	.padmatch-header__logo { height: 36px; max-width: 180px; }
}

/* The original .site-header__brand-mark from BWG YGL is no longer
   used; we render an <img> instead. No need to override here. */

/* CTA button color override for header */
.padmatch-header .site-header__cta {
	background: var(--padmatch-red);
	color: #fff;
	padding: 0.5rem 1.1rem;
	border-radius: 0.4rem;
	font-weight: 600;
}
.padmatch-header .site-header__cta:hover {
	background: var(--ygl-crimson-hover);
	color: #fff;
}

/* ---- Hero (logo over dimmed Boston skyline) ---- */
/* The cover block (.wp-block-cover) provides the background image and the
   dim overlay. .padmatch-hero just centers the inner container, sets a
   chip of internal padding, and adjusts the logo/tagline/CTA colors so
   they read on a dark scene. */
.padmatch-hero {
	text-align: center;
}
.padmatch-hero .wp-block-cover__inner-container {
	max-width: 64rem;
	padding: clamp(2rem, 4vw, 3rem) 1.5rem;
	margin: 0 auto;
}
.padmatch-hero__inner {
	max-width: 56rem;
	margin: 0 auto;
}
.padmatch-hero__logo {
	margin: 0 auto 1.75rem;
	/* Soft glow behind the logo to lift the wordmark off a noisy
	   skyline. Keeps the red and purple readable on photography
	   without requiring a custom logo asset. */
	filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.45));
}
.padmatch-hero__logo img {
	max-width: min(100%, 32rem);
	height: auto;
	display: block;
	margin: 0 auto;
}
.padmatch-hero__tagline {
	font-family: var(--ygl-font-serif, "Playfair Display", Georgia, serif);
	font-size: clamp(1.25rem, 1.5vw + 1rem, 1.75rem);
	line-height: 1.4;
	color: #F3F4F6;
	max-width: 40rem;
	margin: 0 auto 2.5rem;
	font-style: italic;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}
.padmatch-hero__ctas {
	gap: 1rem;
	justify-content: center;
}
.padmatch-hero__ctas .wp-block-button__link {
	padding: 0.875rem 2rem;
	font-size: 1.0625rem;
	min-height: 2.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.padmatch-hero__ctas .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}
.padmatch-hero__ctas .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 2px solid #fff;
}
.padmatch-hero__ctas .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: #fff;
	color: var(--padmatch-red);
}

/* ---- Generic section wrapper ---- */
.padmatch-section {
	padding: clamp(3rem, 6vw, 5rem) 1.5rem;
	background: #fff;
}
.padmatch-section--alt {
	background: var(--ygl-page);
}
.padmatch-section__inner {
	max-width: 1200px;
	margin: 0 auto;
}
.padmatch-section__lede {
	font-size: 1.125rem;
	color: var(--ygl-text-muted);
	max-width: 50rem;
	margin: 0 0 2.5rem;
	line-height: 1.6;
}

.padmatch-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--padmatch-purple);
	margin: 0 0 0.75rem;
}

/* ---- About (two-column: intro + services) ---- */
.padmatch-about {
	display: grid;
	gap: 3rem;
	grid-template-columns: 1fr;
}
@media (min-width: 900px) {
	.padmatch-about {
		grid-template-columns: 1.1fr 1fr;
		align-items: start;
	}
}
.padmatch-about__intro h2 {
	margin-top: 0;
}
.padmatch-about__services {
	display: grid;
	gap: 1.25rem;
}
.padmatch-service {
	background: var(--ygl-surface);
	border: 1px solid var(--ygl-border);
	border-left: 4px solid var(--padmatch-red);
	padding: 1.5rem 1.75rem;
	border-radius: 0.5rem;
}
.padmatch-service:nth-child(2) { border-left-color: var(--padmatch-purple); }
.padmatch-service h3 {
	margin: 0 0 0.5rem;
	font-size: 1.25rem;
}
.padmatch-service p {
	margin: 0;
	color: var(--ygl-text-muted);
}

/* ---- Agents section ---- */
.padmatch-agents__photo {
	margin: 0 0 3rem;
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(15, 23, 36, 0.12);
}
.padmatch-agents__photo img {
	width: 100%;
	height: auto;
	display: block;
}
.padmatch-agent-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}
@media (min-width: 600px) {
	.padmatch-agent-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
	.padmatch-agent-grid { grid-template-columns: repeat(3, 1fr); }
}
.padmatch-agent-card {
	background: #fff;
	border: 1px solid var(--ygl-border);
	border-radius: 0.5rem;
	padding: 1.25rem;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.padmatch-agent-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(15, 23, 36, 0.08);
}
.padmatch-agent-card__name {
	font-family: var(--ygl-font-serif, "Playfair Display", Georgia, serif);
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--ygl-ink);
	margin-bottom: 0.15rem;
}
.padmatch-agent-card__role {
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--padmatch-red);
	font-weight: 600;
	margin-bottom: 0.75rem;
}
.padmatch-agent-card__contact {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: 0.9rem;
}
.padmatch-agent-card__contact a {
	color: var(--ygl-text-muted);
	text-decoration: none;
	overflow-wrap: anywhere;
}
.padmatch-agent-card__contact a:hover {
	color: var(--padmatch-red);
}

/* ---- Contact section ---- */
.padmatch-contact {
	display: grid;
	gap: 3rem;
	grid-template-columns: 1fr;
}
@media (min-width: 900px) {
	.padmatch-contact { grid-template-columns: 1fr 1fr; align-items: start; }
}
.padmatch-contact__info h2 { margin-top: 0; }
.padmatch-contact__list {
	margin: 1.5rem 0 0;
	display: grid;
	gap: 1rem;
}
.padmatch-contact__list > div {
	display: grid;
	grid-template-columns: 6rem 1fr;
	gap: 1rem;
	align-items: baseline;
}
.padmatch-contact__list dt {
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 600;
	color: var(--padmatch-purple);
	margin: 0;
}
.padmatch-contact__list dd {
	margin: 0;
	color: var(--ygl-text);
	line-height: 1.5;
}
.padmatch-contact__list a {
	color: var(--ygl-text);
	text-decoration: none;
	border-bottom: 1px solid var(--ygl-border-strong);
}
.padmatch-contact__list a:hover {
	color: var(--padmatch-red);
	border-bottom-color: var(--padmatch-red);
}

/* ---- Contact form ---- */
.padmatch-form {
	background: var(--ygl-surface);
	border: 1px solid var(--ygl-border);
	border-radius: 0.75rem;
	padding: 1.75rem;
	display: grid;
	gap: 1rem;
	box-shadow: 0 2px 8px rgba(15, 23, 36, 0.04);
}
.padmatch-form__field {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.padmatch-form__field span {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--ygl-text);
}
.padmatch-form__field input,
.padmatch-form__field textarea {
	font: inherit;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--ygl-border-strong);
	border-radius: 0.4rem;
	background: #fff;
	color: var(--ygl-text);
}
.padmatch-form__field input:focus,
.padmatch-form__field textarea:focus {
	outline: 2px solid var(--padmatch-red);
	outline-offset: 1px;
	border-color: var(--padmatch-red);
}
.padmatch-form__submit {
	margin-top: 0.5rem;
	background: var(--padmatch-red);
	color: #fff;
	border: 0;
	padding: 0.85rem 1.5rem;
	font: inherit;
	font-weight: 600;
	border-radius: 0.4rem;
	cursor: pointer;
	justify-self: start;
	transition: background-color 0.15s ease;
}
.padmatch-form__submit:hover {
	background: var(--ygl-crimson-hover);
}

/* ---- Footer ---- */
.padmatch-footer__logo {
	display: block;
	height: 56px;
	width: auto;
	max-width: 240px;
	margin-bottom: 0.75rem;
	/* Logo has dark colors against white; footer is dark, so invert
	   for legibility. */
	filter: brightness(0) invert(1);
}
/* Force plain text in the list to inherit the light footer color.
   Without this, theme.json styles cascade through to <li> children
   and force the inherited body text color (dark ink), which made
   "Office:" / "Fax:" labels nearly invisible against the dark bg. */
.padmatch-footer .site-footer__list,
.padmatch-footer .site-footer__list li {
	color: #F3F4F6;
}
.padmatch-footer .site-footer__list address,
.padmatch-footer address.site-footer__list {
	font-style: normal;
}
