/* =========================================================
   Ayur Shop Design — cart & checkout (design only)
   Only colours, spacing, fonts and borders are changed.
   Payment fields (PayPal card iframes) are deliberately left untouched:
   input styling is limited to the billing / additional fields.
   ========================================================= */

body.woocommerce-cart,
body.woocommerce-checkout {
	--ac-forest: #244235;
	--ac-forest-2: #2d5a27;
	--ac-gold: #c89b3c;
	--ac-cream: #fffef9;
	--ac-sage: #f0f3e7;
	--ac-sage-2: #f6f8f0;
	--ac-brown: #8b5e34;
	--ac-ink: #1b231d;
	--ac-muted: #5b655d;
	--ac-line: #e2e6d8;
	--ac-radius: 18px;
	--ac-radius-sm: 12px;
	--ac-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--ac-sans: "Work Sans", "Karla", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ac-shadow: 0 1px 2px rgba(22, 33, 26, .05), 0 10px 30px -14px rgba(22, 33, 26, .2);
	background: var(--ac-cream);
}

/* Page frame (Astra "separate container") */
body.woocommerce-cart.ast-separate-container,
body.woocommerce-checkout.ast-separate-container { background-color: var(--ac-cream); }
body.woocommerce-cart.ast-separate-container .ast-article-single,
body.woocommerce-checkout.ast-separate-container .ast-article-single,
body.woocommerce-cart.ast-separate-container .ast-article-post,
body.woocommerce-checkout.ast-separate-container .ast-article-post { background: transparent; box-shadow: none; }

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content { font-family: var(--ac-sans); color: var(--ac-ink); }

/* Page title */
body.woocommerce-cart h1.entry-title,
body.woocommerce-checkout h1.entry-title {
	font-family: var(--ac-serif) !important; font-weight: 600 !important; text-transform: none !important;
	letter-spacing: -.01em !important; font-size: clamp(1.8rem, 4vw, 2.6rem) !important; color: var(--ac-ink) !important;
	border: 0 !important; padding-bottom: 0 !important;
}

/* Section headings */
body.woocommerce-cart .cart_totals > h2,
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout #order_review_heading {
	font-family: var(--ac-serif) !important; font-weight: 600 !important; text-transform: none !important;
	letter-spacing: -.01em !important; font-size: 1.35rem !important; color: var(--ac-ink) !important;
	border: 0 !important; padding: 0 !important; margin: 0 0 1rem !important; background: transparent !important;
}

/* Notices */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info {
	background: var(--ac-sage) !important; color: var(--ac-ink) !important; border: 1px solid var(--ac-line) !important;
	border-radius: var(--ac-radius-sm); font-family: var(--ac-sans); font-size: .95rem; box-shadow: none;
}
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before { color: var(--ac-forest-2) !important; }
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error { border-radius: var(--ac-radius-sm); font-family: var(--ac-sans); }

/* ---------- Buttons ---------- */
body.woocommerce-cart .woocommerce a.button,
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-checkout .woocommerce a.button,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout #place_order {
	font-family: var(--ac-sans) !important; font-weight: 600 !important; text-transform: none !important;
	letter-spacing: 0 !important; border-radius: var(--ac-radius-sm) !important; line-height: 1.2 !important;
	box-shadow: none !important; transition: background .2s, color .2s, transform .2s;
}
body.woocommerce-cart .woocommerce a.button.alt,
body.woocommerce-cart .woocommerce a.checkout-button,
body.woocommerce-checkout #place_order,
body.woocommerce-cart .woocommerce-message a.button,
body.woocommerce-cart .return-to-shop a.button {
	background: var(--ac-forest-2) !important; color: #fff !important; border: 1px solid var(--ac-forest-2) !important;
}
body.woocommerce-cart .woocommerce a.checkout-button,
body.woocommerce-checkout #place_order { padding: 1rem 1.4rem !important; font-size: 1.05rem !important; }
body.woocommerce-cart .woocommerce a.button.alt:hover,
body.woocommerce-cart .woocommerce a.checkout-button:hover,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-cart .return-to-shop a.button:hover { background: var(--ac-forest) !important; border-color: var(--ac-forest) !important; transform: translateY(-1px); }
body.woocommerce-cart .woocommerce-message a.button { padding: .55rem .9rem !important; font-size: .88rem !important; }
/* "Update cart" is secondary */
body.woocommerce-cart .woocommerce button[name="update_cart"] {
	background: transparent !important; color: var(--ac-forest) !important; border: 1px solid var(--ac-forest) !important;
}
body.woocommerce-cart .woocommerce button[name="update_cart"]:disabled { opacity: .45 !important; }
body.woocommerce-cart .woocommerce a.button:focus-visible,
body.woocommerce-cart .woocommerce button.button:focus-visible,
body.woocommerce-checkout #place_order:focus-visible { outline: 3px solid var(--ac-gold) !important; outline-offset: 2px; }

/* ---------- Cart table ---------- */
body.woocommerce-cart table.shop_table.cart {
	background: #fff; border: 1px solid var(--ac-line) !important; border-radius: var(--ac-radius) !important;
	border-collapse: separate !important; border-spacing: 0; overflow: hidden; box-shadow: var(--ac-shadow);
}
body.woocommerce-cart table.shop_table.cart th {
	font-family: var(--ac-sans); font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
	color: var(--ac-muted); background: var(--ac-sage-2); border-color: var(--ac-line) !important;
}
body.woocommerce-cart table.shop_table.cart td { border-color: var(--ac-line) !important; vertical-align: middle; }
body.woocommerce-cart table.shop_table.cart td.product-name a { color: var(--ac-ink); font-weight: 500; text-decoration: none; }
body.woocommerce-cart table.shop_table.cart td.product-name a:hover { color: var(--ac-forest); }
body.woocommerce-cart table.shop_table.cart td.product-thumbnail img { border-radius: 10px; width: 96px; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
body.woocommerce-cart table.shop_table.cart td.product-subtotal .amount { font-weight: 600; color: var(--ac-ink); }
body.woocommerce-cart table.shop_table.cart a.remove { color: var(--ac-muted) !important; border-radius: 50%; }
body.woocommerce-cart table.shop_table.cart a.remove:hover { color: #b3261e !important; background: #fbe9e7 !important; }
body.woocommerce-cart table.shop_table.cart td.actions { background: var(--ac-sage-2); }
body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
body.woocommerce-checkout .checkout_coupon .input-text { border-radius: 10px !important; border: 1px solid var(--ac-line) !important; }

/* Several items: a little gap between them on the stacked mobile table */
body.woocommerce-cart table.shop_table.cart tr.cart_item + tr.cart_item td { border-top-width: 1px; }
body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item + tr.cart_item td:first-child { border-top: 8px solid var(--ac-sage-2) !important; }

/* Cart totals card */
body.woocommerce-cart .cart-collaterals .cart_totals {
	background: #fff; border: 1px solid var(--ac-line); border-radius: var(--ac-radius); padding: 1.4rem; box-shadow: var(--ac-shadow);
}
body.woocommerce-cart .cart_totals table.shop_table { border: 0 !important; border-radius: 0; margin-bottom: 1rem; }
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td { border-color: var(--ac-line) !important; background: transparent; }
body.woocommerce-cart .cart_totals .order-total .amount,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount {
	font-family: var(--ac-serif); font-weight: 600; font-size: 1.35rem; color: var(--ac-ink);
}
body.woocommerce-cart .wc-proceed-to-checkout { padding-bottom: 0; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; margin-bottom: 0; }

/* Empty cart */
body.woocommerce-cart .cart-empty.woocommerce-info { font-size: 1.05rem; padding: 1.4rem 1.4rem 1.4rem 3.2rem !important; }

/* ---------- Checkout fields ---------- */
body.woocommerce-checkout #customer_details .form-row label {
	font-family: var(--ac-sans); font-size: .88rem; font-weight: 500; color: var(--ac-ink); margin-bottom: .3rem;
}
body.woocommerce-checkout #customer_details .form-row .required { color: var(--ac-brown); text-decoration: none; }
body.woocommerce-checkout #customer_details .form-row input.input-text,
body.woocommerce-checkout #customer_details .form-row textarea,
body.woocommerce-checkout #customer_details .form-row select,
body.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single {
	background: var(--ac-sage-2) !important; border: 1px solid var(--ac-line) !important; border-radius: 10px !important;
	font-family: var(--ac-sans) !important; font-size: .98rem !important; color: var(--ac-ink) !important; box-shadow: none !important;
}
body.woocommerce-checkout #customer_details .form-row input.input-text,
body.woocommerce-checkout #customer_details .form-row select { min-height: 48px; padding: .65rem .9rem !important; }
body.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single { min-height: 48px; display: flex; align-items: center; }
body.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__arrow { height: 100% !important; }
body.woocommerce-checkout #customer_details .form-row input.input-text:focus,
body.woocommerce-checkout #customer_details .form-row textarea:focus {
	background: #fff !important; border-color: var(--ac-forest) !important; box-shadow: 0 0 0 3px rgba(36, 66, 53, .14) !important; outline: none;
}
body.woocommerce-checkout #customer_details .form-row.woocommerce-invalid input.input-text { border-color: #b3261e !important; }

/* Billing column as a card */
body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields {
	background: #fff; border: 1px solid var(--ac-line); border-radius: var(--ac-radius); padding: 1.4rem; box-shadow: var(--ac-shadow);
}
body.woocommerce-checkout #customer_details .woocommerce-additional-fields { margin-top: 1.2rem; }

/* Order review card */
body.woocommerce-checkout #order_review {
	background: #fff; border: 1px solid var(--ac-line) !important; border-radius: var(--ac-radius); padding: 1.4rem !important; box-shadow: var(--ac-shadow);
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table { border: 0 !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td { border-color: var(--ac-line) !important; background: transparent !important; font-family: var(--ac-sans); }
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
	font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ac-muted);
}

/* Payment methods (only the list around them — card fields themselves are untouched) */
body.woocommerce-checkout #payment { background: transparent !important; border-radius: var(--ac-radius-sm); }
body.woocommerce-checkout #payment ul.payment_methods { border: 0 !important; padding: 0 !important; display: grid; gap: .6rem; }
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method {
	background: var(--ac-sage-2); border: 1px solid var(--ac-line); border-radius: var(--ac-radius-sm); padding: .9rem 1rem !important; margin: 0 !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label { font-family: var(--ac-sans); font-weight: 600; color: var(--ac-ink); }
body.woocommerce-checkout #payment div.payment_box { background: #fff !important; border-radius: 10px; color: var(--ac-muted); }
body.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff !important; }
body.woocommerce-checkout #payment .place-order { padding: 1rem 0 0 !important; }
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { font-size: .9rem; color: var(--ac-muted); }
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a { color: var(--ac-forest); }
body.woocommerce-checkout #place_order { width: 100%; float: none !important; }

.ayur-checkout-note {
	margin: 0 0 1rem; padding: .8rem 1rem; font-family: var(--ac-sans); font-size: .9rem; line-height: 1.5;
	color: var(--ac-forest); background: var(--ac-sage); border-radius: 10px;
}

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
	body.woocommerce-cart table.shop_table_responsive.cart tr td { background: #fff; }
	body.woocommerce-cart table.shop_table_responsive.cart tr td::before { font-weight: 500; color: var(--ac-muted); }
	body.woocommerce-cart table.shop_table_responsive.cart tr td.product-thumbnail { text-align: center; }
	body.woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail img { width: 140px; display: inline-block; }
	body.woocommerce-cart .cart-collaterals .cart_totals,
	body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
	body.woocommerce-checkout #customer_details .woocommerce-additional-fields,
	body.woocommerce-checkout #order_review { padding: 1.1rem !important; }
}
@media (prefers-reduced-motion: reduce) {
	body.woocommerce-cart .woocommerce a.button, body.woocommerce-checkout #place_order { transition: none; }
}
