/* Basic variables */
:root{
  --accent1: #FFD54F;   /* warm yellow */
--accent2: #E53935;   /* deep red */
--bg: #fffaf3;        /* light creamy background */
--muted:  #6d4c41;
--card-shadow: 0 8px 20px rgba(100, 50, 0, 0.1);

  --radius: 12px;
  --max-width: 1200px;
  --container-pad: 16px;
}

/* Reset and layout */
*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:var(--bg);
  color:#222;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
  margin:0;
}


.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--container-pad)}

/* Header */

    /* Header */
    .header {
      color: white;
      display: flex;
      position: fixed;
      top: 0;
      z-index: 2000;
      background: linear-gradient(90deg, var(--accent1), var(--accent2));
      width: 100%;
      height: 8%;
      padding: 20px 10px;
      justify-content: space-between;
      align-items: center;
    }

    .brand {
      font-size: 1.3rem;
      font-weight: bold;
    }

    /* Desktop nav */
    .nav {
      display: flex;
      gap: 150px;
    }

    .nav a {
      color: white;
      text-decoration: none;
      font-weight: 600;
      transition: color 0.3s;
    }

    .nav a:hover {
      color: #FFD54F;
    }

    /* Hamburger */
    .hamburger {
      font-size: 28px;
      cursor: pointer;
      display: none;
    }

    /* Mobile menu */
    .menu {
      position: fixed;
      top: 0;
      right: -250px; /* hidden initially */
      height: 100%;
      width: 250px;
      background: linear-gradient(90deg, var(--accent1), var(--accent2));
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 20px;
      transition: right 0.3s ease-in-out;
      z-index: 2000;
    }

    .menu a {
      color: white;
      font-size: 18px;
      text-decoration: none;
    }

    .menu.active {
      right: 0; /* slide in */
    }

    .close-btn {
      font-size: 30px;
      color: white;
      position: absolute;
      top: 20px;
      right: 20px;
      cursor: pointer;
    }

    /* Mobile styles */
    @media (max-width: 768px) {
      .nav {
        display: none;
      }
      .hamburger {
        display: block;
      }
    }

/* Hero */
.hero{
  display:flex;align-items:center;justify-content:center;
  min-height:320px;position:relative;
  background-image:url('https://images.unsplash.com/photo-1604908177520-472c65b0443a?auto=format&fit=crop&w=1600&q=80');
  background-size:cover;background-position:center;
  color:#9a4809;text-align:center;padding:40px 0;
}
.hero::after{
  content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(180deg, rgba(255, 193, 7, 0.35), rgba(244, 67, 54, 0.35));

}
.hero .hero-content{position:relative;z-index:2;max-width:900px}
.hero-title{font-size:2rem;margin-bottom:6px}
.hero-sub{opacity:0.95;margin-bottom:14px}
.hero-ctas .btn{margin:6px}

/* Buttons */
.btn{display:inline-block;padding:10px 16px;border-radius:22px;text-decoration:none;font-weight:700;cursor:pointer}
.btn-primary{background:linear-gradient(90deg,var(--accent1),var(--accent2));color:#fff;border:none;box-shadow:0 8px 18px rgba(0,0,0,0.12)}
.btn-outline{background:transparent;border:2px solid rgba(0,0,0,0.06);color:#222}
.btn-lg{padding:12px 22px}

/* Sections and cards */
.section-title{color:var(--accent2);text-align:center;font-size:1.35rem;margin-bottom:8px}
.animated-card{background:#FFF8E1;border-radius:var(--radius);padding:18px;margin:18px 0;box-shadow:var(--card-shadow);transition:transform .36s,box-shadow .36s}
.animated-card:hover{transform:translateY(-6px);box-shadow:0 18px 30px rgba(0,0,0,0.12)}

.reviews-home {
  text-align: center;
  margin: 40px auto;
  padding: 30px;
  background: #fff3e0;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.reviews-home h2 {
  color: #FF5722;
  margin-bottom: 10px;
}
.reviews-home p {
  margin-bottom: 20px;
  font-size: 1.1em;
}
.review-btn {
  display: inline-block;
  padding: 12px 25px;
  background: linear-gradient(90deg,#ff5722,#f57c00);
  color: #fff;
  border-radius: 25px;
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
}
.review-btn:hover {
  background: linear-gradient(90deg,#f57c00,#ff9800);
  transform: scale(1.05);
}


.features{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.feature{width:360px;text-align:center}
.feature .icon{font-size:28px;margin-bottom:10px}

/* Menu grid */
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.menu-card{overflow:hidden;border-radius:12px;background:#fff;box-shadow:var(--card-shadow);display:flex;flex-direction:column}
.menu-card img{width:100%;height:160px;object-fit:cover}
.menu-body{padding:14px;display:flex;flex-direction:column;gap:8px}
.menu-actions{display:flex;gap:8px;justify-content:space-between;align-items:center}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.gallery-item{background:#fff;border-radius:10px;overflow:hidden;cursor:pointer;box-shadow:var(--card-shadow);transition:transform .25s}
.gallery-item img{width:100%;height:160px;object-fit:cover;display:block}
.gallery-item:hover{transform:scale(1.03)}

/* Cart / checkout area (menu page) */
.cart-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:16px}
.cart-list{list-style:none;padding-left:0;margin-top:8px}
.cart-list li{padding:8px 0;border-bottom:1px dashed #eee}

/* Order form */
.order-form label{display:block;margin-bottom:6px;font-weight:600}
.order-form input, .order-form textarea, .order-form select{width:100%;padding:10px;border-radius:8px;border:1px solid #ddd;margin-bottom:12px}
.form-actions{display:flex;gap:10px;align-items:center}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-card{padding:14px;background:#fff;border-radius:10px;box-shadow:var(--card-shadow)}
.map-wrap iframe{border-radius:8px;display:block}
/* Responsive Grid for Contact Section */
@media (max-width: 768px) {
  .contact-grid {
    grid-template-columns: 1fr; /* Stack vertically on small screens */
  }

  .map-wrap iframe {
    width: 100%;      /* Responsive iframe */
    height: 250px;    /* Adjust height for mobile */
  }

  .contact-card {
    padding: 12px;
    margin-bottom: 10px;
  }

  .section-head {
    text-align: center;
  }
}

/* Optional: Slightly reduce padding on very small devices */
@media (max-width: 480px) {
  .contact-card {
    padding: 10px;
  }

  .section-title {
    font-size: 1.4rem;
  }

  .btn {
    width: 100%; /* Make buttons full-width */
    text-align: center;
  }
}

/* Footer */
.site-footer{padding:14px 0;background:#222;color:#ff5722;text-align:center;font-size:.9rem}

/* Floating WhatsApp button */
.whatsapp-float{position:fixed;right:18px;bottom:18px;background:#25d366;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 25px rgba(0,0,0,0.18);font-size:22px;z-index:2000;transition:transform .2s}
.whatsapp-float:hover{transform:scale(1.08)}

/* Lightbox */
.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,0.75);z-index:3000;padding:20px}
.lightbox img{max-width:90%;max-height:70vh;border-radius:10px;display:block;box-shadow:0 14px 40px rgba(0,0,0,0.5);margin-bottom:12px}
.lightbox-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:#fff;font-size:26px;cursor:pointer}
.lightbox #lightbox-caption{color:#fff;margin-bottom:12px}
.lightbox a.btn{display:inline-block}

/* Page transitions */
.page-fade-in{animation:fadeIn .45s ease both}
.page-fade-out{animation:fadeOut .35s ease both}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes fadeOut{from{opacity:1}to{opacity:0;transform:translateY(6px)}}

/* Responsive */
@media (max-width:900px){
  .header-inner{flex-direction:column;gap:8px}
  .contact-grid{grid-template-columns:1fr}
  .cart-row{flex-direction:column}
}
@media (max-width:480px){
  .hero{min-height:220px}
  .hero-title{font-size:1.4rem}
  .menu-card img{height:140px}
}
/* Expanded container for wider content */
.container {
  max-width: 1200px;  /* increased from default 960px or 1000px */
  margin: 0 auto;
  padding: 0 54px;     /* slightly more padding for spacing */
}



/* Make animated cards on home page larger */
.animated-card {
  padding: 28px;                 /* more padding inside the card */
  font-size: 1.05rem;            /* slightly bigger text */
  width: 100%;                   /* make sure it spans full width of container */
}

/* Page fade-in */
.page-fade-in {
  animation: fadeIn 0.8s ease-in-out;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Card entry animation */
.animated-card {
  opacity: 0;
  transform: translateY(20px);
  animation: slideUp 0.8s ease-out forwards;
}
@keyframes slideUp {
  to { opacity: 1; transform: translateY(0); }
}

/* Slide-in from left and right */
.slide-in-left {
  opacity: 0;
  transform: translateX(-30px);
  animation: slideLeft 0.8s ease-out forwards;
}
@keyframes slideLeft {
  to { opacity: 1; transform: translateX(0); }
}
.slide-in-right {
  opacity: 0;
  transform: translateX(30px);
  animation: slideRight 0.8s ease-out forwards;
}
@keyframes slideRight {
  to { opacity: 1; transform: translateX(0); }
}

/* Button hover animations */
.btn {
  transition: all 0.3s ease;
}
.btn:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 15px rgba(0,0,0,0.15);
}

/* Navigation hover underline animation */
.nav-link {
  position: relative;
  transition: color 0.3s ease;
}
.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0%;
  height: 2px;
  background: currentColor;
  transition: width 0.3s ease;
}
.nav-link:hover::after {
  width: 100%;
}

/* Input focus glow */
input, textarea, select {
  transition: all 0.3s ease;
}
input:focus, textarea:focus, select:focus {
  box-shadow: 0 0 8px rgba(255, 100, 50, 0.5);
  border-color: #ff6432;
}


