/**
 * Capital Core — Our FAQ
 * Exact conversion from capital-glass.html FAQ section.
 * !important used where needed to beat Hello Elementor / design-system resets.
 */

.elementor-widget-capital_core_our_faq,
.elementor-widget-capital_core_our_faq > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.capital-core-widget.cc-faq-wrap {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: clip;
	font-family: "Manrope", sans-serif;
	color: #102c36;
	-webkit-font-smoothing: antialiased;
}

/* border-y border-[#102c36]/10 bg-[#f6f8f7] py-20 lg:py-28 */
.capital-core-widget .cc-faq {
	border-top: 1px solid rgba(16, 44, 54, 0.1);
	border-bottom: 1px solid rgba(16, 44, 54, 0.1);
	background-color: #f6f8f7;
	padding: 80px 0; /* py-20 */
	width: 100%;
	box-sizing: border-box;
}

@media (min-width: 1024px) {
	.capital-core-widget .cc-faq {
		padding-top: 112px; /* lg:py-28 */
		padding-bottom: 112px;
	}
}

/* mx-auto grid max-w-7xl gap-10 px-5 sm:px-8 lg:grid-cols-[.72fr_1.28fr] */
.capital-core-widget .cc-faq__inner {
	margin-left: auto;
	margin-right: auto;
	display: grid;
	max-width: var(--cc-faq-max-width, 1280px);
	gap: 40px; /* gap-10 */
	padding-left: 20px; /* px-5 */
	padding-right: 20px;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
}

@media (min-width: 640px) {
	.capital-core-widget .cc-faq__inner {
		padding-left: 32px; /* sm:px-8 */
		padding-right: 32px;
	}
}

@media (min-width: 1024px) {
	.capital-core-widget .cc-faq__inner {
		grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
	}
}

.capital-core-widget .cc-faq__intro {
	min-width: 0;
}

.capital-core-widget .cc-faq__eyebrow {
	margin: 0 !important;
	padding: 0 !important;
	font-family: "Manrope", sans-serif !important;
	font-size: 12px !important; /* text-xs */
	font-weight: 900 !important;
	letter-spacing: 0.18em !important;
	line-height: 1.25 !important;
	color: #187b8e !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	background: transparent !important;
}

/* mt-3 font-display text-5xl font-black leading-[.94] tracking-[-0.06em] */
.elementor-widget-capital_core_our_faq .cc-faq__title,
.capital-core-widget .cc-faq__title {
	margin: 12px 0 0 !important; /* mt-3 */
	padding: 0 !important;
	font-family: "DM Sans", sans-serif !important;
	font-size: 48px !important; /* text-5xl — same on mobile */
	font-weight: 900 !important; /* font-black */
	line-height: 0.94 !important; /* leading-[.94] */
	letter-spacing: -0.06em !important; /* tracking-[-0.06em] */
	color: #102c36 !important;
	text-transform: none !important;
	text-decoration: none !important;
	background: transparent !important;
}

.elementor-widget-capital_core_our_faq .cc-faq__title *,
.capital-core-widget .cc-faq__title * {
	letter-spacing: -0.06em !important;
}

/* mt-6 max-w-xs leading-7 text-[#597078] */
.capital-core-widget .cc-faq__text {
	margin: 24px 0 0 !important; /* mt-6 */
	padding: 0 !important;
	max-width: 20rem; /* max-w-xs */
	font-family: "Manrope", sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.75rem !important; /* leading-7 */
	letter-spacing: normal !important;
	color: #597078 !important;
	text-decoration: none !important;
	background: transparent !important;
}

/* mt-6 inline-flex font-black underline decoration-[#ffe21b] decoration-4 underline-offset-4 */
.capital-core-widget .cc-faq__cta,
.capital-core-widget a.cc-faq__cta {
	display: inline-flex !important;
	align-items: center !important;
	margin: 24px 0 0 !important; /* mt-6 */
	padding: 0 !important;
	font-family: "Manrope", sans-serif !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	line-height: 1.5 !important;
	letter-spacing: normal !important;
	color: #102c36 !important;
	text-decoration: underline !important;
	text-decoration-color: #ffe21b !important;
	text-decoration-thickness: 4px !important;
	text-underline-offset: 4px !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.capital-core-widget .cc-faq__cta:hover,
.capital-core-widget .cc-faq__cta:focus,
.capital-core-widget a.cc-faq__cta:hover,
.capital-core-widget a.cc-faq__cta:focus {
	color: #187b8e !important;
	text-decoration-color: #ffe21b !important;
}

/* Accordion list: border-t border-[#102c36]/15 */
.capital-core-widget .cc-faq__list {
	border-top: 1px solid rgba(16, 44, 54, 0.15);
	margin: 0;
	padding: 0;
	min-width: 0;
	max-width: 100%;
	width: 100%;
	overflow: hidden; /* keep long questions from blowing out the viewport */
}

.capital-core-widget .cc-faq__item {
	border-bottom: 1px solid rgba(16, 44, 54, 0.15);
	margin: 0;
	padding: 0;
	background: transparent;
	min-width: 0;
	max-width: 100%;
	width: 100%;
}

/* button: flex w-full items-center justify-between gap-6 py-6 text-left text-lg font-black */
.capital-core-widget .cc-faq__question,
.capital-core-widget button.cc-faq__question {
	display: flex !important;
	align-items: flex-start !important; /* icon aligns with first line on wrap (mobile) */
	justify-content: space-between !important;
	gap: 24px !important; /* gap-6 */
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 24px 0 !important; /* py-6 */
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-align: left !important;
	font-family: "Manrope", sans-serif !important;
	font-size: 18px !important; /* text-lg */
	font-weight: 900 !important;
	line-height: 1.35 !important;
	letter-spacing: normal !important;
	color: #102c36 !important;
	text-decoration: none !important;
	text-transform: none !important;
	white-space: normal !important; /* theme button nowrap was breaking mobile */
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
	cursor: pointer;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.capital-core-widget .cc-faq__question-text {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	color: inherit !important;
	text-decoration: none !important;
	background: transparent !important;
	flex: 1 1 0% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}

/* icon: text-2xl text-[#187b8e] — never shrink off-screen */
.capital-core-widget .cc-faq__icon {
	display: block !important;
	flex: 0 0 auto !important;
	align-self: flex-start !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: "Manrope", sans-serif !important;
	font-size: 24px !important; /* text-2xl */
	font-weight: 400 !important;
	line-height: 1.35 !important; /* match question line so + sits on first line */
	letter-spacing: normal !important;
	color: #187b8e !important;
	text-decoration: none !important;
	background: transparent !important;
	white-space: nowrap !important;
}

/* faq-answer animation from HTML */
.capital-core-widget .cc-faq__answer {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.3s ease;
}

.capital-core-widget .cc-faq__answer.is-open {
	max-height: 320px;
}

/* answer p: max-w-2xl pb-6 leading-7 text-[#597078] */
.capital-core-widget .cc-faq__answer-text {
	margin: 0 !important;
	padding: 0 0 24px !important; /* pb-6 */
	max-width: 42rem; /* max-w-2xl */
	font-family: "Manrope", sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.75rem !important; /* leading-7 */
	letter-spacing: normal !important;
	color: #597078 !important;
	text-decoration: none !important;
	background: transparent !important;
}
