@charset "UTF-8";
@import url("../fonts/fonts.css");
:root {
  --grayscale-100: #000000;
  --grayscale-90: #232323;
  --grayscale-80: #383838;
  --grayscale-70: #4b4b4b;
  --grayscale-60: #979797;
  --grayscale-40: #d8d8d8;
  --grayscale-20: #f2f2f2;
  --grayscale-10: #f6f6f2;
  --grayscale-white: #ffffff;
  --color-blue-primary: #009ff4;
  --color-blue-secondary: #0192df;
  --color-red-primary: #ff6565;
  --color-red-secondary: #c63939;
  --color-green-primary: #00d83a;
  --color-green-secondary: #048000;
  --black-100: var(--grayscale-100);
  --black-90: var(--grayscale-90);
  --black-80: var(--grayscale-80);
  --black-70: var(--grayscale-70);
  --black-60: var(--grayscale-60);
  --black-40: var(--grayscale-40);
  --black-20: var(--grayscale-20);
  --black-10: var(--grayscale-10);
  --black-white: var(--grayscale-white);
  --color-blue-for-dark: var(--color-blue-primary);
  --color-blue-for-light: var(--color-blue-secondary);
  --color-red-for-dark: var(--color-red-primary);
  --color-red-for-light: var(--color-red-secondary);
  --color-green-for-dark: var(--color-green-primary);
  --color-green-for-light: var(--color-green-secondary);
  --logo-filter: brightness(100) grayscale(100%);
  --font-family-primary: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-weight-medium: 500;
}

/* Bold */
body[data-theme=light] {
  --black-100: var(--grayscale-white);
  --black-90: var(--grayscale-white);
  --black-80: var(--grayscale-10);
  --black-70: var(--grayscale-20);
  --black-60: var(--grayscale-40);
  --black-40: var(--grayscale-60);
  --black-20: var(--grayscale-70);
  --black-10: var(--grayscale-80);
  --black-white: #383838;
  --color-blue-for-dark: var(--color-blue-secondary);
  --color-blue-for-light: var(--color-blue-primary);
  --color-red-for-dark: var(--color-red-secondary);
  --color-red-for-light: var(--color-red-primary);
  --color-green-for-dark: var(--color-green-secondary);
  --color-green-for-light: var(--color-green-primary);
  --logo-filter: brightness(1) grayscale(0%);
}
body[data-theme=light] [class^=icon-]::before, body[data-theme=light] [class*=" icon-"]::before {
  content: " ";
  filter: invert(1);
}

body[data-lang=ZHTW], body[data-lang=ZHCN] {
  --font-family-primary: "Noto Sans TC", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "PingFang TC", "Microsoft YaHei", "微軟雅黑", "Microsoft JhengHei", "微軟正黑體", "Hiragino Sans GB", sans-serif;
}

body[data-lang=ZHCN] {
  --font-weight-medium: 600;
}

body {
  background-color: var(--black-90);
}

main {
  padding-top: 112px;
  padding-bottom: 64px;
}
main .filter-container {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 300px auto;
  gap: 16px;
}
main .filter-container .filter-blank {
  display: flex;
  align-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.5px;
}
main .filter-container .filter-blank::before {
  content: "";
  margin-top: 2px;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%0A%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M16%2012.5C17.8638%2012.5%2019.43%2013.7748%2019.874%2015.5H21C21.5523%2015.5%2022%2015.9477%2022%2016.5C22%2017.0523%2021.5523%2017.5%2021%2017.5H19.874C19.43%2019.2252%2017.8638%2020.5%2016%2020.5C14.1362%2020.5%2012.57%2019.2252%2012.126%2017.5H3C2.44772%2017.5%202%2017.0523%202%2016.5C2%2015.9477%202.44772%2015.5%203%2015.5H12.126C12.57%2013.7748%2014.1362%2012.5%2016%2012.5ZM16%2014.5C14.8954%2014.5%2014%2015.3954%2014%2016.5C14%2017.6046%2014.8954%2018.5%2016%2018.5C17.1046%2018.5%2018%2017.6046%2018%2016.5C18%2015.3954%2017.1046%2014.5%2016%2014.5Z%22%20fill%3D%22%23ffffff%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8%203.5C9.86384%203.5%2011.43%204.77477%2011.874%206.5H21C21.5523%206.5%2022%206.94772%2022%207.5C22%208.05228%2021.5523%208.5%2021%208.5H11.874C11.43%2010.2252%209.86384%2011.5%208%2011.5C6.13616%2011.5%204.57002%2010.2252%204.12598%208.5H3C2.44772%208.5%202%208.05228%202%207.5C2%206.94772%202.44772%206.5%203%206.5H4.12598C4.57002%204.77477%206.13616%203.5%208%203.5ZM8%205.5C6.89543%205.5%206%206.39543%206%207.5C6%208.60457%206.89543%209.5%208%209.5C9.10457%209.5%2010%208.60457%2010%207.5C10%206.39543%209.10457%205.5%208%205.5Z%22%20fill%3D%22%23ffffff%22%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
}
main .filter-container .filter-bar {
  display: flex;
  align-items: self-start;
  gap: 16px;
  flex-wrap: wrap;
  padding: 12px 16px;
  margin-bottom: 16px;
  width: 100%;
}
main .filter-container .filter-bar > * {
  margin-left: 0;
  margin-right: 0;
}
main .filter-container .filter-bar .filter-toggle-btn {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background-color: var(--color-blue-for-dark);
  color: var(--black-white);
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.5px;
  cursor: pointer;
}
main .filter-container .filter-bar .filter-toggle-btn.active {
  background-color: var(--black-70);
}
main .filter-container .filter-bar .filter-toggle-btn::before {
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%0A%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M16%2012.5C17.8638%2012.5%2019.43%2013.7748%2019.874%2015.5H21C21.5523%2015.5%2022%2015.9477%2022%2016.5C22%2017.0523%2021.5523%2017.5%2021%2017.5H19.874C19.43%2019.2252%2017.8638%2020.5%2016%2020.5C14.1362%2020.5%2012.57%2019.2252%2012.126%2017.5H3C2.44772%2017.5%202%2017.0523%202%2016.5C2%2015.9477%202.44772%2015.5%203%2015.5H12.126C12.57%2013.7748%2014.1362%2012.5%2016%2012.5ZM16%2014.5C14.8954%2014.5%2014%2015.3954%2014%2016.5C14%2017.6046%2014.8954%2018.5%2016%2018.5C17.1046%2018.5%2018%2017.6046%2018%2016.5C18%2015.3954%2017.1046%2014.5%2016%2014.5Z%22%20fill%3D%22%23ffffff%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8%203.5C9.86384%203.5%2011.43%204.77477%2011.874%206.5H21C21.5523%206.5%2022%206.94772%2022%207.5C22%208.05228%2021.5523%208.5%2021%208.5H11.874C11.43%2010.2252%209.86384%2011.5%208%2011.5C6.13616%2011.5%204.57002%2010.2252%204.12598%208.5H3C2.44772%208.5%202%208.05228%202%207.5C2%206.94772%202.44772%206.5%203%206.5H4.12598C4.57002%204.77477%206.13616%203.5%208%203.5ZM8%205.5C6.89543%205.5%206%206.39543%206%207.5C6%208.60457%206.89543%209.5%208%209.5C9.10457%209.5%2010%208.60457%2010%207.5C10%206.39543%209.10457%205.5%208%205.5Z%22%20fill%3D%22%23ffffff%22%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
}
main .filter-container .filter-bar .selected-filters {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
main .filter-container .filter-bar .selected-filters .filter-tag {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 16px 8px 24px;
  background-color: var(--black-70);
  color: var(--black-white);
  border-radius: 100rem;
  margin-left: 0;
  margin-right: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.5px;
}
main .filter-container .filter-bar .selected-filters .filter-tag .remove-filter {
  width: 14px;
  height: 14px;
  cursor: pointer;
  position: relative;
}
main .filter-container .filter-bar .selected-filters .filter-tag .remove-filter::before, main .filter-container .filter-bar .selected-filters .filter-tag .remove-filter::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 1px;
  background-color: var(--black-white);
  transform: translate(-50%, -50%) rotate(45deg);
}
main .filter-container .filter-bar .selected-filters .filter-tag .remove-filter::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
main .filter-container .filter-bar .clear-all-btn {
  padding: 6px 12px;
  background-color: transparent;
  color: var(--black-white);
  border: 2px solid var(--black-40);
  border-radius: 100rem;
  font-size: 14px;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.5px;
  cursor: pointer;
}
main .filter-container .filter-sidebar {
  width: 100%;
}
main .filter-container .filter-sidebar .filter-group {
  border-bottom: 1px solid var(--black-40);
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}
main .filter-container .filter-sidebar .filter-group .filter-group-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.5px;
  margin-bottom: 1em;
  background-image: url("data:image/svg+xml,%0A%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.33105%2016.7432C2.74155%2017.1126%203.3737%2017.0794%203.74316%2016.6689L12%207.49512L20.2568%2016.6689C20.6263%2017.0794%2021.2585%2017.1126%2021.6689%2016.7432C22.0794%2016.3737%2022.1126%2015.7415%2021.7432%2015.3311L12%204.50488L2.25684%2015.3311C1.88739%2015.7415%201.9206%2016.3737%202.33105%2016.7432Z%22%20fill%3D%22%23ffffff%22%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-size: 18px 18px;
  background-repeat: no-repeat;
  background-position: center right;
  cursor: pointer;
}
main .filter-container .filter-sidebar .filter-group .filter-group-title.active {
  background-image: url("data:image/svg+xml,%0A%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.33106%207.25683C2.74155%206.88739%203.3737%206.92059%203.74317%207.33105L12%2016.5049L20.2568%207.33105C20.6263%206.92059%2021.2585%206.88739%2021.6689%207.25683C22.0794%207.6263%2022.1126%208.25845%2021.7432%208.66894L12%2019.4951L2.25684%208.66894C1.8874%208.25845%201.9206%207.6263%202.33106%207.25683Z%22%20fill%3D%22%23ffffff%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}
main .filter-container .filter-sidebar .filter-group .filter-options {
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
main .filter-container .filter-sidebar .filter-group .filter-options label {
  display: block;
  width: 100%;
  font-size: 16px;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.5px;
  margin-bottom: 0.5em;
}
main .filter-container .filter-sidebar .filter-group .filter-options.config-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
main .filter-container .filter-sidebar .filter-group .filter-group-title.active + .filter-options {
  max-height: 1000px;
}
main .filter-container .filter-content {
  width: 100%;
}
main .filter-container .filter-content ul.products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 0;
  list-style: none;
}
main .filter-container .filter-content ul.products-grid li {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
  margin: 0;
  padding: 3% 5%;
  overflow: hidden;
  text-align: center;
  align-content: center;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.5px;
  width: 100%;
  height: auto;
  background-size: 0% 0%;
  background-repeat: no-repeat;
  background-position: center;
}
main .filter-container .filter-content ul.products-grid li::before, main .filter-container .filter-content ul.products-grid li::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
main .filter-container .filter-content ul.products-grid li::before {
  background-color: var(--black-70);
  z-index: -2;
}
main .filter-container .filter-content ul.products-grid li::after {
  background: inherit;
  background-size: 100% 100%;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  z-index: -1;
}
main .filter-container .filter-content ul.products-grid li:hover, main .filter-container .filter-content ul.products-grid li:active {
  color: var(--black-80);
}
main .filter-container .filter-content ul.products-grid li:hover .menu-item-img img:nth-child(1), main .filter-container .filter-content ul.products-grid li:active .menu-item-img img:nth-child(1) {
  opacity: 0;
}
main .filter-container .filter-content ul.products-grid li:hover .menu-item-img img:nth-child(2), main .filter-container .filter-content ul.products-grid li:active .menu-item-img img:nth-child(2) {
  opacity: 1;
}
main .filter-container .filter-content ul.products-grid li:hover:after, main .filter-container .filter-content ul.products-grid li:active:after {
  opacity: 1;
}
main .filter-container .filter-content ul.products-grid li:active .menu-item-txt .menu-item-title {
  color: var(--color-blue-for-dark);
}
main .filter-container .filter-content ul.products-grid li:active .menu-item-txt .product-description {
  color: var(--black-white);
}
main .filter-container .filter-content ul.products-grid li .menu-item-img {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1/1;
}
main .filter-container .filter-content ul.products-grid li .menu-item-img img {
  margin: 0 auto;
  width: 100%;
  transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1);
}
main .filter-container .filter-content ul.products-grid li .menu-item-img img:nth-child(1) {
  opacity: 1;
}
main .filter-container .filter-content ul.products-grid li .menu-item-img img:nth-child(2) {
  opacity: 0;
  transform: translateY(-100%);
  margin-bottom: -100%;
}
main .filter-container .filter-content ul.products-grid li .menu-item-txt {
  text-align: center;
  position: relative;
}
main .filter-container .filter-content ul.products-grid li .menu-item-txt .menu-item-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.5px;
  margin: 0.5em auto;
}
main .filter-container .filter-content ul.products-grid li .menu-item-txt .product-description {
  font-size: 16px;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.5px;
  padding-bottom: 1em;
}
@media screen and (max-width: 1180px) {
  main {
    padding-top: 24px;
  }
  main .filter-container {
    grid-template-columns: 1fr;
    position: relative;
  }
  main .filter-container .filter-blank {
    display: none;
  }
  main .filter-container .filter-bar .filter-toggle-btn {
    display: flex;
  }
  main .filter-container .filter-sidebar {
    margin-top: 0;
    display: none;
    border-radius: 8px;
    padding: 16px;
    position: relative;
  }
  main .filter-container .filter-sidebar #filter-sidebar-close {
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%0A%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M12.5352%204.04991C12.9256%203.65955%2013.5588%203.6598%2013.9493%204.04991C14.3398%204.44044%2014.3398%205.07443%2013.9493%205.46495L10.4142%208.99913L13.9493%2012.5353C14.3398%2012.9258%2014.3398%2013.5588%2013.9493%2013.9493C13.5588%2014.3399%2012.9258%2014.3399%2012.5352%2013.9493L8.99912%2010.4142L5.46494%2013.9493C5.07441%2014.3399%204.44042%2014.3399%204.0499%2013.9493C3.65978%2013.5588%203.65954%2012.9257%204.0499%2012.5353L7.58505%208.99913L4.0499%205.46495C3.65937%205.07443%203.65937%204.44044%204.0499%204.04991C4.44042%203.65939%205.07441%203.65939%205.46494%204.04991L8.99912%207.58507L12.5352%204.04991Z%22%20fill%3D%22%23ffffff%22%2F%3E%0A%3C%2Fsvg%3E%0A");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: -24px;
    right: 12px;
    cursor: pointer;
  }
  main .filter-container .filter-sidebar.mobile-filter-open {
    display: block;
  }
  main .filter-container .filter-sidebar .filter-group .filter-options label {
    color: var(--black-20);
  }
  main .filter-container .filter-sidebar .filter-group .filter-options label input:checked + .checkmark + span {
    color: var(--black-white);
  }
  main .filter-container .filter-sidebar .filter-group .filter-options.config-options {
    display: flex;
    flex-wrap: wrap;
  }
  main .filter-container .filter-sidebar .filter-group .filter-options.config-options label {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: 0;
    margin-right: 12px;
  }
  main .filter-container .filter-sidebar .filter-group .filter-options.config-options label.blank {
    display: none;
  }
  main .filter-container .filter-sidebar .filter-group .filter-options.config-options label:nth-child(odd) {
    order: 1;
  }
  main .filter-container .filter-sidebar .filter-group .filter-options.config-options label:nth-child(even) {
    order: 2;
  }
  main .filter-container .filter-content ul.products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 720px) {
  main .filter-container .filter-blank {
    display: none;
  }
  main .filter-container .filter-bar {
    padding: 8px 12px;
    display: block;
  }
  main .filter-container .filter-bar .filter-toggle-btn {
    display: inline-block;
  }
  main .filter-container .filter-bar .selected-filters {
    padding: 16px 0;
    display: flex;
    flex-direction: column;
    align-content: flex-start;
  }
  main .filter-container .filter-bar .selected-filters .filter-tag {
    align-self: flex-start;
    margin-left: 0;
  }
  main .filter-container .filter-bar .clear-all-btn {
    display: inline-block;
  }
  main .filter-container .filter-content ul.products-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media screen and (max-width: 1180px) {
  body {
    background-color: var(--black-90);
  }
}/*# sourceMappingURL=filter_v2025.css.map */