/* BEW Homepage Blocks — brand styles. Colours and type from the BEW Brand Kit. */
:root {
	--bew-navy: #0b1d3a;
	--bew-navy-700: #1b3563;
	--bew-red: #d81f25;
	--bew-black: #231f20;
	--bew-slate: #5b6577;
	--bew-mist: #a9b6cc;
	--bew-tint: #eef1f6;
	--bew-rule: #d5dae3;
	--bew-font: Arial, "Liberation Sans", Helvetica, sans-serif;
	--bew-wrap: 1280px;
}

/* Full-width sections even in themes with a narrow content column. */
.bew-section.alignfull, .bew-hero.alignfull, .bew-quick.alignfull,
.bew-newsletter.alignfull, .bew-members.alignfull {
	width: 100vw; max-width: 100vw;
	margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
	margin-top: 0; margin-bottom: 0;
}
body:has(.bew-section) { overflow-x: clip; }

.bew-section, .bew-hero, .bew-quick, .bew-newsletter, .bew-members {
	font-family: var(--bew-font); color: var(--bew-black); box-sizing: border-box;
}
.bew-section *, .bew-hero *, .bew-quick *, .bew-newsletter *, .bew-members * { box-sizing: border-box; }

.bew-wrap { max-width: var(--bew-wrap); margin-left: auto !important; margin-right: auto !important; padding-left: 24px; padding-right: 24px; width: 100%; }
.bew-section { padding: 104px 0; background: #fff; }
.bew-navy { background: var(--bew-navy); color: #fff; }
.bew-tint { background: var(--bew-tint); }
.wp-block-columns.bew-gap-xl { gap: 56px; }
.wp-block-columns.bew-cards { gap: 24px; margin-top: 44px; margin-bottom: 0; }
.wp-block-columns.bew-cards + .wp-block-columns.bew-cards { margin-top: 32px; }

/* Type */
.bew-eyebrow { font: 700 12px/1.4 var(--bew-font); letter-spacing: 2px; text-transform: uppercase; color: var(--bew-red); margin: 0 0 12px; }
.bew-eyebrow--light { color: #fff; display: flex; align-items: center; gap: 12px; }
.bew-eyebrow--light::before { content: ""; width: 32px; height: 4px; background: var(--bew-red); flex: none; }
.bew-navy .bew-eyebrow--light, .bew-members .bew-eyebrow--light { color: var(--bew-mist); }
.bew-h2 { font: 700 42px/1.1 var(--bew-font); color: var(--bew-navy); margin: 0 0 20px; letter-spacing: 0; }
.bew-navy .bew-h2 { color: #fff; }
.bew-soft { color: var(--bew-slate); font-weight: 400; }
.bew-navy .bew-soft { color: var(--bew-mist); }
.bew-body { font-size: 17px; line-height: 1.65; margin: 0 0 16px; }
.bew-small { font-size: 12px; line-height: 1.5; color: var(--bew-slate); margin: 14px 0 0; }
.bew-small a, .bew-link a { color: var(--bew-navy); font-weight: 700; }
.bew-link { margin: 16px 0 0; font-size: 15px; }
.bew-link a { text-decoration: none; }
.bew-link a:hover { color: var(--bew-red); }
.bew-navy .bew-link a { color: #fff; }

/* Buttons */
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link {
	border-radius: 0; font: 700 17px/1.2 var(--bew-font); padding: 18px 28px; text-decoration: none; border: 2px solid transparent;
}
.is-style-bew-red .wp-block-button__link { background: var(--bew-red); color: #fff; }
.is-style-bew-red .wp-block-button__link:hover { background: #b5181d; color: #fff; }
.is-style-bew-navy .wp-block-button__link { background: var(--bew-navy); color: #fff; }
.is-style-bew-navy .wp-block-button__link:hover { background: var(--bew-navy-700); color: #fff; }
.is-style-bew-outline-white .wp-block-button__link { background: transparent; color: #fff; border-color: #fff !important; }
.is-style-bew-outline-white .wp-block-button__link:hover { background: #fff; color: var(--bew-navy); }

/* Images: square-edged, fixed shapes so any photo you upload crops neatly */
.bew-img { margin: 0; }
.bew-img img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.bew-img--43 img { aspect-ratio: 4 / 3; }
.bew-img--32 img { aspect-ratio: 3 / 2; }
.bew-img--169 img { aspect-ratio: 16 / 9; }
.bew-img--tall img { aspect-ratio: 3 / 4; }
.bew-img--fill, .bew-img--fill img { height: 100%; min-height: 300px; }

/* Hero */
.wp-block-cover.bew-hero { padding: 120px 0 72px; color: #fff; }
.bew-hero .wp-block-cover__inner-container { width: 100%; }
.bew-hero__title { font: 700 68px/1.02 var(--bew-font); letter-spacing: -1px; color: #fff; margin: 22px 0; max-width: 820px; }
.bew-hero__lead { font-size: 20px; line-height: 1.5; max-width: 600px; margin: 0 0 36px; color: #fff; }

/* Quick links */
.bew-quick { background: #fff; border-bottom: 1px solid var(--bew-rule); }
.wp-block-columns.bew-quick__row { gap: 0; margin: 0 auto; }
.bew-quick__item { padding: 28px 24px 28px 70px; position: relative; border-right: 1px solid var(--bew-rule); }
.bew-quick__item:last-child { border-right: 0; }
.bew-quick__item::before { content: ""; position: absolute; left: 24px; top: 50%; width: 30px; height: 30px; margin-top: -15px; background: var(--bew-red); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.bew-quick__title { margin: 0; font-weight: 700; font-size: 17px; }
.bew-quick__title a { color: var(--bew-navy); text-decoration: none; }
.bew-quick__title a::after { content: ""; position: absolute; inset: 0; }
.bew-quick__sub { margin: 2px 0 0; font-size: 14px; color: var(--bew-slate); }
.bew-ico-pin { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.bew-ico-card { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Crect x='3' y='5' width='18' height='14'/%3E%3Cpath d='M3 10h18M7 15h4'/%3E%3C/svg%3E"); }
.bew-ico-cart { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M3 4h2l2.5 11h10.5l2-8H6.5'/%3E%3Ccircle cx='9' cy='19' r='1.5'/%3E%3Ccircle cx='17' cy='19' r='1.5'/%3E%3C/svg%3E"); }
.bew-ico-cal { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Crect x='3' y='5' width='18' height='16'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }

/* About */
.bew-badge-wrap { position: relative; }
.bew-badge { position: absolute; left: 0; bottom: -28px; margin: 0; background: var(--bew-red); color: #fff; padding: 22px 26px; font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.bew-badge strong { display: block; font-size: 40px; line-height: 1; letter-spacing: 0; }
.wp-block-columns.bew-stats { border-top: 1px solid var(--bew-rule); padding-top: 24px; margin: 24px 0 8px; gap: 20px; }
.bew-stat { margin: 0; font-size: 14px; color: var(--bew-slate); }
.bew-stat strong { display: block; font-size: 32px; color: var(--bew-navy); }

/* Division tiles */
.bew-tile { background: var(--bew-navy-700); display: flex; flex-direction: column; }
.bew-tile > * { margin-left: 28px !important; margin-right: 28px !important; }
.bew-tile > .bew-img { margin: 0 !important; }
.bew-tile__title { font: 700 26px/1.2 var(--bew-font); color: #fff; margin-top: 24px; margin-bottom: 8px; }
.bew-tile__text { font-size: 15px; line-height: 1.55; color: var(--bew-mist); margin: 0; }
.bew-tile .bew-link { margin-top: auto; padding-top: 14px; margin-bottom: 28px !important; }

/* Service cards */
.bew-card__title { font: 700 21px/1.3 var(--bew-font); color: var(--bew-navy); margin: 16px 0 8px; }
.bew-card__text { font-size: 15px; line-height: 1.55; margin: 0; }

/* Trade account */
.bew-steps { font-weight: 700; color: var(--bew-navy); font-size: 15px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.bew-steps span { width: 32px; height: 32px; border-radius: 9999px; background: var(--bew-navy); color: #fff; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; margin-left: 10px; }
.bew-steps span:first-child { margin-left: 0; }
.bew-form-panel { background: #fff; padding: 32px; border-top: 6px solid var(--bew-navy); }
.bew-form-ph { border: 2px dashed var(--bew-slate); padding: 24px; font-size: 14px; color: var(--bew-slate); background: #fff; }

/* Branches */
.bew-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; }
.bew-chips a { font-size: 14px; font-weight: 700; padding: 10px 14px; border: 1px solid var(--bew-rule); color: var(--bew-navy); text-decoration: none; }
.bew-chips a:hover { border-color: var(--bew-red); color: var(--bew-red); }
.bew-map { background: var(--bew-tint); min-height: 520px; }
.bew-map iframe { width: 100%; height: 100%; min-height: 520px; border: 0; display: block; }

/* News */
.wp-block-columns.bew-event { gap: 0; background: var(--bew-navy); color: #fff; margin: 44px 0 32px; }
.bew-event__body { padding: 44px; }
.bew-tag { display: inline-block; background: var(--bew-red); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 6px 10px; margin: 0 0 14px; }
.bew-event__title { font: 700 30px/1.15 var(--bew-font); color: #fff; margin: 0 0 12px; }
.bew-event__meta { font-size: 16px; line-height: 1.5; color: var(--bew-mist); margin: 0 0 24px; }
.bew-posts .wp-block-post-template { gap: 24px; margin: 0; padding: 0; }
.bew-posts .wp-block-post { background: #fff; list-style: none; margin: 0; }
.bew-posts .wp-block-post-featured-image { margin: 0; }
.bew-posts .wp-block-post-featured-image img { width: 100%; object-fit: cover; border-radius: 0; }
.bew-post__body { padding: 24px; }
.bew-post__cat { font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.bew-post__cat a { color: var(--bew-red); text-decoration: none; }
.bew-post__title { font: 700 20px/1.3 var(--bew-font); margin: 10px 0; }
.bew-post__title a { color: var(--bew-navy); text-decoration: none; }
.bew-post__excerpt { font-size: 15px; line-height: 1.5; color: var(--bew-slate); margin: 0; }
.bew-post__excerpt .wp-block-post-excerpt__more-text { display: none; }
.bew-post__more { font-weight: 700; color: var(--bew-navy); font-size: 14px; display: inline-block; margin-top: 10px; text-decoration: none; }

/* Newsletter */
.bew-newsletter { background: var(--bew-red); color: #fff; padding: 64px 0; }
.bew-newsletter__title { font: 700 34px/1.15 var(--bew-font); color: #fff; margin: 0 0 10px; }
.bew-newsletter p { font-size: 17px; line-height: 1.55; margin: 0; }
.bew-newsletter input[type="email"], .bew-newsletter input[type="text"] { border: 0; border-radius: 0; padding: 16px 14px; font-size: 16px; }
.bew-newsletter button, .bew-newsletter input[type="submit"] { background: var(--bew-navy); color: #fff; border: 0; border-radius: 0; font-weight: 700; padding: 16px 26px; }

/* Memberships */
.bew-members { background: var(--bew-navy); padding: 36px 0; border-top: 1px solid var(--bew-navy-700); }
.wp-block-columns.bew-logos { gap: 16px; flex-wrap: wrap !important; margin: 18px 0 0; }
.bew-logos .wp-block-column { flex: 1 1 140px !important; }
.bew-logo-tile { background: #fff; height: 72px; margin: 0; display: flex; align-items: center; justify-content: center; padding: 10px; }
.bew-logo-tile img { max-height: 52px; width: auto; object-fit: contain; }

/* Phones */
@media (max-width: 781px) {
	.bew-section { padding: 64px 0; }
	.bew-hero__title { font-size: 42px; }
	.bew-h2 { font-size: 30px; }
	.bew-quick__item { border-right: 0; border-bottom: 1px solid var(--bew-rule); }
	.bew-badge { bottom: 0; }
	.bew-event__body { padding: 28px; }
}

/* Layout safety net: core block layout, in case the theme does not load WordPress block styles. */
.bew-home { display: block; width: 100%; overflow-x: clip; }
.bew-home .wp-block-columns { display: flex; flex-wrap: nowrap; }
.bew-home .wp-block-column { flex: 1 1 0; min-width: 0; }
.bew-home .wp-block-columns.are-vertically-aligned-center { align-items: center; }
@media (max-width: 781px) {
	.bew-home .wp-block-columns:not(.is-not-stacked-on-mobile) { flex-wrap: wrap; }
	.bew-home .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; }
}
.bew-home .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.bew-home .wp-block-button__link { display: inline-block; }
.bew-home .wp-block-cover { position: relative; display: flex; overflow: hidden; align-items: flex-end; }
.bew-home .wp-block-cover__background, .bew-home .wp-block-cover__image-background, .bew-home .wp-block-cover__video-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0; max-width: none; }
.bew-home .wp-block-cover__background { z-index: 1; }
.bew-home .wp-block-cover__background.has-background-dim-60 { opacity: .6; }
.bew-home .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; }
.bew-home .wp-block-post-template { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.bew-home figure { margin: 0; }

/* ===== v1.2 fixes — these win over theme styles ===== */

/* 1. Full width without double-shifting (theme alignfull rules neutralised inside BEW pages) */
.bew-home .alignfull, .bew-home .bew-section, .bew-home .bew-hero, .bew-home .bew-quick,
.bew-home .bew-newsletter, .bew-home .bew-members {
	width: 100% !important; max-width: 100% !important;
	margin-left: 0 !important; margin-right: 0 !important;
	left: auto !important; right: auto !important; transform: none !important;
}

/* 2. Comfortable side margins on every screen size */
.bew-home .bew-wrap, .editor-styles-wrapper .bew-wrap {
	max-width: var(--bew-wrap) !important; width: 100% !important;
	margin-left: auto !important; margin-right: auto !important;
	padding-left: clamp(24px, 6vw, 80px) !important; padding-right: clamp(24px, 6vw, 80px) !important;
	box-sizing: border-box;
}
.bew-home .wp-block-cover.bew-hero { padding-top: clamp(140px, 16vw, 200px); padding-bottom: 80px; padding-left: 0; padding-right: 0; }
.bew-home .bew-hero__title { text-transform: none; }

/* 3. Bigger small text */
.bew-eyebrow { font-size: 14px; letter-spacing: 2.5px; }
.bew-tag { font-size: 14px; }
.bew-small { font-size: 14px; }
.bew-link { font-size: 17px; }
.bew-hero__lead { font-size: 22px; }
.bew-quick__title { font-size: 19px; }
.bew-quick__sub { font-size: 16px; }
.bew-badge { font-size: 15px; }
.bew-stat { font-size: 16px; }
.bew-tile__text, .bew-card__text, .bew-post__excerpt { font-size: 17px; }
.bew-tile__title { font-size: 28px; }
.bew-card__title { font-size: 23px; }
.bew-chips a { font-size: 16px; padding: 12px 16px; }
.bew-steps { font-size: 17px; }
.bew-event__meta { font-size: 18px; }
.bew-post__cat { font-size: 14px; }
.bew-post__title { font-size: 22px; }
.bew-post__more { font-size: 16px; }
.bew-newsletter p { font-size: 19px; }

/* 4. Buttons and links with movement */
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link {
	position: relative; display: inline-flex; align-items: center; gap: 10px;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link::after {
	content: "→"; display: inline-block; transition: transform .2s ease;
}
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link:hover,
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link:focus-visible {
	transform: translateY(-3px); box-shadow: 0 10px 22px rgba(11, 29, 58, .28);
}
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link:hover::after { transform: translateX(5px); }
.bew-link a { display: inline-block; transition: transform .2s ease, color .2s ease; }
.bew-link a:hover { transform: translateX(5px); }
.bew-tile, .bew-card, .bew-posts .wp-block-post { transition: transform .25s ease, box-shadow .25s ease; }
.bew-tile:hover, .bew-card:hover, .bew-posts .wp-block-post:hover { transform: translateY(-6px); }
.bew-tile:hover { box-shadow: 0 16px 32px rgba(0, 0, 0, .35); }
.bew-img img { transition: transform .4s ease; }
.bew-card:hover .bew-img img, .bew-tile:hover .bew-img img { transform: scale(1.04); }
.bew-img { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
	.bew-home *, .bew-home *::after { transition: none !important; transform: none !important; }
}

/* 5. Four division slots: 4 across on desktop, 2 on tablet, 1 on phone */
.bew-home .wp-block-columns.bew-cards--4, .wp-block-columns.bew-cards--4 { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.bew-cards--4 .bew-tile .bew-img img { aspect-ratio: 3 / 4; min-height: 0; }
@media (max-width: 1100px) { .bew-home .wp-block-columns.bew-cards--4, .wp-block-columns.bew-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .bew-home .wp-block-columns.bew-cards--4, .wp-block-columns.bew-cards--4 { grid-template-columns: 1fr; } }

/* Editor: wide canvas so sections look like the live page */
.editor-styles-wrapper .bew-section, .editor-styles-wrapper .bew-hero { max-width: none; }

/* ===== v1.3 ===== */

/* A. Standard BEW buttons — 3D, like the "BEW DIRECT" header button */
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link {
	text-transform: uppercase; letter-spacing: .5px; font-size: 16px; padding: 16px 28px;
	border: 1px solid rgba(0, 0, 0, .25) !important;
	box-shadow: 0 4px 0 rgba(0, 0, 0, .35), 0 8px 14px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .35);
	transition: transform .12s ease, box-shadow .12s ease, background-color .2s ease, color .2s ease;
}
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link::after { content: none; }
.is-style-bew-red .wp-block-button__link { background: linear-gradient(#e5343a, #c8181e); color: #fff; }
.is-style-bew-navy .wp-block-button__link { background: linear-gradient(#1b3563, #0b1d3a); color: #fff; }
.is-style-bew-outline-white .wp-block-button__link { background: linear-gradient(#ffffff, #eef1f6); color: var(--bew-navy); border-color: rgba(0, 0, 0, .2) !important; }
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link:hover,
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link:focus-visible {
	transform: translateY(2px);
	box-shadow: 0 2px 0 rgba(0, 0, 0, .35), 0 4px 8px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.is-style-bew-red .wp-block-button__link:hover { background: linear-gradient(#d0242a, #a91318); color: #fff; }
.is-style-bew-navy .wp-block-button__link:hover { background: linear-gradient(#d0242a, #a91318); color: #fff; }
.is-style-bew-outline-white .wp-block-button__link:hover { background: linear-gradient(#e5343a, #c8181e); color: #fff; }
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link:active {
	transform: translateY(4px); box-shadow: 0 0 0 rgba(0, 0, 0, .35), inset 0 2px 4px rgba(0, 0, 0, .25);
}

/* B. Branch buttons — white 3D tiles that change colour on hover */
.bew-chips a {
	background: #fff; color: var(--bew-navy); border: 1px solid var(--bew-rule);
	box-shadow: 0 3px 0 #c3cad6, 0 5px 10px rgba(11, 29, 58, .08);
	transition: transform .12s ease, box-shadow .12s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.bew-chips a:hover, .bew-chips a:focus-visible {
	background: var(--bew-red); color: #fff; border-color: #a91318;
	transform: translateY(2px); box-shadow: 0 1px 0 #8f0f13, 0 2px 6px rgba(11, 29, 58, .12);
}

/* ===== v1.4 — membership logos ===== */
.bew-members .bew-logo-row { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 20px; }
.bew-members .bew-logo-row li { margin: 0; padding: 0; }
.bew-members .bew-logo {
	display: flex; align-items: center; justify-content: center;
	background: #fff; width: 240px; height: 112px; padding: 16px 22px; box-sizing: border-box;
	box-shadow: 0 4px 0 rgba(0, 0, 0, .35), 0 8px 14px rgba(0, 0, 0, .22);
	transition: transform .12s ease, box-shadow .12s ease;
}
.bew-members a.bew-logo:hover, .bew-members a.bew-logo:focus-visible {
	transform: translateY(2px); box-shadow: 0 2px 0 rgba(0, 0, 0, .35), 0 4px 8px rgba(0, 0, 0, .2);
}
.bew-members .bew-logo img { max-width: 100%; max-height: 80px; width: auto; height: auto; object-fit: contain; display: block; }
@media (max-width: 600px) {
	.bew-members .bew-logo-row li { flex: 1 1 calc(50% - 10px); }
	.bew-members .bew-logo { width: 100%; height: 96px; }
}

/* ===== v1.5 — buttons match the BEW DIRECT header button ===== */
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link {
	position: relative; overflow: hidden;
	font: 800 17px/1.1 "Open Sans", Arial, "Liberation Sans", Helvetica, sans-serif;
	text-transform: uppercase; letter-spacing: .3px; color: #fff !important;
	padding: 14px 30px; border: 4px solid #fff !important; border-radius: 0;
	background-color: var(--bew-red) !important;
	background-image:
		linear-gradient(115deg, transparent 62%, rgba(255,255,255,.13) 62%, rgba(255,255,255,.13) 74%, transparent 74%),
		linear-gradient(65deg, transparent 70%, rgba(255,255,255,.10) 70%, rgba(255,255,255,.10) 82%, transparent 82%) !important;
	background-repeat: no-repeat; background-size: 100% 100%;
	box-shadow: 0 2px 3px rgba(0, 0, 0, .35), 0 6px 14px rgba(0, 0, 0, .25);
	transition: background-color .2s ease, transform .15s ease, box-shadow .15s ease;
}
.is-style-bew-navy .wp-block-button__link, .is-style-bew-outline-white .wp-block-button__link { background-color: var(--bew-navy) !important; }
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link:hover,
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link:focus-visible {
	background-color: var(--bew-navy) !important; transform: translateY(-2px);
	box-shadow: 0 4px 6px rgba(0, 0, 0, .35), 0 10px 20px rgba(0, 0, 0, .28);
}
.is-style-bew-navy .wp-block-button__link:hover, .is-style-bew-outline-white .wp-block-button__link:hover,
.is-style-bew-navy .wp-block-button__link:focus-visible { background-color: var(--bew-red) !important; }
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link:active { transform: translateY(1px); box-shadow: 0 1px 2px rgba(0,0,0,.35); }
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link::after { content: none; }

/* ===== v1.6 — single "W" watermark + very soft shadow ===== */
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link {
	padding-right: 64px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 40' preserveAspectRatio='xMaxYMid meet'%3E%3Cpolyline points='3,-4 17,44 32,12 47,44 61,-4' fill='none' stroke='%23000' stroke-opacity='.10' stroke-width='11' transform='translate(1.5 1.5)'/%3E%3Cpolyline points='3,-4 17,44 32,12 47,44 61,-4' fill='none' stroke='%23fff' stroke-opacity='.16' stroke-width='9'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important; background-position: right 6px center !important; background-size: auto 100% !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .22);
}
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link:hover,
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link:focus-visible {
	transform: translateY(-1px); box-shadow: 0 2px 5px rgba(0, 0, 0, .26);
}
/* navy variants (matching specificity so they win) */
.wp-block-button.is-style-bew-navy[class*="is-style-bew-"] .wp-block-button__link,
.wp-block-button.is-style-bew-outline-white[class*="is-style-bew-"] .wp-block-button__link { background-color: var(--bew-navy) !important; }
.wp-block-button.is-style-bew-navy[class*="is-style-bew-"] .wp-block-button__link:hover,
.wp-block-button.is-style-bew-outline-white[class*="is-style-bew-"] .wp-block-button__link:hover { background-color: var(--bew-red) !important; }

/* ===== v1.7 — bold BEW "W" watermark, as on the site's Contact Us button ===== */
.wp-block-button[class*="is-style-bew-"] .wp-block-button__link {
	padding-right: 72px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 50' preserveAspectRatio='xMaxYMid slice'%3E%3Cpolyline points='4%2C-12 29%2C62 50%2C0 71%2C62 96%2C-12' fill='none' stroke='%23fff' stroke-opacity='.16' stroke-width='25' stroke-linejoin='miter' stroke-miterlimit='10'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important; background-position: right center !important;
	background-size: auto 100% !important;
}

/* ===== v1.8 — theme buttons: keep the wrapper neutral so only the theme's .button style shows ===== */
.bew-home .wp-block-button.bew-theme-btn {
	width: auto !important; max-width: none !important; min-height: 0 !important;
	margin: 0 !important; padding: 0 !important; flex: 0 0 auto !important; float: none !important;
	background: none !important; border: 0 !important; box-shadow: none !important; display: inline-block !important;
}
.bew-home .wp-block-buttons { align-items: center; }

/* ===== v1.9 — branch map ===== */
.bew-branch-map { width: 100%; height: 100%; min-height: 520px; background: var(--bew-tint); z-index: 0; }
.bew-pin span { display: block; width: 22px; height: 22px; background: var(--bew-red); border: 3px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 2px 4px rgba(0,0,0,.35); box-sizing: border-box; }
.bew-pin { background: none; border: 0; }
.bew-pop strong { display: block; font: 700 15px/1.3 Arial, sans-serif; color: var(--bew-navy); margin-bottom: 4px; }
.bew-pop a { font: 700 14px/1.3 Arial, sans-serif; color: var(--bew-red); text-decoration: none; }
.leaflet-container .bew-pop a:hover { text-decoration: underline; }
/* v1.9.1 — soft grey map so the red BEW pins stand out */
.bew-branch-map .leaflet-tile-pane { filter: grayscale(1) contrast(.9) brightness(1.06); }
/* v1.9.3 — full-colour map */
.bew-branch-map .leaflet-tile-pane { filter: none; }

/* ===== v2.0 — Gravity Forms newsletter, styled to match the page ===== */
.bew-newsletter .gform_wrapper { margin: 0 !important; max-width: 560px; }
.bew-newsletter .gform_wrapper .gform_heading { display: none !important; }
.bew-newsletter .gform_wrapper .gform_fields { row-gap: 18px !important; column-gap: 16px !important; }
.bew-newsletter .gform_wrapper .gfield_label,
.bew-newsletter .gform_wrapper .gform-field-label,
.bew-newsletter .gform_wrapper legend {
	color: #fff !important; font: 700 15px/1.3 Arial, "Liberation Sans", Helvetica, sans-serif !important;
	letter-spacing: .3px; margin-bottom: 6px !important;
}
.bew-newsletter .gform_wrapper .gfield_required,
.bew-newsletter .gform_wrapper .gfield_required_text { color: #fff !important; opacity: .75; font-weight: 400 !important; font-size: 13px !important; font-style: normal !important; }
.bew-newsletter .gform_wrapper input[type="text"],
.bew-newsletter .gform_wrapper input[type="email"],
.bew-newsletter .gform_wrapper select {
	width: 100% !important; height: 52px !important; padding: 0 14px !important; box-sizing: border-box;
	background-color: #fff !important; color: var(--bew-black) !important;
	border: 0 !important; border-radius: 0 !important; box-shadow: 0 2px 0 rgba(0, 0, 0, .18) !important;
	font: 400 16px/1.2 Arial, "Liberation Sans", Helvetica, sans-serif !important;
}
.bew-newsletter .gform_wrapper input:focus,
.bew-newsletter .gform_wrapper select:focus { outline: 3px solid var(--bew-navy) !important; outline-offset: 0; }
.bew-newsletter .gform_wrapper ::placeholder { color: var(--bew-slate); }
/* consent: white, readable */
.bew-newsletter .gform_wrapper .ginput_container_consent { display: flex; align-items: flex-start; gap: 10px; }
.bew-newsletter .gform_wrapper .ginput_container_consent input[type="checkbox"] {
	width: 20px !important; height: 20px !important; margin: 2px 0 0 !important; flex: 0 0 20px; accent-color: var(--bew-navy);
}
.bew-newsletter .gform_wrapper .ginput_container_consent label,
.bew-newsletter .gform_wrapper .gfield_consent_label {
	color: #fff !important; font: 400 14px/1.5 Arial, "Liberation Sans", Helvetica, sans-serif !important; opacity: 1 !important;
}
.bew-newsletter .gform_wrapper .gfield_consent_label .gfield_required { display: none !important; }
.bew-newsletter .gform_wrapper .gfield_description { color: #fff !important; opacity: .85; font-size: 13px !important; }
/* validation messages: white box so they are readable on red */
.bew-newsletter .gform_wrapper .gfield_validation_message,
.bew-newsletter .gform_wrapper .validation_message,
.bew-newsletter .gform_wrapper .gform_validation_errors {
	background: #fff !important; color: var(--bew-red) !important; border: 0 !important; border-radius: 0 !important;
	box-shadow: none !important; padding: 8px 12px !important; font-size: 14px !important; margin-top: 6px !important;
}
.bew-newsletter .gform_wrapper .gform_validation_errors h2 { color: var(--bew-red) !important; font-size: 14px !important; }
.bew-newsletter .gform_wrapper .gfield_error input, .bew-newsletter .gform_wrapper .gfield_error select { outline: 3px solid #fff !important; }
.bew-newsletter .gform_confirmation_message { color: #fff; font: 700 20px/1.4 Arial, sans-serif; }
/* Subscribe button: BEW button style (navy, white frame, W) */
.bew-newsletter .gform_wrapper .gform_footer { margin: 22px 0 0 !important; padding: 0 !important; }
.bew-newsletter .gform_wrapper .gform_footer input[type="submit"],
.bew-newsletter .gform_wrapper .gform_footer button,
.bew-newsletter .gform_wrapper .gform_button {
	-webkit-appearance: none; appearance: none; cursor: pointer;
	min-width: 200px; height: auto !important; padding: 15px 72px 15px 30px !important;
	font: 800 17px/1.1 "Open Sans", Arial, "Liberation Sans", Helvetica, sans-serif !important;
	text-transform: uppercase; letter-spacing: .3px; color: #fff !important;
	background-color: var(--bew-navy) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 50' preserveAspectRatio='xMaxYMid slice'%3E%3Cpolyline points='4%2C-12 29%2C62 50%2C0 71%2C62 96%2C-12' fill='none' stroke='%23fff' stroke-opacity='.16' stroke-width='25' stroke-linejoin='miter' stroke-miterlimit='10'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important; background-position: right center !important; background-size: auto 100% !important;
	border: 4px solid #fff !important; border-radius: 0 !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .22) !important;
	transition: background-color .2s ease, transform .15s ease, box-shadow .15s ease;
}
.bew-newsletter .gform_wrapper .gform_footer input[type="submit"]:hover,
.bew-newsletter .gform_wrapper .gform_footer button:hover,
.bew-newsletter .gform_wrapper .gform_button:hover {
	background-color: var(--bew-black) !important; transform: translateY(-1px); box-shadow: 0 2px 5px rgba(0, 0, 0, .26) !important;
}
@media (max-width: 640px) {
	.bew-newsletter .gform_wrapper .gform_footer input[type="submit"],
	.bew-newsletter .gform_wrapper .gform_button { width: 100%; }
}
.bew-newsletter .gform_wrapper .gfield_required { margin-left: 6px !important; }

/* ===== v2.1 — newsletter benefits ===== */
.bew-newsletter .bew-benefits { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 14px; }
.bew-newsletter .bew-benefits li {
	position: relative; padding-left: 40px; margin: 0;
	font: 700 18px/1.4 Arial, "Liberation Sans", Helvetica, sans-serif; color: #fff;
}
.bew-newsletter .bew-benefits li::before {
	content: ""; position: absolute; left: 0; top: 0; width: 26px; height: 26px; background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12'/%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%3Ccircle cx='12' cy='12' r='12'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bew-newsletter .bew-benefits li::after {
	content: ""; position: absolute; left: 8px; top: 5px; width: 7px; height: 12px;
	border: solid var(--bew-red); border-width: 0 3px 3px 0; transform: rotate(45deg);
}

/* ===== v2.1.1 — clear the theme's fixed header on pages that don't start with a hero ===== */
.bew-home > :first-child:not(.wp-block-cover):not(.bew-hero) {
	margin-top: var(--bewa-top, 200px) !important;
}
.bew-home > .wp-block-heading:first-child,
.bew-home > p:first-child,
.bew-home > .wp-block-group:first-child:not(.alignfull) {
	padding-left: clamp(24px, 6vw, 80px); padding-right: clamp(24px, 6vw, 80px);
}
