.tso-fbt{max-width:640px;margin:40px 0 28px;font-family:inherit}
.tso-fbt-title{font-size:22px;font-weight:800;color:#111;margin-bottom:16px}

.tso-fbt-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}

/* Fixed width AND height (not just height) so the total row width is
   predictable with 4 items — object-fit:contain still shows the whole
   image with no cropping, just letterboxed inside a consistent box. */
.tso-fbt-thumb{
	width:100px;height:120px;
	border:1.5px solid #1a1a1a;border-radius:6px;
	overflow:hidden;flex-shrink:0;background:#f7f7f7;
	display:flex;align-items:center;justify-content:center
}
a.tso-fbt-thumb{cursor:pointer;transition:border-color .15s ease}
a.tso-fbt-thumb:hover{border-color:#555}
.tso-fbt-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.tso-fbt-thumb.is-main{border-color:#F8EB27;box-shadow:0 0 0 2px #F8EB27 inset}
.tso-fbt-plus{font-size:18px;font-weight:700;color:#555;flex-shrink:0}

.tso-fbt-total-row{font-size:16px;color:#222;margin-bottom:10px}
.tso-fbt-total-row strong{font-weight:800}

.tso-fbt button.tso-fbt-add-all{
	display:block;width:100%;max-width:400px;
	background:#111!important;color:#fff!important;
	border:2px solid #F8EB27!important;border-radius:6px!important;
	height:50px!important;font-size:14px!important;font-weight:800!important;
	letter-spacing:1px;text-transform:uppercase;cursor:pointer;margin-bottom:18px
}
.tso-fbt button.tso-fbt-add-all:hover{background:#000!important}
.tso-fbt button.tso-fbt-add-all[disabled]{opacity:.6;cursor:default}

.tso-fbt-list{display:flex;flex-direction:column;gap:16px}
.tso-fbt-row{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:#333}
.tso-fbt-row input[type=checkbox]{margin-top:3px;width:16px;height:16px;accent-color:#111;flex-shrink:0}
.tso-fbt-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.tso-fbt-row-text{cursor:pointer;display:block}
.tso-fbt-row-text a{color:#333;text-decoration:none}
.tso-fbt-row-text a:hover{text-decoration:underline}

.tso-fbt-size{
	width:auto;max-width:170px;height:32px;
	border:1px solid #ccc;border-radius:5px;
	background:#fff;color:#222;font-size:13px;padding:0 8px;cursor:pointer
}
.tso-fbt-size:focus{border-color:#111;outline:none}

.tso-fbt-row-price{flex-shrink:0;text-align:right;white-space:nowrap;font-weight:600;display:flex;align-items:center;gap:8px;padding-top:2px}
.tso-fbt-row-price del{color:#999;font-weight:400}

/* Bolder red save badge, matching the reference more closely */
.tso-fbt-save{
	display:inline-block;background:#d32f2f;color:#fff;
	font-size:12px;font-weight:800;letter-spacing:.3px;
	padding:4px 9px;border-radius:4px;line-height:1;text-transform:uppercase
}

@media(max-width:480px){
	.tso-fbt-strip{gap:6px}
	.tso-fbt-thumb{width:74px;height:92px}
	.tso-fbt-plus{font-size:14px}
	.tso-fbt-row{font-size:13.5px;flex-wrap:wrap}
	.tso-fbt-row-price{flex-basis:100%;justify-content:flex-start;padding-left:26px;padding-top:4px}
	.tso-fbt-size{max-width:140px}
}

@media(max-width:360px){
	.tso-fbt-thumb{width:64px;height:80px}
}
