/* Product main */

.product.js-product .product-info__block--sm{
  margin: 24px auto;
}

.product-info__block.product-info__block--sm.rte.product-description{
  margin-top: 24px;
}


.product-media .media-gallery__viewer{
  border: none;
  background: none;
}

.product-media .media{
  border-radius: 10px;
}

.product-media .media-ctrl__counter{
  width: 81px;
  height: 42px;
  border-radius: 100px;
  border: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.product-media .media-ctrl__counter span {
  font-size: 16px;
  line-height: 130% !important;
  color: var(--dark-color);
}

.img-fit.img-fit--contain, .md\:img-fit.img-fit--contain{
  object-fit: cover !important;
}

.product-info .product-vendor a{
  color: var(--dark-gray-color);
  font-size: 16px;
  font-weight: 400;
  line-height: 130% !important;
}

.product-info__block.product-info__title{
  margin-top: 12px !important;
}

.product-info .product-title{
  color: var(--dark-color);
  font-size: 24px;
  font-weight: 700;
  line-height: 130% !important;
  max-width: 80%;

  @media screen and (min-width: 768px){
    font-size: 32px;
  }
}

.product-info .product-price{
  margin-top: 16px;
  margin-bottom: 16px;
}

.product-info .price .price__current{
  color: var(--dark-color);
  font-size: 20px;
  font-weight: 400;
  margin-right: 8px;

  @media screen and (min-width: 768px){
    font-size: 26px;  
  }
}


.product-info .price.price--on-sale .price__current{
  color: var(--discount-color);
  font-weight: 600;
}

.product-info .price__was{
  color: var(--dark-gray-color);
  font-size: 18px;
  font-weight: 400;
  text-decoration: line-through;

  @media screen and (min-width: 769px){
    font-size: 24px;   
  }
}


#product_desription_main {
  line-height: 130% !important;
  overflow: hidden;
  transition: max-height 1s cubic-bezier(0, 1, 0, 1);
}

#product_desription_main.full {
  transition: max-height 1s ease-in-out;
}


#product_desription_main p,
#product_desription_main span{
  color: var(--dark-color) !important;
  font-size: 16px;
  font-weight: 400;
  line-height: 130% !important;
}

#product_desription_main a{
  color: var(--dark-color);
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: all 0.3s ease-in-out;
}

#product_desription_main a:hover{
  text-decoration: none;
  opacity: 1 !important;
}


button.read_more_btn{
  display: block;
  margin-top: 12px;
  color: var(--dark-color);
  font-size: 14px;
  font-weight: 400;
  line-height: 130% !important;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
  padding-bottom: 1px;
}

button.read_more_btn:hover{
  text-decoration: none;
  opacity: 1 !important;
}
  


.features-product-wrapper{
  margin-top: 20px;
  margin-bottom: 24px;
  display: flex;
  flex-wrap: wrap;
  column-gap: 32px;
  row-gap: 16px;

  @media screen and (min-width: 1200px){
    column-gap: 64px;
  }
}

.features-product-wrapper .features-product-item{
  width: calc((100% - 32px) / 2);
  display: flex;
  gap: 12px;
  align-items: center;

  @media screen and (min-width: 1200px){
    width: calc((100% - 128px) / 3); 
  }
}


.features-product-item .rte{
  font-size: 16px;
  font-weight: 400;
  line-height: 130% !important;
  color: var(--dark-color);
}


.features-product-wrapper .features-product-item img {
  width: 24px;
  height: 24px;

  @media screen and (min-width: 769px){
    width: 32px;
    height: 32px;  
  }
}

quantity-input {
  width: 113px;
  height: 48px;

  @media screen and (min-width: 1200px){
    min-width: 151px;    
  }
}

quantity-input .qty-input{
  width: 100%;
  height: 100%;
  border: 1px solid var(--border-color) !important;
  border-radius: 100px !important;
  color: var(--dark-color);
  font-size: 16px;
  line-height: 130% !important;
  font-weight: 400;
  padding: 11px;
}


quantity-input .qty-input button{
  width: 24px !important;
  height: 24px !important;
}

quantity-input .qty-input__input.input{
  font-size: 16px;
  color: var(--dark-color);
}

.product-info__add-button button.primary-btn, 
.product-info__add-button button.secondary-btn {
  width: 100%;
  max-width: 100% !important;
}


.delivery_date{
  padding: 0;
  width: 100%;
  margin-top: 24px;
  margin-bottom: 24px;
}

.delivery_date p{
  font-size: 16px;
  font-weight: 400;
  color: var(--dark-color);
  line-height: 130% !important;
  display: flex;
}

.delivery_date p span{
  display: block;
}

.delivery_date p span:first-of-type{
  margin-right: 8px;
}


.delivery_date p strong{
  font-weight: 600;
  text-transform: capitalize;
}

h4.table-heading{
  font-size: 18px;
  font-weight: 700;
  line-height: 130% !important;
  margin-bottom: 0 !important;
  color: var(--dark-color);
}

table:not(.cart-items){
  width: 100% !important;
}

table:not(.cart-items) tr:first-of-type td{
  padding-top: 16px !important;
}


table:not(.cart-items) tr td{
  font-size: 16px;
  color: var(--dark-color);
  line-height: 130% !important;
  border: none;
}


table:not(.cart-items) tr td:first-of-type{
  text-align: left;
  border-bottom: 1px solid var(--border-color) !important;
  padding-left: 0 !important;
  padding-top: 18px;
  padding-bottom: 8px;
  font-weight: 600;
}

table:not(.cart-items) tr td:last-of-type{
  text-align: right;
  border-bottom: 1px solid var(--border-color) !important;
  padding-right: 0 !important;
  padding-top: 18px;
  padding-bottom: 8px;
  font-weight: 400;

  @media screen and (min-width: 768px){
    text-align: left;
    
  }
}

.product-breadcrumbs + .product-main .product-info::before, 
.product-breadcrumbs + .product-main .product-info::after {
  display: none !important;
}


.product-main .product-media, 
.product-main + .product-details > .container{
  border-inline-end: none;
}


.product-main + .shopify-section:not(.product-details)::before {
  display: none !important;
}

.media-thumbs__btn {
  border: none !important;
}

.product.js-product .product-vendor-sku{
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

.product.js-product .product-info__add-button{
  position: relative;
}

@media screen and (min-width: 769px){
  .product.js-product .product-media{
    padding: 0;
  }

  .product.js-product .media-ctrl {
     display: none;
  }

  .product.js-product .media-thumbs {
    flex-wrap: wrap;
    gap: 12px;
  }

  .product.js-product .media-thumbs__item{
    margin-right: 0;
    flex: 0 0 calc((100% - 12px) / 2) !important;
  }

  .product.js-product .media-thumbs__item .img-fit.img-fit--contain,
  .product.js-product .media-thumbs__item .md\:img-fit.img-fit--contain{
    object-fit: cover !important;
  }

  .media-thumbs__btn.is-active::after, .product-media--stacked .media-viewer__item.is-active .media::after {
    display: none;
  }

  .product.js-product .product-info__add-button{
    max-width: unset;
  }

  .product.js-product .product-info__add-button button.primary-btn.is-loading,
  .product.js-product .product-info__add-button button.secondary-btn.is-loading{
    opacity: 0.4; 
  }




  .product-media .media-gallery__viewer ul{
    height: 100%;
  }

  .product-media .media .media-thumbs__btn{
    min-height: 352px;
  }

  .product-media .media{
    padding-top: 102.7% !important;
  }

  .product-media .media .media--cover{
    height: 100%;
  }

  .product-media .media .media--zoom .product-image{
    height: 100%;
  }

  .product-media .img-fit.img-fit--contain,
  .product-media .md\:img-fit.img-fit--contain{
    object-fit: cover !important;
  }

  .product-main .product-info{
    padding-left: 62px;
  }
  
}




/* Video block */

.product-info__block.product-info__block--sm.video-wrapper {
  width: 100%;
  height: 175px;
  height: auto;
  position: relative;

  @media screen and (min-width: 768px){
    height: 280px;
  }
}

.video-wrapper video {
  width: 100%;
  height: 100%;
  height: 175px;
  object-fit: cover;
  border-radius: 10px;

  @media screen and (min-width: 500px){
    height: 280px;
  }
}


.video-wrapper .video_controls{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}






/* Gift cart style */

.product-message{
  margin: -8px 0;
  border-radius: 10px !important;

  @media screen and (min-width: 769px){
    margin: 0;
  }
}

.product-info .product-message__inner{
  margin-inline-end: unset;
  padding: 15px;

  @media screen and (min-width: 769px){
    padding: 24px 16px !important; 
  }
}

.product-info__block.product-options{
  margin: 24px auto;
}

.option-selector:not(:last-child){
  margin-bottom: 24px !important;
}

.option-selector .label{
  font-size: 16px;
  font-weight: 600;
  line-height: 130% !important;
  color: var(--dark-color);
  margin-bottom: 12px;
}

.product-message .rte h1,
.product-message .rte h2,
.product-message .rte h3,
.product-message .rte h4,
.product-message .rte h5,
.product-message .rte h6{
  font-weight: 700;
  line-height: 130% !important;
  margin-bottom: 4px;
}

.product-message .rte h5{
  font-size: 18px;
}

.product-message .rte p{
  font-size: 14px;
  font-weight: 400;
  line-height: 130% !important;
  color: var(--dark-color);
}

.opt-label{
  border-radius: 100px !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

.opt-label span {
  font-size: 16px;
  font-weight: 400;
  line-height: 130% !important;
  color: var(--dark-color);
}

.opt-btn:checked + .opt-label--btn{
  border: 1px solid var(--border-color);
  padding: 8px 16px;
}

.opt-btn:checked + .opt-label:not(.opt-label--swatch)::after{
  border-radius: 100px !important;
  box-shadow: none !important;
  border: 1px solid var(--dark-color) !important;
}

.opt-label:not([data-swatch])::after{
  border-radius: 100px !important;
}

.checkbox + label::before{
  width: 20px;
  height: 20px;
  border: 1px solid var(--border-color);
}

.checkbox + label{
  font-size: 16px;
  font-weight: 400;
  line-height: 130% !important;
  color: var(--dark-color);
}

.checkbox:checked + label::after{
  display: none;
}

.checkbox:checked + label::before{
   border: none;
   background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="20" height="20" rx="2" fill="%231400EB"/><path d="M8.73156 11.6904L13.109 7.16036C13.2123 7.05345 13.3351 7 13.4773 7C13.6195 7 13.7421 7.05345 13.845 7.16036C13.9483 7.26726 14 7.3943 14 7.54147C14 7.68864 13.9483 7.8155 13.845 7.92205L9.09312 12.8396C8.98982 12.9465 8.8693 13 8.73156 13C8.59383 13 8.47331 12.9465 8.37 12.8396L6.14899 10.5412C6.04569 10.4343 5.99611 10.3073 6.00024 10.1601C6.00437 10.0129 6.05826 9.88606 6.16191 9.77951C6.26521 9.67261 6.38797 9.61915 6.53018 9.61915C6.67239 9.61915 6.79498 9.67261 6.89794 9.77951L8.73156 11.6904Z" fill="white"/></svg>');
}

.gift-card-recipient{
  padding-bottom: 24px;
}

.gift-card-recipient__fields label{
  color: var(--dark-color);
}

.gift_card_product .media{
  padding-top: 60% !important;
}


/* product-recommendations block */


.product-info__block product-recommendations {
  padding-top: 0;
  margin-top: 24px;
}

.product-info__block product-recommendations h2{
  font-size: 18px;
  font-weight: 700;
  line-height: 130% !important;
  color: var(--dark-color);
}

.product-info__block product-recommendations  .slide-nav--inline .slider-nav__btn:disabled{
  opacity: 0.3;
}

.product-info__block product-recommendations  .slider .slider__grid{
  width: 100%;
}

.product-info__block product-recommendations  .slider .slider__grid .slider__item .card{
  background-color: var(--gray-color);
  border-radius: 10px;
  padding: 18px 0 18px 12px;
}

.product-info__block product-recommendations  .slider .slider__grid .slider__item .card .card__info{
  padding-inline-start: 28px;
}

.product-info__block product-recommendations  .slider .slider__grid .slider__item .card .card__info p{
  font-size: 16px;
  font-weight: 600; 
  line-height: 130% !important;
  color: var(--dark-color);
  margin-top: 0;
}


.product-info__block product-recommendations  .slider .slider__grid .slider__item .card .card__info .price .price__current{
  color: var(--dark-color);
  font-size: 16px;
  font-weight: 400;
  margin-right: 8px;

}

.product-info__block product-recommendations .slider .slider__grid .slider__item .card .card__info .price.price--on-sale .price__current{
  color: var(--discount-color);
  font-weight: 600;
}

.product-info__block product-recommendations .slider .slider__grid .slider__item .card .card__info .price__was{
  color: var(--dark-gray-color);
  font-size: 14px;
  font-weight: 400;
}

.product-info__block product-recommendations .slider .slider__grid .slider__item .card .card__info .price{
  margin-bottom: 6px;
}

.product-info__block product-recommendations  .slider .slider__grid .slider__item .card .card__media{
  border-radius: 10px;
}


.product-info__block product-recommendations .slider .slider__grid .slider__item .card .card__info .additional-btn {
  border: 1px solid var(--dark-color);
  font-weight: 600;
  font-size: 16px;
  line-height: 150%;
  padding: 5px 34px;
}

.product-info__block product-recommendations .slider:not(.slider--contained) .slider__item:last-child{
  width: 100% !important;
  border-inline-end: none; 
}

@media screen and (min-width: 1024px){
  .product-info__block product-recommendations .slider .slider__grid .slider__item .card .card__info:hover .additional-btn{
    background-color: #000;
    border-color: #000;
    color: var(--white-color);
  }
}


