/* Cart + checkout for ready-to-ship purchases (R15). Blocksy's layout stays; shapes, type and states match the site. */
.woocommerce-cart, .woocommerce-checkout { --co-ease: cubic-bezier(.2, .7, .2, 1); }

/* Shared: square corners, quiet borders */
.woocommerce-cart .cart_totals, .woocommerce-checkout .ct-order-review { border: 1px solid var(--sy-line, #d9e0e6) !important; border-radius: var(--sy-radius, 2px) !important; background: #fff !important; box-shadow: 0 24px 50px -32px rgba(38, 54, 83, .35); }
.woocommerce-cart .cart_totals { position: sticky; top: 120px; }
.woocommerce-cart :is(input.input-text, select, textarea), .woocommerce-checkout :is(input.input-text, select, textarea), .woocommerce-checkout .select2-selection { border-radius: var(--sy-radius, 2px) !important; border-color: var(--sy-input, #c5cfda) !important; box-shadow: none !important; transition: border-color .2s; }
.woocommerce-cart :is(input.input-text, textarea):focus, .woocommerce-checkout :is(input.input-text, textarea):focus { border-color: var(--sy-navy, #283951) !important; }
.woocommerce-cart .quantity, .woocommerce-checkout .quantity { border-radius: var(--sy-radius, 2px) !important; }
.woocommerce-cart .button, .woocommerce-checkout .button { border-radius: var(--sy-radius, 2px) !important; font-weight: 500 !important; }

/* Section titles */
.woocommerce-cart .cart_totals > h2, .woocommerce-checkout .ct-order-review > h3, .woocommerce-checkout #order_review_heading, .woocommerce-checkout .woocommerce-billing-fields > h3, .woocommerce-checkout .woocommerce-additional-fields > h3, .woocommerce-checkout #ship-to-different-address { font-size: 12px !important; font-weight: 500 !important; letter-spacing: .14em; text-transform: uppercase; color: var(--sy-ink, #263653); }

/* Cart table */
.woocommerce-cart table.shop_table thead th { font-size: 11.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--sy-muted, #59677a); }
.woocommerce-cart table.shop_table .product-name a { font-size: 16px; font-weight: 500; color: var(--sy-ink, #263653); }
.woocommerce-cart table.shop_table .product-thumbnail img, .woocommerce-checkout .ct-order-review img { border-radius: var(--sy-radius, 2px) !important; background: #eceef0; }
.woocommerce-cart table.shop_table tr.cart_item { animation: sy-co-in .5s var(--co-ease) both; }
.woocommerce-cart .product-remove a { transition: transform .3s var(--co-ease), color .2s; }
.woocommerce-cart .product-remove a:hover { color: var(--sy-danger, #a33125) !important; transform: scale(1.12); }
@keyframes sy-co-in { from { opacity: 0; transform: translateY(8px); } }

/* Totals + order review rows */
.woocommerce-cart .cart_totals table th, .woocommerce-checkout .ct-order-review table th { font-weight: 500 !important; }
.woocommerce-cart .order-total td, .woocommerce-checkout .order-total td { font-size: 20px; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { position: relative; display: flex !important; justify-content: space-between; align-items: center; min-height: 56px; padding: 0 22px !important; font-size: 15px !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button::after { content: ""; width: 9px; height: 9px; border-top: 1.4px solid currentColor; border-right: 1.4px solid currentColor; transform: rotate(45deg); transition: transform .3s var(--co-ease); }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover::after { transform: translateX(4px) rotate(45deg); }

/* Ready-to-ship note above the cart: bulk and custom orders belong in the Quote List */
.sy-co-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; margin: 0 0 28px; padding: 16px 20px; background: #fff; border: 1px solid var(--sy-line, #d9e0e6); border-left: 3px solid #2f8a57; font-size: 14.5px; color: var(--sy-muted, #59677a); animation: sy-co-in .5s var(--co-ease) both; }
.sy-co-note strong { color: var(--sy-ink, #263653); font-weight: 500; }
.sy-co-note .sy-link { font-size: 14px; }

/* Checkout */
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name { font-weight: 500; }
.woocommerce-checkout #payment { border-radius: var(--sy-radius, 2px) !important; background: var(--sy-mist-2, #f7fafb) !important; }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--sy-line, #d9e0e6) !important; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 14px 0; }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 500; }
.woocommerce-checkout #payment div.payment_box { border-radius: var(--sy-radius, 2px) !important; background: #fff !important; color: var(--sy-muted, #59677a); font-size: 14px; }
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout input.input-radio, .woocommerce-checkout input[type="radio"] { accent-color: var(--sy-navy, #283951); }
.woocommerce-checkout #place_order { width: 100%; min-height: 58px; font-size: 16px !important; transition: background .2s, transform .1s; }
.woocommerce-checkout #place_order:active { transform: translateY(1px); }
.woocommerce-checkout .woocommerce-privacy-policy-text, .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--sy-muted, #59677a); }
.woocommerce-checkout .form-row label { font-size: 13.5px; font-weight: 500; }
.woocommerce-checkout .form-row .required { color: var(--sy-danger, #a33125); text-decoration: none; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info { border-radius: var(--sy-radius, 2px); background: #fff; border: 1px solid var(--sy-line, #d9e0e6); }
.woocommerce-checkout .woocommerce-invalid input.input-text { border-color: var(--sy-danger, #a33125) !important; }

/* Empty cart */
.woocommerce-cart .cart-empty.woocommerce-info { border-radius: var(--sy-radius, 2px); background: #fff; border: 1px solid var(--sy-line, #d9e0e6); }

@media (max-width: 900px) {
	.woocommerce-cart .cart_totals { position: static; }
}
@media (prefers-reduced-motion: reduce) {
	.woocommerce-cart *, .woocommerce-checkout *, .sy-co-note { animation: none !important; transition: none !important; }
}

/* Order request steps (checkout + thank-you page) */
.sy-co-steps { display: flex; flex-wrap: wrap; gap: 10px 0; list-style: none; margin: 0 0 32px; padding: 0; counter-reset: none; }
.sy-co-steps li { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--sy-muted, #59677a); animation: sy-co-in .5s var(--co-ease) both; }
.sy-co-steps li:nth-child(2) { animation-delay: .06s; }
.sy-co-steps li:nth-child(3) { animation-delay: .12s; }
.sy-co-steps li + li::before { content: ""; width: 34px; height: 1px; margin: 0 14px 0 4px; background: var(--sy-line, #d9e0e6); }
.sy-co-steps li span { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--sy-line, #d9e0e6); border-radius: 50%; background: #fff; font-size: 11.5px; color: var(--sy-ink, #263653); transition: background .3s, color .3s, border-color .3s; }
.sy-co-steps li.is-current { color: var(--sy-ink, #263653); font-weight: 500; }
.sy-co-steps li.is-current span { background: var(--sy-navy, #283951); border-color: var(--sy-navy, #283951); color: #fff; }
.sy-co-steps li.is-done span { background: #e9f4ee; border-color: #cfe6d8; color: transparent; position: relative; }
.sy-co-steps li.is-done span::after { content: ""; position: absolute; width: 9px; height: 4.5px; margin-top: -2px; border-left: 1.6px solid #1e5c3a; border-bottom: 1.6px solid #1e5c3a; transform: rotate(-45deg); }

/* Totals note: no payment now + duties (DAP) */
.sy-co-totals-note td { padding: 14px 0 4px !important; border: 0 !important; font-size: 13px; line-height: 1.6; color: var(--sy-muted, #59677a); text-align: left !important; }
.sy-co-totals-note strong { display: block; margin-top: 6px; font-weight: 500; color: var(--sy-ink, #263653); }
#shipping_method li label, .woocommerce-shipping-totals td { color: var(--sy-muted, #59677a); }

/* Thank-you page */
.woocommerce-order-received .woocommerce-thankyou-order-received { padding: 18px 22px 18px 54px; background: #e9f4ee; color: #1e5c3a; border-left: 3px solid #2f8a57; font-size: 15.5px; line-height: 1.6; animation: sy-co-in .5s var(--co-ease) .1s both; }
.woocommerce-order-received ul.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 0; padding: 0 !important; margin: 24px 0 !important; border: 1px solid var(--sy-line, #d9e0e6); background: #fff; }
.woocommerce-order-received ul.woocommerce-order-overview li { flex: 1 1 160px; margin: 0 !important; padding: 16px 20px !important; border: 0 !important; border-right: 1px solid var(--sy-line, #d9e0e6) !important; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--sy-muted, #59677a); }
.woocommerce-order-received ul.woocommerce-order-overview li strong { display: block; margin-top: 6px; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--sy-ink, #263653); }

/* Pay page */
.woocommerce-order-pay #order_review table.shop_table { border-radius: var(--sy-radius, 2px); }
.woocommerce-order-pay #place_order { width: 100%; min-height: 58px; }
@media (max-width: 600px) {
	.sy-co-steps { flex-direction: column; align-items: flex-start; }
	.sy-co-steps li + li::before { display: none; }
}
