.hero-section {
   background: linear-gradient(1deg, #169F8680 -15.33%, #FFFFFF00 111.91%);
   min-height: 100vh;
   padding: 6.5rem 0 4rem;
   position: relative;
   overflow: hidden;
}

.product-hero h1 {
   font-size: 3rem;
   color: var(--dark-green);
   margin-bottom: 10px;
   line-height: 1.2;
}

.product-hero-section .medicine-name {
   font-size: 18px;
   color: var(--dark-gray);
   margin-bottom: 40px;
   font-weight: 400;
}

.product-hero-section .description {
   font-size: 4.125rem;
   color: var(--dark-green);
   margin-bottom: 20px;
   line-height: 1.2
}

.product-hero-section .services-list {
   font-size: 18px;
   list-style: none;
   padding: 0;
   margin: 0;
}

.product-hero-section .services-list li i {
   margin-right: 10px;
}

.product-hero-section .services-list li {
   margin: 0;
   padding: 0 0 10px;
   display: flex;
   align-items: center;
   color: var(--dark-green);
}

.pricing {
   margin-bottom: 16px;
}

.price-label {
   font-size: 16px;
   color: var(--dark-green);
   margin-bottom: 5px;
   margin-right: 5px;
}

.price {
   font-size: 28px;
   font-weight: 600;
   color: #333;
}

.cta-button {
   background: linear-gradient(180deg, var(--dark-green), var(--light-green));
   color: #fff;
   border: none;
   padding: 15px 40px;
   font-size: 16px;
   font-weight: 500;
   border-radius: 50px;
   cursor: pointer;
   transition: all 0.3s ease;
   box-shadow: 0 4px 15px rgba(77, 208, 225, 0.3);
   margin-bottom: 15px;
   max-width: 370px;
   width: 100%;
}

.cta-button:hover {
   transform: translateY(-2px);
   box-shadow: 0 6px 20px rgba(77, 208, 225, 0.4);
}

.product-image {
   display: flex;
   justify-content: end;
   align-items: center;
   height: 100%;
}

.package-box {
   width: 250px;
   height: 200px;
   background: linear-gradient(135deg, #ffd54f, #ffb300);
   border-radius: 12px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
   position: relative;
   overflow: hidden;
}

.package-box::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.3) 0%, transparent 50%);
}

.logo {
   width: 60px;
   height: 60px;
   background: #333;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 15px;
   z-index: 2;
   position: relative;
}

.logo::before {
   content: '+';
   color: white;
   font-size: 24px;
   font-weight: bold;
}

.brand-name {
   color: #333;
   font-size: 18px;
   font-weight: 600;
   letter-spacing: 1px;
   z-index: 2;
   position: relative;
}

@media (max-width: 768px) {
   .hero-content {
      grid-template-columns: 1fr;
      text-align: center;
      gap: 30px;
   }

   .product-hero-section h1 {
      font-size: 36px;
   }

   .description {
      font-size: 20px;
   }

   .package-box {
      width: 200px;
      height: 160px;
   }
}

/* Product Section */
.product-section {
   background: #f8f9fa;
   padding: 60px 0;
}


/* Price Checker */
.price-checker {
   background: white;
   border-radius: 12px;
   padding: 30px;
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
   height: fit-content;
}

.price-checker h3 {
   font-size: 1.5rem;
   color: var(--dark-green);
   margin-bottom: 30px;
}

.form-group {
   margin-bottom: 20px;
}

.form-label {
   display: block;
   font-size: 14px;
   color: #666;
   margin-bottom: 8px;
}

.form-input,
.form-select {
   width: 100%;
   padding: 12px 16px;
   border: 1px solid #ddd;
   border-radius: 8px;
   font-size: 14px;
   background: white;
}

.form-input:focus,
.form-select:focus {
   outline: none;
   border-color: #00bcd4;
}

.quantity-price {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 25px;
}

.price-display {
   font-size: 18px;
   font-weight: 600;
   color: #333;
}

.prices-include {
   margin-bottom: 20px;
}

.prices-include h4 {
   font-size: 14px;
   color: #666;
   margin-bottom: 15px;
}

.include-item {
   display: flex;
   align-items: center;
   margin-bottom: 10px;
   font-size: 14px;
   color: #666;
}

.include-item::before {
   content: '✓';
   color: #4caf50;
   margin-right: 10px;
   font-weight: bold;
}

.total-price {
   border-top: 1px solid #eee;
   padding-top: 20px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 30px;
}

.total-label {
   font-size: 16px;
   font-weight: 600;
   color: #333;
}

.total-amount {
   font-size: 20px;
   font-weight: 700;
   color: #333;
}

/* Doctor Modal */
.doctor-card {
   background: #f8f9fa;
   border-radius: 12px;
   padding: 20px;
   margin-bottom: 20px;
   display: flex;
   align-items: center;
   gap: 15px;
   cursor: pointer;
   transition: all 0.3s ease;
}

.doctor-card:hover {
   background: #e3f2fd;
}

.doctor-info h4 {
   font-size: 16px;
   color: #333;
   margin-bottom: 5px;
}

.doctor-info p {
   font-size: 12px;
   color: #666;
   margin: 2px 0;
}

.expand-arrow {
   margin-left: auto;
   color: #666;
}

.review-link {
   color: #00bcd4;
   text-decoration: none;
   font-size: 14px;
   display: block;
   margin-top: 10px;
   cursor: pointer;
}


/* Modal Styles */
.modal {
   display: none;
   position: fixed;
   z-index: 1000;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0.5);
   backdrop-filter: blur(5px);
}

.modal-content {
   background-color: white;
   border-radius: 15px;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
   position: relative;
}

.doctor-modal-content {
   margin: 5% auto;
   width: 80%;
   max-width: 800px;
   padding: 30px;
}

.close {
   color: #aaa;
   float: right;
   font-size: 28px;
   font-weight: bold;
   cursor: pointer;
   position: absolute;
   right: 20px;
   top: 15px;
}

.close:hover {
   color: #333;
}

.doctor-modal-content .modal-info {
   padding: 30px;
   border: 1px solid #333;
   border-radius: 12px;
   margin-top: 10px;
}

.doctor-modal-content .modal-info h5 {
   font-size: 20px;
   color: var(--dark-green);
   margin-bottom: 15px;
}

/* Review Modal  */
.review-modal-content {
   margin: 10% auto;
   width: 60%;
   max-width: 600px;
   padding: 30px;
}

.modal-body {
   padding: 40px 30px 30px;
}

.modal-body h3 {
   font-size: 1.5rem;
   margin-bottom: 20px;
   color: #333;
}

.review-timeline {
   margin-top: 20px;
}

.review-entry {
   padding: 15px 0;
   border-bottom: 1px solid #eee;
}

.review-date {
   font-weight: 600;
   color: #333;
   margin-bottom: 5px;
}

.review-author {
   color: #666;
   margin-bottom: 5px;
}

.review-status {
   font-size: 12px;
   color: #4CAF50;
   font-weight: 500;
}

/* Info Modal  */


.info-modal-content {
   position: fixed;
   right: 0;
   top: 0;
   width: 60%;
   height: 100%;
   border-radius: 15px 0 0 15px;
   overflow-y: auto;
}

/* Product Info */
.product-info {
   background: white;
   border-radius: 12px;
   padding: 40px;
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.product-info h2 {
   font-size: 3rem;
   font-weight: 300;
   color: var(--dark-green);
   margin-bottom: 30px;
   font-family: "Simula", Simula-Book-fallback;
}

.info-list {
   list-style: none;
   margin-bottom: 40px;
   padding: 0;
}

.info-list li {
   display: flex;
   align-items: center;
   margin-bottom: 15px;
   font-size: 16px;
   color: #555;
}

.info-list li::before {
   content: '✓';
   color: #4caf50;
   font-weight: bold;
   margin-right: 15px;
}

.info-modal {
   border: 1px solid #e0e0e0;
   border-radius: 12px;
   margin-bottom: 15px;
   overflow: hidden;
   transition: all 0.3s ease;
}

.modal-header {
   display: flex;
   align-items: center;
   padding: 20px;
   background: #f8f9fa;
   cursor: pointer;
   transition: all 0.3s ease;
}

.modal-header:hover {
   background: #e9ecef;
}

.modal-icon {
   width: 24px;
   height: 24px;
   margin-right: 15px;
   opacity: 0.7;
}

.modal-title {
   font-size: 16px;
   font-weight: 500;
   color: #333;
   flex-grow: 1;
}

.modal-arrow {
   color: #666;
   font-size: 18px;
}

@media (max-width: 768px) {
   .hero-content {
      grid-template-columns: 1fr;
      text-align: center;
      gap: 30px;
   }

   .product-hero-section h1 {
      font-size: 36px;
   }

   .description {
      font-size: 20px;
   }

   .package-box {
      width: 200px;
      height: 160px;
   }

   .price-checker,
   .product-info {
      padding: 20px;
   }
}


/* How it works section  */
.how-it-works {
   background: linear-gradient(1deg, #169F8680 -15.33%, #FFFFFF00 111.91%);
   padding: 7rem 0;
}

.how-it-works .how-it-works-title {
   font-size: 3rem;
   color: var(--dark-green);
}

.how-it-works .process-card .image-container i {
   font-size: 48px;
   margin-bottom: 20px;
   color: var(--light-green);
}

.how-it-works .process-card .process-descp h3 {
   font-size: 22px;
   line-height: 1;
   color: var(--dark-green);
   font-weight: 600;
   margin-bottom: 10px;
}

.how-it-works .process-card .process-descp p {
   font-size: 16px;
   color: var(--dark-gray);
   font-weight: 400;
}



/* Review Section CSS  */
.review-section {
   padding: 7rem 0;
}

.review-section .allReview {
   font-size: 1rem;
   color: var(--dark-green);
}


.swiper {
   width: 100%;
   padding-left: 2rem;
   /* initial left padding for first card */
}

.swiper-slide {
   width: 280px;
   display: flex !important;
   /* card width */
}

.swiper-slide p {
   font-size: 18px;
}

.swiper-button-next,
.swiper-button-prev {
   color: #333 !important;
   font-size: 1rem;
   background-color: white;
   width: 32px !important;
   height: 32px !important;
   border-radius: 50%;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
   display: flex;
   align-items: center;
   justify-content: center;
   transition: all 0.3s ease;
}

.swiper-button-next:after,
.swiper-button-prev:after {
   font-size: 1rem !important;
}



/* Treatment section  */
.treatments-section {
   background: linear-gradient(1deg, #169F8680 -15.33%, #FFFFFF00 111.91%);
   padding: 7rem 0;
}

.search-container {
   max-width: 600px;
   margin: 0 auto 60px;
   position: relative;
}

.search-input {
   border-radius: 50px;
   border: 2px solid #e9ecef;
   padding: 15px 60px 15px 25px;
   font-size: 16px;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
   transition: all 0.3s ease;
}

.search-input:focus {
   border-color: #007bff;
   box-shadow: 0 4px 20px rgba(0, 123, 255, 0.15);
   outline: none;
}

.search-btn1 {
   position: absolute;
   right: 8px;
   top: 50%;
   transform: translateY(-50%);
   background: none;
   border: none;
   padding: 10px 15px;
   color: #6c757d;
   font-size: 18px;
   cursor: pointer;
   transition: color 0.3s ease;
}

.search-btn1:hover {
   color: var(--parrot-green);
   background: var(--dark-green);
   border-radius: 50px;
}

.treatment-card {
   background: white;
   border-radius: 20px;
   border: none;
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
   transition: all 0.3s ease;
   height: 100%;
   overflow: hidden;
}

.treatment-card:hover {
   transform: translateY(-5px);
   box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.treatment-card .treatment-image {
   min-height: 130px;
   max-height: 130px;
   background-color: #ffffff;
   margin: 0 -20px;
   position: relative;
   overflow: hidden;
   text-align: center;
   -moz-border-radius: 10px 10px 0 0;
   -webkit-border-radius: 10px 10px 0 0;
   border-radius: 10px 10px 0 0;
}

.treatment-card .treatment-image:before {
   content: "";
   width: 133px;
   height: 133px;
   -moz-border-radius: 100px;
   -webkit-border-radius: 100px;
   border-radius: 100px;
   background-color: var(--parrot-green);
   position: absolute;
   top: 35%;
   left: 50%;
   -moz-transform: translateX(-50%);
   -o-transform: translateX(-50%);
   -ms-transform: translateX(-50%);
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
}

.treatment-card .treatment-image img {
   position: relative;
   margin: 0 auto;
   max-width: 150px;
   margin-top: 10px;
}

.treatment-card .treatment-medicine-title {
   margin: 18px 0 10px;
   font-weight: 400;
   font-size: 24px;
   line-height: 1;
}

.card-body {
   padding: 30px 25px;
}

.treatment-title {
   font-size: 28px;
   font-weight: 700;
   color: #2d3436;
   margin-bottom: 8px;
}

.treatment-subtitle {
   color: #636e72;
   font-size: 14px;
   font-weight: 500;
   margin-bottom: 15px;
   display: block;
}

.treatment-description {
   color: #636e72;
   line-height: 1.6;
   margin-bottom: 25px;
   font-size: 15px;
   display: -webkit-box;
   line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

.price-tag {
   font-size: 24px;
   font-weight: 700;
   color: #2d3436;
   margin-bottom: 20px;
}

.price-label {
   font-size: 14px;
   color: #636e72;
   font-weight: 500;
}

.btn-get-treatment {
   background: linear-gradient(180deg, var(--dark-green), var(--light-green));
   border: none;
   border-radius: 50px;
   padding: 12px 0;
   font-weight: 600;
   transition: all 0.3s ease;
   text-decoration: none;
   color: white;
   text-align: center;
   display: block;
}

.btn-get-treatment:hover {
   transform: translateY(-2px);
   box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
   color: white;
   text-decoration: none;
}

.btn-read-more {
   border: 2px solid #e9ecef;
   background: transparent;
   border-radius: 50px;
   padding: 10px 0;
   font-weight: 600;
   color: #636e72;
   transition: all 0.3s ease;
   text-decoration: none;
   text-align: center;
   display: block;
}

.btn-read-more:hover {
   border-color: #667eea;
   color: #667eea;
   text-decoration: none;
   background: rgba(102, 126, 234, 0.05);
}

.treatment-section-title {
   text-align: center;
   margin-bottom: 50px;
}


@media (max-width: 768px) {
   .treatments-section {
      padding: 50px 0;
   }

   .treatment-section-title h2 {
      font-size: 28px;
   }

   .search-input {
      padding: 12px 50px 12px 20px;
      font-size: 14px;
   }

   .treatment-title {
      font-size: 24px;
   }

   .card-body {
      padding: 25px 20px;
   }
}

/* FAQ Section */
.faq-section {
   background: white;
   padding: 100px 0;
}

.category-title {
   font-size: 2.5rem;
   font-weight: 500;
   margin-bottom: 1.5rem;
   text-align: center;
   color: var(--dark-green);
}

.faq-item {
   border-bottom: 1px solid #e9ecef;
   margin-bottom: 0;
}

.faq-question {
   background: transparent;
   border: none;
   width: 100%;
   text-align: left;
   padding: 1rem 0;
   font-size: 1.2rem;
   font-weight: 600;
   color: #2c3e50;
   cursor: pointer;
   display: flex;
   justify-content: space-between;
   align-items: center;
   transition: color 0.3s ease;
}

.faq-question:hover {
   color: #34495e;
}

.faq-question:focus {
   outline: none;
}

.faq-icon {
   font-size: 1.2rem;
   color: #2c3e50;
   width: 40px;
   height: 40px;
   border-radius: 50%;
   background: #f8f6f0;
   display: flex !important;
   align-items: center;
   justify-content: center;
   transition: all 0.3s ease;
   flex-shrink: 0;
}

.faq-question:hover .faq-icon {
   background: #2c3e50;
   color: white;
}

.faq-answer {
   padding: 0;
   font-size: 1.1rem;
   line-height: 1.6;
   color: #6c757d;
   max-height: 0;
   overflow: hidden;
   transition: max-height 0.4s ease, padding 0.4s ease;
}

.faq-item.active .faq-answer {
   max-height: 300px;
   padding: 0 0 30px 0;
}

.faq-item.active .faq-icon {
   transform: rotate(45deg);
   background: #2c3e50;
   color: white;
}

/* Responsive Design */
@media (max-width: 768px) {
   .faq-question {
      font-size: 1.4rem;
      padding: 20px 0;
   }

   .faq-answer {
      font-size: 1rem;
   }
}

@media (max-width: 480px) {}

/* Blog SEction */
.blog-section {
   padding: 7rem 0;
   background: linear-gradient(1deg, #169F8680 -15.33%, #FFFFFF00 111.91%);
}

.swiper-button-next,
.swiper-button-prev {
   color: #333;
}

.blog-card .card {
   height: 70vh;
   /* large active card */
   position: relative;
}

.blog-card img {
   object-fit: cover;
   height: 100%;
   width: 100%;
   transition: transform 0.4s ease;
}

.blog-card:hover img {
   transform: scale(1.05);
}

.blog-card .blog-cardCta {
   max-width: max-content;
   place-self: flex-end;
}

.card-img-overlay {
   background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
}

.blogSwiper {
   padding: 20px 0;
}