@font-face {
  font-family: Mexican;
  src: url("/stylesheets/lorem.ttf");
}
@font-face {
  font-family: Playfair;
  src: url("/stylesheets/Playfair.ttf");
}
@font-face {
  font-family: GlacialIndifference;
  src: url("/stylesheets/GlacialIndifference-Regular.otf");
}

/* ---- Theme tokens (added) ---- */
:root{
  --tt-green: #57774e;
  --tt-ink: #3a4652;
  --tt-ink-2: #2f3943;
  --tt-sand: #f3e3c0;
  --tt-amber: #f38412;   /* legacy orange kept */
  --tt-sun: #feda7d;     /* legacy yellow kept */
  --tt-deep: #0d0342;
}
.tt-soft-bg { background: rgba(243,227,192,.35); }

/* ---- Base ---- */
.glacial { font-family: GlacialIndifference !important; }
.playfair { font-family: Playfair !important; }
body { font-family: GlacialIndifference; }

.bg-teal { background-color: rgb(75, 209, 160); }
.roundedImg { border-radius: 2em; }
.menuImage { width: 100%; max-width: 100%; height: auto; }

#groupText {
  background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5));
  border-radius: 25px;
}

/* Parallax disabled for mobile perf */
#group {
  background: -moz-linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url("/images/eventSpace/eventHero.jpeg");
  background-image: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url("/images/eventSpace/eventHero.jpeg");
  position: relative;
  height: 750px;
  background-position: right bottom;
  background-size: cover;
  background-repeat: repeat;
}
#cover {
  background: -moz-linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url("/images/hero.jpg");
  background-image: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url("/images/hero.jpg");
  background-position: right bottom;
  background-size: cover;
  background-repeat: repeat;
}

#groupText2 { position: absolute; top: 50%; transform: translate(-50%, -50%); left: 50%; }
#patioText { position: absolute; z-index: 9999; left: 50%; top: 50%; transform: translate(-50%, -50%); }

#orderNow {
  background-image: url("/images/cover2.jpg");
  background-position: right bottom; background-size: cover; background-repeat: repeat;
}
#catering {
  background-image: url("/images/hero.jpg");
  background-position: right bottom; background-size: cover; background-repeat: repeat;
}

/* iframe container */
#iframe-container { overflow: hidden; }

.w50 { width: 50vw; }
.aspect169 { aspect-ratio: 16 / 9; width: 100%; }
.menu-pic { width: 100%; max-height: 200px; object-fit: cover; }

@media only screen and (max-width: 600px) {
  .w50 { width: auto; }
  #uniquePic { display: none !important; }
}

#groupTitle { color: hsla(30,90%,51%,1); -webkit-text-stroke-width: 2px; -webkit-text-stroke-color: white; }

/* Legacy gradients kept for older pages */
.bg-grad {
  background: hsla(43,98%,74%,1);
  background: radial-gradient(circle, hsla(43,98%,74%,1) 0%, hsla(30,90%,51%,1) 100%);
  background: -moz-radial-gradient(circle, hsla(43,98%,74%,1) 0%, hsla(30,90%,51%,1) 100%);
  background: -webkit-radial-gradient(circle, hsla(43,98%,74%,1) 0%, hsla(30,90%,51%,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FEDA7D", endColorstr="#F38412", GradientType=1);
}

/* Typography + Colours */
.text-outline { -webkit-text-stroke-width: 1px; -webkit-text-stroke-color: #7C5244; }

/* Reduce global overrides that conflict with Bootstrap semantics:
   keep old tokens but prefer using custom classes (bg-green, bg-darkaccent) on pages */
.text-primary { color: #9c4f20 !important; }
.text-light { color: #daa46d !important; }

/* Keep .bg-light for legacy sections but avoid using it as brand background on new UI */
.bg-light { background-color: #feda7d !important; }
.bg-dark { background-color: var(--tt-amber) !important; }

.bg-green { background-color: var(--tt-green); }
.bg-darkaccent { background-color: #7C5244; }

.btn-primary {
  background-color: #7388a0;
  border-color: #7388a0;
  font-size: 1em;
  font-family: GlacialIndifference !important;
  border-radius: .5rem;
}
.btn-primary:focus { box-shadow: 0 0 0 .25rem rgba(115,136,160,.3); }

.text-secondary { color: #766621 !important; }
.bg-secondary { background-color: #766621 !important; }

#logo { max-height: 60vh; }

.btn { font-family: 'Montserrat', sans-serif; }
.display-1, .display-2, .display-3 { font-family: Mexican; }
h1, h2, h3, h4, h5 { font-family: 'Montserrat', sans-serif; }

.font-theme { font-family: Mexican; }
.menu-desc { border-radius: 1rem; background-color: #feda7d !important; padding: .5em; margin-top: .5em; }
.menu-cat { text-decoration: underline; text-transform: uppercase; }
.menu-item { color: #BF3E1B; }
.variantText { font-weight: 400; font-size: 1.05em; }

/* Alert */
#alert {
  display: none; position: fixed; bottom: 10px; background-color: rgb(39,39,39); color: white;
  width: 50vw; border-radius: 2em; padding: 6px; text-align: center; left: 50%;
  transform: translateX(-50%);
}
#alert.show { transition: 1s; display: block; z-index: 99999; }

/* Animations */
@keyframes kenburns {
  0% { opacity: 0; }
  5% { opacity: 1; }
  95% { transform: scale3d(1.5,1.5,1.5) translate3d(-190px,-120px,0px); animation-timing-function: ease-in; opacity:1; }
  100% { transform: scale3d(2,2,2) translate3d(-170px,-100px,0px); opacity:0; }
}

.white-mode {
  text-decoration: none; padding: 7px 10px; background-color: #122; border-radius: 3px; color: #FFF;
  transition: .35s ease-in-out; position: absolute; left: 15px; bottom: 15px; font-family: "Montserrat";
}
.white-mode:hover { background-color: #FFF; color: #122; }

.glide__slide img:hover, #menu img:hover { animation: pulse; animation-duration: 2s; }
#orderNow img:hover, .buyItem:hover:not(.animate__animated, .buyItem i:hover) { animation: shakeY; animation-duration: 2s; }

.navbar-collapse.show { background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)); }
.calendar .event-bar { background-color: var(--tt-green); }
.table th { background-color: white; border: none; }

/* --- Catering page enhancements --- */
.package-card { border: 1px solid rgba(0,0,0,.08); border-radius: .75rem; }
.package-card.active { outline: 3px solid rgba(115,136,160,.45); }
.sticky-cta { box-shadow: 0 -2px 10px rgba(0,0,0,.06); }
.bg-deep { background-color: var(--tt-deep); }
.hidden { display: none !important; }
.addon-chip { font-size: .95rem; }
