/* ==========================================================
   NOVA CHECKOUT 2.1
   Loaded LAST intentionally.
========================================================== */

#cart #order.checkout-form{
  display:flex;
  flex-direction:column;
  gap:14px;

  margin-top:22px;
}

#cart #order.checkout-form.hidden{
  display:none !important;
}


/* HEADER */

#cart .checkout-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;

  margin-bottom:3px;
}

#cart .checkout-head > div{
  min-width:0;
}

#cart .checkout-head small{
  display:block;

  margin-bottom:5px;

  color:#707077;

  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
}

#cart .checkout-head h3{
  margin:0 !important;

  color:#fff;

  font-size:21px;
  line-height:1.15;
}

#cart .checkout-nova{
  flex:0 1 auto;

  max-width:210px;

  padding:7px 10px;

  overflow:hidden;

  border:1px solid rgba(130,105,255,.25);
  border-radius:999px;

  background:rgba(130,105,255,.10);

  color:#a997ff;

  font-size:9px;
  font-weight:750;

  text-overflow:ellipsis;
  white-space:nowrap;
}


/* SECTIONS */

#cart .checkout-section{
  display:block;

  padding:16px;

  border:1px solid rgba(255,255,255,.075);
  border-radius:16px;

  background:rgba(255,255,255,.025);
}

#cart .checkout-section-title{
  display:flex;
  align-items:center;
  gap:9px;

  margin-bottom:13px;

  color:#e9e9eb;

  font-size:12px;
  font-weight:750;
}

#cart .checkout-section-title > span{
  width:23px;
  height:23px;

  display:flex;
  align-items:center;
  justify-content:center;

  flex:0 0 23px;

  border-radius:7px;

  background:rgba(128,104,255,.14);
  color:#a28fff;

  font-size:10px;
}


/* GRID */

#cart .checkout-grid{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);

  gap:10px;
}

#cart .checkout-field{
  display:flex;
  flex-direction:column;
  gap:7px;

  min-width:0;
}

#cart .checkout-field > span{
  color:#73737a;

  font-size:8px;
  font-weight:800;

  letter-spacing:.08em;
  text-transform:uppercase;
}


/* INPUTS */

#cart .checkout-field input{
  appearance:none;
  -webkit-appearance:none;

  width:100% !important;
  height:46px !important;
  min-height:46px !important;

  box-sizing:border-box !important;

  margin:0 !important;
  padding:0 13px !important;

  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:11px !important;

  background:#19191c !important;
  color:#f3f3f4 !important;

  font:inherit !important;
  font-size:12px !important;

  outline:none !important;

  box-shadow:none !important;
}

#cart .checkout-field input::placeholder{
  color:#606067 !important;
}

#cart .checkout-field input:focus{
  border-color:rgba(128,104,255,.7) !important;

  box-shadow:
    0 0 0 3px rgba(128,104,255,.08)
    !important;
}


/* DELIVERY / PAYMENT OPTIONS */

#cart .checkout-options{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);

  gap:10px;
}

#cart label.checkout-option{
  position:relative;

  display:block;

  min-width:0;

  margin:0 !important;
  padding:0 !important;

  cursor:pointer;
}

#cart label.checkout-option > input[type="radio"]{
  position:absolute !important;

  width:1px !important;
  height:1px !important;

  margin:0 !important;
  padding:0 !important;

  opacity:0 !important;

  pointer-events:none;
}

#cart .checkout-option-box{
  min-height:64px;

  box-sizing:border-box;

  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;

  padding:13px 14px;

  border:1px solid rgba(255,255,255,.085);
  border-radius:12px;

  background:#19191c;

  transition:
    border-color .18s ease,
    background .18s ease,
    transform .18s ease;
}

#cart .checkout-option-box b{
  display:block;

  color:#e4e4e7;

  font-size:12px;
  line-height:1.25;
}

#cart .checkout-option-box small{
  display:block;

  color:#707077;

  font-size:9px;
  line-height:1.35;
}

#cart label.checkout-option:hover
.checkout-option-box{
  border-color:rgba(255,255,255,.16);

  background:#1d1d20;
}

#cart label.checkout-option
> input[type="radio"]:checked
+ .checkout-option-box{
  border-color:rgba(128,104,255,.72);

  background:
    linear-gradient(
      135deg,
      rgba(128,104,255,.15),
      rgba(128,104,255,.055)
    );

  box-shadow:
    inset 0 0 0 1px
    rgba(128,104,255,.08);
}

#cart label.checkout-option
> input[type="radio"]:checked
+ .checkout-option-box b{
  color:#fff;
}

#cart label.checkout-option
> input[type="radio"]:checked
+ .checkout-option-box::after{
  content:"✓";

  position:absolute;

  top:10px;
  right:11px;

  width:18px;
  height:18px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:#8068ff;
  color:#fff;

  font-size:10px;
  font-weight:900;
}


/* DELIVERY FIELDS */

#cart .checkout-delivery-fields{
  margin-top:10px;
}

#cart .checkout-delivery-fields.hidden{
  display:none !important;
}


/* BUTTON */

#cart .checkout-submit{
  width:100% !important;
  height:52px !important;

  box-sizing:border-box;

  display:flex !important;
  align-items:center;
  justify-content:space-between;

  margin:0 !important;
  padding:0 17px !important;

  border-radius:12px !important;

  font-size:12px !important;
  font-weight:800 !important;
}

#cart .checkout-submit strong{
  font-size:12px;
}


/* NOTE */

#cart #checkoutNote{
  margin-top:13px;

  color:#626269;

  font-size:9px;
  line-height:1.5;
}

#cart #checkoutNote.hidden{
  display:none !important;
}


/* SUCCESS */

#cart #checkoutSuccess{
  box-sizing:border-box;

  padding:50px 25px 35px;

  text-align:center;
}

#cart #checkoutSuccess.hidden{
  display:none !important;
}

#cart .checkout-success-icon{
  width:58px;
  height:58px;

  display:flex;
  align-items:center;
  justify-content:center;

  margin:0 auto 17px;

  border:1px solid rgba(67,223,162,.25);
  border-radius:50%;

  background:rgba(67,223,162,.09);

  color:#43dfa2;

  font-size:25px;
  font-weight:900;
}

#cart #checkoutSuccess > small{
  color:#66666d;

  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
}

#cart #checkoutSuccess h3{
  margin:8px 0 12px !important;

  color:#fff;

  font-size:23px;
}

#cart #checkoutSuccess p{
  margin:6px 0;

  color:#a1a1a7;

  font-size:12px;
  line-height:1.5;
}

#cart #checkoutSuccess p strong{
  color:#fff;
}

#cart #checkoutSuccess button{
  min-height:46px;

  margin-top:19px;
}


/* HARD HIDDEN FIX */

#cart .hidden{
  display:none !important;
}


/* MOBILE */

@media(max-width:600px){

  #cart .checkout-grid,
  #cart .checkout-options{
    grid-template-columns:1fr;
  }

  #cart .checkout-head{
    flex-direction:column;
  }

  #cart .checkout-nova{
    max-width:100%;
  }

  #cart .checkout-section{
    padding:14px;
  }
}


/* ============================================================
   NOVA POSHTA 1.0
============================================================ */

#cart .np-field{
  position:relative;
}

#cart .np-combobox{
  position:relative;
}

#cart .np-combobox > input:not([type="hidden"]){
  padding-right:34px !important;
}

#cart .np-combobox > input:disabled{
  opacity:.55;
  cursor:not-allowed;
}

#cart .np-results{
  position:absolute;
  z-index:100;

  top:calc(100% + 7px);
  left:0;
  right:0;

  max-height:260px;

  overflow-x:hidden;
  overflow-y:auto;

  padding:6px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;

  background:#18181b;

  box-shadow:
    0 18px 45px rgba(0,0,0,.55);
}

#cart .np-results.hidden{
  display:none !important;
}

#cart .np-result{
  appearance:none;

  width:100%;

  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;

  margin:0 !important;
  padding:10px 11px !important;

  border:0 !important;
  border-radius:8px !important;

  background:transparent !important;

  color:#fff !important;

  text-align:left;

  cursor:pointer;
}

#cart .np-result:hover{
  background:
    rgba(128,104,255,.12)
    !important;
}

#cart .np-result b{
  color:#eee;

  font-size:11px;
  font-weight:750;
  line-height:1.35;
}

#cart .np-result span{
  color:#77777e;

  font-size:9px;
  line-height:1.4;
}

#cart .np-loading,
#cart .np-empty{
  padding:14px 11px;

  color:#77777e;

  font-size:10px;
  text-align:center;
}

#cart .np-results::-webkit-scrollbar{
  width:6px;
}

#cart .np-results::-webkit-scrollbar-thumb{
  border-radius:10px;

  background:
    rgba(255,255,255,.12);
}

@media(max-width:600px){

  #cart .np-results{
    max-height:220px;
  }
}

