/**
 * Catch-all for WooCommerce core-rendered fragments that our template
 * overrides don't touch directly — notices, the cart coupon form, star
 * ratings, generic quantity inputs from third-party plugin output (YITH,
 * etc.). Without this, any fragment WooCommerce/plugins render outside our
 * own templates falls back to stock markup with zero premium styling,
 * which is exactly what makes a "customized" theme still read as default
 * WooCommerce underneath.
 */

/* Notices (success/error/info) — used by cart, checkout, my-account, quote requests */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-noreviews {
	list-style: none;
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-4);
	border-radius: var(--radius-md);
	font-size: var(--text-sm);
	margin-bottom: var(--space-4);
}
.woocommerce-message {
	background: var(--color-success-bg);
	color: var(--color-success);
}
.woocommerce-error {
	background: var(--color-danger-bg);
	color: var(--color-danger);
}
.woocommerce-info,
.woocommerce-noreviews {
	background: var(--color-brand-50);
	color: var(--color-brand-800);
}
.woocommerce-message a.button,
.woocommerce-error a.button,
.woocommerce-info a.button {
	border-radius: var(--radius-full);
	background: var(--color-primary);
	color: var(--color-on-primary);
	padding: var(--space-2) var(--space-4);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	margin-inline-start: auto;
}

/* Any bare WooCommerce button that isn't already one of our .afripacka-btn */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-full);
	background: var(--color-primary);
	color: var(--color-on-primary);
	border: none;
	padding: var(--space-3) var(--space-5);
	font-weight: var(--weight-semibold);
	min-height: 48px;
	transition: transform var(--duration-fast) var(--ease-standard);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background: var(--color-primary-hover);
	transform: translateY(-1px);
}
.woocommerce a.button.loading,
.woocommerce button.button.loading {
	opacity: 0.6;
}

/* Coupon form on the cart page */
.woocommerce-form-coupon {
	display: flex;
	gap: var(--space-2);
	align-items: flex-start;
}
.woocommerce-form-coupon .form-row {
	margin-bottom: 0;
}
.woocommerce-form-coupon input#coupon_code {
	min-height: 44px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: var(--space-2) var(--space-3);
}

/* Star ratings (reviews, related products) */
.star-rating {
	color: var(--color-brand-500);
	font-size: var(--text-sm);
}
.star-rating::before {
	color: var(--color-neutral-300);
}

/* Generic quantity input rendered by a plugin without our .afripacka-qty wrapper */
.woocommerce .quantity .qty {
	min-height: 44px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	text-align: center;
	width: 64px;
}

/* Tables WooCommerce renders itself (order details, downloads) */
.woocommerce table.shop_table {
	border-collapse: collapse;
	width: 100%;
	font-size: var(--text-sm);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: var(--space-3) var(--space-4);
	border-bottom: 1px solid var(--color-border);
	text-align: left;
}
html[dir="rtl"] .woocommerce table.shop_table th,
html[dir="rtl"] .woocommerce table.shop_table td {
	text-align: right;
}

/* Password strength meter, misc form widgets */
.woocommerce-password-strength {
	border-radius: var(--radius-sm);
	font-size: var(--text-xs);
	padding: var(--space-2);
}
