/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Site-wide typography: Mulish (see hello-elementor-child-mulish in functions.php) */
html {
	font-family: "Mulish", sans-serif;
}

body {
	font-family: "Mulish", sans-serif;
}

button,
input,
select,
textarea {
	font-family: "Mulish", sans-serif;
}

.entry-content,
.wp-block-post-content,
.wp-site-blocks {
	font-family: "Mulish", sans-serif;
}

/* Elementor sets per-widget font-family; match site typography without affecting icon fonts (they use ::before) */
.elementor-element {
	font-family: "Mulish", sans-serif !important;
}

/*
 * Buttons: Webflow export used 160% line-height on links/paragraphs; with Mulish that makes flex rows
 * taller than the 40px icon wrap so label + icon look vertically off. Tighten line-height and reset p margins.
 */
.button-primary,
.button-secondary,
.button-v2,
.team-button,
.cta-button {
	line-height: 1.25;
	align-items: center;
}

.button-primary p,
.button-secondary p,
.button-v2 p,
.team-button p,
.cta-button p {
	margin: 0;
	line-height: 1.25;
}

.button-primary .button-icon-wrap,
.button-secondary .button-icon-wrap,
.button-v2 .button-icon-wrap,
.team-button .button-icon-wrap,
.cta-button .button-icon-wrap {
	flex-shrink: 0;
	align-self: center;
}

.button-primary .button-icon-wrap img,
.button-secondary .button-icon-wrap img,
.button-v2 .button-icon-wrap img,
.team-button .button-icon-wrap img,
.cta-button .button-icon-wrap img {
	display: block;
}

.button-v2 .button-icon-area,
.team-button .button-icon-area {
	flex-shrink: 0;
	align-self: center;
}

.button-v2 .button-icon-area img,
.team-button .button-icon-area img {
	display: block;
}

/* Elementor buttons: keep label and icon on one optical center line */
.elementor-widget-button .elementor-button,
.elementor-widget-button .elementor-button.elementor-size-xs,
.elementor-widget-button .elementor-button.elementor-size-sm,
.elementor-widget-button .elementor-button.elementor-size-md,
.elementor-widget-button .elementor-button.elementor-size-lg,
.elementor-widget-button .elementor-button.elementor-size-xl {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.25;
}

.elementor-widget-button .elementor-button .elementor-button-content-wrapper {
	align-items: center;
	justify-content: center;
	line-height: 1.25;
}

.elementor-widget-button .elementor-button .elementor-button-icon,
.elementor-widget-button .elementor-button .elementor-button-text {
	line-height: 1.25;
	align-items: center;
}

/* Footer CTA: Psychology Today wordmark (replaces stacked avatar thumbnails) */
.review-image-area.review-image-area--pt-logo {
	align-items: center;
}

.review-pt-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.review-pt-logo {
	width: auto;
	height: 40px;
	max-width: 100%;
	display: block;
}

/* Hero + section pills: center icon + label vertically; text-only tags centered in the box */
.hero-tag,
.tag {
	align-items: center;
}

.tag {
	justify-content: center;
}

.hero-tag img.tag-icon,
.hero-tag .tag-icon {
	padding-top: 0;
	display: block;
	flex-shrink: 0;
	align-self: center;
}

.hero-tag .tag-text,
.tag .tag-text,
.tag .tag-text-v1 {
	margin: 0;
	line-height: 1.25;
}

.tag-text,
.tag-text-v1 {
	line-height: 1.25;
}

/* Services cards: icon turns white on primary pill (inline bg removed from markup) */
.service-card:hover .service-icon-wrap,
.service-card:focus-visible .service-icon-wrap {
	background-color: var(--all-color--primary, #e8651a);
}

.service-card:hover .service-icon-v1,
.service-card:hover .service-icon-v2,
.service-card:focus-visible .service-icon-v1,
.service-card:focus-visible .service-icon-v2 {
	filter: var(--oslume-icon-filter-on-primary, brightness(0) invert(1));
}

/*
 * Oslume landing page (Webflow export): global responsive safety.
 * site.css @media rules use valid `and (...)` syntax so breakpoint overrides apply.
 */
body.oslume-landing {
	overflow-x: clip;
	width: 100%;
}

body.oslume-landing .w-layout-blockcontainer,
body.oslume-landing .w-container {
	box-sizing: border-box;
}

/* Flex/grid children often need this to allow shrinking inside narrow viewports */
body.oslume-landing .hero-content-wrapper,
body.oslume-landing .hero-content-area-lp-01,
body.oslume-landing .navbar-wrapper,
body.oslume-landing .feature-content-wrapper,
body.oslume-landing .feature-left-content,
body.oslume-landing .feature-right-content,
body.oslume-landing .oslume-core-values__grid {
	min-width: 0;
}

/* Hero CTAs: stack cleanly on narrow screens */
@media screen and (max-width: 767px) {
	body.oslume-landing .hero-button-wrapper {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	body.oslume-landing .hero-button-wrapper .button-primary,
	body.oslume-landing .hero-button-wrapper .button-secondary {
		justify-content: center;
		width: 100%;
		box-sizing: border-box;
	}
}

/* Services intro: wider than default ._w-650 so the main headline fits on two lines */
body.oslume-landing .service-section-lp-01 .section-title._w-650 {
	max-width: min(100%, 980px);
}

@media screen and (max-width: 991px) {
	body.oslume-landing .service-section-lp-01 .section-title._w-650 {
		max-width: min(100%, 720px);
	}
}

/* About page: same services intro title width as landing */
body.oslume-about-page .service-section-lp-01 .section-title._w-650 {
	max-width: min(100%, 980px);
}

@media screen and (max-width: 991px) {
	body.oslume-about-page .service-section-lp-01 .section-title._w-650 {
		max-width: min(100%, 720px);
	}
}
