/* Inter 本地字体，不再请求 fonts.loli.net */
@font-face{
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/Themes/Chirou/Assets/fonts/InterVariable.woff2) format("woff2");
}

/* Tokyo overlay: reset Simple leftovers + bootstrap-less nav + notice */
html, body.tokyo-theme{
  padding-top: 0 !important;
  background: var(--tokyo-bg) !important;
}
.theme-chirou .ew-header,
.theme-chirou .ew-footer,
.theme-chirou .mobile-footer-menu,
#home-boot,
#khb-boot{ display:none !important; }

.tk-ico{
  width: 15px; height: 15px; flex: 0 0 15px;
  display: inline-block; vertical-align: -2px;
}
.tokyo-category-icon .icon,
.tokyo-commodity-thumb .icon{
  width: 18px; height: 18px; fill: currentColor;
}
.tokyo-category-icon-all svg{
  width: 14px; height: 14px; display:block;
  color: #555860;
}
.tokyo-category-link.is-active .tokyo-category-icon-all svg{ color: inherit; }
.tokyo-category-icon,
.tokyo-commodity-thumb{
  display: inline-flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.tokyo-commodity-thumb{ width:42px; height:42px; }

.navbar-toggler{ appearance:none; -webkit-appearance:none; }
.navbar-collapse{ display:none; }
.navbar-collapse.show{ display:block; }
.tokyo-nav-toggle{ display:none; }

@media (min-width: 1200px){
  .navbar-collapse{ display:flex !important; }
  .tokyo-nav-toggle{ display:none !important; }
}
@media (max-width: 1199.98px){
  .tokyo-nav-toggle{ display:inline-flex; }
}

.tokyo-notice-mask{
  position:fixed; inset:0; z-index:2000;
  display:flex; align-items:center; justify-content:center;
  padding: 20px 12px;
  background: rgba(28,32,36,.28);
}
.tokyo-notice-mask[hidden]{ display:none !important; }
.tokyo-notice-mask .tokyo-notice-modal{
  width: min(760px, 100%);
  background: #fff;
  border: 1px solid var(--tokyo-border);
  border-radius: 28px;
  box-shadow: var(--tokyo-shadow-elevated);
}

.theme-chirou .ew-banner{ background:#111 !important; }
.theme-chirou .body-card{ background:transparent !important; box-shadow:none !important; }
.theme-chirou .layui-card{ border-radius: 18px !important; }

.tokyo-shell,
.tokyo-nav-wrap,
.tokyo-footer-wrap{
  width: min(1540px, calc(100% - 72px)) !important;
  max-width: none;
}
.tokyo-commodity-row.is-sold{ opacity:.62; }
@media (min-width: 1025px){
  .tokyo-shop-layout{
    grid-template-columns: 252px minmax(0,1fr) !important;
    gap: 4px !important;
  }
  .tokyo-sidebar-panel .panel-header{
    padding: 14px 10px 10px !important;
  }
  .tokyo-sidebar-panel .tokyo-index-heading{
    min-height: auto !important;
  }
  .tokyo-sidebar-panel .panel-body{
    padding: 8px 6px 10px !important;
  }
  .tokyo-category-link{
    padding: 7px 8px !important;
    font-size: 0.82rem;
    gap: 8px;
  }
  .tokyo-category-count{
    min-width: 24px;
    padding: 0 6px;
    height: 20px;
    font-size: 0.66rem;
  }
}
.tokyo-category-link{ align-items: flex-start; }
.tokyo-category-icon{ margin-top: 2px; }
.tokyo-category-copy{ overflow: visible; }
.tokyo-category-name{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  line-height: 1.3;
  word-break: break-word;
}
.tokyo-commodity-col-action,
.tokyo-commodity-action{ display:none !important; }
.tokyo-commodity-col-price{ width:72px !important; }
.tokyo-commodity-col-stock{ width:56px !important; }
.tokyo-commodity-table thead th:nth-child(2),
.tokyo-commodity-table thead th:nth-child(3),
.tokyo-commodity-table tbody td:nth-child(2),
.tokyo-commodity-table tbody td:nth-child(3){
  padding-left: 6px !important;
  padding-right: 10px !important;
  text-align: right;
  white-space: nowrap;
}
.tokyo-commodity-name{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-break: break-word;
  line-height: 1.4;
}
.tokyo-commodity-main{ min-width: 0 !important; }
.tokyo-commodity-table thead th:nth-child(3),
.tokyo-commodity-table tbody td:nth-child(3){ text-align: right; }

.tokyo-item-grid{
  display:grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
  grid-template-areas:
    "meta form"
    "notice form";
  gap: 18px 28px;
  align-items: start;
}
.tokyo-item-grid--nosku{
  grid-template-areas:
    "meta form"
    "meta notice";
}
.tokyo-item-meta{ grid-area: meta; display:flex; flex-direction:column; gap:12px; min-width:0; }
.tokyo-item-form-wrap{ grid-area: form; }
.tokyo-item-notice{ grid-area: notice; }
.tokyo-item-specs{
  display:grid;
  gap:0;
  border:1px solid var(--tokyo-border);
  border-radius:16px;
  overflow:hidden;
  background:#fbfbfc;
}
.tokyo-item-spec{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  border-top:1px solid var(--tokyo-border);
  font-size:13px;
}
.tokyo-item-spec:first-child{ border-top:0; }
.tokyo-item-spec span{ color:var(--tokyo-muted); }
.tokyo-item-spec b{ color:var(--tokyo-text); font-weight:700; }
.tokyo-item-left{ display:none; }
.tokyo-item-notice{
  padding:14px 16px;
  border:1px solid var(--tokyo-border);
  border-radius:18px;
  background:var(--tokyo-bg);
  font-size:13px;
  line-height:1.7;
}
.tokyo-item-notice-hd{
  margin:0 0 8px;
  color:var(--tokyo-black);
  font-size:14px;
  font-weight:800;
  letter-spacing:-.03em;
}
.tokyo-item-notice-bd{ color:var(--tokyo-text); }
.tokyo-item-notice-bd ul{ margin:0; padding-left:18px; }
.tokyo-item-cover-card{
  min-height: 280px;
  display:flex; align-items:center; justify-content:center;
}
.tokyo-item-cover-trigger{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; min-height:360px;
  cursor:default;
}
.item-cover-icon{ width:140px; height:140px; fill:currentColor; color:#1c2024; }
.tokyo-item-inline-title{
  display:flex;
  align-items:flex-start;
  gap:8px;
}
.tokyo-item-title-icon{
  display:block;
  flex:none;
  width:22px;
  height:22px;
  margin-top:3px;
  fill:currentColor;
}
.tokyo-form-stack{ display:grid; gap:16px; }
.simple-pay-item input,
.simple-sku-item input{ position:absolute; opacity:0; pointer-events:none; }
.simple-pay-item.is-active,
.pay.simple-pay-item.is-active{
  border-color: var(--tokyo-black);
  background: var(--tokyo-black);
  color: #fff;
}
.simple-pay-surcharge{ font-size:11px; opacity:.8; }
.tokyo-qty-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
.tokyo-qty-actions .qty-group{
  width:188px;
  max-width:none;
  flex:none;
}
.tokyo-qty-actions .tokyo-button{
  width:auto !important;
  min-width:140px;
  min-height:42px;
  flex:none;
}

.tokyo-auth-card{ max-width:460px; margin: 28px auto 40px; padding: 28px 26px 32px; }
.tokyo-auth-head{ text-align:center; margin-bottom:22px; }
.tokyo-auth-head .tokyo-brand-mark{ width:56px; height:56px; margin:0 auto 12px; }
.tokyo-auth-head h1{ margin:0 0 8px; font-size:1.5rem; font-weight:800; letter-spacing:-.04em; }
.tokyo-auth-head p{ margin:0; color:var(--tokyo-muted); font-size:.88rem; }
.tokyo-check{ display:flex; align-items:center; gap:8px; color:var(--tokyo-muted); font-size:.86rem; }
.tokyo-auth-foot{ margin:8px 0 0; text-align:center; color:var(--tokyo-muted); font-size:.86rem; }
.tokyo-auth-foot a{ color:var(--tokyo-link); font-weight:600; }

.tokyo-item-badges{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.tokyo-item-buy-tip{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin-left:4px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(194,65,12,.1);
  color:#9a3412;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.01em;
}
.tokyo-item-buy-tip-vip{
  background:rgba(22,163,74,.1);
  color:#15803d;
}
.tokyo-card-hint{
  flex:1 1 180px;
  min-width:0;
  color:#c2410c;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
}

@media (max-width: 991px){
  .tokyo-shell,
  .tokyo-nav-wrap,
  .tokyo-footer-wrap{
    width: calc(100% - 12px) !important;
  }
  .tokyo-nav-shell{ padding-top: 8px; }
  .tokyo-main{ margin-top: 10px !important; padding-bottom: 20px !important; }
  .tokyo-shop-layout{ margin-top: 10px !important; }
  .tokyo-index-heading,
  .tokyo-catalog-heading{ min-height: auto !important; padding: 14px 12px 10px !important; }
  .tokyo-catalog-body,
  .panel-body{ padding: 12px !important; }
  .tokyo-item-panel .panel-body{ padding: 14px 12px !important; }
  .tokyo-item-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "meta"
      "form"
      "notice";
    gap:16px;
  }
  .tokyo-item-cover-card,
  .tokyo-item-cover-trigger{ display:none !important; min-height:0 !important; height:0 !important; }
  .tokyo-item-title-icon{ display:block; }
  .tokyo-item-buy-tip{ margin-left:0; }
}

.tokyo-cate-block{
  margin: 0 0 16px;
  padding: 14px 12px 8px;
  background: #fafafa;
  border: 1px solid var(--tokyo-border, #ececec);
  border-radius: 16px;
}
.tokyo-cate-block:last-child{ margin-bottom: 0; }
.tokyo-cate-head{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  margin: 0 0 10px;
  padding: 0 2px 10px;
  border-bottom: 1px solid #eee;
}
.tokyo-cate-head-icon{
  width:36px; height:36px; flex:0 0 36px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:12px; background:#fff; color:#111;
  border: 1px solid #ececec;
}
.tokyo-cate-head-icon .icon{ width:18px; height:18px; fill:currentColor; }
.tokyo-cate-head-copy{ min-width:0; display:grid; gap:2px; }
.tokyo-cate-head-name{
  font-size:15px; font-weight:800; letter-spacing:-.03em; color:#111;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.tokyo-cate-head-count{ font-size:12px; color:#80838a; }
.tokyo-cate-head-more{
  margin-left:auto; flex:0 0 auto;
  font-size:12px; color:#60646c;
  padding:6px 10px; border-radius:999px;
  background:#fff; border:1px solid #ececec;
}
.tokyo-cate-block .tokyo-table-wrap{ margin:0; }
.tokyo-cate-block .tokyo-commodity-table{ background:transparent; }
@media (max-width: 767.98px){
  .tokyo-cate-block{ padding: 12px 8px 4px; border-radius: 14px; }
  .tokyo-cate-head{ padding-bottom: 8px; margin-bottom: 6px; }
}
