/* v1.3.109 dedicated checkout page styling */
.checkout-clean-section{
  background:#fbfaf8!important;
  padding:42px 20px 70px!important;
}
.checkout-clean-container{
  width:min(1120px,100%)!important;
  margin:0 auto!important;
}
.checkout-clean-title{
  text-align:center!important;
  margin:0 0 28px!important;
}
.checkout-clean-title p{
  margin:0 0 10px!important;
  color:#9c8a7f!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
.checkout-clean-title h1{
  margin:0!important;
  color:#382a22!important;
  font-size:clamp(36px,4vw,54px)!important;
  line-height:1.03!important;
  letter-spacing:-.04em!important;
}
.checkout-clean-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 350px!important;
  gap:28px!important;
  align-items:start!important;
}
.checkout-card,
.checkout-details-card,
.checkout-clean-summary{
  background:#fff!important;
  border:1px solid #e7dbd0!important;
  border-radius:18px!important;
  box-shadow:0 24px 60px rgba(68,51,40,.07)!important;
  padding:28px!important;
  overflow:visible!important;
  transform:none!important;
}
.checkout-card:hover,
.checkout-details-card:hover,
.checkout-clean-summary:hover{transform:none!important;}
.checkout-card-header.checkout-clean-header,
.checkout-clean-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 22px!important;
  padding:0 0 18px!important;
  border:0!important;
  border-bottom:1px solid #eee3d9!important;
  background:transparent!important;
  background-image:none!important;
  border-radius:0!important;
}
.checkout-clean-header h2,
.checkout-clean-summary>h2,
.checkout-payment-title h2{
  margin:0!important;
  color:#1f2227!important;
  font-size:24px!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.checkout-existing-toggle,
.checkout-main-btn,
.checkout-login-submit{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  border-radius:12px!important;
  border:1px solid #dfbda8!important;
  background:#f6d9c8!important;
  color:#6d4a33!important;
  padding:10px 18px!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-weight:900!important;
  cursor:pointer!important;
  appearance:none!important;
}
.checkout-existing-toggle{min-width:180px!important;}
.checkout-existing-toggle:hover,.checkout-main-btn:hover,.checkout-login-submit:hover{background:#f2cdb8!important;}
.checkout-saved-note{color:#8a7d73!important;font-size:13px!important;font-weight:700!important;}
.checkout-login-panel[hidden]{display:none!important;}
.checkout-login-panel{margin:0 0 22px!important;}
.checkout-login-panel-inner,
.checkout-create-account-section{
  background:#fffdf9!important;
  border:1px solid #eee2d9!important;
  border-radius:16px!important;
  padding:18px!important;
}
.checkout-login-panel h3{margin:0 0 5px!important;font-size:18px!important;color:#2b2f34!important;}
.checkout-login-panel p,.checkout-create-account-section p{margin:0 0 14px!important;color:#7b716a!important;line-height:1.5!important;}
.checkout-fields.two{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;}
.checkout-fields.three{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:14px!important;}
.checkout-card label{display:grid!important;gap:7px!important;margin:0 0 14px!important;color:#5f554e!important;font-weight:800!important;}
.checkout-card input:not([type="radio"]):not([type="checkbox"]){
  width:100%!important;min-height:44px!important;border:1px solid #ddd4cc!important;border-radius:12px!important;padding:10px 12px!important;background:#fff!important;color:#2b2f34!important;font:inherit!important;box-sizing:border-box!important;
}
.checkout-card input:focus{outline:2px solid rgba(214,167,123,.22)!important;border-color:#d6a77b!important;}
.checkout-checkbox-line{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 10px!important;}
.checkout-checkbox-line input{width:16px!important;height:16px!important;margin:0!important;}
.checkout-clean-summary{position:sticky!important;top:18px!important;}
.checkout-summary-line{display:grid!important;grid-template-columns:58px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:14px 0!important;border-bottom:1px solid #eee7e1!important;}
.checkout-summary-line img{width:58px!important;height:58px!important;object-fit:cover!important;border-radius:10px!important;background:#f3f0ed!important;}
.checkout-summary-line strong{display:block!important;color:#5d5961!important;line-height:1.25!important;overflow-wrap:anywhere!important;}
.checkout-summary-line span{display:block!important;color:#7b716a!important;margin-top:3px!important;}
.checkout-total-box{padding:16px 0 8px!important;border-bottom:1px solid #eee7e1!important;margin-bottom:14px!important;}
.checkout-total-box p,.checkout-total-box h3{display:flex!important;justify-content:space-between!important;gap:16px!important;margin:0 0 12px!important;}
.checkout-total-box h3{color:#17191d!important;font-size:18px!important;}
.checkout-payment-title{margin:0 0 14px!important;}
.payment-choice{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;margin:0 0 12px!important;padding:14px!important;border:1px solid #e7ded5!important;border-radius:14px!important;background:#fffdf9!important;box-sizing:border-box!important;}
.payment-choice input[type="radio"]{width:18px!important;height:18px!important;margin:0!important;flex:0 0 auto!important;}
.payment-choice span{display:grid!important;gap:3px!important;color:#5f554e!important;font-weight:900!important;}
.payment-choice small{color:#806c5f!important;line-height:1.4!important;font-weight:700!important;}
.checkout-clean-summary .checkout-main-btn{width:100%!important;margin-top:14px!important;}
.checkout-error{background:#fdebea!important;border:1px solid #f4c0bb!important;color:#a33f34!important;border-radius:14px!important;padding:12px 16px!important;margin:0 0 18px!important;font-weight:800!important;}
@media(max-width:920px){.checkout-clean-grid{grid-template-columns:1fr!important}.checkout-clean-summary{position:static!important}}
@media(max-width:700px){.checkout-fields.two,.checkout-fields.three{grid-template-columns:1fr!important}.checkout-clean-header{align-items:flex-start!important;flex-direction:column!important}.checkout-existing-toggle{width:100%!important}}

/* v1.3.111 checkout payment option alignment */
.payment-choice {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  padding: 15px 16px !important;
}
.payment-choice input[type="radio"] {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: center !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
}
.payment-choice span {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  display: block !important;
  min-width: 0 !important;
  line-height: 1.3 !important;
}
.payment-choice span strong,
.payment-choice span b {
  display: block !important;
  margin: 0 0 3px !important;
}
.payment-choice small {
  display: block !important;
  margin-top: 3px !important;
  line-height: 1.35 !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;
  }
}
