/* Homepage visual composition — zero-friction landing.
   Standard = half-width tile. XL + Editorial = full-width.
   Product/Collection modules use one horizontal carousel engine; Masonry is
   intentionally reserved for catalogue/search/listing pages. */

/* Homepage surfaces are now controlled by the permanent Design palette.
   Geometry remains scoped to HOME; only colors come from design tokens. */
body[data-page="home"] {
  background:var(--design-bg, #fff) !important;
}
body[data-page="home"] .cat-main:has(> .rc-home-layout-grid) {
  max-width: none;
  padding: 0 !important;
  background:var(--design-bg, #fff) !important;
}

body[data-page="home"] .rc-home-layout-grid {
  --hgl-row: 208px;
  --hgl-gap: 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(var(--hgl-row), auto);
  grid-auto-flow: dense;
  gap: var(--hgl-gap);
  align-items: stretch;
  width: 100%;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
  padding: 26px clamp(12px, 1.2vw, 24px) 96px !important;
}

body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key] {
  min-width: 0;
  width: 100%;
  max-width: none;
  margin: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid #e7e0d3;
  border-radius: 20px;
  background: #fffdf9;
  box-shadow: 0 3px 12px rgba(45,35,20,.04);
  position: relative;
}
body[data-page="home"] .rc-home-layout-grid > .rc-home-layout--standard {
  grid-column: span 1;
  grid-row: span 1;
}
/* Product/collection rails share one warm ivory surface so their pure-white
   cards read clearly. Categories keep their dedicated pale sage universe. */
body[data-page="home"] .rc-home-layout-grid > .rc-sec:has(.rc-landing-carousel-track),
body[data-page="home"] .rc-home-layout-grid > .m-featbundles:has(.rc-landing-carousel-track) {
  background:var(--design-rail-surface, #F7F1E7) !important;
}
/* Dynamic collections may own a merchandising cover image. On the Home only,
   a real collection cover has priority over the configured rail color. */
body[data-page="home"] .rc-home-layout-grid >
.rc-dyn-coll.rc-dyn-coll--cover:has(.rc-landing-carousel-track) {
  background-color:var(--design-rail-surface, #F7F1E7) !important;
  background-image:var(--rc-collection-cover) !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="categories"] {
  background:var(--design-category-surface, #F3F5EF) !important;
}
body[data-page="home"] .rc-home-layout-grid > .rc-home-layout--xl {
  grid-column: 1 / -1;
  grid-row: span 2;
}
body[data-page="home"] .rc-home-layout-grid > .rc-home-layout--standard:has(.rc-landing-carousel-track) {
  grid-row: span 2;
}

/* Editorial widgets deliberately BREAK the dense product composition:
   full row at every desktop/tablet width. Standard/XL only controls height.
   This keeps narrative sections readable and prevents product tiles nesting
   beside them. */
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="hero"],
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="trust_points"],
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="start_here"],
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="brand_manifesto"],
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="header_baseline"] {
  grid-column: 1 / -1 !important;
}
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="hero"].rc-home-layout--standard,
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="trust_points"].rc-home-layout--standard,
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="start_here"].rc-home-layout--standard,
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="brand_manifesto"].rc-home-layout--standard,
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="header_baseline"].rc-home-layout--standard {
  grid-row: span 1;
}
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="hero"].rc-home-layout--xl,
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="trust_points"].rc-home-layout--xl,
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="start_here"].rc-home-layout--xl,
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="brand_manifesto"].rc-home-layout--xl,
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key="header_baseline"].rc-home-layout--xl {
  grid-row: span 2;
}
body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key][hidden] { display:none !important; }
body[data-page="home"] .rc-home-layout-grid > *:not([data-home-layout-key]) { grid-column: 1 / -1; }

/* The outer widget owns spacing. Remove legacy page-sized section margins. */
body[data-page="home"] .rc-home-layout-grid > .rc-sec,
body[data-page="home"] .rc-home-layout-grid > .m-featbundles,
body[data-page="home"] .rc-home-layout-grid > .m-trust,
body[data-page="home"] .rc-home-layout-grid > .m-showcase,
body[data-page="home"] .rc-home-layout-grid > .m-brand,
body[data-page="home"] .rc-home-layout-grid > .rc-hero {
  margin: 0 !important;
  padding: 14px !important;
  height: 100%;
  min-height: 0;
  max-height: none;
  border-radius: 0;
  box-shadow: none;
}

/* Marketplace-style commerce-block heading system.
   Every commerce block owns a real header strip: title exactly centered at
   the top, while "Voir tout" stays permanently visible in the top-right.
   The action is absolutely positioned so it can never push the title off
   centre (AliExpress / Alibaba pattern adapted to ROYALECLAT). */
body[data-page="home"] [data-home-layout-key] .rc-sec__head,
body[data-page="home"] [data-home-layout-key] .m-section-head {
  margin:0 0 14px !important;
  border:0 !important;
  flex:0 0 auto;
}
body[data-page="home"] .rc-home-block-head {
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  justify-items:center !important;
  align-items:start !important;
  gap:0 !important;
  min-height:38px;
  padding:2px clamp(72px,9vw,118px) 0 !important;
  text-align:center !important;
}
body[data-page="home"] .rc-home-block-title,
body[data-page="home"] [data-home-layout-key] .rc-home-block-title.rc-sec__title,
body[data-page="home"] [data-home-layout-key] .rc-home-block-title.m-section-title {
  margin:0 !important;
  font-family:var(--serif, Georgia, serif) !important;
  font-size:clamp(22px,1.8vw,29px) !important;
  font-weight:600 !important;
  line-height:1.04 !important;
  letter-spacing:-.025em !important;
  color:var(--ink,#17120f);
  text-align:center !important;
}
body[data-page="home"] .rc-home-block-head .m-section-heading,
body[data-page="home"] .rc-home-block-head > div {
  min-width:0;
  grid-column:1 !important;
  text-align:center !important;
  justify-self:center !important;
}
body[data-page="home"] .rc-home-block-head .m-section-lede {
  margin:5px auto 0;
  max-width:62ch;
  font-size:11px;
  line-height:1.25;
  color:rgba(23,18,15,.58);
  text-align:center;
}
body[data-page="home"] .rc-home-block-all {
  position:absolute !important;
  top:0;
  right:0;
  z-index:2;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:30px;
  padding:6px 11px !important;
  border:1px solid rgba(176,138,62,.42) !important;
  border-radius:999px;
  background:rgba(255,253,249,.94);
  color:var(--ink,#17120f) !important;
  font-family:var(--sans,Arial,sans-serif);
  font-size:10.5px !important;
  font-weight:700 !important;
  line-height:1;
  text-decoration:none !important;
  white-space:nowrap;
  box-sizing:border-box;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}
body[data-page="home"] .rc-home-block-all:hover {
  background:color-mix(in srgb,var(--rc-gold,#B08A3E) 12%,#fffdf9);
  border-color:rgba(176,138,62,.72) !important;
  transform:translateY(-1px);
}
body[data-page="home"] .rc-home-block-all .m-section-link__arrow,
body[data-page="home"] .rc-home-block-all > span[aria-hidden="true"] {
  display:inline-block;
  transition:transform .18s ease;
}
body[data-page="home"] .rc-home-block-all:hover .m-section-link__arrow,
body[data-page="home"] .rc-home-block-all:hover > span[aria-hidden="true"] {
  transform:translateX(2px);
}
@media (max-width:640px) {
  body[data-page="home"] .rc-home-block-head {
    min-height:34px;
    padding:1px 64px 0 !important;
  }
  body[data-page="home"] .rc-home-block-title,
  body[data-page="home"] [data-home-layout-key] .rc-home-block-title.rc-sec__title,
  body[data-page="home"] [data-home-layout-key] .rc-home-block-title.m-section-title {
    font-size:20px !important;
  }
  body[data-page="home"] .rc-home-block-all {
    min-height:27px;
    padding:5px 8px !important;
    font-size:9.5px !important;
  }
}

/* =====================================================================
   PRODUCT MODULES — ONE LANDING CAROUSEL ENGINE, NO MASONRY.
   Standard = half-width / ~2.5 cards visible on desktop.
   XL       = full-width / one smooth multi-card rail.
   ===================================================================== */
body[data-page="home"] .rc-home-layout-grid > .rc-sec.rc-home-layout--standard,
body[data-page="home"] .rc-home-layout-grid > .m-featbundles.rc-home-layout--standard,
body[data-page="home"] .rc-home-layout-grid > .rc-sec.rc-home-layout--xl,
body[data-page="home"] .rc-home-layout-grid > .m-featbundles.rc-home-layout--xl {
  display:flex;
  flex-direction:column;
}

body[data-page="home"] .rc-landing-carousel-shell,
body[data-page="home"] .rc-carousel.rc-landing-carousel-shell {
  flex:1 1 auto;
  min-height:0;
  position:relative;
  overflow:hidden;
}

body[data-page="home"] .rc-landing-carousel-track {
  --landing-gap:14px;
  display:flex !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  grid-auto-flow:initial !important;
  grid-auto-columns:initial !important;
  grid-auto-rows:initial !important;
  gap:var(--landing-gap) !important;
  flex:1 1 auto;
  min-height:0;
  height:100%;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  align-items:stretch;
  padding:0 2px 3px;
}
body[data-page="home"] .rc-landing-carousel-track::-webkit-scrollbar{display:none}
body[data-page="home"] .rc-landing-carousel-track > * {
  min-width:0;
  height:100% !important;
  margin:0 !important;
  grid-row-end:auto !important;
  scroll-snap-align:start;
  scroll-snap-stop:normal;
  box-sizing:border-box;
}

/* Standard product widgets stay half-width, but get two grid rows so
   their cards can use a REAL portrait media instead of a thin landscape strip.
   Standard intentionally hides the product name: image → attrs → footer. */
body[data-page="home"] .rc-home-layout--standard .rc-landing-carousel-track {
  --landing-gap:8px;
}
body[data-page="home"] .rc-home-layout--standard .rc-landing-carousel-track > * {
  flex:0 0 34% !important;
  width:34% !important;
  min-width:34% !important;
  scroll-snap-stop:normal;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard,
body[data-page="home"] .rc-home-layout--standard .pc-card {
  display:flex !important;
  flex-direction:column !important;
  min-width:0;
  height:100% !important;
  min-height:0 !important;
  background:transparent;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard__link,
body[data-page="home"] .rc-home-layout--standard .pc-card-link {
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto;
  height:auto !important;
  min-height:0;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard__media,
body[data-page="home"] .rc-home-layout--standard .pc-card-media {
  /* The Standard widget spans two grid rows. Let the portrait media absorb
     the remaining card height instead of leaving a dead band above footer. */
  flex:1 1 auto !important;
  width:100%;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:var(--design-img-ratio, 3 / 4) !important;
  border-radius:12px;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard__body,
body[data-page="home"] .rc-home-layout--standard .pc-card-body {
  flex:0 0 auto;
  min-width:0;
  min-height:0;
  padding:4px 7px 0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard__name,
body[data-page="home"] .rc-home-layout--standard .rc-pcard__title,
body[data-page="home"] .rc-home-layout--standard .pc-card-title,
body[data-page="home"] .rc-home-layout--standard .pc-card-name {
  display:-webkit-box !important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  font-size:10px !important;
  line-height:1.25;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard__sub,
body[data-page="home"] .rc-home-layout--standard .pc-card-sub{font-size:9px !important}
body[data-page="home"] .rc-home-layout--standard .pc-card-attrs{
  max-height:48px;
  overflow:hidden;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard__price,
body[data-page="home"] .rc-home-layout--standard .pc-card-price,
body[data-page="home"] .rc-home-layout--standard .pc-card-priceline {
  font-size:12px !important;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard-swatches .pc-swatch:nth-child(n+4),
body[data-page="home"] .rc-home-layout--standard .pc-card-swatches .pc-swatch:nth-child(n+4){display:none}
body[data-page="home"] .rc-home-layout--standard .rc-pcard--cta{
  justify-content:center;
  padding:12px;
}
body[data-page="home"] .rc-home-see-all-card {
  box-sizing:border-box;
  height:100% !important;
}

/* XL = full-width carousel. Cards are regular, predictable and same-height. */
body[data-page="home"] .rc-home-layout--xl .rc-landing-carousel-track > * {
  flex:0 0 calc((100% - 4 * var(--landing-gap)) / 5) !important;
  width:calc((100% - 4 * var(--landing-gap)) / 5) !important;
  min-width:calc((100% - 4 * var(--landing-gap)) / 5) !important;
}
body[data-page="home"] .rc-home-layout--xl .rc-pcard,
body[data-page="home"] .rc-home-layout--xl .pc-card {
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
}
body[data-page="home"] .rc-home-layout--xl .rc-pcard__link,
body[data-page="home"] .rc-home-layout--xl .pc-card-link {
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto;
  min-height:0;
  height:auto !important;
}
body[data-page="home"] .rc-home-layout--xl .rc-pcard__media,
body[data-page="home"] .rc-home-layout--xl .pc-card-media {
  flex:0 0 60%;
  width:100%;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:var(--design-img-ratio, 3 / 4) !important;
  border-radius:12px;
}
body[data-page="home"] .rc-home-layout--xl .rc-pcard__body,
body[data-page="home"] .rc-home-layout--xl .pc-card-body {
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding-top:7px;
}
body[data-page="home"] .rc-home-layout--xl .rc-pcard__name,
body[data-page="home"] .rc-home-layout--xl .pc-card-name {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  font-size:12px;
  line-height:1.25;
}
body[data-page="home"] .rc-home-layout--xl .pc-card-attrs{max-height:48px;overflow:hidden}
body[data-page="home"] .rc-home-layout--xl .rc-pcard__foot,
body[data-page="home"] .rc-home-layout--xl .pc-card-priceline{margin-top:auto}
body[data-page="home"] .rc-home-layout--xl .pc-card-swatches{flex:0 0 auto}

/* Landing cards are discovery cards, not mini product pages.
   One clean main image, max two attribute chips and max three variant swatches. */
body[data-page="home"] .rc-pcard__media,
body[data-page="home"] .pc-card-media { background:#f5f2ec; }
body[data-page="home"] .rc-pcard__media .img-bg-fill,
body[data-page="home"] .pc-card-media .img-bg-fill {
  background:#f5f2ec !important;
}
body[data-page="home"] .rc-pcard__media .img-bg-fill__bg,
body[data-page="home"] .pc-card-media .img-bg-fill__bg {
  display:block !important;
  opacity:.92;
}
body[data-page="home"] .rc-pcard__media .img-bg-fill__main,
body[data-page="home"] .pc-card-media .img-bg-fill__main {
  object-fit:contain !important;
  width:100%;
  height:100%;
}

/* Product illustration geometry has one live source of truth for every
   homepage rail, regardless of Standard/XL and viewport. The image engine
   itself remains unchanged (contain foreground + blurred cover background). */
body[data-page="home"] .rc-pcard__media,
body[data-page="home"] .pc-card-media {
  flex:0 0 auto !important;
  width:100%;
  height:auto !important;
  aspect-ratio:var(--design-img-ratio, 3 / 4) !important;
}
/* Historical attribute pills from the validated Masonry card system.
   Landing keeps its current max-two-attributes data contract; only the
   presentation returns to the original pill component. */
body[data-page="home"] .rc-pcard .pc-card-attrs,
body[data-page="home"] .pc-card .pc-card-attrs {
  display:flex;
  flex-wrap:wrap;
  gap:5px 6px;
  overflow:hidden;
  margin-top:8px;
  min-height:0;
  white-space:normal;
}
/* Home-only attribute contract: values only, one row maximum. The second
   attribute is kept only when it genuinely fits next to the primary one. */
body[data-page="home"] .rc-pcard .rc-home-card-attrs {
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
  max-width:100%;
  width:100%;
}
body[data-page="home"] .rc-pcard .rc-home-card-attrs .pc-chip {
  flex:0 0 auto;
  min-width:0;
  max-width:100%;
}
body[data-page="home"] .rc-pcard .rc-home-card-attrs .pc-chip__v {
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
body[data-page="home"] .rc-pcard .rc-home-card-attr--secondary.is-home-attr-hidden {
  display:none !important;
}
body[data-page="home"] .rc-pcard .pc-chip,
body[data-page="home"] .pc-card .pc-chip {
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  flex:0 1 auto;
  max-width:100%;
  padding:3px 9px;
  border:1px solid var(--rule, #e7e0d3);
  border-radius:999px;
  background:#fbf8f3;
  background:color-mix(in srgb, var(--bg, #f7f1e7) 55%, #fff);
  color:var(--ink, #17120f);
  font-size:11.5px;
  line-height:1.35;
  white-space:nowrap;
}
body[data-page="home"] .rc-pcard .pc-chip__k,
body[data-page="home"] .pc-card .pc-chip__k {
  display:inline;
  color:var(--ink-soft, #8a7f72);
  font-weight:500;
  text-transform:none;
}
body[data-page="home"] .rc-pcard .pc-chip__v,
body[data-page="home"] .pc-card .pc-chip__v {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  font-weight:600;
}
body[data-page="home"] .rc-pcard .pc-chip--more,
body[data-page="home"] .pc-card .pc-chip--more {
  color:var(--ink-soft, #8a7f72);
  font-weight:600;
}
body[data-page="home"] .rc-pcard-swatches,
body[data-page="home"] .pc-card-swatches {
  display:flex;
  flex-wrap:nowrap;
  gap:4px;
  align-items:center;
  overflow:hidden;
  padding-top:5px;
}
body[data-page="home"] .rc-pcard-swatches .pc-swatch,
body[data-page="home"] .pc-card-swatches .pc-swatch {
  width:22px;
  height:22px;
  flex:0 0 22px;
}
body[data-page="home"] .rc-pcard-swatches .pc-swatch--more,
body[data-page="home"] .pc-card-swatches .pc-swatch--more {
  width:auto;
  min-width:22px;
  padding:0 5px;
  font-size:9px;
}

body[data-page="home"] .rc-home-layout--standard .rc-pcard__bottom .pc-swatch {
  width:19px;
  height:19px;
  flex-basis:19px;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard__bottom .pc-swatch--more {
  min-width:19px;
  padding:0 4px;
}

/* Compact homepage product-card rhythm.
   Keep the widget footprint unchanged, but remove the artificial empty band
   between product information and the footer. Free vertical room is given to
   the media instead of stretching the body. */
body[data-page="home"] .rc-pcard:not(.rc-pcard--cta),
body[data-page="home"] .pc-card {
  border:1px solid rgba(23,18,15,.12) !important;
  border-radius:13px !important;
  background:var(--design-paper, #fff) !important;
  overflow:hidden;
  box-shadow:none !important;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body[data-page="home"] .rc-pcard:not(.rc-pcard--cta):hover,
body[data-page="home"] .pc-card:hover {
  border-color:rgba(176,138,62,.34) !important;
  box-shadow:0 8px 20px rgba(23,18,15,.06) !important;
}
body[data-page="home"] .rc-pcard__link,
body[data-page="home"] .pc-card-link {
  min-height:0;
}
body[data-page="home"] .rc-home-layout--xl .rc-pcard__media,
body[data-page="home"] .rc-home-layout--xl .pc-card-media {
  flex:1 1 auto !important;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard__body,
body[data-page="home"] .rc-home-layout--standard .pc-card-body,
body[data-page="home"] .rc-home-layout--xl .rc-pcard__body,
body[data-page="home"] .rc-home-layout--xl .pc-card-body {
  flex:0 0 auto !important;
}
body[data-page="home"] .rc-pcard__body,
body[data-page="home"] .pc-card-body {
  flex-grow:0 !important;
}

/* Footer = two equal columns, each centred in its own half.
   Left: price. Right: visual variants (or heart). */
body[data-page="home"] .rc-pcard__bottom {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center;
  gap:4px;
  min-height:30px;
  padding:6px 8px 7px !important;
}
body[data-page="home"] .rc-pcard__bottom-col {
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
body[data-page="home"] .rc-pcard__bottom .rc-pcard__priceline {
  justify-content:center;
  text-align:center;
  margin:0 !important;
  white-space:nowrap;
}
body[data-page="home"] .rc-pcard__bottom .rc-pcard-swatches {
  margin:0;
  padding-top:0;
  justify-content:center;
  overflow:hidden;
}
body[data-page="home"] .rc-pcard__bottom .rc-pcard__heart {
  margin:0;
}
body[data-page="home"] .rc-pcard-swatches--mobile {
  display:none !important;
}
@media(max-width:680px){
  body[data-page="home"] .rc-pcard-swatches--desktop {
    display:none !important;
  }
  body[data-page="home"] .rc-pcard-swatches--mobile {
    display:flex !important;
  }
}
body[data-page="home"] .pc-card-priceline {
  justify-content:center !important;
  text-align:center;
  margin-top:6px !important;
}

/* Legacy landing control is replaced by the shared edge controls. */
body[data-page="home"] [data-home-layout-key] .rc-carousel__ctrl{display:none !important}

/* AliExpress-style edge navigation.
   Desktop: fully hidden at rest, revealed only while the carousel shell is
   hovered/focused. Tall translucent side controls keep the product imagery
   dominant while making navigation unmistakable on interaction. */
body[data-page="home"] .rc-landing-carousel-nav {
  position:absolute;
  inset:0;
  z-index:20;
  pointer-events:none;
}
body[data-page="home"] .rc-landing-carousel-nav[hidden]{display:none !important}
body[data-page="home"] .rc-landing-carousel-btn {
  appearance:none;
  position:absolute;
  top:50%;
  bottom:auto;
  width:46px;
  height:78px;
  transform:translateY(-50%);
  border:0;
  border-radius:2px;
  background:rgba(23,18,15,.30);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  pointer-events:none;
  opacity:0;
  box-shadow:none;
  transition:
    opacity .14s ease,
    background-color .14s ease,
    transform .14s ease;
}
body[data-page="home"] .rc-landing-carousel-btn--prev{left:0}
body[data-page="home"] .rc-landing-carousel-btn--next{right:0}
body[data-page="home"] .rc-landing-carousel-btn svg{
  width:28px;
  height:28px;
  stroke-width:2.2;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.18));
}
body[data-page="home"] .rc-landing-carousel-shell:hover .rc-landing-carousel-btn,
body[data-page="home"] .rc-landing-carousel-shell:focus-within .rc-landing-carousel-btn,
body[data-page="home"] .rc-landing-carousel-btn:focus-visible {
  opacity:1;
  pointer-events:auto;
}
body[data-page="home"] .rc-landing-carousel-btn:hover,
body[data-page="home"] .rc-landing-carousel-btn:focus-visible {
  background:rgba(23,18,15,.48);
  transform:translateY(-50%);
  outline:none;
}
body[data-page="home"] .rc-landing-carousel-btn:focus-visible {
  box-shadow:0 0 0 3px rgba(176,138,62,.30);
}
body[data-page="home"] .rc-landing-carousel-btn[hidden]{display:none !important}
body[data-page="home"] .rc-landing-carousel-btn:disabled {
  cursor:default;
}

/* Persistent scroll affordance for every homepage carousel.
   A quiet track + moving thumb remains visible on desktop and touch devices,
   without changing the carousel's native free-scroll behaviour. */
body[data-page="home"] .rc-carousel-progress {
  position:relative;
  width:clamp(88px, 12vw, 168px);
  height:3px;
  margin:10px auto 0;
  border-radius:999px;
  background:rgba(23,18,15,.12);
  overflow:hidden;
  flex:0 0 auto;
}
body[data-page="home"] .rc-carousel-progress[hidden] {
  display:none !important;
}
body[data-page="home"] .rc-carousel-progress__thumb {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:100%;
  border-radius:inherit;
  background:rgba(23,18,15,.62);
  transition:left .12s linear,width .18s ease;
}
@media(max-width:680px){
  body[data-page="home"] .rc-carousel-progress {
    width:96px;
    height:3px;
    margin-top:8px;
  }
}

@media(max-width:1100px) and (min-width:681px){
  body[data-page="home"] .rc-home-layout--xl .rc-landing-carousel-track > *{
    flex-basis:calc((100% - 2 * var(--landing-gap)) / 3) !important;
    width:calc((100% - 2 * var(--landing-gap)) / 3) !important;
    min-width:calc((100% - 2 * var(--landing-gap)) / 3) !important;
  }
}
@media(max-width:680px){
  body[data-page="home"] .rc-home-layout--xl .rc-landing-carousel-track > *{
    flex-basis:calc((100% - var(--landing-gap)) / 2) !important;
    width:calc((100% - var(--landing-gap)) / 2) !important;
    min-width:calc((100% - var(--landing-gap)) / 2) !important;
  }
  body[data-page="home"] .rc-landing-carousel-btn{display:none !important}
}
@media (hover:none), (pointer:coarse) {
  body[data-page="home"] .rc-landing-carousel-btn{display:none !important}
}

/* Dynamic collection blocks are server-rendered with the homepage. */
body[data-page="home"] .rc-dyn-coll__desc {
  margin:6px auto 0;
  max-width:650px;
  font-size:13px;
  line-height:1.35;
  text-align:center;
  opacity:.7;
}
body[data-page="home"] .rc-dyn-coll__all {
  white-space:nowrap;
  color:inherit;
  text-decoration:none;
  font-size:13px;
}
body[data-page="home"] .rc-dyn-coll__row {
  overflow-x:auto;
  scrollbar-width:none;
}
body[data-page="home"] .rc-dyn-coll__row::-webkit-scrollbar{display:none}
@media(max-width:720px){
  body[data-page="home"] .rc-dyn-coll__desc{display:none}
}

/* Dynamic collection header fits the widget shell. */
body[data-page="home"] [data-home-layout-key^="collection:"] .rc-dyn-coll__head {
  margin:0 0 8px !important;
  align-items:flex-end;
}
body[data-page="home"] .rc-home-layout--standard .rc-dyn-coll__desc { display:none; }
body[data-page="home"] .rc-home-layout--standard .rc-dyn-coll__all { font-size:10px; }

/* =====================================================================
   NON-PRODUCT HOME MODULES — fixed footprints, existing content retained.
   ===================================================================== */

/* Hero */
body[data-page="home"] .rc-home-layout-grid > .rc-hero {
  display:grid;
  background:linear-gradient(180deg,#f0e7da 0%,#e7dacb 100%);
}
body[data-page="home"] .rc-home-layout--standard.rc-hero {
  grid-template-columns:1fr !important;
}
body[data-page="home"] .rc-home-layout--standard.rc-hero .rc-hero__text {
  padding:10px !important;
  gap:6px;
}
body[data-page="home"] .rc-home-layout--standard.rc-hero .rc-hero__kicker {
  font-size:8px;
  letter-spacing:.12em;
}
body[data-page="home"] .rc-home-layout--standard.rc-hero .rc-hero__title {
  font-size:19px !important;
  line-height:1.03;
}
body[data-page="home"] .rc-home-layout--standard.rc-hero .rc-hero__lede {
  font-size:10px;
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body[data-page="home"] .rc-home-layout--standard.rc-hero .rc-hero__cta {
  font-size:9px;
  padding:7px 10px;
  margin-top:2px;
}
body[data-page="home"] .rc-home-layout--standard.rc-hero .rc-hero__carousel,
body[data-page="home"] .rc-home-layout--standard.rc-hero .rc-hero__decor { display:none; }
body[data-page="home"] .rc-home-layout--xl.rc-hero {
  grid-template-columns:1.05fr 1fr !important;
  padding:0 !important;
}
body[data-page="home"] .rc-home-layout--xl.rc-hero .rc-hero__text {
  padding:26px !important;
  gap:10px;
}
body[data-page="home"] .rc-home-layout--xl.rc-hero .rc-hero__title { font-size:31px !important; }
body[data-page="home"] .rc-home-layout--xl.rc-hero .rc-hero__carousel,
body[data-page="home"] .rc-home-layout--xl.rc-hero .rc-hero__decor {
  min-height:0 !important;
  height:100% !important;
}

/* Trust points */
body[data-page="home"] .rc-home-layout-grid > .m-trust { background:#fffdf9; }
body[data-page="home"] [data-home-layout-key="trust_points"] .m-trust-list {
  max-width:none;
  height:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 10px;
  align-content:center;
}
body[data-page="home"] [data-home-layout-key="trust_points"] .m-trust-list li {
  padding-left:7px;
  gap:3px;
}
body[data-page="home"] [data-home-layout-key="trust_points"] .m-trust-list strong {
  font-size:8px;
  letter-spacing:.1em;
}
body[data-page="home"] [data-home-layout-key="trust_points"] .m-trust-list span {
  font-size:9px;
  line-height:1.25;
}
body[data-page="home"] .rc-home-layout--xl[data-home-layout-key="trust_points"] .m-trust-list {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
body[data-page="home"] .rc-home-layout--xl[data-home-layout-key="trust_points"] .m-trust-list strong { font-size:10px; }
body[data-page="home"] .rc-home-layout--xl[data-home-layout-key="trust_points"] .m-trust-list span { font-size:12px; }

/* Home categories — image-led merchandising.
   Standard: 2x2 (3 rotating categories + all-categories CTA).
   XL: one immersive feature + three deliberately narrow mini cards. */
body[data-page="home"] .rc-home-layout-grid >
[data-home-layout-key="categories"] {
  grid-column:1 / -1 !important;
  grid-row:span 2 !important;
  height:calc(var(--hgl-row) + var(--hgl-row) + var(--hgl-gap)) !important;
  min-height:calc(var(--hgl-row) + var(--hgl-row) + var(--hgl-gap)) !important;
}
body[data-page="home"] [data-home-layout-key="categories"] .rc-home-categories__head {
  justify-items:start !important;
  text-align:left !important;
  padding-left:2px !important;
}
body[data-page="home"] [data-home-layout-key="categories"] .rc-home-categories__heading {
  min-width:0;
  text-align:left;
}
body[data-page="home"] [data-home-layout-key="categories"] .rc-home-categories__heading .rc-home-block-title {
  text-align:left !important;
}
body[data-page="home"] .rc-home-categories__lede {
  margin:5px 0 0;
  max-width:58ch;
  color:rgba(23,18,15,.58);
  font-size:11px;
  line-height:1.25;
}
body[data-page="home"] .rc-home-cats {
  flex:1 1 auto;
  min-height:0;
}
body[data-page="home"] .rc-home-cats--standard {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:8px;
}
body[data-page="home"] .rc-home-cats-carousel-track {
  --landing-gap:12px;
  display:flex;
  flex:1 1 auto;
  min-height:0;
  height:100%;
  gap:var(--landing-gap);
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
body[data-page="home"] .rc-home-cats-carousel-track::-webkit-scrollbar {
  display:none;
}
body[data-page="home"] .rc-home-layout--xl[data-home-layout-key="categories"]
.rc-home-cats-carousel-track > .rc-home-cats-page {
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
  height:100% !important;
  scroll-snap-align:start;
  box-sizing:border-box;
}
body[data-page="home"] .rc-home-cats--xl {
  display:grid;
  grid-template-columns:minmax(0,2.45fr) repeat(3,minmax(0,1fr));
  gap:10px;
}
body[data-page="home"] .rc-home-cat-card {
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(23,18,15,.10);
  border-radius:13px;
  background:#f1ebe1;
  color:var(--ink,#17120f);
  text-decoration:none;
  box-shadow:0 1px 3px rgba(23,18,15,.05);
  isolation:isolate;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
body[data-page="home"] .rc-home-cat-card:hover {
  transform:translateY(-2px);
  border-color:rgba(176,138,62,.38);
  box-shadow:0 12px 28px -20px rgba(23,18,15,.40);
}
body[data-page="home"] .rc-home-cat-card__image {
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
body[data-page="home"] .rc-home-cat-card:hover .rc-home-cat-card__image {
  transform:scale(1.025);
}
body[data-page="home"] .rc-home-cat-card::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(20,16,12,.04),transparent 44%,rgba(20,16,12,.05));
}

/* Homepage categories consume the shared .rc-overlay-cloud primitive.
   This selector now owns placement only. */
body[data-page="home"] .rc-home-cat-cloud {
  position:absolute;
  z-index:2;
  display:flex;
  align-items:center;
  gap:0;
  width:fit-content;
  max-width:calc(100% - 12px);
  padding:5px 7px;
  border-radius:11px;
}
body[data-page="home"] .rc-home-cat-card--standard .rc-home-cat-cloud {
  right:7px;
  bottom:7px;
}
body[data-page="home"] .rc-home-cat-card__name {
  min-width:0;
  font-family:var(--serif,Georgia,serif);
  font-size:11px;
  font-weight:600;
  line-height:1.08;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
body[data-page="home"] .rc-home-cat-card__all-icon {
  flex:0 0 auto;
  width:25px;
  height:25px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(23,18,15,.11);
  font-family:Arial,sans-serif;
  font-size:14px;
  line-height:1;
  transition:transform .18s ease;
}
body[data-page="home"] .rc-home-cat-card--all:hover .rc-home-cat-card__all-icon {
  transform:translateX(2px);
}

/* Standard fourth card is intentionally synthetic, never a fourth random category. */
body[data-page="home"] .rc-home-cat-card--all {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:12px;
  text-align:center;
  border-style:dashed;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.95),transparent 42%),
    linear-gradient(145deg,#f4eadb,#ebe3d7);
}
body[data-page="home"] .rc-home-cat-card__all-label {
  max-width:18ch;
  font-family:var(--serif,Georgia,serif);
  font-size:12px;
  font-weight:600;
  line-height:1.15;
}

/* XL: immersive lead tile with three narrower supporting cards. */
body[data-page="home"] .rc-home-cat-card--feature,
body[data-page="home"] .rc-home-cat-card--mini {
  height:100%;
}
body[data-page="home"] .rc-home-cat-cloud--feature {
  left:12px;
  bottom:12px;
  top:auto;
  transform:none;
  max-width:min(46%,300px);
  align-items:flex-start;
  flex-direction:column;
  gap:4px;
  padding:8px 10px;
  border-radius:13px;
}
body[data-page="home"] .rc-home-cat-cloud--feature .rc-home-cat-card__name {
  font-size:clamp(16px,1.5vw,22px);
  line-height:1.05;
  -webkit-line-clamp:3;
}
body[data-page="home"] .rc-home-cat-card__desc {
  color:rgba(23,18,15,.67);
  font-size:9.5px;
  line-height:1.3;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
body[data-page="home"] .rc-home-cat-card--mini .rc-home-cat-cloud {
  left:8px;
  right:auto;
  bottom:8px;
  max-width:calc(100% - 16px);
  justify-content:flex-start;
}
body[data-page="home"] .rc-home-cat-card--mini .rc-home-cat-card__name {
  font-size:12px;
  -webkit-line-clamp:3;
}

@media(max-width:900px){
  body[data-page="home"] .rc-home-cats--xl {
    grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr));
    gap:8px;
  }
  body[data-page="home"] .rc-home-cat-cloud--feature {
    left:8px;
    bottom:8px;
    top:auto;
    transform:none;
    max-width:58%;
    padding:7px 9px;
  }
  body[data-page="home"] .rc-home-cat-card--mini .rc-home-cat-cloud {
    left:5px;
    right:auto;
    bottom:5px;
    max-width:calc(100% - 10px);
    padding:5px 6px;
  }
}
@media(max-width:680px){
  body[data-page="home"] .rc-home-layout-grid >
  [data-home-layout-key="categories"].rc-home-layout--standard {
    grid-column:1 / -1;
    grid-row:span 2;
  }
  body[data-page="home"] [data-home-layout-key="categories"] .rc-home-categories__head {
    padding-left:0 !important;
  }
  body[data-page="home"] .rc-home-cats--xl {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
  }
  body[data-page="home"] .rc-home-cat-card--feature {
    grid-column:span 1;
  }
  body[data-page="home"] .rc-home-cat-cloud--feature {
    left:5px;
    right:auto;
    bottom:5px;
    top:auto;
    transform:none;
    max-width:calc(100% - 10px);
    padding:5px 7px;
  }
  body[data-page="home"] .rc-home-cat-cloud--feature .rc-home-cat-card__name {
    font-size:13px;
    -webkit-line-clamp:2;
  }
  body[data-page="home"] .rc-home-cat-card__desc {
    display:none;
  }
}

/* Showcase */
body[data-page="home"] .rc-home-layout-grid > .m-showcase { background:#fffdf9; }
body[data-page="home"] [data-home-layout-key="start_here"] .m-showcase-inner {
  height:100%;
  max-width:none;
  display:flex;
  flex-direction:column;
  min-height:0;
}
body[data-page="home"] [data-home-layout-key="start_here"] .m-showcase-head {
  margin:0 0 8px;
  flex:0 0 auto;
}
body[data-page="home"] [data-home-layout-key="start_here"] .m-showcase-head .cat-kicker { font-size:8px; }
body[data-page="home"] [data-home-layout-key="start_here"] .m-showcase-title {
  margin:3px 0;
  font-size:17px;
}
body[data-page="home"] [data-home-layout-key="start_here"] .m-showcase-lede {
  font-size:9px;
  line-height:1.25;
}
body[data-page="home"] [data-home-layout-key="start_here"] .m-showcase-grid {
  flex:1 1 auto;
  min-height:0;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:6px;
  overflow:hidden;
}
body[data-page="home"] [data-home-layout-key="start_here"] .m-showcase-item {
  min-height:0;
  border-radius:8px;
}
body[data-page="home"] [data-home-layout-key="start_here"] .m-showcase-figure { display:none; }
body[data-page="home"] [data-home-layout-key="start_here"] .m-showcase-body { padding:7px; gap:2px; }
body[data-page="home"] [data-home-layout-key="start_here"] .m-showcase-item-title {
  font-size:10px;
  line-height:1.15;
}
body[data-page="home"] [data-home-layout-key="start_here"] .m-showcase-desc {
  font-size:8px;
  line-height:1.2;
  margin:0;
}
body[data-page="home"] .rc-home-layout--standard[data-home-layout-key="start_here"] .m-showcase-item:nth-child(n+3) { display:none; }
body[data-page="home"] .rc-home-layout--xl[data-home-layout-key="start_here"] .m-showcase-title { font-size:25px; }
body[data-page="home"] .rc-home-layout--xl[data-home-layout-key="start_here"] .m-showcase-grid { gap:10px; }
body[data-page="home"] .rc-home-layout--xl[data-home-layout-key="start_here"] .m-showcase-item-title { font-size:14px; }
body[data-page="home"] .rc-home-layout--xl[data-home-layout-key="start_here"] .m-showcase-desc { font-size:10px; }

/* Brand manifesto: content stays in DOM; fixed widget clips its editorial flow. */
body[data-page="home"] .rc-home-layout-grid > .m-brand { background:#fffdf9; }
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .m-brand-grid {
  max-width:none;
  height:100%;
  overflow:hidden;
}
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .m-brand-head {
  margin:0 0 8px;
}
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .m-brand-title,
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .cat-h1 {
  font-size:18px !important;
  margin:3px 0 5px;
}
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .m-brand-intro,
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .cat-lede {
  font-size:9px;
  line-height:1.3;
}
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .m-brand-flow {
  max-width:none;
  font-size:9px;
}
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .m-brand-flow > * + * { margin-top:7px; }
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .m-brand-pull { margin:6px 0; }
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .m-brand-pull blockquote { font-size:13px; }
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .m-brand-body {
  font-size:9px;
  line-height:1.35;
}
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .m-brand-values { padding:8px; }
body[data-page="home"] [data-home-layout-key="brand_manifesto"] .m-brand-hero {
  height:110px !important;
  margin:0 0 8px;
}
body[data-page="home"] .rc-home-layout--standard[data-home-layout-key="brand_manifesto"] .m-brand-flow > *:nth-child(n+3) { display:none; }
body[data-page="home"] .rc-home-layout--xl[data-home-layout-key="brand_manifesto"] .m-brand-title,
body[data-page="home"] .rc-home-layout--xl[data-home-layout-key="brand_manifesto"] .cat-h1 { font-size:26px !important; }
body[data-page="home"] .rc-home-layout--xl[data-home-layout-key="brand_manifesto"] .m-brand-body { font-size:11px; }

/* Baseline, if rendered as a managed Home module. */
body[data-page="home"] [data-home-layout-key="header_baseline"] {
  display:grid;
  place-items:center;
  text-align:center;
  padding:14px !important;
  font-family:var(--serif,Georgia,serif);
}

/* Same breakpoints as the public Categories grid. */
@media (max-width:1100px) {
  body[data-page="home"] .rc-home-layout-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:680px) {
  body[data-page="home"] .rc-home-layout-grid {
    --hgl-row:190px;
    --hgl-gap:10px;
    grid-template-columns:minmax(0,1fr);
    padding:14px 10px 48px !important;
  }

  /* Mobile ignores the saved Standard/XL footprint: every managed block is
     one full-width row. Desktop keeps the saved composition unchanged. */
  body[data-page="home"] .rc-home-layout-grid > [data-home-layout-key] {
    grid-column:1 / -1 !important;
  }

  /* Commerce blocks all use the existing XL mobile footprint. */
  body[data-page="home"] .rc-home-layout-grid > .rc-sec:has(.rc-landing-carousel-track),
  body[data-page="home"] .rc-home-layout-grid > .m-featbundles:has(.rc-landing-carousel-track) {
    grid-row:span 2 !important;
  }

  /* One rail contract on mobile: two cards visible, regardless of whether the
     admin saved the module as Standard or XL. */
  body[data-page="home"] .rc-landing-carousel-track > * {
    flex-basis:calc((100% - var(--landing-gap)) / 2) !important;
    width:calc((100% - var(--landing-gap)) / 2) !important;
    min-width:calc((100% - var(--landing-gap)) / 2) !important;
  }

  /* Standard modules must render with the same anatomy as XL on mobile:
     no hidden title/attributes/variants and no square-media override. */
  body[data-page="home"] .rc-home-layout--standard .rc-pcard,
  body[data-page="home"] .rc-home-layout--standard .pc-card,
  body[data-page="home"] .rc-home-layout--xl .rc-pcard,
  body[data-page="home"] .rc-home-layout--xl .pc-card {
    height:100% !important;
  }
  body[data-page="home"] .rc-home-layout--standard .rc-pcard__link,
  body[data-page="home"] .rc-home-layout--standard .pc-card-link,
  body[data-page="home"] .rc-home-layout--xl .rc-pcard__link,
  body[data-page="home"] .rc-home-layout--xl .pc-card-link {
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
    min-height:0;
  }
  body[data-page="home"] .rc-home-layout--standard .rc-pcard__media,
  body[data-page="home"] .rc-home-layout--standard .pc-card-media,
  body[data-page="home"] .rc-home-layout--xl .rc-pcard__media,
  body[data-page="home"] .rc-home-layout--xl .pc-card-media {
    flex:1 1 auto !important;
    width:100%;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:var(--design-img-ratio, 3 / 4) !important;
  }
  body[data-page="home"] .rc-home-layout--standard .rc-pcard__body,
  body[data-page="home"] .rc-home-layout--standard .pc-card-body,
  body[data-page="home"] .rc-home-layout--xl .rc-pcard__body,
  body[data-page="home"] .rc-home-layout--xl .pc-card-body {
    display:flex !important;
    flex:0 0 auto !important;
    flex-direction:column !important;
    min-height:0;
    padding:7px 7px 0 !important;
    overflow:hidden;
  }
  body[data-page="home"] .rc-home-layout--standard .rc-pcard__name,
  body[data-page="home"] .rc-home-layout--standard .pc-card-name,
  body[data-page="home"] .rc-home-layout--xl .rc-pcard__name,
  body[data-page="home"] .rc-home-layout--xl .pc-card-name {
    display:-webkit-box !important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2 !important;
    overflow:hidden;
    font-size:10px !important;
    line-height:1.25;
  }
  body[data-page="home"] .rc-home-layout--standard .pc-card-attrs,
  body[data-page="home"] .rc-home-layout--xl .pc-card-attrs {
    display:flex !important;
    max-height:48px;
    overflow:hidden;
    margin-top:8px;
  }
  body[data-page="home"] .rc-home-layout--standard .rc-pcard__price,
  body[data-page="home"] .rc-home-layout--standard .pc-card-price,
  body[data-page="home"] .rc-home-layout--standard .pc-card-priceline,
  body[data-page="home"] .rc-home-layout--xl .rc-pcard__price,
  body[data-page="home"] .rc-home-layout--xl .pc-card-price,
  body[data-page="home"] .rc-home-layout--xl .pc-card-priceline {
    font-size:12px !important;
  }
  body[data-page="home"] .rc-home-layout--standard .rc-pcard__bottom .pc-swatch,
  body[data-page="home"] .rc-home-layout--xl .rc-pcard__bottom .pc-swatch {
    width:19px;
    height:19px;
    flex-basis:19px;
  }
  body[data-page="home"] .rc-home-layout--standard .rc-pcard__bottom .pc-swatch--more,
  body[data-page="home"] .rc-home-layout--xl .rc-pcard__bottom .pc-swatch--more {
    min-width:19px;
    padding:0 4px;
  }

  body[data-page="home"] .rc-home-block-title,
  body[data-page="home"] [data-home-layout-key] .rc-home-block-title.rc-sec__title,
  body[data-page="home"] [data-home-layout-key] .rc-home-block-title.m-section-title {
    font-size:18px !important;
  }
  body[data-page="home"] .rc-home-block-head { min-height:26px; margin-bottom:8px !important; }
}

/* FINAL COMMERCE CONTRACT
   Product modules are content-driven: changing image ratio changes the
   module's natural height instead of creating empty bands or crushing text.
   Non-commerce/editorial modules keep their existing row-span behaviour. */
body[data-page="home"] .rc-home-layout-grid > .rc-sec:has(.rc-landing-carousel-track),
body[data-page="home"] .rc-home-layout-grid > .m-featbundles:has(.rc-landing-carousel-track) {
  grid-row:auto !important;
  height:auto !important;
  min-height:0 !important;
}
body[data-page="home"] .rc-home-layout-grid > .rc-sec:has(.rc-landing-carousel-track) .rc-landing-carousel-shell,
body[data-page="home"] .rc-home-layout-grid > .m-featbundles:has(.rc-landing-carousel-track) .rc-landing-carousel-shell,
body[data-page="home"] .rc-home-layout-grid > .rc-sec:has(.rc-landing-carousel-track) .rc-landing-carousel-track,
body[data-page="home"] .rc-home-layout-grid > .m-featbundles:has(.rc-landing-carousel-track) .rc-landing-carousel-track {
  flex:0 0 auto !important;
  height:auto !important;
  min-height:0 !important;
}
body[data-page="home"] .rc-landing-carousel-track > .rc-pcard,
body[data-page="home"] .rc-landing-carousel-track > .pc-card,
body[data-page="home"] .rc-landing-carousel-track > .rc-home-see-all-card {
  height:auto !important;
  align-self:stretch;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard__link,
body[data-page="home"] .rc-home-layout--standard .pc-card-link,
body[data-page="home"] .rc-home-layout--xl .rc-pcard__link,
body[data-page="home"] .rc-home-layout--xl .pc-card-link {
  flex:0 0 auto !important;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard__body,
body[data-page="home"] .rc-home-layout--standard .pc-card-body,
body[data-page="home"] .rc-home-layout--xl .rc-pcard__body,
body[data-page="home"] .rc-home-layout--xl .pc-card-body {
  flex:0 0 auto !important;
}
body[data-page="home"] .rc-home-layout--standard .rc-pcard__media,
body[data-page="home"] .rc-home-layout--standard .pc-card-media,
body[data-page="home"] .rc-home-layout--xl .rc-pcard__media,
body[data-page="home"] .rc-home-layout--xl .pc-card-media {
  flex:0 0 auto !important;
  width:100%;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:var(--design-img-ratio, 3 / 4) !important;
}

/* Whole-card format — one independent source of truth for all homepage rails. */
body[data-page="home"][data-card-format="square"] .rc-pcard,
body[data-page="home"][data-card-format="square"] .pc-card {
  aspect-ratio:1 / 1;
  height:auto !important;
  overflow:hidden;
  background:#fff !important;
  border:1px solid rgba(23,18,15,.08);
  border-radius:12px;
}
body[data-page="home"][data-card-format="square"] .rc-pcard__link,
body[data-page="home"][data-card-format="square"] .pc-card-link {
  flex:1 1 auto !important;
  min-height:0;
}
body[data-page="home"][data-card-format="square"] .rc-pcard__media,
body[data-page="home"][data-card-format="square"] .pc-card-media {
  flex:0 0 58% !important;
  height:58% !important;
  width:auto !important;
  max-width:100%;
  align-self:center;
}
body[data-page="home"][data-card-format="square"] .rc-pcard__body,
body[data-page="home"][data-card-format="square"] .pc-card-body {
  flex:1 1 auto !important;
  min-height:0;
  overflow:hidden;
  padding:5px 6px 0 !important;
}
body[data-page="home"][data-card-format="square"] .rc-pcard__bottom {
  flex:0 0 auto;
}
body[data-page="home"][data-card-format="square"] .rc-home-see-all-card {
  aspect-ratio:1 / 1;
  height:auto !important;
}
body[data-page="home"][data-card-format="polaroid"] .rc-home-see-all-card {
  background:#fff;
  padding:8px 8px 14px;
  border:1px solid rgba(23,18,15,.10);
  border-radius:4px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
body[data-page="home"][data-card-format="polaroid"] .rc-pcard,
body[data-page="home"][data-card-format="polaroid"] .pc-card {
  background:#fff !important;
  padding:8px 8px 14px;
  border:1px solid rgba(23,18,15,.10);
  border-radius:4px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
body[data-page="home"][data-card-format="polaroid"] .rc-pcard__media,
body[data-page="home"][data-card-format="polaroid"] .pc-card-media {
  border-radius:2px !important;
  box-shadow:none !important;
}
body[data-page="home"][data-card-format="polaroid"] .rc-pcard__body,
body[data-page="home"][data-card-format="polaroid"] .pc-card-body {
  padding:9px 2px 2px !important;
}
