/* Faith House site styles (Vibrandt Websites) */

/* Gravity Forms: same look as before (light grey fields, purple pill button). */
.fh-form .gform_wrapper.gravity-theme .gfield_label,
.fh-form .gform_wrapper .gfield_label { font-size: 16px; font-weight: 700; color: #333; }
.fh-form .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.fh-form .gform_wrapper select,
.fh-form .gform_wrapper textarea {
	background-color: #f1f1f1; border: 0; border-radius: 3px; padding: 8px; font-size: 15px; color: #000; box-shadow: none;
}
.fh-form .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.fh-form .gform_wrapper select { min-height: 40px; }
.fh-form .gform_wrapper input:focus,
.fh-form .gform_wrapper select:focus,
.fh-form .gform_wrapper textarea:focus { outline: 2px solid #592D8A; outline-offset: 1px; }
.fh-form .gform_wrapper .gfield_description { font-size: 15px; color: #333; }
.fh-form .gform_wrapper .gform_footer,
.fh-form .gform_wrapper .gform_page_footer { justify-content: stretch; }
body .fh-form .gform_wrapper .gform_footer input[type=submit],
body .fh-form .gform_wrapper .gform_footer button,
body .fh-form .gform_wrapper .gform_page_footer input[type=submit],
body .fh-form .gform_wrapper .gform_page_footer input[type=button] {
	width: 100%; background-color: #592D8A; color: #fff; border: 1px solid #592D8A; border-radius: 30px;
	padding: 8px 16px; font-family: Roboto, sans-serif; font-size: 16px; font-weight: 500; line-height: 1.5; cursor: pointer;
}
body .fh-form .gform_wrapper .gform_footer input[type=submit]:hover,
body .fh-form .gform_wrapper .gform_footer button:hover { background-color: #0E715F; border-color: #0E715F; }

/* Accordions: same look as before. */
.fh-accordion .elementor-accordion .elementor-accordion-item { border: 1px solid #ccc; margin-bottom: 8px; }
.fh-accordion .elementor-accordion .elementor-accordion-item + .elementor-accordion-item { border-top: 1px solid #ccc; }
.fh-accordion .elementor-accordion .elementor-tab-title {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	background: #f1f1f1; padding: 15px; border: 0; font-size: 16px; font-weight: 600; line-height: 1.4; color: #333;
}
.fh-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-title,
.fh-accordion .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title { color: #333; font-family: inherit; }
.fh-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon { order: 2; flex: 0 0 auto; color: #333; }
.fh-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg { width: 16px; height: 16px; fill: #333; }
.fh-accordion .elementor-accordion .elementor-tab-title.elementor-active { color: #592D8A; }
.fh-accordion .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title { color: #592D8A; }
.fh-accordion .elementor-accordion .elementor-tab-title.elementor-active svg { fill: #592D8A; }
.fh-accordion .elementor-accordion .elementor-tab-content {
	background: rgba(255,255,255,.68); border: 0; border-top: 1px solid #eee; padding: 20px;
	font-family: "Merriweather Sans", sans-serif; font-size: 16px; line-height: 1.7; color: #333;
}
.fh-accordion .elementor-accordion .elementor-tab-content p:last-child { margin-bottom: 0; }

/* Counters (number + title under the icon). */
.fh-counter .elementor-counter-number-wrapper { justify-content: center; }
.fh-counter .elementor-counter-title { margin-top: 20px; text-align: center; }
.fh-counter-icon { margin-bottom: 0; }

/* Video lightbox. */
.fh-video-lightbox .elementor-icon { cursor: pointer; }
.fh-video-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.85); padding: 20px; }
.fh-video-modal[hidden] { display: none; }
.fh-video-modal__frame { position: relative; width: min(1166px, 100%); aspect-ratio: 16 / 9; background: #000; }
.fh-video-modal__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
body .fh-video-modal__close {
	position: absolute; top: -44px; right: 0; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%;
	background: transparent; color: #fff; font-size: 34px; line-height: 40px; cursor: pointer;
}
body .fh-video-modal__close:focus-visible { outline: 2px solid #fff; }

/* Header: open mobile menu sits above the logo card */
.elementor-5790 .elementor-element-4eb6f793 { z-index: 20 !important; }
/* Header: Exit button shows its label on keyboard focus too */
.elementor-5790 .elementor-element-43a0ffa0:focus-visible { outline: 3px solid #C4B3D8; outline-offset: 2px; }

/* Header menu: desktop dropdowns as a white card with a green accent */
@keyframes fhDropIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 1025px) {
	.elementor-element-4eb6f793 .elementor-nav-menu--main .sub-menu {
		min-width: 260px !important;
		padding: 8px 0 !important;
		border-radius: 0 0 12px 12px;
		border-top: 4px solid #0E715F !important;
		background: linear-gradient(180deg, #ffffff 0%, #ffffff 70%, #F7F3FB 100%) !important;
		box-shadow: 0 18px 40px rgba(40, 16, 70, 0.22), 0 2px 6px rgba(40, 16, 70, 0.08);
		animation: fhDropIn .22s ease-out;
	}
	.elementor-element-4eb6f793 .elementor-nav-menu--main .sub-menu li { border: 0 !important; }
	.elementor-element-4eb6f793 .elementor-nav-menu--main .sub-menu a {
		position: relative;
		display: flex !important;
		align-items: center;
		gap: 12px;
		margin: 0 8px;
		padding: 11px 16px !important;
		border-radius: 8px;
		background: transparent !important;
		line-height: 1.35;
		white-space: normal;
		border: 0 !important;
		transition: background-color .18s ease, color .18s ease, padding .18s ease, box-shadow .18s ease;
	}
	.elementor-element-4eb6f793 .elementor-nav-menu--main .sub-menu a::after {
		content: "\2192";
		margin-left: auto;
		color: #0E715F;
		font-weight: 700;
		opacity: 0;
		transform: translateX(-6px);
		transition: opacity .18s ease, transform .18s ease;
	}
	.elementor-element-4eb6f793 .elementor-nav-menu--main .sub-menu a:hover,
	.elementor-element-4eb6f793 .elementor-nav-menu--main .sub-menu a:focus-visible {
		background: #F2ECF8 !important;
		color: #592D8A !important;
		padding-left: 20px !important;
		box-shadow: inset 3px 0 0 #0E715F;
	}
	.elementor-element-4eb6f793 .elementor-nav-menu--main .sub-menu a:hover::after,
	.elementor-element-4eb6f793 .elementor-nav-menu--main .sub-menu a:focus-visible::after { opacity: 1; transform: translateX(0); }
	.elementor-element-4eb6f793 .elementor-nav-menu--main .sub-menu a.elementor-item-active { color: #0E715F !important; }
	/* Top-level links fill the purple bar so dropdowns open flush with its bottom edge */
	.elementor-element-4eb6f793 { align-self: stretch !important; display: flex; }
	.elementor-element-4eb6f793 > .elementor-widget-container,
	.elementor-element-4eb6f793 .elementor-nav-menu--main,
	.elementor-element-4eb6f793 .elementor-nav-menu--main > ul,
	.elementor-element-4eb6f793 .elementor-nav-menu--main > ul > li { height: 100%; }
	.elementor-element-4eb6f793 > .elementor-widget-container { display: flex; align-items: stretch; width: 100%; }
	.elementor-element-4eb6f793 .elementor-nav-menu--main > ul { align-items: stretch !important; }
	.elementor-element-4eb6f793 .elementor-nav-menu--main > ul > li > a { height: 100%; display: flex !important; align-items: center; }
	.elementor-element-4eb6f793 .elementor-nav-menu--main > ul > li > .sub-menu { top: 100% !important; margin-top: 0 !important; }
}
/* Header menu: phone/tablet menu (purple panel, white text) */
@media (max-width: 1024px) {
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown { background-color: #4E2679 !important; box-shadow: 0 12px 24px rgba(40, 16, 70, 0.25); }
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown a,
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown a.elementor-item-active,
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown a.highlighted {
		color: #ffffff !important;
		background-color: #4E2679 !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		letter-spacing: 0.5px !important;
		justify-content: center !important;
		padding: 15px 24px !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
	}
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown a:hover,
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown a.highlighted { background-color: #43206A !important; }
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown .sub-menu a,
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown .sub-menu a.elementor-item-active {
		background-color: #3E1D62 !important;
		color: #E6DCF2 !important;
		font-weight: 600 !important;
		text-transform: none !important;
		letter-spacing: 0 !important;
		font-size: 14px !important;
		padding: 13px 24px !important;
	}
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown .sub-menu a:hover { background-color: #351955 !important; color: #ffffff !important; }
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown a.elementor-item-active:not(.highlighted) { color: #C4B3D8 !important; }
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown .sub-arrow,
	.elementor-element-4eb6f793 .elementor-nav-menu--dropdown .sub-arrow svg { color: #ffffff !important; fill: #ffffff !important; opacity: .85; }
}
