.cart-page{
  background:#FBF8F3;
}

.cart-header{
  border-bottom:1px solid rgba(95,91,85,.16);
  background:#FBF8F3;
}

.cart-nav{
  min-height:112px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}

.cart-brand{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  line-height:1;
}

.cart-brand span{
  font-family:"Cormorant Garamond",serif;
  font-size:17px;
  font-style:italic;
  color:#C7A46A;
}

.cart-brand strong{
  font-family:"Cormorant Garamond",serif;
  font-size:30px;
  font-weight:400;
  letter-spacing:8px;
}

.cart-brand small{
  margin-top:8px;
  font-size:6px;
  letter-spacing:4px;
  text-transform:uppercase;
}

.back-link{
  font-size:9px;
  letter-spacing:2px;
  text-transform:uppercase;
}

.cart-main{
  padding:90px 0 140px;
}

.cart-heading{
  max-width:760px;
  margin-bottom:65px;
}

.cart-heading h1,
.order-success h1{
  margin:14px 0 16px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(58px,7vw,92px);
  font-weight:400;
  line-height:.95;
}

.cart-heading p,
.order-success p{
  font-size:13px;
  line-height:1.9;
  color:rgba(95,91,85,.72);
}

.cart-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
  gap:70px;
  align-items:start;
}

.cart-summary{
  display:grid;
  grid-template-columns:minmax(210px,.8fr) minmax(260px,1.2fr);
  gap:34px;
  padding:24px;
  background:#fff;
}

.cart-summary img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
}

.cart-product{
  display:flex;
  min-height:520px;
  flex-direction:column;
  padding:22px 6px;
}

.cart-product h2,
.checkout-panel h2{
  margin:10px 0 15px;
  font-family:"Cormorant Garamond",serif;
  font-size:48px;
  font-weight:400;
  line-height:1;
}

.cart-product p{
  font-size:12px;
  line-height:1.8;
  color:rgba(95,91,85,.7);
}

.unit-price{
  margin-top:13px;
  color:#C7A46A !important;
}

.quantity-form{
  margin-top:42px;
}

.quantity-form label,
.checkout-form label{
  display:grid;
  gap:8px;
}

.quantity-form label,
.checkout-form label > span{
  font-size:8px;
  letter-spacing:1.8px;
  text-transform:uppercase;
}

.quantity-form select{
  width:110px;
  margin-top:9px;
  padding:13px;
  border:1px solid rgba(95,91,85,.16);
  background:#fff;
  color:#5F5B55;
}

.cart-total{
  margin-top:auto;
  padding-top:24px;
  border-top:1px solid rgba(95,91,85,.16);
  display:flex;
  justify-content:space-between;
  align-items:end;
}

.cart-total span{
  font-size:9px;
  letter-spacing:2px;
  text-transform:uppercase;
}

.cart-total strong{
  font-family:"Cormorant Garamond",serif;
  font-size:34px;
  font-weight:400;
  color:#C7A46A;
}

.checkout-panel{
  padding:45px;
  background:#F0EBE3;
}

.checkout-title{
  margin-bottom:34px;
}

.checkout-form{
  display:grid;
  gap:34px;
}

.checkout-step{
  padding-top:30px;
  border-top:1px solid rgba(95,91,85,.16);
}

.step-heading{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}

.step-heading > span{
  color:#C7A46A;
  font-size:9px;
  letter-spacing:2px;
}

.step-heading h3{
  font-family:"Cormorant Garamond",serif;
  font-size:28px;
  font-weight:400;
}

.checkout-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.checkout-grid .full{
  grid-column:1/-1;
}

.checkout-form input,
.checkout-form select,
.checkout-form textarea{
  width:100%;
  padding:14px;
  border:1px solid rgba(95,91,85,.16);
  background:#fff;
  color:#5F5B55;
  outline:none;
}

.checkout-form input:focus,
.checkout-form textarea:focus{
  border-color:#C7A46A;
}

.checkout-form textarea{
  min-height:110px;
  resize:vertical;
}

.delivery-options{
  display:grid;
  gap:14px;
}

.delivery-card{
  position:relative;
  display:grid !important;
  grid-template-columns:22px 1fr auto;
  gap:15px;
  align-items:start;
  padding:20px;
  border:1px solid rgba(95,91,85,.16);
  background:#fff;
  cursor:pointer;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.delivery-card:hover,
.delivery-card.selected{
  border-color:#C7A46A;
  box-shadow:0 8px 28px rgba(95,91,85,.08);
}

.delivery-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.delivery-radio{
  width:18px;
  height:18px;
  border:1px solid rgba(95,91,85,.38);
  border-radius:50%;
  display:grid;
  place-items:center;
}

.delivery-card.selected .delivery-radio::after{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#C7A46A;
}

.delivery-content{
  display:block;
}

.delivery-content strong{
  display:block;
  margin-bottom:8px;
  font-family:"Cormorant Garamond",serif;
  font-size:24px;
  font-weight:400;
}

.delivery-content small,
.delivery-content em{
  display:block;
  font-size:10px;
  line-height:1.7;
  color:rgba(95,91,85,.72);
}

.delivery-content em{
  margin-top:8px;
  color:#C7A46A;
  font-style:normal;
}

.delivery-price{
  font-family:"Cormorant Garamond",serif;
  font-size:20px;
  color:#C7A46A;
  white-space:nowrap;
}

.shipping-address{
  margin-top:20px;
  padding:20px;
  background:rgba(255,255,255,.45);
}

.shipping-address[hidden]{
  display:none;
}

.order-recap{
  display:grid;
  gap:15px;
}

.order-recap > div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
}

.order-recap span{
  font-size:10px;
  letter-spacing:1px;
  text-transform:uppercase;
}

.order-recap strong{
  font-family:"Cormorant Garamond",serif;
  font-size:23px;
  font-weight:400;
}

.order-total{
  margin-top:8px;
  padding-top:18px;
  border-top:1px solid rgba(95,91,85,.16);
}

.order-total strong{
  font-size:34px;
  color:#C7A46A;
}

.free-shipping-note{
  padding:11px 13px;
  background:rgba(199,164,106,.11);
  font-size:10px;
  line-height:1.6;
  color:#8D7045;
}

.message-field{
  margin-top:-4px;
}

.cart-button{
  display:inline-block;
  width:100%;
  padding:18px 24px;
  border:0;
  background:#5F5B55;
  color:#fff;
  text-align:center;
  font-size:9px;
  letter-spacing:2.3px;
  text-transform:uppercase;
  cursor:pointer;
}

.cart-button:hover{
  background:#C7A46A;
}

.checkout-note{
  margin-top:-16px;
  font-size:10px;
  line-height:1.8;
  color:rgba(95,91,85,.68);
}

.form-errors{
  max-width:720px;
  margin-bottom:30px;
  padding:18px 22px;
  border:1px solid rgba(145,55,55,.22);
  background:rgba(145,55,55,.06);
}

.form-errors p{
  font-size:11px;
  line-height:1.7;
}

.order-success{
  max-width:760px;
  margin:70px auto;
  padding:70px;
  background:#fff;
  text-align:center;
}

.order-success p + p{
  margin-top:12px;
}

.success-total{
  margin-top:28px !important;
}

.success-total strong{
  color:#C7A46A;
}

.order-success .cart-button{
  width:auto;
  margin-top:32px;
}

@media(max-width:1050px){
  .cart-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .cart-nav{
    min-height:90px;
  }

  .back-link{
    font-size:7px;
    letter-spacing:1.3px;
  }

  .cart-main{
    padding:60px 0 100px;
  }

  .cart-summary{
    grid-template-columns:1fr;
  }

  .cart-summary img{
    min-height:400px;
  }

  .cart-product{
    min-height:auto;
  }

  .cart-total{
    margin-top:42px;
  }

  .checkout-panel{
    padding:28px 20px;
  }

  .checkout-grid{
    grid-template-columns:1fr;
  }

  .checkout-grid .full{
    grid-column:auto;
  }

  .delivery-card{
    grid-template-columns:22px 1fr;
  }

  .delivery-price{
    grid-column:2;
    margin-top:4px;
  }

  .order-success{
    padding:45px 22px;
  }
}


/* Panier contenant plusieurs références */
.cart-summary-multiple{
  display:block;
}

.checkout-cart-items{
  display:grid;
  gap:0;
}

.checkout-cart-item{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:28px;
  padding:24px;
  background:#fff;
  border-bottom:1px solid rgba(95,91,85,.16);
}

.checkout-cart-item:last-child{
  border-bottom:0;
}

.checkout-cart-item img{
  width:180px;
  height:230px;
  object-fit:cover;
}

.checkout-cart-item-info{
  padding:10px 0;
}

.checkout-cart-item-info h2{
  margin:8px 0 10px;
  font-family:"Cormorant Garamond",serif;
  font-size:38px;
  font-weight:400;
  line-height:1;
}

.checkout-cart-item-info > strong{
  font-family:"Cormorant Garamond",serif;
  font-size:25px;
  font-weight:400;
  color:#C7A46A;
}

.checkout-cart-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:24px;
}

.checkout-line-total{
  margin-top:20px;
  font-size:10px;
  color:rgba(95,91,85,.68);
}

.checkout-line-total strong{
  color:#5F5B55;
}

.cart-summary-total{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  padding:25px 24px;
  background:#fff;
  border-top:1px solid rgba(95,91,85,.16);
}

.cart-summary-total span{
  font-size:9px;
  letter-spacing:2px;
  text-transform:uppercase;
}

.cart-summary-total strong{
  font-family:"Cormorant Garamond",serif;
  font-size:34px;
  font-weight:400;
  color:#C7A46A;
}

.cart-empty-page{
  max-width:680px;
  padding:60px;
  background:#fff;
  text-align:center;
}

.cart-empty-page h2{
  margin:12px 0 18px;
  font-family:"Cormorant Garamond",serif;
  font-size:48px;
  font-weight:400;
}

.cart-empty-page p{
  margin-bottom:28px;
  font-size:12px;
  line-height:1.8;
  color:rgba(95,91,85,.68);
}

.cart-empty-page .cart-button{
  width:auto;
}

@media(max-width:700px){
  .checkout-cart-item{
    grid-template-columns:110px minmax(0,1fr);
    gap:18px;
    padding:18px;
  }

  .checkout-cart-item img{
    width:110px;
    height:150px;
  }

  .checkout-cart-item-info h2{
    font-size:30px;
  }

  .checkout-cart-actions{
    align-items:flex-start;
    flex-direction:column;
  }

  .cart-empty-page{
    padding:42px 22px;
  }
}


/* Commande invité ou création de compte */
.account-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.account-card{
  position:relative;
  display:grid !important;
  grid-template-columns:22px 1fr;
  gap:15px;
  align-items:start;
  min-height:145px;
  padding:20px;
  border:1px solid rgba(95,91,85,.16);
  background:#fff;
  cursor:pointer;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.account-card:hover,
.account-card.selected{
  border-color:#C7A46A;
  box-shadow:0 8px 28px rgba(95,91,85,.08);
}

.account-card.selected{
  transform:translateY(-1px);
}

.account-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.account-radio{
  width:18px;
  height:18px;
  border:1px solid rgba(95,91,85,.38);
  border-radius:50%;
  display:grid;
  place-items:center;
}

.account-card.selected .account-radio::after{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#C7A46A;
}

.account-content strong{
  display:block;
  margin-bottom:9px;
  font-family:"Cormorant Garamond",serif;
  font-size:23px;
  font-weight:400;
  line-height:1.08;
}

.account-content small{
  display:block;
  font-size:10px;
  line-height:1.7;
  color:rgba(95,91,85,.7);
}

.account-fields{
  margin-top:18px;
  padding:20px;
  background:rgba(255,255,255,.48);
}

.account-fields[hidden]{
  display:none;
}

.account-hint{
  margin-top:13px;
  font-size:9px;
  line-height:1.7;
  color:rgba(95,91,85,.65);
}

@media(max-width:700px){
  .account-options{
    grid-template-columns:1fr;
  }

  .account-card{
    min-height:auto;
  }
}


.account-status{
  margin-top:12px;
  font-size:10px;
  line-height:1.7;
  color:rgba(95,91,85,.68);
}

.account-status a{
  color:#C7A46A;
  text-decoration:underline;
  text-underline-offset:3px;
}

.order-number{
  margin:22px 0 10px !important;
  font-size:12px !important;
  letter-spacing:1px;
}

.order-number strong{
  color:#C7A46A;
}


.checkout-login-box{
  margin-top:20px;
  padding:18px 20px;
  border:1px solid rgba(95,91,85,.14);
  background:rgba(255,255,255,.58);
}

.checkout-login-box span{
  display:block;
  margin-bottom:7px;
  font-size:7px;
  letter-spacing:1.7px;
  text-transform:uppercase;
  color:#C7A46A;
}

.checkout-login-box strong{
  display:block;
  font-family:"Cormorant Garamond",serif;
  font-size:20px;
  font-weight:400;
  line-height:1.2;
}

.checkout-login-box a{
  display:inline-block;
  margin-top:12px;
  color:#5F5B55;
  font-size:8px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  text-underline-offset:4px;
}

.checkout-login-box.connected{
  border-color:rgba(199,164,106,.35);
}

.success-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.success-link.secondary{
  background:transparent;
  color:#5F5B55;
  border:1px solid rgba(95,91,85,.25);
}
