/* ganga.one cart + checkout (loaded on is_cart() / is_checkout() only) */
body.woocommerce-cart .entry-header,body.woocommerce-cart .ast-archive-description{display:none}
body.woocommerce-cart .site-content,body.woocommerce-checkout .site-content{background:var(--g-bg)}
.g-cart{color:var(--g-ink);font-family:var(--g-body);padding:40px 0 0}
.g-cart__title{font-family:var(--g-disp)!important;font-weight:500;font-size:clamp(40px,6vw,60px);line-height:1.05;margin:0 0 24px;color:var(--g-ink)}
.g-cart__ship .g-ship{padding:18px 24px;background:var(--g-surface);margin:0 0 32px}
.g-cart__grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:48px;align-items:start}

/* Lines */
body.ganga .g-cart table.g-lines,body.ganga .g-cart table.g-lines tbody{display:block;width:100%;border:0;margin:0;background:none;border-collapse:collapse}
body.ganga .g-cart table.g-lines thead{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
body.ganga .g-cart table.g-lines tr.g-line{display:grid;grid-template-columns:112px minmax(0,1fr) auto 96px;gap:16px 24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--g-line)}
body.ganga .g-cart table.g-lines tr.g-line:first-child{border-top:1px solid var(--g-line)}
body.ganga .g-cart table.g-lines tr.g-line:has(+ tr.g-line-up){border-bottom:0;padding-bottom:12px}
body.ganga .g-cart table.g-lines td{display:block;padding:0;border:0;background:none;text-align:left}
body.ganga .g-cart table.g-lines td::before{display:none!important}
.g-thumb{display:flex;align-items:center;justify-content:center;width:112px;height:136px;background:var(--g-surface);overflow:hidden}
.g-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.g-thumb .g-tile__ph{font-size:12px;padding-bottom:8px;width:70%;height:78%}
.g-line__info{display:flex!important;flex-direction:column;gap:4px;min-width:0}
.g-line__eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--g-accent)}
.g-line__name{font-family:var(--g-disp);font-size:24px;line-height:1.2}
body.ganga .g-line__name a{color:var(--g-ink);text-decoration:none}
.g-line__size{font-size:14px;color:var(--g-muted)}
body.ganga a.g-line__remove{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--g-ink2);text-decoration:underline;text-underline-offset:3px}
.g-line__total{font-weight:500;text-align:right!important;white-space:nowrap}
.g-qty{display:inline-flex;align-items:stretch;border:1px solid var(--g-line2);background:var(--g-card);height:44px}
.g-qty .quantity{display:flex;margin:0!important}
.g-qty__b{width:44px;min-height:44px;border:0;background:transparent;color:var(--g-ink);font-size:20px;line-height:1;cursor:pointer;padding:0}
.g-qty__b:hover{background:var(--g-surface)}
body.ganga .g-qty input.qty{width:44px;height:42px;border:0!important;border-left:1px solid var(--g-line)!important;border-right:1px solid var(--g-line)!important;border-radius:0;background:transparent;text-align:center;font:inherit;font-size:16px;padding:0;-moz-appearance:textfield;box-shadow:none}
.g-qty input.qty::-webkit-outer-spin-button,.g-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.g-qty.is-busy,.g-busy{opacity:.55;pointer-events:none}
body.ganga .g-cart table.g-lines tr.g-line-up{display:block;padding:0 0 24px;border-bottom:1px solid var(--g-line)}
.g-up{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px dashed var(--g-goldrule);background:var(--g-card);padding:14px 16px 14px 20px}
.g-up__t{margin:0;font-size:15px;line-height:1.5}
.g-btn.g-up__b{min-height:44px;padding:0 22px;font-size:13px;flex:0 0 auto}
.g-lines__actions{display:block!important;padding:16px 0 0!important;border:0!important}
.g-lines__actions td{display:flex!important;justify-content:flex-end;gap:12px;flex-wrap:wrap}
body.ganga .g-cart .g-update{min-height:44px;background:transparent!important;color:var(--g-ink)!important;border:1px solid var(--g-ink)!important;font-size:13px;letter-spacing:.1em;padding:0 20px}
.g-cart.g-js .g-update{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Order summary */
body.ganga .g-cart .cart-collaterals{width:auto;float:none;margin:0}
body.ganga .g-cart .cart-collaterals .cart_totals{float:none;width:auto;margin:0}
.g-sum{background:var(--g-card);border:1px solid var(--g-line);padding:32px 28px}
body.ganga .g-sum .g-sum__h{font-family:var(--g-disp);font-weight:500;font-size:28px;line-height:1.2;margin:0 0 20px;padding:0;border:0;background:none;text-transform:none;letter-spacing:0}
.g-bump{display:flex;gap:12px;align-items:flex-start;background:var(--g-bg);border:1px solid var(--g-line);padding:14px 16px;margin:0 0 20px}
.g-bump__in{width:22px;height:22px;margin:2px 0 0;accent-color:var(--g-ink);flex:0 0 auto;cursor:pointer}
.g-bump label{display:flex;flex-direction:column;gap:2px;font-size:15px;line-height:1.45;cursor:pointer;min-height:44px}
.g-bump label b{font-weight:600}
.g-bump label span{color:var(--g-muted);font-size:14px}
body.ganga .g-sum table.g-sum__table{width:100%;border:0!important;margin:0;border-collapse:collapse;background:none}
body.ganga .g-sum table.g-sum__table th,body.ganga .g-sum table.g-sum__table td{border:0!important;background:none!important;padding:10px 0;font-size:15px;vertical-align:top}
body.ganga .g-sum table.g-sum__table th{text-align:left;font-weight:400;color:var(--g-ink2)}
body.ganga .g-sum table.g-sum__table td{text-align:right}
body.ganga .g-sum table.g-sum__table td::before{display:none!important}
.g-sum__note{display:block;font-size:12px;color:var(--g-muted)}
.g-sum__free{color:var(--g-ok);font-weight:600}
body.ganga .g-sum tr.g-sum__coupon td{text-align:left;padding:14px 0!important;border-top:1px solid var(--g-line)!important;border-bottom:1px solid var(--g-line)!important}
.g-coupon{margin:0}
.g-coupon__l{display:block;font-size:13px;color:var(--g-ink2);margin:0 0 6px}
.g-coupon__row{display:flex;gap:8px}
body.ganga .g-coupon input.input-text{flex:1;min-width:0;height:44px;border:1px solid var(--g-line2);border-radius:0;background:#fff;padding:0 12px;font:inherit;font-size:15px;box-shadow:none}
body.ganga .g-coupon .g-coupon__b{min-height:44px;padding:0 18px!important;font-size:13px;letter-spacing:.1em}
body.ganga .g-sum tr.order-total th,body.ganga .g-sum tr.order-total td{padding-top:16px;font-size:18px;color:var(--g-ink);font-weight:600}
body.ganga .g-sum tr.order-total small{display:block;font-size:12px;font-weight:400;color:var(--g-muted)}
.g-prepaid{background:var(--g-ok-bg);color:var(--g-ok);padding:14px 16px;margin:16px 0 0;font-size:14px;line-height:1.5}
.g-prepaid p{margin:0}.g-prepaid p+p{margin-top:4px}
.g-prepaid b{font-weight:600}
.g-sum__gst{font-size:13px;color:var(--g-muted);margin:12px 0 0}
body.ganga .g-sum .wc-proceed-to-checkout{padding:16px 0 0}
body.ganga .g-sum a.checkout-button{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:60px;margin:0;padding:0 24px!important;font-size:15px!important;font-weight:500;letter-spacing:.1em!important;text-transform:uppercase;background:var(--g-ink)!important;color:#FBF6EC!important;border-radius:0!important;box-sizing:border-box;text-decoration:none}
body.ganga .g-sum a.checkout-button:hover{background:var(--g-night)!important}
.g-sum__trust{font-size:13px;color:var(--g-muted);text-align:center;margin:14px 0 0}

/* Frequently bought together */
.g-fbt{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:center;background:var(--g-card);border:1px solid var(--g-line);padding:40px;margin:64px 0 0}
.g-fbt__h{font-family:var(--g-disp)!important;font-weight:500;font-size:clamp(28px,3.4vw,40px);line-height:1.15;margin:8px 0 28px}
.g-fbt__items{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.g-fbt__item{display:flex;flex-direction:column;gap:12px;width:180px}
.g-fbt__item .g-thumb{width:180px;height:200px}
.g-fbt__txt{display:flex;flex-direction:column;gap:2px}
.g-fbt__in-cart{align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:var(--g-surface);padding:4px 8px}
.g-fbt__meta{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--g-accent);font-weight:600}
.g-fbt__name{font-family:var(--g-disp);font-size:20px;line-height:1.25}
.g-fbt__chk{display:flex;gap:10px;align-items:flex-start;cursor:pointer;min-height:44px;padding-top:4px}
.g-fbt__chk input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--g-ink);flex:0 0 auto}
.g-fbt__price{font-size:14px;color:var(--g-muted)}
.g-fbt__plus{font-family:var(--g-disp);font-size:32px;color:var(--g-goldrule);align-self:center;margin-top:-60px}
.g-fbt__side{border-left:1px solid var(--g-line);padding-left:40px;display:flex;flex-direction:column;gap:12px}
.g-fbt__total{margin:0;display:flex;justify-content:space-between;align-items:baseline;font-size:15px}
.g-fbt__total b{font-family:var(--g-disp);font-size:30px;font-weight:500}
.g-fbt__ship{margin:0;font-size:14px;color:var(--g-ok)}
.g-btn.g-fbt__btn{width:100%;min-height:56px}
.g-btn[disabled]{opacity:.5;cursor:not-allowed}

/* Goes well with your cart */
.g-pantry{background:var(--g-surface);margin:80px calc(50% - 50vw) 0;padding:72px 0 80px;width:100vw;box-sizing:border-box}
.g-pantry__in{max-width:var(--g-wrap);margin:0 auto;padding:0 var(--g-gut);box-sizing:border-box}
.g-pantry__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 32px}
.g-pantry__h{font-family:var(--g-disp)!important;font-weight:500;font-size:clamp(30px,3.6vw,44px);line-height:1.1;margin:8px 0 0}
.g-pantry__nav{display:flex;gap:8px}
.g-pantry__arrow{width:52px;height:52px;border:1px solid var(--g-ink);background:transparent;color:var(--g-ink);font-size:20px;cursor:pointer;border-radius:0;padding:0}
.g-pantry__arrow:hover:not([disabled]){background:var(--g-ink);color:var(--g-bg)}
.g-pantry__arrow[disabled]{opacity:.35;cursor:default}
.g-pantry__track{display:grid;grid-auto-flow:column;grid-auto-columns:280px;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;list-style:none;margin:0;padding:0 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.g-pantry__track::-webkit-scrollbar{display:none}
.g-pcard{scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;margin:0}
.g-pcard__img{position:relative;display:flex;align-items:center;justify-content:center;height:260px;background:var(--g-bg);overflow:hidden;margin:0 0 10px}
.g-pcard__img img{width:100%;height:100%;object-fit:cover}
.g-pcard__img .g-tag{background:var(--g-card);z-index:1}
.g-pcard__origin{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-accent);font-weight:600}
body.ganga a.g-pcard__name{font-family:var(--g-disp);font-size:22px;line-height:1.2;color:var(--g-ink);text-decoration:none}
.g-pcard__price{font-size:15px;color:var(--g-ink2)}
.g-btn.g-pcard__btn{margin-top:auto;min-height:48px;font-size:13px;padding:0 20px;width:100%}
.g-pcard__price+.g-pcard__btn{margin-top:10px}
.g-pantry__cap{font-size:13px;color:var(--g-muted);margin:16px 0 0}
@media (prefers-reduced-motion:reduce){.g-pantry__track{scroll-behavior:auto}}

/* Empty cart */
.g-empty{background:var(--g-card);border:1px solid var(--g-line);padding:48px 32px;text-align:center;margin:0 0 64px}
.g-empty__h{font-family:var(--g-disp);font-size:30px;margin:0 0 8px}
.g-empty__p{color:var(--g-muted);max-width:520px;margin:0 auto 24px}
.g-empty .return-to-shop{margin:0}

/* Checkout polish */
body.woocommerce-checkout #payment{background:var(--g-card)!important;border:1px solid var(--g-line);border-radius:0!important}
body.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--g-line)!important;padding:8px 20px!important}
body.woocommerce-checkout #payment ul.payment_methods li{padding:12px 0;line-height:1.5}
body.woocommerce-checkout #payment ul.payment_methods li+li{border-top:1px solid var(--g-line)}
body.woocommerce-checkout #payment ul.payment_methods li input{accent-color:var(--g-ink);width:18px;height:18px;vertical-align:-3px}
body.woocommerce-checkout #payment div.payment_box{background:var(--g-bg)!important;color:var(--g-ink2);border-radius:0}
body.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--g-bg)!important}
.g-pay-save{color:var(--g-ok);font-weight:500;margin:6px 0 0}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.fee th,body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.fee td{color:var(--g-ok)}
body.woocommerce-checkout #order_review_heading,body.woocommerce-checkout .woocommerce-billing-fields h3,body.woocommerce-checkout .woocommerce-additional-fields h3{font-family:var(--g-disp);font-weight:500}
body.woocommerce-checkout #place_order{min-height:60px;width:100%;font-size:15px;letter-spacing:.1em}
body.woocommerce-checkout .input-text,body.woocommerce-checkout select{border-radius:0!important;min-height:44px}

@media (max-width:960px){
  .g-cart__grid{grid-template-columns:1fr;gap:32px}
  .g-fbt{grid-template-columns:1fr;padding:32px 24px}
  .g-fbt__side{border-left:0;padding-left:0;border-top:1px solid var(--g-line);padding-top:24px}
}
@media (max-width:600px){
  .g-cart{padding-top:24px}
  .g-cart__ship .g-ship{padding:14px 16px;margin-bottom:20px}
  body.ganga .g-cart table.g-lines tr.g-line{grid-template-columns:88px minmax(0,1fr);gap:12px 16px;align-items:start}
  .g-thumb{width:88px;height:107px}
  .g-line__img{grid-row:span 2}
  .g-line__name{font-size:20px}
  body.ganga .g-cart table.g-lines td.g-line__qty{grid-column:2;grid-row:2;justify-self:start}
  body.ganga .g-cart table.g-lines td.g-line__total{grid-column:2;grid-row:2;justify-self:end;align-self:center}
  body.ganga .g-cart table.g-lines td.g-line__img{grid-row:1 / span 2}
  .g-up{flex-direction:column;align-items:stretch}
  .g-btn.g-up__b{width:100%}
  .g-sum{padding:24px 16px}
  .g-fbt{margin-top:40px;padding:24px 16px}
  .g-fbt__items{flex-direction:column;align-items:stretch;gap:8px}
  .g-fbt__item{flex-direction:row;width:auto;gap:16px;align-items:center}
  .g-fbt__item .g-thumb{width:88px;height:107px;flex:0 0 auto}
  .g-fbt__plus{margin:0;align-self:flex-start;padding-left:34px;font-size:24px;line-height:1}
  .g-pantry{margin-top:56px;padding:48px 0 56px}
  .g-pantry__track{grid-auto-columns:min(280px,78vw);gap:16px}
  .g-pantry__arrow{width:44px;height:44px}
  .g-empty{padding:32px 16px}
}
.g-pay-note{background:var(--g-ok-bg);color:var(--g-ok);padding:12px 16px;margin:0 0 16px;font-size:14px;font-weight:500}
