.catalog-product-view {
  .column.main {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: @default--space;
  }

  .product.media {
    .col-12;

    order: -1;
    padding-left: 0;

    .lt-xl({ padding-right: 0; });

    .gt-xl({ .col-6; padding-left: 0; });
  }

  .product-info-main {
    .col-12;

    margin-top: @default--space * 2;

    .lt-xl({ padding-left: @default--space; padding-right: @default--space; });

    .gt-xl({ .col-6; margin-top: @default--space * 9; padding-right: @default--space + (@default--space / 2); });

    .gt-xxxl({ .col-5; });
  }

  .product-info-main-spacer {
    width: 100%;

    .gt-xl({ margin-top: @default--space * 5; });
  }

  .product-badge {
    display: inline-block;
    margin-bottom: @default--space / 2;
    position: relative;

    .lt-xl({
      left: @default--space;
    });

    &.has-color {
      color: @white;
      padding-left: (@default--space / 2);
      padding-right: (@default--space / 2);

      .lt-xl({
        left: @default--space / 2;
      });

      .gt-xl({
        left: -(@default--space / 2);
      });

      // Adjust text color
      &[class*='white'],
      &[class*='yellow'] {
        color: @black;
      }

      // Adjust border
      &[class*='white'] {
        border: 1px solid @black;
      }
    }
  }

  .page-title {
    .h4;

    .lt-xl({ padding-left: @default--space; padding-right: @default--space; &::before {
      .hr(@content: true);
    } });

    .gt-xl({ .h2; &::after {
      .hr(@content: true);
    } });
  }

  .product-short-description {
    &::after {
      .hr-gray-wide();
    }

    .lt-xl({
      padding-left: @default--space;
      padding-right: @default--space;

      &::after {
        margin-left: -@default--space;
        width: ~"calc(100% + (@{default--space} * 2))";
      }
    });

    &,
    p {
      .p4;
      .light;

      .gt-xl({ .p1; .light; });
    }
  }

  .product-description {
    &::after {
      .hr-gray-wide();
    }

    h2 {
      .h8;
    }

    p {
      .p5;

      margin-bottom: @default--space;
    }

    ul {
      .list-bullet;
      .p5;
      .light;

      margin-bottom: @default--space;
    }
  }

  .product-info-price {
    &::after {
      .hr-gray-wide();

      flex: 1 0 100%;
    }

    align-items: center;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;

    .gt-md({ flex-direction: row; > *:not(:last-child) {
      margin-right: @default--space * 2;
    } });

    .lt-md({ text-align: center; });

    .price-box {
      align-items: center;
      display: flex;

      .lt-md({ flex-direction: column; margin-bottom: @default--space / 2; });
    }

    .price {
      .h2;

      color: @champagne;
    }

    .price-to {
      .page-product-bundle& {
        .visually-hidden();
      }
    }

    .old-price {
      .gt-md({ margin-left: @default--space * 2; });

      .price {
        .p3;

        color: @champagne;
        text-decoration: line-through;
        text-decoration-color: darken(@champagne, 30%);
      }
    }

    .price-label {
      &:not(.page-product-bundle&) {
        .visually-hidden();
      }

      .page-product-bundle& {
        .p3;

        margin-right: @default--space / 2;
      }
    }
  }

  .product-shipping-costs-link {
    text-decoration: underline;
    text-decoration-color: @black-40;
  }

  .product-tax__rate,
  .product-retailer-message__info {
    .p5;
  }

  .product-retailer-message__info {
    beyer-icon[small] {
      margin-right: @default--space / 4;
    }
  }

  .product-delivery-time__info {
    .p5;
    .light;

    beyer-icon[small] {
      margin-right: @default--space / 4;
    }
  }

  .product-options-wrapper {
    margin-top: -@default--space;

    .page-product-bundle& {
      margin-top: 0;
    }

    > .fieldset {
      .row;

      > * {
        margin-bottom: @default--space;
      }

      > .required {
        .p5;

        color: @black-60;
        flex-basis: 100%;
        margin-top: @default--space;
      }
    }

    .field {
      .col-12;

      .gt-md({ .col-auto; });
    }

    .form-select {
      width: 100%;

      .gt-md({ width: auto; });
    }
  }

  .product-options-bottom {
    &::before {
      .hr-gray-wide();

      margin-top: 0;
    }
  }

  .product-add-form {
    .box-tocart {
      .lt-md({ text-align: center; });

      .beyer-button {
        margin-left: 0;

        .lt-sm({ width: 100%; });
      }
    }
  }

  .product-bundle-actions {
    .lt-md({ text-align: center; });

    .beyer-button {
      margin-left: 0;

      .lt-sm({ width: 100%; });
    }
  }

  .bundle-options-container {
    // initial hidden
    display: none;

    .product-add-form {
      &::before {
        display: none;
      }
    }

    .bundle-options-wrapper {
      .fieldset,
      fieldset {
        margin: 0;
      }

      legend.title {
        .h7;

        + br {
          display: none;
        }
      }

      .fieldset-bundle-options {
        .action.back.customization {
          display: none;
        }
      }

      .field {
        .reset-padding-lr();

        &.option {
          &::before {
            .hr-gray-wide();
          }
        }

        .label {
          .h8;

          color: @black-40;
        }

        &.required {
          .label {
            span::after {
              content: '*';
              display: inline-block;
            }
          }

          // remove asterisk from nested label
          & .nested label span::after {
            display: none;
          }
        }

        &.choice {
          align-items: baseline;
          display: flex;

          input {
            flex-shrink: 0;
            margin-right: @default--space / 2;
          }

          .label {
            .p4;

            color: @black;
            text-transform: none;
          }

          .price-notice {
            .p5;
            .bold;

            color: @black-80;
            white-space: nowrap;
          }
        }

        &.qty {
          margin-top: @default--space;
        }

        input {
          &.qty {
            .form-control;

            .lt-lg({ width: 50/@rem; });

            .gt-lg({ width: 70/@rem; });
          }
        }

        select {
          .form-select;
        }

        .nested {
          &.options-list {
            margin-top: 0;
          }

          .field {
            margin-top: @default--space / 2;
          }
        }
      }
    }

    .block-bundle-summary {
      .title,
      .product.name,
      .available.stock {
        .visually-hidden();
      }

      .container-image {
        display: none;
      }

      .price-as-configured {
        .h2;

        color: @champagne;
        margin-top: @default--space;
        text-align: center;

        .gt-md({ text-align: left; });
      }

      .bundle-summary {
        &::before {
          .hr-gray-wide();
        }

        .subtitle {
          .h8;
        }

        .bundle.items {
          list-style: none;
          padding-left: 0;
        }

        .label {
          .bold;

          color: @black-80;
        }
      }
    }
  }

  .product-additional-info {
    width: 100%;
  }
}
