/* ==========================================================================
   WooCommerce — classic shortcode templates (cart, checkout, my-account,
   single product fallback). The theme forces WooCommerce's pages to use the
   classic [woocommerce_cart] / [woocommerce_checkout] / [woocommerce_my_account]
   shortcodes instead of the block-based Cart/Checkout (see
   ahulearn_force_classic_wc_shortcodes() in inc/woocommerce-hooks.php) since
   this theme has no block/theme.json support — the block versions render
   with broken widths and no styling without it. This file themes the
   classic, server-rendered markup those shortcodes output.
   ========================================================================== */

.woocommerce {
	max-width: 100%;
	color: var(--color-text-primary);
}

.woocommerce a { color: var(--color-accent-light); }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	background: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	border-inline-start: 3px solid var(--color-accent);
	border-radius: var(--radius-md);
	padding: var(--space-4) var(--space-6);
	margin-bottom: var(--space-6);
	list-style: none;
	color: var(--color-text-primary);
}
.woocommerce-error { border-inline-start-color: var(--color-error); }
.woocommerce-message .button,
.woocommerce-error .button { margin-inline-start: var(--space-4); }

/* Tables — cart, checkout review order, my-account orders */
.woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse;
	background: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
	margin-bottom: var(--space-6);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: var(--space-4);
	border-bottom: 1px solid var(--color-border);
	text-align: start;
	font-size: var(--text-sm);
}
.woocommerce table.shop_table th {
	color: var(--color-text-secondary);
	font-weight: 600;
	background: var(--color-bg-tertiary);
}
.woocommerce table.shop_table tr:last-child td { border-bottom: none; }
.woocommerce td.product-name a { color: var(--color-text-primary); font-weight: 600; }
.woocommerce td.product-remove a.remove {
	color: var(--color-error);
	display: inline-flex; align-items: center; justify-content: center;
	width: 28px; height: 28px; border-radius: var(--radius-full);
	text-decoration: none; font-size: var(--text-lg);
}
.woocommerce td.product-remove a.remove:hover { background: rgba(239,68,68,.12); }
.woocommerce td.product-thumbnail img { max-width: 64px; border-radius: var(--radius-sm); }

/* Quantity input */
.woocommerce .quantity .qty,
.woocommerce input.qty {
	width: 70px; padding: var(--space-2) var(--space-3);
	background: var(--color-bg-primary); border: 1px solid var(--color-border);
	border-radius: var(--radius-sm); color: var(--color-text-primary); font-family: inherit;
}

/* Buttons — match the theme's .btn look */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
	background: var(--color-accent); color: #fff; border: none;
	padding: var(--space-3) var(--space-6); border-radius: var(--radius-full);
	font-weight: 600; font-size: var(--text-base); font-family: inherit;
	cursor: pointer; transition: all var(--transition-fast); text-decoration: none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--color-accent-light); transform: translateY(-2px); }
.woocommerce a.button.alt,
.woocommerce #place_order {
	background: var(--color-accent);
	width: 100%;
}
.woocommerce a.checkout-button { font-size: var(--text-lg); padding: var(--space-4) var(--space-8); }

/* Cart totals box */
.woocommerce-cart-form { margin-bottom: var(--space-8); }
.cart_totals {
	background: var(--color-bg-secondary); border: 1px solid var(--color-border);
	border-radius: var(--radius-lg); padding: var(--space-6); max-width: 420px; margin-inline-start: auto;
}
.cart_totals h2 { font-size: var(--text-xl); margin-bottom: var(--space-4); }
.cart_totals table { width: 100%; }
.cart_totals table th,
.cart_totals table td { padding: var(--space-3) 0; border-bottom: 1px solid var(--color-border); background: transparent; }
.cart_totals .order-total .woocommerce-Price-amount { font-size: var(--text-xl); font-weight: 800; color: var(--color-accent-light); }
.wc-proceed-to-checkout { margin-top: var(--space-4); }
.wc-proceed-to-checkout .checkout-button { width: 100%; text-align: center; }

/* Coupon form */
.woocommerce-cart-form .coupon { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-6); }
.woocommerce-cart-form .coupon input#coupon_code {
	background: var(--color-bg-primary); border: 1px solid var(--color-border); border-radius: var(--radius-sm);
	padding: var(--space-3) var(--space-4); color: var(--color-text-primary); font-family: inherit;
}

/* Checkout form fields */
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading { font-size: var(--text-xl); margin-bottom: var(--space-4); }
.woocommerce-billing-fields .form-row,
.woocommerce-additional-fields .form-row,
.woocommerce-shipping-fields .form-row { margin-bottom: var(--space-4); }
.woocommerce-billing-fields label,
.woocommerce-additional-fields label,
.woocommerce form .form-row label { display: block; margin-bottom: var(--space-2); font-size: var(--text-sm); color: var(--color-text-secondary); }
.woocommerce form .input-text,
.woocommerce form textarea,
.woocommerce form select,
.woocommerce-checkout select.select2-hidden-accessible + .select2-container .select2-selection {
	width: 100%; padding: var(--space-3) var(--space-4);
	background: var(--color-bg-primary); border: 1px solid var(--color-border); border-radius: var(--radius-md);
	color: var(--color-text-primary); font-family: inherit; font-size: var(--text-base);
}
.woocommerce form .input-text:focus,
.woocommerce form textarea:focus,
.woocommerce form select:focus { outline: none; border-color: var(--color-accent); }
#order_review,
.woocommerce-checkout-review-order {
	background: var(--color-bg-secondary); border: 1px solid var(--color-border);
	border-radius: var(--radius-lg); padding: var(--space-6);
}
.payment_methods { list-style: none; padding: 0; border-top: 1px solid var(--color-border); margin-top: var(--space-4); }
.payment_methods li { padding: var(--space-4) 0; border-bottom: 1px solid var(--color-border); }
.payment_box { background: var(--color-bg-primary); border-radius: var(--radius-md); padding: var(--space-4); margin-top: var(--space-3); font-size: var(--text-sm); color: var(--color-text-secondary); }

/* My Account */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.woocommerce-MyAccount-navigation li a {
	display: block; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md);
	color: var(--color-text-secondary); text-decoration: none; background: var(--color-bg-secondary);
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover { background: var(--color-bg-tertiary); color: var(--color-text-primary); }
.woocommerce-MyAccount-content { background: var(--color-bg-secondary); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6); margin-top: var(--space-6); }
@media (min-width: 768px) {
	.woocommerce-account .ahulearn-page-content { display: grid; grid-template-columns: 220px 1fr; gap: var(--space-8); align-items: start; }
	.woocommerce-MyAccount-content { margin-top: 0; }
}

/* Order received / thank-you (classic) */
.woocommerce-order-overview { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-6); background: var(--color-bg-secondary); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6); margin-bottom: var(--space-6); }
.woocommerce-order-overview li { font-size: var(--text-sm); color: var(--color-text-secondary); }
.woocommerce-order-overview li strong { display: block; color: var(--color-text-primary); font-size: var(--text-base); margin-top: var(--space-1); }

/* Empty cart state */
.woocommerce-cart .cart-empty { font-size: var(--text-lg); margin-bottom: var(--space-4); }
.woocommerce-cart .return-to-shop { margin-bottom: var(--space-12); }

/* Responsive: stack the cart table on narrow screens instead of overflowing */
@media (max-width: 640px) {
	.woocommerce table.shop_table thead { display: none; }
	.woocommerce table.shop_table tr { display: block; padding: var(--space-4) 0; border-bottom: 1px solid var(--color-border); }
	.woocommerce table.shop_table td { display: flex; justify-content: space-between; border-bottom: none; padding: var(--space-2) 0; }
	.cart_totals { max-width: 100%; }
}
