/* =========================================================
   NEWTOWN FAMILY THERAPY — Optimized Custom CSS
   Zoho: Settings → Customization → Custom CSS
   ========================================================= */

/* ----- 1. Tokens ----- */
:root {
  --nft-primary: #B73FAE;
  --nft-secondary: #27A9C0;
  --nft-accent: #5A2C67;
  --nft-bg-light: #F5F2ED;
  --nft-bg-alt: #EADCF0;
  --nft-text: #1F1B1F;
  --nft-white: #FFFFFF;
  --nft-max-width: 1200px;
  --nft-radius-sm: 8px;
  --nft-radius-md: 12px;
  --nft-radius-lg: 16px;
  --nft-radius-pill: 999px;
  --nft-shadow-soft: 0 8px 24px rgba(31, 27, 31, 0.08);
  --nft-shadow-hover: 0 12px 32px rgba(31, 27, 31, 0.12);
  --nft-section-pad-y: 80px;
  --nft-section-pad-x: 24px;
  --nft-section-pad-y-mobile: 48px;
  --nft-section-pad-x-mobile: 18px;
  --nft-btn-pad-y: 14px;
  --nft-btn-pad-x: 24px;
  --nft-h1: clamp(2.25rem, 4vw, 4rem);
  --nft-h2: clamp(1.875rem, 3vw, 2.75rem);
  --nft-h3: clamp(1.25rem, 2vw, 1.75rem);
  --nft-body: 18px;
  --nft-small: 14px;
  --nft-transition: 0.25s ease;
  --nft-border: rgba(90, 44, 103, 0.12);
  --nft-border-hover: rgba(183, 63, 174, 0.26);
  /* WCAG AA text/link colors on light backgrounds */
  --nft-link-accessible: #7D2F76;
  --nft-link-on-lavender: #5E2459;
  --nft-secondary-accessible: #1A7A8C;
}

/* ----- 2. Global ----- */
html {
  scroll-behavior: smooth;
  overflow-y: scroll !important;
}

body {
  color: var(--nft-text);
  background: var(--nft-bg-light);
  font-size: var(--nft-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.nft-max-width,
.nft-section .zpcontainer, .nft-section .zpcontainer-fluid,
.nft-hero .zpcontainer, .nft-hero .zpcontainer-fluid,
.nft-therapist-hub-hero .zpcontainer, .nft-therapist-filter-section .zpcontainer,
.nft-therapist-listing-section .zpcontainer, .nft-matching-process-section .zpcontainer,
.nft-therapist-hub-wrap,
.nft-request-page .zpcontainer, .nft-request-page .zpcontainer-fluid,
.nft-request-hero .zpcontainer, .nft-request-hero .zpcontainer-fluid,
.nft-request-intro .zpcontainer, .nft-request-intro .zpcontainer-fluid,
.nft-request-form-section .zpcontainer, .nft-request-form-section .zpcontainer-fluid,
.nft-request-cta .zpcontainer, .nft-request-cta .zpcontainer-fluid,
.nft-fees-hero .zpcontainer, .nft-fees-hero .zpcontainer-fluid,
.nft-fees-insurance .zpcontainer, .nft-fees-insurance .zpcontainer-fluid,
.nft-fees-private-pay .zpcontainer, .nft-fees-private-pay .zpcontainer-fluid,
.nft-fees-payment-methods .zpcontainer, .nft-fees-payment-methods .zpcontainer-fluid,
.nft-fees-cancellation .zpcontainer, .nft-fees-cancellation .zpcontainer-fluid,
.nft-fees-gfe .zpcontainer, .nft-fees-gfe .zpcontainer-fluid,
.nft-fees-final-cta .zpcontainer, .nft-fees-final-cta .zpcontainer-fluid,
.nft-crisis-page .zpcontainer, .nft-crisis-page .zpcontainer-fluid,
.nft-crisis-hero .zpcontainer, .nft-crisis-hero .zpcontainer-fluid,
.nft-crisis-steps .zpcontainer, .nft-crisis-steps .zpcontainer-fluid,
.nft-crisis-resources .zpcontainer, .nft-crisis-resources .zpcontainer-fluid,
.nft-crisis-state .zpcontainer, .nft-crisis-state .zpcontainer-fluid,
.nft-crisis-local .zpcontainer, .nft-crisis-local .zpcontainer-fluid,
.nft-crisis-nonurgent .zpcontainer, .nft-crisis-nonurgent .zpcontainer-fluid,
.nft-expect-page .zpcontainer, .nft-expect-page .zpcontainer-fluid,
.nft-expect-hero .zpcontainer, .nft-expect-hero .zpcontainer-fluid,
.nft-expect-process .zpcontainer, .nft-expect-process .zpcontainer-fluid,
.nft-expect-consultation .zpcontainer, .nft-expect-consultation .zpcontainer-fluid,
.nft-expect-first-session .zpcontainer, .nft-expect-first-session .zpcontainer-fluid,
.nft-expect-confidentiality .zpcontainer, .nft-expect-confidentiality .zpcontainer-fluid,
.nft-expect-telehealth .zpcontainer, .nft-expect-telehealth .zpcontainer-fluid,
.nft-expect-cta .zpcontainer, .nft-expect-cta .zpcontainer-fluid {
  max-width: var(--nft-max-width);
  margin-inline: auto;
}

/* Homepage + site-wide section spacing (matches homepage rhythm) */
.nft-section,
.nft-hero,
.nft-section-alt,
.nft-section-light,
.nft-section-white {
  padding-top: var(--nft-section-pad-y) !important;
  padding-bottom: var(--nft-section-pad-y) !important;
  padding-left: var(--nft-section-pad-x) !important;
  padding-right: var(--nft-section-pad-x) !important;
}

/* ----- 3. Shared homepage typography ----- */
.nft-section h1, .nft-hero h1, .nft-section h2, .nft-hero h2,
.nft-section h3, .nft-hero h3, .nft-section h4, .nft-hero h4,
.nft-section h5, .nft-hero h5, .nft-section h6, .nft-hero h6 {
  color: var(--nft-accent);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-top: 0;
}

.nft-section h1, .nft-hero h1 { font-size: var(--nft-h1); font-weight: 700; }
.nft-section h2, .nft-hero h2 { font-size: var(--nft-h2); font-weight: 700; }
.nft-section h3, .nft-hero h3 { font-size: var(--nft-h3); font-weight: 600; }

.nft-section p, .nft-hero p, .nft-section li, .nft-hero li,
.nft-section span, .nft-hero span, .nft-section div, .nft-hero div { color: var(--nft-text); }

.nft-small { font-size: var(--nft-small); }

.nft-section a, .nft-hero a {
  color: var(--nft-accent);
  text-decoration: none;
  transition: color var(--nft-transition), opacity var(--nft-transition);
}

.nft-section a:hover, .nft-hero a:hover,
.nft-section a:focus, .nft-hero a:focus { color: var(--nft-primary); }

/* ----- 4. Shared Zoho button fix ----- */
.zpelem-button.nft-btn, .zpelem-button.nft-btn-outline {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.zpelem-button.nft-btn .zpbutton-wrapper,
.zpelem-button.nft-btn .zpbutton,
.zpelem-button.nft-btn a.zpbutton,
.nft-request-cta .zpbutton-type-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: var(--nft-btn-pad-y) var(--nft-btn-pad-x) !important;
  border-radius: var(--nft-radius-pill) !important;
  border: 2px solid var(--nft-primary) !important;
  background: var(--nft-primary) !important;
  color: var(--nft-white) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(183, 63, 174, 0.18) !important;
  transition: background var(--nft-transition), border-color var(--nft-transition),
    color var(--nft-transition), transform var(--nft-transition), box-shadow var(--nft-transition) !important;
}

.zpelem-button.nft-btn .zpbutton-content,
.nft-request-cta .zpbutton-type-primary .zpbutton-content { color: var(--nft-white) !important; }

.zpelem-button.nft-btn .zpbutton-wrapper:hover,
.zpelem-button.nft-btn .zpbutton:hover,
.zpelem-button.nft-btn a.zpbutton:hover,
.nft-request-cta .zpbutton-type-primary:hover {
  background: #a53299 !important;
  border-color: #a53299 !important;
  color: var(--nft-white) !important;
  transform: translateY(-1px) !important;
}

.zpelem-button.nft-btn-outline .zpbutton-wrapper,
.zpelem-button.nft-btn-outline .zpbutton,
.zpelem-button.nft-btn-outline a.zpbutton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: var(--nft-btn-pad-y) var(--nft-btn-pad-x) !important;
  border-radius: var(--nft-radius-pill) !important;
  border: 2px solid var(--nft-primary) !important;
  background: transparent !important;
  color: var(--nft-accent) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background var(--nft-transition), border-color var(--nft-transition),
    color var(--nft-transition), transform var(--nft-transition) !important;
}

.zpelem-button.nft-btn-outline .zpbutton-content { color: var(--nft-accent) !important; }

.zpelem-button.nft-btn-outline .zpbutton-wrapper:hover,
.zpelem-button.nft-btn-outline .zpbutton:hover,
.zpelem-button.nft-btn-outline a.zpbutton:hover {
  background: var(--nft-bg-alt) !important;
  color: var(--nft-accent) !important;
  transform: translateY(-1px) !important;
}

.nft-btn, a.nft-btn, .nft-section .nft-btn, .nft-hero .nft-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: var(--nft-btn-pad-y) var(--nft-btn-pad-x);
  border-radius: var(--nft-radius-pill);
  border: 2px solid var(--nft-primary);
  background: var(--nft-primary);
  color: var(--nft-white) !important;
  font-weight: 600;
  line-height: 1.2;
  box-shadow: 0 4px 14px rgba(183, 63, 174, 0.18);
  transition: background var(--nft-transition), border-color var(--nft-transition),
    color var(--nft-transition), transform var(--nft-transition), box-shadow var(--nft-transition);
}

.nft-btn:hover, a.nft-btn:hover {
  background: #a53299;
  border-color: #a53299;
  color: var(--nft-white) !important;
  transform: translateY(-1px);
}

.nft-btn-outline, a.nft-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: var(--nft-btn-pad-y) var(--nft-btn-pad-x);
  border-radius: var(--nft-radius-pill);
  border: 2px solid var(--nft-primary);
  background: transparent;
  color: var(--nft-accent) !important;
  font-weight: 600;
  line-height: 1.2;
  box-shadow: none;
  transition: background var(--nft-transition), border-color var(--nft-transition),
    color var(--nft-transition), transform var(--nft-transition);
}

.nft-btn-outline:hover, a.nft-btn-outline:hover {
  background: var(--nft-bg-alt);
  color: var(--nft-accent) !important;
  transform: translateY(-1px);
}

.nft-btn-row, .nft-bio-button-row, .nft-bio-hero .zpbutton-container,
.nft-fees-btn-row, .nft-fees-hero .zpbutton-container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
}

.nft-btn-row { justify-content: flex-start !important; margin-top: 28px !important; }
.nft-fees-btn-row, .nft-fees-hero .zpbutton-container { justify-content: center !important; margin-top: 28px !important; }

.nft-btn-row .zpelement, .nft-btn-row .zpelem-button, .nft-btn-row .zpbutton-container,
.nft-fees-hero .zpelem-button {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
}

.nft-btn-row .zpbutton-wrapper, .nft-btn-row .zpbutton { white-space: nowrap !important; }

[data-element-id="elm_nH_Z6XEqAME_JFC9XpFgFg"],
[data-element-id="elm_6EHnOdF6-jcpXdXfkcuwEQ"],
[data-element-id="elm_MYOH9i0Tm60xhoPAC6yoWg"] {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}

[data-element-id="elm_nH_Z6XEqAME_JFC9XpFgFg"] .zpbutton-container,
[data-element-id="elm_6EHnOdF6-jcpXdXfkcuwEQ"] .zpbutton-container,
[data-element-id="elm_MYOH9i0Tm60xhoPAC6yoWg"] .zpbutton-container {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}

/* ----- 5. Navigation / Mega Menu ----- */
/* ============================================
   1. COLUMN TITLES — match site typography
   ============================================ */

.zpmm-title .zpmm-element-textcontent {
  font-family: inherit !important; /* inherits your global site font */
  font-size: 1rem !important;      /* aligns better with body scale */
  font-weight: 600 !important;     /* matches your heading style */
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

/* ============================================
   GLOBAL MEGA MENU FONT ALIGNMENT
   ============================================ */

.zpmm-container-style-02,
.zpmm-container-style-02 * {
  font-family: inherit !important;
}

/* Links inside mega menu */
.zpmm-element-anchor,
.zpmm-element-anchor span {
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* ============================================
   2. MEGA MENU CTA BUTTONS — match nft-btn-outline
   ============================================ */

/* Mega menu CTA links/buttons */
.menu-highlight-primary .zpmm-element-anchor,
.menu-highlight-primary a,
.zpmm-container-style-02 .zpbutton-wrapper,
.zpmm-container-style-02 a.zpbutton,
.zpmm-container-style-02 .zpbutton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 14px 24px !important;

  border-radius: 999px !important;
  border: 2px solid var(--nft-primary, #B73FAE) !important;

  background: transparent !important;
  color: var(--nft-accent, #5A2C67) !important;

  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;

  text-decoration: none !important;
  box-shadow: none !important;

  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease !important;
}

/* Inner button text */
.zpmm-container-style-02 .zpbutton-content,
.menu-highlight-primary .zpmm-element-anchor span,
.menu-highlight-primary a span {
  color: var(--nft-accent, #5A2C67) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* Hover state */
.menu-highlight-primary .zpmm-element-anchor:hover,
.menu-highlight-primary a:hover,
.zpmm-container-style-02 .zpbutton-wrapper:hover,
.zpmm-container-style-02 a.zpbutton:hover,
.zpmm-container-style-02 .zpbutton:hover {
  background: var(--nft-bg-alt, #EAD6EC) !important;
  border-color: var(--nft-primary, #B73FAE) !important;
  color: var(--nft-accent, #5A2C67) !important;
  transform: translateY(-1px) !important;
}

/* Hover inner text */
.zpmm-container-style-02 .zpbutton-wrapper:hover .zpbutton-content,
.zpmm-container-style-02 a.zpbutton:hover .zpbutton-content,
.zpmm-container-style-02 .zpbutton:hover .zpbutton-content,
.menu-highlight-primary .zpmm-element-anchor:hover span,
.menu-highlight-primary a:hover span {
  color: var(--nft-accent, #5A2C67) !important;
}

/* Remove Zoho/default button spacing inside mega menu */
.zpmm-container-style-02 .zpbutton-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove the sliding underline from the highlighted nav/CTA item */
.theme-menu > ul > li.menu-highlight-primary > a::before,
.theme-menu > ul > li.menu-highlight-primary:hover > a::before,
.theme-menu > ul > li.menu-highlight-primary.theme-menu-selected > a::before {
  display: none !important;
}

/* Mobile refinement */

/* ============================================
   3. IMPROVED CHEVRON on "Therapy Services"
      Targets the down-arrow spans inside that li
   ============================================ */

/* Hide Zoho's default arrow icon */
li[data-megamenu] .theme-submenu-down-arrow,
li[data-megamenu] .theme-sub-li-menu {
  display: none !important;
}

/* Add a clean CSS chevron via the anchor's ::after */
li[data-megamenu] > a::after {
  content: '';
  display: inline-block;
  margin-left: 6px;
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.25s ease;
  vertical-align: middle;
}

/* Rotate chevron when mega menu is open/hovered */
li[data-megamenu]:hover > a::after,
li[data-megamenu][aria-expanded="true"] > a::after {
  transform: rotate(-135deg) translateY(2px);
}

/* ============================================
   4. FIX SCROLLBAR LAYOUT SHIFT
      Keeps scrollbar always visible so the page
      width doesn't jump on mega menu open
   ============================================ */

.zpmm-container-style-02 {
  box-sizing: border-box !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

/* Override Zoho inline logo sizing */
.theme-logo-parent img[data-zs-logo],
.theme-logo-parent picture img {
  width: auto !important;
  height: auto !important;
  max-height: 160px  !important;          /* set this to your header’s target logo height */
  max-width: 100%;
  display: block;
}

/* ============================================
   NAV ITEM — Animated underline from center
   ============================================ */
/* Create the underline as a pseudo-element */
.theme-menu > ul > li > a::before {
  content: '';
  position: absolute;
  bottom: -2px;       /* adjust if you need it higher or lower */
  left: 50%;
  transform: translateX(-50%);
  width: 0%;
  height: 2px;
  background-color: #6a1b9a;   /* match your brand purple */
  transition: width 0.25s ease;
}

/* Expand from center on hover */
.theme-menu > ul > li:hover > a::before,
.theme-menu > ul > li.theme-menu-selected > a::before {
  width: 100%;
}
/* Remove original underline */
.theme-menu ul li a,
.theme-menu ul li a:hover,
.theme-menu ul li a:focus,
.theme-menu ul li a:active,
.theme-menu ul li a *,
.theme-menu-selected a,
.theme-menu-selected a * {
  text-decoration: none !important;
  text-decoration-line: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Turn the column into a grid layout */
.zpcol-md-7 {
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-areas:
    "title    title"
    "headshot note"
    "name     note";
  gap: 10px 20px;
  align-items: start;
}

/* "Founders Welcome" heading spans both columns, centered over headshot */
.zpcol-md-7 > .zpmm-element:nth-child(1) {
  grid-area: title;
  grid-column: 1 / 2;
  text-align: center;
}

/* Circular headshot */
.zpcol-md-7 > .zpmm-element:nth-child(2) {
  grid-area: headshot;
  display: flex;
  /*justify-content: center;*/
}

.zpcol-md-7 a[title="Founder's Welcome"] .zpmm-element-imagecontent {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

/* "Katie Nash, LCSW" name centered below headshot */
.zpcol-md-7 > .zpmm-element:nth-child(3) {
  grid-area: name;
  text-align: center;
  align-self: start;
  margin-left:15px;
}

/* Founders note image fills the right side */
.zpcol-md-7 > .zpmm-element:nth-child(4) {
  grid-area: note;
}

.zpcol-md-7 a[title="Founder's Welcome Message"] .zpmm-element-imagecontent {
  width: 100%;
  height: auto;
  display: block;
}

.zpmm-element.zpmm-image a[href="/therapy-services/group-therapy"] .zpmm-element-imagecontent {
  width: 75%;
  height: auto;
}

/* ----- 6. Homepage — Cards, Hero, Sections ----- */
.nft-card {
  background: var(--nft-white);
  border-radius: var(--nft-radius-md);
  box-shadow: var(--nft-shadow-soft);
  padding: 24px;
  transition: transform var(--nft-transition), box-shadow var(--nft-transition);
}

.nft-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--nft-shadow-hover);
}

/* -------------------------
   7) IMAGES
------------------------- */
.nft-card img,
.nft-hero img,
img.nft-rounded {
  border-radius: var(--nft-radius-md);
  max-width: 100%;
  height: auto;
}

/* -------------------------
   8) HERO
------------------------- */
.nft-hero {
  background:
    radial-gradient(circle at top right, rgba(234, 214, 236, 0.65), transparent 30%),
    radial-gradient(circle at bottom left, rgba(183, 63, 174, 0.08), transparent 28%),
    var(--nft-bg-light);
}

.nft-hero h1 {
  max-width: 12ch;
}

.nft-hero p {
  max-width: 56ch;
}

/* -------------------------
   9) SECTION BACKGROUNDS
------------------------- */
.nft-section-alt {
  background: var(--nft-bg-alt);
}

.nft-section-light {
  background: var(--nft-bg-light);
}

.nft-section-white {
  background: var(--nft-white);
}

/* -------------------------
   10) TAGS / PILLS
------------------------- */
.nft-tag,
.nft-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: var(--nft-radius-pill);
  background: var(--nft-white);
  color: var(--nft-accent);
  border: 1px solid rgba(90, 44, 103, 0.12);
  font-size: 15px;
  font-weight: 500;
}

/* -------------------------
   11) FORMS
------------------------- */
/* Only forms inside homepage sections, not footer newsletter */
.nft-section input:not(.zpnewsletter-email-input-field),
.nft-section select,
.nft-section textarea,
.nft-hero input:not(.zpnewsletter-email-input-field),
.nft-hero select,
.nft-hero textarea {
  width: 100%;
  border: 1px solid rgba(90, 44, 103, 0.18);
  border-radius: var(--nft-radius-md);
  padding: 14px 16px;
  background: var(--nft-white);
  color: var(--nft-text);
  font-size: 16px;
  transition: border-color var(--nft-transition), box-shadow var(--nft-transition);
}

.nft-section input:not(.zpnewsletter-email-input-field):focus,
.nft-section select:focus,
.nft-section textarea:focus,
.nft-hero input:not(.zpnewsletter-email-input-field):focus,
.nft-hero select:focus,
.nft-hero textarea:focus {
  outline: none;
  border-color: var(--nft-primary);
  box-shadow: 0 0 0 4px rgba(183, 63, 174, 0.12);
}

/* -------------------------
   12) ACCORDION / FAQ
------------------------- */
.nft-accordion {
  display: grid;
  gap: 12px;
}

.nft-accordion-item {
  background: var(--nft-white);
  border-radius: var(--nft-radius-md);
  box-shadow: var(--nft-shadow-soft);
  overflow: hidden;
}

.nft-accordion-title {
  color: var(--nft-accent);
  font-weight: 600;
}

/* -------------------------
   13) UTILITIES
------------------------- */
.nft-bg-light { background: var(--nft-bg-light) !important; }
.nft-bg-alt { background: var(--nft-bg-alt) !important; }
.nft-bg-white { background: var(--nft-white) !important; }
.nft-text-accent { color: var(--nft-accent) !important; }
.nft-text-primary { color: var(--nft-primary) !important; }
.nft-rounded { border-radius: var(--nft-radius-md) !important; }
.nft-shadow { box-shadow: var(--nft-shadow-soft) !important; }

/* ----- 7. Homepage — Hero H1, Image, Cards Row ----- */
/* =========================================================
   HERO H1 FIX — better scale + wrapping
   ========================================================= */

.nft-hero h1 {
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  line-height: 1.15 !important;
  max-width: 16ch; /* controls line length */
  letter-spacing: -0.02em;
  text-wrap: balance;
}

/* Slightly tighter on large screens */

/* Tablet */

/* Mobile */

/* =========================================================
   HERO IMAGE SIZE CONTROL
   ========================================================= */

.nft-hero-img {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* Tablet */

/* Mobile */

/* =========================================================
   HOW WE CAN HELP — CARD SPACING
   ========================================================= */

.nft-cards-row {
  display: flex !important;
  gap: 28px !important;

  align-items: stretch !important;
}

/* Zoho columns */
.nft-cards-row > .zpelem-col,
.nft-cards-row > div {
  flex: 1 1 0 !important;

  display: flex !important;
}

/* Make all cards equal height */
.nft-cards-row .nft-card {
  width: 100%;
  height: 100%;
}

/* Tablet */

/* Mobile */

/* ----- 7. Homepage — Tags, Icons, Accordion ----- */
/* =========================================================
   SPECIALTIES / SUPPORT AREAS — POLISHED TAG LAYOUT
   ========================================================= */

/* Tighten and center the tag rows inside this section */
.nft-section-light .zprow:has(.nft-tag) {
  max-width: 1120px;
  margin: 28px auto 0 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 22px !important;
}

/* Remove Zoho column rigidity around each tag */
.nft-section-light .zprow:has(.nft-tag) > .zpelem-col {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Main tag pill */
.nft-section-light .nft-tag {
  min-width: 220px;
  max-width: 280px;
  min-height: 58px;
  padding: 0 24px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(90, 44, 103, 0.12) !important;
  box-shadow: 0 8px 22px rgba(31, 27, 31, 0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* Tag text */
.nft-section-light .nft-tag h5 {
  margin: 0 !important;
  padding: 0 !important;
  color: #5A2C67 !important;
  font-size: 1.15rem !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
}

/* Make any inline spans inside tags behave */
.nft-section-light .nft-tag h5 span {
  color: #5A2C67 !important;
  letter-spacing: inherit !important;
}

/* Hover polish */
.nft-section-light .nft-tag:hover {
  transform: translateY(-3px);
  border-color: rgba(183, 63, 174, 0.28) !important;
  box-shadow: 0 12px 30px rgba(31, 27, 31, 0.1) !important;
}

/* CTA spacing below tag grid */
.nft-section-light .zpelem-button.nft-btn {
  margin-block-start: 44px !important;
}

/* Tablet */

/* Mobile */

/* =========================================
   "New to Therapy" Icon Styling
   ========================================= */

.nft-card .zpicon-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 22px;
}

/* Purple circular background */
.nft-card .zpicon {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    
    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #B73FAE 0%,
        #8E2C92 100%
    );

    box-shadow:
        0 10px 24px rgba(183, 63, 174, 0.18),
        inset 0 1px 0 rgba(255,255,255,0.18);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

/* Icon SVG */
.nft-card .zpicon svg {
    width: 38px !important;
    height: 38px !important;
    fill: #ffffff;
}

/* Hover effect */
.nft-card:hover .zpicon {
    transform: translateY(-4px);
    box-shadow:
        0 16px 32px rgba(183, 63, 174, 0.28),
        inset 0 1px 0 rgba(255,255,255,0.18);
}

/* Mobile sizing */

/* =========================================================
   FAQ ACCORDION — CORRECTED NFT THEME STYLE
   Works with Zoho active/inactive accordion behavior
   ========================================================= */

.nft-accordion {
  max-width: 980px;
  margin: 32px auto 0 !important;
}

/* Container */
.nft-accordion .zpaccordion-container {
  border: none !important;
  background: transparent !important;
}

/* Hide inactive answer panels completely */
.nft-accordion .zpaccordion-content:not(.zpaccordion-active-content) {
  display: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Question cards */
.nft-accordion .zpaccordion {
  position: relative !important;
  border: 1px solid rgba(90, 44, 103, 0.12) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(31, 27, 31, 0.06) !important;
  padding: 20px 64px 20px 28px !important;
  margin: 0 0 14px 0 !important;
  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease !important;
}

/* Hover */
.nft-accordion .zpaccordion:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(183, 63, 174, 0.28) !important;
  box-shadow: 0 12px 30px rgba(31, 27, 31, 0.1) !important;
}

/* Active/open question */
.nft-accordion .zpaccordion.zpaccordion-active {
  margin-bottom: 0 !important;
  border-color: rgba(183, 63, 174, 0.35) !important;
  background: #fffafd !important;
  box-shadow: 0 12px 32px rgba(183, 63, 174, 0.12) !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* Remove browser blue focus ring */
.nft-accordion .zpaccordion:focus {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(183, 63, 174, 0.16) !important;
}

/* Question text */
.nft-accordion .zpaccordion-name {
  color: #5A2C67 !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
}

/* Icon wrapper */
.nft-accordion .zpaccordionicon {
  position: absolute !important;
  right: 22px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: #EAD6EC !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Respect Zoho's active/inactive icon visibility */
.nft-accordion .zpaccord-icon-inactive,
.nft-accordion .zpaccord-icon-active {
  display: none !important;
}

.nft-accordion .zpaccordion:not(.zpaccordion-active) .zpaccord-icon-inactive {
  display: flex !important;
}

.nft-accordion .zpaccordion.zpaccordion-active .zpaccord-icon-active {
  display: flex !important;
}

/* Icon svg */
.nft-accordion .zpaccordionicon svg {
  width: 12px !important;
  height: 12px !important;
  fill: #5A2C67 !important;
}

/* Active answer panel only */
.nft-accordion .zpaccordion-content.zpaccordion-active-content {
  display: block !important;
  border: 1px solid rgba(183, 63, 174, 0.35) !important;
  border-top: none !important;
  border-radius: 0 0 16px 16px !important;
  background: #fffafd !important;
  padding: 0 !important;
  margin: 0 0 18px 0 !important;
  box-shadow: 0 14px 28px rgba(31, 27, 31, 0.06) !important;
}

/* Inner answer spacing */
.nft-accordion .zpaccordion-active-content .zpaccordion-element-container {
  padding: 22px 28px 24px !important;
}

/* Answer text */
.nft-accordion .zpaccordion-active-content p,
.nft-accordion .zpaccordion-active-content span {
  color: #1F1B1F !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

/* Clean nested Zoho rows inside answer */
.nft-accordion .zpaccordion-active-content .zprow,
.nft-accordion .zpaccordion-active-content .zpelem-col {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Mobile */

/* =========================================================
   FAQ ACCORDION — LOCK CONSISTENT WIDTH OPEN/CLOSED
   ========================================================= */

.nft-accordion,
.nft-accordion .zpaccordion-container {
  width: 100% !important;
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Make every question row identical width */
.nft-accordion .zpaccordion {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Make every answer panel match the question row */
.nft-accordion .zpaccordion-content.zpaccordion-active-content {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Prevent inner Zoho rows from expanding/shrinking the panel */
.nft-accordion .zpaccordion-content .zprow,
.nft-accordion .zpaccordion-content .zprow-container,
.nft-accordion .zpaccordion-content .zpelem-col {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ----- 8. Therapist Bio ----- */
/* =========================================================
   THERAPIST BIO PAGE — SCOPED CSS
   Purpose: Styles individual therapist profile pages only
   Safe: Does not override global .nft-section, homepage, footer, or menu styles
   ========================================================= */

/* ---------------------------------------------
   Bio Page Theme Variables
   Scoped only to therapist bio sections
--------------------------------------------- */

.nft-bio-hero,
.nft-bio-summary,
.nft-bio-about,
.nft-bio-details,
.nft-bio-cta-section,
.nft-bio-related,
.nft-bio-disclaimer {
  --bio-primary: var(--nft-primary, #B73FAE);
  --bio-secondary: var(--nft-secondary, #27A9C0);
  --bio-accent: var(--nft-accent, #5A2C67);
  --bio-bg-light: var(--nft-bg-light, #F5F2ED);
  --bio-bg-alt: var(--nft-bg-alt, #EAD6EC);
  --bio-text: var(--nft-text, #1F1B1F);
  --bio-white: var(--nft-white, #FFFFFF);
}

/* ---------------------------------------------
   Therapist Bio Hero
--------------------------------------------- */

.nft-bio-hero {
  background: linear-gradient(135deg, var(--bio-bg-light) 0%, var(--bio-bg-alt) 100%) !important;
  padding-top: 88px !important;
  padding-bottom: 88px !important;
}

.nft-bio-hero h1 {
  font-size: clamp(2.15rem, 4vw, 3.27rem) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--bio-accent) !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

.nft-bio-hero .nft-bio-credentials,
.nft-bio-hero h2 {
  font-size: 1.2rem !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: var(--bio-primary) !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  letter-spacing: -0.01em !important;
}

.nft-bio-hero p {
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
  max-width: 620px !important;
  margin-bottom: 28px !important;
  color: var(--bio-text) !important;
}

.nft-bio-photo img,
img.nft-bio-photo {
  width: 100% !important;
  max-width: 430px !important;
  aspect-ratio: 4 / 5;
  object-fit: cover !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 45px rgba(90, 44, 103, 0.18) !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Bio buttons: inherit from section 4 (.zpelem-button.nft-btn / .nft-btn-outline) */

/* ---------------------------------------------
   Quick Fit Summary Section
--------------------------------------------- */

.nft-bio-summary {
  background: var(--bio-white) !important;
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.nft-bio-summary h2 {
 font-size: clamp(1.875rem, 3vw, 2.75rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--bio-accent) !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.nft-bio-summary .zptext p,
.nft-bio-summary > p {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 36px !important;
  text-align: center !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  color: var(--bio-text) !important;
}

.nft-bio-summary-card {
  background: var(--bio-bg-light) !important;
  border-radius: 16px !important;
  padding: 26px 24px !important;
  min-height: 170px !important;
  box-shadow: 0 10px 28px rgba(31, 27, 31, 0.06) !important;
  border: 1px solid rgba(90, 44, 103, 0.08) !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease !important;
}

.nft-bio-summary-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(31, 27, 31, 0.1) !important;
}

.nft-bio-summary-card h3 {
  font-size: 1.8rem !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  color: var(--bio-accent) !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.nft-bio-summary-card p {
  font-size: 0.98rem !important;
  line-height: 1.65 !important;
  margin-bottom: 0 !important;
  color: var(--bio-text) !important;
}

/* ---------------------------------------------
   About / Therapeutic Approach
--------------------------------------------- */

.nft-bio-about {
  background: var(--bio-bg-light) !important;
}

.nft-bio-content {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nft-bio-content h2 {
  font-size: clamp(1.875rem, 3vw, 2.75rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--bio-accent) !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.nft-bio-content p {
  font-size: 1.08rem !important;
  line-height: 1.7 !important;
  color: var(--bio-text) !important;
  margin-bottom: 22px !important;
}

.nft-bio-quote {
  border-left: 5px solid var(--bio-secondary) !important;
  padding: 20px 24px !important;
  margin: 36px 0 !important;
  background: var(--bio-white) !important;
  border-radius: 0 14px 14px 0 !important;
  font-size: 1.15rem !important;
  line-height: 1.6 !important;
  font-weight: 600 !important;
  color: var(--bio-accent) !important;
}

/* ---------------------------------------------
   Specialties + Session Details
--------------------------------------------- */

.nft-bio-details {
  background: var(--bio-white) !important;
}

.nft-bio-detail-card {
  background: var(--bio-white) !important;
  border-radius: 18px !important;
  padding: 34px !important;
  box-shadow: 0 12px 34px rgba(31, 27, 31, 0.08) !important;
  border: 1px solid rgba(90, 44, 103, 0.1) !important;
  height: 100% !important;
}

.nft-bio-detail-card h2,
.nft-bio-detail-card h3 {
  color: var(--bio-accent) !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}

.nft-bio-detail-card ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.nft-bio-detail-card li {
  position: relative !important;
  padding-left: 28px !important;
  margin-bottom: 12px !important;
  line-height: 1.6 !important;
  color: var(--bio-text) !important;
}

.nft-bio-detail-card li::before {
  content: "" !important;
  width: 10px !important;
  height: 10px !important;
  background: var(--bio-secondary) !important;
  border-radius: 50% !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.55em !important;
}

/* Tag-style specialty list */

.nft-bio-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.nft-bio-tag {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--bio-bg-alt) !important;
  color: var(--bio-accent) !important;
  border-radius: 999px !important;
  padding: 9px 14px !important;
  font-size: 0.95rem !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

/* ---------------------------------------------
   CTA Section
--------------------------------------------- */

.nft-bio-cta-section {
  background: var(--bio-accent) !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.nft-bio-cta-card {
  background: var(--bio-white) !important;
  border-radius: 24px !important;
  padding: 48px !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  box-shadow: 0 18px 45px rgba(31, 27, 31, 0.16) !important;
}

.nft-bio-cta-card h2 {
  color: var(--bio-accent) !important;
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

.nft-bio-cta-card p {
  font-size: 1.08rem !important;
  line-height: 1.7 !important;
  color: var(--bio-text) !important;
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 28px !important;
}

/* ---------------------------------------------
   Related Links
--------------------------------------------- */

.nft-bio-related {
  background: var(--bio-bg-light) !important;
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

.nft-bio-related h2 {
  color: var(--bio-accent) !important;
  font-size: clamp(1.875rem, 3vw, 2.75rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.nft-bio-related-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
}

.nft-bio-related-links a {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--bio-white) !important;
  color: var(--bio-accent) !important;
  border: 1px solid rgba(90, 44, 103, 0.15) !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition:
    background 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease !important;
}

.nft-bio-related-links a:hover {
  background: var(--bio-bg-alt) !important;
  color: var(--bio-accent) !important;
  transform: translateY(-2px) !important;
}

/* ---------------------------------------------
   Disclaimer
--------------------------------------------- */

.nft-bio-disclaimer {
  background: var(--bio-bg-alt) !important;
  padding: 24px !important;
  font-size: 0.85rem !important;
  color: rgba(31, 27, 31, 0.75) !important;
  border-top: 1px solid rgba(90, 44, 103, 0.12) !important;
}

.nft-bio-disclaimer p {
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 0.85rem !important;
  line-height: 1.6 !important;
  color: rgba(31, 27, 31, 0.75) !important;
}

/* ---------------------------------------------
   Optional Breadcrumb
--------------------------------------------- */

.nft-bio-breadcrumb {
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  margin-bottom: 24px !important;
  color: rgba(31, 27, 31, 0.75) !important;
}

.nft-bio-breadcrumb a {
  color: var(--bio-accent) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.nft-bio-breadcrumb a:hover {
  color: var(--bio-primary) !important;
  text-decoration: underline !important;
}

/* ----- 9. Therapist Hub ----- */
/* =========================================================
   THERAPIST HUB PAGE — SCOPED CSS
   Purpose: PLP-style therapist listing page
   Matches existing NFT homepage design system
   Safe: Uses homepage tokens and avoids global overrides
   ========================================================= */

/* ---------------------------------------------
   1) Therapist Hub Scoped Theme Variables
   Uses existing homepage tokens
--------------------------------------------- */

.nft-therapist-hub-hero,
.nft-therapist-filter-section,
.nft-therapist-listing-section,
.nft-matching-process-section {
  --hub-primary: var(--nft-primary, #B73FAE);
  --hub-secondary: var(--nft-secondary, #27A9C0);
  --hub-accent: var(--nft-accent, #5A2C67);
  --hub-bg-light: var(--nft-bg-light, #F5F2ED);
  --hub-bg-alt: var(--nft-bg-alt, #EAD6EC);
  --hub-text: var(--nft-text, #1F1B1F);
  --hub-white: var(--nft-white, #FFFFFF);
  --hub-radius-md: var(--nft-radius-md, 12px);
  --hub-radius-lg: var(--nft-radius-lg, 16px);
  --hub-radius-pill: var(--nft-radius-pill, 999px);
  --hub-shadow-soft: var(--nft-shadow-soft, 0 8px 24px rgba(31, 27, 31, 0.08));
  --hub-shadow-hover: var(--nft-shadow-hover, 0 12px 32px rgba(31, 27, 31, 0.12));
  --hub-border: rgba(90, 44, 103, 0.12);
}

/* ---------------------------------------------
   2) Section Width + Spacing
--------------------------------------------- */

.nft-therapist-hub-hero,
.nft-therapist-listing-section,
.nft-matching-process-section {
  padding-top: var(--nft-section-pad-y, 80px) !important;
  padding-bottom: var(--nft-section-pad-y, 80px) !important;
  padding-left: var(--nft-section-pad-x, 24px) !important;
  padding-right: var(--nft-section-pad-x, 24px) !important;
}

.nft-therapist-hub-hero .zpcontainer,
.nft-therapist-filter-section .zpcontainer,
.nft-therapist-listing-section .zpcontainer,
.nft-matching-process-section .zpcontainer,
.nft-therapist-hub-wrap {
  max-width: var(--nft-max-width, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ---------------------------------------------
   3) Hero Section
   Matches homepage hero styling
--------------------------------------------- */

.nft-therapist-hub-hero {
  background:
    radial-gradient(circle at top right, rgba(234, 214, 236, 0.75), transparent 32%),
    radial-gradient(circle at bottom left, rgba(183, 63, 174, 0.08), transparent 28%),
    var(--hub-bg-light) !important;
}

.nft-therapist-hub-hero .zprow {
  align-items: center !important;
}

.nft-therapist-hub-hero h1 {
  color: var(--hub-accent) !important;
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  max-width: 16ch !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  text-wrap: balance;
}

.nft-therapist-hub-hero p {
  color: var(--hub-text) !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
  max-width: 56ch !important;
}

.nft-therapist-hub-hero .nft-eyebrow,
.nft-therapist-hub-hero p.nft-eyebrow {
  color: var(--hub-accent) !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 20px !important;
}

/* ---------------------------------------------
   4) Hero Buttons
   Uses existing nft-btn and nft-btn-outline styling
--------------------------------------------- */

/* ---------------------------------------------
   5) Hero Fit Card
   Matches homepage card style
--------------------------------------------- */

.nft-fit-card {
  background: var(--hub-white) !important;
  border: 1px solid var(--hub-border) !important;
  border-radius: var(--hub-radius-lg) !important;
  box-shadow: var(--hub-shadow-soft) !important;
  padding: 32px !important;
  max-width: 560px !important;
  margin-left: auto !important;
}

.nft-fit-card h2,
.nft-fit-card h3 {
  color: var(--hub-accent) !important;
  font-size: var(--nft-h3, clamp(1.25rem, 2vw, 1.75rem)) !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

.nft-fit-card p {
  color: var(--hub-text) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  margin-bottom: 22px !important;
}

.nft-fit-card ol,
.nft-fit-card ul {
  margin: 0 !important;
  padding-left: 22px !important;
}

.nft-fit-card li {
  color: var(--hub-text) !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}

.nft-fit-card li:last-child {
  margin-bottom: 0 !important;
}

/* ---------------------------------------------
   6) Filter / Browse Bar
--------------------------------------------- */

.nft-therapist-filter-section {
  position: relative !important;
  z-index: 3 !important;
  margin-top: -36px !important;
  padding-left: var(--nft-section-pad-x, 24px) !important;
  padding-right: var(--nft-section-pad-x, 24px) !important;
}

.nft-filter-bar {
  max-width: var(--nft-max-width, 1200px) !important;
  margin: 0 auto !important;
  background: var(--hub-white) !important;
  border: 1px solid var(--hub-border) !important;
  border-radius: var(--hub-radius-lg) !important;
  box-shadow: var(--hub-shadow-soft) !important;
  padding: 22px !important;
  display: grid !important;
  grid-template-columns: 1.1fr repeat(3, minmax(160px, 0.65fr)) !important;
  gap: 14px !important;
}

.nft-filter-bar > div {
  background: var(--hub-bg-light) !important;
  border: 1px solid var(--hub-border) !important;
  border-radius: var(--hub-radius-md) !important;
  padding: 16px !important;
}

.nft-filter-bar strong,
.nft-filter-bar h4,
.nft-filter-bar h5 {
  display: block !important;
  color: var(--hub-accent) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  margin: 0 0 6px !important;
}

.nft-filter-bar p {
  color: var(--hub-text) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

.nft-filter-note {
  max-width: var(--nft-max-width, 1200px) !important;
  margin: 14px auto 0 !important;
  color: rgba(31, 27, 31, 0.72) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

/* ---------------------------------------------
   7) Listing Section
--------------------------------------------- */

.nft-therapist-listing-section {
  background: var(--hub-bg-light) !important;
}

.nft-therapist-hub-wrap {
  width: 100% !important;
}

.nft-therapist-heading {
  margin-bottom: 28px !important;
}

.nft-therapist-heading h2,
.nft-therapist-listing-section h2 {
  color: var(--hub-accent) !important;
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

.nft-therapist-heading p {
  max-width: 760px !important;
  color: var(--hub-text) !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
  margin-bottom: 0 !important;
}

/* ---------------------------------------------
   8) Manual Filter Chips
   Matches homepage tag/pill style
--------------------------------------------- */

.nft-therapist-anchor-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 28px 0 34px !important;
}

.nft-therapist-anchor-tags a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 16px !important;
  border-radius: var(--hub-radius-pill) !important;
  background: var(--hub-white) !important;
  color: var(--hub-accent) !important;
  border: 1px solid var(--hub-border) !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition:
    background var(--nft-transition, 0.25s ease),
    color var(--nft-transition, 0.25s ease),
    border-color var(--nft-transition, 0.25s ease),
    transform var(--nft-transition, 0.25s ease) !important;
}

.nft-therapist-anchor-tags a:hover {
  background: var(--hub-bg-alt) !important;
  color: var(--hub-accent) !important;
  border-color: rgba(183, 63, 174, 0.28) !important;
  transform: translateY(-1px) !important;
}

/* ---------------------------------------------
   9) Therapist Card Grid
--------------------------------------------- */

.nft-therapist-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
}

/* ---------------------------------------------
   10) Therapist Cards
   Matches homepage card system
--------------------------------------------- */

.nft-therapist-card {
  background: var(--hub-white) !important;
  border: 1px solid var(--hub-border) !important;
  border-radius: var(--hub-radius-lg) !important;
  box-shadow: var(--hub-shadow-soft) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  transition:
    transform var(--nft-transition, 0.25s ease),
    box-shadow var(--nft-transition, 0.25s ease),
    border-color var(--nft-transition, 0.25s ease) !important;
}

.nft-therapist-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--hub-shadow-hover) !important;
  border-color: rgba(183, 63, 174, 0.22) !important;
}

.nft-therapist-photo {
  aspect-ratio: 4 / 3 !important;
  width: 100% !important;
  background: linear-gradient(135deg, var(--hub-bg-alt), var(--hub-bg-light)) !important;
  overflow: hidden !important;
}

.nft-therapist-photo img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 0 !important;
}

.nft-therapist-card-body {
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.nft-therapist-card h3 {
  color: var(--hub-accent) !important;
  font-size: var(--nft-h3, clamp(1.25rem, 2vw, 1.75rem)) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 4px !important;
}

.nft-credentials {
  color: var(--hub-primary) !important;
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  margin: 0 0 14px !important;
}

.nft-card-summary {
  color: var(--hub-text) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  margin: 0 0 18px !important;
}

.nft-card-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: auto 0 20px !important;
}

.nft-card-tags span {
  display: inline-flex !important;
  align-items: center !important;
  border-radius: var(--hub-radius-pill) !important;
  padding: 8px 12px !important;
  background: var(--hub-bg-light) !important;
  color: var(--hub-accent) !important;
  border: 1px solid rgba(90, 44, 103, 0.08) !important;
  font-weight: 500 !important;
  font-size: 0.82rem !important;
  line-height: 1.2 !important;
}

.nft-card-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  border-top: 1px solid rgba(90, 44, 103, 0.12) !important;
  padding-top: 18px !important;
  margin-top: auto !important;
}

.nft-card-actions a {
  color: var(--hub-accent) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.nft-card-actions a:hover {
  color: var(--hub-primary) !important;
}

.nft-card-actions span {
  color: var(--hub-secondary) !important;
  font-size: 0.82rem !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  text-align: right !important;
}

/* ---------------------------------------------
   11) Not Sure CTA
--------------------------------------------- */

.nft-therapist-match-cta {
  margin-top: 56px !important;
  background: var(--hub-accent) !important;
  color: var(--hub-white) !important;
  border-radius: 24px !important;
  padding: 48px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: center !important;
  box-shadow: var(--hub-shadow-soft) !important;
}

.nft-therapist-match-cta h2,
.nft-therapist-match-cta h3 {
  color: var(--hub-white) !important;
  font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 12px !important;
}

.nft-therapist-match-cta p {
  max-width: 700px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

.nft-match-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: var(--nft-btn-pad-y, 14px) var(--nft-btn-pad-x, 24px) !important;
  border-radius: var(--hub-radius-pill) !important;
  border: 2px solid var(--hub-white) !important;
  background: var(--hub-white) !important;
  color: var(--hub-accent) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition:
    background var(--nft-transition, 0.25s ease),
    color var(--nft-transition, 0.25s ease),
    transform var(--nft-transition, 0.25s ease) !important;
}

.nft-match-btn:hover {
  background: var(--hub-bg-alt) !important;
  color: var(--hub-accent) !important;
  transform: translateY(-1px) !important;
}

/* ---------------------------------------------
   12) Matching Process Section
--------------------------------------------- */

.nft-matching-process-section {
  background: var(--hub-bg-alt) !important;
}

.nft-matching-process-section h2 {
  color: var(--hub-accent) !important;
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

.nft-matching-process-section p {
  color: var(--hub-text) !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
}

.nft-process-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  margin-top: 32px !important;
}

.nft-process-card {
  background: rgba(255, 255, 255, 0.8) !important;
  border: 1px solid rgba(90, 44, 103, 0.12) !important;
  border-radius: var(--hub-radius-lg) !important;
  padding: 28px !important;
  box-shadow: 0 8px 22px rgba(31, 27, 31, 0.06) !important;
}

.nft-process-card h3 {
  color: var(--hub-accent) !important;
  font-size: var(--nft-h3, clamp(1.25rem, 2vw, 1.75rem)) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.nft-process-card p {
  color: var(--hub-text) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  margin-bottom: 0 !important;
}

/* ----- 10. Therapist Hub — Specialty Pills ----- */
/* =========================================================
   THERAPIST HUB — Specialty Pills from Zoho UL Lists
   For cards using .nft-card
   ========================================================= */

/* Target specialty list wrapper inside therapist cards */
.nft-card .zptext ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 14px 0 22px !important;

  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

/* Turn each list item into a pill */
.nft-card .zptext ul li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 8px 12px !important;

  border-radius: var(--nft-radius-pill, 999px) !important;
  background: var(--nft-bg-light, #F5F2ED) !important;
  color: var(--nft-accent, #5A2C67) !important;
  border: 1px solid rgba(90, 44, 103, 0.12) !important;

  font-size: 0.82rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

/* Remove default bullets */
.nft-card .zptext ul li::marker {
  content: "" !important;
  font-size: 0 !important;
}

/* Hover polish */
.nft-card:hover .zptext ul li {
  border-color: rgba(183, 63, 174, 0.25) !important;
}

/* Tighten paragraph spacing around the pill list */
.nft-card .zptext p + ul {
  margin-top: 12px !important;
}

.nft-card .zptext ul + p {
  margin-top: 0 !important;
}

/* ----- 11. Request Appointment ----- */
/* ---------------------------------------------
   1) Request Appointment Scoped Theme Variables
   Matches therapist hub token approach
--------------------------------------------- */

.nft-request-page,
.nft-request-hero,
.nft-request-intro,
.nft-request-form-section,
.nft-request-cta {
  --request-primary: var(--nft-primary, #B73FAE);
  --request-secondary: var(--nft-secondary, #27A9C0);
  --request-accent: var(--nft-accent, #5A2C67);
  --request-bg-light: var(--nft-bg-light, #F5F2ED);
  --request-bg-alt: var(--nft-bg-alt, #EAD6EC);
  --request-text: var(--nft-text, #1F1B1F);
  --request-white: var(--nft-white, #FFFFFF);
  --request-border: rgba(90, 44, 103, 0.12);
  --request-border-hover: rgba(183, 63, 174, 0.22);
  --request-radius-md: var(--nft-radius-md, 12px);
  --request-radius-lg: var(--nft-radius-lg, 16px);
  --request-radius-pill: var(--nft-radius-pill, 999px);
  --request-shadow-soft: var(--nft-shadow-soft, 0 8px 24px rgba(31, 27, 31, 0.08));
  --request-shadow-hover: var(--nft-shadow-hover, 0 12px 32px rgba(31, 27, 31, 0.12));
  --request-transition: var(--nft-transition, 0.25s ease);
}

/* ---------------------------------------------
   2) Page Base
--------------------------------------------- */

.nft-request-page {
  background: var(--request-bg-light) !important;
  color: var(--request-text) !important;
}

.nft-request-page h1,
.nft-request-page h2,
.nft-request-page h3,
.nft-request-page h4 {
  color: var(--request-accent) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
}

.nft-request-page p,
.nft-request-page li {
  color: var(--request-text) !important;
  line-height: 1.65 !important;
}

/* ---------------------------------------------
   3) Hero
   Add class to hero section: nft-request-hero
--------------------------------------------- */

.nft-request-hero {
  background:
    radial-gradient(circle at top right, rgba(234, 214, 236, 0.65), transparent 30%),
    radial-gradient(circle at bottom left, rgba(183, 63, 174, 0.08), transparent 28%),
    var(--request-bg-light) !important;
  padding: 80px 24px 72px !important;
}

.nft-request-hero h1 {
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  max-width: 16ch !important;
  margin-bottom: 18px !important;
  text-wrap: balance;
}

.nft-request-hero p {
  max-width: 58ch !important;
  font-size: 1.08rem !important;
  margin-bottom: 0 !important;
}

/* ---------------------------------------------
   4) Intro Section
   Add class to intro section: nft-request-intro
--------------------------------------------- */

.nft-request-intro {
  background: var(--request-white) !important;
  padding: 64px 24px !important;
}

.nft-request-intro h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 16px !important;
}

.nft-request-intro p {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  font-size: 1.05rem !important;
}

/* ---------------------------------------------
   5) Main Form Section
   Add class to section: nft-request-form-section
--------------------------------------------- */

.nft-request-form-section {
  background: var(--request-bg-light) !important;
  padding: 72px 24px 88px !important;
}

.nft-request-form-section .zprow {
  align-items: flex-start !important;
}

/* Keep columns simple — no sticky behavior */
.nft-request-form-section .zpelem-col,
.nft-request-form-section [class*="zpcol-"] {
  box-sizing: border-box !important;
}

/* ---------------------------------------------
   6) Cards
   Left card: nft-request-info-card
   Right card: nft-request-form-card
   Matches therapist hub card treatment
--------------------------------------------- */

.nft-request-info-card,
.nft-request-form-card {
  background: var(--request-white) !important;
  border: 1px solid var(--request-border) !important;
  border-radius: var(--request-radius-lg) !important;
  box-shadow: var(--request-shadow-soft) !important;
  overflow: hidden !important;
  padding: 28px !important;
  transition:
    transform var(--request-transition),
    box-shadow var(--request-transition),
    border-color var(--request-transition) !important;
}

.nft-request-info-card:hover,
.nft-request-form-card:hover {
  border-color: var(--request-border-hover) !important;
  box-shadow: var(--request-shadow-hover) !important;
}

/* Important: do not make the left card sticky */
.nft-request-info-card {
  position: relative !important;
  top: auto !important;
}

.nft-request-info-card h2,
.nft-request-form-card h2 {
  font-size: var(--nft-h3, clamp(1.25rem, 2vw, 1.75rem)) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 12px !important;
  color: var(--request-accent) !important;
}

.nft-request-info-card p,
.nft-request-form-card p {
  color: var(--request-text) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  margin: 0 0 16px !important;
}

/* ---------------------------------------------
   7) What Happens Next Items
   Parent: nft-next-steps
   Items: nft-next-step
   Styled like compact therapist hub cards/pills
--------------------------------------------- */

.nft-next-steps {
  display: grid !important;
  gap: 12px !important;
  margin-top: 22px !important;
}

.nft-next-step {
  background: var(--request-bg-light) !important;
  border: 1px solid rgba(90, 44, 103, 0.08) !important;
  border-radius: var(--request-radius-md) !important;
  padding: 18px !important;
  transition:
    transform var(--request-transition),
    box-shadow var(--request-transition),
    border-color var(--request-transition) !important;
}

.nft-next-step:hover {
  transform: translateY(-2px) !important;
  border-color: var(--request-border-hover) !important;
  box-shadow: 0 10px 24px rgba(31, 27, 31, 0.08) !important;
}

.nft-next-step h3,
.nft-next-step h4,
.nft-next-step strong {
  display: block !important;
  color: var(--request-accent) !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  margin: 0 0 5px !important;
}

.nft-next-step p {
  color: var(--request-text) !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ---------------------------------------------
   8) Emergency Note
   Class: nft-emergency-note
--------------------------------------------- */

.nft-emergency-note {
  margin-top: 20px !important;
  background: var(--request-bg-alt) !important;
  border: 1px solid rgba(183, 63, 174, 0.22) !important;
  border-left: 5px solid var(--request-primary) !important;
  border-radius: var(--request-radius-md) !important;
  padding: 18px !important;
}

.nft-emergency-note p {
  margin: 0 !important;
  color: var(--request-text) !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}

.nft-emergency-note strong {
  color: var(--request-text, #1F1B1F) !important;
}

/* ---------------------------------------------
   9) Zoho Form Embed Fix
   Class around form/code embed: nft-zoho-form-embed

   Goal:
   - No internal iframe scroll
   - Full form visible
   - Page scrolls naturally
--------------------------------------------- */

.nft-zoho-form-embed {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  background: var(--request-white) !important;
}

/* Main iframe fix */
.nft-zoho-form-embed iframe,
.nft-request-form-card iframe,
.nft-request-form-section iframe {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 1667px !important;
  min-height: 1667px !important;
  border: 0 !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

/* Remove any forced scroll container around the form */
.nft-request-form-card,
.nft-request-form-card .zpiframe-container,
.nft-request-form-card .zpiframe,
.nft-request-form-card .zpembed,
.nft-request-form-card .zpcode,
.nft-zoho-form-embed {
  overflow: visible !important;
}

/* If Zoho adds iframe wrapper spacing */
.nft-request-form-card .zpelement,
.nft-request-form-card .zptext,
.nft-request-form-card .zpiframe-container {
  margin-bottom: 0 !important;
}

/* ---------------------------------------------
   10) Direct Form Fields
   Only applies if Zoho Form is not iframe-isolated
--------------------------------------------- */

.nft-request-form-section input:not(.zpnewsletter-email-input-field),
.nft-request-form-section select,
.nft-request-form-section textarea {
  width: 100% !important;
  border: 1px solid rgba(90, 44, 103, 0.18) !important;
  border-radius: var(--request-radius-md) !important;
  padding: 14px 16px !important;
  background: var(--request-white) !important;
  color: var(--request-text) !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  transition:
    border-color var(--request-transition),
    box-shadow var(--request-transition) !important;
}

.nft-request-form-section textarea {
  min-height: 130px !important;
  resize: vertical !important;
}

.nft-request-form-section input:not(.zpnewsletter-email-input-field):focus,
.nft-request-form-section select:focus,
.nft-request-form-section textarea:focus {
  outline: none !important;
  border-color: var(--request-primary) !important;
  box-shadow: 0 0 0 4px rgba(183, 63, 174, 0.12) !important;
}

/* ----- 11. Request Appointment — Page Buttons ----- */
/* ----- 11. Request Appointment — Hero Center + CTA ----- */
/* =========================================================
   REQUEST APPOINTMENT HERO — CENTER H1 + H2/TEXT
   ========================================================= */

.nft-request-hero h1,
.nft-request-hero h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nft-request-hero h1 {
  max-width: 18ch !important;
}

.nft-request-hero h2 {
  max-width: 760px !important;
}

.nft-request-hero p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 760px !important;
}

/* Make sure the column/content container itself is centered */
.nft-request-hero .zptext,
.nft-request-hero .zpheading,
.nft-request-hero .zpelem-heading,
.nft-request-hero .zpelem-text {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Override mobile left-align rules from earlier CSS */

/* =========================================================
   REQUEST APPOINTMENT CTA SECTION FIX
   Section: "Not sure who to choose?"
   ========================================================= */

/* Main CTA section background */
.nft-request-cta {
  background: var(--nft-bg-alt) !important;
  color: var(--nft-text, #1F1B1F) !important;
  padding: 72px 24px !important;
  text-align: center !important;
}

/* Keep content centered */
.nft-request-cta .zpcontainer,
.nft-request-cta .zpcontainer-fluid {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Heading */
.nft-request-cta h2,
.nft-request-cta h2 span {
  color: var(--nft-accent, #5A2C67) !important;
  text-align: center !important;
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 16px !important;
}

/* Paragraph centered */
.nft-request-cta p,
.nft-request-cta .zptext,
.nft-request-cta .zptext p,
.nft-request-cta .zptext span {
  color: var(--nft-text, #1F1B1F) !important;
  text-align: center !important;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

/* Button row */
.nft-request-cta .zpbutton-container {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: 28px !important;
}

/* Reset Zoho button wrappers in this CTA */
.nft-request-cta .zpelem-button {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Request CTA: primary/outline base inherited from section 4 */

.nft-request-cta .zpelem-button.nft-btn-outline .zpbutton-wrapper:hover,
.nft-request-cta .zpelem-button.nft-btn-outline .zpbutton:hover,
.nft-request-cta .zpelem-button.nft-btn-outline a.zpbutton:hover {
  background: #FFFFFF !important;
  border-color: var(--nft-primary, #B73FAE) !important;
  color: var(--nft-accent, #5A2C67) !important;
  transform: translateY(-1px) !important;
}

/* ----- 12. Fees ----- */
/* =========================================================
   PAYMENT & FEES PAGE — CLEAN OVERRIDE
   Paste after existing Payment & Fees CSS or replace old block.
   ========================================================= */

/* ---------------------------------------------
   1) Scoped Theme Variables
--------------------------------------------- */

.nft-fees-hero,
.nft-fees-insurance,
.nft-fees-private-pay,
.nft-fees-payment-methods,
.nft-fees-cancellation,
.nft-fees-gfe,
.nft-fees-final-cta {
  --fees-primary: var(--nft-primary, #B73FAE);
  --fees-secondary: var(--nft-secondary, #27A9C0);
  --fees-accent: var(--nft-accent, #5A2C67);
  --fees-footer-bg: var(--nft-bg-alt, #EADCF0);
  --fees-bg-light: var(--nft-bg-light, #F5F2ED);
  --fees-bg-alt: var(--nft-bg-alt, #EAD6EC);
  --fees-text: var(--nft-text, #1F1B1F);
  --fees-white: var(--nft-white, #FFFFFF);
  --fees-border: rgba(90, 44, 103, 0.12);
  --fees-border-hover: rgba(183, 63, 174, 0.26);
  --fees-radius-md: var(--nft-radius-md, 12px);
  --fees-radius-lg: var(--nft-radius-lg, 16px);
  --fees-radius-pill: var(--nft-radius-pill, 999px);
  --fees-shadow-soft: var(--nft-shadow-soft, 0 8px 24px rgba(31, 27, 31, 0.08));
  --fees-shadow-hover: var(--nft-shadow-hover, 0 12px 32px rgba(31, 27, 31, 0.12));
  --fees-transition: var(--nft-transition, 0.25s ease);
}

/* ---------------------------------------------
   2) Section Spacing + Width
--------------------------------------------- */

.nft-fees-hero,
.nft-fees-insurance,
.nft-fees-private-pay,
.nft-fees-payment-methods,
.nft-fees-cancellation,
.nft-fees-gfe,
.nft-fees-final-cta {
  padding: var(--nft-section-pad-y, 80px) var(--nft-section-pad-x, 24px) !important;
}

/* ---------------------------------------------
   3) Typography — Matches Site
--------------------------------------------- */

.nft-fees-hero h1,
.nft-fees-insurance h2,
.nft-fees-private-pay h2,
.nft-fees-payment-methods h2,
.nft-fees-cancellation h2,
.nft-fees-gfe h2,
.nft-fees-final-cta h2,
.nft-fees-private-card h3,
.nft-fees-method-card h3,
.nft-insurance-logo-card h3 {
  color: var(--fees-accent) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
}

.nft-fees-hero h1 {
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  font-weight: 700 !important;
  margin-bottom: 18px !important;
  text-wrap: balance;
}

.nft-fees-insurance h2,
.nft-fees-private-pay h2,
.nft-fees-payment-methods h2,
.nft-fees-cancellation h2,
.nft-fees-gfe h2,
.nft-fees-final-cta h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
}

.nft-fees-hero p,
.nft-fees-insurance p,
.nft-fees-private-pay p,
.nft-fees-payment-methods p,
.nft-fees-cancellation p,
.nft-fees-gfe p,
.nft-fees-final-cta p,
.nft-fees-private-card p,
.nft-fees-method-card p {
  color: var(--fees-text) !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
}

/* ---------------------------------------------
   4) Hero
--------------------------------------------- */

.nft-fees-hero {
  background:
    radial-gradient(circle at top right, rgba(234, 214, 236, 0.65), transparent 30%),
    radial-gradient(circle at bottom left, rgba(183, 63, 174, 0.08), transparent 28%),
    var(--fees-bg-light) !important;
  text-align: center !important;
}

.nft-fees-hero h1,
.nft-fees-hero p,
.nft-fees-hero .zptext,
.nft-fees-hero .zpheading,
.nft-fees-hero .zpelem-heading,
.nft-fees-hero .zpelem-text {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nft-fees-hero h1 {
  max-width: 18ch !important;
}

.nft-fees-hero p {
  max-width: 760px !important;
  margin-bottom: 28px !important;
}

/* ---------------------------------------------
   5) Hero Button Group Fix
   This makes each button look like the site buttons,
   not like one combined/grouped Zoho control.
--------------------------------------------- */

.nft-fees-btn-row,
.nft-fees-hero .zpbutton-container {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: 28px !important;
}

.nft-fees-hero .zpelem-button,
.nft-fees-hero .zpbutton-container,
.nft-fees-hero .zpbutton-wrapper {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.nft-fees-hero .zpelem-button {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
}

.nft-fees-hero .zpbutton-container {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

/* ---------------------------------------------
   6) Insurance Section
--------------------------------------------- */

.nft-fees-insurance {
  background: var(--fees-white) !important;
  text-align: center !important;
}

.nft-fees-insurance h2,
.nft-fees-insurance p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nft-fees-insurance p {
  max-width: 820px !important;
}

/* Main logo grid.
   Add nft-insurance-logo-grid to the row/container holding the logos.
*/

.nft-insurance-logo-grid {
  max-width: 1080px !important;
  margin: 34px auto 0 !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

/* If Zoho adds columns inside the logo grid */

.nft-insurance-logo-grid > .zpelem-col,
.nft-insurance-logo-grid > [class*="zpcol-"],
.nft-insurance-logo-grid > div {
  min-width: 0 !important;
}

/* Each insurance item */

.nft-insurance-logo-card {
  background: var(--fees-bg-light) !important;
  border: 1px solid var(--fees-border) !important;
  border-radius: var(--fees-radius-lg) !important;
  box-shadow: 0 8px 22px rgba(31, 27, 31, 0.06) !important;
  padding: 24px 18px !important;
  min-height: 142px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  transition:
    transform var(--fees-transition),
    box-shadow var(--fees-transition),
    border-color var(--fees-transition) !important;
}

.nft-insurance-logo-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--fees-shadow-hover) !important;
  border-color: var(--fees-border-hover) !important;
}

.nft-insurance-logo-card img,
.nft-insurance-logo-card .zpimage-container img,
.nft-insurance-logo-card .zpimage img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 155px !important;
  max-height: 56px !important;
  object-fit: contain !important;
  margin: 0 auto 12px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.nft-insurance-logo-card h3,
.nft-insurance-logo-card h4,
.nft-insurance-logo-card p,
.nft-insurance-logo-card span {
  color: var(--fees-accent) !important;
  font-size: 0.95rem !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  margin: 0 !important;
  text-align: center !important;
}

/* Fallback:
   If you cannot add a grid row, this targets any row in the
   insurance section that contains logo cards and turns it into a grid.
*/

.nft-fees-insurance .zprow:has(.nft-insurance-logo-card) {
  max-width: 1080px !important;
  margin: 34px auto 0 !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.nft-fees-insurance .zprow:has(.nft-insurance-logo-card) > .zpelem-col,
.nft-fees-insurance .zprow:has(.nft-insurance-logo-card) > [class*="zpcol-"] {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Insurance disclaimer */

.nft-fees-note {
  max-width: 900px !important;
  margin: 34px auto 0 !important;
  padding: 20px 24px !important;
  background: var(--fees-bg-alt) !important;
  border-left: 5px solid var(--fees-primary) !important;
  border-radius: var(--fees-radius-md) !important;
  text-align: left !important;
  box-shadow: 0 8px 22px rgba(31, 27, 31, 0.04) !important;
}

.nft-fees-note p,
.nft-fees-note span {
  color: var(--fees-text) !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  text-align: left !important;
}

/* ---------------------------------------------
   7) Out-of-Network & Private Pay — Tidied
--------------------------------------------- */

.nft-fees-private-pay {
  background: var(--fees-bg-light) !important;
}

.nft-fees-private-pay .zprow {
  align-items: stretch !important;
}

.nft-fees-private-pay h2 {
  margin-bottom: 18px !important;
}

.nft-fees-private-pay p {
  max-width: 680px !important;
  margin-bottom: 18px !important;
}

.nft-fees-private-card {
  background: var(--fees-white) !important;
  border: 1px solid var(--fees-border) !important;
  border-radius: 22px !important;
  box-shadow: var(--fees-shadow-soft) !important;
  padding: 36px !important;
  height: 100% !important;
}

.nft-fees-private-card h3 {
  color: var(--fees-accent) !important;
  font-size: var(--nft-h3, clamp(1.25rem, 2vw, 1.75rem)) !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}

.nft-fees-private-card p {
  font-size: 1rem !important;
  line-height: 1.65 !important;
  margin-bottom: 22px !important;
}

.nft-fees-private-card ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 18px 0 0 !important;
}

.nft-fees-private-card li {
  position: relative !important;
  padding-left: 26px !important;
  margin-bottom: 12px !important;
  color: var(--fees-text) !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

.nft-fees-private-card li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.55em !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px !important;
  background: var(--fees-secondary) !important;
}

.nft-fees-private-pay .nft-fees-btn-row,
.nft-fees-private-card .zpbutton-container {
  justify-content: flex-start !important;
  margin-top: 22px !important;
}

/* ---------------------------------------------
   8) Payment Methods
--------------------------------------------- */

.nft-fees-payment-methods {
  background: var(--fees-white) !important;
  text-align: center !important;
}

.nft-fees-payment-methods h2,
.nft-fees-payment-methods p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nft-fees-payment-methods p {
  max-width: 760px !important;
}

.nft-fees-method-card {
  background: var(--fees-bg-light) !important;
  border: 1px solid var(--fees-border) !important;
  border-radius: var(--fees-radius-lg) !important;
  box-shadow: 0 8px 22px rgba(31, 27, 31, 0.06) !important;
  padding: 28px !important;
  height: 100% !important;
  transition:
    transform var(--fees-transition),
    box-shadow var(--fees-transition),
    border-color var(--fees-transition) !important;
}

.nft-fees-method-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--fees-shadow-hover) !important;
  border-color: var(--fees-border-hover) !important;
}

.nft-fees-method-card p {
  font-size: 1rem !important;
  margin-bottom: 0 !important;
}

/* ---------------------------------------------
   9) Cancellation Section
--------------------------------------------- */

.nft-fees-cancellation {
  background: var(--fees-bg-light) !important;
  text-align: center !important;
}

.nft-fees-cancellation h2,
.nft-fees-cancellation p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nft-fees-cancellation p {
  max-width: 820px !important;
  margin-bottom: 24px !important;
}

/* ---------------------------------------------
   10) Good Faith Estimate
   Changed away from purple so final CTA can use footer color.
--------------------------------------------- */

.nft-fees-gfe {
  background: var(--fees-white) !important;
  text-align: center !important;
}

.nft-fees-gfe .zpcontainer,
.nft-fees-gfe .zpcontainer-fluid {
  max-width: 980px !important;
}

.nft-fees-gfe h2,
.nft-fees-gfe p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nft-fees-gfe p {
  max-width: 760px !important;
  margin-bottom: 24px !important;
}

.nft-fees-gfe .zpcontainer,
.nft-fees-gfe .zpcontainer-fluid {
  background: var(--fees-bg-light) !important;
  border: 1px solid var(--fees-border) !important;
  border-radius: 24px !important;
  box-shadow: var(--fees-shadow-soft) !important;
  padding: 48px !important;
}

/* ---------------------------------------------
   11) Final CTA — Lavender (matches site-wide last section)
--------------------------------------------- */

.nft-fees-final-cta {
  background: var(--fees-bg-alt) !important;
  background-image: none !important;
  text-align: center !important;
}

.nft-fees-final-cta h2,
.nft-fees-final-cta h2 span {
  color: var(--fees-accent) !important;
  text-align: center !important;
}

.nft-fees-final-cta p,
.nft-fees-final-cta .zptext,
.nft-fees-final-cta .zptext p,
.nft-fees-final-cta .zptext span {
  color: var(--fees-text) !important;
  text-align: center !important;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nft-fees-final-cta .zpbutton-container {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: 28px !important;
}

.nft-fees-final-cta .zpelem-button {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* ----- 13. Crisis Resources (Zoho page classes) ----- */

.nft-crisis-page,
.nft-crisis-hero,
.nft-crisis-steps,
.nft-crisis-resources,
.nft-crisis-state,
.nft-crisis-local,
.nft-crisis-nonurgent {
  --crisis-primary: var(--nft-primary, #B73FAE);
  --crisis-accent: var(--nft-accent, #5A2C67);
  --crisis-bg-light: var(--nft-bg-light, #F5F2ED);
  --crisis-bg-alt: var(--nft-bg-alt, #EAD6EC);
  --crisis-text: var(--nft-text, #1F1B1F);
  --crisis-white: var(--nft-white, #FFFFFF);
  --crisis-border: rgba(90, 44, 103, 0.12);
  --crisis-border-hover: rgba(183, 63, 174, 0.26);
  --crisis-radius-md: var(--nft-radius-md, 12px);
  --crisis-radius-lg: var(--nft-radius-lg, 16px);
  --crisis-radius-pill: var(--nft-radius-pill, 999px);
  --crisis-shadow-soft: var(--nft-shadow-soft, 0 8px 24px rgba(31, 27, 31, 0.08));
  --crisis-shadow-hover: var(--nft-shadow-hover, 0 12px 32px rgba(31, 27, 31, 0.12));
  --crisis-transition: var(--nft-transition, 0.25s ease);
}

.nft-crisis-page,
.nft-crisis-hero,
.nft-crisis-steps,
.nft-crisis-resources,
.nft-crisis-state,
.nft-crisis-local,
.nft-crisis-nonurgent {
  background: var(--crisis-bg-light) !important;
  color: var(--crisis-text) !important;
}

.nft-crisis-page h1,
.nft-crisis-page h2,
.nft-crisis-hero h1,
.nft-crisis-hero h2,
.nft-crisis-steps h2,
.nft-crisis-resources h2,
.nft-crisis-state h2,
.nft-crisis-local h2,
.nft-crisis-nonurgent h2 {
  color: var(--crisis-accent) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
}

.nft-crisis-page p,
.nft-crisis-page li,
.nft-crisis-hero p,
.nft-crisis-steps p,
.nft-crisis-resources p,
.nft-crisis-state p,
.nft-crisis-local p,
.nft-crisis-nonurgent p {
  color: var(--crisis-text) !important;
  line-height: 1.65 !important;
}

/* Hero — compact so mobile call buttons stay above the fold */

.nft-crisis-hero {
  background:
    radial-gradient(circle at top right, rgba(234, 214, 236, 0.55), transparent 32%),
    var(--crisis-bg-light) !important;
  padding: 40px 24px 20px !important;
}

.nft-crisis-hero h1 {
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  font-weight: 700 !important;
  margin-bottom: 18px !important;
  text-wrap: balance;
}

.nft-crisis-hero h1,
.nft-crisis-hero p,
.nft-crisis-hero .zptext,
.nft-crisis-hero .zpheading,
.nft-crisis-hero .zpelem-heading,
.nft-crisis-hero .zpelem-text {
  text-align: center !important;
}

.nft-crisis-hero .zptext p {
  max-width: 68ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 1.05rem !important;
}

.nft-crisis-hero .zptext p + p {
  margin-top: 14px !important;
}

.nft-crisis-hero .zptext strong {
  color: var(--crisis-accent) !important;
}

/* Mobile quick-call button row (zp-hidden-md = mobile only) */

.nft-crisis-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 20px !important;
  max-width: 520px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nft-crisis-actions .zpelem-button,
.nft-crisis-actions .zpbutton-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.nft-crisis-actions .zpbutton-wrapper,
.nft-crisis-actions .zpbutton,
.nft-crisis-actions a.zpbutton {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 14px 20px !important;
  border-radius: var(--crisis-radius-pill) !important;
  border: 2px solid var(--crisis-primary) !important;
  background: var(--crisis-primary) !important;
  color: var(--crisis-white) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(183, 63, 174, 0.18) !important;
  transition:
    transform var(--crisis-transition),
    background var(--crisis-transition),
    border-color var(--crisis-transition) !important;
}

.nft-crisis-actions .zpbutton-content {
  color: var(--crisis-white) !important;
}

.nft-crisis-actions .zpbutton-wrapper:hover,
.nft-crisis-actions .zpbutton:hover,
.nft-crisis-actions a.zpbutton:hover {
  background: var(--crisis-accent) !important;
  border-color: var(--crisis-accent) !important;
  transform: translateY(-1px) !important;
}

/* Shared section spacing */

.nft-crisis-steps,
.nft-crisis-resources,
.nft-crisis-state,
.nft-crisis-local,
.nft-crisis-nonurgent {
  padding: 56px 24px !important;
}

.nft-crisis-steps {
  background: var(--crisis-white) !important;
}

.nft-crisis-resources {
  background: var(--crisis-bg-alt) !important;
}

.nft-crisis-state {
  background: var(--crisis-bg-light) !important;
}

.nft-crisis-local {
  background: var(--crisis-white) !important;
}

.nft-crisis-nonurgent {
  background: var(--crisis-bg-alt) !important;
}

.nft-crisis-steps h2,
.nft-crisis-resources h2,
.nft-crisis-state h2,
.nft-crisis-local h2,
.nft-crisis-nonurgent h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
  text-align: center !important;
}

.nft-crisis-steps p,
.nft-crisis-resources p,
.nft-crisis-state p,
.nft-crisis-local p,
.nft-crisis-nonurgent p,
.nft-crisis-nonurgent .zptext p {
  font-size: 1.05rem !important;
}

/* Get Help Now — resource cards from text paragraphs */

.nft-crisis-steps .zptext > div {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.nft-crisis-steps .zptext > div > p {
  background: var(--crisis-bg-light) !important;
  border: 1px solid var(--crisis-border) !important;
  border-radius: var(--crisis-radius-lg) !important;
  box-shadow: var(--crisis-shadow-soft) !important;
  padding: 20px 22px !important;
  margin: 0 !important;
  transition:
    transform var(--crisis-transition),
    border-color var(--crisis-transition),
    box-shadow var(--crisis-transition) !important;
}

.nft-crisis-steps .zptext > div > p:hover {
  transform: translateY(-2px) !important;
  border-color: var(--crisis-border-hover) !important;
  box-shadow: var(--crisis-shadow-hover) !important;
}

.nft-crisis-steps .zptext strong {
  display: block !important;
  color: var(--crisis-accent) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}

.nft-crisis-steps .zptext p strong:last-of-type,
.nft-crisis-state .zptext strong,
.nft-crisis-local .zptext strong {
  color: var(--crisis-primary) !important;
}

/* What To Do Right Now — guidance list */

.nft-crisis-resources .zptext {
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.nft-crisis-resources .zptext > div > p:first-child {
  font-size: 1.02rem !important;
  margin-bottom: 16px !important;
}

.nft-crisis-resources .zptext > div > p + p {
  background: var(--crisis-white) !important;
  border: 1px solid var(--crisis-border) !important;
  border-radius: var(--crisis-radius-md) !important;
  padding: 20px 22px !important;
  margin: 0 !important;
}

.nft-crisis-resources .zptext strong {
  color: var(--crisis-accent) !important;
}

/* State + local resource sections */

.nft-crisis-state .zptext,
.nft-crisis-local .zptext {
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.nft-crisis-state .zptext > div,
.nft-crisis-local .zptext > div {
  display: grid !important;
  gap: 14px !important;
}

.nft-crisis-state .zptext > div > p,
.nft-crisis-local .zptext > div > p {
  background: var(--crisis-white) !important;
  border: 1px solid var(--crisis-border) !important;
  border-radius: var(--crisis-radius-md) !important;
  padding: 18px 20px !important;
  margin: 0 !important;
}

.nft-crisis-state .zptext strong,
.nft-crisis-local .zptext strong {
  display: block !important;
  color: var(--crisis-accent) !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
}

/* Non-urgent practice contact */

.nft-crisis-nonurgent .zptext {
  max-width: 680px !important;
  margin: 0 auto 24px !important;
  text-align: center !important;
}

.nft-crisis-nonurgent .nft-emergency-note,
.nft-crisis-nonurgent .zptext.nft-emergency-note {
  max-width: 760px !important;
  margin: 0 auto 28px !important;
  padding: 18px 20px !important;
  background: var(--crisis-white) !important;
  border: 1px solid rgba(183, 63, 174, 0.22) !important;
  border-left: 5px solid var(--crisis-primary) !important;
  border-radius: var(--crisis-radius-md) !important;
  text-align: left !important;
}

.nft-crisis-nonurgent .zpbutton-container,
.nft-crisis-nonurgent .nft-btn-row,
.nft-crisis-nonurgent .nft-fees-btn-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 8px !important;
  width: 100% !important;
}

.nft-crisis-nonurgent .nft-fees-btn-row .zpelem-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.nft-crisis-nonurgent .nft-fees-btn-row .zpelem-button,
.nft-crisis-nonurgent .nft-btn-row .zpelem-button {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
}

.nft-crisis-nonurgent .nft-fees-btn-row .zpbutton-container,
.nft-crisis-nonurgent .nft-btn-row .zpbutton-container {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

.nft-crisis-nonurgent .zpelem-button.nft-btn .zpbutton-wrapper,
.nft-crisis-nonurgent .zpelem-button.nft-btn .zpbutton,
.nft-crisis-nonurgent .zpelem-button.nft-btn a.zpbutton,
.nft-crisis-nonurgent .zpelem-button.nft-btn-outline .zpbutton-wrapper,
.nft-crisis-nonurgent .zpelem-button.nft-btn-outline .zpbutton,
.nft-crisis-nonurgent .zpelem-button.nft-btn-outline a.zpbutton {
  min-width: 220px !important;
}

/* ----- 14. What to Expect Page ----- */

.nft-expect-page,
.nft-expect-hero,
.nft-expect-process,
.nft-expect-consultation,
.nft-expect-first-session,
.nft-expect-confidentiality,
.nft-expect-telehealth,
.nft-expect-cta {
  --expect-primary: var(--nft-primary, #B73FAE);
  --expect-accent: var(--nft-accent, #5A2C67);
  --expect-bg-light: var(--nft-bg-light, #F5F2ED);
  --expect-bg-alt: var(--nft-bg-alt, #EAD6EC);
  --expect-text: var(--nft-text, #1F1B1F);
  --expect-white: var(--nft-white, #FFFFFF);
  --expect-border: rgba(90, 44, 103, 0.12);
  --expect-border-hover: rgba(183, 63, 174, 0.26);
  --expect-radius-md: var(--nft-radius-md, 12px);
  --expect-radius-lg: var(--nft-radius-lg, 16px);
  --expect-shadow-soft: var(--nft-shadow-soft, 0 8px 24px rgba(31, 27, 31, 0.08));
  --expect-shadow-hover: var(--nft-shadow-hover, 0 12px 32px rgba(31, 27, 31, 0.12));
  --expect-transition: var(--nft-transition, 0.25s ease);
}

.nft-expect-page,
.nft-expect-hero,
.nft-expect-process,
.nft-expect-consultation,
.nft-expect-first-session,
.nft-expect-confidentiality,
.nft-expect-telehealth,
.nft-expect-cta {
  background: var(--expect-bg-light) !important;
  color: var(--expect-text) !important;
}

.nft-expect-page h1,
.nft-expect-page h2,
.nft-expect-hero h1,
.nft-expect-process h2,
.nft-expect-consultation h2,
.nft-expect-first-session h2,
.nft-expect-confidentiality h2,
.nft-expect-telehealth h2,
.nft-expect-cta h2 {
  color: var(--expect-accent) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
}

.nft-expect-page p,
.nft-expect-page li,
.nft-expect-hero p,
.nft-expect-process p,
.nft-expect-consultation p,
.nft-expect-first-session p,
.nft-expect-confidentiality p,
.nft-expect-telehealth p,
.nft-expect-cta p {
  color: var(--expect-text) !important;
  line-height: 1.65 !important;
}

.nft-expect-hero {
  background:
    radial-gradient(circle at top right, rgba(234, 214, 236, 0.55), transparent 32%),
    var(--expect-bg-light) !important;
  padding: 80px 24px 64px !important;
}

.nft-expect-hero h1 {
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  font-weight: 700 !important;
  margin-bottom: 18px !important;
  text-wrap: balance;
}

.nft-expect-hero h1,
.nft-expect-hero p,
.nft-expect-hero .zptext,
.nft-expect-hero .zpheading,
.nft-expect-hero .zpelem-heading,
.nft-expect-hero .zpelem-text {
  text-align: center !important;
}

.nft-expect-hero .zptext p {
  max-width: 68ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 1.05rem !important;
}

.nft-expect-hero .zptext p + p {
  margin-top: 14px !important;
}

.nft-expect-process {
  background: var(--expect-white) !important;
  padding: 72px 24px !important;
}

.nft-expect-consultation,
.nft-expect-confidentiality {
  padding: 72px 24px !important;
}

.nft-expect-first-session {
  background: var(--expect-bg-alt) !important;
  padding: 72px 24px !important;
}

.nft-expect-telehealth {
  background: var(--expect-white) !important;
  padding: 72px 24px !important;
}

.nft-expect-cta {
  background: var(--expect-bg-alt) !important;
  background-image: none !important;
  padding: 72px 24px !important;
}

.nft-expect-process h2,
.nft-expect-consultation h2,
.nft-expect-first-session h2,
.nft-expect-confidentiality h2,
.nft-expect-telehealth h2,
.nft-expect-cta h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 16px !important;
}

.nft-expect-process > .zpcontainer > .zptext > p,
.nft-expect-consultation > .zpcontainer > .zptext > p:first-child,
.nft-expect-first-session > .zpcontainer > .zptext > p:first-child,
.nft-expect-confidentiality > .zpcontainer > .zptext > p:first-child,
.nft-expect-telehealth > .zpcontainer > .zptext > p:first-child,
.nft-expect-cta > .zpcontainer > .zptext > p {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  font-size: 1.05rem !important;
  margin-bottom: 28px !important;
}

/* Step cards — Zoho Text element pattern
   Zoho outputs different nesting depending on editor mode:
   A) .zptext > p
   B) .zptext > div > p
   C) .zptext > div > div > p
   Put each step in its own <p> inside one Text element.
*/

.nft-expect-process .zptext:has(> p > strong),
.nft-expect-process .zptext > div:has(> p > strong),
.nft-expect-process .zptext > div > div:has(> p > strong),
.nft-expect-process .zptext .nft-expect-steps {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  max-width: 960px !important;
  margin: 28px auto 0 !important;
  text-align: left !important;
}

.nft-expect-process .zptext > p:has(> strong),
.nft-expect-process .zptext > div > p:has(> strong),
.nft-expect-process .zptext > div > div > p:has(> strong),
.nft-expect-process .zptext .nft-expect-step {
  background: var(--expect-bg-light) !important;
  border: 1px solid var(--expect-border) !important;
  border-radius: var(--expect-radius-lg) !important;
  padding: 24px !important;
  box-shadow: var(--expect-shadow-soft) !important;
  margin: 0 !important;
  text-align: left !important;
  transition:
    transform var(--expect-transition),
    box-shadow var(--expect-transition),
    border-color var(--expect-transition) !important;
}

.nft-expect-process .zptext > p:has(> strong):hover,
.nft-expect-process .zptext > div > p:has(> strong):hover,
.nft-expect-process .zptext > div > div > p:has(> strong):hover,
.nft-expect-process .zptext .nft-expect-step:hover {
  transform: translateY(-2px) !important;
  border-color: var(--expect-border-hover) !important;
  box-shadow: var(--expect-shadow-hover) !important;
}

/* Hide blank spacer paragraphs between steps */
.nft-expect-process .zptext:has(> p > strong) > p:not(:has(strong)),
.nft-expect-process .zptext > div:has(> p > strong) > p:not(:has(strong)),
.nft-expect-process .zptext > div > div:has(> p > strong) > p:not(:has(strong)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Step title only — first strong in each card paragraph */
.nft-expect-process .zptext > p:has(> strong) > strong:first-child,
.nft-expect-process .zptext > div > p:has(> strong) > strong:first-child,
.nft-expect-process .zptext > div > div > p:has(> strong) > strong:first-child {
  display: block !important;
  color: var(--expect-accent) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  margin-bottom: 4px !important;
}

/* Block strong already breaks the line; hide redundant <br> after step titles */
.nft-expect-process .zptext > p:has(> strong) > strong:first-child + br,
.nft-expect-process .zptext > div > p:has(> strong) > strong:first-child + br,
.nft-expect-process .zptext > div > div > p:has(> strong) > strong:first-child + br {
  display: none !important;
  line-height: 0 !important;
  margin: 0 !important;
  height: 0 !important;
}

/* Inline emphasis inside card body (phone numbers, etc.) */
.nft-expect-process .zptext > p:has(> strong) strong:not(:first-child),
.nft-expect-process .zptext > div > p:has(> strong) strong:not(:first-child),
.nft-expect-process .zptext > div > div > p:has(> strong) strong:not(:first-child) {
  display: inline !important;
  color: var(--expect-primary) !important;
  font-weight: 600 !important;
  margin-bottom: 0 !important;
}

/* Optional custom HTML wrapper (if Zoho preserves classes) */

.nft-expect-process .zptext .nft-expect-steps {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  max-width: 960px !important;
  margin: 28px auto 0 !important;
}

.nft-expect-steps {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  max-width: 960px !important;
  margin: 28px auto 0 !important;
}

.nft-expect-step {
  background: var(--expect-bg-light) !important;
  border: 1px solid var(--expect-border) !important;
  border-radius: var(--expect-radius-lg) !important;
  padding: 24px !important;
  box-shadow: var(--expect-shadow-soft) !important;
  transition:
    transform var(--expect-transition),
    box-shadow var(--expect-transition),
    border-color var(--expect-transition) !important;
}

.nft-expect-step:hover {
  transform: translateY(-2px) !important;
  border-color: var(--expect-border-hover) !important;
  box-shadow: var(--expect-shadow-hover) !important;
}

.nft-expect-step strong {
  display: block !important;
  color: var(--expect-accent) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}

.nft-expect-step p {
  margin: 0 !important;
  font-size: 0.98rem !important;
  line-height: 1.6 !important;
}

.nft-expect-consultation .zptext ul,
.nft-expect-first-session .zptext ul,
.nft-expect-confidentiality .zptext ul,
.nft-expect-telehealth .zptext ul,
.nft-expect-telehealth .zptext .nft-expect-list {
  max-width: 680px !important;
  margin: 20px auto 0 !important;
  padding-left: 1.25em !important;
  text-align: left !important;
  list-style-position: outside !important;
}

.nft-expect-consultation .zptext li,
.nft-expect-first-session .zptext li,
.nft-expect-confidentiality .zptext li,
.nft-expect-telehealth .zptext li {
  margin-bottom: 8px !important;
  padding-left: 4px !important;
}

.nft-expect-consultation .zptext li::marker,
.nft-expect-first-session .zptext li::marker,
.nft-expect-confidentiality .zptext li::marker,
.nft-expect-telehealth .zptext li::marker {
  color: var(--expect-primary) !important;
}

.nft-expect-cta .nft-emergency-note {
  max-width: 760px !important;
  margin: 24px auto 0 !important;
}

/* CTA: plain text + buttons — no bordered boxes (unlike request/crisis pages) */
.nft-expect-cta .zptext.nft-emergency-note,
.nft-expect-cta .nft-emergency-note {
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.nft-expect-cta .zptext:has(.nft-btn-row),
.nft-expect-cta .zptext .nft-btn-row {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
}

.nft-expect-cta .zpelem-text:has(.nft-btn-row),
.nft-expect-cta .zpelem-text.nft-emergency-note {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.nft-expect-cta .nft-btn-row,
.nft-expect-cta .nft-fees-btn-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 14px !important;
  margin-top: 28px !important;
}

/* Zoho Button elements in CTA (no HTML nft-btn-row): center as a pair */
.nft-expect-cta .zpelem-col:has(> [data-element-type="button"]) {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 14px !important;
  row-gap: 0 !important;
}

.nft-expect-cta .zpelem-col:has(> [data-element-type="button"]) > [data-element-type="heading"],
.nft-expect-cta .zpelem-col:has(> [data-element-type="button"]) > [data-element-type="text"] {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}

.nft-expect-cta .zpelem-col:has(> [data-element-type="button"]) > [data-element-type="button"] {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  width: auto !important;
  max-width: none !important;
  margin: 14px 0 0 !important;
}

.nft-expect-cta [data-element-type="button"] .zpbutton-container {
  display: block !important;
  width: auto !important;
  text-align: center !important;
}

/* Hide legacy Zoho Button elements when HTML nft-btn-row links are used */
.nft-expect-cta .zpcontainer:has(.nft-btn-row) [data-element-type="button"] {
  display: none !important;
}

/* ----- 15. Responsive ----- */

@media (min-width: 1200px) {
.nft-hero h1 {
    font-size: 3rem !important;
  }
}

@media (max-width: 991px) {
.nft-hero h1 {
    font-size: 2.4rem !important;
    max-width: 20ch;
  }

.nft-hero-img {
    max-width: 480px;
  }

.nft-cards-row {
    gap: 20px !important;
    flex-wrap: wrap !important;
  }

  .nft-cards-row > .zpelem-col,
  .nft-cards-row > div {
    flex: 1 1 calc(50% - 10px) !important;
  }

.nft-section-light .zprow:has(.nft-tag) {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }

  .nft-section-light .nft-tag {
    min-width: 220px;
  }

.nft-bio-hero {
    text-align: center !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .nft-bio-hero p {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .nft-bio-button-row,
  .nft-bio-hero .zpbutton-container {
    justify-content: center !important;
  }

  .nft-bio-photo img,
  img.nft-bio-photo {
    max-width: 360px !important;
    margin-bottom: 32px !important;
  }

  .nft-bio-detail-card {
    padding: 28px !important;
  }

  .nft-bio-cta-card {
    padding: 40px 28px !important;
  }

.nft-therapist-hub-hero {
    text-align: center !important;
  }

  .nft-therapist-hub-hero h1,
  .nft-therapist-hub-hero p {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .nft-btn-row {
    justify-content: center !important;
  }

  .nft-fit-card {
    max-width: 100% !important;
    margin: 36px auto 0 !important;
  }

  .nft-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .nft-therapist-grid,
  .nft-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .nft-therapist-match-cta {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .nft-match-btn {
    justify-self: center !important;
  }

.nft-request-hero {
    padding-top: 64px !important;
    padding-bottom: 56px !important;
  }

  .nft-request-hero h1 {
    font-size: 2.4rem !important;
    max-width: 20ch !important;
  }

  .nft-request-intro {
    padding-top: 56px !important;
    padding-bottom: 48px !important;
  }

  .nft-request-form-section {
    padding-top: 56px !important;
    padding-bottom: 64px !important;
  }

  .nft-request-info-card,
  .nft-request-form-card {
    padding: 24px !important;
  }

  .nft-zoho-form-embed iframe,
  .nft-request-form-card iframe,
  .nft-request-form-section iframe {
    height: 1550px !important;
    min-height: 1550px !important;
  }

.nft-insurance-logo-grid,
  .nft-fees-insurance .zprow:has(.nft-insurance-logo-card) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .nft-fees-private-pay {
    text-align: center !important;
  }

  .nft-fees-private-pay h2,
  .nft-fees-private-pay p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .nft-fees-private-card {
    margin-top: 28px !important;
  }

  .nft-fees-private-pay .nft-fees-btn-row,
  .nft-fees-private-card .zpbutton-container {
    justify-content: center !important;
  }

  .nft-fees-gfe .zpcontainer,
  .nft-fees-gfe .zpcontainer-fluid {
    padding: 40px 28px !important;
  }
}

@media (max-width: 767px) {
.menu-highlight-primary .zpmm-element-anchor,
  .menu-highlight-primary a,
  .zpmm-container-style-02 .zpbutton-wrapper,
  .zpmm-container-style-02 a.zpbutton,
  .zpmm-container-style-02 .zpbutton {
    width: 100% !important;
    justify-content: center !important;
  }

:root {
    --nft-section-pad-y: var(--nft-section-pad-y-mobile);
    --nft-section-pad-x: var(--nft-section-pad-x-mobile);
    --nft-btn-pad-y: 12px;
    --nft-btn-pad-x: 20px;
    --nft-body: 16px;
  }

  .nft-card {
    padding: 20px;
  }

  .nft-hero h1 {
    line-height: 1.15;
  }

  .nft-section h2,
  .nft-hero h2 {
    line-height: 1.2;
  }

.nft-hero h1 {
    font-size: 2rem !important;
    max-width: 100%;
  }

.nft-hero-img {
    max-width: 320px;
  }

.nft-cards-row {
    flex-direction: column !important;
    gap: 18px !important;
  }

  .nft-cards-row > .zpelem-col,
  .nft-cards-row > div {
    width: 100% !important;
    flex: 1 1 100% !important;
  }

.nft-section-light .zprow:has(.nft-tag) {
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
    margin-top: 22px !important;
  }

  .nft-section-light .zprow:has(.nft-tag) > .zpelem-col {
    width: 100% !important;
  }

  .nft-section-light .nft-tag {
    width: 100% !important;
    max-width: 340px !important;
    min-width: 0 !important;
  }

.nft-card .zpicon {
        width: 78px;
        height: 78px;
    }

    .nft-card .zpicon svg {
        width: 32px !important;
        height: 32px !important;
    }

.nft-accordion {
    max-width: 100%;
    margin-top: 24px !important;
  }

  .nft-accordion .zpaccordion {
    padding: 18px 58px 18px 18px !important;
    border-radius: 14px !important;
  }

  .nft-accordion .zpaccordion-name {
    font-size: 1rem !important;
  }

  .nft-accordion .zpaccordionicon {
    right: 18px !important;
  }

  .nft-accordion .zpaccordion-active-content .zpaccordion-element-container {
    padding: 18px !important;
  }

.nft-bio-hero {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .nft-bio-hero h1 {
    font-size: 2.25rem !important;
  }

  .nft-bio-hero p {
    font-size: 1rem !important;
  }

  .nft-bio-photo img,
  img.nft-bio-photo {
    max-width: 100% !important;
    border-radius: 18px !important;
  }

  .nft-bio-button-row,
  .nft-bio-hero .zpbutton-container {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .nft-bio-button-row a,
  .nft-bio-hero .zpbutton-container a,
  .nft-bio-cta-card .zpbutton-container a {
    width: 100% !important;
    text-align: center !important;
  }

  .nft-bio-summary-card {
    min-height: auto !important;
  }

  .nft-bio-content p {
    font-size: 1rem !important;
  }

  .nft-bio-detail-card {
    padding: 24px !important;
  }

  .nft-bio-cta-card {
    padding: 32px 22px !important;
    border-radius: 18px !important;
  }

  .nft-bio-related-links {
    flex-direction: column !important;
  }

  .nft-bio-related-links a {
    justify-content: center !important;
    text-align: center !important;
  }

.nft-therapist-hub-hero,
  .nft-therapist-listing-section,
  .nft-matching-process-section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .nft-therapist-filter-section {
    margin-top: -24px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .nft-therapist-hub-hero h1 {
    font-size: 2rem !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
  }

  .nft-btn-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .nft-btn-row .zpelement,
  .nft-btn-row .zpelem-button,
  .nft-btn-row .zpbutton-container,
  .nft-btn-row .zpbutton-wrapper,
  .nft-btn-row .zpbutton {
    width: 100% !important;
  }

  .nft-filter-bar,
  .nft-therapist-grid,
  .nft-process-grid {
    grid-template-columns: 1fr !important;
  }

  .nft-filter-bar {
    padding: 18px !important;
  }

  .nft-fit-card,
  .nft-therapist-card-body,
  .nft-process-card {
    padding: 22px !important;
  }

  .nft-card-actions {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .nft-card-actions span {
    text-align: left !important;
  }

  .nft-therapist-match-cta {
    padding: 32px 22px !important;
    border-radius: 18px !important;
  }

  .nft-match-btn {
    width: 100% !important;
  }

.nft-card .zptext ul {
    gap: 7px !important;
    margin: 12px 0 20px !important;
  }

  .nft-card .zptext ul li {
    font-size: 0.78rem !important;
    padding: 7px 10px !important;
  }

.nft-request-page .zpelem-button.nft-btn .zpbutton-wrapper,
  .nft-request-page .zpelem-button.nft-btn .zpbutton,
  .nft-request-page .zpelem-button.nft-btn a.zpbutton,
  .nft-request-page .zpelem-button.nft-btn-outline .zpbutton-wrapper,
  .nft-request-page .zpelem-button.nft-btn-outline .zpbutton,
  .nft-request-page .zpelem-button.nft-btn-outline a.zpbutton {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

.nft-request-hero,
  .nft-request-intro,
  .nft-request-form-section,
  .nft-request-cta {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .nft-request-hero {
    padding-top: 56px !important;
    padding-bottom: 48px !important;
  }

  .nft-request-hero h1 {
    font-size: 2rem !important;
    max-width: 100% !important;
  }

  .nft-request-hero p {
    font-size: 1rem !important;
  }

  .nft-request-intro h2,
  .nft-request-intro p {
    text-align: left !important;
  }

  .nft-request-info-card,
  .nft-request-form-card {
    padding: 20px !important;
    border-radius: var(--request-radius-md) !important;
  }

  .nft-next-step {
    padding: 16px !important;
  }

 .nft-zoho-form-embed iframe,
  .nft-request-form-card iframe,
  .nft-request-form-section iframe {
    height: 1650px !important;
    min-height: 1650px !important;
  }

  .nft-request-cta {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

.nft-request-hero h1,
  .nft-request-hero h2,
  .nft-request-hero p,
  .nft-request-hero .zptext,
  .nft-request-hero .zpheading,
  .nft-request-hero .zpelem-heading,
  .nft-request-hero .zpelem-text {
    text-align: center !important;
  }

.nft-request-cta {
    padding: 56px 18px !important;
  }

  .nft-request-cta .zpbutton-container {
    flex-direction: column !important;
    gap: 14px !important;
  }

  .nft-request-cta .zpelem-button,
  .nft-request-cta .zpbutton-wrapper,
  .nft-request-cta .zpbutton,
  .nft-request-cta a.zpbutton {
    width: 100% !important;
  }

.nft-fees-hero,
  .nft-fees-insurance,
  .nft-fees-private-pay,
  .nft-fees-payment-methods,
  .nft-fees-cancellation,
  .nft-fees-gfe,
  .nft-fees-final-cta {
    padding: 48px 18px !important;
  }

  .nft-fees-hero h1 {
    font-size: 2rem !important;
    max-width: 100% !important;
  }

  .nft-fees-hero p,
  .nft-fees-insurance p,
  .nft-fees-private-pay p,
  .nft-fees-payment-methods p,
  .nft-fees-cancellation p,
  .nft-fees-gfe p,
  .nft-fees-final-cta p {
    font-size: 1rem !important;
  }

  .nft-insurance-logo-grid,
  .nft-fees-insurance .zprow:has(.nft-insurance-logo-card) {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .nft-insurance-logo-card {
    min-height: 118px !important;
    padding: 20px !important;
  }

  .nft-insurance-logo-card img,
  .nft-insurance-logo-card .zpimage-container img,
  .nft-insurance-logo-card .zpimage img {
    max-width: 170px !important;
    max-height: 60px !important;
  }

  .nft-fees-btn-row,
  .nft-fees-hero .zpbutton-container,
  .nft-fees-final-cta .zpbutton-container,
  .nft-fees-private-card .zpbutton-container {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  .nft-fees-hero .zpelem-button,
  .nft-fees-final-cta .zpelem-button,
  .nft-fees-private-card .zpelem-button,
  .nft-fees-hero .zpbutton-wrapper,
  .nft-fees-final-cta .zpbutton-wrapper,
  .nft-fees-private-card .zpbutton-wrapper,
  .nft-fees-hero .zpbutton,
  .nft-fees-final-cta .zpbutton,
  .nft-fees-private-card .zpbutton,
  .nft-fees-hero a.zpbutton,
  .nft-fees-final-cta a.zpbutton,
  .nft-fees-private-card a.zpbutton {
    width: 100% !important;
    justify-content: center !important;
  }

  .nft-fees-note {
    padding: 18px 20px !important;
  }

  .nft-fees-private-card,
  .nft-fees-method-card {
    padding: 22px !important;
    border-radius: 18px !important;
  }

  .nft-fees-gfe .zpcontainer,
  .nft-fees-gfe .zpcontainer-fluid {
    padding: 28px 20px !important;
    border-radius: 18px !important;
  }

  .nft-crisis-hero {
    padding: 28px 18px 12px !important;
  }

  .nft-crisis-hero h1 {
    font-size: 2rem !important;
    max-width: 100% !important;
  }

  .nft-crisis-hero .zptext p,
  .nft-crisis-steps p,
  .nft-crisis-resources p,
  .nft-crisis-state p,
  .nft-crisis-local p,
  .nft-crisis-nonurgent p {
    font-size: 1rem !important;
  }

  .nft-crisis-steps h2,
  .nft-crisis-resources h2,
  .nft-crisis-state h2,
  .nft-crisis-local h2,
  .nft-crisis-nonurgent h2 {
    font-size: 2rem !important;
  }

  .nft-crisis-actions .zpbutton-wrapper,
  .nft-crisis-actions .zpbutton,
  .nft-crisis-actions a.zpbutton {
    min-height: 56px !important;
    font-size: 1.05rem !important;
  }

  .nft-crisis-steps,
  .nft-crisis-resources,
  .nft-crisis-state,
  .nft-crisis-local,
  .nft-crisis-nonurgent {
    padding: 40px 18px !important;
  }

  .nft-crisis-steps .zptext > div {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .nft-crisis-steps .zptext > div > p,
  .nft-crisis-state .zptext > div > p,
  .nft-crisis-local .zptext > div > p {
    padding: 16px 18px !important;
    border-radius: 14px !important;
  }

  .nft-crisis-nonurgent .zpbutton-container,
  .nft-crisis-nonurgent .nft-btn-row,
  .nft-crisis-nonurgent .nft-fees-btn-row {
    flex-direction: column !important;
    align-items: center !important;
  }

  .nft-crisis-nonurgent .nft-fees-btn-row .zpelem-col {
    align-items: center !important;
  }

  .nft-crisis-nonurgent .zpelem-button,
  .nft-crisis-nonurgent .zpbutton-wrapper,
  .nft-crisis-nonurgent .zpbutton,
  .nft-crisis-nonurgent a.zpbutton {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .nft-expect-hero {
    padding: 48px 18px 40px !important;
  }

  .nft-expect-hero h1 {
    font-size: 1.75rem !important;
  }

  .nft-expect-process,
  .nft-expect-consultation,
  .nft-expect-first-session,
  .nft-expect-confidentiality,
  .nft-expect-telehealth,
  .nft-expect-cta {
    padding: 48px 18px !important;
  }

  .nft-expect-steps,
  .nft-expect-process .zptext:has(> p > strong),
  .nft-expect-process .zptext > div:has(> p > strong),
  .nft-expect-process .zptext > div > div:has(> p > strong),
  .nft-expect-process .zptext .nft-expect-steps {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .nft-expect-step,
  .nft-expect-process .zptext > p:has(> strong),
  .nft-expect-process .zptext > div > p:has(> strong),
  .nft-expect-process .zptext > div > div > p:has(> strong),
  .nft-expect-process .zptext .nft-expect-step {
    padding: 18px !important;
  }
}

/* ------------------------------------------------------------------ */
/* Footer — even 4-column desktop layout                              */
/* Brand | Social | Policies/Quick Links | Contact                    */
/* Equal tracks + equal gutters so col 2/3 aren't pulled apart.       */
/* ------------------------------------------------------------------ */
@media (min-width: 992px) {
  .theme-footer-area .nft-footer-cols,
  .theme-footer-area .zprow.nft-footer-cols,
  .theme-footer-area .zprow:has(> .zpelem-col:nth-child(4)) {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: clamp(1.5rem, 3vw, 3rem) !important;
    row-gap: 1.5rem !important;
    align-items: start !important;
    justify-content: stretch !important;
  }

  .theme-footer-area .nft-footer-cols > .zpelem-col,
  .theme-footer-area .zprow.nft-footer-cols > .zpelem-col,
  .theme-footer-area .zprow:has(> .zpelem-col:nth-child(4)) > .zpelem-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    min-width: 0 !important;
  }

  .theme-footer-area .nft-footer-cols > .zpelem-col img,
  .theme-footer-area .zprow:has(> .zpelem-col:nth-child(4)) > .zpelem-col img {
    max-width: min(200px, 100%) !important;
    width: auto !important;
    height: auto !important;
  }
}

/* Footer — left-align Social column on mobile/tablet (matches Policies) */
@media (max-width: 991px) {
  .theme-footer-area [data-element-id="elm_LGYCGGIMFO3MQlZNK8YMtQ"] .zpelem-heading,
  .theme-footer-area [data-element-id="elm_LGYCGGIMFO3MQlZNK8YMtQ"] .zpbutton.zpbutton-type-link {
    margin-inline-start: 0 !important;
  }
}

/* ------------------------------------------------------------------ */
/* Therapy Focus Areas hub (/therapy-focus-areas)                     */
/* Topics index — hero, topic tiles, CTA                              */
/* ------------------------------------------------------------------ */
.nft-focus-areas-page,
.nft-focus-areas-hero,
.nft-focus-areas-grid,
.nft-focus-areas-cta {
  --focus-primary: var(--nft-primary, #B73FAE);
  --focus-accent: var(--nft-accent, #5A2C67);
  --focus-bg-light: var(--nft-bg-light, #F5F2ED);
  --focus-bg-alt: var(--nft-bg-alt, #EAD6EC);
  --focus-text: var(--nft-text, #1F1B1F);
  --focus-white: var(--nft-white, #FFFFFF);
  --focus-border: rgba(90, 44, 103, 0.12);
  --focus-radius-lg: var(--nft-radius-lg, 16px);
  --focus-shadow-soft: var(--nft-shadow-soft, 0 8px 24px rgba(31, 27, 31, 0.08));
  --focus-shadow-hover: var(--nft-shadow-hover, 0 12px 32px rgba(31, 27, 31, 0.12));
}

.nft-focus-areas-page .zpcontainer,
.nft-focus-areas-page .zpcontainer-fluid,
.nft-focus-areas-hero .zpcontainer,
.nft-focus-areas-hero .zpcontainer-fluid,
.nft-focus-areas-grid .zpcontainer,
.nft-focus-areas-grid .zpcontainer-fluid,
.nft-focus-areas-cta .zpcontainer,
.nft-focus-areas-cta .zpcontainer-fluid {
  max-width: var(--nft-max-width, 1120px);
  margin-inline: auto;
}

.nft-focus-areas-hero {
  background:
    radial-gradient(circle at top right, rgba(234, 214, 236, 0.65), transparent 30%),
    radial-gradient(circle at bottom left, rgba(183, 63, 174, 0.08), transparent 28%),
    var(--focus-bg-light) !important;
  padding: 80px 24px 64px !important;
}

.nft-focus-areas-hero h1,
.nft-focus-areas-hero p,
.nft-focus-areas-hero .zptext,
.nft-focus-areas-hero .zpheading,
.nft-focus-areas-hero .zpelem-heading,
.nft-focus-areas-hero .zpelem-text {
  text-align: center !important;
}

.nft-focus-areas-hero h1 {
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  font-weight: 700 !important;
  color: var(--focus-accent) !important;
  margin-bottom: 18px !important;
  text-wrap: balance;
}

.nft-focus-areas-hero .zptext p {
  max-width: 68ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 1.05rem !important;
}

.nft-focus-areas-grid {
  background: var(--focus-white) !important;
  padding: 64px 24px !important;
}

.nft-focus-areas-grid h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  color: var(--focus-accent) !important;
  text-align: center !important;
  margin-bottom: 16px !important;
}

.nft-focus-areas-grid > .zpcontainer > .zptext > p:first-child {
  max-width: 760px !important;
  margin: 0 auto 28px !important;
  text-align: center !important;
  font-size: 1.05rem !important;
}

.nft-focus-areas-grid .nft-focus-tiles,
.nft-focus-areas-grid .zptext .nft-focus-tiles {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.nft-focus-tile {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 22px 22px 20px !important;
  border-radius: var(--focus-radius-lg) !important;
  border: 1px solid var(--focus-border) !important;
  background: var(--focus-bg-light) !important;
  box-shadow: var(--focus-shadow-soft) !important;
  color: var(--focus-text) !important;
  text-decoration: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.nft-focus-tile strong {
  color: var(--focus-accent) !important;
  font-size: 1.08rem !important;
  line-height: 1.3 !important;
}

.nft-focus-tile span {
  font-size: 0.98rem !important;
  line-height: 1.55 !important;
  color: var(--focus-text) !important;
}

.nft-focus-tile:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--focus-shadow-hover) !important;
  border-color: rgba(183, 63, 174, 0.28) !important;
}

.nft-focus-areas-cta {
  background: var(--focus-bg-alt) !important;
  padding: 64px 24px 72px !important;
}

.nft-focus-areas-cta h2,
.nft-focus-areas-cta p,
.nft-focus-areas-cta .zptext,
.nft-focus-areas-cta .zpheading,
.nft-focus-areas-cta .zpelem-heading,
.nft-focus-areas-cta .zpelem-text {
  text-align: center !important;
}

.nft-focus-areas-cta h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  color: var(--focus-accent) !important;
  margin-bottom: 16px !important;
}

.nft-focus-areas-cta > .zpcontainer > .zptext > p:first-child {
  max-width: 760px !important;
  margin: 0 auto 24px !important;
  font-size: 1.05rem !important;
}

.nft-focus-areas-cta .nft-btn-row {
  justify-content: center !important;
  margin-top: 8px !important;
}

.nft-focus-areas-cta .zpelem-button:has(+ .zptext .nft-btn-row),
.nft-focus-areas-cta .zpelem-button:has(~ .zptext .nft-btn-row),
.nft-focus-areas-cta [data-element-type="button"]:not(:has(.nft-btn-row)) {
  display: none !important;
}

@media (max-width: 991px) {
  .nft-focus-areas-grid .nft-focus-tiles,
  .nft-focus-areas-grid .zptext .nft-focus-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .nft-focus-areas-hero,
  .nft-focus-areas-grid,
  .nft-focus-areas-cta {
    padding: 48px 18px !important;
  }

  .nft-focus-areas-grid .nft-focus-tiles,
  .nft-focus-areas-grid .zptext .nft-focus-tiles {
    grid-template-columns: 1fr !important;
  }
}

/* ------------------------------------------------------------------ */
/* Therapy Services hub (/therapy-services)                           */
/* Services index — hero, service tiles, CTA                          */
/* ------------------------------------------------------------------ */
.nft-therapy-services-page,
.nft-therapy-services-hero,
.nft-therapy-services-grid,
.nft-therapy-services-cta {
  --svc-primary: var(--nft-primary, #B73FAE);
  --svc-accent: var(--nft-accent, #5A2C67);
  --svc-bg-light: var(--nft-bg-light, #F5F2ED);
  --svc-bg-alt: var(--nft-bg-alt, #EAD6EC);
  --svc-text: var(--nft-text, #1F1B1F);
  --svc-white: var(--nft-white, #FFFFFF);
  --svc-border: rgba(90, 44, 103, 0.12);
  --svc-radius-lg: var(--nft-radius-lg, 16px);
  --svc-shadow-soft: var(--nft-shadow-soft, 0 8px 24px rgba(31, 27, 31, 0.08));
  --svc-shadow-hover: var(--nft-shadow-hover, 0 12px 32px rgba(31, 27, 31, 0.12));
}

.nft-therapy-services-page .zpcontainer,
.nft-therapy-services-page .zpcontainer-fluid,
.nft-therapy-services-hero .zpcontainer,
.nft-therapy-services-hero .zpcontainer-fluid,
.nft-therapy-services-grid .zpcontainer,
.nft-therapy-services-grid .zpcontainer-fluid,
.nft-therapy-services-cta .zpcontainer,
.nft-therapy-services-cta .zpcontainer-fluid {
  max-width: var(--nft-max-width, 1120px);
  margin-inline: auto;
}

.nft-therapy-services-hero {
  background:
    radial-gradient(circle at top right, rgba(234, 214, 236, 0.65), transparent 30%),
    radial-gradient(circle at bottom left, rgba(183, 63, 174, 0.08), transparent 28%),
    var(--svc-bg-light) !important;
  padding: 80px 24px 64px !important;
}

.nft-therapy-services-hero h1,
.nft-therapy-services-hero p,
.nft-therapy-services-hero .zptext,
.nft-therapy-services-hero .zpheading,
.nft-therapy-services-hero .zpelem-heading,
.nft-therapy-services-hero .zpelem-text {
  text-align: center !important;
}

.nft-therapy-services-hero h1 {
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  font-weight: 700 !important;
  color: var(--svc-accent) !important;
  margin-bottom: 18px !important;
  text-wrap: balance;
}

.nft-therapy-services-hero .zptext p {
  max-width: 68ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 1.05rem !important;
}

.nft-therapy-services-grid {
  background: var(--svc-white) !important;
  padding: 64px 24px !important;
}

.nft-therapy-services-grid h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  color: var(--svc-accent) !important;
  text-align: center !important;
  margin-bottom: 16px !important;
}

.nft-therapy-services-grid > .zpcontainer > .zptext > p:first-child {
  max-width: 760px !important;
  margin: 0 auto 28px !important;
  text-align: center !important;
  font-size: 1.05rem !important;
}

.nft-therapy-services-grid .nft-service-tiles,
.nft-therapy-services-grid .zptext .nft-service-tiles {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.nft-service-tile {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 22px 22px 20px !important;
  border-radius: var(--svc-radius-lg) !important;
  border: 1px solid var(--svc-border) !important;
  background: var(--svc-bg-light) !important;
  box-shadow: var(--svc-shadow-soft) !important;
  color: var(--svc-text) !important;
  text-decoration: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.nft-service-tile strong {
  color: var(--svc-accent) !important;
  font-size: 1.08rem !important;
  line-height: 1.3 !important;
}

.nft-service-tile span {
  font-size: 0.98rem !important;
  line-height: 1.55 !important;
  color: var(--svc-text) !important;
}

.nft-service-tile:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--svc-shadow-hover) !important;
  border-color: rgba(183, 63, 174, 0.28) !important;
}

.nft-therapy-services-cta {
  background: var(--svc-bg-alt) !important;
  padding: 64px 24px 72px !important;
}

.nft-therapy-services-cta h2,
.nft-therapy-services-cta p,
.nft-therapy-services-cta .zptext,
.nft-therapy-services-cta .zpheading,
.nft-therapy-services-cta .zpelem-heading,
.nft-therapy-services-cta .zpelem-text {
  text-align: center !important;
}

.nft-therapy-services-cta h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  color: var(--svc-accent) !important;
  margin-bottom: 16px !important;
}

.nft-therapy-services-cta > .zpcontainer > .zptext > p:first-child {
  max-width: 760px !important;
  margin: 0 auto 24px !important;
  font-size: 1.05rem !important;
}

.nft-therapy-services-cta .nft-btn-row {
  justify-content: center !important;
  margin-top: 8px !important;
}

.nft-therapy-services-cta [data-element-type="button"]:not(:has(.nft-btn-row)) {
  display: none !important;
}

@media (max-width: 991px) {
  .nft-therapy-services-grid .nft-service-tiles,
  .nft-therapy-services-grid .zptext .nft-service-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .nft-therapy-services-hero,
  .nft-therapy-services-grid,
  .nft-therapy-services-cta {
    padding: 48px 18px !important;
  }

  .nft-therapy-services-grid .nft-service-tiles,
  .nft-therapy-services-grid .zptext .nft-service-tiles {
    grid-template-columns: 1fr !important;
  }
}

/* Service detail pages — group tiles in content sections */
.nft-expect-first-session .nft-service-tiles,
.nft-expect-first-session .zptext .nft-service-tiles {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
  margin-top: 24px !important;
}

.nft-expect-hero .nft-btn-row {
  justify-content: center !important;
  margin-top: 8px !important;
}

.nft-expect-hero .zptext:has(.nft-btn-row),
.nft-expect-hero .zpelem-text:has(.nft-btn-row) {
  text-align: center !important;
}

@media (max-width: 767px) {
  .nft-expect-first-session .nft-service-tiles,
  .nft-expect-first-session .zptext .nft-service-tiles {
    grid-template-columns: 1fr !important;
  }
}

/* Group therapy detail pages (/therapy-services/pride-and-processing, empowered-voices) */
.nft-group-hero .nft-group-tagline {
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 8px 0 20px;
}

.nft-group-hero-image {
  text-align: center;
  margin: 20px auto 8px;
  max-width: 820px;
}

.nft-group-hero-image img {
  width: 100%;
  max-width: 820px;
  height: auto;
  display: block;
  margin-inline: auto;
}

.nft-group-pride h1,
.nft-group-pride .zpheading h1 {
  color: #5A2C67 !important;
}

.nft-group-empowered h1,
.nft-group-empowered .zpheading h1 {
  color: #C74391 !important;
}

.nft-group-info-card {
  border-radius: var(--nft-radius-lg, 16px);
  padding: 24px 28px;
  box-shadow: var(--nft-shadow-soft, 0 8px 24px rgba(31, 27, 31, 0.06));
}

.nft-group-info-card--pride {
  background: #F7F0E4;
  border: 1px solid rgba(90, 44, 103, 0.12);
}

.nft-group-info-card--empowered {
  background: #FFFFFF;
  border: 1px solid rgba(43, 146, 162, 0.18);
}

.nft-group-info-card p {
  margin-bottom: 10px;
}

.nft-group-info-card p:last-child {
  margin-bottom: 0;
}

/* ------------------------------------------------------------------ */
/* Clients We Serve hub (/clients-we-serve)                             */
/* Audience index — hero, client tiles, CTA                           */
/* ------------------------------------------------------------------ */
.nft-clients-we-serve-page,
.nft-clients-we-serve-hero,
.nft-clients-we-serve-grid,
.nft-clients-we-serve-cta {
  --clients-primary: var(--nft-primary, #B73FAE);
  --clients-accent: var(--nft-accent, #5A2C67);
  --clients-bg-light: var(--nft-bg-light, #F5F2ED);
  --clients-bg-alt: var(--nft-bg-alt, #EAD6EC);
  --clients-text: var(--nft-text, #1F1B1F);
  --clients-white: var(--nft-white, #FFFFFF);
  --clients-border: rgba(90, 44, 103, 0.12);
  --clients-radius-lg: var(--nft-radius-lg, 16px);
  --clients-shadow-soft: var(--nft-shadow-soft, 0 8px 24px rgba(31, 27, 31, 0.08));
  --clients-shadow-hover: var(--nft-shadow-hover, 0 12px 32px rgba(31, 27, 31, 0.12));
}

.nft-clients-we-serve-page .zpcontainer,
.nft-clients-we-serve-page .zpcontainer-fluid,
.nft-clients-we-serve-hero .zpcontainer,
.nft-clients-we-serve-hero .zpcontainer-fluid,
.nft-clients-we-serve-grid .zpcontainer,
.nft-clients-we-serve-grid .zpcontainer-fluid,
.nft-clients-we-serve-cta .zpcontainer,
.nft-clients-we-serve-cta .zpcontainer-fluid {
  max-width: var(--nft-max-width, 1120px);
  margin-inline: auto;
}

.nft-clients-we-serve-hero {
  background:
    radial-gradient(circle at top right, rgba(234, 214, 236, 0.65), transparent 30%),
    radial-gradient(circle at bottom left, rgba(183, 63, 174, 0.08), transparent 28%),
    var(--clients-bg-light) !important;
  padding: 80px 24px 64px !important;
}

.nft-clients-we-serve-hero h1,
.nft-clients-we-serve-hero p,
.nft-clients-we-serve-hero .zptext,
.nft-clients-we-serve-hero .zpheading,
.nft-clients-we-serve-hero .zpelem-heading,
.nft-clients-we-serve-hero .zpelem-text {
  text-align: center !important;
}

.nft-clients-we-serve-hero h1 {
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  font-weight: 700 !important;
  color: var(--clients-accent) !important;
  margin-bottom: 18px !important;
  text-wrap: balance;
}

.nft-clients-we-serve-hero .zptext p {
  max-width: 68ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 1.05rem !important;
}

.nft-clients-we-serve-grid {
  background: var(--clients-white) !important;
  padding: 64px 24px !important;
}

.nft-clients-we-serve-grid h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  color: var(--clients-accent) !important;
  text-align: center !important;
  margin-bottom: 16px !important;
}

.nft-clients-we-serve-grid > .zpcontainer > .zptext > p:first-child {
  max-width: 760px !important;
  margin: 0 auto 28px !important;
  text-align: center !important;
  font-size: 1.05rem !important;
}

.nft-clients-we-serve-grid .nft-client-tiles,
.nft-clients-we-serve-grid .zptext .nft-client-tiles {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.nft-client-tile {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 22px 22px 20px !important;
  border-radius: var(--clients-radius-lg) !important;
  border: 1px solid var(--clients-border) !important;
  background: var(--clients-bg-light) !important;
  box-shadow: var(--clients-shadow-soft) !important;
  color: var(--clients-text) !important;
  text-decoration: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.nft-client-tile strong {
  color: var(--clients-accent) !important;
  font-size: 1.08rem !important;
  line-height: 1.3 !important;
}

.nft-client-tile span {
  font-size: 0.98rem !important;
  line-height: 1.55 !important;
  color: var(--clients-text) !important;
}

.nft-client-tile:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--clients-shadow-hover) !important;
  border-color: rgba(183, 63, 174, 0.28) !important;
}

.nft-clients-we-serve-cta {
  background: var(--clients-bg-alt) !important;
  padding: 64px 24px 72px !important;
}

.nft-clients-we-serve-cta h2,
.nft-clients-we-serve-cta p,
.nft-clients-we-serve-cta .zptext,
.nft-clients-we-serve-cta .zpheading,
.nft-clients-we-serve-cta .zpelem-heading,
.nft-clients-we-serve-cta .zpelem-text {
  text-align: center !important;
}

.nft-clients-we-serve-cta h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  color: var(--clients-accent) !important;
  margin-bottom: 16px !important;
}

.nft-clients-we-serve-cta > .zpcontainer > .zptext > p:first-child {
  max-width: 760px !important;
  margin: 0 auto 24px !important;
  font-size: 1.05rem !important;
}

.nft-clients-we-serve-cta .nft-btn-row {
  justify-content: center !important;
  margin-top: 8px !important;
}

.nft-clients-we-serve-cta [data-element-type="button"]:not(:has(.nft-btn-row)) {
  display: none !important;
}

@media (max-width: 991px) {
  .nft-clients-we-serve-grid .nft-client-tiles,
  .nft-clients-we-serve-grid .zptext .nft-client-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .nft-clients-we-serve-hero,
  .nft-clients-we-serve-grid,
  .nft-clients-we-serve-cta {
    padding: 48px 18px !important;
  }

  .nft-clients-we-serve-grid .nft-client-tiles,
  .nft-clients-we-serve-grid .zptext .nft-client-tiles {
    grid-template-columns: 1fr !important;
  }
}

/* ------------------------------------------------------------------ */
/* Policy pages (Privacy, Terms, Accessibility)                         */
/* Legal / informational — hero + long-form body                       */
/* ------------------------------------------------------------------ */
.nft-policy-page,
.nft-policy-hero,
.nft-policy-body {
  --policy-primary: var(--nft-primary, #B73FAE);
  --policy-accent: var(--nft-accent, #5A2C67);
  --policy-bg-light: var(--nft-bg-light, #F5F2ED);
  --policy-bg-alt: var(--nft-bg-alt, #EAD6EC);
  --policy-text: var(--nft-text, #1F1B1F);
  --policy-white: var(--nft-white, #FFFFFF);
  --policy-border: rgba(90, 44, 103, 0.12);
  --policy-radius: var(--nft-radius-lg, 16px);
}

.nft-policy-page .zpcontainer,
.nft-policy-page .zpcontainer-fluid,
.nft-policy-hero .zpcontainer,
.nft-policy-hero .zpcontainer-fluid,
.nft-policy-body .zpcontainer,
.nft-policy-body .zpcontainer-fluid {
  max-width: var(--nft-max-width, 1120px);
  margin-inline: auto;
}

.nft-policy-hero {
  background:
    radial-gradient(circle at top right, rgba(234, 214, 236, 0.65), transparent 30%),
    radial-gradient(circle at bottom left, rgba(183, 63, 174, 0.08), transparent 28%),
    var(--policy-bg-light) !important;
  padding: 72px 24px 48px !important;
}

.nft-policy-hero h1,
.nft-policy-hero p,
.nft-policy-hero .zptext,
.nft-policy-hero .zpheading,
.nft-policy-hero .zpelem-heading,
.nft-policy-hero .zpelem-text {
  text-align: center !important;
}

.nft-policy-hero h1 {
  font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
  font-weight: 700 !important;
  color: var(--policy-accent) !important;
  margin-bottom: 16px !important;
  text-wrap: balance;
}

.nft-policy-hero .zptext p {
  max-width: 68ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
}

.nft-policy-hero .zptext p em {
  font-size: 0.95rem !important;
  color: rgba(31, 27, 31, 0.72) !important;
}

.nft-policy-body {
  background: var(--policy-white) !important;
  padding: 48px 24px 72px !important;
}

.nft-policy-body > .zpcontainer > .zpheading,
.nft-policy-body > .zpcontainer > .zpelem-heading {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.nft-policy-body .zptext {
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.nft-policy-body .zptext h2 {
  font-size: clamp(1.25rem, 2.2vw, 1.5rem) !important;
  font-weight: 700 !important;
  color: var(--policy-accent) !important;
  margin: 2rem 0 0.75rem !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

.nft-policy-body .zptext h2:first-child {
  margin-top: 0 !important;
}

.nft-policy-body .zptext p {
  font-size: 1rem !important;
  line-height: 1.7 !important;
  margin-bottom: 1rem !important;
  color: var(--policy-text) !important;
  text-align: left !important;
}

.nft-policy-body .zptext ul,
.nft-policy-body .zptext ul.nft-expect-list {
  max-width: 680px !important;
  margin: 0 0 1.25rem !important;
  padding-left: 1.25em !important;
  text-align: left !important;
  list-style-position: outside !important;
}

.nft-policy-body .zptext ul li,
.nft-policy-body .zptext ul.nft-expect-list li {
  margin-bottom: 8px !important;
  padding-left: 4px !important;
  line-height: 1.65 !important;
  text-align: left !important;
}

.nft-policy-body .zptext ul li::marker,
.nft-policy-body .zptext ul.nft-expect-list li::marker {
  color: var(--policy-primary) !important;
}

.nft-policy-body .zptext a {
  color: var(--policy-primary) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.nft-policy-body .zptext a:hover {
  color: var(--policy-accent) !important;
}

.nft-policy-body .nft-policy-contact {
  margin-top: 2rem !important;
  padding: 1.25rem 1.35rem !important;
  border-radius: var(--policy-radius) !important;
  background: var(--policy-bg-light) !important;
  border: 1px solid var(--policy-border) !important;
}

.nft-policy-body .nft-policy-contact strong {
  color: var(--policy-accent) !important;
}

.nft-policy-body .nft-policy-note {
  margin: 0 0 1.25rem !important;
  padding: 1rem 1.15rem !important;
  border-radius: var(--policy-radius) !important;
  border-inline-start: 4px solid var(--policy-accent) !important;
  background: var(--policy-bg-light) !important;
  color: var(--policy-text) !important;
}

.nft-policy-body .nft-policy-note p {
  margin: 0 !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}

@media (max-width: 767px) {
  .nft-policy-hero,
  .nft-policy-body {
    padding: 40px 18px 48px !important;
  }

  .nft-policy-body .zptext h2 {
    margin-top: 1.5rem !important;
  }
}

/* ------------------------------------------------------------------ */
/* FAQs page (/new-clients/faqs)                                       */
/* Hero + details/summary accordion + CTA                              */
/* ------------------------------------------------------------------ */
.nft-faqs-page,
.nft-faqs-hero,
.nft-faqs-list,
.nft-faqs-cta {
  --faqs-primary: var(--nft-primary, #B73FAE);
  --faqs-accent: var(--nft-accent, #5A2C67);
  --faqs-bg-light: var(--nft-bg-light, #F5F2ED);
  --faqs-bg-alt: var(--nft-bg-alt, #EAD6EC);
  --faqs-text: var(--nft-text, #1F1B1F);
  --faqs-white: var(--nft-white, #FFFFFF);
  --faqs-border: rgba(90, 44, 103, 0.12);
  --faqs-radius: var(--nft-radius-lg, 16px);
  --faqs-shadow-soft: var(--nft-shadow-soft, 0 8px 24px rgba(31, 27, 31, 0.08));
  --faqs-shadow-hover: var(--nft-shadow-hover, 0 12px 32px rgba(31, 27, 31, 0.12));
}

.nft-faqs-page .zpcontainer,
.nft-faqs-page .zpcontainer-fluid,
.nft-faqs-hero .zpcontainer,
.nft-faqs-hero .zpcontainer-fluid,
.nft-faqs-list .zpcontainer,
.nft-faqs-list .zpcontainer-fluid,
.nft-faqs-cta .zpcontainer,
.nft-faqs-cta .zpcontainer-fluid {
  max-width: var(--nft-max-width, 1120px);
  margin-inline: auto;
}

.nft-faqs-hero {
  background:
    radial-gradient(circle at top right, rgba(234, 214, 236, 0.65), transparent 30%),
    radial-gradient(circle at bottom left, rgba(183, 63, 174, 0.08), transparent 28%),
    var(--faqs-bg-light) !important;
  padding: 72px 24px 48px !important;
}

.nft-faqs-hero h1,
.nft-faqs-hero p,
.nft-faqs-hero .zptext,
.nft-faqs-hero .zpheading,
.nft-faqs-hero .zpelem-heading,
.nft-faqs-hero .zpelem-text {
  text-align: center !important;
}

.nft-faqs-hero h1 {
  font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
  font-weight: 700 !important;
  color: var(--faqs-accent) !important;
  margin-bottom: 16px !important;
  text-wrap: balance;
}

.nft-faqs-hero .zptext p {
  max-width: 68ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
}

.nft-faqs-list {
  background: var(--faqs-white) !important;
  padding: 48px 24px 64px !important;
}

.nft-faqs-list h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  color: var(--faqs-accent) !important;
  text-align: center !important;
  margin-bottom: 12px !important;
}

.nft-faqs-list > .zpcontainer > .zptext > p:first-child {
  max-width: 640px !important;
  margin: 0 auto 28px !important;
  text-align: center !important;
  font-size: 1.05rem !important;
}

.nft-faqs-list .nft-faq-list,
.nft-faqs-list .zptext .nft-faq-list {
  max-width: 980px !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 14px !important;
}

.nft-faq-item {
  border: 1px solid var(--faqs-border) !important;
  border-radius: var(--faqs-radius) !important;
  background: var(--faqs-white) !important;
  box-shadow: var(--faqs-shadow-soft) !important;
  overflow: hidden !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease !important;
}

.nft-faq-item:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(183, 63, 174, 0.28) !important;
  box-shadow: var(--faqs-shadow-hover) !important;
}

.nft-faq-item[open] {
  border-color: rgba(183, 63, 174, 0.35) !important;
  background: #fffafd !important;
  box-shadow: 0 12px 32px rgba(183, 63, 174, 0.12) !important;
}

.nft-faq-item > summary {
  list-style: none !important;
  cursor: pointer !important;
  position: relative !important;
  padding: 20px 64px 20px 28px !important;
  color: var(--faqs-accent) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
}

.nft-faq-item > summary::-webkit-details-marker {
  display: none !important;
}

.nft-faq-item > summary::after {
  content: "+" !important;
  position: absolute !important;
  right: 22px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: var(--faqs-bg-alt) !important;
  color: var(--faqs-accent) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.nft-faq-item[open] > summary::after {
  content: "−" !important;
}

.nft-faq-item > summary:focus {
  outline: none !important;
  box-shadow: inset 0 0 0 3px rgba(183, 63, 174, 0.16) !important;
}

.nft-faq-answer {
  padding: 0 28px 22px !important;
  border-top: 1px solid rgba(183, 63, 174, 0.12) !important;
}

.nft-faq-answer p {
  margin: 16px 0 0 !important;
  color: var(--faqs-text) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

.nft-faq-answer p:first-child {
  margin-top: 18px !important;
}

.nft-faq-answer a {
  color: var(--faqs-primary) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.nft-faq-answer a:hover {
  color: var(--faqs-accent) !important;
}

.nft-faqs-cta {
  background: var(--faqs-bg-alt) !important;
  padding: 64px 24px 72px !important;
}

.nft-faqs-cta h2,
.nft-faqs-cta p,
.nft-faqs-cta .zptext,
.nft-faqs-cta .zpheading,
.nft-faqs-cta .zpelem-heading,
.nft-faqs-cta .zpelem-text {
  text-align: center !important;
}

.nft-faqs-cta h2 {
  font-size: var(--nft-h2, clamp(1.875rem, 3vw, 2.75rem)) !important;
  font-weight: 700 !important;
  color: var(--faqs-accent) !important;
  margin-bottom: 16px !important;
}

.nft-faqs-cta > .zpcontainer > .zptext > p:first-child {
  max-width: 760px !important;
  margin: 0 auto 24px !important;
  font-size: 1.05rem !important;
}

.nft-faqs-cta .nft-btn-row {
  justify-content: center !important;
  margin-top: 8px !important;
}

.nft-faqs-cta [data-element-type="button"]:not(:has(.nft-btn-row)) {
  display: none !important;
}

@media (max-width: 767px) {
  .nft-faqs-hero,
  .nft-faqs-list,
  .nft-faqs-cta {
    padding: 40px 18px 48px !important;
  }

  .nft-faq-item > summary {
    padding: 18px 52px 18px 20px !important;
    font-size: 1rem !important;
  }

  .nft-faq-answer {
    padding: 0 20px 18px !important;
  }
}

/* =========================================================
   GLOBAL SECTION BACKGROUND RHYTHM
   Last content section on every page = lavender (--nft-bg-alt)
   Penultimate sections must not share the same background
   ========================================================= */

.theme-content-area > .zpsection:last-child {
  background: var(--nft-bg-alt) !important;
  background-image: none !important;
}

/* Penultimate lavender/alt sections → white so they don't match the final section */
.theme-content-area > .zpsection:nth-last-child(2).nft-expect-telehealth,
.theme-content-area > .zpsection:nth-last-child(2).nft-expect-first-session,
.theme-content-area > .zpsection:nth-last-child(2).nft-crisis-resources,
.theme-content-area > .zpsection:nth-last-child(2).nft-crisis-nonurgent,
.theme-content-area > .zpsection:nth-last-child(2).nft-section-alt,
.theme-content-area > .zpsection:nth-last-child(2).nft-bio-disclaimer,
.theme-content-area > .zpsection:nth-last-child(2).nft-matching-process-section {
  background: var(--nft-white) !important;
  background-image: none !important;
}

/* =========================================================
   GLOBAL UNIFIED SECTION SPACING
   Matches homepage: 80px × 24px desktop, 48px × 18px mobile
   Overrides Zoho per-section spacing + page-specific padding rules
   ========================================================= */

.theme-content-area .zpsection[class*="nft-"] {
  padding-top: var(--nft-section-pad-y) !important;
  padding-bottom: var(--nft-section-pad-y) !important;
  padding-left: var(--nft-section-pad-x) !important;
  padding-right: var(--nft-section-pad-x) !important;
}

/* =========================================================
   ACCESSIBILITY (WCAG 2.1 AA)
   Complements review/nft-site-a11y.js
   ========================================================= */

/* Skip link — visible on keyboard focus */
.theme-skip-to-needed-content {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: 10000;
}

.theme-skip-to-needed-content:focus {
  left: 16px;
  top: 16px;
  width: auto;
  height: auto;
  overflow: visible;
  padding: 12px 18px;
  background: var(--nft-accent);
  color: var(--nft-white);
  border-radius: var(--nft-radius-sm);
  text-decoration: none;
  font-weight: 600;
  box-shadow: var(--nft-shadow-soft);
}

.theme-content-area:focus {
  outline: none;
}

/* Inline content links: underline + accessible contrast (not buttons/tiles) */
.theme-content-area .zptext a:not(.nft-btn):not(.nft-btn-outline):not(.nft-focus-tile):not(.nft-service-tile),
.theme-content-area p a:not(.nft-btn):not(.nft-btn-outline):not(.nft-focus-tile):not(.nft-service-tile),
.theme-content-area li a:not(.nft-btn):not(.nft-btn-outline) {
  color: var(--nft-link-accessible) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

.theme-content-area .zptext a:not(.nft-btn):not(.nft-btn-outline):hover,
.theme-content-area p a:not(.nft-btn):not(.nft-btn-outline):hover,
.theme-content-area li a:not(.nft-btn):not(.nft-btn-outline):hover {
  color: var(--nft-primary) !important;
}

.theme-content-area > .zpsection:last-child a:not(.nft-btn):not(.nft-btn-outline):not(.nft-focus-tile):not(.nft-service-tile) {
  color: var(--nft-link-on-lavender) !important;
}

/* Phone / tel links */
.theme-content-area a[href^="tel:"] {
  color: var(--nft-link-accessible) !important;
  text-decoration: underline !important;
}

/* Low-contrast accent text in body copy */
.theme-content-area .zptext p strong,
.theme-content-area .zptext li strong,
.nft-therapist-listing-section .zptext strong {
  color: var(--nft-secondary-accessible) !important;
}

/* Therapist credential tags — darker teal on white */
.nft-card-tags span {
  color: #4A2560 !important;
  border-color: rgba(90, 44, 103, 0.14) !important;
}

/* Therapist listing modality labels (In-Person + Telehealth) */
.nft-therapist-listing-section strong,
.nft-therapists-hub-section strong,
.theme-content-area .zptext strong.nft-modality-label {
  color: var(--nft-secondary-accessible) !important;
}

/* Founders welcome: semantic H1, H2 visual scale (UI unchanged) */
.nft-founders-page h1.zpheading {
  font-size: var(--nft-h2) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  color: var(--nft-accent) !important;
  margin-top: 0 !important;
}

/* Footer column titles promoted to H2 in JS — preserve appearance */
.theme-footer-area .nft-footer-col-title {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
}

/* Focus visibility for interactive elements */
.theme-content-area a:focus-visible,
.theme-content-area button:focus-visible,
.theme-header a:focus-visible,
.theme-footer-area a:focus-visible {
  outline: 2px solid var(--nft-secondary-accessible);
  outline-offset: 2px;
}

@media (max-width: 767px) {
  .theme-content-area .zpsection[class*="nft-"] {
    padding-top: var(--nft-section-pad-y-mobile) !important;
    padding-bottom: var(--nft-section-pad-y-mobile) !important;
    padding-left: var(--nft-section-pad-x-mobile) !important;
    padding-right: var(--nft-section-pad-x-mobile) !important;
  }
}

/* ------------------------------------------------------------------ */
/* Blog — list, single post, sidebar (matches NFT site UI)             */
/* ------------------------------------------------------------------ */

/* Match site H1 treatment (Therapy Services, etc.): Tenor Sans, bold, accent */
.theme-blog-h1,
.theme-blog-heading,
.theme-blog-heading a,
.theme-single-blog-heading,
.theme-single-blog-post .theme-blog-heading,
.theme-blog-container .theme-blog-heading,
.theme-blog-container .theme-blog-heading a,
.theme-blog-list .theme-blog-heading,
.theme-blog-list .theme-blog-heading a {
  font-family: 'Tenor Sans', sans-serif !important;
  color: var(--nft-accent, #5A2C67) !important;
  font-weight: 700 !important;
  font-size: var(--nft-h1, clamp(2.25rem, 4vw, 4rem)) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  text-wrap: balance;
  text-decoration: none !important;
}

/* List page titles are H3 — keep H1 visual scale without overpowering layout */
.theme-blog-container .theme-blog-heading,
.theme-blog-container .theme-blog-heading a {
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
}

.theme-single-blog-heading,
.theme-single-blog-post .theme-blog-heading {
  font-size: var(--nft-h1, clamp(2.25rem, 4vw, 4rem)) !important;
  text-align: center !important;
  margin-block-end: 0.75rem !important;
}

/* Hide author bylines on list + single posts ("By Benjamin" / "- By Benjamin")
   Note: Zoho also puts .theme-blog-author on the excerpt div — do NOT hide that. */
a.theme-blog-author,
span.theme-blog-author,
a[data-blog-author="true"],
.theme-blog-heading-author a.theme-blog-author,
.theme-blog-heading-author span.theme-blog-author,
.theme-blog-container p:has(> a.theme-blog-author),
.theme-blog-container p:has(a[data-blog-author]),
.theme-single-blog-post span.theme-blog-author {
  display: none !important;
}

/* Single post: remove author card + social share row */
.theme-blog-author-cont,
.theme-blog-author-detail,
.theme-blog-author-name,
.theme-blog-container .theme-blog-author-cont,
.theme-single-blog-post .theme-blog-author-cont,
.theme-single-blog-social-cat-tag-group > [data-zs-app="social_share"],
.theme-single-blog-social-cat-tag-group .zpelem-socialshare,
[data-zs-app="social_share"],
.zpelem-socialshare,
.zpsocial-share-container {
  display: none !important;
}

/* Blog hub title: center (name set in Blog Preferences) */
.theme-blog-h1 {
  text-align: center !important;
  width: 100% !important;
  display: block !important;
  margin-inline: auto !important;
  margin-block-end: 25px !important;
  color: var(--nft-accent, #5A2C67) !important;
  font-family: 'Tenor Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: var(--nft-h1, clamp(2.25rem, 4vw, 4rem)) !important;
  line-height: 1.2 !important;
}

.theme-single-blog-post .zpelem-button.nft-btn,
.theme-single-blog-post .zpelem-button.nft-btn .zpbutton-wrapper,
.theme-single-blog-post .zpelem-button.nft-btn .zpbutton,
.theme-single-blog-post .zpelem-button.nft-btn a.zpbutton {
  margin-top: 1.75rem !important;
}

.nft-blog-hidden-heading,
.zpelem-heading.nft-blog-hidden-heading {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.theme-blog-container-column,
.theme-single-blog-post .theme-content-area {
  font-family: var(--nft-font-body, 'Inter', sans-serif);
  color: var(--nft-text, #1F1B1F);
  line-height: 1.75;
}

.theme-blog-container {
  border-block-end-color: rgba(90, 44, 103, 0.18) !important;
  padding-block-end: 2rem !important;
  margin-block-end: 2rem !important;
}

.theme-blog-date,
.theme-blog-readmore a {
  color: var(--nft-text-muted, #4A4450) !important;
}

.theme-blog-readmore a {
  color: var(--nft-primary-accessible, #8A2F82) !important;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  font-weight: 600;
}

.theme-blog-category-column {
  font-family: var(--nft-font-body, 'Inter', sans-serif);
}

.theme-blog-category-heading,
.nft-blog-sites-we-like .theme-blog-category-heading,
.nft-blog-sites-we-follow .theme-blog-category-heading {
  font-family: 'Tenor Sans', sans-serif !important;
  color: var(--nft-accent, #5A2C67) !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  margin-block-end: 0.75rem !important;
}

/* All posts are in Therapy Blog Posts — hide empty Uncategorized */
.theme-blog-category-list li:has(a[href*="Uncategorized"]) {
  display: none !important;
}

.theme-blog-category-container,
.nft-blog-sites-we-like,
.nft-blog-sites-we-follow {
  margin-block-end: 1.75rem !important;
  padding-block-end: 1.25rem;
  border-block-end: 1px solid rgba(90, 44, 103, 0.12);
}

.nft-blog-sites-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nft-blog-sites-list li {
  margin-block: 0.45rem !important;
}

.theme-blog-side-menu-link,
.nft-blog-sites-list a {
  color: var(--nft-primary-accessible, #8A2F82) !important;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.theme-blog-side-menu-link:hover,
.nft-blog-sites-list a:hover {
  color: var(--nft-accent, #5A2C67) !important;
}

.theme-blog-list-seo {
  color: var(--nft-text, #1F1B1F) !important;
  font-family: var(--nft-font-body, 'Inter', sans-serif) !important;
}

.theme-blog-cover-img-container img,
.theme-single-blog-post img {
  border-radius: var(--nft-radius-md, 12px);
}

@media (min-width: 992px) {
  .theme-blog-container-column.zpcol-md-9 {
    padding-inline-end: 2rem !important;
  }

  .theme-blog-category-column.zpcol-md-3 {
    padding-inline-start: 1rem !important;
  }
}

@media (max-width: 991px) {
  .theme-blog-category-column {
    margin-block-start: 2rem;
    padding-block-start: 1.5rem;
    border-block-start: 1px solid rgba(90, 44, 103, 0.12);
  }
}

/* =========================================================
   Zoho cookie consent bar + preferences — match site buttons
   ========================================================= */
#zcb-banner.zcb-bar {
  background: var(--nft-bg-light, #F5F2ED) !important;
  color: var(--nft-text, #1F1B1F) !important;
  border-top: 1px solid var(--nft-border, rgba(90, 44, 103, 0.12)) !important;
  box-shadow: 0 -8px 24px rgba(31, 27, 31, 0.08) !important;
}

#zcb-banner .zcb-msg,
#zcb-banner .zcb-message-bar {
  color: var(--nft-text, #1F1B1F) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

#zcb-banner .zcb-links,
.zs-popup .zcb-links {
  color: var(--nft-link-accessible, #7D2F76) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

#zcb-banner .zcb-links:hover,
.zs-popup .zcb-links:hover {
  color: var(--nft-primary, #B73FAE) !important;
}

#zcb-banner .zcb-btn {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Shared pill button base for cookie UI */
#zcb-banner .zpbutton,
.zs-popup .zs-button-cntr .zpbutton,
.zs-popup .zcb-button.zpbutton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 12px 22px !important;
  border-radius: var(--nft-radius-pill, 999px) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background var(--nft-transition, 0.25s ease),
    border-color var(--nft-transition, 0.25s ease),
    color var(--nft-transition, 0.25s ease),
    transform var(--nft-transition, 0.25s ease),
    box-shadow var(--nft-transition, 0.25s ease) !important;
}

/* Secondary / outline: Manage, Decline, Close */
#zcb-banner .zpbutton-type-secondary,
.zs-popup .zs-button-cntr .zpbutton-type-secondary,
.zs-popup .zcb-button.zpbutton-type-secondary {
  background: transparent !important;
  border: 2px solid var(--nft-primary, #B73FAE) !important;
  color: var(--nft-accent, #5A2C67) !important;
  box-shadow: none !important;
}

#zcb-banner .zpbutton-type-secondary:hover,
.zs-popup .zs-button-cntr .zpbutton-type-secondary:hover,
.zs-popup .zcb-button.zpbutton-type-secondary:hover {
  background: var(--nft-bg-alt, #EADCF0) !important;
  border-color: var(--nft-primary, #B73FAE) !important;
  color: var(--nft-accent, #5A2C67) !important;
  transform: translateY(-1px) !important;
}

/* Primary: Accept all, Save */
#zcb-banner .zpbutton-type-primary,
.zs-popup .zs-button-cntr .zpbutton-type-primary,
.zs-popup .zcb-button.zpbutton-type-primary {
  background: var(--nft-primary, #B73FAE) !important;
  border: 2px solid var(--nft-primary, #B73FAE) !important;
  color: var(--nft-white, #FFFFFF) !important;
  box-shadow: 0 4px 14px rgba(183, 63, 174, 0.18) !important;
}

#zcb-banner .zpbutton-type-primary:hover,
.zs-popup .zs-button-cntr .zpbutton-type-primary:hover,
.zs-popup .zcb-button.zpbutton-type-primary:hover {
  background: #a53299 !important;
  border-color: #a53299 !important;
  color: var(--nft-white, #FFFFFF) !important;
  transform: translateY(-1px) !important;
}

/* Preferences dialog accents */
.zs-popup[role="dialog"] .zs-popup-heading,
.zs-popup[role="dialog"] #zcb-popup-title {
  color: var(--nft-accent, #5A2C67) !important;
}

.zs-popup[role="dialog"] .zcb-slider.zcb-round {
  border-radius: var(--nft-radius-pill, 999px) !important;
}

.zs-popup .zs-button-cntr {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: flex-end !important;
}

@media (max-width: 767px) {
  #zcb-banner .zcb-btn,
  .zs-popup .zs-button-cntr {
    width: 100% !important;
  }

  #zcb-banner .zpbutton,
  .zs-popup .zs-button-cntr .zpbutton {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}

/* ---------------------------------------------
   QA a11y: WCAG AA contrast for strong/accent text
   (axe color-contrast on lavender / cream sections)
--------------------------------------------- */

.theme-content-area strong,
.theme-content-area b,
.nft-emergency-note strong,
.nft-expect-cta strong,
.nft-policy-body strong,
.nft-policy-hero strong {
  color: var(--nft-text, #1F1B1F) !important;
}

/* Darker accent on light/lavender backgrounds (was #B73FAE / #5A2C67 on soft fills) */
.theme-content-area a:not(.zpbutton):not(.nft-btn):not(.nft-btn-outline),
.theme-footer-area a {
  color: var(--nft-link-accessible, #7D2F76);
}

.theme-content-area a:not(.zpbutton):not(.nft-btn):not(.nft-btn-outline):hover,
.theme-footer-area a:hover {
  color: var(--nft-link-on-lavender, #5E2459);
}

/* Cookie banner / manage dialog secondary buttons: ensure purple-on-cream meets AA */
#zcb-banner .zpbutton-type-secondary,
.zs-popup .zpbutton-type-secondary {
  color: var(--nft-link-accessible, #7D2F76) !important;
  border-color: var(--nft-link-accessible, #7D2F76) !important;
}

