/* FoxiWorld brand system v140 — supplied official artwork */
:root{--foxiworld-mark:url('/assets/brand/foxiworld-mark.webp');--foxiworld-full-logo:url('/assets/brand/foxiworld-logo-full.webp')}

/* Shared compact mark. Keep text beside it readable at every breakpoint. */
.brand-fox,.fw-logo__mark,.v12-logo-mark,.v12-logo__mark{
  width:58px!important;height:58px!important;min-width:58px!important;display:grid!important;place-items:center!important;
  padding:0!important;border:0!important;border-radius:16px!important;background:transparent!important;box-shadow:none!important;
  font-size:0!important;line-height:0!important;transform:none!important;overflow:visible!important
}
.brand-fox img,.fw-logo__mark img,.v12-logo-mark img,.v12-logo__mark img,
.brand-fox svg,.fw-logo__mark svg,.v12-logo-mark svg,.v12-logo__mark svg{
  width:100%!important;height:100%!important;display:block!important;object-fit:contain!important;filter:none!important
}
.fw-logo,.v12-logo,.brand{align-items:center!important}
.fw-logo__text,.v12-logo>span:last-child{min-width:0}

/* Admin identity */
.admin-brand>span:first-child{
  width:54px!important;height:54px!important;min-width:54px!important;display:grid!important;place-items:center!important;
  padding:0!important;border-radius:16px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 10px 26px rgba(0,0,0,.14)!important;
  font-size:0!important;overflow:hidden!important
}
.admin-brand>span:first-child img{width:100%;height:100%;object-fit:contain;display:block}

/* Customer/auth/payment branding */
.checkout-auth-fox,.contact-map-badge>span:first-child,.auth-pet-art>span:first-child{
  font-size:0!important;background-image:var(--foxiworld-mark)!important;background-repeat:no-repeat!important;
  background-position:center!important;background-size:contain!important
}
.checkout-auth-fox{background-color:rgba(255,255,255,.9)!important}

/* Foxi Orbit: official compact mark, without the former fox SVG. */
.fx-orbit__trigger{background:#fff!important;padding:7px!important;overflow:hidden!important;box-shadow:0 15px 42px rgba(54,17,10,.24),0 0 0 6px rgba(139,35,24,.10)!important}
.fx-orbit__trigger img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important}

/* Premium loading curtain using the supplied full logo. */
.fx-page-curtain{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(12px)!important}
.fx-page-curtain span{
  width:min(360px,72vw)!important;height:min(310px,58vw)!important;border-radius:30px!important;
  background:rgba(255,255,255,.98) var(--foxiworld-full-logo) center/contain no-repeat!important;
  border:1px solid rgba(113,29,22,.10)!important;box-shadow:0 28px 85px rgba(67,22,15,.18)!important;
  animation:foxiworldBrandPulse 1.15s ease-in-out infinite alternate!important
}
.fx-page-curtain span::before{content:none!important}
@keyframes foxiworldBrandPulse{from{transform:translateY(4px) scale(.985);opacity:.88}to{transform:translateY(-4px) scale(1);opacity:1}}

/* Branded lightweight loading states used before API content is ready. */
.product-error:has(+ :not(*)),.oms-loading{position:relative}
.oms-loading::before{content:"";display:block;width:86px;height:78px;margin:0 auto 14px;background:var(--foxiworld-mark) center/contain no-repeat;animation:foxiworldBrandPulse 1.1s ease-in-out infinite alternate}

/* Fallback if JS is blocked: display the mark as a CSS image. */
.brand-fox:empty,.fw-logo__mark:empty,.v12-logo-mark:empty,.v12-logo__mark:empty{background-image:var(--foxiworld-mark)!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important}

@media(max-width:1180px){
  .brand-fox,.fw-logo__mark,.v12-logo-mark,.v12-logo__mark{width:52px!important;height:52px!important;min-width:52px!important}
}
@media(max-width:720px){
  .brand-fox,.fw-logo__mark,.v12-logo-mark,.v12-logo__mark{width:46px!important;height:46px!important;min-width:46px!important;border-radius:13px!important}
  .fx-page-curtain span{width:min(300px,82vw)!important;height:min(270px,72vw)!important;border-radius:24px!important}
}
@media(prefers-reduced-motion:reduce){.fx-page-curtain span,.oms-loading::before{animation:none!important}}
