

.shoppingcart_tabs{
  margin: 0 0 15px;
}
.shoppingcart_tabs .step_item{
  
  width: 25%;
  padding: 10px 25px 10px 60px;
  background: var(--box_clr);
  font-size: 1rem;
  line-height: 34px;
}
.shoppingcart_tabs .step_item i{
  
  margin: 0 0 0 -47px;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  border-radius: 100%;
  background: #fff;
}
.shoppingcart_tabs .step_item.done{
  background: var(--clr2);
  color: #fff;
}
.shoppingcart_tabs .step_item.done i{
  color: var(--clr2)
}
.shoppingcart_tabs .step_item.current{
  background: rgba(75,182,80,0.5);
  color: #fff;
}
.shoppingcart_tabs .step_item.current i{
  color: var(--clr2)
}

#shopping_cart{
  margin: 0 0 30px;
  position: relative;
  
}
.shopping_cart_container{
  font-size: 1rem;
}
.shopping_cart_row{
  border-bottom: 1px solid var(--border_clr);
  position: relative;
  padding: 5px 0;
  display:grid; grid-template-columns:4rem 1fr 21rem 6.5rem 1rem; gap:1rem;
}
.shopping_cart_row.out-of-stock::before{
  content: "Niet beschikbaar voor deze periode";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 1rem;
  color: #000;
  background: rgba(255,255,255,0.85);
  z-index: 2;
}
.shopping_cart_row.out-of-stock .hire_date_block,
.shopping_cart_row.out-of-stock .scr_delete{
  z-index: 3;
}
.shopping_cart_row.out-of-stock .qty_row{
  visibility: hidden;
}
.shopping_cart_row.out-of-stock > span:nth-child(1),
.shopping_cart_row.out-of-stock > span:nth-child(2),
.shopping_cart_row.out-of-stock .scr_price{
  opacity: 0.25;
}
.shopping_cart_row:first-child{
  border-top: 1px solid var(--border_clr);
}

.shopping_cart_row img{object-fit:cover; aspect-ratio:1 / 1}

.shopping_cart_row > span:nth-child(1){
  
  font-size: 0;
}
.shopping_cart_row > span:nth-child(2){ 
   display: grid;align-items: center;
}
.shopping_cart_row > span:nth-child(2) span{

}
.shopping_cart_row > span:nth-child(3){
      display: grid;
    grid-template-columns: 4rem 1fr;
    gap: 1rem;
	    align-items: center;
}
.shopping_cart_row > span .qty_row{
   display: flex; flex-wrap:wrap;
   
    gap:5px;
  
}
.shopping_cart_row > span .qty_row input{
  
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--border_clr);
  text-align: center
}
.shopping_cart_row .qty_info{
  text-align: left;
  margin: 5px 0 0;
  line-height: 14px;
}
.product-stock-msg{
  display: inline-block;
}
.shopping_cart_row > span .qty_row a{
  
  width: 1.5rem;
  height: 2rem;
  line-height: 2rem;
  text-align: center;
  color: color-mix(var(--clr1) 50% , transparent);
}
.shopping_cart_row > span .qty_row a.active{
  color: var(--clr1)
}
.shopping_cart_row > span input.datepicker{
  
  width: 7.5rem;
  height: 2rem;
  padding: 0 0 0 1.5rem;
  border: 1px solid var(--border_clr);
  background: #fff url(../../img/calendar_icon.png) no-repeat 0.5rem center / 0.8rem auto;
  cursor: pointer;
  font-size: 0.75rem;
}
.shopping_cart_row > span input.datepicker:last-child{
 
}

.shopping_cart_row .hire_date_block{display:flex; flex-wrap:wrap; gap:0.5rem; align-items:center; height:100%}

.shopping_cart_row > span:nth-child(4){
  display:grid; align-items:center; text-align:right;
}
.shopping_cart_row > span:nth-child(4) span{
  min-width: 130px
}
.shopping_cart_row > span:nth-child(5){
 
  display:grid; align-items:center
 
}
.shopping_cart_row > span:nth-child(5) a{
  
  width: auto;
  height: 2rem;
  line-height: 2rem;
  text-align: center;
  color: var(--border_clr);
  font-size: 1rem;
}
.shopping_cart_row > span:nth-child(5) a:hover{
  color: red
}
.shopping_cart_row .product_link{
  color: inherit
}
.shopping_cart_row .product_link:hover{
  text-decoration: underline
}

.shopping_cart_totals{
  
  padding: 5px 0;
  display:grid; 
}
.shopping_cart_totals.fixed{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 2;
  background: #fff;
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
  -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
  box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}
.shopping_cart_totals > span{
  
  width: 100%;
  text-align: right;
  padding: 5px 0px;
}
.shopping_cart_totals > span span{
  display: inline-block;
  width: 150px;
}
.shopping_cart_totals > span.sct_total{
  font-weight: bold;
  font-size: 1rem;
  border-top: 1px solid var(--border_clr);
  padding-top: 10px;
  margin: 5px 0 0
}

.sc_form_block{
  background: var(--box_clr);
  padding: 1.5rem 1.5rem 1rem;
  font-size: 1rem;
  margin-bottom:1rem;
  border-radius:var(--border_radius)
}
.sc_form_block h3{
  margin: 0 0 15px;
}
.sc_form_block h4{
  margin: 0 0 15px;
}
.sc_form_left{
  
 
}
.sc_form_right{

}
.sc_form_item{
  display:grid; grid-template-columns:8rem 1fr; gap:1rem;
  width: 100%;
  
  margin: 0 0 15px;
}
.sc_form_item.no_padding{
  padding: 0!important
}
.sc_form_item > span{

}
.sc_form_item ::placeholder {
  font-size: 16px;
  font-style: italic;
}
.sc_form_item input,
.sc_form_item select,
.sc_form_block textarea{
  width: 100%;
  height: 2rem;
  padding: 0 0.8rem;
  border: 1px solid var(--border_clr);
  font-size: 1rem;
  border-radius:var(--s_border_radius)
}
.sc_form_block textarea{  
  width: 100%;
  padding: 0.4rem 0.8rem;
  height: 5rem;
  resize: none;
}
.sc_form_item input[data-type="postcode_1"]{
  width: 4rem;
}
.sc_form_item input[data-type="postcode_2"]{
  width: 3rem;
  
}
.sc_form_item input[data-type="postcode_delivery_1"]{
  width: 4rem;
}
.sc_form_item input[data-type="postcode_delivery_2"]{
  width: 3rem;
}
.postcode_fields.single-postcode-mode input[data-zipcode-part="1"]{
  width: 6rem;
}
.postcode_fields.single-postcode-mode input[data-zipcode-part="2"]{
  display: none;
}
.sc_form_item input[data-type="huisnummer"],
.sc_form_item input[data-type="huisnummer_delivery"]{
  width: 6rem;
}
.delivery_same_address_toggle{
  margin-top: 1rem;
}
.sc_form_item.field_error input,
.sc_form_item.field_error select,
.sc_form_item.field_error textarea,
.sc_form_block.field_error .checkbox_box span.checkbox{
  border-color: #d63638;
}
.sc_form_item.field_error > span,
.sc_form_block.field_error h3,
.sc_form_block.field_error .checkbox_box{
  color: #d63638;
}
.sc_form_block .required{
  color: red
}
.required_info{
  margin: 10px 0 0;
  line-height: 16px;
  font-size: 1rem;
}

.afleveradres_block{
  position: relative;
}

.radio_box{
  
  width: 100%;
  margin: 0 0 5px;
  position: relative;
  padding: 10px 5px 10px 40px;
  cursor: pointer;
}
.radio_box span{
  
  width: 20px;
  height: 20px;
  position: absolute;
  left: 5px;
  top: 50%;
  margin: -10px 0 0;
  background: #fff;
  border: 2px solid var(--clr2);
  border-radius: 100%;
}
.radio_box input:checked ~ span:after{
  content: "\00a0";
  
  width: 10px;
  height: 10px;
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: var(--clr2)
}
.radio_box input{
  display: none;
}

.checkbox_box{  
  width: 100%;
  cursor: pointer;
  grid-template-columns:1rem 1fr;
  gap:1rem
}
.checkbox_box span.checkbox{  
  width: 1rem;
  height: 1rem;  
  background: #fff;
  border: 1px solid var(--clr2);
  border-radius: 4px;
  margin-top:0.25rem
}
.checkbox_box input[type="radio"] ~ span.checkbox{
  border-radius: 100%;
}
.checkbox_box input:checked ~ span.checkbox:after{
  content: "\f00c";
  font: var(--awesome900);  
  width: 1rem;
  height: 1rem;
  line-height: 1rem;
  text-align: center;
display:block;
  color: var(--clr2)
}
.checkbox_box input{
  display: none;
}
.checkbox_box a{
  text-decoration: underline;
  color: var(--clr2)
}

.error_list{
  list-style: none;
  padding: 10px 15px;
  background: #fff;
  margin: 0 0 15px;
  font-size: 0.8rem;
}
.error_list li{
  color: red;
  padding: 3px 0;
}

.sc_form_block.submit{
  padding-top: 15px;
}
.sc_form_block.submit button{
  float: right;
}

.aflever_overlay,
.sc_overlay{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 20;
}
.aflever_overlay i,
.sc_overlay i{
  width: 4.5rem;
  height: 4.5rem;
  line-height: 4.5rem;
  font-size: 2.5rem;
  text-align: center;
  position: relative;
  color: var(--clr2);
  background: rgba(255,255,255,0.92);
  border: 1px solid color-mix(in srgb, var(--clr2) 20%, white);
  border-radius: 999px;
  box-shadow: 0 0.75rem 2rem rgba(0,0,0,0.12);
}

.order_summary{
  font-size: 0.8rem;
}
.os_prices{
  background: #fff;
  padding: 10px 10px 5px;
}
.order_summary > span,
.order_summary .os_prices > span{
  
  width: 100%;
  margin: 0 0 5px;
}
.order_summary > span:last-child{
  margin: 0 0 15px;
}
.order_summary > span span,
.order_summary .os_prices > span span{
  float: right;
  width: calc(100% - 200px)
}
.order_summary .sct_total{
  font-weight: bold;
}
.order_summary_footer .btn{
  
  margin: 0 10px 10px 0;
}
.transportprijs_info {
  display: block;
  font-size: 14px;
  line-height: 16px;
}

/**** Media queries ****/
@media screen and (max-width: 960px){
   .shopping_cart_row{   grid-template-columns: 4rem 1fr 4rem 1rem;}
  .shopping_cart_row > span:nth-child(2){grid-column:span 1}
  .shopping_cart_row > span:nth-child(3){grid-column:span 4}
  .shopping_cart_row > span:nth-child(4){grid-area: 1 / 3 / 2 / 4}
  .shopping_cart_row > span:nth-child(5){grid-area: 1 / 4 / 2 / 5}
  
  .sc_form_block.grid{grid-template-columns:1fr;}
  .sc_form_block.grid .col2{grid-column:span 1}

  .shoppingcart_tabs .step_item{
    font-size: 0.8rem;
    padding: 14px 10px 14px 44px;
    line-height: 24px;
  }
  .shoppingcart_tabs .step_item i{
    width: 24px;
    height: 24px;
    line-height: 24px;
   font-size: 0.8rem;
    margin: 0 0 0 -34px;
  }
}

@media screen and (max-width: 730px){
  
  .shopping_cart_totals.fixed{
   
    padding: 3px 0
  }
  .shopping_cart_totals.fixed > span{
    padding: 3px 15px;
    line-height: 14px;
  }
  .shopping_cart_totals.fixed > span.sct_total{
    padding-top: 6px;
  }
  .shopping_cart_totals.fixed > span span{
   
  }

  .sc_form_item{
    padding: 0;
  }
  .sc_form_item > span{
    position: static;
    width: 100%;
    margin: 0;
  }
}

@media screen and (max-width: 650px){
  .shoppingcart_tabs .step_item{
    width: 100%;
  }
}

@media screen and (max-width: 550px){
  .sc_form_block h4{
    margin: 20px 0
  }
  .order_summary .os_prices > span span,
  .order_summary > span span{
    width: calc(100% - 180px)
  }
}

@media screen and (max-width: 420px){
   .shopping_cart_row{   grid-template-columns: 4rem 1fr 2rem 1rem;}
.shopping_cart_row > span:nth-child(3){grid-template-columns: 1fr; gap:0.5rem; grid-column: span 3;}
.shopping_cart_row > span:nth-child(4) {        grid-area: 1 / 3 / 2 / 5;    }
.shopping_cart_row > span:nth-child(5) {   align-items: end; grid-area: 2 / 4 / 3 / 5;}
.shopping_cart_row.out-of-stock::before{align-items:flex-end; margin-bottom:40px;}

}