/* ERSA cart presentation. Existing forms, prices, shipping and transfer remain authoritative. */
body.woocommerce-cart .woocommerce-cart-form-wrapper { background: transparent; box-shadow: none; min-width: 0; }
body.woocommerce-cart .cart-header-wrapper { align-items: center; gap: 16px; margin-bottom: 24px; }
body.woocommerce-cart .cart-header-wrapper h1 { margin: 0; font-size: clamp(28px, 3vw, 40px); line-height: 1.15; letter-spacing: -.025em; }
body.woocommerce-cart .cart-actions .update-cart { min-width: 44px; min-height: 44px; padding: 10px 12px; gap: 8px; border: 1px solid #dce5eb; border-radius: 10px; text-transform: none; font-size: 13px; line-height: 1.35; background: #fff; }
body.woocommerce-cart .cart-actions .update-cart:not([disabled]):hover { background: #edf4f8; }
body.woocommerce-cart .woocommerce-cart-form-wrapper .cart-wrapper { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 370px); align-items: start; gap: 28px; }
body.woocommerce-cart .cart-wrapper > * { min-width: 0; }
body.woocommerce-cart .cart-wrapper table.cart { width: 100%; margin: 0; border: 0; }
body.woocommerce-cart .cart-wrapper .cart_item { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto 72px 44px; grid-template-areas: 'thumb name price quantity action'; align-items: center; gap: 16px; padding: 22px; background: #fff; border: 1px solid #dce5eb; border-radius: 16px; box-shadow: 0 3px 16px rgb(7 45 67 / 3%); }
body.woocommerce-cart .cart-wrapper .cart_item:not(:last-child) { margin-bottom: 16px; }
body.woocommerce-cart .cart-wrapper .cart_item td { padding: 0; margin: 0; min-width: 0; border: 0; background: transparent; align-self: center; }
body.woocommerce-cart .cart-wrapper .cart_item .product-thumbnail { width: 88px; margin: 0; }
body.woocommerce-cart .cart-wrapper .cart_item .product-thumbnail img { display: block; width: 88px; height: 88px; max-height: none; object-fit: contain; }
body.woocommerce-cart .cart-wrapper .cart_item .product-name { align-self: center; font-size: 15px; line-height: 1.5; color: #082f46; }
body.woocommerce-cart .cart-wrapper .cart_item .product-name > a { font-weight: 600; text-decoration: none; }
body.woocommerce-cart .cart-wrapper .cart_item .product-name > a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-cart .cart-wrapper .cart_item .product-name span { margin-top: 6px; font-size: 12px; line-height: 1.5; color: #607584; }
body.woocommerce-cart .cart-wrapper .cart_item .variation { font-size: 12px; line-height: 1.5; color: #526978; overflow-wrap: anywhere; }
body.woocommerce-cart .cart-wrapper .cart_item .backorder_notification { color: #845311; font-size: 13px; line-height: 1.5; }
body.woocommerce-cart .cart-wrapper .cart_item .product-short-description { grid-column: 1 / -1; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
body.woocommerce-cart .cart-wrapper .cart_item .product-price { display: block; grid-column: 1 / -1; font-size: 14px; }
body.woocommerce-cart .cart-wrapper .cart_item .product-subtotal { min-width: 0; margin: 0; padding: 0; align-items: flex-end; background: transparent; font-size: 19px; font-weight: 700; line-height: 1.35; color: #082f46; font-variant-numeric: tabular-nums; }
body.woocommerce-cart .cart-wrapper .cart_item .product-subtotal .amount { white-space: nowrap; }
body.woocommerce-cart .cart-wrapper .cart_item .product-subtotal .tax_label { color: #607584; font-size: 11px; font-weight: 400; line-height: 1.5; margin-top: 3px; }
body.woocommerce-cart .cart-wrapper .cart_item .product-quantity,
body.woocommerce-cart .cart-wrapper .cart_item .product-remove { padding: 0; background: transparent; align-self: center; justify-content: center; }
body.woocommerce-cart .cart-wrapper .cart_item .quantity { margin: 0; max-width: 100%; }
body.woocommerce-cart .cart-wrapper .cart_item input.qty { width: 72px; max-width: 100%; min-height: 46px; padding: 8px 4px; border: 1px solid #b8cbd7; border-radius: 9px; background: #fff; color: #082f46; font: inherit; font-size: 16px; text-align: center; }
body.woocommerce-cart .cart-wrapper .cart_item .product-remove a.remove { width: 44px; min-width: 44px; height: 44px; padding: 10px; border: 1px solid #dce5eb; border-radius: 9px; background: #f5f8fa; color: #526978; box-shadow: none; align-items: center; justify-content: center; }
body.woocommerce-cart .cart-wrapper .cart_item .product-remove a.remove:hover { background: #fff0ed; color: #a33324; border-color: #ebc5bd; }
body.woocommerce-cart .woocommerce-cart-form-wrapper .cart-wrapper .cart-collaterals { display: flex; flex-direction: column; gap: 16px; padding: 0; background: transparent; min-width: 0; }
body.woocommerce-cart .woocommerce-cart-form-wrapper .cart-wrapper .cart_totals { padding: 24px; border: 1px solid #dce5eb; border-radius: 16px; background: #f5f8fa; }
body.woocommerce-cart .cart_totals table.shop_table { margin: 0 0 18px; border: 0; }
body.woocommerce-cart .cart_totals table.shop_table tr { padding: 10px 0; gap: 16px; align-items: baseline; }
body.woocommerce-cart .cart_totals table.shop_table th { color: #526978; font-size: 14px; line-height: 1.5; font-weight: 400; }
body.woocommerce-cart .cart_totals table.shop_table td { color: #082f46; font-size: 16px; line-height: 1.5; font-weight: 600; text-align: right; min-width: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
body.woocommerce-cart .cart_totals table.shop_table .order-total { margin-top: 6px; padding-top: 18px; border-top: 1px solid #cddce5; }
body.woocommerce-cart .cart_totals table.shop_table .order-total th { color: #082f46; font-size: 16px; font-weight: 600; }
body.woocommerce-cart .cart_totals table.shop_table .order-total td strong { font-size: 24px; line-height: 1.3; font-weight: 700; }
body.woocommerce-cart .cart_totals table.shop_table tr.shipping { gap: 8px; align-items: stretch; }
body.woocommerce-cart .cart_totals table.shop_table tr.shipping td { display: block; width: 100%; text-align: left; font-size: 14px; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods { margin: 0; padding: 0; width: 100%; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods li { margin: 0 0 8px; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods li label { font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
body.woocommerce-cart .cart_totals .shipping-calculator-button { font-size: 12px; line-height: 1.6; font-weight: 400; }
body.woocommerce-cart .cart_totals .shipping-calculator-form { max-width: 100%; }
body.woocommerce-cart .cart_totals .shipping-calculator-form input,
body.woocommerce-cart .cart_totals .shipping-calculator-form select { max-width: 100%; }
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout { padding: 0; }
body.woocommerce-cart .cart_totals .checkout-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; margin: 0; padding: 13px 18px; background: #082f46; color: #fff; border: 1px solid #082f46; border-radius: 10px; font-size: 16px; line-height: 1.4; font-weight: 600; text-align: center; text-decoration: none; text-transform: none; white-space: normal; }
body.woocommerce-cart .cart_totals .checkout-button:hover { background: #155372; border-color: #155372; }
/* Keep the existing secondary shop-transfer offer, with less visual weight. */
body.woocommerce-cart .cart-collaterals .transfer-box { margin: 0; width: 100%; min-width: 0; }
body.woocommerce-cart .cart-collaterals .transfer-box__content { padding: 20px 24px; border: 1px solid #eadbb6; border-radius: 16px; background: #fffaef; }
body.woocommerce-cart .cart-collaterals .transfer-box__info { text-align: left; margin-bottom: 14px; color: #706345; font-size: 12px; line-height: 1.4; }
body.woocommerce-cart .cart-collaterals .transfer-box__header { margin-bottom: 5px; }
body.woocommerce-cart .cart-collaterals .transfer-box__header .logo { max-width: 220px; }
body.woocommerce-cart .cart-collaterals .transfer-box__header svg { width: 100%; height: auto; max-height: 30px; }
body.woocommerce-cart .cart-collaterals .transfer-box__body .title { font-size: 23px; line-height: 1.3; margin-bottom: 12px; }
body.woocommerce-cart .cart-collaterals .transfer-box__body p { font-size: 13px; line-height: 1.65; margin: 0 0 16px; }
body.woocommerce-cart .cart-collaterals .transfer-box__body form { width: 100%; }
body.woocommerce-cart .cart-collaterals .transfer-box__body .button { min-width: 0; min-height: 46px; padding: 11px 14px; border: 1px solid #e5b34e; border-radius: 9px; background: #ffbf40; color: #082f46; font-size: 13px; line-height: 1.45; font-weight: 600; text-transform: none; white-space: normal; }
body.woocommerce-cart .cart-collaterals .transfer-box__body .button span { min-width: 0; }
body.woocommerce-cart .cart-collaterals .transfer-box__body .button svg { flex: 0 0 20px; width: 20px; height: 20px; }
body.woocommerce-cart .cart-collaterals .transfer-box__body .button:hover { background: #ffd06f; }
body.woocommerce-cart .woocommerce-cart-form-wrapper :is(a, button, input, select):focus-visible { outline: 3px solid #3d83af; outline-offset: 3px; }
@media (max-width: 1280px) {
  body.woocommerce-cart .cart-wrapper .cart_item { grid-template-columns: 76px minmax(0, 1fr) 72px 44px; grid-template-areas: 'thumb name name name' 'price price quantity action'; gap: 16px 12px; padding: 20px; }
  body.woocommerce-cart .cart-wrapper .cart_item .product-thumbnail,
  body.woocommerce-cart .cart-wrapper .cart_item .product-thumbnail img { width: 76px; height: 76px; }
  body.woocommerce-cart .cart-wrapper .cart_item .product-subtotal { align-items: flex-start; }
}
@media (max-width: 980px) {
  body.woocommerce-cart .woocommerce-cart-form-wrapper .cart-wrapper { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.woocommerce-cart .woocommerce-cart-form-wrapper .cart-wrapper .cart-collaterals { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
}
@media (max-width: 700px) {
  body.woocommerce-cart .cart-header-wrapper { margin-bottom: 18px; }
  body.woocommerce-cart .cart-header-wrapper h1 { font-size: 28px; }
  body.woocommerce-cart .woocommerce-cart-form-wrapper .cart-wrapper { gap: 20px; }
  body.woocommerce-cart .woocommerce-cart-form-wrapper .cart-wrapper .cart-collaterals { display: flex; gap: 16px; }
  body.woocommerce-cart .cart-wrapper .cart_item { padding: 16px; border-radius: 14px; }
  body.woocommerce-cart .cart-wrapper .cart_item .product-name { font-size: 14px; }
  body.woocommerce-cart .woocommerce-cart-form-wrapper .cart-wrapper .cart_totals { padding: 20px; border-radius: 14px; }
  body.woocommerce-cart .cart-collaterals .transfer-box__content { padding: 20px; border-radius: 14px; }
}
@media (max-width: 360px) {
  body.woocommerce-cart .cart-wrapper .cart_item { grid-template-columns: 60px minmax(0, 1fr) 64px 44px; gap: 14px 8px; padding: 12px; }
  body.woocommerce-cart .cart-wrapper .cart_item .product-thumbnail,
  body.woocommerce-cart .cart-wrapper .cart_item .product-thumbnail img { width: 60px; height: 60px; }
  body.woocommerce-cart .cart-wrapper .cart_item .product-subtotal { font-size: 17px; }
  body.woocommerce-cart .cart-wrapper .cart_item input.qty { width: 64px; }
  body.woocommerce-cart .woocommerce-cart-form-wrapper .cart-wrapper .cart_totals { padding: 16px; }
}
/* The parent amount-wrapper provides the input shell; this stylesheet owns its border. */
body.woocommerce-cart .cart-wrapper .cart_item amount-wrapper { max-width: 100%; }
body.woocommerce-cart .cart-wrapper .cart_item amount-wrapper .quantity { width: 72px; height: auto; border: 0; border-radius: 0; }
/* Both populated and empty cart templates provide their own visible page heading. */
body.woocommerce-cart h1.entry-title { display: none; }
body.woocommerce-cart .cart-empty-wrapper { padding: clamp(24px, 5vw, 56px) 20px; border: 1px solid #dce5eb; border-radius: 16px; background: #f5f8fa; text-align: center; }
body.woocommerce-cart .cart-empty-wrapper > .cart-empty { background: transparent; margin: 0 !important; padding: 0; font-size: 18px; line-height: 1.6; color: #082f46; }
body.woocommerce-cart .cart-actions .return-to-shop { margin: 0; }
body.woocommerce-cart .cart-actions .return-to-shop a { min-height: 44px; padding: 11px 16px; border: 1px solid #cddce5; border-radius: 9px; background: #fff; font-size: 13px; text-transform: none; line-height: 1.4; }
@media (max-width: 480px) {
  body.woocommerce-cart .cart-header-wrapper:has(.return-to-shop) { flex-wrap: wrap; }
}
/* Retain an accessible name when the parent reduces Update to an icon. */
@media (max-width:480px) {
  body.woocommerce-cart .cart-actions .update-cart > span {
    display:block; position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
  }
}
/* Totals must fill their rail in every language, not shrink to label length. */
body.woocommerce-cart .woocommerce-cart-form-wrapper .cart-wrapper .cart_totals {
  width:100%; max-width:100%; min-width:0; box-sizing:border-box; align-self:stretch;
}
body.woocommerce-cart .woocommerce-cart-form-wrapper .cart-wrapper .cart-collaterals { align-items:stretch; }
