/*
Theme Name: Hello Biz Child
Theme URI: https://neuro.betaboxtstest.com
Template: hello-biz
Description: Child theme for NeuroRecovery Center of Nashville. Holds global CSS customizations.
Version: 1.0.0
*/

/* ===== Anchored in-page navigation ===== */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 96px;
}

/* ===== Legal documents (Privacy & Terms page) ===== */
.ncn-legal-doc h3 {
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #16283F;
	font-size: 24px;
	line-height: 1.2;
	margin: 2.1em 0 .55em;
}
.ncn-legal-doc h3:first-child {
	margin-top: .4em;
}
.ncn-legal-doc h4 {
	font-family: "Inter", sans-serif;
	font-weight: 600;
	font-size: 17px;
	color: #284468;
	margin: 1.6em 0 .45em;
}
.ncn-legal-doc p {
	margin: 0 0 1.05em;
}
.ncn-legal-doc ul {
	margin: .2em 0 1.25em;
	padding-left: 1.35em;
	list-style: disc;
}
.ncn-legal-doc ul li {
	margin: 0 0 .55em;
	padding-left: .15em;
}
.ncn-legal-doc ul li::marker {
	color: #589D56;
}
.ncn-legal-doc a {
	color: #3F7A3F;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.ncn-legal-doc a:hover {
	color: #284468;
}
.ncn-legal-doc li > strong,
.ncn-legal-doc p > strong {
	color: #1F2937;
}

/* Placeholder values awaiting final content */
mark.ncn-ph {
	background: #FAEEDA;
	color: #854F0B;
	padding: 1px 6px;
	border-radius: 4px;
	font-weight: 600;
	font-size: .92em;
}

/* Contact blocks */
.ncn-contact-box p {
	margin: 0 0 .45em;
}
.ncn-contact-box p:last-child {
	margin-bottom: 0;
}
/* ===== Donate item: mobile dropdown only, styled as button ===== */
.elementor-nav-menu--main .nrcn-donate-item,
.elementor-nav-menu--dropdown .nrcn-donate-item {
	display: none !important;
}
@media (max-width: 767px) {
	.elementor-nav-menu--dropdown .nrcn-donate-item {
		display: block !important;
		padding: 10px 16px 18px;
	}
	.elementor-nav-menu--dropdown .nrcn-donate-item > a {
		display: block;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
		background: #589D56 !important;
		color: #FFFFFF !important;
		border-radius: 9px;
		padding: 10px 24px !important;
		font-weight: 600;
	}
	.elementor-nav-menu--dropdown .nrcn-donate-item > a:hover,
	.elementor-nav-menu--dropdown .nrcn-donate-item > a:focus {
		background: #3F7A3F !important;
		color: #FFFFFF !important;
	}
}

/* ===== WPForms: compact spacing, match site style ===== */
.wpforms-container {
	margin: 0 !important;
}
.wpforms-container .wpforms-field {
	padding: 7px 0 !important;
}
.wpforms-container .wpforms-field-label {
	font-family: "Inter", sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1F2937 !important;
	margin: 0 0 5px !important;
}
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="number"],
.wpforms-container select,
.wpforms-container textarea {
	font-family: "Inter", sans-serif !important;
	font-size: 15px !important;
	color: #374151 !important;
	background: #FFFFFF !important;
	border: 1px solid #C2CEDD !important;
	border-radius: 8px !important;
	padding: 9px 12px !important;
	height: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	box-shadow: none !important;
}
.wpforms-container textarea {
	min-height: 110px !important;
}
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
	border-color: #589D56 !important;
	box-shadow: 0 0 0 2px rgba(88, 157, 86, 0.18) !important;
	outline: none !important;
}
.wpforms-container .wpforms-submit-container {
	padding: 12px 0 0 !important;
}
button.wpforms-submit,
.wpforms-container button[type="submit"] {
	font-family: "Inter", sans-serif !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	color: #FFFFFF !important;
	background-color: #589D56 !important;
	border: none !important;
	border-radius: 9px !important;
	padding: 10px 22px !important;
	transition: background-color .2s ease;
}
button.wpforms-submit:hover,
.wpforms-container button[type="submit"]:hover {
	background-color: #3F7A3F !important;
}
/* ===== Equal-height card rows: buttons share one baseline ===== */
.ncn-equal-cards > .e-con.e-child > .elementor-widget-button {
	margin-top: auto;
}
/* ===== The Events Calendar views: tighten top gap + brand colors ===== */
.tribe-events .tribe-events-l-container {
	padding-top: 24px !important;
}
.tribe-events,
.tribe-common {
	--tec-color-accent-primary: #589D56;
	--tec-color-accent-primary-hover: #3F7A3F;
	--tec-color-accent-primary-active: #3F7A3F;
	--tec-color-button-primary: #589D56;
	--tec-color-button-primary-hover: #3F7A3F;
	--tec-color-button-primary-active: #3F7A3F;
	--tec-color-link-accent: #3F7A3F;
	--tec-color-link-accent-hover: #284468;
}
.tribe-events-c-search__button {
	background-color: #589D56 !important;
	border-radius: 9px !important;
}
.tribe-events-c-search__button:hover {
	background-color: #3F7A3F !important;
}
/* ===== Single event template (TEC + Elementor) ===== */
.ncn-event-hero,
.ncn-event-hero p,
.ncn-event-hero span,
.ncn-event-hero time {
	font-family: "Inter", sans-serif;
	color: #C2CEDD;
}
.ncn-event-hero h1 {
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	color: #FFFFFF;
	font-size: 46px;
	line-height: 1.1;
	margin: 4px 0 2px;
}
.ncn-event-hero a {
	color: #8FC28C;
	text-decoration: none;
	font-weight: 600;
}
.ncn-event-hero a:hover {
	color: #FFFFFF;
}
.ncn-event-main img {
	border-radius: 8px;
	max-width: 100%;
	height: auto;
}
.ncn-event-main .elementor-widget-theme-post-content {
	font-family: "Inter", sans-serif;
	font-size: 16.5px;
	line-height: 1.65;
	color: #374151;
}
.ncn-event-card,
.ncn-event-card p,
.ncn-event-card span,
.ncn-event-card time,
.ncn-event-card address {
	font-family: "Inter", sans-serif;
	font-size: 14.5px;
	color: #374151;
	font-style: normal;
}
.ncn-event-card h2, .ncn-event-card h3:not(.elementor-heading-title), .ncn-event-card h4 {
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .5px;
	font-size: 15px;
	color: #284468;
	margin: 0 0 2px;
}
.ncn-event-card a {
	color: #3F7A3F;
}
.ncn-event-card a:hover {
	color: #284468;
}
.ncn-event-nav a {
	font-family: "Inter", sans-serif;
	font-weight: 600;
	color: #3F7A3F;
}
@media (max-width: 767px) {
	.ncn-event-hero h1 { font-size: 34px; }
	.ncn-event-main > .e-con-inner > .e-con { width: 100% !important; }
}
/* TEC brand vars at root so Elementor event widgets inherit too */
:root {
	--tec-color-accent-primary: #589D56;
	--tec-color-accent-primary-hover: #3F7A3F;
	--tec-color-link-accent: #3F7A3F;
	--tec-color-link-accent-hover: #284468;
}
.ncn-event-hero a { color: #8FC28C !important; }
.ncn-event-hero a:hover { color: #FFFFFF !important; }
.ncn-event-card a { color: #3F7A3F !important; }
.ncn-event-card a:hover { color: #284468 !important; }
.ncn-event-hero [class*="datetime"] *, .ncn-event-hero [class*="cost"] * { color: #C2CEDD !important; }

.ncn-event-description { font-family: 'Inter', sans-serif; font-size: 16.5px; line-height: 1.65; color: #374151; }
.ncn-event-description p { margin: 0 0 1.05em; }

/* Event details card: stack venue vertically, full-width map, wrap long URLs */
.ncn-event-card a,
.ncn-event-card p {
	overflow-wrap: anywhere;
}
.ncn-event-card .tec-events-elementor-event-widget__venue-container {
	display: block !important;
}
.ncn-event-card .tec-events-elementor-event-widget__venue-details {
	width: 100%;
}
.ncn-event-card .tec-events-elementor-event-widget__venue-map {
	width: 100%;
	margin-top: 12px;
}
.ncn-event-card .tec-events-elementor-event-widget__venue-map iframe {
	width: 100% !important;
	height: 170px;
	border: 0;
	border-radius: 6px;
}
/* Single events: let the Elementor layout run full width like every other page */
.single-tribe_events .tribe-events-pg-template {
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ncn-event-hero h1 {
	font-size: 54px;
}
.ncn-equal-cards .elementor-button { white-space: nowrap; }

/* ===== Event details card: iconized rows ===== */
.ncn-event-card .tec-events-elementor-event-widget__organizer-phone,
.ncn-event-card .tec-events-elementor-event-widget__organizer-website,
.ncn-event-card .tec-events-elementor-event-widget__organizer-email,
.ncn-event-card .tec-events-elementor-event-widget__venue-address-address,
.ncn-event-card .tec-events-elementor-event-widget__venue-phone-number,
.ncn-event-card .tec-events-elementor-event-widget__venue-website-url,
.ncn-event-card .tec-events-elementor-event-widget__datetime {
	position: relative;
	padding-left: 24px;
	margin: 0 0 8px;
}
.ncn-event-card .tec-events-elementor-event-widget__organizer-phone::before,
.ncn-event-card .tec-events-elementor-event-widget__organizer-website::before,
.ncn-event-card .tec-events-elementor-event-widget__organizer-email::before,
.ncn-event-card .tec-events-elementor-event-widget__venue-address-address::before,
.ncn-event-card .tec-events-elementor-event-widget__venue-phone-number::before,
.ncn-event-card .tec-events-elementor-event-widget__venue-website-url::before,
.ncn-event-card .tec-events-elementor-event-widget__datetime::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 15px;
	height: 15px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.ncn-event-card .tec-events-elementor-event-widget__datetime::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23589D56' d='M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z'/%3E%3C/svg%3E");
}
.ncn-event-card .tec-events-elementor-event-widget__organizer-phone::before,
.ncn-event-card .tec-events-elementor-event-widget__venue-phone-number::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23589D56' d='M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z'/%3E%3C/svg%3E");
}
.ncn-event-card .tec-events-elementor-event-widget__organizer-email::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23589D56' d='M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z'/%3E%3C/svg%3E");
}
.ncn-event-card .tec-events-elementor-event-widget__organizer-website::before,
.ncn-event-card .tec-events-elementor-event-widget__venue-website-url::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6.5' fill='none' stroke='%23589D56' stroke-width='1.6'/%3E%3Cpath d='M1.5 8h13M8 1.5c2.5 2.5 2.5 10.5 0 13-2.5-2.5-2.5-10.5 0-13z' stroke='%23589D56' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");
}
.ncn-event-card .tec-events-elementor-event-widget__venue-address-address::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23589D56' d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/%3E%3C/svg%3E");
}
/* redundant with the embedded map below */
.ncn-event-card .tec-events-elementor-event-widget__venue-address-map-link {
	display: none;
}
.ncn-event-card .tec-events-elementor-event-widget__venue-map {
	margin-top: 10px;
}
/* Hide venue rows that have no value (TEC renders empty wrappers) */
.ncn-event-card .tec-events-elementor-event-widget__venue-phone:has(a[href="tel:"]),
.ncn-event-card .tec-events-elementor-event-widget__venue-phone:not(:has(a)),
.ncn-event-card .tec-events-elementor-event-widget__venue-website:not(:has(a)) {
	display: none;
}
/* Icons replace the row labels; widen the venue map fully */
.ncn-event-card .tec-events-elementor-event-widget__organizer-phone-header,
.ncn-event-card .tec-events-elementor-event-widget__organizer-website-header,
.ncn-event-card .tec-events-elementor-event-widget__organizer-email-header,
.ncn-event-card [class*="-website-header"],
.ncn-event-card [class*="-phone-header"],
.ncn-event-card [class*="-email-header"] {
	display: none;
}
.ncn-event-card .tec-events-elementor-event-widget__venue-map {
	width: 100% !important;
	max-width: 100% !important;
}
.ncn-event-card .tec-events-elementor-event-widget__venue-map iframe {
	width: 100% !important;
	max-width: 100% !important;
	height: 180px !important;
}
/* ===== Event details card: polish pass ===== */
/* flatten TEC's inset venue box so it merges with the card */
.ncn-event-card .tec-events-elementor-event-widget__venue,
.ncn-event-card .tec-events-elementor-event-widget__venue-container,
.ncn-event-card .tec-events-elementor-event-widget__venue-details {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	box-shadow: none !important;
}
/* tighten vertical rhythm */
.ncn-event-card .elementor-widget-container p {
	margin-top: 0;
}
.ncn-event-card .tec-events-elementor-event-widget__datetime-wrapper,
.ncn-event-card .tec-events-elementor-event-widget__organizer-details > div,
.ncn-event-card .tec-events-elementor-event-widget__venue-address {
	margin: 0;
}
.ncn-event-card .tec-events-elementor-event-widget__organizer-name,
.ncn-event-card .tec-events-elementor-event-widget__venue-name {
	margin: 0 0 7px;
	font-size: 15px;
	line-height: 1.3;
}
.ncn-event-card .tec-events-elementor-event-widget__organizer-phone,
.ncn-event-card .tec-events-elementor-event-widget__organizer-website,
.ncn-event-card .tec-events-elementor-event-widget__organizer-email,
.ncn-event-card .tec-events-elementor-event-widget__venue-address-address,
.ncn-event-card .tec-events-elementor-event-widget__datetime {
	margin: 0 0 7px;
	line-height: 1.45;
}
/* close the icon-to-text gap */
.ncn-event-card .tec-events-elementor-event-widget__organizer-phone a,
.ncn-event-card .tec-events-elementor-event-widget__organizer-website a,
.ncn-event-card .tec-events-elementor-event-widget__organizer-email a {
	padding: 0 !important;
	margin: 0 !important;
	display: inline;
}
/* datetime as one clean line */
.ncn-event-card .tec-events-elementor-event-widget__datetime {
	font-size: 14.5px;
}
.ncn-event-card .tec-events-elementor-event-widget__datetime span {
	margin: 0;
	padding: 0;
}
/* long event-website URLs: single ellipsized line */
.ncn-event-card .tec-events-elementor-event-widget__website-url,
.ncn-event-card [class*="__website"] a[href*="facebook"] {
	display: block;
	max-width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/* Venue block: align flush with the rest of the card */
.ncn-event-card .tec-events-elementor-event-widget__venue-container,
.ncn-event-card .tec-events-elementor-event-widget__venue-details {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.ncn-event-card .tec-events-elementor-event-widget__venue::before,
.ncn-event-card .tec-events-elementor-event-widget__venue::after,
.ncn-event-card .tec-events-elementor-event-widget__venue-container::before {
	display: none !important;
	content: none !important;
}

/* TEC calendar datepicker: undo accent bleed - readable tiles, green only for selection */
.tribe-events .datepicker .datepicker-switch,
.tribe-events .datepicker .prev,
.tribe-events .datepicker .next,
.tribe-events .datepicker .month,
.tribe-events .datepicker .year,
.tribe-events .datepicker .decade,
.tribe-events .datepicker .century,
.tribe-events .datepicker td,
.tribe-events .datepicker th {
	background: transparent !important;
	color: #1F2937 !important;
}
.tribe-events .datepicker .datepicker-switch:hover,
.tribe-events .datepicker .prev:hover,
.tribe-events .datepicker .next:hover,
.tribe-events .datepicker .month:hover,
.tribe-events .datepicker .year:hover,
.tribe-events .datepicker td:hover {
	background: #EEF5ED !important;
	color: #1F2937 !important;
}
.tribe-events .datepicker .month.active,
.tribe-events .datepicker .year.active,
.tribe-events .datepicker .month.focused,
.tribe-events .datepicker .year.focused,
.tribe-events .datepicker td.active {
	background: #589D56 !important;
	color: #FFFFFF !important;
}
.tribe-events .tribe-events-c-top-bar__datepicker-button {
	background: transparent !important;
	color: #1F2937 !important;
}
.tribe-events .tribe-events-c-top-bar__datepicker-button:hover,
.tribe-events .tribe-events-c-top-bar__datepicker-button:focus {
	background: #EEF5ED !important;
}

/* ===== Training media: 15px radius + video frames ===== */
.ncn-radius-15 img {
	border-radius: 15px;
}
.ncn-video-frame video,
.ncn-video-frame iframe,
.ncn-video-frame .elementor-video,
.ncn-video-frame .elementor-wrapper,
.ncn-video-frame .elementor-custom-embed-image-overlay,
.ncn-video-frame .elementor-custom-embed-image-overlay img {
	border-radius: 15px;
	overflow: hidden;
}
/* Placed training media: uniform, no placeholder borders */
.ncn-radius-15,
.ncn-radius-15 img,
.ncn-video-frame,
.ncn-video-frame video {
	border: none !important;
	outline: none !important;
}
.ncn-radius-15 img {
	width: 100%;
	object-fit: cover;
}
/* Training media fills its frame */
.ncn-radius-15,
.ncn-radius-15 .elementor-widget-container {
	width: 100%;
}
.ncn-radius-15 img {
	width: 100% !important;
	object-fit: cover;
}
.ncn-video-frame,
.ncn-video-frame .elementor-widget-container,
.ncn-video-frame .elementor-wrapper,
.ncn-video-frame video {
	width: 100% !important;
}
.ncn-video-frame video {
	display: block;
	background: #000;
}
.ncn-radius-15 img { object-position: center top; }

/* Equal-card rows: cover boxed rows (.e-con-inner) and buttons nested one container deep */
.ncn-equal-cards .e-con > .elementor-widget-button {
	margin-top: auto;
}
/* header CTA cluster shrink-wraps */
.ncn-btn-group {
	width: auto !important;
	flex-shrink: 0;
}

/* Book Now item: mobile dropdown only, navy button */
.elementor-nav-menu--main .ncn-booknow-item,
.elementor-nav-menu--dropdown .ncn-booknow-item {
	display: none !important;
}
@media (max-width: 767px) {
	.elementor-nav-menu--dropdown .ncn-booknow-item {
		display: block !important;
		padding: 14px 16px 0;
	}
	.elementor-nav-menu--dropdown .ncn-booknow-item > a {
		display: block;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
		background: #284468 !important;
		color: #FFFFFF !important;
		border-radius: 9px;
		padding: 10px 24px !important;
		font-weight: 600;
	}
	.elementor-nav-menu--dropdown .ncn-booknow-item > a:hover,
	.elementor-nav-menu--dropdown .ncn-booknow-item > a:focus {
		background: #3D5A80 !important;
		color: #FFFFFF !important;
	}
	/* tighten donate spacing so the two buttons read as a pair */
	.elementor-nav-menu--dropdown .nrcn-donate-item {
		padding-top: 8px;
	}
}