/* Adam Marton — colorful brutalist print shop */
:root{
  --ink:#111111;
  --yellow:#f3ec3a;
  --pink:#ff3d9a;
  --blue:#2e6bff;
  --orange:#ff4d2e;
  --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Archivo',sans-serif;
  background:var(--yellow);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1440px;margin:0 auto;position:relative;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:var(--ink);
  height:84px;
  border-bottom:8px solid var(--ink);
  display:flex;align-items:stretch;
}
.hdr-inner{
  max-width:1440px;width:100%;margin:0 auto;
  display:flex;align-items:center;height:76px;position:relative;
}
.logo-block{
  background:var(--orange);
  height:76px;width:305px;
  display:flex;align-items:center;
  border-right:8px solid var(--ink);
  padding-left:28px;
  flex:none;
}
.logo-block a{
  font-family:'Archivo Black',sans-serif;
  font-size:30px;letter-spacing:-1px;color:var(--ink);line-height:1;
}
.nav-links{display:flex;align-items:center;gap:38px;padding-left:26px;height:76px;}
.nav-links a{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:18px;color:var(--yellow);
}
.nav-links a.active{color:var(--orange);}
.hdr-right{margin-left:auto;display:flex;align-items:stretch;height:76px;}
.everything-tag{
  background:var(--blue);
  display:flex;align-items:center;
  padding:0 30px;height:76px;
  font-family:'Archivo Black',sans-serif;font-size:22px;color:#fff;
}
.cart-btn{
  background:var(--yellow);
  border-left:8px solid var(--ink);
  height:76px;min-width:110px;
  display:flex;align-items:center;justify-content:center;gap:10px;
  cursor:pointer;font-family:'Archivo Black',sans-serif;font-size:18px;color:var(--ink);
}
.cart-btn svg{width:26px;height:26px;}
.cart-count{
  background:var(--ink);color:var(--yellow);
  font-family:'Archivo Black',sans-serif;font-size:15px;
  min-width:26px;height:26px;display:flex;align-items:center;justify-content:center;
  padding:0 6px;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'Archivo Black',sans-serif;font-size:24px;
  height:70px;padding:0 36px;border:none;cursor:pointer;
}
.btn-dark{background:var(--ink);color:var(--yellow);box-shadow:12px 12px 0 var(--blue);}
.btn-pink{background:var(--pink);color:var(--ink);box-shadow:12px 12px 0 var(--blue);}

/* ---------- Footer ---------- */
.site-footer{background:var(--blue);border-top:8px solid var(--ink);}
.footer-inner{max-width:1440px;margin:0 auto;padding:78px 70px 40px;position:relative;}
.footer-brand{
  font-family:'Archivo Black',sans-serif;font-size:72px;letter-spacing:-2px;
  line-height:.9;color:var(--ink);
}
.footer-cols{position:absolute;top:78px;left:806px;display:flex;gap:165px;}
.f-col h4{
  font-family:'Archivo',sans-serif;font-weight:800;font-size:15px;letter-spacing:1px;
  color:#fff;margin-bottom:12px;
}
.f-col a,.f-col span{
  display:block;font-family:'Archivo',sans-serif;font-weight:600;font-size:19px;
  color:var(--ink);margin-bottom:6px;
}
.footer-rule{border-top:6px solid var(--ink);margin-top:60px;padding-top:14px;}
.footer-rule p{font-family:'Archivo',sans-serif;font-weight:600;font-size:16px;color:var(--ink);}

/* ---------- Cart drawer ---------- */
.cart-overlay{
  position:fixed;inset:0;background:rgba(17,17,17,.55);
  z-index:90;opacity:0;visibility:hidden;transition:opacity .18s ease;
}
.cart-overlay.open{opacity:1;visibility:visible;}
.cart-drawer{
  position:fixed;top:0;right:0;height:100%;width:440px;max-width:92vw;
  background:var(--white);border-left:8px solid var(--ink);
  z-index:100;transform:translateX(100%);transition:transform .22s ease;
  display:flex;flex-direction:column;
}
.cart-drawer.open{transform:translateX(0);}
.cart-head{
  background:var(--ink);color:var(--yellow);height:84px;flex:none;
  display:flex;align-items:center;justify-content:space-between;padding:0 24px;
}
.cart-head h3{font-family:'Archivo Black',sans-serif;font-size:26px;}
.cart-close{
  background:var(--pink);color:var(--ink);border:none;cursor:pointer;
  width:44px;height:44px;font-family:'Archivo Black',sans-serif;font-size:24px;
}
.cart-body{flex:1;overflow-y:auto;padding:20px;}
.cart-empty{
  font-family:'Archivo',sans-serif;font-weight:600;font-size:18px;color:#555;
  padding:30px 4px;
}
.cart-item{
  display:flex;gap:14px;align-items:center;
  border:4px solid var(--ink);padding:10px;margin-bottom:14px;background:#fff;
}
.cart-item .thumb{width:64px;height:64px;flex:none;border:3px solid var(--ink);background-size:cover;background-position:center;}
.cart-item .meta{flex:1;min-width:0;}
.cart-item .meta strong{font-family:'Archivo',sans-serif;font-weight:800;font-size:18px;display:block;}
.cart-item .meta span{font-family:'Archivo Black',sans-serif;font-size:15px;}
.qty{display:flex;align-items:center;gap:8px;margin-top:4px;}
.qty button{
  width:26px;height:26px;border:3px solid var(--ink);background:var(--yellow);
  font-family:'Archivo Black',sans-serif;font-size:16px;cursor:pointer;line-height:1;
}
.qty span{font-family:'Archivo Black',sans-serif;font-size:16px;min-width:20px;text-align:center;}
.cart-item .remove{
  background:none;border:none;cursor:pointer;font-family:'Archivo',sans-serif;
  font-weight:800;font-size:13px;color:var(--orange);text-decoration:underline;
}
.cart-foot{flex:none;border-top:8px solid var(--ink);padding:20px;background:var(--yellow);}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;}
.cart-total span{font-family:'Archivo',sans-serif;font-weight:800;font-size:18px;letter-spacing:1px;}
.cart-total strong{font-family:'Archivo Black',sans-serif;font-size:36px;letter-spacing:-1px;}
.checkout-btn{
  width:100%;height:64px;background:var(--ink);color:var(--yellow);border:none;cursor:pointer;
  font-family:'Archivo Black',sans-serif;font-size:22px;box-shadow:8px 8px 0 var(--pink);
}
.checkout-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;}
.checkout-msg{
  margin-top:14px;font-family:'Archivo',sans-serif;font-weight:700;font-size:15px;
  line-height:1.4;display:none;
}
.checkout-msg.show{display:block;}

/* ---------- Toast ---------- */
.toast{
  position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(140%);
  background:var(--ink);color:var(--yellow);border:5px solid var(--yellow);
  font-family:'Archivo Black',sans-serif;font-size:18px;padding:16px 26px;
  z-index:120;transition:transform .25s ease;box-shadow:8px 8px 0 var(--pink);
}
.toast.show{transform:translateX(-50%) translateY(0);}

/* ---------- Section frame helpers ---------- */
.band{position:relative;}
.pad{padding-left:70px;padding-right:70px;}

@media(max-width:1100px){
  .everything-tag{display:none;}
  .footer-cols{position:static;margin-top:30px;gap:60px;}
}
@media(max-width:760px){
  .nav-links{gap:18px;padding-left:14px;}
  .nav-links a{font-size:15px;}
  .logo-block{width:auto;padding:0 16px;}
  .logo-block a{font-size:22px;}
  .footer-brand{font-size:48px;}
  .footer-cols{flex-direction:column;gap:28px;}
}
