/*
 * BuyCake Cake Configurator v3.2.0
 */

.bc-config-wrap{
	--bc-navy:#0A0058;
	--bc-plum:#8A397A;
	--bc-plum-soft:#F8EFF6;
	--bc-green:#0B7A35;
	--bc-ink:#29242B;
	--bc-muted:#756D77;
	--bc-line:#E8DFE7;
	--bc-warm:#FCF8F3;
	--bc-white:#FFF;
	width:100%;
	color:var(--bc-ink);
	font-family:inherit;
	overflow:visible;
}
.bc-config-form{width:100%;overflow:visible}
.buycake-purchase-panel{overflow:visible!important}
.buycake-purchase-panel .variations_form.cart,
.buycake-purchase-panel form.cart:not(.bc-config-form):not(.bc-addon-form){display:none!important}

/* Price + summary */
.bc-price-bar{
	position:sticky;
	top:8px;
	z-index:20;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin:0 0 9px;
	padding:11px 13px;
	border:1px solid #DED4DE;
	border-radius:13px;
	background:rgba(255,255,255,.96);
	box-shadow:0 8px 24px rgba(59,40,59,.09);
	backdrop-filter:blur(10px);
}
.bc-price-bar>div{display:flex;flex-direction:column;gap:1px}
.bc-price-bar-label{color:var(--bc-navy);font-size:11px;font-weight:800}
.bc-price-bar small{color:var(--bc-muted);font-size:9px}
.bc-live-price{color:var(--bc-navy);font-size:25px;line-height:1;font-weight:850;white-space:nowrap}
.bc-selection-summary{
	display:flex;
	align-items:flex-start;
	gap:9px;
	margin:0 0 11px;
	padding:9px 11px;
	border:1px solid #E5DCE4;
	border-radius:11px;
	background:#FAF7F9;
	font-size:10.5px;
	line-height:1.4;
}
.bc-summary-label{flex:0 0 auto;color:var(--bc-plum);font-weight:800}
.bc-summary-text{color:#544C55;font-weight:600}

/* Sections */
.bc-section{
	position:relative;
	padding:15px 0;
	border-top:1px solid var(--bc-line);
	overflow:visible;
}
.bc-path-section{border-top:0;padding-top:5px}
.bc-section-title{
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin-bottom:10px;
}
.bc-step{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 27px;
	width:27px;height:27px;
	border-radius:50%;
	background:var(--bc-plum-soft);
	color:var(--bc-plum);
	font-size:11px;font-weight:850;
}
.bc-section-title h3{
	margin:0 0 2px;
	color:var(--bc-navy);
	font-size:19px;
	line-height:1.15;
	font-weight:750;
}
.bc-section-title p{
	margin:0;
	color:var(--bc-muted);
	font-size:11.5px;
	line-height:1.4;
}
.bc-optional{
	display:inline-flex;
	padding:3px 7px;
	margin-left:4px;
	border-radius:999px;
	background:#F0EBEF;
	color:#736A73;
	font-size:9px;
	font-weight:700;
	vertical-align:middle;
}

/* Common cards */
.bc-card-check{
	position:absolute;
	top:7px;right:7px;
	display:none;
	align-items:center;justify-content:center;
	width:19px;height:19px;
	border-radius:50%;
	background:var(--bc-plum);
	color:#fff;
	font-size:10px;font-weight:900;
	z-index:3;
}
.bc-path-card input,
.bc-size-card input,
.bc-style-card input,
.bc-shape-card input,
.bc-base-card input,
.bc-cream-card input,
.bc-filling-card input,
.bc-extra-card input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}
.bc-path-card:has(input:checked),
.bc-size-card:has(input:checked),
.bc-style-card:has(input:checked),
.bc-shape-card:has(input:checked),
.bc-base-card:has(input:checked),
.bc-cream-card:has(input:checked),
.bc-filling-card:has(input:checked),
.bc-extra-card:has(input:checked){
	border-color:var(--bc-plum);
	box-shadow:0 7px 20px rgba(119,60,106,.10);
	background:#FFF9FD;
}
.bc-path-card:has(input:checked) .bc-card-check,
.bc-size-card:has(input:checked) .bc-card-check,
.bc-style-card:has(input:checked) .bc-card-check,
.bc-shape-card:has(input:checked) .bc-card-check,
.bc-base-card:has(input:checked) .bc-card-check,
.bc-cream-card:has(input:checked) .bc-card-check,
.bc-filling-card:has(input:checked) .bc-card-check,
.bc-extra-card:has(input:checked) .bc-card-check{display:flex}

/* Step 0 */
.bc-path-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:8px;
}
.bc-path-grid-single{grid-template-columns:1fr}
.bc-path-card{
	position:relative;
	display:grid;
	grid-template-columns:58px minmax(0,1fr);
	align-items:center;
	gap:9px;
	min-height:76px;
	padding:8px 31px 8px 8px;
	border:1px solid var(--bc-line);
	border-radius:14px;
	background:#fff;
	cursor:pointer;
}
.bc-path-card img{width:58px;height:58px;border-radius:10px;object-fit:cover}
.bc-path-card>span:not(.bc-card-check){display:flex;flex-direction:column;gap:2px}
.bc-path-card strong{color:var(--bc-navy);font-size:12px}
.bc-path-card small{color:var(--bc-muted);font-size:9.5px;line-height:1.3}

/* Size */
.bc-size-grid,.bc-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.bc-size-card,.bc-style-card{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	min-width:0;
	min-height:128px;
	padding:10px 6px 8px;
	border:1px solid var(--bc-line);
	border-radius:14px;
	background:#fff;
	text-align:center;
	cursor:pointer;
}
.bc-size-card strong,.bc-style-card strong{color:var(--bc-navy);font-size:12px;line-height:1.15}
.bc-size-card small,.bc-style-card small{color:var(--bc-muted);font-size:8.8px;line-height:1.25}
.bc-size-note{margin-top:auto;color:#735F70;font-size:8.5px;font-weight:700}
.bc-size-icon{height:53px;display:flex;align-items:flex-end;justify-content:center}
.bc-size-style-icon{display:none;width:auto;object-fit:contain}
.bc-size-style-simple{display:block}
.bc-size-small .bc-size-style-icon{height:36px}
.bc-size-medium .bc-size-style-icon{height:45px}
.bc-size-large .bc-size-style-icon{height:52px}
.bc-config-form:has(input[name="buycake_style"][value="custom"]:checked) .bc-size-style-simple,
.bc-config-form:has(input[name="buycake_style"][value="luxury"]:checked) .bc-size-style-simple{display:none}
.bc-config-form:has(input[name="buycake_style"][value="custom"]:checked) .bc-size-style-custom{display:block}
.bc-config-form:has(input[name="buycake_style"][value="luxury"]:checked) .bc-size-style-luxury{display:block}

/* Style */
.bc-style-card img{width:50px;height:50px;object-fit:contain}
.bc-style-card>span:not(.bc-card-check){display:flex;flex-direction:column;gap:2px}
.bc-style-card em{
	margin-top:auto;
	padding:4px 7px;
	border-radius:999px;
	background:#F1E8EF;
	color:#713565;
	font-size:9px;
	line-height:1;
	font-style:normal;
	font-weight:800;
}
.bc-shape-contact-note,.bc-custom-shape-note{
	margin:8px 0 0;
	padding:8px 10px;
	border-radius:9px;
	background:#FAF6F9;
	color:#665D66;
	font-size:10px;
	line-height:1.4;
}

/* Shape */
.bc-shape-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.bc-shape-card{
	position:relative;
	display:flex;
	align-items:center;
	gap:8px;
	min-height:52px;
	padding:7px 28px 7px 8px;
	border:1px solid var(--bc-line);
	border-radius:11px;
	background:#fff;
	cursor:pointer;
}
.bc-shape-icon{
	display:flex;align-items:center;justify-content:center;
	width:34px;height:34px;flex:0 0 34px;
	border-radius:9px;
	background:#F3EBF2;
	color:#7D3E70;
	font-size:22px;font-weight:800;
}
.bc-shape-card>span:last-child{display:flex;flex-direction:column;gap:1px}
.bc-shape-card strong{color:var(--bc-navy);font-size:10.5px}
.bc-shape-card small{color:#148443;font-size:9px;font-weight:800}

/* Exact */
.bc-exact-card{
	display:grid;
	grid-template-columns:86px minmax(0,1fr);
	gap:11px;align-items:center;
	padding:9px;
	border:1px solid var(--bc-line);
	border-radius:13px;
	background:#fff;
}
.bc-exact-card>img{width:86px;height:86px;border-radius:11px;object-fit:cover}
.bc-exact-card>div>strong{color:var(--bc-navy);font-size:12px}
.bc-exact-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.bc-exact-chips span{
	display:inline-flex;
	padding:4px 7px;
	border-radius:999px;
	background:#F5EFF4;
	color:#514850;
	font-size:9px;font-weight:700;
}

/* Cake base, no height gap from left visual */
.bc-base-layout,.bc-filling-layout{display:block;width:100%;margin:0}
.bc-section-options{min-width:0}
.bc-base-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.bc-base-card{
	position:relative;
	display:none;
	min-height:39px;
	align-items:center;
	padding:6px 27px 6px 8px;
	border:1px solid var(--bc-line);
	border-radius:9px;
	background:#fff;
	cursor:pointer;
}
.bc-base-copy{display:flex;flex-direction:column;gap:0}
.bc-base-card strong{color:var(--bc-ink);font-size:10.5px;line-height:1.15}
.bc-base-card small{display:none;color:#15823F;font-size:8.5px;line-height:1.15;font-weight:850}
.bc-config-form:has(input[name="buycake_size"][value="small"]:checked) .bc-base-size-small,
.bc-config-form:has(input[name="buycake_size"][value="medium"]:checked) .bc-base-size-medium,
.bc-config-form:has(input[name="buycake_size"][value="large"]:checked) .bc-base-size-large{display:flex}
.bc-config-form:has(input[name="buycake_size"][value="small"]:checked) .bc-price-small,
.bc-config-form:has(input[name="buycake_size"][value="medium"]:checked) .bc-price-medium,
.bc-config-form:has(input[name="buycake_size"][value="large"]:checked) .bc-price-large{display:block}

/* Cream / Filling */
.bc-cream-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.bc-cream-card,.bc-filling-card{
	position:relative;
	display:none;
	align-items:center;
	gap:7px;
	min-height:49px;
	padding:6px 28px 6px 6px;
	border:1px solid var(--bc-line);
	border-radius:10px;
	background:#fff;
	cursor:pointer;
}
.bc-cream-card img,.bc-filling-card img{
	width:36px;height:36px;flex:0 0 36px;
	border-radius:8px;object-fit:cover;
}
.bc-option-emoji{
	display:flex;align-items:center;justify-content:center;
	width:36px;height:36px;flex:0 0 36px;
	border-radius:8px;background:#F7F1F5;font-size:18px;
}
.bc-cream-card strong,.bc-filling-card strong{color:var(--bc-ink);font-size:9.8px;line-height:1.15}

.bc-filling-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.bc-fixed-recipe{
	display:none;
	padding:9px 10px;
	border:1px solid #E3D8E1;
	border-radius:10px;
	background:#FAF7F9;
	color:#5B535D;
	font-size:10px;
	line-height:1.4;
}

/* Cream compatibility */
.bc-config-form:has(input[name="buycake_base"][value="vanilla-sponge"]:checked) .bc-cream-for-vanilla-sponge,
.bc-config-form:has(input[name="buycake_base"][value="chocolate-sponge"]:checked) .bc-cream-for-chocolate-sponge,
.bc-config-form:has(input[name="buycake_base"][value="pistachio-sponge"]:checked) .bc-cream-for-pistachio-sponge,
.bc-config-form:has(input[name="buycake_base"][value="red-velvet"]:checked) .bc-cream-for-red-velvet,
.bc-config-form:has(input[name="buycake_base"][value="almond-sponge"]:checked) .bc-cream-for-almond-sponge,
.bc-config-form:has(input[name="buycake_base"][value="carrot-cake"]:checked) .bc-cream-for-carrot-cake,
.bc-config-form:has(input[name="buycake_base"][value="condensed-milk-layers-milk-girl"]:checked) .bc-cream-for-condensed-milk-layers-milk-girl,
.bc-config-form:has(input[name="buycake_base"][value="honey-cake-layers"]:checked) .bc-cream-for-honey-cake-layers,
.bc-config-form:has(input[name="buycake_base"][value="napoleon"]:checked) .bc-cream-for-napoleon,
.bc-config-form:has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-cream-for-kyiv-cake-layers,
.bc-config-form:has(input[name="buycake_base"][value="snickers"]:checked) .bc-cream-for-snickers,
.bc-config-form:has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-cream-for-cherry-pyramid{display:flex}

/* Filling compatibility */
.bc-config-form:has(input[name="buycake_base"][value="vanilla-sponge"]:checked) .bc-filling-for-vanilla-sponge,
.bc-config-form:has(input[name="buycake_base"][value="chocolate-sponge"]:checked) .bc-filling-for-chocolate-sponge,
.bc-config-form:has(input[name="buycake_base"][value="pistachio-sponge"]:checked) .bc-filling-for-pistachio-sponge,
.bc-config-form:has(input[name="buycake_base"][value="red-velvet"]:checked) .bc-filling-for-red-velvet,
.bc-config-form:has(input[name="buycake_base"][value="almond-sponge"]:checked) .bc-filling-for-almond-sponge,
.bc-config-form:has(input[name="buycake_base"][value="carrot-cake"]:checked) .bc-filling-for-carrot-cake,
.bc-config-form:has(input[name="buycake_base"][value="condensed-milk-layers-milk-girl"]:checked) .bc-filling-for-condensed-milk-layers-milk-girl,
.bc-config-form:has(input[name="buycake_base"][value="honey-cake-layers"]:checked) .bc-filling-for-honey-cake-layers,
.bc-config-form:has(input[name="buycake_base"][value="napoleon"]:checked) .bc-filling-for-napoleon,
.bc-config-form:has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-filling-for-kyiv-cake-layers,
.bc-config-form:has(input[name="buycake_base"][value="snickers"]:checked) .bc-filling-for-snickers,
.bc-config-form:has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-filling-for-cherry-pyramid{display:flex}

/* Fixed recipe messaging */
.bc-config-form:has(input[name="buycake_base"][value="napoleon"]:checked) .bc-cream-grid,
.bc-config-form:has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-cream-grid,
.bc-config-form:has(input[name="buycake_base"][value="snickers"]:checked) .bc-cream-grid,
.bc-config-form:has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-cream-grid{display:none}
.bc-config-form:has(input[name="buycake_base"][value="napoleon"]:checked) .bc-fixed-cream-note,
.bc-config-form:has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-fixed-cream-note,
.bc-config-form:has(input[name="buycake_base"][value="snickers"]:checked) .bc-fixed-cream-note,
.bc-config-form:has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-fixed-cream-note{display:block}

.bc-config-form:has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-filling-grid,
.bc-config-form:has(input[name="buycake_base"][value="snickers"]:checked) .bc-filling-grid,
.bc-config-form:has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-filling-grid{display:none}
.bc-config-form:has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-fixed-filling-note,
.bc-config-form:has(input[name="buycake_base"][value="snickers"]:checked) .bc-fixed-filling-note,
.bc-config-form:has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-fixed-filling-note{display:block}

/* Custom details */
.bc-upload-box{
	position:relative;
	display:flex;align-items:center;gap:10px;
	min-height:72px;
	padding:11px;
	border:1.5px dashed #C9B7C5;
	border-radius:12px;background:#fff;
	cursor:pointer;overflow:hidden;
}
.bc-upload-box input[type="file"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.bc-upload-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#F3E8F0;color:var(--bc-plum);font-size:21px;font-weight:800}
.bc-upload-box>span:nth-child(2){display:flex;flex-direction:column;gap:2px}
.bc-upload-box strong{color:var(--bc-navy);font-size:11px}
.bc-upload-box small{color:var(--bc-muted);font-size:9px}
.bc-text-label{display:block;margin:10px 0 4px;color:var(--bc-navy);font-size:10.5px;font-weight:800}
.bc-custom-section textarea{width:100%;min-height:78px;border:1px solid #DCCFDA;border-radius:10px;padding:9px 10px;font:inherit;font-size:11px;resize:vertical}
.bc-callback-card{position:relative;display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:9px 10px;border:1px solid #E0D5DE;border-radius:10px;background:#fff;cursor:pointer}
.bc-callback-card input{position:absolute;opacity:0}
.bc-checkbox-ui{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;border:1.5px solid #C7B9C4;border-radius:6px;color:transparent;font-size:11px;font-weight:900}
.bc-callback-card:has(input:checked) .bc-checkbox-ui{border-color:var(--bc-plum);background:var(--bc-plum);color:#fff}
.bc-callback-card>span:last-child{display:flex;flex-direction:column;gap:1px}
.bc-callback-card strong{color:var(--bc-navy);font-size:10.5px}
.bc-callback-card small{color:var(--bc-muted);font-size:9px}
.bc-contact-message{margin-top:8px;padding:9px 10px;border-radius:9px;background:#F3ECF2;color:#655C65;font-size:9.7px;line-height:1.4}

/* Extras */
.bc-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.bc-extra-card{position:relative;display:flex;align-items:center;gap:7px;min-height:50px;padding:6px 28px 6px 6px;border:1px solid var(--bc-line);border-radius:10px;background:#fff;cursor:pointer}
.bc-extra-icon{display:flex;align-items:center;justify-content:center;width:33px;height:33px;flex:0 0 33px;border-radius:8px;background:#F3EBF2;color:#844074;font-size:14px;font-weight:800}
.bc-extra-card>span:last-child{display:flex;flex-direction:column;gap:0}
.bc-extra-card strong{color:var(--bc-navy);font-size:10px}
.bc-extra-card small{color:#148443;font-size:8.8px;font-weight:850}
.bc-custom-message-field{display:none;margin-top:7px;padding:8px 9px;border-radius:9px;background:#FAF7F9}
.bc-config-form:has(input[name="buycake_custom_message"]:checked) .bc-custom-message-field{display:block}
.bc-custom-message-field label{display:block;margin-bottom:4px;color:var(--bc-navy);font-size:10px;font-weight:800}
.bc-custom-message-field input{width:100%;min-height:37px;border:1px solid #D9CFD8;border-radius:8px;padding:6px 8px;font:inherit;font-size:10.5px}

/* Date + delivery */
.bc-date-layout{display:block;position:relative}
.bc-date-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.bc-date-row input[type="date"]{width:170px;max-width:100%;min-height:40px;border:1px solid #D6CDD5;border-radius:9px;background:#fff;padding:6px 8px;font:inherit;font-size:11px}
.bc-date-row small{color:var(--bc-muted);font-size:9.5px}
.bc-delivery-visual{
	display:flex;flex-direction:column;gap:4px;
	padding:13px;
	border:1px solid #D8E6DC;
	border-radius:14px;
	background:#F5FBF7;
	color:#345342;
}
.bc-delivery-icon{font-size:25px}
.bc-delivery-visual strong{color:#0A6E33;font-size:11px;letter-spacing:.03em}
.bc-delivery-visual p{margin:0;color:#53675A;font-size:9.5px;line-height:1.4}

/* Final */
.bc-selection-summary-final{margin-top:12px;background:#FFF}
.bc-bottom-price{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;padding:10px 12px;border:1px solid #DED3DD;border-radius:11px;background:linear-gradient(135deg,#FFF 0%,#FAF5F9 100%)}
.bc-bottom-price>span{display:flex;flex-direction:column;gap:1px}
.bc-bottom-price small{color:#756C76;font-size:8.5px;text-transform:uppercase;font-weight:800;letter-spacing:.04em}
.bc-bottom-price em{color:#756C76;font-size:8.8px;font-style:normal;text-align:right}
.bc-edinburgh-only{margin:9px 0;padding:10px 11px;border:1px solid #BFDCC9;border-radius:11px;background:#F2FBF5}
.bc-edinburgh-only strong{display:block;color:#07672E;font-size:10.5px;letter-spacing:.06em}
.bc-edinburgh-only span{display:block;margin-top:2px;color:#4A6253;font-size:9.4px;line-height:1.4}
.bc-add-button{display:block;width:100%;min-height:49px;border:0;border-radius:999px;background:var(--bc-green);color:#fff;padding:11px 20px;font:inherit;font-size:14px;font-weight:850;cursor:pointer;box-shadow:0 8px 18px rgba(10,124,55,.15)}
.bc-safe-note{margin-top:8px;color:var(--bc-muted);font-size:8.8px;text-align:center}

/* Progressive disclosure */
@supports selector(.bc-config-form:has(input:checked)){
	.bc-size-section,
	.bc-exact-summary,
	.bc-style-section,
	.bc-shape-section,
	.bc-base-section,
	.bc-cream-section,
	.bc-filling-section,
	.bc-custom-section,
	.bc-extra-section,
	.bc-date-section,
	.bc-edinburgh-only,
	.bc-add-button,
	.bc-safe-note{display:none}

	.bc-config-form:has(input[name="buycake_path"]:checked) .bc-size-section{display:block}

	/* Path-dependent size cards */
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked) .bc-size-exact-no{display:none!important}
	.bc-config-form:has(input[name="buycake_path"][value="custom"]:checked) .bc-size-general-no{display:none!important}

	/* Exact */
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_size"]:checked) .bc-exact-summary,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_size"]:checked) .bc-date-section{display:block}

	/* Custom */
	.bc-config-form:has(input[name="buycake_path"][value="custom"]:checked):has(input[name="buycake_size"]:checked) .bc-style-section{display:block}
	.bc-config-form:has(input[name="buycake_path"][value="custom"]:checked):has(input[name="buycake_style"][value="custom"]:checked) .bc-shape-section,
	.bc-config-form:has(input[name="buycake_path"][value="custom"]:checked):has(input[name="buycake_style"][value="luxury"]:checked) .bc-shape-section{display:block}

	.bc-config-form:has(input[name="buycake_path"][value="custom"]:checked):has(input[name="buycake_style"][value="simple"]:checked) .bc-base-section{display:block}
	.bc-config-form:has(input[name="buycake_path"][value="custom"]:checked):has(input[name="buycake_shape"]:checked) .bc-base-section{display:block}

	/* Small custom/luxury: only Round shape */
	.bc-config-form:has(input[name="buycake_size"][value="small"]:checked) .bc-shape-square,
	.bc-config-form:has(input[name="buycake_size"][value="small"]:checked) .bc-shape-heart{display:none}

	.bc-config-form:has(input[name="buycake_base"]:checked) .bc-cream-section{display:block}

	/* Fixed cream bases go directly to filling */
	.bc-config-form:has(input[name="buycake_base"][value="napoleon"]:checked) .bc-filling-section,
	.bc-config-form:has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-filling-section,
	.bc-config-form:has(input[name="buycake_base"][value="snickers"]:checked) .bc-filling-section,
	.bc-config-form:has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-filling-section{display:block}
	.bc-config-form:has(input[name="buycake_cream"]:checked) .bc-filling-section{display:block}

	/* After a selectable filling */
	.bc-config-form:has(input[name="buycake_filling"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_filling"]:checked) .bc-date-section{display:block}
	.bc-config-form:has(input[name="buycake_style"][value="custom"]:checked):has(input[name="buycake_filling"]:checked) .bc-custom-section,
	.bc-config-form:has(input[name="buycake_style"][value="luxury"]:checked):has(input[name="buycake_filling"]:checked) .bc-custom-section{display:block}

	/* Fixed filling recipes */
	.bc-config-form:has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-date-section,
	.bc-config-form:has(input[name="buycake_base"][value="snickers"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_base"][value="snickers"]:checked) .bc-date-section,
	.bc-config-form:has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-date-section{display:block}
	.bc-config-form:has(input[name="buycake_style"][value="custom"]:checked):has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-custom-section,
	.bc-config-form:has(input[name="buycake_style"][value="custom"]:checked):has(input[name="buycake_base"][value="snickers"]:checked) .bc-custom-section,
	.bc-config-form:has(input[name="buycake_style"][value="custom"]:checked):has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-custom-section,
	.bc-config-form:has(input[name="buycake_style"][value="luxury"]:checked):has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-custom-section,
	.bc-config-form:has(input[name="buycake_style"][value="luxury"]:checked):has(input[name="buycake_base"][value="snickers"]:checked) .bc-custom-section,
	.bc-config-form:has(input[name="buycake_style"][value="luxury"]:checked):has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-custom-section{display:block}


	.bc-config-form:has(input[name="buycake_needed_date"]:valid) .bc-edinburgh-only,
	.bc-config-form:has(input[name="buycake_needed_date"]:valid) .bc-add-button,
	.bc-config-form:has(input[name="buycake_needed_date"]:valid) .bc-safe-note{display:flex}
	.bc-config-form:has(input[name="buycake_needed_date"]:valid) .bc-edinburgh-only,
	.bc-config-form:has(input[name="buycake_needed_date"]:valid) .bc-add-button,
	.bc-config-form:has(input[name="buycake_needed_date"]:valid) .bc-safe-note{display:block}
}

/* Desktop: explanatory visuals do not contribute to section height */
@media(min-width:1025px){
	.bc-base-section,.bc-filling-section,.bc-date-section{position:relative}
	.bc-base-visual{
		position:absolute;
		left:-350px;
		top:46px;
		width:320px;
	}
	.bc-filling-visual{
		position:absolute;
		left:-430px;
		top:46px;
		width:400px;
	}
	.bc-date-layout{min-height:58px}
	.bc-delivery-visual{
		position:absolute;
		left:-350px;
		top:0;
		width:320px;
	}
	.bc-section-visual{
		overflow:hidden;
		border:1px solid #E7DFE5;
		border-radius:15px;
		background:#fff;
		box-shadow:0 8px 22px rgba(59,40,59,.06);
	}
	.bc-section-visual img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
	.bc-filling-visual img{aspect-ratio:16/12}
	.bc-section-visual>div{padding:9px 10px}
	.bc-section-visual strong{display:block;color:var(--bc-navy);font-size:10.5px}
	.bc-section-visual span{display:block;margin-top:2px;color:var(--bc-muted);font-size:8.8px;line-height:1.35}

	.buycake-product-hero .buycake-gallery-col,
	.buycake-product-hero .buycake-purchase-panel{
		transition:width .28s ease,flex-basis .28s ease;
	}
	.buycake-product-hero.bc-form-expanded .buycake-gallery-col{width:40%!important;flex-basis:40%!important}
	.buycake-product-hero.bc-form-expanded .buycake-purchase-panel{width:60%!important;flex-basis:60%!important}
	.buycake-product-hero.bc-gallery-mode .buycake-gallery-col{width:55%!important;flex-basis:55%!important}
	.buycake-product-hero.bc-gallery-mode .buycake-purchase-panel{width:45%!important;flex-basis:45%!important}
}

/* Read More */
.bc-short-description{margin:4px 0 12px;color:#39323B;font-size:12px;line-height:1.5}
.bc-short-description-preview{margin:0}
.bc-short-description-details{margin-top:5px}
.bc-short-description-details summary{display:inline-flex;align-items:center;gap:5px;color:#7C376F;font-size:11px;font-weight:800;cursor:pointer;list-style:none}
.bc-short-description-details summary::-webkit-details-marker{display:none}
.bc-short-description-details summary:after{content:"↓";font-size:10px}
.bc-short-description-details[open] summary:after{content:"↑"}
.bc-short-description-full{margin-top:7px;padding:9px 10px;border-radius:9px;background:#FAF7F9;color:#5B535D;font-size:10.5px;line-height:1.5}
.bc-short-benefits{display:grid;gap:4px;margin:9px 0!important;padding:0!important;list-style:none!important}
.bc-short-benefits li{position:relative;padding-left:16px;margin:0!important}
.bc-short-benefits li:before{content:"✓";position:absolute;left:0;color:#138142;font-weight:900}
.bc-short-create{padding-top:8px;border-top:1px solid #E9E0E7}
.bc-short-create strong{display:block;color:var(--bc-navy);font-size:12px}
.bc-short-create p{margin:2px 0 0}

/* Add-on */
.bc-addon-purchase{padding:14px;border:1px solid var(--bc-line);border-radius:14px;background:#fff}
.bc-addon-price{color:var(--bc-navy);font-size:23px;font-weight:850}
.bc-addon-purchase p{color:var(--bc-muted);font-size:11px}

/* Friendly transitions */
.bc-section,.bc-path-card,.bc-size-card,.bc-style-card,.bc-shape-card,.bc-base-card,.bc-cream-card,.bc-filling-card,.bc-extra-card,.bc-selection-summary,.bc-section-visual{
	transition:opacity .18s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
@keyframes bcStepIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.bc-section:not(.bc-path-section){animation:bcStepIn .18s ease both}

/* Mobile/tablet */
@media(max-width:1024px){
	.buycake-product-hero,
	.buycake-max{
		width:100%!important;
		max-width:none!important;
		margin-left:0!important;
		margin-right:0!important;
	}
	.buycake-product-hero{display:flex!important;flex-direction:column!important}
	.buycake-product-hero .buycake-gallery-col,
	.buycake-product-hero .buycake-purchase-panel{
		width:100%!important;
		flex-basis:100%!important;
		max-width:100%!important;
	}
	/* Keep the gallery container and the actual image full width, but never force
	   FlexSlider's wrapper/slide widths: WooCommerce calculates those inline. */
	.buycake-product-hero .woocommerce-product-gallery{
		width:100%!important;
		max-width:100%!important;
	}
	.buycake-product-hero .woocommerce-product-gallery__image img{
		display:block;
		width:100%!important;
		height:auto!important;
		max-width:100%!important;
	}
	.buycake-purchase-panel{
		border-radius:0!important;
		border-left:0!important;
		border-right:0!important;
		padding-left:14px!important;
		padding-right:14px!important;
	}
	.bc-price-bar{top:4px}
	.bc-base-visual,.bc-filling-visual,.bc-delivery-visual{
		position:relative!important;
		left:auto!important;top:auto!important;
		width:100%!important;
		margin:0 0 10px!important;
	}
	.bc-section-visual{overflow:hidden;border:1px solid #E7DFE5;border-radius:13px;background:#fff}
	.bc-section-visual img{width:100%!important;aspect-ratio:16/9!important;object-fit:cover}
	.bc-section-visual>div{padding:9px 10px}
	.bc-section-visual strong{display:block;color:var(--bc-navy);font-size:10.5px}
	.bc-section-visual span{display:block;margin-top:2px;color:var(--bc-muted);font-size:9px}
}
@media(max-width:560px){
	.bc-path-grid,.bc-size-grid,.bc-style-grid,.bc-shape-grid,.bc-extra-grid{grid-template-columns:1fr}
	.bc-size-card,.bc-style-card{min-height:100px;display:grid;grid-template-columns:58px 1fr auto;text-align:left;align-items:center}
	.bc-size-icon{height:54px}
	.bc-style-card img{width:52px;height:52px}
	.bc-size-card strong,.bc-style-card strong{font-size:12px}
	.bc-size-card small,.bc-style-card small{font-size:9px}
	.bc-size-note{grid-column:2 / -1;margin-top:0}
	.bc-base-grid,.bc-cream-grid,.bc-filling-grid{grid-template-columns:1fr}
	.bc-exact-card{grid-template-columns:72px 1fr}
	.bc-exact-card>img{width:72px;height:72px}
	.bc-live-price{font-size:22px}
}


/* =========================================================
   v3.1 Accessibility / larger controls
   ========================================================= */
.bc-config-wrap{
  font-size:16px;
  line-height:1.55;
}
.bc-config-form label,
.bc-config-form button,
.bc-config-form input,
.bc-config-form textarea,
.bc-config-form select{font-family:inherit}

.bc-price-bar{padding:15px 16px;border-radius:15px;margin-bottom:12px}
.bc-price-bar-label{font-size:16px!important}
.bc-price-bar small{font-size:14px!important;line-height:1.4}
.bc-live-price{font-size:32px!important;line-height:1.05}

.bc-selection-summary{padding:13px 14px;font-size:16px!important;line-height:1.5;border-radius:13px}
.bc-summary-label{font-size:16px;font-weight:850}
.bc-summary-text{font-size:16px;font-weight:650}
.bc-selection-summary-final{display:flex!important;margin-top:12px!important;background:#FFF!important}

.bc-section{padding:18px 0}
.bc-base-section{padding-bottom:8px!important}
.bc-cream-section{padding-top:8px!important}
.bc-section-title{gap:12px;margin-bottom:14px}
.bc-step{width:34px;height:34px;flex-basis:34px;font-size:15px}
.bc-section-title h3{font-size:25px!important;line-height:1.2}
.bc-section-title p{font-size:15px!important;line-height:1.55;max-width:760px}
.bc-optional{font-size:13px;padding:4px 8px}

.bc-card-check{width:24px;height:24px;font-size:13px;top:8px;right:8px}
.bc-path-card,.bc-size-card,.bc-style-card,.bc-shape-card,.bc-base-card,.bc-cream-card,.bc-filling-card,.bc-extra-card{
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;
}
.bc-path-card:has(input:focus-visible),
.bc-size-card:has(input:focus-visible),
.bc-style-card:has(input:focus-visible),
.bc-shape-card:has(input:focus-visible),
.bc-base-card:has(input:focus-visible),
.bc-cream-card:has(input:focus-visible),
.bc-filling-card:has(input:focus-visible),
.bc-extra-card:has(input:focus-visible){
  outline:3px solid #2F6FED;
  outline-offset:3px;
}

.bc-path-card{grid-template-columns:78px minmax(0,1fr);min-height:98px;padding:10px 38px 10px 10px;gap:12px}
.bc-path-card img{width:78px;height:78px}
.bc-path-card strong{font-size:18px!important}
.bc-path-card small{font-size:14px!important;line-height:1.45}

.bc-size-card,.bc-style-card{min-height:168px;padding:14px 9px 12px}
.bc-size-card strong,.bc-style-card strong{font-size:18px!important;line-height:1.25}
.bc-size-card small,.bc-style-card small{font-size:14px!important;line-height:1.4}
.bc-size-note{font-size:13px!important}
.bc-size-icon{height:76px}
.bc-size-small .bc-size-style-icon{height:52px}
.bc-size-medium .bc-size-style-icon{height:64px}
.bc-size-large .bc-size-style-icon{height:74px}
.bc-style-card img{width:74px!important;height:74px!important}
.bc-style-card em{font-size:15px!important;padding:7px 11px}
.bc-shape-contact-note,.bc-custom-shape-note{font-size:14px!important;line-height:1.55;padding:11px 12px}

.bc-shape-card{min-height:72px;padding:10px 36px 10px 10px;gap:11px}
.bc-shape-icon{width:48px;height:48px;flex-basis:48px;font-size:32px}
.bc-shape-card strong{font-size:17px!important}
.bc-shape-card small{font-size:15px!important}

.bc-exact-card{grid-template-columns:112px minmax(0,1fr);gap:14px;padding:12px}
.bc-exact-card>img{width:112px;height:112px}
.bc-exact-card>div>strong{font-size:18px!important}
.bc-exact-chips span{font-size:14px!important;padding:6px 9px}

.bc-base-grid{gap:8px}
.bc-base-card{min-height:58px;padding:10px 36px 10px 11px;border-radius:11px}
.bc-base-card strong{font-size:16px!important;line-height:1.3}
.bc-base-card small{font-size:15px!important;line-height:1.25;font-weight:900;color:#0B7A35!important}

.bc-cream-grid,.bc-filling-grid{gap:9px}
.bc-cream-card,.bc-filling-card{min-height:72px;padding:9px 36px 9px 9px;gap:11px}
.bc-cream-card img,.bc-filling-card img,.bc-option-emoji{width:52px;height:52px;flex-basis:52px;border-radius:10px}
.bc-option-emoji{font-size:26px}
.bc-cream-card strong,.bc-filling-card strong{font-size:16px!important;line-height:1.3}
.bc-fixed-recipe{font-size:15px!important;line-height:1.5;padding:12px 13px}

.bc-upload-box{min-height:94px;padding:14px;gap:13px}
.bc-upload-icon{width:52px;height:52px;flex-basis:52px;font-size:28px}
.bc-upload-box strong{font-size:17px!important}
.bc-upload-box small{font-size:14px!important;line-height:1.4}
.bc-text-label{font-size:16px!important;margin:13px 0 6px}
.bc-custom-section textarea{min-height:112px;font-size:16px!important;padding:12px}
.bc-callback-card{padding:12px 13px;gap:10px}
.bc-checkbox-ui{width:26px;height:26px;flex-basis:26px;font-size:14px}
.bc-callback-card strong{font-size:16px!important}
.bc-callback-card small{font-size:14px!important;line-height:1.4}
.bc-contact-message{font-size:14px!important;line-height:1.55;padding:12px 13px}

.bc-extra-grid{gap:9px}
.bc-extra-card{min-height:72px;padding:9px 36px 9px 9px;gap:11px}
.bc-extra-icon{width:50px;height:50px;flex-basis:50px;font-size:24px}
.bc-extra-card strong{font-size:16px!important}
.bc-extra-card small{font-size:15px!important;font-weight:900}
.bc-custom-message-field{padding:11px 12px}
.bc-custom-message-field label{font-size:15px!important}
.bc-custom-message-field input{min-height:48px;font-size:16px!important;padding:9px 10px}

.bc-date-row{gap:12px}
.bc-date-row input[type="date"]{width:220px;min-height:52px;font-size:16px!important;padding:9px 10px}
.bc-date-row small{font-size:14px!important}
.bc-delivery-visual{padding:16px;border-radius:15px}
.bc-delivery-icon{font-size:34px}
.bc-delivery-visual strong{font-size:16px!important}
.bc-delivery-visual p{font-size:14px!important;line-height:1.5}

.bc-bottom-price{padding:14px 15px;border-radius:13px;margin:10px 0}
.bc-bottom-price small{font-size:13px!important}
.bc-bottom-price em{font-size:13px!important;line-height:1.4}
.bc-bottom-price .bc-live-price{font-size:30px!important}
.bc-edinburgh-only{padding:13px 14px;border-radius:13px}
.bc-edinburgh-only strong{font-size:16px!important;letter-spacing:.04em}
.bc-edinburgh-only span{font-size:14px!important;line-height:1.5}
.bc-add-button{min-height:58px;font-size:18px!important;padding:14px 22px}
.bc-add-button:focus-visible{outline:3px solid #2F6FED;outline-offset:3px}
.bc-safe-note{font-size:13px!important;line-height:1.45}

.bc-short-description{font-size:16px!important;line-height:1.6}
.bc-short-description-details summary{font-size:16px!important;min-height:44px}
.bc-short-description-full{font-size:15px!important;line-height:1.6;padding:12px 13px}
.bc-short-create strong{font-size:17px!important}
.bc-addon-price{font-size:30px!important}
.bc-addon-purchase p{font-size:16px!important;line-height:1.55}

@media(min-width:1025px){
  .bc-section-visual strong{font-size:15px!important;line-height:1.35}
  .bc-section-visual span{font-size:13px!important;line-height:1.5}
}

@media(max-width:1024px){
  .bc-section-title h3{font-size:23px!important}
  .bc-section-title p{font-size:15px!important}
  .bc-price-bar{top:4px}
  .bc-path-card strong,.bc-size-card strong,.bc-style-card strong{font-size:17px!important}
}

@media(max-width:560px){
  .bc-config-wrap{font-size:16px}
  .bc-size-grid,.bc-style-grid{grid-template-columns:1fr}
  .bc-size-card,.bc-style-card{
    min-height:112px;
    display:grid;
    grid-template-columns:78px minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    text-align:left;
    align-items:center;
    column-gap:12px;
  }
  .bc-size-icon,.bc-style-card img{grid-row:1 / span 2}
  .bc-size-card strong,.bc-style-card strong{font-size:18px!important}
  .bc-size-card small,.bc-style-card small{font-size:14px!important}
  .bc-style-card em{font-size:15px!important}
  .bc-base-grid,.bc-cream-grid,.bc-filling-grid,.bc-extra-grid{grid-template-columns:1fr}
  .bc-section-title h3{font-size:22px!important}
  .bc-live-price{font-size:29px!important}
}


/* =========================================================
   v3.2 Mobile Gallery + Smart CTA
   ========================================================= */

/* WooCommerce zoom trigger/lightbox affordance is intentionally removed. */
.woocommerce-product-gallery__trigger,
.woocommerce-product-gallery .zoomImg{
	display:none!important;
}

/* Stronger, calmer primary action. Solid colour, high contrast, large target. */
.bc-add-button{
	min-height:66px!important;
	border-radius:16px!important;
	background:#086B3A!important;
	color:#FFFFFF!important;
	padding:17px 24px!important;
	font-size:20px!important;
	font-weight:850!important;
	line-height:1.15!important;
	letter-spacing:.005em;
	box-shadow:0 10px 24px rgba(8,107,58,.22)!important;
	transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
.bc-add-button:hover{background:#075A31!important;box-shadow:0 12px 28px rgba(8,107,58,.26)!important;transform:translateY(-1px)}
.bc-add-button:active{transform:translateY(0) scale(.995);box-shadow:0 6px 16px rgba(8,107,58,.20)!important}
.bc-add-button:focus-visible{outline:4px solid #2F6FED!important;outline-offset:3px!important}

/* Smart mobile dock. It remains in the DOM but is visually inert until JS adds is-visible. */
.bc-mobile-order-dock{display:none}

@media(max-width:1024px){
	/* Leave FlexSlider's measured wrapper/slide width and transform alone. */
	.buycake-product-hero .woocommerce-product-gallery__wrapper,
	.buycake-product-hero .woocommerce-product-gallery__image{
		max-width:none!important;
	}
	.buycake-product-hero .woocommerce-product-gallery__wrapper{
		will-change:transform;
	}
	.buycake-product-hero .flex-viewport{
		width:100%!important;
		max-width:100%!important;
		overflow:hidden!important;
	}

	.bc-add-button{
		min-height:68px!important;
		font-size:20px!important;
		border-radius:15px!important;
	}

	.bc-mobile-order-dock{
		position:fixed;
		left:10px;
		right:10px;
		bottom:max(10px, env(safe-area-inset-bottom));
		z-index:9996;
		display:block;
		padding:10px;
		border:1px solid rgba(10,0,88,.10);
		border-radius:18px;
		background:rgba(255,255,255,.97);
		box-shadow:0 18px 48px rgba(31,22,33,.20);
		backdrop-filter:blur(14px);
		-webkit-backdrop-filter:blur(14px);
		opacity:0;
		visibility:hidden;
		pointer-events:none;
		transform:translateY(calc(100% + 24px));
		transition:opacity .28s ease,transform .34s cubic-bezier(.22,.72,.22,1),visibility 0s linear .34s;
	}
	.bc-mobile-order-dock.is-visible{
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:translateY(0);
		transition:opacity .28s ease,transform .34s cubic-bezier(.22,.72,.22,1),visibility 0s;
	}
	.bc-mobile-dock-state{display:none}
	.bc-mobile-order-dock.is-incomplete .bc-mobile-dock-incomplete,
	.bc-mobile-order-dock.is-complete .bc-mobile-dock-complete{display:flex}

	.bc-mobile-dock-incomplete{
		align-items:center;
		gap:10px;
	}
	.bc-mobile-dock-copy{
		display:flex;
		min-width:0;
		flex:1 1 auto;
		flex-direction:column;
		gap:2px;
	}
	.bc-mobile-dock-copy strong{
		color:#0A0058;
		font-size:16px;
		line-height:1.2;
		font-weight:850;
	}
	.bc-mobile-dock-copy span{
		color:#665E68;
		font-size:13px;
		line-height:1.3;
	}
	.bc-mobile-dock-return{
		flex:0 0 auto;
		min-height:50px;
		border:1.5px solid #7B356C;
		border-radius:13px;
		background:#FFF8FD;
		color:#6E2F62;
		padding:10px 14px;
		font:inherit;
		font-size:15px;
		font-weight:850;
		cursor:pointer;
	}
	.bc-mobile-dock-return:focus-visible{outline:3px solid #2F6FED;outline-offset:2px}

	.bc-mobile-dock-complete{
		align-items:center;
		gap:10px;
	}
	.bc-mobile-dock-order-info{
		display:flex;
		min-width:0;
		flex:1 1 auto;
		flex-direction:column;
		gap:3px;
	}
	.bc-mobile-dock-summary{
		display:block;
		min-width:0;
		color:#4F4751;
		font-size:12px;
		line-height:1.25;
	}
	.bc-mobile-dock-summary .bc-summary-text{
		display:-webkit-box;
		overflow:hidden;
		-webkit-box-orient:vertical;
		-webkit-line-clamp:2;
		font-size:12px!important;
		line-height:1.25!important;
	}
	.bc-mobile-dock-price{
		color:#0A0058;
		font-size:24px;
		line-height:1;
		font-weight:900;
		white-space:nowrap;
	}
	.bc-mobile-dock-order{
		flex:0 0 auto;
		min-width:132px;
		min-height:56px;
		border:0;
		border-radius:14px;
		background:#086B3A;
		color:#fff;
		padding:12px 16px;
		font:inherit;
		font-size:16px;
		line-height:1.1;
		font-weight:900;
		box-shadow:0 8px 18px rgba(8,107,58,.20);
		cursor:pointer;
	}
	.bc-mobile-dock-order:active{transform:scale(.99)}
	.bc-mobile-dock-order:focus-visible{outline:3px solid #2F6FED;outline-offset:2px}
}

@media(max-width:430px){
	.bc-mobile-order-dock{left:7px;right:7px;padding:9px;border-radius:16px}
	.bc-mobile-dock-copy span{display:none}
	.bc-mobile-dock-return{font-size:14px;padding:9px 11px}
	.bc-mobile-dock-order{min-width:118px;font-size:15px;padding:11px 13px}
	.bc-mobile-dock-price{font-size:22px}
}

@media(prefers-reduced-motion:reduce){
	.bc-mobile-order-dock,.bc-add-button{transition:none!important}
}


/* =========================================================
   v3.2.1 Date picker UX
   ========================================================= */
.bc-date-picker-card{
  width:100%;
  max-width:560px;
  padding:16px;
  border:1px solid #DDD3DD;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(56,39,57,.06);
}
.bc-date-instruction{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
  padding:12px 13px;
  border-radius:12px;
  background:#F8F3F7;
}
.bc-date-instruction-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:12px;
  background:#fff;
  font-size:24px;
  box-shadow:0 2px 8px rgba(58,40,58,.05);
}
.bc-date-instruction>span:last-child{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.bc-date-instruction strong{
  color:var(--bc-navy);
  font-size:18px!important;
  line-height:1.25;
}
.bc-date-instruction small{
  color:#625A64;
  font-size:15px!important;
  line-height:1.45;
}
.bc-date-row{
  display:block!important;
}
.bc-date-field-label{
  display:block;
  margin:0 0 6px;
  color:var(--bc-navy);
  font-size:16px;
  line-height:1.3;
  font-weight:800;
}
.bc-date-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:stretch;
}
.bc-date-control input[type="date"]{
  width:100%!important;
  min-width:0;
  min-height:56px!important;
  margin:0;
  border:2px solid #CFC3CD!important;
  border-radius:12px!important;
  background:#fff;
  padding:10px 12px!important;
  color:#252029;
  font-size:17px!important;
  font-weight:700;
  cursor:pointer;
}
.bc-date-control input[type="date"]:hover{
  border-color:#9B7191!important;
}
.bc-date-control input[type="date"]:focus-visible{
  outline:3px solid #2F6FED;
  outline-offset:2px;
  border-color:#2F6FED!important;
}
.bc-date-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:150px;
  min-height:56px;
  border:0;
  border-radius:12px;
  background:#0A0058;
  color:#fff;
  padding:10px 16px;
  font:inherit;
  font-size:16px;
  line-height:1;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(10,0,88,.14);
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.bc-date-trigger:hover{
  background:#17106E;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(10,0,88,.18);
}
.bc-date-trigger:focus-visible{
  outline:3px solid #2F6FED;
  outline-offset:3px;
}
.bc-date-trigger span:first-child{
  font-size:21px;
}
.bc-date-help{
  display:block;
  margin-top:7px;
  color:#625A64!important;
  font-size:14px!important;
  line-height:1.4;
}
.bc-date-help strong{
  color:#2A242C;
}

@media(max-width:1024px){
  .bc-date-picker-card{
    max-width:none;
    padding:14px;
    border-radius:14px;
  }
  .bc-date-instruction{
    padding:11px 12px;
  }
  .bc-date-control{
    grid-template-columns:1fr;
  }
  .bc-date-trigger{
    width:100%;
    min-height:58px;
    font-size:17px;
  }
  .bc-date-control input[type="date"]{
    min-height:58px!important;
    font-size:17px!important;
  }
}


/* =========================================================
   v4.0 — 37-cake catalogue / Spotlight / recipe UX
   ========================================================= */

/* Step 0 is Cake Size. The route question is intentionally unnumbered. */
.bc-path-section .bc-step{display:none!important}

/* Spotlight quick products: size + style are fixed in PHP/meta.
   Customers choose only recipe + extras + date. */
.bc-spotlight-hidden{
	position:absolute!important;
	width:1px!important;height:1px!important;
	opacity:0!important;pointer-events:none!important;
}
.bc-config-form[data-mode="spotlight"] .bc-path-section,
.bc-config-form[data-mode="spotlight"] .bc-size-section,
.bc-config-form[data-mode="spotlight"] .bc-style-section,
.bc-config-form[data-mode="spotlight"] .bc-shape-section,
.bc-config-form[data-mode="spotlight"] .bc-exact-summary,
.bc-config-form[data-mode="spotlight"] .bc-custom-section{
	display:none!important;
}
.bc-config-form[data-mode="spotlight"] .bc-base-section{
	display:block!important;
}

/* "I want this cake" still has Extra decoration on every cake. */
@supports selector(.bc-config-form:has(input:checked)){
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_size"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_size"]:checked) .bc-date-section{
		display:block!important;
	}
}

/* Cheesecake is a full fixed recipe and is offered only with Custom Cake. */
.bc-base-cheesecake{display:none!important}
@supports selector(.bc-config-form:has(input:checked)){
	.bc-config-form:has(input[name="buycake_style"][value="custom"]:checked):has(input[name="buycake_size"][value="small"]:checked) .bc-base-cheesecake.bc-base-size-small,
	.bc-config-form:has(input[name="buycake_style"][value="custom"]:checked):has(input[name="buycake_size"][value="medium"]:checked) .bc-base-cheesecake.bc-base-size-medium,
	.bc-config-form:has(input[name="buycake_style"][value="custom"]:checked):has(input[name="buycake_size"][value="large"]:checked) .bc-base-cheesecake.bc-base-size-large{
		display:flex!important;
	}
}

/* Avoid charging exact-design extras twice. */
.bc-config-form[data-exact-includes-flowers="1"]:has(input[name="buycake_path"][value="exact"]:checked) .bc-extra-flowers,
.bc-config-form[data-exact-includes-print="1"]:has(input[name="buycake_path"][value="exact"]:checked) .bc-extra-print,
.bc-config-form[data-exact-includes-candles="1"]:has(input[name="buycake_path"][value="exact"]:checked) .bc-extra-candles{
	display:none!important;
}

.bc-exact-included{
	display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 2px;
}
.bc-exact-included:empty{display:none}
.bc-exact-included span{
	display:inline-flex;align-items:center;
	padding:6px 9px;border-radius:999px;
	background:#F1F8F3;color:#17653B;
	font-size:14px;font-weight:800;line-height:1.3;
}
.bc-inline-continue{
	margin-top:12px;min-height:46px;padding:10px 14px;
	border:1px solid #D4C4D1;border-radius:999px;
	background:#fff;color:#6D2C62;font:inherit;font-size:15px;font-weight:800;
	cursor:pointer;
}
.bc-inline-continue:hover{background:#FAF4F8}
.bc-inline-continue:focus-visible{outline:3px solid #1D70B8;outline-offset:3px}

.bc-print-note{
	display:none;margin-top:10px;padding:12px 14px;
	border-left:4px solid #7B376F;border-radius:0 10px 10px 0;
	background:#FAF5F9;color:#514852;font-size:15px;line-height:1.5;
}
.bc-config-form:has(input[name="buycake_edible_print"]:checked) .bc-print-note{display:block}
.bc-extra-card small{font-weight:850}

/* Gallery badges. Added by the tiny UI JS; they do not modify Woo gallery logic. */
.woocommerce-product-gallery__image{position:relative}
.bc-gallery-badge{
	position:absolute;z-index:8;left:12px;right:12px;bottom:12px;
	padding:9px 11px;border-radius:11px;
	background:rgba(10,0,88,.90);color:#fff;
	font-size:14px;line-height:1.35;font-weight:750;
	box-shadow:0 8px 24px rgba(0,0,0,.18);
	pointer-events:none;
	backdrop-filter:blur(5px);
}

/* Nine quick products under Allergens. */
.bc-spotlight-wrap{
	width:100%;max-width:1240px;
	margin:28px auto 10px;
}
.bc-spotlight-head{
	display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px;
}
.bc-spotlight-head>div:first-child>span{
	display:block;color:#7A3470;font-size:13px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;
}
.bc-spotlight-head h2{
	margin:0;color:#0A0058;font-size:32px;line-height:1.12;
}
.bc-spotlight-head p{margin:7px 0 0;color:#5F5661;font-size:16px;line-height:1.5;max-width:760px}
.bc-spotlight-swipe{color:#6A606B;font-size:14px;font-weight:800;white-space:nowrap}
.bc-spotlight-track{
	display:grid;grid-auto-flow:column;grid-auto-columns:minmax(245px,290px);
	gap:12px;overflow-x:auto;padding:3px 2px 14px;
	scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;
}
.bc-spotlight-card{
	scroll-snap-align:start;overflow:hidden;
	border:1px solid #E5DDE4;border-radius:16px;background:#fff;
	box-shadow:0 8px 24px rgba(49,31,51,.06);
}
.bc-spotlight-image{display:block;aspect-ratio:4/5;overflow:hidden;background:#F6F2F5}
.bc-spotlight-image img{width:100%;height:100%;object-fit:cover;display:block}
.bc-spotlight-card-body{padding:13px}
.bc-spotlight-meta{display:flex;gap:6px;margin-bottom:8px}
.bc-spotlight-meta span{
	padding:4px 7px;border-radius:999px;background:#F0E7EF;color:#6E3265;
	font-size:12px;font-weight:850;
}
.bc-spotlight-card h3{margin:0;font-size:19px;line-height:1.2}
.bc-spotlight-card h3 a{color:#0A0058;text-decoration:none}
.bc-spotlight-card p{min-height:66px;margin:8px 0;color:#5D555E;font-size:15px;line-height:1.45}
.bc-spotlight-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bc-spotlight-bottom strong{color:#0A0058;font-size:18px}
.bc-spotlight-button{
	display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 11px;
	border-radius:999px;background:#086B3A;color:#fff!important;text-decoration:none;font-size:14px;font-weight:850;
}
.bc-catalog-price small{font-size:.68em;text-transform:uppercase;letter-spacing:.05em}

/* Slightly clearer recipe fixed-state messaging. */
.bc-fixed-recipe{font-size:15px!important;line-height:1.45}

/* Mobile */
@media(max-width:767px){
	.bc-spotlight-wrap{width:100%}
	.bc-spotlight-head{align-items:flex-start}
	.bc-spotlight-head h2{font-size:27px}
	.bc-spotlight-head p{font-size:15px}
	.bc-spotlight-swipe{display:none}
	.bc-spotlight-track{grid-auto-columns:minmax(78vw,84vw)}
	.bc-gallery-badge{left:8px;right:8px;bottom:8px;font-size:13px}
}

@supports selector(.bc-config-form:has(input:checked)){
	.bc-config-form:has(input[name="buycake_base"][value="cheesecake"]:checked) .bc-filling-section,
	.bc-config-form:has(input[name="buycake_base"][value="cheesecake"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_base"][value="cheesecake"]:checked) .bc-date-section{
		display:block!important;
	}
	.bc-config-form:has(input[name="buycake_style"][value="custom"]:checked):has(input[name="buycake_base"][value="cheesecake"]:checked) .bc-custom-section{
		display:block;
	}
	.bc-config-form[data-mode="spotlight"] .bc-custom-section{display:none!important}
}
.bc-config-form:has(input[name="buycake_base"][value="cheesecake"]:checked) .bc-fixed-cream-note,
.bc-config-form:has(input[name="buycake_base"][value="cheesecake"]:checked) .bc-fixed-filling-note{display:block}

.bc-config-form:has(input[name="buycake_base"][value="cheesecake"]:checked) .bc-cream-for-cheesecake,
.bc-config-form:has(input[name="buycake_base"][value="cheesecake"]:checked) .bc-filling-for-cheesecake{display:flex}
.bc-config-form:has(input[name="buycake_base"][value="cheesecake"]:checked) .bc-cream-grid,
.bc-config-form:has(input[name="buycake_base"][value="cheesecake"]:checked) .bc-filling-grid{display:none}


/* =========================================================
   v4.0.2 — Spotlight preset cards + gallery click + full bleed
   ========================================================= */

/* Nine quick products now show the visual preset instead of only a text summary. */
.bc-config-form[data-mode="spotlight"] .bc-size-section,
.bc-config-form[data-mode="spotlight"] .bc-style-section{
	display:block!important;
}
.bc-config-form[data-mode="spotlight"] .bc-shape-section{
	display:block!important;
}
.bc-config-form[data-mode="spotlight"]:has(input[name="buycake_style"][value="simple"]:checked) .bc-shape-square,
.bc-config-form[data-mode="spotlight"]:has(input[name="buycake_style"][value="simple"]:checked) .bc-shape-heart{
	display:none!important;
}
.bc-spotlight-preset-note{
	margin:10px 0 0;padding:11px 13px;border-radius:11px;
	background:#F7F2F7;color:#554B56;font-size:14px;line-height:1.5;
}
.bc-spotlight-preset-note strong{color:#0A0058}

/* On Spotlight pages the explanatory sponge/filling images stay inside the form.
   This prevents the desktop/laptop image from climbing into the sticky product gallery. */
@media(min-width:1025px){
	.bc-config-form[data-mode="spotlight"] .bc-base-visual,
	.bc-config-form[data-mode="spotlight"] .bc-filling-visual{
		position:relative!important;left:auto!important;top:auto!important;
		width:100%!important;max-width:none!important;margin:0 0 14px!important;
		display:grid!important;grid-template-columns:180px minmax(0,1fr);align-items:center;
	}
	.bc-config-form[data-mode="spotlight"] .bc-base-visual img,
	.bc-config-form[data-mode="spotlight"] .bc-filling-visual img{
		width:180px!important;height:128px!important;aspect-ratio:auto!important;object-fit:cover!important;
	}
	.bc-config-form[data-mode="spotlight"] .bc-section-visual>div{padding:14px 16px!important}
}

/* Full-bleed nine-cake choice section. */
.bc-spotlight-wrap{
	width:100vw!important;max-width:none!important;
	margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
	padding-left:max(20px,calc((100vw - 1240px)/2))!important;
	padding-right:max(20px,calc((100vw - 1240px)/2))!important;
}
@media(max-width:767px){
	.bc-spotlight-wrap{padding-left:14px!important;padding-right:14px!important}
}

/* Product images are for swiping/browsing only — no click-to-enlarge affordance. */
.woocommerce-product-gallery__image a{cursor:default!important}


/* v4.0.3 — edible photo print follow-up notes */
.bc-exact-print-contact-note,
.bc-print-note{
	display:flex;
	flex-direction:column;
	gap:4px;
	margin-top:10px;
	padding:13px 14px;
	border:1px solid #D9CAD7;
	border-radius:12px;
	background:#FBF7FA;
	color:#4B414A;
	font-size:15px;
	line-height:1.5;
}
.bc-exact-print-contact-note strong,
.bc-print-note strong{
	color:#0A0058;
	font-size:16px;
	font-weight:850;
}
.bc-exact-print-contact-note span,
.bc-print-note span{
	display:block;
}

/* Optional print note remains hidden until the customer selects the +£10 print. */
.bc-print-note{display:none}
.bc-config-form:has(input[name="buycake_edible_print"]:checked) .bc-print-note{display:flex}

@media(max-width:767px){
	.bc-exact-print-contact-note,
	.bc-print-note{
		padding:14px;
		font-size:16px;
	}
	.bc-exact-print-contact-note strong,
	.bc-print-note strong{
		font-size:17px;
	}
}


/* =========================================================
   v4.0.4 — universal builder sizes + size price UX
   ========================================================= */

.bc-size-price{
	display:none;
	margin-top:6px;
	padding:6px 10px;
	border-radius:999px;
	background:#F2F8F4;
	color:#08713B;
	font-size:15px;
	font-weight:900;
	font-style:normal;
	line-height:1;
	white-space:nowrap;
}

/* Universal "I want something else" builder: every size starts with a clear From price. */
.bc-config-form:has(input[name="buycake_path"][value="custom"]:checked):not([data-mode="spotlight"]) .bc-size-price-builder{
	display:inline-flex;
}

/* Exact photographed cake: compare available size with the photographed/reference size. */
.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked) .bc-size-price-exact{
	display:inline-flex;
}
.bc-size-price-exact{
	background:#F5EFF7;
	color:#6E2862;
}

/* Spotlight/preset products: show +/- from their preselected size instead of generic From. */
.bc-config-form[data-mode="spotlight"] .bc-size-price-builder{display:none!important}
.bc-config-form[data-mode="spotlight"] .bc-size-price-spotlight{
	display:inline-flex!important;
	background:#F5EFF7;
	color:#6E2862;
}

/* Custom route is universal, so legacy per-product general size restrictions never hide a size. */
.bc-config-form:has(input[name="buycake_path"][value="custom"]:checked) .bc-size-card{
	display:flex;
}
@media(max-width:560px){
	.bc-config-form:has(input[name="buycake_path"][value="custom"]:checked) .bc-size-card{
		display:grid;
	}
	.bc-size-price{
		font-size:16px;
		padding:7px 11px;
	}
}

/* Size card gets enough room for the new price chip without crowding. */
@media(min-width:561px){
	.bc-size-card{min-height:184px!important}
}


/* =========================================================
   v4.0.5 — Full-screen "baking your cake" basket loader
   ========================================================= */

html.bc-basket-loading,
body.bc-basket-loading{
	overflow:hidden!important;
	overscroll-behavior:none;
}

.bc-basket-loader{
	position:fixed;
	inset:0;
	z-index:2147483000;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:22px;
	background:rgba(12,7,24,.78);
	backdrop-filter:blur(9px);
	-webkit-backdrop-filter:blur(9px);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .22s ease,visibility .22s ease;
}

.bc-basket-loader.is-active{
	opacity:1;
	visibility:visible;
	pointer-events:all;
}

.bc-basket-loader-panel{
	width:min(680px,100%);
	max-height:calc(100dvh - 32px);
	overflow:auto;
	padding:34px 32px 30px;
	border:1px solid rgba(255,255,255,.34);
	border-radius:26px;
	background:#FFFFFF;
	box-shadow:0 28px 90px rgba(0,0,0,.28);
	text-align:center;
	color:#29222B;
}

.bc-basket-loader-kicker{
	display:inline-block;
	margin-bottom:8px;
	color:#7E3973;
	font-size:13px;
	font-weight:900;
	letter-spacing:.12em;
}

.bc-basket-loader h3{
	margin:0 0 10px;
	color:#0A0058;
	font-size:clamp(27px,4vw,36px);
	line-height:1.12;
	font-weight:900;
}

.bc-basket-loader p{
	max-width:580px;
	margin:0 auto;
	font-size:17px;
	line-height:1.55;
	color:#514850;
}

.bc-basket-loader-working > small{
	display:block;
	margin-top:22px;
	font-size:15px;
	line-height:1.45;
	color:#6B626A;
	font-weight:650;
}

.bc-baking-steps{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:10px;
	margin:28px 0 8px;
}

.bc-bake-step{
	min-width:0;
	padding:10px 5px 8px;
	border-radius:16px;
	background:#FBF7FA;
	animation:bcBakePulse 3s ease-in-out infinite;
	transform-origin:center;
}

.bc-bake-step:nth-child(1){animation-delay:0s}
.bc-bake-step:nth-child(2){animation-delay:.6s}
.bc-bake-step:nth-child(3){animation-delay:1.2s}
.bc-bake-step:nth-child(4){animation-delay:1.8s}
.bc-bake-step:nth-child(5){animation-delay:2.4s}

.bc-bake-step img{
	display:block;
	width:64px;
	height:64px;
	max-width:100%;
	margin:0 auto 7px;
	object-fit:contain;
}

.bc-bake-step span{
	display:block;
	color:#4D3D4C;
	font-size:13px;
	line-height:1.2;
	font-weight:800;
}

@keyframes bcBakePulse{
	0%,13%,100%{
		transform:scale(1);
		background:#FBF7FA;
		box-shadow:none;
	}
	6.5%{
		transform:scale(1.11);
		background:#F5EAF3;
		box-shadow:0 10px 24px rgba(126,57,115,.13);
	}
}

.bc-basket-loader-success,
.bc-basket-loader-error{
	padding:22px 4px 8px;
}

.bc-loader-success-icon,
.bc-loader-error-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:82px;
	height:82px;
	margin:0 auto 18px;
	border-radius:50%;
	font-size:44px;
	font-weight:900;
	line-height:1;
}

.bc-loader-success-icon{
	background:#E4F5EA;
	color:#08713D;
	animation:bcSuccessPop .38s cubic-bezier(.2,.85,.3,1.25) both;
}

.bc-loader-error-icon{
	background:#FFF0ED;
	color:#A43A2B;
}

@keyframes bcSuccessPop{
	from{transform:scale(.72);opacity:0}
	to{transform:scale(1);opacity:1}
}

.bc-loader-return{
	min-height:54px;
	margin-top:18px;
	padding:12px 22px;
	border:0;
	border-radius:14px;
	background:#0A0058;
	color:#fff;
	font-size:16px;
	font-weight:850;
	cursor:pointer;
}

.bc-loader-return:focus-visible{
	outline:4px solid #2F6FED;
	outline-offset:3px;
}

/* Stronger permanent no-zoom / no-lightbox policy. */
.woocommerce-product-gallery__trigger,
.woocommerce-product-gallery .zoomImg,
.pswp,
.pswp__bg,
.pswp__scroll-wrap{
	display:none!important;
}

/* Never imply that the main gallery image can be enlarged. */
.woocommerce-product-gallery__image a,
.woocommerce-product-gallery__image img{
	cursor:default!important;
}

/* While submitting, all Add to basket buttons communicate busy state. */
.bc-config-form.bc-is-submitting .bc-add-button,
.bc-config-form.bc-is-submitting .bc-mobile-dock-order{
	cursor:wait!important;
	opacity:.82;
}

@media(max-width:767px){
	.bc-basket-loader{
		padding:14px;
	}
	.bc-basket-loader-panel{
		padding:28px 16px 24px;
		border-radius:22px;
	}
	.bc-basket-loader p{
		font-size:16px;
	}
	.bc-baking-steps{
		gap:5px;
		margin-top:24px;
	}
	.bc-bake-step{
		padding:8px 2px 6px;
		border-radius:12px;
	}
	.bc-bake-step img{
		width:50px;
		height:50px;
		margin-bottom:5px;
	}
	.bc-bake-step span{
		font-size:11px;
	}
	.bc-basket-loader-working > small{
		font-size:14px;
	}
}

@media(prefers-reduced-motion:reduce){
	.bc-basket-loader,
	.bc-bake-step,
	.bc-loader-success-icon{
		transition:none!important;
		animation:none!important;
	}
	.bc-bake-step:nth-child(3){
		transform:scale(1.06);
		background:#F5EAF3;
	}
}


/* =========================================================
   v4.0.6 — size price + permanent gallery + loader polish
   ========================================================= */
.bc-size-price{
	font-size:16px!important;
	padding:7px 11px!important;
}
.bc-bake-step img{
	width:72px;
	height:72px;
}
.woocommerce-product-gallery__trigger,
.woocommerce-product-gallery .zoomImg{
	display:none!important;
}
.woocommerce-product-gallery__image a,
.woocommerce-product-gallery__image img{
	cursor:default!important;
}
@media(max-width:767px){
	.bc-bake-step img{
		width:56px;
		height:56px;
	}
}

/* v4.0.7 — dedicated WooCommerce AJAX cart endpoint */
.bc-basket-loader-card h3,
.bc-basket-loader-card p{
	text-wrap:balance;
}


/* =========================================================
   v4.0.8 — Same exterior design → flavour choice
   ========================================================= */

.bc-flavour-choice-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
}
.bc-flavour-choice-section .bc-path-card{
	min-height:104px;
}
.bc-own-flavour-note{
	margin:9px 0 0;
	color:#5F5460;
	font-size:15px;
	line-height:1.5;
}
.bc-price-exact-build{display:none!important}

/* Flavour choice is only relevant after "I want this cake". */
.bc-flavour-choice-section,
.bc-exact-build-summary{
	display:none;
}

@supports selector(.bc-config-form:has(input:checked)){
	/* Override the older path -> size disclosure. */
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked) .bc-size-section{
		display:none;
	}
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked) .bc-flavour-choice-section{
		display:block;
	}
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"]:checked) .bc-size-section{
		display:block;
	}

	/* Same approved flavour: preserve the old quick exact route. */
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="same"]:checked):has(input[name="buycake_size"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="same"]:checked):has(input[name="buycake_size"]:checked) .bc-date-section{
		display:block!important;
	}
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="same"]:checked) .bc-exact-summary{
		display:none!important;
	}

	/* Build my own Flavour: same design, no style/shape/reference questions. */
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_size"]:checked) .bc-exact-summary,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked) .bc-style-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked) .bc-shape-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked) .bc-custom-section{
		display:none!important;
	}
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_size"]:checked) .bc-base-section{
		display:block!important;
	}

	/* Once the own recipe is complete, show a visual confirmation using this cake photo. */
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_filling"]:checked) .bc-exact-build-summary,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-exact-build-summary,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_base"][value="snickers"]:checked) .bc-exact-build-summary,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-exact-build-summary{
		display:block!important;
	}

	/* Do not offer Cheesecake when the photographed exterior must stay unchanged. */
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked) .bc-base-cheesecake{
		display:none!important;
	}

	/* Under same-design flavour building, Cake Base chips compare against the approved recipe. */
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked) .bc-price-small,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked) .bc-price-medium,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked) .bc-price-large{
		display:none!important;
	}
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_size"][value="small"]:checked) .bc-price-exact-build-small,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_size"][value="medium"]:checked) .bc-price-exact-build-medium,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_size"][value="large"]:checked) .bc-price-exact-build-large{
		display:block!important;
	}
}

/* Older exact rule displayed extras/date as soon as size was selected.
   In v4.0.8 that must happen only after the flavour route is known. */
@supports selector(.bc-config-form:has(input:checked)){
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):not(:has(input[name="buycake_exact_flavour"]:checked)) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):not(:has(input[name="buycake_exact_flavour"]:checked)) .bc-date-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):not(:has(input[name="buycake_base"]:checked)) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):not(:has(input[name="buycake_base"]:checked)) .bc-date-section{
		display:none!important;
	}
}

@media(max-width:767px){
	.bc-flavour-choice-grid{grid-template-columns:1fr}
	.bc-flavour-choice-section .bc-path-card{min-height:104px}
	.bc-own-flavour-note{font-size:16px}
}


/* Exact-build recipe must be completed before extras/date.
   This overrides the older quick-exact rule from previous versions. */
@supports selector(.bc-config-form:has(input:checked)){
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked) .bc-date-section{
		display:none!important;
	}

	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_filling"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_filling"]:checked) .bc-date-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_base"][value="kyiv-cake-layers"]:checked) .bc-date-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_base"][value="snickers"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_base"][value="snickers"]:checked) .bc-date-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-extra-section,
	.bc-config-form:has(input[name="buycake_path"][value="exact"]:checked):has(input[name="buycake_exact_flavour"][value="build"]:checked):has(input[name="buycake_base"][value="cherry-pyramid"]:checked) .bc-date-section{
		display:block!important;
	}
}


/* v4.0.9 — approved recipe lives inside Same Flavour card */
.bc-same-flavour-copy{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  min-width:0;
}
.bc-approved-label{
  margin:0!important;
  color:#5C5360!important;
  font-size:14px!important;
  font-weight:750;
  line-height:1.3!important;
}
.bc-approved-recipe-list{
  display:flex!important;
  flex-wrap:wrap;
  gap:6px;
}
.bc-approved-recipe-list>span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:5px 9px;
  border:1px solid #E4DCE4;
  border-radius:999px;
  background:#FBF8FB;
  color:#342D35;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
}
@media(max-width:767px){
  .bc-approved-label{font-size:15px!important}
  .bc-approved-recipe-list>span{
    min-height:35px;
    font-size:15px;
    padding:6px 10px;
  }
}
