/* ========================================================================== */
/* RubyRose V10.29 — Mobile gap removal + premium controllable footer          */
/* ========================================================================== */

/* Root and document flow: footer remains the real end of the page. */
html{
  min-height:100%;
  overflow-x:hidden;
  background:#fdf6f9!important;
}
body.biagiotti-style{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  overflow-x:hidden!important;
  background:#fdf6f9!important;
}
body.biagiotti-style main{
  flex:1 0 auto;
  width:100%;
  max-width:100%;
  background:#fdf6f9!important;
}
body.biagiotti-style footer.site-footer{
  flex-shrink:0;
}

/* Footer visual variables are injected from the admin settings page. */
footer.site-footer.rr-premium-footer{
  --rr-footer-bg:var(--rr-footer-bg-inline,#151015);
  --rr-footer-text:var(--rr-footer-text-inline,rgba(255,255,255,.74));
  --rr-footer-link:var(--rr-footer-link-inline,#ffffff);
  --rr-footer-accent:var(--rr-footer-accent-inline,#e0177a);
  background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--rr-footer-accent) 22%,transparent),transparent 38%),var(--rr-footer-bg)!important;
  color:var(--rr-footer-text)!important;
  margin:0!important;
  border:0!important;
}
footer.site-footer.rr-premium-footer::before,
footer.site-footer.rr-premium-footer::after{
  content:none!important;
  display:none!important;
}
footer.site-footer.rr-premium-footer .rr-footer-glow{
  background:radial-gradient(circle,color-mix(in srgb,var(--rr-footer-accent) 28%,transparent),transparent 64%)!important;
  opacity:.55!important;
}
footer.site-footer.rr-premium-footer a,
footer.site-footer.rr-premium-footer .footer-bottom,
footer.site-footer.rr-premium-footer .rr-footer-signature{
  color:var(--rr-footer-link)!important;
}
footer.site-footer.rr-premium-footer p,
footer.site-footer.rr-premium-footer .rr-footer-contact-line span,
footer.site-footer.rr-premium-footer .footer-bottom span{
  color:var(--rr-footer-text)!important;
}
footer.site-footer.rr-premium-footer h4::after,
footer.site-footer.rr-premium-footer::before{
  background:var(--rr-footer-accent)!important;
}
footer.site-footer.rr-premium-footer .rr-footer-brand h3{
  display:none!important;
}
footer.site-footer.rr-premium-footer .rr-footer-wholesale-card span,
footer.site-footer.rr-premium-footer .rr-footer-wholesale-card p{
  display:none!important;
}
footer.site-footer.rr-premium-footer .rr-footer-wholesale-card{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
footer.site-footer.rr-premium-footer .rr-footer-wholesale-card .footer-btn{
  color:var(--rr-footer-link)!important;
  border-color:color-mix(in srgb,var(--rr-footer-link) 55%,transparent)!important;
}
footer.site-footer.rr-premium-footer .footer-social a{
  color:var(--rr-footer-link)!important;
  border-color:color-mix(in srgb,var(--rr-footer-link) 22%,transparent)!important;
}

/* Mobile only: eliminate useless white spaces while keeping the approved mobile look. */
@media (max-width:900px){
  html body.biagiotti-style main > section.section,
  html body.biagiotti-style main .section,
  html body.biagiotti-style main > section.rr-bg-section{
    content-visibility:visible!important;
    contain:none!important;
    contain-intrinsic-size:0!important;
  }
  html body.biagiotti-style main > section.section:empty,
  html body.biagiotti-style main > section.rr-bg-section:empty{
    display:none!important;
    min-height:0!important;
    height:0!important;
    padding:0!important;
    margin:0!important;
  }
  html body.page-index main > .rr-home-offer-section{
    padding-block:18px!important;
    margin:0!important;
    min-height:0!important;
  }
  html body.page-index main > .rr-home-offer-section + .section,
  html body.page-index main > .rr-home-offer-section + .rr-bg-section{
    margin-top:0!important;
    padding-top:18px!important;
  }
  html body.page-index .rr-home-offer-card{
    margin:0 auto!important;
    min-height:0!important;
    padding:22px 18px!important;
    border-radius:0!important;
  }
  html body.page-index .rr-home-offer-card h2{
    font-size:clamp(22px,7vw,30px)!important;
    line-height:1.12!important;
    margin:8px 0!important;
  }
  html body.page-index .rr-home-offer-card p{
    margin:6px auto 10px!important;
    line-height:1.45!important;
  }
  html body.page-index .rr-offer-countdown{
    margin:10px auto!important;
    gap:6px!important;
  }
  html body.page-index main > .shopping-section,
  html body.page-index main > .rr-dyn-section,
  html body.page-index main > section.section{
    padding-top:22px!important;
    padding-bottom:22px!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
  html body.page-index main > section:last-of-type,
  html body.page-index main > .section:last-of-type{
    padding-bottom:12px!important;
    margin-bottom:0!important;
  }
  html body .rr-section-content-wrap{
    padding-block:0!important;
    margin-block:0!important;
  }
  html body .section-heading{
    margin-bottom:14px!important;
  }
  html body .rr-section-divider{
    display:none!important;
  }
}

/* Extra compact handling for iPhone 11 Pro and similar small mobile widths. */
@media (max-width:430px){
  html body.page-index main > .rr-home-offer-section{
    padding-block:14px!important;
  }
  html body.page-index .rr-home-offer-card{
    padding:18px 14px!important;
  }
  html body.page-index main > .shopping-section,
  html body.page-index main > .rr-dyn-section,
  html body.page-index main > section.section{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }
  html body.page-index main > section:last-of-type,
  html body.page-index main > .section:last-of-type{
    padding-bottom:8px!important;
  }
}

/* Mobile footer: premium compact, logo-only brand, no bottom white tail. */
@media (max-width:900px){
  html body footer.site-footer.rr-premium-footer{
    padding:22px 14px 0!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:0!important;
  }
  html body footer.site-footer.rr-premium-footer .footer-inner,
  html body footer.site-footer.rr-premium-footer .rr-footer-grid{
    max-width:390px!important;
    width:100%!important;
    margin:0 auto!important;
    gap:14px!important;
  }
  html body footer.site-footer.rr-premium-footer .rr-footer-logo{
    margin:0 auto 10px!important;
  }
  html body footer.site-footer.rr-premium-footer .rr-footer-logo img{
    max-width:118px!important;
    max-height:52px!important;
    object-fit:contain!important;
  }
  html body footer.site-footer.rr-premium-footer .rr-footer-brand{
    margin:0!important;
    text-align:center!important;
  }
  html body footer.site-footer.rr-premium-footer .rr-footer-brand p{
    max-width:285px!important;
    margin:0 auto 10px!important;
    font-size:11px!important;
    line-height:1.55!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  html body footer.site-footer.rr-premium-footer .footer-social{
    margin:8px 0 0!important;
    gap:7px!important;
  }
  html body footer.site-footer.rr-premium-footer .footer-social a{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    font-size:11px!important;
    background:color-mix(in srgb,var(--rr-footer-link) 7%,transparent)!important;
  }
  html body footer.site-footer.rr-premium-footer .footer-col h4{
    margin:0 0 8px!important;
    padding-bottom:6px!important;
    font-size:10px!important;
    letter-spacing:.14em!important;
    text-align:center!important;
  }
  html body footer.site-footer.rr-premium-footer .footer-col:first-of-type{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    row-gap:5px!important;
    column-gap:7px!important;
    margin-top:8px!important;
  }
  html body footer.site-footer.rr-premium-footer .footer-col:first-of-type > a{
    min-height:26px!important;
    padding:0 6px!important;
    border-radius:999px!important;
    font-size:9.5px!important;
    background:color-mix(in srgb,var(--rr-footer-link) 5%,transparent)!important;
    border-color:color-mix(in srgb,var(--rr-footer-link) 10%,transparent)!important;
  }
  html body footer.site-footer.rr-premium-footer .rr-footer-contact{
    margin-top:12px!important;
  }
  html body footer.site-footer.rr-premium-footer .rr-footer-contact-line{
    max-width:260px!important;
    margin-bottom:5px!important;
    padding-bottom:5px!important;
  }
  html body footer.site-footer.rr-premium-footer .rr-footer-contact-line small{
    font-size:7.5px!important;
  }
  html body footer.site-footer.rr-premium-footer .rr-footer-contact-line span{
    font-size:10.5px!important;
    line-height:1.35!important;
  }
  html body footer.site-footer.rr-premium-footer .rr-footer-wholesale-card{
    margin:8px auto 0!important;
  }
  html body footer.site-footer.rr-premium-footer .rr-footer-wholesale-card .footer-btn{
    font-size:9.5px!important;
    letter-spacing:.12em!important;
  }
  html body footer.site-footer.rr-premium-footer .footer-bottom{
    margin-top:12px!important;
    padding:9px 0 calc(10px + env(safe-area-inset-bottom))!important;
    border-top:1px solid color-mix(in srgb,var(--rr-footer-link) 10%,transparent)!important;
    font-size:9px!important;
    line-height:1.45!important;
    gap:2px!important;
  }
}

@media (max-width:380px){
  html body footer.site-footer.rr-premium-footer .footer-col:first-of-type > a{
    font-size:9px!important;
    min-height:24px!important;
  }
  html body footer.site-footer.rr-premium-footer .footer-bottom{
    font-size:8.5px!important;
  }
}
