:root {
	--tpr-gradient-start: #24a7c7;
	--tpr-gradient-end: #5b20e8;
	--tpr-notice-bg: #f5f7ff;
	--tpr-notice-border: #dce3ff;
	--tpr-notice-text: #17213d;
}

ul.products li.product,
.wc-block-product {
	position: relative;
}

.tpr-catalog-badge {
	align-items: center;
	background: linear-gradient( 110deg, var(--tpr-gradient-start), var(--tpr-gradient-end) );
	border-radius: 5px;
	box-shadow: 0 3px 9px rgba( 57, 72, 196, 0.2 );
	color: #fff;
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	gap: 5px;
	left: 10px;
	line-height: 1;
	padding: 7px 9px;
	position: absolute;
	top: 10px;
	z-index: 5;
}

.tpr-calendar-icon {
	display: inline-block;
	height: 14px;
	position: relative;
	width: 14px;
}

.tpr-calendar-icon::before {
	border: 1.7px solid currentColor;
	border-radius: 2px;
	box-sizing: border-box;
	content: "";
	inset: 2px 0 0;
	position: absolute;
}

.tpr-calendar-icon::after {
	background:
		linear-gradient( currentColor, currentColor ) 3px 0 / 1.5px 5px no-repeat,
		linear-gradient( currentColor, currentColor ) 9px 0 / 1.5px 5px no-repeat,
		linear-gradient( currentColor, currentColor ) 2px 7px / 9px 1.5px no-repeat;
	content: "";
	inset: 0;
	position: absolute;
}

.tpr-product-notice-slot {
	clear: both;
	margin: 16px 0;
}

.tpr-product-notice-slot[hidden] {
	display: none !important;
}

.tpr-preorder-notice {
	align-items: flex-start;
	background: var(--tpr-notice-bg);
	border: 1px solid var(--tpr-notice-border);
	border-radius: 10px;
	box-sizing: border-box;
	color: var(--tpr-notice-text);
	display: flex;
	gap: 12px;
	padding: 15px 16px;
	width: 100%;
}

.tpr-notice-icon {
	align-items: center;
	background: linear-gradient( 110deg, var(--tpr-gradient-start), var(--tpr-gradient-end) );
	border-radius: 7px;
	color: #fff;
	display: inline-flex;
	flex: 0 0 34px;
	height: 34px;
	justify-content: center;
}

.tpr-preorder-notice strong {
	color: var(--tpr-notice-text);
	display: block;
	font-size: 15px;
	line-height: 1.35;
	margin-bottom: 3px;
}

.tpr-preorder-notice p {
	color: var(--tpr-notice-text);
	font-size: 14px;
	line-height: 1.45;
	margin: 0;
}

.tpr-preorder-notice .tpr-custom-message {
	font-weight: 600;
	margin-top: 5px;
}

.tpr-preorder-notice small {
	color: #69718b;
	display: block;
	font-size: 11px;
	line-height: 1.4;
	margin-top: 7px;
}

.stock.available-on-preorder {
	color: #4b35c9;
	font-weight: 600;
}

@media ( max-width: 480px ) {
	.tpr-preorder-notice {
		padding: 13px;
	}

	.tpr-catalog-badge {
		font-size: 11px;
		left: 7px;
		padding: 6px 7px;
		top: 7px;
	}
}
