main {
  
  .guitar-details-hero {
    margin: calc(var(--header-size) + 1.5rem) var(--page-space) 0;
    margin-right: calc(var(--page-space) + 8rem);
    display: flex;
    position: relative;
    gap: 4rem;
    padding: 4rem;
    height: calc(100dvh - 8rem);
    background: var(--block-background);
    border-radius: var(--border-radius);
    
    @media (max-width: 1600px) {
      margin-right: var(--page-space);
    }

    @media (max-width: 640px) {
      display: grid;
      margin-right: initial;
      padding: 1.5rem 1.5rem 10rem 1.5rem;
      gap: 1rem;
      height: unset;
      max-width: calc(100vw - 3rem);
    }    

    .guitar-details-back {
      display: inline-flex;
      align-items: center;
      gap: 0.75rem;
      color: inherit;
      text-decoration: none;
      position: absolute;
      padding: 4rem;
      left: 0;
      top: 0;

      @media (max-width: 640px) {
        padding: 1.5rem;
        width: 100%;
        font-size: 0.75rem;
        line-height: 1;
      }

      i.icon {
        color: var(--c1);
      }
    }

    .guitar-details-icons,
    .guitar-details-copy {
      padding-top: 4rem;
    }

    .guitar-details-icons {
      display: grid;
      align-content: start;
      gap: 3rem;
      color: white;
      width: 16rem;

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

      article {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 2rem;
        align-items: center;
      }

      img {
        width: 2.75rem;
        height: 2.75rem;
        filter: brightness(0) invert(1);
      }

      span {
        line-height: var(--line-height);
        max-width: 12ch;
      }
    }

    .guitar-details-copy {
      display: grid;
      gap: 2rem;
      align-items: start;
      align-content: start;
      flex: 1;

      @media (max-width: 640px) {
        margin-bottom: -3rem;
      }

      .guitar-details-head {
        display: grid;
        gap: 1rem;

        strong {
          font-size: 1.75rem;
          line-height: 1;

          @media (max-width: 640px) {
            font-size: 1.25rem;
            position: relative;
            z-index: 1;
            margin-left: 0.75rem;
          }
        }
      }

      .guitar-details-series {
        width: fit-content;
        min-width: min(100%, 18rem);
        padding-bottom: 0.5rem;
        border-bottom: 1px solid var(--f05);
        display: flex;
        align-items: center;
        gap: 1rem;

        span {
          display: inline-flex;
          align-items: center;
          gap: 0.5rem;
          text-transform: uppercase;
          white-space: nowrap;
        }

        img {
          height: 1.25rem;
          aspect-ratio: 1;
          object-fit: contain;
        }

        @media (max-width: 640px) {
          width: unset;
          font-size: 0.675rem;
          justify-content: space-between;
          border-bottom: unset;

          img {
            height: 1rem;
          }
        }
      }

      .guitar-details-desc {
        max-width: 58ch;
        margin: 0;
        line-height: var(--line-height);

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

      .guitar-details-specs {
        display: grid;
        grid-template-columns: max-content 1fr;
        gap: 1rem 2rem;
        margin: 0;
        color: white;
        
        @media (max-width: 640px) {
          display: none;
        }

        dt, dd {
          margin: 0;
        }

        dt {
          &::after {
            content: ':';
          }
        }

        dd {
          display: grid;
          gap: 0.5rem;
          font-weight: bold;

          > div {
            display: grid;
            gap: 0.25rem;
          }

          strong {
            font-size: 0.75em;
            font-weight: 500;
            opacity: 0.75;
          }
        }

        i {
          font-size: 1.1em;
        }
      }

      .guitar-details-designer {
        display: inline-flex;
        align-items: center;
        gap: 0.7rem;
        color: inherit;
        text-decoration-thickness: 1px;
        text-underline-offset: 0.2em;

        i {
          font-size: 1.1em;
        }
      }
    }

    .guitar-details-stage {

      [data-image] {
        cursor: pointer;
      }

      .guitar-details-main-image {
        position: relative;
        display: flex;
        place-items: center;
        height: 100%;
        aspect-ratio: 4/6;
        overflow: hidden;
        border: 1px solid var(--f05);
        border-radius: var(--border-radius);
        -ms-overflow-style: none;
        scrollbar-width: none;
        overflow: scroll clip;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        background:
          radial-gradient(circle at 50% 35%, rgba(180, 106, 44, 0.35), transparent 45%),
          linear-gradient(180deg, #2a1809, #1a120b);
        
        @media (max-width: 640px) {
          width: 100%;
          height: auto;
          aspect-ratio: 8/12;
        }

        &::-webkit-scrollbar {
          display: none;
        }
        
        picture {
          position: relative;
          display: block;
          min-width: 100%;
          height: 100%;
          scroll-snap-align: start;
          scroll-snap-stop: always;

          img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
          }
        }
      }

      .guitar-details-stepper {
        display: flex;
        justify-content: center;
        gap: 1rem;
        margin-top: 1rem;

        @media (max-width: 640px) {
          margin-top: 0.75rem;
        }

        span {
          width: 1.25rem;
          aspect-ratio: 1;
          border: 1px solid currentColor;
          border-radius: 50%;
        
          @media (max-width: 640px) {
            width: 1rem;
          }

          &.--active {
            background: currentColor;
          }
        }
      }

      .guitar-details-gallery {
        display: grid;
        position: absolute;
        margin-left: 1rem;
        left: 100%;
        top: 0;
        bottom: 0;
        gap: 1rem;
        height: 100%;
        grid-template-rows: repeat(auto-fit, minmax(0, 1fr));

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

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

        > picture > img {
          width: 7rem;
          height: 100%;
          background: var(--block-background);
          border-radius: var(--border-radius);
          object-fit: cover;
        }
      }
    }
  }

  .guitar-details-specs-panel {
    .guitar-details-specs-toggle {
      display: grid;
      gap: 0;
    }

    summary {
      display: flex;
      align-items: start;
      justify-content: space-between;
      gap: 2rem;
      cursor: pointer;
      list-style: none;
      padding: 2rem;
      margin: -2rem;
    }

    summary::-webkit-details-marker {
      display: none;
    }

    summary .common-title {
      margin: 0;
    }

    details summary > .icon {
      position: relative;
      top: 0.25rem;
      font-size: 1.5rem;
      transition: transform 0.25s ease;
    }

    details[open] summary > .icon {
      transform: rotate(90deg);
    }

    .guitar-details-specs-toggle__content {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3rem;
      align-items: start;
      justify-items: start;
      padding-top: 2rem;

      a {
        display: inline-flex;
        align-items: center;
        gap: 0.75rem;
        border: solid 1px var(--c1);
        border-radius: var(--border-radius);
        padding: 1rem 1.5rem;
        max-width: 350px;
        margin: 0.75rem 0;
      }
    }

    .guitar-details-measurements {
      display: grid;
      gap: 1rem;
      justify-self: start;
      width: 100%;

      h3 {
        margin: unset;
      }
    }

    .guitar-details-measurements__shape {
      width: 100%;
      padding: 2rem;
      border-radius: var(--border-radius);
      background: var(--a);
      overflow: hidden;

      svg {
        width: calc(100% - 2rem);
        height: auto;
        display: block;
        color: #fff;
        margin: auto;

        * {
          stroke: currentColor !important;
        }

        text {
          fill: currentColor !important;
          stroke: none !important;
        }

        .cls-3 {
          fill: currentColor !important;
          stroke: none !important;
        }
      }
    }
  }

  .guitar-details-buy {

    .guitar-details-price {
      font-size: 1.75rem;
      font-weight: 600;
      align-items: baseline;

      @media (max-width: 640px) {
        font-size: 1.25rem;text-align: center;
      }

      .vat {
        margin-left: 0.5rem;
        font-size: 0.5em;
      }
    }

    .guitar-details-buy-button {
      display: block;
      border-radius: var(--border-radius);
      background: var(--block-background);
      margin-top: 2rem;
      position: relative;
      gap: 1rem;
      color: inherit;
      text-decoration: none;
      font-size: 1.25rem;
      border: 2px solid var(--c1);
      flex-wrap: wrap;
      padding: 1rem 2rem 1rem 6rem;
      max-width: 30rem;

      @media (max-width: 640px) {
        font-size: 1rem;
        padding: 1rem 1rem 1rem 4rem;
        margin-top: 1rem;
      }

      i {
        position: absolute;
        left: 0;
        bottom: 0;
        top: 0;
        padding: 1rem 2rem;
        display: flex;
        align-items: center;

        @media (max-width: 640px) {
          padding: 1.25rem;
        }
      }

      small {
        display: block;
        width: 100%;
        font-weight: normal;
        margin-bottom: 0.5rem;

        @media (max-width: 640px) {
          margin-bottom: 0.25rem;
        }
      }
    }
  }

  @media (max-width: 640px) {
    
    .guitar-details-buy {
      position: absolute;
      bottom: 1.5rem;
      left: 1.5rem;
      right: 1.5rem;
    }

    .guitar-details-specs-panel {
      summary {
        gap: 1rem;
      }

      .guitar-details-specs-toggle__content {
        grid-template-columns: 1fr;
      }
    }
  }
}
