/*
 * GI Product Reference Layout v1.2.1
 * Custom CSS variables are consumed directly with fallbacks.
 * Use :root { --gi-custom-... } in Journal 3 Custom CSS.
 */


:is(.gi-product-reference-layout, .module-products-382) {
  --gi-section-title-color: var(--gi-custom-section-title-color, var(--gi-admin-section-title-color, #294887));
  --gi-section-title-font-size: var(--gi-custom-section-title-font-size, var(--gi-admin-section-title-font-size, 34px));
  --gi-section-title-font-weight: var(--gi-custom-section-title-font-weight, var(--gi-admin-section-title-font-weight, 700));
  --gi-section-title-line-width: var(--gi-custom-section-title-line-width, var(--gi-admin-section-title-line-width, 150px));
  --gi-section-title-line-height: var(--gi-custom-section-title-line-height, var(--gi-admin-section-title-line-height, 2px));
  --gi-section-title-line-color: var(--gi-custom-section-title-line-color, var(--gi-admin-section-title-line-color, #cfd5df));
  --gi-section-subtitle-color: var(--gi-custom-section-subtitle-color, var(--gi-admin-section-subtitle-color, #6d7280));
  --gi-section-subtitle-font-size: var(--gi-custom-section-subtitle-font-size, var(--gi-admin-section-subtitle-font-size, 15px));
  --gi-section-subtitle-font-weight: var(--gi-custom-section-subtitle-font-weight, var(--gi-admin-section-subtitle-font-weight, 600));
  --gi-section-subtitle-margin-top: var(--gi-custom-section-subtitle-margin-top, 8px);

  --gi-tab-active-bg: var(--gi-custom-tab-active-bg, var(--gi-admin-tab-active-bg, #294887));
  --gi-tab-idle-bg: var(--gi-custom-tab-idle-bg, var(--gi-admin-tab-idle-bg, #e8edf5));
  --gi-tab-active-color: var(--gi-custom-tab-active-color, var(--gi-admin-tab-active-color, #fff));
  --gi-tab-idle-color: var(--gi-custom-tab-idle-color, var(--gi-admin-tab-idle-color, #294887));
  --gi-image-bg: var(--gi-custom-image-bg, var(--gi-admin-image-bg, #fff));
  --gi-name-color: var(--gi-custom-name-color, var(--gi-admin-name-color, #294887));
  --gi-price-color: var(--gi-custom-price-color, var(--gi-admin-price-color, #b3262e));
  --gi-wishlist-color: var(--gi-custom-wishlist-color, var(--gi-admin-wishlist-color, #4e4e4e));
  --gi-wishlist-active-color: var(--gi-custom-wishlist-active-color, var(--gi-admin-wishlist-active-color, #b3262e));
  --gi-cart-bg: var(--gi-custom-cart-bg, var(--gi-admin-cart-bg, #3d3d3d));
  --gi-cart-hover-bg: var(--gi-custom-cart-hover-bg, var(--gi-admin-cart-hover-bg, #294887));
  --gi-cart-color: var(--gi-custom-cart-color, var(--gi-admin-cart-color, #fff));

  --gi-tab-margin-bottom: var(--gi-custom-tab-margin-bottom, var(--gi-admin-tab-margin-bottom, 24px));
  --gi-tab-gap: var(--gi-custom-tab-gap, var(--gi-admin-tab-gap, 10px));
  --gi-tab-content-gap: var(--gi-custom-tab-content-gap, var(--gi-admin-tab-content-gap, 18px));
  --gi-tab-min-width: var(--gi-custom-tab-min-width, var(--gi-admin-tab-min-width, 96px));
  --gi-tab-min-height: var(--gi-custom-tab-min-height, var(--gi-admin-tab-min-height, 28px));
  --gi-tab-padding-y: var(--gi-custom-tab-padding-y, var(--gi-admin-tab-padding-y, 6px));
  --gi-tab-padding-x: var(--gi-custom-tab-padding-x, var(--gi-admin-tab-padding-x, 12px));
  --gi-tab-font-size: var(--gi-custom-tab-font-size, var(--gi-admin-tab-font-size, 12px));
  --gi-tab-font-weight: var(--gi-custom-tab-font-weight, 600);
  --gi-tab-active-font-weight: var(--gi-custom-tab-active-font-weight, 700);

  --gi-image-aspect-ratio: var(--gi-custom-image-aspect-ratio, var(--gi-admin-image-aspect-ratio, 7 / 10));
  --gi-image-margin-bottom: var(--gi-custom-image-margin-bottom, var(--gi-admin-image-margin-bottom, 16px));
  --gi-mask-arch-depth: var(--gi-custom-mask-arch-depth, var(--gi-admin-mask-arch-depth, 36%));

  --gi-name-font-size: var(--gi-custom-name-font-size, var(--gi-admin-name-font-size, 14px));
  --gi-name-font-weight: var(--gi-custom-name-font-weight, 500);
  --gi-name-line-height: var(--gi-custom-name-line-height, var(--gi-admin-name-line-height, 1.6));
  --gi-name-side-padding: var(--gi-custom-name-side-padding, var(--gi-admin-name-side-padding, 10px));
  --gi-name-margin-bottom: var(--gi-custom-name-margin-bottom, var(--gi-admin-name-margin-bottom, 10px));
  --gi-name-two-line-height: calc(var(--gi-name-line-height) * 2em);

  --gi-price-font-size: var(--gi-custom-price-font-size, var(--gi-admin-price-font-size, 17px));
  --gi-price-font-weight: var(--gi-custom-price-font-weight, 500);
  --gi-price-line-height: var(--gi-custom-price-line-height, 1.35);
  --gi-price-letter-spacing: var(--gi-custom-price-letter-spacing, .04em);
  --gi-price-margin-bottom: var(--gi-custom-price-margin-bottom, var(--gi-admin-price-margin-bottom, 8px));

  --gi-wishlist-font-size: var(--gi-custom-wishlist-font-size, var(--gi-admin-wishlist-font-size, 11px));
  --gi-wishlist-icon-size: var(--gi-custom-wishlist-icon-size, var(--gi-admin-wishlist-icon-size, 13px));
  --gi-wishlist-symbol-size: var(--gi-custom-wishlist-symbol-size, var(--gi-admin-wishlist-symbol-size, 13px));
  --gi-wishlist-gap: var(--gi-custom-wishlist-gap, 2px);
  --gi-wishlist-row-height: var(--gi-custom-wishlist-row-height, 16px);
  --gi-wishlist-margin-bottom: var(--gi-custom-wishlist-margin-bottom, var(--gi-admin-wishlist-margin-bottom, 10px));

  --gi-cart-font-size: var(--gi-custom-cart-font-size, var(--gi-admin-cart-font-size, 12px));
  --gi-cart-font-weight: var(--gi-custom-cart-font-weight, 600);
  --gi-cart-icon-size: var(--gi-custom-cart-icon-size, var(--gi-admin-cart-icon-size, 13px));
  --gi-button-height: var(--gi-custom-button-height, var(--gi-admin-button-height, 28px));
  --gi-button-side-gap: var(--gi-custom-button-side-gap, var(--gi-admin-button-side-gap, 34px));
  --gi-button-padding-x: var(--gi-custom-button-padding-x, 12px);
  --gi-button-max-width: var(--gi-custom-button-max-width, var(--gi-admin-button-max-width, 156px));
}

/* Fallback; the same critical rule is also injected inline in <head> before this file loads. */
.module-products-382:not(.gi-product-layout-ready) {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.module-products-382.gi-product-layout-ready {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}


/* Section heading: stricter reference look */
:is(.gi-product-reference-layout, .module-products-382) .module-title,
:is(.gi-product-reference-layout, .module-products-382) .box-heading,
:is(.gi-product-reference-layout, .module-products-382) .section-title,
:is(.gi-product-reference-layout, .module-products-382) .block-title,
:is(.gi-product-reference-layout, .module-products-382) .title {
  position: relative;
  color: var(--gi-section-title-color) !important;
  font-family: "Noto Serif TC", "Noto Serif CJK TC", serif !important;
  font-size: var(--gi-section-title-font-size) !important;
  font-weight: var(--gi-section-title-font-weight) !important;
}

:is(.gi-product-reference-layout, .module-products-382) .module-title::after,
:is(.gi-product-reference-layout, .module-products-382) .box-heading::after,
:is(.gi-product-reference-layout, .module-products-382) .section-title::after,
:is(.gi-product-reference-layout, .module-products-382) .block-title::after,
:is(.gi-product-reference-layout, .module-products-382) .title::after {
  width: var(--gi-section-title-line-width) !important;
  height: var(--gi-section-title-line-height) !important;
  background: var(--gi-section-title-line-color) !important;
}

:is(.gi-product-reference-layout, .module-products-382) .module-subtitle,
:is(.gi-product-reference-layout, .module-products-382) .section-subtitle,
:is(.gi-product-reference-layout, .module-products-382) .block-subtitle,
:is(.gi-product-reference-layout, .module-products-382) .module-description,
:is(.gi-product-reference-layout, .module-products-382) .section-description,
:is(.gi-product-reference-layout, .module-products-382) .block-description,
:is(.gi-product-reference-layout, .module-products-382) .title + p,
:is(.gi-product-reference-layout, .module-products-382) .module-title + p {
  margin-top: var(--gi-section-subtitle-margin-top) !important;
  color: var(--gi-section-subtitle-color) !important;
  font-size: var(--gi-section-subtitle-font-size) !important;
  font-weight: var(--gi-section-subtitle-font-weight) !important;
}

/* Tabs */
:is(.gi-product-reference-layout, .module-products-382) .tab-container {
  margin: 0 0 var(--gi-tab-margin-bottom) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

:is(.gi-product-reference-layout, .module-products-382) .tab-container > .nav-tabs,
:is(.gi-product-reference-layout, .module-products-382) .module-body > .tab-container > .nav-tabs,
:is(.gi-product-reference-layout, .module-products-382) .nav-tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: center;
  gap: var(--gi-tab-gap);
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  list-style: none !important;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

:is(.gi-product-reference-layout, .module-products-382) .nav-tabs::-webkit-scrollbar {
  display: none;
}

:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li,
:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li.active {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  position: relative;
}

:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li::before,
:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li::after,
:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li > a::before,
:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li > a::after {
  content: none !important;
  display: none !important;
}

:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: var(--gi-tab-min-width);
  min-height: var(--gi-tab-min-height);
  padding: var(--gi-tab-padding-y) var(--gi-tab-padding-x) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--gi-tab-idle-bg) !important;
  color: var(--gi-tab-idle-color) !important;
  font-size: var(--gi-tab-font-size);
  font-weight: var(--gi-tab-font-weight);
  line-height: 1.2;
  letter-spacing: 0;
  white-space: nowrap;
  text-align: center;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: none !important;
  transition: background-color .18s ease, color .18s ease;
}

:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li.active > a,
:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li > a.active,
:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li > a[aria-selected="true"],
:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li > a:hover,
:is(.gi-product-reference-layout, .module-products-382) .nav-tabs > li > a:focus {
  background: var(--gi-tab-active-bg) !important;
  color: var(--gi-tab-active-color) !important;
  font-weight: var(--gi-tab-active-font-weight);
}

:is(.gi-product-reference-layout, .module-products-382) .tab-content,
:is(.gi-product-reference-layout, .module-products-382) .tab-container .tab-content {
  margin-top: var(--gi-tab-content-gap) !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* Card foundation */
:is(.gi-product-reference-layout, .module-products-382) .product-grid,
:is(.gi-product-reference-layout, .module-products-382) .swiper-wrapper {
  align-items: stretch;
}

:is(.gi-product-reference-layout, .module-products-382) .product-layout {
  height: auto !important;
}

:is(.gi-product-reference-layout, .module-products-382) .product-thumb {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Image: Journal image setting should be 400 x 500, Fit */
:is(.gi-product-reference-layout, .module-products-382) .product-thumb > .image {
  position: relative !important;
  flex: 0 0 auto;
  aspect-ratio: var(--gi-image-aspect-ratio);
  width: 100% !important;
  margin: 0 0 var(--gi-image-margin-bottom) !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--gi-image-bg);
  border-radius: 0 !important;
  transform: none !important;
}

/* Reference mask: smooth single arch with straight opposite edge. */
:is(.gi-product-reference-layout, .module-products-382) .product-layout.gi-card-shape-a .product-thumb > .image {
  clip-path: none !important;
  border-radius: 50% 50% 0 0 / var(--gi-mask-arch-depth) var(--gi-mask-arch-depth) 0 0 !important;
}

:is(.gi-product-reference-layout, .module-products-382) .product-layout.gi-card-shape-b .product-thumb > .image {
  clip-path: none !important;
  border-radius: 0 0 50% 50% / 0 0 var(--gi-mask-arch-depth) var(--gi-mask-arch-depth) !important;
}

:is(.gi-product-reference-layout, .module-products-382) .product-thumb > .image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center;
}

/* Caption flow */
:is(.gi-product-reference-layout, .module-products-382) .product-thumb > .caption {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: 0 !important;
  text-align: center;
}

:is(.gi-product-reference-layout, .module-products-382) .caption .name {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: var(--gi-name-two-line-height) !important;
  min-height: var(--gi-name-two-line-height) !important;
  max-height: var(--gi-name-two-line-height) !important;
  margin: 0 0 var(--gi-name-margin-bottom) !important;
  padding: 0 var(--gi-name-side-padding) !important;
  overflow: hidden !important;
  transform: none !important;
}

:is(.gi-product-reference-layout, .module-products-382) .caption .name a {
  display: -webkit-box !important;
  height: var(--gi-name-two-line-height) !important;
  min-height: var(--gi-name-two-line-height) !important;
  max-height: var(--gi-name-two-line-height) !important;
  overflow: hidden !important;
  color: var(--gi-name-color) !important;
  font-family: "Noto Serif TC", "Noto Serif CJK TC", serif !important;
  font-size: var(--gi-name-font-size);
  font-weight: var(--gi-name-font-weight);
  line-height: var(--gi-name-line-height) !important;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2;
}

:is(.gi-product-reference-layout, .module-products-382) .caption .description,
:is(.gi-product-reference-layout, .module-products-382) .caption .rating.no-rating,
:is(.gi-product-reference-layout, .module-products-382) .caption .rating:empty,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper .stepper,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper .compare-btn,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper [data-tooltip*="Compare"] {
  display: none !important;
}

:is(.gi-product-reference-layout, .module-products-382) .caption .price {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  min-height: 1.5em;
  margin: 0 0 var(--gi-price-margin-bottom) !important;
  padding: 0 !important;
  color: var(--gi-price-color) !important;
  font-family: "Noto Serif TC", "Noto Serif CJK TC", serif !important;
  font-size: var(--gi-price-font-size);
  font-weight: var(--gi-price-font-weight);
  line-height: var(--gi-price-line-height);
  letter-spacing: var(--gi-price-letter-spacing);
  text-align: center;
  transform: none !important;
}

:is(.gi-product-reference-layout, .module-products-382) .caption .price-new {
  color: var(--gi-price-color) !important;
}

:is(.gi-product-reference-layout, .module-products-382) .caption .price-old {
  margin-right: 6px;
  color: #777 !important;
}

/* Actions: move wishlist and cart into caption flow for exact reference layout. */
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper {
  position: static !important;
  inset: auto !important;
  display: contents !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row {
  order: 3;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: var(--gi-wishlist-gap);
  width: 100%;
  min-height: var(--gi-wishlist-row-height);
  margin: 0 0 var(--gi-wishlist-margin-bottom) !important;
  text-align: center;
}

:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row {
  order: 4;
  width: 100%;
  margin-top: auto;
  text-align: center;
}

:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper .wishlist-btn,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper .btn-wishlist,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper [data-action="wishlist"],
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper .button-wishlist,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row .wishlist-btn,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row .btn-wishlist,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row [data-action="wishlist"],
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row .button-wishlist {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #4e4e4e !important;
  font-family: "Noto Serif TC", "Noto Serif CJK TC", serif !important;
  font-size: var(--gi-wishlist-font-size) !important;
  line-height: 1.2;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row .gi-wishlist-label {
  margin-right: 0;
  font-size: var(--gi-wishlist-font-size);
}

:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row .wishlist-btn.gi-is-wished,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row [data-action="wishlist"].gi-is-wished,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row .button-wishlist.gi-is-wished {
  color: #b3262e !important;
}

:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper .cart-btn,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper .btn-cart,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper [data-action="cart"],
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper .button-cart,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .cart-btn,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .btn-cart,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row [data-action="cart"],
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .button-cart {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: min(calc(100% - var(--gi-button-side-gap)), var(--gi-button-max-width)) !important;
  min-width: 0 !important;
  height: var(--gi-button-height) !important;
  margin: 0 auto !important;
  padding: 0 var(--gi-button-padding-x) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--gi-cart-bg) !important;
  color: var(--gi-cart-color) !important;
  font-family: "Noto Serif TC", "Noto Serif CJK TC", serif !important;
  font-size: var(--gi-cart-font-size) !important;
  font-weight: var(--gi-custom-cart-font-weight, 500) !important;
  line-height: 1;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Default is black; blue is reserved for hover, keyboard focus and pressed/active state. */
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .cart-btn:hover,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .btn-cart:hover,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row [data-action="cart"]:hover,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .button-cart:hover,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .cart-btn:focus,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .btn-cart:focus,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row [data-action="cart"]:focus,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .button-cart:focus,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .cart-btn:focus-visible,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .btn-cart:focus-visible,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row [data-action="cart"]:focus-visible,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .button-cart:focus-visible,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .cart-btn:active,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .btn-cart:active,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row [data-action="cart"]:active,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .button-cart:active,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .cart-btn.active,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .btn-cart.active,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row [data-action="cart"].active,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row .button-cart.active {
  background: var(--gi-cart-hover-bg) !important;
  color: var(--gi-cart-color) !important;
}

:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper .wishlist-btn .button-text,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper .btn-wishlist .button-text,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper [data-action="wishlist"] .button-text,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper .button-wishlist .button-text,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row .button-text {
  display: none !important;
}

:is(.gi-product-reference-layout, .module-products-382) .caption,
:is(.gi-product-reference-layout, .module-products-382) .caption .name,
:is(.gi-product-reference-layout, .module-products-382) .caption .price,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row,
:is(.gi-product-reference-layout, .module-products-382) .gi-cart-row {
  float: none !important;
}

/* Original Journal action container is hidden after controls are moved. */
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper.gi-actions-extracted,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper.gi-actions-extracted::before,
:is(.gi-product-reference-layout, .module-products-382) .buttons-wrapper.gi-actions-extracted::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Restore the wishlist heart independently of Journal's icon colors. */
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row i,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row svg,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row .icon {
  display: inline-block !important;
  width: var(--gi-wishlist-icon-size) !important;
  height: var(--gi-wishlist-icon-size) !important;
  margin-left: 2px !important;
  color: #4e4e4e !important;
  fill: none !important;
  stroke: currentColor !important;
  opacity: 1 !important;
  visibility: visible !important;
}

:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row .btn-wishlist::after,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row .wishlist-btn::after,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row [data-action="wishlist"]::after,
:is(.gi-product-reference-layout, .module-products-382) .gi-wishlist-row .button-wishlist::after {
  content: "♡" !important;
  display: inline-block !important;
  margin-left: 2px;
  color: currentColor;
  font-family: "Noto Serif TC", serif;
  font-size: var(--gi-wishlist-symbol-size);
  line-height: 1;
}

@media (max-width: 1199px) {
  :is(.gi-product-reference-layout, .module-products-382) {
    --gi-tab-margin-bottom: var(--gi-custom-tablet-tab-margin-bottom, var(--gi-custom-tab-margin-bottom, var(--gi-admin-tab-margin-bottom, 22px)));
    --gi-tab-gap: var(--gi-custom-tablet-tab-gap, var(--gi-custom-tab-gap, var(--gi-admin-tab-gap, 9px)));
    --gi-tab-content-gap: var(--gi-custom-tablet-tab-content-gap, var(--gi-custom-tab-content-gap, var(--gi-admin-tab-content-gap, 18px)));
    --gi-tab-min-width: var(--gi-custom-tablet-tab-min-width, var(--gi-custom-tab-min-width, var(--gi-admin-tab-min-width, 92px)));
    --gi-tab-min-height: var(--gi-custom-tablet-tab-min-height, var(--gi-custom-tab-min-height, var(--gi-admin-tab-min-height, 28px)));
    --gi-tab-padding-y: var(--gi-custom-tablet-tab-padding-y, var(--gi-custom-tab-padding-y, var(--gi-admin-tab-padding-y, 6px)));
    --gi-tab-padding-x: var(--gi-custom-tablet-tab-padding-x, var(--gi-custom-tab-padding-x, var(--gi-admin-tab-padding-x, 11px)));
    --gi-tab-font-size: var(--gi-custom-tablet-tab-font-size, var(--gi-custom-tab-font-size, var(--gi-admin-tab-font-size, 12px)));
    --gi-image-aspect-ratio: var(--gi-custom-tablet-image-aspect-ratio, var(--gi-custom-image-aspect-ratio, var(--gi-admin-image-aspect-ratio, 7 / 10)));
    --gi-image-margin-bottom: var(--gi-custom-tablet-image-margin-bottom, var(--gi-custom-image-margin-bottom, var(--gi-admin-image-margin-bottom, 14px)));
    --gi-mask-arch-depth: var(--gi-custom-tablet-mask-arch-depth, var(--gi-custom-mask-arch-depth, var(--gi-admin-mask-arch-depth, 35%)));
    --gi-name-font-size: var(--gi-custom-tablet-name-font-size, var(--gi-custom-name-font-size, var(--gi-admin-name-font-size, 14px)));
    --gi-name-line-height: var(--gi-custom-tablet-name-line-height, var(--gi-custom-name-line-height, var(--gi-admin-name-line-height, 1.58)));
    --gi-name-side-padding: var(--gi-custom-tablet-name-side-padding, var(--gi-custom-name-side-padding, var(--gi-admin-name-side-padding, 9px)));
    --gi-name-margin-bottom: var(--gi-custom-tablet-name-margin-bottom, var(--gi-custom-name-margin-bottom, var(--gi-admin-name-margin-bottom, 9px)));
    --gi-price-font-size: var(--gi-custom-tablet-price-font-size, var(--gi-custom-price-font-size, var(--gi-admin-price-font-size, 16px)));
    --gi-price-margin-bottom: var(--gi-custom-tablet-price-margin-bottom, var(--gi-custom-price-margin-bottom, var(--gi-admin-price-margin-bottom, 8px)));
    --gi-wishlist-font-size: var(--gi-custom-tablet-wishlist-font-size, var(--gi-custom-wishlist-font-size, var(--gi-admin-wishlist-font-size, 10px)));
    --gi-wishlist-icon-size: var(--gi-custom-tablet-wishlist-icon-size, var(--gi-custom-wishlist-icon-size, var(--gi-admin-wishlist-icon-size, 12px)));
    --gi-wishlist-symbol-size: var(--gi-custom-tablet-wishlist-symbol-size, var(--gi-custom-wishlist-symbol-size, var(--gi-admin-wishlist-symbol-size, 12px)));
    --gi-wishlist-margin-bottom: var(--gi-custom-tablet-wishlist-margin-bottom, var(--gi-custom-wishlist-margin-bottom, var(--gi-admin-wishlist-margin-bottom, 9px)));
    --gi-cart-font-size: var(--gi-custom-tablet-cart-font-size, var(--gi-custom-cart-font-size, var(--gi-admin-cart-font-size, 12px)));
    --gi-cart-icon-size: var(--gi-custom-tablet-cart-icon-size, var(--gi-custom-cart-icon-size, var(--gi-admin-cart-icon-size, 12px)));
    --gi-button-height: var(--gi-custom-tablet-button-height, var(--gi-custom-button-height, var(--gi-admin-button-height, 28px)));
    --gi-button-side-gap: var(--gi-custom-tablet-button-side-gap, var(--gi-custom-button-side-gap, var(--gi-admin-button-side-gap, 28px)));
    --gi-button-max-width: var(--gi-custom-tablet-button-max-width, var(--gi-custom-button-max-width, var(--gi-admin-button-max-width, 150px)));
  }
}

@media (max-width: 767px) {
  :is(.gi-product-reference-layout, .module-products-382) {
    --gi-tab-margin-bottom: var(--gi-custom-phone-tab-margin-bottom, var(--gi-custom-tab-margin-bottom, var(--gi-admin-tab-margin-bottom, 18px)));
    --gi-tab-gap: var(--gi-custom-phone-tab-gap, var(--gi-custom-tab-gap, var(--gi-admin-tab-gap, 8px)));
    --gi-tab-content-gap: var(--gi-custom-phone-tab-content-gap, var(--gi-custom-tab-content-gap, var(--gi-admin-tab-content-gap, 16px)));
    --gi-tab-min-width: var(--gi-custom-phone-tab-min-width, var(--gi-custom-tab-min-width, var(--gi-admin-tab-min-width, 88px)));
    --gi-tab-min-height: var(--gi-custom-phone-tab-min-height, var(--gi-custom-tab-min-height, var(--gi-admin-tab-min-height, 30px)));
    --gi-tab-padding-y: var(--gi-custom-phone-tab-padding-y, var(--gi-custom-tab-padding-y, var(--gi-admin-tab-padding-y, 6px)));
    --gi-tab-padding-x: var(--gi-custom-phone-tab-padding-x, var(--gi-custom-tab-padding-x, var(--gi-admin-tab-padding-x, 10px)));
    --gi-tab-font-size: var(--gi-custom-phone-tab-font-size, var(--gi-custom-tab-font-size, var(--gi-admin-tab-font-size, 12px)));
    --gi-image-aspect-ratio: var(--gi-custom-phone-image-aspect-ratio, var(--gi-custom-image-aspect-ratio, var(--gi-admin-image-aspect-ratio, 7 / 10)));
    --gi-image-margin-bottom: var(--gi-custom-phone-image-margin-bottom, var(--gi-custom-image-margin-bottom, var(--gi-admin-image-margin-bottom, 12px)));
    --gi-mask-arch-depth: var(--gi-custom-phone-mask-arch-depth, var(--gi-custom-mask-arch-depth, var(--gi-admin-mask-arch-depth, 34%)));
    --gi-name-font-size: var(--gi-custom-phone-name-font-size, var(--gi-custom-name-font-size, var(--gi-admin-name-font-size, 13px)));
    --gi-name-line-height: var(--gi-custom-phone-name-line-height, var(--gi-custom-name-line-height, var(--gi-admin-name-line-height, 1.55)));
    --gi-name-side-padding: var(--gi-custom-phone-name-side-padding, var(--gi-custom-name-side-padding, var(--gi-admin-name-side-padding, 8px)));
    --gi-name-margin-bottom: var(--gi-custom-phone-name-margin-bottom, var(--gi-custom-name-margin-bottom, var(--gi-admin-name-margin-bottom, 8px)));
    --gi-price-font-size: var(--gi-custom-phone-price-font-size, var(--gi-custom-price-font-size, var(--gi-admin-price-font-size, 15px)));
    --gi-price-margin-bottom: var(--gi-custom-phone-price-margin-bottom, var(--gi-custom-price-margin-bottom, var(--gi-admin-price-margin-bottom, 7px)));
    --gi-wishlist-font-size: var(--gi-custom-phone-wishlist-font-size, var(--gi-custom-wishlist-font-size, var(--gi-admin-wishlist-font-size, 10px)));
    --gi-wishlist-icon-size: var(--gi-custom-phone-wishlist-icon-size, var(--gi-custom-wishlist-icon-size, var(--gi-admin-wishlist-icon-size, 12px)));
    --gi-wishlist-symbol-size: var(--gi-custom-phone-wishlist-symbol-size, var(--gi-custom-wishlist-symbol-size, var(--gi-admin-wishlist-symbol-size, 12px)));
    --gi-wishlist-margin-bottom: var(--gi-custom-phone-wishlist-margin-bottom, var(--gi-custom-wishlist-margin-bottom, var(--gi-admin-wishlist-margin-bottom, 8px)));
    --gi-cart-font-size: var(--gi-custom-phone-cart-font-size, var(--gi-custom-cart-font-size, var(--gi-admin-cart-font-size, 11px)));
    --gi-cart-icon-size: var(--gi-custom-phone-cart-icon-size, var(--gi-custom-cart-icon-size, var(--gi-admin-cart-icon-size, 12px)));
    --gi-button-height: var(--gi-custom-phone-button-height, var(--gi-custom-button-height, var(--gi-admin-button-height, 26px)));
    --gi-button-side-gap: var(--gi-custom-phone-button-side-gap, var(--gi-custom-button-side-gap, var(--gi-admin-button-side-gap, 18px)));
    --gi-button-max-width: var(--gi-custom-phone-button-max-width, var(--gi-custom-button-max-width, var(--gi-admin-button-max-width, 140px)));
  }

  :is(.gi-product-reference-layout, .module-products-382) .nav-tabs {
    justify-content: flex-start !important;
  }
}
