:root {
  --bg:#f6f7fb;
  --card:#ffffff;
  --muted:#8b90a0;
  --accent:#ff6b6b; /* warm accent */
  --accent-2:#0ea5a3; /* teal */
  --glass: rgba(255,255,255,0.6);
  --radius:14px;
  --shadow: 0 6px 18px rgba(16,24,40,0.08);
  font-family: 'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial;
}

* { box-sizing:border-box }
html,body { height:100% }
body {
  margin:0;
  background:linear-gradient(180deg,#f6f7fb 0%, #eef2f7 100%);
  color:#0f172a;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-size:15px;
  line-height:1.35;
}

/* Wrapper */
.app {
  max-width:1100px;
  margin:18px auto;
  padding:18px;
}

/* Top bar */
.topbar {
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}
.location {
  display:flex;
  align-items:center;
  gap:10px;
  background:var(--card);
  padding:10px 12px;
  border-radius:12px;
  box-shadow:var(--shadow);
  min-width:180px;
}
.location .dot {
  width:10px;height:10px;border-radius:50%;background:var(--accent-2)
}
.search {
  flex:1;
  display:flex;
  align-items:center;
  background:linear-gradient(180deg,var(--glass),#fff);
  padding:8px 12px;
  border-radius:12px;
  box-shadow:var(--shadow);
}
.search input {
  border:0;
  outline:none;
  background:transparent;
  font-size:15px;
  flex:1
}
.icon-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px;
  border-radius:10px;
  background:var(--card);
  box-shadow:var(--shadow);
  cursor:pointer
}

/* Hero Carousel */
.carousel { margin:12px 0 18px; display:grid; grid-template-columns:1fr }
.hero {
  background:linear-gradient(90deg, rgba(255,107,107,0.12), rgba(14,165,163,0.06));
  border-radius:var(--radius);
  padding:18px;
  display:flex;
  gap:16px;
  align-items:center;
  box-shadow:var(--shadow);
}
.hero .left { flex:1 }
.hero h2 { margin:0 0 6px; font-size:20px }
.hero p { margin:0; color:var(--muted) }
.hero .cta { margin-top:12px; display:inline-flex; gap:8px }
.btn { padding:10px 14px; border-radius:12px; border:0; cursor:pointer; font-weight:600 }
.btn-primary { background:linear-gradient(90deg,var(--accent),#ff8b6b); color:#fff }
.btn-ghost { background:transparent; border:1px solid #eef2f5; color:var(--accent) }

/* Categories */
.categories {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
  margin-bottom:18px
}
.category {
  background:var(--card);
  padding:12px;
  border-radius:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:var(--shadow);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s
}
.category:hover { transform:translateY(-6px) }
.category i {
  font-size:20px;
  padding:10px;
  border-radius:10px;
  background:linear-gradient(180deg,#fff,#fff)
}
.cat-label { font-weight:600; font-size:13px }

/* Horizontal scrollers */
.h-scroll {
  display:flex;
  gap:12px;
  overflow:auto;
  padding-bottom:6px
}
.card {
  min-width:220px;
  background:var(--card);
  border-radius:14px;
  padding:12px;
  box-shadow:var(--shadow);
  flex:0 0 auto
}
.card img {
  width:100%;
  height:120px;
  object-fit:cover;
  border-radius:10px;
  margin-bottom:10px
}
.card .meta {
  display:flex;
  justify-content:space-between;
  align-items:center
}
.muted { color:var(--muted); font-size:13px }

/* Malayali Corner */
.malayali-banner img {
  width:100%;
  border-radius:12px;
  object-fit:cover;
  transition:transform .3s
}
.malayali-banner:hover img { transform:scale(1.03) }

/* Bottom nav */
.bottom-nav {
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:18px;
  width:min(720px,95%);
  display:flex;
  justify-content:space-between;
  background:rgba(255,255,255,0.95);
  padding:10px;
  border-radius:18px;
  box-shadow:0 12px 40px rgba(15,23,42,0.12);
  z-index:40
}
.nav-item {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  color:#64748b;
  font-size:13px;
  padding:8px 12px;
  border-radius:10px
}
.nav-item.active {
  background:linear-gradient(90deg,#fff,#fff);
  color:var(--accent)
}

/* Responsive */
@media (max-width:900px) {
  .categories { grid-template-columns:repeat(4,1fr) }
  .card { min-width:200px }
}
@media (max-width:640px) {
  .app { padding:12px; margin:10px auto }
  .categories { grid-template-columns:repeat(3,1fr) }
  .hero { flex-direction:column; align-items:flex-start }
  .bottom-nav { width:96% }
}

/* Scrollbar */
.h-scroll::-webkit-scrollbar { height:8px }
.h-scroll::-webkit-scrollbar-thumb { background:rgba(10,10,10,0.06); border-radius:20px }

/* Hero Carousel */
#heroCarousel .carousel-inner {
    padding: 0;
}

#heroCarousel .hero {
    display: flex;
    align-items: center;
    gap: 1rem;
}

#heroCarousel .left h2 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

#heroCarousel .left p.muted {
    font-size: 0.95rem;
    color: #6c757d;
}

#heroCarousel .cta .btn {
    font-size: 0.9rem;
    border-radius: 6px;
}

/* Responsive stacking on mobile */
@media(max-width:768px){
    #heroCarousel .hero {
        flex-direction: column;
        text-align: center;
    }
    #heroCarousel .right {
        width: 100%;
        max-width: 100%;
        margin-top: 1rem;
    }
}
