/* ═══════════════════════════════════════════
   MILLER'S FAMILY RESTAURANT — CUSTOM STYLES
   ═══════════════════════════════════════════ */

/* ── Base ── */
html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
}

/* ── Navbar ── */
#navbar {
  background: transparent;
  transition: background 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease;
}

#navbar.scrolled {
  background: rgba(255, 254, 248, 0.97);
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 20px rgba(6, 79, 70, 0.08);
  padding-top: 0;
  padding-bottom: 0;
}

#navbar.scrolled a:not([class*="bg-"]) {
  color: #065f46;
}

/* ── Floating card animations ── */
@keyframes floatA {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-14px) rotate(0.5deg); }
}

@keyframes floatB {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(-0.5deg); }
}

@keyframes floatC {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-12px) rotate(0.3deg); }
}

.floating-card {
  animation-duration: 4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.card-top { animation-name: floatA; }
.card-mid { animation-name: floatB; animation-delay: -1.3s; }
.card-bot { animation-name: floatC; animation-delay: -2.6s; }

/* ── Menu tabs ── */
.menu-tab {
  background: transparent;
  color: #047857;
  border: 2px solid #d1fae5;
  cursor: pointer;
  transition: all 0.25s ease;
}

.menu-tab:hover {
  border-color: #10b981;
  background: #ecfdf5;
}

.menu-tab.active {
  background: #065f46;
  color: #fffef8;
  border-color: #065f46;
  box-shadow: 0 4px 14px rgba(6, 79, 70, 0.3);
}

/* ── Menu cards ── */
.menu-card {
  background: #fffef8;
  border: 1px solid #d1fae5;
  border-radius: 1.25rem;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.menu-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(6, 79, 70, 0.12);
}

.menu-card-img {
  height: 200px;
  overflow: hidden;
}

.menu-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.menu-card:hover .menu-card-img img {
  transform: scale(1.06);
}

/* ── Scroll reveal ── */
.reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Default state for reduced motion — always visible */
@media (prefers-reduced-motion: no-preference) {
  .reveal {
    opacity: 0;
    transform: translateY(30px);
  }
  .reveal.revealed {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Mobile menu ── */
.mobile-link {
  display: block;
  padding: 0.5rem 0;
  border-bottom: 1px solid #d1fae5;
  transition: color 0.2s;
}

.mobile-link:last-child {
  border-bottom: none;
}

/* ── Utility ── */
.section-label {
  letter-spacing: 0.12em;
}

/* ── Form ── */
input, textarea {
  transition: border-color 0.2s, box-shadow 0.2s;
}

input:focus, textarea:focus {
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
  outline: none;
}

/* ── Success message ── */
.form-success {
  animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
