/* Ben's Bookstore aisles. Uses the site's own tokens when present (--brick, --ink), Bitter for display.
   Everything is scoped to .mbwa or to body.mbwa-aisle, so the Book Nook is untouched elsewhere. */
.mbwa{--mbwa-ink:var(--ink,#2b2219);--mbwa-muted:#76685a;--mbwa-paper:#fbf6ec;--mbwa-rule:rgba(43,34,25,.16);--mbwa-brick:var(--brick,#9e1f1a);--mbwa-wire:#8a7a64;
  --mbwa-display:"Bitter",Georgia,serif;color:var(--mbwa-ink);box-sizing:border-box}
.mbwa *,.mbwa *::before,.mbwa *::after{box-sizing:border-box}
.mbwa a{color:inherit}
.mbwa a:focus-visible{outline:3px solid var(--mbwa-brick);outline-offset:2px}
.mbwa-rainbow-bg,.mbwa-chip-rainbow{background:linear-gradient(90deg,#9b2a22 0 14.3%,#bf5f2a 0 28.6%,#d6a12a 0 42.9%,#3d6b45 0 57.1%,#2f5583 0 71.4%,#5d3f73 0 85.7%,#b4536b 0)!important}

/* ---------- plate (sign top, banner) ---------- */
.mbwa-plate{display:block;position:relative;background:var(--mbwa-c,#2b2219);color:#fff;text-decoration:none}
.mbwa-plate.mbwa-light{color:var(--mbwa-ink)}
.mbwa-plate.mbwa-rainbow{background:var(--mbwa-paper);color:var(--mbwa-ink);box-shadow:inset 0 0 0 2px var(--mbwa-ink);padding-top:22px!important}
.mbwa-plate.mbwa-rainbow::before{content:"";position:absolute;left:2px;right:2px;top:2px;height:9px;border-radius:6px 6px 0 0;
  background:linear-gradient(90deg,#9b2a22 0 14.3%,#bf5f2a 0 28.6%,#d6a12a 0 42.9%,#3d6b45 0 57.1%,#2f5583 0 71.4%,#5d3f73 0 85.7%,#b4536b 0)}
.mbwa-plate.mbwa-outline{box-shadow:inset 0 0 0 2px var(--mbwa-ink)}
.mbwa-eyebrow{display:block;font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.85}

/* ---------- landing ---------- */
/* the page sits on the Book Nook's kraft paper; Bricks' plain page title is replaced by the sign-painted one below */
body.mbwa-landing-page{background:#e9dcc0}
body.mbwa-landing-page #brx-content > h1:first-child{display:none}
.mbwa-landing{max-width:1440px;margin:0 auto;padding:26px 20px 48px}
.mbwa-land-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin:0 0 20px}
.mbwa-land-head h1{font-family:var(--mbwa-display);font-weight:900;font-size:clamp(28px,4vw,38px);line-height:1.05;margin:0;text-wrap:balance}
.mbwa-land-head p{margin:6px 0 0;max-width:62ch;color:#4a3f33;font-size:16px}
.mbwa-back{font-weight:700;font-size:14.5px;text-decoration:none;border:1.5px solid var(--mbwa-ink);border-radius:999px;padding:7px 15px;white-space:nowrap;background:var(--mbwa-paper)}
.mbwa-back:hover{background:var(--mbwa-ink);color:#fff}
.mbwa-empty-note{font-size:16px}
.mbwa-empty-note a{color:var(--mbwa-brick);font-weight:700}
.mbwa-signs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}
.mbwa-sign{position:relative;display:flex;flex-direction:column;margin-top:14px;background:var(--mbwa-paper);border-radius:8px;box-shadow:0 10px 18px -12px rgba(43,34,25,.6)}
.mbwa-sign::before,.mbwa-sign::after{content:"";position:absolute;top:-14px;width:2px;height:14px;background:var(--mbwa-wire)}
.mbwa-sign::before{left:22%}.mbwa-sign::after{right:22%}
.mbwa-sign .mbwa-plate{border-radius:8px 8px 0 0;padding:12px 16px 11px}
.mbwa-sign .mbwa-plate h2{font-family:var(--mbwa-display);font-weight:800;font-size:22px;line-height:1.15;margin:2px 0 0;color:inherit!important;text-wrap:balance}
.mbwa-sign .mbwa-plate:hover h2{text-decoration:underline;text-underline-offset:3px}
.mbwa-sign-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:12px 16px 14px}
.mbwa-desc{margin:0;font-size:14.5px;line-height:1.45;color:#4a3f33}
.mbwa-dir{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:14.5px}
.mbwa-dir li{margin:0;padding:0}
.mbwa-dir a{display:flex;align-items:baseline;gap:6px;text-decoration:none}
.mbwa-dir a:hover span:first-child{text-decoration:underline}
.mbwa-dir a::after{content:"";order:1;flex:1;border-bottom:1.5px dotted rgba(43,34,25,.35);transform:translateY(-4px)}
.mbwa-n{order:2;font-variant-numeric:tabular-nums;color:var(--mbwa-muted);font-size:13px}
.mbwa-walk{margin-top:auto;align-self:flex-start;font-weight:700;font-size:14px;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:1px;color:var(--mbwa-c,var(--mbwa-brick))}
.mbwa-sign .mbwa-plate.mbwa-light ~ .mbwa-sign-body .mbwa-walk{color:var(--mbwa-ink)}
.mbwa-sign-wide{grid-column:1/-1}
.mbwa-sign-wide .mbwa-sign-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:10px 28px;align-items:start}
.mbwa-sign-wide .mbwa-dir{grid-row:1 / span 2;grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.mbwa-sign-wide .mbwa-walk{grid-column:1;margin-top:0}

/* ---------- aisle page: head ---------- */
.mbwa-head{margin:0 auto;padding:14px 0 6px;width:100%}
.mbwa-crumb{font-size:13.5px;color:var(--mbwa-muted);margin:0 0 14px}
.mbwa-crumb a{font-weight:600;text-decoration:none;color:var(--mbwa-ink)}
.mbwa-crumb a:hover{text-decoration:underline}
.mbwa-banner.mbwa-plate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 24px;align-items:center;border-radius:10px;padding:14px 22px;margin-top:12px}
.mbwa-banner::before,.mbwa-banner::after{content:"";position:absolute;top:-12px;width:2px;height:12px;background:var(--mbwa-wire)}
.mbwa-banner:not(.mbwa-rainbow)::before{left:12%}.mbwa-banner::after{right:12%}
.mbwa-banner.mbwa-rainbow::after{right:12%}
.mbwa .mbwa-banner h1{font-family:var(--mbwa-display);font-weight:900;font-size:clamp(24px,3vw,32px);line-height:1.05;margin:0;color:inherit!important}
.mbwa .mbwa-banner p,.mbwa .mbwa-banner .mbwa-eyebrow,.mbwa .mbwa-count{color:inherit!important}
.mbwa-banner p{margin:0;max-width:62ch;font-size:15px;opacity:.92}
.mbwa-count{text-align:right;line-height:1}
.mbwa-count b{display:block;font-family:var(--mbwa-display);font-weight:800;font-size:26px}
.mbwa-count small{font-size:12.5px;font-weight:600;opacity:.85}
.mbwa-hop{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}
.mbwa-hop a{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;text-decoration:none;padding:4px 10px 4px 6px;border-radius:999px;background:var(--mbwa-paper);border:1px solid var(--mbwa-rule);white-space:nowrap}
.mbwa-hop a:hover{border-color:var(--mbwa-ink)}
.mbwa-hop a.mbwa-on{background:var(--mbwa-ink);color:#fff;border-color:var(--mbwa-ink)}
.mbwa-hop .mbwa-hop-all{padding-left:10px;font-weight:700}
.mbwa-chip{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--mbwa-c,#2b2219);box-shadow:inset 0 0 0 1px rgba(43,34,25,.28);flex:0 0 auto}
.mbwa-restock{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:14px 0 4px;padding:14px 18px;background:var(--mbwa-paper);border:1px dashed rgba(43,34,25,.35);border-radius:10px}
.mbwa-restock p{margin:0;font-size:15px}
.mbwa-btn{display:inline-flex;align-items:center;padding:8px 18px;border-radius:999px;background:var(--mbwa-brick);color:#fff!important;font-weight:700;text-decoration:none}

/* ---------- aisle page: rail ---------- */
.mbwa-rail{margin:0 0 18px}
.mbwa-rail h4{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8a7a68;margin:0 0 6px}
.mbwa-rail ul{list-style:none;margin:0 0 14px;padding:0 0 0 12px;border-left:3px solid var(--mbwa-c,var(--mbwa-ink));display:grid;gap:2px}
.mbwa-rail li{margin:0}
.mbwa-rail li a{display:flex;justify-content:space-between;gap:8px;text-decoration:none;font-size:14.5px;line-height:1.3;padding:3px 8px;margin-left:-8px;border-radius:6px}
.mbwa-rail li a:hover span:first-child{text-decoration:underline}
.mbwa-rail li a.mbwa-on{background:var(--mbwa-c,var(--mbwa-ink));color:#fff}
.mbwa-dept-white .mbwa-rail li a.mbwa-on,.mbwa-dept-yellow .mbwa-rail li a.mbwa-on,.mbwa-dept-kids .mbwa-rail li a.mbwa-on{background:var(--mbwa-ink)}
.mbwa-dept-kids .mbwa-rail ul,.mbwa-dept-white .mbwa-rail ul{border-left-color:var(--mbwa-ink)}
.mbwa-rail li a.mbwa-on .mbwa-n{color:inherit;opacity:.8}
.mbwa-alt{font-size:13.5px;color:var(--mbwa-muted);margin:0}
.mbwa-alt a{color:var(--mbwa-brick);font-weight:700}

/* the Book Nook layout on aisle pages: hide its title and Amazon-genre lists, keep Refine, box, Sort, grid */
/* specificity is deliberately high: the Book Nook's own rules use body:not(...) .mbw.mbw-nook ... !important */
html body.mbwa-aisle .mbw.mbw-nook .nk-wrap > h1{display:none!important}
html body.mbwa-aisle .mbw.mbw-nook .nk-wrap .nk-rail > :not(.mbwa-rail):not(.nk-refine){display:none!important}
html body.mbwa-aisle .mbw.mbw-nook .nk-wrap .nk-intro{display:none!important}
html body.mbwa-empty .mbw.mbw-nook .nk-wrap{display:none!important}
@media (min-width:1024px){
  html body.mbwa-aisle .mbw.mbw-nook .nk-wrap > .nk-ladder{grid-column:1 / -1!important}
  /* a long shelf list in the rail must not stretch the box row and push a short shelf's books down: the books row takes the slack */
  html body.mbwa-aisle .mbw.mbw-nook .nk-wrap{grid-template-rows:auto auto 1fr!important}
  html body.mbwa-aisle .mbw.mbw-nook .nk-wrap > div:last-child{align-self:start}
}

/* ---------- entry points ---------- */
.mbwa-swatch{display:inline-grid;grid-template-columns:repeat(3,9px);gap:2px;flex:0 0 auto}
.mbwa-swatch .mbwa-chip{width:9px;height:9px;border-radius:2px}
.mbwa-entry{display:flex;gap:10px;align-items:center;text-decoration:none;background:var(--mbwa-paper);border:1.5px solid var(--mbwa-ink);border-radius:10px;padding:9px 12px;margin:0 0 16px}
.mbwa-entry b{display:block;font-family:var(--mbwa-display);font-size:15.5px;line-height:1.2}
.mbwa-entry small{display:block;color:var(--mbwa-muted);font-size:12.5px}
.mbwa-entry:hover{background:#fff}
.mbwa-entry-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:999px;background:var(--mbwa-paper);border:1.5px solid var(--mbwa-ink);font-weight:700;font-size:14.5px;text-decoration:none;white-space:nowrap}
.mbwa-entry-pill:hover{background:#fff}

/* ---------- phones and tablets ---------- */
@media (max-width:1100px){.mbwa-signs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1023px){
  /* rail becomes a swipe strip of shelves, like the Book Nook's genre pills */
  .mbwa-rail{margin:4px 0 12px;min-width:0}
  .mbwa-rail h4{display:none}
  .mbwa-rail ul{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:2px 0 6px;border:0;margin:0 0 6px;scrollbar-width:none}
  .mbwa-rail ul::-webkit-scrollbar{display:none}
  .mbwa-rail li a{flex-direction:row;gap:6px;margin:0;white-space:nowrap;padding:6px 12px;border-radius:999px;background:var(--mbwa-paper);border:1px solid var(--mbwa-rule);font-size:14px;font-weight:600}
  .mbwa-entry{margin:6px 0 10px}
}
@media (max-width:720px){
  .mbwa-signs{grid-template-columns:1fr;gap:26px}
  .mbwa-landing{padding:18px 16px 36px}
  .mbwa-land-head{align-items:flex-start}
  .mbwa-sign .mbwa-plate h2{font-size:20px}
  .mbwa-sign-wide .mbwa-sign-body{grid-template-columns:1fr}
  .mbwa-sign-wide .mbwa-dir{grid-column:1;grid-row:auto;grid-template-columns:1fr}
  .mbwa-banner.mbwa-plate{grid-template-columns:1fr;padding:12px 16px}
  .mbwa-count{text-align:left;display:flex;align-items:baseline;gap:6px}
  .mbwa-count b{display:inline;font-size:20px}
  .mbwa-hop{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
  .mbwa-hop::-webkit-scrollbar{display:none}
}
@media (prefers-reduced-motion:reduce){.mbwa *{transition:none!important}}
