/*
 * Wema responsive hardening.
 *
 * Covers:
 * About, Telehealth, Insurance, FAQ, Contact, and Schedule.
 */

.wema-about-page,
.wema-telehealth-page,
.wema-insurance-page,
.wema-faq-page,
.wema-contact-page,
.wema-schedule-page {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  .wema-about-page,
  .wema-telehealth-page,
  .wema-insurance-page,
  .wema-faq-page,
  .wema-contact-page,
  .wema-schedule-page {
    overflow-x: clip;
  }
}

.wema-about-page *,
.wema-about-page *::before,
.wema-about-page *::after,
.wema-telehealth-page *,
.wema-telehealth-page *::before,
.wema-telehealth-page *::after,
.wema-insurance-page *,
.wema-insurance-page *::before,
.wema-insurance-page *::after,
.wema-faq-page *,
.wema-faq-page *::before,
.wema-faq-page *::after,
.wema-contact-page *,
.wema-contact-page *::before,
.wema-contact-page *::after,
.wema-schedule-page *,
.wema-schedule-page *::before,
.wema-schedule-page *::after {
  box-sizing: border-box;
  min-width: 0;
}

.wema-about-container,
.wema-telehealth-container,
.wema-insurance-container,
.wema-faq-container,
.wema-contact-container,
.wema-schedule-container {
  width: min(1220px, calc(100% - 48px)) !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.wema-about-page img,
.wema-about-page video,
.wema-about-page svg,
.wema-telehealth-page img,
.wema-telehealth-page video,
.wema-telehealth-page svg,
.wema-insurance-page img,
.wema-insurance-page video,
.wema-insurance-page svg,
.wema-faq-page img,
.wema-faq-page video,
.wema-faq-page svg,
.wema-contact-page img,
.wema-contact-page video,
.wema-contact-page svg,
.wema-schedule-page img,
.wema-schedule-page video,
.wema-schedule-page svg {
  max-width: 100%;
  height: auto;
}

.wema-about-page iframe,
.wema-telehealth-page iframe,
.wema-insurance-page iframe,
.wema-faq-page iframe,
.wema-contact-page iframe,
.wema-schedule-page iframe {
  width: 100%;
  max-width: 100%;
}

/* Tablet. */
@media (max-width: 980px) {
  .wema-about-page [class*="grid"],
  .wema-telehealth-page [class*="grid"],
  .wema-insurance-page [class*="grid"],
  .wema-faq-page [class*="grid"],
  .wema-contact-page [class*="grid"],
  .wema-schedule-page [class*="grid"] {
    gap: 20px !important;
  }

  .wema-insurance-network-grid,
  .wema-insurance-steps,
  .wema-contact-option-grid,
  .wema-schedule-card-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  .wema-about-page [class*="layout"],
  .wema-telehealth-page [class*="layout"],
  .wema-insurance-page [class*="layout"],
  .wema-faq-page [class*="layout"],
  .wema-contact-page [class*="layout"],
  .wema-schedule-page [class*="layout"],
  .wema-about-page [class*="split"],
  .wema-telehealth-page [class*="split"],
  .wema-insurance-page [class*="split"],
  .wema-faq-page [class*="split"],
  .wema-contact-page [class*="split"],
  .wema-schedule-page [class*="split"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .wema-faq-group,
  .wema-contact-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .wema-faq-group-heading {
    position: static !important;
  }
}

/* Phones. */
@media (max-width: 767px) {
  .wema-about-container,
  .wema-telehealth-container,
  .wema-insurance-container,
  .wema-faq-container,
  .wema-contact-container,
  .wema-schedule-container {
    width: min(100% - 32px, 1220px) !important;
  }

  /*
   * Force all new-page card grids into one readable column.
   */
  .wema-about-page [class*="grid"],
  .wema-telehealth-page [class*="grid"],
  .wema-insurance-page [class*="grid"],
  .wema-faq-page [class*="grid"],
  .wema-contact-page [class*="grid"],
  .wema-schedule-page [class*="grid"],
  .wema-about-page [class*="layout"],
  .wema-telehealth-page [class*="layout"],
  .wema-insurance-page [class*="layout"],
  .wema-faq-page [class*="layout"],
  .wema-contact-page [class*="layout"],
  .wema-schedule-page [class*="layout"],
  .wema-about-page [class*="split"],
  .wema-telehealth-page [class*="split"],
  .wema-insurance-page [class*="split"],
  .wema-faq-page [class*="split"],
  .wema-contact-page [class*="split"],
  .wema-schedule-page [class*="split"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /*
   * Some sections use flex-based card collections.
   */
  .wema-about-page [class*="cards"],
  .wema-telehealth-page [class*="cards"],
  .wema-insurance-page [class*="cards"],
  .wema-faq-page [class*="cards"],
  .wema-contact-page [class*="cards"],
  .wema-schedule-page [class*="cards"] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .wema-about-page article,
  .wema-telehealth-page article,
  .wema-insurance-page article,
  .wema-faq-page article,
  .wema-contact-page article,
  .wema-schedule-page article,
  .wema-about-page [class*="card"],
  .wema-telehealth-page [class*="card"],
  .wema-insurance-page [class*="card"],
  .wema-faq-page [class*="card"],
  .wema-contact-page [class*="card"],
  .wema-schedule-page [class*="card"] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .wema-about-page h1,
  .wema-telehealth-page h1,
  .wema-insurance-page h1,
  .wema-faq-page h1,
  .wema-contact-page h1,
  .wema-schedule-page h1 {
    max-width: 100% !important;
    font-size: clamp(2.5rem, 11.5vw, 3.65rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.04em !important;
    overflow-wrap: break-word;
  }

  .wema-about-page h2,
  .wema-telehealth-page h2,
  .wema-insurance-page h2,
  .wema-faq-page h2,
  .wema-contact-page h2,
  .wema-schedule-page h2 {
    max-width: 100% !important;
    font-size: clamp(2rem, 9vw, 3rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    overflow-wrap: break-word;
  }

  .wema-about-page h3,
  .wema-telehealth-page h3,
  .wema-insurance-page h3,
  .wema-faq-page h3,
  .wema-contact-page h3,
  .wema-schedule-page h3 {
    max-width: 100% !important;
    font-size: clamp(1.32rem, 6vw, 1.72rem) !important;
    line-height: 1.25 !important;
    overflow-wrap: break-word;
  }

  .wema-about-page p,
  .wema-about-page li,
  .wema-telehealth-page p,
  .wema-telehealth-page li,
  .wema-insurance-page p,
  .wema-insurance-page li,
  .wema-faq-page p,
  .wema-faq-page li,
  .wema-contact-page p,
  .wema-contact-page li,
  .wema-schedule-page p,
  .wema-schedule-page li {
    max-width: 100% !important;
    overflow-wrap: break-word;
    word-break: normal;
  }

  /*
   * CTA buttons must stack instead of being squeezed side by side.
   */
  .wema-about-page [class*="actions"],
  .wema-telehealth-page [class*="actions"],
  .wema-insurance-page [class*="actions"],
  .wema-faq-page [class*="actions"],
  .wema-contact-page [class*="actions"],
  .wema-schedule-page [class*="actions"] {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .wema-about-page [class*="actions"] > a,
  .wema-about-page [class*="actions"] > button,
  .wema-telehealth-page [class*="actions"] > a,
  .wema-telehealth-page [class*="actions"] > button,
  .wema-insurance-page [class*="actions"] > a,
  .wema-insurance-page [class*="actions"] > button,
  .wema-faq-page [class*="actions"] > a,
  .wema-faq-page [class*="actions"] > button,
  .wema-contact-page [class*="actions"] > a,
  .wema-contact-page [class*="actions"] > button,
  .wema-schedule-page [class*="actions"] > a,
  .wema-schedule-page [class*="actions"] > button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: normal !important;
  }

  .wema-about-hero,
  .wema-telehealth-hero,
  .wema-insurance-hero,
  .wema-faq-hero,
  .wema-contact-hero,
  .wema-schedule-hero {
    padding-top: 64px !important;
    padding-bottom: 76px !important;
  }

  .wema-about-page article,
  .wema-telehealth-page article,
  .wema-insurance-page article,
  .wema-faq-page article,
  .wema-contact-page article,
  .wema-schedule-page article {
    padding-right: 23px !important;
    padding-left: 23px !important;
  }

  .wema-insurance-network-grid,
  .wema-insurance-steps,
  .wema-contact-facts-grid,
  .wema-contact-option-grid,
  .wema-contact-form-grid--two,
  .wema-schedule-facts-grid,
  .wema-schedule-card-grid,
  .wema-about-difference-grid,
  .wema-about-values-grid,
  .wema-about-care-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .wema-insurance-status-card,
  .wema-faq-status-card,
  .wema-faq-crisis-inner,
  .wema-contact-crisis-inner,
  .wema-contact-schedule-card__inner,
  .wema-schedule-callout,
  .wema-schedule-crisis-inner,
  .wema-about-closing-inner,
  .wema-about-final-cta__inner,
  .wema-about-premium-cta__inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .wema-contact-facts-grid article + article,
  .wema-schedule-facts-grid article + article {
    border-top: 1px solid rgba(31, 91, 95, .13) !important;
    border-left: 0 !important;
  }

  .wema-faq-tools {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .wema-faq-search {
    width: 100% !important;
  }

  .wema-faq-tool-actions {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  .wema-faq-categories {
    display: flex !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-bottom: 8px !important;
  }

  .wema-faq-category {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .wema-faq-group-heading {
    position: static !important;
  }

  .wema-faq-item summary {
    padding: 19px 53px 19px 19px !important;
  }

  /*
   * Prevent iPhone from zooming into form fields.
   */
  .wema-contact-page input,
  .wema-contact-page select,
  .wema-contact-page textarea,
  .wema-faq-page input,
  .wema-faq-page select,
  .wema-faq-page textarea {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px !important;
  }

  .wema-about-showcase-cta,
  .wema-about-premium-cta,
  .wema-insurance-cta,
  .wema-faq-cta,
  .wema-contact-booking,
  .wema-contact-schedule-card,
  .wema-schedule-calendar {
    padding: 68px 0 !important;
  }

  .wema-about-showcase-cta__panel,
  .wema-about-premium-cta__inner,
  .wema-insurance-cta-panel,
  .wema-faq-cta-panel,
  .wema-contact-booking-pending-panel,
  .wema-schedule-pending-panel {
    width: 100% !important;
    padding: 42px 20px !important;
  }
}

@media (max-width: 390px) {
  .wema-about-container,
  .wema-telehealth-container,
  .wema-insurance-container,
  .wema-faq-container,
  .wema-contact-container,
  .wema-schedule-container {
    width: min(100% - 24px, 1220px) !important;
  }

  .wema-about-page h1,
  .wema-telehealth-page h1,
  .wema-insurance-page h1,
  .wema-faq-page h1,
  .wema-contact-page h1,
  .wema-schedule-page h1 {
    font-size: clamp(2.25rem, 11.5vw, 3.1rem) !important;
  }

  .wema-about-page article,
  .wema-telehealth-page article,
  .wema-insurance-page article,
  .wema-faq-page article,
  .wema-contact-page article,
  .wema-schedule-page article {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}

/* WEMA_ABOUT_THOUGHTFUL_MOBILE_START */

/*
 * Exact responsive treatment for:
 * "Thoughtful care at every step."
 */
.wema-about-thoughtful-grid {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 980px) {
  .wema-about-thoughtful-grid {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    overflow: visible !important;
    transform: none !important;
  }

  .wema-about-thoughtful-grid > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }
}

@media (max-width: 767px) {
  .wema-about-thoughtful-section {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .wema-about-thoughtful-grid {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns:
      minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    gap: 18px !important;
    overflow: visible !important;
    transform: none !important;
  }

  .wema-about-thoughtful-grid > article,
  .wema-about-thoughtful-grid > div {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    padding: 27px 23px !important;
    overflow: visible !important;
  }

  .wema-about-thoughtful-grid h3,
  .wema-about-thoughtful-grid h4 {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    font-size: clamp(
      1.65rem,
      7.5vw,
      2.15rem
    ) !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .wema-about-thoughtful-grid p {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    font-size: 1rem !important;
    line-height: 1.68 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
}

/* WEMA_ABOUT_THOUGHTFUL_MOBILE_END */
