/* input(40,14): run-time error CSS1047: Expected number or percentage value in rgb function, found 'from'
input(40,47): run-time error CSS1046: Expect comma, found 'r'
input(40,49): run-time error CSS1047: Expected number or percentage value in rgb function, found 'g'
input(40,51): run-time error CSS1046: Expect comma, found 'b'
input(40,52): run-time error CSS1047: Expected number or percentage value in rgb function, found '/'
input(40,53): run-time error CSS1034: Expected closing parenthesis, found '.85'
input(40,53): run-time error CSS1042: Expected function, found '.85'
input(40,57): run-time error CSS1062: Expected semicolon or closing curly-brace, found ')'
input(41,25): run-time error CSS1047: Expected number or percentage value in rgb function, found 'from'
input(41,62): run-time error CSS1046: Expect comma, found 'r'
input(41,64): run-time error CSS1047: Expected number or percentage value in rgb function, found 'g'
input(41,66): run-time error CSS1046: Expect comma, found 'b'
input(41,67): run-time error CSS1047: Expected number or percentage value in rgb function, found '/'
input(41,68): run-time error CSS1034: Expected closing parenthesis, found '.85'
input(41,68): run-time error CSS1042: Expected function, found '.85'
input(41,72): run-time error CSS1062: Expected semicolon or closing curly-brace, found ')' */
.product-detail .product-media, .product-detail .product-summary {
  overflow: hidden;
}
.product-detail .product-main-image,
.product-detail .product-thumb {
  background-color: var(--bs-white);
}
.product-detail .product-main-image {
  border: 0;
  padding: 0;
  width: 100%;
  position: relative;
  cursor: zoom-in;
}
@media (min-width: 992px) {
  .product-detail .product-carousel .carousel-control-prev,
  .product-detail .product-carousel .carousel-control-next {
    width: 12%;
  }
}
.product-detail .product-thumbs .product-thumb {
  opacity: 0.88;
  transition: opacity 0.25s ease;
  border: 2px solid transparent !important;
}
.product-detail .product-thumbs .product-thumb:hover,
.product-detail .product-thumbs .product-thumb.active {
  opacity: 1;
  border-color: var(--bs-primary) !important;
}
.product-detail .product-summary {
  position: static;
  top: 100px;
}
.product-detail .product-media {
  max-width: 290px;
  margin: auto;
}
.product-detail .product-media .carousel [class*=carousel-control] span {
  color: rgb(from var(--bs-primary-bg-subtle) r g b/0.85);
  background-color: rgb(from var(--bs-primary-text-emphasis) r g b/0.85);
  width: 2.5rem;
  height: 2.5rem;
  background-size: 60% 100%;
  border-radius: 50%;
}
@media (min-width: 992px) {
  .product-detail .product-media {
    max-width: 420px;
  }
}
.product-detail .product-media .carousel-indicators {
  position: relative;
  margin: 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 0.5rem;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 0.5rem;
}
.product-detail .product-media .carousel-indicators::-webkit-scrollbar {
  height: 0.75rem;
  background: var(--bs-gray);
}
.product-detail .product-media .carousel-indicators::-webkit-scrollbar-thumb {
  background: var(--bs-primary);
  border-radius: 80em;
}
.product-detail .product-media .carousel-indicators [data-bs-target] {
  width: 100%;
  height: 100%;
  max-width: 100px;
  max-height: 100px;
  min-width: 100px;
  min-height: 100px;
  flex: 0 0 100px;
  opacity: 0.5;
}
.product-detail .product-media .carousel-indicators [data-bs-target]:hover {
  opacity: 0.75;
}
.product-detail .product-media .carousel-indicators [data-bs-target].active {
  opacity: 1;
}
.product-detail .product-kicker {
  letter-spacing: 0.09em;
  font-size: 0.75rem;
  color: var(--bs-tertiary-color);
}
.product-detail .product-description {
  color: var(--bs-body-color);
  line-height: 1.6;
}
.product-detail .product-price {
  font-size: clamp(1.6rem, 2.5vw, 2rem);
  font-weight: 600;
  line-height: 1;
}
.product-detail .product-compare-price {
  font-size: 1rem;
  text-decoration: line-through;
  color: var(--bs-tertiary-color);
}
.product-detail .product-meta {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(var(--bs-white-rgb), 0.25);
}
.product-detail .product-meta dt {
  opacity: 0.75;
  font-weight: 500;
  letter-spacing: 0.08em;
  font-size: 0.7rem;
}
.product-detail .product-meta dd {
  font-size: 0.95rem;
  word-break: break-word;
}
.product-detail .accordion-component .accordion-button {
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .product-detail .product-summary {
    position: sticky;
  }
  .product-detail .product-media {
    max-width: none;
  }
}
.product-detail .text-markdown {
  word-break: break-word;
}

.product-gallery-modal .modal-header {
  background-color: rgba(var(--bs-black-rgb), 0.65);
}
.product-gallery-modal .modal-body .ratio {
  max-height: calc(100vh - 95px);
}
