/* ============================================================
   SAFE SPACE COUNSELLING — Single Team Member
   Template styles for single-team-member.php (post_type=team-member)

   Uses Core Framework :root tokens (--primary, --sage-*, --space-*,
   --text-*, --radius-*, --font-* ...). No hardcoded brand hex values.

   Wave/background SVGs are expected at:
   /wp-content/themes/safespace-kadence-child/assets/images/
   The colour transition between sections lives inside each SVG;
   section background-colors below are set to the adjacent band tint.
   ============================================================ */

/* ---- Scope reset ---------------------------------------------------- */
.ss-team-single,
.ss-team-single *,
.ss-team-single *::before,
.ss-team-single *::after {
	box-sizing: border-box;
}

.ss-team-single {
	background-color: var(--bg-body);
	font-family: var(--font-body);
	color: var(--text-body);
	overflow-x: clip;
	font-size: 16px;
}

/* ============================================================
   1. HERO
   ============================================================ */
.ss-hero {
	position: relative;
	background-color: #fff;
	overflow: hidden;
}

/* Decorative organic shape (team_hero_bg.svg), top-right. */
.ss-hero::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	background-image: var(--ss-hero-bg);
	background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: contain;
    width: 40%;
    margin-bottom: -17px;
    position: absolute;
    inset: 0% 0% 0% auto;
}

.ss-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	padding-top: 60px;
    padding-bottom: 130px;
}

.ss-hero__photo {
	flex: 0 0 auto;
	width: clamp(170px, 22vw, 270px);
	min-width: clamp(170px, 22vw, 270px);
	height: clamp(170px, 22vw, 270px);
	min-height: clamp(170px, 22vw, 270px);
	overflow: hidden;
	border-radius: 100%;
}

.ss-hero__photo img {
	display: block;
	width: clamp(170px, 22vw, 270px);
	min-height: 100%;
	position: relative;
/*     top: -50%; */
/*     transform: translate(0, 40%); */
	box-shadow: 0 14px 44px rgba(26, 22, 20, 0.14);
}

.ss-hero__content {
	flex: 1 1 340px;
	min-width: 0;
}

.ss-hero__name {
	margin: 0 0 var(--space-s);
	font-family: "Aesthetet Nova",Sans-serif;
	font-size: var(--text-h1);
	font-weight: var(--font-regular);
	line-height: 1.1;
	color: var(--text-title);
}

.ss-hero__badge {
	display: inline-block;
	margin-bottom: var(--space-m);
	padding: 8px 18px;
	font-family: var(--font-body);
	font-size: var(--text-s);
	font-weight: var(--font-medium);
	color: var(--rust-700);
	background-color: var(--gold);
	border-radius: var(--radius-pill);
}

/* ---- Meta groups (Type of Clinician / Schedule / Languages) --------- */
.ss-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-m) var(--space-xl);
	margin-bottom: var(--space-m);
}

.ss-meta-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ss-meta-label {
	font-size: var(--text-xs);
	font-weight: var(--font-semi);
	letter-spacing: 0.04em;
	color: var(--text-muted);
}

.ss-meta-values {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
}

.ss-meta-text {
	font-size: var(--text-m);
	font-weight: var(--font-medium);
	color: var(--text-title);
}

/* Small pill chips used for Schedule + Languages. */
.ss-chip {
	display: inline-block;
	padding: 4px 13px;
	font-size: var(--text-xs);
	font-weight: var(--font-semi);
	color: var(--text-body);
	background-color: #d985604d;
	border-radius: var(--radius-pill);
}

/* ---- Specialty tags ------------------------------------------------- */
.ss-hero__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin-top: var(--space-s);
}

.ss-tag {
	display: inline-block;
	padding: 6px 15px;
	font-size: var(--text-s);
	font-weight: var(--font-medium);
	color: var(--text-body);
	background-color: #edecd6;
	border-radius: var(--radius-pill);
}

/* ============================================================
   2. SECTIONS + WAVES
   ============================================================ */
.ss-section {
	position: relative;
	/* All bands sit on the cream body colour; the wave SVGs alone
	   provide the colour transitions between sections. */
	background-color: #edecd6;
}

.ss-section__body {
	padding-block: clamp(1.5rem, 3vw, 3rem);
}

/* Full-bleed wave dividers. SVGs are intended to stretch edge-to-edge;
   `background-size: 100% 100%` assumes preserveAspectRatio="none". */
.ss-wave {
	display: block;
	width: 100%;
	background-position: 0 0;
    background-size: cover;
    position: absolute;
	 height: 3vw;
}

/* -1px overlap kills sub-pixel seams against the adjacent solid band. */
.top-wave {
	inset: -5vw 0% auto;
	 height: 5vw;
}

.ss-wave--bottom {
	margin-top: -1px;
}

/* ============================================================
   3. PILL HEADINGS  ("About" / "Approach" / ...)
   ============================================================ */
.ss-pill-heading {
	display: inline-block;
	margin: 0 0 var(--space-l);
	padding: 0.5em 1.4em;
	font-family: "Aesthetet Nova",Sans-serif;
	font-size: clamp(1.375rem, 1.2vw + 1rem, 1.75rem);
	font-weight: var(--font-regular);
	line-height: 1.2;
	color: var(--text-title);
}
.therapist-about-headline {
    background-image: url(/wp-content/uploads/2026/05/headline-highlighter-bg-cream.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    padding: 13px 32px 8px;
    display: inline-block;
}
.therapist-approach-headline {
    background-image: url(/wp-content/uploads/2026/05/headline-highlighter-bg-green.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    padding: 8px 32px;
    display: inline-block;
}
.therapist-about-experience {
    background-image: url(/wp-content/uploads/2026/05/headline-highlighter-bg-large-cream.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    padding: 12px 32px 8px;
    display: inline-block;
}
.p-t-0 {
	padding-top: 0px;
}
/* ============================================================
   4. RICH TEXT (ACF WYSIWYG output)
   ============================================================ */
.ss-rte {
	font-size: var(--text-m);
	line-height: 1.75;
	color: var(--text-body);
}

.ss-rte > *:first-child {
	margin-top: 0;
}

.ss-rte > *:last-child {
	margin-bottom: 0;
}

.ss-rte p {
	margin: 0 0 var(--space-m);
}

.ss-rte h2,
.ss-rte h3,
.ss-rte h4,
.ss-rte h5 {
	margin: var(--space-l) 0 var(--space-s);
	font-family: var(--font-heading);
	font-weight: var(--font-regular);
	line-height: 1.25;
	color: var(--text-title);
}

.ss-rte h2 { font-size: var(--text-h3); }
.ss-rte h3 { font-size: var(--text-h4); }
.ss-rte h4,
.ss-rte h5 { font-size: var(--text-xl); }

.ss-rte ul,
.ss-rte ol {
	margin: 0 0 var(--space-m);
	padding-left: 1.4em;
}

.ss-rte li {
	margin-bottom: 0.4em;
}

.ss-rte ul li::marker {
	color: var(--sage-600);
}

.ss-rte a {
	color: var(--rust);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color var(--transition);
}

.ss-rte a:hover {
	color: var(--terra);
}

.ss-rte strong,
.ss-rte b {
	font-weight: var(--font-semi);
	color: var(--text-title);
}

.ss-rte hr {
	margin: var(--space-l) 0;
	border: 0;
	border-top: 1px solid rgba(162, 161, 131, 0.3);
}

.ss-rte img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-s);
}

.ss-rte blockquote {
	margin: var(--space-m) 0;
	padding: var(--space-s) var(--space-m);
	border-left: 3px solid var(--terra);
	background-color: rgba(217, 133, 96, 0.08);
	font-style: italic;
}

/* ============================================================
   5. CTA  ("Interested in working with me?")
   ============================================================ */
.ss-cta {
	background-color: var(--bg-body);
}

.ss-cta__inner {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

.ss-cta__title {
	margin: 0 0 var(--space-m);
	font-family: var(--font-heading);
	font-size: var(--text-h2);
	font-weight: var(--font-regular);
	line-height: 1.2;
	color: var(--text-title);
}

/* Soft hand-drawn accent under the heading. */
.ss-cta__title::after {
	content: "";
	display: block;
	width: 130px;
	height: 12px;
	margin: 14px auto 0;
	border-bottom: 3px solid var(--terra);
	border-radius: 50%;
}

.ss-cta__text {
	max-width: 620px;
	margin: 0 auto var(--space-l);
	font-size: var(--text-m);
	line-height: 1.7;
	color: var(--text-body);
}

.ss-cta__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 4px;
	font-family: var(--font-body);
	font-size: var(--text-m);
	font-weight: var(--font-semi);
	color: var(--text-title);
	text-decoration: none;
	border-bottom: 2px solid var(--text-title);
	transition: gap var(--transition), color var(--transition), border-color var(--transition);
}

.ss-cta__link:hover {
	gap: 16px;
	color: var(--rust);
	border-color: var(--rust);
}

.ss-cta__arrow {
	transition: transform var(--transition);
}

.ss-cta__link:hover .ss-cta__arrow {
	transform: translateX(2px);
}

.ss-section--approach {
	background: #fefbf5;
	padding-bottom: 30px;
}
.ss-section--approach .ss-wave.ss-wave--top {
    background-color: #edecd6;
}
.ss-section--approach .ss-wave--bottom {
	background-color: #fcf2df;
    height: 3.7vw;
    bottom: 0;
}
.ss-section--experience {
    background: #fcf2df;
}
.ss-section--experience .ss-wave--bottom {
    background-color: #fcf6ea;
    height: 3.7vw;
    bottom: 0;
}
.ss-section--experience {
    padding-bottom: 30px;
}
.single-team-member .bg-secondary-10 {
    background: #fcf6ea;
}
.single-team-member .stk-9622219 .stk-separator.stk-separator__top .stk-separator__wrapper svg {
    fill: #fcf6ea !important;
}
/* ============================================================
   6. RESPONSIVE
   ============================================================ */
@media (max-width: 781px) {
	.ss-hero__inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.ss-hero__meta {
		justify-content: center;
	}

	.ss-meta-group {
		align-items: center;
	}

	.ss-meta-values {
		justify-content: center;
	}

	.ss-hero__tags {
		justify-content: center;
	}

	.ss-hero::before {
		opacity: 0.45;
	}
}

@media (max-width: 480px) {
	.ss-pill-heading {
		padding: 0.5em 1.1em;
	}
}
