/* One retail card for Home, Shop and related styles. */
body.home .xgp-home-picks > .xgp-home-wrap { width: min(calc(100% - 80px), 1800px); }
.xgp-home-picks .xgp-home-products { column-gap: 24px !important; row-gap: 39px !important; }
@media (min-width: 861px) and (max-width: 1180px) {
  body.home .xgp-home-picks > .xgp-home-wrap { width: calc(100% - 48px); }
  .xgp-home-picks .xgp-home-products { column-gap: 18px !important; }
}
@media (max-width: 860px) {
  body.home .xgp-home-picks > .xgp-home-wrap { width: calc(100% - 32px); }
  .xgp-home-picks .xgp-home-products { column-gap: 16px !important; row-gap: 28px !important; }
}
@media (max-width: 480px) {
  .xgp-home-picks .xgp-home-products { column-gap: 12px !important; row-gap: 26px !important; }
}
.xgp-retail-card.xgp-shop-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid #ffffff1c;
  border-radius: 14px;
  background: #191919;
  color: #f3f0e8;
  box-shadow: 0 6px 20px #00000018;
  font-family: "DM Sans", sans-serif;
}
.xgp-retail-card, .xgp-retail-card * { box-sizing: border-box; }
.xgp-retail-card .xgp-shop-card-media {
  position: relative;
  display: block;
  flex: 0 0 auto;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #fff;
  isolation: isolate;
  text-decoration: none;
}
.xgp-retail-card .xgp-shop-card-media .xgp-shop-product-image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
  object-fit: cover;
  object-position: center;
  transition: transform .25s ease;
}
.xgp-retail-card .xgp-shop-card-info {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-height: 0;
  padding: 15px 14px 16px;
}
.xgp-retail-card .xgp-shop-card-info h2 {
  width: 100%;
  margin: 0;
  color: #f2efe8;
  font: 550 15.5px/1.45 "DM Sans", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  letter-spacing: .005em;
  text-transform: none;
  text-wrap: pretty;
  word-break: normal;
  overflow-wrap: anywhere;
  max-width: none;
  text-align: left;
}
.xgp-retail-card .xgp-shop-card-info h2 a { display: block; width: 100%; max-width: none; color: inherit; text-decoration: none; }
.xgp-retail-card .xgp-shop-card-info h2 a:hover { color: #dfc28a; }
.xgp-retail-card .xgp-shop-price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: 9px; margin: 0; color: #e1c184; font: 650 20px/1.3 "DM Sans", sans-serif; }
.xgp-retail-card .xgp-shop-price del { color: #a09a90; font-size: 16px; font-weight: 400; opacity: 1; }
.xgp-retail-card .xgp-shop-price ins { order: -1; color: inherit; text-decoration: none; background: transparent; }
.xgp-retail-card .xgp-shop-price .woocommerce-price-suffix { color: #aaa195; font-size: 11px; }
.xgp-retail-card .xgp-shop-badge { position: absolute; top: 12px; left: 12px; padding: 5px 8px; border-radius: 4px; background: #1b1b1be8; color: #fff; font: 600 10px/1.4 "DM Sans", sans-serif; }
.xgp-retail-card .xgp-shop-badge--sale { background: #c7a35b; color: #211a0e; }
.xgp-retail-card .xgp-card-colors { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; margin-top: auto; padding-top: 12px; border-top: 1px solid #ffffff10; }
.xgp-retail-card .xgp-card-color {
  appearance: none;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 2px;
  margin: 0;
  border: 1px solid #ffffff2d;
  border-radius: 7px;
  background: #fff;
  box-shadow: none;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.xgp-retail-card .xgp-card-color img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 4px; margin: 0; padding: 0; }
.xgp-retail-card .xgp-card-color.is-selected { border-color: #d5b374; box-shadow: 0 0 0 2px #d5b374; }
.xgp-retail-card .xgp-card-color.is-loading { border-color: #d5b374; }
.xgp-retail-card a:focus-visible, .xgp-retail-card button:focus-visible { outline: 2px solid #e3bd78; outline-offset: 3px; }
.xgp-retail-card .xgp-shop-card-media:focus-visible { outline-offset: -3px; }
.xgp-retail-card .xgp-card-color-status { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.xgp-product-rating { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; max-width: 100%; font: 400 11px/1.45 "DM Sans", sans-serif; color: #f1e8d7; }
.xgp-product-rating strong { font: 650 12px/1.4 "DM Sans", sans-serif; color: #e4cb99; }
.xgp-product-rating .xgp-rating-note { color: #a49f95; font-size: 10px; }
.xgp-product-rating .xgp-rating-stars { position: relative; display: inline-block; flex: 0 0 auto; color: #ffffff2e; font: 14px/1.2 Arial, sans-serif; letter-spacing: 1px; white-space: nowrap; }
.xgp-product-rating .xgp-rating-stars > span { position: absolute; inset: 0 auto 0 0; overflow: hidden; color: #cba96a; white-space: nowrap; }
.xgp-retail-card .xgp-product-rating { justify-content: flex-start; gap: 6px; }
.xgp-retail-card .xgp-product-rating .xgp-rating-stars { font-size: 18px; letter-spacing: 0; }
.xgp-retail-card .xgp-product-rating strong { font-size: 13px; font-weight: 500; }
.xgp-retail-card .xgp-product-rating .xgp-rating-note { font-size: 12px; }
.xgp-retail-product-page .xgp-product-review-link { text-decoration: none; }
.xgp-retail-product-page .xgp-product-review-link .xgp-product-rating { gap: 8px; }
.xgp-retail-product-page .xgp-product-rating .xgp-rating-note { font-size: 11px; }
@media (hover: hover) and (pointer: fine) {
  .xgp-retail-card .xgp-shop-card-media:hover .xgp-shop-product-image { transform: scale(1.035); }
  .xgp-retail-card .xgp-card-color:hover { border-color: #d5b374; }
}
@media (max-width: 860px) {
  .xgp-retail-card.xgp-shop-card { border-radius: 10px; }
  .xgp-retail-card .xgp-shop-card-info { --xgp-card-title-inset: 12px; align-items: stretch; gap: 7px; padding: 14px var(--xgp-card-title-inset); text-align: left; }
  .xgp-retail-card .xgp-shop-card-info h2 { width: calc(100% - var(--xgp-card-title-inset)); padding: 0; font-size: 14px; line-height: 1.5; text-wrap: wrap; }
  .xgp-retail-card .xgp-shop-price { width: 100%; gap: 8px; font-size: 18px; }
  .xgp-retail-card .xgp-shop-price del { font-size: 14px; }
  .xgp-retail-card .xgp-card-color { width: 38px; height: 38px; }
  .xgp-retail-card .xgp-card-colors { gap: 8px; justify-content: center; padding-top: 11px; }
  .xgp-retail-card .xgp-product-rating { column-gap: 5px; row-gap: 3px; }
  .xgp-retail-card .xgp-product-rating .xgp-rating-stars { font-size: 16px; }
  .xgp-retail-card .xgp-product-rating strong { font-size: 12px; }
  .xgp-retail-card .xgp-product-rating .xgp-rating-note { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .xgp-retail-card .xgp-shop-card-media .xgp-shop-product-image, .xgp-retail-card .xgp-card-color { transition: none; }
}

@media(max-width:360px){
 .xgp-retail-card .xgp-shop-card-info { --xgp-card-title-inset:10px; padding-right:10px; padding-left:10px; }
 .xgp-retail-card .xgp-shop-price { font-size:17px; gap:6px; }
 .xgp-retail-card .xgp-shop-price del { font-size:13px; }
}
