/* Only affect columns inside Blog section */
.blog .col-lg-6.col-xl-4 {
  display: flex;
}

/* Blog card equal height */
.blog .blog-item {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Content area fills available height */
.blog .blog-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Push Read More to bottom */
.blog .blog-content .fw-bold {
  margin-top: auto;
}

/* Clamp long titles in blog only */
.blog .blog-content .h4 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/*SErvice code box*/
/* Scope everything strictly to the Services section */
.feature .col-md-6.col-lg-6.col-xl-3 {
  display: flex;
}

/* Make each service card fill the column height */
.feature .feature-item {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Let content grow so Read More aligns at bottom */
.feature .feature-item p {
  flex-grow: 1;
}

/* Push Read More to bottom for equal alignment */
.feature .feature-item .btn {
  margin-top: auto;
}
/*Ourrrrr Aim to provide*/
/* ========== SERVICE SECTION: FORCE EQUAL HEIGHT BOXES ========== */

/* Only target Service section */
.service .row.gx-0.gy-4.align-items-center {
  align-items: stretch;
}

/* Desktop layout */
@media (min-width: 1200px) {

  /* Make left & right columns grid with 3 equal rows */
  .service .col-xl-4:first-child,
  .service .col-xl-4:last-child {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    row-gap: 1.5rem; /* space between boxes */
  }

  /* Force each service box to fill the grid row */
  .service .service-item {
    height: 100%;
    display: flex;
    align-items: center;
  }
}

/* Tablet layout */
@media (min-width: 992px) and (max-width: 1199px) {
  .service .col-lg-6:first-child,
  .service .col-lg-6:last-child {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    row-gap: 1.5rem;
  }

  .service .service-item {
    height: 100%;
    display: flex;
    align-items: center;
  }
}
/* Clamp paragraph text inside service boxes */
.service .service-content p {
  display: -webkit-box;
  -webkit-line-clamp: 3;   /* max 3 lines */
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* ========== VACCINES SECTION: FORCE EQUAL HEIGHT CARDS ========== */

/* Make each product column stretch */
.product .row.g-4 > [class*="col-"] {
  display: flex;
}

/* Make each product card full height */
.product .product-item {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Make content area stretch */
.product .product-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Push Read More button to bottom */
.product .product-content .btn {
  margin-top: auto;
}

/* Optional: clamp title to keep heights consistent */
.product .product-content .h4 {
  display: -webkit-box;
  -webkit-line-clamp: 2;   /* max 2 lines */
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Optional: clamp description text */
.product .product-content p:first-child {
  display: -webkit-box;
  -webkit-line-clamp: 1;   /* max 1 line */
  line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


