/* Cart styling: native forms and totals remain managed by WooCommerce. */
.woocommerce-cart .content-area { padding-top: 1.5rem; padding-bottom: 4rem; }
.woocommerce-cart .content-area article > h1 { padding: 0; margin: 0 0 1.2rem; border: 0; border-radius: 0; background: none; color: #284b61; font-family: inherit; font-weight: 500; font-size: clamp(1.5rem, 2.2vw, 1.8rem); line-height: 1.3; }
.woocommerce-cart .entry-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(310px, 1fr); gap: 1.5rem; align-items: start; }
.woocommerce-cart .woocommerce-notices-wrapper, .woocommerce-cart .cart-empty, .woocommerce-cart .wc-empty-cart-message, .woocommerce-cart .return-to-shop { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-cart .woocommerce-cart-form { min-width: 0; padding: 1.25rem; border: 1px solid #e1ebf0; border-radius: 22px; background: #fff; }
.woocommerce-cart .woocommerce table.shop_table { border: 0; margin: 0; border-collapse: collapse; }
.woocommerce-cart .woocommerce table.shop_table th { padding: .8rem .5rem; font-size: .72rem; letter-spacing: .06em; color: #718692; font-weight: 600; }
.woocommerce-cart .woocommerce table.shop_table td { padding: 1.15rem .5rem; border-top: 1px solid #e7eff3; }
.woocommerce-cart .woocommerce table.cart .product-thumbnail { width: 85px; }
.woocommerce-cart .woocommerce table.cart img { width: 76px; max-width: none; height: 96px; object-fit: cover; border-radius: 12px; }
.woocommerce-cart .woocommerce table.cart .product-name a { color: #34566b; font-size: .93rem; font-weight: 600; text-decoration: none; line-height: 1.5; }
.woocommerce-cart .woocommerce table.cart .product-price, .woocommerce-cart .woocommerce table.cart .product-subtotal { white-space: nowrap; color: #34566b; font-size: .9rem; }
.woocommerce-cart .woocommerce a.remove { color: #7b8f99 !important; background: #f1f6f9; width: 28px; height: 28px; line-height: 26px; font-weight: 400; }
.woocommerce-cart .woocommerce a.remove:hover { color: #944c58 !important; background: #fbeef1; }
.woocommerce-cart .woocommerce .quantity .qty { width: 4rem; min-height: 44px; border: 1px solid #cedfe8; border-radius: 12px; color: #34566b; background: #fbfdfe; }
.woocommerce-cart .woocommerce table.cart td.actions { padding-top: 1.2rem; }
.woocommerce-cart .woocommerce table.cart td.actions .coupon { display: flex; gap: .5rem; flex-wrap: wrap; }
.woocommerce-cart .woocommerce table.cart td.actions .coupon .input-text { float: none; width: 145px; min-width: 0; margin: 0; padding: .6rem .8rem; min-height: 44px; border: 1px solid #cedfe8; border-radius: 12px; }
.woocommerce-cart .woocommerce table.cart td.actions button { font-size: .78rem; min-height: 44px; padding: .65rem 1rem; }
.woocommerce-cart .woocommerce table.cart td.actions button[name="update_cart"] { margin-top: .5rem; }
.woocommerce-cart .woocommerce .cart-collaterals { width: 100%; min-width: 0; padding: 1.5rem; border: 1px solid #dcebf3; border-radius: 22px; background: #eff8fc; box-sizing: border-box; }
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; }
.woocommerce-cart .woocommerce .cart_totals h2 { font-family: Georgia, serif; font-size: 1.8rem; color: #284b61; margin: 0 0 1.2rem; }
.woocommerce-cart .woocommerce .cart_totals table th { width: 32%; letter-spacing: 0; font-size: .85rem; }
.woocommerce-cart .woocommerce .cart_totals table td { font-size: .9rem; color: #34566b; }
.woocommerce-cart .woocommerce .cart_totals .order-total th, .woocommerce-cart .woocommerce .cart_totals .order-total td { font-size: 1.2rem; color: #284b61; }
.woocommerce-cart .woocommerce .woocommerce-shipping-destination, .woocommerce-cart .woocommerce .cart_totals .shipping-calculator-button { font-size: .8rem; line-height: 1.6; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 1rem 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { margin: 0; min-height: 50px; padding: .95rem 1rem; border: 1px solid #b8dbea; border-radius: 999px; background: #c5e4f3; color: #284b61; font-size: .95rem; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: #afd9ed; color: #284b61; }
.woocommerce-cart .woocommerce .woocommerce-message, .woocommerce-cart .woocommerce .woocommerce-info, .woocommerce-cart .woocommerce .woocommerce-error { border-radius: 14px; }
.woocommerce-cart .wc-empty-cart-message { padding: 2rem; background: #f1f8fc; border: 1px solid #e0edf4; border-radius: 22px; }
.woocommerce-cart .wc-empty-cart-message .cart-empty { margin: 0; }
.woocommerce-cart .return-to-shop { margin-top: 0; }
.woocommerce-cart .woocommerce .cart-collaterals .cross-sells { width: 100%; float: none; }
@media (max-width: 1050px) {
    .woocommerce-cart .entry-content > .woocommerce { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) {
    .woocommerce-cart .content-area { padding-top: 1.5rem; }
    .woocommerce-cart .content-area article > h1 { padding: 0; margin-bottom: 1rem; }
    .woocommerce-cart .woocommerce-cart-form { padding: 1rem; border-radius: 18px; }
    .woocommerce-cart .woocommerce table.cart tr.cart_item { position: relative; padding: .5rem 0 1rem; }
    .woocommerce-cart .woocommerce table.cart tr.cart_item + tr.cart_item { border-top: 1px solid #dce9ef; padding-top: 1.5rem; }
    .woocommerce-cart .woocommerce table.cart tr.cart_item td { background: transparent; border: 0; padding: .65rem 0; }
    .woocommerce-cart .woocommerce table.cart td.product-remove { position: absolute; top: .5rem; right: 0; }
    .woocommerce-cart .woocommerce table.cart td.product-thumbnail { display: block; width: auto; text-align: left !important; }
    .woocommerce-cart .woocommerce table.cart td.product-thumbnail::before, .woocommerce-cart .woocommerce table.cart td.product-name::before { display: none; }
    .woocommerce-cart .woocommerce table.cart td.product-name { text-align: left !important; padding-bottom: 1rem; }
    .woocommerce-cart .woocommerce table.cart img { width: 90px; height: 112px; }
    .woocommerce-cart .woocommerce table.cart td.actions .coupon { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding-bottom: .5rem; }
    .woocommerce-cart .woocommerce table.cart td.actions .coupon .input-text, .woocommerce-cart .woocommerce table.cart td.actions .coupon .button { width: 100%; }
    .woocommerce-cart .woocommerce .cart-collaterals { padding: 1.2rem; border-radius: 18px; }
    .woocommerce-cart .woocommerce .cart_totals table td { background: transparent; padding: 1rem 0; }
}
.woocommerce-cart .woocommerce table.cart td.actions .coupon::before,
.woocommerce-cart .woocommerce table.cart td.actions .coupon::after { display: none; }
@media (max-width: 768px) {
    .woocommerce-cart .woocommerce table.cart td.actions { background: transparent; }
    .woocommerce-cart .woocommerce table.cart td.actions .coupon { grid-template-columns: minmax(0, 1fr); }
    .woocommerce-cart .woocommerce table.cart td.actions .coupon .button { white-space: nowrap; }
}
.woocommerce-cart .woocommerce table.cart td.product-remove { width: 30px; text-align: right !important; }
.woocommerce-cart .woocommerce table.cart td.product-remove a.remove { margin-left: auto; }
@media (max-width: 768px) {
    .woocommerce-cart .woocommerce table.cart td.product-remove { position: static; width: auto; padding-top: .5rem; }
}
.woocommerce-cart .woocommerce table.cart td.actions .ts-mini-cart-empty { margin: .5rem 0 0 .5rem; background: #fff; border: 1px solid #d8e5ec; color: #6c818e; border-radius: 999px; cursor: pointer; }
.woocommerce-cart .woocommerce table.cart td.actions .ts-mini-cart-empty:hover { background: #fff2f5; border-color: #e6cbd3; color: #885562; }
.woocommerce-cart .woocommerce-cart-form > .ts-mini-cart-status { margin: .6rem 0 0; }
@media(max-width:768px) { .woocommerce-cart .woocommerce table.cart td.actions .ts-mini-cart-empty { width: 100%; margin: .6rem 0 0; } }
/* Calm, centered empty-cart state. */
.woocommerce-cart .ts-empty-cart { grid-column: 1 / -1; text-align: center; padding: 2rem 1.5rem 1.2rem; background: linear-gradient(125deg,#edf8fd,#f9fcfe); border: 1px solid #dcebf3; border-radius: 22px; }
.ts-empty-cart-icon { display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; margin-bottom: 1rem; border: 1px solid #cbe3ef; border-radius: 50%; background: #def0f9; color: #59859c; }
.woocommerce-cart .ts-empty-cart h2 { font-family: Georgia,serif; font-size: clamp(1.45rem,2.5vw,1.9rem); font-weight: 400; color: #284b61; margin: 0 0 .7rem; line-height: 1.25; }
.woocommerce-cart .ts-empty-cart p { max-width: 48ch; margin: 0 auto; color: #698391; font-size: .9rem; line-height: 1.7; }
.woocommerce-cart .ts-empty-cart + .return-to-shop { text-align: center; margin: -.4rem 0 0; padding: 0; }
.woocommerce-cart .return-to-shop a.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .8rem 1.7rem; background: #c5e4f3; color: #284b61; border: 1px solid #afd4e7; border-radius: 999px; font-size: .88rem; }
.woocommerce-cart .return-to-shop a.button:hover { background: #aed7eb; color: #284b61; }
@media(max-width:600px) { .woocommerce-cart .ts-empty-cart { padding: 1.5rem 1rem; } .woocommerce-cart .ts-empty-cart p { font-size: .83rem; } }
