/* BubbleBrew TV preview: full-height menu, customer-side combo feature. */
:root {
  --navy: #122c40;
  --deep: #0b1f30;
  --gold: #b6914e;
  --lightgold: #e3c890;
  --paper: #faf8f2;
  --ink: #152e40;
  --muted: #52606a;
  --line: #c8baa0;
}
* {
  box-sizing: border-box;
}
html,body {
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #071724;
}
body {
  font-family: 'DM Sans',Arial,sans-serif;
  color: var(--ink);
}
.brandbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--lightgold);
  padding: 0 10px;
}
.wordmark {
  font: 44px 'Great Vibes',cursive;
  color: #f5e6c5;
  display: flex;
  align-items: center;
  gap: 26px;
}
.wordmark span {
  font: 600 14px 'DM Sans';
  letter-spacing: 5px;
  color: #b9bdba;
}
.brand-note {
  font: italic 24px 'Playfair Display',Georgia;
  color: #e4e1d7;
  letter-spacing: .5px;
}
.preview-badge {
  font-size: 13px;
  letter-spacing: 1.8px;
  border: 1px solid #62707a;
  padding: 10px 14px;
  color: #c5cace;
}
.combo-strip {
  display: grid;
  grid-template-columns: 22fr 56fr 22fr;
  border: 1px solid #b69a60;
  border-radius: 10px;
  background: linear-gradient(115deg,#1b354a,#0c2235);
  overflow: hidden;
  box-shadow: 0 9px 22px #0003;
  position: relative;
}
.eyebrow {
  font-size: 13px;
  letter-spacing: 2.5px;
  color: var(--lightgold);
  font-weight: 600;
}
.combo-card img {
  position: absolute;
  right: 0;
  top: 0;
  width: 56%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 67%;
  mask-image: linear-gradient(90deg,transparent,black 28%);
  filter: saturate(1.02);
}
.coming {
  display: inline-block;
  color: #e9cf98;
  font-size: 13px;
  letter-spacing: 2px;
  border-bottom: 1px solid #a9905d;
  padding-bottom: 5px;
}
.seasonal-note {
  color: #aeb9bf;
  font-size: 12px;
  letter-spacing: .6px;
}
.star {
  position: absolute;
  right: 22px;
  top: 60px;
  color: #c8a363;
  font-size: 75px;
  opacity: .24;
}
.column {
  border: 1px solid #d6c39c;
  border-radius: 10px;
  background: var(--paper);
  position: relative;
  min-height: 0;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 14px #0002;
  overflow: hidden;
}
.column:before {
  content: '';
  position: absolute;
  top: 0;
  left: 16px;
  right: 16px;
  height: 4px;
  background: linear-gradient(90deg,#967239,#e4d5b0,#9d793e);
}
.column-body {
  padding: 12px 22px 14px;
  min-height: 0;
  flex: 1;
}
.group-title {
  font: 700 20px 'Playfair Display';
  margin: 11px 0 8px;
  padding: 0 0 5px;
  border-bottom: 1px solid #c8baa0;
  color: #8d672c;
}
.menu-group:first-child .group-title {
  margin-top: 0;
}
.menu-item {
  margin: 0 0 9px;
  break-inside: avoid;
}
.item-line {
  display: flex;
  align-items: baseline;
  gap: 7px;
}
.item-line h3 {
  font-size: 22px;
  line-height: 1.08;
  margin: 0;
  font-weight: 700;
}
.dots {
  flex: 1;
  border-bottom: 1px dotted #bac0bc;
  min-width: 8px;
}
.item-price {
  font-size: 21px;
  white-space: nowrap;
  font-weight: 700;
  color: #17364a;
  font-variant-numeric: tabular-nums;
}
.item-price:empty {
  display: none;
}
.menu-item p {
  font-size: 18px;
  line-height: 1.2;
  color: #4c5960;
  margin: 3px 0 0;
}
.soda .dots {
  display: none;
}
.size-prices {
  display: flex;
  justify-content: space-between;
  gap: 4px;
  padding: 7px 0 12px;
  border-bottom: 1px solid #ddd5c3;
  margin-bottom: 9px;
}
.size-prices span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #626b6e;
  text-align: center;
}
.size-prices b {
  display: block;
  font-size: 19px;
  letter-spacing: 0;
  color: var(--ink);
  margin-top: 3px;
}
.byo .group-title {
  border: 0;
  margin: 0;
  padding: 0;
  font-size: 26px;
  font-style: italic;
}
.byo-label {
  font-size: 11px!important;
  letter-spacing: 1.5px;
  margin: 4px 0!important;
}
.byo .size-prices {
  padding: 4px 0 8px;
  margin: 0;
}
.byo .size-prices b {
  font-size: 17px;
}
.future span {
  font-size: 11px;
  letter-spacing: 2px;
  color: #947441;
}
.future p {
  font-size: 16px;
  color: #6b7475;
  margin: 0;
}
.needs-review .item-price {
  font-size: 11px;
  letter-spacing: 1px;
  color: #8b652d;
  border: 1px solid #c6af88;
  padding: 3px;
}
.coffee .sub:first-child {
  border: 0;
  padding: 0;
  margin-top: 0;
}
.coffee .micro b {
  color: #233f51;
  font-weight: 700;
}
.coffee .items2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}
.coffee .items2:has(.sub) .micro {
  text-align: left;
}
footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #c8c4b9;
  font-size: 12px;
  letter-spacing: 1.4px;
  padding: 0 6px;
}
.combo-intro {
  padding: 18px 26px;
  border-right: 1px solid #ad91534d;
  position: relative;
}
.combo-intro h1 {
  font: 40px 'Playfair Display',Georgia;
  color: var(--paper);
  margin: 10px 0 0;
  white-space: nowrap;
  font-size: 34px;
  margin-top: 7px;
}
.combo-intro h1 em {
  font: 62px 'Great Vibes';
  color: var(--lightgold);
  font-size: 54px;
}
.combo-intro p {
  font-size: 18px;
  color: #dedbcf;
  margin: 0;
}
.combo-copy h2 {
  font: 36px 'Playfair Display';
  color: #fff9ec;
  margin: 8px 0;
  font-size: 31px;
}
.combo-copy p {
  font-size: 17px;
  color: #ced3d6;
  margin: 0 0 17px;
  margin-bottom: 12px;
}
.seasonal-card {
  border-left: 1px solid #ad91534d;
  padding: 12px 24px;
  position: relative;
  background: linear-gradient(130deg,#243e50,#142d41);
}
.seasonal-card h2 {
  font: 28px 'Playfair Display';
  color: #fff9ec;
  margin: 7px 0 0;
  line-height: 1.1;
  font-size: 24px;
}
.seasonal-card h2 em {
  font: 44px 'Great Vibes';
  color: #e4c98e;
  font-size: 38px;
}
.seasonal-card p {
  color: #dce0df;
  font-size: 15px;
  margin: 2px 0 8px;
  margin-bottom: 3px;
}
.column-head {
  height: 112px;
  flex: none;
  margin: 0 22px;
  position: relative;
  border-bottom: 1px solid var(--gold);
  padding: 15px 0 9px;
  padding-top: 12px;
}
.column-head h1 {
  font: 31px/1.07 'Playfair Display',Georgia;
  letter-spacing: -.4px;
  margin: 0;
  font-weight: 600;
  font-size: 29px;
}
.column-head h1 em {
  font: 55px/.98 'Great Vibes',cursive;
  color: #9a7535;
  letter-spacing: 0;
  font-size: 48px;
}
.column-head p {
  font: 600 11px 'DM Sans';
  letter-spacing: 1.2px;
  margin: 10px 0 0;
  color: #56636b;
  font-size: 10px;
  margin-top: 7px;
}
.sweet .column-head h1 {
  font-size: 28px;
}
.sweet .column-head h1 em {
  font-size: 41px;
}
.soda .menu-item {
  margin-bottom: 8px;
  margin: 0;
}
.savory .item-line h3 {
  font-size: 21px;
}
.savory .menu-item p {
  font-size: 17px;
  line-height: 1.1;
}
.future {
  margin-top: 10px;
  border: 1px solid #d1bc92;
  border-left: 4px solid #ae8c4b;
  padding: 10px 14px;
  background: linear-gradient(110deg,#efe7d7,#faf8f2);
}
.future strong {
  font: italic 24px 'Playfair Display';
  display: block;
  margin: 6px 0;
  font-size: 23px;
}
.coffee .items2 .sub {
  margin-top: 5px;
}
.coffee .items2:has(.sub) {
  border-bottom: 1px solid #d5c9b1;
  padding-bottom: 4px;
}
.combo-card {
  position: relative;
  display: flex;
  overflow: hidden;
  background: radial-gradient(ellipse at 100% 80%,#b18e4926,transparent 55%);
}
.pairing-art {
  position: absolute;
  right: 38px;
  top: 25px;
  color: #d5b675;
  text-align: center;
  transform: rotate(-5deg);
}
.pairing-art span {
  font: italic 21px 'Playfair Display';
  display: block;
}
.pairing-art em {
  font: 49px 'Great Vibes';
  display: block;
}
.pairing-art i {
  font-style: normal;
  font-size: 18px;
  display: block;
  margin-top: 2px;
}
.combo-copy {
  position: relative;
  z-index: 1;
  padding: 16px 28px;
  width: 69%;
}
.byo {
  background: #efeade;
  border: 1px solid #d9ccb1;
  border-radius: 6px;
  padding: 9px 11px;
  margin-top: 11px;
}
.byo strong {
  color: var(--ink);
  font-size: 15px;
}
.savory .menu-item {
  margin-bottom: 5px;
}
.savory .future {
  padding: 8px 12px;
}
.savory .future p {
  font-size: 14px;
}
#board {
  position: absolute;
  left: 0;
  top: 0;
  width: 2480px;
  height: 1395px;
  transform-origin: 0 0;
  padding: 20px 24px 14px;
  background: radial-gradient(ellipse at top left,#304758,var(--navy) 42%,var(--deep));
  display: grid;
  grid-template-rows: minmax(0,1fr) 25px;
  gap: 12px;
  padding-top: 16px;
}
.columns {
  display: grid;
  grid-template-columns: 28fr 22fr 28fr 22fr;
  gap: 15px;
  min-height: 0;
}
.combo-mini {
  flex: none;
  padding: 18px 23px 15px;
  background: linear-gradient(125deg,#233d51,#10293d);
  color: #f7f0e0;
  border-bottom: 2px solid #bea065;
  position: relative;
}
.combo-mini:after {
  content: '✦';
  position: absolute;
  right: 28px;
  top: 29px;
  font-size: 46px;
  color: #b7985b;
  opacity: .35;
}
.combo-mini h2 {
  font: 33px 'Playfair Display';
  margin: 4px 0 0;
}
.combo-mini h2 em {
  font: 56px 'Great Vibes';
  color: #dfc589;
}
.combo-mini p {
  font-size: 18px;
  margin: 0 0 8px;
  color: #d5dade;
}
.combo-mini .eyebrow {
  font-size: 11px;
}
.combo-mini .coming {
  font-size: 10px;
  padding-bottom: 3px;
}
.savory .column-head {
  height: 106px;
}
.footer-brand {
  font: 25px 'Great Vibes';
  color: #e1c98f;
}
.footer-brand b {
  font: 11px 'DM Sans';
  color: #b4bec5;
  letter-spacing: 2px;
}
.soda .menu-item p {
  font-size: 17px;
  line-height: 1.12;
}
.soda-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 19px;
  row-gap: 9px;
}
.soda .item-line h3 {
  font-size: 22px;
}
.byo p {
  font-size: 16px;
  line-height: 1.15;
  margin: 8px 0 0;
  color: #56616a;
}
.coffee .name {
  font: 700 19px/1.08 'DM Sans';
  color: #1e394a;
  font-size: 19px;
  line-height: 1.05;
}
.coffee .desc {
  font: 16px/1.12 'DM Sans';
  color: #55636a;
  margin-top: 2px;
  font-size: 16px;
  line-height: 1.08;
}
.coffee .micro {
  font: 15px/1.2 'DM Sans';
  color: #52616b;
  font-size: 15px;
  line-height: 1.12;
}
.coffee .items2>.micro {
  font-size: 17px;
  line-height: 1.15;
}
.coffee .items2>.micro b {
  font-size: 18px;
}
.coffee .sub-sizes {
  font: 600 14px 'DM Sans';
  color: #4c5c65;
  margin-top: 2px;
  font-size: 14px;
}
.sweet .menu-item p {
  font-size: 18px;
  line-height: 1.1;
}
.sweet .item-line h3 {
  font-size: 21px;
}
.sweet .menu-item {
  margin-bottom: 8px;
}
.sweet .group-title {
  font-size: 21px;
  margin-top: 10px;
  margin: 13px 0 8px;
}
.sweet .item-price {
  font-size: 20px;
}
.review-note {
  font-size: 12px;
  color: #abb5ba;
  letter-spacing: .3px;
}
.column-no {
  position: absolute;
  right: 0;
  top: 20px;
  font: 16px 'DM Sans';
  color: #9a865f;
  border: 1px solid #d5c8ac;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  text-align: center;
  padding-top: 4px;
  display: none;
}
.coffee .sub {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #cfc4ae;
  padding-top: 5px;
  margin: 6px 0 5px;
  font: 700 20px 'Playfair Display';
  color: #8d672c;
  font-size: 21px;
  margin-top: 5px;
}
.coffee .item {
  margin-bottom: 5px;
}
/* Square-connected launch preview. The side is an explicit upgrade. */
.columns{grid-template-columns:29fr 21fr 29fr 21fr}
.combo-mini{padding:16px 22px 13px}
.combo-mini h2{margin-bottom:7px}
.combo-mini:after{display:none}
.combo-labels,.combo-line,.side-upgrade{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.combo-labels{font-size:13px;letter-spacing:1px;color:#d5c6a9;margin:0 0 9px}
.combo-line{font-size:22px;line-height:1.25;margin:7px 0}
.combo-line b{font-size:24px;color:#e8ce96;white-space:nowrap}
.side-upgrade{border-top:1px solid #ae9258;margin-top:12px;padding-top:10px;font-size:21px}
.side-upgrade strong{font-size:27px;color:#e8ce96}
.combo-mini .sandwich-only{font-size:14px;line-height:1.3;margin:9px 0 0;color:#c9d0d1}
.combo-description{font-size:16px!important}
.savory .column-head{height:68px;padding-top:10px}
.savory .column-head h1{font-size:25px}
.savory .column-head h1 em{font-size:37px}
.savory .menu-item p{font-size:16px;line-height:1.16}
.savory .menu-item{margin-bottom:9px}
.group-sizes,.individual-sizes{font-size:14px;color:#51636f;margin:0 0 9px;line-height:1.5}
.group-sizes b,.individual-sizes b{white-space:nowrap;color:#1c3749}
.coffee-halves{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.coffee .item-line h3{font-size:19px;line-height:1.12}
.coffee .menu-item p{font-size:15px;line-height:1.15}
.coffee .menu-item{margin-bottom:8px}
.coffee .item-price{font-size:15px}
.coffee .group-title{font-size:20px;margin:9px 0 5px}
.coffee .group-sizes,.coffee .individual-sizes{font-size:12px;margin-bottom:7px}
.soda .menu-item{margin-bottom:11px}
.soda .item-line h3{font-size:22px}
.soda .menu-item p{font-size:17px;line-height:1.16}
.sweet .menu-item p{font-size:16px;line-height:1.18}
.sweet .menu-item{margin-bottom:12px}
.sweet .item-line h3{font-size:21px}
.soda [data-category="Signature Dirty Sodas"] .group-items{display:grid;grid-template-columns:1fr 1fr;gap:12px 15px}
.soda .item-line h3{font-size:21px}
.soda .menu-item{margin-bottom:2px}
.soda .menu-item p{font-size:16px}
.soda [data-category="Dirty Sodas"]{margin-top:20px;background:#eee8db;padding:12px;border:1px solid #cfbd96;border-radius:6px}
.coffee .item-line h3{font-size:18px}
.coffee .menu-item p{font-size:14px;line-height:1.12}
.coffee .menu-item{margin-bottom:6px}
.coffee .group-title{margin:9px 0 4px;font-size:19px}
.coffee .group-sizes,.coffee .individual-sizes{line-height:1.3;font-size:12px;margin-bottom:6px}
#board{width:2880px;height:1620px}
/* Compact navy-and-gold section headers on a pitch-black surround. */
html,body,#board{background:#000}
#board{grid-template-rows:minmax(0,1fr);gap:0;padding-bottom:16px}
.column-head,.savory .column-head{margin:0;height:112px;padding:12px 22px 9px;background:linear-gradient(115deg,#233d51,#10293d);border-bottom:2px solid #bea065}
.column-head h1,.sweet .column-head h1{color:#faf8f2}
.column-head h1 em,.sweet .column-head h1 em{color:#e3c890}
.column-head p{color:#d2d8da}
.savory .column-head{height:76px}
.combo-mini{padding:0 22px 13px;background:var(--paper);color:var(--ink);border-bottom:0}
.combo-heading{margin:0 -22px 12px;padding:12px 22px 9px;background:linear-gradient(115deg,#233d51,#10293d);border-bottom:2px solid #bea065}
.combo-heading h2{font-size:30px;color:#faf8f2;margin:2px 0 0}
.combo-heading h2 em{font-size:49px}
.combo-labels{color:#63717a}
.combo-line b{color:#17364a}
.side-upgrade{border-color:#c8baa0}
.side-upgrade strong{color:#886328}
.combo-mini .sandwich-only{color:#52606a}
.group-title,.coffee .group-title,.sweet .group-title,.menu-group:first-child .group-title{background:#183348;color:#e3c890;border:0;border-left:3px solid #b6914e;border-radius:3px;padding:4px 8px;margin-top:9px;margin-bottom:7px}
/* Header alignment refinements from the annotated preview. */
.column-head,.savory .column-head{height:90px;padding-top:12px}
.column-head h1,.savory .column-head h1,.sweet .column-head h1{font-size:28px;white-space:nowrap;line-height:1.2}
.column-head h1 em,.savory .column-head h1 em,.sweet .column-head h1 em{font-size:43px;line-height:1}
.sweet .column-head h1{font-size:25px}
.sweet .column-head h1 em{font-size:37px}
.column-head p,.combo-heading .eyebrow{display:block;text-align:right;margin:8px 0 0;letter-spacing:1.1px;font-size:11px}
.combo-heading h2{white-space:nowrap;line-height:1.2}
.combo-heading{min-height:90px}
.group-title,.coffee .group-title,.sweet .group-title,.menu-group:first-child .group-title{text-align:center;border-radius:10px;border-left:0}
/* Center each complete title on a single line. */
.column-head h1,.savory .column-head h1,.sweet .column-head h1,.combo-heading h2{display:flex;align-items:baseline;justify-content:center;gap:.22em;white-space:nowrap;text-align:center}

/* Make standalone sandwiches and the drink pairing explicit. */
.combo-labels,.combo-line{display:grid;grid-template-columns:minmax(0,1fr) 100px 100px;gap:14px}
.combo-labels span:not(:first-child),.combo-line .standalone-price,.combo-line b{text-align:right;white-space:nowrap}
.combo-labels{font-size:16px;font-weight:700;letter-spacing:0;margin-bottom:10px}
.standalone-price{font-size:22px;color:#52606a}
.combo-line b{color:#17364a}

/* Separate the combo offer from the standalone sandwich menu. */
.combo-line,.sandwich-line{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:21px;line-height:1.15;margin:5px 0}
.combo-line b,.sandwich-line b{font-size:22px;white-space:nowrap;color:#17364a}
.sandwich-section{padding:0 22px 12px}
.combo-heading h2{font-size:28px}
.combo-heading h2 em{font-size:43px}
.combo-mini{padding-bottom:12px}
.sandwich-section .combo-heading{min-height:82px}

/* Featured combo offer: navy panel with restrained metallic gold accents. */
.combo-mini{background:linear-gradient(120deg,#203b50,#10283b);color:#fff9ed;border:2px solid #c3a36b;border-radius:10px;margin:0 0 10px;overflow:hidden}
.combo-mini .combo-heading{border-bottom:0;min-height:80px;margin-bottom:0;background:transparent}
.combo-mini .combo-heading h2{color:#fff9ed}
.combo-mini .combo-heading .eyebrow{text-align:center;font-size:14px;color:#e6ddc9}
.combo-offer{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(100deg,#bb9656,#eed7a1,#c7a363);color:#142c3e;margin:8px -22px 12px;padding:8px 22px;font-size:17px;font-weight:800;letter-spacing:1px}
.combo-offer strong{font-size:23px}
.combo-mini .combo-line b{color:#f1d69a;font-size:24px}
.combo-mini .combo-line{margin:6px 0}
.combo-mini .side-upgrade{border-top:1px solid #a78a54;color:#fff9ed;font-size:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.combo-mini .side-upgrade strong{color:#f1d69a;white-space:nowrap;text-align:right;font-size:28px}
.combo-mini .side-upgrade small{font-size:17px;font-weight:500}
.savory .menu-item{margin-bottom:4px}
.savory>.column-head{height:76px}

/* Dedicated upgrade column beside every combo price. */
.combo-mini .combo-line{display:grid;grid-template-columns:minmax(0,1fr) 100px 115px;gap:16px}
.combo-mini .combo-line b{text-align:right}
.combo-side-price{font-size:22px;font-style:italic;font-weight:500;color:#f1d69a;text-align:right;white-space:nowrap}
.combo-offer{display:grid;grid-template-columns:minmax(0,1fr) 115px;gap:16px;letter-spacing:.5px}
.combo-offer span:last-child{text-align:right;white-space:nowrap}

.combo-offer{grid-template-columns:minmax(0,1fr) 200px;align-items:center}
.combo-offer span:last-child{white-space:normal}
.combo-offer small{display:block;font-size:12px;font-weight:500;line-height:1.2;letter-spacing:0;margin-top:3px}

/* All-in combos; optional side belongs to standalone sandwiches. */
.combo-mini .combo-line{grid-template-columns:minmax(0,1fr) auto;gap:20px}
.combo-offer{display:flex;justify-content:space-between;gap:16px;font-size:18px;letter-spacing:0}
.combo-offer strong{white-space:nowrap}
.sandwich-side{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:1px solid #c3a36b;margin-top:8px;padding-top:8px;font-size:18px;color:#17364a}
.sandwich-side em{font-size:22px;white-space:nowrap;color:#886328}

.combo-mini .combo-offer{display:block;text-align:center;font-size:19px;line-height:1.3;padding:8px 18px}
.combo-mini .combo-heading{min-height:65px;padding-bottom:6px}

/* Two gold inclusion bars, with emphasis on the sandwich names. */
.combo-inclusions{margin:8px -22px 12px;display:grid;gap:5px}
.combo-mini .combo-inclusions .combo-offer{margin:0;padding:5px 18px;font-size:19px;line-height:1.2;font-weight:500}
.combo-mini .combo-line strong{font-weight:800;font-size:23px;letter-spacing:.1px}
.combo-mini .combo-line b{font-weight:500;font-size:22px}
/* Give the featured combos a larger type hierarchy. */
.combo-mini .combo-heading h2{font-size:34px}
.combo-mini .combo-heading h2 em{font-size:51px}
.combo-mini .combo-line strong{font-size:28px;line-height:1.15;font-weight:800}
.combo-mini .combo-line b{font-size:25px;font-weight:500}
.combo-mini .combo-line{margin:7px 0}
.combo-mini .combo-inclusions .combo-offer{font-size:20px}
.combo-mini .combo-line{margin:3px 0}

/* Annotated layout refinements: one closing bar and anchored lower sections. */
.combo-bottom-bar{background:linear-gradient(100deg,#bb9656,#eed7a1,#c7a363);color:#142c3e;text-align:center;font-size:19px;line-height:1.25;padding:8px 15px;margin:12px -22px -12px}
.sandwich-section .combo-heading h2{font-family:'Playfair Display',serif;font-weight:700;font-size:28px}
.sandwich-section .combo-heading h2 em{font-family:'Great Vibes',cursive;font-style:normal;font-weight:400;font-size:43px;color:#e3c890}
.sandwich-section .combo-heading .eyebrow{margin-top:5px}
.soda .column-body,.sweet .column-body{display:flex;flex-direction:column}
.soda [data-category="Dirty Sodas"]{margin-top:auto}
.review-art{margin-top:auto;padding-top:18px;display:flex;justify-content:center;flex-shrink:0}
.review-art img{display:block;width:100%;height:240px;object-fit:contain}

.combo-top-bar{background:linear-gradient(100deg,#bb9656,#eed7a1,#c7a363);color:#142c3e;text-align:center;font-size:19px;line-height:1.25;padding:6px 15px;margin:5px -22px 10px}
.combo-bottom-bar{padding:6px 15px;margin-top:10px}
/* Breathing room for featured items and balanced header placement. */
.combo-mini .combo-line{margin:5px 0}
.column-head,.savory .column-head,.sandwich-section .combo-heading{display:flex;flex-direction:column;justify-content:center;padding-top:8px;padding-bottom:8px}
.column-head h1,.sandwich-section .combo-heading h2{margin-top:0;margin-bottom:0}
.column-head p,.sandwich-section .combo-heading .eyebrow{text-align:center;margin-top:7px;margin-bottom:0}
.combo-mini .combo-heading{display:flex;align-items:center;justify-content:center;padding-top:10px;padding-bottom:10px}
/* Balance the two interior food headers without adding board height. */
.sandwich-section .combo-heading,.savory>.column-head{padding-top:15px;padding-bottom:7px;justify-content:center}
.sandwich-section .combo-heading h2,.savory>.column-head h1{line-height:1.1}
.sandwich-section .combo-heading .eyebrow,.savory>.column-head p{margin-top:5px;line-height:1.15}

/* Seasonal drinks follow the build-your-own section, without duplication. */
.soda [data-category="Dirty Sodas"]{margin-top:16px;flex-shrink:0}
.soda .seasons-change{margin-top:auto;padding-top:12px}
.soda .seasons-change .menu-item{margin-bottom:3px}
.soda .seasons-change .individual-sizes{font-size:12px;line-height:1.2;margin-bottom:7px}
.soda .seasons-change .menu-item p{font-size:15px;line-height:1.15}
/* Swap the combo description and price colors. */
.combo-mini .combo-line strong{color:#f1d69a}
.combo-mini .combo-line b{color:#fff9ed}

/* Approved combo names beside their plain-language sandwich descriptions. */
.combo-mini .combo-line{grid-template-columns:245px minmax(0,1fr) auto;gap:14px;align-items:center}
.combo-nickname{font-family:'Great Vibes',cursive;font-style:normal;font-weight:400;font-size:37px;line-height:1.12;color:#f1d69a;white-space:nowrap}
.combo-mini .combo-line strong{font-size:23px;line-height:1.15;color:#fff9ed}
.combo-mini .combo-line b{font-size:23px;font-weight:500}
.combo-nickname{font-size:33px;line-height:1}
.combo-mini .combo-line{margin:3px 0}
/* Clear, upright combo names for viewing across the store. */
.combo-nickname{font-family:'Playfair Display',serif;font-style:normal;font-weight:700;font-size:25px;line-height:1.2;color:#fff9ed;white-space:nowrap}

.combo-top-bar{font-size:18px;white-space:nowrap;letter-spacing:0;padding-left:10px;padding-right:10px}
.combo-bottom-bar{height:8px;min-height:8px;padding:0}
/* Annotated combo typography: gold nicknames and uppercase sandwich names. */
.combo-nickname{color:#f1d69a}
.combo-mini .combo-line strong{text-transform:uppercase}

/* Theme images are optional and never affect layout or text opacity. */
#board,.column{isolation:isolate}
#board::after,.column::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:var(--holiday-image,none);background-size:cover;background-position:center;opacity:var(--holiday-opacity,0)}
.column{--holiday-image:none;--holiday-opacity:0}

/* Breakfast pairings occupy the space below signature sodas. */
.breakfast-combos{margin:14px 0 0;padding:10px 12px;background:#183346;color:#fff9ed;border-top:5px solid #d4b477;border-bottom:5px solid #d4b477;flex-shrink:0}
.breakfast-combos .group-title{color:#f1d69a;margin:0;text-align:center;font-size:25px}
.breakfast-includes{text-align:center;font-size:15px;margin:5px 0 9px;color:#f1d69a}
.breakfast-pair{margin:9px 0}.breakfast-pair>div{display:flex;gap:10px;justify-content:space-between;align-items:baseline}
.breakfast-pair strong{font-size:21px;line-height:1.12}.breakfast-pair b{font-size:21px;font-weight:500;white-space:nowrap}
.breakfast-pair p{font-size:17px;line-height:1.15;margin:2px 0 0;color:#f1d69a}
.breakfast-extras{font-size:12px;margin:7px 0 0;text-align:center}
.breakfast-combos{margin-top:8px;padding-top:6px;padding-bottom:6px}
.review-art img{height:210px}

/* Feature breakfast at the top of column two, matching lunch combos. */
.combo-mini.breakfast-combos{margin:0 0 10px;padding:0 22px 12px;border:2px solid #c3a36b;background:linear-gradient(120deg,#203b50,#10283b)}
.breakfast-combos .combo-heading h2{font-size:30px}
.breakfast-combos .combo-heading h2 em{font-size:45px}
.breakfast-combos .combo-top-bar{font-size:17px}
.breakfast-combos .breakfast-extras{font-size:12px;margin:7px 0 0}

.breakfast-combos .breakfast-pair{margin:3px 0}

.breakfast-combos .breakfast-pair{margin:0}
.breakfast-combos .breakfast-extras{margin-top:2px}

.soda .seasons-change{padding-top:0}
.soda .seasons-change .group-title{margin-top:3px}

/* Temporary lunch launch announcement, covering combos and sandwiches only. */
.lunch-launch{position:relative;flex-shrink:0}
.launch-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(135deg,rgba(25,27,29,.66),rgba(0,0,0,.76));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border:2px solid #c3a36b;border-radius:10px;text-align:center;color:#efd49a;text-shadow:0 3px 12px #000}
.launch-overlay span{font-family:"Great Vibes",cursive;font-size:100px;line-height:1.1}
.launch-overlay strong{font-family:"Playfair Display",serif;font-size:52px;font-style:italic;font-weight:600;line-height:1.25}
