/* =========================================================
   ELECTROBLAU CORE 0.4.0 — PRODUCT EXPERIENCE
========================================================= */

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

.ebc-single-product .site-main,
.ebc-single-product main {
	--theme-content-spacing: 38px;
}

/* ---------------------------------------------------------
   SINGLE PRODUCT TOP AREA
--------------------------------------------------------- */

.ebc-single-product div.product,
.ebc-single-product .product-entry-wrapper {
	box-sizing: border-box;
}

.ebc-single-product .product-entry-wrapper {
	display: grid !important;
	grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr) !important;
	gap: clamp(34px, 5vw, 76px) !important;
	align-items: start !important;
	width: 100% !important;
	max-width: var(--ebp-container) !important;
	margin-inline: auto !important;
}

.ebc-single-product div.product > .woocommerce-product-gallery,
.ebc-single-product .product-entry-wrapper > .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.ebc-single-product div.product > .summary,
.ebc-single-product .product-entry-wrapper > .summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	position: sticky;
	top: 128px;
	align-self: start;
	padding: 6px 0 10px;
}

/* ---------------------------------------------------------
   GALLERY
--------------------------------------------------------- */

.ebc-single-product .woocommerce-product-gallery {
	position: relative;
	display: grid !important;
	grid-template-columns: 76px minmax(0, 1fr);
	grid-template-rows: auto;
	gap: 14px;
	align-items: start;
}

.ebc-single-product .woocommerce-product-gallery > .flex-viewport,
.ebc-single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	border: 1px solid var(--ebp-border);
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
}

.ebc-single-product .woocommerce-product-gallery__wrapper {
	margin: 0 !important;
}

.ebc-single-product .woocommerce-product-gallery__image {
	min-height: min(660px, 58vw);
	display: grid !important;
	place-items: center;
	background: #fff;
}

.ebc-single-product .woocommerce-product-gallery__image a {
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	padding: clamp(18px, 3vw, 42px);
}

.ebc-single-product .woocommerce-product-gallery__image img {
	width: 100% !important;
	height: 100% !important;
	max-height: 610px;
	object-fit: contain !important;
}

.ebc-single-product .woocommerce-product-gallery .flex-control-thumbs {
	grid-column: 1;
	grid-row: 1;
	display: flex !important;
	flex-direction: column;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	max-height: 660px;
	overflow-y: auto;
	scrollbar-width: thin;
}

.ebc-single-product .woocommerce-product-gallery .flex-control-thumbs li {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.ebc-single-product .woocommerce-product-gallery .flex-control-thumbs img {
	width: 74px !important;
	height: 74px !important;
	display: block;
	padding: 5px;
	border: 1px solid var(--ebp-border);
	border-radius: 11px;
	background: #fff;
	object-fit: contain;
	opacity: .7;
	transition: .18s ease;
}

.ebc-single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
.ebc-single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	opacity: 1;
	border-color: var(--ebp-blue);
	box-shadow: 0 0 0 2px rgba(15,95,156,.08);
}

.ebc-single-product .woocommerce-product-gallery__trigger {
	top: 16px !important;
	right: 16px !important;
	width: 42px !important;
	height: 42px !important;
	display: grid !important;
	place-items: center;
	border: 1px solid var(--ebp-border);
	border-radius: 50%;
	background: rgba(255,255,255,.94) !important;
	box-shadow: 0 8px 26px rgba(5,46,87,.08);
}

/* ---------------------------------------------------------
   SUMMARY
--------------------------------------------------------- */

.ebc-product-eyebrow {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 10px;
	color: var(--ebp-blue);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .085em;
	text-transform: uppercase;
}

.ebc-product-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.ebc-single-product .summary .product_title {
	margin: 0 0 14px !important;
	color: var(--ebp-navy);
	font-size: clamp(30px, 3vw, 44px) !important;
	line-height: 1.06 !important;
	font-weight: 800 !important;
	letter-spacing: -.028em;
}

.ebc-single-product .summary .woocommerce-product-rating {
	margin: 0 0 13px !important;
}

.ebc-single-product .summary .price {
	margin: 0 0 10px !important;
	color: var(--ebp-navy) !important;
	font-size: clamp(25px, 2.4vw, 34px) !important;
	line-height: 1.1;
	font-weight: 800;
}

.ebc-single-product .summary .price del {
	color: #98a5af;
	font-size: .58em;
	font-weight: 500;
}

.ebc-single-product .summary .price ins {
	text-decoration: none;
}

.ebc-product-availability {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 20px;
	padding: 7px 10px;
	border: 1px solid var(--ebp-border);
	border-radius: 999px;
	color: var(--ebp-text);
	background: #fff;
	font-size: 11px;
	font-weight: 700;
}

.ebc-product-availability__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #24a168;
	box-shadow: 0 0 0 4px rgba(36,161,104,.10);
}

.ebc-product-availability.is-backorder .ebc-product-availability__dot { background: #e4a21a; box-shadow: 0 0 0 4px rgba(228,162,26,.10); }
.ebc-product-availability.is-out-of-stock .ebc-product-availability__dot { background: #d04e4e; box-shadow: 0 0 0 4px rgba(208,78,78,.10); }

.ebc-single-product .summary .woocommerce-product-details__short-description {
	margin: 0 0 22px;
	color: var(--ebp-muted);
	font-size: 14px;
	line-height: 1.65;
}

.ebc-single-product .summary form.cart {
	display: flex !important;
	align-items: stretch;
	gap: 10px;
	margin: 0 0 18px !important;
	padding: 18px;
	border: 1px solid var(--ebp-border);
	border-radius: 15px;
	background: var(--ebp-soft);
}

.ebc-single-product .summary form.cart .quantity {
	flex: 0 0 auto;
	margin: 0 !important;
}

.ebc-single-product .summary form.cart .qty {
	min-height: 50px;
	border: 1px solid var(--ebp-border);
	border-radius: 10px;
	background: #fff;
}

.ebc-single-product .summary form.cart .single_add_to_cart_button,
.ebc-single-product .summary form.cart .button {
	flex: 1 1 auto;
	min-height: 50px;
	border-radius: 10px !important;
	background: var(--ebp-navy) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

.ebc-single-product .summary form.cart .single_add_to_cart_button:hover,
.ebc-single-product .summary form.cart .button:hover {
	background: var(--ebp-navy-2) !important;
}

.ebc-single-product .summary form.variations_form {
	display: block !important;
}

.ebc-single-product .summary form.variations_form table.variations {
	width: 100%;
	margin: 0 0 14px;
}

.ebc-single-product .summary form.variations_form .single_variation_wrap {
	margin-top: 12px;
}

/* Assurance */
.ebc-product-assurance {
	display: grid;
	gap: 9px;
	margin: 0 0 18px;
}

.ebc-product-assurance__item,
.ebc-product-support {
	display: grid;
	grid-template-columns: 34px minmax(0,1fr);
	align-items: center;
	gap: 10px;
	padding: 11px 12px;
	border: 1px solid var(--ebp-border);
	border-radius: 11px;
	background: #fff;
	color: var(--ebp-text);
	text-decoration: none;
}

.ebc-product-assurance__icon,
.ebc-product-support__icon {
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #edf7f9;
	color: var(--ebp-blue);
	font-weight: 900;
}

.ebc-product-assurance__item strong,
.ebc-product-support strong {
	display: block;
	margin-bottom: 2px;
	color: var(--ebp-navy);
	font-size: 11.5px;
}

.ebc-product-assurance__item span:last-child,
.ebc-product-support small {
	display: block;
	color: var(--ebp-muted);
	font-size: 10.5px;
	line-height: 1.35;
}

.ebc-product-support {
	background: linear-gradient(135deg, #f8fbfc, #eef6f8);
}

.ebc-product-support strong { margin: 2px 0 0; }

.ebc-product-meta {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 1px;
	margin-top: 18px;
	border: 1px solid var(--ebp-border);
	border-radius: 11px;
	background: var(--ebp-border);
	overflow: hidden;
}

.ebc-product-meta > div {
	min-width: 0;
	padding: 11px 12px;
	background: #fff;
}

.ebc-product-meta span {
	display: block;
	margin-bottom: 4px;
	color: var(--ebp-muted);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.ebc-product-meta strong,
.ebc-product-meta a {
	color: var(--ebp-text);
	font-size: 11px;
	font-weight: 700;
	text-decoration: none;
}

/* Blocksy sharing / legacy meta cleanup */
.ebc-single-product .ct-share-box,
.ebc-single-product .product_meta,
.ebc-single-product .ct-product-additional-actions { display: none !important; }

/* ---------------------------------------------------------
   KEY SPECS / TABS / RECOMMENDATIONS
--------------------------------------------------------- */

.ebc-key-specs,
.ebc-single-products-section,
.ebc-single-product .woocommerce-tabs {
	width: 100%;
	max-width: var(--ebp-container);
	margin: 54px auto 0 !important;
}

.ebc-single-section-head {
	margin-bottom: 20px;
}

.ebc-single-section-head > span {
	display: block;
	margin-bottom: 6px;
	color: var(--ebp-blue);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.ebc-single-section-head h2 {
	margin: 0;
	color: var(--ebp-navy);
	font-size: clamp(25px, 2.4vw, 34px);
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -.02em;
}

.ebc-key-specs__grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 10px;
}

.ebc-key-spec {
	padding: 16px;
	border: 1px solid var(--ebp-border);
	border-radius: 12px;
	background: #fff;
}

.ebc-key-spec span {
	display: block;
	margin-bottom: 5px;
	color: var(--ebp-muted);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .075em;
	text-transform: uppercase;
}

.ebc-key-spec strong {
	color: var(--ebp-text);
	font-size: 13px;
	line-height: 1.35;
}

.ebc-single-product .woocommerce-tabs {
	padding-top: 8px;
	border-top: 1px solid var(--ebp-border);
}

.ebc-single-product .woocommerce-tabs ul.tabs {
	display: flex !important;
	gap: 4px;
	margin: 0 0 26px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.ebc-single-product .woocommerce-tabs ul.tabs::before,
.ebc-single-product .woocommerce-tabs ul.tabs li::before,
.ebc-single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }

.ebc-single-product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: transparent !important;
}

.ebc-single-product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 11px 14px !important;
	border-radius: 9px;
	color: var(--ebp-muted) !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	text-transform: none !important;
}

.ebc-single-product .woocommerce-tabs ul.tabs li.active a {
	background: var(--ebp-navy);
	color: #fff !important;
}

.ebc-single-product .woocommerce-Tabs-panel {
	padding: 0 !important;
	color: var(--ebp-text);
	font-size: 14px;
	line-height: 1.75;
}

.ebc-product-tab-accordion { display: none; }

.ebc-shipping-tab {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 12px;
}

.ebc-shipping-tab > div {
	padding: 18px;
	border: 1px solid var(--ebp-border);
	border-radius: 12px;
	background: var(--ebp-soft);
}

.ebc-shipping-tab strong { display:block; margin-bottom:6px; color:var(--ebp-navy); }
.ebc-shipping-tab p { margin:0; color:var(--ebp-muted); }

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

.ebc-single-product-grid .ebc-product-card {
	min-width: 0;
	padding: 14px;
	border: 1px solid var(--ebp-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(5,46,87,.04);
}

.ebc-single-product-grid .ebc-product-card__image {
	display: block;
	aspect-ratio: 1;
	margin-bottom: 10px;
}
.ebc-single-product-grid .ebc-product-card__image img { width:100%; height:100%; object-fit:contain; }
.ebc-single-product-grid .ebc-product-card__title { margin:0 0 7px; font-size:13px; line-height:1.35; }
.ebc-single-product-grid .ebc-product-card__title a { color:var(--ebp-text); text-decoration:none; }
.ebc-single-product-grid .ebc-product-card__price { color:var(--ebp-navy); font-size:14px; font-weight:800; }

/* ---------------------------------------------------------
   NATIVE QUICK VIEW BUTTON
--------------------------------------------------------- */

.woocommerce ul.products li.product,
[data-products] .product { position: relative; }

.ebc-quick-view-button {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 8;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	margin: 0;
	padding: 0;
	border: 1px solid var(--ebp-border);
	border-radius: 50%;
	background: rgba(255,255,255,.94);
	color: var(--ebp-navy);
	box-shadow: 0 8px 22px rgba(5,46,87,.08);
	cursor: pointer;
	transition: .17s ease;
}

.ebc-quick-view-button:hover { transform:translateY(-2px); border-color:#bfd0dc; }
.ebc-quick-view-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; }
.ebc-quick-view-button > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* ---------------------------------------------------------
   QUICK VIEW MODAL
--------------------------------------------------------- */

.ebc-quick-view-layer,
.ebc-sidecart-layer {
	position: fixed;
	inset: 0;
	z-index: 100000;
	visibility: hidden;
	pointer-events: none;
}

.ebc-quick-view-layer.is-open,
.ebc-sidecart-layer.is-open { visibility:visible; pointer-events:auto; }

.ebc-quick-view-backdrop,
.ebc-sidecart-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(4,28,51,.48);
	opacity: 0;
	transition: opacity .2s ease;
}

.ebc-quick-view-layer.is-open .ebc-quick-view-backdrop,
.ebc-sidecart-layer.is-open .ebc-sidecart-backdrop { opacity:1; }

.ebc-quick-view-modal {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(980px, calc(100vw - 40px));
	max-height: min(720px, calc(100vh - 40px));
	transform: translate(-50%,-48%) scale(.985);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 30px 90px rgba(5,46,87,.24);
	overflow: auto;
	opacity: 0;
	transition: .2s ease;
}

.ebc-quick-view-layer.is-open .ebc-quick-view-modal { transform:translate(-50%,-50%) scale(1); opacity:1; }

.ebc-quick-view-close {
	position:absolute;
	top:12px;
	right:12px;
	z-index:10;
	width:40px;
	height:40px;
	border:0;
	border-radius:50%;
	background:#fff;
	color:var(--ebp-navy);
	font-size:26px;
	box-shadow:0 8px 24px rgba(5,46,87,.12);
	cursor:pointer;
}

.ebc-quick-view-loading { min-height:460px; display:grid; place-items:center; }
.ebc-quick-view-loading span:first-child { width:34px; height:34px; border:3px solid #dce6ec; border-top-color:var(--ebp-blue); border-radius:50%; animation:ebcSpin .75s linear infinite; }
.ebc-quick-view-loading span:last-child { display:none; }
@keyframes ebcSpin { to { transform:rotate(360deg); } }
.ebc-quick-view-content:not(:empty) + .x { display:none; }
.ebc-quick-view-layer.is-loaded .ebc-quick-view-loading { display:none; }

.ebc-quick-view-product {
	display:grid;
	grid-template-columns:1fr 1fr;
	min-height:500px;
}

.ebc-quick-view-product__media { display:grid; place-items:center; padding:28px; background:var(--ebp-soft); }
.ebc-quick-view-product__media a { width:100%; height:100%; display:grid; place-items:center; }
.ebc-quick-view-product__media img { width:100%; height:100%; max-height:460px; object-fit:contain; }
.ebc-quick-view-product__content { padding:42px 38px; }
.ebc-quick-view-product__brand { display:block; margin-bottom:8px; color:var(--ebp-blue); font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.ebc-quick-view-product h2 { margin:0 0 10px; color:var(--ebp-navy); font-size:28px; line-height:1.12; }
.ebc-quick-view-product h2 a { color:inherit; text-decoration:none; }
.ebc-quick-view-product__price { margin:12px 0 16px; color:var(--ebp-navy); font-size:24px; font-weight:800; }
.ebc-quick-view-product__excerpt { color:var(--ebp-muted); font-size:13px; line-height:1.55; }
.ebc-quick-view-product__cart form.cart { margin:18px 0 !important; }
.ebc-quick-view-product__details { color:var(--ebp-blue); font-size:12px; font-weight:800; text-decoration:none; }

/* ---------------------------------------------------------
   SIDECART
--------------------------------------------------------- */

.ebc-sidecart {
	position:absolute;
	top:0;
	right:0;
	width:min(440px, 94vw);
	height:100%;
	height:100dvh;
	display:flex;
	flex-direction:column;
	background:#fff;
	box-shadow:-28px 0 70px rgba(5,46,87,.18);
	transform:translateX(104%);
	transition:transform .24s ease;
}

.ebc-sidecart-layer.is-open .ebc-sidecart { transform:translateX(0); }

.ebc-sidecart__header {
	flex:0 0 auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:78px;
	padding:0 20px;
	border-bottom:1px solid var(--ebp-border);
}

.ebc-sidecart__header span { display:block; color:var(--ebp-blue); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ebc-sidecart__header h2 { margin:3px 0 0; color:var(--ebp-navy); font-size:22px; }
.ebc-sidecart__close { width:40px; height:40px; border:0; border-radius:50%; background:var(--ebp-soft); color:var(--ebp-navy); font-size:26px; cursor:pointer; }

.ebc-sidecart__dynamic { min-height:0; flex:1 1 auto; display:flex; flex-direction:column; overflow:hidden; }
.ebc-sidecart-items { flex:1 1 auto; min-height:0; padding:8px 18px; overflow-y:auto; }

.ebc-sidecart-item { display:grid; grid-template-columns:84px minmax(0,1fr); gap:12px; padding:14px 0; border-bottom:1px solid var(--ebp-border); }
.ebc-sidecart-item__image { width:84px; height:84px; display:grid; place-items:center; border:1px solid var(--ebp-border); border-radius:10px; background:#fff; }
.ebc-sidecart-item__image img { width:100%; height:100%; object-fit:contain; }
.ebc-sidecart-item__top { display:flex; align-items:flex-start; gap:8px; }
.ebc-sidecart-item h4 { flex:1 1 auto; margin:0; font-size:12.5px; line-height:1.35; }
.ebc-sidecart-item h4 a { color:var(--ebp-text); text-decoration:none; }
.ebc-sidecart-item__remove { flex:0 0 auto; border:0; background:none; color:#8b99a4; font-size:20px; cursor:pointer; }
.ebc-sidecart-item__variation { margin-top:4px; color:var(--ebp-muted); font-size:10px; }
.ebc-sidecart-item__variation dl { margin:0; }
.ebc-sidecart-item__bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }
.ebc-sidecart-item__bottom strong { color:var(--ebp-navy); font-size:12px; }
.ebc-sidecart-qty { display:grid; grid-template-columns:28px 38px 28px; border:1px solid var(--ebp-border); border-radius:8px; overflow:hidden; }
.ebc-sidecart-qty button { width:28px; height:30px; border:0; background:var(--ebp-soft); color:var(--ebp-navy); cursor:pointer; }
.ebc-sidecart-qty input { width:38px; height:30px; padding:0; border:0; border-inline:1px solid var(--ebp-border); border-radius:0; text-align:center; font-size:11px; appearance:textfield; }

.ebc-sidecart-summary { flex:0 0 auto; padding:18px 20px 20px; border-top:1px solid var(--ebp-border); background:#fff; }
.ebc-sidecart-summary > div { display:flex; align-items:center; justify-content:space-between; color:var(--ebp-text); }
.ebc-sidecart-summary > div strong { color:var(--ebp-navy); font-size:20px; }
.ebc-sidecart-summary p { margin:5px 0 14px; color:var(--ebp-muted); font-size:10px; }
.ebc-sidecart-checkout { width:100%; min-height:48px; display:flex!important; align-items:center; justify-content:center; border-radius:9px!important; background:var(--ebp-navy)!important; color:#fff!important; font-weight:800!important; }
.ebc-sidecart-view-cart { display:block; margin-top:11px; color:var(--ebp-blue); text-align:center; font-size:11px; font-weight:800; text-decoration:none; }

.ebc-sidecart-empty { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px; text-align:center; }
.ebc-sidecart-empty__icon { width:58px; height:58px; display:grid; place-items:center; margin-bottom:14px; border-radius:50%; background:var(--ebp-soft); color:var(--ebp-blue); font-size:30px; }
.ebc-sidecart-empty h3 { margin:0 0 6px; color:var(--ebp-navy); }
.ebc-sidecart-empty p { max-width:280px; margin:0 0 18px; color:var(--ebp-muted); font-size:12px; line-height:1.5; }

.ebc-sidecart-suggestions { flex:0 0 auto; padding:14px 18px; border-top:1px solid var(--ebp-border); background:var(--ebp-soft); }
.ebc-sidecart-suggestions > span { display:block; margin-bottom:8px; color:var(--ebp-muted); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ebc-sidecart-suggestions__grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ebc-sidecart-suggestions__grid a { display:grid; grid-template-columns:45px minmax(0,1fr); align-items:center; gap:8px; padding:7px; border:1px solid var(--ebp-border); border-radius:9px; background:#fff; color:var(--ebp-text); font-size:10px; font-weight:700; text-decoration:none; }
.ebc-sidecart-suggestions__grid img { width:45px; height:45px; object-fit:contain; }

body.ebc-commerce-lock { overflow:hidden !important; }

/* ---------------------------------------------------------
   MOBILE STICKY BUY BAR
--------------------------------------------------------- */

.ebc-mobile-buybar { display:none; }

/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */
@media (max-width: 1050px) {
	.ebc-single-product .product-entry-wrapper { grid-template-columns:minmax(0,1fr) minmax(350px,.85fr)!important; gap:30px!important; }
	.ebc-single-product .woocommerce-product-gallery { grid-template-columns:62px minmax(0,1fr); }
	.ebc-single-product .woocommerce-product-gallery .flex-control-thumbs img { width:60px!important; height:60px!important; }
	.ebc-key-specs__grid { grid-template-columns:repeat(2,1fr); }
	.ebc-single-product-grid { grid-template-columns:repeat(3,1fr); }
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */
@media (max-width: 767px) {
	.ebc-single-product .product-entry-wrapper { display:block!important; }
	.ebc-single-product div.product > .summary,
	.ebc-single-product .product-entry-wrapper > .summary { position:static; margin-top:24px!important; }

	.ebc-single-product .woocommerce-product-gallery { display:flex!important; flex-direction:column; gap:10px; }
	.ebc-single-product .woocommerce-product-gallery > .flex-viewport,
	.ebc-single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { order:1; width:100%; border-radius:14px; }
	.ebc-single-product .woocommerce-product-gallery .flex-control-thumbs { order:2; width:100%; max-height:none; display:flex!important; flex-direction:row; gap:8px; overflow-x:auto; overflow-y:hidden; }
	.ebc-single-product .woocommerce-product-gallery .flex-control-thumbs li { flex:0 0 62px; }
	.ebc-single-product .woocommerce-product-gallery .flex-control-thumbs img { width:62px!important; height:62px!important; }
	.ebc-single-product .woocommerce-product-gallery__image { min-height:360px; }

	.ebc-single-product .summary .product_title { font-size:30px!important; }
	.ebc-product-meta { grid-template-columns:1fr; }
	.ebc-key-specs,
	.ebc-single-products-section,
	.ebc-single-product .woocommerce-tabs { margin-top:38px!important; }
	.ebc-key-specs__grid { grid-template-columns:1fr 1fr; }
	.ebc-shipping-tab { grid-template-columns:1fr; }
	.ebc-single-product-grid { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
	.ebc-single-product-grid .ebc-product-card { flex:0 0 78%; scroll-snap-align:start; }

	/* tabs become accordions; JS injects headings */
	.ebc-single-product .woocommerce-tabs ul.tabs { display:none!important; }
	.ebc-product-tab-accordion { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; margin:0; padding:0 2px; border:0; border-top:1px solid var(--ebp-border); background:transparent; color:var(--ebp-navy); font-size:13px; font-weight:800; cursor:pointer; }
	.ebc-product-tab-accordion::after { content:'+'; color:var(--ebp-muted); font-size:18px; font-weight:400; }
	.ebc-product-tab-accordion.is-open::after { content:'−'; }
	.ebc-single-product .woocommerce-Tabs-panel { display:none!important; padding:0 0 20px!important; }
	.ebc-single-product .woocommerce-Tabs-panel.is-mobile-open { display:block!important; }

	.ebc-quick-view-modal { top:auto; bottom:0; left:0; width:100%; max-height:88dvh; transform:translateY(104%); border-radius:18px 18px 0 0; }
	.ebc-quick-view-layer.is-open .ebc-quick-view-modal { transform:translateY(0); }
	.ebc-quick-view-product { display:block; }
	.ebc-quick-view-product__media { min-height:260px; padding:20px; }
	.ebc-quick-view-product__content { padding:24px 20px 30px; }

	.ebc-mobile-buybar {
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		z-index:90000;
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:14px;
		padding:10px max(14px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));
		border-top:1px solid var(--ebp-border);
		background:rgba(255,255,255,.96);
		backdrop-filter:blur(12px);
		box-shadow:0 -10px 35px rgba(5,46,87,.10);
	}
	.ebc-mobile-buybar > div { min-width:0; }
	.ebc-mobile-buybar small { display:block; max-width:180px; color:var(--ebp-muted); font-size:9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
	.ebc-mobile-buybar strong { display:block; margin-top:2px; color:var(--ebp-navy); font-size:15px; }
	.ebc-mobile-buybar button { flex:0 0 auto; min-height:44px; padding:0 18px; border:0; border-radius:9px; background:var(--ebp-navy); color:#fff; font-size:11px; font-weight:800; }
	.ebc-single-product { padding-bottom:72px; }
}

@media (max-width: 430px) {
	.ebc-key-specs__grid { grid-template-columns:1fr; }
	.ebc-sidecart { width:100%; }
}

@media (prefers-reduced-motion: reduce) {
	.ebc-quick-view-modal,
	.ebc-sidecart,
	.ebc-quick-view-backdrop,
	.ebc-sidecart-backdrop,
	.ebc-quick-view-loading span:first-child { transition:none; animation:none; }
}
