/* ==========================================================================
   AIM Subpage Readability Polish
   Final layer for legibility. Does not change grids/layouts or prior fixes.
   ========================================================================== */

/* Make card titles more readable and visually confident */
.service-detail-card h3,
.service-feature-card h3,
.service-related-card h3,
.resource-category-card h3,
.resource-article-body h3,
.condition-card h3,
.patient-option-card h3,
.credential-mini h3,
.philosophy-card-enhanced h3,
.contact-side-card .label,
.contact-page-field label {
  font-weight: 700 !important;
  color: var(--aim-blue, #042249) !important;
}

/* Service detail subpages: fix small/faint card titles like the reference screenshot */
.service-detail-page .service-feature-card h3 {
  font-family: var(--font-body) !important;
  font-size: clamp(17px, 1.35vw, 21px) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 10px !important;
}

.service-detail-page .service-feature-card p {
  font-size: clamp(15.5px, 1.05vw, 17px) !important;
  line-height: 1.65 !important;
  color: var(--aim-text-soft, #4e5a67) !important;
}

.service-detail-page .service-related-card h3 {
  font-size: clamp(28px, 2.3vw, 36px) !important;
  line-height: 1.06 !important;
}

.service-detail-page .service-related-card p {
  font-size: 15.5px !important;
  line-height: 1.62 !important;
}

/* Hero and article text */
.service-detail-page .service-detail-hero .body-copy,
.resource-detail-page .resource-detail-hero .body-copy,
.about-page .story-copy {
  font-size: clamp(17px, 1.08vw, 19px) !important;
  line-height: 1.78 !important;
}

/* General resource card readability */
.resource-category-card h3 {
  font-size: clamp(29px, 2.35vw, 38px) !important;
  line-height: 1.08 !important;
}

.resource-category-card p {
  font-size: 15.5px !important;
  line-height: 1.65 !important;
}

.resource-article-body h3 {
  font-size: clamp(25px, 2vw, 31px) !important;
  line-height: 1.08 !important;
}

.resource-article-body p {
  font-size: 15px !important;
  line-height: 1.62 !important;
}

/* Health Conditions flip cards */
.condition-card h3 {
  font-size: clamp(28px, 2.25vw, 38px) !important;
  line-height: 1.06 !important;
}

.condition-card p,
.condition-card-list li {
  font-size: 15.25px !important;
  line-height: 1.6 !important;
}

/* Process steps and smaller instructional text */
.service-process-step h3,
.visit-step h3 {
  font-size: 15.5px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.service-process-step p,
.visit-step p,
.patient-option-card p,
.patient-large-card li {
  font-size: 14.75px !important;
  line-height: 1.58 !important;
}

/* Footer remains compact but not tiny */
.footer-column a,
.footer-column p,
.hours-row {
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.footer-note,
.footer-bottom {
  font-size: 12.75px !important;
  line-height: 1.5 !important;
}

/* CTAs and small links remain readable */
.service-detail-link,
.resource-card-link,
.resource-article-read,
.resource-article-body span,
.patient-option-card .card-link,
.arrow-link,
.text-link {
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

/* Form labels and inputs */
.contact-page-field label,
label {
  font-size: 12.5px !important;
}

input,
select,
textarea,
.contact-page-field input,
.contact-page-field select,
.contact-page-field textarea {
  font-size: 15.5px !important;
}

/* Do not let long headings become too delicate */
h1,
h2,
h3 {
  text-rendering: optimizeLegibility;
}

/* Mobile readability */
@media (max-width: 720px) {
  .service-detail-page .service-feature-card h3,
  .service-process-step h3,
  .visit-step h3 {
    font-size: 17px !important;
  }

  .service-detail-page .service-feature-card p,
  .service-related-card p,
  .resource-category-card p,
  .condition-card p,
  .condition-card-list li {
    font-size: 15px !important;
  }

  .resource-category-card h3,
  .condition-card h3 {
    font-size: clamp(28px, 8vw, 36px) !important;
  }
}
