/**
 * TailPlay — WooCommerce compatibility
 * Baseline overrides to align with design system. No layout overhaul.
 */

/* Container alignment */
.woocommerce .tp-container,
.woocommerce-page .tp-container {
	padding-left: var(--tp-space-lg);
	padding-right: var(--tp-space-lg);
}

/* Buttons: use design system */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-block;
	padding: var(--tp-space-sm) var(--tp-space-xl);
	font-family: var(--tp-font-body);
	font-size: var(--tp-text-base);
	font-weight: 500;
	color: var(--tp-cta-text);
	background-color: var(--tp-cta-bg);
	border: none;
	border-radius: var(--tp-radius);
	transition: box-shadow var(--tp-transition);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background-color: var(--tp-cta-bg);
	color: var(--tp-cta-text);
	box-shadow: var(--tp-shadow-md);
}

/* Product loop: baseline card alignment */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: var(--tp-space-lg);
	list-style: none;
	margin: 0 0 var(--tp-space-2xl);
	padding: 0;
}

.woocommerce ul.products li.product {
	padding: 0;
	margin: 0;
	background-color: #fff;
	border-radius: var(--tp-radius-lg);
	box-shadow: var(--tp-shadow);
	overflow: hidden;
	transition: box-shadow var(--tp-transition);
}

.woocommerce ul.products li.product:hover {
	box-shadow: var(--tp-shadow-md);
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: var(--tp-text-lg);
	font-weight: 600;
	margin: 0 0 var(--tp-space-2xs);
	color: var(--tp-heading);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title:hover {
	color: var(--tp-green);
}

.woocommerce ul.products li.product .price {
	font-size: var(--tp-text-base);
	font-weight: 600;
	color: var(--tp-green);
}

.woocommerce ul.products li.product .price del {
	color: var(--tp-text-muted);
}

/* Product image in loop */
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

/* Single product: spacing and typography */
.woocommerce div.product {
	margin-bottom: var(--tp-space-2xl);
}

.woocommerce div.product .product_title {
	font-family: var(--tp-font-body);
	font-size: var(--tp-text-2xl);
	font-weight: 600;
	color: var(--tp-heading);
}

.woocommerce div.product .price {
	font-size: var(--tp-text-xl);
	color: var(--tp-green);
}

/* Messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: var(--tp-space-md);
	border-radius: var(--tp-radius);
	border-left-width: 4px;
	border-left-style: solid;
	margin-bottom: var(--tp-space-md);
}

.woocommerce-message {
	border-left-color: var(--tp-green);
	background-color: rgba(31, 61, 43, 0.06);
}

.woocommerce-info {
	border-left-color: var(--tp-gray);
	background-color: var(--tp-bg-soft);
}

.woocommerce-error {
	border-left-color: var(--tp-accent);
	background-color: rgba(224, 122, 63, 0.08);
}

/* Form fields in checkout/cart */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	padding: var(--tp-space-sm) var(--tp-space-md);
	border: 1px solid var(--tp-border);
	border-radius: var(--tp-radius);
	font-family: var(--tp-font-body);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--tp-green);
	outline: none;
}

/* ==========================================================================
   SHOP / CATEGORY ARCHIVE
   ========================================================================== */

.tp-shop-archive__header {
	margin-bottom: var(--tp-space-xl);
}

.tp-shop-archive__title {
	color: var(--tp-green);
	font-size: var(--tp-text-2xl);
	margin: 0 0 var(--tp-space-sm);
}

.tp-shop-archive .woocommerce-products-header__title.page-title {
	font-family: var(--tp-font-display);
}

.woocommerce-result-count,
.woocommerce-ordering {
	font-size: var(--tp-text-sm);
	color: var(--tp-text-muted);
	margin-bottom: var(--tp-space-md);
}

.woocommerce-ordering select {
	padding: var(--tp-space-2xs) var(--tp-space-sm);
	border: 1px solid var(--tp-border);
	border-radius: var(--tp-radius);
	font-family: var(--tp-font-body);
}

/* Product card: premium card styling (loop) */
.tp-product-card .woocommerce-loop-product__link {
	padding: 0;
}

.tp-product-card .woocommerce-loop-category__title,
.tp-product-card .woocommerce-loop-product__title {
	padding: 0 var(--tp-space-md) var(--tp-space-2xs);
}

.tp-product-card .price {
	padding: 0 var(--tp-space-md) var(--tp-space-md);
}

.tp-product-card .button {
	margin: 0 var(--tp-space-md) var(--tp-space-md);
}

/* ==========================================================================
   SINGLE PRODUCT — two-column layout
   ========================================================================== */

.tp-single-product__layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--tp-space-2xl);
	margin-bottom: var(--tp-space-2xl);
	align-items: start;
}

@media (max-width: 768px) {
	.tp-single-product__layout {
		grid-template-columns: 1fr;
	}
}

.tp-single-product__gallery {
	position: sticky;
	top: calc(var(--tp-space-lg) + 60px);
}

@media (max-width: 768px) {
	.tp-single-product__gallery {
		position: static;
	}
}

.tp-single-product__gallery .woocommerce-product-gallery {
	margin: 0;
}

.tp-single-product__summary .product_title {
	margin-top: 0;
}

/* Star ratings on single product */
.woocommerce .tp-single-product .star-rating {
	color: var(--tp-orange);
}

.woocommerce .tp-single-product .woocommerce-product-rating {
	margin-bottom: var(--tp-space-sm);
}

/* Variations: dropdowns and table */
.woocommerce div.product form.cart .variations {
	margin-bottom: var(--tp-space-md);
}

.woocommerce div.product form.cart .variations label {
	font-weight: 500;
	color: var(--tp-text);
}

.woocommerce div.product form.cart .variations select {
	padding: var(--tp-space-sm) var(--tp-space-md);
	border: 1px solid var(--tp-border);
	border-radius: var(--tp-radius);
	font-family: var(--tp-font-body);
	min-width: 12rem;
}

.woocommerce div.product form.cart .single_variation_wrap {
	margin-top: var(--tp-space-sm);
}

/* Short description */
.woocommerce-product-details__short-description {
	margin-bottom: var(--tp-space-md);
	color: var(--tp-text);
	line-height: var(--tp-leading-normal);
}

/* Trust block (single product) */
.tp-product-trust {
	background-color: var(--tp-bg-soft);
	border-radius: var(--tp-radius-lg);
	padding: var(--tp-space-md) var(--tp-space-lg);
	margin-bottom: var(--tp-space-xl);
	border: 1px solid var(--tp-border);
}

.tp-product-trust__copy {
	margin: 0;
	font-size: var(--tp-text-sm);
	color: var(--tp-text);
}

/* Benefits block (single product) */
.tp-product-benefits {
	margin-bottom: var(--tp-space-2xl);
}

.tp-product-benefits__title {
	font-size: var(--tp-text-lg);
	font-weight: 600;
	color: var(--tp-heading);
	margin: 0 0 var(--tp-space-sm);
}

.tp-product-benefits__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tp-product-benefits__list li {
	position: relative;
	padding-left: 1.5em;
	margin-bottom: var(--tp-space-2xs);
}

.tp-product-benefits__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 6px;
	height: 6px;
	background-color: var(--tp-green);
	border-radius: 50%;
}

/* Related products section */
.tp-single-product .related.products {
	margin-top: var(--tp-space-2xl);
	padding-top: var(--tp-space-2xl);
	border-top: 1px solid var(--tp-border);
}

.tp-single-product .related.products h2 {
	font-family: var(--tp-font-display);
	font-size: var(--tp-text-xl);
	color: var(--tp-green);
	margin-bottom: var(--tp-space-md);
}

/* Tabs (description, additional info, reviews) */
.woocommerce div.product .woocommerce-tabs {
	margin-top: var(--tp-space-xl);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0 0 var(--tp-space-md);
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--tp-space-sm);
	border-bottom: 1px solid var(--tp-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: var(--tp-space-sm) 0;
	display: inline-block;
	color: var(--tp-text-muted);
	text-decoration: none;
	font-weight: 500;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--tp-green);
	border-bottom-color: var(--tp-green);
}

.woocommerce div.product .woocommerce-tabs .panel {
	padding: var(--tp-space-md) 0;
}

/* ==========================================================================
   CART
   ========================================================================== */

.tp-woocommerce-cart .woocommerce-cart-form {
	margin-bottom: var(--tp-space-2xl);
}

.tp-woocommerce-cart .cart_totals {
	background-color: var(--tp-bg-soft);
	border-radius: var(--tp-radius-lg);
	padding: var(--tp-space-lg);
	margin-bottom: var(--tp-space-xl);
}

.tp-woocommerce-cart .cart_totals h2 {
	font-size: var(--tp-text-xl);
	margin: 0 0 var(--tp-space-md);
}

.tp-woocommerce-cart table.shop_table {
	border: 1px solid var(--tp-border);
	border-radius: var(--tp-radius);
	border-collapse: collapse;
}

.tp-woocommerce-cart table.shop_table th,
.tp-woocommerce-cart table.shop_table td {
	padding: var(--tp-space-md);
	border-color: var(--tp-border);
}

.tp-woocommerce-cart .wc-proceed-to-checkout {
	margin-top: var(--tp-space-md);
}

/* ==========================================================================
   CHECKOUT
   ========================================================================== */

.tp-woocommerce-checkout .woocommerce-checkout-review-order-table {
	border: 1px solid var(--tp-border);
	border-radius: var(--tp-radius);
	overflow: hidden;
}

.tp-woocommerce-checkout .woocommerce-checkout-review-order-table th,
.tp-woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: var(--tp-space-md);
	border-color: var(--tp-border);
}

.tp-woocommerce-checkout .woocommerce-billing-fields h3,
.tp-woocommerce-checkout .woocommerce-shipping-fields h3,
.tp-woocommerce-checkout #order_review_heading {
	font-size: var(--tp-text-lg);
	margin-bottom: var(--tp-space-sm);
}

/* ==========================================================================
   MY ACCOUNT
   ========================================================================== */

.tp-woocommerce-account .woocommerce-MyAccount-navigation {
	background-color: var(--tp-bg-soft);
	border-radius: var(--tp-radius-lg);
	padding: var(--tp-space-md);
	margin-bottom: var(--tp-space-xl);
	border: 1px solid var(--tp-border);
}

.tp-woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tp-woocommerce-account .woocommerce-MyAccount-navigation li {
	margin-bottom: var(--tp-space-2xs);
}

.tp-woocommerce-account .woocommerce-MyAccount-navigation li a {
	color: var(--tp-text);
	text-decoration: none;
	font-weight: 500;
}

.tp-woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.tp-woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--tp-green);
}

.tp-woocommerce-account .woocommerce-MyAccount-content {
	padding: 0;
}
