*{box-sizing:border-box}
:root{color:#242123;background:#fff;font-family:system-ui,sans-serif;--muted:#655e62;--line:#e8e1e5;--rose:#814459}
body{margin:0}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:.3em}
button,select,input{font:inherit}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
[hidden]{display:none!important}
.skip{position:absolute;left:1rem;top:-5rem;background:#fff;padding:1rem;z-index:2}
.skip:focus{top:1rem}
.notice{background:#f7edf1;color:#623a4d;text-align:center;padding:.55rem 1rem;font-size:.77rem}
.site-header,main,footer{padding-inline:clamp(1rem,4vw,4rem)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px;border-bottom:1px solid var(--line)}
.brand{font:1.7rem Georgia,serif;display:flex;align-items:center;gap:.55rem}
.brand img{border-radius:50%}
nav{display:flex;gap:clamp(.75rem,2vw,2rem);font-size:.88rem}
.browse{font-size:.82rem}
main{max-width:1600px;margin:auto;min-height:68vh}
.intro{padding:clamp(2.6rem,6vw,6rem) 0 clamp(2.2rem,4vw,4rem)}
.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);font-weight:650}
h1,h2,p{margin:0}
h1{font-size:clamp(2.5rem,6.5vw,6.4rem);line-height:1.02;font-weight:500;letter-spacing:-.065em;margin:.65rem 0 1rem}
.lede,.muted{color:var(--muted)}
.filters{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap;padding:1rem 0;border-block:1px solid var(--line)}
label{display:grid;gap:.3rem;font-size:.77rem;color:var(--muted)}
input,select,button{border:1px solid var(--line);background:#fff;color:inherit;min-height:42px;padding:.45rem .65rem;border-radius:0}
button{cursor:pointer}
.collection-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.35rem 0}
h2{font-size:1.25rem;font-weight:550}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1rem;padding-bottom:4rem}
.tile img,.detail img{display:block;width:100%;aspect-ratio:420/510;object-fit:cover;background:#f3efed}
.tile h3{margin:.65rem 0 .25rem;font-size:1rem;font-weight:600}
.tile p{font-size:.86rem}
.media{position:relative}
.tag{position:absolute;top:.65rem;left:.65rem;background:#fff;padding:.3rem .55rem;font-size:.7rem}
footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;padding-block:1.5rem;color:var(--muted);font-size:.83rem}
.crumb{display:inline-block;margin:1.4rem 0;font-size:.86rem}
.detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(1.5rem,7vw,7rem);margin-bottom:4rem}
.detail h1{font-size:clamp(2.4rem,5vw,5rem)}
.detail p{margin-bottom:1rem}
.choices,.thumbs{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0}
.thumbs button{padding:2px;width:62px}
.thumbs button[aria-pressed=true]{border-color:var(--rose)}
.price{font-size:1.25rem}
.empty{padding:2rem 0;color:var(--muted)}
.work{padding-block:2rem 4rem}
.work h1{font-size:clamp(2rem,5vw,4rem)}
.work p{margin-block:.5rem}
.fields{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap;margin:1rem 0}
.fields input,.fields select,.fields textarea{max-width:100%}
.fields textarea{min-height:52px;border:1px solid var(--line);padding:.5rem;font:inherit}
.fields button,.choices button[aria-pressed=true]{background:#242123;color:white}
.fields button:disabled{opacity:.55;cursor:default}
.work details{border-block-start:1px solid var(--line);padding:.9rem .35rem}
.work summary{cursor:pointer;font-weight:600}
.admin-image{width:94px;height:114px;object-fit:cover;margin-top:.5rem}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem;margin-block:1rem}
.metrics div{border:1px solid var(--line);display:grid;gap:.45rem;padding:1rem}
.metrics span{font-size:.8rem;color:var(--muted)}
.cart-line{display:flex;gap:1rem;padding:.8rem 0;border-block-start:1px solid var(--line)}
.cart-line img{width:90px;object-fit:contain;align-self:start}
.cart-line input{width:6rem}
.order-line{display:flex;flex-wrap:wrap;gap:.4rem}
@media print{
  body:has(#print-receipt) *{visibility:hidden}
  #print-receipt,#print-receipt *{visibility:visible!important}
  #print-receipt{position:absolute;inset:0;padding:1.5rem}
}
@media(max-width:800px){
  .site-header{flex-wrap:wrap;padding-block:.8rem}
  nav{order:3;width:100%;overflow:auto;padding:.25rem 0}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem .7rem}
}
@media(max-width:560px){
  .detail{grid-template-columns:1fr}
  .filters label{flex:1 1 40%;min-width:0}
  input,select{width:100%;min-width:0}
  footer{flex-wrap:wrap}
}

.admin-signed-in{
  display:grid;
  grid-template-columns:232px minmax(0,1fr);
  grid-template-rows:1fr auto;
  min-height:100dvh;
}
.admin-sidebar{
  grid-row:1 / span 2;
  position:sticky;
  top:0;
  height:100dvh;
  overflow:auto;
  display:flex;
  flex-direction:column;
  padding:1.45rem 1rem 1rem;
  border-inline-end:1px solid var(--line);
  background:#fff;
}
.admin-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 .4rem 1.35rem}
#admin-menu-toggle{display:none;border-radius:6px}
#admin-menu{display:flex;flex:1;flex-direction:column}
.admin-sidebar nav{display:grid;gap:.25rem;padding:.2rem;overflow:visible}
.admin-sidebar nav button,.admin-sidebar-actions button{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.6rem .75rem;
  text-align:left;
  border:1px solid transparent;
  border-radius:7px;
  color:#40353b;
}
.admin-sidebar nav button svg{width:19px;height:19px;flex:none}
.admin-sidebar nav button:hover,.admin-sidebar-actions button:hover{background:#faf5f7}
.admin-sidebar nav button[aria-current="page"]{background:#f7e7ef;color:#642c48;font-weight:650}
.admin-sidebar-actions{display:grid;gap:.25rem;margin-top:auto;padding:.7rem .2rem .2rem;border-top:1px solid var(--line)}
.admin-sidebar-actions a{padding:.6rem .75rem;color:var(--muted);font-size:.85rem}
.admin-sidebar-actions button{font-size:.88rem}
.admin-signed-in main{width:100%;min-width:0;padding-inline:clamp(1rem,4vw,3.5rem)}
.admin-signed-in main h1{font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.045em}
.admin-signed-in .fields > *{min-width:0;max-width:100%}
.admin-signed-in footer{grid-column:2}

@media(max-width:760px){
  .admin-signed-in{display:block}
  .admin-sidebar{position:static;height:auto;overflow:visible;border-inline-end:0;border-bottom:1px solid var(--line);padding:.65rem 1rem}
  .admin-sidebar-heading{padding:0}
  #admin-menu-toggle{display:inline-flex;align-items:center}
  .admin-sidebar:not(:has(#admin-menu-toggle[aria-expanded="true"])) #admin-menu{display:none}
  #admin-menu{max-height:65dvh;overflow:auto;margin-top:.55rem}
  .admin-sidebar nav{order:0}
  .admin-sidebar-actions{margin-top:.45rem}
}
