.product-banner {
	.grid_wrapper {
		display: grid;
		grid-template-columns: 50% 1fr;
		grid-gap: 9.7%;
	}

	.flex_row {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
	}

	.swiper {
		position: relative;
	}

	.swiper-slide {
		position: relative;
		padding-top: 100%;
		border-radius: 16px;
		overflow: hidden;

		img {
			display: block;
			object-fit: cover;
		}
	}

	.no-gallery {
		.swiper-button {
			display: none !important;
		}
	}

	.swiper-button {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		user-select: none;

		&.swiper-button-prev {
			left: 26px;
		}

		&.swiper-button-next {
			right: 26px;
		}

		&.swiper-button-prev,
		&.swiper-button-next {
			margin: 0;
			display: flex;
			justify-content: center;
			align-items: center;
			width: 40px;
			height: 40px;
			flex-shrink: 0;
			background-color: var(--green-50);
			border-radius: 8px;
			cursor: pointer;
			transition: .4s;

			&:after {
				display: none;
			}

			&:hover {
				background-color: var(--green-100);
			}

			svg {
				width: 12px;
				height: 12px;
			}

			&.swiper-button-disabled {
				opacity: 1;
				background-color: #E3E7E1;

				path {
					stroke: #fff;
				}
			}
		}
	}

	.text_box {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.description {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}
	
	.price {
		display: flex;
		gap: 8px;

		ins {
			order: -1;
			text-decoration: none;
			color: #E94235;
		}
	}

	.add_to_cart_box {
		.variations_row {
			margin-top: 16px;
			display: flex;
			flex-wrap: wrap;
			gap: 16px;
		}

		form {
			cursor: default;
		}

		label {
			position: relative;
			display: block;
			text-align: center;
			cursor: pointer;

			.img_box {
				display: block;
				width: 90px;
				height: 90px;
				padding: 8px;
				border-radius: 16px;
				background-color: #E6E6E6;
				border: 2px solid #E6E6E6;
			}

			img {
				width: 100%;
				height: 100%;
				display: block;
				object-fit: contain;
			}

			.variation_name {
				display: block;
				margin-top: 4px;
				font-size: 14px;
				font-weight: 500;
				text-transform: capitalize;
			}
		}

		input {
			position: absolute;
			top: 0;
			left: 0;
			width: 0;
			height: 0;
			opacity: 0;
			visibility: hidden;
			pointer-events: none;

			&:checked + .img_box {
				border-color: #929292;
			}

			&:checked ~ .variation_name {
				color: var(--green-500);
			}
		}

		.button_box {
			margin-top: 24px;
			display: flex;
			gap: 16px;
		}

		.button {
			max-width: 310px;
			width: 100%;
		}

		.button_box .show_button .yith-add-to-wishlist-button-block {
			display: block;
		}

		.yith-add-to-wishlist-button-block {
			display: none;
			margin: 0;

			span {
				display: none;
			}

			.yith-wcwl-add-to-wishlist-button {
				width: 48px;
				height: 48px;
				padding: 0;
				display: flex;
				justify-content: center;
				align-items: center;
				background-color: var(--green-50);
				border-radius: 8px;
				transition: .4s;

				&:hover {
					background-color: var(--green-100);
				}
			}

			.yith-wcwl-add-to-wishlist-button svg {
				width: 24px;
				height: 24px;
			}
		}
	}
	
	.accordions_box {
		margin-top: 40px;
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.accordion_box {
		display: flex;
		flex-direction: column;
		gap: 8px;

		h4 {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 12px 24px;
			background-color: var(--white-100);
			border-radius: 60px;

			svg {
				display: block;
				transition: .4s;
			}
		}

		&.open {
			svg {
				transform: rotateZ(-180deg);
			}
		}

		.accordion_body {
			display: none;
		}

		.content_box {
			display: flex;
			flex-direction: column;
			gap: 16px;
			padding: 24px;
			border-radius: 24px;
			background-color: var(--white-100);

			ol, ul {
				margin: 0;
			}

			ol {
				padding-left: 16px;
			}
		}
	}

	@media(max-width: 1199px) {
		.grid_wrapper {
			grid-gap: 20px;
		}

		.swiper-button {
			&.swiper-button-prev {
				left: 12px;
			}

			&.swiper-button-next {
				right: 12px;
			}
		}

		.swiper-slide {
			padding-top: 128%;
		}

		.accordions_box {
			margin-top: 32px;
		}
	}

	@media(max-width: 767px) {
		.grid_wrapper {
			grid-template-columns: 100%;
			grid-gap: 32px;
		}
		
		.add_to_cart_box,
		.price {
			display: none;
		}
	}
}