/* Uniform Set Builder ----------------------------------------------------- */
:root{
	--twb-navy:#0B2545;
	--twb-cta:#FF7A2F;
	--twb-line:#E2EAF2;
	--twb-muted:#5A6675;
	--twb-bg:#F7F9FC;
}

.tw-builder{
	margin:22px 0 26px;
	padding:22px;
	border:1px solid var(--twb-line);
	border-radius:16px;
	background:#fff;
	font-family:'Inter',system-ui,sans-serif;
}

/* The theme turns form.cart into a flex row (quantity + button). Force the
   builder onto its own full-width row above them so it can't be squashed. */
body.single-product div.product form.cart .tw-builder{
	flex:1 1 100% !important;
	width:100% !important;
	order:-1;
	display:block !important;
}
.tw-builder__head{margin-bottom:16px;}
.tw-builder__title{
	font-family:'Sora',system-ui,sans-serif;
	font-size:19px;
	font-weight:800;
	color:var(--twb-navy);
	margin:0 0 4px;
}
.tw-builder__sub{font-size:14px;color:var(--twb-muted);margin:0;line-height:1.5;}

.tw-builder__list{list-style:none;margin:0;padding:0;}

.tw-item{
	display:flex;
	align-items:center;
	gap:14px;
	flex-wrap:wrap;
	padding:14px 12px;
	border:1px solid var(--twb-line);
	border-radius:12px;
	margin-bottom:10px;
	transition:border-color .18s ease,background .18s ease;
}
.tw-item.is-selected{border-color:var(--twb-cta);background:#FFF6F0;}

.tw-item__main{
	display:flex;
	align-items:center;
	gap:12px;
	flex:1 1 240px;
	cursor:pointer;
	margin:0;
}
/* Force the native checkbox to always render — defeats any global
   appearance:none / visually-hidden / zero-size checkbox rule from the
   parent theme or a plugin that would otherwise make it "disappear". */
.tw-item__check{
	-webkit-appearance:checkbox !important;
	-moz-appearance:checkbox !important;
	appearance:auto !important;
	width:20px !important;height:20px !important;
	min-width:20px !important;min-height:20px !important;
	max-width:none !important;max-height:none !important;
	opacity:1 !important;
	position:static !important;
	clip:auto !important;clip-path:none !important;
	pointer-events:auto !important;
	transform:none !important;
	accent-color:var(--twb-cta);
	flex:none;cursor:pointer;margin:0;
}
.tw-item__name{font-size:15.5px;font-weight:700;color:var(--twb-navy);}
.tw-item__price{
	margin-left:auto;
	font-size:14px;
	font-weight:700;
	color:var(--twb-muted);
	white-space:nowrap;
}
.tw-item__size{flex:0 0 auto;min-width:150px;}
.tw-item__select{
	width:100%;
	padding:9px 12px;
	border:1px solid var(--twb-line);
	border-radius:9px;
	font-size:14px;
	color:var(--twb-navy);
	background:#fff;
}
.tw-item__select:disabled{background:#F1F4F8;color:#9AA7B4;cursor:not-allowed;}
.tw-item__onesize{
	display:inline-block;
	font-size:12.5px;
	font-weight:600;
	color:var(--twb-muted);
	padding:8px 12px;
	background:var(--twb-bg);
	border-radius:9px;
}

.tw-builder__total{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-top:16px;
	padding-top:16px;
	border-top:2px dashed var(--twb-line);
	font-size:16px;
	font-weight:700;
	color:var(--twb-navy);
}
.tw-builder__amount{
	font-family:'Sora',system-ui,sans-serif;
	font-size:26px;
	font-weight:800;
	color:var(--twb-cta);
}
.tw-builder__hint{
	margin:10px 0 0;
	font-size:13px;
	color:var(--twb-cta);
	font-weight:600;
}
.tw-builder__hint.is-hidden{display:none;}

/* De-emphasise the themed price label near the title */
.tw-set-pricehtml{font-weight:700;color:var(--twb-navy);}

@media (max-width:520px){
	.tw-item__price{margin-left:0;}
	.tw-item__size{width:100%;min-width:0;}
}
