/* Porto's cart keeps its native forms, totals, nonces and cart fragments. */
body.gb-storefront-unified main#main.gb-cart-page {padding-block:40px 64px;min-height:55vh;background:transparent}
body.gb-storefront-unified main#main.gb-cart-page .gb-content-card {max-width:none;padding:0;background:transparent}
body.gb-storefront-unified main#main.gb-cart-page .gb-cart-heading {display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:12px}
body.gb-storefront-unified main#main.gb-cart-page .gb-cart-heading h1 {margin:0;font-size:clamp(30px,3.5vw,46px);letter-spacing:var(--gb-tracking-heading)}
body.gb-storefront-unified main#main.gb-cart-page .gb-cart-heading a {display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:.875rem}
body.gb-storefront-unified main#main.gb-cart-page .gb-cart-intro {margin:0 0 32px;color:#52584f;font-size:1rem;max-width:68ch}
body.gb-storefront-unified main#main.gb-cart-page .cart-v2>.row {display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,350px);gap:32px;margin:0!important;padding:0!important}
body.gb-storefront-unified main#main.gb-cart-page .cart-v2>.row>div {width:auto;max-width:none;min-width:0;flex:none;padding:0}
body.gb-storefront-unified main#main.gb-cart-page .cart-collaterals,
body.gb-storefront-unified main#main.gb-cart-page .cart_totals {float:none!important;width:100%!important;margin:0}
body.gb-storefront-unified main#main.gb-cart-page .cart_totals .card {margin:0;padding:24px;border:1px solid var(--line);border-radius:0;box-shadow:none;background:#fff}
body.gb-storefront-unified main#main.gb-cart-page .cart_totals h4 {font-size:1rem;line-height:1.4;letter-spacing:0;text-transform:none!important}
body.gb-storefront-unified main#main.gb-cart-page table {width:100%;max-width:100%;margin:0;border-collapse:collapse;font-variant-numeric:tabular-nums}
body.gb-storefront-unified main#main.gb-cart-page .shop_table {table-layout:auto;background:#fff;border:1px solid var(--line)}
body.gb-storefront-unified main#main.gb-cart-page .shop_table :is(th,td) {padding:18px 12px;vertical-align:middle;border-color:var(--line)}
body.gb-storefront-unified main#main.gb-cart-page .shop_table thead th {font-size:.75rem;letter-spacing:.03em;font-weight:700;color:#52584f;white-space:nowrap}
body.gb-storefront-unified main#main.gb-cart-page .shop_table .product-thumbnail {width:100px;min-width:100px;max-width:100px}
body.gb-storefront-unified main#main.gb-cart-page .product-thumbnail .position-relative {position:relative;width:76px;margin:0}
body.gb-storefront-unified main#main.gb-cart-page .product-thumbnail img {display:block;width:76px;height:90px;max-width:100%;object-fit:contain}
body.gb-storefront-unified main#main.gb-cart-page a.remove-product {display:flex;align-items:center;justify-content:center;position:absolute;top:-12px;right:-8px;left:auto;width:44px;height:44px;line-height:1;background:#fff;border:1px solid var(--line);border-radius:50%;box-shadow:none;color:var(--ink)!important;font-size:16px}
body.gb-storefront-unified main#main.gb-cart-page .product-name {width:auto;min-width:0;font-size:.9375rem;line-height:1.6;overflow-wrap:anywhere;text-align:left}
body.gb-storefront-unified main#main.gb-cart-page :is(.product-price,.product-subtotal) {white-space:nowrap;font-size:.9375rem}
body.gb-storefront-unified main#main.gb-cart-page .product-subtotal {text-align:right!important;font-weight:700}
body.gb-storefront-unified main#main.gb-cart-page .product-quantity {width:132px;min-width:132px}
body.gb-storefront-unified main#main.gb-cart-page .quantity {display:inline-flex;float:none;width:132px;height:44px;margin:0;vertical-align:middle}
body.gb-storefront-unified main#main.gb-cart-page .quantity :is(button,input) {position:relative;text-indent:0;float:none;flex:0 0 44px;width:44px!important;min-width:0;height:44px;min-height:44px;margin:0;padding:0;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1rem;text-align:center;border-radius:0;line-height:1}
body.gb-storefront-unified main#main.gb-cart-page .quantity button::before,
body.gb-storefront-unified main#main.gb-cart-page .quantity button::after {display:none}
body.gb-storefront-unified main#main.gb-cart-page .quantity input {border-inline:0;appearance:textfield;-moz-appearance:textfield}
body.gb-storefront-unified main#main.gb-cart-page .quantity input::-webkit-inner-spin-button {appearance:none;margin:0}
body.gb-storefront-unified main#main.gb-cart-page .shop_table td.actions {display:table-cell;padding:20px;text-align:left}
body.gb-storefront-unified main#main.gb-cart-page #panel-cart-discount {display:flex!important;align-items:flex-start!important;flex-wrap:wrap;gap:16px}
body.gb-storefront-unified main#main.gb-cart-page .coupon {display:flex;flex:1 1 320px;flex-wrap:wrap;align-items:center;gap:8px;float:none;margin:0}
body.gb-storefront-unified main#main.gb-cart-page .coupon input {float:none;width:auto!important;flex:1 1 150px;min-width:0;min-height:44px;margin:0;padding:10px 12px;border:1px solid var(--line);background:#fff}
body.gb-storefront-unified main#main.gb-cart-page :is(button.button,.return-to-shop .button,.wc-proceed-to-checkout a) {display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:auto;max-width:100%;margin:0;padding:12px 16px;line-height:1.4;font-size:.875rem;font-weight:700;letter-spacing:0;text-transform:none;white-space:normal;border-radius:0;background:var(--ink);color:#fff;border:1px solid var(--ink)}
body.gb-storefront-unified main#main.gb-cart-page .woocommerce button[name=update_cart] {flex:0 1 auto}
body.gb-storefront-unified main#main.gb-cart-page button:disabled {opacity:.5;cursor:not-allowed}
body.gb-storefront-unified main#main.gb-cart-page :is(button.button,.return-to-shop .button,.wc-proceed-to-checkout a):hover {background:#303a32;color:#fff}
body.gb-storefront-unified main#main.gb-cart-page .cart-total :is(th,td) {padding:16px 0;font-size:.9375rem;line-height:1.6;font-weight:400;vertical-align:top;text-align:left;overflow-wrap:anywhere}
body.gb-storefront-unified main#main.gb-cart-page .cart-total td {text-align:right;white-space:normal}
body.gb-storefront-unified main#main.gb-cart-page .cart-total .woocommerce-Price-amount {white-space:nowrap}
body.gb-storefront-unified main#main.gb-cart-page .cart-total p {font-size:.9375rem;color:#52584f;margin-bottom:12px}
body.gb-storefront-unified main#main.gb-cart-page .cart-total a {text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
body.gb-storefront-unified main#main.gb-cart-page .order-total {border-top:1px solid var(--line)}
body.gb-storefront-unified main#main.gb-cart-page .order-total :is(th,td,h4) {font-size:1.125rem;font-weight:700}
body.gb-storefront-unified main#main.gb-cart-page .wc-proceed-to-checkout {padding:12px 0 0}
body.gb-storefront-unified main#main.gb-cart-page .woocommerce .wc-proceed-to-checkout a {display:flex;color:#fff!important;width:100%;margin-top:0!important;background:var(--red);border-color:var(--red);text-decoration:none}
body.gb-storefront-unified main#main.gb-cart-page .shipping-calculator-form :is(input,select,.select2-container) {max-width:100%;width:100%!important;font-size:1rem}
body.gb-storefront-unified main#main.gb-cart-page .cart-empty-page {padding:40px 20px 56px;border-block:1px solid var(--line);background:#fff;text-align:center}
body.gb-storefront-unified main#main.gb-cart-page i.cart-empty {display:block;width:64px;height:72px;margin:0 auto 20px;background:url('../img/cart-bag.svg') center/contain no-repeat}
body.gb-storefront-unified main#main.gb-cart-page i.cart-empty::before {content:none}
body.gb-storefront-unified main#main.gb-cart-page p.cart-empty {font-size:1.125rem;margin-bottom:24px;color:var(--ink)}
body.gb-storefront-unified main#main.gb-cart-page .return-to-shop {margin:0}
body.gb-storefront-unified main#main.gb-cart-page :is(a,button,input,select):focus-visible {outline:3px solid #9a5322;outline-offset:3px}
@media(max-width:1100px) {
  body.gb-storefront-unified main#main.gb-cart-page .cart-v2>.row {grid-template-columns:minmax(0,1fr);gap:28px}
  body.gb-storefront-unified main#main.gb-cart-page .cart-collaterals {max-width:540px;margin-left:auto}
}
@media(max-width:767px) {
  body.gb-storefront-unified main#main.gb-cart-page {padding-block:24px 40px}
  body.gb-storefront-unified main#main.gb-cart-page .gb-cart-heading {gap:12px;align-items:flex-start;flex-wrap:wrap}
  body.gb-storefront-unified main#main.gb-cart-page .gb-cart-intro {margin-bottom:24px}
  body.gb-storefront-unified main#main.gb-cart-page .cart-v2 .shop_table {display:block;border:0;background:transparent}
  body.gb-storefront-unified main#main.gb-cart-page .shop_table thead {display:none}
  body.gb-storefront-unified main#main.gb-cart-page .shop_table tbody {display:block}
  body.gb-storefront-unified main#main.gb-cart-page .shop_table tr.cart_item {display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px 12px;padding:20px 16px;margin:0 0 16px;background:#fff;border:1px solid var(--line)}
  body.gb-storefront-unified main#main.gb-cart-page .shop_table tr.cart_item td {display:block;width:auto;min-width:0;max-width:none;padding:0;border:0;text-align:left!important}
  body.gb-storefront-unified main#main.gb-cart-page .shop_table tr.cart_item td::before {display:none!important}
  body.gb-storefront-unified main#main.gb-cart-page .shop_table .product-thumbnail {grid-column:1;grid-row:1 / span 3}
  body.gb-storefront-unified main#main.gb-cart-page .product-thumbnail .position-relative {width:76px}
  body.gb-storefront-unified main#main.gb-cart-page .shop_table :is(.product-name,.product-price,.product-quantity) {grid-column:2}
  body.gb-storefront-unified main#main.gb-cart-page .shop_table tr.cart_item td.product-subtotal {grid-column:1 / -1;padding-top:12px!important;margin-top:4px;border-top:1px solid var(--line)!important;text-align:right!important}
  body.gb-storefront-unified main#main.gb-cart-page .shop_table tr.cart_item td.product-subtotal::before {display:inline!important;content:attr(data-title);float:left;font-weight:400;color:#52584f}
  body.gb-storefront-unified main#main.gb-cart-page .shop_table tbody>tr:not(.cart_item) {display:block}
  body.gb-storefront-unified main#main.gb-cart-page .shop_table td.actions {display:block;padding:0;background:transparent;border:0}
  body.gb-storefront-unified main#main.gb-cart-page #panel-cart-discount {display:flex!important;gap:12px}
  body.gb-storefront-unified main#main.gb-cart-page .coupon {flex:1 1 100%;gap:8px}
  body.gb-storefront-unified main#main.gb-cart-page .coupon :is(input,button) {flex:1 1 100%;width:100%!important}
  body.gb-storefront-unified main#main.gb-cart-page .woocommerce button[name=update_cart] {width:100%}
  body.gb-storefront-unified main#main.gb-cart-page .cart_totals .card {padding:20px}
}
/* Keep Select2's native accessible select clipped to its intended one-pixel box. */
body.gb-storefront-unified.woocommerce-cart main#main.gb-cart-page .shipping-calculator-form select.select2-hidden-accessible{width:1px!important;max-width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;position:absolute!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
