.playpop-product-card {
	position: relative;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	min-inline-size: 0;
	block-size: 100%;
	overflow: hidden;
	direction: rtl;
	color: #243229;
	background: #fff;
	border: 1px solid rgb(46 125 50 / 10%);
	border-radius: 1.25rem;
	box-shadow: 0 0.35rem 1.25rem rgb(29 78 35 / 7%);
	font-family: var(--playpop-font-family-base);
	text-align: start;
	transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.playpop-product-card__media {
	position: relative;
	min-inline-size: 0;
	margin: 0.65rem 0.65rem 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 18%, rgb(255 214 64 / 42%), transparent 35%),
		linear-gradient(145deg, #f3faee, #fff8dc 52%, #edf8f1);
	border-radius: 0.95rem;
	isolation: isolate;
}

.playpop-product-card__media-link {
	display: block;
	overflow: hidden;
	color: inherit;
	border-radius: inherit;
	text-decoration: none;
}

.playpop-product-card__image,
.playpop-product-card__image-placeholder {
	display: block;
	inline-size: 100%;
	block-size: auto;
	min-block-size: 10rem;
	aspect-ratio: 1;
	object-fit: cover;
	transition: transform 380ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.playpop-product-card__image-placeholder {
	position: relative;
	background: linear-gradient(145deg, #e8f5e9, #fff4c6);
}

.playpop-product-card__image-placeholder > span {
	position: absolute;
	inset: 30%;
	background: rgb(255 255 255 / 74%);
	border: 1px solid rgb(46 125 50 / 12%);
	border-radius: 50%;
	box-shadow: 0 0.5rem 1.5rem rgb(46 125 50 / 8%);
}

.playpop-product-badges {
	position: absolute;
	inset-block-start: 0.65rem;
	inset-inline: 0.65rem;
	z-index: 3;
	block-size: 0;
	pointer-events: none;
}

.playpop-product-badges__age,
.playpop-product-badges__promos {
	position: absolute;
	inset-block-start: 0;
	display: flex;
	max-inline-size: calc(50% - 0.2rem);
}

.playpop-product-badges__age {
	inset-inline-start: 0;
}

.playpop-product-badges__promos {
	inset-inline-end: 0;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.3rem;
}

.playpop-product-age-badge,
.playpop-product-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 1.9rem;
	max-inline-size: 100%;
	padding: 0.25rem 0.65rem;
	overflow: hidden;
	border: 1px solid transparent;
	border-radius: var(--playpop-radius-pill);
	box-shadow: 0 0.35rem 0.9rem rgb(37 72 40 / 10%);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.35;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.playpop-product-age-badge {
	color: #355d2f;
	background: rgb(255 244 184 / 94%);
	border-color: rgb(226 177 28 / 25%);
}

.playpop-product-badge--orange,
.playpop-product-badge--yellow {
	color: #8a3d17;
	background: linear-gradient(135deg, rgb(255 230 153 / 96%), rgb(255 195 148 / 96%));
	border-color: rgb(234 88 12 / 16%);
}

.playpop-product-badge--green {
	color: #27632b;
	background: rgb(232 245 233 / 96%);
	border-color: rgb(46 125 50 / 18%);
}

.playpop-product-badge--blue { color: #185a8d; background: rgb(227 242 253 / 96%); }
.playpop-product-badge--pink { color: #9c315c; background: rgb(252 231 243 / 96%); }
.playpop-product-badge--purple { color: #6d3a9c; background: rgb(243 232 255 / 96%); }
.playpop-product-badge--teal { color: #176c66; background: rgb(220 252 247 / 96%); }

.playpop-product-card__body {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-inline-size: 0;
	padding: 0.85rem 1rem 1rem;
}

.playpop-product-card__title {
	display: -webkit-box;
	min-block-size: 3.65rem;
	margin: 0 0 0.55rem;
	overflow: hidden;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.8;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.playpop-product-card__title a {
	color: #243229;
	text-decoration: none;
	transition: color 160ms ease;
}

.playpop-product-card__title a:hover,
.playpop-product-card__title a:focus-visible {
	color: #2e7d32;
}

.playpop-product-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.65rem;
	min-block-size: 1.8rem;
	margin-block-end: 0.7rem;
}

.playpop-product-card__brand {
	display: inline-flex;
	align-items: center;
	min-block-size: 1.65rem;
	padding-inline: 0.65rem;
	color: #77512b;
	background: #fff5d6;
	border: 1px solid rgb(223 177 47 / 15%);
	border-radius: var(--playpop-radius-pill);
	font-size: 0.72rem;
	font-weight: 750;
}

.playpop-product-card__stock {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: #607067;
	font-size: 0.76rem;
	font-weight: 700;
}

.playpop-product-card__stock-dot {
	flex: 0 0 auto;
	inline-size: 0.48rem;
	block-size: 0.48rem;
	background: #9ca3af;
	border-radius: 50%;
	box-shadow: 0 0 0 0.2rem rgb(156 163 175 / 12%);
}

.playpop-product-card__stock--instock { color: #2e7d32; }
.playpop-product-card__stock--instock .playpop-product-card__stock-dot { background: #43a047; box-shadow: 0 0 0 0.2rem rgb(67 160 71 / 12%); }
.playpop-product-card__stock--onbackorder { color: #a16207; }
.playpop-product-card__stock--onbackorder .playpop-product-card__stock-dot { background: #eab308; box-shadow: 0 0 0 0.2rem rgb(234 179 8 / 12%); }
.playpop-product-card__stock--outofstock { color: #b23b3b; }
.playpop-product-card__stock--outofstock .playpop-product-card__stock-dot { background: #dc5a5a; box-shadow: 0 0 0 0.2rem rgb(220 90 90 / 12%); }

.playpop-product-card__footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.7rem;
	margin-block-start: auto;
	padding-block-start: 0.75rem;
	border-block-start: 1px dashed rgb(46 125 50 / 14%);
}

.playpop-product-card__price {
	min-block-size: 2.1rem;
	margin: 0;
	color: #2e7d32;
	font-size: 0.95rem;
	font-weight: 850;
	line-height: 1.7;
}

.playpop-product-card__price del {
	display: inline-block;
	margin-inline-end: 0.35rem;
	color: #9aa49e;
	font-size: 0.78em;
	font-weight: 550;
	opacity: 1;
}

.playpop-product-card__price ins {
	color: #e35f32;
	font-size: 1.08em;
	font-weight: 900;
	text-decoration: none;
}

.playpop-product-card__price .woocommerce-Price-currencySymbol {
	margin-inline-start: 0.18rem;
	font-size: 0.82em;
}

.playpop-product-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	inline-size: 100%;
	min-block-size: 2.8rem;
	padding-inline: 0.7rem;
	color: #fff;
	background: linear-gradient(135deg, #2e7d32, #43a047 58%, #67ad4c);
	border: 1px solid rgb(255 214 64 / 32%);
	border-radius: 0.8rem;
	box-shadow: 0 0.55rem 1.1rem rgb(46 125 50 / 19%);
	font: inherit;
	font-size: 0.83rem;
	font-weight: 850;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
	transition: box-shadow 180ms ease, filter 180ms ease, transform 180ms ease;
}

.playpop-product-card__cta svg {
	flex: 0 0 auto;
	inline-size: 1.15rem;
	block-size: 1.15rem;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

.playpop-product-card__cta-label--mobile {
	display: none;
}

.playpop-product-card__cta:hover,
.playpop-product-card__cta:focus-visible {
	color: #fff;
	box-shadow: 0 0.75rem 1.45rem rgb(46 125 50 / 27%);
	filter: saturate(1.12) brightness(1.03);
	transform: translateY(-1px);
}

.playpop-product-card__cta:disabled {
	cursor: not-allowed;
	filter: grayscale(0.4);
	opacity: 0.7;
}

.playpop-product-card:hover {
	border-color: rgb(46 125 50 / 24%);
	box-shadow: 0 1rem 2.4rem rgb(29 78 35 / 12%);
	transform: translateY(-4px);
}

.playpop-product-card:hover .playpop-product-card__image {
	transform: scale(1.055);
}

.woocommerce ul.products li.product.playpop-product-loop-item {
	min-inline-size: 0;
	padding: 0;
	overflow: visible;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.woocommerce ul.products li.product.playpop-product-loop-item:hover {
	box-shadow: none;
	transform: none;
}

.woocommerce ul.products li.product.playpop-product-loop-item .playpop-product-card__cta {
	margin: 0;
	color: #fff;
	background: linear-gradient(135deg, #2e7d32, #43a047 58%, #67ad4c);
	border-radius: 0.8rem;
	font-family: var(--playpop-font-family-base);
}

.added_to_cart.wc-forward {
	display: none !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
	padding: var(--playpop-space-sm);
	overflow: hidden;
	background: #fff;
	border: 1px solid rgb(46 125 50 / 10%);
	border-radius: 1rem;
	box-shadow: 0 0.25rem 1rem rgb(29 78 35 / 6%);
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
	inline-size: 100%;
	aspect-ratio: 1;
	border-radius: 0.8rem;
	object-fit: cover;
}

.wc-block-grid__product-onsale {
	color: #8a3d17;
	background: #ffe9a8;
	border: 1px solid rgb(234 88 12 / 16%);
	border-radius: var(--playpop-radius-pill);
	font-family: var(--playpop-font-family-base);
}

.wc-block-grid__product-add-to-cart .wp-block-button__link {
	color: #fff;
	background: linear-gradient(135deg, #2e7d32, #43a047);
	border-radius: 0.8rem;
	font-family: var(--playpop-font-family-base);
	font-weight: 800;
}

.playpop-cart-toast {
	position: fixed;
	inset-inline-end: var(--playpop-space-md);
	inset-block-end: calc(4.25rem + env(safe-area-inset-bottom));
	z-index: 1200;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: var(--playpop-space-xs) var(--playpop-space-md);
	inline-size: min(calc(100% - 2rem), 25rem);
	padding: var(--playpop-space-md);
	color: #173426;
	background: rgb(234 246 232 / 90%);
	border: 1px solid rgb(82 164 71 / 24%);
	border-radius: 1rem;
	box-shadow: 0 1rem 2.5rem rgb(23 34 28 / 18%);
	backdrop-filter: blur(14px);
	opacity: 0;
	transform: translateY(1rem);
	transition: opacity 220ms ease, transform 220ms ease;
}

.woocommerce-message:has([data-playpop-add-to-cart-notice]),
.woocommerce-notice--success:has([data-playpop-add-to-cart-notice]) { display: none; }
.playpop-cart-toast.is-visible { opacity: 1; transform: translateY(0); }
.playpop-cart-toast__icon { grid-column: 1; grid-row: 1 / span 2; display: grid; place-items: center; align-self: start; inline-size: 2rem; block-size: 2rem; color: #fff; background: #2e7d32; border-radius: 50%; font-weight: 900; }
.playpop-cart-toast p { grid-column: 2; margin: 0; font-size: var(--playpop-font-size-small); font-weight: 700; }
.playpop-cart-toast a { grid-column: 2; color: #2e7d32; font-size: var(--playpop-font-size-small); font-weight: 800; }
.playpop-cart-toast__close { grid-column: 3; grid-row: 1 / span 2; align-self: start; inline-size: 2rem; block-size: 2rem; padding: 0; color: var(--playpop-text-secondary); background: rgb(255 255 255 / 55%); border: 0; border-radius: var(--playpop-radius-pill); font: inherit; cursor: pointer; }

@media (min-width: 48rem) {
	.playpop-cart-toast { inset-block-end: calc(var(--playpop-space-md) + env(safe-area-inset-bottom)); }
}

@media (max-width: 47.99rem) {
	.playpop-woocommerce-archive.container,
	.playpop-age-products.container,
	.playpop-search-page > .container {
		width: 100% !important;
		inline-size: 100% !important;
		max-width: 100% !important;
		max-inline-size: 100% !important;
		padding-right: 12px !important;
		padding-left: 12px !important;
		margin: 0 auto !important;
	}

	.woocommerce ul.products,
	ul.products,
	.products-grid,
	.product-card-grid,
	.playpop-archive-product-grid:not(.playpop-archive-product-grid--list),
	.playpop-search-results__products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

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

	.woocommerce ul.products > li.product.playpop-product-loop-item,
	ul.products > li.product.playpop-product-loop-item,
	.products-grid > .product,
	.products-grid > .product-card,
	.product-card-grid > .product,
	.product-card-grid > .product-card,
	.playpop-archive-product-grid:not(.playpop-archive-product-grid--list) > .playpop-product-card,
	.playpop-search-results__products > .playpop-product-card {
		float: none !important;
		clear: none !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.playpop-product-card {
		border-radius: 1rem;
	}

	.playpop-product-card__media {
		margin: 0.25rem 0.25rem 0;
		border-radius: 0.78rem;
	}

	.playpop-product-card__image,
	.playpop-product-card__image-placeholder {
		min-block-size: 0;
		aspect-ratio: 1 / 1;
	}

	.playpop-product-card__body {
		padding: 0.5rem;
	}

	.playpop-product-card__title {
		display: -webkit-box;
		min-block-size: 2.3rem;
		margin-block-end: 0.4rem;
		overflow: hidden;
		font-size: 0.88rem;
		line-height: 1.3;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.playpop-product-card__meta {
		gap: 0.3rem;
		min-block-size: 1.5rem;
		margin-block-end: 0.45rem;
	}

	.playpop-product-card__brand,
	.playpop-product-card__stock {
		font-size: 0.64rem;
	}

	.playpop-product-card__brand {
		max-inline-size: 55%;
		min-block-size: 1.4rem;
		padding-inline: 0.45rem;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.playpop-product-age-badge,
	.playpop-product-badge {
		height: auto;
		min-block-size: 0;
		padding: 2px 8px;
		border-radius: 20px;
		font-size: 0.72rem;
		line-height: 1.5;
		white-space: nowrap;
	}

	.playpop-product-badges {
		inset-block-start: 0.4rem;
		inset-inline: 0.4rem;
	}

	.playpop-product-badges__age,
	.playpop-product-badges__promos {
		z-index: 1;
		max-inline-size: calc(50% - 0.25rem);
	}

	.playpop-product-badges__age {
		inset-inline-start: 0;
		inset-inline-end: auto;
	}

	.playpop-product-badges__promos {
		inset-inline-start: auto;
		inset-inline-end: 0;
	}

	.playpop-product-card__footer {
		gap: 0.45rem;
		padding-block-start: 0.5rem;
	}

	.playpop-product-card__price {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		min-block-size: 2rem;
		overflow: hidden;
		font-size: 0.82rem;
		line-height: 1.45;
		white-space: nowrap;
	}

	.playpop-product-card__price del,
	.playpop-product-card__price ins,
	.playpop-product-card__price .woocommerce-Price-amount,
	.playpop-product-card__price bdi {
		max-inline-size: 100%;
		white-space: nowrap;
	}

	.playpop-product-card__price del {
		margin-inline-end: 0;
		font-size: 0.75em;
	}

	.playpop-product-card__price ins {
		font-size: 1em;
	}

	.playpop-product-card__cta {
		inline-size: 100%;
		min-block-size: 2.25rem;
		block-size: 2.25rem;
		padding-inline: 0.45rem;
		font-size: 0.75rem;
		white-space: nowrap;
	}

	.playpop-product-card__cta-label--full {
		display: none;
	}

	.playpop-product-card__cta-label--mobile {
		display: inline;
	}
}

@media (min-width: 64rem) {
	.playpop-cart-toast { inset-block-end: var(--playpop-space-xl); }
}

@media (prefers-reduced-motion: reduce) {
	.playpop-product-card,
	.playpop-product-card__image,
	.playpop-product-card__cta,
	.playpop-cart-toast {
		transition-duration: 0.01ms;
	}

	.playpop-product-card:hover,
	.playpop-product-card__cta:hover {
		transform: none;
	}
}
