/* ==========================================================================
   BESTPRICE CUSTOM
   Single Product Page
   ========================================================================== */


/* ==========================================================================
   PAGE FOUNDATION
   ========================================================================== */

.bp-single-product {
	background: #ffffff;
}

.bp-single-product__breadcrumb {
	padding: 28px 0 0;
	background: #ffffff;
}

.bp-single-product__breadcrumb .woocommerce-breadcrumb {
	margin: 0;
	color: var(--bp-text-soft);
	font-size: 11px;
}

.bp-single-product__breadcrumb .woocommerce-breadcrumb a {
	color: var(--bp-text);
	font-weight: 650;
}

.bp-single-product__breadcrumb .woocommerce-breadcrumb a:hover {
	color: var(--bp-accent-hover);
}

.bp-single-product__content {
	padding: 34px 0 95px;
}


/* ==========================================================================
   PRODUCT MAIN GRID
   ========================================================================== */

.bp-product-main {
	position: relative;
}

.bp-product-main__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.03fr) minmax(430px, 0.97fr);
	gap: 72px;
	align-items: start;
}


/* ==========================================================================
   PRODUCT GALLERY
   ========================================================================== */

.bp-product-gallery {
	position: relative;
	min-width: 0;
}

.bp-product-gallery .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.bp-product-gallery
	.woocommerce-product-gallery__wrapper {
	margin: 0;
}

.bp-product-gallery
	.woocommerce-product-gallery__image {
	overflow: hidden;
	background: #f8f8f5;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-md);
}

.bp-product-gallery
	.woocommerce-product-gallery__image
	a {
	display: block;
}

.bp-product-gallery
	.woocommerce-product-gallery__image
	img {
	width: 100%;
	height: auto;
	max-height: 650px;
	margin: 0 auto;
	padding: 42px;
	object-fit: contain;
}


/* Gallery navigation */

.bp-product-gallery .flex-viewport {
	overflow: hidden;
	border-radius: var(--bp-radius-md);
}

.bp-product-gallery .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 0 !important;
	padding: 0 !important;
	list-style: none;
}

.bp-product-gallery .flex-control-thumbs li {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}

.bp-product-gallery
	.flex-control-thumbs
	img {
	width: 100% !important;
	aspect-ratio: 1 / 1;
	padding: 8px;
	object-fit: contain;
	background: #fafaf8;
	border: 1px solid var(--bp-border);
	border-radius: 7px;
	opacity: 0.6;
	cursor: pointer;
	transition:
		opacity var(--bp-transition),
		border-color var(--bp-transition),
		transform var(--bp-transition);
}

.bp-product-gallery
	.flex-control-thumbs
	img:hover {
	opacity: 1;
	border-color: #bfc2bc;
}

.bp-product-gallery
	.flex-control-thumbs
	img.flex-active {
	opacity: 1;
	border-color: var(--bp-accent);
}


/* Zoom icon */

.bp-product-gallery
	.woocommerce-product-gallery__trigger {
	top: 15px !important;
	right: 15px !important;
	left: auto !important;
	width: 42px !important;
	height: 42px !important;
	display: grid !important;
	place-items: center;
	background: rgba(255, 255, 255, 0.95) !important;
	border: 1px solid var(--bp-border);
	border-radius: 50% !important;
	box-shadow: var(--bp-shadow-xs);
}


/* Sale badge */

.bp-product-gallery .onsale {
	top: 15px !important;
	left: 15px !important;
	right: auto !important;
	margin: 0 !important;
	z-index: 6;
}


/* ==========================================================================
   PRODUCT SUMMARY
   ========================================================================== */

.bp-product-summary {
	position: sticky;
	top: 24px;
	min-width: 0;
}

.bp-product-summary.summary.entry-summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.bp-product-summary__core {
	width: 100%;
}

.bp-product-summary__category {
	margin-bottom: 12px;
	color: var(--bp-accent-hover);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.bp-product-summary__category a:hover {
	color: var(--bp-black);
}


/* Availability */

.bp-product-status {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 14px;
	padding: 7px 10px;
	background: #f3f5f3;
	border-radius: 999px;
	color: var(--bp-text-soft);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.bp-product-status__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #8c9395;
}

.bp-product-status.is-in-stock {
	background: #edf7f1;
	color: #18754c;
}

.bp-product-status.is-in-stock
	.bp-product-status__dot {
	background: #1e9a61;
}

.bp-product-status.is-out-of-stock {
	background: #f9eceb;
	color: #a93430;
}

.bp-product-status.is-out-of-stock
	.bp-product-status__dot {
	background: #c53a35;
}


/* ==========================================================================
   STANDARD WOO SUMMARY CONTENT
   ========================================================================== */


/* Product title */

.bp-product-summary
	.product_title {
	max-width: 760px;
	margin: 0 0 18px;
	color: var(--bp-black);
	font-size: clamp(2rem, 3.2vw, 3.7rem);
	line-height: 1.04;
	font-weight: 850;
	letter-spacing: -0.05em;
}


/* Rating */

.bp-product-summary
	.woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px !important;
}

.bp-product-summary
	.star-rating {
	margin: 0 !important;
	color: var(--bp-accent-hover);
	font-size: 12px;
}

.bp-product-summary
	.woocommerce-review-link {
	color: var(--bp-text-soft);
	font-size: 11px;
	font-weight: 650;
}

.bp-product-summary
	.woocommerce-review-link:hover {
	color: var(--bp-text);
}


/* Price */

.bp-product-summary
	p.price,
.bp-product-summary
	span.price {
	margin: 0 0 24px !important;
	color: var(--bp-black) !important;
	font-size: clamp(1.8rem, 3vw, 2.7rem) !important;
	line-height: 1.15;
	font-weight: 900 !important;
	letter-spacing: -0.04em;
}

.bp-product-summary
	.price del {
	margin-right: 8px;
	color: #9a9d9f !important;
	font-size: 0.55em;
	font-weight: 600;
	opacity: 1 !important;
}

.bp-product-summary
	.price ins {
	color: var(--bp-danger);
	text-decoration: none;
}


/* Short description */

.bp-product-summary
	.woocommerce-product-details__short-description {
	margin-bottom: 27px;
	color: var(--bp-text-soft);
	font-size: 14px;
	line-height: 1.75;
}

.bp-product-summary
	.woocommerce-product-details__short-description
	p:last-child {
	margin-bottom: 0;
}

.bp-product-summary
	.woocommerce-product-details__short-description
	ul {
	padding-left: 20px;
}


/* ==========================================================================
   ADD TO CART AREA
   ========================================================================== */

.bp-product-summary form.cart {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 24px !important;
	padding: 22px 0;
	border-top: 1px solid var(--bp-border);
	border-bottom: 1px solid var(--bp-border);
}


/* Quantity */

.bp-product-summary
	.quantity {
	float: none !important;
	margin: 0 !important;
}

.bp-product-summary
	.quantity
	.qty {
	width: 78px;
	height: 52px;
	padding: 0 10px;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-sm);
	color: var(--bp-text);
	font-size: 13px;
	font-weight: 750;
	text-align: center;
	outline: 0;
}

.bp-product-summary
	.quantity
	.qty:focus {
	border-color: var(--bp-accent-hover);
}


/* Main Add to Cart */

.bp-product-summary
	.single_add_to_cart_button {
	flex: 1;
	min-width: 220px;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 0 25px !important;
	background: var(--bp-accent) !important;
	border-radius: var(--bp-radius-sm) !important;
	color: var(--bp-black) !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.bp-product-summary
	.single_add_to_cart_button:hover {
	background: var(--bp-accent-hover) !important;
	color: var(--bp-black) !important;
}


/* Disabled button */

.bp-product-summary
	.single_add_to_cart_button.disabled,
.bp-product-summary
	.single_add_to_cart_button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}


/* ==========================================================================
   VARIABLE PRODUCTS
   ========================================================================== */

.bp-product-summary
	form.variations_form {
	display: block;
}

.bp-product-summary
	table.variations {
	width: 100%;
	margin: 0 0 18px !important;
	border: 0;
}

.bp-product-summary
	table.variations
	tr {
	display: grid;
	grid-template-columns: 120px 1fr;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.bp-product-summary
	table.variations
	th,
.bp-product-summary
	table.variations
	td {
	display: block;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.bp-product-summary
	table.variations
	label {
	color: var(--bp-text);
	font-size: 11px;
	font-weight: 850;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.bp-product-summary
	table.variations
	select {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-sm);
	color: var(--bp-text);
	font-size: 12px;
	outline: 0;
}

.bp-product-summary
	table.variations
	select:focus {
	border-color: var(--bp-accent-hover);
}

.bp-product-summary
	.reset_variations {
	display: inline-block;
	margin-top: 8px;
	color: var(--bp-text-soft);
	font-size: 10px;
	font-weight: 750;
}


/* Variation price */

.bp-product-summary
	.single_variation_wrap {
	margin-top: 12px;
}

.bp-product-summary
	.woocommerce-variation-price {
	margin-bottom: 14px;
}


/* ==========================================================================
   PRODUCT META
   ========================================================================== */

.bp-product-summary
	.product_meta {
	display: grid;
	gap: 7px;
	margin: 0 !important;
	padding: 4px 0 0;
	color: var(--bp-text-soft);
	font-size: 11px;
	line-height: 1.55;
}

.bp-product-summary
	.product_meta
	> span {
	display: block;
}

.bp-product-summary
	.product_meta
	a {
	color: var(--bp-text);
	font-weight: 700;
}

.bp-product-summary
	.product_meta
	a:hover {
	color: var(--bp-accent-hover);
}


/* Woo share section */

.bp-product-summary
	.woocommerce-product-sharing {
	margin-top: 17px;
}


/* ==========================================================================
   THIRD-PARTY / EXTRA PRODUCT ACTIONS
   ========================================================================== */

.bp-product-summary
	.summary
	a.button:not(.single_add_to_cart_button),
.bp-product-summary
	.summary
	button.button:not(.single_add_to_cart_button) {
	min-height: 48px;
	border-radius: var(--bp-radius-sm);
	font-size: 11px;
	font-weight: 850;
}


/* ==========================================================================
   ASSURANCE PANEL
   ========================================================================== */

.bp-product-assurance {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin-top: 26px;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-md);
	overflow: hidden;
	background: #fafaf8;
}

.bp-product-assurance__item {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 16px 18px;
	border-bottom: 1px solid var(--bp-border);
}

.bp-product-assurance__item:last-child {
	border-bottom: 0;
}

.bp-product-assurance__icon {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: 50%;
	color: var(--bp-accent-hover);
	font-size: 13px;
	font-weight: 900;
}

.bp-product-assurance__item div {
	min-width: 0;
}

.bp-product-assurance__item strong {
	display: block;
	margin-bottom: 2px;
	color: var(--bp-text);
	font-size: 11px;
	font-weight: 850;
}

.bp-product-assurance__item span:not(.bp-product-assurance__icon) {
	display: block;
	color: var(--bp-text-soft);
	font-size: 10px;
	line-height: 1.45;
}


/* ==========================================================================
   PAYMENT METHODS
   ========================================================================== */

.bp-product-payment {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--bp-border);
}

.bp-product-payment__label {
	display: block;
	margin-bottom: 10px;
	color: var(--bp-text-soft);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
}

.bp-product-payment__methods {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
}

.bp-product-payment__methods span {
	display: inline-flex;
	align-items: center;
	min-height: 29px;
	padding: 0 9px;
	background: #f5f5f2;
	border: 1px solid var(--bp-border);
	border-radius: 4px;
	color: var(--bp-text);
	font-size: 9px;
	font-weight: 850;
}


/* ==========================================================================
   LOWER PRODUCT DETAILS
   ========================================================================== */

.bp-product-details {
	margin-top: 85px;
	padding-top: 55px;
	border-top: 1px solid var(--bp-border);
}


/* ==========================================================================
   PRODUCT TABS
   ========================================================================== */

.bp-product-details
	.woocommerce-tabs {
	margin: 0;
}

.bp-product-details
	.woocommerce-tabs
	ul.tabs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 26px;
	margin: 0 0 38px !important;
	padding: 0 !important;
	border-bottom: 1px solid var(--bp-border);
}

.bp-product-details
	.woocommerce-tabs
	ul.tabs::before,
.bp-product-details
	.woocommerce-tabs
	ul.tabs::after {
	display: none !important;
}

.bp-product-details
	.woocommerce-tabs
	ul.tabs
	li {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
}

.bp-product-details
	.woocommerce-tabs
	ul.tabs
	li::before,
.bp-product-details
	.woocommerce-tabs
	ul.tabs
	li::after {
	display: none !important;
}

.bp-product-details
	.woocommerce-tabs
	ul.tabs
	li
	a {
	display: block;
	padding: 0 0 16px !important;
	color: var(--bp-text-soft) !important;
	font-size: 11px !important;
	font-weight: 850 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.bp-product-details
	.woocommerce-tabs
	ul.tabs
	li.active
	a {
	color: var(--bp-black) !important;
}

.bp-product-details
	.woocommerce-tabs
	ul.tabs
	li.active::after {
	content: "" !important;
	display: block !important;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 3px;
	background: var(--bp-accent);
}


/* Tab content */

.bp-product-details
	.woocommerce-Tabs-panel {
	max-width: 1050px;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--bp-text-soft);
	font-size: 14px;
	line-height: 1.8;
}

.bp-product-details
	.woocommerce-Tabs-panel
	h2 {
	margin-bottom: 22px;
	color: var(--bp-black);
	font-size: clamp(1.7rem, 3vw, 2.7rem);
	line-height: 1.08;
	font-weight: 850;
	letter-spacing: -0.04em;
}

.bp-product-details
	.woocommerce-Tabs-panel
	h3 {
	margin-top: 30px;
	margin-bottom: 12px;
	color: var(--bp-text);
	font-size: 20px;
}

.bp-product-details
	.woocommerce-Tabs-panel
	table {
	width: 100%;
	margin: 25px 0;
	border-collapse: collapse;
}

.bp-product-details
	.woocommerce-Tabs-panel
	table
	th,
.bp-product-details
	.woocommerce-Tabs-panel
	table
	td {
	padding: 13px 15px;
	border: 1px solid var(--bp-border);
	text-align: left;
	vertical-align: top;
}

.bp-product-details
	.woocommerce-Tabs-panel
	table
	th {
	width: 32%;
	background: #f6f6f3;
	color: var(--bp-text);
	font-weight: 800;
}


/* ==========================================================================
   REVIEWS
   ========================================================================== */

.bp-product-details
	#reviews
	#comments
	ol.commentlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bp-product-details
	#reviews
	#comments
	ol.commentlist
	li {
	margin-bottom: 20px;
}

.bp-product-details
	#reviews
	#comments
	ol.commentlist
	.comment_container {
	padding: 20px;
	background: #fafaf8;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-md);
}

.bp-product-details
	#review_form_wrapper {
	margin-top: 35px;
}

.bp-product-details
	#review_form
	input:not([type="submit"]),
.bp-product-details
	#review_form
	textarea {
	width: 100%;
	padding: 13px 14px;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-sm);
	outline: 0;
}

.bp-product-details
	#review_form
	textarea {
	min-height: 130px;
	resize: vertical;
}

.bp-product-details
	#review_form
	input:focus,
.bp-product-details
	#review_form
	textarea:focus {
	border-color: var(--bp-accent-hover);
}


/* ==========================================================================
   UPSELLS / RELATED PRODUCTS
   ========================================================================== */

.bp-product-details
	.up-sells,
.bp-product-details
	.related {
	margin-top: 75px;
}

.bp-product-details
	.up-sells
	> h2,
.bp-product-details
	.related
	> h2 {
	margin-bottom: 28px;
	color: var(--bp-black);
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	line-height: 1;
	font-weight: 850;
	letter-spacing: -0.045em;
}

.bp-product-details
	ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bp-product-details
	ul.products
	li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 18px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-md);
}

.bp-product-details
	ul.products
	li.product
	img {
	width: 100%;
	aspect-ratio: 1 / 0.85;
	margin: 0 0 16px !important;
	padding: 15px;
	object-fit: contain;
	background: #fafaf8;
	border-radius: var(--bp-radius-sm);
}

.bp-product-details
	ul.products
	li.product
	.woocommerce-loop-product__title {
	padding: 0 !important;
	color: var(--bp-text);
	font-size: 13px;
	line-height: 1.45;
	font-weight: 750;
}

.bp-product-details
	ul.products
	li.product
	.price {
	color: var(--bp-black);
	font-size: 15px;
	font-weight: 850;
}

.bp-product-details
	ul.products
	li.product
	.button {
	width: 100%;
	margin-top: 10px;
}


/* ==========================================================================
   WOO STOCK MESSAGE
   ========================================================================== */

.bp-product-summary
	p.stock {
	margin-bottom: 15px;
	font-size: 11px;
	font-weight: 750;
}

.bp-product-summary
	p.stock.in-stock {
	color: var(--bp-success);
}

.bp-product-summary
	p.stock.out-of-stock {
	color: var(--bp-danger);
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 1100px) {

	.bp-product-main__grid {
		grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
		gap: 40px;
	}

	.bp-product-gallery
		.woocommerce-product-gallery__image
		img {
		padding: 30px;
	}

	.bp-product-details
		ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}


/* ==========================================================================
   SMALL TABLET
   ========================================================================== */

@media (max-width: 820px) {

	.bp-single-product__content {
		padding-top: 26px;
	}

	.bp-product-main__grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.bp-product-summary {
		position: static;
	}

	.bp-product-summary
		.product_title {
		font-size: clamp(2.2rem, 8vw, 3.6rem);
	}

	.bp-product-details {
		margin-top: 65px;
		padding-top: 42px;
	}

	.bp-product-details
		ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 560px) {

	.bp-single-product__breadcrumb {
		padding-top: 18px;
	}

	.bp-single-product__content {
		padding: 22px 0 68px;
	}

	.bp-product-gallery
		.woocommerce-product-gallery__image
		img {
		padding: 20px;
	}

	.bp-product-gallery
		.flex-control-thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.bp-product-summary
		.product_title {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.bp-product-summary
		form.cart {
		align-items: stretch;
		flex-direction: column;
	}

	.bp-product-summary
		.quantity,
	.bp-product-summary
		.quantity
		.qty {
		width: 100%;
	}

	.bp-product-summary
		.single_add_to_cart_button {
		width: 100%;
		min-width: 0;
	}

	.bp-product-summary
		table.variations
		tr {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.bp-product-payment__methods {
		align-items: stretch;
	}

	.bp-product-payment__methods span {
		flex: 1 1 calc(50% - 7px);
		justify-content: center;
	}

	.bp-product-details {
		margin-top: 52px;
		padding-top: 35px;
	}

	.bp-product-details
		.woocommerce-tabs
		ul.tabs {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		border-bottom: 0;
	}

	.bp-product-details
		.woocommerce-tabs
		ul.tabs
		li {
		border-bottom: 1px solid var(--bp-border) !important;
	}

	.bp-product-details
		.woocommerce-tabs
		ul.tabs
		li
		a {
		padding: 13px 0 !important;
	}

	.bp-product-details
		.woocommerce-tabs
		ul.tabs
		li.active::after {
		width: 40px;
		right: auto;
	}

	.bp-product-details
		.woocommerce-Tabs-panel
		table {
		font-size: 12px;
	}

	.bp-product-details
		.woocommerce-Tabs-panel
		table
		th,
	.bp-product-details
		.woocommerce-Tabs-panel
		table
		td {
		display: block;
		width: 100%;
	}

	.bp-product-details
		ul.products {
		grid-template-columns: 1fr;
	}
}