/* ==========================================================
   GET SOFTWARE — CART / CHECKOUT PRO
   ========================================================== */

.gs-cart-page{
  min-height:650px !important;

  padding:
    72px
    max(32px,calc((100vw - 1440px)/2))
    110px !important;

  background:#f5f8fb !important;
}


/* ---------- TITOLO ---------- */

.gs-cart-title{
  margin-bottom:40px !important;
}

.gs-cart-title .gs-kicker{
  display:block;

  margin-bottom:13px;

  color:#0878ff;

  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}

.gs-cart-title h1{
  margin:0 !important;

  color:#0b1c30;

  font-size:clamp(42px,4.7vw,64px) !important;
  line-height:1 !important;
  letter-spacing:-.05em !important;
}

.gs-cart-title p{
  max-width:620px !important;

  margin:16px 0 0 !important;

  color:#77869a !important;

  font-size:14px !important;
  line-height:1.65 !important;
}


/* ---------- LAYOUT ---------- */

.gs-premium-page .cart-layout{
  grid-template-columns:
    minmax(0,1.38fr)
    minmax(330px,.62fr) !important;

  gap:24px !important;
}


/* ---------- PRODOTTI ---------- */

.gs-premium-page .cart-list{
  gap:12px !important;
}

.gs-premium-page .cart-row{
  grid-template-columns:
    118px
    minmax(0,1fr)
    auto !important;

  gap:20px !important;

  padding:20px !important;

  border:1px solid #dfe7ef !important;
  border-radius:16px !important;

  background:#fff !important;

  box-shadow:
    0 7px 22px rgba(25,50,80,.035);
}

.gs-premium-page .cart-row img{
  width:118px !important;
  height:118px !important;

  padding:8px;

  object-fit:contain !important;

  border-radius:13px !important;

  background:#f4f7fa !important;
}

.gs-premium-page .cart-row h3{
  margin:0 0 7px !important;

  color:#102238;

  font-size:19px;
  letter-spacing:-.025em;
}

.gs-premium-page .cart-row p{
  margin:4px 0 !important;

  color:#78869a !important;

  font-size:12px;
  line-height:1.5;
}

.gs-premium-page .cart-variant{
  color:#0878ff !important;
}

.gs-premium-page .cart-row > strong{
  align-self:start;

  color:#0b1c30;

  font-size:20px;
  font-weight:900;

  white-space:nowrap;
}


/* ---------- QUANTITÀ ---------- */

.gs-premium-page .qty{
  margin-top:13px;

  gap:6px !important;
}

.gs-premium-page .qty span{
  min-width:28px;

  text-align:center;

  color:#102238;

  font-size:13px;
  font-weight:850;
}

.gs-premium-page .qty button{
  min-width:32px !important;
  min-height:32px !important;

  padding:0 9px;

  border:1px solid #d8e1ea !important;
  border-radius:8px !important;

  background:#fff !important;
  color:#243449 !important;

  font-weight:800;

  transition:
    border-color .15s ease,
    background .15s ease;
}

.gs-premium-page .qty button:hover{
  border-color:#9fcaff !important;
  background:#f5faff !important;
}

.gs-premium-page .qty .remove{
  margin-left:7px !important;

  border-color:#efd7d9 !important;

  color:#bb3d46 !important;

  background:#fff8f8 !important;
}


/* ---------- RIEPILOGO ---------- */

.gs-premium-page .cart-summary{
  top:98px !important;

  padding:25px !important;

  border:1px solid #dce5ee !important;
  border-radius:17px !important;

  background:#fff !important;

  box-shadow:
    0 14px 38px rgba(25,50,80,.07) !important;
}

.gs-premium-page .cart-summary h2{
  margin:0 0 17px !important;

  color:#0b1c30;

  font-size:23px !important;
  letter-spacing:-.03em;
}


/* ---------- RIGHE TOTALE ---------- */

.gs-premium-page .summary-line{
  padding:12px 0 !important;

  border-bottom:1px solid #edf1f5 !important;

  color:#66768a;

  font-size:13px !important;
}

.gs-premium-page .summary-line strong{
  color:#17283c;
}

.gs-premium-page .discount-line,
.gs-premium-page .discount-line strong{
  color:#10a66a !important;
}

.gs-premium-page .final-total{
  margin-top:8px !important;

  padding:19px 0 15px !important;

  border-top:1px solid #dfe6ed !important;
  border-bottom:0 !important;

  color:#102238 !important;

  font-size:14px !important;
}

.gs-premium-page .final-total strong{
  color:#0b1c30 !important;

  font-size:27px !important;
  font-weight:950;
  letter-spacing:-.04em;
}


/* ---------- COUPON ---------- */

.gs-premium-page .coupon-box{
  margin:18px 0 !important;

  padding:15px !important;

  border:1px solid #e3e9ef;
  border-radius:12px !important;

  background:#f7f9fc !important;
}

.gs-premium-page .coupon-box label{
  margin-bottom:8px !important;

  color:#25364a;

  font-size:11px !important;
}

.gs-premium-page .coupon-box input{
  min-height:40px !important;

  border:1px solid #d8e1ea !important;
  border-radius:8px !important;

  background:#fff !important;
  color:#102238 !important;

  font-size:12px;
}

.gs-premium-page .coupon-box button{
  min-height:40px;

  padding:0 13px !important;

  border-radius:8px !important;

  background:#182434 !important;

  font-size:11px;
  font-weight:850;
}


/* ---------- PAGAMENTO ---------- */

.gs-premium-page .btn.paypal{
  min-height:54px !important;

  margin-top:8px;

  border-radius:10px !important;

  background:#0878ff !important;

  color:#fff !important;

  box-shadow:
    0 9px 22px rgba(8,120,255,.16);

  font-size:13px;
  font-weight:850 !important;
}

.gs-premium-page .btn.paypal:hover{
  background:#006ce7 !important;
}

.gs-premium-page .paypal-note{
  margin:8px 0 14px !important;

  color:#8a97a7 !important;

  font-size:10px !important;
}


/* ---------- AIUTO ---------- */

.gs-premium-page .btn.whatsapp{
  min-height:44px !important;

  margin-top:8px !important;

  border:1px solid #dce5ee !important;
  border-radius:10px !important;

  background:#fff !important;
  color:#243449 !important;

  font-size:12px;
}


/* ---------- TESTO INFO ---------- */

.gs-premium-page .cart-summary > .admin-muted{
  margin:12px 0 4px;

  color:#78869a !important;

  font-size:10.5px !important;
  line-height:1.55 !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:1000px){

  .gs-premium-page .cart-layout{
    grid-template-columns:1fr !important;
  }

  .gs-premium-page .cart-summary{
    position:static !important;
  }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:650px){

  .gs-cart-page{
    padding:
      44px
      18px
      65px !important;
  }

  .gs-cart-title{
    margin-bottom:28px !important;
  }

  .gs-cart-title h1{
    font-size:38px !important;
  }

  .gs-cart-title p{
    font-size:12.5px !important;
  }


  .gs-premium-page .cart-row{
    grid-template-columns:
      74px
      minmax(0,1fr) !important;

    gap:13px !important;

    padding:14px !important;
  }

  .gs-premium-page .cart-row img{
    width:74px !important;
    height:74px !important;

    padding:5px;
  }

  .gs-premium-page .cart-row h3{
    font-size:15px !important;
  }

  .gs-premium-page .cart-row p{
    font-size:10.5px !important;
  }

  .gs-premium-page .cart-row > strong{
    grid-column:2 !important;

    margin-top:4px;

    font-size:18px !important;
  }

  .gs-premium-page .qty{
    margin-top:10px;
  }

  .gs-premium-page .qty button{
    min-width:30px !important;
    min-height:30px !important;

    font-size:11px;
  }


  .gs-premium-page .cart-summary{
    padding:20px !important;
  }

  .gs-premium-page .cart-summary h2{
    font-size:20px !important;
  }

  .gs-premium-page .final-total strong{
    font-size:24px !important;
  }

}


/* ==========================================================
   CART — COMPATTA SPAZIO VERTICALE
   ========================================================== */

.gs-cart-page{
  min-height:auto !important;
}

.gs-premium-page .cart-layout{
  margin-bottom:0 !important;
}

#cart-content{
  min-height:0 !important;
}



/* ==========================================================
   FOOTER CART — BRAND ALLINEATO ALLA DESCRIZIONE
   ========================================================== */

.gs-footer-brand{
  align-items:center !important;
  text-align:center !important;
}

.gs-footer-brand .gs-brand{
  justify-content:center !important;
}

.gs-footer-brand p{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

