/* Shared stylesheet for Travel with Manjunatha — supports the header/footer/
   sticky-cta/lead-form/FAQ markup that's duplicated inline across every page. */

*, *::before, *::after { box-sizing: border-box; }

img { max-width: 100%; }

/* ---- header: desktop nav / mobile menu ---- */
.desktop-nav { display: flex; }
.mobile-toggle { display: none; }
.mobile-menu { display: none; }
.mobile-menu.is-open { display: flex; }

.more-dropdown { display: none; }
.more-dropdown.is-open { display: flex; }
.more-dropdown a:hover { background: #F5F6FA; color: #16235C; }

@media (max-width: 959px) {
  .desktop-nav { display: none !important; }
  .mobile-toggle { display: flex !important; align-items: center; }
}

/* ---- image placeholder fallback (should not normally be visible — every known
   instance has a real photo — kept as a safety net) ---- */
.img-placeholder {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; background: #FBE0DE; color: #8890A0;
  font-family: 'IBM Plex Sans', sans-serif; font-size: 12px;
}

/* ---- FAQ accordion ---- */
.faq-item { border-bottom: 1px solid #E3E6EF; padding: 18px 0; }
.faq-question {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: none; border: none; padding: 0; margin: 0; text-align: left; cursor: pointer;
  font-family: 'Bitter', serif; font-size: 16px; font-weight: 700; color: #1F2430;
}
.faq-icon {
  flex: none; width: 24px; height: 24px; border-radius: 50%; background: #FBE0DE;
  color: #16235C; display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 700; line-height: 1;
}
.faq-item.is-open .faq-icon { background: #16235C; color: #FFFFFF; }
.faq-answer {
  display: none; margin: 12px 0 0; font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px; color: #5B6270; line-height: 1.6;
}
.faq-item.is-open .faq-answer { display: block; }

/* ---- sticky cta: mobile-safe-area padding ---- */
.sticky-cta { padding-bottom: env(safe-area-inset-bottom); }

/* ---- lead form: 16px inputs prevent iOS auto-zoom on focus ---- */
.lead-form input, .lead-form select, .lead-form button { font-size: 16px; }

/* ---- photo-overlay destination/post card (used on weekend-getaways.html,
   pilgrimage-tours.html, blog.html listing grids) ---- */
.dest-card {
  position: relative; display: block; border-radius: 14px; overflow: hidden;
  aspect-ratio: 4 / 5; transition: transform .25s ease, box-shadow .25s ease;
}
.dest-card:hover { transform: translateY(-6px); box-shadow: 0 16px 32px rgba(14,25,64,0.2); }
.dest-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dest-card .dest-scrim {
  position: absolute; left: 0; right: 0; bottom: 0; top: 40%;
  background: linear-gradient(to top, rgba(14,25,64,0.92) 0%, rgba(14,25,64,0.55) 60%, transparent 100%);
}
.dest-card .dest-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 16px; }
.dest-card .dest-title { font-family: 'Bitter', serif; font-weight: 700; color: #FFFFFF; margin-bottom: 3px; }
.dest-card .dest-meta { font-family: 'IBM Plex Sans', sans-serif; color: #E3E6EF; }

/* ---- fixed-ratio two-column sections: stack on mobile instead of squishing ---- */
@media (max-width: 768px) {
  .stack-mobile { grid-template-columns: 1fr !important; }
}
