/* square-cards-v1: shared square media, compact shelves and a continuous hero. */
.fx-home-retail {
  --fx-retail-paper: #fff;
  --fx-retail-stone: #f2f0ec;
  --fx-retail-ink: #252525;
  --fx-retail-muted: #73736e;
  --fx-retail-gutter: clamp(32px, 6.8vw, 104px);
  --fx-retail-serif: Georgia, "Times New Roman", serif;
  background: var(--fx-retail-paper);
  color: var(--fx-retail-ink);
}
.fx-home-retail .fx-retail-container { width: min(calc(100% - var(--fx-retail-gutter)), 1440px); margin-inline: auto; }
.fx-home-retail :is(section, [id]) { scroll-margin-top: calc(var(--fanxing-header-height, 74px) + var(--fanxing-admin-offset, 0px) + 16px); }
.fx-home-retail .fx-retail-eyebrow { font: 400 11px/1.5 var(--fanxing-sans); letter-spacing: .13em; }
.fx-home-retail .fx-retail-button { display: inline-flex; justify-content: center; align-items: center; gap: 18px; min-height: 42px; padding: 11px 22px; border: 1px solid #252525; background: #252525; color: #fff; font: 400 12px/1.5 var(--fanxing-sans); white-space: nowrap; }
.fx-home-retail .fx-retail-button:hover { background: #41413d; border-color: #41413d; color: #fff; }
.fx-home-retail .fx-retail-hero { position: relative; background: #fff; }
.fx-home-retail :is(.fx-retail-hero__viewport, .fx-retail-hero__slide, .fx-retail-hero__media) { background: #fff; }
.fx-home-retail .fx-retail-hero__viewport { position: relative; height: clamp(420px, 34vw, 530px); overflow: hidden; touch-action: pan-y; }
.fx-home-retail .fx-retail-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .35s ease, visibility .35s ease; }
.fx-home-retail .fx-retail-hero__slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.fx-home-retail .fx-retail-hero__layout { display: flex; align-items: center; height: 100%; min-height: 0; }
.fx-home-retail .fx-retail-hero__copy { position: relative; z-index: 1; width: 43%; padding: 28px 0 42px clamp(24px, 4vw, 60px); }
.fx-home-retail .fx-retail-hero__copy :is(h1, h2) { max-width: 460px; margin-block: 16px 18px; font: 400 clamp(40px, 4.2vw, 64px)/1.03 var(--fx-retail-serif); letter-spacing: -.04em; text-transform: none; }
.fx-home-retail .fx-retail-hero__description { max-width: 330px; margin-bottom: 24px; font: 400 14px/1.7 var(--fanxing-sans); }
.fx-home-retail .fx-retail-hero__media { position: absolute; inset: 0 0 0 43%; min-width: 0; min-height: 0; pointer-events: none; }
/* Preserve the complete suspension; blend the existing photo backdrop into the banner. */
.fx-home-retail .fx-retail-hero__media img { position: absolute; left: 50%; transform: translateX(-50%); display: block; width: auto; height: 100%; max-width: 100%; max-height: none; object-fit: contain; object-position: center; mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.fx-home-retail .fx-retail-hero__arrow { position: absolute; top: calc(50% - 22px); display: flex; justify-content: center; align-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #dcdcd7; border-radius: 50%; background: #fffffff0; color: #252525; box-shadow: none; font: 400 32px/1 var(--fanxing-sans); }
.fx-home-retail .fx-retail-hero__arrow:hover { background: #fff; color: #252525; }
.fx-home-retail .fx-retail-hero__arrow--previous { left: 20px; }
.fx-home-retail .fx-retail-hero__arrow--next { right: 20px; }
.fx-home-retail .fx-retail-hero__pagination { position: absolute; bottom: 9px; left: 50%; transform: translateX(-50%); display: flex; }
.fx-home-retail .fx-retail-hero__dot { display: flex; justify-content: center; align-items: center; width: 32px; height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #252525; box-shadow: none; }
.fx-home-retail .fx-retail-hero__dot::after { content: ""; width: 8px; height: 8px; border: 1px solid #34342e; border-radius: 50%; }
.fx-home-retail .fx-retail-hero__dot.is-active::after { background: #34342e; }
.fx-home-retail .fx-retail-hero__pause { position: absolute; bottom: 8px; right: 22px; min-height: 44px; padding: 2px 6px; border: 0; border-radius: 0; background: transparent; color: #55554e; box-shadow: none; font: 400 10px/1.4 var(--fanxing-sans); text-decoration: underline; text-underline-offset: 3px; }
.fx-home-retail .fx-retail-hero__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.fx-home-retail .fx-retail-shelf { padding-block: 28px 8px; }
.fx-home-retail .fx-retail-section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 20px; }
.fx-home-retail .fx-retail-section-heading h2 { position: relative; margin: 0; font: 400 clamp(26px, 2.35vw, 36px)/1.2 var(--fx-retail-serif); letter-spacing: -.035em; text-transform: none; }
.fx-home-retail .fx-retail-section-heading h2::after { content: ""; position: absolute; bottom: -8px; left: 0; width: 32px; height: 1px; background: #aaa59a; }
.fx-home-retail .fx-retail-section-heading > a { flex-shrink: 0; font: 400 12px/1.5 var(--fanxing-sans); }
.fx-home-retail .fx-retail-section-heading > a span { margin-left: 6px; }
.fx-home-retail .fx-retail-section-heading > a:hover { text-decoration: underline; text-underline-offset: 4px; }
.fx-home-retail .fx-retail-product-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; align-items: start; }
.fx-home-retail .fx-retail-card { min-width: 0; }
.fx-home-retail #best-sellers .fx-featured-display-card__body { padding-top: 9px; min-height: 45px; }
.fx-home-retail #new-arrivals .fx-featured-display-card__body { padding-top: 9px; min-height: 45px; }
.fx-home-retail #special-offers .fx-featured-display-card__body { padding-top: 9px; min-height: 45px; }
.fx-home-retail .fx-retail-card__image { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; background: var(--fx-retail-stone); }
.fx-home-retail .fx-retail-card__image img { display: block; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; border-radius: inherit; object-fit: cover; object-position: center; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .fx-home-retail .fx-retail-card__image img { transition: transform 300ms ease-out; }
  .fx-home-retail .fx-retail-card__image:hover img { transform: scale(1.025); }
}
.fx-home-retail .fx-retail-card--best-fx3004 img { object-position: center top; }
.fx-home-retail .fx-retail-card--best-fx3013 img { object-position: right center; }
.fx-home-retail .fx-retail-card--best-fx3014 img { object-position: center 32%; }
.fx-home-retail .fx-retail-card__image-missing { padding: 16px; color: var(--fx-retail-muted); font-size: 12px; text-align: center; }
.fx-home-retail .fx-retail-card__body { display: grid; grid-template-rows: 36px 16px minmax(44px, auto); row-gap: 2px; padding-top: 9px; }
.fx-home-retail .fx-retail-card__name { grid-row: 1; margin: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font: 400 13px/1.4 var(--fanxing-sans); letter-spacing: 0; overflow-wrap: anywhere; text-transform: none; }
.fx-home-retail .fx-retail-card__name a:hover { text-decoration: underline; text-underline-offset: 3px; }
.fx-home-retail .fx-retail-card__caption { grid-row: 2; margin: 0; color: var(--fx-retail-muted); font: 400 10px/1.5 var(--fanxing-sans); }
.fx-home-retail .fx-retail-card__bottom { grid-row: 3; display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; margin: 0; }
.fx-home-retail .fx-retail-card__price { min-width: 0; font: 500 14px/1.5 var(--fanxing-sans); }
.fx-home-retail .fx-retail-card__price > span:not(.woocommerce-Price-amount):not(.woocommerce-Price-currencySymbol) { color: var(--fx-retail-muted); font: 400 11px/1.5 var(--fanxing-sans); }
.fx-home-retail .fx-retail-card__price del { margin-right: 5px; color: var(--fx-retail-muted); font-size: 12px; }
.fx-home-retail .fx-retail-card__price ins { background: none; color: #ad2327; text-decoration: none; }
.fx-home-retail .fx-retail-card__bottom > .fx-retail-card__action:is(:link, :visited, :hover, :focus-visible) { display: flex; justify-content: center; align-items: center; flex: 0 0 24px; width: 24px; height: 24px; min-height: 24px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #333; font-size: 0; line-height: 1; text-decoration: none; }
.fx-home-retail .fx-retail-card__action::before { content: none; }
.fx-home-retail .fx-retail-card__action svg { display: block; width: 16px; height: 16px; fill: none; stroke: #333; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.fx-home-retail .fx-retail-card__sale { position: absolute; top: 8px; left: 8px; padding: 3px 7px; background: #b7212c; color: #fff; font: 600 10px/1.5 var(--fanxing-sans); letter-spacing: .03em; }
.fx-home-retail .fx-retail-shelf__notice { margin: 0; padding-block: 5px 10px; color: var(--fx-retail-muted); font: 400 12px/1.7 var(--fanxing-sans); }
.fx-home-retail .fx-retail-categories { padding-block: 32px 36px; }
.fx-home-retail .fx-retail-category-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.fx-home-retail .fx-retail-category { min-width: 0; background: #fff; color: #333; }
.fx-home-retail .fx-retail-category__image { display: block; aspect-ratio: 1 / 1; overflow: hidden; }
.fx-home-retail .fx-retail-category__image img { display: block; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; object-fit: contain; object-position: center; transition: transform .25s ease; }
.fx-home-retail .fx-retail-category:hover img { transform: scale(1.025); }


.fx-home-retail .fx-retail-category__name { display: block; min-height: 52px; margin-top: 10px; padding: 12px 0 0; border-top: 1px solid #d8d5cf; font: 400 19px/1.35 var(--fx-retail-serif); text-align: left; overflow-wrap: normal; word-break: normal; }
.fx-home-retail .fx-retail-category:hover .fx-retail-category__name { text-decoration: underline; text-underline-offset: 4px; }
.fx-home-retail .fx-designer-feature { padding-block: 0 32px; }
.fx-home-retail .fx-designer-feature__poster { margin: 0; }
.fx-home-retail .fx-designer-feature__poster img { display: block; width: 100%; height: auto; max-width: 100%; }
.fx-home-retail .fx-designer-feature__link { display: flex; align-items: center; justify-content: center; gap: 10px; width: fit-content; min-height: 44px; margin: 12px auto 0; color: #333; font: 400 12px/1.5 var(--fanxing-sans); }
.fx-home-retail .fx-designer-feature__link:hover { text-decoration: underline; text-underline-offset: 4px; }
.fx-home-retail .fx-retail-editorials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: #f4f3ef; }
.fx-home-retail .fx-retail-editorial { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 320px; }
.fx-home-retail .fx-retail-editorial__copy { align-self: center; padding: 28px clamp(24px, 3.2vw, 50px); }
.fx-home-retail .fx-retail-editorial__copy h2 { margin-bottom: 15px; font: 400 clamp(27px, 2.2vw, 36px)/1.05 var(--fx-retail-serif); letter-spacing: -.035em; text-transform: none; }
.fx-home-retail .fx-retail-editorial__copy > p:not(.fx-retail-eyebrow) { margin-bottom: 20px; color: #55554f; font: 400 12px/1.7 var(--fanxing-sans); }
.fx-home-retail .fx-retail-editorial__copy .fx-retail-eyebrow { margin-bottom: 12px; font-size: 9px; }
.fx-home-retail .fx-retail-editorial__image { position: relative; min-width: 0; min-height: 0; margin: 0; overflow: hidden; }
.fx-home-retail .fx-retail-editorial__image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; }
.fx-home-retail .fx-retail-editorial__link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font: 400 11px/1.5 var(--fanxing-sans); }
.fx-home-retail .fx-retail-editorial__link:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1199px) {
  .fx-home-retail .fx-retail-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .fx-home-retail .fx-retail-hero__copy { padding-left: 24px; }
  .fx-home-retail .fx-retail-editorials { grid-template-columns: 1fr; }
  .fx-home-retail .fx-retail-editorial { grid-template-columns: 1fr 1fr; }
  .fx-home-retail .fx-retail-editorial__copy { padding: 36px max(32px, calc(var(--fx-retail-gutter) / 2)); }
  .fx-home-retail .fx-retail-editorial__image { min-height: 320px; }
}
@media (max-width: 959px) {
  .fx-home-retail .fx-retail-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fx-home-retail .fx-retail-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fx-home-retail .fx-retail-hero__copy { padding-left: 20px; }
  .fx-home-retail .fx-retail-hero__copy { width: 47%; }
  .fx-home-retail .fx-retail-hero__copy :is(h1, h2) { font-size: 38px; }
  .fx-home-retail .fx-retail-hero__media { left: 47%; }
  .fx-home-retail .fx-retail-hero__arrow--previous { left: 8px; }
  .fx-home-retail .fx-retail-hero__arrow--next { right: 8px; }
}
@media (max-width: 639px) {
  .fx-home-retail .fx-retail-hero__viewport { height: clamp(300px, 78vw, 336px); }
  .fx-home-retail .fx-retail-hero__layout {
    display: grid !important;
    grid-template-areas: "copy media" !important;
    grid-template-columns: minmax(0, 54fr) minmax(0, 46fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 4px;
    height: calc(100% - 76px);
    min-height: 0 !important;
    flex-direction: row !important;
  }
  .fx-home-retail .fx-retail-hero__copy {
    position: relative !important;
    inset: auto !important;
    grid-area: copy !important;
    width: auto !important;
    min-width: 0;
    max-width: 100%;
    padding: 0 0 0 8px !important;
    align-self: center;
  }
  .fx-home-retail .fx-retail-hero__media {
    position: relative !important;
    inset: auto !important;
    grid-area: media !important;
    width: 100% !important;
    min-width: 0;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    align-self: center;
  }
  .fx-home-retail .fx-retail-hero__media img { top: 50%; left: 50%; width: auto; height: auto; max-width: 100%; max-height: 100%; transform: translate(-50%, -50%); object-fit: contain; mask-image: none; }
  .fx-home-retail .fx-retail-hero__copy .fx-retail-eyebrow { margin: 0; font-size: 8px; line-height: 1.3; }
  .fx-home-retail .fx-retail-hero__copy :is(h1, h2) { max-width: 100%; margin: 6px 0 7px; font-size: clamp(21px, 6.2vw, 27px); line-height: 1; overflow-wrap: normal; }
  .fx-home-retail .fx-retail-hero__description { margin: 0 0 9px; font-size: 11px; line-height: 1.35; }
  .fx-home-retail .fx-retail-hero__copy .fx-retail-button { min-height: 32px; max-width: 100%; padding: 6px 8px; gap: 5px; font-size: 9px; }
  .fx-home-retail .fx-retail-hero__arrow { top: auto; bottom: 4px; width: 36px; height: 36px; font-size: 28px; }
  .fx-home-retail .fx-retail-hero__arrow--previous { left: calc(50% - 98px); }
  .fx-home-retail .fx-retail-hero__arrow--next { right: calc(50% - 98px); }
  .fx-home-retail .fx-retail-hero__pagination { bottom: 2px; }
  .fx-home-retail .fx-retail-hero__dot { width: 28px; height: 36px; }
  .fx-home-retail .fx-retail-hero__pause { top: auto; right: auto; bottom: 44px; left: 50%; min-height: 36px; transform: translateX(-50%); font-size: 9px; }
  .fx-home-retail .fx-retail-product-grid { grid-template-columns: none; grid-template-rows: auto; grid-auto-flow: column; grid-auto-columns: calc((100% - 18px) / 4); gap: 20px 6px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
  .fx-home-retail .fx-retail-card { scroll-snap-align: start; }
  .fx-home-retail .fx-retail-shelf { padding-top: 28px; }
  .fx-home-retail .fx-retail-section-heading { margin-bottom: 21px; gap: 10px; }
  .fx-home-retail .fx-retail-section-heading h2 { font-size: 27px; }
  .fx-home-retail .fx-retail-section-heading > a { font-size: 10px; }
  .fx-home-retail .fx-retail-card__body { grid-template-rows: 30px 14px minmax(36px, auto); row-gap: 2px; padding-top: 6px; }
  .fx-home-retail .fx-retail-card__name { min-height: 0; font-size: 10px; line-height: 1.25; }
  .fx-home-retail .fx-retail-card__caption { font-size: 8px; }
  .fx-home-retail .fx-retail-card__bottom { gap: 4px; min-height: 36px; }
  .fx-home-retail .fx-retail-card__price { font-size: 9px; line-height: 1.2; overflow-wrap: anywhere; }
  .fx-home-retail .fx-retail-card__price del { margin-right: 2px; font-size: 8px; }
  .fx-home-retail .fx-retail-card__price > span:not(.woocommerce-Price-amount):not(.woocommerce-Price-currencySymbol) { font-size: 8px; overflow-wrap: anywhere; }
  .fx-home-retail .fx-retail-category-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px 12px; }
  .fx-home-retail .fx-retail-category { grid-column: span 2; }
  .fx-home-retail .fx-retail-category:nth-child(-n+2) { grid-column: span 3; }
  .fx-home-retail .fx-retail-category__name { font-size: 16px; min-height: 44px; padding-top: 9px; }
  .fx-home-retail .fx-retail-category:nth-child(n+3) .fx-retail-category__name { font-size: 14px; }
  .fx-home-retail .fx-retail-editorial { grid-template-columns: 1fr; }
  .fx-home-retail .fx-retail-editorial__copy { padding: 32px 24px; }
  .fx-home-retail .fx-retail-editorial__copy h2 { max-width: 280px; font-size: 32px; }
  .fx-home-retail .fx-retail-editorial__image { height: 260px; min-height: 0; }
  .fx-home-retail .fx-retail-editorial__copy > p:not(.fx-retail-eyebrow) { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .fx-home-retail :is(.fx-retail-hero__slide, .fx-retail-card__image img, .fx-retail-category__image img) { transition: none; } .fx-home-retail :is(.fx-retail-card__image:hover, .fx-retail-category:hover) img { transform: none; } }
