/*
 * TacoTaco public UI layer
 *
 * This file is intentionally scoped to body.tt-site. The internal staff and
 * tip tools keep their own visual system until they are redesigned separately.
 */

:root {
  --tt-ui-bg: #f7f2ea;
  --tt-ui-surface: #fffdf8;
  --tt-ui-surface-muted: #efe5d6;
  --tt-ui-ink: #2f3943;
  --tt-ui-ink-muted: #687278;
  --tt-ui-brand: #064e3b;
  --tt-ui-brand-dark: #04392b;
  --tt-ui-sage: #57774e;
  --tt-ui-accent: #f38412;
  --tt-ui-accent-dark: #b85d00;
  --tt-ui-sun: #feda7d;
  --tt-ui-night: #0d0342;
  --tt-ui-line: rgba(47, 57, 67, .14);
  --tt-ui-line-strong: rgba(47, 57, 67, .24);
  --tt-ui-radius-sm: .65rem;
  --tt-ui-radius: 1rem;
  --tt-ui-radius-lg: 1.5rem;
  --tt-ui-shadow: 0 1rem 2.5rem rgba(47, 57, 67, .10);
  --tt-ui-shadow-soft: 0 .5rem 1.5rem rgba(47, 57, 67, .08);
  --tt-ui-content: 1200px;
}

body.tt-site {
  background: var(--tt-ui-bg);
  color: var(--tt-ui-ink);
  font-family: GlacialIndifference, "Segoe UI", Arial, sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
}

body.tt-site .container {
  max-width: var(--tt-ui-content);
}

body.tt-site h1,
body.tt-site h2,
body.tt-site h3,
body.tt-site h4,
body.tt-site h5,
body.tt-site h6 {
  color: var(--tt-ui-ink);
  font-family: GlacialIndifference, "Segoe UI", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -.015em;
}

body.tt-site .glacial,
body.tt-site .playfair,
body.tt-site .font-theme,
body.tt-site .display-1,
body.tt-site .display-2,
body.tt-site .display-3,
body.tt-site .display-4,
body.tt-site .display-5,
body.tt-site .display-6 {
  font-family: GlacialIndifference, "Segoe UI", Arial, sans-serif !important;
}

body.tt-site .display-1,
body.tt-site .display-2,
body.tt-site .display-3,
body.tt-site .display-4,
body.tt-site .display-5,
body.tt-site .display-6 {
  font-weight: 700;
  letter-spacing: -.035em;
}

body.tt-site p,
body.tt-site li {
  color: inherit;
}

body.tt-site a {
  color: var(--tt-ui-brand);
}

body.tt-site .text-muted {
  color: var(--tt-ui-ink-muted) !important;
}

body.tt-site .bg-light {
  background-color: var(--tt-ui-surface) !important;
}

body.tt-site .bg-green,
body.tt-site .bg-grad {
  background: var(--tt-ui-brand) !important;
}

body.tt-site .text-primary {
  color: var(--tt-ui-brand) !important;
}

/* Fast event and catering time selection. The input remains available for
 * keyboard entry and unusual times, while common times are one tap away. */
.tt-time-quick-picks {
  margin-top: .5rem;
}

.tt-time-quick-heading {
  align-items: center;
  color: inherit;
  display: flex;
  font-size: .75rem;
  font-weight: 800;
  justify-content: space-between;
  letter-spacing: .02em;
  margin-bottom: .35rem;
}

.tt-time-quick-heading span:last-child {
  font-size: .68rem;
  font-weight: 600;
  opacity: .7;
}

.tt-time-quick-grid {
  display: grid;
  gap: .35rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tt-time-choice {
  background: #fff;
  border: 1px solid rgba(6, 78, 59, .24);
  border-radius: .55rem;
  color: var(--tt-ui-brand);
  cursor: pointer;
  font-size: .78rem;
  font-weight: 700;
  min-height: 2.25rem;
  padding: .35rem .25rem;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

.tt-time-choice:hover,
.tt-time-choice:focus-visible {
  border-color: var(--tt-ui-brand);
  transform: translateY(-1px);
}

.tt-time-choice.is-selected {
  background: var(--tt-ui-brand);
  border-color: var(--tt-ui-brand);
  color: #fff;
}

.tt-time-choice-more {
  background: transparent;
  border-color: currentColor;
  color: inherit;
}

.tt-time-quick-help {
  color: inherit;
  font-size: .7rem;
  margin-top: .35rem;
  opacity: .7;
}

@media (max-width: 575.98px) {
  .tt-time-quick-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Keyboard users get a visible, branded skip link and focus ring. */
.tt-skip-link {
  background: var(--tt-ui-sun);
  border-radius: 0 0 var(--tt-ui-radius-sm) var(--tt-ui-radius-sm);
  color: var(--tt-ui-ink) !important;
  font-weight: 800;
  left: 1rem;
  padding: .7rem 1rem;
  position: fixed;
  top: 0;
  transform: translateY(-140%);
  transition: transform .2s ease;
  z-index: 2000;
}

.tt-skip-link:focus {
  transform: translateY(0);
}

body.tt-site :focus-visible {
  outline: 3px solid var(--tt-ui-accent);
  outline-offset: 3px;
}

/* Shared public navigation */
body.tt-site .tt-site-nav {
  align-items: center;
  background: var(--tt-ui-brand) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 .35rem 1.25rem rgba(4, 57, 43, .16);
  min-height: 4.5rem;
  padding: .5rem 0;
  position: sticky;
  top: 0;
  z-index: 1030;
}

body.tt-site .tt-site-nav .container {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  min-height: 3.5rem;
}

body.tt-site .tt-site-nav .navbar-brand {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  margin: 0;
  padding: .25rem 0;
}

body.tt-site .tt-site-nav .navbar-brand img {
  height: 2.65rem;
  max-width: 9rem;
  object-fit: contain;
  width: auto;
}

body.tt-site .tt-site-nav .tt-nav-toggle {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: .7rem;
  color: #fff;
  display: none;
  height: 2.75rem;
  justify-content: center;
  padding: 0;
  width: 2.75rem;
}

.tt-menu-icon,
.tt-menu-icon::before,
.tt-menu-icon::after {
  background: currentColor;
  border-radius: 999px;
  content: "";
  display: block;
  height: 2px;
  position: relative;
  transition: transform .2s ease, opacity .2s ease;
  width: 1.25rem;
}

.tt-menu-icon::before {
  position: absolute;
  top: -.4rem;
}

.tt-menu-icon::after {
  position: absolute;
  top: .4rem;
}

body.tt-site .tt-site-nav .tt-nav-toggle[aria-expanded="true"] .tt-menu-icon {
  background: transparent;
}

body.tt-site .tt-site-nav .tt-nav-toggle[aria-expanded="true"] .tt-menu-icon::before {
  transform: translateY(.4rem) rotate(45deg);
}

body.tt-site .tt-site-nav .tt-nav-toggle[aria-expanded="true"] .tt-menu-icon::after {
  transform: translateY(-.4rem) rotate(-45deg);
}

body.tt-site .tt-site-nav .tt-nav-menu {
  align-items: center;
  display: flex !important;
  flex: 1 1 auto;
  justify-content: flex-end;
  margin-left: auto;
}

body.tt-site .tt-site-nav .tt-nav-list {
  align-items: center;
  display: flex;
  gap: .2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.tt-site .tt-site-nav .tt-nav-link {
  border-radius: .6rem;
  color: rgba(255, 255, 255, .82);
  display: inline-flex;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .075em;
  min-height: 2.5rem;
  align-items: center;
  padding: .55rem .7rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .18s ease, box-shadow .18s ease, color .18s ease;
}

body.tt-site .tt-site-nav .tt-nav-link:hover,
body.tt-site .tt-site-nav .tt-nav-link:focus-visible,
body.tt-site .tt-site-nav .tt-nav-link[aria-current="page"] {
  background: rgba(255, 255, 255, .12);
  color: #fff;
  box-shadow: inset 0 -3px 0 var(--tt-ui-accent);
}

body.tt-site .tt-site-nav .tt-nav-cta {
  align-items: center;
  background: var(--tt-ui-accent);
  border: 1px solid var(--tt-ui-accent);
  border-radius: .7rem;
  color: var(--tt-ui-ink) !important;
  display: inline-flex;
  font-size: .82rem;
  font-weight: 900;
  justify-content: center;
  letter-spacing: .045em;
  min-height: 2.5rem;
  padding: .55rem .9rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

body.tt-site .tt-site-nav .tt-nav-cta:hover,
body.tt-site .tt-site-nav .tt-nav-cta:focus-visible {
  background: #ffad4d;
  border-color: #ffad4d;
  color: var(--tt-ui-ink) !important;
  transform: translateY(-1px);
}

/* Homepage navigation sits over the photo and becomes solid after scrolling. */
body.tt-site.tt-home .tt-site-nav {
  background: linear-gradient(180deg, rgba(4, 57, 43, .34), rgba(4, 57, 43, .04)) !important;
  border-bottom-color: rgba(255, 255, 255, .2);
  box-shadow: none;
  left: 0;
  position: absolute;
  top: 0;
  transition: background-color .5s ease, box-shadow .5s ease;
  width: 100%;
}

body.tt-site.tt-home .tt-site-nav.is-scrolled {
  background: rgba(4, 57, 43, .12) !important;
  box-shadow: 0 .2rem .8rem rgba(4, 57, 43, .08);
  position: fixed;
}

/* Shared controls */
body.tt-site .btn {
  border-radius: .7rem;
  font-family: GlacialIndifference, "Segoe UI", Arial, sans-serif !important;
  font-weight: 800;
  min-height: 2.75rem;
  padding: .65rem 1rem;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.tt-site .btn:hover {
  transform: translateY(-1px);
}

body.tt-site .btn-primary {
  background: var(--tt-ui-accent) !important;
  border-color: var(--tt-ui-accent) !important;
  box-shadow: 0 .35rem .8rem rgba(243, 132, 18, .22);
  color: var(--tt-ui-brand-dark) !important;
}

body.tt-site .btn-primary:hover,
body.tt-site .btn-primary:focus-visible {
  background: var(--tt-ui-accent-dark) !important;
  border-color: var(--tt-ui-accent-dark) !important;
  box-shadow: 0 .5rem 1rem rgba(243, 132, 18, .28);
  color: #fff !important;
}

body.tt-site .btn-warning {
  background: var(--tt-ui-sun) !important;
  border-color: var(--tt-ui-sun) !important;
  color: var(--tt-ui-brand-dark) !important;
}

body.tt-site .btn-warning:hover,
body.tt-site .btn-warning:focus-visible {
  background: #ffe39a !important;
  border-color: #ffe39a !important;
}

body.tt-site .btn-outline-primary {
  border-color: var(--tt-ui-accent) !important;
  color: var(--tt-ui-accent-dark) !important;
}

body.tt-site .btn-outline-primary:hover,
body.tt-site .btn-outline-primary:focus-visible {
  background: var(--tt-ui-accent) !important;
  border-color: var(--tt-ui-accent) !important;
  color: var(--tt-ui-brand-dark) !important;
}

body.tt-site .btn-light {
  background: var(--tt-ui-surface) !important;
  border-color: var(--tt-ui-surface) !important;
  color: var(--tt-ui-brand) !important;
}

body.tt-site .btn-outline-light {
  background: rgba(4, 57, 43, .38) !important;
  border-color: rgba(255, 255, 255, .9) !important;
  color: #fff !important;
}

body.tt-site .btn-outline-light:hover,
body.tt-site .btn-outline-light:focus-visible {
  background: rgba(4, 57, 43, .78) !important;
  border-color: #fff !important;
  color: #fff !important;
}

body.tt-site .form-control,
body.tt-site .form-select {
  background-color: var(--tt-ui-surface);
  border: 1px solid var(--tt-ui-line-strong);
  border-radius: .7rem;
  color: var(--tt-ui-ink);
  min-height: 3rem;
  padding: .7rem .85rem;
}

body.tt-site .form-control::placeholder {
  color: #879096;
}

body.tt-site .form-control:focus,
body.tt-site .form-select:focus {
  background-color: #fff;
  border-color: var(--tt-ui-accent);
  box-shadow: 0 0 0 .25rem rgba(243, 132, 18, .18);
}

body.tt-site .form-label,
body.tt-site label {
  color: var(--tt-ui-ink);
  font-weight: 700;
}

body.tt-site .card,
body.tt-site .card-lite,
body.tt-site .tt-surface {
  background: var(--tt-ui-surface);
  border: 1px solid var(--tt-ui-line);
  border-radius: var(--tt-ui-radius);
  box-shadow: var(--tt-ui-shadow-soft);
}

body.tt-site .card {
  overflow: hidden;
}

body.tt-site .card:hover {
  border-color: rgba(243, 132, 18, .42);
}

body.tt-site .tt-announcement {
  border-left: .35rem solid var(--tt-ui-accent);
}

body.tt-site .tt-announcement .h3,
body.tt-site.tt-home .tt-home-intro .display-4 {
  color: var(--tt-ui-accent-dark);
}

body.tt-site .tt-reservation-note {
  border-left-color: var(--tt-ui-accent);
}

body.tt-site .icon-square {
  background-color: #fff0df !important;
  color: var(--tt-ui-accent) !important;
}

body.tt-site .modal-content {
  border: 1px solid var(--tt-ui-line);
  border-radius: var(--tt-ui-radius);
  box-shadow: var(--tt-ui-shadow);
}

/* Homepage */
body.tt-site.tt-home #cover {
  align-items: center;
  background-position: center;
  background-size: cover;
  display: flex;
  isolation: isolate;
  min-height: min(780px, 88svh);
  overflow: hidden;
  padding-bottom: 3rem !important;
}

body.tt-site.tt-home #cover::before {
  background:
    linear-gradient(165deg, rgba(4, 57, 43, .64), rgba(4, 57, 43, .30) 48%, rgba(4, 57, 43, .56)),
    linear-gradient(90deg, rgba(4, 57, 43, .24), rgba(87, 119, 78, .1) 58%, rgba(4, 57, 43, .18));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity .7s ease;
  z-index: -1;
}

body.tt-site.tt-home #cover.is-scrolled::before {
  opacity: 0;
}

body.tt-site.tt-home #cover > .container {
  padding-top: 5rem;
  position: relative;
  z-index: 1;
}

body.tt-site.tt-home #logo {
  max-height: 17rem;
  object-fit: contain;
  width: auto;
}

body.tt-site.tt-home #cover .h3 {
  font-size: clamp(1rem, 2.4vw, 1.45rem);
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.35;
  margin-inline: auto;
  max-width: 42rem;
}

body.tt-site.tt-home .tt-hero-meta {
  border-top: 1px solid rgba(255, 255, 255, .28);
  background: rgba(4, 57, 43, .24);
  border-radius: .8rem;
  margin: 1rem auto 0;
  max-width: 52rem;
  padding: 1rem .75rem .15rem;
}

body.tt-site.tt-home .tt-home-intro {
  padding-bottom: clamp(3rem, 7vw, 6rem) !important;
  padding-top: clamp(3rem, 7vw, 6rem) !important;
}

body.tt-site.tt-home .tt-home-intro .roundedImg,
body.tt-site.tt-home #pictures img {
  border-radius: var(--tt-ui-radius);
}

body.tt-site.tt-home .tt-reservation-panel {
  background: var(--tt-ui-surface) !important;
  border: 1px solid var(--tt-ui-line);
  border-radius: var(--tt-ui-radius-lg) !important;
  box-shadow: var(--tt-ui-shadow);
  color: var(--tt-ui-ink);
  padding: clamp(1.1rem, 3vw, 1.75rem) !important;
}

body.tt-site.tt-home .tt-reservation-panel .tt-reservation-note {
  background: var(--tt-ui-surface-muted);
  border-left-color: var(--tt-ui-sage);
  border-radius: .35rem;
}

body.tt-site.tt-home #group {
  min-height: min(660px, 80svh);
}

body.tt-site.tt-home #groupText {
  background: rgba(4, 57, 43, .82);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: var(--tt-ui-radius-lg);
  box-shadow: var(--tt-ui-shadow);
  padding: clamp(1.25rem, 3vw, 2rem);
}

body.tt-site.tt-home #orderNow {
  background-image: linear-gradient(rgba(4, 57, 43, .72), rgba(4, 57, 43, .72)), url("/images/cover2.jpg") !important;
  background-position: center;
  background-size: cover;
}

body.tt-site.tt-home #catering {
  background-image: linear-gradient(rgba(4, 57, 43, .58), rgba(4, 57, 43, .58)), url("/images/hero.jpg") !important;
  background-position: center;
  background-size: cover;
}

body.tt-site.tt-home #orderNow .row,
body.tt-site.tt-home #catering .row {
  border-radius: var(--tt-ui-radius-lg) !important;
  box-shadow: var(--tt-ui-shadow);
}

body.tt-site.tt-home #orderNow img,
body.tt-site.tt-home #catering img {
  border-radius: var(--tt-ui-radius) !important;
}

body.tt-site.tt-home #orderNow .display-3,
body.tt-site.tt-home #catering .display-3,
body.tt-site.tt-home #group .display-1,
body.tt-site.tt-home .bg-green .display-3 {
  color: var(--tt-ui-sun);
}

/* Menu / ordering wrapper */
body.tt-site.tt-menu-page #cover {
  background: var(--tt-ui-bg) !important;
  min-height: calc(100svh - 4.5rem);
  padding-bottom: 3rem !important;
}

body.tt-site.tt-menu-page #cover > .container {
  background: var(--tt-ui-surface) !important;
  border: 1px solid var(--tt-ui-line);
  border-radius: var(--tt-ui-radius-lg) !important;
  box-shadow: var(--tt-ui-shadow);
  margin-top: 1.5rem;
  overflow: hidden;
}

body.tt-site.tt-menu-page #menu-header {
  border-bottom: 1px solid var(--tt-ui-line);
  margin-bottom: 1.25rem !important;
  padding: 1.25rem 0;
}

body.tt-site.tt-menu-page #menu-header .display-3 {
  color: var(--tt-ui-brand);
  font-size: clamp(2rem, 4vw, 3.4rem);
}

body.tt-site.tt-menu-page #happyHourSection > .bg-white,
body.tt-site.tt-menu-page #happyHourSection .menu-desc {
  border-color: var(--tt-ui-line) !important;
  border-radius: var(--tt-ui-radius) !important;
}

body.tt-site.tt-menu-page #happyHourSection .menu-desc {
  background: var(--tt-ui-sun) !important;
}

body.tt-site.tt-menu-page #iframe-container {
  background: var(--tt-ui-bg);
  border-radius: var(--tt-ui-radius);
  margin-bottom: 1.5rem;
  overflow: hidden;
}

body.tt-site.tt-menu-page #iframe-container iframe {
  background: var(--tt-ui-bg);
}

body.tt-site.tt-order-page #cover {
  background: var(--tt-ui-bg) !important;
  min-height: calc(100svh - 4.5rem);
  padding-bottom: 3rem !important;
}

body.tt-site.tt-order-page #cover > .container {
  background: var(--tt-ui-surface) !important;
  border: 1px solid var(--tt-ui-line);
  border-radius: var(--tt-ui-radius-lg);
  box-shadow: var(--tt-ui-shadow);
  margin-top: 2rem;
  max-width: 1100px;
  padding: clamp(1.25rem, 4vw, 3rem) !important;
}

body.tt-site.tt-openmic-page .jumbotron {
  border-radius: 0 0 var(--tt-ui-radius-lg) var(--tt-ui-radius-lg);
  min-height: min(480px, 60svh) !important;
}

body.tt-site.tt-openmic-page .contact-section {
  background: var(--tt-ui-surface-muted) !important;
}

/* Events and catering */
body.tt-site.tt-events-page .hero-section,
body.tt-site.tt-catering-page .hero-section {
  height: clamp(520px, 70svh, 720px);
  min-height: clamp(520px, 70svh, 720px);
}

body.tt-site.tt-events-page .hero-section h1,
body.tt-site.tt-catering-page .hero-section h1 {
  color: #fff;
  font-size: clamp(2.8rem, 7vw, 5.5rem);
  line-height: .98;
}

body.tt-site.tt-events-page .hero-section .lead,
body.tt-site.tt-catering-page .hero-section .lead {
  color: rgba(255, 255, 255, .9);
}

body.tt-site.tt-events-page .hero-overlay {
  background: transparent;
}

body.tt-site.tt-events-page .tt-event-hero .hero-bg,
body.tt-site.tt-venue-page .tt-venue-hero .hero-bg {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

body.tt-site.tt-venue-page .tt-venue-hero {
  height: clamp(520px, 70svh, 660px);
  min-height: clamp(520px, 70svh, 660px);
  overflow: hidden;
}

body.tt-site.tt-venue-page .tt-venue-hero .hero-overlay {
  background: linear-gradient(90deg, rgba(13, 3, 66, .8), rgba(13, 3, 66, .42) 60%, rgba(13, 3, 66, .2));
  inset: 0;
  position: absolute;
}

/* Let naturally dark venue photos carry their own contrast. The bright dining
 * room photo gets a light neutral shade instead of a green colour cast. */
body.tt-site.tt-venue-page .tt-venue-hero img[src*="eventHero.jpeg"] + .hero-overlay {
  background: transparent !important;
}

body.tt-site.tt-venue-page .tt-venue-hero img[src*="frontSpace3.jpg"] + .hero-overlay {
  background: linear-gradient(90deg, rgba(0, 0, 0, .46), rgba(0, 0, 0, .18) 60%, rgba(0, 0, 0, .06)) !important;
}

body.tt-site.tt-venue-page .tt-venue-hero h1,
body.tt-site.tt-venue-page .tt-venue-hero p {
  color: #fff;
}

body.tt-site.tt-night-section,
body.tt-site .tt-night-section {
  background: var(--tt-ui-night) !important;
}

body.tt-site.tt-events-page #spaces,
body.tt-site.tt-catering-page section {
  scroll-margin-top: 5rem;
}

body.tt-site.tt-events-page #spaces .card,
body.tt-site.tt-events-page #cateringOptions .card,
body.tt-site.tt-events-page .review-card {
  border-radius: var(--tt-ui-radius) !important;
  box-shadow: var(--tt-ui-shadow-soft) !important;
}

body.tt-site.tt-events-page #cateringOptions {
  background: var(--tt-ui-brand) !important;
}

body.tt-site.tt-events-page #cateringOptions > .container > h2,
body.tt-site.tt-events-page #amenitiesHighlights h2,
body.tt-site.tt-events-page #event > .container > h2 {
  color: #fff !important;
}

body.tt-site.tt-events-page #amenitiesHighlights .text-green {
  color: var(--tt-ui-accent) !important;
}

body.tt-site.tt-events-page #event {
  background: linear-gradient(135deg, var(--tt-ui-brand-dark), var(--tt-ui-night)) !important;
}

body.tt-site.tt-events-page #event > .container > .lead,
body.tt-site.tt-events-page #event #formResponse {
  color: rgba(255, 255, 255, .88) !important;
}

body.tt-site.tt-events-page .pricing-card.bg-green h1,
body.tt-site.tt-events-page .pricing-card.bg-green h2,
body.tt-site.tt-events-page .pricing-card.bg-green h3,
body.tt-site.tt-events-page .pricing-card.bg-green h4,
body.tt-site.tt-events-page .pricing-card.bg-green h5,
body.tt-site.tt-events-page .pricing-card.bg-green h6 {
  color: #fff !important;
}

body.tt-site.tt-events-page #amenitiesHighlights .list-group-item {
  background: transparent;
  border-color: rgba(255, 255, 255, .16);
  color: #fff;
}

body.tt-site.tt-catering-page .eyebrow {
  color: var(--tt-ui-accent);
}

body.tt-site.tt-catering-page .hero-section::after {
  background: linear-gradient(90deg, rgba(3, 7, 18, .66), rgba(3, 7, 18, .28) 58%, rgba(3, 7, 18, .08)) !important;
}

body.tt-site.tt-catering-page .card-lite,
body.tt-site.tt-catering-page .package-card,
body.tt-site.tt-catering-page .estimate-box,
body.tt-site.tt-catering-page .quote-panel {
  border-radius: var(--tt-ui-radius) !important;
}

body.tt-site.tt-catering-page .package-card:hover,
body.tt-site.tt-catering-page .package-card.active {
  border-color: rgba(243, 132, 18, .55);
  box-shadow: var(--tt-ui-shadow);
}

body.tt-site.tt-catering-page .quote-wrap {
  background: var(--tt-ui-brand) !important;
}

body.tt-site.tt-catering-page .quote-progress-step.active,
body.tt-site.tt-catering-page .quote-progress-step.complete {
  border-color: var(--tt-ui-accent);
}

body.tt-site.tt-catering-page #cateringInquiry > .container > .row > .col-lg-5 h2,
body.tt-site.tt-catering-page #cateringInquiry > .container > .row > .col-lg-5 .lead {
  color: #fff !important;
}

body.tt-site.tt-catering-page #cateringInquiry form .form-label {
  color: #fff !important;
}

body.tt-site.tt-catering-page .package-label {
  background: #fff0df;
  border-color: rgba(243, 132, 18, .3);
  color: var(--tt-ui-accent-dark);
}

body.tt-site.tt-events-page .star-rating {
  color: var(--tt-ui-accent);
}

body.tt-site.tt-events-page .pricing-card {
  border-top-color: var(--tt-ui-accent) !important;
}

body.tt-site.tt-events-page .pricing-card.featured {
  border-top-color: var(--tt-ui-sun) !important;
}

body.tt-site.tt-venue-page .card.bg-green > .card-body > h2,
body.tt-site.tt-venue-page .card-header.bg-green h1,
body.tt-site.tt-venue-page .card-header.bg-green h2,
body.tt-site.tt-venue-page .card-header.bg-green h3,
body.tt-site.tt-venue-page .card-header.bg-green h4,
body.tt-site.tt-venue-page #event.bg-green > .container > h2 {
  color: #fff !important;
}

body.tt-site.tt-catering-page .section-pad.bg-green > .container h1,
body.tt-site.tt-catering-page .section-pad.bg-green > .container h2,
body.tt-site.tt-catering-page .section-pad.bg-green > .container h3 {
  color: #fff !important;
}

/* Consistent public footer/contact section. */
body.tt-site .tt-site-footer,
body.tt-site #about {
  background: var(--tt-ui-brand) !important;
  border-top: 4px solid var(--tt-ui-accent);
  color: #fff;
  margin-top: 0;
}

body.tt-site .tt-site-footer p,
body.tt-site #about p,
body.tt-site .tt-site-footer h1,
body.tt-site .tt-site-footer h2,
body.tt-site .tt-site-footer h3,
body.tt-site .tt-site-footer h4,
body.tt-site #about h1,
body.tt-site #about h2,
body.tt-site #about h3,
body.tt-site #about h4 {
  color: #fff;
}

body.tt-site .tt-site-footer a,
body.tt-site #about a {
  color: #fff;
}

body.tt-site .tt-site-footer iframe,
body.tt-site #about iframe {
  border: 0;
  display: block;
  max-width: 100%;
}

body.tt-site .tt-generated-footer {
  padding: 3rem 0;
}

body.tt-site .tt-generated-footer .tt-footer-grid {
  align-items: center;
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr auto;
}

body.tt-site .tt-generated-footer .tt-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
}

body.tt-site .tt-generated-footer .tt-footer-links a {
  font-weight: 700;
  text-decoration: none;
}

/* Responsive behavior */
@media (max-width: 767.98px) {
  body.tt-site .tt-site-nav {
    min-height: 4rem;
  }

  body.tt-site .tt-site-nav .container {
    flex-wrap: wrap;
  }

  body.tt-site .tt-site-nav .navbar-brand {
    flex: 1 1 auto;
    order: 1;
  }

  body.tt-site .tt-site-nav .tt-nav-toggle {
    display: inline-flex;
    order: 2;
  }

  body.tt-site .tt-site-nav .tt-nav-menu {
    background: var(--tt-ui-brand-dark);
    border-top: 1px solid rgba(255, 255, 255, .12);
    display: none !important;
    flex-basis: 100%;
    margin: .5rem -0.75rem -0.5rem;
    order: 3;
    padding: .5rem .75rem .75rem;
  }

  body.tt-site .tt-site-nav .tt-nav-menu.is-open {
    display: block !important;
  }

  body.tt-site .tt-site-nav .tt-nav-list {
    align-items: stretch;
    display: grid;
    gap: .2rem;
  }

  body.tt-site .tt-site-nav .tt-nav-link,
  body.tt-site .tt-site-nav .tt-nav-cta {
    justify-content: center;
    min-height: 2.8rem;
    width: 100%;
  }

  body.tt-site.tt-home #cover {
    min-height: 720px;
  }

  body.tt-site.tt-home #cover > .container {
    padding-top: 6rem;
  }

  body.tt-site.tt-home #logo {
    max-height: 12rem;
  }

  body.tt-site.tt-home .tt-hero-meta {
    border-top: 0;
    margin-top: .5rem;
    padding-top: 0;
  }

  body.tt-site.tt-menu-page #cover > .container {
    border-radius: 0 !important;
    margin-top: 0;
  }

  body.tt-site.tt-menu-page #iframe-container,
  body.tt-site.tt-menu-page #iframe-container iframe {
    min-height: calc(100svh - 4rem);
  }

  body.tt-site .tt-generated-footer .tt-footer-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.tt-site *,
  body.tt-site *::before,
  body.tt-site *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
