/* PRODUCT PAGE STYLE */
body.template-product {

  & #custom-variations-drawer {
    padding: 0;

    &.drawer::part(body) {
      padding: 0;
    }

    &.drawer::part(content) {
      border-radius: 12px 12px 0 0;
    }

    & .header-area {
      padding: 20px;
      border-bottom: 1px solid rgb(var(--text-color) / .12);
      position: sticky;
      top: 0;
      background: var(--grigio-50);
      border-radius: 12px 12px 0 0;
      z-index: 1;
    }

    & .content-area {
      padding: 20px;
      background: var(--grigio-50);

      & .variations-link {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 0 20px 0;

        & span {
          text-decoration: underline;
          font-size: var(--text-xs);
        }
      }

      & .variations-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;

        & .variation-card {
          border-radius: 12px;
          background-color: var(--grigio-500);
          padding: 15px;
          border: 1px solid var(--grigio-500);

          &.selected {
            border-color: var(--nero-500);
          }

          & .variation-image {
            position: relative;

            & .variation-arrow {
              position: absolute;
              right: 8px;
              bottom: 8px;
            }
          }

          & .variation-name {
            min-height: 40px;
            margin: 12px 0 6px 0;
          }
        }
      }
    }
  }

  & .shopify-section--scrolling-text .section {
    padding: 0;
  }

  & .bambuser-cont {
    background-color: var(--grigio-500);
  }

  & .product-info__block-item[data-block-type="associated-products"] {
    @media (max-width: 1000px) {
      & .horizontal-product-list-carousel > .horizontal-product-list {
        grid: auto / auto-flow 90vw;
      }
    }

    & .horizontal-product-list.separate .horizontal-product {
      border-radius: 12px;
  
      & img {
        height: 8rem;
        width: auto;
      }
  
      & .horizontal-product__info {
        padding: 15px;
  
        & .product-title-full {
          margin: 0 0 5px 0;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
          overflow: hidden;
        }
  
        & .price-list * {
          color: var(--nero-500);
        }
  
        & .badge.badge--on-sale span {
          color: rgb(var(--badge-color));
        }
      }
  
      & .horizontal-product__cta {
        margin: 0;
  
        & button[type="submit"]:hover {
          background-color: var(--nero-500);
          color: var(--grigio-50);
        }
      }
    }
  }
  
  & .shopify-section--accordion-content {
    & .accordion-box {
      @media (max-width: 1000px) {
        padding: 0;
      }
    }
    & iframe {
      display: none !important;
    }

    & .accordion[aria-expanded="true"] {
      & summary {
        border-bottom: 1px solid rgb(var(--text-color) / .12);
        margin-bottom: 30px;
      }
    } 

    & .accordion__content {
      p, span {
        background: transparent !important;
        color: var(--nero-500);
      }
    }

    & .accordion__toggle {
      text-transform: uppercase;
    }

    & #accordion_main_content.has-show-more {
      display: -webkit-box;
      -webkit-line-clamp: 5;
      -webkit-box-orient: vertical;
      overflow: hidden;
      transition: all 0.3s ease;

      &.open {
        -webkit-line-clamp: unset;
      }
    }
    
    & #show_more_btn {
      margin: 20px 0 36px 0;
      display: inline-block;
    }

    & .product-ratings-area {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin-block-start: 0;
      margin-bottom: 40px;

      & .single-rating {
        margin-block-start: 0;

        & .rating-container {
          display: flex;
          gap: 0;
          list-style: none;
          margin-top: 10px;

          @media (max-width: 1000px) {
            max-width: 35vw;
          }

          & .rating-bar {
            width: 35px;
            height: 3px;
            background-color: var(--nero-200);
            border-radius: 0;
            transition: background-color 0.3s ease;

            &:first-child {
              border-top-left-radius: 4px;
              border-bottom-left-radius: 4px;
            }

            &:last-child {
              border-top-right-radius: 4px;
              border-bottom-right-radius: 4px;
            }

            &.active {
              background-color: var(--nero-500);
            }
          }
        }

        & .rating-text {
          margin-top: 10px;
        } 
      }
    }

    & .scheda-tecnica-download {
      display: table;
      margin-top: 0;

      & svg {
        margin-right: 8px;
        margin-block-end: -8px !important;
        display: inline-block;
        margin-left: -5px;
      }
    }
  }

  & .custom-collection-focus {
    & .section-stack {
      display: grid;
      grid-template-columns: 1.2fr 1.5fr;
      column-gap: 60px;

      @media (max-width: 1000px) {
        grid-template-columns: 1fr;
        gap: 30px;
      }

      & > img {
        grid-row: span 2;
        height: 100%;
        object-fit: cover;
        width: auto;
        z-index: 1;
        padding-right: 40px;
        background-color: var(--bianco);

        @media (max-width: 1000px) {
          grid-row: 1;
          grid-column: 1;
          padding: 0;
          width: 100%;
        }
      }

      & .section-header {
        grid-template-columns: initial;
        grid-column: 2;
        grid-row: 1;

        @media (max-width: 1000px) {
          grid-column: 1;
          grid-row: 2;
        }
      }

      & .carousel-header {
        display: grid;
        grid-template-columns: auto auto;
        justify-content: space-between;

        @media (max-width: 1000px) {
          grid-template-columns: auto;
          gap: 10px;
          margin-bottom: 20px;
        }
      }

      & .scrollable-with-controls {
        grid-column: 2;
        grid-row: 2;
        height: 100%;
        gap: 15px;

        @media (max-width: 1000px) {
          grid-column: 1;
          grid-row: 3;
        }

        & .scrollbar {
          display: flex !important;
        }
      }
    }
  }

  & .shopify-section.shopify-section--apps:has(#klaviyo-reviews-summary) {

    & .shopify-app-block:has(#klaviyo-reviews-summary) {
      height: fit-content;
      position: sticky;
      top: 200px;

      @media (max-width: 1000px) {
        position: relative;
        top: inherit;
      }
    }
    
    & .section {
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 150px;
      padding-top: 50px;

      @media (max-width: 1000px) {
        grid-template-columns: 1fr;
        gap: 10px;
        padding-top: 20px;
      }
    }

    & #klaviyo-reviews-summary {
      margin: 0;
      max-width: initial;
      padding: 0;

      & .kl_reviews__summary__average_value, & .kl_reviews__summary__average_denominator {
        font-weight: var(--text-regular);
      }

      & .reviews_all_container {
        padding: 0;

        & .kl_reviews__summary__header {
          display: none;
        }

        & .kl_reviews__summary__grid--2-1 {
          grid-template-columns: 1fr;

          & .kl_reviews__summary__rating--1-1 {
            grid-template-columns: 1fr;
            gap: 60px;
            margin-left: 0;
            width: auto;

            @media (max-width: 1000px) {
              width: 100%;
              gap: 20px;
              margin: 0;
            }
            
            & .kl_reviews__summary__average_and_stars {
              justify-content: start;
              gap: 80px;

              @media (max-width: 1000px) {
                justify-content: center;
                gap: 50px;
              }

              & .kl_reviews__summary__stars {
                min-width: initial;
                text-align: center;

                & .kl_reviews__full_star {
                  & path {
                    fill: var(--star);
                  }
                }
              }
            }

            & .kl_reviews__histogram {
              @media (max-width: 1000px) {
                max-width: inherit;
                margin: 0;
              }

              & .kl_reviews__histogram__row {
                margin-bottom: 25px;
                min-width: 350px;

                @media (max-width: 1000px) {
                  min-width: inherit;
                }

                & .kl_reviews__histogram__rating {
                  font-weight: var(--text-regular);
                  line-height: 1;
                  min-width: 16px;
                }

                & svg {
                  margin-right: 10px;

                  & path {
                    fill: var(--star);
                  }
                }

                & .kl_reviews__histogram__bar--background {
                  background-color: var(--nero-200);
                  border: none;

                  & .kl_reviews__histogram__bar--foreground {
                    background-color: var(--nero-500);
                  }
                }

                & .kl_reviews__histogram__value {
                  font-weight: var(--text-regular);
                  line-height: 1;
                  margin-left: 30px;
                  min-width: 32px;
                }
              }
            }
          }
        }
        
      }
    }

    & #klaviyo-reviews-list {
      padding: 0;

      & .reviews_all_container {
        padding: 0;

        & .kl_reviews__reviews_list {
          & .kl_reviews__list__tabs {
            @media (max-width: 1000px) {
              gap: 50px;
            }

            & .kl_reviews__list__tab {
              padding: 0;

              @media (max-width: 1000px) {
                padding-bottom: 5px;
              }

              &::after {
                border-radius: 0;
                bottom: -1px;
              }
            }

            & .kl_reviews__button_bar {
              & .kl_reviews__button {
                visibility: hidden;
                margin: 0;
                border-radius: 0;
                padding-block-start: 1.075rem;
                padding-block-end: 1.075rem;
                padding-inline-start: var(--spacing-10);
                padding-inline-end: var(--spacing-10);
                font-size: var(--text-base);
                font-weight: var(--text-bold);
                margin-bottom: -1px;
                background-color: var(--nero-500);

                @media (max-width: 1000px) {
                  display: none;
                }
              }
            }
          }

          & #kl_reviews_tabs__reviews_panel {
            & .kl_reviews__filters {
              & input, & select, & button {
                border-radius: 0;
              }
            }

            & .kl_reviews__load_more_button button {
              border-radius: 0;
              padding: 12px 20px;
              font-size: var(--text-xs);
              font-weight: var(--text-bold);
            }
          }
        }
      }
    }

    
  }
}

.product-page-container {
  padding-top: 0;
  background-color: var(--grigio-50);

  @media (max-width: 1000px) {
    padding: 0;
  }

  @media screen and (min-width: 1000px) and (max-width: 1440px) {
    padding-left: 0;
  }

  @media screen and (min-width: 1000px) {
    --product-grid: auto / minmax(0, 1.05fr) minmax(0, 0.8fr);
  }

  & .product {
    position: relative;

    & .product-breadcrumb {
      position: absolute;
      top: 32px;
      left: 48px;
      z-index: 1;
      font-size: var(--text-xs);
      color: var(--nero-500);

      & a:hover {
        text-decoration: underline;
      }
    }

    & .product-gallery {
      @media (max-width: 1000px) {
        padding-inline-start: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
        padding-inline-end: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
      }

      & .product-gallery__media-list {
        gap: 10px;
      }

      & .product-gallery__media-list .product-gallery__media {
        transition: opacity 0.3s ease-in-out;

        @media (max-width: 1000px) {
          display: block !important;
        }

        &:first-child img {
          height: 580px;
          object-fit: cover;

          @media (max-width: 1000px) {
            height: auto;
          }
        }
      }

      & .show-more-img {
        @media (max-width: 1000px) {
          display: none;
        }

        & #show-hide-img {
          margin: 32px auto 0 auto;
          display: block;
          width: fit-content;

          &:hover {
            background-color: var(--nero-500);
            box-shadow: inset 0 0 0 2px var(--nero-500);
            color: var(--grigio-500);
            cursor: pointer;
          }
        }
      }
    }
  
    & .product-info {
      padding-top: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
      top: 135px !important;

      @media (max-width: 1000px) {
        padding-top: 0;
        padding-bottom: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
      }

      & .product-title-full {
        display: block;
        margin-top: 10px;
      }

      & .product-info__price {
        @media (max-width: 1000px) {
          margin-top: 12px;
        }
        
        & .rating-with-text {
          justify-content: space-between;
          align-items: center;

          @media (max-width: 1000px) {
            flex-direction: column;
            justify-content: start;
            align-items: start;
            gap: 5px;
          }

          & .klaviyo-star-rating-widget {
            & .kl_reviews__star_rating_widget {
              & .kl_reviews__stars_badge {
                & svg {
                  width: 12px !important;
                  height: 12px !important;
                }
              }

              & .kl_reviews__star_rating_widget__label {
                color: var(--nero-200);
                font-size: var(--text-xs);
                margin-bottom: -3px;
              }
            }
          }
        }

        & .price-list {
          font-size: var(--text-h4);

          & sale-price {
            font-weight: var(--text-bold);
            color: var(--nero-500);
          }
        }
      }

      & .product-info__offer-list {
        @media screen and (min-width: 700px) {
          grid-template-columns: 1fr 2fr;
          gap: var(--spacing-2);
        }

        @media (max-width: 1000px) {
          grid-template-columns: 1fr;
        }
        
        & [data-block-type="offer"] {
          & .offer {
            height: 100%;
            background: var(--grigio-500);
            border-radius: 12px;
            padding-top: 12px;
            padding-bottom: 12px;
            align-content: start;

            & > img {
              max-width: 20px;
              max-height: 20px;
            }

            & .offer-title {
              font-size: var(--text-sm);
              font-weight: var(--text-bold);
              color: var(--rosso-500);
            }
          }
        }
      }

      & .product-info__type-and-badge {
        display: grid;
        grid-template-columns: auto auto;
        align-items: center;
        justify-content: space-between;
      }

      & .product-info__block-item {

        @media (max-width: 1000px) {
          &:not([data-block-type="product-variations"]), &:not([data-block-type="separator"]), &:not([data-block-type="buy-buttons"]), &:not([data-block-type="bambuser-playlist"]) {
            padding-inline-start: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
            padding-inline-end: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
          }

          &[data-block-type="separator"] {
            padding: 0;
          }

          &[data-block-type="buy-buttons"] {
            padding: 0;

            & .bold_options {
              padding-inline-start: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
              padding-inline-end: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
            }

            & div:has( > buy-buttons) {
              padding-inline-start: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
              padding-inline-end: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
            }
          }

          &[data-block-type="bambuser-playlist"] {
            padding-right: 0;
          }
        }

        &[data-block-type="product-variations"] {

          @media (max-width: 1000px) {
            border-top: 1px solid rgb(var(--text-color) / .12);
            border-bottom: 1px solid rgb(var(--text-color) / .12);
            padding-top: 20px;
            padding-bottom: 20px;
          }

          & .variant-picker__option {
            display: grid;
            grid-template-columns: auto auto;
            gap: 12px;
            justify-content: space-between;

            & .variant-picker__option-info {
              align-items: center;
              grid-column: 1;
              margin: 0;
  
              @media (min-width: 1000px) {
                pointer-events: none;
  
                & .variations-counter, & .variations-drawer-icon {
                  display: none;
                }
              }
  
              @media(max-width: 1000px) {
                margin-block-end: 0;
                grid-column: span 2;
  
                & .variations-link {
                  display: none;
                }
              }

              & .variations-end-elements {
                display: flex;
                align-items: center;
                gap: 10px;

                & .variations-counter {
                  color: var(--nero-100);
                  font-size: var(--text-xs);
                  line-height: 1;
                }
              }
            }
  
            & .variant-picker__option-values {
              grid-column: span 2;

              @media (max-width: 1000px) {
                display: none;
              }
  
              & .thumbnail-swatch {
                border-radius: 50%;
  
                &.custom-product {
                  &:before {
                    box-shadow: none;
                    border: 2px var(--nero-500) dashed;
                    transform: scale(1.06);
                    opacity: 1;
                  }
                }
  
                &:hover:before, &.is-selected:before {
                  box-shadow: none;
                  border: 2px var(--nero-500) solid;
                  transform: scale(1.06);
                  opacity: 1;
                }
              }
            }
  
            & .variations-link {
              display: flex;
              align-items: center;
              justify-content: end;
              gap: 10px;

              @media (max-width: 1000px) {
                display: none;
              }
  
              & span {
                text-decoration: underline;
                font-size: var(--text-xs);
              }
            }
          }
        }

        &[data-block-type="custom-prod-banner"] {
          & .offer {
            border: 1px dashed var(--nero-500);
            padding: 12px 20px;

            & .text-with-icon {
              font-weight: initial;

              & a {
                text-decoration: underline;
              }
            }
          }
        }

        &[data-block-type="heylight"] {
          @media (max-width: 1000px) {
            margin-top: 12px;
          }

          & .heidi_messaging #heidipay-container {
            & .heyLight-inline.widget-summary {
              width: 100%;
              background: linear-gradient(34deg, rgba(234,27,1,1) 27%, rgba(125,80,177,1) 100%);
              padding: 0 12px 0 7px;
              border-radius: 4px;

              & .summary-row {
                width: 100%;
                align-items: center;
                justify-content: space-between;

                & .heyLightLogo {
                  height: 40px;
                  background-size: contain;
                  background-repeat: no-repeat;
                  width: 100px;
                }

                & > div {
                  display: flex;
                  gap: 10px;

                  & .summary-details, & .summary-details .color-primary {
                    color: var(--grigio-50);
                    line-height: 1.2;
                    align-self: center;
                  }

                  & a {
                    color: var(--grigio-50);
                  }

                  & span:has(a) {
                    line-height: 1.2;
                    align-self: center;
                  }
                }
              }
            }
          }
        }

        &[data-block-type="variant-picker"] {
          & .block-swatch {
            padding: 4px 10px;
            font-size: var(--text-xs);
            height: fit-content;

            & span {
              color: var(--nero-200);
            }
          }

          & :checked + .block-swatch, & .block-swatch.is-selected {
            & span {
              color: var(--nero-500);
            }
          }

          & .variant-picker {
            gap: var(--spacing-3);
  
            & .variant-picker__option-info {
              margin-block-end: var(--spacing-3);
            }
          }
          
  
          & .variant-details {
            & .variant-info {
              color: var(--nero-300);
              font-size: var(--text-xs);
            }
          }
        }

        &[data-block-type="buy-buttons"] {
          margin: 10px 0;
        }

        & .bold_options {
          border-top: 1px solid rgb(var(--text-color) / .12);
          padding-top: 20px;

          & .bold_option_title {
            font-size: var(--text-xs);
            font-weight: var(--text-bold);
            margin-block-end: var(--spacing-3);
            display: block;
          }

          & .bold_option_element {
            & .bold_option_value {
              width: 100px;
              height: auto;
              padding: 4px;
              border: 1px solid rgb(var(--text-color) / .12);
              min-height: 150px;
              position: relative;
              display: inline-block;
              margin-right: 5px;

              &:has(.bold_swatch_selected), &:hover {
                border-color: var(--nero-500);
              }

              & label {
                display: grid;
              }

              &:hover .bold_option_swatch_title {
                opacity: 1;
              }

              & .bold_option_swatch_title {
                position: relative;
                opacity: 1;
                top: initial;
                left: initial;
                bottom: initial;
                background: transparent;
                margin: 0;
                text-align: left;
                padding: 0;
                font-size: 11px;
                font-weight: var(--text-bold);
                color: var(--nero-500);
                width: auto;
                transform: none;
                height: auto;
                min-height: 36px;
                padding-top: 5px;
                line-height: 15px;
                z-index: 10!important;

                &::after {
                  display: none;
                }

                & .bold_option_value_title, & .bold_option_value_price {
                  line-height: initial;
                  height: initial;
                  font-size: 11px;
                  line-height: 15px;
                }

                & .bold_option_value_price::before {
                  content: '+';
                  display: inline;
                  padding-right: 2px;
                }
              }

              & .bold_option_value_element {
                box-shadow: none;
                padding: 0;
                border: none;
                width: 100%;

                & .bold_option_value_swatch {
                  width: 90px;
                  height: 90px;
                }
              }
            }
          }

          & .bold_option_total {
            border-top: 1px solid rgb(var(--text-color) / .12);
            margin-top: 15px;

            & > div  {
              padding: 20px 0 0 0;

              & > span {
                color: var(--nero-500);
              }
            }
            
          }
        }

        & .product-spacer {
          height: 1px;
        }

        &[data-block-type="link-with-icon"] {
          border-bottom: 1px solid rgb(var(--text-color) / .12);
          margin: 16px 0;

          & .link_with_icon {
            display: grid;
            grid-template-columns: auto auto;
            justify-content: space-between;
            align-items: center;
            padding-bottom: 16px;

            &:hover {
              text-decoration: underline;

              & .circle-chevron {
                background: var(--nero-500);
                color: var(--grigio-500);
              }
            }
          }
        }
      }

      & .deliverydate.sb_delivery {
        padding: 12px !important;
        border: 1px solid var(--nero-500) !important;
        background: var(--grigio-50) !important;

        & > * {
          max-width: 90%; /* default: 300px */
          margin: 0 auto;
        }

        & .animation_class {
          display: flex;
          align-items: center;
          gap: .5rem;
        }

        & .delivery_icon {
          display: inline-block;
          width: 24px;
          height: 24px;
          flex: 0 0 24px;
          background-size: 24px 24px;
          background-image: url('https://divani.store/cdn/shop/files/furgoncino_spedizione.svg');
          background-repeat: no-repeat;
        }
        
      } 
    }
  }
}

[lang="de"] .product-info__block-item {
  & .bold_option_swatch_title {
    word-break: break-all;
  }
}
/* END - PRODUCT PAGE STYLE */