/* SGCE cart: native WooCommerce behaviour inside a 1200 px split layout. */
.woocommerce-cart .sgce-header[data-sgce-header-compact="true"] { position: sticky; top: 0; }
.woocommerce-cart .sgce-header[data-sgce-header-compact="true"] .sgce-search-shell > button.sgce-icon-button > img {
    width: 24px !important;
    min-width: 24px;
    height: 24px !important;
    max-width: none !important;
    object-fit: contain;
}
.woocommerce-cart #sgce-main.sgce-shell { width: min(1200px, calc(100% - 40px)); }
.woocommerce-cart .sgce-entry { padding-block: 56px 80px; }
.woocommerce-cart .sgce-entry__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.woocommerce-cart .sgce-entry__content > .woocommerce { display: grid; grid-template-columns: 720px 480px; align-items: start; }
.woocommerce-cart .sgce-entry__content > .woocommerce::before,
.woocommerce-cart .sgce-entry__content > .woocommerce::after { content: none; display: none; }
.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce-cart-form { grid-column: 1; min-width: 0; padding-right: 60px; }
.woocommerce-cart .cart-collaterals { grid-column: 2; width: auto; min-width: 0; padding: 0 0 0 60px; border-left: 1px solid var(--sgce-line); }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: auto; }
.woocommerce-cart .sgce-cart-title,
.woocommerce-cart .cart_totals h2 { margin: 0 0 30px; padding-bottom: 20px; border-bottom: 1px solid var(--sgce-line); color: var(--sgce-black); font-size: 24px; font-weight: 600; line-height: 1.25; }

.woocommerce-cart table.shop_table { width: 100%; margin: 0; border: 0; border-collapse: collapse; border-radius: 0; }
.woocommerce-cart table.shop_table th { padding: 0 10px 16px; border: 0; border-bottom: 1px solid var(--sgce-line); color: rgba(21,21,21,.65); font-size: 11px; font-weight: 550; text-align: left; }
.woocommerce-cart table.shop_table td { padding: 24px 10px; border: 0; border-bottom: 1px solid var(--sgce-line); font-size: 13px; vertical-align: middle; }
.woocommerce-cart table.shop_table th:first-child,
.woocommerce-cart table.shop_table td:first-child { padding-left: 0; }
.woocommerce-cart table.shop_table th:last-child,
.woocommerce-cart table.shop_table td:last-child { padding-right: 0; text-align: right; }
.woocommerce-cart .product-remove { width: 26px; }
.woocommerce-cart .product-remove a.remove { display: grid; width: 24px; height: 24px; place-items: center; color: var(--sgce-black) !important; background: transparent !important; font-size: 20px; font-weight: 300; line-height: 1; transition: transform .2s ease; }
.woocommerce-cart .product-remove a.remove:hover,
.woocommerce-cart .product-remove a.remove:focus-visible { transform: rotate(90deg); }
.woocommerce-cart .product-thumbnail { width: 128px; }
.woocommerce-cart .product-thumbnail img { width: 110px; height: 110px; object-fit: contain; background: #f7f7f7; }
.woocommerce-cart .product-name { width: auto; }
.woocommerce-cart .product-name a { font-weight: 650; line-height: 1.45; }
.woocommerce-cart .product-name a:hover,
.woocommerce-cart .product-name a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.woocommerce-cart .product-name dl.variation { margin: 6px 0 0; color: var(--sgce-muted); font-size: 11px; }
.woocommerce-cart .product-name dl.variation dt,
.woocommerce-cart .product-name dl.variation dd,
.woocommerce-cart .product-name dl.variation p { margin: 0; padding: 0; }
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal { white-space: nowrap; }
.woocommerce-cart .product-subtotal { font-weight: 700; }
.woocommerce-cart .quantity .qty { width: 54px; min-height: 38px; padding: 6px; border: 1px solid var(--sgce-line); border-radius: 0; color: var(--sgce-black); background: #fff; text-align: center; }

.woocommerce-cart table.shop_table td.actions { padding: 24px 0 0; border: 0; }
.woocommerce-cart .actions .coupon { display: flex; gap: 8px; }
.woocommerce-cart .actions .coupon .input-text { width: 150px; min-height: 40px; margin: 0; padding: 8px 10px; border: 1px solid var(--sgce-line); border-radius: 0; color: var(--sgce-black); background: #fff; font-size: 12px; }
.woocommerce-cart .button,
.woocommerce-cart button.button { min-height: 40px; padding: 9px 18px; border: 1px solid var(--sgce-black); border-radius: 0; color: #fff; background: var(--sgce-black); box-shadow: none; font-size: 12px; font-weight: 700; transition: color .2s ease, background-color .2s ease, opacity .2s ease; }
.woocommerce-cart .button:hover,
.woocommerce-cart .button:focus-visible,
.woocommerce-cart button.button:hover,
.woocommerce-cart button.button:focus-visible { color: var(--sgce-black); background: #fff; }
.woocommerce-cart button.button:disabled,
.woocommerce-cart button.button:disabled[disabled] { color: rgba(21,21,21,.45); background: #f3f3f3; border-color: #f3f3f3; opacity: 1; }

.woocommerce-cart .cart_totals table.shop_table th { width: 42%; padding: 15px 10px 15px 0; color: rgba(21,21,21,.7); font-size: 12px; font-weight: 550; }
.woocommerce-cart .cart_totals table.shop_table td { padding: 15px 0 15px 10px; font-size: 13px; text-align: right; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td { padding-top: 22px; color: var(--sgce-black); font-size: 16px; font-weight: 750; }
.woocommerce-cart .cart_totals .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li { margin: 0 0 6px; }
.woocommerce-cart .cart_totals .woocommerce-shipping-methods input { margin-right: 5px; accent-color: var(--sgce-black); }
.woocommerce-cart .woocommerce-shipping-destination { margin: 10px 0 0; color: var(--sgce-muted); font-size: 11px; }
.woocommerce-cart .shipping-calculator-button { display: inline-block; margin-top: 8px; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-cart .shipping-calculator-form { margin-top: 16px; }
.woocommerce-cart .shipping-calculator-form .form-row { margin: 0 0 10px; padding: 0; }
.woocommerce-cart .shipping-calculator-form .form-row:last-of-type { margin-bottom: 16px; }
.woocommerce-cart .shipping-calculator-form label {
    display: block;
    margin: 0 0 5px;
    color: rgba(21,21,21,.72);
    font-size: 11px;
    font-weight: 550;
}
.woocommerce-cart .shipping-calculator-form input,
.woocommerce-cart .shipping-calculator-form select,
.woocommerce-cart .select2-container .select2-selection { width: 100%; min-height: 38px; border: 0; border-bottom: 1px solid var(--sgce-line); border-radius: 0; background: transparent; font-size: 12px; }
.woocommerce-cart .shipping-calculator-form .select2-container { width: 100% !important; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 30px 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 20px;
    border: 1px solid var(--sgce-black) !important;
    border-radius: 0 !important;
    color: var(--sgce-black) !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2 !important;
    text-align: center;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible {
    color: #fff !important;
    background: var(--sgce-black) !important;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error { grid-column: 1 / -1; margin: 0 0 28px; padding: 14px 18px; border: 0; border-left: 3px solid var(--sgce-black); background: #f4f4f4; font-size: 13px; }
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before { display: none; }
.woocommerce-cart .cart-empty.woocommerce-info { margin: 0 0 22px; }
.woocommerce-cart .return-to-shop { margin: 0 0 80px; }

@media (min-width:1024px) { .admin-bar.woocommerce-cart .sgce-header[data-sgce-header-compact="true"] { top: 32px; } }
@media (max-width:782px) { .admin-bar.woocommerce-cart .sgce-header[data-sgce-header-compact="true"] { top: 46px; } }
@media (max-width:1239px) {
    .woocommerce-cart #sgce-main.sgce-shell { width: calc(100% - 40px); }
    .woocommerce-cart .sgce-entry__content > .woocommerce { grid-template-columns: minmax(0,3fr) minmax(320px,2fr); }
    .woocommerce-cart .woocommerce-cart-form { padding-right: 30px; }
    .woocommerce-cart .cart-collaterals { padding-left: 30px; }
    .woocommerce-cart .product-thumbnail { width: 100px; }
    .woocommerce-cart .product-thumbnail img { width: 84px; height: 84px; }
}
@media (max-width:1023px) {
    .woocommerce-cart .sgce-header[data-sgce-header-compact="true"] { right: 0; left: 0; width: 100%; height: 70px; transform: none; }
    .woocommerce-cart .sgce-header[data-sgce-header-compact="true"] .sgce-header__inner { width: 100%; max-width: none; min-height: 70px; display: flex; padding-inline: 10px; }
    .woocommerce-cart .sgce-header[data-sgce-header-compact="true"] .sgce-logo { width: 62px; height: 25px; padding: 0; border: 0; }
    .woocommerce-cart .sgce-header[data-sgce-header-compact="true"] .sgce-search-shell { width: 38px; height: 38px; flex-basis: 38px; }
    .woocommerce-cart .sgce-header[data-sgce-header-compact="true"] .sgce-search-shell > button.sgce-icon-button > img { width: 24px !important; min-width: 24px; height: 24px !important; max-width: none !important; object-fit: contain; }
}
@media (max-width:767px) {
    .woocommerce-cart #sgce-main.sgce-shell { width: 100%; }
    .woocommerce-cart .sgce-entry { padding: 28px 10px 50px; }
    .woocommerce-cart .sgce-entry__content > .woocommerce { display: block; }
    .woocommerce-cart .woocommerce-cart-form { padding: 0; }
    .woocommerce-cart .cart-collaterals { margin-top: 42px; padding: 0; border-left: 0; }
    .woocommerce-cart .sgce-cart-title,
    .woocommerce-cart .cart_totals h2 { margin-bottom: 22px; padding-bottom: 16px; font-size: 21px; }
    .woocommerce-cart table.shop_table.cart thead { display: none; }
    .woocommerce-cart table.shop_table.cart,
    .woocommerce-cart table.shop_table.cart tbody { display: block; }
    .woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item { position: relative; display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 8px 14px; padding: 18px 0; border-bottom: 1px solid var(--sgce-line); }
    .woocommerce-cart table.shop_table.cart td { display: block; width: auto; padding: 0; border: 0; text-align: left; }
    .woocommerce-cart table.shop_table.cart td.product-remove { position: absolute; z-index: 2; top: 12px; right: 0; }
    .woocommerce-cart table.shop_table.cart td.product-thumbnail { grid-column: 1; grid-row: 1 / span 4; }
    .woocommerce-cart table.shop_table.cart td.product-thumbnail::before { display: none; }
    .woocommerce-cart .product-thumbnail img { width: 90px; height: 90px; }
    .woocommerce-cart table.shop_table.cart td.product-name { grid-column: 2; padding-right: 28px; }
    .woocommerce-cart table.shop_table.cart td.product-price,
    .woocommerce-cart table.shop_table.cart td.product-quantity,
    .woocommerce-cart table.shop_table.cart td.product-subtotal { grid-column: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; text-align: right; }
    .woocommerce-cart table.shop_table.cart td[data-title]::before { content: attr(data-title); color: var(--sgce-muted); font-size: 10px; font-weight: 500; text-align: left; }
    .woocommerce-cart table.shop_table.cart td.actions { display: block; padding-top: 20px; }
    .woocommerce-cart .actions .coupon { float: none; width: 100%; }
    .woocommerce-cart .actions .coupon .input-text { flex: 1; width: auto; }
    .woocommerce-cart table.shop_table.cart td.actions > button.button { float: none; width: 100%; margin-top: 10px; }
    .woocommerce-cart .cart_totals table.shop_table { display: table; }
}
