/* ============================================================
   NEKO IDC · 猫のidc模板 — 官网主题层
   奶油猫咖 / 焦糖橘 / 樱粉 / 墨棕，圆润手账感
   载入顺序：style.css（default 基底）→ neko.css（本文件）
   ============================================================ */
:root{
  --nk-cream:#fff8ee;
  --nk-paper:#fffdfa;
  --nk-milk:#fff3e2;
  --nk-caramel:#e08b4c;
  --nk-caramel-deep:#c96f3b;
  --nk-caramel-soft:#f7d9bd;
  --nk-pink:#f3b3c0;
  --nk-pink-soft:#fdeaf0;
  --nk-matcha:#8fbf9f;
  --nk-matcha-soft:#e8f2ec;
  --nk-ink:#3b2a24;
  --nk-ink2:#5b463c;
  --nk-ink3:#8a7264;
  --nk-line:#efdfcf;
  --nk-line-strong:#e6cfb8;
  --nk-round:22px;
  --nk-round-sm:14px;
  --nk-shadow:0 22px 55px rgba(160,110,70,.14);
  --nk-shadow-sm:0 10px 26px rgba(160,110,70,.10);
  --nk-font:"LXGW WenKai","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --nk-display:"Georgia","Songti SC","Noto Serif SC",serif;
  --nk-paw-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='132' viewBox='0 0 132 132'%3E%3Cg fill='%23c96f3b' fill-opacity='.045'%3E%3Cellipse cx='66' cy='82' rx='17' ry='14'/%3E%3Ccircle cx='46' cy='59' r='7.5'/%3E%3Ccircle cx='66' cy='50' r='7.5'/%3E%3Ccircle cx='86' cy='59' r='7.5'/%3E%3C/g%3E%3C/svg%3E");
  --brand:var(--nk-caramel);
  --brand2:var(--nk-caramel-deep);
  --brand-grad:linear-gradient(135deg,#eaa263,#c96f3b);
  --ink:var(--nk-ink);
  --ink-2:var(--nk-ink2);
  --ink-3:var(--nk-ink3);
  --line:var(--nk-line);
  --bg:var(--nk-cream);
  --radius:var(--nk-round);
  --shadow:var(--nk-shadow);
}
html{scrollbar-width:thin;scrollbar-color:#e0a97a #fdf3e7}
*{scrollbar-width:thin;scrollbar-color:#e0a97a #fdf3e7}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#fdf3e7}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#eab77e,#d98b4f);border-radius:99px;border:2px solid #fdf3e7}
::-webkit-scrollbar-thumb:hover{background:#c96f3b}
::selection{background:#f7d9bd;color:#3b2a24}

html{scroll-behavior:smooth}
body{
  font-family:var(--nk-font);
  color:var(--nk-ink);
  background-color:var(--nk-cream);
  background-image:
    radial-gradient(circle at 8% 0%,rgba(243,179,192,.22),transparent 30%),
    radial-gradient(circle at 96% 12%,rgba(224,139,76,.16),transparent 26%),
    var(--nk-paw-pattern);
  background-attachment:fixed;
  font-size:15px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%}
a{color:inherit;text-decoration:none;transition:color .18s ease}
button{font-family:inherit}
.container{max-width:1200px;padding:0 22px}
.section{padding:64px 0}
.section-head h2{font-family:var(--nk-display);font-size:31px;font-weight:700;letter-spacing:.3px;color:var(--nk-ink)}
.section-head p{color:var(--nk-ink3);margin-top:10px}
.sec-kicker{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--nk-display);font-size:11.5px;font-weight:700;letter-spacing:2.4px;
  color:var(--nk-caramel-deep);text-transform:uppercase;
}
.sec-kicker::before{content:"";width:20px;height:2px;border-radius:2px;background:var(--nk-caramel)}
.sec-kicker svg{width:14px;height:14px}

/* ---------- 按钮 / 标签 ---------- */
.btn{
  border-radius:999px;
  padding:10px 22px;
  font-size:14px;
  font-weight:700;
  border:1.5px solid transparent;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
.btn-primary{
  background:var(--brand-grad);
  color:#fff;
  box-shadow:0 10px 24px rgba(201,111,59,.28);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(201,111,59,.34);opacity:1}
.btn-ghost{
  background:rgba(255,253,250,.86);
  border-color:var(--nk-line-strong);
  color:var(--nk-ink2);
  box-shadow:0 4px 14px rgba(160,110,70,.06);
}
.btn-ghost:hover{border-color:var(--nk-caramel);color:var(--nk-caramel-deep);background:#fffaf3;transform:translateY(-2px)}
.btn-glass{
  background:rgba(255,255,255,.84);
  border-color:rgba(255,255,255,.9);
  color:var(--nk-ink2);
  backdrop-filter:blur(8px);
}
.btn-glass:hover{background:#fff;border-color:var(--nk-caramel);color:var(--nk-caramel-deep)}
.btn-danger{background:#fdeeee;border-color:#f4cccc;color:#c05252}
.btn-success{background:#edf7f0;border-color:#c9e5d3;color:#4f8a67}
.btn:focus-visible,.nk-pill:focus-visible,.nk-tab:focus-visible{outline:2px solid var(--nk-caramel);outline-offset:2px}

.nk-pill{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 13px;border-radius:999px;
  background:var(--nk-pink-soft);color:#b9687a;
  font-size:12px;font-weight:700;letter-spacing:.2px;
}
.nk-pill svg{width:13px;height:13px}
.nk-pill.is-matcha{background:var(--nk-matcha-soft);color:#59826c}
.nk-pill.is-milk{background:var(--nk-milk);color:#a96b3d}

/* ---------- 顶部公告 ---------- */
.top-news{
  background:linear-gradient(90deg,#fff3e2,#fff8ee 45%,#fdeaf0);
  border-bottom:1px dashed var(--nk-line-strong);
}
.top-news .an-head{color:var(--nk-caramel-deep);font-weight:700}
.top-news .an-item{color:var(--nk-ink2);font-size:13px}
.top-news .an-item:hover{color:var(--nk-caramel-deep)}
.top-news .an-item time{color:var(--nk-ink3);font-size:11.5px}

/* ---------- 导航：猫耳 logo + 奶油玻璃 ---------- */
header.nk-nav{
  background:rgba(255,250,243,.86)!important;
  border-bottom:1px solid rgba(230,207,184,.65);
  box-shadow:0 8px 30px rgba(160,110,70,.07);
  backdrop-filter:blur(18px) saturate(160%);
}
header.nk-nav .nav-inner{height:76px;padding:0 24px}
header.nk-nav .brand{gap:12px}
header.nk-nav .brand .logo{
  width:42px;height:42px;border-radius:15px;
  background:linear-gradient(145deg,#f3b3c0,#e08b4c 72%);
  box-shadow:0 8px 20px rgba(201,111,59,.28);
  position:relative;
  overflow:visible;
}
header.nk-nav .brand .logo::before,
header.nk-nav .brand .logo::after{
  content:"";position:absolute;top:-6px;width:14px;height:14px;
  background:linear-gradient(145deg,#f7c0cb,#e79a8f);
  clip-path:polygon(50% 0,100% 100%,0 100%);
  z-index:0;
}
header.nk-nav .brand .logo::before{left:2px;transform:rotate(-14deg)}
header.nk-nav .brand .logo::after{right:2px;transform:rotate(14deg)}
header.nk-nav .brand .logo svg{position:relative;z-index:2;width:24px;height:24px}
.nk-brand-txt{display:flex;flex-direction:column;line-height:1.12;min-width:0}
.nk-brand-txt b{
  font-family:var(--nk-font);font-size:19px;font-weight:800;letter-spacing:.2px;
  color:var(--nk-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px;
}
.nk-brand-txt small{
  margin-top:3px;font-family:var(--nk-display);
  font-size:9.5px;letter-spacing:2.6px;color:var(--nk-caramel-deep);font-weight:700;
}
header.nk-nav .brand-logo-img{height:42px;border-radius:12px}
header.nk-nav .nav-menu{gap:2px}
header.nk-nav .nav-menu>a,
header.nk-nav .nav-drop>.nav-drop-toggle{
  border-radius:999px;padding:9px 15px;font-size:14.5px;color:var(--nk-ink2);
}
header.nk-nav .nav-menu>a:hover,
header.nk-nav .nav-drop:hover>.nav-drop-toggle,
header.nk-nav .nav-menu>a.active,
header.nk-nav .nav-drop.active>.nav-drop-toggle{
  color:var(--nk-caramel-deep);background:rgba(243,179,192,.18)
}
header.nk-nav .nav-menu>a::after,
header.nk-nav .nav-drop>.nav-drop-toggle::after{
  left:15px;right:15px;bottom:3px;height:2.5px;border-radius:999px;
  background:linear-gradient(90deg,var(--nk-pink),var(--nk-caramel));
}
header.nk-nav .nav-right .btn{
  border-radius:999px;padding:9px 19px;font-size:13.5px;
}
header.nk-nav .nav-console{
  background:var(--brand-grad);
  box-shadow:0 8px 18px rgba(201,111,59,.24);
  border-radius:999px;
}
header.nk-nav .avatar{box-shadow:0 0 0 3px #fff8ee,0 0 0 4px var(--nk-line-strong)}
header.nk-nav .nav-drop-menu{
  border-radius:18px;border-color:var(--nk-line);background:var(--nk-paper);
  box-shadow:0 22px 50px rgba(160,110,70,.18);padding:8px;
}
header.nk-nav .nav-drop-menu a{border-radius:12px}
header.nk-nav .nav-drop-menu a:hover{background:var(--nk-milk);color:var(--nk-caramel-deep)}
header.nk-nav .nav-mega{border-radius:20px;box-shadow:0 28px 60px rgba(160,110,70,.24)}
header.nk-nav .nav-mega::before{background:linear-gradient(90deg,var(--nk-pink),var(--nk-caramel),var(--nk-matcha))!important}
header.nk-nav .nm-l1{background:linear-gradient(180deg,#fffaf3,#fff4e7)!important}
header.nk-nav .nm-item{border-radius:10px}
header.nk-nav .nm-item.on{background:linear-gradient(90deg,#fdeaf0,#fff8ee)!important;box-shadow:inset 3px 0 0 var(--nk-pink)!important;color:var(--nk-caramel-deep)!important}
header.nk-nav .nm-count{background:#f8ead9!important;color:#a97e5f!important;border-radius:999px!important}
header.nk-nav .nm-prod{border-radius:11px;border-color:var(--nk-line)!important}
header.nk-nav .nm-prod:hover{border-color:var(--nk-caramel-soft)!important;background:#fffaf3!important;color:var(--nk-caramel-deep)!important;box-shadow:0 8px 18px -12px rgba(201,111,59,.6)!important}

/* ---------- 通用卡片 / 表单 ---------- */
.nk-card{
  background:var(--nk-paper);
  border:1px solid var(--nk-line);
  border-radius:var(--nk-round);
  box-shadow:var(--nk-shadow-sm);
}
.nk-dashed{position:relative}
.nk-dashed::after{
  content:"";position:absolute;inset:7px;border:1px dashed rgba(230,207,184,.85);
  border-radius:calc(var(--nk-round) - 8px);pointer-events:none;
}
.form-control{background:var(--nk-paper);border:1.5px solid var(--nk-line);border-radius:12px;height:44px;padding:0 14px;font-family:inherit;color:var(--nk-ink)}
.form-control:focus{border-color:var(--nk-caramel);box-shadow:0 0 0 4px rgba(224,139,76,.12);outline:none}
textarea.form-control{height:auto;padding:12px 14px}
.panel{background:var(--nk-paper);border:1px solid var(--nk-line);border-radius:var(--nk-round);box-shadow:var(--nk-shadow-sm)}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse}
th{background:#fff5e8;color:var(--nk-ink3)}
td,th{border-bottom:1px solid #f6eadc}
.badge{border-radius:999px;font-weight:700}

/* ---------- 商品卡片（首页与兜底列表共用） ---------- */
.nk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.nk-card-product{
  position:relative;display:flex;flex-direction:column;
  background:var(--nk-paper);
  border:1px solid var(--nk-line);
  border-radius:24px;
  padding:24px 22px 20px;
  box-shadow:var(--nk-shadow-sm);
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.nk-card-product::before{
  content:"";position:absolute;right:-26px;top:-26px;width:112px;height:112px;
  background:radial-gradient(circle,rgba(243,179,192,.3),transparent 68%);
  border-radius:50%;pointer-events:none;
}
.nk-card-product::after{
  content:"";position:absolute;right:14px;top:14px;width:26px;height:26px;
  background-color:var(--nk-pink);opacity:.55;
  -webkit-mask:var(--nk-paw-mask,none);
  pointer-events:none;
}
.nk-card-product:hover{transform:translateY(-6px);box-shadow:var(--nk-shadow);border-color:var(--nk-caramel-soft)}
.nk-pc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;position:relative;z-index:1}
.nk-pc-name{font-size:18px;font-weight:800;color:var(--nk-ink);line-height:1.4}
.nk-pc-stk{flex:none;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;background:var(--nk-matcha-soft);color:#578069;white-space:nowrap}
.nk-pc-stk::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.nk-pc-stk.is-low{background:#fdf1df;color:#b67b3e}
.nk-pc-stk.is-out{background:#fdeeee;color:#c05252}
.nk-pc-desc{color:var(--nk-ink3);font-size:13.5px;line-height:1.8;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;position:relative;z-index:1}
.nk-pc-specs{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0 0 16px;position:relative;z-index:1}
.nk-pc-specs li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--nk-ink3)}
.nk-spec-ic{width:22px;height:22px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:none}
.nk-spec-ic svg{width:12px;height:12px}
.nk-spec-lb{color:var(--nk-ink3);flex:none}
.nk-spec-val{color:var(--nk-ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s-ic-b{background:#d9a06a!important}
.s-ic-g{background:#8fbf9f!important}
.s-ic-p{background:#c9a6d6!important}
.s-ic-o{background:#e8a164!important}
.s-ic-r{background:#e18a8a!important}
.nk-pc-price{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:14px;border-top:1px dashed var(--nk-line)}
.nk-pc-price b{font-family:var(--nk-display);font-size:26px;color:var(--nk-caramel-deep);line-height:1}
.nk-pc-price span{color:var(--nk-ink3);font-size:12px}
.nk-pc-price s{color:#b9a79a;font-size:12.5px}
.nk-pc-buy{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  margin-top:14px;width:100%;height:42px;border-radius:999px;
  background:var(--brand-grad);color:#fff;font-size:13.5px;font-weight:700;
  box-shadow:0 8px 18px rgba(201,111,59,.22);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.nk-pc-buy svg{width:15px;height:15px}
.nk-pc-buy:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(201,111,59,.3);filter:brightness(1.04)}
.nk-pc-buy.soldout{background:#f1e6da;color:#a89283;box-shadow:none;cursor:not-allowed}
.nk-empty{
  grid-column:1/-1;text-align:center;padding:46px 20px;border:1.5px dashed var(--nk-line-strong);
  border-radius:24px;background:rgba(255,253,250,.7);color:var(--nk-ink3);
}
.nk-empty svg{width:64px;height:64px;color:var(--nk-caramel-soft);margin-bottom:10px}

/* ---------- 页脚 ---------- */
.footer{
  position:relative;margin-top:0;background:#3b2a24;
  color:#e9d9c9;padding:0;overflow:hidden;
}
.footer::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 12% 0%,rgba(243,179,192,.14),transparent 30%),
    radial-gradient(circle at 90% 20%,rgba(224,139,76,.16),transparent 30%);
  pointer-events:none;
}
.footer .container{position:relative;z-index:1;padding-top:46px;padding-bottom:22px}
.footer-grid{gap:28px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.09)}
.footer-grid h4{color:#fff6ea;font-size:14.5px;margin-bottom:14px;letter-spacing:.4px}
.footer-grid a{color:#cbb5a2;font-size:13px;display:block;padding:5px 0;transition:.18s}
.footer-grid a:hover{color:#f3b3c0;transform:translateX(3px)}
.footer-grid .about p{color:#b49d8b;font-size:13px;line-height:1.9;max-width:330px}
.footer .ft-logo{max-height:44px;border-radius:10px;margin-bottom:12px}
.footer .ft-site{display:inline-flex;align-items:center;gap:7px;color:#d8c3b0;font-size:12.5px;margin-top:12px;padding:6px 12px;border:1px solid rgba(255,255,255,.13);border-radius:999px}
.footer .ft-site svg{width:14px;height:14px}
.footer .copyright{padding-top:18px;color:#a68f80;font-size:12px;text-align:center;line-height:2}
.footer .copyright p{color:#a68f80}
.footer .copyright a{color:#d8c3b0}
.footer .copyright a:hover{color:#f3b3c0}
.nk-foot-paw{display:flex;justify-content:center;align-items:center;gap:14px;color:#8d7665;font-size:11px;letter-spacing:2px;padding-bottom:6px}
.nk-foot-paw svg{width:16px;height:16px;opacity:.65}

/* ---------- 底部手机导航（inline 样式之后再加强） ---------- */
.bt-nav{background:rgba(255,250,243,.96)!important;border-top:1px solid var(--nk-line)!important;box-shadow:0 -10px 28px rgba(160,110,70,.12)!important}
.bt-nav .bt-item{color:#a68f80;border-radius:14px}
.bt-nav .bt-item .bt-ic{width:42px;border-radius:13px!important}
.bt-nav .bt-item.on{color:var(--nk-caramel-deep)!important;font-weight:700}
.bt-nav .bt-item.on .bt-ic{background:linear-gradient(135deg,#fdeaf0,#fff1e0)!important}
.bt-nav .bt-item.on::before{background:linear-gradient(90deg,var(--nk-pink),var(--nk-caramel))!important;border-radius:999px!important}

/* ---------- 弹窗公告的猫猫化 ---------- */
.mfp-dialog{border-radius:26px!important;background:var(--nk-paper);box-shadow:0 30px 90px rgba(90,55,35,.35)}
.mfp-head{background:linear-gradient(135deg,#eaa263,#c96f3b 80%)!important}
.mfp-btn{background:var(--brand-grad)!important;border-radius:999px!important;box-shadow:0 8px 18px rgba(201,111,59,.3)!important}
.mfp-float{background:var(--brand-grad)!important;border-radius:50%!important;box-shadow:0 12px 30px rgba(201,111,59,.4)!important}
.mfp-float .fl-ring{border-radius:50%!important;border-color:rgba(224,139,76,.55)!important}
.mfp-close{border-radius:50%!important}

/* ---------- 通用内容页（兜底 store/product/cart/checkout/登录后页面） ---------- */
.hero{background:linear-gradient(165deg,#fff1e2 0%,#fff8ee 55%,#fffdfa 100%);border-bottom:1px solid var(--nk-line)}
.hero h1{font-family:var(--nk-display);color:var(--nk-ink)}
.hero h1 em{background:linear-gradient(90deg,var(--nk-caramel-deep),var(--nk-pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-card,.feat,.product-card{border-radius:22px;border-color:var(--nk-line);background:var(--nk-paper)}
.feat .ico{background:var(--nk-milk);color:var(--nk-caramel-deep);border-radius:14px}
.product-card{padding:20px}
.pc-name{color:var(--nk-ink)}
.pc-price b{color:var(--nk-caramel-deep)}
.pc-buy{background:var(--brand-grad);border-radius:999px;color:#fff}
.pc-tag,.pc-stk{border-radius:999px}
.cta-band{background:linear-gradient(135deg,#3b2a24,#6b4636);border-radius:26px;overflow:hidden}
.cta-band .cta-btn{background:var(--nk-pink);color:#563b33;border-radius:999px}
.cta-band .cta-btn:hover{background:#ffdbe3}
.footer-cta{background:linear-gradient(135deg,#3b2a24,#5b3b2f);border-radius:30px;overflow:hidden;position:relative}
.footer-cta::after{content:"";position:absolute;right:-40px;bottom:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(243,179,192,.28),transparent 68%)}
.footer-cta h3{color:#fff6ea;font-family:var(--nk-display)}
.footer-cta p{color:#cbb5a2}
.footer-cta .btn-glass{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24);color:#fff6ea}
.footer-cta .btn-glass:hover{background:rgba(255,255,255,.18);color:#fff}

/* store / product 兜底页 */
.store-hero{background:linear-gradient(160deg,#fff1e2,#fff8ee 60%,#fffdfa)}
.store-hero h1{font-family:var(--nk-display)}
.cat-chip{border-radius:999px}
.product-card .pc-specs .s-ic{border-radius:7px}

/* 响应式 */
@media(max-width:992px){
  .nk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  header.nk-nav .nav-inner{height:70px}
}
@media(max-width:680px){
  .container{padding:0 16px}
  .section{padding:46px 0}
  .nk-grid{grid-template-columns:1fr}
  .nk-brand-txt{display:none}
  header.nk-nav .nav-inner .brand{position:absolute;left:50%;transform:translateX(-50%)}
  .nk-card-product{padding:20px 18px 18px}
  .footer .container{padding-top:34px}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
  .footer-grid>.about{grid-column:1/-1}
  .footer .container{padding-left:18px;padding-right:18px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
