/* =========================================================================
   Anchor — WooCommerce brand overlay
   Light-touch overrides that pull WC's default form / table / button look
   into our type system without rewriting WC's structure or breaking its
   gateway / coupon / shipping JS.
   ========================================================================= */

/* Notices */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	border: 1.5px solid;
	border-radius: 10px;
	padding: 14px 18px;
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.55;
	background: #fff;
	color: var(--brand-text);
}
.woocommerce-notices-wrapper .woocommerce-message { border-color: var(--brand-secondary); color: var(--brand-primary); }
.woocommerce-notices-wrapper .woocommerce-info    { border-color: rgba(66,27,73,0.18); }
.woocommerce-notices-wrapper .woocommerce-error   { border-color: #c93030; color: #8b2222; background: #fff7f5; }

/* Quantity input */
.woocommerce .quantity .qty {
	font-family: inherit;
	font-size: 15px;
	border: 1.5px solid rgba(66,27,73,0.15);
	border-radius: 10px;
	padding: 10px 12px;
	width: 80px;
	background: #fff;
	color: var(--brand-text);
}

/* Tables */
.woocommerce table.shop_table,
.woocommerce-cart table.cart {
	border: 0;
	border-collapse: separate;
	border-spacing: 0 8px;
	width: 100%;
	font-family: var(--font-body);
}
.woocommerce table.shop_table th {
	font-family: var(--font-body);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--brand-primary);
	font-weight: 600;
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(66,27,73,0.12);
	padding: 14px 12px;
	text-align: left;
}
.woocommerce table.shop_table td {
	background: var(--surface-soft, #faf7f4);
	border: 0;
	padding: 16px 12px;
	color: var(--brand-text);
	vertical-align: middle;
	font-size: 15px;
}
.woocommerce table.shop_table tr:first-child td:first-child  { border-top-left-radius: 10px; border-bottom-left-radius: 10px; }
.woocommerce table.shop_table tr:first-child td:last-child   { border-top-right-radius: 10px; border-bottom-right-radius: 10px; }
.woocommerce-cart-form__cart-item .product-thumbnail img { width: 56px !important; height: auto; border-radius: 6px; box-shadow: 0 4px 10px rgba(0,0,0,0.08); }
.woocommerce-cart-form__cart-item .product-name a { color: var(--brand-primary); font-weight: 500; text-decoration: none; }
.woocommerce-cart-form__cart-item .product-name a:hover { color: var(--brand-secondary); }
.woocommerce-cart-form__cart-item .remove {
	background: transparent;
	color: var(--brand-primary) !important;
	font-size: 22px;
	line-height: 1;
	width: 28px; height: 28px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1.5px solid rgba(66,27,73,0.18);
	border-radius: 50%;
	transition: all .2s var(--ease);
}
.woocommerce-cart-form__cart-item .remove:hover { background: #c93030; color: #fff !important; border-color: #c93030; }

/* Cart totals box */
.cart_totals h2,
.cross-sells h2,
.shipping_calculator h2 {
	font-family: var(--font-display);
	font-size: 18px;
	color: var(--brand-primary);
	font-weight: 500;
	letter-spacing: -0.01em;
	margin: 24px 0 12px;
}
.cart_totals .shop_table_responsive { background: var(--surface-soft); border-radius: 14px; padding: 8px; }
.cart_totals table.shop_table tr:last-child td { padding-bottom: 18px; }
.cart_totals .order-total .amount {
	font-family: var(--font-display);
	font-size: 22px;
	color: var(--brand-secondary);
	font-weight: 500;
}
.wc-proceed-to-checkout .checkout-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: var(--brand-secondary) !important;
	color: #fff !important;
	padding: 16px 28px !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	width: 100%;
	border: 0;
	transition: background-color .2s var(--ease);
}
.wc-proceed-to-checkout .checkout-button:hover { background: var(--brand-primary) !important; }

/* Buttons (Update cart, Apply coupon, etc.) */
.woocommerce .button {
	background: transparent;
	color: var(--brand-primary);
	border: 1.5px solid rgba(66,27,73,0.2);
	border-radius: 10px;
	padding: 10px 18px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: all .2s var(--ease);
	cursor: pointer;
}
.woocommerce .button:hover { background: var(--brand-primary); color: #fff; border-color: var(--brand-primary); }

/* Coupon row */
.coupon { display: inline-flex; gap: 8px; align-items: center; }
.coupon .input-text { padding: 10px 12px; border: 1.5px solid rgba(66,27,73,0.15); border-radius: 10px; font-family: inherit; font-size: 14px; }

/* Payment box on checkout */
#payment {
	background: var(--surface-soft);
	border-radius: 14px;
	padding: 18px;
}
#payment ul.payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 14px;
	border: 0;
}
#payment ul.payment_methods li {
	background: #fff;
	border: 1.5px solid rgba(66,27,73,0.1);
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 8px;
	transition: border-color .2s var(--ease);
}
#payment ul.payment_methods li:hover { border-color: var(--brand-secondary); }
#payment ul.payment_methods li label {
	font-family: var(--font-display);
	font-size: 15px;
	color: var(--brand-primary);
	font-weight: 500;
	cursor: pointer;
}
#payment .payment_box {
	background: transparent;
	font-size: 13px;
	color: var(--brand-text);
	line-height: 1.55;
	margin-top: 8px;
	padding: 8px 0 0;
	border-top: 1px dashed rgba(66,27,73,0.12);
}
#payment .payment_box::before { display: none; }

#payment .place-order { margin-top: 16px; }
#payment .place-order .button {
	background: var(--brand-secondary) !important;
	color: #fff !important;
	border-color: var(--brand-secondary) !important;
	width: 100%;
	padding: 18px !important;
	font-size: 14px !important;
}
#payment .place-order .button:hover { background: var(--brand-primary) !important; border-color: var(--brand-primary) !important; }

/* Form labels and required hint */
.woocommerce form .form-row label .required,
.woocommerce form .form-row label .optional { color: var(--brand-secondary); font-weight: 400; margin-left: 4px; }

/* Single-product page tweaks (some plugins still inject these classes) */
.woocommerce div.product .price,
.woocommerce-Price-amount {
	color: var(--brand-secondary);
	font-family: var(--font-display);
	font-weight: 500;
}
