.product-preview {
	display: flex;
	flex-direction: column;
	width: 100%;
	background-color: #fff;
	font-family: Arial, Helvetica, sans-serif;
	position: relative;
	box-shadow: 0 0 7px rgba(0,0,0,0.1);
}

.product-preview:hover {
	text-decoration: none;	
}

.product-preview .label, .images .label {
	position: absolute;
	text-transform: uppercase;
	padding: 3px 4px;
	font-size: 12px;
	z-index: 20;
	background-color: #000;
	border-radius: 12px;
	overflow: hidden;
	color: #fff;
	top: 5px;
	left: 5px;
	min-width: 50px;
	text-align: center;
}

.product-preview .discount, .images .discount {
	position: absolute;
	text-transform: uppercase;
	padding: 2px 7px 3px 7px;
	font-size: 13px;
	z-index: 20;
	background-color: #e40f2b;
	border-radius: 12px;
	overflow: hidden;
	color: #fff;
	top: 5px;
	right: 5px;
	text-align: center;
}

.product-preview .product-badges, .images .product-badges {
	position: absolute;
	top: 5px;
	left: 5px;
	z-index: 20;
	display: flex;
	align-items: center;
	gap: 5px;
	pointer-events: none;
}

.product-badges .label, .product-badges .discount {
	position: static;
	flex-shrink: 0;
}

.product-preview .title {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.product-preview .image {
	aspect-ratio: 1/1;
	overflow: hidden;
	position: relative;
}

.product-preview .image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	transition: transform 0.2s ease-in-out;
}

.product-preview:hover .image img {
	transform: scale(1.1);
}

.product-preview .image:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color:	rgba(0,0,0,0);
	z-index: 10;
	transition: all 0.2s ease-in-out;
}

.product-preview .info {
	padding: 10px 10px 14px;
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	text-align: left;
}

.product-preview .info .title {
	font-weight: 400;
	font-size: 15px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-height: 1.35;
	min-height: 2.7em;
	text-align: left;
	color: #000;
	padding: 0;
	margin: 5px 0 8px;
}

.product-preview .info .price {
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: nowrap;
	white-space: nowrap;
	padding: 4px 0 12px;
	text-align: left;
}

.product-preview .info .price big {
	font-weight: bold;
	color: #ef0027;
	font-size: 23px;
	display: inline-block;
	margin: 0;
}

.product-preview .info .price del {
	color: #707070;
	font-size: 15px;
}

.product-preview .info .sizes {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 4px;
	margin-top: auto;
}

.product-preview .info .sizes span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	min-width: 30px;
	min-height: 34px;
	padding: 3px 3px;
	text-align: center;
	line-height: 1.2;
	font-size: 12px;
	color: #222;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,.06);
}

.product .sizes .custom-radio.size-unavailable,
.product .sizes option:disabled {
	color: #999;
	background-color: #f0f0f0;
	border-color: #e0e0e0;
	cursor: not-allowed;
	opacity: .45;
}

.size-unavailable-tooltip {
	position: fixed;
	z-index: 10000;
	padding: 5px 9px;
	border-radius: 4px;
	background: #333;
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
	white-space: nowrap;
	pointer-events: none;
}

/* .product-preview .info .sizes .size-low {
	color: #bd1233;
	background: #ffe5eb;
	border-color: #f0a6b6;
} */

.product-preview .info .sizes .size-unavailable {
	color: #6b6b6b;
	background: #f0f0f0;
	border-color: #e8e8e8;
	box-shadow: none;
}

.product-preview .colors {
	margin-top: 0;
	justify-content: flex-start;
	gap: 7px;
}

.product-preview .colors .color {
	width: 16px;
	height: 16px;
	/*box-shadow: 0 0 0 1px #fff;*/
	border-radius: 100%;
	overflow: hidden;
	border: 1px solid #fff;
}

.product-preview .colors .color.selected {
	/*box-shadow: 0 0 0 1px #000;*/
	box-shadow: 0 0 0 1px #000;
}

.product-preview .colors .color .color-content {
	border-radius: 100%;
	overflow: hidden;
    transform: none;
}

.timer {
	text-align: center;
	position: relative;
	border: 1px solid #555;
	border-radius: 6px;
	padding: 15px 10px;
	text-align: left;
	margin-bottom: 30px;
}

.timer .item {
	width: 60px;
	height: 46px;
	border-radius: 6px;
	background-color: #ffffff;
	display: inline-block;
	color: #fe8a2c;
	position: relative;
}

.timer big {
	font-size: 25px;
	padding-bottom: 15px;
	display: block;
}

.timer .item .count {
	text-align: center;
	line-height: 45px;
	height: 46px;
	overflow: hidden;
	font-size: 45px;
	font-weight: bold;
	letter-spacing: 0.38px;
	color: #fff;
	background-color: #555;
	border-radius: 6px;
}

.timer .item .label {
	position: absolute;
	bottom: -17px;
	right: 0;
	color: #000;
	font-size: 10px;
	text-align: right;
}

.timer .column {
	display: inline-block;
	width: 14px;
	height: 46px;
	position: relative;
}

.timer .column:before {
	content: '';
	position: absolute;
	top: 15px;
	left: 5px;
	width: 3px;
	height: 3px;
	background-color: #555;
	border-radius: 2px;
}

.timer .column:after {
	content: '';
	position: absolute;
	bottom: 15px;
	left: 5px;
	width: 3px;
	height: 3px;
	background-color: #555;
	border-radius: 2px;
}

.modeinfo {
	clear: both;
	padding: 30px 0 0 0;
	font-size: 12px;
}

select[name="productQty"] {
	display: block;
	font-size: 14px;
	font-family: sans-serif;
	font-weight: 700;
	color: #444;
	line-height: 1;
	padding: 6px 30px 6px 5px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid #aaa;
	box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
	border-radius: .5em;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
	  linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
	background-repeat: no-repeat, repeat;
	background-position: right .7em top 50%, 0 0;
	background-size: .65em auto, 100%;
	text-align: center;
}
select[name="productQty"]::-ms-expand {
	display: none;
}
select[name="productQty"]:hover {
	border-color: #888;
}
select[name="productQty"]:focus {
	border-color: #aaa;
	box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
	box-shadow: 0 0 0 3px -moz-mac-focusring;
	color: #222;
	outline: none;
}
select[name="productQty"] option {
	font-weight:normal;
}

.hasProductQuantity {
	display: flex;
	gap: 10px;
	align-items: center;
}

@media (max-width: 767px) {
	.product-preview { box-shadow: none; }
	.product-preview .info { padding: 4px 8px 16px; }
	.product-preview .info .title { font-size: clamp(12px, 3.25vw, 20px); font-weight: 400; letter-spacing: 0; text-align: left; }
	.product-preview .info .price { gap: clamp(6px, 2vw, 14px); padding: 4px 0 10px; }
	.product-preview .info .sizes { gap: 3px; }
	.product-preview .info .sizes span { min-width: 23px; min-height: 27px; padding: 3px 1px; font-size: 11px; }
	.product-preview .colors { padding-bottom: 0; }
	.product-preview .info .price big { font-size: clamp(17px, 5.1vw, 32px); }
	.product-preview .info .price del { font-size: clamp(11px, 3.1vw, 18px); }
	.product-preview:hover .image img { transform: none; }
	.product-preview .colors { margin-top: 0; }
	.product-preview .colors .color { width: clamp(16px, 4vw, 26px); height: clamp(16px, 4vw, 26px); }
	/* Short corner separators: leave the product image unframed. The leather
	   badge already owns the card's ::after, so use the information block. */
	.product-preview .info::after { content: ''; position: absolute; pointer-events: none; right: -2px; bottom: 0; width: calc(100% - 12px); height: clamp(28px, 8vw, 50px); border-right: 1px solid #e5e5e5; border-bottom: 1px solid #f2f2f2; }
	.timer big { font-size: 20px; }
	.modeinfo { font-size: 11px; }
}

@media (max-width: 1070px) {
	.product-preview .label { font-size: 10.5px; padding: 2.6px 3.5px; min-width: 44px; }
}
