/* ==========================================================
   PHIUM ESSENCE
   WPC COMPOSITE PRODUCTS — DISCOVERY SET
   ========================================================== */

.single-product .wooco_wrap {
	--phium-composite-accent: #cf9367;
	--phium-composite-accent-dark: #a96f4d;
	--phium-composite-heading: #2d201d;
	--phium-composite-text: #5f544e;
	--phium-composite-muted: #8d837d;
	--phium-composite-border: rgba(45, 32, 29, 0.14);
	--phium-composite-soft: #f8f1ec;
	--phium-composite-white: #ffffff;
	--phium-composite-success: #5f7f4d;

	width: 100%;
	margin-top: 18px;
	color: var(--phium-composite-text);
}


/* ==========================================================
   COMPONENT HEADING
   ========================================================== */

.single-product .wooco_component {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.single-product .wooco_component_name {
	margin: 0;
	color: var(--phium-composite-heading);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(25px, 2.5vw, 34px);
	font-weight: 600;
	line-height: 1.15;
}

.single-product .wooco_component_desc {
	margin-top: 7px;
	color: var(--phium-composite-muted);
	font-size: 14px;
	line-height: 1.6;
}

.single-product .wooco_component_desc::after {
	content: "Choose exactly three fragrances to complete your set.";
	display: block;
	margin-top: 2px;
	color: var(--phium-composite-text);
	font-size: 13px;
}


/* ==========================================================
   PROGRESS INDICATOR
   ========================================================== */

.phium-composite-progress {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 20px 0 18px;
	padding: 16px 18px;
	border: 1px solid var(--phium-composite-border);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.72);
}

.phium-composite-progress-copy {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.phium-composite-progress-label {
	color: var(--phium-composite-muted);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.phium-composite-progress-count {
	color: var(--phium-composite-heading);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px;
	font-weight: 600;
}

.phium-composite-dots {
	display: flex;
	align-items: center;
	gap: 8px;
}

.phium-composite-dot {
	width: 10px;
	height: 10px;
	border: 1px solid var(--phium-composite-accent);
	border-radius: 50%;
	background: transparent;
	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}

.phium-composite-dot.is-active {
	background: var(--phium-composite-accent);
	transform: scale(1.08);
}


/* ==========================================================
   FRAGRANCE OPTIONS GRID
   ========================================================== */

.single-product
.wooco_component_product_selection_grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 16px !important;
	margin-top: 0 !important;
}

.single-product
.wooco_component_product_selection_grid_item {
	position: relative;
	display: flex !important;
	flex-direction: column;
	min-width: 0;
	margin: 0 !important;
	padding: 0 0 16px !important;
	overflow: hidden;
	border: 1px solid var(--phium-composite-border) !important;
	border-radius: 16px;
	background: var(--phium-composite-white);
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(45, 32, 29, 0.05);
	transition:
		transform 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease;
}

.single-product
.wooco_component_product_selection_grid_item:hover {
	transform: translateY(-4px);
	border-color: rgba(207, 147, 103, 0.5) !important;
	box-shadow: 0 14px 32px rgba(45, 32, 29, 0.09);
}


/* ==========================================================
   OPTION IMAGE
   ========================================================== */

.single-product
.wooco_component_product_selection_grid_item_image {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 0.82;
	overflow: hidden;
	background: var(--phium-composite-soft);
}

.single-product
.wooco_component_product_selection_grid_item_image picture {
	display: block;
	width: 100%;
	height: 100%;
}

.single-product
.wooco_component_product_selection_grid_item_image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
	transition: transform 0.4s ease;
}

.single-product
.wooco_component_product_selection_grid_item:hover
.wooco_component_product_selection_grid_item_image img {
	transform: scale(1.035);
}


/* ==========================================================
   OPTION INFORMATION
   ========================================================== */

.single-product
.wooco_component_product_selection_grid_item_info {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 16px 16px 0 !important;
	text-align: left !important;
}

.single-product
.wooco_component_product_selection_grid_item_name {
	margin: 0 0 8px !important;
	color: var(--phium-composite-heading) !important;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.single-product
.wooco_component_product_selection_grid_item_desc {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin-top: auto;
	color: var(--phium-composite-text);
	font-size: 13px;
	line-height: 1.4;
}

.single-product
.wooco_component_product_selection_grid_item_desc > span {
	display: block;
}

.single-product
.wooco_component_product_selection_grid_item_desc ins {
	color: var(--phium-composite-heading);
	font-weight: 600;
	text-decoration: none;
}

.single-product
.wooco_component_product_selection_grid_item_desc del {
	margin-left: 4px;
	color: var(--phium-composite-muted);
	font-size: 12px;
}

.single-product
.wooco_component_product_selection_grid_item_desc
.stock {
	margin: 0 !important;
	color: var(--phium-composite-success) !important;
	font-size: 11px !important;
	font-weight: 600;
}


/* ==========================================================
   CARD ACTION LABEL
   ========================================================== */

.phium-composite-card-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - 32px);
	min-height: 38px;
	margin: 14px 16px 0;
	padding: 9px 14px;
	border: 1px solid var(--phium-composite-accent);
	border-radius: 999px;
	background: transparent;
	color: var(--phium-composite-accent-dark);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	pointer-events: none;
	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease;
}


/* ==========================================================
   SELECTED CARD
   ========================================================== */

.single-product
.wooco_component_product_selection_grid_item.selected,
.single-product
.wooco_component_product_selection_grid_item.wooco_selected,
.single-product
.wooco_component_product_selection_grid_item.is-phium-selected {
	border-color: var(--phium-composite-accent) !important;
	box-shadow: 0 0 0 2px rgba(207, 147, 103, 0.15);
}

.single-product
.wooco_component_product_selection_grid_item.selected::after,
.single-product
.wooco_component_product_selection_grid_item.wooco_selected::after,
.single-product
.wooco_component_product_selection_grid_item.is-phium-selected::after {
	content: "✓";
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--phium-composite-accent);
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	box-shadow: 0 4px 12px rgba(45, 32, 29, 0.16);
}

.single-product
.wooco_component_product_selection_grid_item.selected
.phium-composite-card-action,
.single-product
.wooco_component_product_selection_grid_item.wooco_selected
.phium-composite-card-action,
.single-product
.wooco_component_product_selection_grid_item.is-phium-selected
.phium-composite-card-action {
	border-color: var(--phium-composite-accent);
	background: var(--phium-composite-accent);
	color: #ffffff;
}


/* ==========================================================
   TOTAL AND SELECTION SUMMARY
   ========================================================== */

.single-product .wooco_summary {
	display: grid !important;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 14px;
	margin: 20px 0 0 !important;
	padding: 16px 18px !important;
	border: 1px solid var(--phium-composite-border);
	border-radius: 14px;
	background: var(--phium-composite-white);
}

.single-product .wooco_total,
.single-product .wooco_count {
	color: var(--phium-composite-heading);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.single-product .wooco_count {
	text-align: right;
}

.single-product .wooco_total del {
	color: var(--phium-composite-muted);
	font-weight: 400;
}

.single-product .wooco_total ins {
	color: var(--phium-composite-heading);
	text-decoration: none;
}


/* ==========================================================
   PLUGIN ALERT
   ========================================================== */

.single-product .wooco_alert {
	margin: 12px 0 0 !important;
	padding: 13px 15px !important;
	border-left: 3px solid var(--phium-composite-accent) !important;
	border-radius: 0 8px 8px 0;
	background: #fff8f3 !important;
	color: var(--phium-composite-text) !important;
	font-size: 12px !important;
	line-height: 1.55;
}


/* ==========================================================
   ADD TO CART AREA
   ========================================================== */

.single-product .ct-product-add-to-cart > .stock {
	margin: 14px 0 8px !important;
	color: var(--phium-composite-success) !important;
	font-size: 12px !important;
	font-weight: 600;
}

.single-product .ct-product-add-to-cart form.cart {
	display: grid !important;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 12px;
	align-items: stretch;
	margin-top: 0 !important;
}

.single-product .ct-product-add-to-cart form.cart .quantity {
	width: 88px !important;
	margin: 0 !important;
}

.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button {
	min-height: 48px !important;
	border-radius: 999px !important;
	background: var(--phium-composite-accent) !important;
	color: #ffffff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	box-shadow: none !important;
}

.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button:hover {
	background: var(--phium-composite-accent-dark) !important;
}

.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button:disabled,
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button.disabled {
	opacity: 0.55 !important;
	cursor: not-allowed;
}


/* ==========================================================
   COMPLETED SET
   ========================================================== */

.single-product
.wooco_wrap.is-phium-ready
.phium-composite-progress {
	border-color: rgba(95, 127, 77, 0.34);
	background: rgba(95, 127, 77, 0.07);
}

.single-product
.wooco_wrap.is-phium-ready
.phium-composite-progress-count {
	color: var(--phium-composite-success);
}


/* ==========================================================
   REMOVE TRENDING NOW
   ========================================================== */

.single-product:has(.wooco_wrap) .ct-trending-block {
	display: none !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

	.single-product
	.wooco_component_product_selection_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 600px) {

	.phium-composite-progress {
		align-items: flex-start;
		padding: 14px;
	}

	.single-product
	.wooco_component_product_selection_grid {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.single-product
	.wooco_component_product_selection_grid_item_image {
		aspect-ratio: 1.2 / 1;
	}

	.single-product .wooco_summary {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.single-product .wooco_count {
		text-align: left;
	}

	.single-product .ct-product-add-to-cart form.cart {
		grid-template-columns: 76px minmax(0, 1fr);
	}

	.single-product .ct-product-add-to-cart form.cart .quantity {
		width: 76px !important;
	}
}

@media (prefers-reduced-motion: reduce) {

	.single-product
	.wooco_component_product_selection_grid_item,

	.single-product
	.wooco_component_product_selection_grid_item_image img,

	.phium-composite-card-action,

	.phium-composite-dot {
		transition: none;
	}
}
/* ==========================================================
   FINAL WPC GRID FIX
   Keep this block at the very end of composite.css
   ========================================================== */

/* Main selection area */
.single-product
.wooco_component_product_selection_grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 18px !important;

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

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

	align-items: stretch !important;
	justify-content: stretch !important;
}

/* Reset every plugin width/flex rule */
.single-product
.wooco_component_product_selection_grid
.wooco_component_product_selection_grid_item {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	flex: none !important;
	flex-basis: auto !important;

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

	box-sizing: border-box !important;
}

/* Image frame */
.single-product
.wooco_component_product_selection_grid_item_image {
	display: block !important;

	width: 100% !important;
	height: auto !important;

	aspect-ratio: 1 / 0.82 !important;

	overflow: hidden !important;
}

/* Image */
.single-product
.wooco_component_product_selection_grid_item_image
picture {
	display: block !important;

	width: 100% !important;
	height: 100% !important;
}

.single-product
.wooco_component_product_selection_grid_item_image
img {
	display: block !important;

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

	object-fit: cover !important;
	object-position: center !important;
}

/* Information area */
.single-product
.wooco_component_product_selection_grid_item_info {
	display: flex !important;
	flex: 1 !important;
	flex-direction: column !important;

	width: 100% !important;
	min-width: 0 !important;

	padding: 16px 16px 0 !important;

	box-sizing: border-box !important;
}

/* Product name must wrap normally */
.single-product
.wooco_component_product_selection_grid_item_name {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	margin: 0 0 8px !important;

	font-size: 18px !important;
	line-height: 1.3 !important;

	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
	text-align: left !important;
}

/* Price and stock */
.single-product
.wooco_component_product_selection_grid_item_desc {
	display: flex !important;
	flex-direction: column !important;
	gap: 7px !important;

	width: 100% !important;

	margin-top: auto !important;

	text-align: left !important;
}

/* Add-to-set label */
.single-product
.wooco_component_product_selection_grid_item
.phium-composite-card-action {
	display: flex !important;

	width: calc(100% - 32px) !important;
	min-height: 40px !important;

	margin: 14px 16px 0 !important;

	padding: 10px 14px !important;

	box-sizing: border-box !important;

	white-space: normal !important;
	text-align: center !important;
}

/* Tablet */
@media (max-width: 900px) {

	.single-product
	.wooco_component_product_selection_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* Mobile */
@media (max-width: 600px) {

	.single-product
	.wooco_component_product_selection_grid {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.single-product
	.wooco_component_product_selection_grid_item_image {
		aspect-ratio: 1.15 / 1 !important;
	}
}
/* ==========================================================
   FUNCTIONALITY-SAFE COMPOSITE MODE
   Custom JavaScript enhancements are disabled.
   ========================================================== */

.phium-composite-progress,
.phium-composite-card-action {
	display: none !important;
}

/* Let the whole plugin card remain clickable */
.single-product
.wooco_component_product_selection_grid_item {
	cursor: pointer !important;
}

/* Prevent decorative elements from blocking card clicks */
.single-product
.wooco_component_product_selection_grid_item::before,
.single-product
.wooco_component_product_selection_grid_item::after {
	pointer-events: none !important;
}

/* Keep the native WPC summary visible */
.single-product .wooco_summary {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

/* Keep plugin validation readable */
.single-product .wooco_alert {
	display: block;
}

/* Do not force the button state */
.single-product
.ct-product-add-to-cart
.single_add_to_cart_button {
	pointer-events: auto;
}
/* ==========================================================
   COMPOSITE CART FUNCTIONAL FIXES
   Keep at the end of composite.css
   ========================================================== */

/* The composite quantity is fixed at one */
.single-product
.wooco_wrap ~ .stock + form.cart .quantity.hidden,
.single-product
.ct-product-add-to-cart form.cart .quantity.hidden {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Cart form no longer needs a quantity column */
.single-product
.ct-product-add-to-cart form.cart {
	display: block !important;
	width: 100% !important;
	margin-top: 12px !important;
}

/* Add to Cart must look active */
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	min-height: 48px !important;

	margin: 0 !important;
	padding: 13px 22px !important;

	border: 1px solid var(--phium-composite-accent) !important;
	border-radius: 999px !important;

	background: var(--phium-composite-accent) !important;
	color: #ffffff !important;

		cursor: pointer !important;

	box-shadow: none !important;
}

/* Only show disabled appearance when genuinely disabled */
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button:disabled,
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button.disabled {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
}

/* Buy Now */
.single-product .phium-buy-now {
	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 48px;

	margin-top: 14px;
	padding: 13px 22px;

	border: 1px solid var(--phium-composite-accent);
	border-radius: 999px;

	background: transparent;
	color: var(--phium-composite-accent-dark);

	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;

	cursor: pointer;

	transition:
		background-color 0.25s ease,
		color 0.25s ease;
}

.single-product .phium-buy-now:hover {
	background: var(--phium-composite-accent);
	color: #ffffff;
}
/* ==========================================================
   FINAL COMPOSITE CART CONTROLS
   Keep at the very end of composite.css
   ========================================================== */

/* Keep the fixed quantity input hidden */
.single-product
.ct-product-add-to-cart
form.cart
.quantity.hidden {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Cart form */
.single-product
.ct-product-add-to-cart
form.cart {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 10px !important;

	width: 100% !important;

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

/* Static quantity information */
.single-product
.ct-product-add-to-cart
form.cart::before {
	content: "Quantity: 1";

	display: block;

	margin: 0 0 2px;

	color: var(--phium-composite-text, #5f544e);

	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

/* Add to Cart */
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button,
.single-product
.ct-product-add-to-cart
form.cart
button.single_add_to_cart_button {
	position: relative !important;

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

	width: 100% !important;
	height: auto !important;
	min-height: 50px !important;

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

	border: 1px solid #cf9367 !important;
	border-radius: 999px !important;

	background: #cf9367 !important;
	background-color: #cf9367 !important;

	color: #ffffff !important;

	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;

	letter-spacing: 0.08em !important;
	text-align: center !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	text-shadow: none !important;

	visibility: visible !important;

	box-shadow: none !important;

	transform: none !important;
	filter: none !important;
}

/* Ensure text remains visible */
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button
* {
	color: #ffffff !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Remove inherited overlays */
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button::before,
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button::after {
	display: none !important;
}

/* Hover */
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button:hover,
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button:focus {
	border-color: #a96f4d !important;
	background: #a96f4d !important;
	background-color: #a96f4d !important;
	color: #ffffff !important;
}

/*
 * Do not visually disable the button based on plugin-added
 * classes because WPC is currently allowing valid submission.
 */
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button.disabled,
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button:disabled {
	border-color: #cf9367 !important;
	background: #cf9367 !important;
	background-color: #cf9367 !important;
	color: #ffffff !important;
	visibility: visible !important;

}


/* ==========================================================
   BUY NOW
   ========================================================== */

.single-product .phium-buy-now {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	min-height: 50px !important;

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

	border: 1px solid #cf9367 !important;
	border-radius: 999px !important;

	background: transparent !important;
	color: #a96f4d !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;

	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;

	opacity: 1 !important;
	visibility: visible !important;

	cursor: pointer !important;
	box-shadow: none !important;
}

.single-product .phium-buy-now:hover,
.single-product .phium-buy-now:focus {
	background: #cf9367 !important;
	color: #ffffff !important;
}
/* ==========================================================
   FINAL ADD TO CART SHAPE FIX
   Keep this at the absolute end of composite.css
   ========================================================== */

.single-product
.ct-product-add-to-cart
form.cart {
	display: block !important;
	width: 100% !important;
	margin: 12px 0 0 !important;
	padding: 0 !important;
}

/* Keep fixed quantity hidden */
.single-product
.ct-product-add-to-cart
form.cart
.quantity.hidden {
	display: none !important;
}

/* Remove circular/global button sizing */
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button {
	position: relative !important;

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

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

	height: 50px !important;
	min-height: 50px !important;
	max-height: 50px !important;

	aspect-ratio: auto !important;

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

	border: 1px solid #cf9367 !important;
	border-radius: 999px !important;

	background: #cf9367 !important;
	background-color: #cf9367 !important;

	color: #ffffff !important;

	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1 !important;

	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	text-align: center !important;

	visibility: visible !important;

	transform: none !important;
	scale: none !important;

	box-shadow: none !important;
	filter: none !important;
}

/* Reset inherited pseudo-element shapes */
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button::before,
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button::after {
	display: none !important;
	content: none !important;
}

/* Selected and valid state */
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button:hover,
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button:focus {
	border-color: #a96f4d !important;
	background: #a96f4d !important;
	color: #ffffff !important;
}

/*
 * WPC may visually mark the button as disabled even though
 * it still accepts a valid composite submission.
 */
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button.disabled,
.single-product
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button:disabled {
	width: 100% !important;
	height: 50px !important;
	min-height: 50px !important;
	max-height: 50px !important;

	border-radius: 999px !important;

	background: #cf9367 !important;
	color: #ffffff !important;

	visibility: visible !important;
}


/* ==========================================================
   QUANTITY LABEL
   ========================================================== */

.single-product
.ct-product-add-to-cart
form.cart::before {
	content: "Quantity: 1";

	display: block;

	margin: 0 0 10px !important;

	color: #5f544e;

	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}


/* ==========================================================
   BUY NOW ALIGNMENT
   ========================================================== */

.single-product
.phium-buy-now {
	width: 100% !important;

	height: 50px !important;
	min-height: 50px !important;
	max-height: 50px !important;

	aspect-ratio: auto !important;

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

	border-radius: 999px !important;

	transform: none !important;
	scale: none !important;
}
/* ==========================================================
   DISCOVERY SET — FINAL COMPACT LAYOUT
   Keep at the absolute end of composite.css
   ========================================================== */


/* ----------------------------------------------------------
   Reduce overall product spacing
   ---------------------------------------------------------- */

.single-product:has(.wooco_wrap)
.product-entry-wrapper {
	align-items: start !important;
	gap: 36px !important;
}

.single-product:has(.wooco_wrap)
.product-entry-wrapper,
.single-product:has(.wooco_wrap)
.ct-container {
	padding-top: 24px !important;
	padding-bottom: 30px !important;
}


/* ----------------------------------------------------------
   Compact gallery
   ---------------------------------------------------------- */

.single-product:has(.wooco_wrap)
.woocommerce-product-gallery,

.single-product:has(.wooco_wrap)
.ct-product-gallery-container {
	position: sticky !important;
	top: 130px !important;
	align-self: start !important;
}

.single-product:has(.wooco_wrap)
.flexy-view,
.single-product:has(.wooco_wrap)
.flexy-items,
.single-product:has(.wooco_wrap)
.flexy-item,
.single-product:has(.wooco_wrap)
.flexy-item .ct-media-container {
	height: 520px !important;
	max-height: 520px !important;
}

.single-product:has(.wooco_wrap)
.flexy-item
.ct-media-container
picture
img:not(.zoomImg) {
	width: 100% !important;
	height: 100% !important;
	max-height: 520px !important;
	object-fit: contain !important;
	transform: none !important;
}


/* ----------------------------------------------------------
   Reduce details spacing
   ---------------------------------------------------------- */

.single-product:has(.wooco_wrap)
.entry-summary {
	padding-top: 0 !important;
}

.single-product:has(.wooco_wrap)
.entry-summary > * {
	margin-bottom: 16px !important;
}

.single-product:has(.wooco_wrap)
.product_title {
	margin-bottom: 8px !important;
}

.single-product:has(.wooco_wrap)
.ct-product-divider {
	margin: 18px 0 !important;
}


/* ----------------------------------------------------------
   Compact composite cards
   ---------------------------------------------------------- */

.single-product
.wooco_component_product_selection_grid {
	gap: 14px !important;
}

.single-product
.wooco_component_product_selection_grid_item {
	border-radius: 14px !important;
}

.single-product
.wooco_component_product_selection_grid_item_image {
	aspect-ratio: 1.2 / 1 !important;
}

.single-product
.wooco_component_product_selection_grid_item_info {
	padding: 12px 14px 0 !important;
}

.single-product
.wooco_component_product_selection_grid_item_name {
	margin-bottom: 5px !important;
	font-size: 16px !important;
	line-height: 1.25 !important;
}

.single-product
.wooco_component_product_selection_grid_item_desc {
	gap: 4px !important;
	font-size: 12px !important;
}

.single-product
.wooco_component_product_selection_grid_item_desc
.stock {
	font-size: 10px !important;
}


/* ----------------------------------------------------------
   Compact summary and stock
   ---------------------------------------------------------- */

.single-product .wooco_summary {
	margin-top: 14px !important;
	padding: 13px 15px !important;
}

.single-product .wooco_alert {
	margin-top: 10px !important;
	padding: 11px 13px !important;
}

.single-product
.ct-product-add-to-cart > .stock {
	margin: 10px 0 4px !important;
}


/* ----------------------------------------------------------
   Hide WooCommerce View cart notice/link
   only on composite product pages
   ---------------------------------------------------------- */

.single-product:has(.wooco_wrap)
.added_to_cart.wc-forward,

.single-product:has(.wooco_wrap)
a.added_to_cart {
	display: none !important;
}


/* ----------------------------------------------------------
   Buttons
   ---------------------------------------------------------- */

.single-product:has(.wooco_wrap)
.ct-product-add-to-cart
form.cart
.single_add_to_cart_button,

.single-product:has(.wooco_wrap)
.phium-buy-now {
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px !important;
}

.single-product:has(.wooco_wrap)
.phium-buy-now {
	margin-top: 10px !important;
}


/* ----------------------------------------------------------
   Remove excess space before footer
   ---------------------------------------------------------- */

.single-product:has(.wooco_wrap)
.site-main,
.single-product:has(.wooco_wrap)
#main,
.single-product:has(.wooco_wrap)
.product {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.single-product:has(.wooco_wrap)
.ct-trending-block {
	display: none !important;
}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 1024px) {

	.single-product:has(.wooco_wrap)
	.product-entry-wrapper {
		gap: 26px !important;
	}

	.single-product:has(.wooco_wrap)
	.woocommerce-product-gallery,

	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container {
		position: static !important;
	}

	.single-product:has(.wooco_wrap)
	.flexy-view,
	.single-product:has(.wooco_wrap)
	.flexy-items,
	.single-product:has(.wooco_wrap)
	.flexy-item,
	.single-product:has(.wooco_wrap)
	.flexy-item
	.ct-media-container {
		height: 360px !important;
		max-height: 360px !important;
	}
}


/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media (max-width: 767px) {

	.single-product:has(.wooco_wrap)
	.product-entry-wrapper {
		gap: 22px !important;
	}

	.single-product:has(.wooco_wrap)
	.flexy-view,
	.single-product:has(.wooco_wrap)
	.flexy-items,
	.single-product:has(.wooco_wrap)
	.flexy-item,
	.single-product:has(.wooco_wrap)
	.flexy-item
	.ct-media-container {
		height: 290px !important;
		max-height: 290px !important;
	}

	.single-product
	.wooco_component_product_selection_grid {
		grid-template-columns: 1fr !important;
	}

	.single-product
	.wooco_component_product_selection_grid_item_image {
		aspect-ratio: 1.25 / 1 !important;
	}
}
.single-product .phium-buy-now {
	display: none !important;
}
/* ==========================================================
   DISCOVERY SET
   TABLET PORTRAIT FIX
========================================================== */

@media (max-width:900px){

    .single-product:has(.wooco_wrap) .product-entry-wrapper{

        display:flex !important;
        flex-direction:column !important;

        gap:34px !important;
    }

    .single-product:has(.wooco_wrap)
    .woocommerce-product-gallery,

    .single-product:has(.wooco_wrap)
    .entry-summary{

        width:100% !important;
        max-width:100% !important;
        flex:0 0 100% !important;
    }

    .single-product:has(.wooco_wrap)
    .entry-summary{

        padding-top:0 !important;
    }

    .single-product
    .wooco_component_product_selection_grid{

        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .single-product
    .wooco_summary{

        grid-template-columns:1fr !important;

        gap:8px !important;
    }

    .single-product
    .wooco_count{

        text-align:left !important;
    }

}
/* ==========================================================
   COMPOSITE PRODUCT — REAL DISABLED BUTTON STATE
   ========================================================== */

.single-product:has(.wooco_wrap)
.ct-product-add-to-cart
.single_add_to_cart_button:disabled,

.single-product:has(.wooco_wrap)
.ct-product-add-to-cart
.single_add_to_cart_button.disabled {

	opacity: 0.48 !important;

	pointer-events: none !important;
	cursor: not-allowed !important;

	background: #d8c8bd !important;
	border-color: #d8c8bd !important;
	color: #ffffff !important;
}
/* ==========================================================
   COMPOSITE PRODUCT — TRUE BUTTON STATES
   ========================================================== */

.single-product:has(.wooco_wrap)
.single_add_to_cart_button.phium-composite-incomplete,
.single-product:has(.wooco_wrap)
.single_add_to_cart_button:disabled,
.single-product:has(.wooco_wrap)
.phium-buy-now.phium-composite-incomplete,
.single-product:has(.wooco_wrap)
.phium-buy-now:disabled {
	opacity: 0.5 !important;
	pointer-events: none !important;
	cursor: not-allowed !important;

	border-color: #d8c8bd !important;
	background: #d8c8bd !important;
	color: #ffffff !important;
}

.single-product:has(.wooco_wrap)
.single_add_to_cart_button:not(:disabled),
.single-product:has(.wooco_wrap)
.phium-buy-now:not(:disabled) {
	opacity: 1 !important;
	pointer-events: auto !important;
	cursor: pointer !important;
}
/* Buy Now AJAX processing state */

.single-product .phium-buy-now.is-processing,
.single-product .single_add_to_cart_button.phium-buy-now-processing {
	opacity: 0.5 !important;
	pointer-events: none !important;
	cursor: wait !important;
}

.single-product .single_add_to_cart_button.phium-buy-now-processing {
	background: #d8c8bd !important;
	border-color: #d8c8bd !important;
	color: #ffffff !important;
}


/* ==========================================================
   DISCOVERY SET — SHOW COMPLETE PORTRAIT OPTION IMAGES
   Source images are 800 × 1200 (2:3). Keep this block last.
   ========================================================== */

.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_image {
	height: auto !important;
	aspect-ratio: 2 / 3 !important;
	background: var(--phium-composite-soft, #f8f1ec) !important;
}

.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_image picture {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
}


/* ==========================================================
   DISCOVERY SET — KEEP THE MAIN 1024 × 1024 IMAGE SQUARE
   Blocksy adds an inline 3:4 ratio; this composite-only rule
   restores the source image's real 1:1 ratio.
   ========================================================== */

.single-product:has(.wooco_wrap)
.ct-product-gallery-container
> figure.ct-media-container {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	aspect-ratio: 1 / 1 !important;
	background: var(--phium-composite-soft, #f8f1ec) !important;
	overflow: hidden !important;
}

.single-product:has(.wooco_wrap)
.ct-product-gallery-container
> figure.ct-media-container
> img.wp-post-image:not(.zoomImg) {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: none !important;
	margin: 0 !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	object-position: center !important;
	transform: none !important;
}

/* ==========================================================
   PHIUM COMPOSITE V15 — COMPACT SELECTOR + DESCRIPTION + BUY NOW
   This final block intentionally overrides older composite experiments.
   Normal Simple / Variable product pages are not affected.
   ========================================================== */

/* ---------- Compact fragrance selector cards ---------- */
@media (min-width: 1200px) {
	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 10px !important;
		width: 100% !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item {
		min-width: 0 !important;
		padding: 0 0 9px !important;
		border-radius: 10px !important;
		box-shadow: 0 5px 16px rgba(45, 32, 29, 0.045) !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item:hover {
		transform: translateY(-2px) !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item_image {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 172px !important;
		min-height: 172px !important;
		max-height: 172px !important;
		padding: 7px !important;
		aspect-ratio: auto !important;
		box-sizing: border-box !important;
		background: var(--phium-composite-soft, #f8f1ec) !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item_image picture {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item_image img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		object-fit: contain !important;
		object-position: center !important;
		transform: none !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item_info {
		padding: 8px 9px 0 !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item_name {
		margin: 0 0 4px !important;
		font-size: 12.5px !important;
		font-weight: 600 !important;
		line-height: 1.25 !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item_desc {
		gap: 2px !important;
		margin-top: 5px !important;
		font-size: 10px !important;
		line-height: 1.3 !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item_desc .stock {
		font-size: 9px !important;
		line-height: 1.25 !important;
	}
}

/* Customer-facing Short Description inserted by product.js. */
.single-product:has(.wooco_wrap) .phium-composite-short-description {
	display: block !important;
	margin: 0 !important;
	color: var(--phium-composite-text, #5f544e) !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

/* Three columns on smaller desktop/laptop widths. */
@media (min-width: 1025px) and (max-width: 1199px) {
	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item_image {
		height: 180px !important;
		min-height: 180px !important;
		max-height: 180px !important;
		aspect-ratio: auto !important;
	}
}

/* Two columns on tablet; keep descriptions readable. */
@media (min-width: 601px) and (max-width: 1024px) {
	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item_image {
		height: 210px !important;
		min-height: 210px !important;
		max-height: 210px !important;
		aspect-ratio: auto !important;
	}
}

/* ---------- Composite purchase action row ---------- */
.single-product:has(.wooco_wrap)
.ct-product-add-to-cart form.cart.phium-composite-cart-actions {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(150px, 0.42fr) !important;
	align-items: stretch !important;
	gap: 10px !important;
	width: 100% !important;
	margin: 10px 0 0 !important;
	padding: 0 !important;
}

.single-product:has(.wooco_wrap)
.ct-product-add-to-cart form.cart.phium-composite-cart-actions::before {
	grid-column: 1 / -1 !important;
	margin: 0 0 1px !important;
}

.single-product:has(.wooco_wrap)
.ct-product-add-to-cart form.cart.phium-composite-cart-actions
> .single_add_to_cart_button,
.single-product:has(.wooco_wrap)
.ct-product-add-to-cart form.cart.phium-composite-cart-actions
> .phium-buy-now {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: none !important;
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px !important;
	margin: 0 !important;
	padding: 0 20px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.075em !important;
	text-transform: uppercase !important;
	visibility: visible !important;
}

/* Override the old global composite rule that hid Buy Now. */
.single-product:has(.wooco_wrap)
.ct-product-add-to-cart form.cart.phium-composite-cart-actions
> .phium-buy-now {
	border: 1px solid var(--phium-composite-accent, #cf9367) !important;
	background: transparent !important;
	color: var(--phium-composite-accent-dark, #a96f4d) !important;
	opacity: 1;
}

.single-product:has(.wooco_wrap)
.ct-product-add-to-cart form.cart.phium-composite-cart-actions
> .phium-buy-now:hover:not(:disabled),
.single-product:has(.wooco_wrap)
.ct-product-add-to-cart form.cart.phium-composite-cart-actions
> .phium-buy-now:focus-visible:not(:disabled) {
	background: var(--phium-composite-accent, #cf9367) !important;
	color: #ffffff !important;
}

/* Keep only the JS-moved button visible; source position stays hidden briefly. */
.single-product:has(.wooco_wrap) .summary > .phium-buy-now {
	display: none !important;
}

/* Respect the existing exactly-three-items validation state. */
.single-product:has(.wooco_wrap)
.ct-product-add-to-cart form.cart.phium-composite-cart-actions
> .phium-buy-now.phium-composite-incomplete,
.single-product:has(.wooco_wrap)
.ct-product-add-to-cart form.cart.phium-composite-cart-actions
> .phium-buy-now:disabled {
	opacity: 0.5 !important;
	pointer-events: none !important;
	cursor: not-allowed !important;
	border-color: #d8c8bd !important;
	background: #d8c8bd !important;
	color: #ffffff !important;
}

@media (max-width: 600px) {
	.single-product:has(.wooco_wrap)
	.ct-product-add-to-cart form.cart.phium-composite-cart-actions {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 8px !important;
	}

	.single-product:has(.wooco_wrap)
	.ct-product-add-to-cart form.cart.phium-composite-cart-actions::before {
		grid-column: 1 !important;
	}

	.single-product:has(.wooco_wrap)
	.wooco_component_product_selection_grid_item_image {
		height: 250px !important;
		min-height: 250px !important;
		max-height: 250px !important;
		aspect-ratio: auto !important;
	}

	.single-product:has(.wooco_wrap) .phium-composite-short-description {
		font-size: 11px !important;
	}
}



/* ==========================================================
   PHIUM COMPOSITE V16 — GALLERY + PRODUCT IMAGE NORMALIZATION
   14 Aug 2026

   Purpose:
   - Stops direct Blocksy gallery figures from appearing as a
     vertical stack on WPC Composite product pages.
   - Keeps the main Discovery Set image square and fully visible.
   - Standardizes fragrance selector/product images to 1:1.
   - Does not affect normal simple/variable product pages.
   ========================================================== */

/* ----------------------------------------------------------
   A. COMPOSITE MAIN GALLERY — BLOCKSY FLEXY MODE
   ---------------------------------------------------------- */

@media (min-width: 1025px) {
	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy-container,
	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy,
	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy-view {
		box-sizing: border-box !important;
		width: 400px !important;
		max-width: 400px !important;
		margin-inline: auto !important;
	}

	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy-view,
	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy-items,
	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy-item,
	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy-item > .ct-media-container,
	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy-item > figure.ct-media-container {
		box-sizing: border-box !important;
		width: 400px !important;
		height: 400px !important;
		min-height: 400px !important;
		max-height: 400px !important;
	}

	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy-item > .ct-media-container picture,
	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy-item > .ct-media-container img:not(.zoomImg),
	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy-item > figure.ct-media-container picture,
	.single-product:has(.wooco_wrap)
	.ct-product-gallery-container .flexy-item > figure.ct-media-container img:not(.zoomImg) {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		aspect-ratio: 1 / 1 !important;
		object-fit: contain !important;
		object-position: center !important;
		transform: none !important;
	}
}

/* ----------------------------------------------------------
   B. COMPOSITE MAIN GALLERY — DIRECT-FIGURE FALLBACK

   Some Blocksy/WooCommerce composite pages can output gallery
   figures directly under .ct-product-gallery-container instead
   of inside Flexy. Older PHIUM rules made every direct figure
   a full-size square, which produced the vertical stack seen
   on the page. In this fallback mode, keep only the first/main
   figure visible.
   ---------------------------------------------------------- */

.single-product:has(.wooco_wrap)
.ct-product-gallery-container:not(:has(.flexy-view))
> figure.ct-media-container {
	display: none !important;
}

.single-product:has(.wooco_wrap)
.ct-product-gallery-container:not(:has(.flexy-view))
> figure.ct-media-container:first-of-type {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	background: var(--phium-composite-soft, #f8f1ec) !important;
}

.single-product:has(.wooco_wrap)
.ct-product-gallery-container:not(:has(.flexy-view))
> figure.ct-media-container:first-of-type
picture {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-product:has(.wooco_wrap)
.ct-product-gallery-container:not(:has(.flexy-view))
> figure.ct-media-container:first-of-type
img:not(.zoomImg) {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	object-position: center !important;
	transform: none !important;
}

/* ----------------------------------------------------------
   C. COMPOSITE PRODUCT/FRAGRANCE OPTION IMAGES

   PHIUM product images are square. Remove the older 2:3,
   1.2:1 and fixed-height experiments and use one consistent
   1:1 frame at all breakpoints.
   ---------------------------------------------------------- */

.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_image {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	padding: 6px !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	background: var(--phium-composite-soft, #f8f1ec) !important;
}

.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_image
picture {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_image
img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	object-position: center !important;
	transform: none !important;
}

/* Keep the Flexy thumbnail rail square and uncropped as well. */
.single-product:has(.wooco_wrap)
.ct-product-gallery-container
.flexy-pills[data-type="thumbs"]
.ct-media-container,
.single-product:has(.wooco_wrap)
.ct-product-gallery-container
.flexy-pills[data-type="thumbs"]
picture,
.single-product:has(.wooco_wrap)
.ct-product-gallery-container
.flexy-pills[data-type="thumbs"]
img {
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	object-position: center !important;
}


/* ==========================================================
   PHIUM COMPOSITE V19 — EXPLORE FRAGRANCE CTA + ACF MODAL
   14 Aug 2026

   - No individual component price is shown.
   - "Explore This Fragrance" opens an informational modal.
   - The modal shows Short Description, Notes, Vibe and Ideal Time.
   - Card selection remains handled only by WPC Composite Products.
   ========================================================== */

/* Hide individual 10 ml component prices inside selector cards only. */
.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_desc
.price,
.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_desc
ins,
.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_desc
del,
.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_desc
.woocommerce-Price-amount {
	display: none !important;
}

/* Explore CTA */
.single-product:has(.wooco_wrap)
.phium-composite-explore {
	display: inline-flex !important;
	align-items: center;
	justify-content: flex-start;
	align-self: flex-start;
	gap: 6px;
	width: auto !important;
	min-height: 34px;
	margin: 8px 0 2px !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(169, 111, 77, 0.38) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--phium-composite-accent-dark, #a96f4d) !important;
	font-family: inherit;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.25;
	letter-spacing: 0.055em;
	text-align: left;
	text-transform: uppercase;
	box-shadow: none !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	transition:
		color 0.2s ease,
		border-color 0.2s ease;
}

.single-product:has(.wooco_wrap)
.phium-composite-explore::after {
	content: "→";
	font-size: 14px;
	line-height: 1;
	transition: transform 0.2s ease;
}

.single-product:has(.wooco_wrap)
.phium-composite-explore:hover,
.single-product:has(.wooco_wrap)
.phium-composite-explore:focus-visible {
	border-bottom-color: currentColor !important;
	color: var(--phium-composite-heading, #2d201d) !important;
	outline: none !important;
}

.single-product:has(.wooco_wrap)
.phium-composite-explore:hover::after,
.single-product:has(.wooco_wrap)
.phium-composite-explore:focus-visible::after {
	transform: translateX(3px);
}

/* Modal scroll lock */
body.phium-fragrance-modal-open {
	overflow: hidden !important;
}

/* Modal shell */
.phium-fragrance-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
}

.phium-fragrance-modal.is-open {
	display: block;
}

.phium-fragrance-modal__backdrop {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 24px;
	background: rgba(31, 22, 19, 0.58);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
}

.phium-fragrance-modal__dialog {
	position: relative;
	box-sizing: border-box;
	width: min(620px, 100%);
	max-height: min(94vh, 760px);
	max-height: min(calc(100dvh - 28px), 760px);
	overflow-x: hidden;
	overflow-y: auto;
	padding: 28px;
	border: 1px solid rgba(45, 32, 29, 0.1);
	border-radius: 18px;
	background: #fffdfb;
	color: var(--phium-composite-text, #5f544e);
	box-shadow: 0 30px 80px rgba(31, 22, 19, 0.26);
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: rgba(169, 111, 77, 0.42) transparent;
}

/* Keep the modal scrollbar subtle and independent of global/theme scrollbar styling. */
.phium-fragrance-modal__dialog::-webkit-scrollbar {
	width: 6px;
}

.phium-fragrance-modal__dialog::-webkit-scrollbar-track {
	background: transparent;
}

.phium-fragrance-modal__dialog::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(169, 111, 77, 0.42);
}

.phium-fragrance-modal__dialog::-webkit-scrollbar-thumb:hover {
	background: rgba(169, 111, 77, 0.62);
}

.phium-fragrance-modal__dialog:focus {
	outline: none;
}

.phium-fragrance-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(45, 32, 29, 0.16) !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.98) !important;
	color: #2d201d !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 0 !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-indent: 0 !important;
	box-shadow: 0 2px 8px rgba(45, 32, 29, 0.06) !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	cursor: pointer !important;
}

.phium-fragrance-modal__close::before {
	content: "\00D7";
	display: block !important;
	color: #2d201d !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 25px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	transform: translateY(-1px);
}

.phium-fragrance-modal__close:hover,
.phium-fragrance-modal__close:focus-visible {
	border-color: var(--phium-composite-accent, #cf9367) !important;
	background: #ffffff !important;
	color: var(--phium-composite-accent-dark, #a96f4d) !important;
	outline: none !important;
}

.phium-fragrance-modal__close:hover::before,
.phium-fragrance-modal__close:focus-visible::before {
	color: var(--phium-composite-accent-dark, #a96f4d) !important;
}

.phium-fragrance-modal__hero {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	align-items: center;
	gap: 24px;
	padding: 4px 44px 24px 0;
	border-bottom: 1px solid rgba(45, 32, 29, 0.1);
}

.phium-fragrance-modal__image-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 150px;
	overflow: hidden;
	border-radius: 14px;
	background: var(--phium-composite-soft, #f8f1ec);
}

.phium-fragrance-modal__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.phium-fragrance-modal__eyebrow {
	display: block;
	margin-bottom: 7px;
	color: var(--phium-composite-accent-dark, #a96f4d);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.phium-fragrance-modal__title {
	margin: 0 0 9px;
	color: var(--phium-composite-heading, #2d201d);
	font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-size: clamp(30px, 4vw, 40px);
	font-weight: 600;
	line-height: 1.05;
}

.phium-fragrance-modal__short {
	margin: 0;
	color: var(--phium-composite-text, #5f544e);
	font-size: 13px;
	line-height: 1.65;
}

.phium-fragrance-modal__content {
	display: grid;
	gap: 0;
}

.phium-fragrance-modal__section {
	padding: 20px 0;
	border-bottom: 1px solid rgba(45, 32, 29, 0.09);
}

.phium-fragrance-modal__section:last-child {
	padding-bottom: 2px;
	border-bottom: 0;
}

.phium-fragrance-modal__section-title {
	margin: 0 0 11px;
	color: var(--phium-composite-heading, #2d201d);
	font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.2;
}

.phium-fragrance-modal__notes-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.phium-fragrance-modal__note-group {
	min-width: 0;
	padding: 12px;
	border: 1px solid rgba(207, 147, 103, 0.2);
	border-radius: 10px;
	background: rgba(248, 241, 236, 0.55);
}

.phium-fragrance-modal__note-label {
	display: block;
	margin-bottom: 5px;
	color: var(--phium-composite-accent-dark, #a96f4d);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.phium-fragrance-modal__note-copy {
	margin: 0;
	color: var(--phium-composite-text, #5f544e);
	font-size: 12px;
	line-height: 1.5;
}

.phium-fragrance-modal__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.phium-fragrance-modal__chip {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 11px;
	border: 1px solid rgba(207, 147, 103, 0.25);
	border-radius: 999px;
	background: #ffffff;
	color: #4e4540;
	font-size: 12px;
	line-height: 1.3;
}

/* Mobile: bottom-sheet style modal. */
@media (max-width: 600px) {

	.phium-fragrance-modal__backdrop {
		align-items: flex-end;
		padding: 0;
	}

	.phium-fragrance-modal__dialog {
		width: 100%;
		max-height: 92vh;
		max-height: 92dvh;
		padding: 22px 18px 24px;
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 20px 20px 0 0;
	}

	.phium-fragrance-modal__close {
		top: 12px;
		right: 12px;
		width: 36px;
		height: 36px;
	}

	.phium-fragrance-modal__hero {
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 16px;
		padding: 4px 38px 18px 0;
	}

	.phium-fragrance-modal__image-wrap {
		width: 104px;
		height: 104px;
		border-radius: 11px;
	}

	.phium-fragrance-modal__title {
		margin-bottom: 7px;
		font-size: 28px;
	}

	.phium-fragrance-modal__short {
		font-size: 12px;
		line-height: 1.55;
	}

	.phium-fragrance-modal__section {
		padding: 17px 0;
	}

	.phium-fragrance-modal__section-title {
		margin-bottom: 10px;
		font-size: 20px;
	}

	.phium-fragrance-modal__notes-grid {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.phium-fragrance-modal__note-group {
		padding: 10px 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-product:has(.wooco_wrap)
	.phium-composite-explore,
	.single-product:has(.wooco_wrap)
	.phium-composite-explore::after {
		transition: none !important;
	}
}


/* ==========================================================
   PHIUM COMPOSITE V20 — HIDE COMPONENT STOCK ON ALL DEVICES

   The 10 ml fragrances are selectable components of the PHIUM
   Discovery Set, not standalone retail products. Their individual
   stock quantities are therefore intentionally hidden from the
   composite selector on desktop, tablet and mobile.
   ========================================================== */

body.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item .stock,
body.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_desc .stock,
body.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item_info .stock,
body.single-product:has(.wooco_wrap)
.wooco_component_product_selection_grid_item [class*="stock"] {
	display: none !important;
}


/* ==========================================================
   PHIUM GLOBAL PRODUCT DETAIL — HIDE CUSTOMER-FACING STOCK
   14 Aug 2026

   Covers WooCommerce variable-product availability HTML such as:
   <div class="woocommerce-variation-availability">
       <p class="stock in-stock">125 in stock</p>
   </div>

   Inventory and purchasability remain controlled by WooCommerce.
   Only the visible stock message is hidden on single-product pages.
   ========================================================== */

body.single-product
.woocommerce-variation-availability,
body.single-product
.woocommerce-variation-availability .stock,
body.single-product
.single_variation .stock,
body.single-product
.summary .stock,
body.single-product
.entry-summary .stock,
body.single-product
.ct-product-add-to-cart .stock {
	display: none !important;
}
