:root {
  --teal: #36C2C9;
  --orange: #F15A22;
  --black: #000000;
  --white: #FFFFFF;

  --font-primary: 'Montserrat', sans-serif;
  --font-secondary: 'Roboto', sans-serif;

  --fs-h1: 42px;
  --fs-h2: 32px;
  --fs-h3: 26px;
  --fs-body: 16px;
  --fs-small: 14px;

  --lh-tight: 1.2;
  --lh-normal: 1.5;
  --lh-loose: 1.8;
}


body {
  font-family: var(--font-secondary);
  font-size: var(--fs-body);
  line-height: var(--lh-loose);
  color: var(--black);
  margin: 0;
}

h1, h2, h3 {
  font-family: var(--font-primary);
  font-weight: 700;
  margin: 0 0 10px;
  line-height: var(--lh-tight);
  color: var(--teal);
}

h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }

p {
  font-family: var(--font-secondary);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  margin: 0 0 20px;
}

.btn {
  display: inline-block;
  background: var(--orange);
  color: var(--white);
  padding: 10px 20px;
  font-family: var(--font-primary);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.3s ease, transform 0.2s ease;
}

.btn:hover {
  background: #d94d1e;
  transform: translateY(-2px);
}

/* HERO SECTION */
.hero {
    width: 100%;
  min-height: 100vh;
  position: relative;
  height: 420px;
  background: url('../images/natanael-melchor-43LwvC-eQPM-unsplash.jpg') no-repeat center/cover;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: start;
  color: var(--teal);
  box-sizing: border-box;
}

/* overlay that dims the image */
.hero-overlay {
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;  /* stack vertically */
  align-items: center;      /* center horizontally */
  justify-content: center;  /* center vertically */
  padding: 0 5%;
  box-sizing: border-box;
  text-align: center;       /* center text inside each element */
}

/* H1 stays centered */
.hero-title  {
  font-family: 'Montserrat', sans-serif;
  font-size: 42px;
  line-height: 1.2;
  margin: 0;
  color: var(--teal);
  text-align: center;
   font-weight: 700 !important; 
}



/* Container that holds p + button — left aligned under the centered H1 */

/* paragraph below H1 */
.hero-sub {
  margin: 0 0 12px 0;
  font-size: 18px;
  font-family: 'Roboto', sans-serif;
  color: #ffffff;
  line-height: 1.4;
  text-align: center;
}

/* CTA button (left aligned inside hero-left) */
.hero-cta {
  display: inline-block;
  background: var(--orange);
  color: var(--white);
  padding: 10px 18px;
  text-decoration: none;
  border-radius: 6px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  transition: background .2s ease, transform .12s ease;
  margin-top: 10px; /* small gap below paragraph */
}



.hero-cta:hover {
  background: #e04e1b;
  transform: translateY(-2px);
}

/* RESPONSIVE: scale and avoid overlap */
@media (max-width: 992px) {
  .hero { height: 360px; }
  .hero-title { font-size: 36px; }
  .hero-sub { font-size: 16px; }
  .hero-left { max-width: 600px; }
}

@media (max-width: 600px) {
  .hero { height: 320px; padding: 0 10px; }

  /* smaller title */
  .hero-title { font-size: 26px; }

  /* smaller sub */
  .hero-sub { font-size: 14px; }

  /* On very small screens center the left block for readability */
  .hero-left {
    align-self: center;   /* center the block under the centered h1 */
    text-align: center;
    margin-top: 10px;
    max-width: 100%;
  }

  .hero-cta { padding: 10px 16px; }
}

/* SERVICE SECTION */

.section-padding {
  padding: 40px 20px;
  background: white;
  width: 100%;
  margin: 40px auto;
  border-radius: 0;       /* No rounded corners */
  box-shadow: none;       /* No shadow box */
}

/* Title & Paragraph */
.section-title {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  color: #36C2C9;
  margin-bottom: 15px;
}
.section-paragraph {
  width: 100%;
  display: block;
  text-align: center;
  margin: 0 auto 20px;
  font-size: 1.1rem;
}

/* Layout: Image + Benefits */
.service-container {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;  /* Keeps content centered */
}

/* Image Styles */
.service-image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.service-image img {
  max-width: 550px;
  width: 100%;
  height: 700px;
  border-radius: 12px;
  object-fit: cover;
}

/* Benefits Grid - Centered cards */
.service-benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* Centers last card */
  gap: 20px;
  flex: 1;
  max-width: 900px /* Prevents too wide benefit section */
  
}

/* Benefit Cards */
.benefit-card {
  background: #ffffff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 2px 8px #f6cdb8d3;
  transition: 0.3s;
  text-align: center;
  flex: 1 1 280px;  /* Flexible width */
  max-width: 500px; /* Prevents too wide cards */
}
.benefit-card:hover {
  transform: translateY(-5px);
}
.benefit-icon {
  display: inline-block;
  font-size: 28px;
  margin-bottom: 8px;
  color: #36C2C9;
}
.benefit-card h3 {
  margin: 10px 0 5px;
  color: #36C2C9;
  font-size: 18px;
  font-weight: 600;
}
.benefit-card p {
  font-size: 14px;
  color: #333;
}

/* Responsive */
@media(max-width: 768px) {
  .service-container {
    flex-direction: column;
    align-items: center;
  }
  .service-image img {
    max-width: 100%;
      height: 300px;
  }
}



 /* CARE PLANS SECTION */
/* CARE PLANS SECTION LAYOUT FIX */
#care-plans {
  padding: 50px 8%;
  background: var(--white);
  text-align: center;
  
}
#care-plans .section-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: var(--teal);
  margin-bottom: 10px;
}

#care-plans .section-sub {
 
  color: #000000;
  font-size: 1.1rem;
  line-height: 1.6;
}


#care-plans .care-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}

#care-plans .care-col {
  flex: 1 1 calc(33.333% - 20px); /* 3 per row on desktop */
  display: flex;
  align-items: stretch;
  min-width: 280px;
}

#care-plans .care-card {
  border: 1px solid #eaeaea;
  border-radius: 12px;
  background: #ffd9d9;
  padding: 20px;
  text-align: center;
  transition: 0.3s ease-in-out;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

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

#care-plans .icon {
  color: #F15A22;
  margin-bottom: 15px;
  font-size: 26px;
}

#care-plans .care-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  margin-bottom: 10px;
  color: var(--black);
}

#care-plans .care-desc  {
  font-family: 'Roboto', sans-serif;
  font-size: 15px;
  color: var(--black);
}

/* RESPONSIVE */
@media (max-width: 992px) {
  #care-plans .care-col {
    flex: 1 1 calc(50% - 20px); /* 2 per row on tablets */
  }
}

@media (max-width: 576px) {
  #care-plans .care-col {
    flex: 1 1 100%; /* 1 per row on mobile */
  }
}
/* Slight icon size tweak (scoped) */
#care-plans .icon i {
  font-size: 32px;
  line-height: 1;
  display: inline-block;
}

/* Section Styling */
#pricing {
  background-color: #ffffff;
  padding: 60px 0;
}

#pricing .section-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #36C2C9;
  margin-bottom: 15px;
}

#pricing .section-title,
#pricing .section-desc {
  max-width: 900px;        /* Controls total content width */
  margin: 0 auto 20px;     /* Centers content with spacing below */
  padding: 0 20px;         /* Adds some inner space on both sides */
  text-align: center;      /* Centers text horizontally */
}
#pricing .section-desc {
  font-size: 1.1rem;  
  color: #000000;
  font-size: 1.1rem;
  line-height: 1.6;
}


/* Table Styling */
.care-pricing-table {
  width: 100%;
  border-collapse: separate;  /* allows rounded corners */
  border-spacing: 0;
  margin: 0 auto;
  background-color: #b2f0e6; /* light teal */
  font-family: 'Roboto', sans-serif;
  color: #000000;
  border-radius: 12px; /* rounded corners */
  overflow: hidden;    /* ensures corners stay rounded */
}

/* Header */
.care-pricing-table thead th {
  background-color: #ff7340; /* dark teal */
  color: #000000; /* black text */
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  padding: 15px;
  text-align: center;
  border-bottom: 2px solid #c2c2c2; /* subtle grey horizontal line */
  border-right: 2px solid #000000;  /* vertical black line */
}

/* Remove right border for last header cell */
.care-pricing-table thead th:last-child {
  border-right: none;
}

/* Body cells */
.care-pricing-table tbody td {
  padding: 12px;
  text-align: center;
  border-bottom: 1px solid #c2c2c2; /* subtle grey horizontal line */
  border-right: 2px solid #000000;  /* vertical black line */
  background-color: #dffffa;        /* base teal */
}

/* Remove right border for last column */
.care-pricing-table tbody td:last-child {
  border-right: none;
}

/* Alternate row background for readability */
.care-pricing-table tbody tr:nth-child(even) td {
  background-color: #d0f4f1; /* lighter teal */
}

/* Optional: hover effect for modern feel */
.care-pricing-table tbody tr:hover td {
  background-color: #a1e0dc; /* slightly darker teal on hover */
  transition: background 0.3s ease;
}

/* Button Styling */
.btn-container {
  text-align: center;  /* Centers the button horizontally */
  margin-top: 20px;    /* Space above the button */
}

.btn-consult { 
  display: inline-block;
  background-color: #F15A22;
  color: #ffffff;
  padding: 12px 28px;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 8px;
  transition: 0.3s ease;
}

.btn-consult:hover {
  background-color: #d94e1d; /* Darker shade on hover */
  transform: translateY(-2px); /* Small lift effect */
}


.btn-consult:hover {
  background-color: #d94e1d; /* Slightly darker on hover */
  transform: translateY(-2px); /* Small lift effect */
}


.btn-consult:hover {
  background-color: #d94d1d;
}
/* HOW IT WORKS SECTION */
#how-it-works {
  background: #f9f9f9;
  padding: 60px 20px;
  position: relative;
}

#how-it-works .section-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 40px;
  margin-left: 30px; /* Shift title slightly right */
  color: #36C2C9;
}

.steps-container {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 700px;
  margin: 0 auto;
  position: relative;
  padding-left: 40px;
}

.steps-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50px;
  width: 4px;
  height: 100%;
  background: #F15A22; /* Line color */
  border-radius: 2px;
}

.step {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: #ffe5e5;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: 0.3s ease;
  position: relative;
}

.step:hover {
  transform: translateY(-5px);
}

.step-icon {
  font-size: 28px;
  background: #F15A22;
  color: #fff;
  padding: 15px;
  border-radius: 50%;
  flex-shrink: 0;
  z-index: 1;
}

.step-content h4 {
  font-size: 18px;
  margin-bottom: 5px;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
}

.step-content p {
  font-size: 15px;
  margin: 0;
  color: #555;
  font-family: 'Roboto', sans-serif;
}
/* FAMILY TESTIMONIALS SECTION */
#family-testimonials {
  background: #fff;
  padding: 60px 20px;
}

#family-testimonials .section-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 40px;
  color:#36C2C9;
  text-align: center;
}

.testimonial-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 750px;
  margin: 0 auto;
}

.testimonial-card {
  background: #ffe2e2;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  text-align: left;
  transition: transform 0.3s ease;
}

.testimonial-card:hover {
  transform: translateY(-3px);
}

.testimonial-text {
  font-size: 16px;
  font-style: italic;
  color: #444;
  margin: 0 0 10px;
  line-height: 1.6;
}

.testimonial-author {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #F15A22;
}

.btn-orange {
  background: #F15A22;
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 6px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  transition: background 0.3s ease;
  display: inline-block;
}

.btn-orange:hover {
  background: #d94d1e;
}

.text-end {
  text-align: right;
}
/* Button wrapper slightly right from center */
#family-testimonials .btn-wrapper {
  text-align: center; /* center base */
}

#family-testimonials .btn-wrapper .btn-orange {
  display: inline-block;
  margin-left: 20px; /* shifts button slightly right */
  transition: transform 0.3s ease;
}

/* Hover effect: gentle slide right */
#family-testimonials .btn-wrapper .btn-orange:hover {
  transform: translateX(5px); /* slide 5px to right on hover */
}

/* BOOKING & CONTACT SECTION */
.section-title {
  text-align: center;
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 12px;
  font-family: 'Montserrat', sans-serif;
  color: #36C2C9;
}

#contact-form-section {
  position: relative;
  
  padding: 60px 0;
  color: var(--black);
  font-family: 'Roboto', sans-serif;
}

#contact-form-section .overlay {
  background: linear-gradient(to bottom, #d8f9f8, #b6f1ec);
  padding: 60px 20px;
}

/* Centered Form */
#contact-form-section .form-wrapper {
  max-width: 600px;
  margin: 0 auto;
}

/* Form Card */
#contact-form-section .booking-form {
  background: #fff;
  padding: 28px;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  transition: transform 0.2s ease;
  width: 100%;
  box-sizing: border-box;
}

#contact-form-section .booking-form:hover {
  transform: translateY(-3px);
}

/* Form Fields */
#contact-form-section .form-row {
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
}

#contact-form-section label {
  font-size: 14px;
  margin-bottom: 6px;
  color: #333;
  font-weight: 500;
}

#contact-form-section input,
#contact-form-section select,
#contact-form-section textarea {
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #ff842d;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#contact-form-section input:focus,
#contact-form-section select:focus,
#contact-form-section textarea:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(54,194,201,0.1);
  outline: none;
}

/* Buttons */
#contact-form-section .form-actions {
  display: flex;
  gap: 14px;
  margin-top: 10px;
  flex-wrap: wrap;
}

#contact-form-section .btn-orange,
#contact-form-section .btn-whatsapp {
  flex: 1;
  text-align: center;
  padding: 10px 20px;
  border-radius: 10px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
  text-decoration: none;
  box-sizing: border-box;
}

#contact-form-section .btn-orange {
  background: orangered;
  color: #fff;
}
#contact-form-section .btn-orange:hover { background: #d94d1e; }

/* Consent Text Styling */
.consent-text {
  font-size: 13px;
  color: #444;
  text-align: center;
  margin: 10px 0 15px;
  line-height: 1.4;
}
/* WhatsApp Round Button */
.btn-whatsapp {
  width: 44px;
  height: 44px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.btn-whatsapp:hover {
  background: #1ebe57;
  transform: scale(1);
}

/* WhatsApp Icon */
.btn-whatsapp .whatsapp-icons {
  width: 30px;
  height: 30px;
  display: block;
}



/* Responsive Fix */
@media (max-width: 600px) {
  #contact-form-section .form-actions {
    flex-direction: column;
    gap: 10px;
  }
  #contact-form-section .btn-orange,
  #contact-form-section .btn-whatsapp {
    width: 100%;
    flex: unset;
  }
}
#successMessage {
  font-size: 16px;
  color: #36C2C9;
  text-align: center;
  margin-bottom: 20px;
  animation: fadeIn 0.6s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}


#faq {
  background: #ffffff;
  padding: 60px 20px;
}

#faq .section-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 28px;
  color: #222;
  margin-bottom: 30px;
}

.accordion-button {
  font-family: 'Roboto', sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #333;
  background-color: #fff;
  border: none;
  box-shadow: none;
  padding: 15px;
  transition: 0.3s ease;
}

.accordion-button:hover {
  background: #eef6ff;
  color: #ff6a00;
}

.accordion-body {
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  color: #555;
  background: #fff;
  padding: 15px 20px;
}

.accordion-item {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-bottom: 10px;
  overflow: hidden;
}

.btn-consult {
  display: inline-block;
  background-color: #F15A22;
  color: #ffffff;
  padding: 12px 24px;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 6px;
  transition: 0.3s ease;
}

.btn-consult:hover {
  background-color: #d94e1e;
}
#faq .btn-container {
  text-align: center; /* Centers the button */
  margin-top: 30px;
}
.hero [data-aos] {
  opacity: 0;
  transition: all 1s ease !important;
}

/* =========================
   Shared FAQ Styles
   ========================= */
#faq, 
#care-faq {
  background: #ffffff; /* Light background */
  padding: 60px 20px;
}

#faq .section-title, 
#care-faq .section-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: var(--teal);
  line-height: 1.2;
  margin-bottom: 30px;
  text-align: center;
}

/* Accordion Buttons */
#faq .accordion-button, 
#care-faq .accordion-button {
  font-family: 'Roboto', sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: var(--black);
  background-color: #ffdddd;
  border: none;
  box-shadow: none;
  padding: 15px 20px;
  transition: background 0.3s ease;
  border-radius: 6px;
}

/* Active/Open Accordion Button */
#faq .accordion-button:not(.collapsed), 
#care-faq .accordion-button:not(.collapsed) {
  background-color: var(--teal);
  color: var(--white);
  border-color: #49f3ff !important;
  box-shadow: none !important;
}

/* Accordion Body */
#faq .accordion-body, 
#care-faq .accordion-body {
  font-size: 16px;
  color: #000000;
  padding: 15px 20px;
  background: #ffdddd;
}

/* Accordion Items */
#faq .accordion-item, 
#care-faq .accordion-item {
  border: none;
  margin-bottom: 10px;
  border-radius: 6px;
  overflow: hidden;
  background: #ffd7d7;
}

/* CTA Button */
#faq .btn-cta, 
#care-faq .btn-cta {
  display: inline-block;
  background-color: var(--orange);
  color: var(--white);
  font-size: 16px;
  font-weight: 700;
  padding: 12px 30px;
  border-radius: 6px;
  text-align: center;
  transition: background 0.3s ease;
  text-decoration: none;
  margin-top: 20px;
}

#faq .btn-cta:hover, 
#care-faq .btn-cta:hover {
  background-color: #d84d1c;
  color: #fff;
}

    #plans {
      padding: 50px 20px;
    }

    .swiper {
      width: 100%;
      /* padding-bottom: 50px; */
      padding: 0 20px 50px;
    }

    .swiper-wrapper {
      display: flex;
      align-items: stretch;
     /* padding: 0 30px; */
    }

    /* ======== Card Styling ======== */
    .plan-card {
      background: #fff;
      border-radius: 16px;
      /* box-shadow: 0 4px 15px rgba(0,0,0,0.1); */
      overflow: hidden;
      text-align: center;
      transition: transform 0.3s ease;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding-bottom: 15px;
    }

    .plan-card:hover {
      transform: translateY(-5px);
    }

    .plan-card img {
      width: 100%;
      height: 300px;
      object-fit: cover;
      border-bottom: 1px solid #eee;
    }

    /* ======== Card Content ======== */
    .plan-content {
      padding: 20px;
      text-align: left;
    }

    .card-heading {
      font-size: 1.5rem;
      font-weight: bold;
      color: #000000;
      margin-bottom: 10px;
    }

    .plan-content p {
      font-size: 1.4rem;
      color: #070707;
      margin-bottom: 15px;
    }

    /* ======== Price Styling ======== */
    .price {
      font-size: 2rem;
      font-weight: 700;
      color: #28a745;
      margin-bottom: 15px;
      text-align: center;
    }

    /* ======== Buttons ======== */
    .button-box {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-bottom: 15px;
      flex-wrap: wrap;
    }

    .price-button {
      padding: 8px 14px;
      border: 1px solid #111111;
      background: #fff;
      color: #030303;
      border-radius: 8px;
      cursor: pointer;
      transition: all 0.3s ease;
      font-size: 0.85rem;
    }

    /* .price-button:hover {
      background: #28a745;
      color: #fff;
    } */

    .active-plan {
      background:var(--orange);
      color: #fff;
    }

    /* ======== Plan Inclusions ======== */
    .plan-content h4 {
      font-size: 1rem;
      font-weight: 600;
      color: #333;
      margin: 15px 0 10px;
    }

    .inclusions {
      padding-left: 20px;
      list-style: disc;
      color: #555;
      font-size: 1.3rem;
      line-height: 1.2;
    }

    /* ======== Swiper Controls ======== */
    .swiper-button-next,
    .swiper-button-prev {
      color: #28a745;

    }

    .swiper-pagination-bullet {
      background: #28a745;
    }

    /* ======== Responsive ======== */
    @media (max-width: 768px) {
      .plan-card img {
        height: 160px;
      }
    }
.swiper-pagination span{
  background-color: var(--orange);
}