swiper-container {
    width: 100%;
    height: 100%;
}

swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #444;
    display: flex;
    justify-content: center;
    align-items: center;
}

swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main-content {
    position: relative;
    top: 5rem;
    margin-bottom: 7rem;
}

.hero-old-age {
    width: 100%;
    overflow: hidden;
}

.hero-slide {
    position: relative;
    height: 445px;
}

.hero-slide img {
    width: 100%;
    background-size: 100% 100%;
    height: 415px;
    /* object-fit: cover; */
}

.overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right,
            rgba(255, 255, 255, .97) 0%,
            rgba(255, 255, 255, .9) 35%,
            rgba(255, 255, 255, .45) 55%,
            rgba(255, 255, 255, 0) 75%);
}

.hero-content {
    position: absolute;
    top: 78%;
    transform: translateY(-88%);
    max-width: 700px;
    z-index: 10;
}

.hero-content h1 {
    font-size: 50px;
    max-width: 620px;
    font-family: Georgia, serif;
    font-weight: 700;
    line-height: 1.1;
    color: #222;
}

.hero-content .a_safe_home_text {
    font-size: 29px;
    color: #222;
}

.hero-content .senior_citizen_text {
    font-size: 40px;
    color: #222;
}

.hero-content .love_dignity_text {
    font-size: 48px;
    color: #0b7a39;
}

.hero-content p {
    margin-top: 25px;
    font-size: 18px;
    line-height: 1.8;
    color: #000;
    max-width: 31rem;
}

.hero-counter {
    display: flex;
    gap: 35px;
    flex-wrap: wrap;
    margin-top: 35px;
}

.hero-counter .btn {
    padding: 14px 30px;
    border-radius: 8px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 15px;
}

.btn-success {
    background: #0b7a39;
    border: none;
}

.btn-success:hover {
    background: #06642d;
}

.btn-outline-success {
    border: 2px solid #0b7a39;
    color: #0b7a39;
}

.btn-outline-success:hover {
    background: #0b7a39;
    color: #fff;
}

.swiper-button-next,
.swiper-button-prev {
    width: 55px;
    height: 55px;
    /* background:#fff; */
    border-radius: 50%;
    /* box-shadow:0 5px 20px rgba(0,0,0,.2); */
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 18px;
    display: none;
    color: #0b7a39;
    font-weight: bold;
}

.swiper-pagination-bullet {
    background: #fff;
    opacity: 1;
}

.swiper-pagination-bullet-active {
    background: #0b7a39;
}

@media(max-width:992px) {

    .hero-slide,
    .hero-slide img {
        height: 550px;
    }

    .hero-content h1 {
        font-size: 48px;
    }

    .hero-content .love_dignity_text {
        font-size: 29px;
        color: #0b7a39;
    }

    .hero-content .a_safe_home_text {
        font-size: 30px;
        color: #222;
    }

    .hero-content .senior_citizen_text {
        font-size: 23px;
        color: #222;
    }

    .swiper-button-prev:after {
        font-size: 25px !important;
    }

}

@media(max-width:768px) {


    #main-content {
        position: relative;
        top: 5.5rem;
        margin-bottom: 10rem;
    }

    .hero-slide,
    .hero-slide img {
        height: 520px;
    }

    .overlay {
        background: rgb(255 255 255 / 54%);
    }

    .hero-content {
        max-width: 100%;
        padding: 0 20px;
    }

    .hero-content h1 {
        font-size: 36px;
    }

    .hero-content p {
        font-size: 14px;
    }

    .hero-counter {
        flex-direction: row;
        margin-top: 10px;
        gap: 5px;
    }

    .hero-counter .btn {
        width: 100%;
    }

    .swiper-button-next,
    .swiper-button-prev {
        display: none;
    }

    .hero-content .love_dignity_text {
        font-size: 20px;
        color: #0b7a39;
    }

    .hero-content .a_safe_home_text {
        font-size: 20px;
        color: #222;
    }

    .hero-content .senior_citizen_text {
        font-size: 23px;
        color: #222;
    }

    .swiper-button-prev:after {
        font-size: 25px !important;
    }
    
    .hero-content p{
        margin-top: 15px;
    }

}

@media(max-width:576px) {

    .hero-slide,
    .hero-slide img {
        height: 300px;
    }

    .hero-content h1 {
        font-size: 30px;
    }

    .hero-content .love_dignity_text {
        font-size: 20px;
        color: #0b7a39;
    }

    .hero-content .a_safe_home_text {
        font-size: 20px;
        color: #222;
    }

    .hero-content .senior_citizen_text {
        font-size: 23px;
        color: #222;
    }

    .swiper-button-prev:after {
        font-size: 25px !important;
    }

    .hero-content p{
        margin-top: 15px;
    }

}

.counter-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #eaf8ed;
    color: #1e9c3f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin: auto auto;
}

.counter-icon img {
    height: 45% !important;
    width: 55% !important;
}

.counter-icon .secure_icon {
    height: 52%;
    width: 55%;
}

.counter-text {
    max-width: 105px;
}

.donation-form-section {
    margin: 40px auto;
}

.donor-card {
    max-width: 1000px;
    background: #fff;
    border: 1px solid #dfe5df;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.donor-card .card-body {
    padding: 30px;
}

.form-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 32px;
    font-weight: 700;
    color: #1f2b1f;
    margin-bottom: 0px;
}

.form-title i {
    color: #198754;
    font-size: 34px;
}

.section-title {
    color: #198754;
    font-weight: 700;
    font-size: 18px;
    margin: 8px 0 18px;
}

.section-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: 1px;
    background: #dfe5df;
}

.form-label {
    font-weight: 600;
    color: #2f3b2f;
}

.required {
    color: #dc3545;
}

.form-control,
.form-select {
    height: 48px;
    border-radius: 8px;
    border: 1px solid #cfd6cf;
}

.form-control:focus,
.form-select:focus {
    border-color: #198754;
    box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, .15);
}

.gender-group {
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
    padding-top: 6px;
}

.form-check-input:checked {
    background-color: #198754;
    border-color: #198754;
}

.submit-btn {
    background: #198754;
    border: none;
    height: 52px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: .3px;
    width: 100%;
}

.submit-btn:hover {
    background: #157347;
}

.secure-note {
    text-align: center;
    color: #2f6b44;
    font-size: 14px;
    margin-top: 16px;
    font-weight: 500;
}

.secure-note i {
    color: #198754;
    margin-right: 6px;
}

@media (max-width: 768px) {
    .donor-card {
        margin: 16px;
    }

    .donor-card .card-body {
        padding: 20px;
    }

    .form-title {
        font-size: 24px;
    }

    .form-title i {
        font-size: 28px;
    }

    .gender-group {
        gap: 18px;
    }

    .counter-icon{
        width: 45px;
        height: 45px;
    }

    .counter-text h6{
        font-size: 14px;
    }
}

.impact-wrapper {
    position: sticky;
    top: 20px;
}

.impact-card {
    background: #f8faf7;
    border: 1px solid #dfe8dd;
    border-radius: 18px;
    padding: 28px 22px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

.impact-title {
    color: #167a2f;
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.25;
}

.title-line {
    width: 70px;
    height: 4px;
    background: #167a2f;
    border-radius: 50px;
    margin-bottom: 26px;
}

.impact-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 28px;
}

.impact-icon {
    width: 64px;
    height: 64px;
    min-width: 64px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.impact-icon i {
    font-size: 30px;
    color: #167a2f;
}

.impact-content h5 {
    color: #167a2f;
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 6px;
}

.impact-content p {
    margin: 0;
    color: #4b5b4d;
    font-size: 15px;
    line-height: 1.7;
}

.register-card {
    overflow: hidden;
}

.register-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.register-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    color: #2f3d31;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 500;
}

.register-list li:last-child {
    margin-bottom: 0;
}

.register-list i {
    color: #167a2f;
    font-size: 16px;
    margin-top: 4px;
}

.heart-outline {
    position: absolute;
    right: 14px;
    bottom: 10px;
    opacity: 0.12;
    pointer-events: none;
}

.heart-outline i {
    font-size: 92px;
    color: #167a2f;
}

@media (max-width: 991px) {
    .impact-wrapper {
        position: static;
        margin-top: 20px;
    }

    .impact-title {
        font-size: 24px;
    }
}

.services-section {
    background: #fff;
    padding: 80px 0;
}

.service-subtitle {
    color: #0b7a39;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.service-title {
    font-family: Georgia, serif;
    font-size: 40px;
    font-weight: 700;
    color: #222;
    margin-top: 8px;
}

.service-title span {
    color: #0b7a39;
}

.service-card {

    border: 1px solid rgb(230 231 230);
    border-radius: 16px;

    padding: 20px 35px;

    text-align: center;

    transition: .35s;

    height: 100%;
}

.service-card:hover {

    transform: translateY(-8px);

    box-shadow: 0 12px 30px rgba(0, 0, 0, .12);

    border-color: #0b7a39;
}

.service-icon {

    width: 85px;
    height: 85px;

    margin: auto;

    border-radius: 50%;

    background: #eef8ef;

    display: flex;
    justify-content: center;
    align-items: center;

    margin-bottom: 10px;
}

.service-icon i {

    color: #0b7a39;

    font-size: 50px;
}

.service-card h5 {

    font-size: 17px;

    font-weight: 700;

    color: #333;

    line-height: 1.45;

    margin: 0;
}

.service-card p {

    font-size: 14px;
}

/* Tablet */

@media(max-width:992px) {

    .service-title {
        font-size: 40px;
    }

    .service-card {
        padding: 30px 15px;
    }

    .service-card h5 {
        font-size: 20px;
    }

}

/* Mobile */

@media(max-width:768px) {

    .services-section {
        padding: 60px 0;
    }

    .service-subtitle {
        font-size: 16px;
    }

    .service-title {
        font-size: 30px;
    }

    .service-icon {

        width: 70px;
        height: 70px;
    }

    .service-icon i {
        font-size: 36px;
    }

    .service-card h5 {
        font-size: 18px;
    }

}

 .donate-methods-section{
    background:#ffffff;
  }

  .donate-methods-card{
    background:#f6f8f4;
    border:1px solid #dfe7db;
    border-radius:14px;
    padding:22px 0px 24px 22px;
    display:flex;
    align-items:center;
    gap:26px;
    flex-wrap:wrap;
    box-shadow:0 4px 14px rgba(0,0,0,0.04);
  }

  /* Left */
  .methods-left{
    min-width:220px;
    /* flex:1; */
  }

  .methods-left h4{
    color:#177a31;
    font-size:25px;
    font-weight:700;
    margin-bottom:8px;
  }

  .methods-left p{
    margin:0;
    color:#566357;
    font-size:15px;
    line-height:1.6;
    max-width:280px;
  }

  /* Center payment boxes */
  .methods-center{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
  }

  .pay-box{
    width:95px;
    min-height:85px;
    background:#fff;
    border:1px solid #dfe7db;
    border-radius:12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:14px 10px;
    transition:all .25s ease;
  }

  .pay-box:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 18px rgba(0,0,0,0.08);
    border-color:#177a31;
  }

  .pay-box i{
    font-size:34px;
    color:#4b4b4b;
    margin-bottom:8px;
  }

  .pay-box span{
    font-size:12px;
    font-weight:600;
    color:#2f3b30;
  }

  .card-icons{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
  }

  .card-icons i{
    font-size:30px;
    margin:0;
  }

  .visa{ color:#1a1f71; }
  .mastercard{ color:#eb001b; }

  /* Divider */
  .methods-divider{
    width:1px;
    align-self:stretch;
    background:#cfd8ca;
    min-height:90px;
  }

  /* Right secure */
  .methods-right{
    display:flex;
    align-items:center;
    gap:16px;
    min-width:260px;
    flex:1;
  }

  .secure-icon{
    width:65px;
    height:65px;
    border-radius:50%;
    background:#eef6ea;
    border:1px solid #cfe2c8;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }

  .secure-icon i{
    font-size:34px;
    color:#177a31;
  }

  .secure-content h5{
    color:#177a31;
    font-size:22px;
    font-weight:700;
    margin-bottom:6px;
  }

  .secure-content p{
    margin:0;
    color:#566357;
    font-size:14px;
    line-height:1.6;
    max-width:250px;
  }

  /* Responsive */
  @media (max-width: 992px){
    .donate-methods-card{
      gap:22px;
    }

    .methods-divider{
      display:none;
    }

    .methods-right{
      border-top:1px solid #dfe7db;
      padding-top:18px;
      width:100%;
    }
  }

  @media (max-width: 576px){
    .donate-methods-card{
      padding:18px;
    }

    .methods-left h4{
      font-size:22px;
    }

    .methods-center{
      width:100%;
      justify-content:space-between;
      gap:12px;
    }

    .pay-box{
      width:48%;
      min-height:92px;
    }

    .methods-right{
      flex-direction:row;
      align-items:flex-start;
    }

    .secure-content h5{
      font-size:20px;
    }
  }