/* EngageMED custom CSS */

/* =============================================================================
   TYPOGRAPHY & TEXT UTILITIES
   ============================================================================= */

.nobr {
	white-space: nowrap;
}

@media (min-width: 992px) {
	.nobr-lg {
		white-space: nowrap;
	}
}

@media (min-width: 1200px) {
	.nobr-xl {
		white-space: nowrap;
	}
}

p.has-medium-font-size {
	--wp--preset--font-size--medium: 1.05rem;
	line-height: 1.4;
}

@media (min-width: 545px) {
	p.has-medium-font-size {
		--wp--preset--font-size--medium: 1.3rem;
	}
}

.entry-content h3.wp-block-heading a {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 0.06em !important;
}

/* =============================================================================
   SPACING & LAYOUT
   ============================================================================= */

@media screen and (max-width: 544px) {
	:root {
		--wp--custom--ast-default-block-left-padding: 20px;
		--wp--custom--ast-default-block-right-padding: 20px;
	}
	.wp-block-group {
		--wp--preset--spacing--80: 2rem;
		--wp--preset--spacing--70: 1.5rem;
		--wp--preset--spacing--60: 1.25rem;
		--wp--preset--spacing--50: 1rem;
	}
}

.entry-content .wp-block-list li {
	margin-bottom: 0.5rem;
}

/* Alignfull children padding */
.wp-block-group.alignfull.is-layout-constrained > *:not(.alignfull):not(.alignwide) {
	padding-left: 20px;
	padding-right: 20px;
}

@media screen and (max-width: 544px) {
	.wp-block-group.alignfull.is-layout-constrained > .wp-block-columns:not(.alignfull) {
		padding-right: 0.5rem;
		padding-left: 0.5rem;
	}
}

@media (min-width: 992px) {
	.wp-block-separator.separator-align-left:not(.is-style-wide):not(.is-style-dots) {
		margin-left: 0;
		margin-right: auto;
	}
}

/* Utility classes */
.max-width-800 {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.max-width-900 {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.display-none {
	display: none;
}

.width-fit-content {
	width: fit-content;
}

.width-fit-content h2 {
	padding-left: 2rem;
	padding-right: 2rem;
}

/* =============================================================================
   RESPONSIVE COLUMNS & GRIDS
   ============================================================================= */

/* Desktop reverse */
@media only screen and (min-width: 782px) {
	.wp-block-columns.desktop-reverse {
		flex-direction: row-reverse;
	}
}

.row.row-cols-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}

@media (min-width: 576px) {
	.row.row-cols-sm-2 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
	.row.row-cols-sm-3 {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1.5rem;
	}
}

@media (min-width: 992px) {
	.row.row-cols-md-2 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 3rem;
	}
	.row.row-cols-md-3 {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 2rem;
	}
	.row.row-cols-md-4 {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 2rem;
	}
	.row.row-cols-md-5 {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 1.5rem;
	}
}

@media (min-width: 1200px) {
	.row.row-cols-lg-5 {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 1.5rem;
	}
}

/* =============================================================================
   IMAGES & MEDIA
   ============================================================================= */

.wp-block-image img {
	border-radius: 4rem 0;
}

.wp-block-media-text img {
	border-radius: 4rem 0;
}

@media (min-width: 991px) {
	.wp-block-media-text.is-image-fill-element > .wp-block-media-text__media {
		min-height: 400px;
	}
}

.card-img, .card-img-top {
	border-top-left-radius: 1rem;
	border-top-right-radius: 1rem;
}

.card-img-top {
	aspect-ratio: 7 / 5;
	object-fit: cover;
}

.posts-loop-block .card-img-top {
	aspect-ratio: 3 / 2;
}

/* =============================================================================
   HOME PAGE
   ============================================================================= */

@media (min-width: 1024px) {
	.home-hero.wp-block-cover {
		min-height: calc(4vw + 500px);
	}
}

@media (min-width: 782px) and (max-width: 1023px) {
	.home-hero.wp-block-cover {
		min-height: calc(3.5vw + 450px);
	}
}

@media (max-width: 781px) {
	.home-hero.wp-block-cover {
		padding-top: 2rem;
		padding-bottom: 2rem;
		min-height: 450px;
	}
	.home-hero.wp-block-media-text__content {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

@media screen and (max-width: 575px) {
	.home-hero h1 {
		font-size: 1.8rem;
	}
}

@media (max-width: 449px) {
	.home-hero.wp-block-cover {
		min-height: 350px;
	}
	.home-hero .wp-block-button {
		margin: 0 2rem;
	}
}

.home .post-card.icons img {
	max-height: 120px;
}

/* =============================================================================
   SERVICES PAGES
   ============================================================================= */

.services-detail-cols h3 {
	font-size: 1rem;
	text-transform: uppercase;
	min-height: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.services-detail-cols .wp-block-separator {
	margin-top: 0.4rem !important;
}

@media only screen and (min-width: 768px) and (max-width: 1300px) {
	.wp-block-columns.is-layout-flex.wp-block-columns.services-detail-cols {
		flex-wrap: wrap !important;
	}
	.services-detail-cols .wp-block-column {
		min-width: 280px;
	}
}

/* =============================================================================
   CARD COMPONENTS
   ============================================================================= */

/* Base card styles */
.archive main ul.card-list, .site-main ul.card-list {
	margin: 0 auto;
	padding-left: 0;
}

.site-main .card-list li {
	list-style-type: none;
	transition: all .2s ease-in-out;
}

.site-main .card-list li:before {
	content: '';
	display: none;
}

@media (hover: hover) {
	.site-main ul.card-list > li:hover {
		transform: scale(1.04);
	}
	.site-main ul.card-list > li:hover .post-card {
		box-shadow: 0 0.4rem 0.75rem rgba(0,0,0,.25);
	}
	.site-main .cards-no-links ul.card-list > li:hover {
		transform: unset;
	}
}

.site-main .post-card,
.editor-styles-wrapper .post-card,
.type-tribe_events .post-card {
	height: 100%;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,.15);
	background: #efefef;
	background: linear-gradient(180deg, #efefef00 5%, #efefef 5%);
	border: 0;
	border-bottom: 0.5rem solid var(--ast-global-color-1);
	border-radius: 1rem 1rem 0.5rem 0.5rem;
	transition: all .2s ease-in-out;
}

.site-main .post-card a {
	text-decoration: none;
	text-align: center;
}

.card-body {
	padding: 0.8rem;
}

h3.card-title {
	font-size: 1.1rem;
	letter-spacing: 0.04em;
	margin-bottom: 0;
	text-transform: capitalize;
}

/* Card heading component */
.card-heading {
	border-radius: 4rem 0;
	border-bottom: 0.5rem solid var(--ast-global-color-1);
	box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, .15);
	background: linear-gradient(180deg, #fafafa 0%, #efefef 100%);
}

/* =============================================================================
   SERVICES GRID BLOCK
   ============================================================================= */

.services-grid-block .post-card {
	text-align: center;
	background: #f5f5f5;
	background: linear-gradient(180deg, #fafafa 0%, #efefef 100%);
	border-bottom: 0.5rem solid var(--ast-global-color-0);
	border-radius: 4rem 0;
	border-color: var(--ast-global-color-1);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.services-grid-block.cards-no-links .post-card {
	padding-bottom: 1rem;
}

.wp-block-group.has-dark-blue-gradient-background .services-grid-block .post-card {
	border-color: var(--ast-global-color-1);
}

.services-grid-block .post-card a:hover {
	color: var(--ast-global-color-0);
}

.services-grid-block .card-title {
	margin-bottom: 1.2rem;
	text-transform: uppercase;
	font-weight: 700;
	padding: 0 1rem;
}

.services-grid-block a .card-title:after {
	content: '\00BB';
	display: inline-block;
	margin-left: 0.3rem;
	font-size: 1.2rem;
	transition: all .2s ease-in-out;
	text-decoration: none;
}

.services-grid-block a:hover .card-title:after {
	margin-left: 0.5rem;
}

.services-grid-block a {
	text-underline-offset: 0.2em;
}

.services-grid-block p, .services-grid-block li {
	font-size: 1rem;
	line-height: 1.4;
	text-decoration: none;
}

.services-grid-block p,
.services-grid-block ul {
	padding: 0 1rem;
}

.services-grid-block .post-card p {
	flex-grow: 1;
}

.services-grid-block .rte li {
	text-align: left;
	margin-left: 1rem;
}

.services-grid-block strong {
	border-color: var(--ast-global-color-0);
	font-weight: 700;
}

.services-grid-block .rte a {
	text-decoration: underline;
}

.services-grid-block a.service-learn-more.wp-block-button__link {
	display: block;
	margin-bottom: 1rem;
	font-size: 0.8rem;
	background-color: var(--ast-global-color-0);
	color: #fff;
	padding: 0.5rem 1rem;
}

.services-grid-block a.service-learn-more.wp-block-button__link:hover {
	background-color: var(--ast-global-color-2);
	color: var(--ast-global-color-0);
}

.services-grid-block .post-card.no-image {
	padding-top: 1rem;
}

.services-grid-block .post-card img {
	margin-bottom: 1rem;
	border-radius: 0;
	aspect-ratio: 3 / 2;
}

.services-grid-block .post-card.icons img {
	margin: 1rem;
	border-radius: 0;
	aspect-ratio: unset;
}

.services-grid-block img[src$=svg] {
	padding: 12px;
}

.services-grid-block ul.card-list li:hover {
	transform: unset;
}

@media screen and (max-width: 544px) {
	.services-grid-block li, .posts-loop-block li {
		margin-bottom: 2rem;
	}
	.wp-block-group.alignfull.is-layout-constrained > .services-grid-block:not(.alignfull),
	.wp-block-group.alignfull.is-layout-constrained > .posts-loop-block:not(.alignfull),
	.wp-block-group.alignfull.is-layout-constrained > .testimonials-carousel-block:not(.alignfull) {
		padding-left: 0;
		padding-right: 0;
	}
}

/* =============================================================================
   POSTS LOOP BLOCK
   ============================================================================= */

.posts-loop-block {
	text-align: center;
}

.posts-loop-block h3 {
	margin-bottom: 0.5rem;
}

.posts-loop-block .wp-element-button {
	background: var(--ast-global-color-0);
	display: inline-block;
	padding: 0.5rem 2rem;
}

.posts-loop-block .post-card {
	border-radius: 4rem 0;
}

.posts-loop-block img {
	border-radius: 4rem 0 0 0;
}

.posts-loop-block .card-body {
	padding: 1rem;
}

/* =============================================================================
   LISTS & CONTENT
   ============================================================================= */

ul.two-col-list {
	columns: 2;
}

@media (min-width: 922px) {
	.two-col-list {
		gap: 0 calc(1.5rem + 1vw);
		column-count: 2;
	}
}

/* FAQ styles */
h3.schema-faq-question {
	background: var(--ast-global-color-0);
	color: #fff;
	padding: 1rem;
	border-radius: 5px;
}

.schema-faq-answer {
	padding: 1rem;
}

.schema-faq-answer > ul.faq-list:first-child {
	margin-top: 0;
}

@media screen and (max-width: 544px) {
	.schema-faq-answer {
		padding: 0.25rem;
	}
}

/* =============================================================================
   ICONS & ICON HEADINGS
   ============================================================================= */

h2.icon-heading {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

h2.icon-heading::before {
	content: '';
	flex-shrink: 0;
	width: 30px;
	height: 1em;
	margin-top: 0.5rem;
	background: url('/wp-content/uploads/2025/07/engagemed-icon-bullet.webp');
	background-size: contain;
	background-repeat: no-repeat;
}

h2.icon-heading.has-text-align-center {
	justify-content: center;
}

@media screen and (max-width: 544px) {
	.wp-block-heading.icon-heading {
		gap: 0;
		margin-left: -1.6rem;
	}
	.wp-block-column.icon-column > p {
		padding-left: 0;
	}
	.icon-column {
		border-right: 0;
	}
	.hero-cols .wp-block-column:empty {
		display: none;
	}
}

.icon-column h2 {
	margin-left: -1.2rem;
}

.icon-column > p, .icon-column > .wp-block-buttons {
	padding-left: 1rem;
}

/* =============================================================================
   FORMS
   ============================================================================= */

.gform_wrapper .gform_button {
	--gf-ctrl-btn-padding-y: 1rem;
	--gf-ctrl-btn-padding-x: 2rem;
	--gf-ctrl-btn-radius: 2rem;
	--gf-ctrl-btn-font-size: 1rem;
	--gf-ctrl-btn-font-weight: 700;
}

.home .gform_description {
	font-size: 0.9rem;
}

.gform-theme--foundation {
	--gf-form-gap-y: 0.85rem;
	--gf-color-out-ctrl-dark: #333333;
	--gf-label-space-primary: 0.3rem;
	--gf-label-space-tertiary: 4px;
	--gf-font-size-primary: 16px;
	--gf-ctrl-label-font-size-primary: 0.95rem;
	--gf-ctrl-label-font-weight-primary: 700;
	--gf-font-size-tertiary: 0.9rem;
	--gf-ctrl-desc-font-style: 0.9rem;
	--gf-ctrl-label-color-req: #757575;
}

#field_1_17 .gfield_consent_label,
#field_1_17 .gfield_consent_description {
	font-size: 0.9rem;
}

#gform_wrapper_5 {
	margin-top: 0;
}

.gform-theme--framework {
	--gf-ctrl-btn-bg-color-primary: var(--ast-global-color-0);
	--gf-ctrl-btn-bg-color-hover-primary: var(--ast-global-color-7); 
}

/* =============================================================================
   NAVIGATION & MENUS
   ============================================================================= */

/* Menu toggles full width on placeholder links */
.menu-item a[href="#"] ~ .ast-menu-toggle {
	width: 100%;
	text-align: right;
}

.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > a[href="#"] ~ .ast-menu-toggle {
	background: transparent;
}

.button-list-nav ul li a {
	background: var(--ast-global-color-0);
	color: #fff !important;
	border-radius: 0.5rem;
	padding: 0.5rem;
}

.button-list-nav ul li:before {
	content: '' !important;
}

/* =============================================================================
   FOOTER
   ============================================================================= */

.site-footer-section > .ast-footer-copyright {
	margin-bottom: 0;
}

#astra-footer-menu a {
	color: #fff;
}

.site-footer-section-1 a {
	text-decoration: underline;
	text-underline-offset: 0.25rem;
	text-decoration-thickness: 0.04rem;
}

.site-footer-section-1 ul li {
	margin-bottom: 0.7rem;
}

footer .sub-menu .icon-arrow {
	display: none;
}

@media (max-width: 544px) {
	.site-footer-section, .site-footer-section p {
		text-align: center;
	}
}

@media (min-width: 1024px) {
	.site-footer-section-2 {
		padding-left: 1rem;
	}
	.site-footer-section-3 .wp-block-image {
		margin-left: -1rem;
	}
	.site-footer-section-3 p {
		padding-left: 2.2rem;
	}
}

.site-footer-section-3 .wp-block-image img {
	border-radius: 0;
}

.ast-footer-button-1 {
	margin-bottom: 0;
}

/* =============================================================================
   TESTIMONIALS
   ============================================================================= */

.slick-dots {
	bottom: -50px;
}

.testimonials-carousel .slick-dots {
	bottom: -45px;
}

.testimonial-with-image.image-left .wp-block-column:first-child {
	max-width: 250px;
}

.testimonial-with-image .wp-block-quote {
	padding-left: 2rem;
}

.testimonial-with-image.image-right .wp-block-column:nth-child(2) {
	max-width: 250px;
}

.testimonial-with-image .wp-block-quote p {
	font-style: normal;
}

.testimonial-with-image .wp-block-quote p:nth-last-of-type(2) {
	margin-bottom: 0.5rem;
}

.testimonial-with-image .wp-block-quote p:last-of-type {
	margin-top: 0;
	padding-left: 1.5rem;
}

@media screen and (max-width: 544px) {
	.testimnonials-carousel-block {
		padding-left: 0;
		padding-right: 0;
	}
}

/* =============================================================================
   TEAM
   ============================================================================= */

.team-loop-block img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: center top;
}

.ast-single-post .entry-content .team-loop-block a {
	text-decoration: none;
}

.team-loop-block h3 {
	text-decoration: underline;
	margin-bottom: 0.3rem;	
}

.team-loop-block a p {
	color: initial;
	font-size: 0.9rem;
	line-height: 1.4;
}

.team-loop-block a:hover {
	color: initial;
}

.team-job-title {
	font-weight: 700;
}

@media screen and (min-width: 992px) {
	.team-loop-block .card-list.row-cols-md-3.g-lg-5 {
		gap: 2.5rem;
	}
}

/* =============================================================================
   BLOG
   ============================================================================= */

.ast-related-post img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.ast-archive-entry-banner p {
	max-width: 880px;
	margin: 0 auto;
}

#primary.ast-blog-layout-5-grid {
	margin-top: 2rem;
}

@media (min-width: 991px) {
	.ast-single-entry-banner[data-post-type="post"], 
	.ast-archive-entry-banner[data-post-type="post"][data-banner-background-type="custom"], 
	.ast-single-post-featured-section img {
		min-height: calc(300px + 7vw);
	}
}

.ast-blog-layout-4-grid .ast-article-inner .wp-post-image {
	object-fit: cover;
}

/* =============================================================================
   BUTTONS & INTERACTIONS
   ============================================================================= */

.has-ast-global-color-0-background-color > .wp-block-buttons .wp-block-button__link {
	background: var(--ast-global-color-7);
}

/* =============================================================================
   SPECIAL PAGES
   ============================================================================= */

/* Contact page */
.page-id-829 .why-it-matters p {
	max-width: 300px;
}

.page-id-829 .why-it-matters h3 {
	padding: 0 1rem;
}

@media (min-width: 1024px) {
	.wp-block-cover.why-it-matters {
		padding-right: 10vw;
	}
}

/* Referrals training */
.referrals-training .no-radius img {
	border-radius: 0;
}

.referrals-training figure.circle-image {
	background: #fff;
	border-radius: 50%;
	padding: 0.5rem;
}

/* Values columns */
.values-columns h3 {
	font-size: 1.3rem;
}

/* =============================================================================
   EDITOR SPECIFIC STYLES
   ============================================================================= */

.editor-styles-wrapper .is-root-container ul.wp-block-list {
	line-height: 1.4;
}
.editor-styles-wrapper .services-grid-block ul.card-list {
	list-style-type: none;
}