/* Birdwood Pumps: component styles. Tokens live in theme.json. Developed by Mike Potter, Bizetools (https://bizetools.com). */

:root {
	--bwp-radius: 12px;
	--bwp-shadow: 0 14px 34px -16px rgba(7, 23, 51, .35);
	--bwp-shadow-sm: 0 4px 14px -6px rgba(7, 23, 51, .18);
	--bwp-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.bwp-main { margin-block-start: 0 !important; }
.bwp-main > .wp-block-post-content > * { margin-block-start: 0; }
img { height: auto; }
.bwp-icon { width: 1.5em; height: 1.5em; flex: none; }
:focus-visible { outline: 3px solid var(--wp--preset--color--sky); outline-offset: 3px; }

/* ---------- Top bar ---------- */
.bwp-topbar { font-size: .875rem; }
.bwp-topbar p { margin: 0; }
.bwp-topbar__area { opacity: .8; }
.bwp-topbar__phones { display: flex; gap: 1.25rem; }
.bwp-topbar__phones a { color: #fff; text-decoration: none; font-weight: 600; white-space: nowrap; }
.bwp-topbar__phones a span { color: var(--wp--preset--color--sky); font-weight: 500; margin-right: .2em; }
.bwp-topbar__phones a:hover { color: var(--wp--preset--color--amber); }

/* ---------- Header ---------- */
.bwp-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .bwp-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .bwp-site-header { top: 0; position: relative; } }
.bwp-header { box-shadow: 0 1px 0 var(--wp--preset--color--line); transition: box-shadow .25s var(--bwp-ease); }
.is-scrolled .bwp-header { box-shadow: 0 8px 24px -14px rgba(7, 23, 51, .35); }
.bwp-logo { display: block; line-height: 0; }
.bwp-logo img { width: 150px; height: auto; transition: width .25s var(--bwp-ease); }
.is-scrolled .bwp-logo img { width: 118px; }
.bwp-header__right { gap: 1.5rem; }
.bwp-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--navy); padding: .4rem .1rem; text-decoration: none; }
.bwp-nav .wp-block-navigation-item__content:hover,
.bwp-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--blue); }
.bwp-nav .wp-block-navigation__submenu-container {
	border: 0 !important; border-radius: var(--bwp-radius); padding: .5rem !important;
	box-shadow: var(--bwp-shadow); min-width: 260px !important;
}
.bwp-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem .8rem; border-radius: 8px; }
.bwp-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--sky-50); }
.bwp-header__cta .wp-block-button__link { white-space: nowrap; padding: .7rem 1.2rem; }
.bwp-btn-call .wp-block-button__link::before,
.bwp-btn-ghost .wp-block-button__link::before {
	content: ""; display: inline-block; width: 1em; height: 1em; margin-right: .5em; vertical-align: -.12em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h3.5l1.6 4.2-2.2 1.4a11 11 0 0 0 5.5 5.5l1.4-2.2L19 13.5V17a2 2 0 0 1-2 2A15 15 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h3.5l1.6 4.2-2.2 1.4a11 11 0 0 0 5.5 5.5l1.4-2.2L19 13.5V17a2 2 0 0 1-2 2A15 15 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Mobile overlay menu */
.bwp-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.bwp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #fff; font-size: 1.25rem; }
.bwp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; background: transparent !important; padding: .25rem 0 .5rem 1rem !important; }
.bwp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.05rem; opacity: .85; }
.bwp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover { background: transparent; color: var(--wp--preset--color--amber); }
.bwp-nav .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }

/* ---------- Buttons ---------- */
.wp-element-button { transition: transform .15s var(--bwp-ease), background-color .15s, box-shadow .15s; }
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: var(--bwp-shadow-sm); }
.bwp-btn-ghost .wp-block-button__link,
.wp-block-button.is-style-outline.bwp-btn-ghost .wp-block-button__link {
	background: transparent; color: #fff; border: 2px solid rgba(255, 255, 255, .7);
	padding: calc(.85rem - 2px) calc(1.5rem - 2px);
}
.bwp-btn-ghost .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--navy-900); border-color: #fff; }

/* ---------- Labels ---------- */
.bwp-eyebrow, .bwp-kicker {
	font-size: .8rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 .75rem;
}
.bwp-eyebrow { color: var(--wp--preset--color--sky); display: inline-flex; align-items: center; gap: .6rem; }
.bwp-eyebrow::before { content: ""; width: 28px; height: 3px; border-radius: 3px; background: var(--wp--preset--color--amber); }
.bwp-kicker { color: var(--wp--preset--color--blue); }
.bwp-kicker--amber { color: var(--wp--preset--color--amber); }
.bwp-accent { color: var(--wp--preset--color--sky); }

/* ---------- Hero ---------- */
.bwp-hero { overflow: hidden; }
.bwp-hero::after {
	/* Water ripple texture for the no-photo state and a subtle sheen over photos. */
	content: ""; position: absolute; inset: auto -10% -35% 35%; height: 90%; pointer-events: none; z-index: 1;
	background:
		radial-gradient(closest-side, rgba(45, 165, 240, .28), transparent 70%),
		repeating-radial-gradient(circle at 70% 70%, rgba(255, 255, 255, .06) 0 2px, transparent 2px 38px);
	opacity: .9;
}
.bwp-hero .wp-block-cover__inner-container { position: relative; z-index: 2; }
.bwp-hero h1 { margin: .25rem 0 1.25rem; max-width: 14ch; text-wrap: balance; }
.bwp-hero__lede { opacity: .92; max-width: 40rem; }
.bwp-hero__buttons { margin-top: 2rem; gap: .85rem; }
.bwp-hero__proof {
	list-style: none; margin: 3rem 0 0; padding: 1.25rem 0 0; display: flex; flex-wrap: wrap; gap: 1rem 2.5rem;
	border-top: 1px solid rgba(255, 255, 255, .18); max-width: 1000px;
}
.bwp-hero__proof li { display: flex; align-items: center; gap: .65rem; font-weight: 500; font-size: .98rem; color: rgba(255, 255, 255, .92); }
.bwp-hero__proof .bwp-icon { color: var(--wp--preset--color--amber); width: 1.6rem; height: 1.6rem; }

/* ---------- Sections ---------- */
.bwp-section__head { margin-bottom: var(--wp--preset--spacing--50); }
.bwp-section__head h2 { margin-top: 0; text-wrap: balance; }
.bwp-section h2 { text-wrap: balance; }

/* Service cards */
.bwp-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.bwp-card {
	position: relative; display: flex; flex-direction: column; gap: .5rem; padding: 1.75rem;
	background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--bwp-radius);
	color: var(--wp--preset--color--ink); text-decoration: none; overflow: hidden;
	transition: transform .2s var(--bwp-ease), box-shadow .2s var(--bwp-ease), border-color .2s;
}
.bwp-card::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
	background: linear-gradient(90deg, var(--wp--preset--color--sky), var(--wp--preset--color--blue));
	transform: scaleX(0); transform-origin: left; transition: transform .3s var(--bwp-ease);
}
.bwp-card:hover { transform: translateY(-4px); box-shadow: var(--bwp-shadow); border-color: transparent; color: var(--wp--preset--color--ink); }
.bwp-card:hover::after { transform: scaleX(1); }
.bwp-card__icon {
	display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; margin-bottom: .5rem;
	background: var(--wp--preset--color--sky-50); color: var(--wp--preset--color--blue);
}
.bwp-card__icon .bwp-icon { width: 30px; height: 30px; }
.bwp-card__title { margin: 0; font-size: 1.3rem; color: var(--wp--preset--color--navy); }
.bwp-card__text { margin: 0; color: var(--wp--preset--color--muted); flex: 1; }
.bwp-card__more { display: inline-flex; align-items: center; gap: .35rem; margin-top: .75rem; font-weight: 700; color: var(--wp--preset--color--blue); font-size: .95rem; }
.bwp-card__more .bwp-icon { width: 1.1em; height: 1.1em; transition: transform .2s var(--bwp-ease); }
.bwp-card:hover .bwp-card__more .bwp-icon { transform: translateX(4px); }

/* Why */
.bwp-why__media, .bwp-fire__media {
	position: relative; margin: 0; border-radius: calc(var(--bwp-radius) + 6px); overflow: hidden; aspect-ratio: 4 / 3.3;
	box-shadow: var(--bwp-shadow);
}
.bwp-why__media img, .bwp-fire__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bwp-why__media--placeholder, .bwp-fire__media--placeholder {
	display: grid; place-items: center;
	background: linear-gradient(135deg, #071733, #0d2a5c 55%, #1a6fc0);
}
.bwp-fire__media--placeholder { background: linear-gradient(135deg, #3a1706, #a03a0a 55%, #f4b000); }
.bwp-why__ph, .bwp-fire__ph { color: rgba(255, 255, 255, .25); }
.bwp-why__ph .bwp-icon, .bwp-fire__ph .bwp-icon { width: 160px; height: 160px; stroke-width: 1; }
.bwp-why__badge {
	position: absolute; left: 1.25rem; bottom: 1.25rem; background: #fff; border-radius: 10px; padding: .75rem 1rem;
	display: flex; flex-direction: column; line-height: 1.3; box-shadow: var(--bwp-shadow-sm); font-size: .92rem;
}
.bwp-why__badge strong { color: var(--wp--preset--color--navy); }
.bwp-why__badge span { color: var(--wp--preset--color--muted); }
.bwp-points { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 1.4rem; }
.bwp-point { display: flex; gap: 1rem; align-items: flex-start; }
.bwp-point__icon {
	display: grid; place-items: center; width: 48px; height: 48px; flex: none; border-radius: 12px;
	background: var(--wp--preset--color--navy); color: var(--wp--preset--color--amber);
}
.bwp-point__title { margin: 0 0 .2rem; font-size: 1.15rem; }
.bwp-point p { margin: 0; color: var(--wp--preset--color--muted); }

/* Brands */
.bwp-brands { border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }
.bwp-brands__row { display: grid; grid-template-columns: 1.4fr 1fr; gap: 2.5rem; align-items: start; }
.bwp-brands__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.bwp-brands__list li {
	padding: .65rem 1.1rem; border-radius: 10px; border: 1px solid var(--wp--preset--color--line);
	font-weight: 700; color: var(--wp--preset--color--muted); background: #fff;
}
.bwp-brands__list--dealer li {
	font-size: 1.15rem; font-weight: 800; color: var(--wp--preset--color--navy); letter-spacing: -.01em;
	border-color: transparent; background: var(--wp--preset--color--sky-50);
}
.bwp-brands__list .bwp-brands__all { border-style: dashed; font-weight: 500; }

/* Bushfire */
.bwp-ticks { list-style: none; margin: 1.25rem 0 1.75rem; padding: 0; display: grid; gap: .6rem; }
.bwp-ticks li { display: flex; gap: .65rem; align-items: center; }
.bwp-ticks .bwp-icon { color: var(--wp--preset--color--amber); }
.bwp-fire p { opacity: .92; }

/* Area */
.bwp-area__regions { display: grid; gap: 1rem; margin-top: 1.5rem; }
.bwp-area__region { background: #fff; border-radius: var(--bwp-radius); padding: 1rem 1.25rem; box-shadow: var(--bwp-shadow-sm); }
.bwp-area__region h3 { display: flex; align-items: center; gap: .5rem; margin: 0 0 .3rem; font-size: 1.1rem; }
.bwp-area__region h3 .bwp-icon { color: var(--wp--preset--color--blue); width: 1.2em; height: 1.2em; }
.bwp-area__region p { margin: 0; color: var(--wp--preset--color--muted); font-size: .95rem; }
.bwp-map { position: relative; height: 100%; min-height: 420px; border-radius: calc(var(--bwp-radius) + 6px); overflow: hidden; box-shadow: var(--bwp-shadow); background: #dfe9f3; }
.bwp-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.bwp-map__link {
	position: absolute; left: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .4rem;
	background: var(--wp--preset--color--navy); color: #fff; text-decoration: none; font-weight: 700; font-size: .95rem;
	padding: .65rem 1rem; border-radius: 999px; box-shadow: var(--bwp-shadow-sm);
}
.bwp-map__link:hover { background: var(--wp--preset--color--blue); color: #fff; }
.bwp-map__link .bwp-icon { width: 1.15em; height: 1.15em; }

/* Phone blocks (CTA band, call card) */
.bwp-phone {
	display: flex; flex-direction: column; text-decoration: none; padding: .9rem 1.25rem; border-radius: var(--bwp-radius);
	background: rgba(255, 255, 255, .1); color: #fff; border: 1px solid rgba(255, 255, 255, .2);
	transition: background .15s, transform .15s var(--bwp-ease);
}
.bwp-phone:hover { background: rgba(255, 255, 255, .18); color: #fff; transform: translateY(-2px); }
.bwp-phone__name { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; opacity: .8; }
.bwp-phone__num { font-size: 1.6rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; }
.bwp-phone--dark { background: var(--wp--preset--color--navy-900); border-color: transparent; }
.bwp-phone--dark:hover { background: var(--wp--preset--color--navy); }
.bwp-cta-band__phones { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.bwp-cta-band h2 { margin-top: 0; }

/* Page hero */
.bwp-page-hero h1 { margin: .25rem 0 .75rem; text-wrap: balance; }
.bwp-page-hero__lede { opacity: .9; max-width: 44rem; }
.bwp-page-hero__lede p { margin: 0; }
.bwp-page-hero .wp-block-post-excerpt__more-text { display: none; }
.bwp-page-hero::after {
	content: ""; position: absolute; right: -8%; bottom: -60%; width: 60%; height: 160%; pointer-events: none;
	background: repeating-radial-gradient(circle at 60% 60%, rgba(255, 255, 255, .05) 0 2px, transparent 2px 36px);
}

/* Service template */
.bwp-service-content > .wp-block-post-content > :first-child { margin-top: 0; }
.bwp-service-content h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.5rem; }
.bwp-service-content h3 { font-size: 1.2rem; margin-top: 1.75rem; }
.bwp-service-content ul.wp-block-list, .bwp-page-body ul.wp-block-list { padding-left: 0; list-style: none; }
.bwp-service-content ul.wp-block-list li, .bwp-page-body ul.wp-block-list li { position: relative; padding-left: 1.9rem; margin: .45rem 0; }
.bwp-service-content ul.wp-block-list li::before, .bwp-page-body ul.wp-block-list li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 1.15rem; height: 1.15rem; border-radius: 50%;
	background: var(--wp--preset--color--sky-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a6fc0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.bwp-lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--navy); font-weight: 500; }
.bwp-service-aside > * + * { margin-top: 1.25rem; }
.bwp-service-aside { position: sticky; top: 130px; align-self: flex-start; }
.bwp-call-card { border-radius: calc(var(--bwp-radius) + 4px); box-shadow: var(--bwp-shadow); }
.bwp-call-card h2 { margin-top: 0; }
.bwp-call-card__phones { display: grid; gap: .6rem; }
.bwp-call-card__email { margin: 1rem 0 0; font-size: .95rem; }
.bwp-call-card__email a { color: var(--wp--preset--color--sky); }
.bwp-services-nav { border: 1px solid var(--wp--preset--color--line); border-radius: calc(var(--bwp-radius) + 4px); padding: 1.25rem; }
.bwp-services-nav__h { margin: 0 0 .5rem; font-weight: 800; color: var(--wp--preset--color--navy); }
.bwp-services-nav ul { list-style: none; margin: 0; padding: 0; }
.bwp-services-nav a { display: block; padding: .55rem .75rem; border-radius: 8px; color: var(--wp--preset--color--ink); text-decoration: none; font-weight: 500; }
.bwp-services-nav a:hover { background: var(--wp--preset--color--sky-50); color: var(--wp--preset--color--blue); }
.bwp-services-nav a[aria-current="page"] { background: var(--wp--preset--color--navy); color: #fff; }

/* Callout box used in page content */
.bwp-callout { border-left: 4px solid var(--wp--preset--color--amber); background: var(--wp--preset--color--sand); border-radius: 0 var(--bwp-radius) var(--bwp-radius) 0; padding: 1.25rem 1.5rem; }
.bwp-callout > :first-child { margin-top: 0; }
.bwp-callout > :last-child { margin-bottom: 0; }

/* FAQ */
.bwp-faq .wp-block-details summary { font-weight: 700; color: var(--wp--preset--color--navy); cursor: pointer; list-style: none; position: relative; padding-right: 2rem; }
.bwp-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.bwp-faq .wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: -.15em; font-size: 1.5rem; color: var(--wp--preset--color--blue); transition: transform .2s; }
.bwp-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.bwp-faq .wp-block-details > p { color: var(--wp--preset--color--muted); }

/* Photo grid (gallery pattern) */
.bwp-gallery .wp-block-image img { border-radius: var(--bwp-radius); aspect-ratio: 4 / 3; object-fit: cover; }

/* Footer */
.bwp-footer a { color: #fff; text-decoration: none; }
.bwp-footer a:hover { color: var(--wp--preset--color--amber); }
.bwp-footer p { opacity: .85; }
.bwp-logo--footer img { width: 170px; margin-bottom: .5rem; }
.bwp-footer__h { font-size: .8rem !important; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--sky) !important; margin-bottom: 1rem; }
.bwp-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.bwp-footer__list strong { color: var(--wp--preset--color--sky); font-weight: 600; margin-right: .25rem; }
.bwp-footer__addr { font-style: normal; line-height: 1.6; opacity: .9; }
.bwp-footer__addr + p a { color: var(--wp--preset--color--amber); font-weight: 600; }
.bwp-footer__sep { border-color: rgba(255, 255, 255, .12) !important; margin: 2.5rem 0 1.25rem !important; }
.bwp-footer__legal { opacity: .6 !important; margin: 0; }

/* Reveal on scroll (JS adds .bwp-in). Content stays visible if JS is off. */
.js .bwp-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--bwp-ease), transform .6s var(--bwp-ease); }
.js .bwp-reveal.bwp-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.js .bwp-reveal { opacity: 1; transform: none; transition: none; }
	.bwp-card, .wp-element-button, .bwp-phone { transition: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.bwp-header__cta { display: none; }
}
@media (max-width: 960px) {
	.bwp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bwp-brands__row { grid-template-columns: 1fr; gap: 1.5rem; }
	.bwp-service-aside { position: static; }
}
@media (max-width: 781px) {
	.bwp-topbar__area { display: none; }
	.bwp-topbar .wp-block-group { justify-content: center !important; }
	.bwp-logo img, .is-scrolled .bwp-logo img { width: 112px; }
	.bwp-hero { min-height: 0 !important; }
	.bwp-hero__proof { margin-top: 2rem; gap: .75rem; flex-direction: column; }
	.bwp-cta-band__phones { grid-template-columns: 1fr; }
	.bwp-map { min-height: 320px; }
}
@media (max-width: 600px) {
	.bwp-cards { grid-template-columns: 1fr; }
	.bwp-card { padding: 1.35rem; }
	.bwp-hero__buttons .wp-block-button { width: 100%; }
	.bwp-hero__buttons .wp-block-button__link { width: 100%; }
	.bwp-topbar__phones { gap: .9rem; font-size: .82rem; }
}

/* Recent work mosaic */
.bwp-section__head--split { margin-bottom: var(--wp--preset--spacing--50); gap: 1rem; }
.bwp-section__head--split h2 { margin-bottom: 0; }
.bwp-section__head--split > p { margin: 0; font-weight: 700; }
.bwp-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 1rem; }
.bwp-mosaic__item { position: relative; margin: 0; border-radius: var(--bwp-radius); overflow: hidden; background: var(--wp--preset--color--sky-50); }
.bwp-mosaic__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--bwp-ease); }
.bwp-mosaic__item:hover img { transform: scale(1.04); }
.bwp-mosaic__item figcaption {
	position: absolute; left: 0; right: 0; bottom: 0; padding: 2rem 1rem .8rem; color: #fff; font-weight: 700; font-size: .95rem;
	background: linear-gradient(transparent, rgba(7, 23, 51, .85));
}
.bwp-mosaic__item--1 { grid-column: span 2; grid-row: span 2; }
.bwp-mosaic__item--2 { grid-row: span 2; }
@media (max-width: 781px) {
	.bwp-mosaic { grid-template-columns: 1fr 1fr; grid-auto-rows: 170px; }
	.bwp-mosaic__item--1 { grid-column: span 2; grid-row: span 2; }
	.bwp-mosaic__item--2 { grid-row: span 2; }
}

/* Inline content images */
.bwp-service-content .wp-block-image img, .bwp-page-body .wp-block-image img { border-radius: var(--bwp-radius); }
.bwp-service-content .wp-block-image figcaption { color: var(--wp--preset--color--muted); font-size: .9rem; }

/* Phone icon on call tiles (CTA band, call card) */
.bwp-phone { position: relative; padding-left: 4.1rem; min-height: 4.2rem; justify-content: center; }
.bwp-phone::before {
	content: ""; position: absolute; left: 1rem; top: 50%; width: 2.4rem; height: 2.4rem; margin-top: -1.2rem; border-radius: 50%;
	background: var(--wp--preset--color--amber) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23071733' d='M5 3h3.5l1.6 4.2-2.2 1.4a11 11 0 0 0 5.5 5.5l1.4-2.2L19 13.5V17a2 2 0 0 1-2 2A15 15 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") center / 1.15rem no-repeat;
	transition: transform .2s var(--bwp-ease);
}
.bwp-phone:hover::before { transform: rotate(-12deg) scale(1.06); }
@media (prefers-reduced-motion: reduce) { .bwp-phone:hover::before { transform: none; } }

/* Call buttons: larger phone glyph, aligned with label */
.bwp-btn-call .wp-block-button__link,
.bwp-btn-ghost .wp-block-button__link { display: inline-flex; align-items: center; gap: .55em; }
.bwp-btn-call .wp-block-button__link::before,
.bwp-btn-ghost .wp-block-button__link::before { width: 1.2em; height: 1.2em; margin-right: 0; vertical-align: 0; flex: none; }
.bwp-hero__buttons .wp-block-button__link { font-size: 1.05rem; padding-top: 1rem; padding-bottom: 1rem; }

/* Keep cover content on the same 1240px grid as the header */
.wp-block-cover.has-custom-content-position.bwp-hero .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.bwp-page-hero .wp-block-cover__inner-container { width: 100% !important; max-width: calc(1240px + var(--wp--style--root--padding-left) + var(--wp--style--root--padding-right)); margin-inline: auto !important; padding-left: var(--wp--style--root--padding-left) !important; padding-right: var(--wp--style--root--padding-right) !important; box-sizing: border-box; }
.wp-block-cover.bwp-hero, .wp-block-cover.bwp-page-hero { padding-left: 0; padding-right: 0; }
.bwp-hero__inner, .bwp-page-hero__inner { margin-left: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.bwp-hero .bwp-hero__proof { margin-left: 0 !important; }

/* Contact map */
.bwp-contact-map__wrap { position: relative; display: grid; grid-template-columns: 1fr 380px; gap: 0; border-radius: calc(var(--bwp-radius) + 6px); overflow: hidden; box-shadow: var(--bwp-shadow); background: #fff; }
.bwp-contact-map__frame { position: relative; min-height: 460px; background: #dfe9f3; }
.bwp-contact-map__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.bwp-contact-map__card { padding: 2rem; display: flex; flex-direction: column; justify-content: center; }
.bwp-contact-map__h { font-size: var(--wp--preset--font-size--x-large); margin: 0 0 .75rem; }
.bwp-contact-map__card p:not(.bwp-kicker) { color: var(--wp--preset--color--muted); margin: 0 0 1.25rem; }
.bwp-contact-map__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.bwp-pill { display: inline-flex; align-items: center; gap: .45rem; padding: .7rem 1.1rem; border-radius: 999px; font-weight: 700; text-decoration: none; border: 2px solid var(--wp--preset--color--navy); color: var(--wp--preset--color--navy); }
.bwp-pill .bwp-icon { width: 1.15em; height: 1.15em; }
.bwp-pill:hover { background: var(--wp--preset--color--navy); color: #fff; }
.bwp-pill--amber { background: var(--wp--preset--color--amber); border-color: var(--wp--preset--color--amber); color: var(--wp--preset--color--navy-900); }
.bwp-pill--amber:hover { background: #ffc53a; border-color: #ffc53a; color: var(--wp--preset--color--navy-900); }
@media (max-width: 860px) {
	.bwp-contact-map__wrap { grid-template-columns: 1fr; }
	.bwp-contact-map__frame { min-height: 340px; }
	.bwp-contact-map__card { padding: 1.5rem; }
}
/* No white gap when a page ends on a full-width band */
.bwp-page-body:has(> .wp-block-post-content > .alignfull:last-child) { padding-bottom: 0 !important; }
.bwp-footer__sister { margin: 0 0 .75rem; font-size: .9rem; opacity: .85; }
.bwp-footer__sister a { color: var(--wp--preset--color--amber) !important; font-weight: 600; text-decoration: underline !important; text-underline-offset: 2px; }
.bwp-area__sister { margin: 1.25rem 0 0; font-size: .95rem; color: var(--wp--preset--color--muted); }
.bwp-area__sister a { font-weight: 700; }
