/* Pawradise × WooCommerce — product cards, prices and shop polish. */

/* Product grid (homepage "Bakery products" block, shop pages that use the classic loop) */
.paw-products .woocommerce, .paw-products { width: 100%; }
.paw-products ul.products,
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2.4vw, 2rem) clamp(.75rem, 2vw, 1.75rem);
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
.paw-products ul.products::before, .paw-products ul.products::after,
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.paw-products ul.products li.product,
.woocommerce ul.products li.product {
	width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important;
	display: flex; flex-direction: column; position: relative; text-align: left;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { text-decoration: none; color: inherit; display: block; }
.woocommerce ul.products li.product a img,
.paw-products ul.products li.product a img {
	width: 100%; aspect-ratio: 1; object-fit: cover; margin: 0 0 .9rem !important;
	border-radius: 24px; background: var(--wp--preset--color--pink);
	transition: transform .6s var(--paw-ease), box-shadow .4s;
}
.woocommerce ul.products li.product:hover a img { transform: translateY(-4px) rotate(-.6deg); box-shadow: 0 22px 40px -24px rgba(43, 27, 21, .45); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--heading) !important;
	font-size: clamp(1.05rem, 1.4vw, 1.25rem) !important; font-weight: 560; line-height: 1.2;
	padding: 0 !important; margin: 0 0 .35rem !important;
}
.woocommerce ul.products li.product .price {
	color: var(--wp--preset--color--accent) !important; font-weight: 700; font-size: 1rem !important;
	display: block; margin: 0 0 .9rem !important;
}
.woocommerce ul.products li.product .price del { color: var(--wp--preset--color--contrast-2); opacity: .7; font-weight: 400; margin-right: .3rem; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .star-rating { font-size: .8rem; margin: 0 0 .4rem !important; color: #e3a008; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	margin-top: auto !important; align-self: flex-start;
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .65rem 1.2rem !important; border-radius: 999px !important;
	background: transparent !important; color: var(--wp--preset--color--contrast) !important;
	border: 2px solid var(--wp--preset--color--contrast) !important;
	font-family: var(--wp--preset--font-family--body); font-weight: 700 !important; font-size: .85rem !important; line-height: 1.2 !important;
	text-decoration: none; transition: background .2s, color .2s, transform .2s;
}
.woocommerce ul.products li.product .button:hover {
	background: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--base) !important; transform: translateY(-2px);
}
.woocommerce ul.products li.product .added_to_cart { border-color: transparent !important; text-decoration: underline; padding-left: .2rem !important; }
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	position: absolute; top: .75rem; left: .75rem; right: auto; z-index: 2; margin: 0 !important;
	min-width: 0; min-height: 0; width: 3.6rem; height: 3.6rem; line-height: 1; display: grid; place-items: center;
	padding: 0; border-radius: 50%; background: var(--wp--preset--color--butter) !important; color: var(--wp--preset--color--contrast) !important;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: .85rem; transform: rotate(-12deg);
	box-shadow: var(--wp--preset--shadow--sticker);
}

@media (max-width: 1000px) {
	.paw-products ul.products, .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.paw-products ul.products, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce ul.products li.product .button { padding: .55rem .9rem !important; font-size: .8rem !important; }
}

/* Block-based product grids (shop, category pages) */
.wc-block-product-template .wc-block-components-product-image img,
.wp-block-woocommerce-product-image img { border-radius: 24px; }
.wc-block-components-product-price, .wp-block-woocommerce-product-price { color: var(--wp--preset--color--accent); font-weight: 700; }
.wp-block-post-title a { text-decoration: none; }
.wc-block-components-product-sale-badge { border-radius: 999px !important; background: var(--wp--preset--color--butter) !important; color: var(--wp--preset--color--contrast) !important; border: 0 !important; font-weight: 700; }

/* Single product */
.woocommerce div.product .product_title, .wp-block-post-title { font-family: var(--wp--preset--font-family--heading); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--wp--preset--color--accent); font-weight: 700; font-size: 1.5rem; }
.woocommerce div.product div.images img, .woocommerce-product-gallery__image img { border-radius: 24px; }
.woocommerce div.product form.cart .button, .wc-block-components-button:not(.is-link), .wp-block-woocommerce-product-button .wp-block-button__link {
	border-radius: 999px !important; font-weight: 700;
}
.woocommerce .quantity .qty { border-radius: 999px; border: 1.5px solid var(--wp--preset--color--line); padding: .6rem .4rem; min-height: 48px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .6rem; align-items: stretch; }
.woocommerce div.product form.cart .button { min-height: 48px; padding-inline: 2rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 999px 999px 0 0; }

/* Notices */
.woocommerce-message, .woocommerce-info, .wc-block-components-notice-banner { border-radius: 16px !important; }

/* Cart & checkout inputs */
.wc-block-components-text-input input, .wc-block-components-combobox .components-form-token-field__input, .wc-blocks-components-select__select { border-radius: 12px !important; }
