/* WooCommerce presentation scoped to the VivaGift child theme. */

.bgn-commerce-page .bgn-commerce{
	padding-block:clamp(32px,5vw,72px) clamp(80px,9vw,128px);
	background:linear-gradient(180deg,#f8fbfd 0,#fff 280px);
}

.bgn-commerce .woocommerce-breadcrumb{
	margin:0 0 28px;
	color:var(--bgn-muted);
	font-size:.84rem;
	font-weight:600;
}

.bgn-commerce .woocommerce-breadcrumb a{color:var(--bgn-blue)}
.bgn-commerce .woocommerce-breadcrumb a:hover{color:var(--bgn-teal)}

.bgn-commerce .woocommerce-notices-wrapper:empty{display:none}
.bgn-commerce .woocommerce-message,
.bgn-commerce .woocommerce-info,
.bgn-commerce .woocommerce-error{
	margin:0 0 28px;
	padding:18px 20px 18px 52px;
	border:1px solid var(--bgn-border);
	border-top:0;
	border-radius:var(--bgn-radius);
	background:#fff;
	box-shadow:var(--bgn-shadow);
}
.bgn-commerce .woocommerce-message::before,
.bgn-commerce .woocommerce-info::before{color:var(--bgn-teal)}
.bgn-commerce .woocommerce-error::before{color:var(--bgn-orange)}

/* Single product: native WooCommerce DOM, reshaped with CSS Grid. */
.bgn-commerce div.product{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:clamp(32px,4vw,56px);
	align-items:start;
}
.bgn-commerce div.product::before,
.bgn-commerce div.product::after{display:none}
.bgn-commerce div.product div.woocommerce-product-gallery,
.bgn-commerce div.product div.summary{
	float:none;
	width:100%;
	margin:0;
}
.woocommerce .bgn-commerce div.product div.images.woocommerce-product-gallery{
	position:relative;
	top:auto;
	bottom:auto;
}
.bgn-commerce div.product .woocommerce-product-gallery__wrapper{
	border:1px solid rgba(4,76,132,.1);
	border-radius:12px;
	background:#fff;
	box-shadow:0 24px 64px rgba(4,76,132,.08);
	overflow:hidden;
}
.woocommerce .bgn-commerce div.product div.images .flex-viewport{height:auto!important}
.bgn-commerce div.product .woocommerce-product-gallery__image a{display:block}
.bgn-commerce div.product .woocommerce-product-gallery__image img{
	width:100%;
	aspect-ratio:1/1;
	object-fit:contain;
	padding:clamp(16px,3vw,34px);
	background:#fff;
}
.bgn-commerce div.product .woocommerce-product-gallery .flex-control-thumbs{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(72px,88px));
	gap:12px;
	justify-content:start;
	margin-top:14px;
}
.woocommerce .bgn-commerce div.product div.images .flex-control-thumbs li{
	float:none;
	clear:none;
	width:100%;
	margin:0;
}
.woocommerce .bgn-commerce div.product div.images .flex-control-thumbs li img{
	display:block;
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
	padding:4px;
	border:1px solid transparent;
	border-radius:6px;
	background:#fff;
	opacity:.62;
	transition:border-color .2s ease,opacity .2s ease,transform .2s var(--bgn-ease);
}
.woocommerce .bgn-commerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce .bgn-commerce div.product div.images .flex-control-thumbs li img.flex-active{
	border-color:var(--bgn-blue);
	opacity:1;
	transform:translateY(-2px);
}
.bgn-commerce div.product .woocommerce-product-gallery__trigger{
	top:16px;
	right:16px;
	width:44px;
	height:44px;
	border:1px solid var(--bgn-border);
	background:#fff;
	box-shadow:0 8px 20px rgba(4,76,132,.12);
}

.bgn-commerce div.product .summary{
	padding-top:8px;
	color:var(--bgn-ink);
}
.bgn-commerce div.product .product_title{
	margin:0 0 14px;
	font-size:clamp(1.9rem,2.65vw,2.45rem);
	font-weight:750;
	line-height:1.14;
	letter-spacing:-.025em;
}
.bgn-commerce div.product .woocommerce-product-rating{
	display:flex;
	align-items:center;
	gap:12px;
	margin:0 0 18px;
}
.bgn-commerce .star-rating{color:var(--bgn-yellow)}
.bgn-commerce div.product p.price,
.bgn-commerce div.product span.price{
	margin:0;
	color:var(--bgn-blue);
	font-size:clamp(1.55rem,2vw,1.9rem);
	font-weight:800;
	line-height:1.2;
}
.bgn-product-contact-price{color:var(--bgn-blue)}
.bgn-product-vat-note{
	margin:8px 0 20px;
	color:#248315;
	font-size:.88rem;
	font-style:italic;
	font-weight:600;
}
.bgn-commerce div.product .woocommerce-product-details__short-description{
	margin:16px 0 20px;
	padding-bottom:20px;
	border-bottom:1px solid var(--bgn-border);
	color:#2c333a;
	font-size:1rem;
	font-weight:400;
	line-height:1.65;
}
.bgn-commerce div.product .woocommerce-product-details__short-description > :last-child{margin-bottom:0}

.bgn-commerce div.product form.cart{
	display:flex;
	align-items:stretch;
	gap:12px;
	margin:22px 0 18px;
}
.bgn-commerce div.product form.cart .quantity{margin:0}
.bgn-commerce .quantity .qty{
	width:86px;
	min-height:54px;
	padding:8px;
	border:1px solid var(--bgn-border);
	border-radius:4px;
	background:#fff;
	color:var(--bgn-ink);
}
.bgn-commerce .button,
.bgn-commerce button.button,
.bgn-commerce a.button,
.bgn-commerce input.button{
	min-height:52px;
	padding:13px 22px;
	border:1px solid transparent;
	border-radius:4px;
	background:var(--bgn-yellow);
	color:var(--bgn-ink);
	font-weight:800;
	line-height:1.2;
	transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.bgn-commerce .button:hover,
.bgn-commerce button.button:hover,
.bgn-commerce a.button:hover,
.bgn-commerce input.button:hover{
	background:#ffd65a;
	color:var(--bgn-ink);
	box-shadow:0 10px 22px rgba(4,76,132,.12);
	transform:translateY(-1px);
}
.bgn-commerce div.product form.cart .single_add_to_cart_button{flex:1}

.bgn-product-actions{
	display:grid;
	gap:12px;
	margin-top:22px;
	padding-top:22px;
	border-top:1px solid var(--bgn-border);
}
.bgn-product-actions .bgn-button{width:100%}
.bgn-product-actions__consult{min-height:58px}
.bgn-product-actions__minimum{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	margin:0;
	padding:10px 18px;
	border:1px solid rgba(4,180,172,.28);
	border-radius:4px;
	background:rgba(4,180,172,.08);
	color:var(--bgn-navy);
	font-size:.95rem;
	font-weight:800;
	line-height:1.45;
	text-align:center;
}
.bgn-product-actions__secondary{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}
.bgn-product-actions__call{
	border-color:var(--bgn-blue);
	background:var(--bgn-blue);
	color:#fff;
}
.bgn-product-actions__call:hover{background:var(--bgn-navy);color:#fff}

.bgn-product-benefits{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:14px 24px;
	margin:24px 0 0;
	padding:22px 0 0;
	border-top:1px solid var(--bgn-border);
	list-style:none;
}
.bgn-product-benefits__item{
	display:flex;
	align-items:flex-start;
	gap:10px;
	color:#333b43;
	font-size:.91rem;
	font-weight:600;
	line-height:1.45;
}
.bgn-product-benefits__icon{
	display:grid;
	flex:0 0 28px;
	width:28px;
	height:28px;
	place-items:center;
	border-radius:50%;
	background:rgba(254,201,49,.18);
	color:#c78300;
}
.bgn-product-benefits__icon .bgn-icon{width:16px;height:16px}
.bgn-product-bulk-note{
	display:flex;
	align-items:flex-start;
	gap:9px;
	margin:20px 0 0;
	color:var(--bgn-muted);
	font-size:.86rem;
	font-weight:600;
}
.bgn-product-bulk-note .bgn-icon{
	flex:0 0 16px;
	width:16px;
	height:16px;
	margin-top:4px;
	color:var(--bgn-teal);
}
.bgn-commerce div.product .product_meta{
	margin-top:22px;
	padding-top:18px;
	border-top:1px solid var(--bgn-border);
	color:var(--bgn-muted);
	font-size:.82rem;
	font-weight:400;
	line-height:1.65;
}
.bgn-commerce div.product .product_meta > span{display:block;margin-top:4px}

/* Tabs and long-form product content preserve the semantic Woo structure. */
.bgn-commerce div.product .woocommerce-tabs,
.bgn-commerce div.product .related,
.bgn-commerce div.product .upsells{
	grid-column:1/-1;
	width:100%;
}
.bgn-commerce div.product .woocommerce-tabs{margin-top:clamp(40px,6vw,78px)}
.bgn-commerce div.product .woocommerce-tabs ul.tabs{
	display:flex;
	gap:8px;
	margin:0;
	padding:0 0 14px;
	border-bottom:1px solid var(--bgn-border);
	overflow-x:auto;
}
.bgn-commerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.bgn-commerce div.product .woocommerce-tabs ul.tabs li{
	margin:0;
	padding:0;
	border:0;
	border-radius:0;
	background:transparent;
}
.bgn-commerce div.product .woocommerce-tabs ul.tabs li::before,
.bgn-commerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.bgn-commerce div.product .woocommerce-tabs ul.tabs li a{
	display:block;
	padding:12px 16px;
	border-radius:4px;
	color:var(--bgn-muted);
	font-weight:800;
	white-space:nowrap;
}
.bgn-commerce div.product .woocommerce-tabs ul.tabs li.active a{
	background:var(--bgn-navy);
	color:#fff;
}
.bgn-commerce div.product .woocommerce-tabs .panel{
	margin:0;
	padding:clamp(28px,4vw,48px) 0 0;
	color:#333b43;
	font-weight:400;
	line-height:1.72;
}
.bgn-commerce div.product .woocommerce-tabs .panel > h2:first-child{margin-bottom:22px;font-size:clamp(1.65rem,2.5vw,2.25rem)}
.bgn-commerce div.product .woocommerce-tabs .panel > :last-child{margin-bottom:0}

.bgn-product-specifications{margin:0;border-top:1px solid var(--bgn-border)}
.bgn-product-specifications__row{
	display:grid;
	grid-template-columns:minmax(180px,.34fr) minmax(0,.66fr);
	gap:20px;
	padding:14px 16px;
	border-bottom:1px solid var(--bgn-border);
}
.bgn-product-specifications__row:nth-child(odd){background:var(--bgn-surface)}
.bgn-product-specifications dt{color:var(--bgn-navy);font-weight:800}
.bgn-product-specifications dd{margin:0;color:#333b43}

.bgn-product-faq{border-top:1px solid var(--bgn-border)}
.bgn-product-faq__item{border-bottom:1px solid var(--bgn-border)}
.bgn-product-faq__item summary{
	position:relative;
	padding:18px 42px 18px 0;
	color:var(--bgn-navy);
	font-weight:800;
	cursor:pointer;
	list-style:none;
}
.bgn-product-faq__item summary::-webkit-details-marker{display:none}
.bgn-product-faq__item summary::after{
	position:absolute;
	top:50%;
	right:8px;
	content:"+";
	font-size:1.45rem;
	font-weight:500;
	transform:translateY(-50%);
}
.bgn-product-faq__item[open] summary::after{content:"−"}
.bgn-product-faq__answer{padding:0 42px 18px 0;color:var(--bgn-muted)}
.bgn-product-faq__answer > :last-child{margin-bottom:0}

/* Progressive enhancement for long product descriptions. */
.bgn-product-description{position:relative}
.bgn-product-description__content{position:relative}
.bgn-product-description.is-collapsible .bgn-product-description__content{
	transition:max-height .34s var(--bgn-ease);
}
.bgn-product-description.is-collapsible.is-collapsed .bgn-product-description__content{
	max-height:var(--bgn-description-limit,480px);
	overflow:hidden;
}
.bgn-product-description.is-collapsible.is-collapsed .bgn-product-description__content::after{
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	height:104px;
	background:linear-gradient(180deg,rgba(255,255,255,0),#fff 86%);
	content:"";
	pointer-events:none;
}
.bgn-product-description__toggle{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	min-width:154px;
	min-height:46px;
	margin:24px auto 0;
	padding:10px 18px;
	border:1px solid var(--bgn-blue);
	border-radius:4px;
	background:#fff;
	color:var(--bgn-blue);
	font-weight:800;
	cursor:pointer;
}
.bgn-product-description__toggle:hover,
.bgn-product-description__toggle:focus-visible{background:var(--bgn-blue);color:#fff}
.bgn-product-description__toggle-icon{font-size:1.25rem;font-weight:500;line-height:1}

/* Extended single-product sections retain the parent theme's visual language. */
.bgn-commerce div.product > .bgn-product-project-gallery,
.bgn-commerce div.product > .bgn-product-reviews,
.bgn-commerce div.product > .bgn-personalized-proof,
.bgn-commerce div.product > .bgn-product-capability-wrap{
	grid-column:1/-1;
	width:100%;
	margin-top:clamp(54px,7vw,90px);
}
.bgn-commerce .bgn-product-project-gallery,
.bgn-commerce .bgn-product-reviews,
.bgn-commerce .bgn-product-capability-wrap .bgn-capability{
	border:1px solid rgba(4,76,132,.08);
	border-radius:12px;
	overflow:hidden;
}
.bgn-commerce .bgn-product-project-gallery,
.bgn-commerce .bgn-product-capability-wrap .bgn-capability{padding-block:clamp(56px,6vw,78px)}
.bgn-commerce .bgn-product-reviews{padding-block:clamp(56px,6vw,76px)}
.bgn-commerce .bgn-product-project-gallery .bgn-container,
.bgn-commerce .bgn-product-reviews .bgn-container,
.bgn-commerce .bgn-product-capability-wrap .bgn-container{
	width:100%;
	max-width:none;
	padding-inline:clamp(18px,3vw,38px);
}
.bgn-commerce .bgn-product-project-gallery .bgn-gallery__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.bgn-commerce .bgn-product-project-gallery .bgn-gallery-card{border-radius:8px}
.bgn-commerce .bgn-product-project-gallery .bgn-gallery__action{margin-top:30px;text-align:center}
.bgn-commerce .bgn-product-project-gallery .bgn-gallery__cta{min-width:min(100%,320px)}

.bgn-product-section-heading{max-width:780px;margin:0 auto 34px;text-align:center}
.bgn-product-section-heading .bgn-eyebrow{margin-bottom:14px;color:var(--bgn-orange)}
.bgn-product-section-heading h2{margin:0;color:var(--bgn-ink);font-size:clamp(2rem,3.2vw,2.9rem);line-height:1.1}
.bgn-product-section-heading__description{max-width:660px;margin:18px auto 0;color:var(--bgn-muted)}
.bgn-product-section-heading__description > :last-child{margin-bottom:0}
.bgn-commerce .bgn-product-reviews .bgn-testimonials__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.bgn-commerce .bgn-product-reviews .bgn-testimonial-card{min-height:280px;padding:28px}
.bgn-product-reviews__scope{
	max-width:760px;
	margin:24px auto 0;
	color:var(--bgn-muted);
	font-size:.8rem;
	font-style:italic;
	text-align:center;
}
.bgn-commerce .bgn-product-capability-wrap .bgn-capability__layout{width:min(100%,980px)}
.bgn-commerce .bgn-product-capability-wrap .bgn-capability__heading{margin-bottom:32px}
.bgn-commerce .bgn-product-capability-wrap .bgn-capability-card__link{white-space:normal}

/* Product archives and categories keep native ordering, result count and pagination. */
.bgn-commerce .woocommerce-products-header{margin-bottom:36px}
.bgn-commerce .woocommerce-products-header__title.page-title{font-size:clamp(2.35rem,4vw,3.75rem)}
.bgn-commerce .term-description,
.bgn-commerce .page-description{max-width:820px;margin-top:18px;color:var(--bgn-muted)}
.bgn-commerce .woocommerce-result-count{margin:10px 0 28px;color:var(--bgn-muted);font-size:.9rem}
.bgn-commerce .woocommerce-ordering{margin:0 0 28px}
.bgn-commerce .woocommerce-ordering select{
	min-height:48px;
	padding:8px 42px 8px 14px;
	border:1px solid var(--bgn-border);
	border-radius:4px;
	background:#fff;
	color:var(--bgn-ink);
}
.bgn-commerce ul.products{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:28px;
	clear:both;
	margin:0;
}
.bgn-commerce ul.products::before,
.bgn-commerce ul.products::after{display:none}
.bgn-commerce ul.products li.product{
	display:flex;
	float:none;
	flex-direction:column;
	width:100%;
	box-sizing:border-box;
	margin:0;
	padding:0 0 18px;
	border:0;
	border-radius:4px;
	background:#fff;
	box-shadow:0 10px 28px rgba(4,76,132,.065);
	overflow:hidden;
	transition:transform .22s var(--bgn-ease),box-shadow .22s ease,border-color .22s ease;
}
.woocommerce .bgn-commerce ul.products[class*="columns-"] li.product,
.woocommerce-page .bgn-commerce ul.products[class*="columns-"] li.product{
	float:none;
	clear:none;
	width:100%;
	margin:0;
}
.bgn-commerce ul.products li.product:hover{
	border-color:transparent;
	box-shadow:0 16px 34px rgba(4,76,132,.12);
	transform:translateY(-4px);
}
.bgn-commerce ul.products li.product a.woocommerce-loop-product__link{display:block}
.bgn-commerce ul.products li.product a img{
	width:100%;
	margin:0 0 14px;
	padding:clamp(2px,.45vw,6px);
	aspect-ratio:1/1;
	border-radius:0;
	background:var(--bgn-surface);
	image-rendering:auto;
	object-fit:contain;
	transition:transform .32s var(--bgn-ease);
}
.bgn-commerce ul.products li.product:hover a img{transform:scale(1.035)}
.bgn-commerce ul.products li.product .woocommerce-loop-product__title{
	padding:0 14px;
	color:var(--bgn-navy);
	font-size:1.12rem;
	line-height:1.35;
}
.bgn-commerce ul.products li.product .price{
	margin:10px 0 16px;
	padding:0 14px;
	color:var(--bgn-blue);
	font-size:1.04rem;
	font-weight:800;
}
.bgn-commerce ul.products li.product .button{width:calc(100% - 28px);margin:0 14px;text-align:center}
.bgn-commerce .woocommerce-pagination{margin-top:48px}
.bgn-commerce .woocommerce-pagination ul.page-numbers{display:flex;gap:8px;border:0}
.bgn-commerce .woocommerce-pagination ul.page-numbers li{border:0}
.bgn-commerce .woocommerce-pagination ul.page-numbers li span,
.bgn-commerce .woocommerce-pagination ul.page-numbers li a{
	display:grid;
	min-width:42px;
	height:42px;
	padding:8px;
	place-items:center;
	border:1px solid var(--bgn-border);
	border-radius:4px;
	background:#fff;
	color:var(--bgn-blue);
}
.bgn-commerce .woocommerce-pagination ul.page-numbers li span.current,
.bgn-commerce .woocommerce-pagination ul.page-numbers li a:hover{border-color:var(--bgn-navy);background:var(--bgn-navy);color:#fff}

.bgn-commerce div.product .related,
.bgn-commerce div.product .upsells{margin-top:clamp(54px,7vw,90px)}
.bgn-commerce div.product .related{position:relative}
.bgn-commerce div.product .related > h2,
.bgn-commerce div.product .upsells > h2{
	margin-bottom:30px;
	font-size:clamp(1.75rem,2.6vw,2.35rem);
	line-height:1.15;
}
.bgn-commerce div.product .related > h2{padding-right:116px}
.bgn-related-products__controls{
	position:absolute;
	top:-4px;
	right:0;
	display:flex;
	gap:10px;
}
.bgn-related-products__arrow{
	display:grid;
	width:46px;
	height:46px;
	padding:0;
	place-items:center;
	border:1px solid var(--bgn-border);
	border-radius:50%;
	background:#fff;
	color:var(--bgn-blue);
	font-size:1.2rem;
	font-weight:800;
	cursor:pointer;
	transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s var(--bgn-ease);
}
.bgn-related-products__arrow:hover,
.bgn-related-products__arrow:focus-visible{
	border-color:var(--bgn-blue);
	background:var(--bgn-blue);
	color:#fff;
	transform:translateY(-1px);
}
.bgn-related-products__arrow:disabled{opacity:.35;cursor:not-allowed;transform:none}
.bgn-commerce div.product .related ul.products{
	display:grid;
	grid-template-columns:none;
	grid-auto-flow:column;
	grid-auto-columns:calc((100% - 84px)/4);
	gap:28px;
	width:100%;
	padding:4px 2px 18px;
	overflow-x:auto;
	overflow-y:hidden;
	scroll-behavior:smooth;
	scroll-snap-type:x mandatory;
	scrollbar-width:none;
	overscroll-behavior-inline:contain;
}
.bgn-commerce div.product .related ul.products::-webkit-scrollbar{display:none}
.bgn-commerce div.product .related ul.products li.product{
	width:100%;
	height:auto;
	scroll-snap-align:start;
}

/* Cart, checkout and account inherit the same controls without changing core flow. */
.bgn-commerce-page .woocommerce form .form-row input.input-text,
.bgn-commerce-page .woocommerce form .form-row textarea,
.bgn-commerce-page .woocommerce form .form-row select,
.bgn-commerce-page .select2-container .select2-selection--single{
	min-height:48px;
	padding:9px 12px;
	border:1px solid var(--bgn-border);
	border-radius:4px;
	background:#fff;
}
.bgn-commerce-page .select2-container .select2-selection--single .select2-selection__rendered{line-height:28px}
.bgn-commerce-page .select2-container .select2-selection--single .select2-selection__arrow{height:46px}
.bgn-commerce-page .woocommerce table.shop_table{border-color:var(--bgn-border);border-radius:8px;background:#fff}
.bgn-commerce-page .woocommerce table.shop_table th{color:var(--bgn-navy);font-weight:800}

@media(max-width:1024px){
	.bgn-commerce div.product{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
	.bgn-commerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
	.bgn-commerce .bgn-product-project-gallery .bgn-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.bgn-commerce .bgn-product-reviews .bgn-testimonials__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.bgn-commerce div.product .related ul.products{grid-auto-columns:calc((100% - 22px)/2);gap:22px}
}

@media(max-width:767px){
	.bgn-commerce-page .bgn-commerce{padding-block:24px 76px}
	.bgn-commerce .woocommerce-breadcrumb{margin-bottom:20px;white-space:nowrap;overflow-x:auto}
	.bgn-commerce div.product{display:block}
	.woocommerce .bgn-commerce div.product div.images.woocommerce-product-gallery{position:relative;top:auto;bottom:auto;margin-bottom:30px}
	.bgn-commerce div.product .woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}
	.woocommerce .bgn-commerce div.product div.images .flex-control-thumbs li{flex:0 0 72px;scroll-snap-align:start}
	.bgn-commerce div.product .summary{padding-top:0}
	.bgn-commerce div.product .product_title{font-size:clamp(1.75rem,7.2vw,2.15rem)}
	.bgn-product-actions__secondary{grid-template-columns:1fr}
	.bgn-product-benefits{grid-template-columns:1fr;gap:12px}
	.bgn-commerce div.product form.cart{align-items:stretch;flex-direction:column}
	.bgn-commerce .quantity .qty{width:100%}
	.bgn-commerce div.product .woocommerce-tabs{margin-top:54px}
	.bgn-commerce div.product .woocommerce-tabs ul.tabs li a{padding:10px 12px;font-size:.88rem}
	.bgn-product-specifications__row{grid-template-columns:1fr;gap:4px;padding:13px 12px}
	.bgn-commerce div.product > .bgn-product-project-gallery,
	.bgn-commerce div.product > .bgn-product-reviews,
	.bgn-commerce div.product > .bgn-personalized-proof,
	.bgn-commerce div.product > .bgn-product-capability-wrap{margin-top:54px}
	.bgn-commerce .bgn-product-project-gallery,
	.bgn-commerce .bgn-product-reviews,
	.bgn-commerce .bgn-product-capability-wrap .bgn-capability{border-right:0;border-left:0;border-radius:0}
	.bgn-commerce .bgn-product-project-gallery .bgn-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
	.bgn-commerce .bgn-product-project-gallery .bgn-gallery-card{aspect-ratio:1/1}
	.bgn-commerce .bgn-product-project-gallery .bgn-gallery-card__caption{min-height:58%;padding:44px 10px 10px}
	.bgn-commerce .bgn-product-project-gallery .bgn-gallery-card__title{font-size:.8rem;line-height:1.25}
	.bgn-commerce .bgn-product-project-gallery .bgn-gallery-card__meta{gap:4px 7px;margin-top:5px}
	.bgn-commerce .bgn-product-project-gallery .bgn-gallery-card__technique,
	.bgn-commerce .bgn-product-project-gallery .bgn-gallery-card__customer{font-size:.54rem;letter-spacing:.025em}
	.bgn-commerce .bgn-product-reviews .bgn-testimonials__grid{
		display:flex;
		gap:14px;
		padding-bottom:10px;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		scrollbar-width:thin;
	}
	.bgn-commerce .bgn-product-reviews .bgn-testimonial-card{flex:0 0 86%;min-height:300px;scroll-snap-align:start}
	.bgn-product-section-heading{text-align:left}
	.bgn-product-section-heading__description{margin-left:0}
	.bgn-commerce .woocommerce-result-count,
	.bgn-commerce .woocommerce-ordering{float:none;width:100%}
	.bgn-commerce .woocommerce-ordering select{width:100%}
	.bgn-commerce ul.products{grid-template-columns:1fr;gap:18px}
	.bgn-commerce div.product .related ul.products{grid-auto-columns:calc((100% - 12px)/2);gap:12px}
	.bgn-commerce div.product .related ul.products li.product{padding:9px 9px 12px}
	.bgn-commerce div.product .related ul.products li.product a img{margin-bottom:12px}
	.bgn-commerce div.product .related ul.products li.product .woocommerce-loop-product__title{font-size:.9rem;line-height:1.3}
	.bgn-commerce div.product .related ul.products li.product .price{margin:6px 0 10px;font-size:.9rem}
	.bgn-commerce div.product .related ul.products li.product .button{min-height:44px;padding:10px 7px;font-size:.8rem}
	.bgn-commerce div.product .related > h2{padding-right:104px}
	.bgn-related-products__arrow{width:42px;height:42px}
}

body.bgn-product-consult-open{overflow:hidden}
.bgn-product-consult-modal{
	width:min(780px,calc(100% - 32px));
	max-width:none;
	max-height:calc(100dvh - 32px);
	padding:0;
	border:0;
	border-radius:14px;
	background:var(--bgn-white);
	color:var(--bgn-ink);
	box-shadow:0 28px 90px rgba(2,29,52,.3);
	overflow:auto;
}
.bgn-product-consult-modal:not([open]){display:none}
.bgn-product-consult-modal::backdrop{background:rgba(2,25,45,.68);backdrop-filter:blur(4px)}
.bgn-product-consult-modal__panel{position:relative;padding:clamp(24px,4vw,42px)}
.bgn-product-consult-modal__close{
	position:absolute;
	top:18px;
	right:18px;
	z-index:2;
	display:grid;
	width:42px;
	height:42px;
	place-items:center;
	padding:0;
	border:1px solid rgba(4,76,132,.18);
	border-radius:50%;
	background:#f5f9fb;
	color:var(--bgn-navy);
	font:400 1.7rem/1 Arial,sans-serif;
	cursor:pointer;
	transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
.bgn-product-consult-modal__close:hover{background:var(--bgn-blue);color:var(--bgn-white);transform:rotate(4deg)}
.bgn-product-consult-modal__close:focus-visible{outline:3px solid rgba(4,76,132,.2);outline-offset:3px}
.bgn-product-consult-modal__header{padding-right:54px}
.bgn-product-consult-modal__eyebrow{
	margin:0 0 7px;
	color:var(--bgn-blue);
	font-size:.78rem;
	font-weight:850;
	letter-spacing:.1em;
	text-transform:uppercase;
}
.bgn-product-consult-modal__header h2{margin:0;color:var(--bgn-navy);font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.15}
.bgn-product-consult-modal__description{max-width:640px;margin-top:10px;color:var(--bgn-muted);font-size:.96rem;line-height:1.65}
.bgn-product-consult-modal__description p{margin:0}
.bgn-product-consult-modal__product{
	display:flex;
	align-items:center;
	gap:14px;
	margin:22px 0;
	padding:12px;
	border:1px solid rgba(4,76,132,.14);
	border-radius:8px;
	background:#f3f8fb;
}
.bgn-product-consult-modal__thumb{flex:0 0 72px;width:72px;height:72px;overflow:hidden;border-radius:6px;background:var(--bgn-white)}
.bgn-product-consult-modal__thumb img{display:block;width:100%;height:100%;margin:0;object-fit:cover}
.bgn-product-consult-modal__product strong{display:block;color:var(--bgn-navy);font-size:1rem;line-height:1.35}
.bgn-product-consult-modal__product span{display:block;margin-top:5px;color:var(--bgn-muted);font-size:.78rem}
.bgn-product-consult-form .bgn-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px;margin:0;padding:0;border:0;min-inline-size:0}
.bgn-product-consult-form .bgn-field{min-width:0}
.bgn-product-consult-form .bgn-field--full{grid-column:1/-1}
.bgn-product-consult-form .bgn-field label{display:block;margin-bottom:7px;color:var(--bgn-navy);font-size:.86rem;font-weight:800}
.bgn-product-consult-form .bgn-field__optional,
.bgn-product-consult-form .bgn-field__hint{color:var(--bgn-muted);font-size:.75rem;font-weight:500}
.bgn-product-consult-form .bgn-field__hint{margin:6px 0 0}
.bgn-product-consult-form .bgn-field input,
.bgn-product-consult-form .bgn-field select,
.bgn-product-consult-form .bgn-field textarea{
	width:100%;
	min-height:50px;
	border:1px solid rgba(4,76,132,.24);
	border-radius:5px;
	background-color:var(--bgn-white);
	color:var(--bgn-ink);
	font:inherit;
	transition:border-color .16s ease,box-shadow .16s ease;
}
.bgn-product-consult-form .bgn-field input,
.bgn-product-consult-form .bgn-field select{padding:0 13px}
.bgn-product-consult-form .bgn-field textarea{min-height:94px;padding:12px 13px;resize:vertical}
.bgn-product-consult-form .bgn-field input::placeholder,
.bgn-product-consult-form .bgn-field textarea::placeholder{color:#87939d;opacity:1}
.bgn-product-consult-form .bgn-field input:focus,
.bgn-product-consult-form .bgn-field select:focus,
.bgn-product-consult-form .bgn-field textarea:focus{border-color:var(--bgn-blue);outline:0;box-shadow:0 0 0 3px rgba(4,76,132,.12)}
.bgn-product-consult-form .bgn-field input:user-invalid,
.bgn-product-consult-form .bgn-field select:user-invalid,
.bgn-product-consult-form .bgn-form__consent input:user-invalid{border-color:var(--bgn-orange);box-shadow:0 0 0 3px rgba(255,67,40,.1)}
.bgn-product-consult-form .bgn-field input[type="file"]{height:auto;min-height:54px;padding:6px;color:var(--bgn-muted);cursor:pointer}
.bgn-product-consult-form .bgn-field input[type="file"]::file-selector-button{
	min-height:40px;
	margin-right:10px;
	padding:8px 12px;
	border:0;
	border-radius:4px;
	background:#e8f2f7;
	color:var(--bgn-blue);
	font-weight:800;
	cursor:pointer;
}
.bgn-product-consult-form .bgn-form__consent{display:grid;grid-template-columns:22px 1fr;align-items:start;gap:10px;margin-top:20px;color:var(--bgn-muted);font-size:.84rem;line-height:1.55}
.bgn-product-consult-form .bgn-form__consent input{width:21px;height:21px;margin:1px 0 0;accent-color:var(--bgn-blue);cursor:pointer}
.bgn-product-consult-form .bgn-form__consent label{cursor:pointer}
.bgn-product-consult-form .bgn-form__consent a{color:var(--bgn-blue);font-weight:750;text-decoration:underline;text-underline-offset:3px}
.bgn-product-consult-form .bgn-form__submit{width:100%;min-height:54px;margin-top:14px;border-radius:5px;background:var(--bgn-yellow);color:var(--bgn-navy);box-shadow:none}
.bgn-product-consult-form .bgn-form__submit:hover{background:#ffd64f;box-shadow:0 10px 24px rgba(3,49,85,.14)}
.bgn-product-consult-form .bgn-form__submit:disabled{cursor:wait;opacity:.7}
.bgn-product-consult-form .bgn-form__status{display:block;min-height:22px;margin:10px 0 0;color:var(--bgn-muted);font-size:.84rem;font-weight:650}
.bgn-product-consult-form.has-error .bgn-form__status{color:#a52916}
.bgn-product-consult-form .bgn-form__success:not([hidden]){margin-top:14px;padding:16px;border:1px solid rgba(4,76,132,.2);border-radius:6px;background:#edf7fb;color:var(--bgn-muted)}
.bgn-product-consult-form .bgn-form__success h3{margin:0 0 6px;color:var(--bgn-navy);font-size:1.2rem}
.bgn-product-consult-form .bgn-form__success p:last-child{margin-bottom:0}

@media(max-width:767px){
	.bgn-product-consult-modal{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:10px}
	.bgn-product-consult-modal__panel{padding:20px 17px 24px}
	.bgn-product-consult-modal__close{top:12px;right:12px;width:38px;height:38px}
	.bgn-product-consult-modal__header{padding-right:42px}
	.bgn-product-consult-modal__header h2{font-size:1.55rem}
	.bgn-product-consult-modal__description{font-size:.9rem;line-height:1.55}
	.bgn-product-consult-modal__product{gap:11px;margin:17px 0;padding:9px}
	.bgn-product-consult-modal__thumb{flex-basis:60px;width:60px;height:60px}
	.bgn-product-consult-modal__product strong{font-size:.9rem}
	.bgn-product-consult-form .bgn-form__grid{grid-template-columns:1fr;gap:14px}
	.bgn-product-consult-form .bgn-field--full{grid-column:auto}
	.bgn-product-consult-form .bgn-field input,
	.bgn-product-consult-form .bgn-field select{min-height:48px}
	.bgn-product-consult-form .bgn-form__consent{margin-top:17px}
}

@media(prefers-reduced-motion:reduce){
	.bgn-product-description.is-collapsible .bgn-product-description__content,
	.bgn-commerce div.product .woocommerce-product-gallery .flex-control-thumbs img,
	.bgn-commerce ul.products li.product,
	.bgn-commerce ul.products li.product a img{transition:none}
}

/* Flat, full-width single-product sections aligned with the homepage. */
.single-product .bgn-commerce div.product .woocommerce-tabs{
	margin-top:clamp(58px,7vw,94px);
	padding-top:clamp(28px,3vw,42px);
	border-top:1px solid rgba(4,76,132,.12);
}

.single-product .bgn-commerce div.product .woocommerce-tabs ul.tabs{
	gap:0;
	padding-bottom:0;
}

.single-product .bgn-commerce div.product .woocommerce-tabs ul.tabs li a{
	padding:12px 18px;
	border-radius:0;
}

.single-product .bgn-commerce div.product .woocommerce-tabs ul.tabs li.active a{
	box-shadow:inset 0 -3px 0 var(--bgn-yellow);
}

.single-product .bgn-commerce div.product > .bgn-product-project-gallery,
.single-product .bgn-commerce div.product > .bgn-product-reviews,
.single-product .bgn-commerce div.product > .bgn-personalized-proof,
.single-product .bgn-commerce div.product > .bgn-product-capability-wrap{
	width:100vw;
	margin-top:0;
	margin-left:calc(50% - 50vw);
}

.single-product .bgn-commerce .bgn-product-project-gallery,
.single-product .bgn-commerce .bgn-product-reviews,
.single-product .bgn-commerce .bgn-product-capability-wrap .bgn-capability{
	border:0;
	border-radius:0;
	box-shadow:none;
}

.single-product .bgn-commerce .bgn-product-project-gallery,
.single-product .bgn-commerce .bgn-product-capability-wrap .bgn-capability{
	padding-block:clamp(64px,7vw,88px);
}

.single-product .bgn-commerce .bgn-product-project-gallery{
	border-top:1px solid rgba(4,76,132,.08);
	border-bottom:1px solid rgba(4,76,132,.08);
	background:#f4f9fb;
}

.single-product .bgn-commerce .bgn-product-reviews{
	padding-block:clamp(68px,8vw,100px);
}

.single-product .bgn-commerce .bgn-product-project-gallery .bgn-container,
.single-product .bgn-commerce .bgn-product-reviews .bgn-container,
.single-product .bgn-commerce .bgn-product-capability-wrap .bgn-container{
	width:min(calc(100% - 64px),var(--bgn-container));
	max-width:var(--bgn-container);
	margin-inline:auto;
	padding-inline:0;
}

.single-product .bgn-commerce .bgn-product-project-gallery .bgn-gallery-card{
	border-radius:0;
}

.single-product .bgn-commerce div.product .related,
.single-product .bgn-commerce div.product .upsells{
	margin-top:0;
	padding-top:clamp(54px,6vw,76px);
	border-top:1px solid rgba(4,76,132,.12);
}

.single-product .bgn-related-products__controls{gap:0}

.single-product .bgn-related-products__arrow{
	border-radius:0;
	box-shadow:none;
}

.single-product .bgn-related-products__arrow:hover,
.single-product .bgn-related-products__arrow:focus-visible{
	transform:none;
}

.single-product .bgn-commerce div.product .related ul.products{
	gap:clamp(14px,2vw,24px);
	padding:0 0 18px;
	grid-auto-columns:calc((100% - clamp(42px,6vw,72px))/4);
}

.single-product .bgn-commerce div.product .related ul.products li.product{
	padding:0 0 16px;
	border-radius:0;
	box-shadow:none;
	transform:none;
}

.single-product .bgn-commerce div.product .related ul.products li.product:hover{
	border-color:var(--bgn-blue);
	box-shadow:none;
	transform:none;
}

.single-product .bgn-commerce div.product .related ul.products li.product a img,
.single-product .bgn-commerce div.product .related ul.products li.product:hover a img{
	margin-bottom:15px;
	border-radius:0;
	transform:none;
}

.single-product .bgn-commerce div.product .related ul.products li.product .woocommerce-loop-product__title{
	min-height:2.75em;
	padding-inline:15px;
	font-size:clamp(.94rem,1.15vw,1.06rem);
	line-height:1.36;
}

.single-product .bgn-commerce div.product .related ul.products li.product .price{
	padding-inline:15px;
	font-size:.98rem;
}

.single-product .bgn-commerce div.product .related ul.products li.product .button{
	min-height:46px;
	margin-inline:15px;
	padding:11px 12px;
	border-radius:3px;
	font-size:.82rem;
}

@media(max-width:1024px){
	.single-product .bgn-commerce div.product .related ul.products{
		grid-auto-columns:calc((100% - 22px)/2);
		gap:22px;
	}
}

@media(max-width:767px){
	.single-product .bgn-commerce div.product .woocommerce-tabs{
		margin-top:58px;
		padding-top:26px;
	}
	.single-product .bgn-commerce div.product > .bgn-product-project-gallery,
	.single-product .bgn-commerce div.product > .bgn-product-reviews,
	.single-product .bgn-commerce div.product > .bgn-personalized-proof,
	.single-product .bgn-commerce div.product > .bgn-product-capability-wrap{
		margin-top:0;
	}
	.single-product .bgn-commerce .bgn-product-project-gallery .bgn-container,
	.single-product .bgn-commerce .bgn-product-reviews .bgn-container,
	.single-product .bgn-commerce .bgn-product-capability-wrap .bgn-container{
		width:min(calc(100% - 30px),var(--bgn-container));
	}
	.single-product .bgn-commerce .bgn-product-project-gallery,
	.single-product .bgn-commerce .bgn-product-reviews,
	.single-product .bgn-commerce .bgn-product-capability-wrap .bgn-capability{
		border:0;
	}
	.single-product .bgn-commerce .bgn-product-project-gallery .bgn-gallery__grid{
		gap:1px;
		background:rgba(4,76,132,.12);
	}
	.single-product .bgn-commerce .bgn-product-project-gallery .bgn-gallery-card{
		border-radius:0;
	}
	.single-product .bgn-commerce div.product .related,
	.single-product .bgn-commerce div.product .upsells{
		margin-top:0;
		padding-top:48px;
	}
	.single-product .bgn-commerce div.product .related ul.products{
		grid-auto-columns:calc((100% - 12px)/2);
		gap:12px;
	}
	.single-product .bgn-commerce div.product .related ul.products li.product{
		padding:0 0 12px;
	}
}
