/**
 * Karma FAQ
 *
 * @package Hello_Child
 */


/* =========================================================
   FAQ SECTION
   ========================================================= */

.karma-faq {
	width: 100%;
	margin: 55px 0 0;
	padding: 0;
}

.karma-faq__inner {
	width: 100%;
	margin: 0;
	padding: 0;
}


/* =========================================================
   FAQ TITLE
   ========================================================= */

.karma-faq__title {
	display: block;
	width: 100%;

	margin: 0 0 14px;
	padding: 0;

	font-family: "Plus Jakarta Sans", Sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;

	color: #0F172A !important;

	background: transparent !important;
	border: 0 !important;
}


/* =========================================================
   FAQ INTRO
   ========================================================= */

.karma-faq__intro {
	display: block;
	width: 100%;

	margin: 0 0 28px;
	padding: 0;

	font-family: "Inter", Sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;

	color: #475569 !important;

	background: transparent !important;
}

.karma-faq__intro p {
	margin-top: 0;
	margin-bottom: 16px;

	font-family: "Inter", Sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;

	color: #475569 !important;
}

.karma-faq__intro > :first-child {
	margin-top: 0;
}

.karma-faq__intro > :last-child {
	margin-bottom: 0;
}


/* =========================================================
   FAQ LIST
   ========================================================= */

.karma-faq__list {
	width: 100%;
	margin: 0;
	padding: 0;
}


/* =========================================================
   FAQ ITEM
   ========================================================= */

.karma-faq__item {
	display: block;
	width: 100%;

	margin: 0 0 14px;
	padding: 0;

	border: 1px solid #D8E5FA !important;
	border-radius: 12px !important;

	background-color: #F8FAFF !important;
	background-image: none !important;

	overflow: hidden;

	transition:
		border-color 0.25s ease,
		background-color 0.25s ease;
}

.karma-faq__item:last-child {
	margin-bottom: 0;
}


/* =========================================================
   QUESTION WRAPPER
   ========================================================= */

.karma-faq__question-wrap {
	display: block;
	width: 100%;

	margin: 0;
	padding: 0;
}


/* =========================================================
   QUESTION BUTTON
   ========================================================= */

.karma-faq .karma-faq__question,
.karma-faq .karma-faq__question:hover,
.karma-faq .karma-faq__question:focus,
.karma-faq .karma-faq__question:active {
	-webkit-appearance: none;
	appearance: none;

	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 100%;

	margin: 0;
	padding: 18px 22px;

	border: 0 !important;
	border-radius: 0 !important;

	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;

	box-shadow: none !important;

	cursor: pointer;

	text-align: left;
	text-decoration: none;

	font-family: "Plus Jakarta Sans", Sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;

	color: #0F172A !important;

	transition: color 0.25s ease;
}


/* =========================================================
   QUESTION HOVER
   ========================================================= */

.karma-faq .karma-faq__question:hover {
	color: #1D4ED8 !important;
}


/* =========================================================
   QUESTION FOCUS
   ========================================================= */

.karma-faq .karma-faq__question:focus {
	outline: none !important;
}

.karma-faq .karma-faq__question:focus-visible {
	outline: 2px solid #1D4ED8 !important;
	outline-offset: -3px;
}


/* =========================================================
   QUESTION TEXT
   ========================================================= */

.karma-faq__question-text {
	display: block;

	flex: 1 1 auto;

	min-width: 0;

	padding-right: 20px;

	font-family: "Plus Jakarta Sans", Sans-serif;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;

	color: inherit;
}


/* =========================================================
   ICON
   ========================================================= */

.karma-faq__icon {
	position: relative;

	display: block;

	flex: 0 0 32px;

	width: 32px;
	height: 32px;

	margin: 0;

	border: 2px solid #1D4ED8 !important;
	border-radius: 50% !important;

	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;

	box-shadow: none !important;

	transition: transform 0.25s ease;
}


/* =========================================================
   ICON LINES
   ========================================================= */

.karma-faq__icon-line {
	position: absolute;

	top: 50%;
	left: 50%;

	display: block;

	width: 12px;
	height: 2px;

	margin: 0;
	padding: 0;

	border: 0;

	background: #1D4ED8 !important;

	transform: translate(-50%, -50%);

	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

.karma-faq__icon-line--vertical {
	transform: translate(-50%, -50%) rotate(90deg);
}


/* =========================================================
   OPEN FAQ
   ========================================================= */

.karma-faq__item.is-open {
	border-color: #C9DCFF !important;
	background-color: #F8FAFF !important;
}

.karma-faq__item.is-open .karma-faq__question,
.karma-faq__item.is-open .karma-faq__question:hover,
.karma-faq__item.is-open .karma-faq__question:focus {
	color: #1D4ED8 !important;
}


/* =========================================================
   OPEN ICON → MINUS
   ========================================================= */

.karma-faq__item.is-open .karma-faq__icon-line--vertical {
	opacity: 0;

	transform:
		translate(-50%, -50%)
		rotate(90deg)
		scaleY(0);
}


/* =========================================================
   ANSWER CONTAINER
   ========================================================= */

.karma-faq__answer {
	display: grid;

	grid-template-rows: 0fr;

	width: 100%;

	margin: 0;
	padding: 0;

	overflow: hidden;

	opacity: 0;
	visibility: hidden;

	transition:
		grid-template-rows 0.45s ease,
		opacity 0.20s ease,
		visibility 0s linear 0.45s;
}


/* =========================================================
   OPEN ANSWER
   ========================================================= */

.karma-faq__item.is-open .karma-faq__answer {
	grid-template-rows: 1fr;

	opacity: 1;
	visibility: visible;

	transition:
		grid-template-rows 0.45s ease,
		opacity 0.25s ease,
		visibility 0s linear 0s;
}


/* =========================================================
   ANSWER CONTENT
   ========================================================= */

/*
 * IMPORTANT:
 *
 * No vertical padding here.
 *
 * Only left/right padding remains permanent.
 *
 * Therefore the closed answer can collapse to zero
 * without leaving the previous 24px bottom gap.
 */

.karma-faq__answer-content {
	display: block;

	width: 100%;

	min-width: 0;
	min-height: 0;

	overflow: hidden;

	margin: 0;

	padding: 0 22px;

	box-sizing: border-box;

	font-family: "Inter", Sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.75;

	color: #475569 !important;
}


/* =========================================================
   ANSWER INNER CONTENT
   ========================================================= */

/*
 * Bottom spacing is created by margin on the final
 * content element instead of padding on the accordion.
 */

.karma-faq__answer-content p {
	margin-top: 0;
	margin-bottom: 16px;

	font-family: "Inter", Sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.75;

	color: #475569 !important;
}


/* Remove top margin */

.karma-faq__answer-content > :first-child {
	margin-top: 0;
}


/*
 * Final element gets the visual bottom spacing
 * only when the FAQ is open.
 */

.karma-faq__item.is-open .karma-faq__answer-content > :last-child {
	margin-bottom: 24px;
}


/* =========================================================
   ANSWER LINKS
   ========================================================= */

.karma-faq__answer-content a {
	color: #1D4ED8 !important;

	text-decoration: underline;
	text-underline-offset: 2px;
}


/* =========================================================
   ANSWER LISTS
   ========================================================= */

.karma-faq__answer-content ul,
.karma-faq__answer-content ol {
	margin-top: 12px;
	margin-bottom: 12px;

	padding-left: 22px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

	.karma-faq {
		margin-top: 45px;
	}


	/* Title */

	.karma-faq__title {
		font-size: 26px;
		line-height: 1.3;

		margin-bottom: 12px;
	}


	/* Intro */

	.karma-faq__intro {
		font-size: 16px;
		line-height: 1.6;

		margin-bottom: 24px;
	}

	.karma-faq__intro p {
		font-size: 16px;
		line-height: 1.6;
	}


	/* Item */

	.karma-faq__item {
		margin-bottom: 12px;

		border-radius: 11px !important;
	}


	/* Question */

	.karma-faq .karma-faq__question, .karma-faq .karma-faq__question:hover, .karma-faq .karma-faq__question:focus, .karma-faq .karma-faq__question:active {
		padding: 17px 20px;

		font-size: 16px;
		line-height: 1.45;
	}

	/* Question text */

	.karma-faq__question-text {
		padding-right: 18px;
	}


	/* Icon */

	.karma-faq__icon {
		flex-basis: 31px;

		width: 31px;
		height: 31px;
	}


	/* Answer */

	.karma-faq__answer-content {
		padding-left: 20px;
		padding-right: 20px;

		font-size: 16px;
		line-height: 1.7;
	}

	.karma-faq__answer-content p {
		font-size: 16px;
		line-height: 1.7;
	}


	/* Open bottom spacing */

	.karma-faq__item.is-open .karma-faq__answer-content > :last-child {
		margin-bottom: 22px;
	}
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.karma-faq {
		margin-top: 40px;
	}


	/* Title */

	.karma-faq__title {
		font-size: 24px;
		line-height: 1.3;

		margin-bottom: 10px;
	}


	/* Intro */

	.karma-faq__intro {
		font-size: 16px;
		line-height: 1.6;

		margin-bottom: 20px;
	}

	.karma-faq__intro p {
		font-size: 16px;
		line-height: 1.6;
	}


	/* Item */

	.karma-faq__item {
		margin-bottom: 10px;

		border-radius: 10px !important;
	}


	/* Question */

	.karma-faq .karma-faq__question, .karma-faq .karma-faq__question:hover, .karma-faq .karma-faq__question:focus, .karma-faq .karma-faq__question:active {
		padding: 16px;

		font-size: 15px;
		line-height: 1.45;
	}
	

	/* Question text */

	.karma-faq__question-text {
		padding-right: 14px;
	}


	/* Icon */

	.karma-faq__icon {
		flex-basis: 29px;

		width: 29px;
		height: 29px;
	}

	.karma-faq__icon-line {
		width: 11px;
		height: 2px;
	}


	/* Answer */

	.karma-faq__answer-content {
		padding-left: 16px;
		padding-right: 16px;

		font-size: 16px;
		line-height: 1.7;
	}

	.karma-faq__answer-content p {
		font-size: 16px;
		line-height: 1.7;
	}


	/* Open bottom spacing */

	.karma-faq__item.is-open .karma-faq__answer-content > :last-child {
		margin-bottom: 19px;
	}
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

	.karma-faq__title {
		font-size: 24px;
	}


	/* Intro */

	.karma-faq__intro {
		font-size: 16px;
		line-height: 1.6;
	}

	.karma-faq__intro p {
		font-size: 16px;
		line-height: 1.6;
	}


	/* Question */

	.karma-faq .karma-faq__question, .karma-faq .karma-faq__question:hover, .karma-faq .karma-faq__question:focus, .karma-faq .karma-faq__question:active {
		padding: 15px 14px;
	}

	/* Answer */

	.karma-faq__answer-content {
		padding-left: 14px;
		padding-right: 14px;
	}


	/* Open bottom spacing */

	.karma-faq__item.is-open .karma-faq__answer-content > :last-child {
		margin-bottom: 19px;
	}
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	.karma-faq__item,
	.karma-faq__question,
	.karma-faq__icon,
	.karma-faq__icon-line,
	.karma-faq__answer {
		transition: none !important;
	}
}