/* General Reset */
* {
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
}

.pricing-appointment-button {
  align-items: center;
}

.appointment-btn {
  font-size: 24px;
  font-weight: bold;
  padding: 1vw 3vw;
  background-color: #011422 transparent 0.5;
  color: #287946;
  border: none;
  border-radius: 2vw;
  cursor: pointer;
  transition: background-color 0.8s ease;
  box-shadow: 1vw 1.2vw 2vw rgba(0, 0, 0, 0.2);
  display: block;
  /* make button take up its own line */
  margin: 2rem auto 0;
  /* center horizontally with margin */

}


.appointment-btn:hover {
  background-color: #a5a7a6;
}

/* Header-page */


.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;

  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}

/* Flex Layout */
.header-container {
  background-color: #60b8fd;
  height: 5rem;
  padding: 0.6rem 2rem;
  color: #60b8fd;
  display: flex;
  align-items: center;
  justify-content: right;
  gap: 20rem;



  position: relative;

  padding: 0 1rem;
}btn

/* Logo Title */
.header-page h1 {
  font-size: 1rem;
  margin: 0;
  color: #60b8fd;
}

/* Navigation Links */
 
.header-container .navigation-section ul {
  display: flex;
  list-style: none;
  margin: 0;
}

.header-container .navigation-section li a {
  white-space: nowrap;
  color: rgb(27, 2, 252);
  text-decoration: none;
  font-size: 1.1em;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 500;
  transition: color 0.3s ease;
}
 

.navigation-section li a:hover {
  color: rgb(4, 26, 148);
}

/* Contact and Button Area */
.header-cta {
  display: flex;
  gap: 1rem;
  align-items: center;



}


.header-phone {
  color: rgb(27, 2, 252);
  text-decoration: none;
  font-size: 1.5em;
  font-weight: 400;
  white-space: nowrap;
  position: relative;

}

.header-page .phone-link:hover {
  color: rgb(4, 26, 148);
  text-decoration: underline;
}


.header-page .header-appointment-button {
  align-items: center;
  justify-content: center;
  margin-bottom: 2.5rem;
  padding: 3rem;
}

.header-page .appointment-btn {
  font-size: 1.2rem;
  font-weight: bold;
  font-weight: bold;
  white-space: nowrap;
  padding: 1rem 2.5rem;


}

.header-logo img {
  width: 20rem;
}


/* Base styles */


.header-page .navigation-section ul {
  display: flex;
  gap: 3rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
 
  .navbar-toggler {
    border: 2px solid #48adfa; /* Change this color as needed */
    border-radius: 6px; /* Optional: round the corners */
    padding: 0.3rem 0.1rem;
  }

.hamburger {
  display: none;
  border: solid #9abbfd;
  flex-direction: column;
  cursor: pointer;
  border-radius: 0.5rem;
  align-items: center;
  justify-content: center;
  background: #60b8fd;
  padding: 5px;
}

.hamburger span {
  height: 3px;
  width: 25px;
  background-color: #013aac;
  margin: 4px 0;
  transition: background-color 0.4s;
}

/* When active: change hamburger color */




/*header-page end*/



/*footer-page*/






.footer {
  background: linear-gradient(135deg, #0e1a3c, #0e1a3c, #013aac);
  /* dark blue gradient */
  color: #f0f8ff;
  font-family: 'Segoe UI', sans-serif;
 
}
 
.footer-logo {
  max-width: 300px;
  width: 100%;
}
 

.contact-link {
  color: white;
  text-decoration: none;
  transition: color 0.3s ease;
}

.contact-link:hover,
.contact-link:focus {
  color: #007bff;
  /* blue */
  text-decoration: underline;
}


 
.footer .col h2{color:#80c9ff}
 

.footer-contact p {
  font-size: 1.2rem;
  margin: 0.5rem 0;
  color: #d2d3d4;

}
.footer-links ul li a{
  font-size: 1.2rem;
  margin: 0.5rem 0;
  color: #e1e1e2;

}



.footer-links ul {
  list-style: none;
  padding: 0;
}

.footer-links ul li a:hover {
  color: #e9e7e7;
  text-decoration: underline;
}

.social-icons {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}

.social-icons a {
  font-size: 1.5rem;
  color: #80c9ff;
  transition: transform 0.3s ease, color 0.3s;
}

.social-icons a:hover {
  transform: scale(1.2);
  color: #ffffff;
}

.footer-bottom {
  text-align: right;
  border-top: 1px solid #27405f;
  margin-top: 1rem;
  padding-top: 1rem;
  font-size: 0.85rem;
  color: #b0cce3;
}

 



/*footer- end*/




/*Home-page*/


.logo img {

  margin: 5vw;
  width: 20%;
}

.service h1 {
  font-family: Arial;
  color: #287946;
  
}

.service h2,
.sevice h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.8em;
  
}

.service h2 {
  font-size: 42px;
  font-weight: bold;
  font-family: Arial;
  color: #287946;

}

.service h3 {
  font-size: 36px;
  color: #60b8fd;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.8em;

}

.service p {
  font-size: 20px;
  color: #60b8fd;
}


.sb {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1vw 20vw;

}

.sb div {
  width: 500px;
  text-align: center;
}
 .circle-image {
      width: 300px;              /* Adjust size as needed */
      height: 300px;
      border-radius: 50%;        /* Makes it a perfect circle */
      object-fit: cover;         /* Ensures image fills the shape */
      border: 4px solid #287946; /* Optional: nice green border */
      box-shadow: 0 0 10px rgba(0,0,0,0.2);
    }
 
.balance-cantainer h3{
  font-size: 1.2rem;
  font-weight: 600;
  color: #287946;
 text-decoration: underline;
      display: block;
      margin-bottom: 10px;

}

  .balance-cantainer h3 .spaced-underline {
    display: inline-block;
    border-bottom: 3px solid #60b8fd;
    padding-bottom: 3px;
  }


.balance {
  margin-bottom: 40px;
}


.balance p {
  font-size: 24px;
  font-weight: bold;
  font-family: Arial;
  color: #60b8fd;
  padding-left: 8vw;
}

.maps {
  font-family: Arial;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3vw 20vw;
 
 
 

}
 

.maps div {
  width: 500px;
  text-align: center;
 margin: 2rem;
 


}
.google-map{  
   width:30rem;
  height:18rem ;
  border:#011422;
}

.maps h2 {
  font-size: 30px;
  color: #60b8fd;
  text-decoration: underline;
  justify-content: center;
  align-items: center;

}

.maps h3 {
  font-size: 15px;
}

.working h2 {

  padding: 2vw;
  align-items: center;
  justify-content: center;
}



.table {
  margin: 0 auto;

  border-collapse: collapse;
}

.th,
td {
  position: relative;
  margin: 6vw 10vw;
  padding: 0.25vw 2vw;
  left: 60%;
}

td {
  text-align: left;
}

.workingapp {
  font-family: Arial;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1vw 13vw;




}

.workingapp div {
  width: 100%;
  text-align: center;




}

.workingapp h2 {
  font-size: 24px;
  color: #60b8fd;
  text-decoration: underline;
  justify-content: center;
  align-items: center;

}

.contactphone h3 {
  font-size: 25px;
  padding: 0.5vw;


}

.contactphone h4 {
  font-size: 18px;

}

.appointment-btn,
.balance p {
  margin-top: 2em;
}



/*home-page end*/



/* about.css */

/* Blur effect overlay */
.about-page::before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.4);
  /* Optional tint */
  z-index: 0;
}

.about {
  position: relative;
  z-index: 1;
  line-height: 2rem;
  margin: 1rem auto;
  padding: 1rem;
}

.about .button {
  display: flex;
  justify-content: center;
  /* centers horizontally */
  align-items: center;
}

.about h1 {
  font-size: 2rem;
  color: #287946;
  margin-bottom: 0.5rem;
}

.about h2 {
  font-size: 1.8rem;
  font: bolder;
  color: #60b8fd;
  margin-bottom: 1.5rem;
}

.about .highlight-service {
  color: #287946;
  /* Dark green */
  font-size: 1.3em;
  font-weight: bold;
}

.about h3 {
  font-size: 1.5rem;
  color: #145d50;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.about h4 {
  font-size: 1.2rem;
  color: #145d50;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

.about p {
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 1rem;
}

.about ul {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
  list-style: none;
}

.about ul li {
  padding-left: 1rem;
  position: relative;
  margin-bottom: 0.6rem;
}

.about ul li::before {
  content: "\2022";
  position: absolute;
  left: 0;
  color: #287946;
  font-size: 1.2rem;
  line-height: 1;
}

/*about-introduce*/
.about .gradient-border {
  background: linear-gradient(145deg, #e6f9ff, #ffffff);
  border: 2px solid #c2e8f2;
  border-radius: 20px;
  padding: 2.5rem;
  max-width: 900px;
  margin: 3rem auto;
  box-shadow: 0 24px 24px rgba(0, 0, 0, 0.1);
  position: relative;
  text-align: left;
}

.about .highlight {
  color: #40aafc;
  font-size: 20px;
  font: bold;
}

.about .cover-insurance {
  color: #40aafc;
  font-size: 18px;
  font: bold;
}

.about .intro-icon {
  font-size: 5rem;
  position: absolute;
  top: -25px;
  left: 20px;
}

.babout .headline {
  font-size: 2rem;
  font-weight: 700;
  color: #287946;
  margin-bottom: 1rem;
}

.about .brand-name {
  color: #287946;
  font-size: 18px;
  font-weight: 600;
}

/*about-intoduce end*/

/*about-acupucture*/



.about .acupuncture-card {

  background: linear-gradient(110deg,
      #fdfdfd,
      #f6fdf6,
      #f8faf9,
      #84f5ad);
  border: 2px linear-gradient(110deg,
      #fdfdfd,
      #f6fdf6,
      #f8faf9,
      #49a86c);
  border-radius: 16px;
  padding: 3rem;
  max-width: 900px;
  margin: 0 auto;
  box-shadow: 0 16px 36px black;
  animation: fadeIn 0.7s ease-in-out both;
}

.about .acupuncture-card h2 {

  font-size: 2rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

.about .acupuncture-card h3 {
  color: #2c6454;
  font-size: 1.4rem;
  margin: 2rem 0 1rem;
  font-weight: 600;
}

.about .acupuncture--card p {
  font-size: 1.125rem;
  line-height: 1.8;
  margin-bottom: 1.5rem;
}

.about .acupuncture-card .summary {
  font-size: 1.1rem;
  color: #334;
}

.about .emphasis {
  font-weight: 600;
  color: #287946;
}

.about .acupuncture-treatment-list {
  list-style: none;
  padding: 0;
  margin-left: 0;
}

.about .acupuncture-treatment-list li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 12px;
  font-size: 1.05rem;
  line-height: 1.6;
}

.about .acupuncture-treatment-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #1c8c63;
  font-size: 1rem;
}

.about .acupuncture-treatment-list .highlight {
  color: #007acc;
  font-weight: 600;
}

/*about-herbal therapy option*/
.about .herbal.therapy {

  border-radius: 16px;
  border: 2px solid rgb(224, 224, 255);
  box-shadow: 0 24px 24px black;
  padding: 2.5rem;
  max-width: 900px;
  margin: 3rem auto;
  font-family: 'Segoe UI', sans-serif;
  color: #1f3c2f;
}

.about .herbal-therapy-icon {
  font-size: 5rem;
  position: absolute;
  top: -25px;
  left: 20px;
}

.wave-divider {
  width: 100%;
  overflow: hidden;
  line-height: 0;

}

.about .herbal.therapy {

  background: linear-gradient(110deg,
      #ffff,
      #faf7f3,
      #fcf2e6,
      #60b8fd);
  border: 2px linear-gradient(110deg,
      #ffff,
      #fdf1e3,
      #a4d6fc,
      #60b8fd);
}

.wave-divider svg {
  display: block;
  width: 100%;
  height: 80px;
}


.about ul {
  list-style: none;
  padding-left: 0;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
}

.about ul li::before {
  content: "\2713";
  /* Unicode checkmark */
  color: #1c8c63;
  font-weight: bold;
  margin-right: 10px;
}

/*about-herbal therapy option end*/

/*about-massage therapy e*/
.about .massage-trerapy {

  background: linear-gradient(110deg,
      #fdfdfd,
      #f6fdf6,
      #f8faf9,
      #84f5ad);
  border: 2px linear-gradient(75deg,
      #fdfdfd,
      #f6fdf6,
      #f8faf9,
      #49a86c);
  border-radius: 16px;
  padding: 3rem;
  max-width: 900px;
  margin: 0 auto;
  box-shadow: 0 16px 36px black;
  animation: fadeIn 0.7s ease-in-out both;
}



/*about-massage therapy end*/
/*about-page end*/

/*appointment-page start*/


body.appointment-page {
  font-family: Arial, sans-serif;
  background-color: white;
  margin: 0;
  padding: 0;
}

.appointment-page h2 {
  font-size: 36px;
  font-weight: bold;
  color: #287946;
  text-align: center;
  margin: 2rem;


}

.appointment-page .my-container {
  max-width: 680px;
  padding: 2rem;
  background: #f2faf5;
  border-radius: 20px;
  box-shadow: 1rem 1.2rem 2rem rgba(0, 0, 0, 0.2);
  margin-bottom: 3rem;
}

.appointment-page .form-group {
  align-items: center;
  margin: 1rem;
  display: flex;

}

.appointment-page label {
  width: 140px;
  font-size: 16px;
  margin-left: 10px;
  text-align: left;

}

.appointment-page input[type="text"],
input[type="email"],
input[type="date"],
select {
  width: 400px;
  /* 设置输入框的固定宽度 */

  padding: 0.6rem 1rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 15px;

}


.appointment-page .time-buttons button {

  margin: 0.3rem 0.5rem;

  padding: 0.3rem;
  border: 2px solid transparent;
  border-radius: 4px;
  background-color: green;
  color: white;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 1rem 1.2rem 2rem rgba(0, 0, 0, 0.2);

}

.appointment-page .time-buttons button.pressed {
  border: 2px solid rgb(0, 36, 0);
  transform: scale(0.97);
  background-color: rgb(1, 75, 1);
}

.appointment-page .time-buttons button.confirmed {
  background-color: grey;
  border-color: grey;
  cursor: default;
}

.appointment-page .submit-container {
  display: flex;
  justify-content: center;
  /* Centers horizontally */
  margin-bottom: 3rem;
  /* Optional: adds space above the button */
}

.appointment-page .submit-btn {
  background-color: #def0fd;
  font-size: 18px;
  font-weight: bold;
  color: black;
  border: 2px solid transparent;
  padding: 1rem 4rem;
  margin-top: 2rem;
  border-radius: 8px;
  box-shadow: 1rem 1.2rem 2rem rgba(0, 0, 0, 0.2);
  transition: 0.5s ease;
  cursor: pointer;
  white-space: nowrap;
  /* Keeps text on one line */
}


.appointment-page .notice {
  text-align: center;
  color: red;
  font-size: 0.9rem;
  margin-top: 1rem;
}


/*appointment page end*/


/*pricing-page*/


.pricing-page {
  font-family: "Segoe UI", sans-serif;
  background-color: #f5fff9;

}



.acupuncture-cupping-section {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 2rem auto;
  max-width: 1200px;
}

.apcupuncture-pricing {
  display: flex;
}

.massage-pricing {
  display: flex;
  ;
}

.herbal-pricing {
  display: flex;
}


.pricing-card {
  background: linear-gradient(135deg, #feffff, #e1fcec);
  box-shadow: 0 10px 25px #0e2c19;
  border-radius: 16px;
  /*width: 30rem;
  margin: 3rem;*/
  padding: 2rem;
  flex: 1 1 350px;
  transition: transform 0.3s ease;
}

.pricing-card:hover {
  transform: translateY(-5px);
}

.pricing-card h2 {
  font-size: 1.8rem;
  color: #60b8fd;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.pricing-card h3 {

  font-size: 1.4rem;
  color: #60b8fd;
  margin-bottom: 0;
  text-align: center;
}

.pricing-card h4 {

  font-size: 1.2rem;
  color: #287946;
  line-height: 4rem;
  margin-bottom: 0;
  text-align: center;
}

.pricing-card h5 {

  font-size: 1.25rem;
  color: #60b8fd;
  margin-bottom: 0;
  text-align: center;
}

.pricing-card p {
  color: #60b8fd;
  font-size: 20px;
  font: bold;
  display: flex;
  justify-content: center;
}

.pricing-list {
  font-size: 25px;
  list-style: none;
  padding: 2rem;
  margin-bottom: 1.5rem;
  line-height: 3rem;
}

.pricing-list li {
  font-size: 1.2rem;
  margin-bottom: 1rem;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px dashed #c1e3d4;
  padding-bottom: 4px;
}

.pricing-list strong {
  color: #1c5535;
}

.other-price {
  margin: 2.5rem;
}

.other-price h4 {
  line-height: 3rem;
}

/*policy*/





/*pricing-page end*/

@media (max-width: 768px) {
  /*header-page style*/

  /* Contact and Button Area */
  .header-cta {
    font-size: 0.8rem;


  }

  .header-phone {
    margin-right: -6rem;
  }

  .header-page .appointment-btn {
    font-size: 18px;
    padding: 2.5vw;
    margin-right: -16rem;

  }

  .navigation-section ul {
    display: none;
    flex-direction: column;
    background-color: #ffffff;
    padding: 1rem;
    position: absolute;
    top: 100%;
    right: 0;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  }

  .navigation-section ul.active {
    display: flex;
  }

  .hamburger {
    display: flex;
  }


  .navigation-section ul.active {
    display: flex;
  }


  /*header-page end*/
  /*home-page style*/
  body {
    padding-top: 0px;
    min-width: 375px;
  }

  .logo img {
    width: 70%;
    padding-left: 20vw;
  }

  .balance img {
    flex-direction: column;
    /*padding: 5vw 35vw 2vw 5vw;
    margin: 5vw;*/
  }

  .balance p {
    position: relative;

  }
  .map{position: relative;}

.google-map{width:18rem;
            height:10rem;}
  .sb,
  .maps,
  .workingapp {
    flex-direction: column;
    padding: 10px 10px;

  }

  .sb div,
  .maps div,
  .workingapp div {
    width: 100%;

  }

  .workingapp {
    gap: 10vw
  }

  /* home-page end*/

  /*about-page*/

  .about-container {
    margin: 3rem 1rem;
    padding: 2rem;

  }

  .about-container h1 {
    font-size: 2rem;
  }

  .about-container h2 {
    font-size: 1.5rem;
  }

  /*Apointment-page*/

  .appointment-page .my-container {
    
    width: auto;
     
  }

  .appointment-page .form-group {
    display: flex;
    align-items: center;
    margin: 1rem;
    flex-wrap: nowrap;
    /* Prevent wrapping to keep label and input on the same line */
  }

  .appointment-page label {
 
   
    text-align: left;
    white-space: nowrap;
  }

  .appointment-page input[type="text"],
  input[type="email"],
  input[type="date"],
  select {
    width: 200px;
  }

  .appointment-page .time-buttons button {

    margin: 0.3rem 0.1rem;
  }

  .appointment-page .submit-btn {
    align-items: center;
    
  }

  /*pricing*/
 
.prcing-page{padding:1rem ;
  width:20rem;}


  /*footer-page style*/

 
  .footer .col i{ display: block;
  float: left;}
  
 
  }
/*abut-acupuncture*/

/* Optional subtle animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}