/* Sunny Handpiece â€” Figma Group3 1920Ã—1080, 100vh (rem ë² ì´ìŠ¤: html 10px) */

#previewContent .sunny-handpiece {
  height: 108rem;
  min-height: 108rem;
}

.sunny-handpiece {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 108rem;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #ffffff;
  box-sizing: border-box;
}

.sunny-handpiece *,
.sunny-handpiece *::before,
.sunny-handpiece *::after {
  box-sizing: border-box;
}

/* Frame7: x251 y96, 1451×905 */
.sunny-handpiece__stage {
  position: relative;
  width: 100%;
  max-width: 145.1rem;
  height: 100%;
  margin: 0 auto;
}

/* 사각형38: x1084, 836×634 — stage 기준 */
.sunny-handpiece__handpiece {
  position: absolute;
  top: -5rem;
  right: 0;
  width: 83.6rem;
  height: 63.4rem;
  object-fit: contain;
  object-position: right top;
  z-index: 2;
  display: block;
  pointer-events: none;
}

.sunny-handpiece__inner {
  position: absolute;
  top: 9.6rem;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 145.1rem;
  height: 90.5rem;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
}

/* text group: x27, 804×254 — handpiece 위 */
.sunny-handpiece__header {
  position: relative;
  z-index: 3;
  width: 80.4rem;
}

.sunny-handpiece__title {
  margin: 0;
  padding: 0;
  width: 58.6rem;
  color: #ff671f;
  font-family:
    Pretendard,
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
  font-size: 5.6rem;
  font-weight: 600;
  line-height: 6.683rem;
  text-align: left;
  word-break: keep-all;
  overflow-wrap: normal;
}

.sunny-handpiece__subtitle {
  margin: 4rem 0 0 0;
  padding: 0;
  width: 80.4rem;
  color: #000000;
  font-family:
    Pretendard,
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 4rem;
  text-align: left;
  word-break: keep-all;
  overflow-wrap: normal;
}

/* Frame5 + Frame6 row — main + tips = 100% (122.1 + 3 + 20 rem 시안) */
.sunny-handpiece__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 3rem;
  margin-top: 3.6rem;
  width: 100%;
  min-width: 0;
}

/* Frame5: 유동 축소 — tips(20rem)+gap(3rem) 확보 */
.sunny-handpiece__main {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: 122.1rem;
}

/* PULSAR: 1221Ã—280 */
.sunny-handpiece__pulsar {
  position: relative;
  width: 100%;
  height: 28rem;
  background-color: #ff671f;
  border-radius: 2.4rem;
  overflow: hidden;
}

.sunny-handpiece__pulsar-title {
  position: absolute;
  top: 5rem;
  left: 5rem;
  z-index: 1;
  margin: 0;
  padding: 0;
  color: #ffffff;
  font-family:
    Pretendard,
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 4.296rem;
  text-align: left;
}

.sunny-handpiece__pulsar-content {
  position: absolute;
  top: 12.1rem;
  left: 5rem;
  right: 5rem;
  z-index: 1;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 77.7rem;
  color: #ffffff;
  font-family:
    Pretendard,
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 4rem;
  text-align: left;
  word-break: keep-all;
  overflow-wrap: normal;
}

/* Frame4: 1221×305 — grid 3열 */
.sunny-handpiece__tech-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.7rem;
  margin-top: 3rem;
  width: 100%;
  min-width: 0;
}

.sunny-handpiece__tech-card {
  position: relative;
  width: 100%;
  min-width: 0;
  height: 30.5rem;
  text-align: center;
  background-color: #ffffff;
  border: 0.2rem solid #ff671f;
  border-radius: 2.4rem;
  overflow: hidden;
}

.sunny-handpiece__tech-title {
  position: absolute;
  top: 4.1rem;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  color: #ff671f;
  font-family:
    Pretendard,
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 4.296rem;
  text-align: center;
}

.sunny-handpiece__tech-subtitle {
  position: absolute;
  top: 9.2rem;
  left: 50%;
  transform: translateX(-50%);
  width: 18.5rem;
  margin: 0;
  padding: 0;
  color: #ff671f;
  font-family:
    Pretendard,
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.6rem;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: normal;
}

.sunny-handpiece__tech-content {
  position: absolute;
  top: 18.9rem;
  left: 50%;
  transform: translateX(-50%);
  width: 25.6rem;
  margin: 0;
  padding: 0;
  color: #000000;
  font-family:
    Pretendard,
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 3.2rem;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: normal;
}

.sunny-handpiece__tech-card:nth-child(2) .sunny-handpiece__tech-subtitle {
  width: 26rem;
}

.sunny-handpiece__tech-card:nth-child(2) .sunny-handpiece__tech-content {
  top: 17.2rem;
  width: 23.1rem;
}

.sunny-handpiece__tech-card:nth-child(3) .sunny-handpiece__tech-subtitle {
  width: 26rem;
}

.sunny-handpiece__tech-card:nth-child(3) .sunny-handpiece__tech-content {
  top: 17.2rem;
  width: 32rem;
}

/* Frame6: 200×604 */
.sunny-handpiece__tips {
  flex: 0 0 20rem;
  width: 20rem;
  min-width: 0;
  margin-top: 0.7rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7.7rem;
}

/* Group27: 200Ã—271 */
.sunny-handpiece__tip {
  position: relative;
  width: 20rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sunny-handpiece__tip:first-child {
  height: 27.1rem;
}

.sunny-handpiece__tip:last-child {
  height: 27.6rem;
  justify-content: end;
}

/* QUASAR tip: 160Ã—201 */
.sunny-handpiece__tip:first-child .sunny-handpiece__tip-image {
  width: 16rem;
  height: 20.1rem;
}

/* BLAZAR tip: 160Ã—186 */
.sunny-handpiece__tip:last-child .sunny-handpiece__tip-image {
  width: 16rem;
  height: 18.6rem;
}

.sunny-handpiece__tip-image {
  object-fit: contain;
  object-position: center top;
  display: block;
}

.sunny-handpiece__tip-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20rem;
  height: 5rem;
  margin-top: 2rem;
  padding: 0 2rem;
  background-color: #ff671f;
  border-radius: 2.5rem;
}

.sunny-handpiece__tip:first-child .sunny-handpiece__tip-label {
  margin-top: 2rem;
}

.sunny-handpiece__tip:last-child .sunny-handpiece__tip-label {
  margin-top: 2rem;
}

.sunny-handpiece__tip-label-text {
  color: #ffffff;
  font-family:
    Pretendard,
    -apple-system,
    BlinkMacSystemFont,
    system-ui,
    sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 2.864rem;
  text-align: center;
}

@media (max-width: 1451px) {
  .sunny-handpiece__pulsar-content {
    width: auto;
    right: 5rem;
    max-width: 77.7rem;
  }

  .sunny-handpiece__tech-grid {
    gap: clamp(1.2rem, 1.5vw, 2.7rem);
  }
}

/* 1024 — 3열 유지, 텍스트·간격 축소 + 카드 내부 flow 레이아웃 */

@media (max-width: 768px) {
  .sunny-handpiece {
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
  }

  .sunny-handpiece__handpiece {
    top: 0;
    right: 0;
    width: 100%;
    max-width: 60rem;
    height: auto;
    margin: 0;
    display: block;
    pointer-events: auto;
  }

  .sunny-handpiece__stage {
    max-width: 76.8rem;
    padding-top: 42rem;
  }

  .sunny-handpiece__inner {
    position: relative;
    top: auto;
    width: 76.8rem;
    height: auto;
    padding: 6rem 2rem 8rem;
  }

  .sunny-handpiece__header {
    padding-left: 0;
    width: 100%;
    max-width: 100%;
  }

  .sunny-handpiece__title {
    width: 100%;
    font-size: 3.8rem;
    line-height: 4.4rem;
    text-align: center;
  }

  .sunny-handpiece__subtitle {
    width: 100%;
    font-size: 2.8rem;
    line-height: 1.4;
    margin-top: 2.4rem;
    text-align: center;
  }

  .sunny-handpiece__body {
    flex-direction: column;
    width: 100%;
    margin-top: 4rem;
    gap: 4rem;
  }

  .sunny-handpiece__main {
    flex: none;
    width: 100%;
    max-width: 100%;
  }

  .sunny-handpiece__pulsar {
    width: 100%;
    height: auto;
    min-height: 24rem;
    padding: 4rem 2rem;
  }

  .sunny-handpiece__pulsar-title,
  .sunny-handpiece__pulsar-content {
    position: static;
    width: 100%;
  }

  .sunny-handpiece__pulsar-title {
    margin-bottom: 2rem;
    font-size: 3.2rem;
    line-height: 1.4;
  }

  .sunny-handpiece__pulsar-content {
    font-size: 2.8rem;
    line-height: 1.4;
  }

  .sunny-handpiece__tech-grid {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 2.4rem;
    margin-top: 2.4rem;
  }

  .sunny-handpiece__tech-card {
    width: 100%;
    margin: 0 auto;
  }

  .sunny-handpiece__tech-card:nth-child(2) .sunny-handpiece__tech-content {
    width: 33.1rem;
    max-width: 100%;
  }
  .sunny-handpiece__tech-card:nth-child(3) .sunny-handpiece__tech-content {
    width: 42rem;
    max-width: 100%;
  }

  .sunny-handpiece__tech-title {
    width: 100%;
    max-width: none;
    font-size: 3.2rem;
    line-height: 1.4;
  }

  .sunny-handpiece__tech-subtitle,
  .sunny-handpiece__tech-content {
    width: 100%;
    max-width: 32rem;
  }

  .sunny-handpiece__tech-subtitle {
    font-size: 2rem;
    line-height: 1.4;
  }

  .sunny-handpiece__tech-content {
    font-size: 2.8rem;
    line-height: 1.4;
  }

  .sunny-handpiece__tips {
    width: 100%;
    flex-direction: row;
    justify-content: center;
    margin-top: 0;
    gap: 3rem;
  }
  .sunny-handpiece__tip {
    width: 50%;
    justify-content: end;
  }
  .sunny-handpiece__tip:first-child {
    height: 36rem !important;
  }
  .sunny-handpiece__tip:last-child {
    height: 36rem !important;
  }
  .sunny-handpiece__tip .sunny-handpiece__tip-image {
    width: 22rem !important;
    height: auto !important;
  }
}
