/* Mojolnir V86: scoped fixes only. Cart mobile scroll, footer alignment, M30 carousel. */
/* I. The cart uses the VISUAL viewport, not Safari's older layout viewport.
   Flex children with min-height:0 are required for touch scroll inside a locked page. */
.mojo-cart-drawer{
  box-sizing:border-box!important;
  top:0!important;bottom:0!important;
  height:100vh!important;height:100dvh!important;
  max-height:100dvh!important;
  min-height:0!important;
  display:flex!important;flex-direction:column!important;
  overflow:hidden!important;
  overscroll-behavior:contain;
}
.mojo-cart-head{flex:0 0 auto!important;min-height:0!important}
.mojo-cart-lines{
  display:grid!important;
  grid-auto-rows:max-content!important;
  align-content:start!important;
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y!important;
  padding:2px 3px 12px 0!important;
}
.mojo-cart-line{min-width:0!important}
.mojo-cart-line>div{min-width:0!important}
.mojo-cart-line-meta{flex-wrap:wrap!important;justify-content:flex-start!important}
.mojo-cart-foot{
  flex:0 0 auto!important;min-height:0!important;
  margin-top:0!important;
  padding:14px 0 max(12px,env(safe-area-inset-bottom))!important;
  background:#f8f3ec;
  position:relative!important;
  z-index:1;
}
.mojo-cart-checkout{margin:0!important;min-height:46px!important}
@media(max-width:760px){
 .mojo-cart-drawer{
    width:min(100vw,440px)!important;
    padding:calc(14px + env(safe-area-inset-top)) 14px 0!important;
    border-left:0!important;
    border-radius:0!important;
 }
 .mojo-cart-head{gap:10px!important;margin-bottom:12px!important}
 .mojo-cart-head h3{font-size:clamp(20px,6vw,26px)!important;line-height:1.12!important}
 .mojo-cart-kicker{font-size:10px!important;letter-spacing:.12em!important}
 .mojo-cart-close{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;flex-shrink:0!important;font-size:24px!important}
 .mojo-cart-line{grid-template-columns:72px minmax(0,1fr)!important;padding:10px!important;gap:10px!important;border-radius:15px!important}
 .mojo-cart-line img{width:72px!important;height:84px!important}
 .mojo-cart-line strong{font-size:13px!important;overflow-wrap:anywhere!important}
 .mojo-cart-line small{font-size:12px!important}
 .mojo-cart-line-meta{gap:7px 11px!important;font-size:13px!important}
 .mojo-cart-qty{margin-right:0!important}
 .mojo-cart-qty button{min-height:30px!important;width:30px!important;height:30px!important}
 .mojo-cart-remove{min-height:30px!important;padding:4px!important;font-size:12px!important}
 .mojo-cart-total{margin-bottom:10px!important}
 .mojo-cart-total strong{font-size:19px!important}
}
@supports not (height:100dvh){.mojo-cart-drawer{height:100%!important;max-height:100%!important}}
/* II. Payment badges are placed below social links, left-aligned rather than forced center. */
.footer-right-tools{min-width:0!important}
.footer-right-tools .footer-social{justify-content:flex-start!important}
.footer-right-tools .footer-payment-inline,
.v86-social-pay .footer-payment-inline,
.footer.v86-inner-footer .footer-payment-inline{
  width:100%!important;
  max-width:100%!important;
  margin:14px 0 0!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
.footer-right-tools .v73-payment-label,
.v86-social-pay .v73-payment-label,
.footer.v86-inner-footer .v73-payment-label{width:100%!important;text-align:left!important;font-size:10px!important}
.footer-right-tools .v73-payment-icons,
.v86-social-pay .v73-payment-icons,
.footer.v86-inner-footer .v73-payment-icons{
  display:grid!important;
  width:max-content!important;
  max-width:100%!important;
  grid-template-columns:repeat(3,max-content)!important;
  justify-content:start!important;
  justify-items:start!important;
  align-items:center!important;
  gap:7px!important;
}
.footer-right-tools .v73-payment-icons img,
.v86-social-pay .v73-payment-icons img,
.footer.v86-inner-footer .v73-payment-icons img{
  max-width:100%!important;
  height:24px!important;
  width:auto!important;
  object-fit:contain!important;
  border-radius:5px!important;
}
.footer.v86-inner-footer .footer-payment-row{
  position:static!important;
  display:block!important;
  margin:16px auto 0!important;
  padding-bottom:25px!important;
  width:min(1360px,calc(100% - 48px))!important;
  text-align:left!important;
}
.footer.v86-inner-footer .v86-social-pay{width:min(100%,320px)!important;display:block!important}
.footer.v86-inner-footer .v86-social-pay .footer-social{justify-content:flex-start!important}
.footer.v86-inner-footer .footer-payment-inline.footer-payment-grid-right{
  grid-column:4!important;
  justify-self:start!important;
}
.footer.v86-inner-footer .footer-bottom-wrap{align-items:flex-start!important}
.footer.v86-inner-footer .footer-payments.footer-payment-inline{margin-left:0!important;align-items:flex-start!important;align-self:flex-start!important}
.footer.v86-inner-footer .footer-link-row{justify-content:flex-start!important}
@media(max-width:980px){
 .footer-right-tools .footer-payment-inline,
 .v86-social-pay .footer-payment-inline,
 .footer.v86-inner-footer .footer-payment-inline{max-width:100%!important;margin-left:0!important;margin-right:0!important;align-items:flex-start!important;align-self:flex-start!important;text-align:left!important}
 .footer.v86-inner-footer .footer-payment-row{width:calc(100% - 32px)!important;justify-content:flex-start!important}
}
@media(max-width:420px){
 .footer-right-tools .v73-payment-icons img,
 .v86-social-pay .v73-payment-icons img,
 .footer.v86-inner-footer .v73-payment-icons img{height:23px!important}
 .footer-right-tools .v73-payment-icons,
 .v86-social-pay .v73-payment-icons,
 .footer.v86-inner-footer .v73-payment-icons{gap:6px!important}
}
/* III. Homepage M30 details: compact viewport-friendly gallery, clipped slide boundaries and smaller controls. */
#m30-details{min-width:0!important;overflow:hidden!important;isolation:isolate}
#m30-details .slider-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin-bottom:12px!important}
#m30-details .slider-top>div:first-child{min-width:0!important;flex:1 1 auto!important}
#m30-details .slider-top h3{font-size:clamp(21px,2.25vw,29px)!important;line-height:1.15!important;margin:5px 0!important;letter-spacing:-.035em!important}
#m30-details .slider-top p{font-size:13px!important;line-height:1.5!important;max-width:700px!important}
#m30-details .navbtns{flex:0 0 auto!important;display:flex!important;gap:8px!important;margin:0!important}
#m30-details .navbtns .sbtn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;font-size:17px!important;line-height:1!important;box-shadow:none!important;border-radius:50%!important}
#m30-details .slides{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;clip-path:inset(0 round 20px)}
#m30-details .track{display:flex!important;width:100%!important;min-width:0!important;will-change:transform}
#m30-details .track>.slide{flex:0 0 100%!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr)!important;gap:12px!important;align-items:center!important;height:clamp(270px,42vh,390px)!important;min-height:0!important}
#m30-details .slide-image{width:100%!important;min-width:0!important;min-height:0!important;height:100%!important;max-height:390px!important;box-sizing:border-box!important;overflow:hidden!important}
#m30-details .slide-image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
#m30-details .slide-copy{min-width:0!important;max-height:100%!important;overflow-y:auto!important;padding:12px 12px!important}
#m30-details .slide-copy h4{font-size:clamp(19px,2vw,23px)!important;margin:0 0 8px!important;line-height:1.2!important}
#m30-details .slide-copy p{font-size:13px!important;line-height:1.65!important}
#m30-details .dots{margin-top:9px!important}
#m30-details .dotx{height:7px!important;width:7px!important}
@media(max-width:900px){
 #m30-details .slider-top{align-items:flex-start!important}
 #m30-details .slider-top h3{font-size:clamp(20px,4.5vw,26px)!important}
 #m30-details .track>.slide{height:auto!important;min-height:0!important;grid-template-columns:1fr!important;gap:8px!important;align-items:start!important}
 #m30-details .slide-image{height:clamp(210px,42vh,320px)!important;min-height:0!important;max-height:none!important}
 #m30-details .slide-copy{overflow:visible!important;padding:8px 6px 8px!important}
 #m30-details .navbtns .sbtn{width:34px!important;height:34px!important;min-height:34px!important;min-width:34px!important;font-size:16px!important}
}
@media(max-width:520px){
 #m30-details{padding:14px!important}
 #m30-details .slider-top{gap:8px!important}
 #m30-details .slider-top h3{font-size:20px!important;line-height:1.12!important}
 #m30-details .slider-top p{font-size:12px!important;line-height:1.4!important}
 #m30-details .slide-image{height:clamp(190px,38vh,275px)!important}
 #m30-details .slide-copy h4{font-size:18px!important}
 #m30-details .slide-copy p{font-size:12px!important;line-height:1.5!important}
 #m30-details .navbtns{gap:5px!important}
}


/* V86 social icon masks for older inner-page footer templates only. */
.footer.v86-inner-footer .footer-social{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  margin-top:12px!important;
  flex-wrap:nowrap!important;
}
.footer.v86-inner-footer .footer-social a{
  position:relative!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  text-indent:0!important;
  font-size:0!important;
  line-height:1!important;
  overflow:hidden!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.20)!important;
  background:rgba(255,255,255,.04)!important;
  box-sizing:border-box!important;
}
.footer.v86-inner-footer .footer-social a:hover{
  background:rgba(255,255,255,.11)!important;
  transform:translateY(-1px);
}
.footer.v86-inner-footer .footer-social a svg,
.footer.v86-inner-footer .footer-social a img,
.footer.v86-inner-footer .footer-social a span{
  display:none!important;
}
.footer.v86-inner-footer .footer-social a::before{
  content:""!important;
  display:block!important;
  width:18px!important;
  height:18px!important;
  background:#fff!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
}
.footer.v86-inner-footer .footer-social a[aria-label="Instagram"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20d=%22M7%202h10a5%205%200%200%201%205%205v10a5%205%200%200%201-5%205H7a5%205%200%200%201-5-5V7a5%205%200%200%201%205-5zm0%202.2A2.8%202.8%200%200%200%204.2%207v10A2.8%202.8%200%200%200%207%2019.8h10a2.8%202.8%200%200%200%202.8-2.8V7A2.8%202.8%200%200%200%2017%204.2H7zm10.25%201.65a1.1%201.1%200%201%201%200%202.2%201.1%201.1%200%200%201%200-2.2zM12%207a5%205%200%201%201%200%2010%205%205%200%200%201%200-10zm0%202.2A2.8%202.8%200%201%200%2012%2014.8%202.8%202.8%200%200%200%2012%209.2z%22/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20d=%22M7%202h10a5%205%200%200%201%205%205v10a5%205%200%200%201-5%205H7a5%205%200%200%201-5-5V7a5%205%200%200%201%205-5zm0%202.2A2.8%202.8%200%200%200%204.2%207v10A2.8%202.8%200%200%200%207%2019.8h10a2.8%202.8%200%200%200%202.8-2.8V7A2.8%202.8%200%200%200%2017%204.2H7zm10.25%201.65a1.1%201.1%200%201%201%200%202.2%201.1%201.1%200%200%201%200-2.2zM12%207a5%205%200%201%201%200%2010%205%205%200%200%201%200-10zm0%202.2A2.8%202.8%200%201%200%2012%2014.8%202.8%202.8%200%200%200%2012%209.2z%22/%3E%3C/svg%3E")!important;
}
.footer.v86-inner-footer .footer-social a[aria-label="Facebook"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20d=%22M13.5%2022v-8h2.7l.4-3h-3.1V9.2c0-.9.3-1.5%201.6-1.5H17V5a23.7%2023.7%200%200%200-2.4-.1c-2.4%200-4.1%201.5-4.1%204.3V11H8v3h2.5v8h3z%22/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20d=%22M13.5%2022v-8h2.7l.4-3h-3.1V9.2c0-.9.3-1.5%201.6-1.5H17V5a23.7%2023.7%200%200%200-2.4-.1c-2.4%200-4.1%201.5-4.1%204.3V11H8v3h2.5v8h3z%22/%3E%3C/svg%3E")!important;
}
.footer.v86-inner-footer .footer-social a[aria-label="YouTube"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20d=%22M23%208.2a3%203%200%200%200-2.1-2.1C19%205.5%2012%205.5%2012%205.5s-7%200-8.9.6A3%203%200%200%200%201%208.2%2031.4%2031.4%200%200%200%20.5%2012%2031.4%2031.4%200%200%200%201%2015.8a3%203%200%200%200%202.1%202.1c1.9.6%208.9.6%208.9.6s7%200%208.9-.6a3%203%200%200%200%202.1-2.1%2031.4%2031.4%200%200%200%20.5-3.8%2031.4%2031.4%200%200%200-.5-3.8zM10%2015.3V8.7L16%2012l-6%203.3z%22/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20d=%22M23%208.2a3%203%200%200%200-2.1-2.1C19%205.5%2012%205.5%2012%205.5s-7%200-8.9.6A3%203%200%200%200%201%208.2%2031.4%2031.4%200%200%200%20.5%2012%2031.4%2031.4%200%200%200%201%2015.8a3%203%200%200%200%202.1%202.1c1.9.6%208.9.6%208.9.6s7%200%208.9-.6a3%203%200%200%200%202.1-2.1%2031.4%2031.4%200%200%200%20.5-3.8%2031.4%2031.4%200%200%200-.5-3.8zM10%2015.3V8.7L16%2012l-6%203.3z%22/%3E%3C/svg%3E")!important;
}
.footer.v86-inner-footer .footer-social a[aria-label="TikTok"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20d=%22M14.5%203c.3%201.8%201.4%203.2%203.1%204.1a6.7%206.7%200%200%200%202.3.8v2.8a9.4%209.4%200%200%201-3.5-.7v5.1c0%203.7-3%206.6-6.6%206.6S3.2%2018.8%203.2%2015.2s3-6.6%206.6-6.6c.3%200%20.6%200%20.9.1v3.1a3.6%203.6%200%201%200%202.8%203.4V3h3z%22/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20d=%22M14.5%203c.3%201.8%201.4%203.2%203.1%204.1a6.7%206.7%200%200%200%202.3.8v2.8a9.4%209.4%200%200%201-3.5-.7v5.1c0%203.7-3%206.6-6.6%206.6S3.2%2018.8%203.2%2015.2s3-6.6%206.6-6.6c.3%200%20.6%200%20.9.1v3.1a3.6%203.6%200%201%200%202.8%203.4V3h3z%22/%3E%3C/svg%3E")!important;
}

@media(max-width:500px){.footer.v86-inner-footer .footer-social{gap:10px!important}.footer.v86-inner-footer .footer-social a{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}}

/* Mobile homepage: bottom purchase shortcuts should never cover the last footer line. */
@media(max-width:900px){
  body:has(.mobile-sticky-buy) .footer{
    padding-bottom:calc(112px + env(safe-area-inset-bottom))!important;
  }
  body:has(.mobile-sticky-buy) .mobile-sticky-buy{
    padding-bottom:calc(10px + env(safe-area-inset-bottom))!important;
  }
}
