/* Lipoderma WooCommerce */
:root{
	--lipo-ink:#10161f;
	--lipo-muted:#68707a;
	--lipo-line:#dfe3e8;
	--lipo-accent:#f07b61;
	--lipo-soft:#f7b8a8;
	--lipo-dark-button:#858585;
}

.woocommerce .woocommerce-breadcrumb{margin:0 0 18px;color:var(--lipo-muted);font-size:13px}
.woocommerce .woocommerce-breadcrumb a{color:inherit}

/* =========================================================
   Shop page
   ========================================================= */

.lipo-shop-header,
.lipo-shop-toolbar,
.woocommerce nav.woocommerce-pagination {
	width: min(1320px, calc(100% - 40px));
	margin-right: auto;
	margin-left: auto;
}

.lipo-shop-header {
	padding-top: 30px;
}

.lipo-shop-header .page-title {
	margin: 0 0 24px;
	font-size: clamp(38px, 6vw, 72px);
	line-height: 1;
}

.lipo-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 28px;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	float: none;
	margin: 0;
}

/* Product grid */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 280px)) !important;
	justify-content: center !important;
	gap: 32px 26px !important;
	width: min(1320px, calc(100% - 40px)) !important;
	margin: 0 auto 80px !important;
	padding: 0 !important;
	list-style: none !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
	content: none !important;
}

.woocommerce ul.products li.product {
	float: none !important;
	width: 100% !important;
	max-width: 280px !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Center one product on an incomplete second row */
.woocommerce ul.products li.product:last-child:nth-child(4n + 1) {
	grid-column: 2 / span 2;
	justify-self: center;
}

/* Product card */
.lipo-product-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
}

.lipo-product-card > a {
	color: inherit;
	text-decoration: none;
}

.lipo-product-card__image {
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: #f5f5f5;
}

.lipo-product-card__image img {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.lipo-product-card:hover .lipo-product-card__image img {
	transform: scale(1.025);
}

.lipo-product-card__body {
	padding: 16px 0 12px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0;
	color: var(--lipo-ink);
	font-size: 20px;
	line-height: 1.2;
}

.lipo-product-card__excerpt {
	margin-top: 8px;
	color: var(--lipo-muted);
	font-size: 14px;
	line-height: 1.55;
}

.woocommerce ul.products li.product .price {
	margin-top: 10px;
	color: #7c7f1a;
	font-size: 16px;
}

.lipo-product-card__action {
	margin-top: auto;
}

.lipo-product-card__action .button {
	border-radius: 999px;
}

/* Tablet */
@media (max-width: 1024px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.woocommerce ul.products li.product {
		max-width: 300px !important;
	}

	.woocommerce ul.products li.product:last-child:nth-child(2n + 1) {
		grid-column: 1 / -1;
		justify-self: center;
	}
}

/* Mobile */
@media (max-width: 600px) {
	.lipo-shop-toolbar {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.woocommerce ul.products {
		grid-template-columns: minmax(0, 340px) !important;
	}

	.woocommerce ul.products li.product {
		max-width: 340px !important;
	}

	.woocommerce ul.products li.product:last-child {
		grid-column: auto !important;
	}
}

/* Single */
.lipo-product-shell{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:28px 0 90px}
.lipo-product-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:60px;align-items:start;}
.lipo-product-gallery .woocommerce-product-gallery{float:none!important;width:100%!important;margin:0!important}
.lipo-product-gallery .woocommerce-product-gallery__image img{width:100%;height:auto;object-fit:contain}
.lipo-product-gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:14px!important}
.lipo-product-gallery .flex-control-thumbs li{float:none!important;width:auto!important}
.lipo-product-eyebrow{margin:0 0 4px;color:var(--lipo-muted);font-size:13px}
.lipo-product-summary .product_title{margin:0;color:var(--lipo-ink);font-size:clamp(34px,4vw,54px);line-height:1.02}
.lipo-product-brand{margin:7px 0;color:var(--lipo-muted);font-size:13px}
.lipo-product-price{margin-top:10px}
.lipo-promo-banner{margin:24px 0}
.lipo-promo-banner img,.lipo-intro-banner img{display:block;width:100%;height:auto;border-radius:10px}
.lipo-short-description{margin:18px 0;color:var(--lipo-muted);line-height:1.65}
.lipo-purchase-controls form.cart{margin-top:24px}
.lipo-purchase-controls table.variations{width:100%;margin:0 0 18px}
.lipo-purchase-controls table.variations th,.lipo-purchase-controls table.variations td{display:block;width:100%;padding:0;text-align:left}
.lipo-purchase-controls table.variations label{display:block;margin-bottom:7px}
.lipo-purchase-controls table.variations select,.lipo-purchase-controls .qty{min-height:48px;padding:10px 14px;border:1px solid var(--lipo-line);border-radius:9px;background:#fff}
.lipo-purchase-controls .quantity{margin-right:10px!important}
.lipo-purchase-controls .single_add_to_cart_button,.lipoderma-buy-now-button,.lipo-gated-cta{
	min-width:168px;min-height:48px;padding:13px 25px!important;border:0!important;border-radius:999px!important;
	color:#fff!important;font-weight:600!important;text-align:center
}
.lipo-purchase-controls .single_add_to_cart_button{background:var(--lipo-dark-button)!important}
.lipoderma-buy-now-button{margin-right:10px!important;background:var(--lipo-soft)!important}
.lipo-gated-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--lipo-accent)!important;text-decoration:none}
.lipo-gate-single{margin:18px 0}
.lipo-gate-single p{margin:0 0 12px;color:#4a5a78}
.gated-price{color:var(--lipo-muted);font-size:14px}

/* Tabs */
.lipo-tab-navigation{display:flex;gap:28px;overflow-x:auto;border-bottom:1px solid var(--lipo-line)}
.lipo-tab-button{appearance:none;padding:14px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--lipo-muted);font:inherit;white-space:nowrap;cursor:pointer}
.lipo-tab-button.is-active{border-bottom-color:var(--lipo-accent);color:var(--lipo-accent)}
.lipo-tab-panel{padding-top:34px}
.lipo-tab-panel[hidden]{display:none!important}
.lipo-description-intro{margin:32px 0;font-size:16px;line-height:1.7}
.lipo-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:45px 0;text-align:center}
.lipo-stat-item{display:flex;flex-direction:column;align-items:center}
.lipo-stat-image{width:108px;height:108px;border-radius:50%;object-fit:cover}
.lipo-stat-number{margin-top:12px;font-size:30px;line-height:1}
.lipo-stat-label{margin-top:6px;color:var(--lipo-muted);font-size:13px}
.lipo-product-quote{max-width:720px;margin:60px auto;text-align:center}
.lipo-product-quote blockquote{margin:0 0 16px;color:#999;font-style:italic}
.lipo-product-quote p{font-size:18px;font-weight:700}
.lipo-main-video{margin-top:65px}
.lipo-video-frame iframe,.lipo-video-frame video{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}

/* Training */
.lipo-training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.lipo-training-card{overflow:hidden;border:1px solid var(--lipo-line);border-radius:9px;background:#fff}
.lipo-training-thumbnail{position:relative;overflow:hidden;aspect-ratio:16/9;background:#eee}
.lipo-training-thumbnail img{width:100%;height:100%;object-fit:cover}
.lipo-video-lock{position:absolute;inset:0;display:grid;place-items:center;background:rgba(15,20,25,.58)}
.lipo-video-lock span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(90,95,105,.88)}
.lipo-training-card-content{padding:18px}
.lipo-training-card-content h3{margin:0 0 8px;font-size:17px}
.lipo-training-card-content p{color:var(--lipo-muted);font-size:14px}
.lipo-watch-video{display:inline-flex;padding:10px 18px;border-radius:999px;background:var(--lipo-ink);color:#fff;text-decoration:none}

/* Education */
.lipo-secondary-tab-navigation{gap:0;margin-top:50px}
.lipo-secondary-tab-navigation .lipo-tab-button{min-width:120px;padding:10px 18px;border:1px solid var(--lipo-line);border-bottom:0;color:var(--lipo-ink);font-size:12px;text-transform:uppercase}
.lipo-secondary-tab-navigation .lipo-tab-button.is-active{border-color:var(--lipo-ink);background:var(--lipo-ink);color:#fff}
.lipo-education-panel{padding:38px;border:1px solid var(--lipo-line)}
.lipo-education-panel h2{margin-top:0;font-size:32px}
.lipo-education-panel details{border-bottom:1px solid var(--lipo-line)}
.lipo-education-panel summary{padding:17px 8px;font-weight:600;cursor:pointer}
.lipo-education-panel details p{padding:0 8px 17px}
.lipo-pdf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.lipo-pdf-link{display:flex;align-items:center;gap:13px;color:var(--lipo-ink)}
.lipo-pdf-icon{display:inline-grid;place-items:center;width:38px;height:48px;flex:0 0 38px;border:2px solid #ef5c57;color:#ef5c57;font-size:10px}
.lipo-comparison-section{margin-top:78px;text-align:center}
.lipo-comparison-section>p{max-width:720px;margin:16px auto 34px;color:var(--lipo-muted);line-height:1.65}
.lipo-comparison-scroll{overflow-x:auto}
.lipo-comparison-scroll img{display:block;width:100%;min-width:900px;height:auto}

@media(max-width:1024px){
	.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
	.lipo-product-top{grid-template-columns:1fr;gap:34px}
	.lipo-stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
	.lipo-shop-toolbar{align-items:flex-start;flex-direction:column;gap:14px}
	.woocommerce ul.products{grid-template-columns:1fr}
	.lipo-product-shell{width:min(100% - 28px,1320px)}
	.lipo-product-gallery .flex-control-thumbs{grid-template-columns:repeat(4,1fr)}
	.lipo-purchase-controls .quantity{float:none!important;margin-bottom:12px!important}
	.lipo-purchase-controls .single_add_to_cart_button,.lipoderma-buy-now-button{width:100%;margin:0 0 10px!important}
	.lipo-stat-grid{gap:24px 14px}
	.lipo-stat-image{width:82px;height:82px}
	.lipo-training-grid,.lipo-pdf-grid{grid-template-columns:1fr}
	.lipo-education-panel{padding:24px 18px}
	.lipo-comparison-scroll img{min-width:720px}
}

/* =========================================================
   YLift-style single-product gallery
   ========================================================= */

.single-product .lipo-product-top {
	display: grid;
	grid-template-columns: minmax(0, 58%) minmax(360px, 42%);
	gap: 55px;
	align-items: start;
	margin-bottom: -90px !important;
	padding: 0px;
}

/* WooCommerce gallery container */
.single-product .lipo-product-gallery .woocommerce-product-gallery {
	display: grid !important;
	grid-template-columns: 68px minmax(0, 1fr);
	grid-template-rows: auto;
	column-gap: 22px;
	width: 100% !important;
	max-width: 100%;
	float: none !important;
	margin: 0 !important;
}

/* Main image */
.single-product .lipo-product-gallery .flex-viewport {
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	min-width: 0;
}

/* Prevent oversized main image */
.single-product
.lipo-product-gallery
.woocommerce-product-gallery__wrapper {
	margin: 0 !important;
}

.single-product
.lipo-product-gallery
.woocommerce-product-gallery__image {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 560px;
}

.single-product
.lipo-product-gallery
.woocommerce-product-gallery__image
img {
	display: block;
	width: 100% !important;
	max-width: 760px !important;
	height: 560px !important;
	margin: 0 auto !important;
	object-fit: contain !important;
}

/* Vertical thumbnails */
.single-product
.lipo-product-gallery
ol.flex-control-thumbs {
	grid-column: 1;
	grid-row: 1;
	display: flex !important;
	flex-direction: column;
	gap: 10px;
	width: 68px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	counter-reset: none !important;
	overflow: visible;
}

/* Remove theme numbering such as 1, 2, 3 */
.single-product
.lipo-product-gallery
ol.flex-control-thumbs li {
	display: block !important;
	width: 68px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	counter-increment: none !important;
}

.single-product
.lipo-product-gallery
ol.flex-control-thumbs li::before,
.single-product
.lipo-product-gallery
ol.flex-control-thumbs li::marker {
	display: none !important;
	content: none !important;
}

.single-product
.lipo-product-gallery
ol.flex-control-thumbs li img {
	display: block;
	width: 68px !important;
	height: 68px !important;
	margin: 0 !important;
	padding: 3px;
	border: 1px solid #dfe3e8;
	border-radius: 7px;
	background: #fff;
	object-fit: cover;
	opacity: 1 !important;
	cursor: pointer;
}

.single-product
.lipo-product-gallery
ol.flex-control-thumbs li img.flex-active {
	border: 2px solid #f07b61;
}

/* Zoom icon */
.single-product
.woocommerce-product-gallery__trigger {
	top: 10px !important;
	right: 10px !important;
	left: auto !important;
	z-index: 5;
}

/* =========================================================
   Quantity and buttons
   ========================================================= */

.single-product .lipo-purchase-controls form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
}

.single-product .lipo-purchase-controls .quantity {
	display: block !important;
	float: none !important;
	width: 100% !important;
	margin: 0 0 10px !important;
}

.single-product
.lipo-purchase-controls
.quantity
input.qty {
	display: block !important;
	width: 100% !important;
	max-width: 220px !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 8px 16px !important;
	border: 1px solid #dfe3e8 !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: #111 !important;
	font-size: 15px !important;
	text-align: left !important;
	opacity: 1 !important;
}

/* Buy Now first */
.single-product .lipoderma-buy-now-button {
	order: 2;
	width: 170px;
	margin: 0 !important;
	background: #f7b8a8 !important;
}

/* Add to Cart second */
.single-product
.lipo-purchase-controls
.single_add_to_cart_button {
	order: 3;
	width: 170px;
	margin: 0 !important;
	background: #858585 !important;
}

/* Keep metadata below buttons */
.single-product .product_meta {
	display: block;
	clear: both;
	margin-top: 18px;
}

/* Mobile */
@media (max-width: 900px) {
	.single-product .lipo-product-top {
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.single-product
	.lipo-product-gallery
	.woocommerce-product-gallery {
		grid-template-columns: 1fr;
	}

	.single-product
	.lipo-product-gallery
	.flex-viewport {
		grid-column: 1;
		grid-row: 1;
	}

	.single-product
	.lipo-product-gallery
	ol.flex-control-thumbs {
		grid-column: 1;
		grid-row: 2;
		flex-direction: row;
		width: 100%;
		margin-top: 12px !important;
		overflow-x: auto;
	}

	.single-product
	.lipo-product-gallery
	.woocommerce-product-gallery__image {
		min-height: 380px;
	}

	.single-product
	.lipo-product-gallery
	.woocommerce-product-gallery__image
	img {
		height: 380px !important;
	}

	.single-product .lipoderma-buy-now-button,
	.single-product
	.lipo-purchase-controls
	.single_add_to_cart_button {
		width: 100%;
	}
}

/* Center the Shop product grid */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(220px, 280px)) !important;
	justify-content: center !important;
	gap: 30px !important;
	width: min(1200px, calc(100% - 40px)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Keep each product card inside its grid column */
.woocommerce ul.products li.product {
	width: 100% !important;
	max-width: 280px !important;
	margin: 0 !important;
}



/* Tablet */
@media (max-width: 1024px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(220px, 300px)) !important;
	}
}

/* Mobile */
@media (max-width: 600px) {
	.woocommerce ul.products {
		grid-template-columns: minmax(0, 340px) !important;
	}

	.woocommerce ul.products li.product {
		max-width: 340px !important;
	}

	.woocommerce ul.products li.product:last-child {
		grid-column: auto !important;
	}
}

/* Final Shop product centering fix */
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: stretch !important;
	gap: 30px !important;

	width: min(1320px, calc(100% - 40px)) !important;
	max-width: 1320px !important;
	margin: 0 auto 80px !important;
	padding: 0 !important;

	list-style: none !important;
}

body.woocommerce-shop ul.products::before,
body.woocommerce-shop ul.products::after,
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
	flex: 0 1 280px !important;

	float: none !important;
	width: 280px !important;
	max-width: 280px !important;
	margin: 0 !important;
	padding: 0 !important;

	grid-column: auto !important;
	justify-self: auto !important;
}

/* Tablet */
@media (max-width: 1024px) {
	body.woocommerce-shop ul.products li.product,
	body.post-type-archive-product ul.products li.product,
	body.tax-product_cat ul.products li.product,
	body.tax-product_tag ul.products li.product {
		flex-basis: 300px !important;
		width: 300px !important;
		max-width: 300px !important;
	}
}

/* Mobile */
@media (max-width: 600px) {
	body.woocommerce-shop ul.products,
	body.post-type-archive-product ul.products,
	body.tax-product_cat ul.products,
	body.tax-product_tag ul.products {
		width: calc(100% - 28px) !important;
		gap: 24px !important;
	}

	body.woocommerce-shop ul.products li.product,
	body.post-type-archive-product ul.products li.product,
	body.tax-product_cat ul.products li.product,
	body.tax-product_tag ul.products li.product {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 360px !important;
	}
}

/* Standard description for products outside the Lipoderma category */
.lipo-standard-description {
	margin-top: 50px;
}

.lipo-standard-description__content {
	padding-top: 34px;
	color: var(--lipo-muted);
	font-size: 16px;
	line-height: 1.75;
}

.lipo-standard-description__content > :first-child {
	margin-top: 0;
}

.lipo-standard-description__content > :last-child {
	margin-bottom: 0;
}

/* =========================================================
   Consistent quantity and buttons for variable products
   ========================================================= */

.single-product
.lipo-purchase-controls
.woocommerce-variation-add-to-cart {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 170px));
	gap: 12px;
	align-items: center;
	margin-top: 18px;
}

/* Quantity occupies its own row */
.single-product
.lipo-purchase-controls
.woocommerce-variation-add-to-cart
.quantity {
	grid-column: 1 / -1;
	grid-row: 1;
	width: 100% !important;
	max-width: 220px;
	margin: 0 0 8px !important;
}

/* Correct quantity input */
.single-product
.lipo-purchase-controls
.woocommerce-variation-add-to-cart
.quantity
input.qty {
	display: block !important;
	width: 100% !important;
	max-width: 220px !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 8px 16px !important;
	border: 1px solid #dfe3e8 !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: #111 !important;
	font-size: 15px !important;
	text-align: left !important;
}

/* Buy Now button */
.single-product
.lipo-purchase-controls
.woocommerce-variation-add-to-cart
.lipoderma-buy-now-button {
	grid-column: 1;
	grid-row: 2;
	width: 170px !important;
	margin: 0 !important;
	background: #f7b8a8 !important;
}

/* Add to Cart button */
.single-product
.lipo-purchase-controls
.woocommerce-variation-add-to-cart
.single_add_to_cart_button {
	grid-column: 2;
	grid-row: 2;
	width: 170px !important;
	margin: 0 !important;
	background: #858585 !important;
}

/* Prevent the general form rule from disturbing variable products */
.single-product
.lipo-purchase-controls
form.variations_form.cart {
	display: block !important;
}

/* Remove the incorrect Quantity label above the variation dropdown */
.single-product
.lipo-purchase-controls
form.variations_form.cart::before {
	display: none !important;
	content: none !important;
}

/* Variation dropdown */
.single-product
.lipo-purchase-controls
form.variations_form
table.variations {
	width: 100%;
	margin-bottom: 18px;
}

.single-product
.lipo-purchase-controls
form.variations_form
table.variations select {
	width: 100% !important;
	max-width: 220px;
	height: 48px;
}

/* Mobile */
@media (max-width: 600px) {
	.single-product
	.lipo-purchase-controls
	.woocommerce-variation-add-to-cart {
		grid-template-columns: 1fr;
	}

	.single-product
	.lipo-purchase-controls
	.woocommerce-variation-add-to-cart
	.quantity,
	.single-product
	.lipo-purchase-controls
	.woocommerce-variation-add-to-cart
	.lipoderma-buy-now-button,
	.single-product
	.lipo-purchase-controls
	.woocommerce-variation-add-to-cart
	.single_add_to_cart_button {
		grid-column: 1;
		width: 100% !important;
		max-width: none !important;
	}

	.single-product
	.lipo-purchase-controls
	.woocommerce-variation-add-to-cart
	.quantity {
		grid-row: 1;
	}

	.single-product
	.lipo-purchase-controls
	.woocommerce-variation-add-to-cart
	.lipoderma-buy-now-button {
		grid-row: 2;
	}

	.single-product
	.lipo-purchase-controls
	.woocommerce-variation-add-to-cart
	.single_add_to_cart_button {
		grid-row: 3;
	}
}