@charset "UTF-8";
@font-face {
  font-family: "DFHeiStd-W7";
  src: url("../font/DFHeiStd-W7.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "DFHeiStd-W9";
  src: url("../font/DFHeiStd-W9.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}
* {
  margin: 0;
  padding: 0;
  font-family: "DFHeiStd-W7";
}
* .W9 {
  font-family: "DFHeiStd-W9";
}

html {
  font-size: 16px; /*根尺寸*/
}
@media (min-width: 1800px) {
  html {
    font-size: 20px;
  }
}
@media (max-width: 1800px) {
  html {
    font-size: 18px;
  }
}
@media (max-width: 1400px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 1200px) {
  html {
    font-size: 12px;
  }
}
@media (max-width: 992px) {
  html {
    font-size: 10px;
  }
}

h3 {
  font-family: "DFHeiStd-W9";
}

.overlay {
  display: none;
  position: absolute;
  top: 0vw;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1000; /* 保證圖片位於最上層，可以根據需求調整 */
  pointer-events: none; /* 這樣可以讓用戶互動不會被圖片阻擋 */
}
.overlay img {
  width: 100%;
  height: auto;
  opacity: 0.2; /* 背景參考圖片設置透明度 */
  -o-object-fit: cover;
     object-fit: cover; /* 保持圖片比例並覆蓋整個視口 */
  margin-top: 0;
}

header {
  background-image: url("../image/header/topbk.png");
  background-size: cover;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: 80px;
  width: 100%;
  position: absolute;
  z-index: 1000;
  /* cart-section的badge顯示在icon右上角 */
  /* 右側滑出購物車面板樣式 */
  /* 可依媒體查詢做RWD調整 */
}
header section.logo {
  flex: 3.6 1;
  height: 55px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 32px;
}
header section.logo a {
  height: 100%;
}
header section.logo img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain; /* 保持圖片比例，不變形且不裁切 */
}
header section.icon {
  flex: 0.8 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
header section.icon a {
  height: 100%;
}
header section.icon img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain; /* 保持圖片比例，不變形且不裁切 */
}
header .cart {
  height: auto;
  position: relative;
  display: none;
  align-items: center;
}
header .cart img {
  width: 4vw;
  max-width: 60px;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
header .cart .badge {
  position: absolute;
  top: -0.4rem;
  right: -0.2rem;
  background: rgb(255, 113, 0);
  color: #fff;
  border-radius: 50%;
  padding: 0.2em 0.4em;
  font-size: 0.8rem;
}
header .cart-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 30%; /* 調整為所需比例 */
  max-width: 600px; /* 若需要限制寬度可加上 */
  height: 100vh;
  background-color: #c0d8cb;
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.3);
  transform: translateX(100%); /* 初始隱藏在右側 */
  transition: transform 0.3s ease-in-out;
  z-index: 9999;
  display: flex;
  flex-direction: column;
}
header .cart-panel.active {
  transform: translateX(0); /* 顯示面板 */
}
header .cart-panel .cart-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  margin: 0 1rem;
  border-bottom: 1px solid #303030;
  padding-top: 3rem;
}
header .cart-panel .cart-panel-header h2 {
  font-size: 3rem;
  letter-spacing: 0.3rem;
  font-weight: bold;
  font-family: "DFHeiStd-W9";
  color: rgb(4, 112, 92);
}
header .cart-panel .cart-panel-header .close-panel-btn {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
}
header .cart-panel .cart-panel-content {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item {
  position: relative;
  border-bottom: 1px solid #303030;
  padding: 0.5rem 0;
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item .upper_area {
  display: flex;
  justify-content: space-between;
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item .upper_area img {
  width: 40%;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item .upper_area .text_area {
  flex-grow: 1;
  margin-left: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item .upper_area .text_area .mini-cart-item-name {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  font-family: "DFHeiStd-W9";
  color: rgb(4, 112, 92);
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item .upper_area .text_area .mini-cart-var-name {
  font-size: 1.5rem;
  margin-bottom: 0.3rem;
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item .upper_area .text_area .mini-cart-item-price {
  font-size: 1.5rem;
  margin-bottom: 0.3rem;
  margin-top: 1rem;
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item .down_area {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item .down_area .mini-cart-item-quantity {
  font-size: 1.5rem;
  margin-bottom: 0.3rem;
  width: 50%;
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item .down_area .mini-cart-item-quantity .mini-cart-qty {
  width: 100%;
  background-color: rgba(0, 0, 0, 0);
  text-align: center;
  font-size: 1.5rem;
  padding: 0.5rem 0;
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item .down_area .mini-cart-item-subtotal {
  flex-grow: 1;
  font-size: 1.5rem;
  margin-bottom: 0.3rem;
}
header .cart-panel .cart-panel-content .cart-items .mini-cart-item .mini-cart-delete {
  position: absolute;
  right: 0;
  top: -1.5rem;
  background: rgba(231, 77, 60, 0);
  color: #303030;
  border: none;
  padding: 0.3rem 0.5rem;
  cursor: pointer;
  font-size: 1.5rem;
}
header .cart-panel .cart-panel-footer {
  padding: 1rem;
  display: flex;
  justify-content: center;
}
header .cart-panel .cart-panel-footer .go-to-cart {
  display: inline-block;
  width: 50%;
  text-align: center;
  background: rgb(255, 113, 0);
  color: #fff;
  text-decoration: none;
  font-size: 2rem;
  font-weight: bold;
  font-family: "DFHeiStd-W9";
  padding: 1rem 0;
  border-radius: 10px;
}
header .cart-panel .cart-panel-footer .go-to-cart:hover {
  opacity: 0.8;
}
header .cart-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9998;
}
@media (max-width: 768px) {
  header .cart-panel {
    width: 80%; /* 手機版可加大比例 */
  }
  header .cart-panel .cart-panel-content {
    padding: 2rem;
  }
}
header nav.desktop {
  flex: 8 1;
  display: flex;
  justify-content: end;
  align-items: end;
  height: 100%;
}
header nav.desktop ul.navigation {
  display: flex;
  justify-content: space-around;
  height: 50%;
  width: 76%;
  list-style-type: none;
  margin-right: 32px;
}
header nav.desktop ul.navigation li {
  position: relative;
}
header nav.desktop ul.navigation li a {
  letter-spacing: 0.2rem;
  color: rgb(4, 112, 92);
  font-weight: bold;
  font-family: "DFHeiStd-W9";
  text-decoration: none;
  font-size: 1.4rem;
  transition: all 0.2s ease;
  padding-bottom: 0.3rem;
}
header nav.desktop ul.navigation li a:hover {
  color: rgb(255, 113, 0);
  border-bottom: 3px solid rgb(255, 113, 0);
}
header nav.desktop ul.navigation li a.menu:hover > ul.submenu, header nav.desktop ul.navigation li a.menu:hover::before {
  display: block;
}
header nav.desktop ul.navigation li a.menu::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 2rem;
  background: transparent;
  z-index: 500;
}
header nav.desktop ul.navigation li ul.submenu {
  display: none;
  position: absolute;
  background-color: white;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
  list-style: none;
  margin: 0;
  padding: 1rem;
  top: calc(100% + 2rem);
  z-index: 1000;
  width: 37.5rem;
  border-bottom: 0.3125rem solid rgb(255, 113, 0);
  border-top: 0.3125rem solid rgb(255, 113, 0);
}
header nav.desktop ul.navigation li ul.submenu.search {
  width: 12rem;
}
header nav.desktop ul.navigation li ul.submenu .bar {
  border-bottom: 2px solid #ddd;
  height: 8px;
  margin-bottom: 8px;
}
header nav.desktop ul.navigation li ul.submenu .submenu-group {
  margin-bottom: 0;
}
header nav.desktop ul.navigation li ul.submenu .submenu-group .submenu-title {
  font-size: 1.125rem;
  font-weight: bold;
  display: block;
  margin-bottom: 0;
  padding-bottom: 0;
}
header nav.desktop ul.navigation li ul.submenu .submenu-group .submenu-title a {
  color: #000000;
  display: inline-block;
}
header nav.desktop ul.navigation li ul.submenu .submenu-group .submenu-title a:hover {
  color: rgb(255, 113, 0);
}
header nav.desktop ul.navigation li ul.submenu .submenu-group .submenu-column {
  display: flex;
  flex-wrap: wrap;
}
header nav.desktop ul.navigation li ul.submenu .submenu-group .submenu-column li {
  flex: 0 0 50%;
}
header nav.desktop ul.navigation li ul.submenu .submenu-group .submenu-column li a {
  color: #9e9e9e;
  font-size: 1rem;
  font-weight: bold;
  padding: 0.5rem 0rem;
  display: inline-block;
}
header nav.desktop ul.navigation li ul.submenu .submenu-group .submenu-column li a:hover {
  color: rgb(255, 113, 0);
}
header nav.desktop ul.navigation li:hover > ul.submenu {
  display: block;
}
header nav.mobile {
  display: none;
  position: absolute;
  top: 9vh;
  left: 5vw;
  width: 65%;
  height: auto;
  background-color: white;
  box-shadow: 0 2px 5px rgba(255, 113, 0, 0.15);
  z-index: 999;
}
header nav.mobile img.kit {
  position: absolute;
  top: -4vh;
  height: 6vh;
  z-index: 1;
}
header nav.mobile a {
  text-decoration: none;
}
header nav.mobile .navigation {
  width: 100%;
}
header nav.mobile .navigation > li {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: end;
}
header nav.mobile .navigation > li > a {
  display: flex;
}
header nav.mobile .navigation > li > a.menu {
  cursor: pointer;
  width: 90%;
  letter-spacing: 0.2rem;
  color: rgb(4, 112, 92);
  font-weight: bold;
  font-size: 2rem;
  border-bottom: 2px solid rgb(4, 112, 92);
  margin-top: 2rem;
  margin-right: 2rem;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
}
header nav.mobile .navigation > li > a.menu img {
  width: 1.3rem;
  -o-object-fit: contain;
     object-fit: contain;
  margin-left: 0.5rem;
}
header nav.mobile .navigation > li ul.submenu {
  position: relative;
  list-style: none;
  width: 85%;
  margin-right: 2rem;
  max-height: 0px;
  overflow: hidden;
  transition: max-height 0.5s ease;
}
header nav.mobile .navigation > li ul.submenu.open {
  max-height: 1100px;
}
header nav.mobile .navigation > li ul.submenu .bar {
  border-bottom: 2px solid #ddd;
  height: 1rem;
  margin-bottom: 2rem;
  margin-top: 1rem;
}
header nav.mobile .navigation > li ul.submenu .submenu-group {
  margin-bottom: 0;
}
header nav.mobile .navigation > li ul.submenu .submenu-group .submenu-title {
  font-size: 2rem;
  font-weight: bold;
  display: block;
  cursor: pointer;
  margin-bottom: 1rem;
  padding-bottom: 0;
}
header nav.mobile .navigation > li ul.submenu .submenu-group .submenu-title a {
  color: #363636;
  display: flex;
}
header nav.mobile .navigation > li ul.submenu .submenu-group .submenu-title a img {
  width: 1.3rem;
  -o-object-fit: contain;
     object-fit: contain;
  margin-left: 0.5rem;
}
header nav.mobile .navigation > li ul.submenu .submenu-group .submenu-title a:hover {
  color: rgb(255, 113, 0);
}
header nav.mobile .navigation > li ul.submenu .submenu-group .submenu-column {
  display: flex;
  flex-direction: column;
  max-height: 0px;
  overflow: hidden;
  transition: max-height 0.5s ease;
}
header nav.mobile .navigation > li ul.submenu .submenu-group .submenu-column.open {
  max-height: 500px;
}
header nav.mobile .navigation > li ul.submenu .submenu-group .submenu-column li {
  flex: 0 0 50%;
}
header nav.mobile .navigation > li ul.submenu .submenu-group .submenu-column li a {
  color: #5a5a5a;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 1rem 0rem;
  margin-left: 2rem;
  display: inline-block;
}
header nav.mobile .navigation > li ul.submenu .submenu-group .submenu-column li a:hover {
  color: rgb(255, 113, 0);
}
header .menu-toggle {
  display: none;
  cursor: pointer;
  font-size: 2rem;
  position: absolute;
}
@media (min-width: 1400px) {
  header {
    height: 100px;
  }
  header section.logo {
    height: 75px;
  }
}
@media (max-width: 992px) {
  header nav ul.navigation {
    margin-right: 0px;
    width: 90%;
  }
}
@media (max-width: 768px) {
  header {
    flex-direction: column;
    align-items: flex-start;
    height: 6rem;
  }
  header section.logo {
    width: 100%;
    margin: 0;
  }
  header section.logo a {
    width: 45%;
  }
  header section.logo img {
    width: 100%;
  }
  header section.cart {
    position: absolute;
    right: 60px;
    top: 18px;
  }
  header section.cart img {
    width: 8vw;
    max-width: 40px;
  }
  header section.icon {
    display: flex;
    position: absolute;
    right: 0;
    height: 100%;
  }
  header section.icon img {
    height: 100%;
    position: relative;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  header .menu-toggle {
    display: flex;
    align-items: center;
    height: 100%;
    color: rgb(255, 113, 0);
    z-index: 3;
    position: absolute;
    left: 1.5rem;
  }
  header .menu-toggle img {
    height: 50%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  header nav.mobile {
    display: none;
  }
  header nav.desktop {
    display: none;
  }
  header nav.active {
    display: flex;
  }
}
header button.mobile_Call {
  border: none;
  background-color: rgba(0, 0, 0, 0);
  position: fixed;
  top: 7rem;
  right: 0;
  z-index: 10;
  width: 35vw;
  max-width: 250px;
}
header button.mobile_Call img {
  width: 100%;
}
@media (max-width: 768px) {
  header button.mobile_Call {
    display: block;
  }
}

footer {
  margin: 0;
  padding: 0;
}
footer .footer-content {
  display: flex;
  justify-content: space-around;
  flex-flow: row wrap;
  padding: 0.5vw 13vw 5vw 14vw;
  background: linear-gradient(to right, rgb(4, 112, 92), rgb(4, 148, 100));
  color: white;
}
footer .footer-content div {
  margin: 2vw 2vw;
}
footer .footer-content div h3 {
  font-size: 1.5vw;
  font-weight: bold;
  padding-bottom: 5px;
  display: inline-block;
}
footer .footer-content .footer-nav ul,
footer .footer-content .contact-info ul {
  list-style: none;
  padding: 0;
}
footer .footer-content .footer-nav ul li,
footer .footer-content .contact-info ul li {
  color: white;
  text-decoration: none;
  font-size: 1.3vw;
  line-height: 2;
}
footer .footer-content .footer-nav ul li a,
footer .footer-content .contact-info ul li a {
  color: white;
  text-decoration: none;
  font-size: 1.3vw;
  line-height: 2;
}
@media (max-width: 768px) {
  footer .footer-content {
    display: flex;
    justify-content: start;
    flex-flow: row wrap;
    padding: 0;
    padding: 0 0vw;
    padding-left: 16vw;
    padding-top: 4vw;
  }
  footer .footer-content .footer-nav {
    flex: 0 0 20vw;
  }
  footer .footer-content div {
    margin: 2vw 2vw;
  }
  footer .footer-content div h3 {
    font-size: 2.8vw;
    font-weight: bold;
    padding-bottom: 1vw;
    display: inline-block;
    letter-spacing: 0.1rem;
  }
  footer .footer-content .footer-nav ul,
  footer .footer-content .contact-info ul {
    list-style: none;
    padding: 0;
  }
  footer .footer-content .footer-nav ul li,
  footer .footer-content .contact-info ul li {
    color: white;
    text-decoration: none;
    font-size: 2.3vw;
    line-height: 2;
  }
  footer .footer-content .footer-nav ul li a,
  footer .footer-content .contact-info ul li a {
    color: white;
    text-decoration: none;
    font-size: 2.3vw;
    line-height: 2;
  }
}/*# sourceMappingURL=public.css.map */