@layer theme {

   :root {
      --icon-spacing: 10px;
      --extra-information-size: 16px;
   }

   .stepper {
      border-width: 2px;
   }

   .btn-wishlist {
      justify-content: flex-start;
      padding: 0px;
      font-size: var(--extra-information-size);
      background-color: transparent;
      color: var(--color-primary);
      border: none;
      min-height: 1px;
      text-decoration: underline;
   }

   .extra-information :is(.btn-wishlist:hover .btn-text, .shipping-information:hover) {
      color: var(--color-text);
      text-decoration: none;
   }

   .extra-information .btn-wishlist:hover::before {
      color: var(--color-text);
   }

   .extra-information .shipping-information {
      text-decoration: underline;
   }

   .no-touchevents .btn-wishlist .btn:hover {
      color: rgba(0, 0, 0, 1) !important;
   }

   .extra-information li {
      justify-content: flex-start;
      font-size: var(--extra-information-size);
      display: flex;
      color: var(--color-primary);
      height: 28px;
      line-height: 28px;
   }

   .extra-information .icon {
      display: flex;
   }

   .extra-information li:not(:last-child) {
      margin-bottom: 10px;
   }

   .extra-information svg {
      width: var(--extra-information-size);
      height: auto;
      margin-right: var(--icon-spacing);
   }

   .btn-wishlist::before {
      font-size: var(--extra-information-size);
      margin-right: var(--icon-spacing);
   }

   .product-stats-alt {
      font-size: 16px;
   }

   .product-stats-alt li:not(:last-child) {
      margin-bottom: 10px;
   }

   .product-stats-alt li span:first-child {
      margin-right: 5px;
      color: var(--color-primary);
   }

   .product-stats-alt li span:last-child {
      color: var(--color-text);
   }

   .product-stats-alt li span:last-child a:hover {
      color: var(--color-text);
   }

   .social-share {
      display: flex;
      align-items: center;
      color: var(--color-primary);
      font-size: 16px;
   }

   .social-share ul {
      display: flex;
      align-items: center;
   }

   .social-share svg {
      width: 16px;
      height: auto;
   }

   .social-share ul li {
      width: 30px;
   }

   .social-share ul li a {
      display: flex;
      align-items: center;
      justify-content: center;
   }

   .social-share ul li:not(:last-child) {
      margin-right: 7px;
   }

   .product-info {
      position: relative;
      padding-bottom: 50px;
      margin-bottom: 50px;
   }

   .product-info::after {
      content: "";
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      width: 100vw;
      height: 1px;
      background-color: var(--color-border);
      bottom: 0px;
      z-index: 1;
   }

   .swiper-buttons :is(.swiper-button-prev, .swiper-button-next).swiper-button-disabled {
      width: 100%;
   }

   .product-blocks .tab-container .nav-tabs a {
      padding-left: 0;
   }

   .product-blocks .product_extra.product_tabs li a::before {
      content: "";
      position: absolute;
      bottom: 5px;
      width: 0%;
      transition: width 0.3s ease-out;
      height: 1px;
      border-bottom: 2px solid var(--color-primary);
      min-width: 0px;
      min-height: 0px;
   }

   .product-blocks .product_extra.product_tabs li:is(.active, :hover) a::before {
      width: calc(100% - 16px);
   }

   .product_accordion.panel-group .panel-heading a {
      font-family: var(--font-medium);
   }

   #product .button-group-page.out-of-stock #button-cart .btn-text {
      align-items: center;
      display: flex;
   }

   #product .button-group-page.out-of-stock #button-cart .btn-text::after {
      content: url(../svg/envelope.svg);
      margin-left: 5px;
   }

   .product-info.out-of-stock .button-group-page #paypal_button {
      display: none !important;
   }

   .button-group-page {
      position: relative;
   }

   .button-group-page.paypal-loading .buttons-wrapper {
      opacity: 0;
   } 

   .extra-information .wishlist-compare .btn.btn-wishlist {
      padding: 0;
      background: #fff;
      color: #000;
      border-width: 0;
   }
  
   .button-group-page.paypal-loading .loadingio-spinner {
      display: inline-block;
   }

   #product .product-options.out-of-stock-product {
      display: none;
   }

   .without-paypal-btn .stepper-group.cart-group {
      display: flex !important;
   }
  
   @media only screen and (max-width: 600px) {
      .direction-horizontal .swiper-wrapper .additional-image {
         max-height: 102px;
         width: auto;
      }

      .product-image .main-image .swiper-slide[data-gallery] {
         text-align: center;
      }

      .product-image .main-image .swiper-slide[data-gallery] img {
         max-width: 80%;
      }
   }

   @media only screen and (max-width: 375px) {
      .product-details .button-group-page .stepper-group.cart-group {
         flex-direction: column;
         height: 100%;
         align-items: normal;
         width: 100%;
      }
   }
}