
/* v1.3.82 cart coupon layout: coupon sits under totals, stacked cleanly */
.basket-summary-card .coupon-form,
.basket-summary-card .improved-coupon-form{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-items:stretch!important;
  margin:18px 0 14px!important;
}
.basket-summary-card .coupon-form label,
.basket-summary-card .improved-coupon-form label{
  display:grid!important;
  gap:8px!important;
  width:100%!important;
  margin:0!important;
  color:#4f453f!important;
  font-weight:900!important;
}
.basket-summary-card .coupon-form input,
.basket-summary-card .improved-coupon-form input{
  width:100%!important;
  min-height:46px!important;
  box-sizing:border-box!important;
  border:1px solid #dacdc3!important;
  border-radius:13px!important;
  background:#fff!important;
  padding:10px 13px!important;
  font:inherit!important;
  color:#2c3035!important;
}
.basket-summary-card .coupon-form .site-light-btn,
.basket-summary-card .improved-coupon-form .site-light-btn,
.basket-summary-card .checkout-button-light{
  width:100%!important;
  min-height:46px!important;
  border-radius:14px!important;
  background:#f7e6d8!important;
  border:1px solid #dfc2ad!important;
  color:#6d442d!important;
  font-weight:900!important;
  text-align:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  text-decoration:none!important;
}
.basket-summary-card .coupon-form .site-light-btn:hover,
.basket-summary-card .checkout-button-light:hover{
  background:#f1d9c7!important;
}
.remove-coupon-link{
  color:#6d442d!important;
  font-weight:850!important;
  text-align:center!important;
  text-decoration:none!important;
}

/* v1.3.110 coupon toggle panel */
.basket-summary-card .coupon-toggle-panel{
  margin:18px 0 14px!important;
  border-top:1px solid #eee3db!important;
  padding-top:16px!important;
}
.basket-summary-card .coupon-toggle-panel summary{
  list-style:none!important;
  cursor:pointer!important;
  color:#6d442d!important;
  font-weight:900!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
  margin-bottom:0!important;
  display:inline-flex!important;
  align-items:center!important;
}
.basket-summary-card .coupon-toggle-panel summary::-webkit-details-marker{display:none!important;}
.basket-summary-card .coupon-toggle-panel[open] summary{margin-bottom:12px!important;}
.basket-summary-card .coupon-toggle-panel .coupon-form,
.basket-summary-card .coupon-toggle-panel .improved-coupon-form{
  margin:0!important;
}


/* v1.0.16 mobile cart + checkout optimisation */
@media (max-width: 860px){

  .cart-page,
  .checkout-page,
  .cart-section,
  .checkout-section{
    padding-bottom:120px !important;
  }

  .cart-layout,
  .checkout-layout,
  .checkout-grid,
  .cart-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .cart-card,
  .checkout-card,
  .checkout-summary,
  .cart-summary,
  .cart-items,
  .checkout-form-wrap{
    border-radius:22px !important;
    padding:16px !important;
    overflow:hidden !important;
  }

  .cart-item,
  .checkout-item,
  .basket-item{
    display:grid !important;
    grid-template-columns:88px 1fr !important;
    gap:12px !important;
    align-items:start !important;
    padding:12px 0 !important;
  }

  .cart-item img,
  .checkout-item img,
  .basket-item img{
    width:88px !important;
    height:88px !important;
    object-fit:cover !important;
    border-radius:16px !important;
  }

  .cart-item-details,
  .checkout-item-details{
    min-width:0 !important;
  }

  .cart-item h3,
  .checkout-item h3,
  .basket-item h3{
    font-size:14px !important;
    line-height:1.35 !important;
    margin-bottom:6px !important;
  }

  .cart-price,
  .checkout-price,
  .basket-price{
    font-size:13px !important;
  }

  .qty-wrap,
  .quantity-wrap,
  .cart-qty{
    width:100% !important;
    justify-content:flex-start !important;
    margin-top:8px !important;
  }

  .qty-wrap button,
  .quantity-wrap button,
  .cart-qty button{
    width:40px !important;
    height:40px !important;
    border-radius:12px !important;
  }

  .qty-wrap input,
  .quantity-wrap input,
  .cart-qty input{
    height:40px !important;
    min-width:58px !important;
    font-size:16px !important;
    text-align:center !important;
  }

  .checkout-form,
  .checkout-fields{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .checkout-form input,
  .checkout-form select,
  .checkout-form textarea,
  .checkout-fields input,
  .checkout-fields select,
  .checkout-fields textarea{
    min-height:50px !important;
    border-radius:14px !important;
    font-size:16px !important;
  }

  .checkout-form textarea,
  .checkout-fields textarea{
    min-height:120px !important;
  }

  .checkout-summary,
  .cart-summary{
    position:sticky !important;
    bottom:86px !important;
    z-index:20 !important;
    box-shadow:0 16px 40px rgba(63,48,43,.14) !important;
  }

  .checkout-total,
  .cart-total{
    font-size:18px !important;
  }

  .checkout-actions,
  .cart-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .checkout-actions .btn,
  .cart-actions .btn,
  .checkout-button,
  .cart-button{
    width:100% !important;
    min-height:52px !important;
    border-radius:999px !important;
    font-size:15px !important;
  }

  .payment-methods,
  .payment-options{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .payment-method,
  .payment-option{
    border-radius:16px !important;
    padding:14px !important;
  }

  .coupon-row,
  .discount-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .coupon-row .btn,
  .discount-row .btn{
    width:100% !important;
  }
}


/* v1.0.17 mobile checkout/cart summary fix - do not cover forms */
@media (max-width: 860px){
  .checkout-summary,
  .cart-summary{
    position:static !important;
    bottom:auto !important;
    z-index:auto !important;
    box-shadow:0 12px 30px rgba(63,48,43,.10) !important;
  }

  .checkout-layout,
  .checkout-grid,
  .cart-layout,
  .cart-grid{
    align-items:start !important;
  }

  .checkout-section,
  .cart-section,
  .checkout-page,
  .cart-page{
    padding-bottom:calc(110px + var(--safe-bottom)) !important;
  }
}
