/* Birdie's Tenders and Burgers Co. - brand colors #ac1f25 / #fcfaee */
:root {
  --red: #ac1f25;
  --cream: #fcfaee;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  background: var(--cream);
  color: var(--red);
  font-family: 'Nunito Sans', 'Segoe UI', sans-serif;
  line-height: 1.5;
}

h1, h2, h3, .btn, nav a { font-family: 'Passion One', Impact, sans-serif; }

/* ---------- Nav ---------- */
header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--cream);
  border-bottom: 3px solid var(--red);
}
.nav-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.nav-logo img { height: 44px; display: block; }
nav { display: flex; gap: 28px; }
nav a {
  color: var(--red);
  text-decoration: none;
  font-size: 1.35rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
nav a:hover, nav a.active { border-bottom: 3px solid var(--red); }

/* ---------- Hero ---------- */
.hero {
  text-align: center;
  padding: 60px 20px 40px;
  max-width: 800px;
  margin: 0 auto;
}
.hero img.mark {
  height: 130px;
  margin-bottom: 10px;
  animation: bob 3s ease-in-out infinite;
}
@keyframes bob {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-8px) rotate(2deg); }
}
@media (prefers-reduced-motion: reduce) {
  .hero img.mark, .ticker-track { animation: none; }
}
.hero img.wordmark { max-width: 480px; width: 90%; }
.hero p.tag {
  font-size: 1.3rem;
  margin: 24px auto 0;
  max-width: 560px;
}

.btn {
  display: inline-block;
  background: var(--red);
  color: var(--cream);
  text-decoration: none;
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 12px 34px;
  border-radius: 12px;
  margin-top: 28px;
  transition: transform 0.15s ease;
}
.btn:hover { transform: scale(1.05) rotate(-1deg); }
.btn.outline {
  background: transparent;
  color: var(--red);
  border: 3px solid var(--red);
}

/* ---------- Red band ---------- */
.band {
  background: var(--red);
  color: var(--cream);
  text-align: center;
  padding: 34px 20px;
}
.band h2 { font-size: 2rem; text-transform: uppercase; letter-spacing: 0.04em; }
.band p { max-width: 620px; margin: 8px auto 0; font-size: 1.1rem; }

/* ---------- Ticker band ---------- */
.ticker {
  background: var(--red);
  color: var(--cream);
  overflow: hidden;
  white-space: nowrap;
  padding: 10px 0;
  border-top: 3px solid var(--red);
  border-bottom: 3px solid var(--red);
}
.ticker-track {
  display: inline-block;
  animation: ticker 22s linear infinite;
}
.ticker span {
  font-family: 'Passion One', Impact, sans-serif;
  font-size: 1.3rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0 22px;
}
@keyframes ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ---------- Chicken parade ---------- */
.chicken-row {
  display: flex;
  justify-content: center;
  gap: 40px;
  padding: 34px 20px 40px;
}
.chicken-row img { height: 90px; }
.chicken-row img:nth-child(2) { transform: scaleX(-1); }
.chicken-row img:hover { animation: strut 0.5s ease-in-out; }
@keyframes strut {
  25% { transform: rotate(-8deg); }
  75% { transform: rotate(8deg); }
}
.chicken-row img:nth-child(2):hover { animation: strut-flip 0.5s ease-in-out; }
@keyframes strut-flip {
  25% { transform: scaleX(-1) rotate(-8deg); }
  75% { transform: scaleX(-1) rotate(8deg); }
}

/* ---------- Info cards (hours / address) ---------- */
.info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  max-width: 900px;
  margin: 44px auto;
  padding: 0 20px;
}
.card {
  border: 3px solid var(--red);
  border-radius: 16px;
  padding: 26px 28px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card:hover {
  transform: translateY(-4px);
  box-shadow: 6px 6px 0 rgba(172, 31, 37, 0.25);
}
.card h3 {
  font-size: 1.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 12px;
}
.card table { width: 100%; border-collapse: collapse; }
.card td { padding: 3px 0; font-size: 1.05rem; }
.card td:last-child { text-align: right; white-space: nowrap; }

/* ---------- Menu ---------- */
.menu-wrap {
  max-width: 1100px;
  margin: 40px auto 60px;
  padding: 0 20px;
  columns: 2;
  column-gap: 28px;
}
@media (max-width: 800px) { .menu-wrap { columns: 1; } }

.menu-section {
  break-inside: avoid;
  border: 3px solid var(--red);
  border-radius: 16px;
  padding: 24px 26px;
  margin-bottom: 28px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.menu-section:hover {
  transform: translateY(-4px) rotate(-0.4deg);
  box-shadow: 6px 6px 0 rgba(172, 31, 37, 0.25);
}
.star::before { content: '\2605  '; }
.menu-section.solid { background: var(--red); color: var(--cream); }
.menu-section h2 {
  font-size: 2rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}
.menu-section p.note { font-size: 0.95rem; margin-bottom: 14px; }
.item {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
}
.item strong { font-size: 1.1rem; }
.item .price { white-space: nowrap; font-weight: 700; }
.item-desc { font-size: 0.95rem; margin-top: 2px; }
.plain-list li { list-style: none; font-weight: 700; font-size: 1.05rem; padding: 3px 0; }
.allergy {
  text-align: center;
  font-size: 0.95rem;
  padding: 0 20px 50px;
}

/* ---------- Location ---------- */
.map-frame {
  max-width: 900px;
  margin: 0 auto 50px;
  padding: 0 20px;
}
.map-frame iframe {
  width: 100%;
  height: 380px;
  border: 3px solid var(--red);
  border-radius: 16px;
}

/* ---------- Careers ---------- */
.careers {
  max-width: 700px;
  margin: 50px auto;
  padding: 0 20px;
  text-align: center;
}
.careers h1 { font-size: 2.6rem; text-transform: uppercase; }
.careers p { font-size: 1.15rem; margin-top: 18px; }

/* ---------- Footer ---------- */
footer {
  background: var(--red);
  color: var(--cream);
  text-align: center;
  padding: 30px 20px;
  margin-top: 20px;
}
footer img { height: 70px; margin-bottom: 10px; }
footer p { font-size: 0.95rem; }

.page-title {
  text-align: center;
  font-size: 2.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 44px 20px 0;
}
