/* Reset & Base */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Noto Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 14px;
  color: #303030;
  background: #fff;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, select, textarea { font-family: inherit; font-size: 14px; }

.blind { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

/* Header */
.hp { height: 60px; }

.header_hr {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  min-width: 320px;
  height: 60px;
  background: #1c1f20;
  overflow: hidden;
}

.top_logo {
  float: left;
  margin: 23px 0 0 25px;
}

.top_logo img {
  width: 89px;
  height: auto;
}

.nav_hr {
  display: none;
  float: left;
  margin: 19px 0 0 20px;
}

.nav_hr > ul {
  display: flex;
  gap: 0;
  list-style: none;
}

.nav_hr > ul > li {
  position: relative;
  margin: 0 22px;
}

.nav_hr > ul > li > a {
  position: relative;
  display: block;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  padding: 0;
  transition: color 0.2s;
}

.nav_hr > ul > li > a:hover,
.nav_hr > ul > li:hover > a,
.nav_hr > ul > li.active > a {
  color: #80bd01;
}

.nav_hr > ul > li > a::after {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + 40px);
  height: 4px;
  background: #80bd01;
  margin-bottom: -29px;
  opacity: 0;
  transition: opacity 0.2s;
}

.nav_hr > ul > li:hover > a::after,
.nav_hr > ul > li.active > a::after {
  opacity: 1;
}

.nav_hr .sub {
  position: fixed;
  top: 60px;
  left: 0;
  right: 0;
  width: 100%;
  min-width: auto;
  transform: none;
  background: #fff;
  border: none;
  border-top: 1px solid #eee;
  box-shadow: 0 8px 30px rgba(0,0,0,0.08);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s, visibility 0.25s;
  padding: 30px 5%;
  z-index: 999;
}

.nav_hr > ul > li:hover .sub {
  opacity: 1;
  visibility: visible;
}

.product_nav {
  display: flex;
  gap: 40px;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto;
}

.product_cate {
  font-size: 12px;
  font-weight: 700;
  color: #80bd01;
  margin-bottom: 15px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.product_nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 500px;
  list-style: none;
  padding: 0;
}

.product_nav ul li a,
.product_nav ul li .nav_item_disabled {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 90px;
  text-align: center;
  transition: transform 0.2s;
  color: #303030;
}

.product_nav ul li a:hover { transform: translateY(-3px); }

.product_nav ul li a img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  margin-bottom: 8px;
}

.product_nav ul li a span { font-size: 11px; color: #303030; }

.product_nav ul li.coming { position: relative; }

.product_nav ul li .nav_item_disabled { cursor: default; }

.product_nav ul li.coming::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 88px;
  height: 88px;
  background: #000;
  opacity: 0.7;
  z-index: 1;
}

.product_nav ul li.coming::after {
  content: "Comming";
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: 88px;
  color: #fff;
  text-align: center;
  z-index: 2;
  font-size: 13px;
}

.ambassador_nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 600px;
  list-style: none;
  padding: 0;
  justify-content: center;
}

.ambassador_nav ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 80px;
  color: #303030;
}

.ambassador_nav ul li a img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 6px;
}

.ambassador_nav ul li a span { font-size: 11px; }

.top_right {
  float: right;
  position: relative;
}

.top_util {
  display: flex;
  align-items: stretch;
  list-style: none;
  margin: 0;
  padding: 0;
}

.top_util li { float: left; }

.top_util li a {
  display: block;
  width: 60px;
  height: 60px;
  position: relative;
}

.top_search a {
  background: url('https://globalhurom.com/images/common/top_search_btn.png') no-repeat #80bd01;
  background-position: 25px 20px;
  background-size: 20px auto;
}

.top_cart a {
  background: #80bd01;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.top_cart .cart-link {
  color: #fff;
}

.top_menu a {
  background: url('https://globalhurom.com/images/common/top_menu_btn.png') no-repeat #80bd01;
  background-position: 19px 22px;
  background-size: 24px auto;
}

.cart-badge {
  position: absolute;
  top: 12px;
  right: 10px;
  background: #1c1f20;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
}

/* Search panel */
.search_wrap {
  position: absolute;
  top: 0;
  right: 0;
  width: 80%;
  max-width: 440px;
  height: 60px;
  background: #80bd01;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s, right 0.25s;
  z-index: 1001;
}

.search_wrap.on {
  right: 60px;
  opacity: 1;
  visibility: visible;
}

.search_wrap form,
.search_wrap form > div {
  display: flex;
  height: 100%;
  width: 100%;
}

.search_input {
  flex: 1;
  width: calc(100% - 120px);
  height: 60px;
  padding: 0 20px;
  border: none;
  background: none;
  color: #fff;
  font-size: 14px;
  outline: none;
}

.search_input::placeholder { color: #deedcb; }

.search_btn {
  width: 60px;
  height: 60px;
  background: url('https://globalhurom.com/images/common/top_search_btn.png') no-repeat #80bd01;
  background-position: 25px 20px;
  background-size: 20px auto;
  border: none;
  text-indent: -9999px;
  cursor: pointer;
}

.search-close {
  display: block;
  width: 60px;
  height: 60px;
  background: url('https://globalhurom.com/images/common/top_close_btn.png') no-repeat;
  background-position: 17px 20px;
  background-size: 20px auto;
  text-indent: -9999px;
}

@media screen and (min-width: 1200px) {
  .sub_visual { margin-top: 80px; }
  .juicer-page .subPageContainer { margin-top: 80px; }
  .juice-page .subPageContainer { margin-top: 80px; }
  .product_detail { margin-top: 80px; }
  .ambassador_detail { margin-top: 80px; }

  .hp { height: 80px; }

  .header_hr { height: 80px; }

  .top_logo { margin: 31px 0 0 41px; }
  .top_logo img { width: 109px; }

  .nav_hr {
    display: block;
    margin: 26px 0 0 20px;
  }

  .nav_hr > ul > li > a { font-size: 17px; }

  .nav_hr > ul > li > a::after { margin-bottom: -29px; }

  .nav_hr .sub { top: 80px; }

  .top_util li a { width: 80px; height: 80px; }

  .top_search a {
    background-position: 33px 29px;
    background-size: auto;
  }

  .top_menu a {
    background-position: 27px 32px;
    background-size: auto;
  }

  .search_wrap { height: 80px; }
  .search_wrap.on { right: 80px; }

  .search_input {
    width: calc(100% - 160px);
    height: 80px;
    padding-left: 30px;
    font-size: 16px;
  }

  .search_btn {
    width: 80px;
    height: 80px;
    background-position: 33px 29px;
    background-size: auto;
  }

  .search-close {
    width: 80px;
    height: 80px;
    background-position: 23px 28px;
    background-size: 27px auto;
  }

  .product_nav ul li.coming::before,
  .product_nav ul li.coming::after {
    width: 108px;
    height: 108px;
  }

  .product_nav ul li.coming::after { top: 40px; }

  .product_nav ul li a img { width: 108px; height: 108px; }
}

/* Total Menu (Mobile/Side) */
.total_wrap {
  position: fixed;
  top: 0; right: -100%;
  width: 320px;
  height: 100vh;
  background: #fff;
  z-index: 2000;
  transition: right 0.35s ease;
  box-shadow: -4px 0 20px rgba(0,0,0,0.15);
  overflow-y: auto;
}

.total_wrap.on { right: 0; }

.total_inner { padding: 20px; }

.total_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
}

.nav_select { display: flex; gap: 20px; }

.nav_select li a {
  font-size: 14px;
  font-weight: 500;
  color: #999;
  padding-bottom: 5px;
}

.nav_select li.on a { color: #303030; border-bottom: 2px solid #7fbd01; }

.total_close::before { content: '×'; font-size: 24px; color: #303030; }

.nav_list ul li a {
  display: block;
  padding: 12px 0;
  font-size: 15px;
  border-bottom: 1px solid #f5f5f5;
}

.sub_nav { display: none; padding-left: 15px; }
.nav_open.on .sub_nav { display: block; }

/* Main Visual */
.main_visual {
  position: relative;
  height: 100vh;
  min-height: 600px;
  max-height: 900px;
  overflow: hidden;
  background: #1a1a1a;
}

.visual_slide { height: 100%; }

.visual_item {
  height: 100%;
  background-size: contain !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
  background-color: #f8f8f6 !important;
  display: flex;
  align-items: center;
  position: relative;
}

.visual_item::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(248,248,246,0.95) 40%, transparent 70%);
}

.visual_txt {
  position: relative;
  z-index: 2;
  padding: 0 8%;
  max-width: 600px;
}

.visual_txt h2 {
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 300;
  line-height: 1.2;
  color: #303030;
  margin-bottom: 15px;
}

.visual_txt h2 strong { font-weight: 700; }

.visual_txt p { font-size: 18px; color: #808080; font-weight: 300; }

/* Product Sections */
.main_product_wrap { background: #fff; }

section[class^="main_"] {
  display: flex;
  align-items: center;
  min-height: 100vh;
  padding: 80px 0;
  overflow: hidden;
}

.main_align {
  flex: 1;
  max-width: 50%;
  padding: 0 8%;
}

.main_middle { max-width: 480px; }

.main_pro_tt {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 300;
  color: #303030;
  margin-bottom: 15px;
  line-height: 1.2;
}

.main_con_txt {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 300;
  color: #303030;
  margin-bottom: 30px;
  line-height: 1.5;
}

.main_pro_btn a {
  display: inline-block;
  padding: 12px 35px 12px 20px;
  border: 1px solid #303030;
  border-radius: 25px;
  font-size: 13px;
  font-weight: 500;
  color: #303030;
  position: relative;
  transition: all 0.3s;
}

.main_pro_btn a::after {
  content: '›';
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
}

.main_pro_btn a:hover {
  background: #303030;
  color: #fff;
}

.main_img {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px;
}

.main_img .product_img img,
.main_img .product_img01 img {
  max-height: 70vh;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

/* Alternating layouts */
.main_m100, .main_h320n, .main_divas, .main_squeezer { flex-direction: row; }
.main_h310a, .main_h300e, .main_easy, .main_petit { flex-direction: row-reverse; }

/* Product features */
.product_feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin: 30px 0;
}

.product_feature li {
  padding: 15px;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  text-align: center;
}

.product_feature li p {
  font-size: 13px;
  font-weight: 500;
  color: #303030;
  line-height: 1.4;
}

/* Color picker */
.product_color { margin-top: 25px; }

.product_color .color-label {
  font-size: 14px;
  color: #303030;
  margin-bottom: 10px;
}

.color-list li .color-swatch,
.pro_color_btn li .color-swatch {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid transparent;
  transition: transform 0.2s, border-color 0.2s;
  cursor: pointer;
  padding: 0;
}

.color-list li.on .color-swatch,
.pro_color_btn li.on .color-swatch {
  border-color: #303030;
  transform: scale(1.1);
}

.product-main-image,
.pro_main_img img {
  transition: none;
}

.detail-main-img {
  max-height: 450px;
  object-fit: contain;
  margin: 0 auto;
}

.color-list { display: flex; gap: 8px; }

.color-list li a {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid transparent;
  transition: transform 0.2s;
}

.color-list li.on a {
  border-color: #303030;
  transform: scale(1.1);
}

/* Section backgrounds */
.main_m100 { background: #fafafa; }
.main_h310a { background: #fff; }
.main_h300e { background: #f6f6f6; }
.main_h320n { background: #fff; }
.main_easy { background: #faf9f7; }
.main_divas { background: #f8f6f3; }
.main_petit { background: #fff; }
.main_squeezer { background: #f5faeb; flex-direction: column; text-align: center; min-height: 80vh; }
.main_squeezer .main_align { max-width: 100%; text-align: center; }
.main_squeezer .main_middle { margin: 0 auto; }
.main_squeezer .product_img { margin-top: 40px; }
.main_squeezer .product_img img { max-height: 50vh; }

/* Bottom banner */
.bottom_banner { padding: 0; }

.juice_banner {
  display: flex;
  align-items: center;
  min-height: 400px;
  background: #2b2f33;
  overflow: hidden;
}

.banner_con {
  flex: 1;
  padding: 60px 8%;
  color: #fff;
}

.banner_con p {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 300;
  line-height: 1.4;
  margin-bottom: 30px;
}

.banner_con em {
  font-style: normal;
  font-weight: 700;
  color: #7fbd01;
}

.banner_img { flex: 1; }
.banner_img img { width: 100%; height: 400px; object-fit: cover; }

/* Footer */
.footer_hr { background: #fff; border-top: 1px solid #eee; }

.bottom_menu { padding: 25px 0; text-align: center; }

.bottom_menu ul { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; }

.bottom_menu a { font-size: 13px; color: #303030; font-weight: 500; }
.bottom_menu a:hover { color: #7fbd01; }

.footer_hr hr { border: none; border-top: 1px solid #eee; margin: 0; }

.bottom_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 30px 8%;
  flex-wrap: wrap;
  gap: 20px;
}

.bottom_copy { display: flex; align-items: center; gap: 20px; justify-content: center; width: 100%; }
.bottom_logo img { height: 22px; }
.bottom_con p { font-size: 12px; color: #999; }

/* Sub pages */
.sub_visual {
  margin-top: 60px;
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #f4f4f5;
  color: #303030;
}

.sub_visual .title h3 { font-size: 40px; font-weight: 500; margin-bottom: 10px; }
.sub_visual .title p { font-size: 16px; color: #808080; }

.page_content { padding: 60px 8%; max-width: 1200px; margin: 0 auto; }
.page_content h1 { font-size: 32px; font-weight: 500; margin-bottom: 30px; }

/* Juicer page */
.juicer-page .subPageContainer { margin-top: 60px; }

.juicer_catalog {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
  padding: 40px 5% 20px;
  max-width: 1400px;
  margin: 0 auto;
  border-bottom: 1px solid #eee;
}

.juicer_catalog_col { flex: 1; min-width: 280px; }

.juicer_catalog ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.juicer_catalog ul li {
  position: relative;
  width: calc(20% - 10px);
  min-width: 88px;
  text-align: center;
}

.juicer_catalog ul li a,
.juicer_catalog ul li .catalog_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #303030;
}

.juicer_catalog ul li img {
  width: 88px;
  height: 88px;
  object-fit: contain;
}

.juicer_catalog ul li span {
  font-size: 11px;
  line-height: 1.3;
}

.juicer_catalog ul li.coming::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 88px;
  height: 88px;
  background: #000;
  opacity: 0.7;
  z-index: 1;
}

.juicer_catalog ul li.coming::after {
  content: "Comming";
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: 88px;
  color: #fff;
  text-align: center;
  z-index: 2;
  font-size: 13px;
}

.product_main { overflow: hidden; }

.pro_main_con {
  padding: 60px 5% 400px;
  background: url('https://globalhurom.com/images/main/juicer/main_easy.png') no-repeat;
  background-position: bottom center;
  background-size: 240px auto;
}

.feature_list { max-width: 350px; margin: auto; font-size: 0; }
.feature_list dl { display: inline-block; width: 50%; vertical-align: top; text-align: center; }
.feature_list dt img { width: 50px; height: auto; margin: 0 auto; }
.feature_list dd { margin: 10px 0 20px; font-size: 16px; font-weight: 500; color: #231815; }

.pro_main_txt { text-align: center; }
.pro_main_txt dt { font-size: 30px; font-weight: 700; color: #303030; line-height: 1.3; }
.pro_main_txt dt .block_txt,
.pro_main_txt dt .block { display: block; }
.pro_main_txt dd { margin-top: 8px; font-size: 20px; color: #303030; }

.pro_main_btn { width: 140px; margin: 30px auto 40px; overflow: hidden; }
.pro_main_btn a,
.pro_main_btn span {
  position: relative;
  display: block;
  width: 140px;
  height: 40px;
  padding-left: 20px;
  line-height: 40px;
  border: 1px solid #303030;
  border-radius: 20px;
  font-size: 13px;
  color: #303030;
  text-align: left;
  box-sizing: border-box;
}

.pro_main_btn a::after {
  content: '›';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
}

.pro_main_btn a:hover { background: #303030; color: #fff; }
.comming_btn { width: 140px; margin: 30px auto 40px; }
.comming_btn span { text-align: center; padding-left: 0 !important; cursor: default; }

.pro_main_list { padding: 40px 5%; overflow: hidden; }
.pro_main_wrap::after { content: ''; display: block; clear: both; }
.pro_main_list.left { background: #f6f6f6; }
.pro_main_list .pro_main_img { max-width: 240px; margin: 0 auto; }
.pro_main_list .pro_main_img img { width: 100%; }

.pro_main_list .pro_color { margin-bottom: 30px; }
.pro_main_list .pro_color_btn {
  font-size: 0;
  text-align: center;
  list-style: none;
  padding: 0;
  margin: 0;
}

.pro_main_list .pro_color_btn li {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 0 5px;
}

.pro_main_list .juicer-color-btn {
  position: relative;
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  padding: 0;
  background: url('https://globalhurom.com/images/main/color_check_shadow.png') no-repeat center / 100% auto;
}

.pro_main_list .juicer-color-btn.lavender { background-color: #e4cce7; }
.pro_main_list .juicer-color-btn.beige { background-color: #e7e1d2; }
.pro_main_list .juicer-color-btn.skyblue { background-color: #d5e7f7; }
.pro_main_list .juicer-color-btn.charcoal { background-color: #868993; }
.pro_main_list .juicer-color-btn.white { background-color: #ededed; }
.pro_main_list .juicer-color-btn.vvd_red { background-color: #d10013; }
.pro_main_list .juicer-color-btn.black { background-color: #212121; }
.pro_main_list .juicer-color-btn.pst_cream { background-color: #e5dcce; }
.pro_main_list .juicer-color-btn.silver { background-color: #efefef; }
.pro_main_list .juicer-color-btn.wine { background-color: #8f2832; }
.pro_main_list .juicer-color-btn.ttm_gray { background-color: #aaa9a9; }
.pro_main_list .juicer-color-btn.em_red { background-color: #a90110; }
.pro_main_list .juicer-color-btn.mid_blue { background-color: #505f70; }
.pro_main_list .juicer-color-btn.frr_red { background-color: #9f000f; }
.pro_main_list .juicer-color-btn.rose_g { background-color: #cfa796; }

.pro_main_list .pro_color_btn li.on .juicer-color-btn::after {
  content: "";
  position: absolute;
  width: 17px;
  height: 11px;
  top: 10px;
  left: 7px;
  background: url('https://globalhurom.com/images/main/color_check.png') no-repeat center / 100% auto;
}

.pro_main_list .pro_color p.color_name {
  margin-top: 10px;
  text-align: center;
  font-size: 16px;
  color: #303030;
}

.pro_main_list.h300e_con .pro_main_img,
.pro_main_list.h320n_con .pro_main_img { max-width: 150px; margin-top: 20px; }

@media screen and (min-width: 760px) {
  .juicer_catalog ul li { width: calc(20% - 10px); }
  .juicer_catalog ul li img { width: 108px; height: 108px; }
  .juicer_catalog ul li.coming::before,
  .juicer_catalog ul li.coming::after { width: 108px; height: 108px; }
  .juicer_catalog ul li.coming::after { top: 40px; }

  .pro_main_txt { text-align: left; }
  .pro_main_txt dt { font-size: 54px; }
  .pro_main_txt dd { font-size: 30px; }
  .pro_main_btn { width: auto; margin: 30px 0 60px; }
  .pro_main_btn a,
  .pro_main_btn span { width: 180px; height: 50px; padding-left: 30px; line-height: 48px; border-radius: 25px; font-size: 16px; }
  .pro_main_con { padding: 80px 5% 60px; background-position: 90% bottom; background-size: 30% auto; }
  .feature_list { max-width: none; width: 530px; text-align: left; margin: 0; }
  .feature_list dl { width: 45%; margin-right: 5%; margin-bottom: 20px; }
  .feature_list dl:nth-child(even) { margin-right: 0; }
  .feature_list dt { display: table-cell; width: 50px; }
  .feature_list dd { display: table-cell; padding-left: 25px; font-size: 18px; vertical-align: middle; text-align: left; }
  .pro_main_list .pro_main_img { max-width: none; text-align: center; }
  .pro_main_list .pro_main_img img { max-width: 408px; }
  .pro_main_list .pro_color_btn { float: left; text-align: left; }
  .pro_main_list .pro_color_btn li { width: 40px; height: 40px; margin: 0 15px 0 0; }
  .pro_main_list .juicer-color-btn { width: 40px; height: 40px; }
  .pro_main_list .pro_color_btn li.on .juicer-color-btn::after { width: 18px; height: 13px; top: 14px; left: 11px; }
  .pro_main_list .pro_color p.color_name { float: left; margin-top: 0; line-height: 40px; text-align: left; }
  .pro_main_list .pro_main_info { margin-top: 30px; }
  .pro_main_list.left .pro_main_info { float: right; width: 55%; }
  .pro_main_list.left .pro_main_img { float: left; width: 45%; }
  .pro_main_list.right .pro_main_info { float: left; width: 55%; }
  .pro_main_list.right .pro_main_img { float: right; width: 45%; }
  .pro_main_list.h300e_con .pro_main_img,
  .pro_main_list.h320n_con .pro_main_img { max-width: none; width: 30%; }
}

@media screen and (min-width: 1200px) {
  .pro_main_con { width: 1200px; padding: 120px 0; margin: auto; background-size: 35% auto; }
  .pro_main_con .feature_list { width: 650px; margin-top: 100px; }
  .pro_main_list .pro_main_wrap { width: 1200px; margin: auto; }
  .pro_main_list .pro_main_info { margin-top: 100px; }
  .pro_main_list.left .pro_main_info,
  .pro_main_list.left .pro_main_img,
  .pro_main_list.right .pro_main_info,
  .pro_main_list.right .pro_main_img { width: 600px; }
  .pro_main_list.h300e_con .pro_main_info,
  .pro_main_list.h320n_con .pro_main_info { margin-top: 0; }
  .pro_main_list.h300e_con .pro_main_img { width: 250px; margin-right: 250px; }
}

/* Product Detail */
.product_detail { margin-top: 60px; }

.product_detail_top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  padding: 60px 8%;
  max-width: 1200px;
  margin: 0 auto;
}

.product_gallery {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8f8f8;
  padding: 40px;
  min-height: 500px;
}

.product_gallery img { max-height: 450px; object-fit: contain; }

.product_category {
  font-size: 12px;
  font-weight: 700;
  color: #7fbd01;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

.product_info h1 { font-size: 36px; font-weight: 300; margin-bottom: 10px; }
.product_tagline { font-size: 18px; color: #808080; margin-bottom: 20px; }
.product_price { font-size: 28px; font-weight: 700; color: #303030; margin-bottom: 20px; }
.product_desc { font-size: 15px; color: #606060; line-height: 1.7; margin-bottom: 30px; }

.detail_colors { margin-bottom: 30px; }
.detail_color_label { font-size: 14px; margin-bottom: 10px; }
.detail_color_list { display: flex; gap: 10px; }
.detail_color_list button {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid transparent;
  transition: transform 0.2s;
}
.detail_color_list li.on button { border-color: #303030; transform: scale(1.1); }

.detail_actions { display: flex; gap: 15px; align-items: center; flex-wrap: wrap; margin-bottom: 30px; }

.qty_selector {
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
}

.qty-btn {
  width: 40px;
  height: 44px;
  font-size: 18px;
  color: #303030;
  transition: background 0.2s;
}
.qty-btn:hover { background: #f5f5f5; }

.qty-input {
  width: 50px;
  height: 44px;
  text-align: center;
  border: none;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  -moz-appearance: textfield;
}
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button { -webkit-appearance: none; }

.btn_add_cart, .btn_buy_now {
  padding: 12px 30px;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s;
}

.btn_add_cart {
  border: 1px solid #303030;
  color: #303030;
  background: #fff;
}
.btn_add_cart:hover { background: #303030; color: #fff; }

.btn_buy_now {
  background: #7fbd01;
  color: #fff;
  border: 1px solid #7fbd01;
}
.btn_buy_now:hover { background: #6aa800; }

.product_features { border-top: 1px solid #eee; padding-top: 25px; }
.product_features li {
  padding: 8px 0 8px 20px;
  position: relative;
  font-size: 14px;
  color: #606060;
}
.product_features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #7fbd01;
  font-weight: 700;
}

.product_detail_bottom {
  padding: 60px 8%;
  background: #f8f8f8;
  text-align: center;
}

.product_detail_bottom h2 { font-size: 28px; font-weight: 500; margin-bottom: 40px; }

.detail_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1000px;
  margin: 0 auto;
}

.detail_card {
  background: #fff;
  padding: 30px;
  border-radius: 4px;
}

.detail_card h3 { font-size: 18px; margin-bottom: 12px; color: #7fbd01; }
.detail_card p { font-size: 14px; color: #808080; line-height: 1.6; }

.related_products { padding: 60px 8%; max-width: 1200px; margin: 0 auto; }
.related_products h2 { font-size: 24px; margin-bottom: 30px; text-align: center; }

.related_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.related_card {
  text-align: center;
  padding: 20px;
  border: 1px solid #eee;
  transition: box-shadow 0.3s;
}
.related_card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
.related_card img { max-height: 150px; object-fit: contain; margin: 0 auto 15px; }
.related_card h4 { font-size: 14px; font-weight: 500; margin-bottom: 5px; }
.related_card p { font-size: 14px; color: #7fbd01; font-weight: 700; }

/* Cart */
.cart_layout { display: grid; grid-template-columns: 1fr 350px; gap: 40px; }

.cart_item {
  display: grid;
  grid-template-columns: 100px 1fr auto auto auto;
  gap: 20px;
  align-items: center;
  padding: 25px 0;
  border-bottom: 1px solid #eee;
}

.cart_item_img { width: 100px; height: 100px; object-fit: contain; background: #f8f8f8; }
.cart_item_info h3 { font-size: 16px; font-weight: 500; }
.cart_item_color { font-size: 13px; color: #999; }
.cart_item_price { font-size: 14px; color: #808080; }

.cart_item_qty {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #ddd;
  padding: 5px 10px;
}

.cart_item_qty .qty-btn { width: 28px; height: 28px; font-size: 16px; }
.cart_item_total { font-weight: 700; font-size: 16px; min-width: 80px; text-align: right; }

.cart_remove {
  font-size: 24px;
  color: #ccc;
  width: 36px;
  height: 36px;
  transition: color 0.2s;
}
.cart_remove:hover { color: #d10013; }

.cart_summary {
  background: #f8f8f8;
  padding: 30px;
  height: fit-content;
  position: sticky;
  top: 90px;
}

.cart_summary h2 { font-size: 20px; margin-bottom: 20px; }

.summary_row {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  font-size: 14px;
  color: #606060;
}

.summary_row.total {
  border-top: 2px solid #303030;
  margin-top: 10px;
  padding-top: 15px;
  font-size: 18px;
  font-weight: 700;
  color: #303030;
}

.empty_cart { text-align: center; padding: 80px 0; }
.empty_cart p { font-size: 18px; color: #999; margin-bottom: 25px; }

/* Buttons */
.btn_primary {
  display: inline-block;
  padding: 14px 35px;
  background: #7fbd01;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  border: none;
  text-align: center;
  transition: background 0.3s;
  cursor: pointer;
  width: 100%;
  margin-top: 15px;
}
.btn_primary:hover { background: #6aa800; }

.btn_secondary {
  display: inline-block;
  padding: 12px 35px;
  border: 1px solid #303030;
  color: #303030;
  font-size: 14px;
  text-align: center;
  width: 100%;
  margin-top: 10px;
  transition: all 0.3s;
}
.btn_secondary:hover { background: #303030; color: #fff; }

/* Checkout */
.checkout_layout { display: grid; grid-template-columns: 1fr 380px; gap: 40px; }

.checkout_fields h2 { font-size: 20px; margin: 30px 0 20px; }
.checkout_fields h2:first-child { margin-top: 0; }

.form_row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }

.form_group { margin-bottom: 15px; }
.form_group label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 6px; color: #303030; }
.form_group input,
.form_group select,
.form_group textarea {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ddd;
  outline: none;
  transition: border-color 0.2s;
}
.form_group input:focus,
.form_group select:focus,
.form_group textarea:focus { border-color: #7fbd01; }

.checkout_summary {
  background: #f8f8f8;
  padding: 30px;
  height: fit-content;
  position: sticky;
  top: 90px;
}

.checkout_item {
  display: flex;
  gap: 15px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  font-size: 14px;
}

.checkout_item img { width: 60px; height: 60px; object-fit: contain; }
.checkout_item div { flex: 1; }
.checkout_item small { color: #999; }

/* Hurom Juice page */
.juice-page .subPageContainer {
  margin-top: 60px;
  max-width: 2200px;
  margin-left: auto;
  margin-right: auto;
}

.juice-page .sub_content {
  max-width: 100%;
  padding: 0;
}

.hurom_juice {
  margin: 40px 0;
  overflow: hidden;
}

.hurom_juice h2.juice_tt {
  font-size: 16px;
  font-weight: 700;
  color: #212121;
  text-align: center;
  margin-bottom: 15px;
  padding-top: 30px;
}

.hurom_juice h3.juice_sub {
  width: 80%;
  font-size: 30px;
  font-weight: 700;
  color: #212121;
  text-align: center;
  margin: 0 auto 28px;
  line-height: 1.25;
}

.hurom_juice .juice_txt {
  width: 92%;
  max-width: 890px;
  margin: auto;
  font-size: 16px;
  color: #212121;
  text-align: center;
  line-height: 1.65;
}

.hurom_juice .phyto_list {
  position: relative;
  width: 90%;
  max-width: 1400px;
  margin: 40px auto 0;
  background: #fff;
  font-size: 0;
  z-index: 1;
}

.hurom_juice .phyto_list ul {
  width: 100%;
  max-width: 1240px;
  margin: auto;
  text-align: center;
  list-style: none;
  padding: 0;
}

.hurom_juice .phyto_list li {
  display: inline-block;
  width: 48%;
  text-align: center;
  margin: 0 1% 30px;
  vertical-align: top;
}

.hurom_juice .phyto_list li img {
  width: 80px;
  height: auto;
  margin: 0 auto 15px;
}

.hurom_juice .phyto_list li dt {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
}

.hurom_juice .phyto_list li:nth-child(1) dt { color: #d90000; }
.hurom_juice .phyto_list li:nth-child(2) dt { color: #deb700; }
.hurom_juice .phyto_list li:nth-child(3) dt { color: #709f15; }
.hurom_juice .phyto_list li:nth-child(4) dt { color: #8833b8; }
.hurom_juice .phyto_list li:nth-child(5) dt { color: #c2bb93; }

.hurom_juice .phyto_list li dd {
  font-size: 15px;
  color: #212121;
  line-height: 1.4;
}

.hurom_juice .phyto_img {
  width: 140%;
  max-width: 1650px;
  margin: 0 -20%;
}

.hurom_juice .phyto_img img {
  width: 100%;
  height: auto;
}

.hurom_juice .juice_info {
  position: relative;
  display: table;
  width: 100%;
  padding: 60px 0;
}

.hurom_juice .juice_info::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 80%;
  background: #f5faeb;
  top: 0;
  z-index: -1;
}

.hurom_juice .juice_info .juice_align { width: 100%; }

.hurom_juice .juice_info .juice_con {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto 40px;
}

.hurom_juice .juice_info .juice_img {
  width: 80%;
  max-width: 440px;
  margin: auto;
}

.hurom_juice .juice_info02 {
  width: 80%;
  max-width: 1400px;
  margin: auto;
  padding-bottom: 80px;
}

.hurom_juice .juice_info02 ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.hurom_juice .juice_info02 li {
  display: table;
  width: 100%;
  margin-bottom: 40px;
}

.hurom_juice .juice_info02 li::after {
  content: "";
  display: block;
  clear: both;
}

.hurom_juice .juice_info02 li .juice_img02 {
  width: 100%;
  max-width: 440px;
  margin: auto;
}

.hurom_juice .juice_info02 li .juice_img02 img {
  width: 100%;
  height: auto;
}

.hurom_juice .juice_info02 dl {
  width: 100%;
  text-align: center;
}

.hurom_juice .juice_info02 dt {
  font-size: 26px;
  font-weight: 700;
  color: #212121;
  line-height: 1.15;
  margin-bottom: 10px;
}

.hurom_juice .juice_info02 dd {
  font-size: 16px;
  line-height: 1.65;
  color: #212121;
  margin-bottom: 20px;
}

@media screen and (min-width: 760px) {
  .hurom_juice { margin: 80px 0; }
  .hurom_juice h2.juice_tt { font-size: 18px; }
  .hurom_juice h3.juice_sub { font-size: 42px; margin: 0 auto 38px; }
  .hurom_juice .phyto_list { margin: 60px auto 0; }
  .hurom_juice .phyto_list li { width: 31.33%; }
  .hurom_juice .phyto_img { margin: -160px -20% 0; }
  .hurom_juice .juice_info02 li { margin-bottom: 60px; }
  .hurom_juice .juice_info02 dt { font-size: 30px; margin-bottom: 20px; }
  .hurom_juice .juice_info02 dd { margin-bottom: 30px; }
}

@media screen and (min-width: 1200px) {
  .hurom_juice { margin: 114px 0; }
  .hurom_juice h2.juice_tt { font-size: 20px; margin-bottom: 23px; }
  .hurom_juice h3.juice_sub { font-size: 54px; margin: 0 auto 48px; }
  .hurom_juice .juice_txt { font-size: 18px; }
  .hurom_juice .phyto_list { margin: 100px auto 0; padding-bottom: 62px; }
  .hurom_juice .phyto_list li { width: 20%; margin: 0; }
  .hurom_juice .phyto_list li dt { font-size: 18px; }
  .hurom_juice .phyto_list li dd { font-size: 16px; }
  .hurom_juice .phyto_img { width: 100%; margin: -180px auto 0; }
  .hurom_juice .juice_info {
    padding: 140px 0 100px;
    min-height: 700px;
  }
  .hurom_juice .juice_info::after {
    height: 800px;
    top: -160px;
  }
  .hurom_juice .juice_info .juice_align {
    position: absolute;
    width: 100%;
    top: 240px;
  }
  .hurom_juice .juice_info .juice_con { margin: 0 auto; }
  .hurom_juice .juice_info .juice_con h3.juice_sub {
    width: 45%;
    text-align: left;
    margin: 0 0 48px;
  }
  .hurom_juice .juice_info .juice_con .juice_txt {
    width: 100%;
    text-align: left;
    margin: 0 0 0 110px;
  }
  .hurom_juice .juice_info .juice_img {
    float: right;
    width: 44.21%;
    max-width: 840px;
  }
  .hurom_juice .juice_info02 li { margin-bottom: 100px; }
  .hurom_juice .juice_info02 li .juice_img02 {
    float: left;
    width: 50%;
    max-width: 700px;
  }
  .hurom_juice .juice_info02 li:nth-child(2) .juice_img02 { float: right; }
  .hurom_juice .juice_info02 dl {
    float: left;
    width: calc(50% - 80px);
    margin-left: 80px;
    text-align: left;
  }
  .hurom_juice .juice_info02 li:nth-child(1) dl,
  .hurom_juice .juice_info02 li:nth-child(3) dl { float: right; }
  .hurom_juice .juice_info02 dt {
    font-size: 42px;
    margin: 45px 0 50px;
  }
  .hurom_juice .juice_info02 dd { font-size: 18px; }
  .hurom_juice .juice_info02 dt span { display: block; }
}

@media screen and (min-width: 1600px) {
  .hurom_juice .phyto_img { margin: -218px auto 0; }
  .hurom_juice .juice_info::after { height: 900px; }
  .hurom_juice .juice_info02 dl {
    width: calc(50% - 120px);
    margin-left: 120px;
  }
  .hurom_juice .juice_info02 dt {
    font-size: 48px;
    margin: 67px 0 50px;
  }
  .hurom_juice .juice_info02 dd span { display: block; }
}

/* Ambassador */
.ambassador_detail { margin-top: 60px; }

.ambassador_hero {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 60px;
  padding: 60px 8%;
  max-width: 1100px;
  margin: 0 auto;
  align-items: center;
}

.ambassador_hero img {
  width: 100%;
  border-radius: 8px;
  aspect-ratio: 1;
  object-fit: cover;
}

.ambassador_label { font-size: 12px; font-weight: 700; color: #7fbd01; text-transform: uppercase; letter-spacing: 0.1em; }
.ambassador_info h1 { font-size: 42px; font-weight: 300; margin: 10px 0; }
.ambassador_role { font-size: 18px; color: #7fbd01; margin-bottom: 20px; }
.ambassador_bio { font-size: 16px; color: #606060; line-height: 1.8; }

.ambassador_tabs { padding: 60px 8%; background: #f8f8f8; }
.ambassador_tabs h2 { text-align: center; font-size: 24px; margin-bottom: 30px; }

.ambassador_grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 15px;
  max-width: 900px;
  margin: 0 auto;
}

.ambassador_card {
  text-align: center;
  padding: 10px;
  border-radius: 8px;
  transition: background 0.2s;
}
.ambassador_card:hover, .ambassador_card.active { background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,0.08); }
.ambassador_card img { width: 70px; height: 70px; border-radius: 50%; object-fit: cover; margin: 0 auto 8px; }
.ambassador_card span { font-size: 11px; }

/* Brand story */
.company_con01 { padding: 60px 5%; text-align: center; }
.top_txt dt { font-size: 16px; font-weight: 700; }
.top_copy { font-size: 22px; font-weight: 100; margin: 10px 0 30px; line-height: 1.4; }
.top_txt .logo { width: 130px; margin: 0 auto 50px; }

.vision_txt dt { font-size: 22px; font-weight: 700; color: #7fbd01; }
.vision_txt dt::after { content: ''; display: block; width: 25px; height: 3px; background: #7fbd01; margin: 15px auto 30px; }
.vision_txt dd { max-width: 600px; margin: 0 auto; font-size: 14px; color: #808080; line-height: 1.8; }

.company_con02 { padding: 60px 5%; background: #f5faeb; text-align: center; }
.value_txt dt { font-size: 22px; font-weight: 700; }
.value_txt dd { margin-top: 15px; font-size: 16px; }

.value_list { margin-top: 30px; max-width: 800px; margin-left: auto; margin-right: auto; }
.value_list li {
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  color: #fff;
}
.value_con dt { font-size: 20px; font-weight: 700; }
.value_con dt::after { content: ''; display: block; width: 25px; height: 3px; background: #fff; margin: 15px auto; }
.value_con dd { font-size: 14px; font-weight: 300; }

/* Patent */
.patent_page .page_intro { font-size: 16px; color: #808080; margin-bottom: 40px; }
.patent_grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 25px; }
.patent_card { padding: 30px; border: 1px solid #eee; }
.patent_card h3 { font-size: 18px; color: #7fbd01; margin-bottom: 12px; }
.patent_card p { font-size: 14px; color: #808080; line-height: 1.6; }

/* Contact */
.contact_layout { display: grid; grid-template-columns: 1fr 300px; gap: 50px; max-width: 900px; }
.contact_con01 { text-align: center; margin-bottom: 40px; }
.contact_info_side h3 { font-size: 18px; margin-bottom: 10px; }
.contact_info_side p { color: #7fbd01; margin-bottom: 20px; }
.contact_info_side li { font-size: 14px; color: #808080; margin-bottom: 8px; }

/* Search */
.search_query { color: #808080; margin-bottom: 30px; }
.no_results { color: #999; padding: 40px 0; }

.search_results { display: flex; flex-direction: column; gap: 15px; }

.search_result_card {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 20px;
  border: 1px solid #eee;
  transition: box-shadow 0.3s;
}
.search_result_card:hover { box-shadow: 0 4px 15px rgba(0,0,0,0.08); }
.search_result_card img { width: 100px; height: 100px; object-fit: contain; }
.search_result_card h3 { font-size: 18px; margin-bottom: 5px; }
.search_result_card p { font-size: 14px; color: #808080; }
.search_result_card span { font-size: 16px; font-weight: 700; color: #7fbd01; }

/* Success */
.success_page { text-align: center; padding: 100px 20px; }
.success_icon {
  width: 80px;
  height: 80px;
  background: #7fbd01;
  color: #fff;
  font-size: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 25px;
}
.success_page h1 { font-size: 28px; margin-bottom: 15px; }
.success_page p { color: #808080; margin-bottom: 30px; }
.success_page .btn_primary { width: auto; }

/* Toast */
.toast {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  background: #303030;
  color: #fff;
  padding: 12px 30px;
  border-radius: 4px;
  font-size: 14px;
  z-index: 9999;
  opacity: 0;
  transition: all 0.35s ease;
  pointer-events: none;
}
.toast.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

/* Animations */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 1024px) {
  .nav_hr { display: none; }
  .product_detail_top { grid-template-columns: 1fr; }
  .detail_grid { grid-template-columns: 1fr; }
  .related_grid { grid-template-columns: repeat(2, 1fr); }
  .cart_layout, .checkout_layout { grid-template-columns: 1fr; }
  .ambassador_hero { grid-template-columns: 1fr; text-align: center; }
  .ambassador_grid { grid-template-columns: repeat(4, 1fr); }
  section[class^="main_"] { flex-direction: column !important; min-height: auto; padding: 60px 20px; }
  .main_align { max-width: 100%; padding: 0 20px; text-align: center; }
  .main_img { padding: 30px 20px; }
  .juice_banner { flex-direction: column; }
  .banner_img img { height: 250px; }
  .contact_layout { grid-template-columns: 1fr; }
  .patent_grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .cart_item { grid-template-columns: 80px 1fr; gap: 10px; }
  .cart_item_qty, .cart_item_total, .cart_remove { grid-column: 2; }
  .related_grid { grid-template-columns: 1fr; }
  .form_row { grid-template-columns: 1fr; }
  .ambassador_grid { grid-template-columns: repeat(3, 1fr); }
  .product_feature { grid-template-columns: 1fr; }
}

