/* My Japan Friend v58 — unified horizontal store tiles.
  This layout intentionally supersedes the old square v52/v54/v57 cards.
  Logo is left; official store name/category at right. */
body.marketplace .mjf-directory #shopRail .store-links,
body.marketplace .mjf-directory #shopRail .mjf-retail-grid{
  display:contents!important;
}
body.marketplace .mjf-directory #shopRail .store-tile,
body.marketplace .mjf-directory #shopRail .mjf-retail-grid > .mjf-retail-card{
  box-sizing:border-box!important;
  position:relative!important;
  display:flex!important;
  flex:0 0 144px!important;
  width:144px!important;
  min-width:144px!important;
  max-width:144px!important;
  height:76px!important;
  min-height:76px!important;
  max-height:76px!important;
  margin:0!important;
  padding:9px!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #e3e8ef!important;
  border-radius:12px!important;
  box-shadow:none!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  text-align:left!important;
  scroll-snap-align:start!important;
}
body.marketplace .mjf-directory #shopRail .store-tile:hover,
body.marketplace .mjf-directory #shopRail .mjf-retail-grid > .mjf-retail-card:hover{
  border-color:#b8c9de!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(26,48,77,.065)!important;
}
body.marketplace .mjf-directory #shopRail .store-tile > .store-link{
  box-sizing:border-box!important;
  position:static!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  column-gap:8px!important;
  align-items:center!important;
  justify-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  margin:0!important;
  padding:0!important;
  gap:8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.marketplace .mjf-directory #shopRail .store-tile .store-logo,
body.marketplace .mjf-directory #shopRail .mjf-retail-grid .mjf-brand-icon{
  box-sizing:border-box!important;
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  grid-column:1!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  justify-self:center!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #e6eaf0!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
body.marketplace .mjf-directory #shopRail .store-logo img,
body.marketplace .mjf-directory #shopRail .mjf-retail-grid .mjf-brand-icon img{
  box-sizing:border-box!important;
  display:block!important;
  position:absolute!important;
  inset:auto!important;
  top:50%!important;
  left:50%!important;
  width:34px!important;
  height:34px!important;
  min-width:0!important;
  max-width:34px!important;
  min-height:0!important;
  max-height:34px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate(-50%,-50%)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
body.marketplace .mjf-directory #shopRail .store-logo img[hidden],
body.marketplace .mjf-directory #shopRail .mjf-retail-grid .mjf-brand-icon img[hidden]{
  display:none!important;
}
body.marketplace .mjf-directory #shopRail .store-tile > .store-logo-direct{
  display:block!important;
  position:absolute!important;
  left:9px!important;
  top:calc(50% - 21px)!important;
  width:42px!important;
  height:42px!important;
  border-radius:10px!important;
  z-index:3!important;
}
body.marketplace .mjf-directory #shopRail .store-tile .store-names{
  box-sizing:border-box!important;
  display:flex!important;
  position:static!important;
  flex-direction:column!important;
  grid-column:2!important;
  grid-row:1!important;
  justify-content:center!important;
  align-items:flex-start!important;
  align-self:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  max-height:none!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  text-align:left!important;
  overflow:hidden!important;
}
body.marketplace .mjf-directory #shopRail .store-tile .store-names b{
  box-sizing:border-box!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  max-width:100%!important;
  max-height:2.7em!important;
  overflow:hidden!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
  white-space:normal!important;
  color:#23374a!important;
  font-size:11.2px!important;
  font-weight:750!important;
  line-height:1.35!important;
  text-align:left!important;
  margin:0!important;
  padding:0!important;
}
body.marketplace .mjf-directory #shopRail .store-tile .store-action,
body.marketplace .mjf-directory #shopRail .store-tile .store-external,
body.marketplace .mjf-directory #shopRail .store-tile .store-names small{
  display:none!important;
}
body.marketplace .mjf-directory #shopRail .store-tile .logo-fallback{
  color:#34465b!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
}
/* Official brand cards: a real two-column grid, not vertically squeezed boxes. */
body.marketplace .mjf-directory #shopRail .mjf-retail-grid > .mjf-retail-card > .mjf-retail-brand-link{
  box-sizing:border-box!important;
  position:static!important;
  display:grid!important;
  flex:none!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:8px!important;
  row-gap:2px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:42px!important;
  max-height:58px!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  justify-items:stretch!important;
  align-self:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  color:#23374a!important;
  text-align:left!important;
  text-decoration:none!important;
}
body.marketplace .mjf-directory #shopRail .mjf-retail-grid .mjf-brand-fallback{
  box-sizing:border-box!important;
  display:grid!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  place-items:center!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--mjf-brand-color,#2d4051)!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
body.marketplace .mjf-directory #shopRail .mjf-brand-icon img:not([hidden]) + .mjf-brand-fallback{
  opacity:0!important;
  pointer-events:none!important;
}
body.marketplace .mjf-directory #shopRail .mjf-retail-card[data-mjf-mark="text"] .mjf-brand-icon img{
  display:none!important;
}
body.marketplace .mjf-directory #shopRail .mjf-retail-card[data-mjf-mark="text"] .mjf-brand-fallback{
  opacity:1!important;
}
/* Brand text is neutral charcoal. Only true logos/monograms keep brand color. */
body.marketplace .mjf-directory #shopRail .mjf-retail-grid .mjf-retail-card > .mjf-retail-brand-link > h3{
  position:static!important;
  display:-webkit-box!important;
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  justify-self:stretch!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:2.65em!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  color:#23374a!important;
  font-size:11.2px!important;
  font-weight:750!important;
  line-height:1.3!important;
  text-align:left!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
  white-space:normal!important;
  letter-spacing:-.015em!important;
}
body.marketplace .mjf-directory #shopRail .mjf-retail-grid .mjf-retail-card > .mjf-retail-brand-link > .mjf-store-kind{
  position:static!important;
  display:block!important;
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:12px!important;
  min-height:12px!important;
  max-height:12px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  color:#84909d!important;
  font-size:9px!important;
  font-weight:400!important;
  line-height:12px!important;
  text-align:left!important;
}
/* Black/white true favicon marks; NB and ABC-Mart text fallbacks on WHITE. */
body.marketplace .mjf-directory #shopRail .mjf-retail-card[title="NB Outlet"] .mjf-brand-fallback,
body.marketplace .mjf-directory #shopRail .mjf-retail-card[title="New Balance"] .mjf-brand-fallback{
  color:#cf102d!important;font-size:13px!important;
}
body.marketplace .mjf-directory #shopRail .mjf-retail-card[title="ABC-MART"] .mjf-brand-fallback{
  color:#cf1625!important;font-size:11px!important;
}
/* Legitimate brand image scale correction; does not distort aspect ratio. */
body.marketplace .mjf-directory #shopRail .mjf-retail-card[title="ASICS Japan"] .mjf-brand-icon img,
body.marketplace .mjf-directory #shopRail .mjf-retail-card[title="On Japan"] .mjf-brand-icon img,
body.marketplace .mjf-directory #shopRail .mjf-retail-card[title="Onitsuka Tiger"] .mjf-brand-icon img{
  width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important;
}
@media(max-width:620px){
  body.marketplace .mjf-directory #shopRail .store-tile,
  body.marketplace .mjf-directory #shopRail .mjf-retail-grid > .mjf-retail-card{
    flex:0 0 134px!important;width:134px!important;min-width:134px!important;max-width:134px!important;
  }
}

/* v60: Distinguish store filtering from product-category browsing. */
.mjf-directory .mjf-store-filter-details{margin:0 0 10px!important;padding:0!important;border:0!important;background:transparent!important}
.mjf-directory .mjf-store-filter-summary{display:inline-flex!important;align-items:center!important;padding:5px 11px!important;margin:0!important;background:#f7f8fa!important;color:#657588!important;border:1px solid #e6eaf0!important;border-radius:8px!important;font-size:11px!important;line-height:1.4!important;font-weight:650!important;cursor:pointer!important;list-style:none!important}
.mjf-directory .mjf-store-filter-summary::-webkit-details-marker{display:none}
.mjf-directory .mjf-store-filter-summary:before{content:"▸";margin-right:7px;color:#62768b}
.mjf-directory .mjf-store-filter-details[open] .mjf-store-filter-summary:before{content:"▾"}
.mjf-directory .mjf-store-filter-details:not([open]) .mjf-store-filters{display:none!important}
.mjf-directory .mjf-store-filter-details[open] .mjf-store-filters{margin:9px 0 1px!important}
.mjf-directory #shopRail .mjf-retail-card[hidden],.mjf-directory #shopRail .store-tile[hidden]{display:none!important}

/* v60.1: Hidden tiles must stay hidden even against the legacy inline !important tile grid. */
body.marketplace .mjf-directory #shopRail .mjf-retail-grid > .mjf-retail-card[hidden],
body.marketplace .mjf-directory #shopRail .store-links > .store-tile[hidden]{display:none!important}
