/* A product-first gallery: small views on the left, the selected view beside them. */
.page-index .selective-routine-showcase {
  grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);
  grid-template-rows:auto 1fr;
  align-items:center;
  gap:18px 28px;
}
.page-index .selective-routine-showcase .home-routine-showcase__gallery {
  grid-column:1;
  grid-row:1 / 3;
  width:100%;
  max-width:none;
}
.page-index .selective-routine-showcase .home-routine-showcase__intro { grid-column:2; grid-row:1; text-align:center; }
.page-index .selective-routine-showcase .home-routine-showcase__intro > p:last-child { max-width:42ch; margin-inline:auto; }
.page-index .selective-routine-showcase .home-routine-showcase__choices { grid-column:2; grid-row:2; align-self:start; }
.page-index .selective-routine-showcase .current-product-gallery {
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  grid-template-rows:auto;
  gap:10px 12px;
  min-width:0;
}
.page-index .selective-routine-showcase .current-product-gallery__stage {
  position:relative;
  grid-column:2;
  grid-row:1;
  height:clamp(320px,31vw,410px);
  min-width:0;
  border-radius:20px;
}
.page-index .selective-routine-showcase .current-product-gallery__image { width:100%; height:100%; object-fit:contain; }
.page-index .selective-routine-showcase .current-product-gallery__edition { top:12px; left:12px; padding:6px 9px; font-size:8px; }
.page-index .selective-routine-showcase .current-product-gallery__thumbs {
  grid-column:1;
  grid-row:1;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:none;
  grid-auto-flow:row;
  grid-auto-columns:auto;
  grid-auto-rows:54px;
  align-content:start;
  gap:6px;
  height:clamp(320px,31vw,410px);
  min-height:0;
  margin:0;
  padding:3px 3px 5px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  scroll-snap-type:y proximity;
  scroll-padding-block:3px;
  scrollbar-width:thin;
  scrollbar-color:#79002060 #79002009;
}
.page-index .selective-routine-showcase .current-product-gallery__thumb {
  width:100%;
  min-width:44px;
  min-height:44px;
  height:54px;
  padding:4px;
  border-radius:10px;
  scroll-snap-align:start;
}
.page-index .selective-routine-showcase .current-product-gallery__thumb img { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; }
.page-index .selective-routine-showcase .current-product-gallery__thumb span { display:none; }
.page-index .selective-routine-showcase .current-product-gallery__stage > .current-product-gallery__controls {
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding:10px;
  pointer-events:none;
}
.page-index .selective-routine-showcase .current-product-gallery__stage .current-product-gallery__controls button {
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  border-color:#79002040;
  background:#fffaf0f2;
  color:#790020;
  box-shadow:0 2px 8px #79002012;
  pointer-events:auto;
}
.page-index .selective-routine-showcase .current-product-gallery__stage .current-product-gallery__controls button:hover { background:#fff0a4; border-color:#790020; }
.page-index .selective-routine-showcase .current-product-gallery__stage .current-product-gallery__count {
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  min-width:45px;
  padding:5px 9px;
  border:1px solid #79002024;
  border-radius:99px;
  background:#fffaf0f2;
  color:#790020;
  font-size:10px;
  line-height:1.5;
}
.page-index .selective-routine-showcase .bundle-interest--routine .pack-options {
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-flow:row;
  gap:8px;
  overflow:visible;
}
.page-index .selective-routine-showcase .bundle-interest--routine .pack-option { min-width:0; height:100%; }
.page-index .selective-routine-showcase .bundle-interest--routine .pack-option-inner {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  gap:9px;
  min-height:170px;
  height:100%;
  padding:14px 7px 11px;
  border-radius:15px;
  text-align:center;
}
.page-index .selective-routine-showcase .bundle-interest--routine .routine-choice-mark { width:18px; height:18px; }
.page-index .selective-routine-showcase .bundle-interest--routine .routine-choice-copy { align-items:center; gap:4px; width:100%; }
.page-index .selective-routine-showcase .bundle-interest--routine .pack-name { font-size:14px; line-height:1.4; white-space:nowrap; }
.page-index .selective-routine-showcase .bundle-interest--routine .pack-box-count { font-size:10px; line-height:1.5; }
.page-index .selective-routine-showcase .bundle-interest--routine .routine-choice-days { min-width:0; width:100%; max-width:90px; margin-top:auto; padding:7px 5px; font-size:21px; }
.page-index .selective-routine-showcase .bundle-interest--routine .routine-choice-days > span { font-size:8px; }
.page-index .selective-routine-showcase .bundle-interest--routine > .btn { margin-top:14px; }
@media(min-width:750px) and (max-width:1000px) {
  .page-index .selective-routine-showcase { gap:16px 20px; padding:20px; }
  .page-index .selective-routine-showcase .current-product-gallery { grid-template-columns:46px minmax(0,1fr); gap:10px 8px; }
  .page-index .selective-routine-showcase .current-product-gallery__thumbs { grid-auto-rows:46px; padding-inline:0; }
  .page-index .selective-routine-showcase .current-product-gallery__thumb { height:46px; padding:3px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-options { gap:5px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-option-inner { padding:11px 4px 8px; min-height:166px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-name { font-size:12px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-box-count { font-size:9px; }
}
@media(max-width:749px) {
  .page-index .selective-routine-showcase { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; gap:17px; }
  .page-index .selective-routine-showcase .home-routine-showcase__intro { grid-column:1; grid-row:1; }
  .page-index .selective-routine-showcase .home-routine-showcase__gallery { grid-column:1; grid-row:2; max-width:460px; justify-self:center; }
  .page-index .selective-routine-showcase .home-routine-showcase__choices { grid-column:1; grid-row:3; }
  .page-index .selective-routine-showcase .current-product-gallery { grid-template-columns:48px minmax(0,1fr); gap:9px; }
  .page-index .selective-routine-showcase .current-product-gallery__stage { height:clamp(280px,72vw,350px); border-radius:17px; }
  .page-index .selective-routine-showcase .current-product-gallery__thumbs { height:clamp(280px,72vw,350px); grid-auto-rows:46px; padding-inline:0; gap:5px; }
  .page-index .selective-routine-showcase .current-product-gallery__thumb { height:46px; padding:3px; }
  .page-index .selective-routine-showcase .current-product-gallery__stage > .current-product-gallery__controls { padding:7px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-options { gap:7px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-option-inner { min-height:158px; padding:12px 6px 9px; gap:7px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-name { font-size:13px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-box-count { font-size:10px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .routine-choice-days { font-size:20px; }
}
@media(max-width:359px) {
  .page-index .selective-routine-showcase .current-product-gallery { grid-template-columns:44px minmax(0,1fr); gap:8px; }
  .page-index .selective-routine-showcase .current-product-gallery__thumbs { grid-auto-rows:44px; }
  .page-index .selective-routine-showcase .current-product-gallery__thumb { height:44px; padding:2px; }
  .page-index .selective-routine-showcase .current-product-gallery__edition { font-size:7px; left:7px; top:8px; padding:5px 7px; }
  .page-index .selective-routine-showcase .current-product-gallery__stage > .current-product-gallery__controls { padding:5px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-options { gap:5px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-option-inner { min-height:155px; padding:10px 4px 8px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-name { font-size:12px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .pack-box-count { font-size:9px; }
  .page-index .selective-routine-showcase .bundle-interest--routine .routine-choice-days { font-size:18px; }
}
