﻿.cart-page{
  width:min(1120px, calc(100% - 40px));
  margin:0 auto;
  padding:calc(var(--nav-h) * 2 + 20px) 0 82px;
  display:grid;
  gap:13px;
}

.cart-hero{
  border:1px solid rgba(207,169,93,.24);
  border-radius:16px;
  padding:22px 20px;
  background:rgba(14,17,22,.72);
  box-shadow:0 7px 16px rgba(0,0,0,.2);
}

.cart-hero h1{
  margin:8px 0;
  color:var(--gold-ivory);
  font-size:30px;
  line-height:1.22;
  letter-spacing:.12px;
  max-width:800px;
}

.cart-hero .lead{
  margin:0;
  color:rgba(207,169,93,.78);
  font-size:14px;
  line-height:1.62;
  max-width:700px;
}

.status-pills{
  margin-top:11px;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.status-pills span{
  border:1px solid rgba(207,169,93,.24);
  border-radius:999px;
  padding:5px 10px;
  color:rgba(207,169,93,.84);
  background:rgba(207,169,93,.05);
  font-size:10px;
  letter-spacing:.5px;
}

.cart-layout{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:12px;
  align-items:start;
}

.cart-left{
  display:grid;
  gap:10px;
}

.cart-box,
.summary-card,
.elite-note{
  border:1px solid rgba(207,169,93,.2);
  border-radius:16px;
  padding:14px;
  background:rgba(11,14,19,.74);
  box-shadow:none;
}

.box-head{
  margin-bottom:10px;
}

.box-head h2{
  margin:0;
  color:var(--gold-ivory);
  font-size:18px;
  line-height:1.22;
}

.box-head p{
  margin:6px 0 0;
  color:rgba(207,169,93,.7);
  font-size:12px;
  line-height:1.54;
}

.cart-items{
  display:grid;
  gap:8px;
}

.cart-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 12px;
  align-items:center;
  border:1px solid rgba(207,169,93,.2);
  border-radius:10px;
  padding:8px 10px;
  background:rgba(7,10,14,.44);
}

.cart-item-main{
  min-width:0;
}

.cart-item-name{
  margin:0;
  color:var(--gold-ivory);
  font-size:14px;
  line-height:1.28;
}

.cart-item-meta{
  margin-top:3px;
  color:rgba(207,169,93,.62);
  font-size:10px;
  letter-spacing:.3px;
}

.cart-item-price{
  margin-top:4px;
  color:var(--gold);
  font-size:12px;
  font-weight:700;
}

.cart-item-controls{
  display:flex;
  align-items:center;
  gap:6px;
}

.qty-btn,
.remove-btn{
  min-width:auto;
  font-size:10px;
  letter-spacing:.35px;
}

.qty-btn:hover,
.remove-btn:hover{
  border-color:rgba(207,169,93,.62);
  background:rgba(207,169,93,.12);
}

.remove-btn{
  min-width:auto;
  font-size:10px;
  letter-spacing:.35px;
}


.delivery-box{
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(207,169,93,.12) 0%, rgba(207,169,93,0) 60%),
    linear-gradient(165deg, rgba(21,25,32,.9) 0%, rgba(11,14,19,.94) 100%);
}

.delivery-form{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px 12px;
}

.delivery-field{
  display:grid;
  gap:6px;
  color:rgba(207,169,93,.86);
  font-size:12px;
  line-height:1.35;
}

.delivery-field.full{
  grid-column:1 / -1;
}

.delivery-field input,
.delivery-field select,
.delivery-field textarea{
  border:1px solid rgba(207,169,93,.28);
  border-radius:12px;
  background:rgba(7,10,14,.46);
  color:var(--gold-ivory);
  padding:10px 12px;
  font-size:14px;
  line-height:1.45;
  transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.delivery-field textarea{
  min-height:110px;
  resize:vertical;
}

.delivery-field input::placeholder,
.delivery-field textarea::placeholder{
  color:rgba(207,169,93,.48);
}

.delivery-field input:focus,
.delivery-field select:focus,
.delivery-field textarea:focus{
  outline:none;
  border-color:rgba(207,169,93,.76);
  box-shadow:0 0 0 3px rgba(207,169,93,.14);
  background:rgba(7,10,14,.6);
}
.cart-empty{
  border:1px dashed rgba(207,169,93,.28);
  border-radius:12px;
  padding:16px 14px;
  background:rgba(7,10,14,.38);
  display:grid;
  gap:10px;
  text-align:center;
}

.cart-empty h3{
  margin:0;
  color:var(--gold-ivory);
  font-size:20px;
}

.cart-empty p{
  margin:0;
  color:rgba(207,169,93,.68);
  line-height:1.62;
  font-size:13px;
}

.cart-empty .btn{
  justify-self:center;
}

.options-grid,
.gift-choices{
  display:grid;
  gap:8px;
}

.option-row,
.gift-card{
  border:1px solid rgba(207,169,93,.2);
  border-radius:12px;
  padding:9px 10px;
  background:rgba(7,10,14,.4);
}

.option-row{
  display:flex;
  align-items:center;
  gap:9px;
}

.option-row input,
.gift-card input{
  accent-color:#c9b07b;
}

.option-row span{
  flex:1;
  color:rgba(207,169,93,.8);
  font-size:13px;
}

.option-row strong,
.gift-card strong{
  color:var(--gold);
  font-size:12px;
}

.gift-toggle{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.gift-mode{
  border:1px solid rgba(207,169,93,.28);
  border-radius:999px;
  background:rgba(207,169,93,.05);
  color:rgba(207,169,93,.8);
  padding:7px 12px;
  font-size:12px;
  letter-spacing:.45px;
  font-weight:700;
  cursor:pointer;
  transition:.2s ease;
}

.gift-mode.is-active{
  border-color:var(--gold);
  color:var(--gold-ivory);
  background:rgba(207,169,93,.14);
}

.gift-choices{
  margin-top:9px;
}

.gift-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:6px 9px;
  align-items:center;
}

.gift-card input{
  grid-row:span 2;
}

.gift-name{
  color:var(--gold-ivory);
  font-size:13px;
}

.gift-desc{
  color:rgba(207,169,93,.58);
  font-size:11px;
}

.gift-choices.is-disabled{
  opacity:.55;
  pointer-events:none;
}

.smart-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:9px;
}

.smart-grid label{
  display:grid;
  gap:5px;
  color:rgba(207,169,93,.78);
  font-size:11px;
  letter-spacing:.5px;
  text-transform:uppercase;
}

.smart-grid select{
  border:1px solid rgba(207,169,93,.28);
  border-radius:10px;
  background:rgba(7,10,14,.5);
  color:var(--gold-ivory);
  min-height:36px;
  padding:7px 9px;
}

.smart-note{
  margin:9px 0 0;
  color:rgba(207,169,93,.72);
  line-height:1.58;
  font-size:12px;
}

.cart-right{
  display:grid;
  gap:10px;
  position:sticky;
  top:calc(var(--nav-h) * 2 + 14px);
}

.summary-card h2{
  margin:0 0 10px;
  color:var(--gold-ivory);
  font-size:20px;
}

.ship-progress-wrap{
  border:1px solid rgba(207,169,93,.2);
  border-radius:12px;
  background:rgba(7,10,14,.4);
  padding:9px 10px;
  margin-bottom:10px;
}

.ship-progress-label{
  color:rgba(207,169,93,.74);
  font-size:12px;
  line-height:1.5;
}

.ship-progress-track{
  margin-top:7px;
  height:7px;
  border-radius:999px;
  background:rgba(207,169,93,.14);
  overflow:hidden;
}

.ship-progress-track span{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:var(--gold);
  transition:width .3s ease;
}

.summary-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 0;
  border-bottom:1px solid rgba(207,169,93,.14);
  color:rgba(207,169,93,.78);
  font-size:11px;
}

.summary-row strong{
  color:var(--gold);
  font-size:12px;
}

.summary-row.total{
  border-bottom:1px solid rgba(207,169,93,.24);
}

.summary-row.total strong{
  color:var(--gold-ivory);
  font-size:15px;
}

.summary-row.points{
  border-bottom:none;
}

.summary-row.points strong{
  color:rgba(207,169,93,.95);
}

.live-order{
  border:1px solid rgba(207,169,93,.2);
  border-radius:12px;
  padding:9px 10px;
  background:rgba(7,10,14,.4);
  margin-top:6px;
}

.live-header{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--gold-ivory);
  font-size:12px;
  margin-bottom:7px;
}

.live-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
}

.live-steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:6px;
}

.live-step{
  border:1px solid rgba(207,169,93,.18);
  border-radius:10px;
  padding:6px 7px;
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
  color:rgba(207,169,93,.68);
  font-size:11px;
}

.live-step-index{
  width:20px;
  height:20px;
  border-radius:50%;
  border:1px solid rgba(207,169,93,.28);
  display:grid;
  place-items:center;
  font-weight:700;
}

.live-step-time{
  font-size:10px;
  color:rgba(207,169,93,.5);
}

.live-step.is-active{
  border-color:rgba(207,169,93,.5);
  color:var(--gold-ivory);
}

.live-step.is-active .live-step-index{
  border-color:var(--gold);
  background:rgba(207,169,93,.12);
}

.live-step.is-done{
  border-color:rgba(207,169,93,.32);
}

.live-note{
  margin:7px 0 0;
  color:rgba(207,169,93,.62);
  font-size:11px;
}

.checkout-btn{
  width:100%;
  margin-top:10px;
}

.consent-row{
  margin-top:10px;
  display:flex;
  gap:9px;
  align-items:flex-start;
  color:rgba(207,169,93,.74);
  font-size:11px;
  line-height:1.55;
}

.consent-row input{
  margin-top:2px;
  accent-color:#c9b07b;
}

.consent-row a{
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:2px;
}

.checkout-validation{
  min-height:18px;
  margin:8px 0 0;
  font-size:11px;
  line-height:1.45;
  color:rgba(207,169,93,.64);
}

.checkout-validation.is-error{
  color:#ff8f8f;
}

.checkout-validation.is-success{
  color:#95e6b1;
}

.summary-foot{
  margin:9px 0 0;
  color:rgba(207,169,93,.62);
  line-height:1.55;
  font-size:11px;
}

.elite-note h3{
  margin:0 0 8px;
  color:var(--gold-ivory);
  font-size:17px;
}

.elite-note ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}

.elite-note li{
  position:relative;
  padding-left:13px;
  color:rgba(207,169,93,.74);
  font-size:11px;
  line-height:1.55;
}

.elite-note li::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--gold);
}

@media(max-width:1150px){
  .cart-layout{
    grid-template-columns:minmax(0,1fr) minmax(290px,.92fr);
  }
}

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

  .cart-right{
    position:static;
    top:auto;
  }

  .delivery-form{
    grid-template-columns:1fr;
  }

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

  .cart-item{
    grid-template-columns:1fr;
    gap:8px;
  }

  .cart-item-controls{
    justify-content:flex-start;
  }
}

@media(max-width:768px){
  .cart-page{
    width:calc(100% - 22px);
    padding:calc(var(--nav-h) * 2 + 12px) 0 64px;
    gap:10px;
  }

  .cart-hero{
    border-radius:14px;
    padding:14px 12px;
  }

  .cart-hero h1{
    font-size:22px;
  }

  .cart-hero .lead{
    font-size:12px;
    line-height:1.55;
  }

  .status-pills span{
    font-size:9px;
    padding:5px 9px;
  }

  .cart-box,
  .summary-card,
  .elite-note{
    border-radius:12px;
    padding:10px;
  }

  .box-head h2{
    font-size:17px;
  }

  .box-head p{
    font-size:11px;
  }

  .delivery-form{
    gap:8px;
  }

  .delivery-field{
    font-size:11px;
  }

  .delivery-field input,
  .delivery-field select,
  .delivery-field textarea{
    border-radius:10px;
    padding:8px 9px;
    font-size:13px;
  }
}

