/* SAVE Impact – layout fixes (loaded after the main app CSS) */

/* ---- Home hero: full-bleed, edge to edge ---- */
.hero-section { padding: 0; overflow: hidden; }
.hero-section .hero-grid.page-container {
  width: 100%; max-width: none; margin: 0; gap: 0;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}
.hero-section .hero-copy {
  border-radius: 0;
  min-height: clamp(560px, calc(100vh - 114px), 720px);
  padding: 72px clamp(32px, 4vw, 72px) 72px max(32px, calc((100vw - 1180px) / 2));
}
.hero-section .hero-visual,
.hero-section .hero-visual img { border-radius: 0; min-height: clamp(560px, calc(100vh - 114px), 720px); }
.hero-section .hero-copy h1 {
  font-size: clamp(2.1rem, 3.3vw, 3.5rem);
  line-height: 1.06;
  letter-spacing: -.03em;
  max-width: 620px;
}
.hero-section .hero-copy > p { max-width: 480px; }

@media (max-width: 980px) {
  .hero-section .hero-grid.page-container { grid-template-columns: 1fr; }
  .hero-section .hero-copy { min-height: 0; padding: 56px 32px; }
  .hero-section .hero-visual,
  .hero-section .hero-visual img { min-height: 420px; }
  .hero-section .hero-copy h1 { font-size: clamp(2.2rem, 6.5vw, 3.2rem); max-width: 100%; }
}
@media (max-width: 620px) {
  .hero-section { padding: 0; }
  .hero-section .hero-copy { padding: 44px 20px; }
  .hero-section .hero-visual,
  .hero-section .hero-visual img { min-height: 300px; }
  .hero-section .hero-copy h1 { font-size: clamp(2rem, 9.5vw, 2.6rem); }
}

/* ---- News detail: smaller headline ---- */
.interior-hero.interior-hero--article { padding: 64px 0 60px; }
.interior-hero.interior-hero--article h1 {
  font-size: clamp(1.8rem, 2.9vw, 2.7rem);
  line-height: 1.15;
  letter-spacing: -.02em;
  max-width: 900px;
  overflow-wrap: anywhere;
}
.interior-hero.interior-hero--article h1.bangla-title { line-height: 1.35; letter-spacing: 0; }
@media (max-width: 620px) {
  .interior-hero.interior-hero--article { padding: 48px 0 44px; }
  .interior-hero.interior-hero--article h1 { font-size: 1.65rem; line-height: 1.2; }
}

/* ---- Other fixes ---- */
.interior-hero h1, .news-feature h2, .news-card h3 { overflow-wrap: anywhere; }
.post-share { max-height: none; display: flex; gap: 18px; padding-top: 22px; margin-top: 40px; }
.wordpress-content { overflow-wrap: anywhere; }
.wordpress-content iframe, .wordpress-content video, .wordpress-content table { max-width: 100%; }
.wordpress-content figure { margin: 25px 0; max-width: 100%; }
.wordpress-content p { margin: 0 0 1.1em; }
.wordpress-content h2, .wordpress-content h3 { margin: 1.4em 0 .5em; font-size: clamp(1.5rem, 2.2vw, 2rem); }
.gallery-card--button { cursor: pointer; text-align: left; background: none; padding: 0; color: inherit; }

.gallery-empty { grid-column: 1 / -1; color: var(--muted); padding: 40px 0; }
.post-loading { min-height: 50vh; display: grid; place-items: center; color: var(--muted); }

.gallery-empty { grid-column: 1 / -1; color: var(--muted); padding: 40px 0; }
.post-loading { min-height: 50vh; display: grid; place-items: center; color: var(--muted); }

/* Bangla titles: use the same Bangla font as the article body (the display-font rule was overriding it) */
.interior-hero h1.bangla-title,
.interior-hero.interior-hero--article h1.bangla-title,
.news-feature h2.bangla-title,
.news-card h3.bangla-title,
.news-feature .bangla-title,
.news-card .bangla-title {
  font-family: var(--font-bangla);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
}

/* Gallery lightbox navigation */
.gallery-lightbox__nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 52px; height: 52px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; background: #ffffff26; cursor: pointer;
  font-size: 34px; line-height: 1; padding: 0 0 4px; z-index: 2;
}
.gallery-lightbox__nav:hover { background: var(--coral); }
.gallery-lightbox__nav--prev { left: 24px; }
.gallery-lightbox__nav--next { right: 24px; }
@media (max-width: 620px) {
  .gallery-lightbox__nav { width: 42px; height: 42px; font-size: 28px; top: auto; bottom: 22px; transform: none; }
  .gallery-lightbox__nav--prev { left: 22px; }
  .gallery-lightbox__nav--next { right: 22px; }
}
