/**
 * Putushart — Wishlist Page
 */

/* ---------------------------------------------------------
   Page
--------------------------------------------------------- */

.putushart-wishlist-page{
	padding:48px 0 80px;
	background:#ffffff;
}

.putushart-wishlist-page .container{
	max-width:1320px;
	margin:0 auto;
	padding:0 20px;
}

/* ---------------------------------------------------------
   Header
--------------------------------------------------------- */

.putushart-wishlist-page__header{
	margin-bottom:36px;
}

.putushart-wishlist-page__eyebrow{
	display:block;
	margin-bottom:6px;

	font-size:14px;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;

	color:#8250bd;
}

.putushart-wishlist-page__title{
	margin:0;

	font-size:42px;
	font-weight:700;
	line-height:1.2;

	color:#222222;
}

/* ---------------------------------------------------------
   Grid
--------------------------------------------------------- */

.putushart-wishlist-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:32px;
}

/* ---------------------------------------------------------
   Card
--------------------------------------------------------- */

.putushart-wishlist-card{
	position:relative;

	display:flex;
	flex-direction:column;

	min-width:0;

	background:#ffffff;

	transition:
		transform .3s ease,
		box-shadow .3s ease;
}

.putushart-wishlist-card:hover{
	transform:translateY(-6px);
}

/* ---------------------------------------------------------
   Product Image
--------------------------------------------------------- */

.putushart-wishlist-card__image{
	position:relative;

	display:flex;
	align-items:center;
	justify-content:center;

	width:100%;
	aspect-ratio:1 / 1;

	padding:8px;

	overflow:hidden;

	background:#f7f7f5;
	border-radius:8px;

	text-decoration:none;
}

.putushart-wishlist-card__image img{
	display:block;

	width:100%;
	height:100%;

	object-fit:contain;
	object-position:center;

	transition:transform .35s ease;
}

.putushart-wishlist-card:hover
.putushart-wishlist-card__image img{
	transform:scale(1.04);
}

/* ---------------------------------------------------------
   Content
--------------------------------------------------------- */

.putushart-wishlist-card__content{
	position:relative;

	display:flex;
	flex-direction:column;

	flex:1;

	padding:20px 0 0;
}

/* ---------------------------------------------------------
   Title
--------------------------------------------------------- */

.putushart-wishlist-card__title{
	min-height:54px;

	margin:0 0 12px;

	font-size:18px;
	font-weight:600;
	line-height:1.45;

	color:#2f2f2f;
}

.putushart-wishlist-card__title a{
	color:inherit;
	text-decoration:none;
}

.putushart-wishlist-card__title a:hover{
	color:#8250bd;
}

/* ---------------------------------------------------------
   Price
--------------------------------------------------------- */

.putushart-wishlist-card__price{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:7px;

	margin:0;

	font-size:21px;
	font-weight:700;
	line-height:1.25;

	color:#8250bd;
}

.putushart-wishlist-card__price del{
	font-size:17px;
	font-weight:500;

	color:#9b8540;

	opacity:.85;
}

.putushart-wishlist-card__price ins{
	text-decoration:none;

	color:#8250bd;
}

/* ---------------------------------------------------------
   Wishlist Heart
--------------------------------------------------------- */

.putushart-wishlist-card
.putushart-wishlist-button{
	position:absolute;

	right:12px;
	bottom:12px;

	z-index:5;

	display:flex;
	align-items:center;
	justify-content:center;

	width:42px;
	height:42px;

	padding:0;

	border:1px solid #e6e6e6;
	border-radius:50%;

	background:#ffffff;

	cursor:pointer;

	box-shadow:0 6px 18px rgba(0,0,0,.10);

	transition:
		transform .2s ease,
		box-shadow .2s ease;
}

.putushart-wishlist-card
.putushart-wishlist-button:hover{
	transform:translateY(-2px);

	box-shadow:0 9px 22px rgba(0,0,0,.14);
}

.putushart-wishlist-card
.putushart-wishlist-heart{
	display:flex;
	align-items:center;
	justify-content:center;
}

.putushart-wishlist-card
.putushart-wishlist-heart svg{
	display:block;

	width:24px;
	height:24px;
}

.putushart-wishlist-card
.putushart-wishlist-heart path{
	fill:#e91d3f !important;
	stroke:#e91d3f !important;

	stroke-width:1.8;

	transition:
		fill .2s ease,
		stroke .2s ease;
}

.putushart-wishlist-card
.putushart-wishlist-button.is-loading{
	pointer-events:none;
	opacity:.6;
}

/* ---------------------------------------------------------
   Empty Wishlist
--------------------------------------------------------- */

.putushart-wishlist-empty{
	max-width:620px;

	margin:60px auto;
	padding:60px 32px;

	text-align:center;

	background:#fafafa;

	border:1px solid #ececec;
	border-radius:16px;

	box-shadow:0 10px 28px rgba(0,0,0,.04);
}

.putushart-wishlist-empty__icon{
	margin-bottom:18px;

	font-size:64px;
	line-height:1;

	color:#8250bd;
}

.putushart-wishlist-empty h2{
	margin:0 0 12px;

	font-size:28px;
	font-weight:700;

	color:#222222;
}

.putushart-wishlist-empty p{
	max-width:460px;

	margin:0 auto 26px;

	font-size:16px;
	line-height:1.7;

	color:#666666;
}

.putushart-wishlist-empty__button{
	display:inline-flex;
	align-items:center;
	justify-content:center;

	min-height:50px;

	padding:0 30px;

	border:0;
	border-radius:999px;

	background:#8250bd !important;
	color:#ffffff !important;

	font-size:15px;
	font-weight:600;

	text-decoration:none !important;

	transition:
		background-color .25s ease,
		transform .25s ease,
		box-shadow .25s ease;
}

.putushart-wishlist-empty__button:hover{
	background:#7041a7 !important;

	transform:translateY(-2px);

	box-shadow:0 10px 24px rgba(130,80,189,.22);
}

/* ---------------------------------------------------------
   Responsive
--------------------------------------------------------- */

@media (max-width:1024px){

	.putushart-wishlist-grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:26px;
	}

}

@media (max-width:768px){

	.putushart-wishlist-page{
		padding-top:36px;
	}

	.putushart-wishlist-page__title{
		font-size:36px;
	}

	.putushart-wishlist-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:24px 18px;
	}

}

@media (max-width:480px){

	.putushart-wishlist-page{
		padding:28px 0 56px;
	}

	.putushart-wishlist-page .container{
		padding:0 16px;
	}

	.putushart-wishlist-page__header{
		margin-bottom:26px;
	}

	.putushart-wishlist-page__title{
		font-size:30px;
	}

	.putushart-wishlist-grid{
		grid-template-columns:1fr;
		gap:30px;
	}

	.putushart-wishlist-card{
		max-width:420px;
		width:100%;

		margin:0 auto;
	}

	.putushart-wishlist-empty{
		margin:36px auto;
		padding:44px 22px;
	}

}

.putushart-wishlist-card__media{
	position:relative;
}

.putushart-wishlist-card__media
.putushart-wishlist-button{
	right:14px;
	bottom:14px;
}

/* ---------------------------------------------------------
   Wishlist Final Card Polish
--------------------------------------------------------- */

.putushart-wishlist-card__media{
	position:relative;
	width:100%;
}

/* Badge */

.putushart-wishlist-badge{
	position:absolute;
	top:14px;
	left:14px;
	z-index:6;

	display:inline-flex;
	align-items:center;
	justify-content:center;

	min-width:88px;
	height:34px;
	padding:0 17px;

	border-radius:999px;

	color:#fff;

	font-size:12px;
	font-weight:700;
	letter-spacing:.07em;
	text-transform:uppercase;

	box-shadow:0 7px 18px rgba(0,0,0,.12);
}

.putushart-wishlist-badge--sale{
	background:#22c55e;
}

.putushart-wishlist-badge--soldout{
	background:#2f2f2f;
}

/* Make all cards finish evenly */

.putushart-wishlist-card__content{
	display:flex;
	flex-direction:column;
	flex:1;
}

.putushart-wishlist-card__title{
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:3;

	min-height:78px;

	overflow:hidden;
}

/* Actions */

.putushart-wishlist-card__actions{
	margin-top:auto;
	padding-top:22px;

	text-align:center;
}

.putushart-wishlist-card__button{
	display:inline-flex !important;
	align-items:center;
	justify-content:center;

	min-width:128px;
	min-height:48px;

	margin:0 !important;
	padding:0 26px !important;

	border:0 !important;
	border-radius:999px !important;

	background:#8250bd !important;
	color:#fff !important;

	font-size:14px !important;
	font-weight:600 !important;
	line-height:1 !important;

	text-decoration:none !important;

	transition:
		background-color .25s ease,
		transform .25s ease,
		box-shadow .25s ease;
}

.putushart-wishlist-card__button:hover{
	background:#7041a7 !important;
	color:#fff !important;

	transform:translateY(-2px);

	box-shadow:0 10px 24px rgba(130,80,189,.22);
}

/* ---------------------------------------------------------
   Wishlist AJAX Add-to-Cart Success
--------------------------------------------------------- */

/* Hide WooCommerce's automatic View cart link */
.putushart-wishlist-page
.added_to_cart.wc-forward{
	display:none !important;
}

/* Show success tick on the button */
.putushart-wishlist-card__button.added::after{
	content:"✓";

	display:inline-flex;
	align-items:center;
	justify-content:center;

	margin-left:8px;

	font-size:16px;
	font-weight:700;
	line-height:1;

	color:#ffffff;
}

/* Slight visual confirmation */
.putushart-wishlist-card__button.added{
	background:#7041a7 !important;
}

/* ---------------------------------------------------------
   Wishlist Add-to-Cart Loading — Shop Style
--------------------------------------------------------- */

.putushart-wishlist-card__button.loading{
	position:relative;
	opacity:.55;
	pointer-events:none;
}

.putushart-wishlist-card__button.loading::after{
	content:"";
	position:absolute;

	top:50%;
	right:12px;

	width:14px;
	height:14px;

	margin-top:-7px;

	border:2px solid rgba(255,255,255,.45);
	border-top-color:#ffffff;
	border-radius:50%;

	animation:putushart-wishlist-spin .65s linear infinite;
}

@keyframes putushart-wishlist-spin{
	to{
		transform:rotate(360deg);
	}
}

/* ---------------------------------------------------------
   Empty Wishlist — Broken Heart
--------------------------------------------------------- */

.putushart-wishlist-empty__icon{
    width:70px;
    height:70px;

    margin:0 auto 24px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.putushart-wishlist-empty__icon svg{
    width:70px;
    height:70px;

    fill:none;
    stroke:#e5484d;
    stroke-width:3.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}