/* SHEFRONT V24 — PUBLIC UI BUG FIX LAYER */

/* Drawer must never leak onto the page when closed. */
.mobile-drawer:not(.open){display:none!important}
.mobile-drawer.open{display:block!important}
.mobile-drawer-panel{box-shadow:18px 0 50px rgba(28,17,29,.22)!important}
.mobile-drawer-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
.mobile-drawer-head .brand{min-width:0!important}
.mobile-drawer-head .brand img{flex:0 0 42px!important}
.drawer-close{
  width:38px!important;height:38px!important;flex:0 0 38px!important;
  border:1px solid #e3d8df!important;border-radius:50%!important;background:#fff!important;
  display:grid!important;place-items:center!important;color:#49314f!important;
  font-size:22px!important;line-height:1!important;cursor:pointer!important;
}

/* Social links stay only in drawer/footer, with readable icon contrast. */
.drawer-socials a{
  display:inline-flex!important;align-items:center!important;gap:6px!important;
  background:#eee3f1!important;color:#49314f!important;
  border:1px solid #dfd1dc!important;
}
.drawer-socials svg{
  width:14px!important;height:14px!important;min-width:14px!important;
  fill:#49314f!important;stroke:#49314f!important;color:#49314f!important;
}
.drawer-socials svg path{fill:#49314f!important;stroke:none!important}
.drawer-socials svg rect,.drawer-socials svg circle{stroke:#49314f!important}

.footer-socials a{align-items:center!important;gap:6px!important}
.footer-socials svg{
  width:14px!important;height:14px!important;min-width:14px!important;
  fill:#fff!important;stroke:#fff!important;color:#fff!important;
}
.footer-socials svg path{fill:#fff!important;stroke:none!important}

/* Auth/recovery forms */
.cms-auth-card input{
  min-height:44px!important;
  outline:none!important;
}
.cms-auth-card input:focus{
  border-color:#8f7296!important;
  box-shadow:0 0 0 3px rgba(73,49,79,.08)!important;
}
.cms-auth-card .btn-primary{
  min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
.text-link{color:#49314f!important;font-weight:800!important}
.text-link:hover{text-decoration:underline!important;text-underline-offset:3px!important}

/* Images should never distort if data is missing or unusually sized. */
.story img,.cards img,.homepage-story-img img{object-fit:cover}

/* Mobile safety */
@media(max-width:620px){
  .container{width:min(calc(100% - 28px),var(--max))!important}
  .cms-auth-card{border-radius:15px!important}
  .mobile-drawer-panel{width:min(94vw,390px)!important}
}
