/* ==========================================================
   PHIUM MINI CART — FINAL UPDATED CSS
   ========================================================== */


/* ----------------------------------------------------------
   OUTER MINI CART
   Never scroll the complete panel
   ---------------------------------------------------------- */

.ct-header-cart .ct-cart-content {
	display: flex !important;
	flex-direction: column !important;

	width: min(430px, calc(100vw - 24px)) !important;
	height: auto !important;
	max-height: calc(100vh - 130px) !important;

	overflow: hidden !important;
	overscroll-behavior: contain;

	background: #ffffff !important;
	border-radius: 22px !important;
	box-sizing: border-box !important;
}


/* Logged-in WordPress admin bar */

@media screen and (min-width: 783px) {

	body.admin-bar
	.ct-header-cart
	.ct-cart-content {
		max-height: calc(100vh - 165px) !important;
	}
}


/* ----------------------------------------------------------
   PRODUCT LIST
   This is the only scrollable area
   ---------------------------------------------------------- */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;

	margin: 0 !important;
	padding: 20px 24px 14px !important;

	overflow-x: hidden !important;
	overflow-y: auto !important;

	scrollbar-gutter: stable;
	overscroll-behavior-y: contain;

	box-sizing: border-box !important;
    overflow-anchor: none !important;
	scroll-behavior: auto !important;
}


/* Chrome, Edge and Safari scrollbar */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart::-webkit-scrollbar {
	width: 6px;
}

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart::-webkit-scrollbar-track {
	background: transparent;
	margin-top: 12px;
	margin-bottom: 12px;
}

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart::-webkit-scrollbar-thumb {
	background: #c98e69;
	border-radius: 999px;
}

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart::-webkit-scrollbar-thumb:hover {
	background: #b97e5c;
}


/* Firefox scrollbar */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart {
	scrollbar-width: thin;
	scrollbar-color: #c98e69 transparent;
}


/* Prevent item overflow */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item,
.ct-header-cart
.ct-cart-content
.mini_cart_item {
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	box-sizing: border-box !important;
	overflow: visible !important;
}


/* ----------------------------------------------------------
   HIDE ORIGINAL COMPOSITE CHILD ROWS
   ---------------------------------------------------------- */

.ct-cart-content
.phium-mini-cart-composite-child {
	display: none !important;
}


/* ----------------------------------------------------------
   DISCOVERY SET PARENT
   Keep Blocksy's native item structure
   ---------------------------------------------------------- */

.ct-cart-content
.phium-mini-cart-composite-parent {
	width: 100% !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding-top: 8px !important;
	padding-bottom: 18px !important;

	box-sizing: border-box !important;
}


/* Parent image */

.ct-cart-content
.phium-mini-cart-composite-parent
img {
	width: 88px !important;
	height: 88px !important;
	max-width: 88px !important;

	object-fit: cover !important;
	border-radius: 14px !important;
}


/* Parent product title */

.ct-cart-content
.phium-mini-cart-composite-parent
a:not(.remove):not(.remove_from_cart_button) {
	min-width: 0 !important;
	max-width: 100% !important;

	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;

	word-break: normal !important;
	overflow-wrap: break-word !important;
	white-space: normal !important;
}


/* Parent quantity and price */

.ct-cart-content
.phium-mini-cart-composite-parent
.quantity {
	margin-top: 6px !important;

	font-size: 14px !important;
	line-height: 1.35 !important;
	color: #49372f !important;
}

.ct-cart-content
.phium-mini-cart-composite-parent
.quantity
.amount {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #241813 !important;
}


/* ----------------------------------------------------------
   REMOVE BUTTON
   Keep it permanently visible on desktop and mobile
   ---------------------------------------------------------- */

/* Reserve space so the product title cannot cover the button */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child),

.ct-header-cart
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child) {
	padding-right: 42px !important;
}


/* Override Blocksy's hover-only/hidden remove-button states */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.remove,

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.remove_from_cart_button,

.ct-header-cart
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.remove,

.ct-header-cart
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.remove_from_cart_button {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;

	position: absolute !important;
	top: 8px !important;
	right: 0 !important;
	left: auto !important;
	z-index: 20 !important;

	align-items: center !important;
	justify-content: center !important;

	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	margin: 0 !important;
	padding: 0 !important;

	color: #b7734f !important;
	background: #ffffff !important;
	border: 1px solid #cf9068 !important;
	border-radius: 50% !important;
	box-shadow: none !important;

	font-size: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;

	transform: none !important;
	cursor: pointer !important;
}


/* Draw a consistent × even when Blocksy hides its own icon */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.remove::before,

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.remove_from_cart_button::before,

.ct-header-cart
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.remove::before,

.ct-header-cart
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.remove_from_cart_button::before {
	content: "×" !important;
	display: block !important;

	color: currentColor !important;
	font-family: Arial, sans-serif !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}


/* Prevent Blocksy's original icon from duplicating the × */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.remove
svg,

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.remove_from_cart_button
svg,

.ct-header-cart
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.remove
svg,

.ct-header-cart
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.remove_from_cart_button
svg {
	display: none !important;
}


/* Hover and keyboard-focus feedback */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.remove:hover,

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.remove:focus-visible,

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.remove_from_cart_button:hover,

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.remove_from_cart_button:focus-visible,

.ct-header-cart
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.remove:hover,

.ct-header-cart
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.remove:focus-visible,

.ct-header-cart
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.remove_from_cart_button:hover,

.ct-header-cart
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.remove_from_cart_button:focus-visible {
	color: #ffffff !important;
	background: #cf9068 !important;
	outline: none !important;
}


/* ----------------------------------------------------------
   SELECTED FRAGRANCES
   ---------------------------------------------------------- */

.ct-cart-content
.phium-mini-cart-selections {
	display: block !important;
	clear: both !important;

	width: 100% !important;
	max-width: 100% !important;

	margin: 14px 0 0 !important;
	padding: 12px 0 0 !important;

	border-top: 1px solid #eaded7 !important;
	box-sizing: border-box !important;
    contain: layout paint;
}


/* Heading */

.ct-cart-content
.phium-mini-cart-selections__title {
	display: block !important;

	margin: 0 0 8px !important;
	padding: 0 !important;

	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;

	color: #8c776c !important;

	word-break: normal !important;
	overflow-wrap: normal !important;
	white-space: normal !important;
}


/* Fragrance list */

.ct-cart-content
.phium-mini-cart-selections__list {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 4px !important;

	width: 100% !important;
	max-width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	list-style: none !important;
	box-sizing: border-box !important;
}


/* Each fragrance */

.ct-cart-content
.phium-mini-cart-selections__list
li {
	position: relative !important;
	display: block !important;

	width: 100% !important;
	margin: 0 !important;
	padding: 0 0 0 12px !important;

	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;

	color: #372720 !important;

	word-break: normal !important;
	overflow-wrap: break-word !important;
	white-space: normal !important;

	box-sizing: border-box !important;
}


/* Bullet */

.ct-cart-content
.phium-mini-cart-selections__list
li::before {
	content: "";

	position: absolute;
	top: 0.55em;
	left: 0;

	width: 4px;
	height: 4px;

	border-radius: 50%;
	background: #c98e69;
}


/* ----------------------------------------------------------
   REGULAR MINI-CART ITEMS
   ---------------------------------------------------------- */

.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-parent):not(.phium-mini-cart-composite-child),
.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-parent):not(.phium-mini-cart-composite-child) {
	padding-top: 14px !important;
	padding-bottom: 14px !important;
}


/* ----------------------------------------------------------
   SUBTOTAL
   Fixed outside scroll area
   ---------------------------------------------------------- */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart__total {
	flex: 0 0 auto !important;
	position: relative !important;

	width: 100% !important;
	margin: 0 !important;
	padding: 20px 28px !important;

	background: #ffffff !important;
	border-top: 1px solid #eaded7 !important;

	box-sizing: border-box !important;
	z-index: 5;
}

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart__total
strong {
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0.03em !important;
	text-transform: uppercase !important;

	color: #241813 !important;
}

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart__total
.amount {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #241813 !important;
}


/* ----------------------------------------------------------
   CTA BUTTONS
   Fixed outside scroll area
   ---------------------------------------------------------- */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart__buttons {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 12px !important;

	flex: 0 0 auto !important;
	position: relative !important;

	width: 100% !important;
	margin: 0 !important;
	padding: 0 28px 26px !important;

	background: #ffffff !important;

	box-sizing: border-box !important;
	z-index: 5;
}

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart__buttons
.button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	min-width: 0 !important;
	min-height: 46px !important;

	margin: 0 !important;
	padding: 11px 14px !important;

	border-radius: 999px !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.03em !important;
	text-align: center !important;
	text-transform: uppercase !important;

	box-sizing: border-box !important;
}


/* View Cart */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart__buttons
.button:not(.checkout) {
	background: #ffffff !important;
	color: #b7734f !important;
	border: 1px solid #cf9068 !important;
}


/* Checkout */

.ct-header-cart
.ct-cart-content
.woocommerce-mini-cart__buttons
.checkout {
	background: #cf9068 !important;
	color: #ffffff !important;
	border: 1px solid #cf9068 !important;
}


/* ----------------------------------------------------------
   MOBILE / NARROW VIEW
   ---------------------------------------------------------- */

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

	.ct-header-cart
	.ct-cart-content {
		width: min(400px, calc(100vw - 20px)) !important;
		max-height: calc(100vh - 100px) !important;
	}

	body.admin-bar
	.ct-header-cart
	.ct-cart-content {
		max-height: calc(100vh - 145px) !important;
	}

	.ct-header-cart
	.ct-cart-content
	.woocommerce-mini-cart {
		padding-left: 20px !important;
		padding-right: 16px !important;
        overflow-anchor: none !important;
	    scroll-behavior: auto !important;
	}

	.ct-cart-content
	.phium-mini-cart-composite-parent
	img {
		width: 76px !important;
		height: 76px !important;
		max-width: 76px !important;
	}

	.ct-header-cart
	.ct-cart-content
	.woocommerce-mini-cart__total {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.ct-header-cart
	.ct-cart-content
	.woocommerce-mini-cart__buttons {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}


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

	.ct-header-cart
	.ct-cart-content
	.woocommerce-mini-cart__buttons {
		grid-template-columns: 1fr !important;
	}

	.ct-header-cart
	.ct-cart-content
	.woocommerce-mini-cart__total
	.amount {
		font-size: 19px !important;
	}
}
/* ==========================================================
   MINI CART — RESTORE REGULAR PRODUCT PRICE & QUANTITY
   ========================================================== */

/* Show quantity and price for all normal products */

.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.quantity,

.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.quantity {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;

	margin-top: 7px !important;

	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	color: #5a4941 !important;
}


/* Restore amount inside quantity */

.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.quantity
.amount,

.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.quantity
.amount,

.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
.quantity
.woocommerce-Price-amount,

.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
.quantity
.woocommerce-Price-amount {
	display: inline !important;
	visibility: visible !important;
	opacity: 1 !important;

	font-size: 16px !important;
	font-weight: 700 !important;
	color: #241813 !important;
}


/* Hide quantity and price only for Discovery Set components */

.ct-cart-content
.phium-mini-cart-composite-child
.quantity,

.ct-cart-content
.phium-mini-cart-composite-child
.amount,

.ct-cart-content
.phium-mini-cart-composite-child
.woocommerce-Price-amount {
	display: none !important;
}


/* Keep normal product content visible */

.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child)
a:not(.remove):not(.remove_from_cart_button),

.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child)
a:not(.remove):not(.remove_from_cart_button) {
	visibility: visible !important;
	opacity: 1 !important;
}


/* Regular product spacing */

.ct-cart-content
.mini_cart_item:not(.phium-mini-cart-composite-child):not(.phium-mini-cart-composite-parent),

.ct-cart-content
.woocommerce-mini-cart-item:not(.phium-mini-cart-composite-child):not(.phium-mini-cart-composite-parent) {
	min-height: 110px !important;
	padding-top: 16px !important;
	padding-bottom: 16px !important;
}
