/* RubyRose V10.38 — compact, proportional and symmetrical footer. */
html body footer.site-footer.rr-footer-managed{
  padding:clamp(30px,3.2vw,48px) max(20px,calc((100vw - 1280px)/2)) max(18px,env(safe-area-inset-bottom))!important;
}
html body footer.rr-footer-managed .rr-footer-shell{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:clamp(16px,2.2vw,30px)!important;
}
html body footer.rr-footer-managed .rr-footer-brand-block,
html body footer.rr-footer-managed .rr-footer-links-block,
html body footer.rr-footer-managed .rr-footer-contact-block{
  display:flex!important;
  min-height:224px!important;
  flex-direction:column!important;
  align-items:center!important;
  padding:clamp(20px,2vw,26px)!important;
  border:1px solid color-mix(in srgb,var(--rr-footer-text) 9%,transparent)!important;
  border-radius:min(var(--rr-footer-radius),26px)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--rr-footer-surface) 82%,transparent),color-mix(in srgb,var(--rr-footer-bg) 88%,transparent))!important;
  box-shadow:inset 0 1px color-mix(in srgb,var(--rr-footer-text) 5%,transparent),0 14px 40px rgba(0,0,0,.08)!important;
  text-align:center!important;
}
html body footer.rr-footer-managed .rr-footer-logo{
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  margin:0 0 14px!important;
}
html body footer.rr-footer-managed .rr-footer-logo .rr-wordmark-logo{
  width:min(170px,70%)!important;
  max-height:54px!important;
}
html body footer.rr-footer-managed .rr-footer-brand-block p{
  display:flex!important;
  max-width:330px!important;
  flex:1!important;
  align-items:center!important;
  margin:0 auto!important;
  font-size:13px!important;
  line-height:1.75!important;
  text-align:center!important;
}
html body footer.rr-footer-managed h4{
  width:100%!important;
  margin:0 0 14px!important;
  padding-bottom:10px!important;
  text-align:center!important;
}
html body footer.rr-footer-managed h4::after{
  right:50%!important;
  left:auto!important;
  width:32px!important;
  transform:translateX(50%)!important;
}
html body footer.rr-footer-managed .rr-footer-links-grid{
  width:100%!important;
  flex:1!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-content:center!important;
  gap:4px 8px!important;
}
html body footer.rr-footer-managed .rr-footer-links-grid a{
  justify-content:center!important;
  min-height:34px!important;
  padding:5px 8px!important;
  text-align:center!important;
}
html body footer.rr-footer-managed .rr-footer-contact-line{
  width:100%!important;
  max-width:270px!important;
  align-items:center!important;
  margin:0 auto 8px!important;
  padding:8px 12px!important;
  border-radius:13px!important;
  text-align:center!important;
}
html body footer.rr-footer-managed .rr-footer-wholesale-link{
  width:100%!important;
  max-width:270px!important;
  min-height:40px!important;
  margin:6px auto 0!important;
  padding:8px 14px!important;
}
html body footer.rr-footer-managed .footer-social{
  justify-content:center!important;
  margin:14px 0 0!important;
}
html body footer.rr-footer-managed .footer-social a{
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
}
html body footer.rr-footer-managed .footer-bottom.rr-footer-bottom-clean{
  align-items:center!important;
  margin:24px auto 0!important;
  padding:15px 4px 0!important;
  line-height:1.5!important;
}

/* Product imagery follows one consistent frame and icon scale. */
.shop-product-card .shop-card-media{
  width:calc(100% - 16px)!important;
  aspect-ratio:4/5!important;
  min-height:0!important;
  margin:8px!important;
  border:1px solid rgba(178,74,116,.09)!important;
  border-radius:20px!important;
  overflow:hidden!important;
}
.shop-product-card .shop-card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media(max-width:900px){
  html body footer.rr-footer-managed .rr-footer-shell{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body footer.rr-footer-managed .rr-footer-brand-block{grid-column:1/-1!important;min-height:180px!important}
  html body footer.rr-footer-managed .rr-footer-links-block,
  html body footer.rr-footer-managed .rr-footer-contact-block{min-height:230px!important}
}

@media(max-width:768px){
  html body footer.site-footer.rr-footer-managed{padding:18px 10px max(16px,env(safe-area-inset-bottom))!important}
  html body footer.rr-footer-managed .rr-footer-shell{grid-template-columns:1fr!important;gap:10px!important}
  html body footer.rr-footer-managed .rr-footer-brand-block,
  html body footer.rr-footer-managed .rr-footer-links-block,
  html body footer.rr-footer-managed .rr-footer-contact-block{
    grid-column:auto!important;
    min-height:0!important;
    padding:16px!important;
    border-radius:min(var(--rr-footer-radius),22px)!important;
  }
  html body footer.rr-footer-managed .rr-footer-brand-block p{display:block!important;flex:initial!important;font-size:12px!important}
  html body footer.rr-footer-managed .rr-footer-logo{min-height:40px!important;margin-bottom:8px!important}
  html body footer.rr-footer-managed .rr-footer-logo .rr-wordmark-logo{width:min(145px,62%)!important}
  html body footer.rr-footer-managed .rr-footer-links-grid{flex:initial!important}
  html body footer.rr-footer-managed .footer-bottom.rr-footer-bottom-clean{margin-top:14px!important;padding-top:12px!important;gap:5px!important}
  .shop-product-card .shop-card-media{width:calc(100% - 12px)!important;margin:6px!important;border-radius:16px!important}
}

/* Definitive cascade guard against the high-specificity legacy fixed-palette layer. */
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed{
  padding:clamp(30px,3.2vw,48px) max(20px,calc((100vw - 1280px)/2)) max(18px,env(safe-area-inset-bottom))!important;
  background:radial-gradient(circle at 12% 0,color-mix(in srgb,var(--rr-footer-accent) 24%,transparent),transparent 31%),linear-gradient(150deg,var(--rr-footer-surface),var(--rr-footer-bg) 58%)!important;
  color:var(--rr-footer-text)!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-shell{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:clamp(16px,2.2vw,30px)!important;
  width:min(1280px,100%)!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-brand-block,
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-links-block,
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-contact-block{
  min-height:224px!important;
  margin:0!important;
  padding:clamp(20px,2vw,26px)!important;
  border:1px solid color-mix(in srgb,var(--rr-footer-text) 9%,transparent)!important;
  border-radius:min(var(--rr-footer-radius),26px)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--rr-footer-surface) 82%,transparent),color-mix(in srgb,var(--rr-footer-bg) 88%,transparent))!important;
  text-align:center!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-logo{
  width:170px!important;
  max-width:70%!important;
  justify-content:center!important;
  margin:0 auto 14px!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-logo .rr-wordmark-logo{
  width:170px!important;
  max-width:100%!important;
  height:auto!important;
  max-height:54px!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-brand-block p{
  max-width:330px!important;
  margin:0 auto!important;
  color:var(--rr-footer-muted)!important;
  font-size:13px!important;
  text-align:center!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed h4{
  margin:0 0 14px!important;
  color:var(--rr-footer-text)!important;
  font-size:12px!important;
  text-align:center!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed h4::after,
html[dir="rtl"] body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed h4::after{
  right:50%!important;
  left:auto!important;
  background:var(--rr-footer-accent)!important;
  transform:translateX(50%)!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-links-grid{
  align-content:center!important;
  gap:4px 8px!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-links-grid a{
  justify-content:center!important;
  min-height:34px!important;
  padding:5px 8px!important;
  color:var(--rr-footer-muted)!important;
  text-align:center!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-contact-line{
  max-width:270px!important;
  margin:0 auto 8px!important;
  padding:8px 12px!important;
  border:1px solid color-mix(in srgb,var(--rr-footer-text) 9%,transparent)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--rr-footer-surface) 78%,transparent)!important;
  text-align:center!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-wholesale-link{
  width:100%!important;
  max-width:270px!important;
  min-height:40px!important;
  margin:6px auto 0!important;
  padding:8px 14px!important;
  border:1px solid var(--rr-footer-accent)!important;
  border-radius:999px!important;
  background:var(--rr-footer-accent)!important;
  color:#fff!important;
}
html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .footer-bottom.rr-footer-bottom-clean{
  width:min(1280px,100%)!important;
  margin:24px auto 0!important;
  padding:15px 4px 0!important;
  color:var(--rr-footer-muted)!important;
}

@media(max-width:900px){
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-shell{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-brand-block{grid-column:1/-1!important;min-height:180px!important}
}
@media(max-width:768px){
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed{padding:18px 10px max(16px,env(safe-area-inset-bottom))!important}
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-shell{grid-template-columns:1fr!important;gap:10px!important}
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-brand-block,
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-links-block,
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-contact-block{grid-column:auto!important;min-height:0!important;padding:16px!important}
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-logo{width:140px!important;margin-bottom:8px!important}
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-logo .rr-wordmark-logo{width:140px!important}
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .footer-bottom.rr-footer-bottom-clean{margin-top:14px!important;padding-top:12px!important}
}

/* V10.38.1 — purpose-built compact footer composition for phones. */
@media(max-width:768px){
  :root{--rr-mobile-dock-height:62px}
  html body.rr-has-mobile-dock{padding-bottom:0!important}
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed{
    padding:12px 8px calc(82px + env(safe-area-inset-bottom))!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-shell{
    gap:8px!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-brand-block{
    display:grid!important;
    grid-template-columns:116px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:center!important;
    padding:14px!important;
    border-radius:20px!important;
    text-align:start!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-logo{
    width:116px!important;
    max-width:116px!important;
    min-height:36px!important;
    margin:0!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-logo .rr-wordmark-logo{
    width:116px!important;
    max-width:116px!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-brand-block p{
    display:block!important;
    margin:0!important;
    font-size:10.5px!important;
    line-height:1.65!important;
    text-align:start!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-brand-block .footer-social{
    grid-column:1/-1!important;
    margin:2px 0 0!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-links-block,
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-contact-block{
    padding:13px 10px!important;
    border-radius:20px!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed h4{
    margin:0 0 9px!important;
    padding-bottom:8px!important;
    font-size:11px!important;
    letter-spacing:.1em!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-links-grid{
    gap:5px!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-links-grid a{
    min-height:32px!important;
    padding:4px 6px!important;
    border:1px solid color-mix(in srgb,var(--rr-footer-text) 8%,transparent)!important;
    border-radius:11px!important;
    background:color-mix(in srgb,var(--rr-footer-surface) 64%,transparent)!important;
    font-size:10px!important;
    line-height:1.25!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-contact-line{
    max-width:100%!important;
    margin-bottom:6px!important;
    padding:6px 10px!important;
    border-radius:11px!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-contact-line small{
    margin-bottom:2px!important;
    font-size:8px!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-contact-line span{
    font-size:10.5px!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-wholesale-link{
    max-width:100%!important;
    min-height:34px!important;
    margin-top:2px!important;
    padding:6px 10px!important;
    font-size:9.5px!important;
    letter-spacing:.08em!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .footer-bottom.rr-footer-bottom-clean{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
    margin-top:8px!important;
    padding:10px 2px 0!important;
    font-size:8px!important;
    letter-spacing:.055em!important;
    text-align:center!important;
  }
  html body footer.rr-footer-managed .rr-footer-petal{display:none!important}
  html body .rr-mobile-dock{
    right:8px!important;
    bottom:6px!important;
    left:8px!important;
    min-height:var(--rr-mobile-dock-height)!important;
    padding:5px 6px calc(5px + env(safe-area-inset-bottom))!important;
    border-radius:20px!important;
    box-shadow:0 14px 38px rgba(26,11,19,.3)!important;
  }
  html body .rr-mobile-dock a{
    min-height:48px!important;
    gap:2px!important;
    border-radius:14px!important;
    font-size:8px!important;
  }
  html body .rr-mobile-dock svg{width:20px!important;height:20px!important}
  html body.rr-has-mobile-dock .rr-chatbot{
    right:14px!important;
    bottom:calc(var(--rr-mobile-dock-height) + 18px + env(safe-area-inset-bottom))!important;
  }
  html[dir="rtl"] body.rr-has-mobile-dock .rr-chatbot{right:auto!important;left:14px!important}
  html body.rr-has-mobile-dock .rr-chat-toggle{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
  }
  html body.rr-has-mobile-dock .rr-chat-greeting{display:none!important}
}

@media(max-width:390px){
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-brand-block{
    grid-template-columns:104px minmax(0,1fr)!important;
    gap:9px!important;
    padding:12px!important;
  }
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-logo,
  html body footer.site-footer.rr-premium-footer.rr-footer-fixed-palette.rr-footer-managed .rr-footer-logo .rr-wordmark-logo{
    width:104px!important;
    max-width:104px!important;
  }
}
