body.honest-site--product {
  background: #050505;
  color: #f4f4f2;
}
body.honest-site--product > main { padding-top: 0 !important; }
.otimize-detail { min-height: 100svh; }
.otimize-detail__top {
  width: min(1350px, calc(100% - 72px));
  height: 86px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid #292929;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  letter-spacing: .02em;
}
.otimize-detail__top a,
.otimize-detail__top button { width: fit-content; color: #aaa; transition: color .25s ease; }
.otimize-detail__top a:hover,
.otimize-detail__top button:hover { color: #fff; }
.otimize-detail__brand {
  color: #f6f6f4 !important;
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -.09em;
}
.otimize-detail__brand span { color: #8d8d8d; }
.otimize-detail__cart { justify-self: end; border: 0; padding: 8px 0; background: transparent; cursor: pointer; }
.otimize-detail__layout {
  width: min(1260px, calc(100% - 72px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .93fr);
  align-items: start;
  gap: clamp(38px, 6vw, 95px);
  padding: clamp(40px, 5vw, 78px) 0 90px;
}
.otimize-detail__visual {
  position: sticky;
  top: 30px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  min-width: 0;
  min-height: 570px;
  overflow: hidden;
  border: 1px solid #2d2d2d;
  background: #080808;
}
.otimize-detail__visual-label,
.otimize-detail__visual-index,
.otimize-detail__eyebrow,
.otimize-detail__status,
.otimize-detail__description h2 {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .13em;
  line-height: 1.5;
}
.otimize-detail__visual-label,
.otimize-detail__visual-index { position: absolute; z-index: 2; left: 25px; color: #8a8a8a; }
.otimize-detail__visual-label { top: 23px; }
.otimize-detail__visual-index { bottom: 23px; }
.otimize-detail__image {
  display: block;
  width: calc(100% - 48px);
  height: clamp(350px, 33vw, 450px);
  object-fit: cover;
  object-position: center;
  filter: none;
}
.otimize-detail__image--fallback { opacity: 0; }
#package-gallery { position: relative; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; padding: 70px 24px 26px; }
#package-gallery-slider { width: 100%; min-width: 0; height: 370px; overflow: hidden; }
#package-gallery-slider .keen-slider__slide { display: grid; place-items: center; min-width: 0; }
#package-gallery-slider img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: none; }
.otimize-detail__gallery-arrow {
  position: absolute;
  z-index: 3;
  top: 45%;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #555;
  background: rgba(0,0,0,.7);
  color: #fff;
  cursor: pointer;
}
.otimize-detail__gallery-arrow--prev { left: 15px; }
.otimize-detail__gallery-arrow--next { right: 15px; }
.otimize-detail__thumbs { display: flex; gap: 8px; justify-content: safe center; max-width: 100%; margin-top: 12px; overflow-x: auto; scrollbar-width: none; }
.otimize-detail__thumbs::-webkit-scrollbar { display: none; }
.otimize-detail__thumbs button { width: 50px; height: 50px; border-radius: 0; }
.otimize-detail__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.otimize-detail__info { min-width: 0; padding-top: 15px; }
.otimize-detail__eyebrow { color: #8c8c8c; }
.otimize-detail__info h1 {
  margin: 18px 0 23px;
  color: #f5f5f3;
  font-size: clamp(38px, 4.5vw, 64px);
  font-weight: 500;
  letter-spacing: -.07em;
  line-height: 1.06;
  overflow-wrap: anywhere;
}
.otimize-detail__status { display: flex; flex-wrap: wrap; gap: 10px 22px; color: #858585; letter-spacing: .03em; }
.otimize-detail__status span::before { content: "•"; padding-right: 7px; color: #aaa; }
.otimize-detail__status span:first-child::before { content: none; }
.otimize-detail__pricing { margin: 45px 0 32px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px 18px; }
.otimize-detail__compare { width: 100%; min-height: 16px; color: #777; font-size: 12px; }
.otimize-detail__pricing strong { color: #fff; font-size: clamp(32px, 3vw, 44px); font-weight: 500; letter-spacing: -.07em; }
.otimize-detail__discount { color: #aaa; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 11px; }
.otimize-detail__variations { margin-bottom: 27px; }
.otimize-detail__variations #variation-list { margin-bottom: 0; }
.otimize-detail__variations [data-action="select-variation"] {
  min-height: 67px;
  border-radius: 0;
  border-color: #393939;
  background: transparent;
}
.otimize-detail__variations [data-action="select-variation"]:hover,
.otimize-detail__variations [data-selected="true"] { border-color: #999; background: #171717; }
.otimize-detail__variations .text-green-500 { color: #999; }
.otimize-detail__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.otimize-detail__actions button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 53px;
  padding: 0 18px;
  border-radius: 0 !important;
  font-size: 12px !important;
  cursor: pointer;
}
.otimize-detail__actions button:disabled { opacity: .45; cursor: not-allowed; }
.otimize-detail__actions button span { font-size: 18px; }
.otimize-detail__description { margin-top: 60px; padding-top: 24px; border-top: 1px solid #3b3b3b; }
.otimize-detail__description h2 { margin: 0 0 20px; color: #ddd; }
.otimize-detail__description .centralcart-content { color: #aaa; font-size: 14px; line-height: 1.8; }
.otimize-detail__description .centralcart-content :is(h2,h3,h4,strong) { color: #e4e4e4; }
@media (max-width: 900px) {
  .otimize-detail__layout { grid-template-columns: 1fr; gap: 36px; }
  .otimize-detail__visual { position: relative; top: auto; min-height: 460px; }
  .otimize-detail__info { padding-top: 0; }
}
@media (max-width: 600px) {
  .otimize-detail__top { width: calc(100% - 40px); height: 70px; }
  .otimize-detail__brand { font-size: 18px; }
  .otimize-detail__layout { width: calc(100% - 40px); padding: 24px 0 70px; gap: 30px; }
  .otimize-detail__visual { min-height: 350px; }
  .otimize-detail__image { width: calc(100% - 40px); height: clamp(210px, 70vw, 280px); }
  #package-gallery { padding: 60px 20px 20px; }
  #package-gallery-slider { height: clamp(210px, 70vw, 280px); }
  .otimize-detail__info h1 { margin-top: 12px; font-size: 39px; }
  .otimize-detail__pricing { margin: 35px 0 26px; }
  .otimize-detail__actions { grid-template-columns: 1fr; }
  .otimize-detail__description { margin-top: 45px; }
}
