/* Reiwa Toys v6.1.27 — calm, product-first storefront design system. */
:root{
  --header-height:72px;
  --content-width:1440px;
  --radius-card:18px;
  --radius-control:12px;
  --shadow-card:0 5px 18px rgba(31,26,22,.055);
  --shadow-card-hover:0 14px 34px rgba(31,26,22,.12);
}

body{background:#f8f7f5}
body.dark{background:var(--paper)}
.topbar{
  height:var(--header-height);padding:0 clamp(14px,4vw,56px);
  grid-template-columns:44px minmax(120px,1fr) auto;gap:16px;
  border-color:color-mix(in srgb,var(--line) 82%,transparent);
  background:color-mix(in srgb,var(--card) 92%,transparent);
  box-shadow:0 2px 16px rgba(31,26,22,.045);backdrop-filter:saturate(150%) blur(16px)
}
#homeLogo{justify-self:start!important;display:flex;align-items:center}
.brand-logo{width:auto;height:43px;max-width:154px}
.header-actions{gap:5px}.topbar .icon-btn{border-color:transparent;background:transparent}
.topbar .icon-btn:hover{background:var(--soft)}

.store-assurance-v4{max-width:var(--content-width);margin-top:16px;border-radius:14px;box-shadow:none}
.catalog-heading-v627{
  width:min(var(--content-width),calc(100% - 28px));margin:25px auto 8px;
  display:flex;align-items:end;justify-content:space-between;gap:24px
}
.catalog-heading-v627 p{margin:0 0 6px;color:var(--red);font-size:9px;font-weight:800;letter-spacing:.14em}
.catalog-heading-v627 h1{margin:0;font-size:clamp(20px,2vw,30px);line-height:1.2;letter-spacing:-.035em}
.catalog-heading-v627>span{max-width:480px;color:var(--muted);font-size:11px;line-height:1.55;text-align:right}

.collections{
  max-width:var(--content-width);padding:11px 14px;position:sticky;top:var(--header-height);z-index:24;
  gap:8px;background:color-mix(in srgb,var(--paper) 93%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  backdrop-filter:saturate(150%) blur(14px);scroll-snap-type:x proximity
}
.collections button{
  min-height:38px;padding:8px 15px;scroll-snap-align:start;border-radius:999px;
  box-shadow:0 2px 8px rgba(31,26,22,.025);white-space:nowrap
}
.collections button:hover{border-color:color-mix(in srgb,var(--red) 45%,var(--line));color:var(--red)}
.collections button.active{box-shadow:0 7px 17px rgba(217,40,47,.18)}

.tools{max-width:var(--content-width);margin-top:13px;padding:0 14px;gap:8px}
.search,.select-wrap,.tabs,.filter-btn{border-radius:var(--radius-control);box-shadow:0 2px 10px rgba(31,26,22,.025)}
.search{height:48px;transition:border-color .18s,box-shadow .18s,background-color .18s}
.search:focus-within{border-color:color-mix(in srgb,var(--red) 52%,var(--line));box-shadow:0 0 0 3px rgba(217,40,47,.08)}
.search input{padding-right:82px;font-size:13px}
.search>svg{position:absolute;right:0;pointer-events:none}
.search-clear-v627{
  width:32px;height:32px;display:grid;place-items:center;position:absolute;right:42px;top:8px;
  border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:15px
}
.search-clear-v627:hover{background:var(--soft);color:var(--ink)}
.search-clear-v627[hidden]{display:none}
.tools .search.catalog-searching-v626::after{right:15px}
.tabs button{min-height:38px}.filter-btn{min-height:48px}.select-wrap{height:48px}
.result-line{max-width:var(--content-width);padding:18px 14px 12px}

.grid{max-width:var(--content-width);padding:0 14px 72px;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.card{
  min-height:100%;border-radius:var(--radius-card);box-shadow:var(--shadow-card);
  isolation:isolate;transition:transform .18s cubic-bezier(.2,.7,.25,1),box-shadow .18s,border-color .18s
}
.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--line) 62%,var(--red));box-shadow:var(--shadow-card-hover)}
.card-main:focus-visible{outline-offset:-3px!important;border-radius:var(--radius-card)}
.image-wrap{overflow:hidden;background:#f1efeb}
.image-wrap>img{transition:transform .32s cubic-bezier(.2,.7,.25,1)}
.card:hover .image-wrap>img{transform:scale(1.018)}
.image-wrap .stock-pill{top:10px;right:10px;height:23px;border-radius:999px;box-shadow:0 2px 10px rgba(0,0,0,.1)}
.image-wrap>.badge{display:none!important}
.card-body{min-height:145px;padding:13px 13px 62px}
.card-status-v627{
  min-height:23px;width:max-content;max-width:100%;margin:0 0 9px;padding:5px 9px;
  display:inline-flex;align-items:center;position:static!important;border-radius:8px;color:#fff;font-size:8px;font-weight:800;line-height:1
}
.card-status-v627.ready{background:var(--green)}.card-status-v627.po{background:var(--po)}
.card h2,.card-body h2{
  height:2.9em!important;max-height:2.9em!important;margin:0!important;overflow:hidden!important;
  display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;
  clip-path:inset(0)!important;font-size:12px!important;line-height:1.45!important;font-weight:650
}
.card .category{display:none}
.card .price{position:absolute;left:13px;bottom:16px;max-width:calc(100% - 100px)}
.card .price small,.card .price span{display:none!important}
.card .price strong{margin:0!important;color:var(--red);font-size:15px!important;line-height:1.1;white-space:nowrap;letter-spacing:-.025em}
.card .price>div{display:none}
.card-buttons{left:auto;right:11px;bottom:10px;justify-content:flex-end;gap:5px}
.card .mini-action{box-shadow:none}
.card .mini-action[data-action="toggle-fav"]{
  width:36px!important;min-width:36px!important;height:42px!important;padding:6px!important;
  position:relative;border:0!important;background:transparent!important;color:var(--red)!important
}
.card .mini-action[data-action="toggle-fav"] svg{width:28px!important;height:28px!important;overflow:visible;fill:transparent;stroke:currentColor}
.card .mini-action[data-action="toggle-fav"].active svg{fill:var(--red);stroke:var(--red)}
.favorite-count-v627{
  position:absolute;inset:0;display:grid;place-items:center;padding-top:1px;
  color:var(--red);font:800 8px/1 Arial,sans-serif;pointer-events:none
}
.card .mini-action[data-action="toggle-fav"].active .favorite-count-v627{color:#fff}
.card .mini-action.cart{width:43px;min-width:43px;height:43px;padding:10px;border-radius:12px;box-shadow:0 7px 15px rgba(22,139,99,.18)}
.card .mini-action.cart svg{width:20px;height:20px}

.empty{max-width:620px;margin:20px auto 80px;padding:54px 22px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.empty h2{margin:0 0 8px;font-size:19px}.empty p{margin:0 0 18px;font-size:11px;line-height:1.6}
.empty-reset-v627{min-height:42px;padding:9px 17px;border:0;border-radius:11px;background:var(--red);color:#fff;font-weight:800}

.overlay{z-index:220;background:rgba(16,14,13,.68);backdrop-filter:blur(9px)}
.detail{box-shadow:0 30px 90px rgba(0,0,0,.34)}
.detail-head{z-index:8;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(14px)}
.detail-info h1{letter-spacing:-.03em}.gallery-main{box-shadow:0 8px 30px rgba(31,26,22,.06)}
.price-box{box-shadow:0 12px 28px rgba(0,0,0,.11)}
.detail-info .order-now{transition:transform .1s,filter .16s}.detail-info .order-now:hover{filter:brightness(.96)}

@media(max-width:1180px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-heading-v627>span{max-width:330px}}

@media(max-width:620px){
  :root{--header-height:64px}
  body{padding-top:var(--header-height)!important;background:#f8f7f5}
  .topbar{height:var(--header-height)!important;padding:0 8px!important;grid-template-columns:42px minmax(80px,1fr) auto!important;gap:5px!important}
  .brand-logo{height:37px!important;max-width:126px!important}
  .header-actions{gap:0!important}.topbar .icon-btn{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:8px!important}
  .catalog-heading-v627{width:calc(100% - 24px);margin:18px 12px 5px;align-items:start}
  .catalog-heading-v627 p{font-size:8px}.catalog-heading-v627 h1{font-size:19px;line-height:1.25}
  .catalog-heading-v627>span{display:none}
  .collections{top:var(--header-height)!important;z-index:180!important;padding:9px 12px!important;background:color-mix(in srgb,var(--paper) 96%,transparent)}
  .collections button{min-height:36px;padding:8px 13px}
  .tools{margin-top:4px!important;padding:3px 12px 8px!important;grid-template-columns:minmax(0,1fr) 44px 44px!important;border-bottom:0!important}
  .tools>.search{display:none!important}.tools>.tabs{grid-column:1!important;grid-row:1!important;width:auto!important;min-width:0!important;justify-self:stretch!important}
  .tools>.tabs button{min-width:0;padding:0 7px!important}
  .filter-btn{grid-column:2!important;grid-row:1!important}.sort-icon-wrap{grid-column:3!important;grid-row:1!important}
  .grid{padding:0 9px 66px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .card{border-radius:15px!important}.card:hover{transform:none}
  .card-body{min-height:132px;padding:11px 10px 58px!important}
  .card-status-v627{min-height:22px;margin-bottom:8px;padding:5px 8px;font-size:7px}
  .card h2,.card-body h2{height:2.9em!important;max-height:2.9em!important;font-size:10.5px!important;line-height:1.45!important}
  .card .price{left:10px;bottom:15px;max-width:calc(100% - 87px)}
  .card .price strong{font-size:13px!important}
  .card-buttons{right:7px;bottom:8px;gap:1px!important}
  .card .mini-action[data-action="toggle-fav"]{width:31px!important;min-width:31px!important;height:40px!important;padding:4px!important}
  .card .mini-action[data-action="toggle-fav"] svg{width:25px!important;height:25px!important}
  .favorite-count-v627{font-size:7px}
  .card .mini-action.cart{width:39px!important;min-width:39px!important;height:40px!important;padding:9px!important;border-radius:11px!important}
  .mobile-search-shell{top:calc(var(--header-height) + 7px)!important;z-index:210!important}
  .overlay{z-index:300!important;padding:0!important}.detail{height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding-bottom:88px!important}
  .detail-head{height:var(--header-height)!important;min-height:var(--header-height)!important;top:0!important}
  .detail-layout{padding-top:12px!important}.mobile-detail-buy{z-index:315!important}
  .empty{margin:12px 10px 60px;padding:42px 18px}
}

@media(max-width:350px){.grid{grid-template-columns:1fr!important}.card h2,.card-body h2{font-size:12px!important}.card .price strong{font-size:15px!important}}

@media(prefers-reduced-motion:reduce){.card,.image-wrap>img,.detail-info .order-now{transition:none!important}}
