/* TherapyBuilt Language Access — localized taxonomy pages */
.tb-language-access-landing {
	background: var(--tb-bg);
}

.tb-language-access__utility {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 18px;
}

.tb-language-access__english-link {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .875rem;
	font-weight: 700;
	color: var(--tb-primary);
	text-decoration: none;
}

.tb-language-access__english-link:hover,
.tb-language-access__english-link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.tb-language-access__intro {
	position: relative;
}

.tb-language-access__location {
	margin-top: 1rem;
	font-size: .875rem;
	font-weight: 700;
	color: var(--tb-text-muted);
}

.tb-language-access__intro-actions,
.tb-language-access__cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 1.35rem;
}

.tb-language-access__intro-actions .tb-btn,
.tb-language-access__cta-actions .tb-btn {
	min-height: 44px;
}

.tb-language-access__provider-bio {
	margin: .8rem 0 0;
	color: var(--tb-text-muted, var(--tb-text));
	font-size: .94rem;
	line-height: 1.6;
}

/* Rich localized content lives inside the same contained taxonomy canvas. */
.tb-language-access__content-section {
	max-width: 940px;
	margin: clamp(34px, 5vw, 54px) auto 0;
	padding: clamp(26px, 4vw, 40px);
	border: 1px solid var(--tb-panel-border, color-mix(in srgb, var(--tb-primary) 15%, transparent));
	border-radius: var(--tb-radius-panel, 18px);
	background: var(--tb-panel-background, var(--tb-white));
	box-shadow: var(--tb-card-shadow, 0 12px 34px rgba(31, 48, 36, .055));
}

.tb-language-access__content-section--soft {
	background: color-mix(in srgb, var(--tb-primary) 3%, var(--tb-panel-background, var(--tb-white)));
}

.tb-language-access__section-heading {
	max-width: 720px;
	margin-bottom: clamp(20px, 3vw, 28px);
}

.tb-language-access__section-label {
	display: block;
	margin-bottom: 7px;
	font-size: .7rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--tb-primary);
}

.tb-language-access__section-heading h2 {
	margin: 0;
	font-family: var(--tb-font-heading, inherit);
	font-size: clamp(1.45rem, 3vw, 2rem);
	line-height: 1.16;
	letter-spacing: -.025em;
	color: var(--tb-heading, var(--tb-text));
}

.tb-language-access__info-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.tb-language-access__info-card {
	padding: 20px;
	border: 1px solid color-mix(in srgb, var(--tb-primary) 13%, var(--tb-border, #d8d4cc));
	border-radius: var(--tb-radius-card, 14px);
	background: var(--tb-card-background, var(--tb-white));
}

.tb-language-access__info-card h3,
.tb-language-access__steps h3 {
	margin: 0 0 .5rem;
	font-size: 1rem;
	line-height: 1.3;
	color: var(--tb-heading, var(--tb-text));
}

.tb-language-access__info-card p,
.tb-language-access__steps p,
.tb-language-access__faq-list p {
	margin: 0;
	font-size: .95rem;
	line-height: 1.68;
	color: var(--tb-text-muted, var(--tb-text));
}

.tb-language-access__steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tb-language-access__steps li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 18px;
	border-radius: var(--tb-radius-card, 14px);
	background: var(--tb-card-background, var(--tb-white));
	border: 1px solid color-mix(in srgb, var(--tb-primary) 12%, var(--tb-border, #d8d4cc));
}

.tb-language-access__step-number {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: var(--tb-primary);
	color: var(--tb-bg);
	font-weight: 800;
	font-size: .82rem;
}

.tb-language-access__faq-list {
	display: grid;
	gap: 10px;
}

.tb-language-access__faq-list details {
	border: 1px solid color-mix(in srgb, var(--tb-primary) 12%, var(--tb-border, #d8d4cc));
	border-radius: var(--tb-radius-card, 14px);
	background: var(--tb-card-background, var(--tb-white));
	overflow: clip;
}

.tb-language-access__faq-list summary {
	position: relative;
	padding: 16px 46px 16px 18px;
	font-weight: 750;
	line-height: 1.4;
	cursor: pointer;
	color: var(--tb-heading, var(--tb-text));
	list-style: none;
}

.tb-language-access__faq-list summary::-webkit-details-marker { display: none; }
.tb-language-access__faq-list summary::after {
	content: "+";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.3rem;
	font-weight: 500;
	color: var(--tb-primary);
}
.tb-language-access__faq-list details[open] summary::after { content: "−"; }
.tb-language-access__faq-list details[open] summary { border-bottom: 1px solid color-mix(in srgb, var(--tb-primary) 10%, var(--tb-border, #d8d4cc)); }
.tb-language-access__faq-list p { padding: 16px 18px 18px; }

.tb-language-access__cta {
	padding: clamp(48px, 6vw, 72px) var(--tb-content-mobile-gutter, 18px);
	background: var(--tb-primary-dark, var(--tb-primary));
	color: var(--tb-bg);
	text-align: center;
}

.tb-language-access__cta-inner {
	width: min(100%, 860px);
	margin: 0 auto;
}

.tb-language-access__cta h2 {
	margin: 0 0 .75rem;
	color: inherit;
	font-family: var(--tb-font-heading, inherit);
	font-size: clamp(1.85rem, 4vw, 2.55rem);
	line-height: 1.12;
}

.tb-language-access__cta > .tb-language-access__cta-inner > p {
	max-width: 680px;
	margin: 0 auto 1.35rem;
	color: inherit;
	opacity: .9;
}

.tb-language-access__contact-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	max-width: 820px;
	margin: 0 auto 1.25rem;
	text-align: left;
}

.tb-language-access__contact-grid > div {
	min-width: 0;
	padding: 13px 14px;
	border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
	border-radius: var(--tb-radius-md, 14px);
}

.tb-language-access__contact-grid span,
.tb-language-access__contact-grid a,
.tb-language-access__contact-grid strong {
	display: block;
	color: inherit;
	overflow-wrap: anywhere;
}

.tb-language-access__contact-grid span {
	margin-bottom: .25rem;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .76;
}

.tb-language-access__contact-grid a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tb-language-access__cta-actions {
	justify-content: center;
	margin-top: .5rem;
}

.tb-language-access__cta .tb-btn--primary {
	background: var(--tb-surface);
	color: var(--tb-primary-dark, var(--tb-primary));
	border-color: var(--tb-surface);
}

.tb-language-access__cta .tb-btn--primary:hover,
.tb-language-access__cta .tb-btn--primary:focus-visible {
	background: var(--tb-surface-soft, var(--tb-surface));
}

.tb-language-access__phone-cta {
	color: inherit;
	border-color: color-mix(in srgb, currentColor 55%, transparent);
	background: transparent;
}

.tb-language-access__phone-cta:hover,
.tb-language-access__phone-cta:focus-visible {
	color: var(--tb-primary-dark, var(--tb-primary));
	background: var(--tb-surface);
	border-color: var(--tb-surface);
}

.tb-language-access__privacy-note {
	max-width: 680px;
	margin: 14px auto 0 !important;
	font-size: .82rem;
	line-height: 1.5;
	opacity: .78 !important;
}

.tb-language-access__empty {
	text-align: center;
}

/* RTL support for Arabic and Persian/Farsi. */
.tb-language-access-rtl .tb-language-access-landing,
.tb-language-access-rtl .tb-language-access__cta {
	direction: rtl;
	text-align: right;
}

.tb-language-access-rtl .tb-language-access__utility { justify-content: flex-start; }
.tb-language-access-rtl .tb-language-access__cta,
.tb-language-access-rtl .tb-language-access__empty { text-align: center; }
.tb-language-access-rtl .tb-clinician-card__name-row,
.tb-language-access-rtl .tb-clinician-card__footer { direction: rtl; }
.tb-language-access-rtl .tb-language-access__contact-grid { text-align: right; }
.tb-language-access-rtl .tb-language-access__faq-list summary { padding-right: 18px; padding-left: 46px; }
.tb-language-access-rtl .tb-language-access__faq-list summary::after { right: auto; left: 18px; }
.tb-language-access-rtl .tb-clinician-card__profile-link span[aria-hidden="true"],
.tb-language-access-rtl .tb-language-access__english-link span[aria-hidden="true"] {
	display: inline-block;
	transform: rotate(180deg);
}

@media (max-width: 760px) {
	.tb-language-access__utility { justify-content: flex-start; }
	.tb-language-access__info-grid,
	.tb-language-access__steps,
	.tb-language-access__contact-grid { grid-template-columns: 1fr; }
	.tb-language-access__content-section { padding: 24px 20px; }
	.tb-language-access__intro-actions .tb-btn,
	.tb-language-access__cta-actions .tb-btn { width: 100%; justify-content: center; }
}
