/* iLab station's own four-panel promotion carousel; scoped to the buyback home. */
.ilab-carousel {
  box-sizing: border-box;
  width: min(100% - 32px, 1280px);
  margin: 18px auto 10px;
  color: #173553;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
}
.ilab-carousel *, .ilab-carousel *::before, .ilab-carousel *::after { box-sizing: border-box; }
.ilab-carousel__viewport {
  position: relative;
  height: clamp(280px, 30vw, 392px);
  overflow: hidden;
  isolation: isolate;
  border-radius: 21px;
  background: #e7eef7;
  box-shadow: 0 18px 46px rgba(17, 41, 73, .12);
}
.ilab-carousel__slides, .ilab-slide { position: absolute; inset: 0; }
.ilab-slide {
  display: flex;
  align-items: center;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .55s ease, visibility .55s;
}
.ilab-slide.is-active { visibility: visible; opacity: 1; pointer-events: auto; z-index: 1; }
.ilab-slide--buyback {
  background: linear-gradient(90deg, rgba(238,246,255,.42) 0%, rgba(238,246,255,.08) 60%, transparent 100%), url('/banners/mobile-buyback.webp') right center / cover no-repeat, #e5eef8;
}
.ilab-slide--line {
  color: #fff;
  background: radial-gradient(circle at 84% 30%, rgba(121, 241, 190, .27), transparent 40%), linear-gradient(115deg, #053f3e 0%, #076d53 52%, #109764 100%);
}
.ilab-slide--used {
  color: #fff;
  background: linear-gradient(90deg, rgba(16,35,62,.42), rgba(16,35,62,0) 74%), url('/banners/apple-devices.webp') right center / cover no-repeat, #10233e;
}
.ilab-slide--hours {
  background: radial-gradient(ellipse at 85% 20%, rgba(120,160,206,.27), transparent 40%), repeating-linear-gradient(0deg, rgba(47,84,117,.04) 0 1px, transparent 1px 48px), linear-gradient(125deg, #edf3f9 0%, #d7e5f2 100%);
}
.ilab-slide__content {
  position: relative;
  z-index: 2;
  width: min(59%, 740px);
  padding: 22px 4% 28px 7.1%;
  text-align: left;
}
.ilab-slide__eyebrow {
  margin: 0 0 15px;
  font-size: clamp(10px, 1vw, 13px);
  line-height: 1.5;
  font-weight: 750;
  letter-spacing: .19em;
  color: #286296;
}
.ilab-slide--line .ilab-slide__eyebrow { color: #b4efdb; }
.ilab-slide--used .ilab-slide__eyebrow { color: #b5d4f0; }
.ilab-slide__eyebrow span { color: #7898ba; }
.ilab-carousel .ilab-slide h2 {
  padding: 0;
  margin: 0 0 15px;
  color: inherit;
  font-size: clamp(27px, 3.55vw, 49px);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.25;
  text-shadow: none;
}
.ilab-carousel .ilab-slide h2 span { color: #2463ac; }
.ilab-carousel .ilab-slide--line h2 span { color: #eafff4; }
.ilab-carousel .ilab-slide--used h2 { font-size: clamp(27px, 3.1vw, 44px); }
.ilab-carousel .ilab-slide--used h2 span { color: #b6daf8; }
.ilab-slide__detail {
  font-size: clamp(13px, 1.25vw, 17px);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: .02em;
  margin: 0 0 21px;
  color: #39536e;
}
.ilab-slide--line .ilab-slide__detail, .ilab-slide--used .ilab-slide__detail { color: #eff8ff; }
.ilab-slide__note { margin: 13px 0 0; font-size: clamp(11px, 1vw, 13px); line-height: 1.65; color: #cbdcf0; letter-spacing: .01em; }
.ilab-slide__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 12px 21px;
  border-radius: 100px;
  border: 1px solid transparent;
  background: #245891;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  box-shadow: 0 6px 16px rgba(22,57,99,.16);
  transition: transform .2s, background .2s, box-shadow .2s;
}
.ilab-slide__cta span { font-size: 19px; line-height: 1; }
.ilab-slide__cta:hover { transform: translateY(-2px); background: #163e70; box-shadow: 0 9px 22px rgba(14,49,88,.23); }
.ilab-slide--line .ilab-slide__cta { background: #fff; color: #08684e !important; }
.ilab-slide--line .ilab-slide__cta:hover { background: #e6fff2; }
.ilab-slide--used .ilab-slide__cta { background: #fff; color: #173b64 !important; }
.ilab-slide--used .ilab-slide__cta:hover { background: #e6f4ff; }
.ilab-slide__cta:focus-visible, .ilab-carousel button:focus-visible { outline: 3px solid #ffca71; outline-offset: 4px; }
.ilab-slide__line-art {
  position: absolute;
  top: 0;
  right: 7%;
  width: 37%;
  height: 100%;
  display: grid;
  place-items: center;
}
.ilab-slide__line-orbit { width: min(24vw, 310px); height: min(24vw, 310px); border: 1px solid rgba(220,255,240,.32); border-radius: 50%; box-shadow: 0 0 0 36px rgba(234,255,245,.055), 0 0 0 72px rgba(234,255,245,.035); }
.ilab-slide__line-bubble {
  position: absolute;
  width: min(14.5vw, 190px);
  height: min(14.5vw, 190px);
  display: grid;
  place-items: center;
  color: #0b835c;
  font-size: clamp(25px, 3.3vw, 44px);
  font-weight: 850;
  letter-spacing: -.055em;
  border-radius: 38%;
  background: #fff;
  transform: rotate(-7deg);
  box-shadow: 0 28px 55px #003f3345;
}
.ilab-slide__line-bubble::after { content: ""; position: absolute; width: 25%; height: 24%; right: 7%; bottom: -7%; background: #fff; clip-path: polygon(0 0, 100% 0, 100% 100%); }
.ilab-slide__line-bubble span { transform: rotate(7deg); }
.ilab-slide__line-small { width: 23px; height: 23px; position: absolute; top: 19%; right: 9%; border: 2px solid #c9ffe7; border-radius: 50%; opacity: .6; }
.ilab-slide__hours-inline strong { font-size: 1.18em; letter-spacing: .04em; color: #173c65; }
.ilab-slide__hours-card {
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%) rotate(4deg);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(31%, 356px);
  padding: 33px 22px 23px;
  background: #fff;
  border: 1px solid #e2ecf6;
  border-radius: 16px;
  box-shadow: 0 25px 55px rgba(28,64,104,.15);
}
.ilab-slide__hours-card-label { color: #5b7492; font-size: 11px; font-weight: 800; letter-spacing: .19em; }
.ilab-slide__hours-card strong { font-size: clamp(27px, 3vw, 41px); letter-spacing: -.04em; line-height: 1.8; color: #163759; }
.ilab-slide__hours-card strong span { color: #729abb; font-size: .8em; padding: 0 4px; }
.ilab-slide__hours-card i { width: 72%; height: 1px; background: #dce7f2; margin: 8px 0 17px; }
.ilab-slide__hours-card b { color: #2e6395; font-size: clamp(19px, 2.2vw, 29px); letter-spacing: .04em; line-height: 1.8; }
.ilab-slide__hours-card small { color: #7890a7; font-size: 12px; margin-top: 14px; }
.ilab-carousel__arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(95,125,156,.24);
  background: rgba(255,255,255,.86);
  color: #20466e;
  cursor: pointer;
  box-shadow: 0 3px 12px #12345416;
}
.ilab-carousel__arrow:hover { background: #fff; }
.ilab-carousel__arrow span { font: 400 38px/0.7 Georgia, serif; margin-top: -4px; }
.ilab-carousel__arrow--prev { left: 12px; }
.ilab-carousel__arrow--next { right: 12px; }
.ilab-carousel__pagination { display: flex; justify-content: center; align-items: center; gap: 12px; min-height: 38px; margin: 5px 0 0; }
.ilab-carousel__dot {
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 20px;
  padding: 0;
  background: #c7d4e1;
  cursor: pointer;
  transition: width .25s, background .25s;
}
.ilab-carousel__dot.is-active { width: 31px; background: #2c689e; }
@media (max-width: 767px) {
  .ilab-carousel { width: calc(100% - 20px); margin-top: 9px; margin-bottom: 4px; }
  .ilab-carousel__viewport { height: 350px; border-radius: 14px; box-shadow: 0 9px 24px rgba(17,41,73,.11); }
  .ilab-slide__content { width: 100%; padding: 21px 42px 28px; align-self: center; }
  .ilab-slide--buyback { background: linear-gradient(90deg, rgba(238,246,255,.93), rgba(238,246,255,.84) 54%, rgba(238,246,255,.34)), url('/banners/mobile-buyback.webp') 67% center / auto 100% no-repeat, #e5eef8; }
  .ilab-slide--used { background: linear-gradient(90deg, rgba(16,35,62,.96), rgba(16,35,62,.82) 62%, rgba(16,35,62,.48)), url('/banners/apple-devices.webp') 72% center / auto 100% no-repeat, #10233e; }
  .ilab-slide__eyebrow { margin-bottom: 12px; letter-spacing: .11em; font-size: 10px; }
  .ilab-carousel .ilab-slide h2 { font-size: clamp(25px, 7.5vw, 34px); line-height: 1.32; margin-bottom: 15px; }
  .ilab-carousel .ilab-slide--used h2 { font-size: clamp(23px, 6.5vw, 31px); }
  .ilab-slide__detail { font-size: 13px; line-height: 1.7; margin-bottom: 19px; }
  .ilab-slide__cta { font-size: 12px; padding: 11px 16px; gap: 13px; }
  .ilab-slide__line-art { right: -12%; width: 61%; opacity: .21; }
  .ilab-slide__line-orbit { width: 220px; height: 220px; }
  .ilab-slide__line-bubble { width: 135px; height: 135px; font-size: 29px; }
  .ilab-slide__hours-card { right: -27px; width: 180px; opacity: .32; padding: 24px 12px; }
  .ilab-slide__hours-card strong { font-size: 21px; }
  .ilab-slide__hours-card b { font-size: 16px; }
  .ilab-carousel__arrow { width: 31px; height: 37px; border-radius: 10px; background: rgba(255,255,255,.72); }
  .ilab-carousel__arrow span { font-size: 29px; }
  .ilab-carousel__arrow--prev { left: 4px; }
  .ilab-carousel__arrow--next { right: 4px; }
  .ilab-carousel__pagination { gap: 11px; }
}
@media (max-width: 365px) {
  .ilab-slide__content { padding-left: 36px; padding-right: 33px; }
  .ilab-carousel .ilab-slide h2 { font-size: 24px; }
  .ilab-carousel .ilab-slide--used h2 { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .ilab-slide, .ilab-slide__cta, .ilab-carousel__dot { transition: none; }
}
