/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra child theme.
Version: 1.5.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ══════════════════════════════════════════════════════════════════
   THERAPIST LIST PAGE (ID 9614) — Modern directory design
   Palette: sky blue + gold (logo) + deep navy accent.
   ALL styling lives here in the child theme (NOT in page content) so
   the WPBakery/page builder cannot wipe it on save or template change.
   Targets Astra's own native markup, scoped to body.page-id-9614.
   ══════════════════════════════════════════════════════════════════ */

:root {
  --sky:       #2E96CE;
  --sky-deep:  #1E7BB0;
  --sky-tint:  #E9F4FB;
  --gold:      #D9A63C;
  --gold-deep: #B8862A;
  --gold-tint: #FBF3E0;
  --navy:      #0E3A5C;
  --navy-deep: #0A2942;
  --ink:       #17262F;
  --slate:     #5C6B77;
  --slate-lt:  #8797A2;
  --line:      #E4EAEE;
  --ground:    #F5F8FA;

  /* Radius scale — shared site-wide (cards/fields/pills already use these values
     in the directory; naming them makes the "rounded look" a one-line change). */
  --radius-field: 10px;
  --radius-card:  16px;
  --radius-pill:  999px;
  --radius-btn:   999px; /* buttons in this design are pill-shaped, same as --radius-pill */
}

/* Page background */
body.page-id-9614 .site-content {
  background: var(--ground) !important;
  overflow-x: hidden; /* guard against full-bleed hero causing sideways scroll */
}

/* Banner flush under the site header (kill Astra's top spacing on this page) */
body.page-id-9614 .site-content > .ast-container,
body.page-id-9614 #primary,
body.page-id-9614 #main,
body.page-id-9614 .art-directory-article { padding-top: 0 !important; margin-top: 0 !important; }
body.page-id-9614 .ast-separate-container .ast-article-single { padding: 0 !important; }

/* Safety: hide any stray leading heading in the directory body */
body.page-id-9614 .art-directory-body > h2:first-of-type { display: none !important; }

/* ── Hero: FULL-WIDTH band (spans the whole screen, like the home page) ── */
body.page-id-9614 .art-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;   /* vertically center the content in the band */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  background-color: var(--navy-deep);
  background-image:
    radial-gradient(700px 260px at 12% -20%, rgba(217,166,60,.14), transparent 60%),
    linear-gradient(100deg, var(--navy-deep) 0%, var(--navy) 40%, var(--sky-deep) 78%, var(--sky) 100%);
  padding: 88px 0;   /* ~1in above the eyebrow/title and below the search form */
  box-sizing: border-box;
}
/* World map (oval projection), faded into the right side of the hero.
   Sized to fill the shorter band height (crops Antarctica + the top line —
   approved by client) rather than shrinking to fit. */
body.page-id-9614 .art-hero::after {
  content: "";
  position: absolute; top: 0; right: -4%; bottom: 0;
  width: 64%;
  /* Top-anchored so Canada/North America stay in frame (crops Antarctica, per client).
     Fade shifted left (opaque by 34%) so the Americas emerge from the gradient. */
  background: url('world-map.svg') 18% top / auto 135% no-repeat;
  opacity: .24;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 34%);
          mask-image: linear-gradient(to right, transparent 0%, #000 34%);
  pointer-events: none;
  z-index: 1;
}
/* Content stays centered within the full-width band, above the image.
   Wider than the card container so the text + search sit further left. */
body.page-id-9614 .art-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1300px;
  margin: 0 auto;
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
}
/* Gold eyebrow above the title */
body.page-id-9614 .art-hero-eyebrow {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 12px;
}
body.page-id-9614 .art-hero-title {
  color: #fff;
  font-size: 42px;
  font-weight: 900 !important;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0;
}
body.page-id-9614 .art-hero-sub {
  color: #DCEAF3;
  font-size: 16px;
  line-height: 1.5;
  margin: 12px 0 0;
  max-width: 52ch;
}

/* ── Hero search bar ── */
body.page-id-9614 .hero-search {
  display: flex;
  align-items: stretch;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 34px rgba(10,41,66,.28);
  max-width: 760px;
  margin-top: 24px;
  overflow: hidden;
}
body.page-id-9614 .hero-search .hs-field {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 11px;
  padding: 8px 16px;
  flex: 1;
  min-width: 0;
  text-align: left;
}
body.page-id-9614 .hero-search .hs-ico { color: var(--sky); flex-shrink: 0; }
body.page-id-9614 .hero-search .hs-field-body {
  display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1;
}
body.page-id-9614 .hero-search .hs-field + .hs-field { border-left: 1px solid var(--line); }
body.page-id-9614 .hero-search label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--slate-lt);
  margin: 0;
  line-height: 1.2;
}
body.page-id-9614 .hero-search input,
body.page-id-9614 .hero-search select {
  border: none;
  outline: none;
  background: transparent;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.3;
  color: var(--ink);
  width: 100%;
  padding: 0;
  height: auto;
  min-height: 0;
  box-shadow: none;
}
body.page-id-9614 .hero-search select { cursor: pointer; }
body.page-id-9614 .hero-search .hs-btn {
  border: none;
  background: var(--gold);
  color: #4A3208;
  font-weight: 800;
  font-size: 15px;
  padding: 0 26px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background .15s, color .15s;
}
body.page-id-9614 .hero-search .hs-btn:hover { background: var(--gold-deep); color: #fff; }

/* Hero radius control: Radius number + km/mi unit, compact so it sits beside Location */
body.page-id-9614 .hero-search .hs-field-radius { flex: 0 1 168px; }
body.page-id-9614 .hero-search .hs-rad-row { display: flex; align-items: baseline; gap: 7px; }
body.page-id-9614 .hero-search .hs-rad-row input { width: 44px; flex: 0 0 auto; -moz-appearance: textfield; }
body.page-id-9614 .hero-search .hs-rad-row input::-webkit-outer-spin-button,
body.page-id-9614 .hero-search .hs-rad-row input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.page-id-9614 .hero-search .hs-rad-row select { width: auto; flex: 0 0 auto; font-weight: 700; color: var(--slate-lt); }

/* ── Directory body: transparent container on the page background ──
   (pills + individual white cards float on the light ground, like the mockup) */
body.page-id-9614 .art-directory-body {
  max-width: 1140px;
  margin: 0 auto;
  padding: 30px 20px 46px;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
}

/* Result count line */
body.page-id-9614 .art-count {
  font-size: 15px; color: var(--slate); margin: 0 0 14px;
}
body.page-id-9614 .art-count strong { color: var(--navy); font-weight: 800; }

/* ── Quick-filter toolbar (pills + All Filters) ── */
body.page-id-9614 .art-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; flex-wrap: wrap; margin-bottom: 20px;
}
body.page-id-9614 .art-pills { display: flex; gap: 10px; flex-wrap: wrap; }
body.page-id-9614 .art-pill {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: inherit; font-size: 14px; font-weight: 600; color: var(--slate);
  background: #fff; border: 1px solid var(--line); border-radius: 999px;
  padding: 9px 17px; cursor: pointer; transition: all .14s;
}
body.page-id-9614 .art-pill svg { color: var(--sky); }
body.page-id-9614 .art-pill:hover { border-color: var(--sky); color: var(--navy); }
body.page-id-9614 .art-pill.is-active { background: var(--navy); color: #fff; border-color: var(--navy); }
body.page-id-9614 .art-pill.is-active svg { color: #fff; }
/* Placeholder pills (In-Person / Telehealth) — shown but not wired yet */
body.page-id-9614 .art-pill-soon { border-style: dashed; color: var(--slate-lt); }
body.page-id-9614 .art-pill-soon svg { color: var(--slate-lt); }
body.page-id-9614 .art-pill-soon:hover { border-color: var(--slate-lt); color: var(--slate-lt); cursor: default; }
body.page-id-9614 .art-allfilters {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: inherit; font-size: 14px; font-weight: 700; color: #fff;
  background: var(--sky); border: none; border-radius: 999px;
  padding: 10px 20px; cursor: pointer; transition: background .14s;
}
body.page-id-9614 .art-allfilters:hover { background: var(--sky-deep); }
body.page-id-9614 .art-allfilters { margin-left: 4px; }

/* Clear filters (subtle text button, right side of toolbar) */
body.page-id-9614 .art-clear {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: inherit; font-size: 13.5px; font-weight: 600; color: var(--slate);
  background: transparent; border: none; border-radius: 999px;
  padding: 8px 12px; cursor: pointer; transition: color .14s, background .14s;
}
body.page-id-9614 .art-clear:hover { color: var(--navy); background: var(--sky-tint); }

/* ── All Filters slide-out drawer ── */
/* Hide the old inline "Filters (N)" toggle — replaced by the drawer */
body.page-id-9614 .realed-thrpsrch h3#realed-thrpsrch-title { display: none !important; }
body.page-id-9614 div.realed-thrpsrch { margin: 0 !important; }

/* Active-filter count badge on the All Filters button */
body.page-id-9614 .art-allfilters-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 20px; height: 20px; padding: 0 6px; margin-left: 2px;
  background: #fff; color: var(--sky-deep);
  border-radius: 999px; font-size: 12px; font-weight: 800;
}

/* The filter panel (wraps the whole #realed-thrp form) becomes the drawer */
body.page-id-9614 #realed-thrpsrch-content {
  position: fixed; top: 0; right: 0;
  width: 720px; max-width: 92vw; height: 100vh; height: 100dvh;
  background: #fff; box-shadow: -10px 0 44px rgba(14,58,92,.22);
  z-index: 100001; overflow-y: auto;
  padding: 74px 24px 24px;
  transform: translateX(100%); transition: transform .28s ease;
  display: block !important; visibility: hidden;
}
body.page-id-9614.art-drawer-open #realed-thrpsrch-content { transform: translateX(0); visibility: visible; }

/* Fixed drawer header (injected): title + close */
body.page-id-9614 .art-drawer-head {
  position: fixed; top: 0; right: 0; width: 720px; max-width: 92vw; box-sizing: border-box;
  display: flex; align-items: center; justify-content: space-between;
  padding: 15px 22px; background: #fff; border-bottom: 1px solid var(--line);
  z-index: 100002; transform: translateX(100%); transition: transform .28s ease; visibility: hidden;
}
body.page-id-9614.art-drawer-open .art-drawer-head { transform: translateX(0); visibility: visible; }
body.page-id-9614 .art-drawer-head strong { font-size: 19px; font-weight: 800; color: var(--navy); }
body.page-id-9614 .art-drawer-close {
  border: none; background: var(--ground); color: var(--slate);
  width: 34px; height: 34px; border-radius: 999px; cursor: pointer; font-size: 22px; line-height: 1;
  display: flex; align-items: center; justify-content: center;
}
body.page-id-9614 .art-drawer-close:hover { background: #E6EDF1; color: var(--navy); }

/* Backdrop */
body.page-id-9614 .art-drawer-backdrop {
  position: fixed; inset: 0; background: rgba(10,41,66,.45);
  z-index: 100000; opacity: 0; visibility: hidden; transition: opacity .25s;
}
body.page-id-9614.art-drawer-open .art-drawer-backdrop { opacity: 1; visibility: visible; }

/* Lock background scroll while the drawer is open */
body.page-id-9614.art-drawer-open { overflow: hidden; }

/* Sticky "Apply" (the plugin's Search button) at the bottom of the drawer */
body.page-id-9614 #realed-thrpsrch-content .realed-buttons-bot {
  position: sticky; bottom: 0; background: #fff;
  margin-top: 18px; padding: 14px 0 6px; border-top: 1px solid var(--line);
}
body.page-id-9614 #realed-thrpsrch-content .realed-buttons-bot input[name="search"] {
  width: 100%; background: var(--navy); color: #fff; border: none;
  border-radius: 999px; padding: 13px; font-size: 15px; font-weight: 800; cursor: pointer;
}
body.page-id-9614 #realed-thrpsrch-content .realed-buttons-bot input[name="search"]:hover { background: var(--navy-deep); }

/* ── Drawer filter groups → pill chips ── */
/* Section headings (Location / Therapist / Specialization …) */
body.page-id-9614 #realed-thrpsrch-content h3 {
  font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  color: var(--navy); margin: 13px 0 5px;
}
/* Group sub-labels (Gender / Specialties / Age …) */
body.page-id-9614 #realed-thrpsrch-content .realed-field > label {
  display: block; font-size: 12px; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; color: var(--slate); margin: 2px 0 4px; line-height: 16px;
}
/* Pill row */
body.page-id-9614 #realed-thrpsrch-content .realed-set-items {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px;
}
/* Each set item = a pill */
body.page-id-9614 #realed-thrpsrch-content .realed-set-item {
  display: inline-flex; align-items: center;
  border: 1px solid var(--line); border-radius: 999px; padding: 7px 14px;
  font-size: 13.5px; color: var(--slate); background: #fff;
  cursor: pointer; user-select: none;
  transition: background .13s, border-color .13s, color .13s;
}
body.page-id-9614 #realed-thrpsrch-content .realed-set-item:hover { border-color: var(--sky); color: var(--navy); }
body.page-id-9614 #realed-thrpsrch-content .realed-set-item input { display: none; }
body.page-id-9614 #realed-thrpsrch-content .realed-set-item.is-on {
  background: var(--navy); border-color: var(--navy); color: #fff;
}
/* Accordion: collapsed groups show only the first 5 pills */
body.page-id-9614 #realed-thrpsrch-content .realed-set-items.is-collapsed .realed-set-item:nth-child(n+6) { display: none; }
body.page-id-9614 #realed-thrpsrch-content .art-viewall {
  background: none; border: none; color: var(--sky-deep);
  font-family: inherit; font-size: 13px; font-weight: 700;
  cursor: pointer; padding: 9px 2px 2px; margin: 0;
}
body.page-id-9614 #realed-thrpsrch-content .art-viewall:hover { color: var(--navy); text-decoration: underline; }
/* Text + select filter fields (name, bio) */
body.page-id-9614 #realed-thrpsrch-content input[type="text"],
body.page-id-9614 #realed-thrpsrch-content select {
  border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px;
  font-size: 14px; color: var(--ink); background: #fff; margin: 0 0 6px; max-width: 100%;
}

/* Location/Country groups are shown in the drawer (client request 2026-08) so every
   filter is adjustable in one place. The hero search bar mirrors its values into
   #realed-thrpsloc / #realed-thrpscountry, so the two stay in sync. */

/* Subtle divider between each filter group */
body.page-id-9614 #realed-thrpsrch-content .realed-group {
  border-bottom: 1px solid var(--line);
  padding-bottom: 7px;
  margin-bottom: 7px;
}
body.page-id-9614 #realed-thrpsrch-content .realed-group:last-of-type { border-bottom: none; }
/* Tighten per-field vertical rhythm in the drawer (overrides the base 1.5ex) */
body.page-id-9614 #realed-thrpsrch-content .realed-field { margin: 4px 6px 0 0; }

/* ── Location + Country as one hero-style row (client request 2026-08-19) ── */
/* Widen the slide-out so Location · Radius · Unit · Country fit on one line. */
body.page-id-9614 #realed-thrpsrch-content { width: 880px; }
/* The Location and Country groups share a single horizontal row. */
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsloc,
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpscountry {
  display: inline-flex; align-items: flex-end; flex-wrap: wrap; gap: 10px;
  vertical-align: bottom;
}
/* Both groups keep the same bottom box-model (from .realed-group) so their inputs
   bottom-align on the shared row; just add a gap between the two groups. */
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsloc { margin-right: 14px; }
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsloc .realed-field,
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpscountry .realed-field { margin: 0; }
/* Drop the duplicate "Location" section heading (the field label already says it). */
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsloc h3 { display: none; }
/* Match the hero exactly — drop the large "Or:" heading (the page's search bar has none),
   so Country aligns with Location/Radius/Unit on the same row. */
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpscountry h4 { display: none; }
/* Field widths mirror the hero proportions. */
body.page-id-9614 #realed-thrpsrch-content #realed-thrpsloc { width: 230px; }
body.page-id-9614 #realed-thrpsrch-content #realed-thrpsrad { width: 64px; }
body.page-id-9614 #realed-thrpsrch-content #realed-thrpsunit { width: 78px; }
body.page-id-9614 #realed-thrpsrch-content #realed-thrpscountry { width: 190px; }

/* Hero-style cells: label sits INSIDE a bordered field box (client 2026-08-19).
   No group divider (cells carry the structure); equal group bottoms keep inputs aligned. */
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsloc,
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpscountry {
  border-bottom: none; padding-bottom: 0; margin-bottom: 16px;
}
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsloc .realed-field,
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpscountry .realed-field {
  border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 5px 12px;
}
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsloc .realed-field > label,
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpscountry .realed-field > label {
  margin: 0 0 2px; font-size: 11px; line-height: 14px;
}
/* Borderless controls with matched heights → cells are shorter and the merged
   Radius+Unit halves are the same height (no stepped border). */
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsloc input,
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsloc select,
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpscountry select {
  border: none; padding: 0; background: transparent; margin: 0;
  height: 22px; line-height: 22px;
}

/* ── Description joins the Therapist (First/Last name) row (client 2026-08-19) ── */
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsfirst,
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsbio {
  display: inline-flex; align-items: flex-end; flex-wrap: wrap; gap: 10px; vertical-align: bottom;
}
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsfirst { margin-right: 14px; }
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsfirst .realed-field,
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsbio .realed-field { margin: 0; }
body.page-id-9614 #realed-thrpsrch-content #realed-thrpsfirst { width: 175px; }
body.page-id-9614 #realed-thrpsrch-content #realed-thrpslast { width: 175px; }
body.page-id-9614 #realed-thrpsrch-content #realed-thrpsbio { width: 250px; }
/* Drop the First/Last field labels (client 2026-08-19) — the "Search by Therapist Name"
   heading covers them; the inputs keep their placeholders. */
body.page-id-9614 #realed-thrpsrch-content .realed-field-thrpsfirst > label,
body.page-id-9614 #realed-thrpsrch-content .realed-field-thrpslast > label { display: none; }
/* "Search by Therapist Name" and "Description" as identical headers on the same level,
   so they align (the inputs bottom-align via flex-end; matched header boxes align the tops). */
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsfirst h3,
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsbio .realed-field-thrpsbio > label {
  display: block; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  color: var(--navy); margin: 0 0 6px; padding: 0; line-height: 16px; white-space: nowrap;
}

/* (Location-cell icons removed per client request 2026-08-20.) */

/* ── Merge Radius + Unit into one cell like the hero (client 2026-08-20) ── */
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsloc .realed-field-thrpsrad {
  border-right: none; border-top-right-radius: 0; border-bottom-right-radius: 0; padding-right: 4px;
}
body.page-id-9614 #realed-thrpsrch-content .realed-group-thrpsloc .realed-field-thrpsunit {
  margin-left: -10px; border-left: none; border-top-left-radius: 0; border-bottom-left-radius: 0;
  padding-left: 6px;
}
/* Hide the "Unit" label text but keep its height so the merged cell stays aligned. */
body.page-id-9614 #realed-thrpsrch-content .realed-field-thrpsunit > label { visibility: hidden; }

/* ── Lighter placeholder ("sample") text in the drawer (client 2026-08-20) ── */
body.page-id-9614 #realed-thrpsrch-content input::placeholder {
  color: #9AA7B2; opacity: 1;
}

/* ── Cards ── (high specificity beats any stale inline block) */
body.page-id-9614 div.realed-thrp {
  display: flex; align-items: flex-start; gap: 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 22px;
  margin-bottom: 16px;
  max-width: none;
  box-shadow: 0 1px 3px rgba(14,58,92,.07), 0 1px 2px rgba(14,58,92,.04);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
body.page-id-9614 div.realed-thrp:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(14,58,92,.10), 0 2px 6px rgba(14,58,92,.06);
  border-color: #CFE3EF;
}

/* Portrait */
body.page-id-9614 div.realed-thrp-img { flex: 0 0 120px; }
body.page-id-9614 div.realed-thrp-img img {
  width: 120px !important; height: 158px !important; min-height: 158px !important;
  object-fit: cover !important; object-position: top !important;
  border-radius: 12px; display: block;
}
body.page-id-9614 div.realed-thrp-noimg {
  width: 120px; height: 158px; border-radius: 12px;
  background: linear-gradient(150deg, #4FB0E4, #1E7BB0);
  display: flex; align-items: center; justify-content: center;
  color: #fff !important; font-size: 34px; font-weight: 800; letter-spacing: .02em;
  text-shadow: 0 1px 3px rgba(0,0,0,.18);
}

/* Info column */
body.page-id-9614 div.realed-thrp-info { flex: 1 1 auto; min-width: 0; }
body.page-id-9614 div.realed-thrp-sec1 {
  font-size: 20px; font-weight: 700; line-height: 1.2; letter-spacing: -.01em; margin-bottom: 0;
}
body.page-id-9614 div.realed-thrp-sec1 a { color: var(--navy); text-decoration: none; }
body.page-id-9614 div.realed-thrp-sec1 a:hover { text-decoration: underline; }

/* Level badge container + pills */
body.page-id-9614 div.realed-thrp-sec {
  margin: 7px 0 0; padding: 0; font-size: inherit; font-weight: normal;
  text-transform: none; letter-spacing: normal; color: inherit;
}
body.page-id-9614 span.realed-thrp-level {
  display: inline-flex; align-items: center;
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  padding: 4px 11px; border-radius: 999px;
}
body.page-id-9614 span.realed-thrp-level-trained { background: var(--sky-tint);  color: var(--sky-deep); }
body.page-id-9614 span.realed-thrp-level-master  { background: var(--gold-tint); color: var(--gold-deep); }

/* Contact rows (location / website) */
body.page-id-9614 div.realed-thrp-cont {
  font-size: 14px; color: var(--slate); margin-top: 10px;
  display: flex; align-items: center; gap: 8px;
}
body.page-id-9614 div.realed-thrp-cont i.fa-map-marker { color: #E0663A; }
body.page-id-9614 div.realed-thrp-cont i.fa-globe { color: var(--sky); }
body.page-id-9614 div.realed-thrp-cont a { color: var(--sky-deep); text-decoration: none; }
body.page-id-9614 div.realed-thrp-cont a:hover { text-decoration: underline; }

/* Bio */
body.page-id-9614 div.realed-thrp-bio {
  font-size: 14px; color: var(--slate); margin-top: 12px; line-height: 1.55;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* Actions column */
body.page-id-9614 div.realed-thrp-actions {
  flex: 0 0 168px; display: flex; flex-direction: column; gap: 9px; align-items: stretch; padding-top: 2px;
}
body.page-id-9614 div.realed-thrp-phone {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  font-size: 16px; font-weight: 700; padding: 2px 0 6px;
  font-variant-numeric: tabular-nums;
}
body.page-id-9614 div.realed-thrp-phone a { color: var(--sky-deep) !important; text-decoration: none; }
body.page-id-9614 div.realed-thrp-phone a:hover { color: var(--navy) !important; }
body.page-id-9614 div.realed-thrp-phone i { color: #2AA84F; }

body.page-id-9614 div.realed-thrp-actions a.realed-thrp-email-btn,
body.page-id-9614 div.realed-thrp-actions a.realed-thrp-details-btn {
  display: flex !important; align-items: center; justify-content: center; gap: 7px;
  font-size: 14px !important; font-weight: 700 !important;
  padding: 10px 14px !important; border-radius: 999px !important;
  text-decoration: none !important; cursor: pointer;
  border: 1.5px solid transparent !important; transition: all .14s; box-sizing: border-box;
}
body.page-id-9614 div.realed-thrp-actions a.realed-thrp-email-btn {
  background: #fff !important; border-color: var(--line) !important; color: var(--ink) !important;
}
body.page-id-9614 div.realed-thrp-actions a.realed-thrp-email-btn:hover {
  border-color: var(--sky) !important; background: var(--sky-tint) !important; color: var(--navy) !important;
}
body.page-id-9614 div.realed-thrp-actions a.realed-thrp-details-btn {
  background: var(--sky) !important; color: #fff !important;
}
body.page-id-9614 div.realed-thrp-actions a.realed-thrp-details-btn:hover {
  background: var(--sky-deep) !important;
}

/* Specialty pills (if used) */
body.page-id-9614 span.realed-thrp-set {
  display: inline-block; background: var(--sky-tint); color: var(--sky-deep);
  border-radius: 7px; padding: 4px 10px; font-size: 12px; font-weight: 600;
  margin: 2px 4px 2px 0; white-space: nowrap;
}

body.page-id-9614 :focus-visible { outline: 3px solid rgba(46,150,206,.5); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  body.page-id-9614 div.realed-thrp { transition: none; }
}

/* Responsive */
@media (max-width: 720px) {
  body.page-id-9614 .art-hero { min-height: auto; padding: 44px 0; }
  body.page-id-9614 .art-hero-title { font-size: 28px; }
  body.page-id-9614 .hero-search { flex-direction: column; }
  body.page-id-9614 .hero-search .hs-field + .hs-field { border-left: none; border-top: 1px solid var(--line); }
  body.page-id-9614 .hero-search .hs-btn { padding: 14px; justify-content: center; }
  body.page-id-9614 div.realed-thrp { flex-direction: column; }
  body.page-id-9614 div.realed-thrp-img { flex-basis: auto; }
  body.page-id-9614 div.realed-thrp-img img { width: 100% !important; height: 200px !important; }
  body.page-id-9614 div.realed-thrp-noimg { width: 100%; height: 200px; }
  body.page-id-9614 div.realed-thrp-actions { flex-basis: auto; flex-direction: row; flex-wrap: wrap; }
  body.page-id-9614 div.realed-thrp-phone { flex: 1 1 100%; }
  body.page-id-9614 div.realed-thrp-actions a { flex: 1; }
}

/* ══════════════════════════════════════════════════════════════════
   THERAPIST DETAIL / PROFILE PAGE (ID 9627, /realed-form-thrpview/)
   Psychology-Today-style two-column profile: main (photo, bio,
   attribute pills, large photo) + sidebar (Let's Connect, At a Glance).
   ══════════════════════════════════════════════════════════════════ */
body.page-id-9627 .site-content {
  background: linear-gradient(170deg, #CFE4F3 0%, #E4EEF6 55%, #F2F4F6 100%) !important;
  /* NB: do NOT set overflow here — overflow-x:hidden makes overflow-y compute to
     auto, creating a scroll container that breaks the sidebar's position:sticky. */
}
/* Keep inner containers transparent so the gradient shows through */
body.page-id-9627 .entry-content,
body.page-id-9627 .ast-container,
body.page-id-9627 article { background: transparent !important; }

/* Banner flush under the site header */
body.page-id-9627 .site-content > .ast-container,
body.page-id-9627 #primary,
body.page-id-9627 #main { padding-top: 0 !important; margin-top: 0 !important; }

/* Hide Astra's WP page title + any empty heading */
body.page-id-9627 .entry-header,
body.page-id-9627 .entry-content > h2:empty { display: none !important; }

/* Content container */
body.page-id-9627 .entry-content {
  max-width: 1040px; margin: 0 auto; padding: 30px 20px 64px; box-sizing: border-box;
}

/* Therapist name (in-card, next to the portrait) */
body.page-id-9627 .art-prof-name {
  font-size: 28px; font-weight: 800; color: var(--navy);
  letter-spacing: -.01em; line-height: 1.15; margin: 0 0 8px;
}

/* Back-to-directory link (injected) */
body.page-id-9627 .art-back {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 14px; font-weight: 700; color: var(--sky-deep);
  text-decoration: none; margin: 0 0 14px;
}
body.page-id-9627 .art-back:hover { color: var(--navy); text-decoration: underline; }

/* ── Two-column layout ── */
body.page-id-9627 .realed-thrp {
  display: flex; align-items: flex-start; gap: 24px;
  background: transparent; border: none; box-shadow: none; padding: 0;
}
body.page-id-9627 .art-prof-main {
  flex: 1 1 auto; min-width: 0;
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  padding: 30px; box-shadow: 0 4px 22px rgba(14,58,92,.07);
}
body.page-id-9627 .art-prof-side {
  flex: 0 0 320px; display: flex; flex-direction: column; gap: 20px;
  position: sticky; top: 20px; align-self: flex-start;
}

/* Main: header row (photo + badge/title) */
body.page-id-9627 .art-prof-head { display: flex; align-items: center; gap: 22px; margin-bottom: 18px; }
body.page-id-9627 .realed-thrp-img { flex: 0 0 150px; }
body.page-id-9627 .realed-thrp-img img {
  width: 150px !important; height: 150px !important; object-fit: cover !important;
  object-position: top !important; border-radius: 12px; display: block;
}
body.page-id-9627 .realed-thrp-noimg {
  width: 150px; height: 150px; border-radius: 12px;
  background: linear-gradient(150deg, #4FB0E4, #1E7BB0);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 40px; font-weight: 800;
}
body.page-id-9627 .art-prof-headinfo { flex: 1 1 auto; min-width: 0; }
body.page-id-9627 .realed-thrp-sec1 { margin: 0 0 8px; }
body.page-id-9627 span.realed-thrp-level {
  display: inline-flex; align-items: center;
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 999px;
}
body.page-id-9627 span.realed-thrp-level-trained { background: var(--sky-tint);  color: var(--sky-deep); }
body.page-id-9627 span.realed-thrp-level-master  { background: var(--gold-tint); color: var(--gold-deep); }
body.page-id-9627 .art-prof-protis { font-size: 15px; color: var(--slate); font-weight: 600; margin: 0 0 10px; }

/* Bio */
body.page-id-9627 .realed-thrp-bio {
  font-size: 15px; line-height: 1.7; color: var(--ink);
  margin: 0 0 24px; padding-bottom: 24px; border-bottom: 1px solid var(--line);
}

/* ── Attribute grid: two tidy columns instead of one long ladder ── */
body.page-id-9627 .art-prof-attrs {
  display: grid; grid-template-columns: 1fr 1fr; gap: 22px 32px;
}
body.page-id-9627 .art-attr { min-width: 0; }
/* wpautop leaves a stray <br> as the first grid child; it would take cell 1 */
body.page-id-9627 .art-prof-attrs > br { display: none; }
body.page-id-9627 .realed-thrp-sec {
  display: flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  color: var(--navy); margin: 0 0 10px;
}
body.page-id-9627 .realed-thrp-sec i { color: var(--sky); font-size: 12px; }
body.page-id-9627 .art-attr-vals { font-size: 15px; color: var(--ink); line-height: 1.6; }
body.page-id-9627 span.realed-thrp-set {
  display: inline-block; background: var(--sky-tint); color: var(--sky-deep);
  border-radius: 999px; padding: 5px 13px; font-size: 13px; font-weight: 600;
  margin: 0 6px 7px 0; white-space: nowrap; transition: transform .12s, box-shadow .12s;
}
body.page-id-9627 .art-attr-vals span.realed-thrp-set:hover {
  transform: translateY(-1px); box-shadow: 0 3px 8px rgba(30,123,176,.18);
}

/* Favorite quote — full-width, set off below the attributes */
body.page-id-9627 .art-prof-favquote {
  display: flex; gap: 12px; margin-top: 26px; padding-top: 22px;
  border-top: 1px solid var(--line);
  font-size: 16px; line-height: 1.6; color: var(--slate); font-style: italic;
}
body.page-id-9627 .art-prof-favquote i { color: var(--gold); font-size: 20px; flex-shrink: 0; }

/* ── Sidebar cards ── */
body.page-id-9627 .art-side-card {
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  padding: 22px; box-shadow: 0 4px 22px rgba(14,58,92,.07);
}
body.page-id-9627 .art-side-label {
  font-size: 13px; font-weight: 700; color: var(--slate); margin-bottom: 10px;
}
body.page-id-9627 .art-side-title {
  font-size: 17px; font-weight: 800; color: var(--navy); margin-bottom: 14px;
}
body.page-id-9627 .art-side-phone {
  font-size: 22px; font-weight: 800; margin-bottom: 14px;
  font-variant-numeric: tabular-nums;
}
body.page-id-9627 .art-side-phone i { color: #2AA84F; font-size: 17px; margin-right: 6px; }
body.page-id-9627 .art-side-phone a { color: var(--navy) !important; text-decoration: none; }
body.page-id-9627 .art-side-phone a:hover { color: var(--sky-deep) !important; }
/* Email Me button (uses the plugin emailbtn output) */
body.page-id-9627 .art-side-emailwrap a.realed-thrp-email-btn {
  display: flex !important; align-items: center; justify-content: center; gap: 8px;
  width: 100%; box-sizing: border-box;
  background: var(--sky) !important; color: #fff !important;
  border: none !important; border-radius: 999px !important;
  padding: 13px 16px !important; font-size: 15px !important; font-weight: 800 !important;
  text-decoration: none !important; transition: background .15s;
}
body.page-id-9627 .art-side-emailwrap a.realed-thrp-email-btn:hover { background: var(--sky-deep) !important; }

/* At-a-glance rows */
body.page-id-9627 .art-glance {
  display: flex; align-items: flex-start; gap: 11px;
  font-size: 14px; color: var(--ink); line-height: 1.5;
  padding: 11px 0; border-top: 1px solid var(--line);
}
body.page-id-9627 .art-glance:first-of-type { border-top: none; padding-top: 0; }
body.page-id-9627 .art-glance i { color: var(--sky); margin-top: 3px; flex-shrink: 0; }
body.page-id-9627 .art-glance a { color: var(--sky-deep); text-decoration: none; word-break: break-all; }
body.page-id-9627 .art-glance a:hover { text-decoration: underline; }
/* Modality pills inside glance rows */
body.page-id-9627 .art-glance span.realed-thrp-set {
  background: var(--sky-tint); color: var(--sky-deep);
  border-radius: 999px; padding: 3px 10px; font-size: 12.5px; margin: 0 5px 4px 0;
}

/* Responsive: sidebar drops below main */
@media (max-width: 860px) {
  body.page-id-9627 .realed-thrp { flex-direction: column; }
  body.page-id-9627 .art-prof-side { flex-basis: auto; width: 100%; position: static; }
  body.page-id-9627 .art-prof-name { font-size: 23px; }
}
@media (max-width: 620px) {
  body.page-id-9627 .art-prof-attrs { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 560px) {
  body.page-id-9627 .art-prof-head { flex-direction: column; align-items: flex-start; }
}

/* Personal quote in the sidebar glance card */
body.page-id-9627 .art-glance-quote span { font-style: italic; color: var(--slate); }
body.page-id-9627 .art-glance-quote i { color: var(--gold); }

/* ═══════════════════════════════════════════════════════════════════
   HOMEPAGE "ART Toolkit Trainings" banner (front page only)
   Injected via astra_header_after in functions.php. Mirrors the live
   banner on acceleratedresolutiontherapy.com. Dev image copy lives at
   /wp-content/uploads/2026/07/banner_photo.png.
   ═══════════════════════════════════════════════════════════════════ */
.art-toolkit-banner-h{
  width:100%;
  background-image:url("/wp-content/uploads/2026/07/banner_photo.png");
  background-size:cover;
  background-position:left top;
  position:relative;
  font-family:"Open Sans",sans-serif;
  box-sizing:border-box;
  box-shadow:rgba(0,0,0,0.35) 0 4px 12px;
  z-index:100;
}
/* The banner's z-index:100 (needed so its drop-shadow falls over the page content below) would
   otherwise sit above the header, hiding the nav drop-down menus behind the banner on the home
   page. Lift the header's stacking context above the banner. Home-only, so nothing else shifts. */
.home .site-header{ position:relative; z-index:101; }
.art-toolkit-banner-h::before{ content:""; position:absolute; inset:0; background:rgba(26,47,94,0.85); }
.art-toolkit-banner-h__inner{
  position:relative; z-index:1; max-width:1100px; margin:0 auto; padding:22px 32px;
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.art-toolkit-banner-h__left{ display:flex; align-items:center; gap:16px; flex-shrink:0; }
.art-toolkit-banner-h__eyebrow{
  display:inline-block; background:#fff; color:#1a2f5e; font-size:11px; font-weight:700;
  letter-spacing:1px; text-transform:uppercase; padding:5px 14px; border-radius:20px; white-space:nowrap;
}
.art-toolkit-banner-h__center{ flex:1 1 0%; min-width:0; }
.art-toolkit-banner-h__headline{ color:#fff; font-size:20px; font-weight:700; line-height:1.3; margin:0 0 6px; }
.art-toolkit-banner-h__audience{
  display:inline-block; color:#fff; font-size:13px; font-weight:700; letter-spacing:.3px;
  text-transform:uppercase; background:rgba(168,188,212,.25); padding:4px 14px; border-radius:4px; margin:0 0 6px;
}
.art-toolkit-banner-h__sub{ color:#ccd8e8; font-size:13px; font-weight:400; line-height:1.5; margin:0; }
.art-toolkit-banner-h__btn{
  display:inline-block; background:#fff; color:#1a2f5e; font-family:"Open Sans",sans-serif;
  font-size:13px; font-weight:700; padding:12px 24px; border-radius:4px; text-decoration:none;
  white-space:nowrap; flex-shrink:0; letter-spacing:.2px;
}
.art-toolkit-banner-h__btn:hover{ background:#eef2f8; }

@media (max-width:600px){
  .art-toolkit-banner-h__inner{ flex-direction:column; align-items:flex-start; padding:18px 20px; }
  .art-toolkit-banner-h__btn{ align-self:stretch; text-align:center; }
}

/* ── home-test2 (9868) + home-test3 (9869): force the slider FULL-WIDTH by breaking its WPBakery row
   out of the ~1200px content column to the browser edges. RevSlider "Full-Width" layout fills its
   container, so widening the container to 100vw makes the slider go edge-to-edge; its height holds at
   the grid height (~400px). Requires the slider itself to be Full-Width/400 (NOT Full-Screen) — the
   two pages carry different sliders (art-2026-header-1 / -2), two mockup variations for the client.
   Zero the WPBakery column padding so it reaches the edge. ── */
body:is(.page-id-9868,.page-id-9869) .vc_row.wpb_row:has(rs-module-wrap){
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
body:is(.page-id-9868,.page-id-9869) .vc_row.wpb_row:has(rs-module-wrap) .wpb_column,
body:is(.page-id-9868,.page-id-9869) .vc_row.wpb_row:has(rs-module-wrap) .vc_column-inner,
body:is(.page-id-9868,.page-id-9869) .vc_row.wpb_row:has(rs-module-wrap) .wpb_wrapper{
  max-width:none;
  padding-left:0;
  padding-right:0;
}

/* --- Mobile slider cutoff fix (Akins 2026-08-25) ---
   Home banner sliders rev_slider_7_1 (home-test2) & rev_slider_9_1 (home-test3): on phones SR
   renders the module too short (keepBPHeight:false -> derives mobile height from the desktop value),
   clipping the "More About ART Treatments" button + conditions list. The slide layers are absolutely
   positioned, so a min-height floor only REVEALS them (no reflow). 93vw tracks SR's width-based
   scaling so the floor fits the content across phone widths (<=480px). */
@media (max-width:480px){
  #rev_slider_7_1, #rev_slider_9_1,
  #rev_slider_7_1_wrapper, #rev_slider_9_1_wrapper{ min-height:93vw !important; }
}

/* ══════════════════════════════════════════════════════════════════
   SITE-WIDE: in-content heading sizes (client request 2026-09-02)
   Astra's own defaults for headings used INSIDE page/post content
   (.entry-content h1-h6 — e.g. "Grievance Policy" on /ce-credits/,
   trainer names on /meet-our-trainers/) render too large. Cut ~30%.
   Does NOT touch the page-title element (header.entry-header
   .entry-title) or hero banners — those are a separate, approved look.
   Excludes the Therapist Directory (9614/9627), which has its own
   typography and is already approved as-is.
   ══════════════════════════════════════════════════════════════════ */
body:not(.page-id-9614):not(.page-id-9627) .entry-content h1 { font-size: 28px; }
body:not(.page-id-9614):not(.page-id-9627) .entry-content h2 { font-size: 22px; }
body:not(.page-id-9614):not(.page-id-9627) .entry-content h3 { font-size: 18px; }
body:not(.page-id-9614):not(.page-id-9627) .entry-content h4 { font-size: 17px; }
body:not(.page-id-9614):not(.page-id-9627) .entry-content h5 { font-size: 14px; }

/* ══════════════════════════════════════════════════════════════════
   MEET OUR TRAINERS — PREVIEW (page-id-10027, 2026-09-03)
   Restyle toward the Therapist Directory's rounded-card look, using
   the shared tokens, with LESS navy per client request (a little is
   fine as an accent/label, not big backgrounds like the directory).
   STAGING ONLY: scoped to the preview page id. Once approved, change
   "page-id-10027" to "page-id-7271" (the live page) to ship it.
   Two content sources on this page, styled to feel like one family:
     - Founder row: 4 hand-authored WPBakery columns (.wpb_column.vc_col-sm-3.vc_col-has-fill)
     - Trainers grid: auto-generated from pages tagged category "Trainer"
       (.vc_grid-item), pulling each page's featured image + the
       `location`/`email` custom fields — no markup change needed here.
   ══════════════════════════════════════════════════════════════════ */

body.page-id-10027 .entry-content { max-width: 1180px; margin: 0 auto; }

/* Section labels ("Founder and Lead Trainers" / "Trainers") — the "little navy" */
body.page-id-10027 .vc_separator h4 {
  color: var(--navy); font-weight: 800; letter-spacing: .03em; text-transform: uppercase;
}
body.page-id-10027 .vc_separator .vc_sep_line { border-color: var(--line) !important; }

/* ── Founder cards (top 4) ── */
body.page-id-10027 .wpb_column.vc_col-sm-3.vc_col-has-fill { border-width: 8px !important; }
body.page-id-10027 .vc_column-inner[class*="vc_custom_"] {
  background: #fff !important;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  box-shadow: 0 4px 16px rgba(23,38,47,.06);
  transition: transform .16s ease, box-shadow .16s ease;
  overflow: hidden;
}
body.page-id-10027 .vc_column-inner[class*="vc_custom_"]:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(23,38,47,.10);
}
body.page-id-10027 .wpb_column.vc_col-sm-3.vc_col-has-fill .vc_single_image-wrapper {
  border: none !important; border-radius: var(--radius-field) !important;
}
body.page-id-10027 .wpb_column.vc_col-sm-3.vc_col-has-fill .wpb_text_column {
  padding: 16px 18px 20px !important;
}
body.page-id-10027 .wpb_column.vc_col-sm-3.vc_col-has-fill h3 { margin: 0 0 2px; }
body.page-id-10027 .wpb_column.vc_col-sm-3.vc_col-has-fill h3 a { color: var(--ink); }
body.page-id-10027 .wpb_column.vc_col-sm-3.vc_col-has-fill > .vc_column-inner > .wpb_wrapper > p:first-of-type {
  color: var(--slate); font-size: 13px; margin: 0 0 10px;
}
body.page-id-10027 .wpb_column.vc_col-sm-3.vc_col-has-fill strong em {
  color: var(--sky-deep); font-style: normal; font-weight: 700;
  font-size: 12px; letter-spacing: .02em; text-transform: uppercase;
}
body.page-id-10027 .wpb_column.vc_col-sm-3.vc_col-has-fill p { font-size: 14px; color: var(--slate); }
body.page-id-10027 .wpb_column.vc_col-sm-3.vc_col-has-fill a[href^="mailto:"] {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 8px;
  color: var(--sky-deep); font-weight: 600; font-size: 13px; text-decoration: none;
}

/* ── Trainers grid (auto-generated, 113 pages) ── */
body.page-id-10027 .vc_grid-item { padding: 10px; }
body.page-id-10027 .vc_grid-item-mini {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card);
  overflow: hidden; box-shadow: 0 4px 16px rgba(23,38,47,.06);
  transition: transform .16s ease, box-shadow .16s ease;
}
body.page-id-10027 .vc_grid-item-mini:hover {
  transform: translateY(-3px); box-shadow: 0 10px 26px rgba(23,38,47,.10);
}
body.page-id-10027 .vc_gitem-zone-a { aspect-ratio: 3 / 4; background-size: cover !important; background-position: center !important; }
body.page-id-10027 .vc_gitem-zone-c { padding: 14px 14px 16px; }
body.page-id-10027 .vc_gitem-post-data .vc_gitem-link {
  color: var(--ink) !important; font-weight: 700 !important;
}
body.page-id-10027 .vc_gitem-post-meta-field-location {
  color: var(--slate); font-size: 13px; margin-top: 2px;
}
body.page-id-10027 .vc_gitem-post-meta-field-email:not(:empty) {
  color: var(--sky-deep); font-size: 13px; font-weight: 600; margin-top: 6px;
}

/* ── Modernization pass (client 2026-09-06): warmer bg, photo ring, icon consistency ── */

/* Warmer neutral page background (matches the directory's --ground, adds depth behind
   the white cards instead of white-on-white) */
body.page-id-10027 .site-content { background: var(--ground) !important; }

/* Soft brand-colored ring around founder photos (they float with visible margin inside
   the card, unlike the grid photos which are already edge-to-edge/framed by the card
   border, so a ring there would be redundant). */
body.page-id-10027 .wpb_column.vc_col-sm-3.vc_col-has-fill .vc_single_image-wrapper {
  box-shadow: 0 0 0 4px var(--sky-tint);
}

/* Consistent icon: every email link on this page uses the same raster email-sm.svg,
   regardless of the inconsistent wrapping classes (wp-image-7712 / email-icon /
   email-link) across founder + grid entries — one selector replaces all of them with
   a clean inline SVG envelope matching the site's icon style, in the accent color. */
body.page-id-10027 img[src*="email-sm.svg"] { display: none; }
body.page-id-10027 a[href^="mailto:"]::before,
body.page-id-10027 .vc_gitem-post-meta-field-email a::before {
  content: "";
  display: inline-block;
  width: 14px; height: 14px;
  margin-right: 5px;
  vertical-align: -2px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%231E7BB0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 6-10 7L2 6'/%3E%3C/svg%3E");
}

/* ══════════════════════════════════════════════════════════════════
   TRAINING CARDS (.tt-*) — shared component classes (2026-09-06)
   Built for /types-of-training-available/ rebuild (A5: content/markup;
   thrpdir: these styles — see Claude-work/sessions/2026-09-06_types-
   of-training-and-rounding-spec.md). Page-independent by design: these
   class names are new/exclusive to this markup, so no page-id scoping
   is needed — they'll apply wherever A5's markup ships.
   Navy reserved for the card title only (heading), per "less navy
   going forward" — everything else uses sky/gold accents.
   ══════════════════════════════════════════════════════════════════ */

.tt-page { max-width: 1180px; margin: 0 auto; padding: 10px 20px 50px; }

.tt-title { color: var(--navy); font-weight: 800; margin: 0 0 28px; }

/* One .tt-section per training family (Basic / Advanced / SAF-T): description
   above, simplified cards below. (2026-09-11, page restructure) */
.tt-section { padding: 0 0 44px; margin-bottom: 44px; border-bottom: 1px solid var(--line); }
.tt-section:last-of-type { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }

.tt-section__title { color: var(--navy); font-weight: 800; font-size: 26px; margin: 0 0 18px; }

/* Description prose above the cards — comfortable reading column, not the
   full grid width. The <p><strong>Label</strong><br>text</p> pattern (Objective /
   Prerequisites / Format / Education Credits) gets its label styled as a small
   accent sub-heading rather than plain inline bold. */
.tt-intro { max-width: 720px; margin: 0 0 32px; color: var(--ink); font-size: 15px; line-height: 1.7; }
.tt-intro p { margin: 0 0 18px; }
.tt-intro p:last-child { margin-bottom: 0; }
.tt-intro strong {
  display: inline-block; color: var(--sky-deep); font-weight: 700;
  font-size: 12px; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 4px;
}
.tt-intro a { color: var(--sky-deep); font-weight: 600; }
.tt-intro a:hover { color: var(--sky); }

.tt-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start; /* natural height per card, tops aligned — real content (price-only vs
     multi-paragraph founder cards) is too disparate for equal-height stretch: it left ~650-1000px
     of empty white space on the short cards. No expander (Amy: full text), so natural height is
     the right fix (A5, 2026-09-10). .tt-card__cta's margin-top:auto still pins the CTA right
     under the content on a natural-height card — no side effect from dropping stretch. */
  gap: 24px;
}
@media (max-width: 768px) {
  .tt-grid { grid-template-columns: 1fr; }
}
/* Odd 5th card (SAF-T) spans both columns instead of sitting alone */
.tt-card--wide { grid-column: 1 / -1; }

.tt-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  padding: 26px 24px;
  box-shadow: 0 4px 16px rgba(23,38,47,.06);
  transition: transform .16s ease, box-shadow .16s ease;
  /* Astra's generic `article { height: 100% !important; }` (blog/post-listing default)
     matches this element since it's an <article>, and silently overrode .tt-grid's
     align-items:start — cards stretched full row height regardless. Needs !important
     to win (Astra's rule is also !important), and .tt-card's higher specificity beats
     bare `article` between two !important declarations. */
  height: auto !important;
}
.tt-card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(23,38,47,.10); }

.tt-card__title { color: var(--navy); font-weight: 800; font-size: 20px; margin: 0 0 4px; }
.tt-card__sub   { color: var(--slate); font-size: 14px; margin: 0 0 14px; }

.tt-card__meta {
  display: inline-flex; align-self: flex-start; align-items: center;
  background: var(--sky-tint); color: var(--sky-deep);
  font-weight: 700; font-size: 13px;
  padding: 6px 14px; border-radius: var(--radius-pill);
  margin-bottom: 16px;
}

.tt-card__body { color: var(--ink); font-size: 14.5px; line-height: 1.6; margin: 0 0 18px; }
.tt-card__body > :first-child { margin-top: 0; }
.tt-card__body > :last-child  { margin-bottom: 0; }

.tt-card__cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 4px; }

.tt-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 20px; border-radius: var(--radius-pill);
  font-weight: 700; font-size: 14px; text-decoration: none;
  border: 1px solid transparent; cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .1s ease;
}
.tt-btn:active { transform: translateY(1px); }
.tt-btn--primary { background: var(--gold); color: #4A3208; }
.tt-btn--primary:hover { background: var(--gold-deep); color: #fff; }
.tt-btn--ghost { background: #fff; color: var(--sky-deep); border-color: var(--line); }
.tt-btn--ghost:hover { background: var(--sky-tint); border-color: var(--sky); }

/* Expander for the longer descriptions (cards 2/4/5) */
.tt-details { margin-top: 4px; }
.tt-details__toggle {
  cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 6px;
  color: var(--sky-deep); font-weight: 700; font-size: 13px;
}
.tt-details__toggle::-webkit-details-marker { display: none; }
.tt-details__toggle::after { content: "+"; font-size: 15px; transition: transform .15s ease; }
.tt-details[open] .tt-details__toggle::after { transform: rotate(45deg); }
