* { box-sizing: border-box; }
body { font-family: 'Lato', sans-serif; background-color: #f6f3ed; color: #2d2d2d; }
html { scroll-behavior: smooth; }

/* Carousel */
.hero-slide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transition: opacity 1.2s ease-in-out;
}
.hero-slide.active { opacity: 1; }
.hero-slide:not(.active) { opacity: 0; }
.hero-dot { transition: background-color .3s, transform .3s, width .3s; }
.hero-dot.active { background-color: rgba(246,243,237,.95); transform: scale(1.1); width: 22px; border-radius: 6px; }

/* Hamburger */
#mobile-menu { display: none; }
#mobile-menu.open { display: block; }

/* Fade in on scroll */
.fade-in { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }

/* Nav link hover underline */
.nav-link { position: relative; padding-bottom: 2px; }
.nav-link::after {
  content: ''; position: absolute; bottom: -1px; left: 0; right: 0;
  height: 1.5px; background-color: #ae6c5d;
  transform: scaleX(0); transition: transform 0.25s ease; transform-origin: left;
}
.nav-link:hover::after { transform: scaleX(1); }

/* Recipe card */
.recipe-card { transition: transform 0.4s ease, box-shadow 0.4s ease; }
.recipe-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(174,108,93,0.14) !important; }
.recipe-card .card-img { transition: transform 0.7s ease; }
.recipe-card:hover .card-img { transform: scale(1.08); }
.recipe-card .card-overlay { opacity: 0; transition: opacity 0.4s ease; }
.recipe-card:hover .card-overlay { opacity: 1; }

/* Scroll indicator */
@keyframes scrollDot {
  0%, 100% { transform: translateY(0); opacity: 0.7; }
  50% { transform: translateY(9px); opacity: 0.15; }
}
.scroll-dot { animation: scrollDot 2.2s ease-in-out infinite; }

/* Wave divider */
.wave { overflow: hidden; line-height: 0; display: block; }
.wave svg { display: block; width: 100%; }
