/**
 * Putushart — WooCommerce Single Product
 * Desktop product main section
 */

/* ---------------------------------------------------------
   1. Page container
--------------------------------------------------------- */

.single-product main,
.single-product .site-main {
	max-width: 1440px;
	margin: 0 auto;
	padding-left: 48px;
	padding-right: 48px;
}


/* ---------------------------------------------------------
   2. Breadcrumb
--------------------------------------------------------- */

.single-product .woocommerce-breadcrumb {
	margin: 20px 0 28px;
	padding: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #777;
}

.single-product .woocommerce-breadcrumb a {
	color: #666;
	text-decoration: none;
	transition: color 0.2s ease;
}

.single-product .woocommerce-breadcrumb a:hover {
	color: var(--color-primary, #7f4ab5);
}


/* ---------------------------------------------------------
   3. Main product layout
--------------------------------------------------------- */

.single-product div.product{

    display:grid;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(0,0.92fr);

    gap:56px;

    align-items:start;

}

.single-product div.product > *{

    float:none !important;

    clear:none !important;

    width:auto !important;

    max-width:none !important;

    min-width:0;

}

.single-product div.product::before,
.single-product div.product::after {
	display: none;
}


/* ---------------------------------------------------------
   4. Product gallery
--------------------------------------------------------- */

.single-product div.product div.images {
	float: none;
	width: 100%;
	margin: 0;
}

.single-product div.product .woocommerce-product-gallery{

    grid-column:1;

    width:100% !important;

    max-width:none !important;

}

.single-product .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.single-product .woocommerce-product-gallery__image {
	display: flex !important;
	align-items: center;
	justify-content: center;

	height: 560px;
	padding: 24px;

	overflow: hidden;

	background: #ffffff;

	border: 1px solid #ececec;
	border-radius: 14px;

	box-shadow: 0 10px 28px rgba(0,0,0,.05);

	transition:
		transform .35s ease,
		box-shadow .35s ease,
		border-color .30s ease;
}

.single-product .woocommerce-product-gallery__image:hover {

	transform: translateY(-2px);

	box-shadow: 0 18px 40px rgba(0,0,0,.08);

	border-color: #e2d6f3;
}

.single-product .woocommerce-product-gallery__image a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

/* ---------------------------------------------------------
   Main product gallery image
--------------------------------------------------------- */

.single-product .woocommerce-product-gallery__image {
	height: 560px;
	overflow: hidden;
	background: #f7f7f5;
}

.single-product .woocommerce-product-gallery__image > a {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;
}

.single-product .woocommerce-product-gallery__image > a > img {
	display: block;

	width: auto !important;
	height: auto !important;

	max-width: 100% !important;
	max-height: 100% !important;

	margin: auto;

	object-fit: contain;
	object-position: center;
}


/* WooCommerce native hover zoom.
   WooCommerce controls the zoom image dimensions and position. */

.single-product .woocommerce-product-gallery__image > .zoomImg {
	max-width: none !important;
	max-height: none !important;

	object-fit: initial !important;
}

/* ---------------------------------------------------------
   Product tabs / lower product content
--------------------------------------------------------- */

.single-product div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	clear: both;
	float: none;
	width: 100%;
	max-width: none;
	margin: 24px 0 0;
	padding: 0;
}

.single-product div.product .woocommerce-tabs::before,
.single-product div.product .woocommerce-tabs::after {
	content: "";
	display: table;
}

.single-product div.product .woocommerce-tabs::after {
	clear: both;
}

/* =========================================================
   PRODUCT TABS NAVIGATION
   ========================================================= */

.single-product div.product .woocommerce-tabs ul.tabs {
    display: flex;
    align-items: flex-end;
    gap: 36px;

    margin: 0 0 34px !important;
    padding: 0 !important;

    border: 0 !important;
    border-bottom: 2px solid #dddddd !important;

    list-style: none;
    overflow: visible;
}

/* Individual tab */
.single-product div.product .woocommerce-tabs ul.tabs li {
    position: relative;

    margin: 0 !important;
    padding: 0 0 14px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
}

/* Tab text */
.single-product div.product .woocommerce-tabs ul.tabs li a {
    display: block;

    padding: 0 !important;

    font-weight: 600;
    color: #333333;

    text-decoration: none;
}

/* Remove WooCommerce default tab decorations */
.single-product div.product .woocommerce-tabs ul.tabs::before,
.single-product div.product .woocommerce-tabs ul.tabs::after,
.single-product div.product .woocommerce-tabs ul.tabs li::before {
    display: none !important;
}

/* Active tab purple line */
.single-product div.product .woocommerce-tabs ul.tabs li.active::after {
    content: "" !important;

    display: block !important;

    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;

    width: 100%;
    height: 4px;

    background: #8250bd !important;

    border: 0 !important;
    border-radius: 2px 2px 0 0 !important;
    box-shadow: none !important;

    z-index: 5;
}

/* Hover only */
.single-product div.product .woocommerce-tabs ul.tabs li:not(.active) a:hover {
    color: #8250bd !important;
}


/* ---------------------------------------------------------
   Product tab content
--------------------------------------------------------- */

.single-product div.product .woocommerce-tabs .panel {
    margin: 0;
    padding: 0 0 20px;
    color: #444;
}

.single-product div.product .woocommerce-tabs .panel > h2:first-child {
	margin: 0 0 18px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
	color: #222;
}

.single-product div.product .woocommerce-tabs .panel p {
	max-width: 820px;
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.75;
	color: #4d4d4d;
}


/* ---------------------------------------------------------
   5. Product summary
--------------------------------------------------------- */

.single-product div.product .summary{

    grid-column:2;

    width:100% !important;

    max-width:none !important;

    min-width:0;

    margin:0;

    padding:0;

}

.single-product .product_title{

	margin:0 0 18px;

	font-size:42px;
	font-weight:700;

	line-height:1.18;

	letter-spacing:-0.03em;

	color:#222222;

	word-break:break-word;

	text-rendering:optimizeLegibility;
}


/* ---------------------------------------------------------
   6. Price
--------------------------------------------------------- */

.single-product div.product p.price,
.single-product div.product span.price{

	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:12px;

	margin:0 0 28px;

	font-size:34px;
	font-weight:700;

	line-height:1.1;

	color:#8a6b00;

	letter-spacing:-0.02em;
}

.single-product div.product p.price del,
.single-product div.product span.price del{

	font-size:22px;

	font-weight:500;

	color:#999;

	opacity:.75;
}

.single-product div.product p.price ins,
.single-product div.product span.price ins{

	text-decoration:none;

	color:#8250bd;

	font-weight:700;
}

/* ---------------------------------------------------------
   6. Product Short Description
   ---------------------------------------------------------
   Premium typography for WooCommerce short description.

   Features:
   • Better readability
   • Comfortable reading width
   • Improved spacing
   • ThemeForest-quality typography
--------------------------------------------------------- */

.single-product .woocommerce-product-details__short-description {

	/* Layout */
	width: 100%;
	max-width: 520px;

	/* Spacing */
	margin: 0 0 24px;

	/* Typography */
	font-size: 17px;
	font-weight: 400;
	line-height: 1.85;
	letter-spacing: 0.01em;

	color: #555555;

	/* Better font rendering */
	text-rendering: optimizeLegibility;
}

/* ---------------------------------------------------------
   Paragraphs
--------------------------------------------------------- */

.single-product .woocommerce-product-details__short-description p {

	margin: 0 0 18px;
}

/* Remove bottom margin from last paragraph */

.single-product .woocommerce-product-details__short-description p:last-child {

	margin-bottom: 0;
}

/* ---------------------------------------------------------
   Lists
   Supports future product descriptions containing
   unordered or ordered lists.
--------------------------------------------------------- */

.single-product .woocommerce-product-details__short-description ul,
.single-product .woocommerce-product-details__short-description ol {

	margin: 18px 0 18px 22px;
	padding: 0;
}

/* Individual list items */

.single-product .woocommerce-product-details__short-description li {

	margin-bottom: 10px;
	line-height: 1.8;
}

/* ---------------------------------------------------------
   Links
   Brand-colored links with elegant hover transition.
--------------------------------------------------------- */

.single-product .woocommerce-product-details__short-description a {

	color: #8250bd;
	font-weight: 500;

	text-decoration: none;

	border-bottom: 1px solid transparent;

	transition:
		color .30s ease,
		border-color .30s ease;
}

.single-product .woocommerce-product-details__short-description a:hover,
.single-product .woocommerce-product-details__short-description a:focus-visible {

	color: #6f3fa4;
	border-color: #6f3fa4;

	outline: none;
}




/* ---------------------------------------------------------
   7. Premium Add to Cart Area
   ---------------------------------------------------------
   ThemeForest-quality WooCommerce Add to Cart section.

   Features
   • Premium layout
   • Better spacing
   • Premium quantity field
   • Elegant button
   • Accessible focus states
   • Smooth hover animations
--------------------------------------------------------- */

.single-product div.product form.cart {

	/* Layout */
	display: flex;
	align-items: center;
	gap: 16px;

	width: 100%;
	max-width: 560px;

	margin: 0 0 32px;
	padding: 20px 0;

	border-top: 1px solid #ececec;
	border-bottom: 1px solid #ececec;
}

/* ---------------------------------------------------------
   Quantity Wrapper
--------------------------------------------------------- */

.single-product div.product form.cart .quantity {

	flex: 0 0 82px;
	margin: 0;
}

/* ---------------------------------------------------------
   Premium Quantity Input
--------------------------------------------------------- */

.single-product div.product form.cart .qty {

	width: 82px;
	height: 56px;

	padding: 0;

	border: 1px solid #dddddd;
	border-radius: 10px;

	background: #ffffff;

	font-size: 18px;
	font-weight: 600;

	text-align: center;

	color: #333333;

	box-sizing: border-box;

	transition:
		border-color .30s ease,
		box-shadow .30s ease,
		background-color .30s ease;
}

/* Hover */

.single-product div.product form.cart .qty:hover {

	border-color: #c7c7c7;
}

/* Keyboard Focus */

.single-product div.product form.cart .qty:focus {

	outline: none;

	border-color: #8250bd;

	box-shadow: 0 0 0 4px rgba(130,80,189,.15);
}

/* ---------------------------------------------------------
   Premium Add to Cart Button
--------------------------------------------------------- */

.single-product div.product form.cart .single_add_to_cart_button {

	display: inline-flex;

	align-items: center;
	justify-content: center;

	flex: 1;

	height: 56px;

	margin: 0;
	padding: 0 36px;

	border: 0;
	border-radius: 10px;

	background: #8250bd;

	color: #ffffff;

	font-size: 17px;
	font-weight: 600;

	line-height: 1;

	cursor: pointer;

	transition:
		background-color .30s ease,
		transform .25s ease,
		box-shadow .30s ease;
}

/* Hover */

.single-product div.product form.cart .single_add_to_cart_button:hover {

	background: #7041a7;

	transform: translateY(-2px);

	box-shadow: 0 12px 28px rgba(130,80,189,.25);
}

/* Active */

.single-product div.product form.cart .single_add_to_cart_button:active {

	transform: translateY(0);
}

/* Keyboard Focus */

.single-product div.product form.cart .single_add_to_cart_button:focus-visible {

	outline: none;

	box-shadow:
		0 0 0 4px rgba(130,80,189,.18),
		0 10px 24px rgba(130,80,189,.20);
}

/* ---------------------------------------------------------
   8. Premium Product Meta
   ---------------------------------------------------------
   ThemeForest-quality WooCommerce product meta.

   Features
   • Better spacing
   • Premium typography
   • Category badge
   • Future-ready for SKU & Tags
   • Accessible hover states
--------------------------------------------------------- */

.single-product .product_meta {

	/* Layout */
	margin-top: 8px;
	margin-bottom: 8px;
	padding-top: 0;

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;

	/* Typography */
	font-size: 15px;
	line-height: 1.6;
	color: #666666;
}

/* ---------------------------------------------------------
   Meta Labels
   Example:
   Category:
--------------------------------------------------------- */

.single-product .product_meta > span {

	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;

	font-size: 15px;
	font-weight: 500;

	color: #777777;
}

/* ---------------------------------------------------------
   Premium Category Badge
--------------------------------------------------------- */

.single-product .product_meta a {

	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 6px 16px;

	min-height: 34px;

	border: 1px solid #d9c8ef;
	border-radius: 999px;

	background: #f6f0fc;

	color: #8250bd;

	font-size: 14px;
	font-weight: 600;

	text-decoration: none;

	box-sizing: border-box;

	transition:
		background-color .30s ease,
		border-color .30s ease,
		color .30s ease,
		transform .25s ease;
}

/* Hover */

.single-product .product_meta a:hover {

	background: #8250bd;
	border-color: #8250bd;

	color: #ffffff;

	transform: translateY(-2px);
}

/* Keyboard Focus */

.single-product .product_meta a:focus-visible {

	outline: none;

	box-shadow: 0 0 0 4px rgba(130,80,189,.15);
}

/* ---------------------------------------------------------
   9. Product gallery thumbnails
--------------------------------------------------------- */

.single-product .woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 14px;

	margin: 20px 0 0;
	padding: 0;

	list-style: none;
	overflow-x: auto;
	overflow-y: hidden;
	
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {

	float:none !important;

	flex:0 0 84px;

	width:84px !important;
	height:84px !important;

	margin:0 !important;
	padding:8px !important;

	background:#ffffff;

	border:1px solid #e8e8e8;

	border-radius:12px;

	box-shadow:0 3px 10px rgba(0,0,0,.04);

	box-sizing:border-box;

	overflow:hidden;

	cursor:pointer;

	transition:
		transform .30s ease,
		border-color .30s ease,
		box-shadow .30s ease;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li img{

	display:block !important;

	width:100% !important;
	height:100% !important;

	object-fit:contain !important;
	object-position:center center !important;

	opacity:.72;

	transition:
		opacity .30s ease,
		transform .30s ease;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li:hover{

	transform:translateY(-3px);

	border-color:#8250bd;

	box-shadow:0 12px 26px rgba(0,0,0,.10);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li:hover img{

	opacity:1;

	transform:scale(1.04);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active){

	border-color:#8250bd;

	box-shadow:
		0 10px 22px rgba(130,80,189,.22);

	transform:scale(1.04);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active{

	opacity:1;
}



/* ==========================================================
   PRODUCT INFORMATION CARD
========================================================== */

.single-product .putushart-product-info{

    width:100%;
    max-width:none;
    min-width:0;

}

.single-product .putushart-info-card{

	width:100%;
    max-width:none;   /* try 380–420px */

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:28px;

    margin-top:22px;

    padding:28px;

    background:#fff;

    border:1px solid #ececec;

    border-radius:14px;

    box-shadow:0 8px 24px rgba(0,0,0,.05);

}

.single-product .putushart-info-item{

    display:grid;

    grid-template-columns:64px 1fr;

    column-gap:16px;

    align-items:start;

}

.single-product .putushart-info-icon{

    width:48px;

    height:48px;

    border-radius:50%;

    background:#faf6f1;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    flex-shrink:0;

}

.single-product .putushart-info-item h4{

    margin:0 0 8px;

    font-size:17px;

    font-weight:600;

    color:#222;

    line-height:1.3;

}

.single-product .putushart-info-item p{

    margin:0;

    font-size:15px;

    line-height:1.7;

    color:#666;

}



/* ==========================================================
   RELATED PRODUCTS
   Isolated from main Shop product grid
   ========================================================== */

.single-product div.product > .related.products {
	grid-column: 1 / -1;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 8px 0 72px;
	padding-top: 28px;
	border-top: 1px solid #e7e7e7;
	box-sizing: border-box;
}


/* Section heading */

.single-product div.product > .related.products > h2 {
	margin: 0 0 42px;
	padding: 0;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.25;
	color: #222;
}


/* Related products grid */

.single-product div.product > .related.products ul.products {
	clear: none;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 32px !important;

	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;

	list-style: none;
}


/* Remove WooCommerce clearfix */

.single-product div.product > .related.products ul.products::before,
.single-product div.product > .related.products ul.products::after {
	content: none !important;
	display: none !important;
}


/* Related product card */

.single-product div.product > .related.products ul.products li.product,
.single-product div.product > .related.products ul.products[class*="columns-"] li.product {
	position: relative;

	display: flex;
	flex-direction: column;

	align-items: center;
	text-align: center;

	float: none !important;
	clear: none !important;

	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	height: 100%;

	margin: 0 !important;
	padding: 0 !important;
}

/* Premium card hover */

.single-product div.product > .related.products ul.products li.product{

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}

.single-product div.product > .related.products ul.products li.product:hover{

    transform:translateY(-8px);

    box-shadow:0 22px 48px rgba(0,0,0,.10);

}

/* Product link */

.single-product div.product > .related.products ul.products li.product
a.woocommerce-LoopProduct-link {

    display:flex;
    flex-direction:column;

    align-items:center;

    width:100%;

    flex:1;

    color:inherit;
    text-decoration:none;
}


/* ---------------------------------------------------------
   Related product image

   Fixed visual frame + contain:
   every source image keeps its original aspect ratio.
--------------------------------------------------------- */

.single-product div.product > .related.products ul.products li.product
a.woocommerce-LoopProduct-link img {
	display: block;

	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;

	max-width: 100%;

	margin: 0 0 22px !important;
	padding: 6px !important;

	object-fit: contain !important;
	object-position: center center;

	background: #f7f7f5;
	border-radius: 4px;

	box-sizing: border-box;

	transform: none;
	box-shadow: none;
}


/* Prevent Shop hover image movement from affecting
   Related Products */

.single-product div.product > .related.products ul.products li.product:hover
a.woocommerce-LoopProduct-link img {
	 transform:scale(1.04);
}


/* Product title */

.single-product div.product > .related.products ul.products li.product
.woocommerce-loop-product__title {
	min-height: 56px;
	margin: 0 0 14px !	important;
	
	font-size: 18px;
	font-weight: 600;
	line-height: 1.45;

	text-align: center;

	letter-spacing: -.2px;
	color: #2f2f2f;
}


/* Price */

.single-product div.product > .related.products ul.products li.product .price {
	display: block;
	width: 100%;
	margin: 0 0 22px !important;


	text-align: center;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.3px;
	color: #7a6500;
}


/* Button */

.single-product div.product > .related.products ul.products li.product .button {
	align-self: center;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 48px;
	min-width: 116px;

	margin: 0 !important;
	padding: 0 28px;

	border: 0;
	border-radius: 999px;

	background: #8250bd !important;
	color: #ffffff !important;

	font-size: 14px;
	font-weight: 600;
	line-height: 1;

	text-decoration: none;

	transition:
	background-color .30s ease,
	transform .30s ease,
	box-shadow .30s ease;
}

.single-product div.product > .related.products ul.products li.product .button:hover,
.single-product div.product > .related.products ul.products li.product .button:focus-visible {
	background: #6f3fa4 !important;
	color: #ffffff !important;
	transform: translateY(-2px) scale(1.02);
	box-shadow: 0 12px 28px rgba(111, 63, 164, .25);
}



/* ==========================================================
   576px — SINGLE PRODUCT GALLERY
   ========================================================== */

@media (max-width: 576px) {

	/* Main product gallery */
	.single-product .woocommerce-product-gallery {
		max-width: 100%;
	}

	.single-product .woocommerce-product-gallery__image {
		height: 480px;
	}

	/* Gallery thumbnails */
	.single-product .woocommerce-product-gallery .flex-control-thumbs {
		gap: 8px;
		margin-top: 10px;
	}

	.single-product .woocommerce-product-gallery .flex-control-thumbs li {
		flex: 0 0 64px;

		width: 64px !important;
		height: 64px !important;
	}

	.single-product .woocommerce-product-gallery .flex-control-thumbs li img {
		width: 62px !important;
		height: 62px !important;

		max-width: 62px !important;
		max-height: 62px !important;

		padding: 3px !important;

		object-fit: contain !important;
		object-position: center center !important;
	}

	.single-product div.product div.summary {
		margin-top: 14px;
	}
}

/* =========================================================
   MOBILE PRODUCT TABS — 375px / SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .single-product div.product .woocommerce-tabs ul.tabs {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: flex-end;
        gap: 8px;

        width: 100%;
        margin: 0 0 24px !important;
        padding: 0 !important;

        overflow: visible;
    }

    .single-product div.product .woocommerce-tabs ul.tabs li {
        flex: 0 1 auto;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .single-product div.product .woocommerce-tabs ul.tabs li a {
        display: block;
        padding: 0 0 10px !important;

        font-size: 12px;
        line-height: 1.25;
        white-space: nowrap;
    }

}

/* =========================================================
   PRODUCT TABS — 320px
   ========================================================= */

@media (max-width: 340px) {

    .single-product div.product .woocommerce-tabs ul.tabs {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;

        width: 100%;
        margin: 0 0 24px !important;
        padding: 0 !important;
    }

    .single-product div.product .woocommerce-tabs ul.tabs li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .single-product div.product .woocommerce-tabs ul.tabs li a {
        display: block;
        width: 100%;
        padding: 10px 0 !important;

        font-size: 13px;
        line-height: 1.3;
        white-space: normal;
        text-align: left;
    }

}

/* ==========================================================
   PRODUCT LIGHTBOX — PRESERVE IMAGE ASPECT RATIO
   Prevent PhotoSwipe images from being visually stretched.
   ========================================================== */

.single-product .pswp__img {
    object-fit: contain !important;
    object-position: center center !important;
}

/*
 * PhotoSwipe writes width/height directly on the image.
 * On smaller screens, keep the image inside the available
 * viewport without changing its natural aspect ratio.
 */
@media (max-width: 1024px) {

    .single-product .pswp__img {
        max-width: 100vw !important;
        max-height: 100vh !important;
    }

}

/* ==========================================================
   PUTUSHART PRODUCT BADGES
   ========================================================== */

/* Base Badge */

.putushart-badge {

    position: absolute;
    top: 16px;
    left: 16px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 92px;
    height: 34px;

    padding: 0 18px;

    border-radius: 999px;

    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;

    color: #ffffff;

    z-index: 5;

    box-shadow: 0 8px 20px rgba(0,0,0,.12);

    -webkit-user-select: none; /* Safari / iOS */
	user-select: none;

}

/* Sale */

.putushart-badge--sale {

    background: #22C55E;

}

/* Sold Out */

.putushart-badge--soldout {

    background: #2F2F2F;

}

/*--------------------------------------------------------------
Single Product Wishlist
--------------------------------------------------------------*/

.single-product .putushart-wishlist-heart{
	display:flex;
	align-items:center;
	justify-content:center;
}

.single-product .putushart-wishlist-heart svg{
	display:block;
	width:26px;
	height:26px;
}

.single-product .putushart-wishlist-heart path{
	fill:#b8b8b8 !important;
	stroke:#b8b8b8 !important;
	stroke-width:1.8;
	stroke-linecap:round;
	stroke-linejoin:round;
	transition:fill .2s ease, stroke .2s ease;
}

/* Added to wishlist */
.single-product .putushart-wishlist-button.is-active
.putushart-wishlist-heart path{
	fill:#e91d3f !important;
	stroke:#e91d3f !important;
}

.single-product .putushart-wishlist-button.is-loading{
	pointer-events:none;
	opacity:.6;
}

/* ---------------------------------------------------------
   Single Product Media Wrapper
--------------------------------------------------------- */

.single-product .putushart-single-product-media{
	position:relative;
	grid-column:1;
	width:100%;
	min-width:0;
}

/* Keep gallery inside media wrapper */

.single-product .putushart-single-product-media
.woocommerce-product-gallery{
	width:100% !important;
	max-width:none !important;
	margin:0;
}

/* Wishlist position */

.single-product .putushart-single-product-media
.putushart-wishlist-button{
	position:absolute;
	top:auto;
	bottom:120px;
	right:16px;
	z-index:10;

	visibility:visible !important;
	opacity:1 !important;
	overflow:visible;

	display:flex !important;
	align-items:center;
	justify-content:center;

	width:44px;
	height:44px;

	padding:0;

	border:1px solid #e7e7e7;
	border-radius:50%;

	background:#ffffff;

	cursor:pointer;

	box-shadow:0 6px 18px rgba(0,0,0,.10);

	transition:
		transform .2s ease,
		border-color .2s ease,
		box-shadow .2s ease;
}

.single-product .putushart-single-product-media
.putushart-wishlist-button:hover{
	transform:translateY(-2px);
	border-color:#a9854f;
	box-shadow:0 8px 22px rgba(0,0,0,.14);
}

/* ---------------------------------------------------------
   Related Products — Media Wrapper + Wishlist
--------------------------------------------------------- */

.single-product .related.products .putushart-product-card-media{
	position:relative;
	width:100%;
}

/* Heart inside image area — bottom right */
.single-product .related.products
.putushart-product-card-media
.putushart-wishlist-button{
	position:absolute !important;

	top:auto !important;
	right:16px !important;
	bottom:38px !important;

	z-index:20 !important;

	width:42px;
	height:42px;

	border-radius:50%;
	border:1px solid #e7e7e7;
	background:#ffffff;

	display:flex !important;
	align-items:center;
	justify-content:center;

	box-shadow:0 6px 18px rgba(0,0,0,.10);
}

/* Sold Out / Read More button in Related Products */

.single-product div.product > .related.products
ul.products li.product
a.button.putushart-read-more-button {
    background: #a77bd4 !important;
    color: #ffffff !important;
}

.single-product div.product > .related.products
ul.products li.product
a.button.putushart-read-more-button:hover,
.single-product div.product > .related.products
ul.products li.product
a.button.putushart-read-more-button:focus-visible {
    background: #9362c5 !important;
    color: #ffffff !important;
}