html:has(body.tap-board-fullscreen-body),
body.tap-board-fullscreen-body { margin:0 !important; padding:0 !important; width:100% !important; min-height:100vh !important; overflow:hidden !important; background:var(--tap-board-bg) !important; }
body.tap-board-fullscreen-body #wpadminbar { display:none !important; }
.tap-board-draft-board, .tap-board-draft-board * { box-sizing:border-box !important; }
.tap-board-draft-board { --tap-board-black:var(--tap-board-bg,#050505); --tap-board-panel-alt:var(--tap-board-row-even,#171717); --tap-board-orange:var(--tap-board-accent,#ff6a00); --tap-board-white:var(--tap-board-text,#f6f6f6); --tap-board-muted:var(--tap-board-muted-text,#bfbfbf); --tap-board-border:var(--tap-board-line,#ff6a00); width:min(1600px,100%) !important; margin:0 auto !important; background:var(--tap-board-black) !important; color:var(--tap-board-white) !important; font-family:var(--tap-board-header-font),Impact,Haettenschweiler,"Arial Narrow Bold",Arial,sans-serif !important; overflow:hidden !important; position:relative !important; box-shadow:0 28px 70px rgba(0,0,0,.7) !important; }
.tap-board-is-fullscreen { width:100vw !important; height:100vh !important; max-width:none !important; display:grid !important; grid-template-rows:17vh 1fr 11vh !important; }
.tap-board-draft-board::before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:5px 5px; pointer-events:none; opacity:.4; z-index:0; }
.tap-board-draft-header,.tap-board-beer-grid,.tap-board-draft-footer { position:relative !important; z-index:1 !important; }
.tap-board-draft-header { display:grid !important; grid-template-columns:1.25fr .55fr 1.25fr !important; align-items:center !important; padding:1vh 2.8vw .7vh !important; border-bottom:3px solid var(--tap-board-border) !important; gap:1.5vw !important; min-height:0 !important; overflow:visible !important; }
.tap-board-header-left,.tap-board-header-right { min-width:0 !important; display:flex !important; align-items:center !important; height:100% !important; }
.tap-board-header-left { justify-content:flex-start !important; }
.tap-board-header-right { justify-content:flex-end !important; }
.tap-board-header-img { display:block !important; width:100% !important; height:100% !important; max-height:14vh !important; object-fit:contain !important; }
.tap-board-left-img { object-position:left center !important; }
.tap-board-right-img { object-position:right center !important; }
.tap-board-brand-title { font-family:Impact,"Bebas Neue","Arial Black",sans-serif !important; font-size:clamp(3rem,6.1vw,7rem) !important; font-weight:900 !important; letter-spacing:.05em !important; line-height:.85 !important; text-transform:uppercase !important; color:#fff !important; white-space:nowrap !important; display:inline-block !important; -webkit-text-stroke:1px rgba(255,255,255,.35) !important; text-shadow:3px 3px 0 #000,6px 6px 0 rgba(0,0,0,.7),0 0 14px rgba(255,255,255,.16) !important; }
.tap-board-brand-word { display:inline-block !important; transform:scaleX(.82) !important; transform-origin:left center !important; color:#fff !important; }
.tap-board-amp { display:inline-block !important; color:var(--tap-board-orange) !important; transform:scaleX(.92) rotate(-2deg) !important; margin:0 .04em !important; }
.tap-board-tagline { margin-top:1.1vh !important; display:flex !important; align-items:center !important; gap:1vw !important; color:var(--tap-board-orange) !important; font-family:"Oswald",Arial,sans-serif !important; font-size:clamp(.75rem,1.2vw,1.25rem) !important; font-weight:600 !important; line-height:1 !important; letter-spacing:.28em !important; text-transform:uppercase !important; }
.tap-board-tagline::before,.tap-board-tagline::after { content:""; height:3px; width:70px; background:var(--tap-board-orange); }
.tap-board-logo-mark { justify-self:center !important; align-self:center !important; width:clamp(105px,9vw,170px) !important; height:clamp(105px,9vw,170px) !important; border:5px solid var(--tap-board-white) !important; border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important; background:radial-gradient(circle,#171717 0%,#060606 75%) !important; box-shadow:0 0 0 5px #111,0 0 0 8px var(--tap-board-orange) !important; overflow:hidden !important; }
.tap-board-logo-mark img { width:100% !important; height:100% !important; object-fit:contain !important; display:block !important; }
.tap-board-logo-mark:not(.has-custom-logo)::before { content:"T"; font-family:Impact,"Bebas Neue","Arial Black",sans-serif !important; font-size:clamp(4.6rem,6.4vw,7.3rem) !important; font-weight:900 !important; color:#fff !important; line-height:.82 !important; text-align:center !important; text-shadow:3px 3px 0 #000,6px 6px 0 rgba(0,0,0,.6) !important; transform:translateX(1px) scaleX(.85) !important; display:block !important; }
.tap-board-draft-title { justify-self:end !important; color:var(--tap-board-orange) !important; font-family:"Permanent Marker","Brush Script MT",cursive !important; font-size:clamp(2.8rem,5.8vw,6.3rem) !important; font-weight:400 !important; line-height:.82 !important; transform:rotate(-4deg) skewX(-7deg) !important; text-transform:uppercase !important; letter-spacing:.015em !important; text-shadow:3px 3px 0 #000,6px 6px 0 rgba(0,0,0,.55) !important; position:relative !important; }
.tap-board-draft-title::after { content:""; display:block; height:12px; margin-top:12px; background:linear-gradient(90deg,#fff 0 72%,transparent 73% 100%),linear-gradient(90deg,#fff 0 64%,transparent 65% 100%),linear-gradient(90deg,#fff 0 80%,transparent 81% 100%); background-size:100% 3px,84% 3px,92% 3px; background-position:0 0,18px 5px,38px 10px; background-repeat:no-repeat; transform:skewX(-24deg); }
.tap-board-beer-grid { display:grid !important; grid-template-columns:1fr 1fr !important; min-height:0 !important; }
.tap-board-beer-row { display:grid !important; grid-template-columns:clamp(54px,5vw,86px) clamp(64px,6.2vw,100px) 1fr !important; gap:clamp(12px,1.35vw,22px) !important; align-items:center !important; min-height:0 !important; padding:.62vh 2.65vw !important; background:var(--tap-board-row-odd) !important; border-bottom:var(--tap-board-row-border-width) solid var(--tap-board-line) !important; border-radius:var(--tap-board-row-radius) !important; margin:var(--tap-board-row-gap) !important; overflow:hidden !important; }
.tap-board-beer-row:nth-child(4n+3),.tap-board-beer-row:nth-child(4n+4) { background:var(--tap-board-panel-alt) !important; }
.tap-board-number { font-size:clamp(3rem,4.2vw,5rem) !important; color:#fff !important; line-height:1 !important; text-align:center !important; text-shadow:2px 3px 0 #111 !important; }
.tap-board-beer-logo { width:clamp(40px,5.7vw,var(--tap-board-logo-size)) !important; height:clamp(40px,5.7vw,var(--tap-board-logo-size)) !important; border-radius:50% !important; background:var(--tap-board-logo-bg) !important; color:#111 !important; display:grid !important; place-items:center !important; overflow:hidden !important; box-shadow:inset 0 0 0 3px rgba(0,0,0,.12),0 4px 14px rgba(0,0,0,.55) !important; }
.tap-board-beer-logo img { width:100% !important; height:100% !important; object-fit:contain !important; padding:7px !important; display:block !important; }
.tap-board-beer-logo.empty span { font:900 .72rem/1 Arial,sans-serif !important; }
.tap-board-beer-name { color:var(--tap-board-orange) !important; font:900 clamp(1.05rem,1.55vw,1.95rem)/1.05 var(--tap-board-body-font), Arial, sans-serif !important; letter-spacing:.03em !important; text-transform:uppercase !important; margin-bottom:.35vh !important; }
.tap-board-brewery { color:#fff !important; font:900 clamp(.9rem,1.22vw,1.45rem)/1.1 var(--tap-board-body-font), Arial, sans-serif !important; letter-spacing:.03em !important; text-transform:uppercase !important; margin-bottom:.25vh !important; }
.tap-board-details { color:var(--tap-board-muted) !important; font:700 clamp(.8rem,1.05vw,1.25rem)/1.2 var(--tap-board-body-font), Arial, sans-serif !important; letter-spacing:.02em !important; }
.tap-board-draft-footer { display:grid !important; grid-template-columns:1fr auto 1fr !important; align-items:center !important; gap:1.5vw !important; padding:.9vh 2.8vw !important; border-top:3px solid var(--tap-board-border) !important; background:var(--tap-board-bg) !important; overflow:hidden !important; }
.tap-board-draft-footer.has-footer-banner { grid-template-columns:1fr auto !important; }
.tap-board-footer-banner { width:100% !important; max-height:9.5vh !important; object-fit:contain !important; object-position:center !important; display:block !important; justify-self:center !important; }
.tap-board-footer-ball { width:150px; height:50px; position:relative; }
.tap-board-footer-ball::before { content:""; position:absolute; left:0; top:10px; width:105px; height:4px; background:var(--tap-board-orange); box-shadow:0 12px 0 var(--tap-board-orange),0 24px 0 var(--tap-board-orange); }
.tap-board-footer-ball::after { content:"●"; position:absolute; right:0; top:-12px; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; color:#111; background:var(--tap-board-orange); font-size:1.4rem; box-shadow:inset 0 0 0 4px rgba(0,0,0,.22); }
.tap-board-footer-slogan { font-family:"Permanent Marker","Brush Script MT",cursive !important; font-size:clamp(2.5rem,5vw,5.8rem) !important; font-weight:400 !important; line-height:.9 !important; letter-spacing:.02em !important; white-space:nowrap !important; color:#fff !important; text-transform:uppercase !important; transform:rotate(-2deg) skewX(-4deg) !important; text-shadow:3px 3px 0 #000,6px 6px 0 rgba(0,0,0,.55) !important; }
.tap-board-footer-slogan span { color:var(--tap-board-orange) !important; margin:0 .08em !important; display:inline-block !important; }
.tap-board-social { justify-self:end !important; color:var(--tap-board-orange) !important; font:800 1.2rem Arial,sans-serif !important; letter-spacing:.08em !important; text-transform:uppercase !important; display:flex !important; align-items:center !important; gap:18px !important; white-space:nowrap !important; }
.tap-board-social i { width:42px; height:42px; border:4px solid #fff; border-radius:50%; color:#fff; display:grid; place-items:center; font-style:normal; font-size:1.35rem; }
@media (max-width:1050px) { .tap-board-is-fullscreen { height:auto !important; min-height:100vh !important; grid-template-rows:auto !important; } .tap-board-draft-header { grid-template-columns:1fr !important; text-align:center !important; } .tap-board-header-left,.tap-board-header-right { justify-content:center !important; } .tap-board-draft-title,.tap-board-logo-mark { justify-self:center !important; } .tap-board-tagline { justify-content:center !important; } .tap-board-beer-grid { grid-template-columns:1fr !important; } .tap-board-draft-footer,.tap-board-draft-footer.has-footer-banner { grid-template-columns:1fr !important; text-align:center !important; } .tap-board-footer-ball,.tap-board-social { justify-self:center !important; } .tap-board-footer-slogan { white-space:normal !important; } }

/* v1.2 layout hardening */
html:has(body.tap-board-fullscreen-body),
body.tap-board-fullscreen-body,
body.tap-board-fullscreen-body * { scrollbar-width:none !important; }
body.tap-board-fullscreen-body::-webkit-scrollbar { display:none !important; }
body.tap-board-fullscreen-body { background:var(--tap-board-bg) !important; }
.tap-board-draft-board { background:var(--tap-board-bg) !important; box-shadow:none !important; }
.tap-board-is-fullscreen { width:100vw !important; height:100vh !important; max-width:none !important; margin:0 !important; background:var(--tap-board-bg) !important; grid-template-rows:17vh 1fr 10.5vh !important; }
.tap-board-draft-header { background:var(--tap-board-header-bg) !important; grid-template-columns:minmax(420px,520px) minmax(150px,220px) minmax(420px,520px) !important; justify-content:space-between !important; gap:clamp(24px,4vw,80px) !important; padding:0 3vw !important; align-items:center !important; }
.tap-board-header-left,.tap-board-header-right { align-items:center !important; }
.tap-board-header-img { width:100% !important; height:auto !important; max-height:15.5vh !important; object-fit:contain !important; display:block !important; }
.tap-board-logo-mark { width:clamp(130px,10.5vw,220px) !important; height:clamp(130px,10.5vw,220px) !important; position:relative !important; z-index:3 !important; }
.tap-board-logo-mark.has-custom-logo { border:0 !important; box-shadow:none !important; background:transparent !important; }
.tap-board-logo-mark.has-custom-logo img { width:100% !important; height:100% !important; object-fit:contain !important; }
.tap-board-beer-grid { background:var(--tap-board-bg) !important; }
.tap-board-draft-footer { background:var(--tap-board-footer-bg) !important; padding:0 !important; margin:0 !important; }
.tap-board-draft-footer.has-footer-banner { display:block !important; width:100% !important; height:100% !important; }
.tap-board-footer-banner { display:block !important; width:100% !important; height:100% !important; max-height:none !important; object-fit:cover !important; object-position:center center !important; margin:0 !important; padding:0 !important; }
@media (max-width:1050px) {
  .tap-board-draft-header { grid-template-columns:1fr !important; justify-content:center !important; padding:16px !important; }
  .tap-board-header-img { max-width:520px !important; max-height:none !important; }
}

/* v1.3.0 header/footer alignment refinements */
html:has(body.tap-board-fullscreen-body),
body.tap-board-fullscreen-body,
body.tap-board-fullscreen-body .tap-board-draft-board {
  background:var(--tap-board-bg) !important;
}

.tap-board-is-fullscreen {
  grid-template-rows:21vh 1fr 10.5vh !important;
}

.tap-board-draft-header {
  position:relative !important;
  background:var(--tap-board-bg) !important;
  grid-template-columns:minmax(420px,520px) minmax(150px,220px) minmax(420px,520px) !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:clamp(24px,4vw,80px) !important;
  padding:1vh 3vw 1.4vh !important;
  border-bottom:3px solid var(--tap-board-border) !important;
  overflow:hidden !important;
}

.tap-board-header-left,
.tap-board-header-right {
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
}

.tap-board-header-left { justify-content:flex-start !important; }
.tap-board-header-right { justify-content:flex-end !important; }

.tap-board-header-img {
  width:100% !important;
  height:100% !important;
  max-height:15.5vh !important;
  object-fit:contain !important;
  display:block !important;
}

.tap-board-left-img { object-position:left center !important; }
.tap-board-right-img { object-position:right center !important; }

.tap-board-logo-mark {
  width:clamp(130px,10.5vw,205px) !important;
  height:clamp(130px,10.5vw,205px) !important;
  max-width:100% !important;
  max-height:18.2vh !important;
  justify-self:center !important;
  align-self:center !important;
  position:relative !important;
  z-index:4 !important;
  margin:0 !important;
}

.tap-board-logo-mark.has-custom-logo {
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

.tap-board-logo-mark img,
.tap-board-logo-mark.has-custom-logo img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

.tap-board-draft-footer.has-footer-banner {
  display:block !important;
  width:100% !important;
  height:100% !important;
  background:var(--tap-board-footer-bg) !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}

.tap-board-footer-banner {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
}

/* TapBoard v1.1.0 header/footer product cleanup
   Header/footer now render as configurable text, with an optional logo only. */
.tap-board-is-fullscreen {
  grid-template-rows:clamp(116px,16vh,178px) 1fr clamp(54px,8vh,90px) !important;
}

.tap-board-draft-header {
  background:var(--tap-board-header-bg) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,clamp(90px,11vw,170px)) minmax(0,1fr) !important;
  align-items:center !important;
  gap:clamp(16px,2.2vw,46px) !important;
  padding:clamp(10px,1.1vh,18px) clamp(22px,3vw,58px) !important;
  border-bottom:3px solid var(--tap-board-line) !important;
  overflow:hidden !important;
}

.tap-board-draft-header.no-logo {
  grid-template-columns:minmax(0,1fr) 0 minmax(0,1fr) !important;
}

.tap-board-header-left,
.tap-board-header-right {
  min-width:0 !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.tap-board-header-left { align-items:flex-start !important; }
.tap-board-header-right { align-items:flex-end !important; }

.tap-board-brand-title {
  color:var(--tap-board-text) !important;
  font-family:var(--tap-board-header-font), Arial, sans-serif !important;
  font-size:clamp(2rem,4.4vw,5.6rem) !important;
  font-weight:900 !important;
  line-height:.9 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  -webkit-text-stroke:0 !important;
}

.tap-board-tagline {
  margin-top:clamp(5px,.7vh,10px) !important;
  color:var(--tap-board-accent) !important;
  font-family:var(--tap-board-body-font), Arial, sans-serif !important;
  font-size:clamp(.75rem,1.05vw,1.25rem) !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  display:block !important;
}

.tap-board-tagline::before,
.tap-board-tagline::after { display:none !important; }

.tap-board-logo-mark {
  justify-self:center !important;
  align-self:center !important;
  width:clamp(72px,9vw,150px) !important;
  height:clamp(54px,10vh,136px) !important;
  max-width:100% !important;
  max-height:100% !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.tap-board-logo-mark.is-empty {
  display:block !important;
  width:0 !important;
  height:0 !important;
}

.tap-board-logo-mark::before,
.tap-board-logo-mark:not(.has-custom-logo)::before {
  content:none !important;
  display:none !important;
}

.tap-board-logo-mark img,
.tap-board-logo-mark.has-custom-logo img {
  display:block !important;
  max-width:100% !important;
  max-height:100% !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

.tap-board-draft-title {
  color:var(--tap-board-accent) !important;
  font-family:var(--tap-board-header-font), Arial, sans-serif !important;
  font-size:clamp(1.8rem,3.8vw,5rem) !important;
  font-weight:900 !important;
  line-height:.95 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  transform:none !important;
  text-shadow:none !important;
}

.tap-board-draft-title::after { display:none !important; }

.tap-board-draft-footer {
  background:var(--tap-board-footer-bg) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 clamp(18px,3vw,58px) !important;
  border-top:3px solid var(--tap-board-line) !important;
  overflow:hidden !important;
}

.tap-board-footer-slogan {
  color:var(--tap-board-text) !important;
  font-family:var(--tap-board-header-font), Arial, sans-serif !important;
  font-size:clamp(1.25rem,2.7vw,3.5rem) !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  transform:none !important;
  text-shadow:none !important;
}

.tap-board-footer-ball,
.tap-board-social,
.tap-board-footer-banner { display:none !important; }

@media (max-width:1050px) {
  .tap-board-draft-header,
  .tap-board-draft-header.no-logo {
    grid-template-columns:1fr !important;
    text-align:center !important;
    gap:10px !important;
  }
  .tap-board-header-left,
  .tap-board-header-right { align-items:center !important; }
  .tap-board-logo-mark.is-empty { display:none !important; }
  .tap-board-brand-title,
  .tap-board-draft-title,
  .tap-board-tagline { white-space:normal !important; }
}

/* ==========================================================
   TapBoard v1.1.0 - Header/Footer Builder
   Text-first header and footer with optional contained logo.
   ========================================================== */
.tap-board-is-fullscreen {
  grid-template-rows:var(--tap-board-header-height,15vh) 1fr var(--tap-board-footer-height,8vh) !important;
}

.tap-board-draft-header {
  min-height:0 !important;
  height:100% !important;
  background:var(--tap-board-header-bg) !important;
  display:grid !important;
  align-items:center !important;
  gap:clamp(14px,2vw,42px) !important;
  padding:clamp(8px,.9vh,16px) clamp(22px,3vw,58px) !important;
  border-bottom:3px solid var(--tap-board-line) !important;
  overflow:hidden !important;
}

.tap-board-draft-header.has-logo.logo-center {
  grid-template-columns:minmax(0,1fr) minmax(80px,clamp(92px,10vw,170px)) minmax(0,1fr) !important;
}

.tap-board-draft-header.has-logo.logo-left,
.tap-board-draft-header.has-logo.logo-right {
  grid-template-columns:minmax(80px,clamp(92px,10vw,170px)) minmax(0,1fr) minmax(0,1fr) !important;
}

.tap-board-draft-header.has-logo.logo-right {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(80px,clamp(92px,10vw,170px)) !important;
}

.tap-board-draft-header.no-logo,
.tap-board-draft-header.logo-none {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
}

.tap-board-logo-mark {
  width:100% !important;
  height:100% !important;
  max-height:calc(var(--tap-board-header-height,15vh) - 18px) !important;
  max-width:clamp(80px,10vw,180px) !important;
  justify-self:center !important;
  align-self:center !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.tap-board-logo-mark img,
.tap-board-logo-mark.has-custom-logo img {
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
}

.tap-board-draft-header.no-logo .tap-board-logo-mark,
.tap-board-logo-mark.is-empty,
.tap-board-logo-mark::before,
.tap-board-logo-mark:not(.has-custom-logo)::before {
  display:none !important;
  content:none !important;
}

.tap-board-header-left,
.tap-board-header-right {
  min-width:0 !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.tap-board-draft-header.align-split .tap-board-header-left { align-items:flex-start !important; text-align:left !important; }
.tap-board-draft-header.align-split .tap-board-header-right { align-items:flex-end !important; text-align:right !important; }
.tap-board-draft-header.align-left .tap-board-header-left,
.tap-board-draft-header.align-left .tap-board-header-right { align-items:flex-start !important; text-align:left !important; }
.tap-board-draft-header.align-center .tap-board-header-left,
.tap-board-draft-header.align-center .tap-board-header-right { align-items:center !important; text-align:center !important; }
.tap-board-draft-header.align-right .tap-board-header-left,
.tap-board-draft-header.align-right .tap-board-header-right { align-items:flex-end !important; text-align:right !important; }

.tap-board-brand-title {
  font-size:clamp(1.6rem,var(--tap-board-business-size,4.2vw),6.5rem) !important;
  max-width:100% !important;
}

.tap-board-tagline {
  font-size:clamp(.65rem,var(--tap-board-tagline-size,1vw),2rem) !important;
  max-width:100% !important;
}

.tap-board-draft-title {
  font-size:clamp(1.35rem,var(--tap-board-title-size,3.2vw),5.8rem) !important;
  max-width:100% !important;
}

.tap-board-draft-footer {
  min-height:0 !important;
  height:100% !important;
  background:var(--tap-board-footer-bg) !important;
  display:flex !important;
  align-items:center !important;
  padding:0 clamp(18px,3vw,58px) !important;
  border-top:3px solid var(--tap-board-line) !important;
  overflow:hidden !important;
}

.tap-board-draft-footer.align-left { justify-content:flex-start !important; text-align:left !important; }
.tap-board-draft-footer.align-center { justify-content:center !important; text-align:center !important; }
.tap-board-draft-footer.align-right { justify-content:flex-end !important; text-align:right !important; }

.tap-board-footer-slogan {
  font-size:clamp(1rem,var(--tap-board-footer-size,2.6vw),5rem) !important;
  max-width:100% !important;
}

@media (max-width:1050px) {
  .tap-board-draft-header,
  .tap-board-draft-header.has-logo.logo-center,
  .tap-board-draft-header.has-logo.logo-left,
  .tap-board-draft-header.has-logo.logo-right,
  .tap-board-draft-header.no-logo,
  .tap-board-draft-header.logo-none {
    grid-template-columns:1fr !important;
    height:auto !important;
    min-height:var(--tap-board-header-height,15vh) !important;
    text-align:center !important;
  }
  .tap-board-header-left,
  .tap-board-header-right { align-items:center !important; text-align:center !important; }
  .tap-board-logo-mark { max-height:110px !important; }
  .tap-board-brand-title,
  .tap-board-draft-title,
  .tap-board-tagline,
  .tap-board-footer-slogan { white-space:normal !important; }
}

/* TapBoard v1.2.1 - multi-board layouts, logo frames, and beverage typography */
.tap-board-draft-board {
  --tap-board-chalk-shadow: 0 0 1px rgba(255,255,255,.5), 1px 1px 0 rgba(255,255,255,.08);
}

.tap-board-draft-board .tap-board-number {
  font-size:clamp(1.4rem,var(--tap-board-number-size,4.2vw),7.5rem) !important;
}

.tap-board-draft-board .tap-board-beer-name {
  font-size:clamp(.9rem,var(--tap-board-item-name-size,1.55vw),4.5rem) !important;
}

.tap-board-draft-board .tap-board-brewery {
  font-size:clamp(.65rem,var(--tap-board-item-subtitle-size,.95vw),3.2rem) !important;
}

.tap-board-draft-board .tap-board-details {
  font-size:clamp(.6rem,var(--tap-board-item-details-size,.8vw),2.8rem) !important;
}

.tap-board-draft-board.logo-frame-none .tap-board-beer-logo {
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.tap-board-draft-board.logo-frame-circle .tap-board-beer-logo { border-radius:50% !important; }
.tap-board-draft-board.logo-frame-rounded .tap-board-beer-logo { border-radius:18px !important; }
.tap-board-draft-board.logo-frame-square .tap-board-beer-logo { border-radius:0 !important; }

.tap-board-draft-board.layout-vertical .tap-board-beer-grid,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-grid {
  grid-template-columns:1fr !important;
  align-content:stretch !important;
}

.tap-board-draft-board.layout-vertical.tap-board-is-fullscreen {
  width:min(720px,100vw) !important;
  margin:0 auto !important;
  grid-template-rows:clamp(110px,14vh,160px) 1fr clamp(54px,7vh,82px) !important;
}

.tap-board-draft-board.layout-vertical .tap-board-draft-header {
  grid-template-columns:1fr !important;
  text-align:center !important;
  gap:8px !important;
}

.tap-board-draft-board.layout-vertical .tap-board-header-left,
.tap-board-draft-board.layout-vertical .tap-board-header-right {
  align-items:center !important;
  text-align:center !important;
}

.tap-board-draft-board.layout-vertical .tap-board-logo-mark {
  display:none !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-row {
  grid-template-columns:clamp(40px,7vw,70px) clamp(50px,8vw,82px) 1fr !important;
  padding:.55vh clamp(18px,3vw,34px) !important;
}

.tap-board-draft-board.layout-chalkboard {
  background:#10120f !important;
  background-image:radial-gradient(circle at 15% 20%,rgba(255,255,255,.06),transparent 20%),linear-gradient(115deg,rgba(255,255,255,.035),transparent 28%,rgba(255,255,255,.02) 50%,transparent 72%) !important;
  border:clamp(10px,1.2vw,22px) solid #6b4423 !important;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.08), inset 0 0 70px rgba(0,0,0,.7) !important;
}

.tap-board-draft-board.layout-chalkboard.tap-board-is-fullscreen {
  width:min(900px,100vw) !important;
  margin:0 auto !important;
  grid-template-rows:clamp(120px,16vh,190px) 1fr clamp(54px,8vh,90px) !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-draft-board::before { opacity:.18 !important; }
.tap-board-draft-board.layout-chalkboard .tap-board-draft-header,
.tap-board-draft-board.layout-chalkboard .tap-board-draft-footer {
  background:transparent !important;
  border-color:rgba(255,255,255,.38) !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-brand-title,
.tap-board-draft-board.layout-chalkboard .tap-board-draft-title,
.tap-board-draft-board.layout-chalkboard .tap-board-footer-slogan,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-name,
.tap-board-draft-board.layout-chalkboard .tap-board-number {
  font-family:"Permanent Marker","Patrick Hand","Schoolbell",cursive !important;
  color:var(--tap-board-text,#f8f3df) !important;
  text-shadow:var(--tap-board-chalk-shadow) !important;
  -webkit-text-stroke:0 !important;
  transform:none !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-tagline,
.tap-board-draft-board.layout-chalkboard .tap-board-brewery,
.tap-board-draft-board.layout-chalkboard .tap-board-details {
  font-family:"Patrick Hand","Schoolbell",cursive !important;
  color:var(--tap-board-muted-text,#ddd6bd) !important;
  text-shadow:var(--tap-board-chalk-shadow) !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-beer-grid {
  background:transparent !important;
  padding:clamp(8px,1vh,18px) clamp(18px,2.6vw,44px) !important;
  gap:0 !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-beer-row {
  background:transparent !important;
  border-bottom:var(--tap-board-row-border-width,1px) dashed rgba(255,255,255,.4) !important;
  box-shadow:none !important;
  margin:0 !important;
  border-radius:0 !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-beer-logo {
  background:rgba(255,255,255,.08) !important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.18) !important;
}

/* ==========================================================
   TapBoard v1.2.2 - vertical engine fixes + chalk font control
   ========================================================== */
.tap-board-draft-board .tap-board-number {
  font-family:var(--tap-board-number-font), var(--tap-board-header-font), Arial, sans-serif !important;
  color:var(--tap-board-text) !important;
}

.tap-board-draft-board.layout-vertical.tap-board-is-fullscreen,
.tap-board-draft-board.layout-chalkboard.tap-board-is-fullscreen {
  overflow:hidden !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-grid,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-grid {
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-row,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-row {
  flex:1 1 0 !important;
  min-height:0 !important;
  display:grid !important;
  align-items:center !important;
  overflow:hidden !important;
  border-bottom:var(--tap-board-row-border-width,1px) solid var(--tap-board-line) !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-row {
  grid-template-columns:clamp(46px,7vw,84px) clamp(48px,8vw,88px) minmax(0,1fr) !important;
  column-gap:clamp(10px,1.8vw,20px) !important;
  padding:clamp(3px,.45vh,8px) clamp(14px,2.4vw,28px) !important;
}

.tap-board-draft-board.layout-vertical .tap-board-number,
.tap-board-draft-board.layout-chalkboard .tap-board-number {
  align-self:center !important;
  justify-self:center !important;
  line-height:.9 !important;
  overflow:hidden !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-logo,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-logo {
  width:min(var(--tap-board-logo-size,86px), calc(100% - 4px)) !important;
  height:min(var(--tap-board-logo-size,86px), calc(100% - 8px)) !important;
  align-self:center !important;
  justify-self:center !important;
  max-height:100% !important;
  position:relative !important;
  z-index:2 !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-copy,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-copy {
  min-width:0 !important;
  overflow:hidden !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-name,
.tap-board-draft-board.layout-vertical .tap-board-brewery,
.tap-board-draft-board.layout-vertical .tap-board-details,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-name,
.tap-board-draft-board.layout-chalkboard .tap-board-brewery,
.tap-board-draft-board.layout-chalkboard .tap-board-details {
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.05 !important;
  margin:0 !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-brand-title,
.tap-board-draft-board.layout-chalkboard .tap-board-draft-title,
.tap-board-draft-board.layout-chalkboard .tap-board-footer-slogan {
  font-family:var(--tap-board-header-font), "Fredericka the Great", "Permanent Marker", cursive !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-number {
  font-family:var(--tap-board-item-number-font, var(--tap-board-number-font)), "Fredericka the Great", "Londrina Sketch", cursive !important;
  color:var(--tap-board-item-number-color, var(--tap-board-text,#f8f3df)) !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-beer-name {
  font-family:var(--tap-board-item-name-font, var(--tap-board-body-font)), "Permanent Marker", "Patrick Hand", cursive !important;
  color:var(--tap-board-item-name-color, var(--tap-board-accent,var(--tap-board-text,#f8f3df))) !important;
  font-size:clamp(.9rem,var(--tap-board-item-name-size,1.55vw),5rem) !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-brewery,
.tap-board-draft-board.layout-chalkboard .tap-board-details {
  font-family:var(--tap-board-item-detail-font, var(--tap-board-body-font)), "Patrick Hand", Schoolbell, cursive !important;
  color:var(--tap-board-item-detail-color, var(--tap-board-muted-text,#ddd6bd)) !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-beer-grid {
  padding:clamp(4px,.7vh,12px) clamp(14px,2.2vw,36px) !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-beer-row {
  grid-template-columns:clamp(48px,7vw,88px) clamp(48px,8vw,92px) minmax(0,1fr) !important;
  column-gap:clamp(10px,1.6vw,22px) !important;
  padding:clamp(3px,.45vh,8px) clamp(8px,1.5vw,20px) !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-draft-header {
  overflow:hidden !important;
}


/* ==========================================================
   TapBoard v1.2.3 - Responsive scaling engine
   Scales typography and layout from the board container so
   previews, vertical boards, chalkboard boards, and TV screens
   fit the available window more reliably.
   ========================================================== */
.tap-board-draft-board.responsive-scale {
  container-type:inline-size !important;
  width:100% !important;
  max-width:min(1600px,100vw) !important;
}
.tap-board-draft-board.responsive-scale.tap-board-is-fullscreen {
  max-width:100vw !important;
}
.tap-board-draft-board.responsive-scale.layout-vertical.tap-board-is-fullscreen {
  width:min(760px,100vw) !important;
}
.tap-board-draft-board.responsive-scale.layout-chalkboard.tap-board-is-fullscreen {
  width:min(940px,100vw) !important;
}
.tap-board-draft-board.responsive-scale .tap-board-brand-title {
  font-size:clamp(1.2rem, calc(var(--tap-board-business-scale,4.2) * 1cqw), 5.8rem) !important;
}
.tap-board-draft-board.responsive-scale .tap-board-tagline {
  font-size:clamp(.58rem, calc(var(--tap-board-tagline-scale,1) * 1cqw), 1.65rem) !important;
}
.tap-board-draft-board.responsive-scale .tap-board-draft-title {
  font-size:clamp(1.05rem, calc(var(--tap-board-title-scale,3.2) * 1cqw), 5.2rem) !important;
}
.tap-board-draft-board.responsive-scale .tap-board-footer-slogan {
  font-size:clamp(.9rem, calc(var(--tap-board-footer-scale,2.6) * 1cqw), 4.6rem) !important;
}
.tap-board-draft-board.responsive-scale .tap-board-number {
  font-size:clamp(1.15rem, calc(var(--tap-board-number-scale,4.2) * 1cqw), 6.5rem) !important;
}
.tap-board-draft-board.responsive-scale .tap-board-beer-name {
  font-size:clamp(.78rem, calc(var(--tap-board-item-name-scale,1.55) * 1cqw), 3.6rem) !important;
}
.tap-board-draft-board.responsive-scale .tap-board-brewery {
  font-size:clamp(.58rem, calc(var(--tap-board-item-subtitle-scale,.95) * 1cqw), 2.5rem) !important;
}
.tap-board-draft-board.responsive-scale .tap-board-details {
  font-size:clamp(.52rem, calc(var(--tap-board-item-details-scale,.8) * 1cqw), 2rem) !important;
}
.tap-board-draft-board.responsive-scale .tap-board-beer-row {
  min-width:0 !important;
}
.tap-board-draft-board.responsive-scale .tap-board-beer-copy {
  min-width:0 !important;
}
.tap-board-draft-board.responsive-scale.layout-vertical .tap-board-beer-row,
.tap-board-draft-board.responsive-scale.layout-chalkboard .tap-board-beer-row {
  grid-template-columns:clamp(34px,9cqw,78px) clamp(38px,10cqw,86px) minmax(0,1fr) !important;
  column-gap:clamp(7px,2cqw,18px) !important;
  padding:clamp(2px,.6cqw,7px) clamp(8px,3cqw,28px) !important;
}
.tap-board-draft-board.responsive-scale.layout-vertical .tap-board-beer-logo,
.tap-board-draft-board.responsive-scale.layout-chalkboard .tap-board-beer-logo {
  width:min(var(--tap-board-logo-size,86px), 10cqw) !important;
  height:min(var(--tap-board-logo-size,86px), 10cqw) !important;
}
.tap-board-draft-board.responsive-scale.layout-chalkboard .tap-board-beer-name {
  font-size:clamp(.82rem, calc(var(--tap-board-item-name-scale,1.55) * 1cqw), 3.8rem) !important;
}
.tap-board-draft-board.responsive-scale.layout-chalkboard .tap-board-number {
  font-size:clamp(1.2rem, calc(var(--tap-board-number-scale,4.2) * 1cqw), 5.5rem) !important;
}
.tap-board-draft-board.responsive-scale.layout-vertical .tap-board-beer-name,
.tap-board-draft-board.responsive-scale.layout-vertical .tap-board-brewery,
.tap-board-draft-board.responsive-scale.layout-vertical .tap-board-details,
.tap-board-draft-board.responsive-scale.layout-chalkboard .tap-board-beer-name,
.tap-board-draft-board.responsive-scale.layout-chalkboard .tap-board-brewery,
.tap-board-draft-board.responsive-scale.layout-chalkboard .tap-board-details {
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
@media (max-width:900px) {
  .tap-board-draft-board.responsive-scale .tap-board-draft-header,
  .tap-board-draft-board.responsive-scale .tap-board-draft-header.has-logo.logo-center,
  .tap-board-draft-board.responsive-scale .tap-board-draft-header.has-logo.logo-left,
  .tap-board-draft-board.responsive-scale .tap-board-draft-header.has-logo.logo-right {
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
  .tap-board-draft-board.responsive-scale .tap-board-logo-mark { display:none !important; }
}

/* ==========================================================
   TapBoard v1.2.4 - Vertical/Chalkboard Stable Layout Engine
   Purpose: stop row, separator, logo, and text overlap for good.
   ========================================================== */
.tap-board-draft-board.layout-vertical,
.tap-board-draft-board.layout-chalkboard {
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  overflow:hidden !important;
}

.tap-board-draft-board.layout-vertical.tap-board-is-fullscreen,
.tap-board-draft-board.layout-chalkboard.tap-board-is-fullscreen {
  height:100vh !important;
  max-height:100vh !important;
  grid-template-rows:minmax(82px,13vh) minmax(0,1fr) minmax(48px,7.5vh) !important;
}

.tap-board-draft-board.layout-vertical .tap-board-draft-header,
.tap-board-draft-board.layout-chalkboard .tap-board-draft-header {
  min-height:0 !important;
  height:100% !important;
  max-height:none !important;
  overflow:hidden !important;
  align-items:center !important;
  padding:clamp(8px,1.2vh,18px) clamp(14px,2.4vw,30px) !important;
}

.tap-board-draft-board.layout-vertical .tap-board-header-left,
.tap-board-draft-board.layout-vertical .tap-board-header-right,
.tap-board-draft-board.layout-chalkboard .tap-board-header-left,
.tap-board-draft-board.layout-chalkboard .tap-board-header-right {
  min-width:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
}

.tap-board-draft-board.layout-vertical .tap-board-brand-title,
.tap-board-draft-board.layout-chalkboard .tap-board-brand-title,
.tap-board-draft-board.layout-vertical .tap-board-draft-title,
.tap-board-draft-board.layout-chalkboard .tap-board-draft-title {
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:.92 !important;
  transform:none !important;
}

.tap-board-draft-board.layout-vertical .tap-board-tagline,
.tap-board-draft-board.layout-chalkboard .tap-board-tagline {
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  margin-top:clamp(2px,.35vh,6px) !important;
}

.tap-board-draft-board.layout-vertical .tap-board-logo-mark,
.tap-board-draft-board.layout-chalkboard .tap-board-logo-mark {
  width:clamp(42px,8cqw,82px) !important;
  height:clamp(42px,8cqw,82px) !important;
  max-height:calc(100% - 8px) !important;
  align-self:center !important;
  justify-self:center !important;
  overflow:hidden !important;
  flex:0 0 auto !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-grid,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-grid {
  display:grid !important;
  grid-auto-flow:row !important;
  grid-auto-rows:minmax(0,1fr) !important;
  grid-template-columns:1fr !important;
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
  align-content:stretch !important;
  gap:0 !important;
  padding:0 !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-row,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-row {
  min-height:0 !important;
  height:100% !important;
  position:relative !important;
  display:grid !important;
  align-items:center !important;
  overflow:hidden !important;
  border:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  isolation:isolate !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-row::after,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-row::after {
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:var(--tap-board-row-border-width,1px) !important;
  background:var(--tap-board-line,rgba(255,255,255,.35)) !important;
  opacity:.85 !important;
  z-index:0 !important;
  pointer-events:none !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-beer-row::after {
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.42) 0 12px, transparent 12px 18px) !important;
  opacity:.75 !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-row > *,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-row > * {
  position:relative !important;
  z-index:1 !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-row {
  grid-template-columns:clamp(40px,8cqw,68px) clamp(44px,9cqw,72px) minmax(0,1fr) !important;
  column-gap:clamp(8px,1.7cqw,16px) !important;
  padding:clamp(3px,.55cqw,8px) clamp(10px,2.6cqw,24px) !important;
}

.tap-board-draft-board.layout-chalkboard .tap-board-beer-row {
  grid-template-columns:clamp(42px,8.5cqw,72px) clamp(44px,9cqw,74px) minmax(0,1fr) !important;
  column-gap:clamp(8px,1.8cqw,18px) !important;
  padding:clamp(3px,.6cqw,8px) clamp(10px,2.4cqw,24px) !important;
}

.tap-board-draft-board.layout-vertical .tap-board-number,
.tap-board-draft-board.layout-chalkboard .tap-board-number {
  align-self:center !important;
  justify-self:center !important;
  max-width:100% !important;
  max-height:100% !important;
  line-height:.82 !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-logo,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-logo {
  align-self:center !important;
  justify-self:center !important;
  width:clamp(34px,8.5cqw,64px) !important;
  height:clamp(34px,8.5cqw,64px) !important;
  max-width:100% !important;
  max-height:calc(100% - 8px) !important;
  aspect-ratio:1/1 !important;
  overflow:hidden !important;
  flex:none !important;
  margin:0 !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-logo img,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-logo img {
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  display:block !important;
  padding:clamp(3px,.75cqw,7px) !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-copy,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-copy {
  min-width:0 !important;
  max-width:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:clamp(1px,.25cqw,4px) !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-name,
.tap-board-draft-board.layout-vertical .tap-board-brewery,
.tap-board-draft-board.layout-vertical .tap-board-details,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-name,
.tap-board-draft-board.layout-chalkboard .tap-board-brewery,
.tap-board-draft-board.layout-chalkboard .tap-board-details {
  display:block !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-name,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-name {
  line-height:.98 !important;
}

.tap-board-draft-board.layout-vertical .tap-board-draft-footer,
.tap-board-draft-board.layout-chalkboard .tap-board-draft-footer {
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:clamp(6px,.9vh,14px) clamp(12px,2vw,26px) !important;
}

.tap-board-draft-board.layout-vertical .tap-board-footer-slogan,
.tap-board-draft-board.layout-chalkboard .tap-board-footer-slogan {
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  transform:none !important;
  line-height:.95 !important;
}

/* Smaller preview frames need stricter sizing so rows never collide. */
@container (max-width: 680px) {
  .tap-board-draft-board.layout-vertical .tap-board-beer-row,
  .tap-board-draft-board.layout-chalkboard .tap-board-beer-row {
    grid-template-columns:clamp(34px,8.5cqw,54px) clamp(34px,8.5cqw,54px) minmax(0,1fr) !important;
    column-gap:clamp(6px,1.5cqw,12px) !important;
    padding-inline:clamp(8px,2cqw,16px) !important;
  }
  .tap-board-draft-board.layout-vertical .tap-board-beer-logo,
  .tap-board-draft-board.layout-chalkboard .tap-board-beer-logo {
    width:clamp(30px,8cqw,50px) !important;
    height:clamp(30px,8cqw,50px) !important;
  }
}


/* ==========================================================
   TapBoard v1.2.5 - Row-based responsive logo sizing
   Purpose: logo frames now scale from the actual row height instead
   of only the board width, preventing cutoff/overlap in vertical and
   chalkboard layouts across previews and fullscreen displays.
   ========================================================== */
.tap-board-draft-board.layout-vertical .tap-board-beer-row,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-row {
  grid-template-columns:clamp(38px,7.5cqw,64px) clamp(38px,7.5cqw,64px) minmax(0,1fr) !important;
  min-height:0 !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-logo,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-logo,
.tap-board-draft-board.responsive-scale.layout-vertical .tap-board-beer-logo,
.tap-board-draft-board.responsive-scale.layout-chalkboard .tap-board-beer-logo {
  box-sizing:border-box !important;
  align-self:center !important;
  justify-self:center !important;
  aspect-ratio:1 / 1 !important;
  height:calc(100% - clamp(14px,2.2cqw,22px)) !important;
  width:auto !important;
  max-width:clamp(30px,7.5cqw,58px) !important;
  max-height:calc(100% - clamp(14px,2.2cqw,22px)) !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  flex:0 0 auto !important;
  display:grid !important;
  place-items:center !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-logo img,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-logo img,
.tap-board-draft-board.responsive-scale.layout-vertical .tap-board-beer-logo img,
.tap-board-draft-board.responsive-scale.layout-chalkboard .tap-board-beer-logo img {
  box-sizing:border-box !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  display:block !important;
  padding:clamp(2px,.55cqw,5px) !important;
}

.tap-board-draft-board.layout-vertical .tap-board-beer-logo.empty span,
.tap-board-draft-board.layout-chalkboard .tap-board-beer-logo.empty span {
  font-size:clamp(.42rem,1.25cqw,.7rem) !important;
  line-height:1 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

@container (max-width: 680px) {
  .tap-board-draft-board.layout-vertical .tap-board-beer-row,
  .tap-board-draft-board.layout-chalkboard .tap-board-beer-row {
    grid-template-columns:clamp(32px,7.2cqw,50px) clamp(32px,7.2cqw,50px) minmax(0,1fr) !important;
  }
  .tap-board-draft-board.layout-vertical .tap-board-beer-logo,
  .tap-board-draft-board.layout-chalkboard .tap-board-beer-logo,
  .tap-board-draft-board.responsive-scale.layout-vertical .tap-board-beer-logo,
  .tap-board-draft-board.responsive-scale.layout-chalkboard .tap-board-beer-logo {
    height:calc(100% - clamp(12px,2.4cqw,20px)) !important;
    max-width:clamp(26px,7.2cqw,46px) !important;
    max-height:calc(100% - clamp(12px,2.4cqw,20px)) !important;
  }
}
