.pull-left-xs {
  float: left;
}

.pull-right-xs {
  float: right;
}

@media (min-width: 544px) and (max-width: 768.98px) {
  .pull-left-sm {
    float: left;
  }
  .pull-right-sm {
    float: right;
  }
}
@media (min-width: 769px) and (max-width: 991.98px) {
  .pull-left-md {
    float: left;
  }
  .pull-right-md {
    float: right;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .pull-left-lg {
    float: left;
  }
  .pull-right-lg {
    float: right;
  }
}
@media (min-width: 1200px) {
  .pull-left-xl {
    float: left;
  }
  .pull-right-xl {
    float: right;
  }
}
@media (max-width: 543.98px) {
  .hidden-xs-down {
    display: none !important;
  }
}

@media (max-width: 768.98px) {
  .hidden-sm-down {
    display: none !important;
  }
}

@media (max-width: 991.98px) {
  .hidden-md-down {
    display: none !important;
  }
}

@media (max-width: 1199.98px) {
  .hidden-lg-down {
    display: none !important;
  }
}

.hidden-xl-down {
  display: none !important;
}

.row.equal-height > [class^=col] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-beige {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #f5f5dc; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-beige.disabled {
  opacity: 0.2;
}

.swatch-filter-beige {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #f5f5dc; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #f5f5dc;
  display: block;
  position: relative;
}
.swatch-filter-beige.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-black {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #000; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-black.disabled {
  opacity: 0.2;
}

.swatch-filter-black {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #000; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #000;
  display: block;
  position: relative;
}
.swatch-filter-black.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-blue {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #0070d2; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-blue.disabled {
  opacity: 0.2;
}

.swatch-filter-blue {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #0070d2; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #0070d2;
  display: block;
  position: relative;
}
.swatch-filter-blue.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-brown {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #a52a2a; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-brown.disabled {
  opacity: 0.2;
}

.swatch-filter-brown {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #a52a2a; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #a52a2a;
  display: block;
  position: relative;
}
.swatch-filter-brown.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-green {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #008827; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-green.disabled {
  opacity: 0.2;
}

.swatch-filter-green {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #008827; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #008827;
  display: block;
  position: relative;
}
.swatch-filter-green.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-grey {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #8f979d; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-grey.disabled {
  opacity: 0.2;
}

.swatch-filter-grey {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #8f979d; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #8f979d;
  display: block;
  position: relative;
}
.swatch-filter-grey.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-navy {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #000080; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-navy.disabled {
  opacity: 0.2;
}

.swatch-filter-navy {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #000080; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #000080;
  display: block;
  position: relative;
}
.swatch-filter-navy.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-orange {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #ffa500; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-orange.disabled {
  opacity: 0.2;
}

.swatch-filter-orange {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #ffa500; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #ffa500;
  display: block;
  position: relative;
}
.swatch-filter-orange.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-pink {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #fe249a; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-pink.disabled {
  opacity: 0.2;
}

.swatch-filter-pink {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #fe249a; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #fe249a;
  display: block;
  position: relative;
}
.swatch-filter-pink.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-purple {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #800080; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-purple.disabled {
  opacity: 0.2;
}

.swatch-filter-purple {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #800080; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #800080;
  display: block;
  position: relative;
}
.swatch-filter-purple.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-red {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #f00; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-red.disabled {
  opacity: 0.2;
}

.swatch-filter-red {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #f00; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #f00;
  display: block;
  position: relative;
}
.swatch-filter-red.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-white {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #fff; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-white.disabled {
  opacity: 0.2;
}

.swatch-filter-white {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #fff; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #fff;
  display: block;
  position: relative;
}
.swatch-filter-white.disabled {
  opacity: 0.2;
}

/* stylelint-disable-next-line scss/no-global-function-names */
.swatch-circle-yellow {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #ff0; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  display: block;
  position: relative;
}
.swatch-circle-yellow.disabled {
  opacity: 0.2;
}

.swatch-filter-yellow {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 1.38em;
  height: 1.38em;
  background: #ff0; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 0.69em;
  background-color: #ff0;
  display: block;
  position: relative;
}
.swatch-filter-yellow.disabled {
  opacity: 0.2;
}

.swatch-circle-miscellaneous {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, rgb(130, 30, 145)), color-stop(25%, rgb(130, 30, 145)), color-stop(25%, rgb(237, 209, 52)), color-stop(50%, rgb(255, 255, 0)), color-stop(50%, rgb(237, 209, 52)), color-stop(50%, #59ba00), color-stop(76%, #59ba00), color-stop(76%, #111), to(#111)), -webkit-gradient(linear, left bottom, left top, color-stop(0, rgb(14, 92, 209)), color-stop(50%, rgb(14, 92, 209)), color-stop(50%, rgb(226, 11, 11)), to(rgb(226, 11, 11)));
  background: linear-gradient(0deg, rgb(130, 30, 145) 0, rgb(130, 30, 145) 25%, rgb(237, 209, 52) 25%, rgb(255, 255, 0) 50%, rgb(237, 209, 52) 50%, #59ba00 50%, #59ba00 76%, #111 76%, #111 100%), linear-gradient(0deg, rgb(14, 92, 209) 0, rgb(14, 92, 209) 50%, rgb(226, 11, 11) 50%, rgb(226, 11, 11) 100%);
  background-repeat: repeat-y, repeat;
  background-size: 50% 100%, 100% 100%;
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  border-radius: 1.25em;
  display: block;
  height: 2.5em;
  position: relative;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
  width: 2.5em;
}
.swatch-circle-miscellaneous.disabled {
  opacity: 0.2;
}
.swatch-circle-miscellaneous.selected::after {
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
}

.product-detail .attributes .swatch-circle {
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  width: 2.5em;
  height: 2.5em;
  background: #fff; /* stylelint-disable-line property-no-vendor-prefix */
  border-radius: 1.25em;
  border: 0.063em solid rgba(0, 0, 0, 0.3);
  display: inline-block;
  margin-right: 0.313em;
  position: relative;
}
.product-detail .attributes .swatch-circle.color-value[data-selected=true]::after {
  color: #000;
  content: "\f058";
  display: table-caption;
  font-family: FontAwesome, sans-serif;
  font-size: 1.625em;
  left: 0.295em;
  position: absolute;
}
.product-detail .attributes .swatch-circle.color-value.selected::after {
  background: #fff;
  border-radius: 50%;
  color: #000;
  content: "\f058";
  display: table-caption;
  font-family: FontAwesome, sans-serif;
  font-size: 1.625em;
  height: 0.75em;
  left: 0.31em;
  line-height: 0.8em;
  position: absolute;
  top: 0.35em;
  width: 0.8em;
}
.product-detail .attributes .swatch-circle i.fa-times-circle {
  background: #fff;
  border-radius: 50%;
  height: 0.75em;
  line-height: 0.8em;
  width: 0.8em;
}

.product-detail [disabled] .swatch-circle,
.product-detail .swatch-circle.unselectable {
  cursor: not-allowed;
}
.product-detail [disabled] .swatch-circle.color-value.selected::after,
.product-detail .swatch-circle.unselectable.color-value.selected::after {
  background-color: #495057;
}

.social-container {
  padding-top: 0.9375em;
  text-align: center;
}
.social-container .social-icons {
  text-decoration: none;
  font-size: 1.875em;
  list-style-type: none;
  padding: 0;
  color: #444;
}
@media (max-width: 991.98px) {
  .social-container .social-icons {
    font-size: 1.5625em;
  }
}
.social-container .social-icons i,
.social-container .social-icons a {
  color: #444;
  padding-right: 0.2em;
}

label.color ~ a:hover {
  text-decoration: none;
}

.description-and-detail {
  margin-top: 2em;
}
@media (max-width: 543.98px) {
  .description-and-detail {
    margin-top: 0;
  }
  .description-and-detail .title {
    font-size: 1.5rem;
    margin-bottom: 0;
    font-family: Dosis, sans-serif;
  }
  .description-and-detail > div:last-child {
    margin-bottom: 1em;
  }
}
@media (min-width: 544px) {
  .description-and-detail .description {
    margin-bottom: 2em;
  }
}
@media (max-width: 543.98px) {
  .description-and-detail .content {
    margin-top: 1em;
  }
}

label.availability {
  padding-right: 0.3125em;
}

@media (min-width: 544px) {
  .product-number-rating {
    border-bottom: 1px solid #ccc;
  }
}
@media (min-width: 769px) {
  .product-number-rating {
    border-top: 1px solid #ccc;
  }
}
@media (min-width: 544px) and (max-width: 768.98px) {
  .product-name {
    border-bottom: 1px solid #ccc;
  }
}
@media (min-width: 544px) {
  .product-number-rating .ratings {
    margin-top: 0.625em;
  }
}
@media (max-width: 543.98px) {
  .product-number-rating .ratings {
    background-color: #fff;
    margin-top: -1.875em; /* 30/16 */
    margin-right: -0.9375em; /* 15/16 */
    padding: 0.1875em; /* 3/16 */
  }
}

.product-number {
  color: #ccc;
  font-size: 0.875em;
  padding-bottom: 0.938em;
  padding-top: 0.938em;
}

.promotions {
  font-weight: normal;
  text-align: center;
  height: 85%;
}
.promotions div.collapsible-xl button.callout {
  font-size: 1.25em;
  padding-bottom: 1.25rem;
  padding-top: 1.25rem;
  color: #c00;
}
@media (min-width: 544px) {
  .promotions div.collapsible-xl button.callout {
    font-size: 1.375em;
  }
}
.promotions div.collapsible-xl button.callout::after {
  color: #000;
}

.product-breadcrumb .breadcrumb {
  border-bottom: none;
  margin-left: -1rem;
  margin-bottom: 0;
}
@media (max-width: 991.98px) {
  .product-breadcrumb .breadcrumb {
    border-top: 1px solid #ccc;
  }
}

.price {
  font-size: 1.5rem;
}

.product-options {
  margin-top: 1.25em;
}

.size-chart .size-chart-collapsible {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.5s;
  transition: max-height 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0, 1, 0, 1);
          transition-timing-function: cubic-bezier(0, 1, 0, 1);
}
.size-chart .size-chart-collapsible.active {
  max-height: 100%;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}

.color-attribute {
  border: none;
  padding: 0;
  background: none;
}

.non-input-label {
  display: block;
  margin-bottom: 0.5rem;
}

@media (min-width: 769px) {
  .attributes {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

@media (max-width: 543.98px) {
  .product-grid {
    padding-top: 0.938em;
  }
  .product-grid .col-6 {
    padding-left: 5px;
    padding-right: 5px;
  }
}

/**
 * Converts pixel values to rem units.
 *
 * @param {Number} $px-value - The pixel value to convert (e.g., 24px, -16px, 12, -8).
 * @param {Number} $base-size - Optional. The base font size in px (defaults to $base-font-size).
 * @return {Rem} The converted value in rem units.
 *
 * @example
 * .my-element {
 *   padding: px-to-rem(20px); // Output: padding: 1.25rem;
 *   margin-left: px-to-rem(-10); // Output: margin-left: -0.625rem;
 *   font-size: px-to-rem(18, 16px); // Output: font-size: 1.125rem; (explicit base)
 * }
 */
/**
 * @mixin delayed-transition-delay
 *
 * Applies a staggered `transition-delay` to a list of elements.
 * Each subsequent element will have an increased delay.
 * This mixin *only* sets the `transition-delay` property.
 * Other transition properties (e.g., `transition-property`, `transition-duration`)
 * should be set separately on the targeted elements.
 *
 * @param {number} $base-delay - The initial delay for the first item in the list.
 *                              Default: 0s.
 * @param {number} $delay-increment - The amount of delay added to each subsequent item.
 *                                  Default: 0.1s.
 * @param {number} $count - The total number of items in the list to apply the delays to.
 *                          This is crucial for the mixin to generate the correct number of rules.
 * @param {string} $selector - The specific selector for the child elements relative to the parent
 *                            (e.g., 'li', '.item', '> *' for all direct children).
 *                            Default: '> *'.
 */
.d1 {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(4rem, 1.1830985915rem + 12.0187793427vw, 12rem);
  line-height: clamp(3.75rem, 0.6690140845rem + 13.1455399061vw, 12.5rem);
  letter-spacing: clamp(0rem, 0.0660211268rem + -0.2816901408vw, -0.1875rem);
}

.d2 {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 300;
  font-size: clamp(3.5rem, 2.5316901408rem + 4.1314553991vw, 6.25rem);
  line-height: clamp(3.75rem, 2.6056338028rem + 4.882629108vw, 7rem);
  letter-spacing: clamp(0rem, 0.0660211268rem + -0.2816901408vw, -0.1875rem);
}

.h1 {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(2.5rem, 1.9718309859rem + 2.2535211268vw, 4rem);
  line-height: clamp(2.5rem, 1.7957746479rem + 3.0046948357vw, 4.5rem);
  letter-spacing: 0rem;
}

.h2 {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(2rem, 1.6478873239rem + 1.5023474178vw, 3rem);
  line-height: clamp(2.25rem, 1.8098591549rem + 1.8779342723vw, 3.5rem);
  letter-spacing: 0rem;
}

.h3 {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.75rem, 1.573943662rem + 0.7511737089vw, 2.25rem);
  line-height: clamp(1.875rem, 1.6549295775rem + 0.9389671362vw, 2.5rem);
  letter-spacing: 0rem;
}

.h4 {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.25rem, 1.161971831rem + 0.3755868545vw, 1.5rem);
  line-height: clamp(1.5rem, 1.323943662rem + 0.7511737089vw, 2rem);
  letter-spacing: 0rem;
}

.h5 {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.125rem, 1.0809859155rem + 0.1877934272vw, 1.25rem);
  line-height: 1.5rem;
  letter-spacing: 0rem;
}

.body-large {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.125rem, 0.9929577465rem + 0.5633802817vw, 1.5rem);
  line-height: clamp(1.5rem, 1.411971831rem + 0.3755868545vw, 1.75rem);
  letter-spacing: 0rem;
}

.body-medium {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(1.125rem, 0.9929577465rem + 0.5633802817vw, 1.5rem);
  line-height: clamp(1.5rem, 1.411971831rem + 0.3755868545vw, 1.75rem);
  letter-spacing: 0rem;
}

.body {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: clamp(1.5rem, 1.411971831rem + 0.3755868545vw, 1.75rem);
  letter-spacing: 0rem;
}

.button {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1rem;
  letter-spacing: 0rem;
}

.body-small {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: clamp(1rem, 0.9559859155rem + 0.1877934272vw, 1.125rem);
  letter-spacing: 0rem;
}

.label {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: clamp(1rem, 0.9559859155rem + 0.1877934272vw, 1.125rem);
  letter-spacing: clamp(0rem, -0.0220070423rem + 0.0938967136vw, 0.0625rem);
}

.caption {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: clamp(1rem, 0.9559859155rem + 0.1877934272vw, 1.125rem);
  letter-spacing: 0rem;
}

.product-detail {
  padding: 0;
  overflow: hidden;
  background-color: #ffffff;
}
.product-detail .product-carousel-container {
  width: 100%;
  overflow: hidden;
  margin-bottom: 1rem;
}
@media (min-width: 769px) {
  .product-detail .product-carousel-container {
    width: 101%;
    margin-bottom: 0;
  }
}
.product-detail .product-carousel-container img:hover {
  cursor: pointer;
}
.product-detail .row:has(> .product-category-container) {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-block: 1rem 0;
  max-width: 38.125rem;
}
@media (min-width: 769px) {
  .product-detail .row:has(> .product-category-container) {
    margin-block: 2.5rem 0;
  }
}
.product-detail .col:has(.add-to-wish-list) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.product-detail .product-category-name {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: clamp(1rem, 0.9559859155rem + 0.1877934272vw, 1.125rem);
  letter-spacing: 0rem;
  color: rgba(21, 17, 13, 0.45);
  text-transform: uppercase;
}
.product-detail .product-name {
  margin-bottom: 0.5rem;
  text-transform: capitalize;
}
.product-detail .product-breadcrumb {
  background-color: #ffffff;
  padding: 2.5rem 1rem 1rem;
}
@media (min-width: 769px) {
  .product-detail .product-breadcrumb {
    padding: 2.5rem 6rem 0;
  }
}
.product-detail .product-breadcrumb * {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: clamp(1rem, 0.9559859155rem + 0.1877934272vw, 1.125rem);
  letter-spacing: 0rem;
  color: rgba(21, 17, 13, 0.45);
  text-transform: lowercase;
  text-transform: capitalize;
}
.product-detail .product-breadcrumb .breadcrumb {
  padding-block: 0;
  border: none;
}
.product-detail .product-breadcrumb .breadcrumb a {
  display: inline-block;
  text-transform: lowercase;
  color: rgba(21, 17, 13, 0.68);
}
.product-detail .product-breadcrumb .breadcrumb a::first-letter {
  text-transform: capitalize !important;
}
.product-detail .product-breadcrumb .row {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
.product-detail .product-breadcrumb .breadcrumb-item:nth-of-type(1)::before {
  content: "/";
  display: inline-block;
  margin-right: 0.3125rem;
}
.product-detail .product-breadcrumb:has(li:nth-child(2)) .breadcrumb-item:nth-of-type(1)::before {
  content: none;
  display: inline-block;
}
.product-detail .product-breadcrumb .breadcrumb-item:nth-last-of-type(1) a {
  color: #15110d;
}
.product-detail .product-description {
  margin-bottom: 1rem;
}
.product-detail .product-number-container {
  margin-bottom: 1.5rem;
  color: rgba(21, 17, 13, 0.45);
}
.product-detail .product-number-container * {
  float: none;
}
.product-detail .product-number-container .product-id {
  color: rgba(21, 17, 13, 0.45);
}
.product-detail .prices-add-to-cart-actions {
  padding: 0 0 1rem;
  position: static !important;
  background-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media (min-width: 769px) {
  .product-detail .prices-add-to-cart-actions {
    padding-bottom: 3.5rem;
  }
}
.product-detail .prices-add-to-cart-actions .prices {
  margin-bottom: 1.5rem;
  padding: 0;
  text-align: left;
}
.product-detail .prices-add-to-cart-actions .prices .price {
  text-align: left;
}
.product-detail .prices-add-to-cart-actions .cart-and-ipay {
  text-align: left;
  padding: 0;
}
.product-detail .prices-add-to-cart-actions .cart-and-ipay-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.product-detail .attributes {
  padding: 0;
}
.product-detail .attributes .form-control {
  margin-bottom: 1.5rem;
}
.product-detail .main-swiper {
  margin-bottom: 1.5rem;
}
.product-detail .main-swiper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.product-detail .product-description {
  display: grid;
  gap: 1.5rem;
  padding-left: 0;
}
@media (min-width: 769px) {
  .product-detail .product-description {
    grid-template-columns: 1fr 1fr;
  }
}
.product-detail .product-description-container {
  padding-top: 0;
  padding-bottom: 1.5rem;
  max-width: 38.125rem;
  border-bottom: 1px solid #e0dfdd;
}
.product-detail .product-description-container .product-description {
  padding-top: 1rem;
}
@media (min-width: 769px) {
  .product-detail .product-description-container {
    padding-top: 3.5rem;
    border-top: 1px solid #e0dfdd;
    padding-bottom: 0;
    border-bottom: none;
  }
  .product-detail .product-description-container .product-description {
    padding-top: 0;
  }
}
.product-detail .product-description-title {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: clamp(1rem, 0.9559859155rem + 0.1877934272vw, 1.125rem);
  letter-spacing: 0rem;
  display: none;
  color: #5a5450;
  margin-bottom: 1.5rem;
}
@media (min-width: 769px) {
  .product-detail .product-description-title {
    display: block;
  }
}
.product-detail .product-description-card {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
}
.product-detail .product-description-card .product-description-card-img-container {
  grid-row: span 2;
}
.product-detail .product-description-card-title {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: clamp(1rem, 0.9559859155rem + 0.1877934272vw, 1.125rem);
  letter-spacing: 0rem;
  color: #5a5450;
  margin-bottom: 0.5rem;
}
.product-detail .product-description-card-text {
  margin: 0;
}
.product-detail .product-description-card-img-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 3rem;
  height: 3rem;
  background-color: #e0dfdd;
}
.product-detail .product-description-card-img {
  width: 1.5rem;
  height: 1.5rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.product-detail .product-description-content {
  display: none;
}
@media (min-width: 769px) {
  .product-detail .product-description-content {
    display: block;
  }
}
.product-detail .product-description-accordion-title {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: clamp(1rem, 0.9559859155rem + 0.1877934272vw, 1.125rem);
  letter-spacing: 0rem;
  color: #5a5450;
}
.product-detail .product-description-accordion-title-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 769px) {
  .product-detail .product-description-accordion-title {
    margin-bottom: 1.5rem;
  }
}
.product-detail .product-description-accordion:has(.show) svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media (min-width: 769px) {
  .product-detail .product-description-accordion {
    display: none;
  }
}
.product-detail .add-to-cart {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 17.75rem;
}
.product-detail .product-detail-first {
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media (min-width: 769px) {
  .product-detail .product-detail-first {
    padding-right: 1.75rem;
  }
}
.product-detail .product-detail-second {
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media (min-width: 769px) {
  .product-detail .product-detail-second {
    padding-left: 1.75rem;
  }
}
.product-detail .custom-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.product-detail .description-and-detail {
  background-color: #ffffff;
  padding: 1rem;
}
@media (min-width: 769px) {
  .product-detail .description-and-detail {
    padding: 2.5rem 6rem;
  }
}
.product-detail .recommendation-products-container {
  background-color: #f7f6f3;
  padding: 5rem 0 5rem 1rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .product-detail .recommendation-products-container {
    padding: 7rem 0 7rem 6rem;
  }
}
.product-detail .recommendation-products-title {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.75rem, 1.573943662rem + 0.7511737089vw, 2.25rem);
  line-height: clamp(1.875rem, 1.6549295775rem + 0.9389671362vw, 2.5rem);
  letter-spacing: 0rem;
  margin-bottom: 0.5rem;
}
.product-detail .recommendation-products-subtitle {
  font-family: "TT Norms Pro", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: clamp(1rem, 0.9559859155rem + 0.1877934272vw, 1.125rem);
  letter-spacing: 0rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
  color: rgba(21, 17, 13, 0.45);
}
.product-detail .recommendation-products-text {
  margin-bottom: 0;
}
.product-detail .row:has(.product-detail-first) {
  padding: 0 1rem 0;
  background-color: #ffffff;
}
@media (min-width: 769px) {
  .product-detail .row:has(.product-detail-first) {
    padding: 2.5rem 6rem 0;
  }
}
.product-detail .product-info-description * {
  text-transform: uppercase;
  margin-bottom: 0;
}
@media (min-width: 769px) {
  .product-detail .product-info-description {
    margin-top: 1.5rem;
  }
}
