/* Product page — carousels, variant cards, total near button */

:root{
    --btn-primary-bg-color: #153F30 !important;
    --btn-primary-hover-bg-color: #ffffff !important;
    --btn-primary-color: #ffffff !important;
    --btn-primary-hover-color: #153F30 !important;
    --color-link: #000000 !important;
    --color-link-hover: #000000 !important;
    --product-title-color: #000000 !important;
    --product-title-hover-color: #000000 !important;
    --price-color-light: #000000 !important;
    --price-color: #000000 !important;
    --btn-cart-bg-color: #153F30 !important;
    --btn-cart-hover-bg-color: #ffffff !important;
    --btn-cart-color: #ffffff !important;
    --btn-cart-hover-color: #153F30 !important;
    --btn-radius: 20px !important;
    --input-border-radius: 20px !important;
    --color-cr-primary : var(--btn-primary-bg-color);
    --light-color-cr-primary : #678278;
}

.cr-block {
  margin-top: 1.75rem;
}

.cr-heading {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.cr-carousel {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  max-width: 87%;
}

.cr-track {
  display: flex;
  gap: 15px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 4px 2px 8px;
  flex: 1;
  /* scrollbar-width: thin;*/
}

.cr-track::-webkit-scrollbar {
  height: 6px;
}

.cr-carousel:hover button {
    display:block;
}

.cr-item{
   padding: 5px; 
   border: 2px solid transparent;
}

.item-selected{
    border: 2px solid var(--btn-primary-bg-color);
    padding: 5px;
    background: #FFF;
    border-radius: 5px;
}

.cr-nav {
    flex: 0 0 auto;
    border: 1px solid var(--btn-primary-bg-color);
    background: #fff;
    border-radius: 6px;
    width: 40px;
    height: 40px;
    line-height: 28px;
    padding: 0;
    cursor: pointer;
    position: absolute;
    top: calc(50% - 25px);
    border-radius: 30px;

}

.cr-nav:hover{
   color: #FFF; 
   background: var(--btn-primary-bg-color); 
}

.cr-prev{
    left:-20px;
    display:none;
}

.cr-next{
    right:-20px;
    
}

.cr-card {
  flex: 0 0 auto;
  width: 123px;
  cursor:pointer;
}

.cr-card-link {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  color: inherit;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 8px;
  height: 100%;
  transition: border-color 0.15s ease;
}

.cr-item input{
    display:none;
}

.cr-card-link:hover {
  border-color: #222;
}
.cr-card-img {
    display:block;
}

.cr-card-img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0px;
}

.cr-card-price {
    font-weight: 600;
    display: block;
    font-family: inherit;
    text-align: center;
    padding: 5px 0px;
    font-size: 14px;
}

.cr-card-name {
  font-size: 12px;
  line-height: 1.2;
  display:block;
  font-family: inherit;
  text-align: center;
  min-height: 29px;
}

/* Variant cards replacing selects */
.cr-variant-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.cr-variant-card {
  border: 2px solid #ddd;
  border-radius: 10px;
  padding: 8px 10px;
  min-width: 120px;
  background: #fff;
  cursor: pointer;
  text-align: left;
  font-size: 0.9rem;
}

.cr-variant-card.is-selected {
  border-color: #222;
}

.cr-variant-select-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

.product-variants-item {
  position: relative;
}

/* Total beside add-to-cart */
.product-add-to-cart .product-quantity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}

.product-add-to-cart .product-quantity .add {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  gap: 8px;
}

.cr-add-total {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.cr-add-total-price {
  font-weight: 600;
}

@media (max-width: 575px) {
  .product-add-to-cart .product-quantity .add {
    flex-wrap: wrap;
  }
  .cr-add-total {
    width: 100%;
    justify-content: flex-end;
    margin-top: 8px;
  }
}

/* Cart grouping */
.cart-items .cart-item.cr-cart-child .product-line-grid {
  margin-left: 12px;
}

.cart-items .cart-item.cr-cart-child .product-line-grid-left {
  position: relative;
}

.cart-items .cart-item.cr-cart-child .product-line-grid-left::before {
  content: '';
  position: absolute;
  left: -14px;
  top: 0;
  bottom: 40%;
  width: 12px;
  border-left: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  border-bottom-left-radius: 8px;
}

.cart-items .cart-item.cr-cart-child .product-line-grid-body {
  padding-left: 6px;
}

.cr-secondary-product {
    font-size: 12px;
    color: #777;
    margin-top: 4px;
    margin-left: 10px;
}

.cart-item.is-secondary {
    margin-left: 40px;
    opacity: .92;
}

.cr-select-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
}
 
.cart-item,
.cr-child{
    position:relative;
}

.cart-item:has(.cr-child)::before {
       content: '';
    position: absolute;
    border: 0.5px solid #e3e3e3;
    height: calc(100% - 122px);
    left: 31px;
    top: 79px;
}

.cr-child::before{   
    content: '';
    display: block;
    width: 10px;
    height: 24px;
    position: absolute;
    left: -9px;
    top: -3px;
    border-bottom-left-radius: 5px;
    border: 1px solid #e3e3e3;
    border-top: none;
    border-right: none;
}

.cr-children::before,
.cr-children::after
{
    content : ''
}


 
.cr-children{
    display:block;
    margin-left: 40px;
    clear: both;
}

.cr-children .cr-child{
    display: flex;
    justify-content: stretch;
    align-items: center;
    gap: 10px;
    position: relative;

}

.cr-children li{
    margin-bottom: 5px;
}
.cr-children .cr-child.comp{

}

ul.cr-children .cr-child.reco{
     
}

ul.cr-children .cr-child .image{
    display:block;
}

ul.cr-children .cr-child .image img{
    display:block;
}

ul.cr-children .cr-child .name{
    
}

ul.cr-children .cr-child .price{
    
}

.cart-item .product-image{
   padding: 3px;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 5px;
    width: 64px;
    max-height: 78px;
    border: 1px solid var( --color-cr-primary ); 
    display: block;
}

.cr-child .product-image{
   padding: 3px;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 5px;
    width: 38px;
    min-height: 38px;
    border: 1px solid var( --color-cr-primary ); 
    position:relative;
}

.box-childs{
      flex: 1 100%;
}

.cr-child .product-image img,
.cart-item .product-image img{
   width: stretch;
}

 .line-product{
        width: 100%;
        display: flex;
        
        gap: 20px;
        position:relative;
    }
    
    .line-product .content-item {
      position:relative;
    }
    #cart-summary-product-list .cr-children{
        margin-left:20px;
        margin-top: 15px;
        margin-bottom:20px;
    }
    
    .product-image img {
        width: stretch !important;
    }
    
    .media-list .media .media-left img{
        width: stretch !important;
    }
    
    .media .media-left{
            padding: 3px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            border-radius: 5px;
            width: 64px;
            max-height: 78px;
            border: 1px solid var( --color-cr-primary ); ; 
            display: block;
            position:relative;
    }
    
    .media {
      margin-bottom:20px;
      position: relative;
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
      align-items: center;
    }
    
    .media .product-quantity{ display:none;}
    .media .media-body{
      display: flex !important;
      flex-direction: row;
      align-items: center;
      gap: 10px;
    }

    .media-body {
        flex: 1;
        width: 100%;
        flex-direction: column;
        align-items: start;
        justify-content: center;
    }
    
    .media .cr-child .product-image{
        margin-right: 8px;
    }
    .media:has(.cr-child)::before {
        content: '';
        position: absolute;
        border: .2px solid #e3e3e3;
        height: calc(100% - 95px);
        left: 11px;
        top: 51px;
        z-index: 0;
    }
    
    .media .cr-children .cr-child {
        justify-content: space-between;
        align-items: center;
    }
    
    .media .cr-children .cr-child .name{
        flex:1;
        font-size: 12px; 
    }
    
    .circle {
        position: absolute;
        right: -6px;
        color: #FFF;
        background: var( --color-cr-primary );
        border-radius: 20px;
        font-size: 10px;
        top: 0px;
        z-index: 99;
        width: 15px;
        height: 15px;
        text-align: center;
        overflow: hidden;
        justify-content: center;
        align-items: center;
        display: flex;
    }  

/*
    .media-left,
    .cr-child{
      position: relative;
    }

    .media-left a.remove-from-cart{
      display: none;
      position: absolute;
      
    }

 .cr-child a.remove-from-cart {
    display: none;
    position: absolute;
    left: -21px;
    top: 11px;
    z-index: 9;
    font-size: 20px !important;
 }
    
    .media-left .remove-from-cart .event-delete,
    .cr-child .remove-from-cart .event-delete
    {
        color : var(--color-cr-primary) !important;
    }

    .media-left:hover a.remove-from-cart,
    .cr-child:hover a.remove-from-cart
    {
        display: block;
    }
        */