/* === GLOBAL BASE === */
:root {
  --primary-color: #A0522D;
  --accent-color: #F4D03F;
  --background-color: #FDF5E6;
  --text-color: #4B3621;
  --light-bg: #FFF7EF;
  --dark-bg: #4B3621;
  --footer-bg: #4B3621;
  --footer-text: #ffffff;
  --cta-color: #F4D03F;
  --cta-hover: #E2B114;
}

html, body {
  height: 100%;
  margin: 0;
  font-family: 'Segoe UI', sans-serif;
  color: var(--text-color);
  background-color: var(--background-color);
  font-size: 1.2rem;
  overflow-x: hidden;
}

body {
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
  overflow-x: hidden;
}
iframe {
  border-radius: 10px;
}

/* === NAVBAR === */
.navbar {
  background-color: #9DB5A0;
  animation: fadeInDown 0.8s ease;
}
.navbar-brand img {
  max-height: 70px;
}
.nav-link {
  font-weight: 600;
  color: var(--text-color) !important;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}
.nav-link:hover {
  color: #000 !important;
  transform: translateY(-2px);
}
.navbar .btn-donate {
  background-color: var(--cta-color);
  color: var(--text-color);
  font-weight: bold;
  border-radius: 50px;
  padding: 8px 20px;
  text-transform: uppercase;
  animation: pulse 2s infinite;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.navbar .btn-donate:hover {
  background-color: var(--cta-hover);
  transform: scale(1.05);
}

/* === DROPDOWN MENU CUSTOMIZATION === */
.dropdown-menu {
  background-color: #f9f1e7;  
  border-radius: 10px;
  border: 1px solid #e0d4c1;
  padding: 0;
}

.dropdown-item {
  padding: 12px 18px;
  font-size: 1.05rem;
  font-weight: 500;
  color: #4B3621;
  background-color: #f9f1e7;
  transition: all 0.3s ease;
}

.dropdown-item:hover {
  background-color: #e8d8c8; 
  color: #000;
  transform: translateX(4px);
}

/* Prevent navbar brand from forcing overflow */
.brand-flex-fix {
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  flex-shrink: 1;
}

/* Logo responsive fix */
.brand-logo {
  height: 60px;
  width: auto;
  flex-shrink: 0;
}

/* Text responsive fix */
.brand-text {
  font-weight: 700;
  font-size: 1.7rem;
  color: #2c3e50;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Mobile adjustments */
@media (max-width: 576px) {
  .brand-logo {
    height: 45px !important;
  }
  .brand-text {
    font-size: 1.2rem !important;
  }
  .navbar-toggler {
    margin-left: auto;
  }
  .navbar {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }
}

/* === HERO SECTION BASE === */
.hero {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 60px 20px;
  min-height: 100vh;
  color: white;
  overflow: hidden;
}
.hero .container {
  position: relative;
  z-index: 1;
}
.hero .overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.55);
  z-index: 0;
}
.hero h1 {
  font-size: 3.5rem;
  font-weight: 800;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.7);
}
.hero p {
  font-size: 1.6rem;
  margin-top: 15px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.hero p.lead {
  font-size: 1.5rem;
  font-weight: 500;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.7);
}
.z-2 {
  z-index: 2;
  position: relative;
}

/* === HERO: INDEX === */
.hero-index {
  background: url("/static/images/imgnew/index_hero_page.jpeg") center center/cover no-repeat;
  min-height: 85vh;
  position: relative;
}

/* === HERO: ABOUT === */

.hero-about {
  background: url("/static/images/imgnew/PHOTO-2025-07-25-15-57-06.jpg") center center/cover no-repeat;
  min-height: 85vh;
  position: relative;
  width: 100%;
  overflow-x: hidden;
} 

/* === HERO: CONTACT === */
.hero-contact {
  background: url("/static/images/imgnew/WhatsApp Image 2025-07-16 at 4.23.24 pm.jpeg") center center/cover no-repeat;
  min-height: 85vh;
  position: relative;
}

/* === HERO: DONATE === */
.hero-donate {
  background: url("/static/images/img_for_b&b/Library pic 2g (1).png") center center/cover no-repeat;
  min-height: 85vh;
  position: relative;
}

 /* === HERO: CURRENT CAMPAINGS === */
.hero-current_Campaign{
  background: url("/static/images/imgnew/CURRENTcampaings.jpeg") center center/cover no-repeat;
  min-height: 85vh;
  position: relative;
}

/* === SECTIONS === */
.section {
  padding: 80px 20px;
}
.section-light {
  background-color: var(--light-bg);
}
.section-dark {
  background-color: var(--dark-bg);
  color: white;
}
.section h2 {
  font-size: 2.5rem;
  margin-bottom: 40px;
}
.section p {
  font-size: 1.3rem;
  line-height: 1.8;
}
.section img.img-fluid {
  max-height: 420px;
  object-fit: cover;
}

/* === VIDEO SECTION === */
.section-dark .ratio iframe {
  border: 3px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
}

/* === MISSION & VISION === */
.mission-vision h2 {
  color: var(--primary-color);
}
.mission-vision p {
  font-size: 1.3rem;
}

/* === LIBRARY HIGHLIGHT === */
.library-highlight {
  background: linear-gradient(to right, #8d6e63, #4e342e);
  color: #fff;
}
.library-highlight ul {
  padding-left: 0;
}
.library-highlight li {
  list-style: none;
  margin-bottom: 1rem;
  font-size: 1.2rem;
}
.library-highlight i {
  margin-right: 10px;
}

/* === MANAGEMENT SECTION === */
.bg-management {
  background-color: #fffaf3;
}

.management-card {
  border: 1px solid #f0e9dd;
  background-color: #fffdf9;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease;
}
.management-card:hover {
  transform: translateY(-4px);
}
.management-card h4 {
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}
.management-card p,
.management-card li {
  font-size: 1.15rem;
}
.management-card ul {
  padding-left: 1.2rem;
}

/* === MILESTONES SECTION === */
.milestone-card {
  background-color: #fffdf7;
  border: 1px solid #ebd9c6;
  border-radius: 12px;
  padding: 20px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.milestone-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.05);
}
.milestone-card h4 {
  font-size: 1.3rem;
  color: var(--primary-color);
}
.milestone-card p,
.milestone-card li {
  font-size: 1.1rem;
}
.setup-task-card {
  border: 1px solid #e9dcc9;
  border-radius: 10px;
  background-color: #fffefc;
  transition: all 0.2s ease;
}
.setup-task-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.04);
}
.setup-task-card h5 {
  font-size: 1.2rem;
  color: var(--primary-color);
}
.setup-task-card p {
  font-size: 1.05rem;
  color: #5b4631;
}

/* === STATS === */
.card {
  border-radius: 12px;
  text-align: center;
}
.card-body i {
  font-size: 2rem;
  margin-bottom: 0.8rem;
}
.card-link {
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-link:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.card-link .learn-more {
  font-size: 0.9rem;
  color: #888;
  transition: color 0.3s;
}

.card-link:hover .learn-more {
  color: #000;
}

.form-card {
  border-radius: 12px;
  background-color: #fffdf8;
  border: 1px solid #e8dcc4;
}

.section-heading {
  font-weight: 700;
  color: #4B3621;
  border-left: 4px solid #A0522D;
  padding-left: 10px;
}

.form-section {
  background:#f8f9fa;
  border-left:4px solid #ffc107;
}

/* === PHASES CARDS === */
.phase-card {
  border: 1px solid #e0d4c1;
  border-radius: 12px;
  background-color: #fffdf8;
  transition: transform 0.2s ease;
}
.phase-card:hover {
  transform: translateY(-4px);
}
.phase-card .card-body {
  padding: 25px;
}
.phase-card h5 {
  font-size: 1.4rem;
}
.phase-card ul li {
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

/* === QUOTE SECTION === */
.quote-section {
  background-color: #fbe9e7;
  font-style: italic;
  padding: 60px 20px;
  color: #5d4037;
}
.quote-section blockquote {
  font-size: 1.5rem;
  max-width: 900px;
  margin: auto;
  position: relative;
}
.quote-section blockquote::before {
  content: open-quote;
  font-size: 3rem;
  position: absolute;
  left: -20px;
  top: -10px;
}

/* === CTA BUTTON === */
.btn-cta {
  background-color: var(--cta-color);
  color: var(--text-color);
  padding: 16px 30px;
  border-radius: 30px;
  font-weight: bold;
  text-transform: uppercase;
  transition: all 0.3s ease;
  animation: pulse 2s infinite;
  text-decoration: none;
}
.btn-cta:hover {
  background-color: var(--cta-hover);
  transform: scale(1.05);
}

/* === FOUNDERS SECTION === */
.founders {
  text-align: center;
  background-color: #fff9f2;
}
.founder-img {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 15px;
}
.founders h3 {
  font-size: 1.6rem;
  margin-top: 10px;
}

/* === FOOTER === */
.footer {
  background-color: var(--footer-bg);
  color: var(--footer-text);
  padding: 40px 20px;
  text-align: center;
}
.footer a {
  color: var(--footer-text);
  margin: 0 10px;
  font-size: 1.4rem;
}
.footer a:hover {
  color: var(--cta-color);
}
.footer p {
  margin: 0;
  font-size: 1rem;
}

/* === ANIMATIONS === */
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(244, 208, 63, 0.7); }
  70% { box-shadow: 0 0 0 12px rgba(244, 208, 63, 0); }
  100% { box-shadow: 0 0 0 0 rgba(244, 208, 63, 0); }
}
@keyframes fadeInDown {
  0% { opacity: 0; transform: translateY(-10px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .hero h1 {
    font-size: 2.4rem;
  }
  .hero p {
    font-size: 1.1rem;
  }
  .section h2 {
    font-size: 2rem;
  }
  .section p,
  .library-highlight li,
  .phase-card ul li {
    font-size: 1.1rem;
  }
  .btn-cta {
    padding: 12px 24px;
    font-size: 1rem;
  }
  .outcome-row h4 {
    font-size: 1.3rem;
  }
  .outcome-row p {
    font-size: 1.1rem;
  }
  .outcome-row img {
    margin-bottom: 1rem;
  }
  .bg-management .card {
    flex-direction: column !important;
    text-align: center;
  }
  .bg-management .card i {
    margin-bottom: 1rem;
  }
  .bg-management .img-fluid {
    max-height: 220px;
  }
}


/* === Hover overlay cards for Before/After === */
.hover-card {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  border-radius: 12px;
}
.hover-card img {
  transition: transform 0.4s ease, filter 0.4s ease;
  width: 100%;
  display: block;
}
.hover-card .hover-overlay {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  opacity: 0;
  transition: opacity 0.4s ease;
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  justify-content: center;
  align-items: center;
  display: flex;
}
.hover-card:hover img {
  filter: brightness(70%);
  transform: scale(1.05);
}
.hover-card:hover .hover-overlay {
  opacity: 0.9;
}

/* === Ongoing Works Collage === */
.section.bg-light .row.g-3 img {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.section.bg-light .row.g-3 img:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 15px rgba(0,0,0,0.15);
}

/* =========================================
   TRANSFORMATION CARD EQUAL HEIGHT FIX
========================================= */

.transform-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: 0.3s ease;
  background: #fff;
  border-radius: 20px;
}

.transform-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

/* Equal height image wrapper */
.transform-img-wrapper.equal-img {
  width: 100%;
  aspect-ratio: 16/10;        /* fixed consistent height */
  overflow: hidden;
  background: #f7f7f7;
}

.transform-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s ease;
}

.transform-card:hover .transform-img {
  transform: scale(1.08);
}

/* Equal height text wrapper */
.equal-text {
  flex-grow: 1;
  display: flex;
  align-items: center;
}

/* Ensure card matches height between Before/After */
.equal-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Mobile Fixes */
@media (max-width: 767px) {
  .transform-img-wrapper.equal-img {
    aspect-ratio: 16/12; /* Slightly taller for mobile */
  }
}

/* === FIXES TO REMOVE HORIZONTAL SCROLL === */
html, body {
  overflow-x: hidden;
}

.alert {
  box-sizing: border-box;
}

.collage-img-big {
  width: 100%;
  max-height: 400px;
  object-fit: cover;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.collage-img {
  width: 100%;
  max-height: 200px;
  object-fit: cover;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.collage-img-big:hover,
.collage-img:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 15px rgba(0,0,0,0.2);
}

@media (max-width: 768px) {
  .collage-img-big {
    max-height: 300px;
  }
  .collage-img {
    max-height: 150px;
  }
}

@media (max-width: 576px) {
  .collage-img-big {
    max-height: 250px;
  }
  .collage-img {
    max-height: 120px;
  }
}

/* Campaign Overview Images */
.campaign-img-wrapper {
  overflow: hidden;
  border-radius: 12px;
}

.campaign-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.campaign-img:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

/* Accent line under heading */
.accent-line {
  width: 60px;
  height: 4px;
  background-color: #A0522D; /* primary accent */
  margin-bottom: 20px;
  border-radius: 2px;
}

/* Responsive Adjustments */
@media (max-width: 992px) {
  .campaign-img-wrapper {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .campaign-img {
    max-height: 250px;
  }
}
