/* ── Mobile bottom tab bar (app style) ── */
.tabbar,.sheet,.sheet-bg{display:none;}

@media (max-width:1080px){
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom));}

  .tabbar{
    display:grid;grid-template-columns:repeat(5,1fr);
    position:fixed;left:0;right:0;bottom:0;z-index:900;
    padding:6px 6px calc(6px + env(safe-area-inset-bottom));
    background:var(--tab-bg,rgba(251,248,245,.92));
    backdrop-filter:saturate(1.6) blur(20px);-webkit-backdrop-filter:saturate(1.6) blur(20px);
    border-top:1px solid rgba(180,140,100,.18);
    box-shadow:0 -6px 24px rgba(26,24,20,.06);
  }
  .tab{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    min-height:52px;border-radius:14px;border:0;background:none;cursor:pointer;
    color:#8A857F;text-decoration:none;font:500 10.5px/1 'Inter',sans-serif;letter-spacing:.02em;
    -webkit-tap-highlight-color:transparent;transition:color .25s,background .25s;
  }
  .tab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s;}
  .tab:active svg{transform:scale(.88);}
  .tab.on,.tab.in-more{color:#B8902A;}
  .tab.on{background:rgba(184,144,42,.10);}
  .tab.on svg{stroke-width:2;}

  .sheet-bg{display:block;position:fixed;inset:0;z-index:880;background:rgba(15,13,10,.35);opacity:0;transition:opacity .3s;}
  .sheet-bg.open{opacity:1;}
  .sheet{
    display:block;position:fixed;left:8px;right:8px;z-index:890;
    bottom:calc(72px + env(safe-area-inset-bottom));
    background:var(--bg,#FBF8F5);border-radius:22px;padding:10px 16px 18px;
    box-shadow:0 18px 50px rgba(26,24,20,.22);
    transform:translateY(24px);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s;
  }
  .sheet.open{transform:none;opacity:1;}
  .sheet[hidden],.sheet-bg[hidden]{display:none;}
  .sheet-handle{width:38px;height:4px;border-radius:2px;background:rgba(26,24,20,.15);margin:0 auto 14px;}
  .sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
  .sheet-item{
    display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px;border-radius:16px;
    background:var(--white,#fff);border:1px solid rgba(180,140,100,.14);
    color:var(--black,#1A1814);text-decoration:none;font:500 12px/1.2 'Inter',sans-serif;text-align:center;
    -webkit-tap-highlight-color:transparent;
  }
  .sheet-item.on{border-color:#B8902A;color:#B8902A;}
  .sheet-ico{width:40px;height:40px;border-radius:12px;background:rgba(184,144,42,.10);display:flex;align-items:center;justify-content:center;}
  .sheet-ico svg{width:20px;height:20px;fill:none;stroke:#B8902A;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
  .sheet-cta{
    display:block;margin-top:12px;padding:14px;border-radius:14px;text-align:center;
    background:#1A1814;color:#fff;text-decoration:none;font:600 12px/1 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;
  }
}
@media (max-width:1080px) and (prefers-reduced-motion:reduce){
  .sheet,.sheet-bg{transition:none;}
}

[data-theme=dark]{--tab-bg:rgba(19,17,14,.92);}
[data-theme=dark] .tabbar{border-top-color:rgba(212,175,106,.14);box-shadow:none;}
[data-theme=dark] .tab{color:#8F887C;}
[data-theme=dark] .tab.on,[data-theme=dark] .tab.in-more{color:#D4AF6A;}
[data-theme=dark] .sheet-handle{background:rgba(255,255,255,.15);}
[data-theme=dark] .sheet-item{border-color:rgba(212,175,106,.14);}
[data-theme=dark] .sheet-cta{background:#D4AF6A;color:#13110E;}
.sheet-theme{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:8px;padding:12px;border-radius:14px;border:1px solid rgba(180,140,100,.2);background:none;color:inherit;font:500 12px/1 'Inter',sans-serif;cursor:pointer;}
.sheet-theme svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;}
.sheet-theme .i-sun,.sheet-theme .lbl-light,[data-theme=dark] .sheet-theme .i-moon,[data-theme=dark] .sheet-theme .lbl-dark{display:none;}
[data-theme=dark] .sheet-theme .i-sun,[data-theme=dark] .sheet-theme .lbl-light{display:inline;}
