/* LogeMate Store — app mode on phones (≤820px). Desktop is untouched. */
#lmTab,#lmSrch{display:none}
@media(max-width:820px){
html.lmApp{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}
html.lmApp body{overscroll-behavior-y:contain;padding-bottom:calc(86px + env(safe-area-inset-bottom));-webkit-touch-callout:none}
html.lmApp a,html.lmApp button,html.lmApp summary,html.lmApp label{touch-action:manipulation;-webkit-user-select:none;user-select:none}
html.lmApp input,html.lmApp textarea{-webkit-user-select:text;user-select:text}
html.lmApp img{-webkit-user-drag:none}
body.lmNoScroll{overflow:hidden}

/* ---- top app bar ---- */
html.lmApp .hdr{padding:0;position:sticky;top:0;z-index:50}
html.lmApp .hdr>.wrap{padding:0;max-width:none}
html.lmApp .hdr .pill{border-radius:0;border-width:0 0 1px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;min-height:56px;gap:10px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 8px 24px -22px rgba(0,40,100,.55)}
html.lmApp .hdr .pill.glow::before{display:none}
html.lmApp .hdr .burger,html.lmApp .hdr .icons [data-act=cart],html.lmApp .hdr .icons [data-act=theme],html.lmApp .hdr .icons .wishi,html.lmApp .hdr .icons .acct,html.lmApp .hdr .icons [data-act=signin],html.lmApp .hdr .icons .lconn{display:none!important}
html.lmApp .hdr .logo img{height:26px}
#lmBack{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);flex:none;margin-inline-end:2px}
#lmBack[hidden]{display:none}
#lmBack svg{width:20px;height:20px}
html[dir=rtl] #lmBack svg{transform:scaleX(-1)}
html.lmApp .ann{font-size:12.5px}

/* ---- page transition ---- */
@media(prefers-reduced-motion:no-preference){
#main.lmPg{animation:lmPgIn .32s cubic-bezier(.2,.85,.3,1) both}
@keyframes lmPgIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}

/* ---- footer collapses (its links live in the menu) ---- */
html.lmApp .ftr{margin-top:28px;padding:22px 0 12px}
html.lmApp .ftr .in>div:not(:first-child){display:none}
html.lmApp .ftr .in{grid-template-columns:1fr}
html.lmApp .ftr .bot{flex-direction:column;gap:10px;align-items:flex-start;font-size:12.5px}

/* ---- bottom tab bar ---- */
#lmTab{display:flex;position:fixed;z-index:70;inset-inline:12px;bottom:calc(10px + env(safe-area-inset-bottom));height:66px;padding:6px;border-radius:24px;background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);border:1px solid color-mix(in srgb,var(--line) 85%,transparent);box-shadow:0 18px 40px -16px rgba(0,50,130,.45),0 2px 6px rgba(0,40,100,.06);transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s}
body.lmKb #lmTab,body.lmNoScroll #lmTab{transform:translateY(130%);opacity:0;pointer-events:none}
#lmTab a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:18px;color:var(--mu);text-decoration:none;position:relative;transition:color .2s,background .25s,transform .12s}
#lmTab a:active{transform:scale(.92)}
#lmTab .ti{position:relative;display:grid;place-items:center;width:28px;height:28px}
#lmTab .ti svg{width:23px;height:23px;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
#lmTab em{font:600 10.5px/1 var(--fb,system-ui);font-style:normal;letter-spacing:.01em}
#lmTab a.on{color:var(--blue);background:color-mix(in srgb,var(--blue) 11%,transparent)}
#lmTab a.on .ti svg{transform:translateY(-1px) scale(1.12);stroke-width:2.2}
#lmTab .tb{position:absolute;top:-4px;inset-inline-end:-8px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--blue);color:#fff;font:700 10px/17px var(--fb,system-ui);text-align:center;box-shadow:0 0 0 2px var(--surface);animation:lmPop .35s cubic-bezier(.3,1.6,.5,1)}
@keyframes lmPop{from{transform:scale(.3)}to{transform:none}}

/* anything that used to sit at the screen's bottom steps above the tab bar */
html.lmApp .sticky{bottom:calc(86px + env(safe-area-inset-bottom))!important;border-radius:18px;margin-inline:10px;border:1px solid var(--line)}
html.lmApp .cmpbar{bottom:calc(86px + env(safe-area-inset-bottom))!important}
html.lmApp .toast{bottom:auto;top:calc(12px + env(safe-area-inset-top));translate:-50% -24px;max-width:calc(100vw - 28px);z-index:300}
html.lmApp .toast.on{translate:-50% 0}
body #lmc-l{bottom:calc(92px + env(safe-area-inset-bottom))!important;width:54px!important;height:54px!important}
body #lmc-p{bottom:calc(158px + env(safe-area-inset-bottom))!important}

html.lmApp .drawer:not(.on){box-shadow:none!important;visibility:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s .35s}
html.lmApp .drawer.on{visibility:visible;transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s}
/* ---- cart and filters slide up like app sheets ---- */
html.lmApp #cartD,html.lmApp #filtD{top:auto;bottom:0;inset-inline:0;width:100%;height:min(86vh,calc(100dvh - 40px));border-radius:26px 26px 0 0;transform:translateY(106%)!important;box-shadow:0 -24px 70px -28px rgba(0,30,90,.55)}
html.lmApp #cartD.on,html.lmApp #filtD.on{transform:none!important}
html.lmApp #cartD::before,html.lmApp #filtD::before{content:"";display:block;width:42px;height:5px;border-radius:5px;background:var(--line);margin:9px auto 0;flex:none}
html.lmApp #cartD footer{padding-bottom:calc(14px + env(safe-area-inset-bottom))}

/* ---- menu drawer: sits above the tab bar ---- */
html.lmApp #menuD{width:min(86vw,380px);z-index:95;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
#menuD .lmInst{display:flex;align-items:center;gap:13px;width:100%;text-align:start;margin:0 0 12px;padding:12px 14px;border-radius:18px;border:1px dashed color-mix(in srgb,var(--blue) 45%,transparent);background:color-mix(in srgb,var(--blue) 7%,transparent);color:var(--ink);font:inherit;cursor:pointer}
#menuD .lmInst .lmI{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#005BD3,#00A6FF);color:#fff}
#menuD .lmInst .lmI svg{width:19px;height:19px}
#menuD .lmInst b{display:block;font:700 14.5px var(--fh)}#menuD .lmInst small{display:block;color:var(--soft);font-size:12px;margin-top:2px}
#menuD .lmFt{margin-top:14px}
#menuD .lmFt .lmFtG{border:1px solid rgba(0,70,160,.10);border-radius:16px;margin-bottom:8px;padding:0 12px;background:rgba(255,255,255,.55)}
html[data-theme=dark] #menuD .lmFt .lmFtG{background:rgba(255,255,255,.05);border-color:rgba(120,170,255,.16)}
#menuD .lmFt .lmFtG>summary{min-height:48px;display:flex;align-items:center;font:600 14.5px var(--fh);color:var(--ink);list-style:none}
#menuD .lmFt .lmFtG>summary::-webkit-details-marker{display:none}
#menuD .lmFt .lmFtG>div{padding:0 0 10px}
#menuD .lmFt .lmFtG a{display:block;padding:9px 6px;color:var(--soft);font-size:14px}

/* ---- search sheet ---- */
#lmSrch{display:block;position:fixed;inset:0;z-index:120;background:rgba(6,16,31,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .22s}
#lmSrch[hidden]{display:none}
#lmSrch.on{opacity:1}
#lmSrch .ssh{position:absolute;inset-inline:0;top:0;padding:calc(10px + env(safe-area-inset-top)) 16px 22px;background:var(--surface);border-radius:0 0 26px 26px;box-shadow:0 30px 70px -30px rgba(0,30,90,.6);transform:translateY(-104%);transition:transform .3s cubic-bezier(.2,.85,.3,1)}
#lmSrch.on .ssh{transform:none}
#lmSrch .grab{display:none}
#lmSrch form{display:flex;align-items:center;gap:8px;background:var(--mist);border:1.5px solid var(--line);border-radius:18px;padding:0 6px 0 14px;height:54px}
#lmSrch form:focus-within{border-color:var(--blue);background:var(--surface)}
#lmSrch .si{display:grid;place-items:center;color:var(--blue)}#lmSrch .si svg{width:20px;height:20px}
#lmSrch input{flex:1;min-width:0;border:0;background:transparent;font:500 16px var(--fb,system-ui);color:var(--ink);outline:0;height:100%}
#lmSrch form button{width:38px;height:38px;border:0;border-radius:12px;background:transparent;color:var(--mu);display:grid;place-items:center}
#lmSrch form button svg{width:19px;height:19px}
#lmSrch h6{margin:18px 4px 8px;font:700 11.5px var(--fb,system-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--mu)}
#lmSrch .chips{display:flex;flex-wrap:wrap;gap:8px}
#lmSrch .chips a,#lmSrch .chips button{padding:9px 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 13.5px var(--fb,system-ui);text-decoration:none}
#lmSrch .chips a:active,#lmSrch .chips button:active{background:color-mix(in srgb,var(--blue) 10%,transparent)}

/* ---- press feedback everywhere, like native controls ---- */
@media(hover:none){
html.lmApp .btn:active,html.lmApp .card:active,html.lmApp .ctile:active,html.lmApp .ib:active,html.lmApp .chip:active{transform:scale(.97);transition:transform .08s}
}
}

@media(max-width:820px){
/* chat opens as a full sheet above header + tab bar; page below the bar is blurred */
html.lmApp.lmc-open #lmTab,html.lmApp.lmc-open body::after{display:none!important}
html.lmApp.lmc-open body #lmc-p{bottom:0!important;z-index:2147483000!important;height:calc(100dvh - env(safe-area-inset-top) - 8px)!important;max-height:none}
html.lmApp #lmc-l{z-index:130!important}
html.lmApp body::after{content:"";position:fixed;left:0;right:0;bottom:0;height:calc(92px + env(safe-area-inset-bottom));z-index:65;pointer-events:none;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);background:linear-gradient(to top,color-mix(in srgb,var(--bg,#fff) 70%,transparent),transparent);-webkit-mask-image:linear-gradient(to top,#000 55%,transparent);mask-image:linear-gradient(to top,#000 55%,transparent)}
}
