/* For custom CSS classes */

.gallery-subtitle {
  color: gray;
  text-align: center;
}

.map-div {
  padding-top: 20px;
}

.addr-text {
  color: white;
  padding-top: 20px;
}

.gallery-padding {
  padding-left: 10vw;
  padding-right: 10vw;
  padding-bottom: 60px;
}

.reviews-div {
  padding: 40px;
}

.cta-wrapper {
  text-align: center;
  margin: 10px 0 100px 0;
}

.big-button {
  display: inline-block;
  padding: 20px 32px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  color: white;
  background-color: #006d75;
  border: none;
  border-radius: 12px;
  text-decoration: none;
  text-align: center;
  max-width: 90%;
  width: 700px;
  white-space: normal;
  box-shadow: 0 6px 12px rgba(224, 224, 224, 0.35);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.big-button:hover {
  background-color: #333333;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

/* Responsive adjustment */
@media (max-width: 600px) {
  .big-button {
    width: 90%;
    font-size: 16px;
    padding: 14px 20px;
  }
}

/* Custom CSS for Dry Needling/IMS Page Only */
[data-wf-page="63c5fc39bac0aa29683c33fb"],
[data-wf-page="63c5fc39bac0aa78b83c3406"],
[data-wf-page="63c5fc39bac0aa78b83c3409"] {
  .div-block-21 h3.heading-15 {
    margin-top: 40px;
    margin-bottom: 20px;
  }

  .div-block-21 p.paragraph-5,
  .div-block-21 p.paragraph-6 {
    margin-bottom: 20px;
  }

  .div-block-21 p._7 {
    margin-bottom: 30px;
  }

  .div-block-21 p._7 + h3.heading-15 {
    margin-top: 50px;
  }

  h1.dry-needling {
    margin-bottom: 40px;
  }

  h1.dry-needling + .div-block-21 h3.heading-15:first-child {
    margin-top: 20px;
  }
}

/* Shockwave page spacing */
[data-wf-page="63c5fc39bac0aa78b83c3409"] {
  .div-block-22 h3.heading-15 {
    margin: 40px 0 20px;
  }

  .div-block-22 p.paragraph-5,
  .div-block-22 p.paragraph-6 {
    margin-bottom: 20px;
  }

  .div-block-22 p._7 {
    margin-bottom: 30px;
  }

  .div-block-22 p._7 + h3.heading-15 {
    margin-top: 50px;
  }

  .div-block-22 p.paragraph-9 {
    margin-top: 30px;
  }
}

.paragraph-5-fix {
  text-align: left;
  margin: 0 auto 20px auto;
  padding: 0;
  font-size: 20px;
  font-style: italic;
  line-height: 32px; /* better for readability at 20px font size */
  margin-bottom: 24px
}

.paragraph-6-fix {
  text-align: left;
  margin: 0 auto 20px auto;
  padding: 0;
  font-size: 20px;
  line-height: 32px; /* better for readability at 20px font size */
  margin-bottom: 24px
}


/* Vestibular Rehabilitation Page */
[data-wf-page] .div-block-16 {
  h3.heading-15 {
    margin-top: 40px;
    margin-bottom: 20px;
  }

  p.paragraph-5,
  p.paragraph-6 {
    margin-bottom: 20px;
  }

  p._7 {
    margin-bottom: 30px;
  }

  p._7 + h3.heading-15 {
    margin-top: 50px;
  }
}

/* Dropdown styles */
.dropdown-content {
  display: none;
  margin: 0.5rem 0;
  padding: 20px 1px 1px 20px;
  border-radius: 12px;
  background-color: #006d75;
}

.condition-item.open > .dropdown-content {
  display: block;
}

.dropdown-toggle {
  cursor: pointer;
  display: inline-block;
  margin-bottom: 0;
  transition: color 0.3s ease;
}

.dropdown-toggle:hover {
  color: #006d75;
}

.dropdown-arrow {
  display: inline-block;
  margin-left: 0.25rem;
  transition: transform 0.2s ease;
}

.conditions-list {
  list-style: none;
  padding-left: 0;
}

.dropdown-content .dropdown-text._7 {
  color: #fff;
}

/* SEO Content Section */
.section-seo-content {
  background-color: #f5f5f5;
  padding: 60px 20px;
  margin-bottom: 0;
}

.seo-content-wrapper {
  max-width: 1200px;
  margin: 0 auto;
}

.seo-heading {
  font-size: 32px;
  font-weight: 700;
  color: #006d75;
  text-align: center;
  margin-bottom: 30px;
  line-height: 1.3;
}

.seo-text-content {
  font-size: 18px;
  line-height: 1.8;
  color: #333;
}

.seo-text-content p {
  margin-bottom: 20px;
}

.seo-text-content strong {
  color: #006d75;
  font-weight: 600;
}

.seo-expandable-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-out;
}

.seo-expandable-content.expanded {
  max-height: 1000px;
  transition: max-height 0.5s ease-in;
}

.seo-read-more-link {
  display: inline-block;
  margin-top: 10px;
  color: #006d75;
  font-weight: 600;
  font-size: 18px;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}

.seo-read-more-link:hover {
  color: #004d54;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .seo-heading {
    font-size: 24px;
    margin-bottom: 20px;
  }

  .seo-text-content {
    font-size: 16px;
  }

  .seo-read-more-link {
    font-size: 16px;
  }
}

/* FAQ Section */
.section-faq {
  background-color: #ffffff;
  padding: 60px 20px;
  margin-bottom: 0;
}

.faq-wrapper {
  max-width: 1000px;
  margin: 30px auto 0;
}

.faq-item {
  background-color: #f9f9f9;
  border-left: 4px solid #006d75;
  padding: 20px 25px;
  margin-bottom: 20px;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.faq-item:hover {
  background-color: #f0f0f0;
  box-shadow: 0 4px 12px rgba(0, 109, 117, 0.1);
}

.faq-question {
  font-size: 20px;
  font-weight: 700;
  color: #006d75;
  margin-bottom: 12px;
  margin-top: 0;
}

.faq-answer {
  font-size: 17px;
  line-height: 1.7;
  color: #444;
  margin-bottom: 0;
}

.faq-q-marker {
  font-weight: 800;
  color: #006d75;
  margin-right: 8px;
}

.faq-a-marker {
  font-weight: 700;
  color: #006d75;
  margin-right: 8px;
}

@media (max-width: 768px) {
  .section-faq {
    padding: 40px 15px;
  }

  .faq-question {
    font-size: 18px;
  }

  .faq-answer {
    font-size: 16px;
  }

  .faq-item {
    padding: 15px 20px;
  }
}
