/*
Theme Name: Pet Lifecycle Showcase Child
Theme URI: https://example.com/
Description: GILIPET product showcase child theme. Preserves the original visual design without WooCommerce, carts, checkout, payments, orders, or customer accounts.
Author: OpenAI
Version: 3.8.129.117.44.97
Text Domain: pet-lifecycle-store
Template: astra
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* Main styles are loaded from assets/css/custom.css */


/* v3.7.30 — combination-price matrix feedback */
.plp-product-price-selection-note{min-height:22px}
.plp-product-two-tier-card--contact strong{text-transform:uppercase}

/* v3.8.129.117.5 — Sync latest Wholesale + Custom Products front-end sections into the existing GILIPET Visual Builder. */
/* v3.8.129.117.6 — Stabilize the native Builder page selector: Wholesale/Custom are native options, no proxy/rebuild loop. */

/* v3.8.129.117.8 — Prevent extra-page selector lock and MutationObserver/live-preview refresh loop. */

/* v3.8.129.117.11 — preserve Trust & Assurance textarea line breaks on the homepage and restore the primary navigation label to About Us. */

/* v3.8.129.117.12 — widen the desktop footer brand-philosophy text block from 190px to 250px. */

/* v3.8.129.117.13 — set footer response-note top margin to 20px. */

/* v3.8.129.117.16 — mobile Wholesale hero uses zero side margin and two compact CTA buttons on one row. */

/* v3.8.129.117.20 — Wholesale mobile hero typography and vertical spacing refinements. */

/* v3.8.129.117.21 — Wholesale mobile compact spacing, true 20px hero title, and two-column offer cards. */

/* v3.8.129.117.22 — refine Wholesale mobile section gaps and OEM Learn More flow. */

/* v3.8.129.117.23 — mobile Wholesale OEM grid margins and responsive 5:2 thumbs. */

/* v3.8.129.117.26 — product inquiry modal: collect visitor details before opening the product-specific or wholesale WhatsApp destination. */

/* v3.8.129.117.27 — only the Custom Keepsakes primary CTA opens the inquiry form; other product CTAs open WhatsApp directly with product name + URL. */

/* v3.8.129.117.28 — Contact page palette aligned with the homepage lilac/purple visual system. */

/* v3.8.129.117.31 — Trust & Assurance highlights use a ｜-separated four-item backend value, with legacy newline compatibility. */

/* v3.8.129.117.33 — Homepage policy links top padding set to 35px. */

/* v3.8.129.117.34 — storefront category labels now follow the live GILIPET taxonomy names; footer category links are generated dynamically. */

/* v3.8.129.117.35 — refine Trust cards and make Policy links visually clickable. */

/* v3.8.129.117.36 — mobile Trust & Assurance uses a 2 x 2 grid. */

/* v3.8.129.117.37 — shift only footer intro copy left; keep logo and other columns fixed. */

/* v3.8.129.117.43 — restore Policy top rule; content-sized centered policy links. */

/* v3.8.129.117.44 — force Policy links into one desktop row and thicken the top rule. */

/* v3.8.129.117.44.2 — based on .44; only change Policy button gap to 80px. */

/* v3.8.129.117.44.4 — unpublished product coming-soon page and disabled homepage banner CTA. */

/* v3.8.129.117.44.5 — blank homepage banner links now route to the generic Coming Soon page. */


/* GILIPET Wholesale redesign v1 */
.plp-wholesale-section-v2 .plp-wholesale-benefits-v2,
.plp-wholesale-section-v2 .plp-wholesale-mini-card-grid-v2 {
    background: transparent;
}
.plp-wholesale-section-v2 .plp-wholesale-mini-card-v2,
.plp-wholesale-section-v2 .plp-wholesale-oem-card-v2 {
    border: 0;
    box-shadow: none;
    background: transparent;
}
.plp-wholesale-section-v2 .plp-wholesale-mini-card-v2:hover,
.plp-wholesale-section-v2 .plp-wholesale-oem-card-v2:hover {
    transform: translateY(-3px);
}
.plp-wholesale-section-v2 h2 {
    letter-spacing: .02em;
}
.plp-wholesale-step-grid-v2 {
    position: relative;
}
.plp-wholesale-step-grid-v2 .plp-wholesale-step-v2 {
    border-radius: 0;
    border: 0;
    background: transparent;
}
.plp-wholesale-faq-grid-v2 details {
    border-radius: 0;
    background: transparent;
    border-left: 0;
    border-right: 0;
}
@media(max-width:768px){
 .plp-wholesale-step-grid-v2,
 .plp-wholesale-mini-grid-v2{
   grid-template-columns:1fr 1fr;
 }
}


/* GILIPET Wholesale reference override v5 - isolated layout */
.plp-wholesale-oem-ref,
.plp-wholesale-why-ref,
.plp-wholesale-process-ref,
.plp-wholesale-faq-cta-ref{box-sizing:border-box;width:100%;}
.plp-wholesale-oem-ref__grid{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:40px!important;align-items:center!important;}
.plp-wholesale-oem-ref__flow{display:flex!important;flex-direction:row!important;gap:24px!important;align-items:center!important;}
.plp-wholesale-oem-ref__item{display:flex!important;flex:1!important;gap:14px!important;align-items:flex-start!important;position:relative!important;}
.plp-wholesale-oem-ref__arrow{display:block!important;position:absolute!important;right:-18px!important;top:25px!important;}
.plp-wholesale-oem-ref__visual img{width:100%!important;height:220px!important;object-fit:cover!important;}
.plp-wholesale-why-ref__grid{display:grid!important;grid-template-columns:1.15fr 1fr .85fr!important;gap:35px!important;align-items:start!important;}
.plp-wholesale-why-ref__benefits{display:flex!important;flex-direction:column!important;gap:18px!important;}
.plp-wholesale-why-ref__benefit{display:flex!important;flex-direction:row!important;gap:15px!important;}
.plp-wholesale-why-ref__quote{display:block!important;}
.plp-wholesale-process-ref__timeline{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:25px!important;position:relative!important;}
.plp-wholesale-process-ref__timeline:before{content:'';display:block!important;position:absolute!important;left:30px;right:30px;top:28px;height:1px;background:#ead8ef;}
.plp-wholesale-process-ref__step{position:relative!important;z-index:1!important;}
.plp-wholesale-faq-cta-ref__grid{display:grid!important;grid-template-columns:.9fr 1.3fr .9fr!important;gap:30px!important;align-items:start!important;}
.plp-wholesale-faq-cta-ref__faq details{border:1px solid #eadfea!important;}
@media(max-width:1000px){
.plp-wholesale-oem-ref__grid,.plp-wholesale-why-ref__grid,.plp-wholesale-faq-cta-ref__grid,.plp-wholesale-process-ref__timeline{grid-template-columns:1fr!important;}
.plp-wholesale-oem-ref__flow{flex-direction:column!important;}
}

/* v3.8.129.117.44.6 — bump stylesheet version and enable reliable cache-busting for Wholesale CSS updates. */


/* v13 — Wholesale section vertical spacing */
body.plp-storefront .plp-wholesale-page-v2 section.plp-wholesale-section-v2.plp-wholesale-process-ref {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

body.plp-storefront .plp-wholesale-page-v2 section.plp-wholesale-section-v2.plp-wholesale-faq-cta-ref {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}


/* v14 — Center Wholesale CTA text and button */
body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-faq-cta-ref__cta {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-faq-cta-ref__cta > h2,
body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-faq-cta-ref__cta > p {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-faq-cta-ref__cta > .plp-button,
body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-faq-cta-ref__cta > a.plp-button {
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* v15 — Wholesale FAQ summary vertical padding */
body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-faq-cta-ref__faq summary {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}


/* v16 — Wholesale section vertical padding */
body.plp-storefront .plp-wholesale-page-v2 section.plp-wholesale-section-v2.plp-wholesale-offers-v2 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

body.plp-storefront .plp-wholesale-page-v2 section.plp-wholesale-section-v2.plp-wholesale-oem-ref {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}


/* v17 — remove Who We Work With letter badges */
body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-partner-grid-v2 article {
  grid-template-columns: minmax(0, 1fr) !important;
}
body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-partner-grid-v2 article > div {
  width: 100%;
}


/* v18 — Keep homepage service-strip sequence numbers on one line
   Fixes Chinese layout where 03 could wrap vertically as 0 / 3. */
body.plp-storefront .plp-service-strip .plp-service-grid > div > span,
body.home .plp-service-strip .plp-service-grid > div > span,
.plp-service-strip .plp-service-grid > div > span {
  flex: 0 0 auto !important;
  min-width: 28px !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}


/* v19 — Trust & assurance cards: no visible border until hover + numbered items */
body.plp-storefront .plp-home-trust-feature-card,
body.home .plp-home-trust-feature-card {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 14px !important;
  text-align: left !important;
  border-color: transparent !important;
}

body.plp-storefront .plp-home-trust-feature-card::before,
body.home .plp-home-trust-feature-card::before {
  opacity: 0 !important;
}

body.plp-storefront .plp-home-trust-feature-card:hover,
body.home .plp-home-trust-feature-card:hover {
  border-color: rgba(86, 32, 104, .38) !important;
}

body.plp-storefront .plp-home-trust-feature-card > .plp-home-trust-feature-index,
body.home .plp-home-trust-feature-card > .plp-home-trust-feature-index {
  position: relative !important;
  z-index: 1 !important;
  display: inline-block !important;
  min-width: 2.2em !important;
  color: #a066b0 !important;
  font-family: var(--plp-font-serif) !important;
  font-size: clamp(18px, 1.8vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body.plp-storefront .plp-home-trust-feature-card > .plp-home-trust-feature-text,
body.home .plp-home-trust-feature-card > .plp-home-trust-feature-text {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  color: var(--plp-ink) !important;
  font-family: var(--plp-font-serif) !important;
  font-size: clamp(16px, 1.75vw, 20px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
}


/* v20 — Home policy buttons: 350/150 reference geometry with proportional scaling.
   Reference width = 1350px = 350 + 150 + 350 + 150 + 350.
   Below 1350px the three buttons and two gaps scale proportionally. */
body.plp-storefront .plp-home-policy-links,
body.home .plp-home-policy-links {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: min(11.111111%, 150px) !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: 1350px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  align-items: stretch !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

body.plp-storefront .plp-home-policy-links a,
body.home .plp-home-policy-links a {
  display: inline-flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 350px !important;
  justify-self: stretch !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  body.plp-storefront .plp-home-policy-links,
  body.home .plp-home-policy-links {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 12px !important;
  }

  body.plp-storefront .plp-home-policy-links a,
  body.home .plp-home-policy-links a {
    max-width: none !important;
  }
}


/* v21 — Correct policy button reference width to 250px */
body.plp-storefront .plp-home-policy-links,
body.home .plp-home-policy-links {
  grid-template-columns: repeat(3, minmax(0, 250px)) !important;
  column-gap: min(150px, calc((100% - 750px) / 2)) !important;
  justify-content: center !important;
}

body.plp-storefront .plp-home-policy-links a,
body.home .plp-home-policy-links a {
  width: 250px !important;
  max-width: 100% !important;
  justify-self: center !important;
}

@media (max-width: 1050px) {
  body.plp-storefront .plp-home-policy-links,
  body.home .plp-home-policy-links {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: clamp(24px, 7vw, 150px) !important;
  }

  body.plp-storefront .plp-home-policy-links a,
  body.home .plp-home-policy-links a {
    width: 100% !important;
  }
}

@media (max-width: 760px) {
  body.plp-storefront .plp-home-policy-links,
  body.home .plp-home-policy-links {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.plp-storefront .plp-home-policy-links a,
  body.home .plp-home-policy-links a {
    width: min(100%, 250px) !important;
  }
}


/* v22 — Trust & Assurance number styling refinement */
body.plp-storefront .plp-home-trust-feature-card,
body.home .plp-home-trust-feature-card {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 20px !important;
  text-align: left !important;
}

body.plp-storefront .plp-home-trust-feature-card > .plp-home-trust-feature-index,
body.home .plp-home-trust-feature-card > .plp-home-trust-feature-index {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-width: 2.8em !important;
  margin-right: 0 !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  font-weight: 700 !important;
  font-style: italic !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  background: linear-gradient(135deg, #8f53a3 0%, #c98ad7 55%, #e9c8f1 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

body.plp-storefront .plp-home-trust-feature-card > .plp-home-trust-feature-text,
body.home .plp-home-trust-feature-card > .plp-home-trust-feature-text {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}


/* v24 — Wholesale partners section vertical padding */
body.plp-storefront .plp-wholesale-page-v2 section.plp-wholesale-section-v2.plp-wholesale-partners-v2 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}


/* v25 — Homepage Featured Collection + Trust & Assurance vertical padding */
body.plp-storefront #shop-all.plp-section,
body.home #shop-all.plp-section {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

body.plp-storefront #trust.plp-home-trust,
body.home #trust.plp-home-trust {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}


/* v26 — Force Trust & Assurance section vertical padding to 30px */
html body.plp-storefront section#trust.plp-home-trust,
html body.home section#trust.plp-home-trust,
section#trust.plp-home-trust {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}


/* v27 — Trust inner section spacing refinements */
/* Fig.1: policy-links top padding */
body.plp-storefront .plp-home-policy-links,
body.home .plp-home-policy-links {
  padding-top: 50px !important;
}

/* Fig.2: payment block bottom padding */
body.plp-storefront .plp-trust-block--payments,
body.home .plp-trust-block--payments {
  padding-bottom: 20px !important;
}


/* v28 — Homepage Featured Collection kicker-to-title spacing */
body.plp-storefront #shop-all .plp-featured-heading-copy > .plp-kicker,
body.home #shop-all .plp-featured-heading-copy > .plp-kicker {
  display: block !important;
  margin-bottom: 10px !important;
}


/* v29 — Homepage About Us + Categories kicker-to-h2 spacing */
body.plp-storefront .plp-about-copy > .plp-kicker,
body.home .plp-about-copy > .plp-kicker {
  display: block !important;
  margin-bottom: 10px !important;
}

body.plp-storefront .plp-category-section-heading .plp-kicker,
body.home .plp-category-section-heading .plp-kicker {
  display: block !important;
  margin-bottom: 10px !important;
}

/* Remove any competing top margin so the visible gap is exactly 10px. */
body.plp-storefront .plp-about-copy > .plp-kicker + h2,
body.home .plp-about-copy > .plp-kicker + h2,
body.plp-storefront .plp-category-section-heading .plp-kicker + h2,
body.home .plp-category-section-heading .plp-kicker + h2 {
  margin-top: 0 !important;
}


/* v30 — Trust & Assurance kicker top margin */
body.plp-storefront #trust .plp-home-trust-heading .plp-kicker,
body.home #trust .plp-home-trust-heading .plp-kicker {
  display: block !important;
  margin-top: 20px !important;
}


/* v32 — Wholesale partner copy + category cleanup */
body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-partner-grid-v2 p {
  font-size: 11px !important;
}


/* v33 — Wholesale page: all direct sections except Hero use 30px vertical padding */
body.plp-storefront .gsvb-page-root.gsvb-page-root--wholesale.plp-wholesale-page-v2 > section:not(.plp-wholesale-hero-v2),
body .gsvb-page-root.gsvb-page-root--wholesale.plp-wholesale-page-v2 > section:not(.plp-wholesale-hero-v2) {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}


/* v34 — Homepage category cards match the Wholesale "What We Offer" cards */
@media (min-width: 1201px) {
  body.plp-storefront #categories .plp-category-static-grid,
  body.home #categories .plp-category-static-grid,
  body.plp-storefront #categories .plp-category-page-grid,
  body.home #categories .plp-category-page-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

@media (min-width: 769px) and (max-width: 1200px) {
  body.plp-storefront #categories .plp-category-static-grid,
  body.home #categories .plp-category-static-grid,
  body.plp-storefront #categories .plp-category-page-grid,
  body.home #categories .plp-category-page-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 768px) {
  body.plp-storefront #categories .plp-category-static-grid,
  body.home #categories .plp-category-static-grid,
  body.plp-storefront #categories .plp-category-page-grid,
  body.home #categories .plp-category-page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

/* Card shell */
body.plp-storefront #categories .plp-category-card,
body.home #categories .plp-category-card {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(60, 10, 73, .12) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(61, 13, 75, .07) !important;
  color: #2b0934 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}

body.plp-storefront #categories .plp-category-card:hover,
body.home #categories .plp-category-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(94, 29, 105, .28) !important;
  box-shadow: 0 20px 48px rgba(61, 13, 75, .10) !important;
}

/* Wholesale reference has no sequence badge on category cards */
body.plp-storefront #categories .plp-category-number,
body.home #categories .plp-category-number {
  display: none !important;
}

/* Image geometry follows Wholesale cards */
body.plp-storefront #categories .plp-category-card.is-split-layout .plp-category-media,
body.home #categories .plp-category-card.is-split-layout .plp-category-media,
body.plp-storefront #categories .plp-category-media,
body.home #categories .plp-category-media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1.45 / 1 !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #fff, #f3e1f5) !important;
}

body.plp-storefront #categories .plp-category-media img,
body.home #categories .plp-category-media img,
body.plp-storefront #categories .plp-category-card.is-split-layout .plp-category-media img,
body.home #categories .plp-category-card.is-split-layout .plp-category-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Title area follows Wholesale cards */
body.plp-storefront #categories .plp-category-card.is-split-layout .plp-category-card-content,
body.home #categories .plp-category-card.is-split-layout .plp-category-card-content,
body.plp-storefront #categories .plp-category-card-content,
body.home #categories .plp-category-card-content {
  position: relative !important;
  display: flex !important;
  width: 100% !important;
  min-height: 62px !important;
  padding: 14px 14px 16px !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  text-align: center !important;
}

body.plp-storefront #categories .plp-category-card strong,
body.home #categories .plp-category-card strong {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  color: #2b0934 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  overflow: visible !important;
}

body.plp-storefront #categories .plp-category-card small,
body.home #categories .plp-category-card small {
  display: none !important;
}

@media (max-width: 768px) {
  body.plp-storefront #categories .plp-category-card,
  body.home #categories .plp-category-card {
    border-radius: 16px !important;
  }

  body.plp-storefront #categories .plp-category-card-content,
  body.home #categories .plp-category-card-content {
    min-height: 54px !important;
    padding: 11px 10px 12px !important;
  }

  body.plp-storefront #categories .plp-category-card strong,
  body.home #categories .plp-category-card strong {
    font-size: 14px !important;
  }
}


/* v35 — Homepage Categories use the exact Wholesale "What We Offer" card geometry */
body.plp-storefront #categories .plp-category-static-grid,
body.home #categories .plp-category-static-grid,
body.plp-storefront #categories .plp-category-page-grid,
body.home #categories .plp-category-page-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

/* Exact Wholesale card shell */
body.plp-storefront #categories .plp-category-card.plp-wholesale-offer-card-v2,
body.home #categories .plp-category-card.plp-wholesale-offer-card-v2 {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(155,107,67,.16) !important;
  border-radius: 22px !important;
  background: #fff !important;
  color: #2b0934 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(43,9,52,.045) !important;
  isolation: auto !important;
}

/* Exact Wholesale image frame: same ratio, same fill behavior */
body.plp-storefront #categories .plp-category-card .plp-category-media.plp-wholesale-offer-image-v2,
body.home #categories .plp-category-card .plp-category-media.plp-wholesale-offer-image-v2 {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1.45 / 1 !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #fff, #f3e1f5) !important;
  flex: none !important;
  place-items: initial !important;
}

body.plp-storefront #categories .plp-category-card .plp-category-media.plp-wholesale-offer-image-v2 img,
body.home #categories .plp-category-card .plp-category-media.plp-wholesale-offer-image-v2 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

/* Let the Wholesale strong element control the title height/padding exactly. */
body.plp-storefront #categories .plp-category-card .plp-category-card-content,
body.home #categories .plp-category-card .plp-category-card-content {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.plp-storefront #categories .plp-category-card.plp-wholesale-offer-card-v2 strong,
body.home #categories .plp-category-card.plp-wholesale-offer-card-v2 strong {
  display: block !important;
  min-height: 44px !important;
  padding: 14px 14px 4px !important;
  margin: 0 !important;
  color: #2b0934 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

body.plp-storefront #categories .plp-category-number,
body.home #categories .plp-category-number {
  display: none !important;
}

@media (max-width: 1200px) and (min-width: 769px) {
  body.plp-storefront #categories .plp-category-static-grid,
  body.home #categories .plp-category-static-grid,
  body.plp-storefront #categories .plp-category-page-grid,
  body.home #categories .plp-category-page-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 768px) {
  body.plp-storefront #categories .plp-category-static-grid,
  body.home #categories .plp-category-static-grid,
  body.plp-storefront #categories .plp-category-page-grid,
  body.home #categories .plp-category-page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.plp-storefront #categories .plp-category-card.plp-wholesale-offer-card-v2,
  body.home #categories .plp-category-card.plp-wholesale-offer-card-v2 {
    border-radius: 12px !important;
  }

  body.plp-storefront #categories .plp-category-card .plp-category-media.plp-wholesale-offer-image-v2,
  body.home #categories .plp-category-card .plp-category-media.plp-wholesale-offer-image-v2 {
    aspect-ratio: 1.35 / 1 !important;
  }

  body.plp-storefront #categories .plp-category-card.plp-wholesale-offer-card-v2 strong,
  body.home #categories .plp-category-card.plp-wholesale-offer-card-v2 strong {
    min-height: 0 !important;
    padding: 9px 8px 3px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
  }
}


/* v36 — Homepage Categories truly reuse Wholesale grid/card/image geometry.
   The homepage markup itself now uses .plp-wholesale-offer-grid-v2 and
   .plp-wholesale-offer-card-v2, so these rules only mirror the scoped
   Wholesale desktop/mobile overrides that otherwise require .plp-wholesale-page-v2. */
body.plp-storefront #categories .plp-home-category-wholesale-grid,
body.home #categories .plp-home-category-wholesale-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
}

body.plp-storefront #categories .plp-home-category-offer-card,
body.home #categories .plp-home-category-offer-card {
  min-width: 0 !important;
  border-radius: 22px !important;
}

/* Important: no custom homepage image size here.
   The image frame is exactly .plp-wholesale-offer-image-v2:
   aspect-ratio: 1.45 / 1; width/height 100%; object-fit: cover. */

body.plp-storefront #categories .plp-home-category-offer-card .plp-category-media-placeholder,
body.home #categories .plp-home-category-offer-card .plp-category-media-placeholder {
  display: grid !important;
  width: 100% !important;
  height: 100% !important;
  place-items: center !important;
}

body.plp-storefront #categories .plp-home-category-wholesale-carousel .plp-category-slide,
body.home #categories .plp-home-category-wholesale-carousel .plp-category-slide {
  width: 100% !important;
  flex: 0 0 100% !important;
}

@media (max-width: 768px) {
  body.plp-storefront #categories .plp-home-category-wholesale-grid,
  body.home #categories .plp-home-category-wholesale-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.plp-storefront #categories .plp-home-category-offer-card,
  body.home #categories .plp-home-category-offer-card {
    border-radius: 12px !important;
  }

  body.plp-storefront #categories .plp-home-category-offer-card .plp-wholesale-offer-image-v2,
  body.home #categories .plp-home-category-offer-card .plp-wholesale-offer-image-v2 {
    aspect-ratio: 1.35 / 1 !important;
  }

  body.plp-storefront #categories .plp-home-category-offer-card strong,
  body.home #categories .plp-home-category-offer-card strong {
    min-height: 0 !important;
    padding: 9px 8px 3px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
  }
}


/* v37 — Wholesale How It Works description text: 2px smaller */
body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-process-ref__step p {
  font-size: 14px !important;
}


/* v38 — Wholesale Why Partner description width */
body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-why-ref .plp-wholesale-ref-heading > p {
  width: min(800px, 100%) !important;
  max-width: 800px !important;
}


/* v39 — Wholesale How It Works description text */
body.plp-storefront .plp-wholesale-page-v2 .plp-wholesale-process-ref__step p {
  font-size: 10px !important;
}


/* v40 — Product detail "You May Also Like" on 13-inch/laptop screens:
   exact 220×220 product image frame, max 5 cards per row, max 2 rows/page. */
@media (min-width: 781px) and (max-width: 1440px) {
  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-page,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-page {
    display: grid !important;
    grid-template-columns: repeat(5, 220px) !important;
    grid-template-rows: repeat(2, auto) !important;
    grid-auto-rows: auto !important;
    justify-content: start !important;
    align-content: start !important;
    column-gap: 24px !important;
    row-gap: 24px !important;
  }

  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-card,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-card {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    flex: none !important;
  }

  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-image-wrap,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-image-wrap {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
    aspect-ratio: 1 / 1 !important;
  }

  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-image-wrap img,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-image-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}


/* v41 — Mobile product-detail "You May Also Like":
   3 cards per row, compact ~2:3 card proportion, images fully fill their frames. */
@media (max-width: 780px) {
  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-page,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-page {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
    justify-content: stretch !important;
    align-content: start !important;
    column-gap: 8px !important;
    row-gap: 10px !important;
    width: 100% !important;
  }

  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-card,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: auto !important;
    flex: none !important;
    overflow: hidden !important;
  }

  /* Keep the visual card close to a 2:3–3:4 overall proportion:
     square image + compact copy block. */
  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-image-wrap,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-image-wrap {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }

  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-image-wrap img,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-image-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-card h3,
  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-card .plp-same-category-strip-title,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-card h3,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-card .plp-same-category-strip-title {
    margin: 0 !important;
    padding: 7px 5px 2px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    min-height: 30px !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
  }

  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-sku,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-sku {
    margin: 2px 0 0 !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
  }

  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-price,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-price {
    margin: 3px 0 7px !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
  }

  body.single-gili_product .plp-product-stacked-section .plp-same-category-strip-price del,
  body.single-product .plp-product-stacked-section .plp-same-category-strip-price del {
    font-size: 9px !important;
  }
}


/* v42 — Fix desktop/tablet You May Also Like selector.
   The live recommendation strip is inside .plp-product-tab-panel--related,
   not .plp-product-stacked-section. */
@media (min-width: 781px) and (max-width: 1800px) {
  .plp-product-tab-panel--related .plp-same-category-strip-track {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    gap: 14px !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-page {
    display: grid !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    grid-template-columns: repeat(5, 220px) !important;
    grid-template-rows: repeat(2, auto) !important;
    grid-auto-rows: auto !important;
    column-gap: 8px !important;
    row-gap: 24px !important;
    justify-content: start !important;
    align-content: start !important;
    scroll-snap-align: start !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-card {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    flex: none !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-image-wrap {
    display: block !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-image-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }
}

/* Also point the mobile override at the actual related-products panel. */
@media (max-width: 780px) {
  .plp-product-tab-panel--related .plp-same-category-strip-page {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
    column-gap: 8px !important;
    row-gap: 10px !important;
    width: 100% !important;
    min-width: 100% !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-image-wrap {
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-image-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }
}


/* v43 — Related products: true responsive 5-column desktop page.
   At sufficient width each card/image reaches 220px. When the content area is
   narrower, all five columns shrink proportionally so the fifth card is never
   clipped. The product copy below the image is preserved. */
@media (min-width: 781px) and (max-width: 1800px) {
  .plp-product-tab-panel--related .plp-same-category-strip-viewport {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-track {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    gap: 14px !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-page {
    display: grid !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
    grid-template-columns: repeat(5, minmax(0, 220px)) !important;
    grid-template-rows: repeat(2, auto) !important;
    grid-auto-rows: auto !important;
    column-gap: 8px !important;
    row-gap: 24px !important;
    justify-content: space-between !important;
    align-content: start !important;
    scroll-snap-align: start !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 220px !important;
    flex: none !important;
    box-sizing: border-box !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-image-wrap {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 220px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-image-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }
}

/* v43 — Correct mobile typography selectors too. */
@media (max-width: 780px) {
  .plp-product-tab-panel--related .plp-same-category-strip-copy {
    min-height: 0 !important;
    padding: 7px 4px 6px !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-copy strong {
    font-size: 10px !important;
    line-height: 1.15 !important;
    min-height: 0 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-sku {
    margin-top: 2px !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-price {
    min-height: 0 !important;
    margin-top: 3px !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-price del {
    font-size: 9px !important;
  }
}


/* v44 — Related products desktop/laptop:
   13-inch reference = 210×210 image/card width, keep 8px column gap.
   Five columns remain on one row; below the reference width, columns shrink
   proportionally. Above it, cards stay capped at 210px and the row is centered. */
@media (min-width: 781px) and (max-width: 1800px) {
  .plp-product-tab-panel--related .plp-same-category-strip-page {
    grid-template-columns: repeat(5, minmax(0, 210px)) !important;
    column-gap: 8px !important;
    justify-content: center !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 210px !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-image-wrap {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 210px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-image-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}


/* v45 — Product detail "You May Also Like":
   13-inch reference size is the ENTIRE card = 210 × 210.
   Five cards per row, existing 8px column gap preserved.
   When the available width becomes smaller, the five square cards shrink
   proportionally instead of clipping the fifth card. */
@media (min-width: 781px) and (max-width: 1800px) {
  .plp-product-tab-panel--related .plp-same-category-strip-page {
    display: grid !important;
    width: 100% !important;
    min-width: 100% !important;
    grid-template-columns: repeat(5, minmax(0, 210px)) !important;
    grid-template-rows: repeat(2, auto) !important;
    grid-auto-rows: auto !important;
    column-gap: 8px !important;
    row-gap: 24px !important;
    justify-content: center !important;
    align-content: start !important;
    box-sizing: border-box !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 210px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-card > a {
    display: grid !important;
    grid-template-rows: minmax(0, 2fr) minmax(0, 1fr) !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* Image is only the upper ~2/3 of the 210px card, not 210px itself. */
  .plp-product-tab-panel--related .plp-same-category-strip-image-wrap {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-image-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-copy {
    display: grid !important;
    grid-template-rows: minmax(0, auto) auto auto !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 2px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 5px 5px 4px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-copy strong {
    display: -webkit-box !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    font-size: clamp(9px, 0.9vw, 12px) !important;
    line-height: 1.12 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    text-align: center !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-sku {
    margin: 0 !important;
    font-size: clamp(7px, 0.68vw, 9px) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-price {
    min-height: 0 !important;
    margin: 0 !important;
    font-size: clamp(9px, 0.86vw, 12px) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-price del {
    font-size: .9em !important;
  }
}


/* v46 — Fix related-card copy being hidden.
   Root cause: older, more-specific rules on
   body.single-product .plp-product-stacked-section forced the IMAGE WRAPPER
   itself to 220×220 !important. Since the whole card was then constrained to
   a square, the image consumed the card and the copy was clipped by overflow.
   These selectors intentionally have higher specificity than those legacy rules. */
@media (min-width: 781px) and (max-width: 1800px) {
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-page,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-page {
    display: grid !important;
    width: 100% !important;
    min-width: 100% !important;
    grid-template-columns: repeat(5, minmax(0, 210px)) !important;
    grid-template-rows: repeat(2, auto) !important;
    grid-auto-rows: auto !important;
    column-gap: 8px !important;
    row-gap: 24px !important;
    justify-content: center !important;
    align-content: start !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 210px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a {
    display: grid !important;
    grid-template-rows: 66% 34% !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* Image is now only the upper 66% of the whole square card. */
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap img,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  /* Copy gets the lower 34% and is kept fully inside the 210×210 card. */
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto auto !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 1px !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 4px 5px 4px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy strong,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy strong {
    display: -webkit-box !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--plp-ink) !important;
    font-size: clamp(9px, .82vw, 11px) !important;
    line-height: 1.08 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    text-align: center !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-sku,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-sku {
    display: block !important;
    margin: 0 !important;
    font-size: clamp(7px, .62vw, 8px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price,
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-price {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    font-size: clamp(9px, .78vw, 11px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-price del,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-price del,
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price del,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price del {
    font-size: .9em !important;
  }
}


/* v47 — Product detail "You May Also Like":
   whole desktop/laptop card reference size = 210 × 230.
   Width remains responsive; height follows the 21:23 card ratio. */
@media (min-width: 781px) and (max-width: 1800px) {
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 210px !important;
    height: auto !important;
    aspect-ratio: 21 / 23 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a {
    display: grid !important;
    grid-template-rows: 68% 32% !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap img,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}


/* v48 — Product detail "You May Also Like":
   keep whole card at 210×230 reference size;
   image area = 74%, product name + SKU + price area = 26%. */
@media (min-width: 781px) and (max-width: 1800px) {
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a {
    grid-template-rows: 74% 26% !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy {
    gap: 1px !important;
    padding: 3px 5px 3px !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy strong,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy strong {
    font-size: clamp(8px, .76vw, 10px) !important;
    line-height: 1.06 !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-sku,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-sku {
    font-size: clamp(6px, .58vw, 8px) !important;
    line-height: 1 !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price,
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-price {
    font-size: clamp(8px, .72vw, 10px) !important;
    line-height: 1 !important;
  }
}


/* v49 — Product detail "You May Also Like":
   image frame is always square (1:1). Keep the related card width capped at
   210px and let card height grow naturally so name / SKU / price remain visible. */
@media (min-width: 781px) and (max-width: 1800px) {
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 210px !important;
    height: auto !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap img,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy {
    height: auto !important;
    min-height: 0 !important;
    padding: 4px 5px 5px !important;
  }
}

/* Mobile related-product image frames are square too. */
@media (max-width: 780px) {
  .plp-product-tab-panel--related .plp-same-category-strip-image-wrap {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }
}


/* v50 — Product detail "You May Also Like":
   keep all desktop/laptop cards the same height.
   Image frame remains 1:1; copy block gets a fixed 64px height so
   one-line and two-line product names no longer change card height. */
@media (min-width: 781px) and (max-width: 1800px) {
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 210px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap {
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto auto !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 1px !important;
    flex: 0 0 64px !important;
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    padding: 4px 5px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy strong,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy strong {
    display: -webkit-box !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-height: 1.08 !important;
    text-align: center !important;
  }

  .plp-product-tab-panel--related .plp-same-category-strip-page {
    align-items: start !important;
  }
}


/* v51 — Related products paging/wrapping fix.
   Rule: items 1–5 = row 1, items 6–10 = row 2.
   Only item 11+ starts the next horizontal page.
   Five columns always fit the available viewport; cards cap at 210px. */
@media (min-width: 781px) and (max-width: 1800px) {
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-track,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-track {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    gap: 0 !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-page,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-page {
    display: grid !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;

    /* Crucial: flexible tracks, rather than five fixed 210px tracks. */
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, auto) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    column-gap: 8px !important;
    row-gap: 24px !important;

    justify-content: stretch !important;
    align-content: start !important;
    align-items: start !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card {
    width: min(100%, 210px) !important;
    min-width: 0 !important;
    max-width: 210px !important;
    justify-self: center !important;
    box-sizing: border-box !important;
  }

  /* With only 1–10 products there is no second horizontal page,
     so there should also be no desktop horizontal scrollbar. */
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-viewport.is-single-page,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-viewport.is-single-page {
    overflow-x: hidden !important;
    padding-bottom: 0 !important;
    scrollbar-width: none !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-viewport.is-single-page::-webkit-scrollbar,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-viewport.is-single-page::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-track.is-single-page,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-track.is-single-page {
    transform: none !important;
    width: 100% !important;
    min-width: 100% !important;
  }
}


/* v52 — Mobile fixes from live screenshots:
   1) Related-product cards equal height; sale/original prices stay on one row.
   2) Product Info table gets 5px side margins and 2px smaller type.
   3) Products archive LARGE-view images truly fill the square media frame. */
@media (max-width: 780px) {

  /* ----------------------------------------------------------------------
     Product detail > You May Also Like
     ---------------------------------------------------------------------- */
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-page,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-page {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    column-gap: 8px !important;
    row-gap: 10px !important;
    width: 100% !important;
    min-width: 100% !important;
    align-items: start !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* Equal square media frame on every related card. */
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap img,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-image-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  /* Fixed copy height prevents sale-price wrapping from making one card taller. */
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy {
    display: grid !important;
    grid-template-rows: 2.3em 1.05em 1.35em !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 2px !important;
    flex: 0 0 62px !important;
    width: 100% !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    padding: 4px 3px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy strong,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy strong {
    display: -webkit-box !important;
    width: 100% !important;
    height: 2.3em !important;
    min-height: 2.3em !important;
    margin: 0 !important;
    overflow: hidden !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    text-overflow: ellipsis !important;
    text-align: center !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-sku,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-sku {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 8px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: center !important;
  }

  /* Keep original + current price on one line and make both more compact. */
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price.plp-card-price-row,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price.plp-card-price-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 3px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-current-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-current-price {
    order: 2 !important;
    flex: 0 1 auto !important;
    font-size: 9px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-original-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-original-price {
    order: 1 !important;
    flex: 0 1 auto !important;
    margin: 0 !important;
    font-size: 8px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* ----------------------------------------------------------------------
     Product detail > Product Info table
     ---------------------------------------------------------------------- */
  body.single-product .plp-product-tab-panel--info .plp-flexible-table-wrap,
  body.single-gili_product .plp-product-tab-panel--info .plp-flexible-table-wrap,
  body.single-product .plp-product-tab-panel--info .plp-flexible-table-wrap--visual,
  body.single-gili_product .plp-product-tab-panel--info .plp-flexible-table-wrap--visual {
    width: calc(100% - 10px) !important;
    max-width: calc(100% - 10px) !important;
    margin-left: 5px !important;
    margin-right: 5px !important;
    box-sizing: border-box !important;
  }

  body.single-product .plp-product-tab-panel--info .plp-flexible-table,
  body.single-gili_product .plp-product-tab-panel--info .plp-flexible-table,
  body.single-product .plp-product-tab-panel--info .plp-flexible-table--visual,
  body.single-gili_product .plp-product-tab-panel--info .plp-flexible-table--visual {
    font-size: 10px !important;
    line-height: 1.28 !important;
  }

  body.single-product .plp-product-tab-panel--info .plp-flexible-table th,
  body.single-product .plp-product-tab-panel--info .plp-flexible-table td,
  body.single-gili_product .plp-product-tab-panel--info .plp-flexible-table th,
  body.single-gili_product .plp-product-tab-panel--info .plp-flexible-table td {
    font-size: inherit !important;
  }

  /* ----------------------------------------------------------------------
     Products / product-category archive, LARGE view
     ---------------------------------------------------------------------- */
  body.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap,
  body.plp-storefront .plp-shop-results ul.products.plp-products--large li.product .plp-loop-product-image-wrap {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap img,
  body.plp-storefront .plp-shop-results ul.products.plp-products--large li.product .plp-loop-product-image-wrap img,
  body.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product > a.woocommerce-LoopProduct-link > img,
  body.plp-storefront .plp-shop-results ul.products.plp-products--large li.product > a.woocommerce-LoopProduct-link > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }
}


/* v53 — Mobile related-card sale price auto-fit:
   keep original + current price on one line and scale type with card width. */
@media (max-width: 780px) {

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card {
    container-type: inline-size !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price.plp-card-price-row,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price.plp-card-price-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 2px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 1px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    letter-spacing: -0.01em !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-original-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-original-price {
    order: 1 !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: clamp(6px, 7cqw, 8px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    letter-spacing: -0.02em !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-current-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-current-price {
    order: 2 !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: clamp(7px, 8cqw, 9px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    letter-spacing: -0.015em !important;
  }
}


/* v54 — Mobile related-card sale price order:
   current price on the left, original price on the right;
   original price remains smaller than current price. */
@media (max-width: 780px) {

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price.plp-card-price-row,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price.plp-card-price-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 2px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-current-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-current-price {
    order: 1 !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: clamp(7px, 8cqw, 9px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    letter-spacing: -0.015em !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-original-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-original-price {
    order: 2 !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: clamp(6px, 6.5cqw, 7px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    letter-spacing: -0.02em !important;
  }
}


/* v55 — Mobile Product Info + related-card spacing
   1) Related card title / SKU / price vertical gaps tightened to ~3px.
   2) Product Info visual table uses 8px side margins, no internal scrollbars.
   3) A bottom-left underlined View all / 查看全部 button expands the table
      in normal document flow, so following sections move down instead of
      being covered. */
.plp-flexible-table-toggle {
  display: none;
}

@media (max-width: 780px) {

  /* ----------------------------------------------------------------------
     Product detail > You May Also Like
     Keep equal card copy heights, but remove the large internal row spacing.
     ---------------------------------------------------------------------- */
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card {
    aspect-ratio: auto !important;
    height: auto !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-card > a {
    height: auto !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    flex: 0 0 56px !important;
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 3px 3px 4px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy strong,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-copy strong {
    display: -webkit-box !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    margin: 0 !important;
    overflow: hidden !important;
    font-size: 9px !important;
    line-height: 11px !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    text-overflow: ellipsis !important;
    text-align: center !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-sku,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-sku {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    font-size: 8px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: center !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price.plp-card-price-row,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price.plp-card-price-row {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 1px !important;
    gap: 2px !important;
    line-height: 1 !important;
  }

  /* ----------------------------------------------------------------------
     Product Info visual table.
     The actual Info section has an id, not a --info class, so target it
     directly. This corrects the earlier selector that did not match.
     ---------------------------------------------------------------------- */
  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table-wrap--visual,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table-wrap--visual {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    height: 210px !important;
    max-height: 210px !important;
    margin: 0 8px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table-wrap--visual::-webkit-scrollbar,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table-wrap--visual::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table--visual,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table--visual {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    table-layout: fixed !important;
    font-size: 12px !important;
    line-height: 1.22 !important;
  }

  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table--visual th,
  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table--visual td,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table--visual th,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table--visual td {
    font-size: inherit !important;
    padding: 7px 5px !important;
    line-height: inherit !important;
    overflow-wrap: anywhere !important;
  }

  /* Expanded table participates in normal layout: no absolute positioning,
     no overlay, and the following section is pushed down naturally. */
  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table-wrap--visual.is-expanded,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table-wrap--visual.is-expanded {
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table-wrap--visual.is-expanded .plp-flexible-table--visual,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table-wrap--visual.is-expanded .plp-flexible-table--visual {
    height: auto !important;
    min-height: 0 !important;
  }

  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table-toggle,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table-toggle {
    display: inline-block !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    margin: 7px 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--plp-ink, #2b0934) !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    cursor: pointer !important;
  }

  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table-toggle:focus-visible,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table-toggle:focus-visible {
    outline: 2px solid rgba(112, 67, 123, .35) !important;
    outline-offset: 3px !important;
  }
}


/* v56 — Mobile homepage + Products archive card fixes
   1) Homepage featured-product images fill their image frame completely.
   2) Homepage and Products/archive sale prices: CURRENT price left,
      ORIGINAL price right, same line.
   3) Original price is smaller than current price. */
@media (max-width: 780px) {

  /* ----------------------------------------------------------------------
     Homepage > Featured Collection product cards
     ---------------------------------------------------------------------- */
  body.home.plp-storefront #shop-all .plp-product-card .plp-product-image,
  body.plp-storefront #shop-all .plp-product-card .plp-product-image {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.home.plp-storefront #shop-all .plp-product-card .plp-product-image img,
  body.plp-storefront #shop-all .plp-product-card .plp-product-image img {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    transform-origin: center center !important;
  }

  /* ----------------------------------------------------------------------
     Products / product-category archive card images
     Keep the image flush to the square media frame.
     ---------------------------------------------------------------------- */
  body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap,
  body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap,
  body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap,
  body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap img,
  body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap img,
  body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap img,
  body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap img {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    transform-origin: center center !important;
  }

  /* ----------------------------------------------------------------------
     Homepage + Products/archive price rows
     Current price LEFT, original price RIGHT.
     ---------------------------------------------------------------------- */
  body.plp-storefront #shop-all .plp-product-lowest-price.plp-card-price-row,
  body.post-type-archive-gili_product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price.plp-card-price-row,
  body.tax-gili_product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price.plp-card-price-row,
  body.post-type-archive-product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price.plp-card-price-row,
  body.tax-product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price.plp-card-price-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body.plp-storefront #shop-all .plp-product-lowest-price .plp-card-current-price,
  body.post-type-archive-gili_product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-current-price,
  body.tax-gili_product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-current-price,
  body.post-type-archive-product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-current-price,
  body.tax-product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-current-price {
    order: 1 !important;
    display: inline-block !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    letter-spacing: -0.01em !important;
  }

  body.plp-storefront #shop-all .plp-product-lowest-price .plp-card-original-price,
  body.post-type-archive-gili_product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-original-price,
  body.tax-gili_product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-original-price,
  body.post-type-archive-product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-original-price,
  body.tax-product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-original-price {
    order: 2 !important;
    display: inline-block !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #ee9a9a !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    letter-spacing: -0.02em !important;
    text-decoration: line-through !important;
    text-decoration-thickness: 1px !important;
    text-decoration-color: currentColor !important;
  }
}


/* v57 — Mobile Products/archive card sale-price sizing.
   Current price stays visually dominant; original price is clearly smaller. */
@media (max-width: 780px) {
  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products li.product
    .plp-showcase-card-lowest-price.plp-card-price-row
    .plp-card-current-price,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products li.product
    .plp-showcase-card-lowest-price.plp-card-price-row
    .plp-card-current-price,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products li.product
    .plp-showcase-card-lowest-price.plp-card-price-row
    .plp-card-current-price,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products li.product
    .plp-showcase-card-lowest-price.plp-card-price-row
    .plp-card-current-price {
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products li.product
    .plp-showcase-card-lowest-price.plp-card-price-row
    .plp-card-original-price,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products li.product
    .plp-showcase-card-lowest-price.plp-card-price-row
    .plp-card-original-price,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products li.product
    .plp-showcase-card-lowest-price.plp-card-price-row
    .plp-card-original-price,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products li.product
    .plp-showcase-card-lowest-price.plp-card-price-row
    .plp-card-original-price {
    font-size: 8px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }
}


/* v58 — Unified sale-price typography:
   homepage cards, Products/archive cards, and You May Also Like cards.
   Original price is always exactly 2px smaller than current price. */
@media (max-width: 780px) {

  /* Homepage + Products/archive: current 12px, original 10px. */
  body.plp-storefront #shop-all .plp-product-lowest-price.plp-card-price-row,
  body.post-type-archive-gili_product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price.plp-card-price-row,
  body.tax-gili_product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price.plp-card-price-row,
  body.post-type-archive-product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price.plp-card-price-row,
  body.tax-product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price.plp-card-price-row {
    --plp-current-price-size: 12px;
  }

  body.plp-storefront #shop-all .plp-product-lowest-price .plp-card-current-price,
  body.post-type-archive-gili_product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-current-price,
  body.tax-gili_product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-current-price,
  body.post-type-archive-product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-current-price,
  body.tax-product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-current-price {
    font-size: var(--plp-current-price-size) !important;
  }

  body.plp-storefront #shop-all .plp-product-lowest-price .plp-card-original-price,
  body.post-type-archive-gili_product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-original-price,
  body.tax-gili_product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-original-price,
  body.post-type-archive-product.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-original-price,
  body.tax-product_cat.plp-storefront .plp-shop-results .plp-showcase-card-lowest-price .plp-card-original-price {
    font-size: calc(var(--plp-current-price-size) - 2px) !important;
  }

  /* You May Also Like: keep responsive current price, original = current - 2px. */
  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price.plp-card-price-row,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-same-category-strip-lowest-price.plp-card-price-row {
    --plp-current-price-size: clamp(7px, 8cqw, 9px);
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-current-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-current-price {
    font-size: var(--plp-current-price-size) !important;
  }

  body.single-product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-original-price,
  body.single-gili_product .plp-product-stacked-section.plp-product-tab-panel--related .plp-card-original-price {
    font-size: calc(var(--plp-current-price-size) - 2px) !important;
  }
}


/* v66 — Storefront card refinements
   Homepage + Products/archive PRODUCT names are 2px smaller.
   Category-card titles and You May Also Like titles are unchanged. */
body.plp-storefront #shop-all .plp-product-title,
body.post-type-archive-gili_product .plp-shop-results ul.products li.product .woocommerce-loop-product__title,
body.tax-gili_product_cat .plp-shop-results ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product .plp-shop-results ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .plp-shop-results ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  line-height: 1.22 !important;
  min-height: calc(2 * 1.22em) !important;
}

@media (max-width: 780px) {
  body.plp-storefront #shop-all .plp-product-title,
  body.post-type-archive-gili_product .plp-shop-results ul.products li.product .woocommerce-loop-product__title,
  body.tax-gili_product_cat .plp-shop-results ul.products li.product .woocommerce-loop-product__title,
  body.post-type-archive-product .plp-shop-results ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat .plp-shop-results ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
    line-height: 1.2 !important;
    min-height: calc(2 * 1.2em) !important;
  }
}

/* v79 — Products archive pagination
   - exactly 20 products/page (up to 5 desktop rows at 4 columns)
   - pagination does not render at all when total products <= 20
   - horizontal controls, no list bullets
   - use the storefront sans font consistently; 15px on desktop and mobile */
body.plp-storefront .plp-shop-results .plp-shop-pagination {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  font-family: var(--plp-font-sans) !important;
}

body.plp-storefront .plp-shop-results .plp-shop-pagination::before,
body.plp-storefront .plp-shop-results .plp-shop-pagination::after {
  display: none !important;
  content: none !important;
}

body.plp-storefront .plp-shop-results .plp-shop-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #e5c9ea !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #3b063f !important;
  font-family: var(--plp-font-sans) !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

body.plp-storefront .plp-shop-results .plp-shop-pagination .page-numbers.current {
  border-color: #3b063f !important;
  background: #3b063f !important;
  color: #fff !important;
}

body.plp-storefront .plp-shop-results .plp-shop-pagination .page-numbers.prev,
body.plp-storefront .plp-shop-results .plp-shop-pagination .page-numbers.next {
  min-width: auto !important;
  padding-inline: 18px !important;
  font-family: var(--plp-font-sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

body.plp-storefront .plp-shop-results .plp-shop-pagination .page-numbers:hover,
body.plp-storefront .plp-shop-results .plp-shop-pagination .page-numbers:focus-visible {
  border-color: #7f3b8b !important;
  outline: none !important;
}

@media (max-width: 780px) {
  body.plp-storefront .plp-shop-results .plp-shop-pagination {
    gap: 8px !important;
    margin-top: 20px !important;
  }

  body.plp-storefront .plp-shop-results .plp-shop-pagination .page-numbers {
    min-width: 34px !important;
    height: 34px !important;
    padding-inline: 10px !important;
    font-size: 15px !important;
  }

  body.plp-storefront .plp-shop-results .plp-shop-pagination .page-numbers.prev,
  body.plp-storefront .plp-shop-results .plp-shop-pagination .page-numbers.next {
    padding-inline: 14px !important;
    font-size: 15px !important;
  }
}


/* v79 — Products archive: 20/page + truly responsive grid cards
   The grid track is the card width. Remove legacy WooCommerce percentage
   widths/floats/margins so cards shrink with the available viewport instead
   of overflowing into/overlapping adjacent columns. */
body.post-type-archive-gili_product.plp-storefront .plp-shop-layout,
body.tax-gili_product_cat.plp-storefront .plp-shop-layout,
body.post-type-archive-product.plp-storefront .plp-shop-layout,
body.tax-product_cat.plp-storefront .plp-shop-layout,
body.post-type-archive-gili_product.plp-storefront .plp-shop-results,
body.tax-gili_product_cat.plp-storefront .plp-shop-results,
body.post-type-archive-product.plp-storefront .plp-shop-results,
body.tax-product_cat.plp-storefront .plp-shop-results {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
}

body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product,
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product,
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product,
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  justify-self: stretch !important;
  overflow: hidden !important;
}

body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product > a.woocommerce-LoopProduct-link,
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product > a.woocommerce-LoopProduct-link,
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product > a.woocommerce-LoopProduct-link,
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product > a.woocommerce-LoopProduct-link {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Desktop/laptop: retain four cards per row and let each card continuously
   shrink with the results column. The category rail also scales slightly. */
@media (min-width: 901px) {
  body.post-type-archive-gili_product.plp-storefront .plp-shop-layout,
  body.tax-gili_product_cat.plp-storefront .plp-shop-layout,
  body.post-type-archive-product.plp-storefront .plp-shop-layout,
  body.tax-product_cat.plp-storefront .plp-shop-layout {
    grid-template-columns: clamp(170px, 17vw, 220px) minmax(0, 1fr) !important;
    gap: clamp(14px, 2vw, 36px) !important;
  }

  body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
  body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
  body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
  body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(8px, 1.1vw, 16px) !important;
  }
}

/* Narrow tablet range: use three tracks rather than allowing cards to
   overflow. Cards still fill/shrink to 100% of their own grid track. */
@media (min-width: 781px) and (max-width: 900px) {
  body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
  body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
  body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
  body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}


/* v80 — Products archive cards: shrink proportionally, not width-only
   v79 removed overflow/legacy fixed widths. This layer also makes the
   vertical geometry scale with each card's own width.

   Key points:
   - grid rows no longer stretch cards to a shared/tall row height;
   - the 1:1 media box still follows card width;
   - title/price/margins/padding scale from the card container width;
   - therefore both width AND total card height reduce together. */
body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list),
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) {
  align-items: start !important;
  grid-auto-rows: auto !important;
}

body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product,
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product,
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product,
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product {
  container-type: inline-size !important;
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding-bottom: clamp(5px, 4cqw, 10px) !important;
  border-radius: clamp(10px, 6cqw, 15px) !important;
}

body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product > a.woocommerce-LoopProduct-link,
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product > a.woocommerce-LoopProduct-link,
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product > a.woocommerce-LoopProduct-link,
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product > a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* The media area is square, so its height always shrinks at exactly the same
   rate as the card width. */
body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap,
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap,
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap,
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap {
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
}

/* Scale the text zone with card width too. This is the part that was still
   effectively fixed-height in v79. */
body.post-type-archive-gili_product .plp-shop-results ul.products:not(.plp-products--list) li.product .woocommerce-loop-product__title,
body.tax-gili_product_cat .plp-shop-results ul.products:not(.plp-products--list) li.product .woocommerce-loop-product__title,
body.post-type-archive-product .plp-shop-results ul.products:not(.plp-products--list) li.product .woocommerce-loop-product__title,
body.tax-product_cat .plp-shop-results ul.products:not(.plp-products--list) li.product .woocommerce-loop-product__title {
  width: calc(100% - clamp(12px, 9cqw, 22px)) !important;
  min-height: calc(2 * 1.18em) !important;
  margin-top: clamp(4px, 3.2cqw, 8px) !important;
  font-size: clamp(10px, 5.7cqw, 14px) !important;
  line-height: 1.18 !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-showcase-card-lowest-price,
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-showcase-card-lowest-price,
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-showcase-card-lowest-price,
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-showcase-card-lowest-price,
body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .price,
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .price,
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .price,
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .price {
  margin-top: clamp(2px, 2cqw, 5px) !important;
  margin-bottom: 0 !important;
  font-size: clamp(9px, 4.6cqw, 13px) !important;
  line-height: 1.08 !important;
}

/* Current/original sale-price typography follows the same card-width scaling. */
body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-card-current-price,
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-card-current-price,
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-card-current-price,
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-card-current-price {
  font-size: clamp(9px, 4.6cqw, 13px) !important;
}

body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-card-original-price,
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-card-original-price,
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-card-original-price,
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-card-original-price {
  font-size: clamp(7px, calc(4.6cqw - 2px), 11px) !important;
}

/* Keep archive images flush with their square frame after the proportional
   card rules above. */
body.post-type-archive-gili_product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap img,
body.tax-gili_product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap img,
body.post-type-archive-product.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap img,
body.tax-product_cat.plp-storefront .plp-shop-results ul.products:not(.plp-products--list) li.product .plp-loop-product-image-wrap img {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}


/* v81 — Products archive card: STRICT proportional scaling
   --------------------------------------------------------
   v80 still allowed the card's content to determine its final height. That
   meant the grid track/card width could shrink while the title/price area
   remained relatively tall.

   From 781px upward, the entire card now owns a fixed 3:4 aspect ratio:
       card width : card height = 3 : 4

   The card is split into:
       75%  square image area  (exactly card-width tall)
       17%  product-title area
        8%  price area

   Therefore when the grid track becomes narrower, the image height and total
   card height MUST shrink at the same ratio. Mobile <=780px keeps the existing
   dedicated mobile card layout. */
@media (min-width: 781px) {

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    /* This is the important change: total card height follows card width. */
    aspect-ratio: 3 / 4 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    align-self: start !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    > a.woocommerce-LoopProduct-link,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    > a.woocommerce-LoopProduct-link,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    > a.woocommerce-LoopProduct-link,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    > a.woocommerce-LoopProduct-link {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 75% 17% 8% !important;

    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* 75% of a 3:4 card = exactly one card-width, so this remains a true
     1:1 image box while scaling down together with the card. */
  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap {
    grid-row: 1 !important;
    position: relative !important;
    display: block !important;

    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;

    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap img,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap img,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap img,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap img {
    position: absolute !important;
    inset: 0 !important;

    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-placeholder,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-placeholder,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-placeholder,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-placeholder {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* Category labels are hidden on desktop/tablet archives, so they must not
     consume an implicit grid row and alter the proportional layout. */
  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-category,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-category,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-category,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-category {
    display: none !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .woocommerce-loop-product__title,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .woocommerce-loop-product__title,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .woocommerce-loop-product__title,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .woocommerce-loop-product__title {
    grid-row: 2 !important;
    align-self: center !important;

    display: -webkit-box !important;
    width: calc(100% - clamp(10px, 8cqw, 20px)) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: 100% !important;

    margin: 0 auto !important;
    padding: 0 !important;

    font-size: clamp(9px, 5.5cqw, 14px) !important;
    line-height: 1.15 !important;
    text-align: center !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    overflow: hidden !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .price,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .price,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .price,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .price {
    grid-row: 3 !important;
    align-self: center !important;
    justify-self: center !important;

    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: clamp(2px, 1.4cqw, 4px) !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 clamp(3px, 2cqw, 6px) !important;
    box-sizing: border-box !important;

    font-size: clamp(8px, 4.6cqw, 13px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-current-price,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-current-price,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-current-price,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-current-price {
    font-size: clamp(8px, 4.6cqw, 13px) !important;
    line-height: 1 !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-original-price,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-original-price,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-original-price,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-original-price {
    font-size: clamp(6px, calc(4.6cqw - 2px), 11px) !important;
    line-height: 1 !important;
  }
}


/* v82 — All Products: responsive card without cropping product/content
   --------------------------------------------------------------------
   v81's strict 3:4 card + object-fit:cover could crop the actual product
   image and could clip card copy when a title/price needed more room.

   Keep the responsive behavior, but let the card height be derived from:
       responsive 1:1 image box
     + responsive two-line title
     + responsive one-line price

   This means width AND height still shrink together, while the whole product
   remains visible. */
@media (min-width: 781px) {

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    /* Do NOT crop the card to a hard 3:4 box. */
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 0 clamp(5px, 3.6cqw, 10px) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    align-self: start !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    > a.woocommerce-LoopProduct-link,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    > a.woocommerce-LoopProduct-link,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    > a.woocommerce-LoopProduct-link,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    > a.woocommerce-LoopProduct-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  /* Responsive 1:1 image box. Its height is always the card width. */
  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap {
    position: relative !important;
    flex: 0 0 auto !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* Show the ENTIRE product. No cover-cropping. */
  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap img,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap img,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap img,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-product-image-wrap img {
    position: absolute !important;
    inset: 0 !important;

    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-placeholder,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-placeholder,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-placeholder,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-loop-placeholder {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* Title scales with card width and always reserves exactly two responsive
     text lines, so card height also becomes smaller as the card gets narrower. */
  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .woocommerce-loop-product__title,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .woocommerce-loop-product__title,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .woocommerce-loop-product__title,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .woocommerce-loop-product__title {
    flex: 0 0 auto !important;

    display: -webkit-box !important;
    width: calc(100% - clamp(10px, 8cqw, 20px)) !important;
    min-width: 0 !important;

    min-height: calc(2 * 1.16em) !important;
    height: calc(2 * 1.16em) !important;
    max-height: calc(2 * 1.16em) !important;

    margin: clamp(4px, 3cqw, 8px) auto 0 !important;
    padding: 0 !important;

    font-size: clamp(9px, 5.3cqw, 14px) !important;
    line-height: 1.16 !important;
    text-align: center !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    overflow: hidden !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .price,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .price,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .price,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .price {
    flex: 0 0 auto !important;

    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: clamp(2px, 1.4cqw, 4px) !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    min-height: 1.08em !important;
    height: 1.08em !important;
    max-height: 1.08em !important;

    margin: clamp(2px, 1.6cqw, 4px) 0 0 !important;
    padding: 0 clamp(3px, 2cqw, 6px) !important;
    box-sizing: border-box !important;

    font-size: clamp(8px, 4.5cqw, 13px) !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-current-price,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-current-price,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-current-price,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-current-price {
    font-size: clamp(8px, 4.5cqw, 13px) !important;
    line-height: 1.08 !important;
  }

  body.post-type-archive-gili_product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-original-price,
  body.tax-gili_product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-original-price,
  body.post-type-archive-product.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-original-price,
  body.tax-product_cat.plp-storefront
    .plp-shop-results ul.products:not(.plp-products--list) li.product
    .plp-card-original-price {
    font-size: clamp(6px, calc(4.5cqw - 2px), 11px) !important;
    line-height: 1.08 !important;
  }
}


/* v94 — Mobile Product Info: always show the full table.
   Remove the old 210px collapsed viewport and the View all / 查看全部 control. */
@media (max-width: 780px) {
  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table-wrap--visual,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table-wrap--visual {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 8px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table--visual,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table--visual {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    table-layout: fixed !important;
  }

  body.single-product [id^="plp-product-section-info-"] .plp-flexible-table-toggle,
  body.single-gili_product [id^="plp-product-section-info-"] .plp-flexible-table-toggle {
    display: none !important;
  }
}

