.cart-table{width:100%;border-collapse:collapse;max-width:1100px;margin:0 auto 40px;}
.cart-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);
  padding:0 12px 12px;border-bottom:1px solid var(--line);}
.cart-table td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:middle;}
.cart-prod{display:flex;align-items:center;gap:14px;}
.cart-prod img{width:64px;height:64px;object-fit:cover;border-radius:4px;}
.cart-prod a{font-weight:500;}
.cart-variant{font-size:12px;color:var(--dim);margin-top:3px;}
.qty-input{width:60px;padding:6px;border:1px solid var(--line);border-radius:3px;}
.remove-item{color:#b3261e;font-size:12.5px;}
.cart-summary{max-width:1100px;margin:0 auto;text-align:right;}
.cart-summary-row{display:flex;justify-content:flex-end;gap:20px;font-size:16px;margin-bottom:20px;}

.checkout-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;max-width:1200px;margin:0 auto;align-items:start;}
.checkout-form h2{font-size:16px;font-family:'Jost',sans-serif;font-style:normal;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;margin:32px 0 18px;}
.checkout-form h2:first-child{margin-top:0;}
.form-group{margin-bottom:14px;}
.form-group label{display:block;font-size:12px;color:var(--dim);margin-bottom:6px;}
.form-group input,.form-group select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:3px;
  font-family:'Jost',sans-serif;font-size:14px;box-sizing:border-box;}
.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.pay-methods{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap;}
.pay-method-option{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;}
.pay-panel{border:1px solid var(--line);border-radius:6px;padding:20px;}
.stripe-card-el{padding:12px;border:1px solid var(--line);border-radius:3px;background:#fff;}
.checkout-error{color:#b3261e;font-size:13px;margin-top:10px;min-height:18px;}
.checkout-note{font-size:12.5px;color:var(--dim);}

.checkout-summary{background:#EDEAE2;border-radius:8px;padding:28px;position:sticky;top:100px;}
.checkout-summary h2{font-size:16px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 20px;font-style:normal;}
.summary-item{display:flex;gap:12px;align-items:center;margin-bottom:14px;font-size:13.5px;}
.summary-item img{width:48px;height:48px;object-fit:cover;border-radius:4px;}
.summary-item-info{flex:1;}
.coupon-row{display:flex;gap:8px;margin:20px 0 8px;}
.coupon-row input{flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:3px;font-size:13px;}
.coupon-row button{padding:10px 16px;border:none;background:var(--ink);color:#fff;border-radius:3px;cursor:pointer;font-size:12px;text-transform:uppercase;}
.summary-totals{margin-top:20px;border-top:1px solid rgba(0,0,0,.1);padding-top:16px;}
.summary-row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:10px;}
.summary-total{font-size:17px;font-weight:600;border-top:1px solid rgba(0,0,0,.1);padding-top:12px;margin-top:6px;}

.bank-details-box{background:#EDEAE2;border-radius:8px;padding:26px;text-align:left;margin-top:24px;}
.bank-details-box h2{font-size:16px;text-transform:uppercase;font-style:normal;margin:0 0 14px;}
.bank-details-box p{margin:6px 0;font-size:14px;}

@media(max-width:900px){
  .checkout-grid{grid-template-columns:1fr;}
  .checkout-summary{position:static;order:-1;}
  .form-row{grid-template-columns:1fr;}
  .cart-table th:nth-child(2),.cart-table td:nth-child(2){display:none;}
}

/* barra spedizione gratuita */
.free-shipping-bar{max-width:1100px;margin:0 auto 26px;background:#EDEAE2;border-radius:8px;padding:16px 22px;}
.free-shipping-bar p{margin:0 0 10px;font-size:13.5px;}
.free-shipping-bar strong{color:var(--gold);}
.free-shipping-done{color:#3a6b4a;font-weight:600;}
.free-shipping-track{height:6px;background:rgba(0,0,0,.08);border-radius:100px;overflow:hidden;}
.free-shipping-fill{height:100%;background:var(--gold);border-radius:100px;transition:width .4s ease;}

/* prodotti correlati nel carrello */
.cart-related{max-width:1100px;margin:60px auto 0;}
.cart-related h2{font-size:20px;margin-bottom:24px;}

/* toglie lo stile nativo blu di iOS/Safari sui bottoni */
.btn-qty-update,
.remove-item-btn,
.nform button,
button {
  -webkit-appearance: none;
  appearance: none;
}

/* sotto i 700px il carrello passa da tabella a schede impilate */
@media (max-width: 700px) {
  .cart-table, .cart-table thead, .cart-table tbody, .cart-table tr, .cart-table th, .cart-table td {
    display: block;
    width: 100%;
  }
  .cart-table tr:first-child { display: none !important; }
  .cart-table tr {
    border: 1px solid var(--line);
    border-radius: 8px;
    margin-bottom: 16px;
    padding: 16px;
  }
  .cart-table td {
    border-bottom: none !important;
    padding: 6px 0 !important;
    text-align: left !important;
  }
  .cart-prod { margin-bottom: 10px; }
  .cart-qty-form { margin: 8px 0; }
  .line-total { font-weight: 600; }
  .line-total::before { content: "Totale: "; font-weight: 400; color: var(--dim); }
}
