/* 
 * Chickens of the Caribbean - Menu Styles 
 * Dedicated file for flat menu layouts and typography
 */
/* Filter elements container - hidden until ready for public use */
.view-display-id-block_menu_filter .view-filters,
.view-display-id-block_menu_filter form#views-exposed-form-cotc-menu-block-menu-filter {
  display: none !important;
}

form#views-exposed-form-cotc-menu-block-menu-filter {
  /* background: #000000cc !important; */
  --bs-bg-opacity: 0.5;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
}
div#cotc-menu-view-container {
  background-color: #a9a9a9c7;
}

/* ========================================================
   RESPONSIVE CONTAINER & BREAKPOINT OVERRIDES (FLAT MENU)
   Locks full 1280px spread down to 1200px (eliminating 1399px step)
   and enables continuous 100% fluid scaling below 1200px.
   ======================================================== */

/* 1. Viewport >= 1200px: Keep full 1280px spread without Bootstrap's 1399px container drop */
@media (min-width: 1200px) {
  body.path-menu main > .container,
  body.path-menu main .container,
  body.path-menu main .container-lg,
  body.path-menu main .container-xl,
  body.path-menu main .container-xxl,
  body.path-menu #cotc-menu-view-container,
  body.path-menu .cotc-menu-view-container {
    max-width: 1280px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.path-menu .menu-super-wrapper.menu-spread-wrapper {
    max-width: 1280px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* 2. Viewport < 1200px down to mobile: Override 991px and 767px stepped switches; remain 100% fluid */
@media (max-width: 1199.98px) {
  body.path-menu main > .container,
  body.path-menu main .container,
  body.path-menu main .container-sm,
  body.path-menu main .container-md,
  body.path-menu main .container-lg,
  body.path-menu main .container-xl,
  body.path-menu #cotc-menu-view-container,
  body.path-menu .cotc-menu-view-container {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  body.path-menu main .row.g-0,
  body.path-menu main .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  body.path-menu .menu-super-wrapper.menu-spread-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  body.path-menu .menu-super-title {
    font-size: clamp(2.5rem, 3.8vw + 0.8rem, 4rem) !important;
  }
}
.path-menu main {
  background-image: url(/sites/default/files/2026-10/galley-background.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
/* The outer grouping wrapper */
.menu-super-wrapper {
  margin-bottom: 3rem;
}

/* Full Width Super Header (e.g. PIRATE PARK PIZZA) */
.menu-super-wrapper.menu-spread-wrapper {
  background-image: url(/sites/default/files/2026-10/cotc-menu-pirate-map-background.jpg);
  padding: 0.25rem 0.5rem;
  background-repeat: no-repeat;
}
.menu-super-section {
  /* width: 100%; */
  margin-bottom: 1rem;
  text-align: center;
}

.menu-super-title {
  font-family: var(--cotc-battlesbridge, 'Times New Roman', serif);
  font-size: 4rem; 
  color: var(--cotc-heading, #810808);
  margin-bottom: 0;
  line-height: 1;
}

.menu-super-desc {
  max-width: 800px;
  margin: 1rem auto 0;
  font-family: var(--cotc-roboto, sans-serif);
  font-size: 1.1rem;
  line-height: 1.5;
}

/* The Grid Container */
.menu-grid-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

@media (min-width: 992px) {
  .menu-grid-container {
    /* Strict 50/50 columns. Prevents inner columns from expanding the grid container past 100vw */
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
  }

  /* Spreads 1 & 2: 3-column layout with 3.5 : 3 : 3.5 width ratio (widened Center Placeholder) */
  .menu-spread-1 .menu-grid-container,
  .menu-spread-2 .menu-grid-container {
    grid-template-columns: minmax(0, 3.5fr) minmax(0, 3fr) minmax(0, 3.5fr);
    gap: 1rem;
  }
}

/* Center Placeholder Column for Spreads 1 & 2 (Desktop Center Panel) */
.menu-page-placeholder {
  display: none;
}

@media (min-width: 992px) {
  .menu-page-placeholder {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 50px;
  }

  .menu-placeholder-wrapper {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .menu-placeholder-inner {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .spread-middle-menu-info-img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin: auto;
  }
}

/* Split Columns Modifier (e.g. Smoke & Fire, Specialties) */
.split-2-columns,
.has-split-cols,
.split-2-columns > .menu-section-content,
.has-split-cols > .menu-section-content,
.split-2-columns > .menu-subsection-content,
.has-split-cols > .menu-subsection-content,
.menu-section-content[style*="column-count"],
.menu-subsection-content[style*="column-count"],
.grouped-terms-split-grid {
  column-gap: 0rem !important;
  gap: 0rem !important;
}

@media (min-width: 992px) {
  .cotc-menu-section-wrapper.split-2-columns > .menu-section-content,
  .split-2-columns > .menu-section-content {
    column-count: 2;
    column-gap: 0rem !important;
  }
  .menu-section-content[style*="column-count"],
  .menu-subsection-content[style*="column-count"] {
    column-gap: 0rem !important;
  }
  .menu-grouped-term .menu-section-content:not([style*="column-count: 2"]) {
    column-count: 1 !important;
  }
  .split-col-break-after {
    break-after: column !important;
    -webkit-column-break-after: always !important;
  }
  .split-col-break-before {
    break-before: column !important;
    -webkit-column-break-before: always !important;
  }
}

/* Individual Section / Column */
.cotc-menu-section-wrapper {
  break-inside: avoid;
  min-width: 0; /* Critical for CSS Grid text wrapping to prevent grid blowout */
  max-/* width: 100%; */
}

.menu-section-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.menu-section-title {
  font-family: var(--cotc-battlesbridge, 'Times New Roman', serif);
  font-size: 2.75rem;
  color: var(--cotc-heading, #810808);
  margin-bottom: 0;
  line-height: 1;
}

.menu-section-desc {
  font-family: var(--cotc-roboto, sans-serif);
  margin-top: 0.5rem;
  font-size: 1rem;
}

/* Grouped Terms (e.g. Chicken Feed following Handhelds) */
.menu-grouped-term {
  margin-top: 0.5rem;
}

/* Row Spacing */
.menu-section-content .views-row {
  margin-bottom: 0.15rem; 
  break-inside: avoid;
}

/* Subsections (e.g. Classics inside Brewed Attitude) */
.menu-subsection {
/*  margin-top: 2rem; */
  margin-bottom: 1rem;
  break-inside: avoid;
}

.menu-subsection-title {
  font-family: var(--cotc-copperplate, 'Copperplate', serif);
  color: var(--cotc-red, #810808);
  font-size: 1.5rem;
  margin-bottom: 1rem;
/*  text-transform: uppercase; */
  text-align: center;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
}

/* Table Format Headers (Unified layout with section/subsection title) */
.menu-table-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-family: var(--cotc-copperplate, 'Copperplate', serif);
  border-bottom: 1px solid var(--cotc-red, #810808);
  margin-bottom: 0.5rem;
  padding-bottom: 0.25rem;
  width: 100%;
  box-sizing: border-box;
}
.menu-table-header-title {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.menu-table-header-title .menu-section-title,
.menu-table-header-title .menu-subsection-title {
  margin: 0 !important;
  text-align: left !important;
  display: inline-block;
  line-height: 1;
}
.menu-table-header-cols {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  white-space: nowrap;
}
.menu-table-header-cols span,
.menu-table-header > span {
  width: 60px;
  text-align: center;
  display: inline-block;
  font-weight: bold;
}

/* Table row layout (Titles always start at left edge, prices align right) */
.is-table-row,
.is-table-row .menu-item-title,
.is-table-row .menu-item-desc,
.is-table-row .table-item-name,
.views-row.col-right .is-table-row,
.col-right .views-row .is-table-row,
.sec-col-right .is-table-row,
.views-row.col-right .is-table-row .menu-item-title,
.col-right .views-row .is-table-row .menu-item-title,
.sec-col-right .is-table-row .menu-item-title,
.views-row.col-right .is-table-row .table-item-name,
.col-right .views-row .is-table-row .table-item-name,
.sec-col-right .is-table-row .table-item-name {
  text-align: left !important;
}

.is-table-row .menu-item-title {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  text-align: left !important;
}
.is-table-row .table-item-name {
  display: block;
  text-align: left !important;
}
.menu-table-header {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  border-bottom: 2px solid;
  padding-bottom: 3px !important;
  margin-bottom: 0.5rem !important;
  width: 100% !important;
}
.menu-table-header h3.menu-section-title,
.menu-table-header h4.menu-subsection-title {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  font-size: 1.35rem !important;
}
.menu-table-header-cols,
.is-table-row .table-prices {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 1.25rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
}
.menu-table-header-cols span,
.is-table-row .table-prices span {
  width: 75px !important;
  text-align: left !important;
  display: inline-block !important;
}
.menu-table-header-cols {
  font-size: 1.35rem !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 1.5rem 0 0 !important;
}

/* Exposed Nav Bar Form Dropdown Checkboxes */
.cotc-exposed-dropdown .form-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cotc-exposed-dropdown .form-check {
  display: block;
  /* width: 100%; */
  margin-bottom: 0;
}
.cotc-exposed-dropdown .form-check-label {
  display: inline-block;
  vertical-align: top;
  margin-left: 0.5rem;
  font-family: var(--cotc-roboto, sans-serif);
  font-size: 1rem;
}
.cotc-menu-navbar {
  /* Ensure it wraps nicely but stays inline where possible */
  container-type: inline-size;
}

/* Layout fixes for the inner wrapper of the exposed form */
.cotc-menu-navbar .form--inline {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  /* width: 100%; */
}

@media (min-width: 992px) {
  .cotc-menu-navbar .form--inline {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
  }
}

/* Hide the default fieldset legend/title from Views Exposed Form */
.cotc-exposed-dropdown fieldset legend {
  display: none !important;
}
.cotc-exposed-dropdown .fieldset-wrapper {
  margin-/* top: 0; */
}
.cotc-exposed-dropdown .description {
  display: none !important;
}

/* Fix Bootstrap 5 styling overrides inside the dropdown */
.cotc-exposed-dropdown fieldset {
  margin-bottom: 0;
  padding: 0;
  border: none;
}

/* Browser CSS overrides as requested */
.pizza-modifiers-inline.mt-3.small {
    color: var(--cotc-black);
}

h5.text-center.small.text-uppercase.mb-2 {
    color: var(--cotc-black);
}

.menu-super-desc p {
    color: var(--cotc-black);
    font-family: var(--cotc-copperplate, sans-serif);
    text-transform: lowercase;
    line-height: calc(1.1rem + (var(--desc-size-adjust, 0rem) * 1.15));
    font-size: calc(1.1rem + var(--desc-size-adjust, 0rem));
    margin-top: 32px;
    word-spacing: 1px;
    margin-bottom: 0px;
}

.menu-super-desc p:nth-child(2) {
    margin-top: 7px;
}

.menu-section-desc p {
    color: var(--cotc-black);
    font-family: var(--cotc-copperplate, sans-serif);
    text-transform: lowercase;
    line-height: calc(1.2rem + (var(--desc-size-adjust, 0rem) * 1.15));
    font-size: calc(1.25rem + var(--desc-size-adjust, 0rem));
    margin-top: 15px;
    word-spacing: 1px;
}

.grouped-terms-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 2rem;
}

.grouped-terms-list > .menu-grouped-term,
.grouped-terms-list > .menu-grouped-term-sub {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  width: 100% !important;
}

.grouped-terms-list > .menu-grouped-term > .menu-subsection,
.grouped-terms-list > .menu-grouped-term > .menu-section-header,
.grouped-terms-list > .menu-grouped-term-sub > .menu-subsection,
.grouped-terms-list > .menu-grouped-term-sub > .menu-section-header {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.modifier-blurb-line.stacked {
  display: block;
  line-height: 1.25;
  margin-top: 2px;
}
.modifier-blurb-line.stacked .modifier-option {
  display: block;
}

h3.menu-section-title {
    line-height: 1.25;
}

.menu-item-title {
  gap: 0rem;
}

/* Prevent menu item titles from wrapping or breaking with price and icon (hang outside column bounds) */
.horizon-menu-row:not(.is-maelstrom-wrap) .menu-item-title,
.menu-item-title.no-wrap-title {
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  width: 100% !important;
}

.horizon-menu-row:not(.is-table-row):not(.is-maelstrom-wrap) .menu-item-title {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

.horizon-menu-row:not(.is-maelstrom-wrap) .menu-item-title .menu-item-name,
.horizon-menu-row:not(.is-maelstrom-wrap) .menu-item-title .table-item-name,
.horizon-menu-row:not(.is-maelstrom-wrap) .menu-item-title .menu-item-price,
.horizon-menu-row:not(.is-maelstrom-wrap) .menu-item-title .menu-item-title-bullet,
.horizon-menu-row:not(.is-maelstrom-wrap) .menu-item-title .menu-item-badges {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* Exception: Mac & Cheese Maelstrom is allowed to wrap */
.horizon-menu-row.is-maelstrom-wrap .menu-item-title,
.menu-item-title.is-maelstrom-wrap {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  white-space: normal !important;
  width: 100% !important;
}

.horizon-menu-row.is-maelstrom-wrap .menu-item-title .menu-item-name {
  white-space: normal !important;
  flex-shrink: 1 !important;
}

.menu-section-desc,
.menu-super-desc {
    max-/* width: 100%; */
}

/* Gradient text for section titles matching the SVG logo */
.menu-super-title.font-battlesbridge,
.menu-section-title.font-battlesbridge,
.menu-subsection-title.font-battlesbridge {
  background: linear-gradient(90deg, #b9202d 0%, #fdc60d 50%, #b9202d 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent !important;
  background-clip: text;
  color: transparent !important; /* Fallback, needs important to override inline color */
}

/* Fix bottom cutoff for text gradients with large descenders */
.menu-super-title,
.menu-section-title,
.menu-subsection-title {
  padding-bottom: 0.9em;
  padding-top: 0.1em;
  margin-bottom: -0.7em;
  display: inline-block;
 /* box-sizing: border-box; */
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: normal;
}

/* Fine text stroke and drop shadow for Battlesbridge titles */


/* Fine text stroke for Battlesbridge titles */
.font-battlesbridge {
  position: relative;
  z-index: 1;
  -webkit-text-stroke: 0.7px black;
}

/* Background shadow layer using the data-title attribute to avoid JS duplicates */

/* Fix shadow stacking by using DOM duplicates */
.menu-super-section,
.menu-section-header,
.menu-subsection {
    position: relative;
}

.menu-super-title,
.menu-section-title,
.menu-subsection-title {
    position: relative;
    z-index: 2;
}

/* Shadow Layer Duplicate */
.font-battlesbridge.duplicate {
    /* position: absolute !important; */
    /* top: 0; */
    /* left: 0; */
    /* width: 100%; */
    z-index: 1 !important;
    background: none !important;
    color: white !important;
    -webkit-text-fill-color: unset !important;
    text-shadow: 0.05em 0.1em 0.25em black !important;
    -webkit-text-stroke: 0 !important;
    pointer-events: none;
}
.duplicate:not(.font-battlesbridge) {
  display: none !important;
}

/* Fix multi-line gradient text wrapping bug in Webkit */
.menu-super-title,
.menu-section-title,
.menu-subsection-title {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* Additional bottom padding for full size super titles */
.menu-super-title {
    padding-bottom: 0.9em;
    margin-bottom: -0.9em;
}

/* Grid Overlap Fix */
.title-overlap-wrapper > .menu-super-title, .title-overlap-wrapper > .menu-section-title, .title-overlap-wrapper > .menu-subsection-title {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
}


/* Split Grouped Terms Grid */
.grouped-terms-split-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0rem !important;
  column-gap: 0rem !important;
  align-items: start;
}
@media (min-width: 768px) {
  .grouped-terms-split-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0rem !important;
    column-gap: 0rem !important;
  }
}

/* 
 * MENU ITEM ALIGNMENT 
 */

/* Explicit Overrides */
.align-items-override-left .views-row { text-align: left; }
.align-items-override-center .views-row { text-align: center; }
.align-items-override-right .views-row { text-align: right; }

.align-items-override-left .table-prices { justify-content: flex-start; }
.align-items-override-center .table-prices { justify-content: center; }
.align-items-override-right .table-prices { justify-content: flex-end; }

/* Auto Alignment (Default: Left) */
.align-items-auto .views-row { text-align: left; }
.align-items-auto .table-prices { justify-content: flex-start; }

/* Auto Alignment: Right Column of CSS Grid */
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .align-items-auto .views-row { text-align: right !important; }
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .align-items-auto .table-prices { justify-content: flex-end !important; }

.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .align-items-auto .views-row { text-align: right !important; }
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .align-items-auto .table-prices { justify-content: flex-end !important; }

/* Auto Alignment: Right Column of dynamic layouts via JS (.col-right) */
.col-right .align-items-auto .views-row, .align-items-auto .views-row.col-right, .align-items-auto.col-right .views-row { text-align: right; }
.col-right .align-items-auto .table-prices, .align-items-auto .views-row.col-right .table-prices, .align-items-auto.col-right .table-prices { justify-content: flex-end; }

/* Ensure the title container acts appropriately if it's text-align right */

/* Left column alignment is default, no forced rule needed. */
/* Explicitly enforce Right column alignment using bulletproof base classes */
.views-row.col-right,
.col-right .views-row,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .views-row,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .views-row {
  text-align: right !important;
}

.views-row.col-right .table-prices,
.col-right .table-prices,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .table-prices,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .table-prices {
  justify-content: flex-end !important;
}

/* Re-apply manual overrides so they beat the auto-right-align */
.align-items-override-left .views-row.col-right,
.align-items-override-left .col-right .views-row,
.align-items-override-left .menu-grouped-term:nth-child(even) .views-row,
.align-items-override-left .menu-grouped-term-sub:nth-child(even) .views-row,
.col-right .align-items-override-left .views-row {
  text-align: left !important;
}

.align-items-override-center .views-row.col-right,
.align-items-override-center .col-right .views-row,
.align-items-override-center .menu-grouped-term:nth-child(even) .views-row,
.align-items-override-center .menu-grouped-term-sub:nth-child(even) .views-row,
.col-right .align-items-override-center .views-row {
  text-align: center !important;
}

.align-items-override-left .table-prices { justify-content: flex-start !important; }
.align-items-override-center .table-prices { justify-content: center !important; }

/* The table mode grids */
.align-items-auto .views-row.col-right .menu-item-title.is-table-row {
  justify-content: stretch !important;
}
/* =========================================================================
   FLEX LAYOUT OVERRIDES FOR RIGHT-ALIGNED MENU ITEMS
   (Title, Price, Badges)
   ========================================================================= */

/* Base Right Alignment for Titles */
.views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title,
.col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.align-items-override-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title {
  justify-content: flex-end;
}

/* Badge ordering for Right Aligned Titles (Move to LEFT side) */
.views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges,
.col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges,
.align-items-override-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges {
  order: -1;
  margin-left: 0 !important; /* Overrides ms-2 */
  margin-right: 0.5rem !important; /* Pushes title to the right */
}

/* Price ordering for Right Aligned Titles (Keep to RIGHT side) */
.views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price,
.col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price,
.align-items-override-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price {
  order: 1;
}

/* Override back to Left if explicitly requested */
.align-items-override-left .views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title,
.align-items-override-left .col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.align-items-override-left .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.align-items-override-left .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title {
  justify-content: flex-start !important;
}

.align-items-override-left .views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges,
.align-items-override-left .col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges,
.align-items-override-left .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges,
.align-items-override-left .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges {
  order: 0 !important;
  margin-left: 0.5rem !important;
  margin-right: 0 !important;
}

.align-items-override-left .views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price,
.align-items-override-left .col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price,
.align-items-override-left .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price,
.align-items-override-left .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price {
  order: 0 !important;
}

/* Handle Center Alignment (just for completeness) */
.align-items-override-center .views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title,
.align-items-override-center .col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.align-items-override-center .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.align-items-override-center .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.align-items-override-center .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title {
  justify-content: center !important;
}

.align-items-override-center .views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges,
.align-items-override-center .col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges,
.align-items-override-center .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges,
.align-items-override-center .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges,
.align-items-override-center .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges {
  order: 0 !important;
  margin-left: 0.5rem !important;
  margin-right: 0 !important;
}

.align-items-override-center .views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price,
.align-items-override-center .col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price,
.align-items-override-center .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price,
.align-items-override-center .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price,
.align-items-override-center .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price {
  order: 0 !important;
}
/* =========================================================================
   TITLE ALIGNMENT & SECTION DESCRIPTION
   ========================================================================= */

.menu-section-desc, .menu-super-desc {
  max-width: 100% !important;
  width: 100% !important;
  text-align: inherit !important; /* Force inheritance from the title-align wrapper */
  justify-items: unset !important;
}

/* Also ensure paragraph inside description inherits alignment and removes centering margins */
.menu-section-desc p, .menu-super-desc p {
  text-align: inherit !important;
  justify-items: unset !important;
  max-width: 100% !important;
}

.title-align-left .menu-section-desc,
.title-align-left .menu-section-desc p,
.title-align-left .menu-super-desc,
.title-align-left .menu-super-desc p {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  justify-items: unset !important;
}

.title-align-right .menu-section-desc,
.title-align-right .menu-section-desc p,
.title-align-right .menu-super-desc,
.title-align-right .menu-super-desc p,
.col-right .menu-section-desc,
.col-right .menu-section-desc p {
  text-align: right !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  justify-items: unset !important;
}

.title-align-center .menu-section-desc,
.title-align-center .menu-section-desc p,
.title-align-center .menu-super-desc,
.title-align-center .menu-super-desc p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-items: unset !important;
}

/* Explicit alignment classes for section wrappers */
.title-align-left { text-align: left; }
.title-align-center { text-align: center; }
.title-align-right { text-align: right; }

/* Auto-alignment of section titles and descriptions when in Right Column */
.menu-subsection.col-right,
.menu-grouped-term.col-right,
.menu-grouped-term-sub.col-right {
  text-align: right;
}

/* 
   Auto Title Alignment 
   If not explicitly set to left/right/center, it gets .title-align-auto
*/

/* Default is center for full-width sections */
.title-align-auto { text-align: center; }

/* If inside a 2-column layout (left column is default block flow) */
.menu-section-content[style*="column-count: 2"] .title-align-auto,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(odd) .title-align-auto,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(odd) .title-align-auto {
  text-align: left;
}

/* If inside the right column specifically */
.col-right.title-align-auto,
.col-right .title-align-auto,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .title-align-auto,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .title-align-auto {
  text-align: right !important;
}

/* Explicit overrides beat auto */
.title-align-left,
.title-align-left .menu-super-title,
.title-align-left .menu-section-title,
.title-align-left .menu-subsection-title,
.col-right.title-align-left,
.col-right .title-align-left {
  text-align: left !important;
}
.title-align-left .title-overlap-wrapper,
.col-right.title-align-left .title-overlap-wrapper,
.col-right .title-align-left .title-overlap-wrapper {
  justify-items: start !important;
}

.title-align-center,
.title-align-center .menu-super-title,
.title-align-center .menu-section-title,
.title-align-center .menu-subsection-title,
.col-right.title-align-center,
.col-right .title-align-center {
  text-align: center !important;
}
.title-align-center .title-overlap-wrapper,
.col-right.title-align-center .title-overlap-wrapper,
.col-right .title-align-center .title-overlap-wrapper {
  justify-items: center !important;
}

.title-align-right,
.title-align-right .menu-super-title,
.title-align-right .menu-section-title,
.title-align-right .menu-subsection-title,
.col-right.title-align-right,
.col-right .title-align-right {
  text-align: right !important;
}
.title-align-right .title-overlap-wrapper,
.col-right.title-align-right .title-overlap-wrapper,
.col-right .title-align-right .title-overlap-wrapper {
  justify-items: end !important;
}

/* Broken Title Line Indent */
.title-line-indent {
  display: inline-block;
}

/* Item Span Full Width across 2+ columns */
.item-span-full,
.views-row.item-span-full {
  column-span: all !important;
  -webkit-column-span: all !important;
  width: 100% !important;
  text-align: center !important;
  margin-top: 0.5rem;
  margin-bottom: 1.25rem;
  break-inside: avoid;
}

.item-span-full .horizon-menu-row,
.views-row.item-span-full .horizon-menu-row,
.item-span-full .horizon-menu-item,
.views-row.item-span-full .horizon-menu-item,
.item-span-full .menu-item-header,
.views-row.item-span-full .menu-item-header,
.item-span-full .menu-item-body,
.views-row.item-span-full .menu-item-body {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.item-span-full .menu-item-title,
.views-row.item-span-full .menu-item-title,
.views-row.item-span-full .horizon-menu-row:not(.is-table-row) .menu-item-title {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.item-span-full .menu-item-desc,
.item-span-full .menu-item-desc p,
.views-row.item-span-full .menu-item-desc,
.views-row.item-span-full .menu-item-desc p {
  display: block !important;
  text-align: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  max-width: 90% !important;
}

/* Menu price note formatting */
.menu-section-price-note {
  font-family: var(--cotc-copperplate, 'Copperplate', serif);
  color: var(--cotc-heading, #810808);
  font-size: 1.25rem;
}
/* =========================================================================
   SECTION COMMON MODIFIERS (Full-width spanning bottom bar)
   ========================================================================= */
.section-common-modifiers {
  text-align: left !important;
  margin-top: 1.5rem !important;
  padding-bottom: 0.5rem !important;
  border-top: none !important;
  border-bottom: 2px solid #000 !important;
  clear: both;
}

/* ONLY span all columns when it is a direct child of a multi-column container (e.g. Specialties) */
.menu-section-content[style*="column-count"] > .section-common-modifiers {
  column-span: all !important;
  -webkit-column-span: all !important;
  width: 100% !important;
}

/* Subsections inside multi-column parents (e.g. Plates, Just Protein in Smoke & Fire) must NOT span columns */
.menu-subsection .section-common-modifiers,
.menu-subsection-content .section-common-modifiers,
.menu-grouped-term .section-common-modifiers,
.menu-grouped-term-sub .section-common-modifiers {
  column-span: none !important;
  -webkit-column-span: none !important;
  width: 100% !important;
}

.section-common-modifiers .common-modifiers-label {
  font-family: var(--cotc-copperplate, sans-serif);
  font-size: 0.95rem;
  letter-spacing: 0.5px;
  color: var(--cotc-black, #111) !important;
}

.section-common-modifiers .modifier-group-name {
  font-family: var(--cotc-copperplate, sans-serif);
  font-size: 1.15rem;
  color: var(--cotc-black, #111) !important;
}

.section-common-modifiers .modifier-toggle-icon {
  font-size: 1.6rem !important;
  vertical-align: middle;
}
/* =========================================================================
   MODIFIERS ALIGNMENT & FLIPPING (Name then Toggle vs Toggle then Name)
   ========================================================================= */

.modifier-toggle-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.modifier-group-name {
  font-family: var(--cotc-copperplate, sans-serif);
  font-size: 0.95rem;
  color: var(--cotc-black, #111) !important;
  line-height: 1;
}

.menu-modifiers-toggles {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: flex-start;
  align-items: center;
}

/* Right-aligned modifier container (Item & Section) */
.views-row.col-right .menu-modifiers-toggles,
.col-right .menu-modifiers-toggles,
.sec-col-right:not(.split-2-columns) .views-row .menu-modifiers-toggles,
.align-items-override-right .menu-modifiers-toggles,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .menu-modifiers-toggles,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .menu-modifiers-toggles {
  justify-content: flex-end !important;
}

/* Right-aligned toggle flipping: Name then Toggle */
.views-row.col-right .modifier-toggle-wrapper,
.col-right .modifier-toggle-wrapper,
.sec-col-right:not(.split-2-columns) .views-row .modifier-toggle-wrapper,
.align-items-override-right .modifier-toggle-wrapper,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .modifier-toggle-wrapper,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .modifier-toggle-wrapper {
  flex-direction: row-reverse !important;
}

/* Common Modifiers container in Right Column */
.col-right.section-common-modifiers,
.col-right .section-common-modifiers,
.menu-subsection.col-right .section-common-modifiers,
.menu-grouped-term.col-right .section-common-modifiers,
.menu-grouped-term-sub.col-right .section-common-modifiers,
.sec-col-right:not(.split-2-columns) .section-common-modifiers {
  text-align: right !important;
}

.col-right.section-common-modifiers .d-flex,
.col-right .section-common-modifiers .d-flex,
.menu-subsection.col-right .section-common-modifiers .d-flex,
.menu-grouped-term.col-right .section-common-modifiers .d-flex,
.menu-grouped-term-sub.col-right .section-common-modifiers .d-flex,
.sec-col-right:not(.split-2-columns) .section-common-modifiers .d-flex {
  justify-content: flex-end !important;
}

/* Explicit Left Overrides beat Right */
.align-items-override-left .menu-modifiers-toggles {
  justify-content: flex-start !important;
}
.align-items-override-left .modifier-toggle-wrapper {
  flex-direction: row !important;
}
/* Build Your Own: Keep inline modifier lists left-aligned regardless of column */
.pizza-modifiers-inline,
.pizza-modifiers-inline p,
.is-byo-row .pizza-modifiers-inline,
.is-byo-row .pizza-modifiers-inline p {
  text-align: left !important;
}

/* Inline Title, Badges, and Price Wrapping for Flat View Non-Table Rows */
.horizon-menu-row:not(.is-table-row) .menu-item-title {
  display: block !important;
  line-height: 1.2 !important;
  text-align: inherit;
}
.horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges {
  vertical-align: baseline !important;
}
.horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges a,
.horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges svg,
.horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges img,
.horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges i {
  display: inline-block !important;
  vertical-align: -0.2em !important;
}
.horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-name {
  display: inline !important;
}
.horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price {
  display: inline-block !important;
  white-space: nowrap !important;
  margin-left: 0 !important;
}

/* Default (Left-Aligned): Badges appear on the right side of title & price */
.horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left {
  display: none !important;
}
.horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right {
  display: inline-flex !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Right-Aligned: Flip badges to left side of title & price */
.views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title,
.col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.sec-col-right:not(.split-2-columns) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.align-items-override-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title {
  text-align: right !important;
}
.views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.sec-col-right:not(.split-2-columns) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.align-items-override-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left {
  display: inline-flex !important;
  margin-right: 0.35rem !important;
  margin-left: 0 !important;
}
.views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right,
.col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right,
.sec-col-right:not(.split-2-columns) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right,
.align-items-override-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right {
  display: none !important;
}

/* Explicit Left Overrides beat Right */
.align-items-override-left .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.align-items-override-left .views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title {
  text-align: left !important;
}
.align-items-override-left .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.align-items-override-left .views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left {
  display: none !important;
}
.align-items-override-left .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right,
.align-items-override-left .views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right {
  display: inline-flex !important;
  margin-left: 0.35rem !important;
  margin-right: 0 !important;
}

/* Col-left always forces left alignment, regardless of spread side */
.views-row.col-left .horizon-menu-row:not(.is-table-row) .menu-item-title,
.views-row.col-left .menu-item-desc {
  text-align: left !important;
}
.views-row.col-left .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left {
  display: none !important;
}
.views-row.col-left .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right {
  display: inline-flex !important;
  margin-left: 0.35rem !important;
  margin-right: 0 !important;
}

/* Centering rules for items that span 2 columns */
.views-row.item-span-full,
.views-row.item-span-full .horizon-menu-row,
.views-row.item-span-full .horizon-menu-item,
.views-row.item-span-full .menu-item-header,
.views-row.item-span-full .horizon-menu-row:not(.is-table-row) .menu-item-title,
.views-row.item-span-full .menu-item-title,
.views-row.item-span-full .menu-item-desc,
.views-row.item-span-full .menu-item-body,
.views-row.item-span-full .menu-modifiers-blurb,
.views-row.item-span-full .modifier-blurb-line {
  text-align: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.views-row.item-span-full .horizon-menu-row:not(.is-table-row) .menu-item-title {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}
.views-row.item-span-full .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left {
  display: none !important;
}
.views-row.item-span-full .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right {
  display: inline-flex !important;
  margin-left: 0.35rem !important;
  margin-right: 0 !important;
}

/* Full-Width Subsections and Table Formatting (Wine tables, etc.) */
.menu-subsection,
.menu-subsection-content,
.menu-table-header,
.menu-subsection-content .views-row,
.menu-subsection-content .horizon-menu-row,
.is-table-row,
.is-table-row .menu-item-title,
.is-table-row .horizon-menu-item {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.is-table-row .table-prices {
  margin-left: 0 !important;
  font-weight:unset;
  transform: translateX(0);
  text-shadow:0.4px 0.4px black;
}

/* Section, Subsection, and Super Header Dietary Icons */
.menu-section-title-wrapper,
.menu-subsection-title-wrapper,
.menu-super-title-wrapper {
  vertical-align: middle;
}
.section-dietary-icons {
  vertical-align: middle;
}
.section-title-badge img,
.section-title-badge svg {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
}
.title-align-center .menu-section-title-wrapper,
.title-align-center .menu-subsection-title-wrapper,
.title-align-center .menu-super-title-wrapper {
  justify-content: center;
}
.title-align-left .menu-section-title-wrapper,
.title-align-left .menu-subsection-title-wrapper,
.title-align-left .menu-super-title-wrapper {
  justify-content: flex-start;
}
.title-align-right .menu-section-title-wrapper,
.title-align-right .menu-subsection-title-wrapper,
.title-align-right .menu-super-title-wrapper,
.title-align-right .menu-table-header-title {
  justify-content: flex-end;
}
.title-align-right .section-dietary-icons {
  order: -1;
}

/* Chrome DevTools custom rules */
.menu-spread-1 .menu-grid-container,
.menu-spread-2 .menu-grid-container {
  grid-template-columns: minmax(0, 3.75fr) minmax(0, 2.5fr) minmax(0, 3.75fr);
  gap: 0rem;
}

.menu-section-header {
  margin-bottom: 0.75rem;
}

.horizon-menu-row:not(.is-table-row) .menu-item-title {
  line-height: 0.9em !important;
  display: unset !important;
}

h3.menu-item-title {
  font-size: 1.4em;
  line-height: 0.75em;
  letter-spacing: 0.5px;
}

.menu-item-title {
  font-family: var(--cotc-copperplate, 'Copperplate', serif);
  text-transform: lowercase;
  color: var(--cotc-menu-red, #be1d2c);
  margin: 0;
  font-size: 1.5rem;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  flex-wrap: wrap;
  line-height: 1.1;
  font-weight: bold;
}

.section-wines.wines h3.menu-item-title.no-wrap-title {
    font-size: 1.2em;
}

.views-row.col-right .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.col-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.sec-col-right:not(.split-2-columns) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.align-items-override-right .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.grouped-terms-split-grid > .menu-grouped-term:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left {
  display: inline-flex !important;
  margin-right: 0.1rem !important;
  margin-left: 0 !important;
}

.menu-item-badges {
  display: inline-flex;
  gap: 0.25rem;
  align-items: flex-end;
}

/* Hide dietary / allergen icons on menu items when section has hide-item-dietary-icons enabled */
.hide-item-dietary-icons .menu-item-badges {
  display: none !important;
}

.menu-item-title-bullet {
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  font-family: var(--cotc-roboto, 'Roboto', sans-serif) !important;
  font-size: 1em !important;
  font-weight: normal !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-price {
  display: inline-block !important;
  white-space: nowrap !important;
}

.menu-item-price {
  color: var(--cotc-black, #1b1b1b) !important;
  -webkit-text-fill-color: var(--cotc-black, #1b1b1b) !important;
  margin-left: 0 !important;
  font-family: var(--cotc-copperplate, 'Copperplate', serif);
  font-weight: bold;
  text-transform: lowercase;
  letter-spacing: 0.2px;
  white-space: nowrap;
  font-size: 1.25rem;
}

.menu-item-desc,
.menu-item-desc p {
  font-family: 'Copperplate', var(--cotc-copperplate, serif);
  line-height: 1.18 !important;
  text-transform: lowercase;
  font-size: 1.2rem;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateX(0);
  text-shadow: 0.25px 0.25px black;
}

.menu-item-desc strong,
.menu-item-desc b {
  font-family: 'Copperplate-Bld', 'Copperplate', var(--cotc-copperplate, serif) !important;
  font-weight: bold !important;
  letter-spacing: 0.5px;
}

.menu-section-content .views-row,
.menu-subsection-content .views-row {
  margin-bottom: 0.15rem;
  break-inside: avoid;
}

/* ==========================================================================
   Sections with Custom Item Font-Size Adjustments (Tightened Scaling)
   ========================================================================== */
.has-item-size-adjust .menu-item-title {
  font-size: calc(1.5rem + var(--item-title-size-adjust, 0rem));
  line-height: var(--item-title-lh, 0.95);
}

.has-item-size-adjust h3.menu-item-title {
  font-size: calc(1.4em + var(--item-title-size-adjust, 0rem));
  line-height: var(--h3-title-lh, 0.68em);
}

.has-item-size-adjust .horizon-menu-row:not(.is-table-row) .menu-item-title {
  line-height: var(--horizon-title-lh, 0.78em) !important;
}

.has-item-size-adjust .menu-item-price {
  font-size: calc(1.25rem + var(--item-title-size-adjust, 0rem));
}

.has-item-size-adjust .menu-item-desc,
.has-item-size-adjust .menu-item-desc p {
  font-size: calc(1.2rem + var(--item-desc-size-adjust, 0rem));
  line-height: var(--item-desc-lh, 0.85) !important;
}

.has-item-size-adjust .menu-section-content .views-row,
.has-item-size-adjust.menu-section-content .views-row,
.has-item-size-adjust .menu-subsection-content .views-row,
.has-item-size-adjust.menu-subsection-content .views-row,
.has-item-size-adjust .views-row {
  margin-bottom: max(0.01rem, calc(0.12rem + (var(--item-title-size-adjust, 0rem) * 0.25) + (var(--item-desc-size-adjust, 0rem) * 0.25)));
}

/* ==========================================================================
   Menu Items Without Descriptions (Tight Stacking)
   ========================================================================== */
.views-row.has-no-desc,
.views-row:has(.has-no-desc),
.has-no-desc .views-row {
  margin-bottom: 0.02rem !important;
  break-inside: avoid;
}

.has-item-size-adjust .views-row.has-no-desc,
.has-item-size-adjust .views-row:has(.has-no-desc),
.has-item-size-adjust.has-no-desc .views-row,
.has-item-size-adjust.views-row.has-no-desc {
  margin-bottom: 0rem !important;
}

/*
.has-no-desc .menu-item-body,
.menu-item-body:empty,
.menu-item-desc:empty,
.menu-item-badges:empty {
  display: none !important;
}
*/

.has-no-desc .horizon-menu-row,
.has-no-desc .horizon-menu-item,
.has-no-desc .menu-item-header {
  margin: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  line-height: inherit;
}

.has-no-desc h3.menu-item-title,
.views-row.has-no-desc h3.menu-item-title {
  margin: 0 !important;
  padding: 0 !important;
}

.horizon-menu-row.has-no-desc:not(.is-table-row) .menu-item-title,
.views-row.has-no-desc .horizon-menu-row:not(.is-table-row) .menu-item-title {
  line-height: 0.78em !important;
}

.has-item-size-adjust .horizon-menu-row.has-no-desc:not(.is-table-row) .menu-item-title,
.has-item-size-adjust .views-row.has-no-desc .horizon-menu-row:not(.is-table-row) .menu-item-title {
  line-height: var(--horizon-title-lh, 0.72em) !important;
}

/* ==========================================================================
   Section Overrides: Bottles 'N Cans & Combinations (Ultra-Tight Stacking)
   ========================================================================== */
.section-combinations .views-row.has-no-desc,
.combinations .views-row.has-no-desc {
  margin-top: -7.5px !important;
  margin-bottom: -2px !important;
  font-size: 16.5px;
}

.section-bottles-n-cans .views-row.has-no-desc,
.bottles-n-cans .views-row.has-no-desc {
  margin-bottom: -2px !important;
}

.section-bottles-n-cans .has-no-desc .horizon-menu-row,
.section-bottles-n-cans .has-no-desc .horizon-menu-item,
.section-bottles-n-cans .has-no-desc .menu-item-header,
.bottles-n-cans .has-no-desc .horizon-menu-row,
.bottles-n-cans .has-no-desc .horizon-menu-item,
.bottles-n-cans .has-no-desc .menu-item-header,
.section-combinations .has-no-desc .horizon-menu-row,
.section-combinations .has-no-desc .horizon-menu-item,
.section-combinations .has-no-desc .menu-item-header,
.combinations .has-no-desc .horizon-menu-row,
.combinations .has-no-desc .horizon-menu-item,
.combinations .has-no-desc .menu-item-header {
  margin: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.section-bottles-n-cans .horizon-menu-row.has-no-desc:not(.is-table-row) .menu-item-title,
.section-bottles-n-cans .views-row.has-no-desc .horizon-menu-row:not(.is-table-row) .menu-item-title,
.bottles-n-cans .horizon-menu-row.has-no-desc:not(.is-table-row) .menu-item-title,
.bottles-n-cans .views-row.has-no-desc .horizon-menu-row:not(.is-table-row) .menu-item-title {
  line-height: 0.62em !important;
}

.section-combinations .horizon-menu-row.has-no-desc:not(.is-table-row) .menu-item-title,
.section-combinations .views-row.has-no-desc .horizon-menu-row:not(.is-table-row) .menu-item-title,
.combinations .horizon-menu-row.has-no-desc:not(.is-table-row) .menu-item-title,
.combinations .views-row.has-no-desc .horizon-menu-row:not(.is-table-row) .menu-item-title {
  line-height: 0.62em !important;
}

.title-align-left .menu-section-desc,
.title-align-left .menu-section-desc p,
.title-align-left .menu-super-desc,
.title-align-left .menu-super-desc p {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  justify-items: unset !important;
}

.menu-section-desc p {
  color: var(--cotc-black);
  font-family: var(--cotc-copperplate, sans-serif);
  text-transform: lowercase;
  line-height: calc(1.2rem + (var(--desc-size-adjust, 0rem) * 1.15));
  font-size: calc(1.25rem + var(--desc-size-adjust, 0rem));
  margin-top: 15px;
  word-spacing: 1px;
}

.menu-table-header {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  border-bottom: 2px solid;
  padding-bottom: 0px !important;
  margin-bottom: 1px !important;
  width: 100% !important;
}

.is-table-row .horizon-menu-item {
  margin-bottom: 0;
}
.views-row:has(.is-table-row) {
  margin-bottom: 0;
}
.menu-subsection.title-align-left,
.menu-section-header.title-align-left,
.menu-section-desc {
  justify-items: unset !important;
  margin-top: 0;
}

.grouped-terms-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.cotc-menu-section-wrapper {
  break-inside: avoid;
  page-break-inside: avoid;
  margin-bottom: 0;
}

/* Custom <mbr> line break tags are converted server-side to native <br> tags with zero CSS hacks */

/* Bullet separator wrapper and hiding at line starts/ends */
.desc-bullet {
  display: inline-block;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--cotc-roboto, 'Roboto', sans-serif) !important;
  font-weight: normal !important;
  vertical-align: middle !important;
}
.desc-bullet.bullet-hidden {
  display: none !important;
}

.modifier-blurb-line {
  color: black;
  font-family: 'Copperplate', var(--cotc-copperplate, serif);
  font-size: 1.25em;
}

h3.menu-section-title {
  line-height: 1.4em;
  word-spacing: -5px;
  letter-spacing: 1px;
}

h4.menu-subsection-title.font-copperplate {
  font-weight: 600;
  font-size: 1.1em;
}

.menu-super-desc {
  font-weight: 600;
}

/* Section Accent Image (e.g. Chili Pepper Group beside House Sauces) */
.section-with-accent {
  width: 100%;
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
}
.section-accent-wrapper {
  flex: 0 0 32px !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.section-accent-img {
  width: 32px !important;
  height: 116px !important;
  min-width: 32px !important;
  min-height: 116px !important;
  max-width: 32px !important;
  max-height: 116px !important;
  display: block !important;
  object-fit: contain !important;
}
.section-accent-items {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* Force left-alignment for Section Accent Items (House Sauces chili icons) */
.section-with-accent .views-row,
.section-with-accent .menu-item-title,
.section-with-accent .horizon-menu-row,
.section-accent-items .views-row,
.section-accent-items .menu-item-title,
.section-accent-items .horizon-menu-row {
  text-align: left !important;
  justify-content: flex-start !important;
}
.section-accent-items .menu-item-title .menu-item-badges {
  order: 1 !important;
  margin-left: 0.5rem !important;
  margin-right: 0 !important;
}

/* Menu Spreads and Pages Architecture */
.menu-spread-wrapper {
  position: relative;
  width: 100%;
  margin-bottom: 0.75rem;
}
.menu-page-wrapper {
  width: 100%;
  box-sizing: border-box;
}
.menu-page-wrapper.page-spanned-spread {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* Menu Item Title Bullet, Section Title Bullet, and Price Styling */
.menu-item-title-bullet,
.menu-item-title-bullet,
.section-title-bullet {
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: normal !important;
  display: inline-block !important;
  font-family: var(--cotc-roboto, 'Roboto', sans-serif) !important;
  font-size: 1em !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
.menu-item-price {
  color: var(--cotc-black, #1b1b1b) !important;
  -webkit-text-fill-color: var(--cotc-black, #1b1b1b) !important;
  margin-left: 0 !important;
}

/* Modifier Bullet and Bracketed Text Colors */
.modifier-bullet {
  color: inherit;
  margin: 0 !important;
  padding: 0 !important;
}
.bracketed-title-text {
  font-weight: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
}

/* Section titles with copperplate font must NOT have gradient or transparent text */
.menu-section-title.font-copperplate,
.menu-subsection-title.font-copperplate,
.menu-super-title.font-copperplate {
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: initial !important;
  background-clip: unset !important;
  font-family: var(--cotc-copperplate, 'Copperplate', serif) !important;
}

/* Special Sections */
.menu-section-desc img {
    height: 50px;
}
.menu-section-desc .sub-section {
    display: inline-flex;
    gap: 3em;
    color: var(--cotc-menu-red, #be1d2c);
}
span.key-wrap {
    color: var(--cotc-menu-red);
    font-weight: bold;
    letter-spacing: 0.25px;
}
/* Sticky Bottom Food Warning & Order Online Block (#block-pirate-chickens-menufoodwarningblock) */
.cotc-menu-bottom-anchor {
  display: block;
  width: 100%;
  height: 1px;
  pointer-events: none;
  visibility: hidden;
}

#block-pirate-chickens-menufoodwarningblock {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  pointer-events: none !important;
  transform: translateY(100%) !important;
  opacity: 0 !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease-out;
}

#block-pirate-chickens-menufoodwarningblock.is-scrolling-down {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  transform: translateY(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#block-pirate-chickens-menufoodwarningblock.is-docked-bottom {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: translateY(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  margin-bottom: 4rem !important;
  z-index: 50 !important;
}
.food-health-disclaimer {
  position: relative;
  background: rgba(18, 18, 18, 0.96);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #ccc;
  padding: 0.65rem 10rem 0.65rem 1.75rem;
  border-top: 2px solid var(--cotc-gold, #fdc60d);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.6);
  min-height: 48px;
  display: flex;
  align-items: center;
}
.food-health-disclaimer > p {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.3;
  font-family: var(--cotc-copperplate, 'Copperplate', serif);
  text-transform: lowercase;
  letter-spacing: 0.5px;
  color: #c0c0c0;
  width: 100%;
  text-align:center;
}
.food-health-disclaimer .order-now-wrapper {
  position: absolute;
  right: 2.5rem;
  top: -46px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: #121212;
  border: 2px solid var(--cotc-gold, #fdc60d);
  box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.food-health-disclaimer .circular-text-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.food-health-disclaimer .circular-text {
  font-family: var(--cotc-copperplate, 'Copperplate', serif);
  font-size: 9px;
  letter-spacing: 1.1px;
  font-weight: 700;
  text-transform: uppercase;
}
.food-health-disclaimer .order-now-wrapper .order-online p:last-child {
  display: none !important;
}
.food-health-disclaimer .order-now-wrapper .order-online p {
  margin: 0;
}
.food-health-disclaimer .order-now-wrapper a.order-now.btn {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: linear-gradient(135deg, #b9202d 0%, #810808 100%);
  color: #fff;
  border: 1px solid var(--cotc-gold, #fdc60d);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--cotc-copperplate, 'Copperplate', serif);
  font-weight: bold;
  font-size: 0.72rem;
  text-align: center;
  line-height: 1.1;
  padding: 0;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.food-health-disclaimer .order-now-wrapper a.order-now.btn:hover {
  transform: scale(1.08);
  background: linear-gradient(135deg, #d32837 0%, #a00a0a 100%);
  box-shadow: 0 4px 12px rgba(253, 198, 13, 0.4);
  color: #fff;
}

/* Sections configured to display like a Menu Item */
.treat-as-menu-item .menu-section-title,
.treat-as-menu-item .menu-subsection-title,
h3.menu-section-title.treat-as-menu-item,
h4.menu-subsection-title.treat-as-menu-item {
  font-family: var(--cotc-copperplate, 'Copperplate', serif) !important;
  font-weight: bold !important;
  font-size: 1.5rem;
  color: var(--cotc-menu-red, #be1d2c);
  -webkit-text-fill-color: var(--cotc-menu-red, #be1d2c);
  text-transform: lowercase !important;
  letter-spacing: 0.5px !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
  background: none !important;
  margin-bottom: 0.15rem !important;
  line-height: 1.1 !important;
}

.treat-as-menu-item .menu-section-desc {
  font-family: var(--cotc-copperplate, 'Copperplate', serif) !important;
  font-size: 1.2rem !important;
  color: var(--cotc-black, #1b1b1b) !important;
  text-transform: uppercase !important;
  margin-bottom: 0.25rem !important;
}

.treat-as-menu-item .section-items-blurb,
.treat-as-menu-item .coffee-addon-items {
  font-family: var(--cotc-copperplate, 'Copperplate', serif) !important;
  font-size: 1.2rem !important;
  color: var(--cotc-black, #1b1b1b) !important;
  line-height: 1.0 !important;
  text-transform: lowercase !important;
}

.treat-as-menu-item .horizon-menu-row .menu-item-title {
  font-family: var(--cotc-copperplate, 'Copperplate', serif) !important;
  font-size: 1.2rem !important;
  font-weight: normal !important;
  color: var(--cotc-black, #1b1b1b) !important;
  -webkit-text-fill-color: var(--cotc-black, #1b1b1b) !important;
  text-transform: lowercase !important;
  -webkit-text-stroke: 0 !important;
}

.treat-as-menu-item .horizon-menu-row .menu-item-title .menu-item-name,
.treat-as-menu-item .horizon-menu-row .menu-item-title .menu-item-price {
  font-size: 1.2rem !important;
  font-weight: normal !important;
  color: var(--cotc-black, #1b1b1b) !important;
}

.treat-as-menu-item .horizon-menu-row .menu-item-desc {
  font-size: 1.05rem !important;
}

.inserted-section-block {
  width: 100%;
}

/* Auto Alignment for right columns and section headers */
.sec-col-right .title-align-auto {
  text-align: right !important;
}

.sec-col-right .title-align-auto .menu-section-title-wrapper,
.sec-col-right .title-align-auto .menu-subsection-title-wrapper,
.title-align-right .menu-section-title-wrapper,
.title-align-right .menu-subsection-title-wrapper {
  justify-content: flex-end !important;
  width: 100%;
}

.page-right .section-items-blurb,
.sec-col-right .section-items-blurb,
.col-right .section-items-blurb,
.menu-page-wrapper.page-right .section-items-blurb,
.cotc-menu-section-wrapper.page-right .section-items-blurb,
.page-right .treat-as-menu-item .section-items-blurb,
.sec-col-right .treat-as-menu-item .section-items-blurb,
.col-right .treat-as-menu-item .section-items-blurb,
.menu-page-wrapper.page-right .treat-as-menu-item .section-items-blurb,
.cotc-menu-section-wrapper.page-right .treat-as-menu-item .section-items-blurb {
  text-align: right !important;
}

/* Treat as menu item bullet and price black color */
.treat-as-menu-item .section-title-bullet,
.treat-as-menu-item .section-title-price,
.treat-as-menu-item .menu-item-title-bullet,
.treat-as-menu-item .menu-item-price,
.treat-as-menu-item .menu-subsection-title .section-title-bullet,
.treat-as-menu-item .menu-subsection-title .section-title-price,
.treat-as-menu-item .menu-section-title .section-title-bullet,
.treat-as-menu-item .menu-section-title .section-title-price {
  color: var(--cotc-black, #1b1b1b) !important;
  -webkit-text-fill-color: var(--cotc-black, #1b1b1b) !important;
}

/* Margin and gap controls for treat-as-menu-item */
.treat-as-menu-item,
.menu-subsection.treat-as-menu-item,
.menu-grouped-term.treat-as-menu-item,
.menu-grouped-term-sub.treat-as-menu-item {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.inserted-section-block,
.inserted-section-row,
.section-bar-bites .inserted-section-block,
.section-bar-bites .section-pizza-by-the-slice,
.section-bar-bites .term-70 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Pizza Additions (Term 78): Full-width spanning across 2 columns, centered */
.section-pizza-additions,
.term-78,
.menu-grouped-term.term-78 {
  column-span: all !important;
  -webkit-column-span: all !important;
  width: 100% !important;
  text-align: center !important;
  margin-top: 0.75rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.section-pizza-additions .menu-section-header,
.term-78 .menu-section-header,
.section-pizza-additions .menu-section-title-wrapper,
.term-78 .menu-section-title-wrapper {
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}

/* Soft Drinks (Term 73): Left aligned title and blurb */
.section-soft-drinks,
.term-73 {
  text-align: left !important;
}

.section-soft-drinks .menu-section-header,
.term-73 .menu-section-header,
.section-soft-drinks .menu-section-title-wrapper,
.term-73 .menu-section-title-wrapper {
  justify-content: flex-start !important;
  text-align: left !important;
  align-items: flex-start !important;
  width: 100% !important;
}

.section-soft-drinks .section-items-blurb,
.term-73 .section-items-blurb {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* House Made Dressings (Term 80): Left aligned */
.section-house-made-dressings,
.term-80 {
  text-align: left !important;
}
.section-house-made-dressings .menu-section-header,
.term-80 .menu-section-header,
.section-house-made-dressings .menu-section-title-wrapper,
.term-80 .menu-section-title-wrapper {
  justify-content: flex-start !important;
  text-align: left !important;
  align-items: flex-start !important;
  width: 100% !important;
}
.section-house-made-dressings .section-items-blurb,
.term-80 .section-items-blurb {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Salad Additions (Term 79): Right aligned */
.section-salad-additions,
.term-79 {
  text-align: right !important;
}
.section-salad-additions .menu-section-header,
.term-79 .menu-section-header,
.section-salad-additions .menu-section-title-wrapper,
.term-79 .menu-section-title-wrapper {
  justify-content: flex-end !important;
  text-align: right !important;
  align-items: flex-end !important;
  width: 100% !important;
}
.section-salad-additions .views-row,
.term-79 .views-row {
  text-align: right !important;
}

/* St. John Brewers (Term 71) & Seltzer 'N Tea (Term 40): Right aligned */
.section-st-john-brewers,
.term-71,
.section-seltzer-n-tea,
.term-40 {
  text-align: right !important;
}
.section-st-john-brewers .menu-section-header,
.term-71 .menu-section-header,
.section-seltzer-n-tea .menu-section-header,
.term-40 .menu-section-header,
.section-st-john-brewers .menu-section-title-wrapper,
.term-71 .menu-section-title-wrapper,
.section-seltzer-n-tea .menu-section-title-wrapper,
.term-40 .menu-section-title-wrapper {
  justify-content: flex-end !important;
  text-align: right !important;
  align-items: flex-end !important;
  width: 100% !important;
}

/* Build Yer Own Subsections (Terms 77, 76, 75, 74): Centered */
.section-bases, .term-77,
.section-cheeses, .term-76,
.section-proteins, .term-75,
.section-veggies, .term-74 {
  text-align: center !important;
}
.section-bases .menu-section-header, .term-77 .menu-section-header,
.section-cheeses .menu-section-header, .term-76 .menu-section-header,
.section-proteins .menu-section-header, .term-75 .menu-section-header,
.section-veggies .menu-section-header, .term-74 .menu-section-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}
.section-bases .menu-section-title-wrapper, .term-77 .menu-section-title-wrapper,
.section-cheeses .menu-section-title-wrapper, .term-76 .menu-section-title-wrapper,
.section-proteins .menu-section-title-wrapper, .term-75 .menu-section-title-wrapper,
.section-veggies .menu-section-title-wrapper, .term-74 .menu-section-title-wrapper {
  justify-content: center !important;
  text-align: center !important;
  align-items: center !important;
  width: auto !important;
  max-width: 100% !important;
  display: inline-flex !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 0.35rem !important;
}
.section-bases .views-row, .term-77 .views-row,
.section-cheeses .views-row, .term-76 .views-row,
.section-proteins .views-row, .term-75 .views-row,
.section-veggies .views-row, .term-74 .views-row {
  text-align: center !important;
  justify-content: center !important;
  display: flex !important;
  width: 100% !important;
}
.section-bases .horizon-menu-row, .term-77 .horizon-menu-row,
.section-cheeses .horizon-menu-row, .term-76 .horizon-menu-row,
.section-proteins .horizon-menu-row, .term-75 .horizon-menu-row,
.section-veggies .horizon-menu-row, .term-74 .horizon-menu-row {
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  display: flex !important;
}
.section-bases .horizon-menu-item, .term-77 .horizon-menu-item,
.section-cheeses .horizon-menu-item, .term-76 .horizon-menu-item,
.section-proteins .horizon-menu-item, .term-75 .horizon-menu-item,
.section-veggies .horizon-menu-item, .term-74 .horizon-menu-item {
  justify-content: center !important;
  text-align: center !important;
  display: flex !important;
  width: 100% !important;
}
.section-bases .menu-item-header, .term-77 .menu-item-header,
.section-cheeses .menu-item-header, .term-76 .menu-item-header,
.section-proteins .menu-item-header, .term-75 .menu-item-header,
.section-veggies .menu-item-header, .term-74 .menu-item-header {
  justify-content: center !important;
  text-align: center !important;
  display: flex !important;
  width: 100% !important;
}
.section-bases .menu-item-title, .term-77 .menu-item-title,
.section-cheeses .menu-item-title, .term-76 .menu-item-title,
.section-proteins .menu-item-title, .term-75 .menu-item-title,
.section-veggies .menu-item-title, .term-74 .menu-item-title {
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
  display: inline-flex !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Just Juicy (Term 82): Right aligned */
.section-just-juicy,
.term-82 {
  text-align: right !important;
}
.section-just-juicy .menu-section-header,
.term-82 .menu-section-header,
.section-just-juicy .menu-section-title-wrapper,
.term-82 .menu-section-title-wrapper {
  justify-content: flex-end !important;
  text-align: right !important;
  align-items: flex-end !important;
  width: 100% !important;
}
.section-just-juicy .section-items-blurb,
.term-82 .section-items-blurb {
  text-align: right !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  width: 100% !important;
}

/* Daily Pastries (Term 83): Right aligned */
.section-daily-pastries,
.term-83 {
  text-align: right !important;
}
.section-daily-pastries .menu-section-header,
.term-83 .menu-section-header,
.section-daily-pastries .menu-section-title-wrapper,
.term-83 .menu-section-title-wrapper {
  justify-content: flex-end !important;
  text-align: right !important;
  align-items: flex-end !important;
  width: 100% !important;
}
.section-daily-pastries .section-items-blurb,
.term-83 .section-items-blurb {
  text-align: right !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  width: 100% !important;
}

/* Plates (Term 27): Left aligned */
.section-plates,
.term-27 {
  text-align: left !important;
}
.section-plates .menu-section-header,
.term-27 .menu-section-header,
.section-plates .menu-section-title-wrapper,
.term-27 .menu-section-title-wrapper {
  justify-content: flex-start !important;
  text-align: left !important;
  align-items: flex-start !important;
  width: 100% !important;
}
.section-plates .views-row,
.term-27 .views-row,
.section-plates .menu-item-title,
.term-27 .menu-item-title,
.section-plates .menu-item-desc,
.term-27 .menu-item-desc {
  text-align: left !important;
  justify-content: flex-start !important;
}

/* Just Protein (Term 28): Right aligned */
.section-just-protein,
.term-28 {
  text-align: right !important;
}
.section-just-protein .menu-section-header,
.term-28 .menu-section-header,
.section-just-protein .menu-section-title-wrapper,
.term-28 .menu-section-title-wrapper {
  justify-content: flex-end !important;
  text-align: right !important;
  align-items: flex-end !important;
  width: 100% !important;
}
.section-just-protein .views-row,
.term-28 .views-row,
.section-just-protein .menu-item-title,
.term-28 .menu-item-title,
.section-just-protein .menu-item-desc,
.term-28 .menu-item-desc {
  text-align: right !important;
  justify-content: flex-end !important;
}

/* Leatherback (Term 72): Left aligned */
.section-leatherback,
.term-72 {
  text-align: left !important;
}
.section-leatherback .menu-section-header,
.term-72 .menu-section-header,
.section-leatherback .menu-section-title-wrapper,
.term-72 .menu-section-title-wrapper {
  justify-content: flex-start !important;
  text-align: left !important;
  align-items: flex-start !important;
  width: 100% !important;
}

.treat-as-menu-item .menu-section-header,
.menu-section-header.treat-as-menu-item {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Treat-as-menu-item Titles: lowercase red Copperplate, tight margin, no centering override */
.treat-as-menu-item .menu-section-title,
.treat-as-menu-item .menu-subsection-title,
h3.menu-section-title.treat-as-menu-item,
h4.menu-subsection-title.treat-as-menu-item {
  font-family: var(--cotc-copperplate, 'Copperplate', serif) !important;
  font-weight: bold !important;
  font-size: 1.5rem;
  color: var(--cotc-menu-red, #be1d2c);
  -webkit-text-fill-color: var(--cotc-menu-red, #be1d2c);
  text-transform: lowercase !important;
  letter-spacing: 0.5px !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.1 !important;
  width: auto !important;
  max-width: 100% !important;
}

/* Tight gap from title to items blurb (identical to menu-item title-to-description) */
.treat-as-menu-item .menu-section-header,
.menu-section-header.treat-as-menu-item {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.treat-as-menu-item .menu-section-content,
.treat-as-menu-item .inserted-section-items {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.treat-as-menu-item .section-items-blurb,
.menu-subsection.treat-as-menu-item .section-items-blurb,
.menu-grouped-term.treat-as-menu-item .section-items-blurb,
.menu-grouped-term-sub.treat-as-menu-item .section-items-blurb,
.treat-as-menu-item + .menu-subsection-content .section-items-blurb,
.treat-as-menu-item + .menu-section-content .section-items-blurb {
  margin-top: 0.1rem !important;
  padding-top: 0 !important;
  line-height: 1.15 !important;
}

/* Coffee add-ons in table format (Syrups & Flavor shots) match Espresso Bar table item titles (1.4rem) */
.table-format-single_double .section-items-blurb,
.table-format-16_20 .section-items-blurb,
.section-syrups .section-items-blurb,
.section-flavor-shots .section-items-blurb {
  font-size: 1.4rem !important;
}

.section-items-blurb.coffee-addon-items,
.section-items-blurb {
  letter-spacing: -0.25px;
  line-height: 0.75 !important;
  margin-top: 0 !important;
}

/* Section Header Layout & Alignment: Center (Explicit overrides win over page side) */
.title-align-center .menu-section-header,
.menu-section-header.title-align-center,
.title-align-center.menu-section-header,
.cotc-menu-section-wrapper.title-align-center .menu-section-header,
.menu-subsection.title-align-center .menu-section-header,
.menu-grouped-term.title-align-center .menu-section-header,
.menu-grouped-term-sub.title-align-center .menu-section-header,
.menu-page-wrapper .title-align-center .menu-section-header,
.menu-page-wrapper .menu-section-header.title-align-center {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.title-align-center .menu-section-title-wrapper,
.title-align-center .menu-subsection-title-wrapper,
.menu-section-header.title-align-center .menu-section-title-wrapper,
.menu-section-header.title-align-center .menu-subsection-title-wrapper,
.cotc-menu-section-wrapper.title-align-center .menu-section-title-wrapper,
.cotc-menu-section-wrapper.title-align-center .menu-subsection-title-wrapper,
.menu-page-wrapper .title-align-center .menu-section-title-wrapper,
.menu-page-wrapper .title-align-center .menu-subsection-title-wrapper {
  justify-content: center !important;
  width: 100% !important;
  text-align: center !important;
}

.title-align-center .title-overlap-wrapper,
.menu-section-header.title-align-center .title-overlap-wrapper,
.cotc-menu-section-wrapper.title-align-center .title-overlap-wrapper {
  justify-items: center !important;
  text-align: center !important;
}

.title-align-center .menu-section-title,
.title-align-center .menu-subsection-title,
.menu-section-header.title-align-center .menu-section-title,
.menu-section-header.title-align-center .menu-subsection-title,
.cotc-menu-section-wrapper.title-align-center .menu-section-title,
.cotc-menu-section-wrapper.title-align-center .menu-subsection-title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.title-align-center .section-items-blurb,
.menu-section-content.align-items-override-center .section-items-blurb,
.menu-subsection-content.align-items-override-center .section-items-blurb {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Center menu item rows for Build Yer Own & explicit center items */
.term-33 .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.section-build-yer-own .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.title-align-center.treat-as-menu-item .horizon-menu-row .menu-item-title,
.title-align-center .treat-as-menu-item .horizon-menu-row .menu-item-title,
.align-items-override-center .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title {
  justify-content: center !important;
  text-align: center !important;
}
.term-33 .views-row .menu-item-desc,
.section-build-yer-own .views-row .menu-item-desc,
.align-items-override-center .views-row .menu-item-desc {
  text-align: center !important;
}

/* Section Header Layout & Alignment: Center (Default) */
.menu-section-header,
.title-align-center .menu-section-header,
.menu-section-header.title-align-center,
.title-align-center.treat-as-menu-item .menu-section-header,
.title-align-center .treat-as-menu-item .menu-section-header,
.treat-as-menu-item.title-align-center .menu-section-header,
.menu-section-header.treat-as-menu-item.title-align-center {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.title-align-center .menu-section-title-wrapper,
.title-align-center .menu-subsection-title-wrapper,
.menu-section-header.title-align-center .menu-section-title-wrapper,
.menu-section-header.title-align-center .menu-subsection-title-wrapper,
.title-align-center .treat-as-menu-item .menu-section-title-wrapper,
.treat-as-menu-item.title-align-center .menu-section-title-wrapper,
.menu-section-header.treat-as-menu-item.title-align-center .menu-section-title-wrapper {
  justify-content: center !important;
  width: 100% !important;
  text-align: center !important;
}

.title-align-center .title-overlap-wrapper,
.menu-section-header.title-align-center .title-overlap-wrapper {
  justify-items: center !important;
  text-align: center !important;
}

.title-align-center .menu-section-title,
.title-align-center .menu-subsection-title,
.menu-section-header.title-align-center .menu-section-title,
.menu-section-header.title-align-center .menu-subsection-title,
.title-align-center .treat-as-menu-item .menu-section-title,
.title-align-center .treat-as-menu-item .menu-subsection-title,
.title-align-center.treat-as-menu-item .menu-section-title,
.title-align-center.treat-as-menu-item .menu-subsection-title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Section Header Layout & Alignment: Right */
.title-align-right .menu-section-header,
.menu-section-header.title-align-right,
.title-align-right.menu-section-header,
.cotc-menu-section-wrapper.title-align-right .menu-section-header,
.menu-subsection.title-align-right .menu-section-header,
.menu-grouped-term.title-align-right .menu-section-header,
.menu-grouped-term-sub.title-align-right .menu-section-header,
.title-align-right.treat-as-menu-item .menu-section-header,
.title-align-right .treat-as-menu-item .menu-section-header,
.treat-as-menu-item.title-align-right .menu-section-header,
.menu-section-header.treat-as-menu-item.title-align-right,
.col-right:not(.title-align-center) .treat-as-menu-item .menu-section-header,
.col-right:not(.title-align-center) .menu-section-header.treat-as-menu-item,
.col-right:not(.title-align-center) .menu-section-header,
.menu-subsection.col-right:not(.title-align-center) .menu-section-header,
.grouped-terms-split-grid > :nth-child(even):not(.title-align-center) .treat-as-menu-item .menu-section-header,
.grouped-terms-split-grid > :nth-child(even):not(.title-align-center) .menu-section-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  text-align: right !important;
}

.title-align-right .menu-section-title-wrapper,
.title-align-right .menu-subsection-title-wrapper,
.menu-section-header.title-align-right .menu-section-title-wrapper,
.menu-section-header.title-align-right .menu-subsection-title-wrapper,
.title-align-right .treat-as-menu-item .menu-section-title-wrapper,
.treat-as-menu-item.title-align-right .menu-section-title-wrapper,
.menu-section-header.treat-as-menu-item.title-align-right .menu-section-title-wrapper,
.col-right:not(.title-align-center) .menu-section-title-wrapper,
.menu-subsection.col-right:not(.title-align-center) .menu-section-title-wrapper,
.grouped-terms-split-grid > :nth-child(even):not(.title-align-center) .menu-section-title-wrapper {
  justify-content: flex-end !important;
  width: 100% !important;
  text-align: right !important;
}

.title-align-right .title-overlap-wrapper,
.menu-section-header.title-align-right .title-overlap-wrapper,
.col-right:not(.title-align-center) .title-overlap-wrapper,
.menu-subsection.col-right:not(.title-align-center) .title-overlap-wrapper,
.grouped-terms-split-grid > :nth-child(even):not(.title-align-center) .title-overlap-wrapper {
  justify-items: end !important;
  text-align: right !important;
}

.title-align-right .menu-section-title,
.title-align-right .menu-subsection-title,
.menu-section-header.title-align-right .menu-section-title,
.menu-section-header.title-align-right .menu-subsection-title,
.title-align-right .treat-as-menu-item .menu-section-title,
.title-align-right .treat-as-menu-item .menu-subsection-title,
.title-align-right.treat-as-menu-item .menu-section-title,
.title-align-right.treat-as-menu-item .menu-subsection-title,
.col-right:not(.title-align-center) .menu-section-title,
.menu-subsection.col-right:not(.title-align-center) .menu-section-title,
.grouped-terms-split-grid > :nth-child(even):not(.title-align-center) .menu-section-title {
  text-align: right !important;
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* Section Header Layout & Alignment: Left */
.title-align-left .menu-section-header,
.menu-section-header.title-align-left,
.title-align-left.menu-section-header,
.cotc-menu-section-wrapper.title-align-left .menu-section-header,
.menu-subsection.title-align-left .menu-section-header,
.menu-grouped-term.title-align-left .menu-section-header,
.menu-grouped-term-sub.title-align-left .menu-section-header,
.title-align-left.treat-as-menu-item .menu-section-header,
.title-align-left .treat-as-menu-item .menu-section-header,
.treat-as-menu-item.title-align-left .menu-section-header,
.menu-section-header.treat-as-menu-item.title-align-left,
.col-left:not(.title-align-center) .treat-as-menu-item .menu-section-header,
.col-left:not(.title-align-center) .menu-section-header.treat-as-menu-item,
.col-left:not(.title-align-center) .menu-section-header,
.menu-subsection.col-left:not(.title-align-center) .menu-section-header,
.grouped-terms-split-grid > :nth-child(odd):not(.title-align-center) .treat-as-menu-item .menu-section-header,
.grouped-terms-split-grid > :nth-child(odd):not(.title-align-center) .menu-section-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.title-align-left .menu-section-title-wrapper,
.title-align-left .menu-subsection-title-wrapper,
.menu-section-header.title-align-left .menu-section-title-wrapper,
.menu-section-header.title-align-left .menu-subsection-title-wrapper,
.title-align-left .treat-as-menu-item .menu-section-title-wrapper,
.treat-as-menu-item.title-align-left .menu-section-title-wrapper,
.menu-section-header.treat-as-menu-item.title-align-left .menu-section-title-wrapper,
.col-left:not(.title-align-center) .menu-section-title-wrapper,
.menu-subsection.col-left:not(.title-align-center) .menu-section-title-wrapper,
.grouped-terms-split-grid > :nth-child(odd):not(.title-align-center) .menu-section-title-wrapper {
  justify-content: flex-start !important;
  width: 100% !important;
  text-align: left !important;
}

.title-align-left .title-overlap-wrapper,
.menu-section-header.title-align-left .title-overlap-wrapper,
.col-left:not(.title-align-center) .title-overlap-wrapper,
.menu-subsection.col-left:not(.title-align-center) .title-overlap-wrapper,
.grouped-terms-split-grid > :nth-child(odd):not(.title-align-center) .title-overlap-wrapper {
  justify-items: start !important;
  text-align: left !important;
}

.title-align-left .menu-section-title,
.title-align-left .menu-subsection-title,
.menu-section-header.title-align-left .menu-section-title,
.menu-section-header.title-align-left .menu-subsection-title,
.title-align-left .treat-as-menu-item .menu-section-title,
.title-align-left .treat-as-menu-item .menu-subsection-title,
.title-align-left.treat-as-menu-item .menu-section-title,
.title-align-left.treat-as-menu-item .menu-subsection-title,
.col-left:not(.title-align-center) .menu-section-title,
.menu-subsection.col-left:not(.title-align-center) .menu-section-title,
.grouped-terms-split-grid > :nth-child(odd):not(.title-align-center) .menu-section-title {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Subsection title & header alignment overrides when parent section wrapper is centered */
/* Left aligned subsections */
.cotc-menu-section-wrapper .menu-subsection.title-align-left .menu-section-header,
.cotc-menu-section-wrapper .menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-section-header,
.cotc-menu-section-wrapper .menu-subsection.title-align-left,
.cotc-menu-section-wrapper .menu-subsection.col-left:not(.title-align-center):not(.title-align-right),
.menu-subsection.title-align-left .menu-section-header,
.menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-section-header,
.menu-subsection.title-align-left,
.menu-subsection.col-left:not(.title-align-center):not(.title-align-right) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-left .menu-subsection-title-wrapper,
.cotc-menu-section-wrapper .menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-subsection-title-wrapper,
.menu-subsection.title-align-left .menu-subsection-title-wrapper,
.menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-subsection-title-wrapper,
.cotc-menu-section-wrapper .menu-subsection.title-align-left .menu-section-title-wrapper,
.cotc-menu-section-wrapper .menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-section-title-wrapper,
.menu-subsection.title-align-left .menu-section-title-wrapper,
.menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-section-title-wrapper {
  justify-content: flex-start !important;
  width: 100% !important;
  text-align: left !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-left .title-overlap-wrapper,
.cotc-menu-section-wrapper .menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .title-overlap-wrapper,
.menu-subsection.title-align-left .title-overlap-wrapper,
.menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .title-overlap-wrapper {
  justify-items: start !important;
  text-align: left !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-left .menu-subsection-title,
.cotc-menu-section-wrapper .menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-subsection-title,
.menu-subsection.title-align-left .menu-subsection-title,
.menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-subsection-title,
.cotc-menu-section-wrapper .menu-subsection.title-align-left .menu-section-title,
.cotc-menu-section-wrapper .menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-section-title,
.menu-subsection.title-align-left .menu-section-title,
.menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-section-title {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin: 0 !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-left .menu-section-desc,
.cotc-menu-section-wrapper .menu-subsection.title-align-left .menu-section-desc p,
.cotc-menu-section-wrapper .menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-section-desc,
.cotc-menu-section-wrapper .menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-section-desc p,
.menu-subsection.title-align-left .menu-section-desc,
.menu-subsection.title-align-left .menu-section-desc p,
.menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-section-desc,
.menu-subsection.col-left:not(.title-align-center):not(.title-align-right) .menu-section-desc p {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Right aligned subsections */
.cotc-menu-section-wrapper .menu-subsection.title-align-right .menu-section-header,
.cotc-menu-section-wrapper .menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-section-header,
.cotc-menu-section-wrapper .menu-subsection.title-align-right,
.cotc-menu-section-wrapper .menu-subsection.col-right:not(.title-align-center):not(.title-align-left),
.menu-subsection.title-align-right .menu-section-header,
.menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-section-header,
.menu-subsection.title-align-right,
.menu-subsection.col-right:not(.title-align-center):not(.title-align-left) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  text-align: right !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-right .menu-subsection-title-wrapper,
.cotc-menu-section-wrapper .menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-subsection-title-wrapper,
.menu-subsection.title-align-right .menu-subsection-title-wrapper,
.menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-subsection-title-wrapper,
.cotc-menu-section-wrapper .menu-subsection.title-align-right .menu-section-title-wrapper,
.cotc-menu-section-wrapper .menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-section-title-wrapper,
.menu-subsection.title-align-right .menu-section-title-wrapper,
.menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-section-title-wrapper {
  justify-content: flex-end !important;
  width: 100% !important;
  text-align: right !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-right .title-overlap-wrapper,
.cotc-menu-section-wrapper .menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .title-overlap-wrapper,
.menu-subsection.title-align-right .title-overlap-wrapper,
.menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .title-overlap-wrapper {
  justify-items: end !important;
  text-align: right !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-right .menu-subsection-title,
.cotc-menu-section-wrapper .menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-subsection-title,
.menu-subsection.title-align-right .menu-subsection-title,
.menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-subsection-title,
.cotc-menu-section-wrapper .menu-subsection.title-align-right .menu-section-title,
.cotc-menu-section-wrapper .menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-section-title,
.menu-subsection.title-align-right .menu-section-title,
.menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-section-title {
  text-align: right !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin: 0 !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-right .menu-section-desc,
.cotc-menu-section-wrapper .menu-subsection.title-align-right .menu-section-desc p,
.cotc-menu-section-wrapper .menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-section-desc,
.cotc-menu-section-wrapper .menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-section-desc p,
.menu-subsection.title-align-right .menu-section-desc,
.menu-subsection.title-align-right .menu-section-desc p,
.menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-section-desc,
.menu-subsection.col-right:not(.title-align-center):not(.title-align-left) .menu-section-desc p {
  text-align: right !important;
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* Center aligned subsections (such as Bases, Cheeses, Proteins, Veggies in Build Yer Own) */
.cotc-menu-section-wrapper .menu-subsection.title-align-center .menu-section-header,
.cotc-menu-section-wrapper .menu-subsection.title-align-center,
.menu-subsection.title-align-center .menu-section-header,
.menu-subsection.title-align-center,
.section-build-yer-own .menu-subsection .menu-section-header,
.term-33 .menu-subsection .menu-section-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-center .menu-subsection-title-wrapper,
.cotc-menu-section-wrapper .menu-subsection.title-align-center .menu-section-title-wrapper,
.menu-subsection.title-align-center .menu-subsection-title-wrapper,
.menu-subsection.title-align-center .menu-section-title-wrapper,
.section-build-yer-own .menu-subsection .menu-section-title-wrapper,
.section-build-yer-own .menu-subsection .menu-subsection-title-wrapper,
.term-33 .menu-subsection .menu-section-title-wrapper,
.term-33 .menu-subsection .menu-subsection-title-wrapper {
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  gap: 0.35rem !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-center .title-overlap-wrapper,
.menu-subsection.title-align-center .title-overlap-wrapper,
.section-build-yer-own .menu-subsection .title-overlap-wrapper,
.term-33 .menu-subsection .title-overlap-wrapper {
  justify-items: center !important;
  text-align: center !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-center .menu-subsection-title,
.cotc-menu-section-wrapper .menu-subsection.title-align-center .menu-section-title,
.menu-subsection.title-align-center .menu-subsection-title,
.menu-subsection.title-align-center .menu-section-title,
.section-build-yer-own .menu-subsection .menu-subsection-title,
.section-build-yer-own .menu-subsection .menu-section-title,
.term-33 .menu-subsection .menu-subsection-title,
.term-33 .menu-subsection .menu-section-title {
  text-align: center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin: 0 !important;
  order: 0 !important;
}

.cotc-menu-section-wrapper .menu-subsection.title-align-center .menu-section-desc,
.cotc-menu-section-wrapper .menu-subsection.title-align-center .menu-section-desc p,
.menu-subsection.title-align-center .menu-section-desc,
.menu-subsection.title-align-center .menu-section-desc p,
.section-build-yer-own .menu-subsection .menu-section-desc,
.section-build-yer-own .menu-subsection .menu-section-desc p,
.term-33 .menu-subsection .menu-section-desc,
.term-33 .menu-subsection .menu-section-desc p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Dietary icons order: left column (title then icon / title price then icon); right column (icon title then price) */
.col-right .section-dietary-icons,
.sec-col-right .section-dietary-icons,
.title-align-right .section-dietary-icons,
.section-build-yer-own .col-right .section-dietary-icons,
.section-veggies .section-dietary-icons,
.term-74 .section-dietary-icons {
  order: -1 !important;
  margin-right: 0.35rem !important;
  margin-left: 0 !important;
}

.col-left .section-dietary-icons,
.sec-col-left .section-dietary-icons,
.title-align-left .section-dietary-icons,
.section-build-yer-own .col-left .section-dietary-icons,
.section-bases .section-dietary-icons,
.section-cheeses .section-dietary-icons,
.section-proteins .section-dietary-icons,
.term-77 .section-dietary-icons,
.term-76 .section-dietary-icons,
.term-75 .section-dietary-icons {
  order: 1 !important;
  margin-left: 0.35rem !important;
  margin-right: 0 !important;
}

/* Explicit blurb alignment overrides */
.grouped-terms-split-grid > :nth-child(odd) .section-items-blurb,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(odd) .section-items-blurb,
.col-left .section-items-blurb,
.col-left .treat-as-menu-item .section-items-blurb,
.menu-subsection.col-left .section-items-blurb,
.title-align-left .section-items-blurb {
  text-align: left !important;
}

.grouped-terms-split-grid > :nth-child(even) .section-items-blurb,
.grouped-terms-split-grid > .menu-grouped-term-sub:nth-child(even) .section-items-blurb,
.col-right .section-items-blurb,
.col-right .treat-as-menu-item .section-items-blurb,
.menu-subsection.col-right .section-items-blurb,
.title-align-right .section-items-blurb {
  text-align: right !important;
}

/* Subsection col-left (e.g. Plates in Smoke & Fire) item alignment */
.menu-subsection.col-left:not(.title-align-center):not(.align-items-override-center):not(.section-build-yer-own) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.views-row.col-left:not(.col-center):not(.align-items-override-center):not(.section-build-yer-own) .horizon-menu-row:not(.is-table-row) .menu-item-title,
.col-left:not(.title-align-center):not(.align-items-override-center):not(.section-build-yer-own) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title {
  justify-content: flex-start !important;
  text-align: left !important;
}
.menu-subsection.col-left:not(.title-align-center):not(.align-items-override-center):not(.section-build-yer-own) .views-row .menu-item-desc,
.views-row.col-left:not(.col-center):not(.align-items-override-center):not(.section-build-yer-own) .menu-item-desc,
.col-left:not(.title-align-center):not(.align-items-override-center):not(.section-build-yer-own) .views-row .menu-item-desc {
  text-align: left !important;
}
.menu-subsection.col-left:not(.title-align-center):not(.align-items-override-center):not(.section-build-yer-own) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left,
.views-row.col-left:not(.col-center):not(.align-items-override-center):not(.section-build-yer-own) .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left {
  display: none !important;
}
.menu-subsection.col-left:not(.title-align-center):not(.align-items-override-center):not(.section-build-yer-own) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right,
.views-row.col-left:not(.col-center):not(.align-items-override-center):not(.section-build-yer-own) .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right {
  display: inline-flex !important;
  order: 0 !important;
  margin-left: 0.35rem !important;
  margin-right: 0 !important;
}

/* Split-grid even child (e.g. Salad Additions) row item alignment */
.grouped-terms-split-grid > :nth-child(even):not(.title-align-center):not(.align-items-override-center) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title,
.grouped-terms-split-grid > :nth-child(even):not(.title-align-center):not(.align-items-override-center) .views-row .menu-item-desc {
  text-align: right !important;
}
.grouped-terms-split-grid > :nth-child(even):not(.title-align-center):not(.align-items-override-center) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-left {
  display: inline-flex !important;
  margin-right: 0.35rem !important;
  margin-left: 0 !important;
}
.grouped-terms-split-grid > :nth-child(even):not(.title-align-center):not(.align-items-override-center) .views-row .horizon-menu-row:not(.is-table-row) .menu-item-title .menu-item-badges.badges-right {
  display: none !important;
}

/* Build Yer Own and Centered Subsections: Menu Items Strict Centering */
.section-build-yer-own .views-row,
.section-build-yer-own .horizon-menu-row,
.section-build-yer-own .horizon-menu-item,
.section-build-yer-own .menu-item-header,
.section-build-yer-own .menu-item-title,
.section-build-yer-own .menu-item-name,
.term-33 .views-row,
.term-33 .horizon-menu-row,
.term-33 .horizon-menu-item,
.term-33 .menu-item-header,
.term-33 .menu-item-title,
.term-33 .menu-item-name,
.section-bases .menu-item-title, .term-77 .menu-item-title,
.section-cheeses .menu-item-title, .term-76 .menu-item-title,
.section-proteins .menu-item-title, .term-75 .menu-item-title,
.section-veggies .menu-item-title, .term-74 .menu-item-title,
.align-items-override-center .views-row,
.align-items-override-center .horizon-menu-row,
.align-items-override-center .horizon-menu-item,
.align-items-override-center .menu-item-header,
.align-items-override-center .menu-item-title,
.align-items-override-center .menu-item-name {
  justify-content: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.section-build-yer-own .views-row,
.term-33 .views-row {
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}

.section-build-yer-own .horizon-menu-row,
.term-33 .horizon-menu-row {
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}

.section-build-yer-own .horizon-menu-item,
.term-33 .horizon-menu-item {
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}

.section-build-yer-own .menu-item-header,
.term-33 .menu-item-header {
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}

.section-build-yer-own .menu-item-title,
.term-33 .menu-item-title {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

/* =========================================================================
   Bullet Points, Dietary Icons, Pepper Icons & Battlesbridge Section Icons
   ========================================================================= */

/* 1. Bullet points everywhere: remove margins, single character space, descriptions untouched */
.menu-item-title-bullet,
.section-title-bullet,
.desc-bullet,
.modifier-bullet,
.treat-as-menu-item .section-title-bullet,
.treat-as-menu-item .menu-item-title-bullet {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--cotc-roboto, 'Roboto', sans-serif) !important;
  font-weight: normal !important;
  vertical-align: middle !important;
}

.menu-item-title-bullet {
  font-size: 0.95em !important;
  line-height: 1 !important;
}

/* 2. Menu item dietary icons (Vegetarian, Gluten-Free, Vegan): smaller & uniform size */
.menu-item-badges .dietary-icon-wrapper,
.menu-item-badges .dietary-icon-wrapper img,
.menu-item-badges .dietary-icon-wrapper svg,
.menu-item-badges img:not(.pepper-icon):not([src*="pepper"]):not([src*="chili"]),
.menu-item-badges svg:not(.pepper-icon):not([src*="pepper"]):not([src*="chili"]),
.horizon-menu-row .dietary-icon-wrapper:not(.section-title-badge) img:not(.pepper-icon):not([src*="pepper"]):not([src*="chili"]),
.horizon-menu-row .dietary-icon-wrapper:not(.section-title-badge) svg:not(.pepper-icon):not([src*="pepper"]):not([src*="chili"]) {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

.menu-item-badges {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.2rem !important;
  vertical-align: middle !important;
  line-height: 1 !important;
}

/* 3. Pepper icons next to item titles (e.g. House Sauces): slightly larger */
.sauce-pepper-icon,
.pepper-icon,
.sauce-entry img,
.menu-item-badges .dietary-icon-wrapper[title*="Pepper"] img,
.menu-item-badges .dietary-icon-wrapper[title*="pepper"] img,
.menu-item-badges img[src*="chili-pepper"],
.menu-item-badges img[src*="pepper"],
.menu-item-title img[src*="chili-pepper"],
.menu-item-title img[src*="pepper"] {
  width: auto !important;
  height: 24px !important;
  min-width: 0 !important;
  max-width: none !important;
  max-height: 24px !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* 4. Section title icons for Battlesbridge font sections (Plates, Just Protein): almost double size & centered to horizon line */
.menu-subsection-title-wrapper:has(.font-battlesbridge) .section-dietary-icons,
.menu-section-title-wrapper:has(.font-battlesbridge) .section-dietary-icons,
.section-plates .section-dietary-icons,
.section-just-protein .section-dietary-icons,
.term-27 .section-dietary-icons,
.term-28 .section-dietary-icons {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  transform: translateY(-0.35rem) !important;
}

.menu-subsection-title-wrapper:has(.font-battlesbridge) .section-dietary-icons .dietary-icon-wrapper,
.menu-section-title-wrapper:has(.font-battlesbridge) .section-dietary-icons .dietary-icon-wrapper,
.section-plates .section-dietary-icons .dietary-icon-wrapper,
.section-just-protein .section-dietary-icons .dietary-icon-wrapper,
.term-27 .section-dietary-icons .dietary-icon-wrapper,
.term-28 .section-dietary-icons .dietary-icon-wrapper,
.menu-subsection-title-wrapper:has(.font-battlesbridge) .section-dietary-icons img,
.menu-section-title-wrapper:has(.font-battlesbridge) .section-dietary-icons img,
.section-plates .section-dietary-icons img,
.section-just-protein .section-dietary-icons img,
.term-27 .section-dietary-icons img,
.term-28 .section-dietary-icons img {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  object-fit: contain !important;
  display: block !important;
}

/* 5. Sides section: black item titles, bullets, and prices */
.section-sides .menu-item-title-bullet,
.section-sides .menu-item-price,
.term-29 .menu-item-title-bullet,
.term-29 .menu-item-price {
  color: var(--cotc-black, #1b1b1b) !important;
  -webkit-text-fill-color: var(--cotc-black, #1b1b1b) !important;
}

/* 6. Icons on menu sections set to act like menu items (House Made Dressings, Salad Additions, Bases, Cheeses, Proteins, Veggies) */
.treat-as-menu-item .section-dietary-icons .dietary-icon-wrapper,
.treat-as-menu-item .section-dietary-icons img,
.treat-as-menu-item .section-dietary-icons svg,
.section-salad-additions .section-dietary-icons img,
.section-salad-additions .section-dietary-icons svg,
.section-house-made-dressings .section-dietary-icons img,
.section-house-made-dressings .section-dietary-icons svg,
.section-dressings .section-dietary-icons img,
.section-dressings .section-dietary-icons svg,
.section-bases .section-dietary-icons img,
.section-bases .section-dietary-icons svg,
.section-cheeses .section-dietary-icons img,
.section-cheeses .section-dietary-icons svg,
.section-proteins .section-dietary-icons img,
.section-proteins .section-dietary-icons svg,
.section-veggies .section-dietary-icons img,
.section-veggies .section-dietary-icons svg,
.term-74 .section-dietary-icons img,
.term-75 .section-dietary-icons img,
.term-76 .section-dietary-icons img,
.term-77 .section-dietary-icons img,
.term-79 .section-dietary-icons img,
.term-80 .section-dietary-icons img {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

.treat-as-menu-item .section-dietary-icons {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

/* ==========================================================================
   Spread 1: Height Matching & Top-to-Bottom Item Balancing
   - Page 2 (Breakfast Mates + Daily Pastries + Dietary Key) is the default master height
   - Page 1 (Grab 'n Go Breakfast) stretches to match Page 2 height
   - Items in Page 1 are distributed evenly top-to-bottom with equal vertical gaps
   - Top headers and bottom lines align horizontally
   ========================================================================== */
@media (min-width: 992px) {
  .menu-spread-1 .menu-grid-container {
    align-items: stretch !important;
  }

  .menu-spread-1 .menu-page-1 {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  .menu-spread-1 .menu-page-1 > .cotc-menu-section-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    flex-grow: 1 !important;
  }

  .menu-spread-1 .menu-page-1 .menu-section-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    flex-grow: 1 !important;
    height: 100% !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .menu-spread-1 .menu-page-1 .menu-section-content > .views-row {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* ==========================================================================
   Spread 2: Height Matching & Top-to-Bottom Item Balancing
   - Left spread (Page 3: Brewed Attitudes with Classics, Espresso Bar,
     Modifications, Syrups, and Flavor Shots) is taller and sets the height
   - Right spread (Page 4: Day Starters with Just Juicy) stretches to match
   - Buena Vista top line aligns across from Brewed Attitudes description
   - Items in Day Starters distribute evenly top-to-bottom with equal vertical gaps
   - Bottom text in Just Juicy aligns horizontally with bottom text in Flavor Shots
   ========================================================================== */
@media (min-width: 992px) {
  .menu-spread-2 .menu-grid-container {
    align-items: stretch !important;
  }

  .menu-spread-2 .menu-page-3 {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  .menu-spread-2 .menu-page-3 > .cotc-menu-section-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    flex-grow: 1 !important;
  }

  .menu-spread-2 .menu-page-4 {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  .menu-spread-2 .menu-page-4 > .cotc-menu-section-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    flex-grow: 1 !important;
    padding-bottom: 1rem !important;
  }

  .menu-spread-2 .menu-page-4 .menu-section-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    flex-grow: 1 !important;
    height: 100% !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .menu-spread-2 .menu-page-4 .menu-section-content > .views-row {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    margin-bottom: 0 !important;
  }

  .menu-spread-2 .menu-page-4 .section-just-juicy {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .menu-spread-2 .menu-page-4 .section-just-juicy .section-items-blurb {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}


