/* ==========================================================================
   Bangladesh (Bangla) section page
   ========================================================================== */
.bn-page .bn-title,
.bn-page .bn-text,
.bn-page .bn-note,
.bn-page .bn-icon-card,
.bn-page .bn-level-card h3,
.bn-page .bn-service-card h3,
.bn-page .accordion-button,
.bn-page .btn-lg,
.bn-page .bn-refund,
.bn-page .bn-welcome h1 {
  font-family: 'Noto Sans Bengali', 'Poppins', sans-serif;
}
.bn-section{ padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; }
.bn-title{ font-weight: 700; line-height: 1.5; }
.bn-text{ line-height: 1.9; }

/* Welcome banner */
.bn-welcome{
  position: relative;
  min-height: 420px;
  display: flex; align-items: center;
  padding: 8rem 0 5rem;
  color: #fff;
  overflow: hidden;
}
.bn-welcome-img, .bn-welcome-img img{ position:absolute; inset:0; width:100%; height:100%; }
.bn-welcome-img img{ object-fit: cover; }
.bn-welcome-img::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(120deg, rgba(51,45,124,.88), rgba(34,29,85,.65));
}
.bn-welcome h1{ font-size: clamp(2.2rem, 6vw, 4rem); font-weight: 700; margin: 0; }

/* Icon cards */
.bn-icon-card{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.75rem;
  padding: 1.5rem 1rem;
  background:#fff; border:1px solid #eee; border-top:4px solid var(--bsleu-red);
  border-radius: 1rem; box-shadow: 0 8px 22px -14px rgba(0,0,0,.35);
  color: var(--bsleu-blue); font-weight:700; font-size:.9rem; letter-spacing:.02em; text-align:center;
}
.bn-icon-card i{ font-size: 2.2rem; color: var(--bsleu-red); }

/* Photos */
.bn-photo{ width:100%; border-radius: 1.25rem; box-shadow: 0 14px 34px -18px rgba(0,0,0,.45); object-fit: cover; max-height: 460px; }
.bn-photo-alt{ object-position: 30% center; }

/* Level cards */
.bn-level-card{
  background:#fff; border:1px solid #eee; border-left:4px solid var(--bsleu-gold);
  border-radius: 1rem; padding: 1.5rem; box-shadow: 0 8px 22px -16px rgba(0,0,0,.35);
}
.bn-note{
  background: #fff8e1; border-left: 4px solid var(--bsleu-gold);
  padding: 1rem 1.25rem; border-radius: .5rem; color:#5b4a00; line-height:1.8;
}

/* Service cards */
.bn-service-card{
  background:#fff; border:1px solid #eee; border-radius:1.25rem; padding:1.75rem;
  box-shadow: 0 10px 26px -18px rgba(0,0,0,.4);
}
.bn-service-icon{
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: rgba(229,37,31,.1); color: var(--bsleu-red); font-size:1.5rem; margin-bottom:1rem;
}

/* Refund */
.bn-refund{
  display:flex; gap:1rem; align-items:flex-start;
  background:#fff; border:1px solid #eee; border-radius:1rem; padding:1.1rem 1.25rem;
  box-shadow: 0 6px 18px -14px rgba(0,0,0,.35);
}
.bn-refund-key{
  flex-shrink:0; width:38px; height:38px; border-radius:50%;
  background: var(--bsleu-blue); color:#fff; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}

/* FAQ */
.bn-page .accordion-button{ font-weight:600; line-height:1.6; }
.bn-page .accordion-body a{ color: var(--bsleu-blue); font-weight:600; }
.bn-page .accordion-header{ margin:0; font-size:1rem; }
.stagger-3{ transition-delay: .3s; }

@media (max-width: 576px){
  .bn-welcome{ min-height: 300px; padding: 7rem 0 3rem; }
  .bn-section{ padding-top: 3rem !important; padding-bottom: 3rem !important; }
}
