/* FMBD Vision Glass — compact smoked-glass WooCommerce cart surfaces. */

/* Razzi slide-in cart. It deliberately sits below the permanent mobile nav. */
.ra-cart-modal {
	--fmbd-cart-gap: 14px;
	--fmbd-cart-panel-width: 390px;
}

.ra-cart-modal .off-modal-layer {
	background: rgba(9, 9, 9, .34) !important;
	opacity: 1 !important;
	-webkit-backdrop-filter: blur(5px) saturate(115%);
	backdrop-filter: blur(5px) saturate(115%);
}

.ra-cart-modal .cart-panel-content {
	top: var(--fmbd-cart-gap) !important;
	right: var(--fmbd-cart-gap) !important;
	bottom: var(--fmbd-cart-gap) !important;
	width: min(var(--fmbd-cart-panel-width), calc(100vw - (var(--fmbd-cart-gap) * 2))) !important;
	height: auto !important;
	max-height: calc(100dvh - (var(--fmbd-cart-gap) * 2)) !important;
	border: 1px solid rgba(255, 255, 255, .19) !important;
	border-radius: 30px !important;
	background: linear-gradient(145deg, rgba(8, 8, 8, .88), rgba(34, 34, 34, .72) 52%, rgba(10, 10, 10, .84)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.23), inset 1px 0 0 rgba(255,255,255,.07), 0 24px 70px rgba(0,0,0,.36) !important;
	-webkit-backdrop-filter: blur(16px) saturate(150%) !important;
	backdrop-filter: blur(16px) saturate(150%) !important;
	overflow: hidden !important;
	isolation: isolate;
}

.ra-cart-modal .cart-panel-content::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.015) 19%, transparent 48%);
	content: "";
	pointer-events: none;
}

.ra-cart-modal .cart-panel-content > * { position: relative; z-index: 1; }

.ra-cart-modal .modal-header {
	min-height: 58px !important;
	padding: 14px 54px 12px 20px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.1) !important;
	background: rgba(255,255,255,.035) !important;
	color: #fff !important;
}

.ra-cart-modal .modal-header .modal-title {
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 650 !important;
}

.ra-cart-modal .cart-panel-counter { color: rgba(255,255,255,.58); }
.ra-cart-modal .button-close {
	right: 12px !important;
	display: grid !important;
	place-items: center;
	width: 34px;
	height: 34px;
	margin: 0 !important;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	color: #fff !important;
}
.ra-cart-modal .button-close svg { width: 15px; height: 15px; }

.ra-cart-modal .modal-content {
	min-height: 0 !important;
	height: 100% !important;
	padding: 0 !important;
	background: transparent !important;
	overflow: hidden;
}

.ra-cart-modal .widget_shopping_cart_content,
.ra-cart-modal.has-free-shipping-bar .widget_shopping_cart_content {
	height: 100% !important;
	padding: 0 0 146px !important;
	background: transparent !important;
}

.ra-cart-modal .widget_shopping_cart_content ul.cart_list {
	height: 100% !important;
	padding: 14px !important;
	scrollbar-width: thin;
	scrollbar-color: rgba(255,255,255,.25) transparent;
}

.ra-cart-modal .widget_shopping_cart_content ul.cart_list .mini_cart_item {
	display: grid !important;
	grid-template-columns: 72px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 12px !important;
	min-height: 94px;
	margin: 0 0 10px !important;
	padding: 10px !important;
	border: 1px solid rgba(255,255,255,.1) !important;
	border-radius: 20px;
	background: linear-gradient(135deg, rgba(255,255,255,.105), rgba(255,255,255,.035));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.13), 0 8px 22px rgba(0,0,0,.13);
}

.ra-cart-modal .woocommerce-mini-cart-item__thumbnail { padding: 0 !important; }
.ra-cart-modal .woocommerce-mini-cart-item__thumbnail img {
	width: 72px !important;
	height: 72px !important;
	max-width: 72px !important;
	border-radius: 15px;
	background: rgba(255,255,255,.88);
	object-fit: contain;
}

.ra-cart-modal .woocommerce-mini-cart-item__summary { min-width: 0; }
.ra-cart-modal .woocommerce-mini-cart-item__name,
.ra-cart-modal .woocommerce-mini-cart-item__name a,
.ra-cart-modal .woocommerce-mini-cart-item__title {
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 650 !important;
	line-height: 1.28 !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
}
.ra-cart-modal .woocommerce-mini-cart-item__price,
.ra-cart-modal .variation { color: rgba(255,255,255,.66) !important; font-size: 12px !important; }

.ra-cart-modal .woocommerce-cart-item__qty {
	justify-content: flex-start !important;
	gap: 12px;
	margin-top: 10px !important;
}
.ra-cart-modal .woocommerce-cart-item__qty .quantity {
	min-width: 86px;
	min-height: 34px;
	border: 1px solid rgba(255,255,255,.12) !important;
	border-radius: 999px;
	background: rgba(0,0,0,.22);
	color: #fff !important;
}
.ra-cart-modal .woocommerce-cart-item__qty .qty,
.ra-cart-modal .woocommerce-cart-item__qty .current { color: #fff !important; }
.ra-cart-modal a.remove { color: rgba(255,255,255,.58) !important; font-size: 12px !important; }
.ra-cart-modal a.remove:hover { color: #fff !important; }

.ra-cart-modal .widget_shopping_cart_footer {
	padding: 10px 14px 14px !important;
	border-top: 1px solid rgba(255,255,255,.11);
	background: linear-gradient(180deg, rgba(26,26,26,.78), rgba(5,5,5,.9)) !important;
	-webkit-backdrop-filter: blur(14px) saturate(145%);
	backdrop-filter: blur(14px) saturate(145%);
}
.ra-cart-modal .widget_shopping_cart_content .total {
	display: flex;
	justify-content: space-between;
	margin: 0 !important;
	padding: 0 3px 9px !important;
	background: transparent !important;
	color: #fff !important;
	font-size: 14px !important;
}
.ra-cart-modal .woocommerce-mini-cart__buttons {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 7px !important;
	margin: 0 !important;
}
.ra-cart-modal .woocommerce-mini-cart__buttons .button,
.ra-cart-modal .woocommerce-mini-cart__buttons .razzi-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-width: 0;
	height: 42px !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 0 10px !important;
	border: 1px solid rgba(255,255,255,.17) !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,.09) !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	white-space: nowrap;
}
.ra-cart-modal .woocommerce-mini-cart__buttons .checkout {
	background: #fff !important;
	color: #080808 !important;
}

/* Full cart page: compact cards and totals using the same smoked glass. */
.woocommerce-cart .fmbd-site-content { padding-bottom: 96px !important; }
.woocommerce-cart .woocommrece-cart-content {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(310px, .72fr);
	gap: 20px;
	width: min(1120px, calc(100% - 32px));
	margin: 0 auto;
}
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals { float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }

.woocommerce-cart table.shop_table.woocommerce-cart-form__contents,
.woocommerce-cart .cart-collaterals .cart_totals {
	border: 1px solid rgba(255,255,255,.18) !important;
	border-radius: 30px !important;
	background: linear-gradient(145deg, rgba(12,12,12,.89), rgba(34,34,34,.74) 58%, rgba(10,10,10,.86)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 22px 62px rgba(0,0,0,.18) !important;
	-webkit-backdrop-filter: blur(15px) saturate(145%) !important;
	backdrop-filter: blur(15px) saturate(145%) !important;
	overflow: hidden !important;
}
.woocommerce-cart table.shop_table.woocommerce-cart-form__contents { padding: 12px !important; }
.woocommerce-cart table.shop_table.woocommerce-cart-form__contents tr.cart_item {
	margin: 0 0 10px !important;
	padding: 11px !important;
	border: 1px solid rgba(255,255,255,.1) !important;
	border-radius: 21px;
	background: linear-gradient(135deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
}
.woocommerce-cart table.shop_table td.product-thumbnail,
.woocommerce-cart table.shop_table td.product-thumbnail a { width: 88px !important; max-width: 88px !important; }
.woocommerce-cart table.shop_table td.product-thumbnail img {
	width: 88px !important;
	min-width: 88px !important;
	height: 88px !important;
	border-radius: 17px;
	background: rgba(255,255,255,.9);
	object-fit: contain;
}
.woocommerce-cart table.shop_table td.product-content { min-width: 0; color: rgba(255,255,255,.65) !important; }
.woocommerce-cart table.shop_table .product-name,
.woocommerce-cart table.shop_table .product-name a,
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .amount { color: #fff !important; }
.woocommerce-cart table.shop_table .product-name a { font-size: 15px; font-weight: 650; line-height: 1.28; }
.woocommerce-cart table.shop_table .product-price { white-space: nowrap; }
.woocommerce-cart table.shop_table .product-remove .remove { color: rgba(255,255,255,.56) !important; }
.woocommerce-cart table.shop_table .quantity {
	border: 1px solid rgba(255,255,255,.13) !important;
	border-radius: 999px;
	background: rgba(0,0,0,.2);
	color: #fff;
}
.woocommerce-cart table.shop_table .quantity .qty,
.woocommerce-cart table.shop_table .razzi-quantity-dropdown .current { color: #fff !important; background: transparent !important; }

.woocommerce-cart table.shop_table tr.coupon-form {
	margin: 2px 0 0 !important;
	padding: 10px !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	border-radius: 20px;
	background: rgba(255,255,255,.04);
}
.woocommerce-cart .coupon-form label { color: rgba(255,255,255,.7) !important; }
.woocommerce-cart .coupon-form input.input-text {
	border: 1px solid rgba(255,255,255,.15) !important;
	background: rgba(255,255,255,.07) !important;
	color: #fff !important;
}
.woocommerce-cart .coupon-form .button,
.woocommerce-cart .coupon-form .razzi-button { border-color: rgba(255,255,255,.2) !important; background: rgba(255,255,255,.1) !important; color: #fff !important; }

.woocommerce-cart .cart-collaterals { position: sticky !important; top: 84px !important; align-self: start; }
.woocommerce-cart .cart-collaterals .cart_totals { margin: 0 !important; padding: 18px !important; color: #fff !important; }
.woocommerce-cart .cart-collaterals .cart_totals h2 {
	display: block !important;
	margin: 0 0 14px !important;
	color: #fff;
	font-size: clamp(26px, 3vw, 38px) !important;
	font-weight: 550 !important;
	line-height: 1;
}
.woocommerce-cart .cart-collaterals table.shop_table {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}
.woocommerce-cart .cart-collaterals table.shop_table tr { border-color: rgba(255,255,255,.11) !important; }
.woocommerce-cart .cart-collaterals table.shop_table th,
.woocommerce-cart .cart-collaterals table.shop_table td,
.woocommerce-cart .cart-collaterals table.shop_table a,
.woocommerce-cart .cart-collaterals table.shop_table .amount { color: #fff !important; }
.woocommerce-cart .cart-collaterals table.shop_table td { color: rgba(255,255,255,.72) !important; }
.woocommerce-cart .wc-proceed-to-checkout { margin-top: 12px !important; padding: 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	margin: 0 !important;
	border: 1px solid rgba(255,255,255,.2) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #090909 !important;
	font-size: 14px !important;
	font-weight: 750 !important;
}

/* Cart Blocks fallback, for stores that replace the classic cart shortcode. */
.woocommerce-cart .wc-block-cart-items,
.woocommerce-cart .wc-block-components-sidebar {
	border: 1px solid rgba(255,255,255,.18) !important;
	border-radius: 28px !important;
	background: linear-gradient(145deg, rgba(12,12,12,.89), rgba(34,34,34,.74)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 20px 55px rgba(0,0,0,.18) !important;
	color: #fff !important;
	overflow: hidden;
}
.woocommerce-cart .wc-block-cart a,
.woocommerce-cart .wc-block-cart .wc-block-components-product-name,
.woocommerce-cart .wc-block-cart .wc-block-formatted-money-amount { color: #fff !important; }

@media (max-width: 782px) {
	.ra-cart-modal { --fmbd-cart-gap: 10px; --fmbd-cart-panel-width: 354px; }
	.ra-cart-modal .cart-panel-content {
		top: max(70px, calc(env(safe-area-inset-top, 0px) + 66px)) !important;
		bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
		max-height: calc(100dvh - max(70px, calc(env(safe-area-inset-top, 0px) + 66px)) - max(10px, env(safe-area-inset-bottom, 0px))) !important;
		border-radius: 26px !important;
	}
	body.single-product .ra-cart-modal .cart-panel-content {
		bottom: max(76px, calc(env(safe-area-inset-bottom, 0px) + 70px)) !important;
		max-height: calc(100dvh - max(70px, calc(env(safe-area-inset-top, 0px) + 66px)) - max(76px, calc(env(safe-area-inset-bottom, 0px) + 70px))) !important;
	}
	.ra-cart-modal .modal-header { min-height: 52px !important; padding-top: 10px !important; padding-bottom: 9px !important; }
	.ra-cart-modal .widget_shopping_cart_content,
	.ra-cart-modal.has-free-shipping-bar .widget_shopping_cart_content { padding-bottom: 136px !important; }
	.ra-cart-modal .widget_shopping_cart_content ul.cart_list { padding: 10px !important; }
	.ra-cart-modal .widget_shopping_cart_content ul.cart_list .mini_cart_item {
		grid-template-columns: 62px minmax(0, 1fr) !important;
		min-height: 80px;
		padding: 8px !important;
		border-radius: 17px;
	}
	.ra-cart-modal .woocommerce-mini-cart-item__thumbnail img { width: 62px !important; height: 62px !important; max-width: 62px !important; border-radius: 13px; }
	.ra-cart-modal .widget_shopping_cart_footer { padding: 8px 10px 10px !important; }
	.ra-cart-modal .woocommerce-mini-cart__buttons .button,
	.ra-cart-modal .woocommerce-mini-cart__buttons .razzi-button { height: 40px !important; min-height: 40px !important; }

	.woocommerce-cart .fmbd-site-content { padding: 76px 0 86px !important; }
	.woocommerce-cart .woocommrece-cart-content { grid-template-columns: 1fr; gap: 14px; width: calc(100% - 20px); }
	.woocommerce-cart table.shop_table.woocommerce-cart-form__contents,
	.woocommerce-cart .cart-collaterals .cart_totals { border-radius: 25px !important; }
	.woocommerce-cart table.shop_table.woocommerce-cart-form__contents { padding: 8px !important; }
	.woocommerce-cart table.shop_table.woocommerce-cart-form__contents tr.cart_item {
		display: grid !important;
		grid-template-columns: 74px minmax(0, 1fr);
		gap: 10px;
		padding: 9px !important;
		border-radius: 18px;
	}
	.woocommerce-cart table.shop_table td.product-thumbnail,
	.woocommerce-cart table.shop_table td.product-thumbnail a { width: 74px !important; max-width: 74px !important; }
	.woocommerce-cart table.shop_table td.product-thumbnail img { width: 74px !important; min-width: 74px !important; height: 74px !important; border-radius: 14px; }
	.woocommerce-cart table.shop_table td.product-content { padding: 0 !important; }
	.woocommerce-cart table.shop_table .product-top { align-items: flex-start; gap: 7px; }
	.woocommerce-cart table.shop_table .product-name a { font-size: 13px; }
	.woocommerce-cart table.shop_table .product-price { font-size: 13px; }
	.woocommerce-cart table.shop_table .product-bottom { margin-top: 8px; }
	.woocommerce-cart table.shop_table tr.coupon-form { display: block !important; padding: 8px !important; }
	.woocommerce-cart table.shop_table .coupon-form .actions { padding: 0 !important; }
	.woocommerce-cart .cart-collaterals { position: static !important; }
	.woocommerce-cart .cart-collaterals .cart_totals { padding: 16px !important; }
	.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 28px !important; }
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.ra-cart-modal .cart-panel-content,
	.woocommerce-cart table.shop_table.woocommerce-cart-form__contents,
	.woocommerce-cart .cart-collaterals .cart_totals { background: rgba(12,12,12,.96) !important; }
}
