/* Catalog, category, product, and search components. */
.toolbar_search {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.toolbar_search_wrapper {
	position: relative;
}

.toolbar_search_field {
	border-bottom: 1px solid #949494 !important;
	width: 2.5rem;
	color: #2b2b2b;
	height: 0.5rem;
	font-size: 0.16rem;
	padding: 0.35em 50px 0.35em 5px;
	border: 1px solid transparent;
	outline: none;
	box-sizing: border-box;
	transition: all 0.3s ease-in-out 0.1s;
}

.toolbar_search:hover .toolbar_search_field:not(:focus),
.toolbar_search_field:focus,
.toolbar_search_field:not(:placeholder-shown) {
	width: 4rem;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.toolbar_search_icon {
	background-color: transparent;
	cursor: pointer;
	position: absolute;
	top: 0;
	right: 0;
	width: 0.5rem;
	height: 0.5rem;
	font-size: 1.35em;
	text-align: center;
	border-color: transparent;
	display: inline-block;
}

.toolbar_search_phone {
	position: absolute;
	background: rgb(255, 255, 255);
	top: 50%;
	left: 80%;
	transform: translateX(-50%) translateY(-50%);
}

.toolbar_search_phone_wrapper {
	position: relative;
}

.toolbar_search_phone_field {
	border-bottom: 2px solid #2b2b2b !important;
	width: 2.5rem;
	color: #2b2b2b;
	height: 0.5rem;
	font-family: sans-serif, Arial;
	font-size: 0.19rem;
	padding: 0.35em 50px 0.35em 5px;
	border: 1px solid transparent;
	outline: none;
	box-sizing: border-box;
	transition: all 0.3s ease-in-out 0.1s;
}

.toolbar_search_phone:hover .toolbar_search_phone_field:not(:focus),
.toolbar_search_phone_field:focus,
.toolbar_search_phone_field:not(:placeholder-shown) {
	width: 3rem;
	border-bottom-color: #d32f2f;
}

.toolbar_search_phone_icon {
	background-color: transparent;
	color: #000;
	cursor: pointer;
	position: absolute;
	top: 0;
	right: 0;
	width: 0.5rem;
	height: 0.5rem;
	font-size: 1.35em;
	text-align: center;
	border-color: transparent;
	display: inline-block;
}

.product-img {
	position: relative;
	display: inline-block
}

.product-img img {
	display: block;
	width: 100%;
	height: auto
}

.cert-icons {
	position: absolute;
	top: 3.7%;
	right: 3%;
	display: flex;
	z-index: 2;
	height: 6%;
	width: 15%;
	gap: 0;
	align-items: flex-start;
	justify-content: flex-end;
	pointer-events: none;
	user-select: none
}

.cert-icons img {
	pointer-events: none;
	height: 100%
}

.back-button {
	width: .7rem;
	height: .7rem;
	background: rgba(243, 245, 250, 0.8);
	display: flex;
	align-items: center;
	justify-content: center
}

.arrow-left {
	--arrow-size: .2rem;
	--arrow-color: rgb(102, 102, 102);
	--arrow-color-hover: rgba(102, 102, 102, 0.5);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--arrow-size) * 1.8);
	height: var(--arrow-size)
}

.arrow-left .arrow-single,
.arrow-left .arrow-double {
	position: absolute;
	top: 80%;
	transform: translateY(-50%);
	width: calc(var(--arrow-size) * .7071);
	height: calc(var(--arrow-size) * .7071);
	box-sizing: border-box;
	display: inline-block;
	border-top: calc(var(--arrow-size) / 5) solid var(--arrow-color);
	border-left: calc(var(--arrow-size) / 5) solid var(--arrow-color);
	transform-origin: top left;
	transition: left 0.3s cubic-bezier(0, 0, 0.2, 1), opacity 0.3s cubic-bezier(0, 0, 0.2, 1)
}

.arrow-left .arrow-single {
	left: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
	z-index: 2
}

.arrow-left .arrow-double {
	left: 50%;
	opacity: 0;
	border-color: var(--arrow-color-hover);
	transform: translate(-50%, -50%) rotate(-45deg);
	z-index: 1
}

.arrow-left:hover .arrow-double {
	left: calc(50% + var(--arrow-size) * 0.25);
	opacity: 1
}

.arrow-left:hover .arrow-single {
	left: calc(50% - var(--arrow-size) * 0.25)
}

.product-list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: .3rem;
	margin: .2rem 0 .3rem 0
}

.product-list li {
	width: 100%
}

.product-list li figure {
	margin: 0
}

.product-list li .product-figure {
	background: none;
	display: block;
	line-height: normal;
	overflow: hidden;
	position: relative;
	border: 1px #cecece solid
}

.product-list li .product-figure img {
	display: block;
	width: 100%;
	height: auto;
	transition: 424ms linear
}

.product-list li .product-figure-title {
	height: 0.4rem;
	display: block;
	color: #5d5d5d;
	font-size: 14px;
	line-height: normal;
	margin-top: 20px;
	transition: 350ms;
	text-align: center
}

.product-list li .product-figure mark {
	position: absolute;
	left: 0;
	top: 0;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	background: rgba(0, 117, 207, 0.2);
	background: #d32f2f33;
	filter: alpha(opacity=20);
	z-index: 20;
	opacity: 0;
	transform: skewX(45deg);
	visibility: hidden;
	transition: 360ms
}

.product-list li .product-figure mark b {
	display: block;
	width: 46px;
	height: 46px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -23px;
	margin-top: -23px;
	z-index: 30
}

.product-list li .product-figure mark b:before {
	content: "";
	width: 100%;
	height: 1px;
	background: #d32f2f;
	position: absolute;
	left: 0;
	top: 23px;
	transform: translateX(-200px)
}

.product-list li .product-figure mark b:after {
	content: "";
	width: 1px;
	height: 100%;
	background: #d32f2f;
	position: absolute;
	left: 23px;
	top: 0;
	transform: translateY(-200px)
}

.product-list li .product-figure mark:before {
	content: "";
	width: 100%;
	height: 0;
	border-left: 3px solid #d32f2f;
	border-right: 3px solid #d32f2f;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	top: 0;
	transition: 320ms
}

.product-list li .product-figure mark:after {
	content: "";
	width: 0;
	height: 100%;
	border-top: 3px solid #d32f2f;
	border-bottom: 3px solid #d32f2f;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	top: 0;
	transition: 320ms
}

.product-list li:hover .product-figure mark {
	opacity: 1;
	transform: skewX(0);
	visibility: visible
}

.product-list li:hover .product-figure mark:before {
	height: 100%;
	transition: 330ms 200ms
}

.product-list li:hover .product-figure mark:after {
	width: 100%;
	transition: 330ms 200ms
}

.product-list li:hover .product-figure img {
	transform: scale(1.05)
}

.product-list li:hover .product-figure mark b:before {
	transition: 355ms 180ms;
	transform: translateX(0)
}

.product-list li:hover .product-figure mark b:after {
	transition: 355ms 240ms;
	transform: translateY(0)
}

.product-list li:hover .product-figure-title {
	color: #d32f2f
}

@media screen and (max-width: 800px) {
	.product-list {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media screen and (max-width: 575px) {

	.product-list {
		grid-template-columns: repeat(3, 1fr);
	}

	.product-list li .product-figure-title {
		margin-top: 10px;
		font-size: 12px;
	}

}
