/* Premium WooCommerce single-product studio.
 *
 * Presentation only: KCB Commerce Bridge still owns checkout mode, purchase
 * markup, URL selection and Add-to-Cart suppression. This stylesheet enhances
 * the bridge's public contracts and WooCommerce's native form in place.
 */

.single-product{
	--kcb-product-card:#fffefb;
	--kcb-product-line:rgba(32,33,31,.12);
	--kcb-product-shadow:0 20px 55px rgba(61,48,31,.09);
}

.single-product .kcb-woo-main{
	padding:clamp(1.4rem,3vw,2.6rem) 0 clamp(4rem,8vw,7rem);
}

.single-product .kcb-woo-main>.kcb-shell{
	width:min(calc(100% - 48px),1320px);
}

.single-product .woocommerce-breadcrumb{
	margin:0 0 clamp(1.2rem,2.5vw,2rem);
	color:var(--kcb-muted);
	font-size:.76rem;
	font-weight:650;
	letter-spacing:.025em;
}

.single-product .woocommerce-breadcrumb a{
	color:var(--kcb-muted);
	text-decoration:none;
}

.single-product .woocommerce-breadcrumb a:hover,
.single-product .woocommerce-breadcrumb a:focus-visible{
	color:var(--kcb-ink);
}

.single-product.woocommerce .kcb-product-hero{
	display:grid;
	grid-template-columns:minmax(0,1.16fr) minmax(400px,.94fr);
	column-gap:clamp(2.5rem,4.6vw,4.5rem);
	row-gap:0;
	align-items:start;
}

.single-product.woocommerce .kcb-product-hero::before,
.single-product.woocommerce .kcb-product-hero::after{
	display:none;
}

/* Gallery --------------------------------------------------------------- */
.single-product.woocommerce div.product div.images{
	float:none;
	width:auto;
	min-width:0;
	margin:0;
}

.single-product .woocommerce-product-gallery{
	position:relative;
}

.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery .flex-viewport{
	border:1px solid var(--kcb-product-line);
	border-radius:24px;
	background:var(--kcb-product-card);
	box-shadow:var(--kcb-product-shadow);
	overflow:hidden;
}

.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper{
	border:0;
	border-radius:0;
	box-shadow:none;
}

.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image--placeholder{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	aspect-ratio:4/5;
	padding:clamp(.7rem,1.6vw,1.25rem);
	background:linear-gradient(145deg,#fffefb,var(--kcb-surface));
	overflow:hidden;
}

.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery__image--placeholder img{
	display:block;
	width:100%;
	height:100%;
	margin:0;
	object-fit:contain;
	transition:transform var(--kcb-dur-base) var(--kcb-ease);
}

.single-product .woocommerce-product-gallery__image a:hover img{
	transform:scale(1.012);
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{
	top:1rem;
	right:1rem;
	display:grid;
	place-items:center;
	width:46px;
	height:46px;
	border:1px solid var(--kcb-product-line);
	border-radius:50%;
	background:rgba(255,254,251,.92);
	box-shadow:0 8px 24px rgba(32,33,31,.09);
	backdrop-filter:blur(8px);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs{
	display:grid;
	grid-template-columns:repeat(5,minmax(72px,88px));
	justify-content:start;
	gap:.75rem;
	margin:1rem 0 0;
	padding:0;
}

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

.single-product .woocommerce-product-gallery .flex-control-thumbs img{
	display:block;
	width:100%;
	aspect-ratio:1;
	padding:.18rem;
	border:1px solid var(--kcb-product-line);
	border-radius:12px;
	background:#fff;
	object-fit:contain;
	opacity:.78;
	transition:border-color var(--kcb-dur-fast) ease,box-shadow var(--kcb-dur-fast) ease,opacity var(--kcb-dur-fast) ease,transform var(--kcb-dur-fast) var(--kcb-ease);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
.single-product .woocommerce-product-gallery .flex-control-thumbs img:focus-visible,
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{
	border-color:var(--kcb-coral);
	box-shadow:0 0 0 3px rgba(239,107,91,.15);
	opacity:1;
	transform:translateY(-2px);
}

/* Purchase studio ------------------------------------------------------- */
.single-product.woocommerce .kcb-product-hero .summary.entry-summary{
	position:sticky;
	top:calc(var(--kcb-header-h) + 2rem);
	float:none;
	width:auto;
	min-width:0;
	margin:0;
	padding:.3rem 0 0;
}

.kcb-single-product-badge{
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	min-height:30px;
	margin:0 0 1rem;
	padding:.34rem .7rem;
	border-radius:999px;
	background:#eaf3f8;
	color:#245f79;
	font-size:.69rem;
	font-weight:850;
	letter-spacing:.09em;
	line-height:1;
	text-transform:uppercase;
}

.kcb-single-product-badge::before{
	content:"";
	width:13px;
	height:11px;
	border:1.7px solid currentColor;
	border-top:0;
	border-radius:2px;
	background:linear-gradient(currentColor,currentColor) 50% 0/1.7px 7px no-repeat;
}

.single-product.woocommerce div.product .product_title{
	max-width:20ch;
	margin:0 0 .8rem;
	font-size:clamp(2.1rem,3.1vw,3.35rem);
	font-weight:850;
	line-height:1.04;
	letter-spacing:-.045em;
	text-wrap:pretty;
}

.single-product.woocommerce div.product p.price,
.single-product.woocommerce div.product span.price{
	display:block;
	margin:0 0 .7rem;
	color:var(--kcb-coral-text);
	font-size:clamp(1.55rem,2.2vw,2rem);
	font-weight:900;
	line-height:1.15;
	letter-spacing:-.025em;
}

.single-product .woocommerce-product-details__short-description{
	max-width:58ch;
	margin:0 0 1.15rem;
	color:#50524e;
	font-size:clamp(.98rem,1.2vw,1.08rem);
	font-weight:510;
	line-height:1.62;
}

.single-product .woocommerce-product-details__short-description p:last-child{
	margin-bottom:0;
}

.kcb-product-highlights{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:.7rem;
	margin:1.35rem 0 1.15rem;
}

.kcb-product-highlight{
	display:grid;
	grid-template-columns:40px minmax(0,1fr);
	gap:.7rem;
	align-items:center;
	min-height:72px;
	padding:.75rem .85rem;
	border:1px solid var(--kcb-product-line);
	border-radius:14px;
	background:rgba(255,254,251,.78);
	box-shadow:0 7px 18px rgba(61,48,31,.035);
	transition:border-color var(--kcb-dur-fast) ease,box-shadow var(--kcb-dur-fast) ease,transform var(--kcb-dur-fast) var(--kcb-ease);
}

.kcb-product-highlight:hover{
	border-color:rgba(32,33,31,.22);
	box-shadow:0 10px 24px rgba(61,48,31,.065);
	transform:translateY(-2px);
}

.kcb-product-highlight__icon{
	display:grid;
	place-items:center;
	width:40px;
	height:40px;
	border-radius:50%;
	box-shadow:inset 0 0 0 1px rgba(32,33,31,.06);
	color:var(--kcb-ink);
	font-size:1rem;
	font-weight:900;
	line-height:1;
}

.kcb-product-highlight--age .kcb-product-highlight__icon{background:#dff1e3;color:var(--kcb-green-text)}
.kcb-product-highlight--pages .kcb-product-highlight__icon{background:#eee5fb;color:#7653aa}
.kcb-product-highlight--format .kcb-product-highlight__icon{background:#f9eccd;color:#936300}
.kcb-product-highlight--size .kcb-product-highlight__icon{background:#dfedf8;color:var(--kcb-sky-text)}
.kcb-product-highlight--age .kcb-product-highlight__icon::before{content:"☺"}
.kcb-product-highlight--pages .kcb-product-highlight__icon::before{content:"▤"}
.kcb-product-highlight--format .kcb-product-highlight__icon::before{content:"PDF";font-size:.48rem;letter-spacing:-.02em}
.kcb-product-highlight--size .kcb-product-highlight__icon::before{content:"↔"}

.kcb-product-highlight__copy,
.kcb-product-highlight__label,
.kcb-product-highlight strong{
	display:block;
	min-width:0;
}

.kcb-product-highlight__label{
	margin:0 0 .12rem;
	color:#686a65;
	font-size:.63rem;
	font-weight:900;
	letter-spacing:.08em;
	line-height:1.2;
	text-transform:uppercase;
}

.kcb-product-highlight strong{
	font-size:.9rem;
	font-weight:780;
	line-height:1.3;
	overflow-wrap:anywhere;
}

/* Bridge-owned Gumroad markup, theme-owned visual treatment. */
.single-product .kcb-commerce-bridge{
	margin:1rem 0 .75rem;
}

.single-product .kcb-commerce-bridge[data-kcb-checkout="gumroad"] .kcb-gumroad-checkout,
.single-product.woocommerce div.product form.cart .single_add_to_cart_button{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.8rem;
	width:100%;
	min-height:56px;
	margin:0;
	padding:.88rem 1.25rem;
	border:2px solid var(--kcb-coral)!important;
	border-radius:13px!important;
	background:var(--kcb-coral)!important;
	box-shadow:0 11px 24px rgba(218,55,29,.16);
	color:var(--kcb-ink)!important;
	font-size:1rem!important;
	font-weight:850!important;
	line-height:1.15!important;
	text-align:center;
	text-decoration:none!important;
	cursor:pointer;
	transition:background-color var(--kcb-dur-fast) ease,border-color var(--kcb-dur-fast) ease,box-shadow var(--kcb-dur-fast) ease,transform var(--kcb-dur-fast) var(--kcb-ease);
}

.single-product .kcb-commerce-bridge[data-kcb-checkout="gumroad"] .kcb-gumroad-checkout::after,
.single-product.woocommerce div.product form.cart .single_add_to_cart_button::after{
	content:"→";
	font-size:1.25em;
	font-weight:650;
	line-height:1;
	transition:transform var(--kcb-dur-fast) var(--kcb-ease);
}

.single-product .kcb-commerce-bridge[data-kcb-checkout="gumroad"] .kcb-gumroad-checkout:hover,
.single-product .kcb-commerce-bridge[data-kcb-checkout="gumroad"] .kcb-gumroad-checkout:focus-visible,
.single-product.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.single-product.woocommerce div.product form.cart .single_add_to_cart_button:focus-visible{
	border-color:#df5a45!important;
	background:#df5a45!important;
	box-shadow:0 14px 30px rgba(218,55,29,.22);
	transform:translateY(-2px);
}

.single-product .kcb-commerce-bridge[data-kcb-checkout="gumroad"] .kcb-gumroad-checkout:hover::after,
.single-product .kcb-commerce-bridge[data-kcb-checkout="gumroad"] .kcb-gumroad-checkout:focus-visible::after,
.single-product.woocommerce div.product form.cart .single_add_to_cart_button:hover::after,
.single-product.woocommerce div.product form.cart .single_add_to_cart_button:focus-visible::after{
	transform:translateX(3px);
}

.single-product .kcb-commerce-bridge__note{
	margin:.48rem 0 0;
	color:#85817a;
	font-size:.75rem;
	line-height:1.35;
	text-align:center;
}

.single-product .kcb-commerce-bridge__note small{
	font-size:inherit;
}

.single-product .kcb-commerce-bridge--unavailable{
	margin:1rem 0;
	padding:1rem 1.1rem 1.05rem;
	border:1px solid rgba(218,55,29,.24);
	border-left:4px solid var(--kcb-coral);
	border-radius:14px;
	background:#fff8f5;
	box-shadow:none;
}

.single-product .kcb-commerce-bridge--unavailable strong{
	display:block;
	margin-bottom:.25rem;
	font-size:.95rem;
}

.single-product .kcb-commerce-bridge--unavailable p{
	margin:0;
	color:var(--kcb-muted);
	font-size:.86rem;
	line-height:1.45;
}

.single-product .kcb-commerce-unavailable__admin{
	display:inline-flex;
	min-height:44px;
	align-items:center;
	margin-top:.6rem;
	font-size:.8rem;
	font-weight:780;
}

.single-product.woocommerce div.product form.cart{
	display:flex;
	align-items:stretch;
	gap:.65rem;
	margin:1rem 0 .8rem;
}

.single-product.woocommerce div.product form.cart .quantity{
	flex:0 0 72px;
}

.single-product.woocommerce div.product form.cart .quantity .qty{
	width:100%;
	height:56px;
	border:1px solid var(--kcb-product-line);
	border-radius:12px;
	background:#fff;
}

.single-product.woocommerce div.product form.cart .single_add_to_cart_button{
	flex:1 1 auto;
}

.kcb-product-preview{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.65rem;
	width:100%;
	min-height:50px;
	margin:.7rem 0;
	padding:.72rem 1rem;
	border:1.5px solid var(--kcb-sky-text);
	border-radius:12px;
	background:transparent;
	color:#245f79;
	font-size:.88rem;
	font-weight:800;
	line-height:1.2;
	text-align:center;
	text-decoration:none;
	transition:background-color var(--kcb-dur-fast) ease,border-color var(--kcb-dur-fast) ease,transform var(--kcb-dur-fast) var(--kcb-ease);
}

.kcb-product-preview>span{
	position:relative;
	width:18px;
	height:12px;
	border:1.7px solid currentColor;
	border-radius:60% 40% 60% 40%;
	transform:rotate(45deg);
}

.kcb-product-preview>span::after{
	content:"";
	position:absolute;
	inset:3px;
	border-radius:50%;
	background:currentColor;
}

.kcb-product-preview:hover,
.kcb-product-preview:focus-visible{
	border-color:var(--kcb-ink);
	background:#edf6fa;
	color:var(--kcb-ink);
	text-decoration:none;
	transform:translateY(-1px);
}

.kcb-digital-note{
	display:grid;
	grid-template-columns:22px auto 1fr;
	gap:.25rem .5rem;
	align-items:center;
	margin:.75rem 0 0;
	padding:.72rem .85rem;
	border:0;
	border-radius:11px;
	background:rgba(247,242,232,.72);
	color:var(--kcb-muted);
	font-size:.76rem;
	line-height:1.35;
}

.kcb-digital-note::before{
	content:"i";
	display:grid;
	place-items:center;
	grid-row:1;
	width:18px;
	height:18px;
	border:1.5px solid currentColor;
	border-radius:50%;
	font-size:.68rem;
	font-weight:900;
}

.kcb-digital-note strong{
	grid-column:2;
	color:var(--kcb-ink);
	font-size:inherit;
}

.kcb-digital-note span{
	grid-column:3;
	color:var(--kcb-muted);
}

.single-product .kcb-purchase-reassurance{
	display:none;
}

/* Product content ------------------------------------------------------- */
.single-product.woocommerce div.product>.woocommerce-tabs{
	width:100%;
	margin-top:clamp(3.25rem,7vw,6.5rem);
	padding:clamp(1.25rem,3vw,2.3rem) clamp(1.25rem,3.2vw,2.75rem);
	border:1px solid var(--kcb-product-line);
	border-radius:24px;
	background:var(--kcb-product-card);
	box-shadow:0 18px 50px rgba(61,48,31,.065);
}

.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs{
	display:flex;
	flex-wrap:wrap;
	gap:.35rem 1.35rem;
	margin:0;
	padding:0 0 .9rem;
	border:0;
	border-bottom:1px solid var(--kcb-product-line);
}

.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs::before,
.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs::after{
	display:none;
}

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

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

.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs li a{
	position:relative;
	display:block;
	min-height:44px;
	padding:.7rem .1rem!important;
	color:var(--kcb-muted)!important;
	font-size:.86rem;
	font-weight:780!important;
	text-decoration:none;
}

.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs li a::after{
	content:"";
	position:absolute;
	left:50%;
	right:50%;
	bottom:-.95rem;
	height:3px;
	border-radius:999px;
	background:var(--kcb-coral);
	transition:left var(--kcb-dur-fast) var(--kcb-ease),right var(--kcb-dur-fast) var(--kcb-ease);
}

.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs li.active a,
.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs li a:hover,
.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs li a:focus-visible{
	color:var(--kcb-ink)!important;
}

.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs li.active a::after,
.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs li a:hover::after,
.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs li a:focus-visible::after{
	left:0;
	right:0;
}

.single-product.woocommerce div.product>.woocommerce-tabs .panel{
	max-width:none;
	margin:0;
	padding:clamp(1.6rem,3.5vw,3rem) 0 .15rem;
	color:#4f514d;
	font-size:.98rem;
	line-height:1.7;
}

.single-product.woocommerce div.product>.woocommerce-tabs .panel>h2:first-child{
	font-size:clamp(1.5rem,2.5vw,2.15rem);
}

.single-product.woocommerce div.product>.woocommerce-tabs .panel h2,
.single-product.woocommerce div.product>.woocommerce-tabs .panel h3{
	margin-top:1.6em;
	color:var(--kcb-ink);
}

.single-product.woocommerce div.product>.woocommerce-tabs .panel h2:first-child,
.single-product.woocommerce div.product>.woocommerce-tabs .panel h3:first-child{
	margin-top:0;
}

.single-product.woocommerce div.product>.woocommerce-tabs .panel ul,
.single-product.woocommerce div.product>.woocommerce-tabs .panel ol{
	padding-left:1.15rem;
}

.single-product.woocommerce div.product>.woocommerce-tabs .panel li{
	margin:.35rem 0;
	padding-left:.15rem;
}

/* A description-only product reads as one editorial section, not an empty
 * tab interface. WooCommerce keeps the semantic panel and its heading. */
.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs:has(li:only-child){
	display:none;
}

.single-product #tab-description>p:first-of-type{
	max-width:72ch;
	margin:0 0 clamp(2rem,4vw,3.2rem);
	color:#454743;
	font-size:clamp(1.02rem,1.5vw,1.16rem);
	line-height:1.72;
}

.single-product #tab-description>h2:not(:first-child){
	display:flex;
	align-items:center;
	gap:.65rem;
	margin:clamp(2rem,4vw,3.25rem) 0 .85rem;
	font-size:clamp(1.25rem,2vw,1.65rem);
	letter-spacing:-.025em;
}

.single-product #tab-description>h2:not(:first-child)::before{
	content:"";
	flex:0 0 10px;
	width:10px;
	height:10px;
	border-radius:50%;
	background:var(--kcb-coral);
	box-shadow:16px 0 0 var(--kcb-sky),32px 0 0 var(--kcb-yellow);
	margin-right:2rem;
}

.single-product #tab-description>ul,
.single-product #tab-description>ol{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:.65rem 1.4rem;
	margin:0;
	padding:clamp(1rem,2.2vw,1.45rem) clamp(1rem,2.4vw,1.65rem);
	border:1px solid var(--kcb-product-line);
	border-radius:16px;
	background:rgba(255,252,245,.58);
	list-style-position:outside;
}

.single-product #tab-description>ol{
	grid-template-columns:repeat(4,minmax(0,1fr));
	counter-reset:kcb-steps;
	list-style:none;
}

.single-product #tab-description>ol>li{
	position:relative;
	margin:0;
	padding:.15rem 0 .15rem 2.15rem;
	counter-increment:kcb-steps;
}

.single-product #tab-description>ol>li::before{
	content:counter(kcb-steps);
	position:absolute;
	left:0;
	top:0;
	display:grid;
	place-items:center;
	width:1.55rem;
	height:1.55rem;
	border-radius:50%;
	background:var(--kcb-ink);
	color:#fff;
	font-size:.72rem;
	font-weight:850;
}

.single-product #tab-description>p:nth-last-child(-n+2){
	margin:1rem 0 0;
	padding:.85rem 1rem;
	border-left:3px solid var(--kcb-sky);
	border-radius:0 10px 10px 0;
	background:rgba(223,237,248,.35);
	color:#555752;
	font-size:.9rem;
}

/* Existing description copy is grouped at render time; the theme adds only
 * semantic presentation wrappers and never rewrites product facts. */
.single-product .kcb-product-content-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:clamp(.85rem,1.6vw,1.2rem);
	margin:clamp(2rem,4vw,3.2rem) 0 1.2rem;
}

.single-product .kcb-product-content-card{
	--kcb-content-accent:var(--kcb-coral);
	display:flex;
	flex-direction:column;
	min-width:0;
	padding:clamp(1.15rem,2vw,1.5rem);
	border:1px solid var(--kcb-product-line);
	border-radius:18px;
	background:rgba(255,252,245,.66);
	box-shadow:0 9px 24px rgba(61,48,31,.035);
}

.single-product .kcb-product-content-card--sky{
	--kcb-content-accent:var(--kcb-sky);
}

.single-product .kcb-product-content-card--yellow{
	--kcb-content-accent:var(--kcb-yellow);
}

.single-product .kcb-product-content-card>h2,
.single-product .kcb-product-content-card>h3{
	display:flex;
	align-items:center;
	gap:.65rem;
	margin:0 0 1rem!important;
	font-size:clamp(1.15rem,1.55vw,1.42rem)!important;
	letter-spacing:-.025em;
}

.single-product .kcb-product-content-card>h2::before,
.single-product .kcb-product-content-card>h3::before{
	content:"";
	flex:0 0 30px;
	width:30px;
	height:30px;
	border-radius:10px;
	background:color-mix(in srgb,var(--kcb-content-accent) 58%,white);
	box-shadow:inset 0 0 0 1px rgba(32,33,31,.06);
}

.single-product .kcb-product-content-card>ul,
.single-product .kcb-product-content-card>ol{
	display:block;
	margin:0;
	padding:0 0 0 1.15rem;
	border:0;
	border-radius:0;
	background:transparent;
	font-size:.93rem;
	line-height:1.62;
}

.single-product .kcb-product-content-card>ol{
	counter-reset:kcb-steps;
	list-style:none;
	padding-left:0;
}

.single-product .kcb-product-content-card>ol>li{
	position:relative;
	margin:.45rem 0;
	padding:.05rem 0 .05rem 2rem!important;
	counter-increment:kcb-steps;
}

.single-product .kcb-product-content-card>ol>li::before{
	content:counter(kcb-steps);
	position:absolute;
	left:0;
	top:0;
	display:grid;
	place-items:center;
	width:1.45rem;
	height:1.45rem;
	border-radius:50%;
	background:var(--kcb-ink);
	color:#fff;
	font-size:.68rem;
	font-weight:850;
}

/* Related products ------------------------------------------------------ */
.single-product.woocommerce div.product>.related.products,
.single-product.woocommerce div.product>.upsells.products{
	width:100%;
	margin-top:clamp(3.5rem,7vw,6rem);
}

.single-product.woocommerce .related.products>h2,
.single-product.woocommerce .upsells.products>h2{
	margin:0 0 1.6rem;
	font-size:clamp(1.7rem,3vw,2.35rem);
	font-weight:850;
	text-align:center;
	text-wrap:balance;
}

.single-product.woocommerce .related.products>h2::before,
.single-product.woocommerce .related.products>h2::after,
.single-product.woocommerce .upsells.products>h2::before,
.single-product.woocommerce .upsells.products>h2::after{
	content:"♥";
	display:inline-block;
	margin:0 .65rem;
	color:var(--kcb-coral);
	font-size:.48em;
	vertical-align:middle;
}

.single-product.woocommerce .related.products ul.products,
.single-product.woocommerce .upsells.products ul.products{
	grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),280px));
	gap:1rem;
	justify-content:center;
}

.single-product.woocommerce .related.products ul.products li.product,
.single-product.woocommerce .upsells.products ul.products li.product{
	display:flex;
	flex-direction:column;
	min-width:0;
	padding:1rem!important;
	border:1px solid var(--kcb-product-line);
	border-radius:17px;
	background:var(--kcb-product-card);
	box-shadow:0 10px 30px rgba(61,48,31,.045);
	overflow:hidden;
	transition:border-color var(--kcb-dur-fast) ease,box-shadow var(--kcb-dur-fast) ease,transform var(--kcb-dur-fast) var(--kcb-ease);
}

.single-product.woocommerce .related.products ul.products li.product:hover,
.single-product.woocommerce .upsells.products ul.products li.product:hover{
	border-color:rgba(32,33,31,.22);
	box-shadow:0 16px 36px rgba(61,48,31,.085);
	transform:translateY(-3px);
}

.single-product.woocommerce .related.products ul.products li.product a img,
.single-product.woocommerce .upsells.products ul.products li.product a img{
	width:100%;
	aspect-ratio:4/5;
	margin:0 0 .8rem;
	border-radius:11px;
	background:var(--kcb-surface);
	object-fit:cover;
	transition:transform var(--kcb-dur-base) var(--kcb-ease);
}

.single-product.woocommerce .related.products ul.products li.product:hover a img,
.single-product.woocommerce .upsells.products ul.products li.product:hover a img{
	transform:scale(1.015);
}

.single-product.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product.woocommerce .upsells.products ul.products li.product .woocommerce-loop-product__title{
	min-height:2.65em;
	margin:.15rem 0 .4rem;
	padding:0;
	font-size:.95rem;
	font-weight:800;
	line-height:1.32;
}

.single-product.woocommerce .related.products ul.products li.product .price,
.single-product.woocommerce .upsells.products ul.products li.product .price{
	margin:.25rem 0 .65rem;
	color:var(--kcb-coral-text);
	font-size:.9rem;
	font-weight:850;
}

.single-product.woocommerce .related.products ul.products li.product .button,
.single-product.woocommerce .upsells.products ul.products li.product .button{
	align-self:flex-start;
	min-height:42px;
	margin-top:auto;
	padding:.62rem .85rem;
	border:1px solid var(--kcb-product-line);
	border-radius:9px;
	background:#fff;
	color:var(--kcb-ink);
	font-size:.78rem;
	font-weight:780;
	line-height:1.1;
	text-decoration:none;
}

.single-product.woocommerce .related.products ul.products li.product .button:hover,
.single-product.woocommerce .related.products ul.products li.product .button:focus-visible,
.single-product.woocommerce .upsells.products ul.products li.product .button:hover,
.single-product.woocommerce .upsells.products ul.products li.product .button:focus-visible{
	border-color:var(--kcb-ink);
	background:var(--kcb-ink);
	color:#fff;
}

/* Tablet --------------------------------------------------------------- */
@media (max-width: 1100px){
	.single-product.woocommerce .kcb-product-hero{
		grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);
		column-gap:2.5rem;
	}

	.single-product.woocommerce div.product .product_title{
		font-size:clamp(2rem,4vw,2.8rem);
	}

	.single-product .kcb-product-content-grid{
		grid-template-columns:minmax(0,1fr);
	}

}

@media (max-width: 959.98px){
	.single-product .kcb-woo-main>.kcb-shell{
		width:min(calc(100% - 36px),820px);
	}

	.single-product.woocommerce .kcb-product-hero{
		grid-template-columns:minmax(0,1fr);
		row-gap:1.6rem;
	}

	.single-product.woocommerce .kcb-product-hero .summary.entry-summary{
		position:static;
		padding-top:.25rem;
	}

	.single-product .woocommerce-product-gallery__image a,
	.single-product .woocommerce-product-gallery__image--placeholder{
		max-height:720px;
	}

	.single-product.woocommerce div.product .product_title{
		max-width:22ch;
		font-size:clamp(2.2rem,6.2vw,3.25rem);
	}

	.single-product.woocommerce div.product>.woocommerce-tabs{
		margin-top:2.8rem;
	}
}

/* Mobile --------------------------------------------------------------- */
@media (max-width: 767px){
	.single-product .kcb-woo-main{
		padding-top:1rem;
		padding-bottom:3rem;
	}

	.single-product .kcb-woo-main>.kcb-shell{
		width:calc(100% - 28px);
	}

	.single-product .woocommerce-breadcrumb{
		margin-bottom:1rem;
		font-size:.7rem;
	}

	.single-product.woocommerce .kcb-product-hero{
		row-gap:1.15rem;
	}

	.single-product .woocommerce-product-gallery__wrapper,
	.single-product .woocommerce-product-gallery .flex-viewport{
		border-radius:18px;
		box-shadow:0 13px 34px rgba(61,48,31,.075);
	}

	.single-product .woocommerce-product-gallery__image a,
	.single-product .woocommerce-product-gallery__image--placeholder{
		aspect-ratio:auto;
		min-height:0;
		padding:.65rem;
	}

	.single-product .woocommerce-product-gallery__image img,
	.single-product .woocommerce-product-gallery__image--placeholder img{
		height:auto;
		max-height:none;
		object-fit:contain;
	}

	.single-product .woocommerce-product-gallery .flex-control-thumbs{
		grid-template-columns:repeat(5,68px);
		gap:.55rem;
		overflow-x:auto;
		padding:.1rem .1rem .45rem;
		scroll-snap-type:x proximity;
		scrollbar-width:thin;
	}

	.single-product .woocommerce-product-gallery .flex-control-thumbs li{
		scroll-snap-align:start;
	}

	.kcb-single-product-badge{
		margin-bottom:.75rem;
	}

	.single-product.woocommerce div.product .product_title{
		margin-bottom:.6rem;
		font-size:clamp(1.9rem,9.7vw,2.65rem);
		line-height:1.04;
	}

	.single-product.woocommerce div.product p.price,
	.single-product.woocommerce div.product span.price{
		margin-bottom:.55rem;
		font-size:1.55rem;
	}

	.single-product .woocommerce-product-details__short-description{
		font-size:.95rem;
		line-height:1.5;
	}

	.kcb-product-highlights{
		gap:.55rem;
		margin:1rem 0;
	}

	.kcb-product-highlight{
		grid-template-columns:34px minmax(0,1fr);
		gap:.55rem;
		min-height:64px;
		padding:.62rem;
		border-radius:12px;
	}

	.kcb-product-highlight__icon{
		width:34px;
		height:34px;
		font-size:.9rem;
	}

	.kcb-product-highlight__label{
		font-size:.57rem;
	}

	.kcb-product-highlight strong{
		font-size:.8rem;
	}

	/* The authoritative purchase element remains in normal document flow.
	 * No cloned link, URL lookup or mobile click handler is introduced. */
	.single-product .kcb-commerce-bridge[data-kcb-checkout="gumroad"]{
		position:static;
		margin:1rem 0 .75rem;
		padding:0;
		border:0;
		background:transparent;
		box-shadow:none;
		backdrop-filter:none;
	}

	.single-product .kcb-commerce-bridge[data-kcb-checkout="gumroad"] .kcb-gumroad-checkout{
		min-height:50px;
	}

	.single-product .kcb-commerce-bridge[data-kcb-checkout="gumroad"] .kcb-commerce-bridge__note{
		margin:.28rem 0 0;
		font-size:.64rem;
	}

	/* Native checkout keeps its own form and submit behavior in the same
	 * presentation slot when WooCommerce mode is active. */
	.single-product .product-type-simple form.cart{
		position:static;
		margin:1rem 0 .8rem!important;
		padding:0;
		border:0;
		background:transparent;
		box-shadow:none;
		backdrop-filter:none;
	}

	.single-product .product-type-simple form.cart .quantity{
		flex:0 0 64px;
	}

	.kcb-product-preview{
		min-height:48px;
		margin:.6rem 0;
	}

	.kcb-digital-note{
		grid-template-columns:20px 1fr;
		gap:.2rem .45rem;
	}

	.kcb-digital-note strong,
	.kcb-digital-note span{
		grid-column:2;
	}

	.kcb-digital-note span{
		grid-row:2;
	}

	.single-product.woocommerce div.product>.woocommerce-tabs{
		margin-top:2.2rem;
		padding:1rem;
		border-radius:17px;
	}

	.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs{
		flex-wrap:nowrap;
		gap:1.1rem;
		overflow-x:auto;
		padding-bottom:.7rem;
		scroll-snap-type:x proximity;
		scrollbar-width:thin;
	}

	.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs li{
		flex:0 0 auto;
		scroll-snap-align:start;
	}

	.single-product.woocommerce div.product>.woocommerce-tabs ul.tabs li a::after{
		bottom:-.72rem;
	}

	.single-product.woocommerce div.product>.woocommerce-tabs .panel{
		padding:1.4rem .15rem 0;
		font-size:.92rem;
	}

	.single-product #tab-description>ul,
	.single-product #tab-description>ol{
		grid-template-columns:minmax(0,1fr);
	}

	.single-product.woocommerce .related.products,
	.single-product.woocommerce .upsells.products{
		margin-top:3.2rem;
	}

	.single-product.woocommerce .related.products>h2,
	.single-product.woocommerce .upsells.products>h2{
		font-size:1.65rem;
	}

	.single-product.woocommerce .related.products ul.products,
	.single-product.woocommerce .upsells.products ul.products{
		grid-template-columns:none!important;
		grid-auto-flow:column;
		grid-auto-columns:minmax(220px,78%);
		gap:.8rem;
		overflow-x:auto;
		padding:.15rem .15rem .85rem!important;
		scroll-padding:.15rem;
		scroll-snap-type:x mandatory;
		scrollbar-width:thin;
	}

	.single-product.woocommerce .related.products ul.products li.product,
	.single-product.woocommerce .upsells.products ul.products li.product{
		scroll-snap-align:start;
	}
}

@media (max-width: 410px){
	.single-product.woocommerce div.product .product_title{
		font-size:1.95rem;
	}

	.kcb-product-highlight{
		grid-template-columns:30px minmax(0,1fr);
		padding:.55rem;
	}

	.kcb-product-highlight__icon{
		width:30px;
		height:30px;
	}
}

@media (prefers-reduced-motion: reduce){
	.single-product .woocommerce-product-gallery__image img,
	.single-product .woocommerce-product-gallery .flex-control-thumbs img,
	.single-product .kcb-product-highlight,
	.single-product .kcb-product-preview,
	.single-product .kcb-commerce-bridge .kcb-gumroad-checkout,
	.single-product.woocommerce div.product form.cart .single_add_to_cart_button,
	.single-product.woocommerce .related.products ul.products li.product,
	.single-product.woocommerce .upsells.products ul.products li.product,
	.single-product.woocommerce .related.products ul.products li.product a img,
	.single-product.woocommerce .upsells.products ul.products li.product a img{
		transition:none;
	}

	.single-product .woocommerce-product-gallery__image a:hover img,
	.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
	.single-product .woocommerce-product-gallery .flex-control-thumbs img:focus-visible,
	.single-product .kcb-product-highlight:hover,
	.single-product .kcb-product-preview:hover,
	.single-product .kcb-product-preview:focus-visible,
	.single-product .kcb-commerce-bridge .kcb-gumroad-checkout:hover,
	.single-product .kcb-commerce-bridge .kcb-gumroad-checkout:focus-visible,
	.single-product.woocommerce div.product form.cart .single_add_to_cart_button:hover,
	.single-product.woocommerce div.product form.cart .single_add_to_cart_button:focus-visible,
	.single-product.woocommerce .related.products ul.products li.product:hover,
	.single-product.woocommerce .upsells.products ul.products li.product:hover,
	.single-product.woocommerce .related.products ul.products li.product:hover a img,
	.single-product.woocommerce .upsells.products ul.products li.product:hover a img{
		transform:none;
	}
}
