/* PERSON + BAG in the shared header, and the account drawer (staging, 2 Oct 2026).
   The header itself (cdn HEADER/dc-header.*) is untouched: these controls sit in the header band beside it and are
   placed by dc-person-bag.js from the header's own slots, so the mark, heading, menu and X never move.
   Icons: the Shop's person and bag artwork (20 x 20 viewBox, 1.5 stroke). Square everything except the Shop's two
   circles, used as the Shop draws them (Charles, 3 Oct): the signed-in initials circle and the bag's count. */

#dcpb-controls {
  --dcpb-ink: #231F20;
  --dcpb-ground: #FCFBFE;
  --dcpb-hover: #E71411;
  --dcpb-scale: var(--dc-interface-scale, 1);
  position: fixed;
  top: 0;
  right: 0;
  height: 117px;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  gap: 0;
  pointer-events: none;
  visibility: hidden;
}
#dcpb-controls.is-placed { visibility: visible; }
#dcpb-controls.is-on-dark { --dcpb-ink: #FCFBFE; --dcpb-ground: #231F20; }
#dcpb-controls.is-on-accent { --dcpb-hover: #FCFBFE; }

.dcpb-btn {
  pointer-events: auto;
  position: relative;
  box-sizing: border-box;
  width: calc(44px * var(--dcpb-scale));
  height: calc(44px * var(--dcpb-scale));
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--dcpb-ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}
.dcpb-btn:focus { outline: none; }
.dcpb-btn:focus-visible { outline: 1px solid var(--dcpb-ink); outline-offset: -4px; }
.dcpb-btn svg {
  display: block;
  width: calc(24px * var(--dcpb-scale));      /* the outline's ink ~17 px next to the X's 20 px ink */
  height: calc(24px * var(--dcpb-scale));
  overflow: visible;
}
.dcpb-btn svg * { stroke-width: 1.5; vector-effect: non-scaling-stroke; }
@media (hover: hover) and (pointer: fine) {
  .dcpb-btn:hover { color: var(--dcpb-hover); }
}
.dcpb-btn.is-pressed { color: var(--dcpb-hover); }

/* Signed in: the initials disc (the Shop's own signed-in indicator: a filled circle, the one round shape) */
.dcpb-disc {
  display: none;
  box-sizing: border-box;
  width: calc(20px * var(--dcpb-scale));      /* = the X/menu's ink height (20 px at 1440), centred on its line */
  height: calc(20px * var(--dcpb-scale));
  border-radius: 50%;
  background: currentColor;
  align-items: center;
  justify-content: center;
}
.dcpb-disc b {
  font-family: 'DC Sans Condensed', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: calc(10px * var(--dcpb-scale));
  line-height: 1;
  letter-spacing: 0;
  color: var(--dcpb-ground);
  /* Optical centre (Charles, 3 Oct): the box is trimmed to the capitals' own height, so the flex centre is the ink's centre,
     as on the Shop. */
  display: block;
  text-box: trim-both cap alphabetic;
}
.dcpb-person.is-signed-in .dcpb-disc { display: inline-flex; }
.dcpb-person.is-signed-in svg { display: none; }

/* Bag count: the Shop's cart bubble (shop.daisychainbiannual.com header, measured 3 Oct): a filled circle 0.9 x the
   bag's width, its left edge at the bag's middle and 6/22 of the bag above its top; bold DC Sans Condensed 10 px. */
.dcpb-count {
  position: absolute;
  top: calc(3.5px * var(--dcpb-scale));
  left: calc(22px * var(--dcpb-scale));
  width: calc(20px * var(--dcpb-scale));
  height: calc(20px * var(--dcpb-scale));
  border-radius: 50%;
  box-sizing: border-box;
  background: currentColor;
  display: none;
  align-items: center;
  justify-content: center;
}
.dcpb-count b {
  font-family: 'DC Sans Condensed', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: calc(10px * var(--dcpb-scale));
  line-height: 1;
  letter-spacing: 0;
  color: var(--dcpb-ground);
}
.dcpb-bag.has-count .dcpb-count { display: inline-flex; }

/* Phones: the Press phone hit width (34 px), the same 20 px artwork */
#dcpb-controls.is-mobile .dcpb-btn { width: 34px; height: 44px; }
#dcpb-controls.is-mobile .dcpb-btn svg { width: 22px; height: 22px; }
#dcpb-controls.is-mobile .dcpb-disc { width: 18px; height: 18px; }   /* = the phone X/menu ink (18 px) */
#dcpb-controls.is-mobile .dcpb-disc b { font-size: 9px; }
#dcpb-controls.is-mobile .dcpb-count { top: 5px; left: 17px; width: 18px; height: 18px; }
#dcpb-controls.is-mobile .dcpb-count b { font-size: 10px; }


/* ================= ACCOUNT DRAWER =================
   The Ron Jude Buy Button cart drawer is the model: from the right, 350 px on computers, the whole width on phones,
   #231F20 ground, #FCFBFE type, DC Sans Condensed bold caps 11 px / 2 px, the close x at its top right.
   No dimming of the page (never over a picture); a click outside closes it. */

#dcpb-drawer {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  pointer-events: none;
  visibility: hidden;
}
#dcpb-drawer.is-open { pointer-events: auto; visibility: visible; }
#dcpb-drawer .dcpb-catch { position: absolute; inset: 0; background: transparent; }

.dcpb-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 350px;
  box-sizing: border-box;
  background: #231F20;
  color: #FCFBFE;
  transform: translateX(100%);
  transition: transform 250ms ease-in-out, visibility 0s linear 250ms;
  visibility: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-left: 1px solid #FCFBFE;                /* a clear edge over a dark page: a rule, never a shadow or dimming */
  overscroll-behavior: contain;
  font-family: 'DC Sans Condensed', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 11px;
  line-height: 18px;
  letter-spacing: 2px;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
}
#dcpb-drawer.is-open .dcpb-panel { transform: translateX(0); visibility: visible; transition: transform 250ms ease-in-out; }
#dcpb-drawer.is-phone .dcpb-panel { max-width: none; border-left: 0; }
@media (max-width: 767px) { .dcpb-panel { max-width: none; border-left: 0; } }

/* The Buy Button cart drawer (the SDK's own frame in this page): the whole width on phones, like the account drawer.
   Its inside (square steppers, the left rule, focus) is set through the cart options in dc-person-bag.js. */
.shopify-buy-frame--cart { box-shadow: none !important; }
@media (max-width: 767px) { .shopify-buy-frame--cart { max-width: none !important; width: 100% !important; } }

.dcpb-close {
  position: absolute;
  top: 8px;
  right: 9px;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #FCFBFE;
  font: 400 35px/30px Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.dcpb-close:focus { outline: none; }
.dcpb-close:focus-visible { outline: 1px solid #FCFBFE; }
@media (hover: hover) and (pointer: fine) { .dcpb-close:hover { color: #E71411; } }

.dcpb-body { padding: 64px 30px 40px; }
.dcpb-who { margin: 0 0 40px; }
.dcpb-who p { margin: 0; }
.dcpb-soft { font-weight: 400; text-transform: none; letter-spacing: 1px; color: rgba(252, 251, 254, .7); }

.dcpb-sec { margin: 0 0 32px; }
.dcpb-sec h3 {
  margin: 0 0 10px;
  padding: 0 0 8px;
  border-bottom: 1px solid rgba(252, 251, 254, .25);
  font: inherit;
  color: rgba(252, 251, 254, .6);
}
.dcpb-sec ul { list-style: none; margin: 0; padding: 0; }
.dcpb-sec li { margin: 0 0 6px; font-weight: 400; }
.dcpb-sec a, .dcpb-link {
  color: #FCFBFE;
  text-decoration: none;
  font-weight: 700;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) { .dcpb-sec a:hover, .dcpb-link:hover { color: #E71411; } }
.dcpb-dot { opacity: .6; padding: 0 2px; }


/* buttons: the kit's red button (KIT .dc-btn), square */

html.dcpb-lock, html.dcpb-lock body { overflow: hidden; }

/* ARTIFACTS IN YOUR NAME: the works themselves, a square picture beside title, artist and year */
.dcpb-arts li.dcpb-art { display: flex; gap: 14px; align-items: flex-start; margin: 4px 0 14px; }
.dcpb-art img, .dcpb-art-blank { display: block; flex: 0 0 auto; width: 64px; height: 64px; object-fit: cover; background: rgba(252, 251, 254, .1); }
.dcpb-art p { margin: 0; }
.dcpb-art-t { font-weight: 700; }
.dcpb-art-m { font-weight: 400; color: rgba(252, 251, 254, .7); margin-bottom: 6px !important; }

/* ================= SIGN-IN MODAL =================
   The editorial gate's own box, unchanged: generated from dc-access netlify/lib/gate-core.mjs css(THEMES.black,
   '#dcpb-sign'). On promotion this comes from dc-access itself (one definition); do not edit it here. */
#dcpb-sign:not(.is-open) { display: none !important; }
#dcpb-sign{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(35,31,32,.5);font-family:"DC Sans Condensed",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}#dcpb-sign *{box-sizing:border-box;border-radius:0}#dcpb-sign .dcg-card{position:relative;width:100%;max-width:440px;background:#231F20;color:#FCFBFE;padding:56px 40px 44px;text-align:center;box-shadow:0 10px 60px rgba(0,0,0,.25);border:1px solid rgba(252,251,254,.14)}#dcpb-sign .dcg-wm{display:block;width:96%;max-width:345.6px;margin:0 auto 36px;color:#FCFBFE}#dcpb-sign .dcg-wm svg{display:block;width:100%;height:auto}#dcpb-sign p{margin:0;font-weight:400;font-size:19px;line-height:1.35;letter-spacing:.02em;text-wrap:balance;color:#FCFBFE}#dcpb-sign .dcg-small{margin-top:12px;font-size:13px;letter-spacing:.06em;color:rgba(252,251,254,.6)}#dcpb-sign form{margin:32px auto 0;max-width:360px;text-align:left}#dcpb-sign input{display:block;width:100%;height:36px;margin:0 0 8px;border:1px solid rgba(252,251,254,.8);background:transparent;color:#FCFBFE;padding:0 10px;font:400 11px/1 "DC Sans Condensed",Helvetica,Arial,sans-serif;letter-spacing:1.5px;outline:none;-webkit-appearance:none;appearance:none;box-shadow:none}#dcpb-sign input::placeholder{color:rgba(252,251,254,.6);opacity:1}#dcpb-sign input:focus{border-color:#FCFBFE}#dcpb-sign button[type=submit]{display:block;width:100%;height:36px;margin:4px 0 0;border:0;background:#E71411;color:#231F20;padding:0;font:700 12px/1 "DC Sans Condensed",Helvetica,Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background-color .15s linear,color .15s linear}#dcpb-sign button[type=submit]:hover,#dcpb-sign button[type=submit]:focus-visible{background:#FCFBFE;color:#231F20}#dcpb-sign button[disabled]{opacity:.5;pointer-events:none}#dcpb-sign .dcg-x{position:absolute;top:8px;right:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#FCFBFE}#dcpb-sign .dcg-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}#dcpb-sign .dcg-other{display:block;margin:18px auto 0;padding:0;border:0;background:none;color:rgba(252,251,254,.6);font:400 13px/1.3 "DC Sans Condensed",Helvetica,Arial,sans-serif;letter-spacing:.06em;text-decoration:underline;cursor:pointer}#dcpb-sign [hidden]{display:none!important}#dcpb-sign form.dcg-shop{margin-top:8px}#dcpb-sign .dcg-err{margin-top:12px;font-size:13px;letter-spacing:.06em;color:#E71411}@media (max-width:480px){#dcpb-sign .dcg-card{padding:56px 44px 44px}#dcpb-sign p{font-size:17px}#dcpb-sign .dcg-wm{margin-bottom:30px}#dcpb-sign form{margin-top:28px}#dcpb-sign .dcg-x{top:6px;right:6px}}@media (min-width:1024px) and (min-height:600px){#dcpb-sign .dcg-card{max-width:none;width:50vw;min-height:50vh;display:flex;flex-direction:column;justify-content:center;padding:64px 8vw}#dcpb-sign .dcg-wm{max-width:403.2px;margin-bottom:44px}#dcpb-sign p{font-size:22px}#dcpb-sign .dcg-small{font-size:14px}#dcpb-sign form{max-width:420px;margin-top:40px}#dcpb-sign .dcg-x{top:16px;right:16px}}
#dcpb-sign button.dcg-x { margin: 0; padding: 0; border: 0; background: none; cursor: pointer; -webkit-appearance: none; appearance: none; }
#dcpb-sign button.dcg-x:focus { outline: none; }
#dcpb-sign button.dcg-x:focus-visible { outline: 1px solid #FCFBFE; outline-offset: -8px; }
