﻿.product_visual {
  height: 100%;
  min-height: 900px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url('/assets/images/product/ecart/GA300_header.png');
  display: flex;
  align-items: center;
  position: relative;
}

.product_visual p {
  color: #fff;
  font-family: Pretendard;
  font-size: 36px;
  font-style: normal;
  font-weight: 600;
  line-height: 110%;
  letter-spacing: -0.72px;
}

.product_visual h2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #fff;
  font-family: Pretendard;
  font-size: 60px;
  font-style: normal;
  font-weight: 800;
  line-height: 130%; /* 78px */
  letter-spacing: -1.2px;
}

.ecart_visual_tit_group {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ecart_visual_tit_model {
  font-size: 40px;
  font-weight: 800;
  line-height: normal;
  letter-spacing: 0;
}

.ecart_visual_badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 4px;
  background: #fff;
  color: #000;
  font-family: Pretendard;
  font-size: 24px;
  font-weight: 800;
  line-height: normal;
}

.sec_visual.product_visual .prd_tag_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin: 40px 0 0;
}

.sec_visual.product_visual .prd_tag_list li {
  width: max-content;
  padding: 4px 20px;
  border: 1px solid #fff;
  border-radius: 500px;
  background: transparent;
  color: #fff;
  font-family: Pretendard;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.32px;
  white-space: nowrap;
}

.ecart_inquiry_btn {
  position: absolute;
  right: 3%;
  bottom: 10%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
  padding: 16px 30px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: #111;
  color: #fff;
  font-family: Pretendard;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
}

.ecart_feature {
  background: #111;
  padding: 200px 0;
}

.ecart_feature .inner_base {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 120px;
}

.ecart_feature_tit {
  color: #fff;
  font-family: Pretendard;
  font-size: 72px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  letter-spacing: -1.44px;
  text-align: center;
}

.ecart_feature_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 40px;
}

.ecart_feature_item {
  height: 350px;
  border-radius: 20px;
  background: #292929;
  padding: 40px 16px 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ecart_feature_item img {
  width: 100%;
  height: auto;
  max-width: 180px;
  max-height: 180px;
  object-fit: contain;
}

.ecart_feature_item p {
  margin-top: auto;
  color: #fff;
  text-align: center;
  font-family: Pretendard;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.48px;
}

.ecart_feature_item .line_2 {
  line-height: 1.3;
}

.ecart_point1 {
  background: #fff;
  padding: 200px 0;
}

.ecart_point1 .inner_base {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 120px;
}

.ecart_point1_label {
  position: absolute;
  top: 0;
  left: 0;
  color: #000;
  font-family: Pretendard;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.ecart_point1_tit {
  width: 100%;
  color: #000;
  text-align: center;
  font-family: Pretendard;
  font-size: 72px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  letter-spacing: -1.44px;
}

.ecart_point1_list_wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.ecart_point1_note {
  color: rgba(0, 0, 0, 0.5);
  text-align: center;
  font-family: Pretendard;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.ecart_point23 {
  background: #111;
  padding: 200px 0;
}

.ecart_point23 .inner_base {
  display: flex;
  flex-direction: column;
  gap: 200px;
}

/* 어두운 배경(.ecart_point23) 섹션: 공통 포인트 텍스트 흰색 처리 */
.ecart_point23 .ecart_point_txt,
.ecart_point23 .ecart_point_label,
.ecart_point23 .ecart_point_tit,
.ecart_point23 .ecart_point_desc {
  color: #fff;
}

.ecart_point456 {
  background: #fff;
  padding: 200px 0;
}

.ecart_point456 .inner_base {
  display: flex;
  flex-direction: column;
  gap: 200px;
}

/* ===== 공통 포인트 컴포넌트 (point23/point456/ga900 통일) ===== */
/* 텍스트 + 이미지 2단 row */
.ecart_point_row {
  display: flex;
  align-items: center;
  gap: 80px;
}

.ecart_point_txt {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
  color: #000;
}

.ecart_point_txt_box {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ecart_point_label {
  color: #000;
  font-family: Pretendard;
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
}

.ecart_point_tit {
  color: #000;
  font-family: Pretendard;
  font-size: 60px;
  font-weight: 800;
  line-height: normal;
  letter-spacing: -1.2px;
}

.ecart_point_desc {
  color: #000;
  font-family: Pretendard;
  font-size: 20px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: -0.4px;
}

.ecart_point_media {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  aspect-ratio: 740 / 493;
  overflow: hidden;
}

.ecart_point_media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ecart_point_media .zoom_overlay {
  width: 200.4%;
  height: 200.67%;
  left: -37.23%;
  top: -67.31%;
  inset: auto;
}

/* 3단 카드 그리드 */
.ecart_point_cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ecart_point_card {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ecart_point_card_thumb {
  width: 100%;
  aspect-ratio: 1092 / 728;
  overflow: hidden;
  background: #f8f8f8;
}

.ecart_point_card_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ecart_point_card_tit {
  color: #000;
  font-family: Pretendard;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}

.ecart_point_card_desc {
  color: #000;
  font-family: Pretendard;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
}

.ecart_bg_divider {
  line-height: 0;
  width: 100%;
  background: #000;
}

.ecart_360_viewer {
  position: relative;
  width: 100%;
  height: 700px;
  --ico-corner-gap: 28px;
  background-image: url('/assets/images/product/ecart/ga300_section_bg_01.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center bottom;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y;
  cursor: grab;
}

.ecart_360_viewer.is_dragging {
  cursor: grabbing;
}

.ecart_360_stage {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(921px, 100%);
  height: auto;
  aspect-ratio: 921 / 464;
  transform: translate(-50%, -50%);
  background-repeat: no-repeat !important;
  background-size: 600% 400%;
  background-position: 0 0;
  will-change: background-position;
}

.ecart_360_dim {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  transition: background-color 0.45s ease;
  pointer-events: none;
}

.ecart_360_dim img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 140px;
  max-width: 34%;
  height: auto;
  transform: translate(-50%, -50%) scale(1);
  transform-origin: center center;
  transition:
    left 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    top 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.ecart_360_viewer.is_engaged .ecart_360_dim {
  background: rgba(0, 0, 0, 0);
}

.ecart_360_viewer.is_engaged .ecart_360_dim img {
  left: 100%;
  top: 100%;
  transform: translate(
      calc(-100% - var(--ico-corner-gap)),
      calc(-100% - var(--ico-corner-gap))
    )
    scale(0.5);
}

.ecart_color {
  background: #fff;
  padding: 200px 0;
}

.ecart_color .inner_base {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 120px;
}

.ecart_color_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  max-width: 838px;
  text-align: center;
}

.ecart_color_tit {
  color: #000;
  font-family: Pretendard;
  font-size: 72px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  letter-spacing: -1.44px;
}

.ecart_color_desc {
  color: #000;
  font-family: Pretendard;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: -0.4px;
}

.ecart_color_options {
  width: 100%;
  max-width: 1520px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.ecart_color_row {
  display: grid;
  grid-template-columns: 150px 1fr;
  align-items: start;
  gap: 40px;
}

.ecart_color_row_label {
  flex-shrink: 0;
  width: 150px;
  color: #000;
  font-family: Pretendard;
  font-size: 32px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  letter-spacing: -0.64px;
  white-space: nowrap;
}

.ecart_color_swatches {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 120px));
  justify-content: start;
  gap: 30px;
}

.ecart_color_swatch {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.ecart_color_swatch_chip {
  width: 100%;
  max-width: 120px;
  aspect-ratio: 1;
  height: auto;
  border-radius: 50%;
  flex-shrink: 0;
}

.ecart_color_swatch_name {
  width: 100%;
  color: #000;
  text-align: center;
  font-family: Pretendard;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.32px;
  word-break: keep-all;
}

.ecart_color_gallery {
  width: 100%;
  max-width: 1520px;
  aspect-ratio: 1520 / 900;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 10px;
}

.ecart_color_gallery_main,
.ecart_color_gallery_top,
.ecart_color_gallery_bottom,
.ecart_color_gallery_bottom_item {
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
}

.ecart_color_gallery_main {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 100%;
  height: 100%;
}

.ecart_color_gallery_side {
  display: contents;
}

.ecart_color_gallery_top {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: 100%;
}

.ecart_color_gallery_bottom {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.ecart_color_gallery_bottom_item {
  width: 100%;
  height: 100%;
}

.ecart_color_gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ecart_warranty {
  background: #111;
  padding: 200px 0;
}

.ecart_warranty .inner_base {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 120px;
}

.ecart_warranty_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: 100%;
  text-align: center;
  color: #fff;
}

.ecart_warranty_tit {
  color: #fff;
  font-family: Pretendard;
  font-size: 72px;
  font-style: normal;
  font-weight: 800;
  line-height: 88px;
  letter-spacing: -1.44px;
}

.ecart_warranty_desc {
  color: #fff;
  font-family: Pretendard;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: -0.4px;
}

.ecart_warranty_body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  width: 100%;
}

.ecart_warranty_badge {
  width: 100%;
  max-width: 432px;
  aspect-ratio: 431.869 / 394;
}

.ecart_warranty_badge img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ecart_warranty_parts {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 24px;
}

.ecart_warranty_part {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  min-width: 0;
}

.ecart_warranty_part_icon {
  width: 100%;
  max-width: 188px;
  aspect-ratio: 1;
  border: 1px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ecart_warranty_part_icon span {
  display: block;
  width: 69.15%;
  aspect-ratio: 1;
  background-image: url('/assets/images/product/ecart/ga300_warranty_parts_sprite.png');
  background-repeat: no-repeat;
  background-size: 700% 100%;
}

.ecart_warranty_part_icon .is_brake {
  background-position: 100% 0;
}

.ecart_warranty_part_icon .is_vcu {
  background-position: 50% 0;
}

.ecart_warranty_part_icon .is_mcu {
  background-position: 66.6667% 0;
}

.ecart_warranty_part_icon .is_gearbox {
  background-position: 83.3333% 0;
}

.ecart_warranty_part_icon .is_reducer {
  background-position: 0 0;
}

.ecart_warranty_part_icon .is_motor {
  background-position: 16.6667% 0;
}

.ecart_warranty_part_icon .is_battery {
  background-position: 33.3333% 0;
}

.ecart_warranty_part p {
  color: #fff;
  text-align: center;
  font-family: Pretendard;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.4px;
  white-space: nowrap;
}

.ecart_spec {
  border-top: 1px solid #ddd;
  padding-top: 240px;
}

.ecart_spec .inner_base > ul {
  gap: 140px;
}

.ecart_spec_tit {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 140px;
  font-family: Pretendard;
  font-weight: 800;
  letter-spacing: -1.44px;
  line-height: normal;
}

.ecart_spec_tit_group {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ecart_spec_badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 20px;
  border-radius: 8px;
  background: #000;
  color: #fff;
  font-family: Pretendard;
  font-size: 40px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  letter-spacing: -0.8px;
}

.ecart_spec_visual {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 1520px;
  margin: 0 auto;
}

.ecart_spec_visual img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 0;
}

.ecart_spec_visual .ecart_spec_img_front {
  flex: 0 1 610px;
  max-width: 40.13%;
}

.ecart_spec_visual .ecart_spec_img_side {
  flex: 0 1 870px;
  max-width: 57.24%;
}

.ecart_spec_table {
  max-width: 1260px;
  margin: 0 auto;
}

.product_ga125 .ecart_spec_table {
  max-width: 1116px;
}

.ecart_spec .inner_base > ul > li .desc.col3 li:nth-child(1) {
  min-width: 88px;
}

.ecart_spec .inner_base > ul > li .desc.col3 li:nth-child(2) {
  min-width: 114px;
}

.ecart_lineup {
  background: #fff;
  padding: 240px 0;
}

.ecart_lineup .inner_base {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 120px;
}

.ecart_lineup_tit {
  color: #000;
  font-family: Pretendard;
  font-size: 72px;
  font-style: normal;
  font-weight: 800;
  line-height: 88px;
  letter-spacing: -1.44px;
  text-align: center;
}

.ecart_lineup_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 1520px;
}

.ecart_lineup_item {
  width: 304px;
  max-width: calc(50% - 20px);
}

.ecart_lineup_item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.ecart_lineup_thumb {
  width: 100%;
  aspect-ratio: 350 / 233;
  overflow: hidden;
}

.ecart_lineup_thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ecart_lineup_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 24px 50px;
  border-radius: 50px;
  background: #000;
  color: #fff;
  font-family: Pretendard;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
}

.sec_spec ul li img {
  margin-bottom: auto;
}

@media all and (max-width: 768px) {
  .product_visual {
    background-image: url('/assets/images/product/ecart/GA300_header_mo.png');
    height: 100vh;
    min-height: auto;
    align-items: unset;
  }

  .product_visual p {
    font-size: 17px;
    line-height: 129.412%;
    letter-spacing: -0.34px;
  }

  .product_visual h2 {
    font-size: 30px;
    font-weight: 800;
    line-height: normal;
    letter-spacing: -0.6px;
  }

  .ecart_visual_tit_model {
    font-size: 20px;
  }

  .ecart_visual_badge {
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 12px;
  }

  .sec_visual.product_visual .prd_tag_list {
    gap: 8px;
    margin-top: 20px;
  }

  .sec_visual.product_visual .prd_tag_list li {
    font-size: 14px;
    padding: 3px 12px;
    letter-spacing: -0.28px;
  }

  .ecart_inquiry_btn {
    margin-top: 24px;
    padding: 12px 24px;
    font-size: 14px;
  }

  .ecart_feature {
    padding: 100px 0;
  }

  .ecart_feature .inner_base {
    gap: 80px;
    align-items: stretch;
  }

  .ecart_feature_tit {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .ecart_feature_list {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .ecart_feature_item {
    flex-direction: row;
    align-items: center;
    gap: 16px;
    height: auto;
    padding: 16px;
    border-radius: 20px;
  }

  .ecart_feature_item img {
    width: 80px;
    height: 80px;
    max-width: 80px;
    max-height: 80px;
    flex-shrink: 0;
  }

  .ecart_feature_item p {
    flex: 1 0 0;
    margin-top: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0;
  }

  .ecart_point1 {
    padding: 100px 0;
  }

  .ecart_point1 .inner_base {
    align-items: flex-start;
    gap: 40px;
  }

  .ecart_point1_label {
    position: static;
    font-size: 16px;
  }

  .ecart_point1_tit {
    text-align: center;
    font-size: 24px;
    letter-spacing: -0.64px;
  }

  .ecart_point1_list_wrap {
    gap: 16px;
  }

  .ecart_point_cards {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ecart_point_card {
    gap: 12px;
  }

  /* 카드 썸네일도 모바일 화면 꽉차게(풀블리드) */
  .ecart_point_card_thumb {
    width: calc(100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
    max-width: none;
  }

  .ecart_point_card .ecart_point_card_thumb {
    width: 100%;
    margin:0
  }

  .ecart_point_card_tit {
    font-size: 18px;
  }

  .ecart_point_card_desc {
    font-size: 14px;
    letter-spacing: -0.32px;
  }

  .ecart_point1_note {
    text-align: left;
    font-size: 12px;
  }

  .ecart_point23 {
    padding: 100px 0;
  }

  .ecart_point23 .inner_base {
    gap: 80px;
  }

  .ecart_point_row {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .ecart_point_row.row_reverse {
    flex-direction: column-reverse;
  }

  .ecart_point_txt {
    width: 100%;
    gap: 20px;
  }

  .ecart_point_txt_box {
    gap: 12px;
  }

  .ecart_point_label {
    font-size: 16px;
  }

  .ecart_point_tit {
    font-size: 24px;
    letter-spacing: -0.8px;
  }

  .ecart_point_desc {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: -0.32px;
  }

  /* 모바일 이미지 맞추기: 박스를 화면 꽉차게(풀블리드, inner_base 좌우 20px 패딩 상쇄) + 이미지 비율에 맞춰 잘림 없이 표시 */
  .ecart_point_media {
    flex: none;
    width: calc(100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
    max-width: none;
    aspect-ratio: auto;
    overflow: visible;
  }

  .ecart_point_media img {
    position: static;
    width: 100%;
    height: auto;
  }

  /* 레이어드(겹침) 이미지 미디어는 기존 겹침 동작 유지 */
  .ecart_point_media.is_layered {
    aspect-ratio: 740 / 493;
    overflow: hidden;
  }

  .ecart_point_media.is_layered img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ecart_point456 {
    padding: 100px 0;
  }

  .ecart_point456 .inner_base {
    gap: 80px;
  }

  .ecart_360_viewer {
    height: 420px;
    --ico-corner-gap: 16px;
  }

  .ecart_360_dim img {
    width: 112px;
    max-width: 42%;
  }

  .ecart_color {
    padding: 100px 0;
  }

  .ecart_color .inner_base {
    gap: 80px;
    align-items: stretch;
  }

  .ecart_color_head {
    gap: 20px;
    width: 100%;
    max-width: none;
  }

  .ecart_color_tit {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .ecart_color_desc {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .ecart_color_options {
    gap: 60px;
    width: 100%;
  }

  .ecart_color_row {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ecart_color_row_label {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.36px;
  }

  .ecart_color_swatches {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
    gap: 24px 16px;
    width: 100%;
  }

  .ecart_color_swatches .ecart_color_swatch {
    width: 100%;
    max-width: none;
    gap: 16px;
  }

  .ecart_color_swatch_chip {
    width: 100px;
    height: 100px;
    max-width: 100px;
  }

  .ecart_color_swatch_name {
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: -0.28px;
  }

  .ecart_color_gallery {
    display: flex;
    flex-direction: column;
    gap: 0;
    aspect-ratio: auto;
    width: 100%;
  }

  .ecart_color_gallery_main,
  .ecart_color_gallery_top,
  .ecart_color_gallery_bottom_item {
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
  }

  .ecart_color_gallery_main {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    height: 240px;
    aspect-ratio: auto;
  }

  .ecart_color_gallery_side {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    margin-top: 2px;
  }

  .ecart_color_gallery_top {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    height: 120px;
    aspect-ratio: auto;
  }

  .ecart_color_gallery_bottom {
    grid-column: auto;
    grid-row: auto;
    display: flex;
    width: 100%;
    height: 120px;
    aspect-ratio: auto;
    margin-top: 2px;
    gap: 2px;
  }

  .ecart_color_gallery_bottom_item {
    flex: 1 1 0;
    min-width: 0;
    height: 100%;
  }

  .ecart_color_gallery_main img,
  .ecart_color_gallery_top img,
  .ecart_color_gallery_bottom_item img {
    position: static;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
  }

  .ecart_warranty {
    padding: 100px 0;
  }

  .ecart_warranty .inner_base {
    gap: 80px;
  }

  .ecart_warranty_head {
    gap: 20px;
  }

  .ecart_warranty_tit {
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .ecart_warranty_desc {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .ecart_warranty_body {
    gap: 40px;
  }

  .ecart_warranty_badge {
    width: 280px;
    max-width: 100%;
    aspect-ratio: 280 / 255;
  }

  .ecart_warranty_parts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 152px));
    justify-content: center;
    gap: 16px;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }

  .ecart_warranty_part {
    width: 100%;
    gap: 20px;
  }

  .ecart_warranty_part:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: 152px;
  }

  .ecart_warranty_part_icon {
    max-width: none;
    width: 100%;
  }

  .ecart_warranty_part_icon span {
    width: 100px;
    height: 100px;
    aspect-ratio: auto;
  }

  .ecart_warranty_part p {
    font-size: 20px;
    letter-spacing: 0;
    white-space: nowrap;
  }

  .ecart_spec {
    padding-top: 100px;
  }

  .ecart_spec .inner_base > ul {
    gap: 48px;
  }

  .ecart_spec_tit {
    flex-direction: column;
    gap: 8px;
    margin-bottom: 48px;
    letter-spacing: -0.48px;
  }

  .ecart_spec_badge {
    font-size: 18px;
    padding: 4px 12px;
    border-radius: 6px;
    letter-spacing: -0.36px;
  }

  .ecart_spec_visual {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  .ecart_spec_visual .ecart_spec_img_front,
  .ecart_spec_visual .ecart_spec_img_side {
    flex: none;
    max-width: 100%;
  }

  .ecart_lineup {
    padding: 100px 0;
  }

  .ecart_lineup .inner_base {
    gap: 48px;
  }

  .ecart_lineup_tit {
    font-size: 30px;
    line-height: 1.35;
    letter-spacing: -0.6px;
  }

  .ecart_lineup_list {
    gap: 24px;
  }

  .ecart_lineup_item {
    width: calc(50% - 12px);
    max-width: none;
  }

  .ecart_lineup_item a {
    gap: 20px;
  }

  .ecart_lineup_btn {
    padding: 16px 24px;
    font-size: 14px;
    white-space: normal;
    text-align: center;
    line-height: 1.3;
  }
}

.product_ga900 .ecart_360_stage {
  width: min(1176px, 100%);
  aspect-ratio: 1176 / 464;
}

.product_ga900 .ecart_360_viewer {
  background-image: url('/assets/images/product/ecart/ga900/ga900_section_bg_01.png');
}

@media (max-width: 768px) {
  .product_ga900 .ecart_360_stage {
    width: min(100%, 360px);
  }
}


/* GA900 */
.product_ga900 .product_visual {
  background-image: url('/assets/images/product/ecart/ga900/GA900_header.png');
  overflow: hidden;
}

.product_ga900 .ecart_ga900_hero_cart {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 56.46%;
  max-width: 1084px;
  height: auto;
  pointer-events: none;
  object-fit: contain;
  object-position: right bottom;
}

.ecart_ga900_points {
  background: #fff;
  padding: 200px 0;
}

.ecart_ga900_points .inner_base {
  display: flex;
  flex-direction: column;
  gap: 200px;
}

.ecart_ga900_points_tit {
  color: #000;
  font-family: Pretendard;
  font-size: 72px;
  font-weight: 800;
  line-height: normal;
  text-align: center;
  letter-spacing: -1.44px;
}

.ecart_ga900_premium {
  position: relative;
  background: #111;
}

.ecart_ga900_premium_head {
  position: relative;
  z-index: 2;
  padding: 240px 200px 0;
  text-align: center;
  color: #fff;
  background: linear-gradient(180deg, #1f1f1f 0%, #111 100%);
}

.ecart_ga900_premium_label {
  position: absolute;
  left: 8.54%;
  top: 180px;
  font-family: Pretendard;
  font-size: 24px;
  font-weight: 700;
}

.ecart_ga900_premium_tit {
  font-family: Pretendard;
  font-size: 72px;
  font-weight: 800;
  line-height: 88px;
}

.ecart_ga900_premium_desc {
  margin-top: 40px;
  font-family: Pretendard;
  font-size: 20px;
  font-weight: 400;
  line-height: 32px;
}

.ecart_ga900_premium_body {
  position: relative;
  min-height: 1280px;
  background: url('/assets/images/product/ecart/ga900/premium_bg.png') center bottom / cover no-repeat;
}

.ecart_ga900_premium_car {
  position: absolute;
  left: 50%;
  bottom: 240px;
  width: min(1260px, 90%);
  transform: translateX(-50%);
}

.ecart_ga900_premium_car img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.ecart_ga900_premium_tabs {
  position: absolute;
  left: 50%;
  bottom: 80px;
  transform: translateX(-50%);
  display: flex;
  gap: 20px;
  z-index: 2;
}

.ecart_ga900_premium_tab {
  width: 80px;
  height: 80px;
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  font-family: Pretendard;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
}

.ecart_ga900_premium_tab.is_active {
  background: #fff;
  color: #000;
}

.ecart_ga900_value {
  background: #111;
  padding: 240px 0;
}

.ecart_ga900_value .inner_base {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 120px;
}

.ecart_ga900_value_tit {
  max-width: 1187px;
  color: #fff;
  font-family: Pretendard;
  font-size: 72px;
  font-weight: 800;
  line-height: 1.22;
  text-align: center;
  letter-spacing: -1.44px;
}

.ecart_ga900_value_grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 350px));
  gap: 40px 40px;
  width: 100%;
  max-width: 1520px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ecart_ga900_value_item {
  display: flex;
  flex-direction: column;
  min-height: 200px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.ecart_ga900_value_num {
  padding-top: 0;
  color: rgba(255, 255, 255, 0.35);
  font-family: Pretendard;
  font-size: 72px;
  font-weight: 800;
  line-height: 1;
}

.ecart_ga900_value_txt {
  margin-top: auto;
  padding: 30px 0 0;
  color: #fff;
  font-family: Pretendard;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
}

.ecart_ga900_view {
  line-height: 0;
  background: #000;
}

.ecart_ga900_view_inner {
  position: relative;
  width: 100%;
  height: 700px;
  background: url('/assets/images/product/ecart/ga900/view_bg.png') center bottom / cover no-repeat;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ecart_ga900_view_car {
  position: relative;
  z-index: 1;
  width: min(348px, 42%);
  height: auto;
  object-fit: contain;
}

.ecart_ga900_view_dim {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  pointer-events: none;
}

.ecart_ga900_view_dim img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 140px;
  max-width: 34%;
  transform: translate(-50%, -50%);
}

.ecart_ga900_view.is_rear .ecart_ga900_view_inner {
  background-image: url('/assets/images/product/ecart/ga900/view_bg.png');
}

.ecart_color_swatch_chip.is_img {
  background: none;
  overflow: hidden;
  border-radius: 0;
}

.ecart_color_swatch_chip.is_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product_ga900 .ecart_color_swatches.is_ga900_exterior {
  grid-template-columns: repeat(4, minmax(120px, 160px));
  justify-content: start;
  gap: 16px;
}

.product_ga900 .ecart_spec_tit {
  justify-content: center;
}

@media (max-width: 768px) {
  .product_ga900 .product_visual {
    background-image: url(/assets/images/product/ecart/ga900/GA900_header_mo.png);
  }

  .product_ga900 .ecart_feature .inner_base {
    gap: 80px;
  }

  .product_ga900 .ecart_feature_list {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .product_ga900 .ecart_feature_item {
    height: auto;
    min-height: 112px;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 12px;
  }

  .product_ga900 .ecart_feature_item img {
    width: 80px;
    height: 80px;
    max-width: 80px;
    max-height: 80px;
    margin: 0;
    flex-shrink: 0;
  }

  .product_ga900 .ecart_feature_item p {
    margin-top: 0;
    font-size: 16px;
    text-align: left;
    line-height: 1.35;
  }

  .product_ga900 .ecart_ga900_hero_cart {
    width: 100%;
    max-width: none;
    right: 0;
    bottom: 0;
    opacity: 0.35;
  }

  .product_ga900 .product_visual p {
    font-size: 14px;
  }

  .product_ga900 .product_visual h2 {
    font-size: 28px;
  }

  .product_ga900 .ecart_visual_tit_model {
    font-size: 24px;
  }

  .ecart_ga900_points {
    padding: 80px 0;
  }

  .ecart_ga900_points .inner_base {
    gap: 60px;
  }

  .ecart_ga900_points_tit {
    font-size: 24px;
    letter-spacing: -0.48px;
  }

  .ecart_ga900_premium_head {
    padding: 80px 20px 0;
  }

  .ecart_ga900_premium_label {
    position: static;
    margin-bottom: 20px;
    font-size: 14px;
    text-align: left;
  }

  .ecart_ga900_premium_tit {
    font-size: 24px;
    line-height: 1.35;
  }

  .ecart_ga900_premium_desc {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.5;
  }

  .ecart_ga900_premium_body {
    min-height: 420px;
  }

  .ecart_ga900_premium_car {
    bottom: 100px;
    width: 92%;
  }

  .ecart_ga900_premium_tabs {
    bottom: 24px;
    gap: 10px;
  }

  .ecart_ga900_premium_tab {
    width: 64px;
    height: 64px;
    font-size: 14px;
  }

  .ecart_ga900_value {
    padding: 80px 0;
  }

  .ecart_ga900_value .inner_base {
    gap: 48px;
  }

  .ecart_ga900_value_tit {
    font-size: 24px;
    letter-spacing: -0.48px;
  }

  .ecart_ga900_value_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
  }

  .ecart_ga900_value_num {
    font-size: 40px;
  }

  .ecart_ga900_value_txt {
    font-size: 14px;
    padding-top: 16px;
  }

  .ecart_ga900_view_inner {
    height: 360px;
  }

  .ecart_ga900_view_car {
    width: min(220px, 70%);
  }

  .product_ga900 .ecart_color_swatches.is_ga900_exterior {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}






/* GA500 */
.product_ga500 .product_visual {
  background-image: url('/assets/images/product/ecart/ga500/GA500_header.png');
  overflow: hidden;
}


.product_ga500 .ecart_feature_list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}


.product_ga500 .ecart_360_viewer {
  background-image: url('/assets/images/product/ecart/ga500/ga500_section_bg_01.png');
}

.product_ga500 .ecart_360_stage {
  width: min(1179px, 100%);
  aspect-ratio: 1179 / 464;
}


@media (max-width: 768px) {

  .product_ga500 .product_visual {
    background-image: url(/assets/images/product/ecart/ga500/GA500_header_mo.png);
  }


  .product_ga500 .ecart_360_stage {
    width: min(100%, 360px);
  }
}



/* GA125 */
.product_ga125 .product_visual {
  background-image: url('/assets/images/product/ecart/GA125/GA125_header.png');
  overflow: hidden;
}



@media (max-width: 768px) {

  .product_ga125 .product_visual {
    background-image: url(/assets/images/product/ecart/GA125/GA125_header_mo.png);
  }


  .product_ga500 .ecart_360_stage {
    width: min(100%, 360px);
  }
}


/* hg200u */
.product_hg200u .product_visual {
  background-image: url('/assets/images/product/ecart/HG200-U/HG200-U_header.png');
  overflow: hidden;
}



@media (max-width: 768px) {

  .product_hg200u .product_visual {
    background-image: url(/assets/images/product/ecart/HG200-U/HG200-U_header_mo.png);
  }


  .product_ga500 .ecart_360_stage {
    width: min(100%, 360px);
  }
}

/* GA125-U */
.product_ga125u .product_visual {
  background-image: url('/assets/images/product/ecart/GA125-U/GA125-U_header.png');
  overflow: hidden;
}

@media (min-width: 769px) {
  .product_ga125u .ecart_spec_table .desc:first-child {
    grid-column: 1 / 7;
    min-width: 0;
  }

  .product_ga125u .ecart_spec_table .desc:last-child {
    grid-column: 8 / -1;
    min-width: 0;
  }

  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul {
    display: grid;
    grid-template-columns: 88px 114px minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 40px;
    align-items: start;
  }

  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:first-child {
    grid-column: 1;
    grid-row: 1 / -1;
    align-self: start;
    display: block;
    min-width: 88px;
  }

  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(2),
  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(3) {
    display: contents;
  }

  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(2) > span {
    grid-column: 2;
  }

  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(3) > span {
    grid-column: 3;
  }

  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(2) > span:nth-child(1),
  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(3) > span:nth-child(1) {
    grid-row: 1;
  }

  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(2) > span:nth-child(2),
  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(3) > span:nth-child(2) {
    grid-row: 2;
  }

  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(2) > span:nth-child(3),
  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(3) > span:nth-child(3) {
    grid-row: 3;
  }

  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(2) > span:nth-child(4),
  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(3) > span:nth-child(4) {
    grid-row: 4;
  }

  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(2) > span:nth-child(5),
  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(3) > span:nth-child(5) {
    grid-row: 5;
  }

  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(2) > span:nth-child(6),
  .product_ga125u .ecart_spec .inner_base > ul > li .desc.col3 ul > li:nth-child(3) > span:nth-child(6) {
    grid-row: 6;
  }
}



@media (max-width: 768px) {

  .product_ga125u .product_visual {
    background-image: url(/assets/images/product/ecart/GA125-U/GA125-U_header_mo.png);
  }
}