/* LOST N FOUND  shop  shared styles */
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/intertight.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/plexmono-500.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/plexmono-600.woff2) format('woff2')}
:root{
  --ink:#0A0A0A;
  --paper:#EDEDEA;
  --card:#FFFFFF;
  --grey:#D6D6D1;
  --mid:#77776F;
  --red:#D1202B;
  --sans:'Inter Tight',system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gutter:clamp(16px,3vw,40px);
  --max:1240px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scrollbar-width:none}
html::-webkit-scrollbar{display:none}
body{
  text-rendering:geometricPrecision;
  min-height:100dvh;display:flex;flex-direction:column;
  background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-weight:500;font-size:15px;line-height:1.45;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
::selection{background:var(--ink);color:var(--paper)}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}

/* type utilities */
.label{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.mono{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.muted{color:var(--mid)}

/* header */
.hdr{
  position:relative;display:flex;align-items:center;gap:clamp(12px,2vw,24px);
  padding:10px var(--gutter);border-bottom:1px solid var(--ink);background:var(--paper);
}
.hdr-title{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
}
.brand{
  width:48px;height:48px;border:1px solid var(--ink);background:var(--card);
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  transition:background .15s;
}
.brand img{width:78%;height:auto;transition:filter .15s}
@media (hover:hover){.brand:hover{background:var(--ink)}.brand:hover img{filter:invert(1)}}
.brand:active{background:var(--ink)}
.brand:active img{filter:invert(1)}
.nav-link{margin-left:auto;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;padding:4px 0}
.nav-link:hover{color:var(--red)}
.nav-link + .cart-pill{margin-left:0}
.cart-pill{
  margin-left:auto;display:inline-flex;align-items:center;gap:12px;text-decoration:none;
  height:48px;justify-content:center;border:1px solid var(--ink);padding:0 14px;background:var(--card);
  transition:background .15s,color .15s;
}
@media (hover:hover){.cart-pill:hover{background:var(--ink);color:var(--paper)}}
.cart-pill:active{background:var(--ink);color:var(--paper)}
.cart-pill b{
  font-family:var(--mono);font-weight:600;font-size:12px;min-width:22px;height:22px;padding:0 6px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--ink);color:var(--paper);
}
@media (hover:hover){.cart-pill:hover b{background:var(--paper);color:var(--ink)}}
.cart-pill:active b{background:var(--paper);color:var(--ink)}
.cart-pill b[data-n="0"]{display:none}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  padding:15px 26px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);
  cursor:pointer;text-decoration:none;white-space:nowrap;-webkit-tap-highlight-color:transparent;
  transition:background .15s,color .15s,border-color .15s,transform .1s;
}
@media (hover:hover){.btn:hover{background:#2b2b2b;border-color:#2b2b2b}}
.btn:active{background:#2b2b2b;border-color:#2b2b2b;transform:translateY(1px)}
.btn:disabled{background:var(--grey);border-color:var(--grey);color:var(--mid);cursor:not-allowed;transform:none}
.btn-ghost{background:transparent;color:var(--ink)}
@media (hover:hover){.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}}
.btn-ghost:active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-block{width:100%}

/* main container */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
main{flex:1}

/* registry strip */
.registry{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:28px 0 20px;color:var(--mid);
}
.registry b{color:var(--ink);font-weight:600}

/* footer */
.ftr{border-top:1px solid var(--ink);margin-top:64px;padding:18px var(--gutter);color:var(--mid)}
.ftr .wrap{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;padding:0}
.ftr-right{margin-left:auto}
.ftr a{text-decoration:none}
@media (hover:hover){.ftr a:hover{color:var(--ink)}}
.ftr a:active{color:var(--ink)}
.ftr-left{display:flex;flex-direction:column;gap:8px;font-size:12px}
.ftr-left a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.ftr-legal{display:flex;gap:16px;flex-wrap:wrap}
.ftr-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;white-space:nowrap;color:var(--ink)}

/* forms */
.field{margin-bottom:16px}
.field label{display:block;margin-bottom:6px;font-weight:600;font-size:13px}
.field label .req{color:var(--red)}
.field input{
  width:100%;height:46px;border:1px solid var(--grey);background:var(--card);padding:0 14px;
  font-family:var(--mono);font-weight:500;font-size:14px;border-radius:0;outline:none;appearance:none;
  transition:border-color .15s;
}
.field input::placeholder{color:#B5B5B0}
.field input:focus{border-color:var(--ink)}
.field input[readonly]{background:var(--paper);color:var(--mid);cursor:default}
.field.invalid input{border-color:var(--red)}
.field .err{display:none;margin-top:6px;color:var(--red)}
.field.invalid .err{display:block}
.field-row{display:grid;grid-template-columns:1fr 1.7fr;gap:14px}

/* dialog */
dialog.sheet{
  margin:auto;border:1px solid var(--ink);background:var(--card);color:var(--ink);padding:0;
  width:min(440px,calc(100% - 32px));
}
dialog.sheet::backdrop{background:rgba(10,10,10,.55)}
.sheet-head{display:flex;justify-content:space-between;padding:12px 18px;border-bottom:1px dashed var(--ink)}
.sheet-body{padding:22px 18px 18px}
.sheet-body h3{font-weight:800;font-size:22px;letter-spacing:-.01em;text-transform:uppercase;margin-bottom:6px}
.sheet-actions{display:grid;gap:10px;margin-top:20px}

@media (max-width:760px){
  .hdr{padding:12px var(--gutter)}
  .hdr-title{position:static;transform:none;margin:0 auto;font-size:12px;letter-spacing:.14em;padding-left:.14em}
  .hdr:has(.hdr-title) .cart-pill{margin-left:0}
  .cart-pill{margin-left:auto;order:2}
  .nav-link + .cart-pill{margin-left:0}
  .nav-link{margin-left:auto;order:1}
  .hdr:has(.nav-link) .hdr-title{display:none}
  .brand{width:46px;height:46px}
  .cart-pill{height:46px;padding:0 11px}
  .ftr{margin-top:40px}
  .ftr{padding:12px var(--gutter) 14px}
  .ftr .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:11px;line-height:1.5}
  .ftr-brand{position:static;transform:none;order:-1;font-size:12px}
  .ftr-left{gap:6px;font-size:11px}
  .ftr-legal{flex-direction:row;flex-wrap:wrap;gap:4px 14px}
  .ftr-right{margin-left:0;font-size:11px}
}
