/* =========================================================
   ELECTROBLAU CORE 0.5.1 â€” PAGE BLOCKS
========================================================= */

:root {
	--ebp-navy:#052e57;
	--ebp-navy-2:#083b6d;
	--ebp-blue:#0f5f9c;
	--ebp-cyan:#12b9d9;
	--ebp-text:#16324b;
	--ebp-muted:#6f8190;
	--ebp-border:#dde6ee;
	--ebp-soft:#f5f8fa;
	--ebp-container:1440px;
}

.ebc-page,
.ebc-page *{box-sizing:border-box}

.ebc-page{
	width:100%;
	max-width:none;
	margin:0;
	color:var(--ebp-text);
	background:#fff;
}

.ebc-page-container{
	width:min(calc(100% - 48px),var(--ebp-container));
	margin-inline:auto;
}

.ebc-page-eyebrow{
	display:block;
	margin:0 0 8px;
	color:var(--ebp-blue);
	font-size:10.5px;
	line-height:1;
	font-weight:850;
	letter-spacing:.105em;
	text-transform:uppercase;
}

.ebc-page-hero{
	padding:64px 0;
	border-bottom:1px solid var(--ebp-border);
}

.ebc-page-hero--soft{background:linear-gradient(180deg,#f7f9fb,#f4f7f9)}
.ebc-page-hero--navy{background:linear-gradient(135deg,#052e57,#0a4779);color:#fff}
.ebc-page-hero--navy .ebc-page-eyebrow{color:#9de8f4}

.ebc-page-hero__inner{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:48px;
}

.ebc-page-hero h1{
	max-width:900px;
	margin:0;
	color:var(--ebp-navy);
	font-size:clamp(42px,5.3vw,76px);
	line-height:.98;
	font-weight:850;
	letter-spacing:-.045em;
}

.ebc-page-hero--navy h1{color:#fff}

.ebc-page-hero p{
	max-width:760px;
	margin:18px 0 0;
	color:var(--ebp-muted);
	font-size:16px;
	line-height:1.7;
}

.ebc-page-hero--navy p{color:rgba(255,255,255,.76)}

.ebc-page-hero__stat{
	flex:0 0 auto;
	min-width:130px;
	padding:18px 20px;
	border:1px solid rgba(5,46,87,.1);
	border-radius:14px;
	background:rgba(255,255,255,.7);
	text-align:center;
}

.ebc-page-hero--navy .ebc-page-hero__stat{
	border-color:rgba(255,255,255,.18);
	background:rgba(255,255,255,.08);
}

.ebc-page-hero__stat strong{
	display:block;
	color:var(--ebp-navy);
	font-size:30px;
	line-height:1;
	font-weight:850;
}

.ebc-page-hero--navy .ebc-page-hero__stat strong{color:#fff}

.ebc-page-hero__stat span{
	display:block;
	margin-top:5px;
	color:var(--ebp-muted);
	font-size:10px;
	font-weight:750;
	text-transform:uppercase;
	letter-spacing:.07em;
}

.ebc-page-hero--navy .ebc-page-hero__stat span{color:rgba(255,255,255,.62)}

.ebc-page-section-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:28px;
	margin-bottom:24px;
}

.ebc-page-section-head h2{
	margin:0;
	color:var(--ebp-navy);
	font-size:clamp(28px,3vw,42px);
	line-height:1.06;
	font-weight:820;
	letter-spacing:-.028em;
}

.ebc-page-section-head>a{
	display:inline-flex;
	align-items:center;
	gap:8px;
	color:var(--ebp-navy);
	font-size:12px;
	font-weight:800;
	text-decoration:none;
	white-space:nowrap;
}

.ebc-page-section-head>a span{transition:transform .16s ease}
.ebc-page-section-head>a:hover span{transform:translateX(3px)}

.ebc-page-empty{
	padding:56px 24px;
	border:1px dashed #cfdbe4;
	border-radius:16px;
	background:#f8fafb;
	text-align:center;
}
.ebc-page-empty h2{margin:0 0 8px;color:var(--ebp-navy);font-size:26px}
.ebc-page-empty p{margin:0;color:var(--ebp-muted)}
.ebc-page-empty a{display:inline-flex;margin-top:18px;color:var(--ebp-blue);font-weight:800;text-decoration:none}


/* =========================================================
   PRODUCT COLLECTION PAGES
========================================================= */

.ebc-collection{
	display:grid;
	grid-template-columns:280px minmax(0,1fr);
	gap:32px;
	padding-top:42px;
	padding-bottom:68px;
	align-items:start;
}

.ebc-collection__sidebar{
	position:sticky;
	top:110px;
	z-index:40;
	border:1px solid var(--ebp-border);
	border-radius:16px;
	background:#fff;
	box-shadow:0 12px 34px rgba(5,46,87,.06);
	overflow:hidden;
}

.ebc-filter-panel__head{
	display:none;
	align-items:center;
	justify-content:space-between;
	min-height:56px;
	padding:0 18px;
	border-bottom:1px solid var(--ebp-border);
}
.ebc-filter-panel__head strong{color:var(--ebp-navy);font-size:15px}
.ebc-filter-panel__head button{
	width:36px;height:36px;border:0;border-radius:9px;background:#f3f7f9;color:var(--ebp-navy);font-size:24px;cursor:pointer
}

.ebc-collection-filter{margin:0;padding:18px}
.ebc-filter-group{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--ebp-border)}
.ebc-filter-group:last-of-type{margin-bottom:0}
.ebc-filter-group label,
.ebc-filter-group__title{
	display:block;
	margin:0 0 10px;
	color:var(--ebp-navy);
	font-size: 15px;
	font-weight:800;
}

.ebc-filter-search{
	display:grid;
	grid-template-columns:minmax(0,1fr) 38px;
	min-height:42px;
	border:1px solid var(--ebp-border);
	border-radius:10px;
	overflow:hidden;
	background:#fff;
}
.ebc-filter-search input{
	width:100%;min-width:0;margin:0;padding:0 12px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent;font-size:12px
}
.ebc-filter-search button{
	margin:0;padding:0;border:0;border-left:1px solid var(--ebp-border);background:#f7f9fa;color:var(--ebp-navy);font-weight:800;cursor:pointer
}

.ebc-filter-group select,
.ebc-collection-toolbar select{
	width:100%;
	min-height:42px;
	padding:0 36px 0 12px;
	border:1px solid var(--ebp-border);
	border-radius:10px;
	background:#fff;
	color:var(--ebp-text);
	font-size:12px;
}

.ebc-category-back{
	display:block;
	margin:0 0 11px;
	color:var(--ebp-blue);
	font-size:11px;
	font-weight:750;
	text-decoration:none;
}

.ebc-category-current{
	padding:10px 11px;
	margin:0 0 8px;
	border-radius:9px;
	background:#eef5f8;
}
.ebc-category-current small{display:block;color:var(--ebp-muted);font-size:8.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ebc-category-current strong{display:block;margin-top:3px;color:var(--ebp-navy);font-size:12.5px}

.ebc-category-nav{display:grid;gap:2px}
.ebc-category-nav a{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto auto;
	align-items:center;
	gap:8px;
	min-height:39px;
	padding:6px 8px;
	border-radius:8px;
	color:var(--ebp-text);
	font-size: 14px;
	text-decoration:none;
}
.ebc-category-nav a:hover{background:#f4f7f9}
.ebc-category-nav span{min-width:0}
.ebc-category-nav small{color:#91a1ae;font-size:9px}
.ebc-category-nav b{color:#8fa0ae;font-size:15px;font-weight:500}

.ebc-filter-actions{
	display:grid;
	grid-template-columns:1fr 1.35fr;
	gap:8px;
	margin-top:18px;
}
.ebc-filter-actions a,
.ebc-filter-actions button{
	min-height:42px;
	display:grid;
	place-items:center;
	margin:0;
	border-radius:10px;
	font-size:11px;
	font-weight:800;
	text-decoration:none;
	cursor:pointer;
}
.ebc-filter-actions a{border:1px solid var(--ebp-border);color:var(--ebp-navy);background:#fff}
.ebc-filter-actions button{border:0;background:var(--ebp-navy);color:#fff}

.ebc-filter-toggle{
	display:none;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	width:100%;
	min-height:46px;
	padding:0 14px;
	border:1px solid var(--ebp-border);
	border-radius:11px;
	background:#fff;
	color:var(--ebp-navy);
	font-size:12px;
	font-weight:800;
	cursor:pointer;
}
.ebc-filter-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}

.ebc-filter-backdrop{display:none}

.ebc-collection__main{min-width:0}

.ebc-collection-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	min-height:54px;
	margin-bottom:20px;
	padding-bottom:14px;
	border-bottom:1px solid var(--ebp-border);
}
.ebc-collection-toolbar>div{display:flex;align-items:center;gap:10px;min-width:0}
.ebc-collection-toolbar strong{color:var(--ebp-navy);font-size:12px}
.ebc-collection-toolbar span{color:var(--ebp-muted);font-size:11px}
.ebc-collection-toolbar form{flex:0 0 210px;margin:0}

.ebc-product-page-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:16px;
}

.ebc-page--cols-3 .ebc-product-page-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ebc-page--cols-5 .ebc-product-page-grid{grid-template-columns:repeat(5,minmax(0,1fr))}

/* Rich grid product card */
.ebc-product-card--grid{
	position:relative;
	min-width:0;
	border:1px solid var(--ebp-border);
	border-radius:15px;
	background:#fff;
	box-shadow:0 8px 24px rgba(5,46,87,.04);
	overflow:hidden;
	transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ebc-product-card--grid:hover{transform:translateY(-3px);border-color:#cbd8e1;box-shadow:0 16px 32px rgba(5,46,87,.09)}
.ebc-product-card--grid .ebc-product-card__image{
	position:relative;
	display:block;
	aspect-ratio:1/1;
	padding:15px;
	background:linear-gradient(180deg,#fbfcfd,#f6f8fa);
	overflow:hidden;
}
.ebc-product-card--grid .ebc-product-card__image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s ease}
.ebc-product-card--grid:hover .ebc-product-card__image img{transform:scale(1.035)}
.ebc-product-card--grid .ebc-product-card__sale{position:absolute;top:10px;left:10px;z-index:3;padding:5px 7px;border-radius:6px;background:var(--ebp-navy);color:#fff;font-size:8.5px;font-weight:850}
.ebc-product-card--grid .ebc-product-card__quick{
	position:absolute;top:10px;right:10px;z-index:4;width:34px;height:34px;display:grid;place-items:center;margin:0;padding:0;border:1px solid rgba(5,46,87,.1);border-radius:50%;background:rgba(255,255,255,.95);color:var(--ebp-navy);opacity:0;transform:translateY(3px);cursor:pointer;transition:.16s ease
}
.ebc-product-card--grid:hover .ebc-product-card__quick,
.ebc-product-card--grid .ebc-product-card__quick:focus-visible{opacity:1;transform:none}
.ebc-product-card--grid .ebc-product-card__quick svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
.ebc-product-card--grid .ebc-product-card__body{display:flex;flex-direction:column;min-height:166px;padding:14px}
.ebc-product-card--grid .ebc-product-card__brand{display:block;min-height:13px;margin-bottom:5px;color:var(--ebp-blue);font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ebc-product-card--grid .ebc-product-card__title{display:-webkit-box;min-height:38px;margin:0 0 7px;color:var(--ebp-text);font-size:12.5px;line-height:1.42;font-weight:720;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ebc-product-card--grid .ebc-product-card__title a{color:inherit;text-decoration:none}
.ebc-product-card--grid .ebc-product-card__rating{min-height:13px;margin:0 0 7px}
.ebc-product-card--grid .star-rating{font-size:9px}
.ebc-product-card--grid .ebc-product-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:auto}
.ebc-product-card--grid .ebc-product-card__price{color:var(--ebp-navy);font-size:14px;font-weight:850}
.ebc-product-card--grid .ebc-product-card__price del{color:#99a7b2;font-size:9px;font-weight:500}
.ebc-product-card--grid .ebc-product-card__price ins{text-decoration:none}
.ebc-product-card--grid .ebc-product-card__add{flex:0 0 38px!important;width:38px!important;height:38px!important;min-height:38px!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:10px!important;background:var(--ebp-navy)!important;color:#fff!important;text-decoration:none!important;overflow:hidden}
.ebc-product-card--grid .ebc-product-card__add span{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);overflow:hidden}
.ebc-product-card--grid .ebc-product-card__add svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
.ebc-product-card--grid .ebc-product-card__add:hover{background:var(--ebp-blue)!important}

.ebc-page-pagination{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:6px;
	margin-top:34px;
}
.ebc-page-pagination .page-numbers{
	min-width:38px;height:38px;display:grid;place-items:center;padding:0 8px;border:1px solid var(--ebp-border);border-radius:9px;background:#fff;color:var(--ebp-navy);font-size:11px;font-weight:750;text-decoration:none
}
.ebc-page-pagination .page-numbers.current{border-color:var(--ebp-navy);background:var(--ebp-navy);color:#fff}


/* =========================================================
   PRODUCTS LANDING
========================================================= */

.ebc-products-landing__hero{padding-bottom:52px}
.ebc-products-landing__hero-grid{
	display:grid;
	grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);
	align-items:end;
	gap:60px;
}
.ebc-products-landing__hero-grid h1{
	margin:0;color:#fff;font-size:clamp(48px,6vw,82px);line-height:.98;font-weight:850;letter-spacing:-.045em
}
.ebc-products-landing__hero-grid p{
	max-width:720px;margin:18px 0 0;color:rgba(255,255,255,.74);font-size:16px;line-height:1.7
}
.ebc-products-landing__search{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	min-height:58px;
	border:1px solid rgba(255,255,255,.22);
	border-radius:14px;
	background:rgba(255,255,255,.10);
	backdrop-filter:blur(10px);
	overflow:hidden;
}
.ebc-products-landing__search input{
	min-width:0;margin:0;padding:0 18px;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;box-shadow:none!important;font-size:13px
}
.ebc-products-landing__search input::placeholder{color:rgba(255,255,255,.58)}
.ebc-products-landing__search button{
	margin:7px;padding:0 18px;border:0;border-radius:10px;background:#fff;color:var(--ebp-navy);font-size:11.5px;font-weight:850;cursor:pointer
}
.ebc-products-landing__search button span{margin-left:8px}
.ebc-products-landing__browse{padding-top:48px;padding-bottom:48px}
.ebc-products-landing__categories{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:12px;
}
.ebc-products-category-card{
	display:grid;
	grid-template-columns:70px minmax(0,1fr) auto;
	align-items:center;
	gap:13px;
	min-height:88px;
	padding:9px 13px 9px 9px;
	border:1px solid var(--ebp-border);
	border-radius:13px;
	background:#fff;
	color:var(--ebp-text);
	text-decoration:none;
	transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease
}
.ebc-products-category-card:hover{transform:translateY(-2px);border-color:#cbd9e2;box-shadow:0 10px 26px rgba(5,46,87,.07)}
.ebc-products-category-card__image{width:70px;height:70px;border-radius:10px;background:#f6f8fa;overflow:hidden}
.ebc-products-category-card__image img{width:100%;height:100%;object-fit:cover}
.ebc-products-category-card h3{margin:0 0 4px;color:var(--ebp-navy);font-size:12.5px;line-height:1.25}
.ebc-products-category-card span{color:var(--ebp-muted);font-size:9.5px}
.ebc-products-category-card b{color:#8fa1ae;font-size:17px;font-weight:500}



/* =========================================================
   PRODUCTS LANDING â€” 0.5.1 THEME / FULL-WIDTH HARDENING
========================================================= */

/*
 * Blocksy can constrain the Shop page content column even when a Gutenberg
 * block supports alignfull. Break only the Products landing out to viewport
 * width and keep its real content constrained by .ebc-page-container.
 */
body.ebc-products-page-active{overflow-x:clip}
body.ebc-products-page-active .ebc-shop-page-content{width:100%;max-width:none;margin:0;padding:0}
body.ebc-products-page-active .ebc-products-landing{
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw)!important;
	margin-right:calc(50% - 50vw)!important;
}

/* Blocksy's page-title hero duplicates the block's own semantic H1. */
body.ebc-products-page-active .hero-section,
body.ebc-products-page-active .woocommerce-products-header{display:none!important}

.ebc-products-landing__hero{
	padding-top:58px;
	padding-bottom:66px;
}

.ebc-products-landing__breadcrumb{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	margin:0 0 34px;
	color:rgba(255,255,255,.58);
	font-size:10px;
	line-height:1.2;
	font-weight:760;
	letter-spacing:.045em;
	text-transform:uppercase;
}
.ebc-products-landing__breadcrumb a{color:rgba(255,255,255,.68);text-decoration:none}
.ebc-products-landing__breadcrumb a:hover{color:#fff}
.ebc-products-landing__breadcrumb span{color:rgba(255,255,255,.34)}

.ebc-products-landing__hero-grid{
	grid-template-columns:minmax(0,1fr) minmax(430px,560px);
	align-items:center;
	gap:72px;
}

.ebc-products-landing__hero-grid>div{min-width:0}

.ebc-products-landing__hero-grid h1{
	max-width:none;
	white-space:nowrap;
	word-break:normal!important;
	overflow-wrap:normal!important;
	hyphens:none!important;
}

/* Resist theme-level form rules. */
.ebc-products-landing__search{
	display:flex!important;
	align-items:center!important;
	width:100%!important;
	min-width:0!important;
	min-height:66px;
	padding:7px!important;
	margin:0!important;
	border:1px solid rgba(255,255,255,.24)!important;
	border-radius:15px!important;
	background:rgba(255,255,255,.10)!important;
	box-shadow:0 18px 54px rgba(0,18,38,.14);
	overflow:hidden;
}

.ebc-products-landing__search input[type="search"]{
	dis:block!important;
	flex:1 1 auto!important;
	width:auto!important;
	min-width:0!important;
	height:50px!important;
	min-height:50px!important;
	margin:0!important;
	padding:0 17px!important;
	border:0!important;
	border-radius:0!important;
	outline:0!important;
	background:transparent!important;
	color:#fff!important;
	box-shadow:none!important;
	font-size:13px!important;
	line-height:50px!important;
}

.ebc-products-landing__search button[type="submit"]{
	flex:0 0 auto!important;
	width:auto!important;
	min-width:118px!important;
	height:50px!important;
	min-height:50px!important;
	margin:0!important;
	padding:0 20px!important;
	border:0!important;
	border-radius:10px!important;
	background:#fff!important;
	color:var(--ebp-navy)!important;
	box-shadow:none!important;
	font-size:11.5px!important;
	line-height:1!important;
	font-weight:850!important;
	white-space:nowrap;
}

.ebc-products-landing__browse{
	padding-top:56px;
	padding-bottom:64px;
}

/* =========================================================
   DIRECTORY TOOLS
========================================================= */

.ebc-directory-tools{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	padding:34px 0 26px;
}
.ebc-directory-tools--single{justify-content:flex-start}
.ebc-directory-search{
	width:min(100%,420px);
	min-height:46px;
	display:grid;
	grid-template-columns:42px minmax(0,1fr);
	align-items:center;
	border:1px solid var(--ebp-border);
	border-radius:11px;
	background:#fff;
	overflow:hidden;
}
.ebc-directory-search svg{width:18px;height:18px;justify-self:center;fill:none;stroke:var(--ebp-muted);stroke-width:1.7}
.ebc-directory-search input{
	width:100%;min-width:0;height:44px;margin:0;padding:0 12px 0 0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent;font-size:12px
}
.ebc-directory-az{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px}
.ebc-directory-az button{
	min-width:30px;height:30px;padding:0 7px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ebp-muted);font-size:10px;font-weight:800;cursor:pointer
}
.ebc-directory-az button:hover,.ebc-directory-az button.is-active{border-color:var(--ebp-border);background:#f3f7f9;color:var(--ebp-navy)}
.ebc-directory-no-results{padding:28px;border:1px dashed var(--ebp-border);border-radius:12px;color:var(--ebp-muted);text-align:center}


/* =========================================================
   BRANDS PAGE
========================================================= */

.ebc-brands-page__body{padding-bottom:70px}
.ebc-brand-featured{padding:20px 0 48px;border-bottom:1px solid var(--ebp-border)}
.ebc-brand-featured__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ebc-brand-featured-card{
	display:grid;
	grid-template-columns:96px minmax(0,1fr) auto;
	align-items:center;
	gap:14px;
	min-height:112px;
	padding:9px 15px 9px 9px;
	border:1px solid var(--ebp-border);
	border-radius:14px;
	background:#fff;
	color:var(--ebp-text);
	text-decoration:none;
	transition:.16s ease
}
.ebc-brand-featured-card:hover{transform:translateY(-2px);border-color:#cbd9e2;box-shadow:0 12px 28px rgba(5,46,87,.07)}
.ebc-brand-featured-card__logo{height:92px;display:grid;place-items:center;padding:12px;border-radius:10px;background:#f6f8fa;overflow:hidden;text-align:center}
.ebc-brand-featured-card__logo img{max-width:100%;max-height:100%;object-fit:contain}
.ebc-brand-featured-card__logo strong{color:var(--ebp-navy);font-size:13px;line-height:1.2}
.ebc-brand-featured-card h3{margin:0 0 4px;color:var(--ebp-navy);font-size:13px}
.ebc-brand-featured-card span{color:var(--ebp-muted);font-size:10px}
.ebc-brand-featured-card b{color:#8fa1ae;font-size:18px;font-weight:500}
.ebc-brand-directory{padding:48px 0 0}
.ebc-brand-directory__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ebc-brand-directory-card{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto auto;
	align-items:center;
	gap:10px;
	min-height:46px;
	padding:0 12px;
	border:1px solid var(--ebp-border);
	border-radius:9px;
	background:#fff;
	color:var(--ebp-text);
	font-size:11.5px;
	font-weight:700;
	text-decoration:none
}
.ebc-brand-directory-card:hover{background:#f7f9fa}
.ebc-brand-directory-card small{color:#95a4af;font-size:9px}
.ebc-brand-directory-card b{color:#95a4af;font-size:15px;font-weight:500}


/* =========================================================
   CATEGORIES PAGE
========================================================= */

.ebc-categories-page__body{padding-bottom:72px}
.ebc-category-showcase{padding:16px 0 52px;border-bottom:1px solid var(--ebp-border)}
.ebc-category-showcase__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.ebc-category-showcase-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--ebp-border);border-radius:15px;background:#fff;overflow:hidden}
.ebc-category-showcase-card__media{position:relative;display:block;aspect-ratio:16/8.2;background:#f4f7f9;color:#fff;text-decoration:none;overflow:hidden}
.ebc-category-showcase-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(5,46,87,.78))}
.ebc-category-showcase-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.ebc-category-showcase-card:hover .ebc-category-showcase-card__media img{transform:scale(1.035)}
.ebc-category-showcase-card__media>div{position:absolute;z-index:2;left:18px;right:18px;bottom:16px}
.ebc-category-showcase-card__media h3{margin:0 0 4px;color:#fff;font-size:20px;line-height:1.08;font-weight:820}
.ebc-category-showcase-card__media span{color:rgba(255,255,255,.72);font-size:9.5px}
.ebc-category-showcase-card__children{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:10px;background:var(--ebp-border)}
.ebc-category-showcase-card__children a{
	display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:0 9px;background:#fff;color:var(--ebp-text);font-size:10.5px;font-weight:650;text-decoration:none
}
.ebc-category-showcase-card__children b{color:#9aa9b4;font-weight:500}
.ebc-category-showcase-card__all{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:13px 16px;color:var(--ebp-navy);font-size:11px;font-weight:800;text-decoration:none}
.ebc-category-directory{padding-top:48px}
.ebc-category-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ebc-category-directory-group{padding:18px;border:1px solid var(--ebp-border);border-radius:13px;background:#fff}
.ebc-category-directory-group__title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px;color:var(--ebp-navy);font-size:13px;font-weight:800;text-decoration:none}
.ebc-category-directory-group__title b{color:#94a4b0;font-size:16px;font-weight:500}
.ebc-category-tree{margin:0;padding:0;list-style:none}
.ebc-category-tree ul{margin-top:2px}
.ebc-category-tree li{margin:0;padding:0}
.ebc-category-tree a{
	display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:30px;color:var(--ebp-muted);font-size:10.5px;text-decoration:none
}
.ebc-category-tree a:hover{color:var(--ebp-navy)}
.ebc-category-tree small{color:#a0adb6;font-size:8.5px}
.ebc-category-tree--depth-1{padding-left:13px;border-left:1px solid #e8edf1}
.ebc-category-tree--depth-2,
.ebc-category-tree--depth-3,
.ebc-category-tree--depth-4{padding-left:11px}


/* =========================================================
   BLOG / EDITORIAL
========================================================= */

.ebc-editorial-search{
	width:min(100%,390px);
	display:grid;
	grid-template-columns:minmax(0,1fr) 44px;
	min-height:48px;
	border:1px solid var(--ebp-border);
	border-radius:11px;
	background:#fff;
	overflow:hidden;
}
.ebc-editorial-search input{min-width:0;margin:0;padding:0 14px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent;font-size:12px}
.ebc-editorial-search button{margin:0;border:0;border-left:1px solid var(--ebp-border);background:#f7f9fa;color:var(--ebp-navy);font-weight:800;cursor:pointer}
.ebc-editorial-search--dark{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08)}
.ebc-editorial-search--dark input{color:#fff!important}
.ebc-editorial-search--dark input::placeholder{color:rgba(255,255,255,.55)}
.ebc-editorial-search--dark button{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff}

.ebc-blog-page__body,
.ebc-inspiration-page__body{padding-top:34px;padding-bottom:72px}
.ebc-editorial-categories{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:28px}
.ebc-editorial-categories a{
	display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--ebp-border);border-radius:20px;background:#fff;color:var(--ebp-muted);font-size:10.5px;font-weight:750;text-decoration:none
}
.ebc-editorial-categories a:hover,.ebc-editorial-categories a.is-active{border-color:var(--ebp-navy);background:var(--ebp-navy);color:#fff}

.ebc-blog-featured{
	display:grid;
	grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
	min-height:430px;
	margin-bottom:28px;
	border:1px solid var(--ebp-border);
	border-radius:17px;
	background:#fff;
	overflow:hidden;
}
.ebc-blog-featured__image{display:block;min-height:430px;background:#f3f6f8}
.ebc-blog-featured__image img{width:100%;height:100%;object-fit:cover}
.ebc-blog-featured__content{display:flex;flex-direction:column;justify-content:center;padding:42px}
.ebc-blog-featured__content h2{margin:0;color:var(--ebp-navy);font-size:clamp(30px,3.2vw,46px);line-height:1.04;font-weight:830;letter-spacing:-.03em}
.ebc-blog-featured__content h2 a{color:inherit;text-decoration:none}
.ebc-blog-featured__content p{margin:16px 0 0;color:var(--ebp-muted);font-size:13px;line-height:1.7}
.ebc-blog-featured__meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;padding-top:18px;border-top:1px solid var(--ebp-border)}
.ebc-blog-featured__meta time{color:#8d9ca7;font-size:9.5px}
.ebc-blog-featured__meta a{display:inline-flex;gap:7px;color:var(--ebp-navy);font-size:11px;font-weight:800;text-decoration:none}

.ebc-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ebc-editorial-card{min-width:0;border:1px solid var(--ebp-border);border-radius:14px;background:#fff;overflow:hidden}
.ebc-editorial-card__image{display:block;aspect-ratio:16/10;background:#f4f7f9;overflow:hidden}
.ebc-editorial-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.ebc-editorial-card:hover .ebc-editorial-card__image img{transform:scale(1.03)}
.ebc-editorial-card__body{padding:18px}
.ebc-editorial-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.ebc-editorial-card__meta span{color:var(--ebp-blue);font-size:8.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.ebc-editorial-card__meta time{color:#94a2ad;font-size:8.5px}
.ebc-editorial-card h2{display:-webkit-box;margin:0;color:var(--ebp-navy);font-size:18px;line-height:1.2;font-weight:800;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ebc-editorial-card h2 a{color:inherit;text-decoration:none}
.ebc-editorial-card p{display:-webkit-box;margin:10px 0 0;color:var(--ebp-muted);font-size:11.5px;line-height:1.6;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ebc-editorial-card__read{display:inline-flex;gap:7px;margin-top:16px;color:var(--ebp-navy);font-size:10.5px;font-weight:800;text-decoration:none}

.ebc-inspiration-lead{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);
	min-height:500px;
	margin-bottom:20px;
	border-radius:18px;
	background:var(--ebp-navy);
	overflow:hidden;
}
.ebc-inspiration-lead__image{display:block;min-height:500px;overflow:hidden}
.ebc-inspiration-lead__image img{width:100%;height:100%;object-fit:cover}
.ebc-inspiration-lead__content{display:flex;flex-direction:column;justify-content:center;padding:42px;color:#fff}
.ebc-inspiration-lead__content .ebc-page-eyebrow{color:#9ce7f4}
.ebc-inspiration-lead__content h2{margin:0;color:#fff;font-size:clamp(32px,4vw,52px);line-height:1.03;font-weight:840;letter-spacing:-.035em}
.ebc-inspiration-lead__content h2 a{color:inherit;text-decoration:none}
.ebc-inspiration-lead__content p{margin:17px 0 0;color:rgba(255,255,255,.73);font-size:13px;line-height:1.7}
.ebc-inspiration-lead__content>a{display:inline-flex;align-items:center;gap:8px;margin-top:25px;color:#fff;font-size:11.5px;font-weight:800;text-decoration:none}
.ebc-editorial-grid--inspiration{grid-template-columns:repeat(12,minmax(0,1fr))}
.ebc-editorial-grid--inspiration .ebc-editorial-card{grid-column:span 4}
.ebc-editorial-grid--inspiration .ebc-editorial-card:nth-child(5n+1),
.ebc-editorial-grid--inspiration .ebc-editorial-card:nth-child(5n+4){grid-column:span 6}
.ebc-editorial-grid--inspiration .ebc-editorial-card:nth-child(5n+1) .ebc-editorial-card__image,
.ebc-editorial-grid--inspiration .ebc-editorial-card:nth-child(5n+4) .ebc-editorial-card__image{aspect-ratio:16/8.5}


/* =========================================================
   FAQ
========================================================= */

.ebc-faq-search{
	width:min(100%,390px);
	display:grid;
	grid-template-columns:42px minmax(0,1fr);
	min-height:48px;
	border:1px solid var(--ebp-border);
	border-radius:11px;
	background:#fff;
	overflow:hidden;
}
.ebc-faq-search svg{width:18px;height:18px;justify-self:center;fill:none;stroke:var(--ebp-muted);stroke-width:1.7}
.ebc-faq-search input{min-width:0;margin:0;padding:0 13px 0 0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent;font-size:12px}
.ebc-faq-page__body{padding-top:32px;padding-bottom:72px}
.ebc-faq-categories{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:26px}
.ebc-faq-categories button{
	min-height:34px;padding:0 12px;border:1px solid var(--ebp-border);border-radius:18px;background:#fff;color:var(--ebp-muted);font-size:10.5px;font-weight:750;cursor:pointer
}
.ebc-faq-categories button:hover,.ebc-faq-categories button.is-active{border-color:var(--ebp-navy);background:var(--ebp-navy);color:#fff}
.ebc-faq-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;align-items:start}
.ebc-faq-list{display:grid;gap:8px}
.ebc-faq-item{border:1px solid var(--ebp-border);border-radius:12px;background:#fff;overflow:hidden}
.ebc-faq-item__question{
	width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:74px;margin:0;padding:15px 18px;border:0;background:#fff;color:var(--ebp-text);text-align:left;cursor:pointer
}
.ebc-faq-item__question span{min-width:0}
.ebc-faq-item__question small{display:block;margin-bottom:5px;color:var(--ebp-blue);font-size:8.5px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}
.ebc-faq-item__question strong{display:block;color:var(--ebp-navy);font-size:13.5px;line-height:1.35}
.ebc-faq-item__question b{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f3f7f9;color:var(--ebp-navy);font-size:20px;font-weight:400;transition:transform .18s ease}
.ebc-faq-item.is-open .ebc-faq-item__question b{transform:rotate(45deg)}
.ebc-faq-item__answer{padding:0 18px 18px}
.ebc-faq-item__answer p{margin:0;padding-top:14px;border-top:1px solid var(--ebp-border);color:var(--ebp-muted);font-size:12px;line-height:1.7}
.ebc-faq-contact{
	position:sticky;
	top:110px;
	padding:24px;
	border-radius:15px;
	background:linear-gradient(135deg,#052e57,#0a4779);
	color:#fff
}
.ebc-faq-contact .ebc-page-eyebrow{color:#9ce7f4}
.ebc-faq-contact h2{margin:0;color:#fff;font-size:27px;line-height:1.08}
.ebc-faq-contact p{margin:13px 0 0;color:rgba(255,255,255,.74);font-size:12px;line-height:1.65}
.ebc-faq-contact a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;margin-top:20px;padding:0 14px;border-radius:9px;background:#fff;color:var(--ebp-navy);font-size:11px;font-weight:850;text-decoration:none}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1200px){
	.ebc-product-page-grid,
	.ebc-page--cols-5 .ebc-product-page-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.ebc-products-landing__categories{grid-template-columns:repeat(3,minmax(0,1fr))}
	.ebc-brand-featured__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.ebc-brand-directory__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:980px){
	.ebc-page-hero{padding:52px 0}
	.ebc-page-hero__inner{align-items:flex-start}
	.ebc-collection{grid-template-columns:1fr;gap:18px;padding-top:24px}
	.ebc-filter-toggle{display:flex}
	.ebc-collection__sidebar{
		position:fixed;
		top:0;
		left:0;
		z-index:2200;
		width:min(88vw,380px);
		height:100vh;
		height:100dvh;
		border:0;
		border-radius:0;
		transform:translateX(-105%);
		transition:transform .22s ease;
		overflow-y:auto;
	}
	.ebc-collection__sidebar.is-open{transform:none}
	.ebc-filter-panel__head{display:flex}
	.ebc-filter-backdrop{
		position:fixed;inset:0;z-index:2190;display:block;background:rgba(5,25,45,.42);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease
	}
	.ebc-filter-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
	body.ebc-page-filter-open{overflow:hidden}
	.ebc-product-page-grid,.ebc-page--cols-3 .ebc-product-page-grid,.ebc-page--cols-5 .ebc-product-page-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.ebc-products-landing__hero-grid{grid-template-columns:1fr;gap:28px}
	.ebc-products-landing__search{max-width:650px}
	.ebc-products-landing__breadcrumb{margin-bottom:26px}
	.ebc-category-showcase__grid,.ebc-category-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ebc-blog-featured,.ebc-inspiration-lead{grid-template-columns:1fr}
	.ebc-blog-featured__image{min-height:360px}
	.ebc-inspiration-lead__image{min-height:390px}
	.ebc-faq-layout{grid-template-columns:1fr}
	.ebc-faq-contact{position:static}
}

@media(max-width:767px){
	.ebc-page-container{width:min(calc(100% - 28px),var(--ebp-container))}
	.ebc-page-hero{padding:42px 0}
	.ebc-page-hero__inner{display:block}
	.ebc-page-hero__stat{display:inline-block;min-width:0;margin-top:22px;padding:13px 15px;text-align:left}
	.ebc-page-hero__stat strong{font-size:24px}
	.ebc-page-hero h1{font-size:clamp(39px,12vw,58px)}
	.ebc-page-hero p{font-size:14px}
	.ebc-page-section-head{display:block;margin-bottom:18px}
	.ebc-page-section-head>a{margin-top:12px}
	.ebc-collection-toolbar{align-items:flex-start}
	.ebc-collection-toolbar>div{display:block}
	.ebc-collection-toolbar span{display:block;margin-top:3px}
	.ebc-collection-toolbar form{flex-basis:160px}
	.ebc-product-page-grid,.ebc-page--cols-3 .ebc-product-page-grid,.ebc-page--cols-5 .ebc-product-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
	.ebc-product-card--grid .ebc-product-card__body{min-height:150px;padding:11px}
	.ebc-product-card--grid .ebc-product-card__quick{opacity:1;transform:none}
	.ebc-products-landing__hero{padding-top:38px;padding-bottom:46px}
	.ebc-products-landing__hero-grid h1{white-space:normal;font-size:clamp(42px,13vw,64px)}
	.ebc-products-landing__search{min-height:58px;padding:6px!important}
	.ebc-products-landing__search input[type="search"]{height:46px!important;min-height:46px!important;line-height:46px!important;padding-inline:12px!important}
	.ebc-products-landing__search button[type="submit"]{height:46px!important;min-height:46px!important;min-width:102px!important;padding-inline:14px!important}
	.ebc-products-landing__categories{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ebc-products-category-card{grid-template-columns:58px minmax(0,1fr) auto;min-height:76px;padding:7px 10px 7px 7px}
	.ebc-products-category-card__image{width:58px;height:58px}
	.ebc-directory-tools{display:block;padding-top:24px}
	.ebc-directory-search{width:100%}
	.ebc-directory-az{justify-content:flex-start;margin-top:12px}
	.ebc-brand-featured__grid,.ebc-brand-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ebc-category-showcase__grid,.ebc-category-directory__grid{grid-template-columns:1fr}
	.ebc-editorial-search,.ebc-faq-search{width:100%;margin-top:22px}
	.ebc-blog-page__body,.ebc-inspiration-page__body,.ebc-faq-page__body{padding-top:24px;padding-bottom:52px}
	.ebc-blog-featured__content,.ebc-inspiration-lead__content{padding:24px}
	.ebc-editorial-grid{grid-template-columns:1fr 1fr;gap:10px}
	.ebc-editorial-grid--inspiration{grid-template-columns:1fr 1fr}
	.ebc-editorial-grid--inspiration .ebc-editorial-card,
	.ebc-editorial-grid--inspiration .ebc-editorial-card:nth-child(5n+1),
	.ebc-editorial-grid--inspiration .ebc-editorial-card:nth-child(5n+4){grid-column:auto}
	.ebc-faq-categories{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none}
	.ebc-faq-categories::-webkit-scrollbar{display:none}
	.ebc-faq-categories button{flex:0 0 auto}
}

@media(max-width:560px){
	.ebc-products-landing__search{display:grid!important;grid-template-columns:1fr!important;gap:6px;padding:6px!important;background:rgba(255,255,255,.09)!important}
	.ebc-products-landing__search input[type="search"]{width:100%!important;padding-inline:12px!important}
	.ebc-products-landing__search button[type="submit"]{width:100%!important}
}

@media(max-width:480px){
	.ebc-product-page-grid,.ebc-page--cols-3 .ebc-product-page-grid,.ebc-page--cols-5 .ebc-product-page-grid{grid-template-columns:1fr 1fr}
	.ebc-product-card--grid .ebc-product-card__image{padding:9px}
	.ebc-product-card--grid .ebc-product-card__title{font-size:11.5px}
	.ebc-product-card--grid .ebc-product-card__price{font-size:12.5px}
	.ebc-product-card--grid .ebc-product-card__add{width:34px!important;height:34px!important;min-height:34px!important;flex-basis:34px!important}
	.ebc-products-landing__categories{grid-template-columns:1fr}
	.ebc-brand-featured__grid,.ebc-brand-directory__grid{grid-template-columns:1fr}
	.ebc-editorial-grid,.ebc-editorial-grid--inspiration{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
	.ebc-product-card--grid,
	.ebc-product-card--grid .ebc-product-card__image img,
	.ebc-products-category-card,
	.ebc-brand-featured-card,
	.ebc-category-showcase-card__media img,
	.ebc-editorial-card__image img,
	.ebc-collection__sidebar,
	.ebc-filter-backdrop,
	.ebc-faq-item__question b{transition:none!important}
}

/* =========================================================
   PAGE SYSTEM
========================================================= */

/* Page-level blocks are intentionally full-bleed even inside a theme's
   constrained Gutenberg content column. Content stays inside 1440px. */
.ebc-page{
	position:relative;
	left:50%;
	width:100vw;
	max-width:100vw!important;
	margin-left:-50vw!important;
	margin-right:-50vw!important;
}

/* Hide theme/page titles only on pages that contain an Electroblau page block. */
body.ebc-page-block-active .hero-section,
body.ebc-page-block-active .ct-page-title,
body.ebc-page-block-active .entry-header > .page-title,
body.ebc-page-block-active .entry-header > h1.entry-title,
body.ebc-page-block-active main > .page-header{
	display:none!important;
}

/* When Products Page owns the WooCommerce Shop page, its custom catalogue is
   authoritative. Suppress the native archive output that would otherwise be
   duplicated underneath it. */
body.ebc-products-page-active .woocommerce-result-count,
body.ebc-products-page-active .woocommerce-ordering,
body.ebc-products-page-active ul.products,
body.ebc-products-page-active nav.woocommerce-pagination,
body.ebc-products-page-active .woocommerce-no-products-found{
	display:none!important;
}

/* A single consistent page hero language across all utility/catalogue pages. */
.ebc-page-hero{
	width:100%;
	border-bottom:0;
}
.ebc-page-hero--navy{
	background:linear-gradient(115deg,#052e57 0%,#073a68 58%,#0a4c7c 100%);
}
.ebc-page-hero__inner{min-height:190px}

/* Products discovery sits between the hero and the faceted catalogue. */
.ebc-products-discovery{padding-top:44px;padding-bottom:12px}
.ebc-products-discovery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ebc-products-discovery-card{
	display:grid;
	grid-template-columns:76px minmax(0,1fr) 28px;
	align-items:center;
	gap:13px;
	min-height:94px;
	padding:8px 12px 8px 8px;
	border:1px solid var(--ebp-border);
	border-radius:14px;
	background:#fff;
	color:var(--ebp-text);
	text-decoration:none;
	box-shadow:0 8px 26px rgba(5,46,87,.035);
	transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ebc-products-discovery-card:hover{transform:translateY(-2px);border-color:#c9d9e5;box-shadow:0 13px 30px rgba(5,46,87,.075)}
.ebc-products-discovery-card__image{display:block;width:76px;height:76px;border-radius:10px;overflow:hidden;background:#f3f6f8}
.ebc-products-discovery-card__image img{display:block;width:100%;height:100%;object-fit:cover}
.ebc-products-discovery-card strong{display:block;color:var(--ebp-navy);font-size: 15px;line-height:1.25}
.ebc-products-discovery-card small{display:block;margin-top:5px;color:var(--ebp-muted);font-size:9.5px}
.ebc-products-discovery-card>b{justify-self:end;color:#89a0b1;font-size:18px}

/* Unified sidebar facets for Products / Best sellers / New arrivals. */
.ebc-filter-options{display:grid;gap:7px}
.ebc-page-filter-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:30px;cursor:pointer}
.ebc-page-filter-option input{position:absolute;opacity:0;pointer-events:none}
.ebc-page-filter-option>span{width:17px;height:17px;border:1px solid #cbd9e3;border-radius:4px;background:#fff;position:relative}
.ebc-page-filter-option input:checked+span{border-color:var(--ebp-navy);background:var(--ebp-navy)}
.ebc-page-filter-option input:checked+span:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ebc-page-filter-option b{min-width:0;color:var(--ebp-text);font-size:11px;font-weight:650;line-height:1.3}
.ebc-page-filter-option small{color:#91a1ae;font-size:9px}
.ebc-page-price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ebc-page-price-inputs label span{display:block;margin-bottom:5px;color:var(--ebp-muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.ebc-page-price-inputs input{width:100%;height:39px!important;margin:0!important;padding:0 9px!important;border:1px solid var(--ebp-border)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;font-size:11px!important}

/* Search needs a deterministic hidden/display state regardless of theme CSS. */
.ebc-categories-page [hidden],
.ebc-brands-page [hidden],
.ebc-faq-page [hidden]{display:none!important}
.ebc-categories-page.is-searching .ebc-category-showcase,
.ebc-categories-page.is-searching .ebc-category-directory{transition:opacity .12s ease}

/* Navy header search treatments. */
.ebc-page-hero--navy .ebc-faq-search,
.ebc-page-hero--navy .ebc-editorial-search{
	border-color:rgba(255,255,255,.22);
	background:rgba(255,255,255,.1);
}
.ebc-page-hero--navy .ebc-faq-search input,
.ebc-page-hero--navy .ebc-editorial-search input{color:#fff!important}
.ebc-page-hero--navy .ebc-faq-search input::placeholder,
.ebc-page-hero--navy .ebc-editorial-search input::placeholder{color:rgba(255,255,255,.68)}
.ebc-page-hero--navy .ebc-faq-search svg{stroke:#fff}
.ebc-page-hero--navy .ebc-editorial-search button{color:#fff!important;border-left-color:rgba(255,255,255,.2)!important;background:rgba(255,255,255,.08)!important}

/* Empty brands remain useful directory entries; zero is deliberately visible. */
.ebc-brand-directory-card small:empty:before{content:"0"}

@media(max-width:1200px){
	.ebc-products-discovery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
	.ebc-products-discovery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
	.ebc-page{left:50%;width:100vw;max-width:100vw!important;margin-left:-50vw!important;margin-right:-50vw!important}
	.ebc-products-discovery{padding-top:30px}
	.ebc-products-discovery__grid{grid-template-columns:1fr}
	.ebc-page-hero__inner{min-height:0}
}


/* =========================================================
   CONTACT PAGE
========================================================= */
.ebc-contact-page__body{padding-top:42px;padding-bottom:72px}
.ebc-contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px}
.ebc-contact-method{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 22px;align-items:start;gap:13px;min-height:148px;padding:20px;border:1px solid var(--ebp-border);border-radius:15px;background:#fff;color:var(--ebp-text);text-decoration:none;box-shadow:0 10px 30px rgba(5,46,87,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
a.ebc-contact-method:hover{transform:translateY(-2px);border-color:#cbdbe6;box-shadow:0 14px 34px rgba(5,46,87,.075)}
.ebc-contact-method__icon{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:#edf6f9;color:var(--ebp-navy)}
.ebc-contact-method__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.ebc-contact-method__content{min-width:0}.ebc-contact-method small{display:block;margin-bottom:5px;color:var(--ebp-blue);font-size:9px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}
.ebc-contact-method strong{display:block;color:var(--ebp-navy);font-size:16px;line-height:1.25;overflow-wrap:anywhere}
.ebc-contact-method p{margin:8px 0 0;color:var(--ebp-muted);font-size:11.5px;line-height:1.55}
.ebc-contact-method>b{align-self:center;justify-self:end;color:#8aa0b0;font-size:18px;font-weight:500}

.ebc-contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:24px;align-items:start}
.ebc-contact-form-card,.ebc-contact-details-card,.ebc-contact-topics{border:1px solid var(--ebp-border);border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(5,46,87,.04)}
.ebc-contact-form-card{padding:30px}.ebc-contact-form-card>header{max-width:720px;margin-bottom:24px}
.ebc-contact-form-card h2,.ebc-contact-details-card h2{margin:0;color:var(--ebp-navy);font-size:clamp(25px,2.4vw,36px);line-height:1.06;font-weight:830;letter-spacing:-.025em}
.ebc-contact-form-card>header p{max-width:680px;margin:12px 0 0;color:var(--ebp-muted);font-size:13px;line-height:1.65}

.ebc-contact-form{--eb-contact-field:#f9fbfc}.ebc-contact-form form{margin:0}.ebc-contact-form label{color:var(--ebp-navy);font-size:11px;font-weight:750}
.ebc-contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),.ebc-contact-form textarea,.ebc-contact-form select{width:100%!important;max-width:none!important;min-height:48px!important;margin:6px 0 14px!important;padding:10px 13px!important;border:1px solid var(--ebp-border)!important;border-radius:10px!important;background:var(--eb-contact-field)!important;color:var(--ebp-text)!important;box-shadow:none!important;outline:0!important;font:inherit!important;font-size:12px!important}
.ebc-contact-form textarea{min-height:140px!important;resize:vertical}.ebc-contact-form input:focus,.ebc-contact-form textarea:focus,.ebc-contact-form select:focus{border-color:#83b6cc!important;box-shadow:0 0 0 3px rgba(18,185,217,.09)!important}
.ebc-contact-form input[type="submit"],.ebc-contact-form button[type="submit"],.ebc-contact-form .wp-element-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;margin:0!important;padding:0 22px!important;border:0!important;border-radius:10px!important;background:var(--ebp-navy)!important;color:#fff!important;font-size:11px!important;font-weight:850!important;text-decoration:none!important;cursor:pointer!important}
.ebc-contact-form__fallback{padding:22px;border:1px dashed #cbdbe6;border-radius:12px;background:#f7fafb}.ebc-contact-form__fallback p{margin:0 0 14px;color:var(--ebp-muted);font-size:12px;line-height:1.6}
.ebc-contact-form__fallback a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:9px;background:var(--ebp-navy);color:#fff;font-size:11px;font-weight:850;text-decoration:none}

.ebc-contact-sidebar{display:grid;gap:16px}.ebc-contact-details-card{padding:24px}.ebc-contact-details-card dl{display:grid;gap:0;margin:20px 0 0}
.ebc-contact-details-card dl>div{padding:14px 0;border-top:1px solid var(--ebp-border)}.ebc-contact-details-card dt{margin-bottom:5px;color:var(--ebp-muted);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.ebc-contact-details-card dd{margin:0;color:var(--ebp-text);font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.ebc-contact-details-card a{color:var(--ebp-navy);font-weight:750;text-decoration:none}
.ebc-contact-topics{padding:22px;background:linear-gradient(145deg,#052e57,#0a4779);color:#fff}.ebc-contact-topics .ebc-page-eyebrow{color:#9de8f4}.ebc-contact-topics>div{display:flex;flex-wrap:wrap;gap:7px}
.ebc-contact-topics>div span{padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;font-size:10px;font-weight:700}

.ebc-contact-map{padding-top:42px}.ebc-contact-map__frame{position:relative;overflow:hidden;aspect-ratio:16/6;border:1px solid var(--ebp-border);border-radius:18px;background:#eef3f6}
.ebc-contact-map__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:980px){.ebc-contact-methods{grid-template-columns:1fr 1fr}.ebc-contact-layout{grid-template-columns:1fr}.ebc-contact-sidebar{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.ebc-contact-page__body{padding-top:28px;padding-bottom:52px}.ebc-contact-methods{grid-template-columns:1fr}.ebc-contact-sidebar{grid-template-columns:1fr}.ebc-contact-form-card{padding:22px 18px}.ebc-contact-details-card{padding:20px}.ebc-contact-map__frame{aspect-ratio:4/3}}


/* =========================================================
   CONTACT FORM 7
   CF7 wraps controls in .wpcf7-form-control-wrap. When that
   wrapper remains inline, percentage widths are calculated
   against the control's intrinsic content width. Force every
   wrapper to participate in the page layout.
========================================================= */

.ebc-contact-form,
.ebc-contact-form .wpcf7,
.ebc-contact-form .wpcf7-form,
.ebc-contact-form .ebc-cf7,
.ebc-contact-form .ebc-cf7-field,
.ebc-contact-form .wpcf7-form-control-wrap {
	width: 100%;
	max-width: none;
	min-width: 0;
}

.ebc-contact-form .wpcf7,
.ebc-contact-form .wpcf7-form,
.ebc-contact-form .ebc-cf7,
.ebc-contact-form .wpcf7-form-control-wrap {
	display: block;
}

.ebc-contact-form .ebc-cf7-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 18px;
	width: 100%;
}

.ebc-contact-form .ebc-cf7-field {
	display: block;
	margin: 0;
}

.ebc-contact-form .ebc-cf7-field > label {
	display: block;
	width: 100%;
	margin: 0;
}

.ebc-contact-form .wpcf7-form-control-wrap {
	margin-top: 6px;
}

.ebc-contact-form input.wpcf7-form-control:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="file"]),
.ebc-contact-form select.wpcf7-form-control,
.ebc-contact-form textarea.wpcf7-form-control {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

.ebc-contact-form select.wpcf7-form-control {
	appearance: auto;
	min-height: 50px !important;
	cursor: pointer;
}

.ebc-contact-form textarea.wpcf7-form-control {
	min-height: 180px !important;
	height: 180px;
	resize: vertical;
	line-height: 1.55 !important;
}

.ebc-contact-form input[type="file"].wpcf7-form-control {
	display: block;
	width: 100%;
	max-width: none;
	min-height: 54px;
	padding: 7px 9px !important;
	border: 1px solid var(--ebp-border) !important;
	border-radius: 10px !important;
	background: var(--eb-contact-field) !important;
	color: var(--ebp-text) !important;
	font-size: 11px !important;
	line-height: 1.4;
	box-sizing: border-box;
	cursor: pointer;
}

.ebc-contact-form input[type="file"].wpcf7-form-control::file-selector-button {
	min-height: 36px;
	margin: 0 11px 0 0;
	padding: 0 13px;
	border: 0;
	border-radius: 7px;
	background: #e9f0f5;
	color: var(--ebp-navy);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.ebc-contact-form .ebc-cf7-help {
	display: block;
	margin: -6px 0 15px;
	color: #7b8d9b;
	font-size: 10px;
	line-height: 1.5;
}

.ebc-contact-form .ebc-cf7-consent {
	margin: 8px 0 20px;
	color: #647786;
	font-size: 10.5px;
	line-height: 1.55;
}

.ebc-contact-form .ebc-cf7-consent .wpcf7-form-control-wrap,
.ebc-contact-form .ebc-cf7-consent .wpcf7-acceptance,
.ebc-contact-form .ebc-cf7-consent .wpcf7-list-item,
.ebc-contact-form .ebc-cf7-consent label {
	display: block;
	width: auto;
	margin: 0;
}

.ebc-contact-form .ebc-cf7-consent .wpcf7-list-item label {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	align-items: start;
	gap: 8px;
}

.ebc-contact-form .ebc-cf7-consent input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 2px 0 0;
	accent-color: var(--ebp-navy);
}

.ebc-contact-form .ebc-cf7-consent a {
	color: var(--ebp-navy);
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ebc-contact-form .ebc-cf7-submit {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 2px;
}

.ebc-contact-form .ebc-cf7-submit input[type="submit"] {
	min-width: 148px !important;
}

.ebc-contact-form .wpcf7-spinner {
	margin: 0 !important;
}

.ebc-contact-form .wpcf7-not-valid-tip {
	display: block;
	margin: -7px 0 12px;
	color: #b42318;
	font-size: 10px;
	line-height: 1.45;
}

.ebc-contact-form .wpcf7-response-output {
	margin: 18px 0 0 !important;
	padding: 12px 14px !important;
	border-width: 1px !important;
	border-radius: 9px;
	font-size: 11px;
	line-height: 1.55;
}

@media (max-width: 680px) {
	.ebc-contact-form .ebc-cf7-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.ebc-contact-form textarea.wpcf7-form-control {
		min-height: 160px !important;
		height: 160px;
	}
}


/* =========================================================
   ABOUT US â€” CORE GUTENBERG PATTERN
========================================================= */

.ebc-about-page{
	overflow:hidden;
}

.ebc-about-page .wp-block-columns{
	margin-block-start:0;
	margin-block-end:0;
}

.ebc-about-page h2{
	color:var(--ebp-navy);
	font-size:clamp(30px,3.4vw,48px);
	line-height:1.04;
	font-weight:830;
	letter-spacing:-.035em;
}

.ebc-about-page h3{
	color:var(--ebp-navy);
	font-weight:820;
	letter-spacing:-.02em;
}

.ebc-about-story{
	padding-top:72px;
	padding-bottom:72px;
}

.ebc-about-story__grid{
	gap:clamp(34px,6vw,86px);
}

.ebc-about-story__grid > .wp-block-column:first-child{
	max-width:760px;
}

.ebc-about-story__grid > .wp-block-column:first-child > p:not(.ebc-page-eyebrow){
	max-width:690px;
	margin:16px 0 0;
	color:var(--ebp-muted);
	font-size:15px;
	line-height:1.75;
}

.ebc-about-story__aside{
	padding:34px;
	border:1px solid rgba(5,46,87,.12);
	border-radius:20px;
	background:
		linear-gradient(145deg,rgba(18,185,217,.08),rgba(15,95,156,.02)),
		#f8fbfc;
	box-shadow:0 18px 50px rgba(5,46,87,.06);
}

.ebc-about-story__aside h3{
	max-width:470px;
	margin:0;
	font-size:clamp(26px,2.6vw,38px);
	line-height:1.08;
}

.ebc-about-story__aside > p:last-child{
	max-width:460px;
	margin:16px 0 0;
	color:var(--ebp-muted);
	font-size:13px;
	line-height:1.7;
}

.ebc-about-experience{
	padding:70px 0 76px;
	background:linear-gradient(180deg,#f6f8fb,#f1f6f8);
	border-top:1px solid var(--ebp-border);
	border-bottom:1px solid var(--ebp-border);
}

.ebc-about-experience__intro{
	max-width:850px;
	margin:-4px 0 30px;
	color:var(--ebp-muted);
	font-size:14px;
	line-height:1.75;
}

.ebc-about-stats{
	gap:14px;
}

.ebc-about-stat{
	height:100%;
	min-height:168px;
	padding:24px;
	border:1px solid var(--ebp-border);
	border-radius:16px;
	background:#fff;
	box-shadow:0 10px 28px rgba(5,46,87,.045);
}

.ebc-about-stat h3{
	margin:0;
	font-size:clamp(27px,2.8vw,40px);
	line-height:1;
}

.ebc-about-stat p{
	max-width:320px;
	margin:13px 0 0;
	color:var(--ebp-muted);
	font-size:12px;
	line-height:1.6;
}

.ebc-about-why{
	padding-top:78px;
	padding-bottom:78px;
}

.ebc-about-values{
	gap:14px;
}

.ebc-about-values--second{
	margin-top:14px!important;
}

.ebc-about-value{
	position:relative;
	height:100%;
	min-height:224px;
	padding:24px;
	border:1px solid var(--ebp-border);
	border-radius:16px;
	background:#fff;
	transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.ebc-about-value:hover{
	transform:translateY(-3px);
	border-color:#c9dbe6;
	box-shadow:0 15px 34px rgba(5,46,87,.07);
}

.ebc-about-value__number{
	margin:0 0 34px!important;
	color:var(--ebp-cyan)!important;
	font-size:10px!important;
	font-weight:850!important;
	letter-spacing:.1em;
}

.ebc-about-value h3{
	max-width:330px;
	margin:0;
	font-size:20px;
	line-height:1.15;
}

.ebc-about-value > p:last-child{
	max-width:340px;
	margin:12px 0 0;
	color:var(--ebp-muted);
	font-size:12px;
	line-height:1.65;
}

.ebc-about-values__spacer{
	visibility:hidden;
}

.ebc-about-belief{
	position:relative;
	padding:82px 0;
	background:
		radial-gradient(circle at 82% 20%,rgba(18,185,217,.16),transparent 29%),
		linear-gradient(135deg,#052e57,#083b6d);
	color:#fff;
}

.ebc-about-belief .ebc-page-eyebrow{
	color:#9de8f4;
}

.ebc-about-belief h2{
	max-width:970px;
	margin:0;
	color:#fff;
	font-size:clamp(36px,4.5vw,64px);
	line-height:1.01;
}

.ebc-about-belief__inner > p:last-child{
	max-width:780px;
	margin:22px 0 0;
	color:rgba(255,255,255,.72);
	font-size:15px;
	line-height:1.75;
}

.ebc-about-founders{
	padding-top:76px;
	padding-bottom:84px;
}

.ebc-about-founders .wp-block-columns{
	gap:clamp(34px,7vw,100px);
}

.ebc-about-founders .wp-block-column:first-child > p:last-child{
	max-width:680px;
	margin:16px 0 0;
	color:var(--ebp-muted);
	font-size:14px;
	line-height:1.7;
}

.ebc-about-signature{
	padding:26px 30px;
	border-left:3px solid var(--ebp-cyan);
	background:#f7fafb;
}

.ebc-about-signature p{
	margin:0;
	color:var(--ebp-muted);
	font-size:12px;
	line-height:1.55;
}

.ebc-about-signature h3{
	margin:12px 0 4px;
	font-size:25px;
}

@media(max-width:900px){
	.ebc-about-values__spacer{display:none}
	.ebc-about-story,
	.ebc-about-why,
	.ebc-about-founders{padding-top:58px;padding-bottom:58px}
	.ebc-about-experience,
	.ebc-about-belief{padding-top:58px;padding-bottom:58px}
}

@media(max-width:781px){
	.ebc-about-story__aside{padding:26px}
	.ebc-about-stats,
	.ebc-about-values{gap:12px}
	.ebc-about-values--second{margin-top:12px!important}
	.ebc-about-value{min-height:0}
	.ebc-about-value__number{margin-bottom:24px!important}
	.ebc-about-signature{margin-top:8px}
}

@media(max-width:520px){
	.ebc-about-story,
	.ebc-about-why,
	.ebc-about-founders{padding-top:44px;padding-bottom:48px}
	.ebc-about-experience,
	.ebc-about-belief{padding-top:48px;padding-bottom:52px}
	.ebc-about-story__aside,
	.ebc-about-stat,
	.ebc-about-value{padding:21px}
	.ebc-about-belief h2{font-size:clamp(34px,11vw,48px)}
}
