.header-carousel{position:relative;background:url(../img/bg.jpg) center center no-repeat;background-size:cover}
.header-carousel .carousel-text{background:url(../img/bg.jpg) center center no-repeat;background-size:cover;border-radius:6px;padding:30px}
.header-carousel .carousel-img{position:relative}
.header-carousel .owl-nav{position:absolute;top:50%;left:0;transform:translateY(-50%)}
.header-carousel .owl-nav .owl-prev,.header-carousel .owl-nav .owl-next{width:45px;height:45px;margin:10px 0;display:flex;align-items:center;justify-content:center;font-size:22px;color:#212529;background:#f0a202}
.header-carousel .container{max-width:100vw!important;padding-left:0;padding-right:0;margin:0}
.carousel-text h1.display-1{line-height:1.35}
/* Hide non-active owl items to avoid overlap during transitions */
.owl-carousel .owl-item{opacity:0;transition:opacity .3s ease}
.owl-carousel .owl-item.active{opacity:1}
@media (max-width:575.98px){.carousel-text h1.display-1{font-size:2.5rem}}

.btn-play{position:relative;display:block;box-sizing:content-box;width:16px;height:26px;border:none;outline:none!important;padding:18px 20px 20px 28px;background:#212529}
.btn-play:before{content:"";position:absolute;z-index:0;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:60px;height:60px;background:#212529;animation:pulse-border 1500ms ease-out infinite}
.btn-play:after{content:"";position:absolute;z-index=1;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:60px;height:60px;background:#212529;transition:all 200ms}
.btn-play span{display:block;position:relative;z-index:3;width:0;height:0;left:-1px;border-left:16px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent}
@keyframes pulse-border{0%{transform:translate(-50%,-50%) translateZ(0) scale(1);opacity:1}100%{transform:translate(-50%,-50%) translateZ(0) scale(2);opacity:0}}

.about-img{position:relative;width:100%;height:auto;overflow:hidden}
.about-img img{display:block;width:100%;height:auto;max-width:100%;object-fit:cover}
/* Ensure the full about image remains visible (no corner overlays). */
.about-img::before,.about-img::after{display:none}

/* Fix About Us section layout at 100% zoom and smaller screens */
@media (max-width: 1199px) {
  .about-img {
    max-height: 400px;
  }
  .about-img img {
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 991px) {
  .about-img {
    max-height: 350px;
    margin-bottom: 2rem;
  }
  .about-img img {
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 767px) {
  .about-img {
    max-height: 300px;
    margin-bottom: 1.5rem;
  }
  .about-img img {
    height: 100%;
    object-fit: cover;
  }
}

.service-title{height:100%;padding:30px;display:flex;flex-direction:column;justify-content:center;background:url(../img/bg.jpg) center center no-repeat;background-size:cover}
.service-item{overflow:hidden}
.service-item .btn-square{width:65px;height:65px}
.service-item a{position:relative;padding:0;font-size:14px;line-height:14px;text-transform:uppercase;transition:.5s}
.service-item a::after{position:absolute;content:"";width:500%;height:0;left:100%;bottom:3px;margin-left:10px;border-bottom:2px solid var(--charitize-primary)}

.section-title{position:relative;display:inline-block;text-transform:uppercase}
.section-title::before{position:absolute;content:"";width:calc(100% + 80px);height:0;top:5px;left:-40px;border-top:2px solid var(--charitize-primary);z-index:-1}
.section-title::after{position:absolute;content:"";width:calc(100% + 120px);height:0;bottom:6px;left:-60px;border-bottom:2px solid var(--charitize-primary);z-index:-1}
.section-title.text-start::before{width:calc(100% + 40px);left:0}
.section-title.text-start::after{width:calc(100% + 60px);left:0}
/* Page-wide utility and about-page video overrides */
.full-bleed{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw}
.page-header{margin-bottom:0}
.charitize-secondary-bg.mb-4{margin-bottom:0!important}
.btn-play:before,.btn-play:after{border-radius:0!important}
.banner .banner-inner{position:relative;background:url(../img/bg.jpg) center center no-repeat;background-size:cover}
.banner .banner-inner::before,.banner .banner-inner::after{position:absolute;content:"";width:0;height:0}
.banner .banner-inner::before{top:0;left:0;border-top:150px solid var(--charitize-primary);border-right:150px solid transparent}
.banner .banner-inner::after{right:0;bottom:0;border-bottom:150px solid var(--charitize-secondary);border-left:150px solid transparent}

.donation-item {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 30px rgba(0,0,0,.05);
  overflow: hidden;
  transition: .3s;
  height: 520px !important;  /* Force uniform height */
}

.donation-item:hover {
  box-shadow: 0 0 30px rgba(0,0,0,.1);
}

.donation-detail {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1rem;
}

.project-img {
  position: relative;
  width: 100%;
  height: 220px;  /* Fixed image height */
  overflow: hidden;
  border-radius: 8px;
  background: #f8f9fa;
  margin-bottom: 1rem;
  flex-shrink: 0;
}

.project-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.project-title {
  margin: 0 0 .75rem;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.35;
  color: #212529;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
  hyphens: auto;
}

.project-desc {
  flex: 1;
  margin: 0 0 1rem;
  font-size: .92rem;
  line-height: 1.5;
  color: #6c757d;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
  hyphens: auto;
}

.donation-detail .btn {
  margin-top: auto;
  flex-shrink: 0;
}

/* Move arrows away from cards */
.projects-carousel .owl-nav {
  position: absolute;
  top: 50%;
  left: -50px;  /* Push left arrow outward */
  right: -50px; /* Push right arrow outward */
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  z-index: 2;
  pointer-events: none;
}

.projects-carousel .owl-prev,
.projects-carousel .owl-next {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fff;
  background: var(--charitize-secondary);
  border-radius: 50%;
  box-shadow: 0 3px 12px rgba(0,0,0,.2);
  transition: .25s;
  pointer-events: auto;
}

.projects-carousel .owl-prev:hover,
.projects-carousel .owl-next:hover {
  background: #0a463b;
  transform: scale(1.1);
}

/* Responsive arrow positioning */
@media (max-width: 991px) {
  .projects-carousel .owl-nav {
    left: -30px;
    right: -30px;
  }
}

@media (max-width: 767px) {
  .projects-carousel .owl-nav {
    left: 10px;
    right: 10px;
  }
  .donation-item {
    height: 480px !important;
  }
  .project-img {
    height: 180px;
  }
}

.event-item {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 30px rgba(0,0,0,.05);
  overflow: hidden;
  transition: .3s;
  height: 100%;
  min-height: 550px;
}

.event-item:hover {
  box-shadow: 0 0 30px rgba(0,0,0,.1);
}

.event-item img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  flex-shrink: 0;
}

.event-item a.h3 {
  display: block;
  margin: 1rem 0 .75rem;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.35;
  color: #212529;
  text-decoration: none;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.event-item a.h3:hover {
  color: var(--charitize-primary);
}

.event-item > p {
  flex: 1;
  margin: 0 0 1rem;
  font-size: .92rem;
  line-height: 1.5;
  color: #6c757d;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.event-item .bg-light {
  margin-top: auto;
  flex-shrink: 0;
}

@media (max-width: 767px) {
  .event-item {
    min-height: 500px;
  }
  .event-item img {
    height: 180px;
  }
}