body {
  margin: 0;
  font-family: 'Poppins', sans-serif;
  background: #fff8f0;
}

button {
  border: none;
}

/* CONTAINER (IMPORTANT) */
section {
  max-width: 1200px;
  margin: auto;
  padding: 30px 30px 60px 30px;
}

/* TOPBAR */
.topbar {
  background: #32418a;
  text-align: center;
  padding: 6px;
}

.topbar a {
  color: white;
  margin: 5px;
  font-size: 13px;
  text-decoration: none;
  border-radius: 4px;
}

/* NAVBAR */
.navbar {
  display: flex;
  align-items: center;
  padding: 15px 20px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  position: sticky;
  top: 0;
  background: white; /* whiteness */
  z-index: 1000;
}

/* Desktop layout */
.logo {
  flex: 1; /* IMPORTANT */
  display: flex;
  align-items: center;
  gap: 8px;
}
.logo a {
  font-size: 16px;
  font-weight: 600;
  color: #0d3b66;
  text-decoration: none;
}
.logo img {
  display: block;
}

.nav-links {
  flex: 2;
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav-buttons {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  gap: 5px;
}

.nav-links a {
  margin: 0 10px;
  text-decoration: none;
  color: #333;
  font-size: 14px;
}

.nav-links a:hover {
  color: #ff7a00;
}

/* MOBILE MENU */
.menu-toggle {
  display: none;
  font-size: 22px;
  cursor: pointer;
}

/* HERO */
.hero {
  position: relative;
  overflow: hidden;
  color: white;
  text-align: center;
  padding: 100px 20px;
  border-radius: 0 0 30px 30px;
}

/* Animated layers */
.hero {
  position: relative;
  overflow: hidden;
  color: white;
  text-align: center;
  padding: 100px 20px;
  border-radius: 0 0 30px 30px;

  background: url('/images/solar1.gif') center/cover no-repeat;
}

/* Keep content above animation */
.hero-content {
  position: relative;
  z-index: 2;
}

/* Animation */
@keyframes slide {
  0% {
    transform: translateX(-25%);
  }
  100% {
    transform: translateX(25%);
  }
}

.hero h1 {
  font-size: 40px;
}

.hero p {
  font-size: 18px;
}

.hero-buttons {
  margin-top: 30px;
}

/* BUTTONS */
.btn {
  padding: 10px 20px;
  border-radius: 15px;
  text-decoration: none;
  font-size: 14px;
  margin: 5px;
}

.chat-btn {
  background: #ff7a00;
  color: white;
}

.call-btn {
  background: #32418a;
  color: white;
}

.readMore-btn {
  background: #32418a;
  color: white;
  margin: 10px 5px 10px 5px;
}

/* SERVICES */
.services h2 {
  text-align: center;
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
}

.card {
  background: white;
  padding: 25px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  transition: 0.3s;
}

.card i {
  font-size: 25px;
  color: #ff7a00;
}

.card:hover {
  transform: translateY(-5px);
}

/* HOROSCOPE */
.horoscope {
  background: white;
  border-radius: 20px;
}

.rashi-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* 6 per row */
  gap: 12px;
}

.rashi-card {
  background: #f4f6f8;
  padding: 8px 6px;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  color: #333;
  font-size: 14px;
  transition: 0.3s;

  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 40px; /* keeps uniform height */
}

.rashi-card h3 {
  font-size: 12px;
  margin: 0;
  word-break: break-word; /* KEY FIX */
  line-height: 1.2;
}

.rashi-card:hover {
  background: #32418a;
  color: white;
}

/* WRAPPER */
.horoscope-wrapper {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
  max-width: 1200px;
  margin: auto;
  padding: 30px;
}

/* BOXES */
.horoscope-box,
.panchang-box {
  background: white;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

/* Rashi Content */
.rashi-content {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #eee;

  display: flex;
  flex-direction: column;
  justify-content: space-between; /* KEY FIX */

  min-height: 220px; /* increase a bit for better spacing */
}

.rashi-top {
  margin-top: 5px; /* little space from top */
  padding: 5px 0 15px 0;
}

/* text */
.rashi-content p {
  margin: 0;
  color: #444;
  line-height: 1.6;
}

/* lucky section */
.rashi-content .lucky-box {
  margin-top: 10px;
}

/* button */
.rashi-content .btn {
  margin-top: 10px;
  align-self: flex-start;
}

.rashi-content {
  animation: fadeIn 0.3s ease;
}

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

/* PANCHANG */
.panchang-box h2 {
  color: #32418a;
  margin-bottom: 10px;
}

.panchang-location {
  font-size: 14px;
  color: #666;
  margin-bottom: 15px;
}

.panchang-section {
  border-top: 1px solid #eee;
  padding-top: 10px;
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.6;
}

.panchang-btn {
  display: inline-block;
  margin-top: 15px;
  font-size: 13px;
}

/* ARTICLES */
.article-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}

.article-card {
  background: white;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.article-card a {
  display: inline-block;
}

.article-card p {
  font-size: 14px;
  color: #555;
  line-height: 1.5;
}

/* CTA */
.cta {
  text-align: center;
  background: url('/images/spacebg.gif') center/cover no-repeat;
  color: white;
  border-radius: 30px 30px 0 0;
}

/* FOOTER */
footer {
  text-align: center;
  padding: 20px;
  background: #020217;
  color: white;
}

/* RASHI PAGE */
.rashi-page {
  max-width: 900px;
  margin: auto;
  padding: 40px 20px;
}

/* Header */
.rashi-header {
  text-align: center;
  margin-bottom: 30px;
}

.rashi-header h1 {
  color: #0d3b66;
  margin-bottom: 5px;
}

.rashi-header .date {
  color: #666;
  font-size: 14px;
}

/* Sections */
.rashi-section {
  margin-bottom: 30px;
}

.rashi-section h2 {
  color: #32418a;
  margin-bottom: 10px;
}

/* Card */
.rashi-card-box {
  background: white;
  padding: 20px;
  border-radius: 12px;
  line-height: 1.7;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  border-left: 4px solid #ff7a00;
}

.rashi-card.active {
  background: #32418a;
  color: white;
  font-weight: 600;
}

/* LUCKY INFO */
.lucky-box {
  margin-top: 15px;
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  font-size: 14px;
}

/* YEAR GRID */
.year-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}

.year-card {
  background: white;
  padding: 15px;
  border-radius: 10px;
  border-left: 4px solid #32418a;
  box-shadow: 0 3px 10px rgba(0,0,0,0.05);
}

/* SHARE */
.share-section {
  text-align: center;
  margin-top: 30px;
}

/* ARTICLE PAGE */
.article-page {
  max-width: 1200px;
  margin: auto;
  padding: 40px 20px;
}

.article-title {
  font-size: 32px;
  color: #0d3b66;
  margin-bottom: 10px;
}

.article-date {
  color: #888;
  font-size: 14px;
  margin-bottom: 20px;
}

/* cover image */
.article-cover {
  width: 100%;
  border-radius: 12px;
  margin-bottom: 25px;
}

/* CONTENT */
.article-content {
  font-size: 17px;
  line-height: 1.9;
  color: #333;
  margin-bottom: 40px;
}

/* headings */
.article-content h1,
.article-content h2,
.article-content h3 {
  margin-top: 25px;
  color: #32418a;
}

/* paragraphs */
.article-content p {
  margin-bottom: 15px;
}

/* lists */
.article-content ul {
  margin-left: 20px;
  margin-bottom: 15px;
}

/* links */
.article-content a {
  color: #ff7a00;
  text-decoration: none;
}

/* inline images */
.article-content img {
  max-width: 100%;
  border-radius: 10px;
  margin: 20px 0;
}


/* ADMIN PAGE */
.admin-page {
  max-width: 900px;
  margin: auto;
  padding: 40px 20px;
}

.admin-list {
  margin-top: 20px;
  display: grid;
  gap: 15px;
}

.admin-card {
  background: white;
  padding: 15px;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.05);

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.admin-actions .btn {
  margin-left: 5px;
  font-size: 13px;
}

.delete-btn {
  background: red;
  color: white;
}

/* FORM */
.admin-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 20px;
}

.admin-form input,
.admin-form textarea {
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #ddd;
  font-family: inherit;
}

.admin-form textarea {
  resize: vertical;
}

.article-img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 10px;
  margin-bottom: 10px;
}

.article-full-img {
  width: 100%;
  border-radius: 10px;
  margin-bottom: 20px;
}

/* ARTICLE CARD WRAPPER */
.article-card-container {
  background: white;
  padding: 25px;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  margin-bottom: 30px;
}

/* ACTIONS */
.article-actions {
  margin: 15px 0 10px 0;
}

/* COMMENT CARD */
.comment-card {
  background: white;
  padding: 20px;
  border-radius: 15px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.06);
}

/* COMMENT FORM */
.comment-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 10px;
}

.comment-form input,
.comment-form textarea {
  padding: 10px;
  border-radius: 8px;
  border: 1px solid #ddd;
  font-family: inherit;
}

.comment-form textarea {
  resize: vertical;
}


/* MOBILE */
@media(max-width:1150px){

  .topbar {
    display: grid;
    grid-template-columns: repeat(6, 1fr); /* 6 per row */
    gap: 5px;
    text-align: center;
    padding: 6px 12px;
  }

  .topbar a {
    margin: 0;
    font-size: 12px;
    padding: 4px 0;
    background: rgba(255,255,255,0.01);
  }

  /* Hamburger - extreme right */
  .menu-toggle {
    display: block;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
  }


  /* Buttons - just left of hamburger */
  .nav-buttons {
    position: absolute;
    right: 55px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 5px;
  }

  /* Make buttons smaller */
  .btn {
    padding: 8px 16px;
    font-size: 13px;
    margin: 0 4px;
  }

  /* Dropdown menu */
  .nav-links {
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    background: white;
    flex-direction: column;
    display: none;
  }

  .nav-links.active {
    display: flex;
  }

  .nav-links a {
    padding: 15px;
    border-bottom: 1px solid #eee;
    text-align: center;
  }

  section {
    margin-left: 12px;
    margin-right: 12px;
  }

  .hero h1 {
    font-size: 28px;
  }

  .rashi-grid {
    grid-template-columns: repeat(3, 1fr); /* 3 per row */
  }

  .year-grid {
    grid-template-columns: 1fr;
  }

  .horoscope-wrapper {
    grid-template-columns: 1fr;
  }
}