/* ==========================================================================
   Formal Peptides — Product card image fit (v1.10.10)
   Fill card edge-to-edge · no letterboxing · homepage + shop + all grids
   ========================================================================== */

.product-card__image-wrap {
	position: relative;
	width: 100%;
	padding: 0 !important;
	margin: 0;
	aspect-ratio: 1 / 1 !important;
	min-height: 0 !important;
	max-height: none !important;
	height: auto !important;
	overflow: hidden !important;
	background: #eef3f8 !important;
	display: block !important;
	border-radius: 16px 16px 0 0 !important;
	box-sizing: border-box !important;
	line-height: 0;
}

.product-card:hover .product-card__image-wrap {
	background: #e8f0f6 !important;
}

.product-card__image-wrap img,
.product-card__image,
.product-card__image-wrap .attachment-fp-product-card,
.product-card__image-wrap .wp-post-image {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: none !important;
	display: block !important;
	object-fit: cover !important;
	object-position: center center !important;
	transform: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
}

.product-card:hover .product-card__image,
.product-card:hover .product-card__image-wrap img {
	transform: none !important;
}

/* All product grids */
.home-page .product-card__image-wrap,
.fp-page-shop .product-card__image-wrap,
.woocommerce ul.products .product-card__image-wrap,
.woocommerce-page .product-card__image-wrap,
.product-section .product-card__image-wrap {
	padding: 0 !important;
	aspect-ratio: 1 / 1 !important;
}

@media (max-width: 767px) {
	.product-card__image-wrap {
		min-height: 0 !important;
		aspect-ratio: 1 / 1 !important;
		padding: 0 !important;
	}

	.product-card__image-wrap img,
	.product-card__image {
		object-fit: cover !important;
	}

	.product-grid,
	.home-page .product-grid,
	.fp-page-shop .product-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: clamp(10px, 2.5vw, 14px);
	}
}

/* Category icons */
.category-card__icon-wrap {
	min-width: 96px;
	min-height: 96px;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.category-card__icon-wrap .fp-icon {
	width: 44px !important;
	height: 44px !important;
	display: block !important;
	color: var(--fp-navy-900);
}

/* Button underlines off */
a.btn,
a.btn:hover,
a.btn:focus,
a.btn:active,
a.btn:visited,
button.btn,
.product-card__footer a,
.product-card__footer a:hover {
	text-decoration: none !important;
}
/* ==========================================================================
   Shop toolbar + product card spacing (v1.10.11)
   ========================================================================== */

.shop-toolbar {
	align-items: center !important;
	padding: 12px 16px !important;
	margin-bottom: var(--fp-space-5) !important;
	gap: 12px 16px !important;
}

.shop-toolbar .woocommerce-ordering,
.shop-toolbar .woocommerce-result-count {
	margin: 0 !important;
	float: none !important;
}

.shop-toolbar__search {
	flex: 0 1 260px !important;
	margin: 0 !important;
}

.product-card__body {
	padding: 14px 14px 8px !important;
	gap: 4px !important;
}

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

.product-card__price {
	padding-top: 6px !important;
}

.product-card__footer .btn,
.product-card__select-btn {
	white-space: nowrap !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
}

@media (max-width: 767px) {
	.shop-toolbar {
		padding: 12px 14px !important;
		margin-bottom: var(--fp-space-4) !important;
		gap: 10px !important;
	}

	.shop-toolbar__left {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 8px !important;
	}

	.shop-toolbar__search {
		flex: 0 0 auto !important;
		max-width: none !important;
		width: 100% !important;
	}

	.product-card__body {
		padding: 12px 12px 6px !important;
	}

	.product-card__footer {
		padding: 0 12px 10px !important;
	}
}