/* ==========================================================================
   BESTPRICE CUSTOM
   Cart / Checkout / My Account
   ========================================================================== */


/* ==========================================================================
   PAGE FOUNDATION
   ========================================================================== */

.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
	background: #f6f6f3;
}

.woocommerce-cart main,
.woocommerce-checkout main,
.woocommerce-account main {
	padding: 58px 0 95px;
}


/* ==========================================================================
   COMMON WOOCOMMERCE FORMS
   ========================================================================== */

.woocommerce form .form-row {
	margin-bottom: 16px;
}

.woocommerce form .form-row label {
	display: block;
	margin-bottom: 7px;
	color: var(--bp-text);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	width: 100%;
	min-height: 48px;
	padding: 0 14px;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-sm);
	color: var(--bp-text);
	font-size: 13px;
	outline: 0;
	box-shadow: none;
}

.woocommerce form .form-row textarea {
	min-height: 130px;
	padding-top: 13px;
	padding-bottom: 13px;
	resize: vertical;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--bp-accent-hover);
	box-shadow: 0 0 0 3px rgba(232, 162, 26, 0.08);
}


/* Select2 */

.woocommerce .select2-container {
	width: 100% !important;
}

.woocommerce .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
}

.woocommerce
	.select2-container
	.select2-selection--single
	.select2-selection__rendered {
	padding: 0;
	color: var(--bp-text);
	line-height: 1.4;
}

.woocommerce
	.select2-container
	.select2-selection--single
	.select2-selection__arrow {
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}


/* ==========================================================================
   CART
   ========================================================================== */

.woocommerce-cart .woocommerce {
	width: min(calc(100% - 48px), var(--bp-container));
	margin-inline: auto;
}

.woocommerce-cart .woocommerce-cart-form {
	margin-bottom: 32px;
}

.woocommerce-cart table.shop_table {
	width: 100%;
	margin: 0;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-md);
	border-collapse: separate;
	border-spacing: 0;
}

.woocommerce-cart table.shop_table th {
	padding: 16px 18px;
	background: #f0f0ec;
	border: 0;
	border-bottom: 1px solid var(--bp-border);
	color: var(--bp-text-soft);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.woocommerce-cart table.shop_table td {
	padding: 18px;
	border: 0;
	border-bottom: 1px solid #ecece8;
	vertical-align: middle;
	font-size: 13px;
}

.woocommerce-cart table.shop_table tr:last-child td {
	border-bottom: 0;
}


/* Product image */

.woocommerce-cart
	table.shop_table
	.product-thumbnail
	img {
	width: 82px;
	height: 82px;
	padding: 7px;
	object-fit: contain;
	background: #fafaf8;
	border: 1px solid var(--bp-border);
	border-radius: 7px;
}


/* Product name */

.woocommerce-cart
	table.shop_table
	.product-name
	a {
	color: var(--bp-text);
	font-weight: 750;
	line-height: 1.45;
}

.woocommerce-cart
	table.shop_table
	.product-name
	a:hover {
	color: var(--bp-accent-hover);
}


/* Price */

.woocommerce-cart
	table.shop_table
	.product-price,
.woocommerce-cart
	table.shop_table
	.product-subtotal {
	font-weight: 800;
	color: var(--bp-black);
}


/* Quantity */

.woocommerce-cart
	table.shop_table
	.quantity
	.qty {
	width: 72px;
	height: 42px;
	padding: 0 8px;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: 6px;
	text-align: center;
	outline: 0;
}


/* Remove item */

.woocommerce-cart
	table.shop_table
	a.remove {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #f3f3ef;
	color: #9d3733 !important;
	font-size: 18px;
	line-height: 1;
}

.woocommerce-cart
	table.shop_table
	a.remove:hover {
	background: #9d3733;
	color: #ffffff !important;
}


/* Coupon/actions */

.woocommerce-cart
	table.shop_table
	.actions {
	padding: 18px;
}

.woocommerce-cart
	.coupon {
	display: flex;
	align-items: center;
	gap: 8px;
}

.woocommerce-cart
	.coupon
	.input-text {
	min-width: 220px;
	height: 44px;
	padding: 0 13px !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: 6px;
}


/* ==========================================================================
   CART TOTALS
   ========================================================================== */

.woocommerce-cart .cart-collaterals {
	display: flex;
	justify-content: flex-end;
	margin-top: 28px;
}

.woocommerce-cart .cart_totals {
	width: min(100%, 520px) !important;
	float: none !important;
	padding: 30px;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-md);
}

.woocommerce-cart .cart_totals h2 {
	margin-bottom: 22px;
	font-size: 28px;
	line-height: 1;
	font-weight: 850;
	letter-spacing: -0.04em;
}

.woocommerce-cart
	.cart_totals
	table {
	margin: 0 0 24px;
	border: 0;
}

.woocommerce-cart
	.cart_totals
	table
	th,
.woocommerce-cart
	.cart_totals
	table
	td {
	padding: 13px 0;
	border: 0;
	border-bottom: 1px solid #ecece8;
	font-size: 12px;
}

.woocommerce-cart
	.cart_totals
	table
	th {
	color: var(--bp-text-soft);
	font-weight: 700;
}

.woocommerce-cart
	.cart_totals
	table
	td {
	text-align: right;
	color: var(--bp-text);
	font-weight: 800;
}

.woocommerce-cart
	.wc-proceed-to-checkout {
	padding: 0;
}

.woocommerce-cart
	.wc-proceed-to-checkout
	a.checkout-button {
	width: 100%;
	min-height: 54px;
	margin: 0 !important;
	background: var(--bp-accent) !important;
	color: var(--bp-black) !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.woocommerce-cart
	.wc-proceed-to-checkout
	a.checkout-button:hover {
	background: var(--bp-accent-hover) !important;
}


/* ==========================================================================
   CHECKOUT
   ========================================================================== */

.woocommerce-checkout .woocommerce {
	width: min(calc(100% - 48px), var(--bp-container));
	margin-inline: auto;
}

.woocommerce-checkout
	form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.85fr);
	gap: 42px;
	align-items: start;
}


/* Customer fields */

.woocommerce-checkout
	#customer_details {
	width: 100%;
}

.woocommerce-checkout
	#customer_details
	.col-1,
.woocommerce-checkout
	#customer_details
	.col-2 {
	width: 100%;
	float: none;
	padding: 30px;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-md);
}

.woocommerce-checkout
	#customer_details
	.col-2 {
	margin-top: 18px;
}

.woocommerce-checkout
	#customer_details
	h3 {
	margin-bottom: 24px;
	font-size: 25px;
	line-height: 1.1;
	font-weight: 850;
	letter-spacing: -0.035em;
}


/* Order review */

.woocommerce-checkout
	#order_review_heading {
	grid-column: 2;
	margin: 0 0 -20px;
	font-size: 25px;
	line-height: 1.1;
	font-weight: 850;
	letter-spacing: -0.035em;
}

.woocommerce-checkout
	#order_review {
	grid-column: 2;
	padding: 28px;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-md);
}

.woocommerce-checkout
	#order_review
	table.shop_table {
	margin: 0 0 25px;
	border: 0;
	border-collapse: collapse;
}

.woocommerce-checkout
	#order_review
	table.shop_table
	th,
.woocommerce-checkout
	#order_review
	table.shop_table
	td {
	padding: 13px 0;
	border: 0;
	border-bottom: 1px solid #ecece8;
	font-size: 12px;
}

.woocommerce-checkout
	#order_review
	table.shop_table
	th {
	color: var(--bp-text-soft);
	font-weight: 750;
}

.woocommerce-checkout
	#order_review
	table.shop_table
	td {
	color: var(--bp-text);
}

.woocommerce-checkout
	#order_review
	.order-total
	th,
.woocommerce-checkout
	#order_review
	.order-total
	td {
	padding-top: 18px;
	color: var(--bp-black);
	font-size: 15px;
	font-weight: 900;
}


/* ==========================================================================
   CHECKOUT PAYMENT
   ========================================================================== */

.woocommerce-checkout
	#payment {
	background: #f7f7f4;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-sm);
}

.woocommerce-checkout
	#payment
	ul.payment_methods {
	padding: 18px !important;
	border-bottom: 1px solid var(--bp-border) !important;
}

.woocommerce-checkout
	#payment
	ul.payment_methods
	li {
	margin-bottom: 12px;
}

.woocommerce-checkout
	#payment
	ul.payment_methods
	li:last-child {
	margin-bottom: 0;
}

.woocommerce-checkout
	#payment
	.payment_box {
	margin: 10px 0 0 !important;
	padding: 13px !important;
	background: #ffffff !important;
	border: 1px solid var(--bp-border);
	border-radius: 6px;
	color: var(--bp-text-soft);
	font-size: 11px;
	line-height: 1.6;
}

.woocommerce-checkout
	#payment
	.payment_box::before {
	display: none !important;
}

.woocommerce-checkout
	#payment
	.place-order {
	padding: 18px !important;
}

.woocommerce-checkout
	#payment
	#place_order {
	width: 100%;
	min-height: 54px;
	background: var(--bp-accent) !important;
	color: var(--bp-black) !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.woocommerce-checkout
	#payment
	#place_order:hover {
	background: var(--bp-accent-hover) !important;
}


/* ==========================================================================
   MY ACCOUNT
   ========================================================================== */

.woocommerce-account .woocommerce {
	width: min(calc(100% - 48px), var(--bp-container));
	margin-inline: auto;
}

.woocommerce-account
	.woocommerce-MyAccount-navigation {
	width: 260px;
	float: left;
	padding: 18px;
	background: var(--bp-bg-dark);
	border-radius: var(--bp-radius-md);
}

.woocommerce-account
	.woocommerce-MyAccount-navigation
	ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-account
	.woocommerce-MyAccount-navigation
	li {
	margin: 0;
}

.woocommerce-account
	.woocommerce-MyAccount-navigation
	a {
	display: block;
	padding: 12px 14px;
	border-radius: 6px;
	color: #b9bdbf;
	font-size: 12px;
	font-weight: 750;
	transition:
		background var(--bp-transition),
		color var(--bp-transition);
}

.woocommerce-account
	.woocommerce-MyAccount-navigation
	a:hover,
.woocommerce-account
	.woocommerce-MyAccount-navigation
	.is-active
	a {
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
}

.woocommerce-account
	.woocommerce-MyAccount-content {
	width: calc(100% - 300px);
	float: right;
	min-height: 320px;
	padding: 30px;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-md);
}

.woocommerce-account
	.woocommerce-MyAccount-content
	h2,
.woocommerce-account
	.woocommerce-MyAccount-content
	h3 {
	font-weight: 850;
	letter-spacing: -0.03em;
}


/* ==========================================================================
   LOGIN / REGISTER
   ========================================================================== */

.woocommerce-account
	#customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 25px;
}

.woocommerce-account
	#customer_login
	.col-1,
.woocommerce-account
	#customer_login
	.col-2 {
	width: auto;
	float: none;
	padding: 30px;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-md);
}

.woocommerce-account
	#customer_login
	h2 {
	margin-bottom: 22px;
	font-size: 28px;
	line-height: 1;
	font-weight: 850;
	letter-spacing: -0.04em;
}


/* ==========================================================================
   WOOCOMMERCE BLOCK CART / CHECKOUT
   ========================================================================== */

/*
 * Newer WooCommerce installations may use Cart and Checkout blocks instead
 * of the classic shortcode templates. These rules provide the same visual
 * language without replacing WooCommerce block functionality.
 */

.wc-block-cart,
.wc-block-checkout {
	width: min(calc(100% - 48px), var(--bp-container));
	margin: 58px auto 95px;
}

.wc-block-components-sidebar-layout {
	gap: 36px;
}

.wc-block-components-main {
	padding-right: 0 !important;
}

.wc-block-components-sidebar {
	padding: 25px !important;
	background: #ffffff;
	border: 1px solid var(--bp-border);
	border-radius: var(--bp-radius-md);
}

.wc-block-components-text-input input,
.wc-block-components-combobox-control input,
.wc-block-components-address-form input {
	border-color: var(--bp-border) !important;
	border-radius: var(--bp-radius-sm) !important;
	box-shadow: none !important;
}

.wc-block-components-button {
	min-height: 52px;
	border-radius: var(--bp-radius-sm) !important;
	background: var(--bp-bg-dark);
	color: #ffffff;
	font-size: 12px;
	font-weight: 850;
}

.wc-block-components-checkout-place-order-button {
	background: var(--bp-accent) !important;
	color: var(--bp-black) !important;
}

.wc-block-components-checkout-place-order-button:hover {
	background: var(--bp-accent-hover) !important;
}


/* Block cart products */

.wc-block-cart-items {
	background: #ffffff;
	border: 1px solid var(--bp-border) !important;
	border-radius: var(--bp-radius-md);
	overflow: hidden;
}

.wc-block-cart-items
	.wc-block-cart-items__row {
	border-bottom: 1px solid #ecece8 !important;
}

.wc-block-cart-items
	.wc-block-cart-item__image
	img {
	object-fit: contain;
	background: #fafaf8;
	border-radius: 6px;
}


/* ==========================================================================
   NOTICES
   ========================================================================== */

.woocommerce-cart
	.woocommerce-message,
.woocommerce-cart
	.woocommerce-info,
.woocommerce-checkout
	.woocommerce-message,
.woocommerce-checkout
	.woocommerce-info,
.woocommerce-account
	.woocommerce-message,
.woocommerce-account
	.woocommerce-info {
	margin-bottom: 22px;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 950px) {

	.woocommerce-checkout
		form.checkout {
		grid-template-columns: 1fr;
	}

	.woocommerce-checkout
		#order_review_heading,
	.woocommerce-checkout
		#order_review {
		grid-column: 1;
	}

	.woocommerce-account
		.woocommerce-MyAccount-navigation,
	.woocommerce-account
		.woocommerce-MyAccount-content {
		width: 100%;
		float: none;
	}

	.woocommerce-account
		.woocommerce-MyAccount-navigation {
		margin-bottom: 20px;
	}

	.woocommerce-account
		.woocommerce-MyAccount-navigation
		ul {
		display: flex;
		flex-wrap: wrap;
		gap: 4px;
	}
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 650px) {

	.woocommerce-cart .woocommerce,
	.woocommerce-checkout .woocommerce,
	.woocommerce-account .woocommerce,
	.wc-block-cart,
	.wc-block-checkout {
		width: min(calc(100% - 24px), var(--bp-container));
	}

	.woocommerce-cart main,
	.woocommerce-checkout main,
	.woocommerce-account main {
		padding: 38px 0 68px;
	}

	.woocommerce-cart
		table.shop_table {
		border: 0;
		background: transparent;
	}

	.woocommerce-cart
		table.shop_table_responsive
		tr {
		margin-bottom: 14px;
		padding: 16px;
		background: #ffffff;
		border: 1px solid var(--bp-border);
		border-radius: var(--bp-radius-md);
	}

	.woocommerce-cart
		table.shop_table_responsive
		tr
		td {
		padding: 10px 0;
		border-bottom: 1px solid #eeeeea;
	}

	.woocommerce-cart
		table.shop_table_responsive
		tr
		td:last-child {
		border-bottom: 0;
	}

	.woocommerce-cart
		.coupon {
		align-items: stretch;
		flex-direction: column;
	}

	.woocommerce-cart
		.coupon
		.input-text {
		width: 100% !important;
		min-width: 0;
	}

	.woocommerce-cart
		.cart_totals {
		padding: 22px;
	}

	.woocommerce-checkout
		#customer_details
		.col-1,
	.woocommerce-checkout
		#customer_details
		.col-2,
	.woocommerce-checkout
		#order_review {
		padding: 21px;
	}

	.woocommerce-account
		#customer_login {
		grid-template-columns: 1fr;
	}

	.woocommerce-account
		#customer_login
		.col-1,
	.woocommerce-account
		#customer_login
		.col-2,
	.woocommerce-account
		.woocommerce-MyAccount-content {
		padding: 22px;
	}

	.woocommerce-account
		.woocommerce-MyAccount-navigation
		ul {
		display: block;
	}

	.wc-block-cart,
	.wc-block-checkout {
		margin-top: 38px;
		margin-bottom: 68px;
	}
}