/* Members area — extends styles.css tokens */
.members-page{min-height:100vh;display:flex;flex-direction:column}
.members-page .nav{position:sticky;top:0}
.members-page .nav.is-scrolled{background:rgba(11,11,12,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:.8rem var(--gutter)}
.nav__links a.is-active{color:var(--bone)}
.nav__links a.is-active::after{transform:scaleX(1)}
.nav__user{display:flex;align-items:center;gap:.6rem}
.cartbtn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .8rem;color:var(--bone);box-shadow:inset 0 0 0 1px var(--line-strong);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);transition:background .3s}
.cartbtn:hover{background:var(--ink-3)}
.cartbtn b{font-family:var(--f-display);font-size:1.05rem;font-weight:800;min-width:1ch}
.userbtn{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke);padding:.5rem .6rem;transition:color .3s}
.userbtn:hover{color:var(--bone)}
.nav__back{display:none;font-size:1.4rem;line-height:44px;text-align:center;color:var(--bone)}
.members-page .nav__links{margin:0 auto}
.nav__name b,.nav__name i,.userbtn{white-space:nowrap}
@media (max-width:900px){.nav__back{display:block}.members-page .nav__user{display:flex}}
@media (max-width:640px){.members-page .nav{gap:.75rem}.members-page .nav__user:not([hidden])~.nav__back{display:none}}

.mem{flex:1;max-width:var(--max);width:100%;margin:0 auto;padding:0 var(--gutter) 5rem}
.mem__band{position:relative;display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(2.5rem,6vw,5rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line);margin-bottom:clamp(2rem,4vw,3.5rem);overflow:hidden}
.mem__seal{width:clamp(110px,14vw,180px);color:var(--bone);flex:none}
.mem__title{font-size:clamp(2.6rem,6vw,5.6rem);max-width:12em}
.mem__lede{margin-top:1rem;color:var(--bone-2);max-width:40em;font-size:clamp(1rem,1.2vw,1.15rem)}
@media (max-width:640px){.mem__band{grid-template-columns:1fr}.mem__seal{width:96px}}

.view{animation:fadeup .6s var(--ease) both}
@keyframes fadeup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.loading{display:flex;align-items:center;gap:1rem;color:var(--smoke);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding:3rem 0}
.loading svg{width:44px;color:var(--bone)}

.card{position:relative;top:auto;padding:clamp(1.5rem,3vw,2.4rem);background:var(--ink-2);border:1px solid var(--line-strong);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
.field__row--3{grid-template-columns:1fr 1fr 1fr}
@media (max-width:480px){.field__row--3{grid-template-columns:1fr}}
.form--flat{position:static;background:transparent;border:0;padding:0;clip-path:none}
.form__err{color:#ff8a7a;font-size:.9rem;padding:.4rem .8rem;border-left:2px solid var(--red);background:rgba(200,16,46,.08)}
.linkbtn{align-self:center;font-size:.8rem;color:var(--smoke);border-bottom:1px solid var(--line);padding:0 0 .1rem;transition:color .3s}
.linkbtn:hover{color:var(--bone)}
.h-sub{font-family:var(--f-display);font-weight:800;font-size:1.7rem;text-transform:uppercase;letter-spacing:.02em;line-height:1}

.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1.4rem}
.tab{position:relative;padding:.8rem 1rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--smoke);transition:color .3s;display:inline-flex;align-items:center;gap:.5rem}
.tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--amber);transform:scaleX(0);transition:transform .35s var(--ease)}
.tab.is-active{color:var(--bone)}
.tab.is-active::after{transform:scaleX(1)}
.tabcount{font-family:var(--f-display);font-size:.95rem;min-width:1.4em;padding:0 .35em;background:var(--ink-3);color:var(--bone);text-align:center}
.tabcount.is-hot{background:var(--amber);color:var(--ink)}
.tabs--admin{overflow-x:auto;scrollbar-width:none}
.tabs--admin::-webkit-scrollbar{display:none}
.tabs--admin .tab{flex:none;white-space:nowrap}
.tabs--admin .tab::after{bottom:0}

/* auth */
.auth{display:grid;grid-template-columns:1fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.gate{border-top:1px solid var(--line)}
.gate__step{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--line);opacity:.55;transition:opacity .4s}
.gate__step.is-on{opacity:1}
.gate__n{font-family:var(--f-display);font-weight:800;font-size:2.2rem;line-height:1;color:var(--amber)}
.gate__step h3{font-family:var(--f-display);font-weight:800;font-size:1.5rem;text-transform:uppercase;line-height:1}
.gate__step p{margin-top:.4rem;color:var(--bone-2);max-width:30em}
.peek{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:2rem}
.peek__card{aspect-ratio:4/5;background:linear-gradient(160deg,var(--ink-3),var(--ink-2));border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden}
.peek__card::before{content:"";position:absolute;inset:18% 22% 30%;background:radial-gradient(ellipse at 50% 40%,rgba(233,225,207,.15),transparent 70%);filter:blur(6px)}
.peek__card .lock{font-size:1.4rem;opacity:.8}
@media (max-width:900px){.auth{grid-template-columns:1fr}.auth__card{order:-1;scroll-margin-top:5rem}}

/* status */
.status{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start}
.status .h-display{font-size:clamp(2.2rem,4.5vw,4rem)}
.status p{color:var(--bone-2);max-width:40em}
.status__badge{display:flex;align-items:center;gap:1rem}
.status__badge svg{width:64px;color:var(--bone)}
.pill{display:inline-block;padding:.35rem .7rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.pill--wait{background:var(--amber);color:var(--ink)}
.pill--ok{background:#1f7a47;color:#fff}
.pill--no{background:var(--red);color:#fff}
.pill--muted{background:var(--ink-3);color:var(--bone-2)}
.status__meta{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.2rem;margin:0;font-size:.95rem;color:var(--bone-2)}
.status__meta dt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke);padding-top:.25rem}
.status__meta dd{margin:0;color:var(--bone)}
.status__actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.6rem}

/* store */
.store__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2rem}
.store__head .h-display{font-size:clamp(2.6rem,5vw,4.8rem);margin-top:.6rem}
.memberchip{display:flex;align-items:center;gap:.8rem;padding:.6rem .9rem;border:1px solid var(--line-strong);font-size:.85rem;color:var(--bone-2)}
.memberchip b{font-family:var(--f-display);font-size:1.15rem;text-transform:uppercase;color:var(--bone)}
.memberchip .pill{margin-left:.3rem}
.store__closed{padding:1rem 1.2rem;border-left:2px solid var(--amber);background:var(--ink-2);color:var(--bone-2);margin-bottom:2rem}
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1.4rem}
@media (min-width:1100px){.products{grid-template-columns:repeat(3,1fr)}}
.product{display:flex;flex-direction:column;background:var(--ink-2);border:1px solid var(--line);transition:border-color .3s,transform .5s var(--ease)}
.product:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.product__media{position:relative;aspect-ratio:4/4.4;overflow:hidden;background:var(--ink-3)}
.product__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05)}
.product__overlay{position:absolute;color:var(--bone);filter:drop-shadow(0 2px 3px rgba(0,0,0,.6));opacity:.92;mix-blend-mode:screen}
.product__art{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 35%,var(--ink-3),var(--ink-2) 75%)}
.product__art svg{width:62%;color:var(--bone)}
.product__art--banner svg{width:88%}
.product__soldout{position:absolute;top:1rem;left:1rem}
.product__body{padding:1.1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.product__row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.product__name{font-family:var(--f-display);font-weight:800;font-size:1.45rem;text-transform:uppercase;line-height:1;letter-spacing:.01em}
.product__price{font-family:var(--f-display);font-weight:800;font-size:1.3rem;color:var(--amber-2);font-variant-numeric:tabular-nums}
.product__desc{color:var(--bone-2);font-size:.9rem;line-height:1.45}
.sizes{display:flex;gap:.35rem;flex-wrap:wrap}
.size{min-width:2.4rem;padding:.4rem .5rem;font-size:.72rem;letter-spacing:.08em;font-weight:600;color:var(--bone-2);box-shadow:inset 0 0 0 1px var(--line);transition:all .25s}
.size:hover{color:var(--bone);box-shadow:inset 0 0 0 1px var(--line-strong)}
.size.is-on{background:var(--bone);color:var(--ink);box-shadow:none}
.product .btn{margin-top:auto;align-self:stretch}
.product .btn[disabled]{opacity:.4;pointer-events:none}

.orders{margin-top:3.5rem;border-top:1px solid var(--line);padding-top:2rem}
.orderlist{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}

/* rows (admin + orders) */
.rows{display:flex;flex-direction:column;gap:.5rem}
.row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem 1.1rem;background:var(--ink-2);border:1px solid var(--line)}
.row__main{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.row__title{font-family:var(--f-display);font-weight:800;font-size:1.25rem;text-transform:uppercase;line-height:1;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.row__sub{color:var(--bone-2);font-size:.88rem}
.row__sub a{color:var(--bone);border-bottom:1px solid var(--line-strong)}
.row__meta{color:var(--smoke);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.2rem}
.row__actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.mini{padding:.5rem .8rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--bone);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);transition:all .25s}
.mini:hover{background:var(--ink-3)}
.mini--ok{background:#1f7a47;color:#fff;box-shadow:none}
.mini--no{color:#ff8a7a}
.mini--amber{background:var(--amber);color:var(--ink);box-shadow:none}
.rows .empty{padding:1.4rem;color:var(--smoke);text-align:center;border:1px dashed var(--line)}
.row__meta,.row__sub,.row .items,.product__name,.cartitem b{overflow-wrap:anywhere}
.row .items{font-size:.85rem;color:var(--bone-2);margin-top:.3rem}
@media (max-width:640px){.row{grid-template-columns:1fr}.row__actions{justify-content:flex-start}}

/* admin */
.admin{margin-top:4rem;padding-top:3rem;border-top:1px solid var(--line-strong)}
.admin__head .h-display{font-size:clamp(2.4rem,5vw,4.4rem);margin-top:.6rem;margin-bottom:1.4rem}
.apanel__hint{color:var(--bone-2);margin-bottom:1rem;max-width:50em}
.apanel__bar{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}
.editor{margin-top:1.4rem}
.check{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--bone-2)}
.check input{accent-color:var(--amber);width:1.1rem;height:1.1rem}
.field select{width:100%;background:var(--ink-2);border:1px solid var(--line);color:var(--bone);font:inherit;padding:.85rem 1rem}
.field input[readonly]{color:var(--smoke)}

/* drawer */
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--ink-2);border-left:1px solid var(--line-strong);z-index:88;display:flex;flex-direction:column;padding:1.4rem 1.4rem calc(1.4rem + var(--demobar-h,0px));gap:1rem;transform:translateX(100%);visibility:hidden;transition:transform .55s var(--ease),visibility 0s linear .55s;overflow-y:auto}
.drawer.is-open{transform:none;visibility:visible;transition-delay:0s}
.drawer__head{display:flex;justify-content:space-between;align-items:center}
.iconbtn{width:40px;height:40px;display:grid;place-items:center;color:var(--bone);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s}
.iconbtn:hover{background:var(--ink-3)}
.cartlist{display:flex;flex-direction:column;gap:.6rem}
.cartitem{display:grid;grid-template-columns:1fr auto;gap:.6rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.cartitem b{font-family:var(--f-display);font-size:1.15rem;text-transform:uppercase;line-height:1}
.cartitem small{display:block;color:var(--smoke);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;margin-top:.25rem}
.qty{display:inline-flex;align-items:center;gap:.4rem}
.qty button{width:26px;height:26px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--bone)}
.qty span{min-width:1.4ch;text-align:center;font-variant-numeric:tabular-nums}
.cartitem .price{font-family:var(--f-display);font-size:1.1rem;color:var(--amber-2);text-align:right}
.cart__empty{color:var(--smoke);padding:2rem 0;text-align:center}
.drawer__foot{margin-top:auto;display:flex;flex-direction:column;gap:.9rem;border-top:1px solid var(--line);padding-top:1rem}
.cart__total{display:flex;justify-content:space-between;align-items:baseline;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke)}
.cart__total b{font-family:var(--f-display);font-size:2rem;color:var(--bone);font-variant-numeric:tabular-nums}
.drawer__done{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;padding-top:1rem}
.drawer__done svg{width:80px;color:var(--bone)}
.drawer__done p{color:var(--bone-2)}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:87;opacity:0;pointer-events:none;transition:opacity .4s}
.scrim.is-open{opacity:1;pointer-events:auto}

/* demo bar */
.demobar{position:fixed;left:0;right:0;bottom:0;z-index:85;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.7rem var(--gutter);background:rgba(224,163,46,.97);color:var(--ink);font-size:.8rem}
.demobar__tag{font-family:var(--f-display);font-weight:900;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;padding:.1rem .5rem;background:var(--ink);color:var(--amber)}
.demobar__hint{font-weight:500}
.demobar__btns{display:flex;gap:.4rem;flex-wrap:wrap;margin-left:auto}
.demobar button{padding:.45rem .8rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;background:transparent;box-shadow:inset 0 0 0 1px rgba(11,11,12,.5);color:var(--ink);transition:all .25s}
.demobar button:hover{background:rgba(11,11,12,.12)}
.demobar button.is-on{background:var(--ink);color:var(--amber);box-shadow:none}
body.has-demobar{padding-bottom:calc(var(--demobar-h,4.5rem) + 1rem)}
@media (max-width:640px){.demobar__btns{margin-left:0}.demobar__hint{display:none}}

.toast{position:fixed;left:50%;bottom:calc(var(--demobar-h,0px) + 1.5rem);transform:translate(-50%,20px);background:var(--bone);color:var(--ink);padding:.8rem 1.2rem;font-size:.85rem;font-weight:500;opacity:0;pointer-events:none;transition:all .4s var(--ease);z-index:86;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}

.mem__foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.4rem var(--gutter);border-top:1px solid var(--line);font-size:.75rem;color:var(--smoke)}
.mem__foot a{color:var(--bone-2)}
