/* Contact Page Styles - Learning Community
   Figma node 171:503 ("Learning Community Contact Us")
   Loaded only on the Contact page (see cy_enqueue_styles_scripts in functions.php),
   after homepage.css, which supplies :root tokens, .lc-btn, .lc-hero and fonts. */

/* --- Section wrapper (plain vc_row with el_class="lc-homepage lc-contact lc-contact-section") --- */
.lc-contact-section.vc_row {
	background: linear-gradient(180deg, #ffffff 0%, rgba(0,119,136,0.25) 12%, rgba(0,119,136,0.5) 50%, rgba(0,119,136,0.25) 88%, #ffffff 100%) !important;
	padding: 60px 0 100px !important;
	margin-top: 20px;
}
.lc-contact-section .container { max-width: 1330px; }
.lc-contact-section .vc_column-inner { padding-top: 0 !important; }

/* --- Heading + subtitle --- */
.lc-contact__heading.vc_custom_heading {
	font-family: 'Poppins', sans-serif !important;
	margin: 0 0 14px !important;
}
.lc-contact__subtitle.vc_custom_heading {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	max-width: 620px;
	margin: 0 auto 60px !important;
}

/* --- Cards row (flex so all three cards share the tallest card's height, as in Figma) --- */
.lc-contact-cards.vc_row { display: flex; flex-wrap: wrap; margin-bottom: 70px; }
.lc-contact-cards.vc_row::before, .lc-contact-cards.vc_row::after { display: none; }
.lc-contact-cards .vc_column_container > .vc_column-inner { padding: 0 15px !important; }
.lc-contact-cards .wpb_wrapper { height: 100%; }
.lc-contact-cards .vc_column_container { display: flex; float: none; }
.lc-contact-cards .vc_column_container > .vc_column-inner { width: 100%; }
.lc-contact-cards .wpb_wrapper > .lc-contact-card { height: 100%; }

/* --- Location card --- */
.lc-contact-card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border-radius: 20px;
	padding: 16px 16px 24px;
	box-shadow: 0 8px 30px rgba(0,119,136,0.14);
	color: var(--dark-text);
}
.lc-contact-card__photo {
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	margin-bottom: 26px;
}
.lc-contact-card__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lc-contact-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 0 12px;
}
.lc-contact-card__title {
	font-family: 'Poppins', sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	color: #1d4a55;
	text-transform: none;
	letter-spacing: 0;
	margin: 0 0 18px;
}
.lc-contact-card__rows {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.lc-contact-card__row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: var(--gray-text);
	margin: 0;
	padding: 0;
}
.lc-contact-card__row::before { display: none !important; }
.lc-contact-card__row i {
	flex: 0 0 auto;
	width: 18px;
	margin-top: 3px;
	font-size: 16px;
	text-align: center;
	color: var(--teal);
}
.lc-contact-card__row a {
	color: var(--gray-text);
	text-decoration: none;
	transition: color 0.2s ease;
}
.lc-contact-card__row a:hover { color: var(--teal); }

.lc-contact-card__footer { margin-top: auto; }
.lc-contact-card__btn.lc-btn {
	width: 100%;
	padding: 12px 20px;
	font-size: 15px;
	font-weight: 600;
	gap: 8px;
	line-height: 1.4;
}
.lc-contact-card__btn.lc-btn i { font-size: 14px; }

.lc-contact-card__hours {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-top: 6px;
	font-family: 'Poppins', sans-serif;
}
.lc-contact-card__hours-label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--gray-text);
}
.lc-contact-card__hours-value {
	font-size: 15px;
	line-height: 1.5;
	color: var(--gray-text);
}
.lc-contact-card__hours + .lc-contact-card__btn { margin-top: 20px; }

/* --- "Connect with a specific center" callout --- */
.lc-contact-cta {
	max-width: 1020px;
	margin: 0 auto;
	padding: 44px 40px 40px;
	background: #c5ecef;
	border-radius: 20px;
	text-align: center;
	box-shadow: 0 8px 30px rgba(0,119,136,0.12);
}
.lc-contact-cta__title {
	font-family: 'Poppins', sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--teal);
	text-transform: none;
	letter-spacing: 0;
	margin: 0 0 14px;
}
.lc-contact-cta__desc {
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	line-height: 1.7;
	color: var(--gray-text);
	max-width: 560px;
	margin: 0 auto 22px;
}
.lc-contact-cta__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0;
}
.lc-contact-cta__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 22px;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--bright-red);
	text-decoration: none;
	transition: color 0.2s ease;
}
.lc-contact-cta__link + .lc-contact-cta__link { border-left: 1px solid rgba(0,119,136,0.35); }
.lc-contact-cta__link:hover { color: #d41240; }
.lc-contact-cta__link i { font-size: 13px; transition: transform 0.2s ease; }
.lc-contact-cta__link:hover i { transform: translateX(3px); }

/* --- Old title bar fallback (primary fix is the page's "Hide page header" setting) --- */
.page-id-1476 .page-header { display: none !important; }

/* --- Responsive --- */
@media (max-width: 1200px) {
	.lc-contact-card__title { font-size: 20px; }
}
@media (max-width: 991px) {
	.lc-contact-section.vc_row { padding: 40px 0 70px !important; }
	.lc-contact-cards .vc_column_container { margin-bottom: 30px; }
	.lc-contact-cards .vc_column_container:last-child { margin-bottom: 0; }
	.lc-contact-cards.vc_row { margin-bottom: 40px; }
	.lc-contact-cta { padding: 36px 24px 32px; }
}
@media (max-width: 600px) {
	.lc-contact__heading.vc_custom_heading { font-size: 36px !important; }
	.lc-contact__subtitle.vc_custom_heading { font-size: 16px !important; margin-bottom: 40px !important; }
	.lc-contact-card { padding: 12px 12px 20px; }
	.lc-contact-card__body { padding: 0 6px; }
	.lc-contact-cta__links { flex-direction: column; gap: 10px; }
	.lc-contact-cta__link + .lc-contact-cta__link { border-left: 0; }
}
