/* =========================================================
   QI Legal Pages V1
   Terms + Medical Disclaimer
   ========================================================= */


/* Flatsome shell */

.qi-legal-page .page-title {
	display: none;
}

.qi-legal-page #content.content-area.page-wrapper {
	width: 100%;
	max-width: none;
	padding: 0;
}

.qi-legal-page #content.content-area.page-wrapper > .row.row-main {
	width: 100%;
	max-width: none;
	margin: 0;
}

.qi-legal-page #content.content-area.page-wrapper
> .row.row-main
> .large-12.col {
	flex-basis: 100%;
	width: 100%;
	max-width: 100%;
	padding: 0;
}

.qi-legal-page #content.content-area.page-wrapper
> .row.row-main
> .large-12.col
> .col-inner {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.qi-legal-page .entry-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}


/* Tokens */

.qi-policy-page {
	--qil-primary: #0f9693;
	--qil-primary-dark: #0b7d7b;
	--qil-navy: #0d2f43;
	--qil-text: #173b4a;
	--qil-muted: #6d8189;
	--qil-border: #d8e6e9;
	--qil-surface: #f6fafb;
	--qil-soft: #eaf7f6;
	--qil-warning: #fff8ef;
	--qil-warning-border: #e8d1b7;

	width: 100%;
	color: var(--qil-text);
	background: #fff;
}

.qi-policy-page *,
.qi-policy-page *::before,
.qi-policy-page *::after {
	box-sizing: border-box;
}

.qil-shell {
	width: min(1120px, calc(100% - 48px));
	margin-right: auto;
	margin-left: auto;
}


/* Hero */

.qil-hero {
	padding: 70px 0 59px;
	border-bottom: 1px solid var(--qil-border);
	background:
		radial-gradient(
			circle at 84% 16%,
			rgba(15, 150, 147, .15),
			transparent 34%
		),
		linear-gradient(
			145deg,
			#f7fbfc 0%,
			#edf7f7 100%
		);
}

.qil-medical-hero {
	background:
		radial-gradient(
			circle at 84% 14%,
			rgba(15, 150, 147, .17),
			transparent 34%
		),
		linear-gradient(
			145deg,
			#f7fbfc 0%,
			#e9f6f5 100%
		);
}

.qil-kicker {
	margin-bottom: 10px;
	color: var(--qil-primary);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .15em;
}

.qil-hero h1 {
	margin: 0 0 17px;
	color: var(--qil-navy);
	font-size: clamp(40px, 5vw, 58px);
	font-weight: 850;
	letter-spacing: -.05em;
	line-height: 1.1;
}

.qil-lead {
	max-width: 810px;
	margin: 0;
	color: #4f6873;
	font-size: 16px;
	line-height: 1.9;
}

.qil-meta {
	margin-top: 21px;
	color: var(--qil-muted);
	font-size: 11px;
}


/* Summary */

.qil-summary {
	border-bottom: 1px solid var(--qil-border);
	background: #fff;
}

.qil-summary-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.qil-summary-grid > div {
	padding: 22px 24px;
	border-right: 1px solid var(--qil-border);
}

.qil-summary-grid > div:first-child {
	padding-left: 0;
}

.qil-summary-grid > div:last-child {
	padding-right: 0;
	border-right: 0;
}

.qil-summary-grid strong,
.qil-summary-grid span {
	display: block;
}

.qil-summary-grid strong {
	margin-bottom: 4px;
	color: var(--qil-navy);
	font-size: 14px;
	font-weight: 800;
}

.qil-summary-grid span {
	color: var(--qil-muted);
	font-size: 11px;
	line-height: 1.6;
}


/* Layout */

.qil-body {
	padding: 62px 0 70px;
	background: var(--qil-surface);
}

.qil-layout {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: start;
	gap: 38px;
}


/* TOC */

.qil-toc {
	position: sticky;
	top: 86px;
}

.qil-toc-inner {
	padding: 18px;
	border: 1px solid var(--qil-border);
	border-radius: 12px;
	background: #fff;
}

.qil-toc strong {
	display: block;
	margin-bottom: 10px;
	color: var(--qil-navy);
	font-size: 13px;
	font-weight: 800;
}

.qil-toc a {
	display: block;
	padding: 7px 8px;
	border-radius: 6px;
	color: var(--qil-muted);
	font-size: 11px;
	line-height: 1.45;
	text-decoration: none;
}

.qil-toc a:hover {
	background: var(--qil-soft);
	color: var(--qil-primary-dark);
}


/* Content */

.qil-content {
	padding: 36px 40px;
	border: 1px solid var(--qil-border);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 32px rgba(13, 47, 67, .035);
}

.qil-section {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 17px;
	padding: 34px 0;
	border-bottom: 1px solid #e8f0f2;
	scroll-margin-top: 100px;
}

.qil-section:first-child {
	padding-top: 0;
}

.qil-section:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.qil-number {
	padding-top: 5px;
	color: var(--qil-primary);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .1em;
}

.qil-section h2 {
	margin: 0 0 16px;
	color: var(--qil-navy);
	font-size: 25px;
	font-weight: 820;
	letter-spacing: -.025em;
	line-height: 1.35;
}

.qil-section h3 {
	margin: 24px 0 9px;
	color: var(--qil-navy);
	font-size: 16px;
	font-weight: 800;
}

.qil-section p {
	margin: 0 0 14px;
	color: #556f79;
	font-size: 14px;
	line-height: 1.9;
}

.qil-section p:last-child {
	margin-bottom: 0;
}

.qil-section ul {
	margin: 6px 0 15px;
	padding-left: 20px;
}

.qil-section li {
	margin-bottom: 8px;
	color: #556f79;
	font-size: 14px;
	line-height: 1.8;
}

.qil-section a {
	color: var(--qil-primary-dark);
	font-weight: 700;
	text-decoration: none;
}


/* Notes */

.qil-note {
	margin-top: 18px;
	padding: 14px 17px;
	border-left: 3px solid var(--qil-primary);
	border-radius: 0 8px 8px 0;
	background: var(--qil-soft);
	color: var(--qil-text);
	font-size: 13px;
	line-height: 1.75;
}

.qil-callout {
	margin: 20px 0;
	padding: 19px;
	border: 1px solid var(--qil-border);
	border-radius: 10px;
	background: var(--qil-surface);
}

.qil-callout strong,
.qil-alert strong {
	display: block;
	margin-bottom: 7px;
	color: var(--qil-navy);
	font-size: 14px;
	font-weight: 800;
}

.qil-callout p,
.qil-alert p {
	margin: 0;
	font-size: 13px;
}

.qil-alert {
	margin: 20px 0;
	padding: 19px;
	border: 1px solid var(--qil-warning-border);
	border-radius: 10px;
	background: var(--qil-warning);
}

.qil-alert strong {
	color: #7a4a20;
}


/* Contact */

.qil-contact-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
	margin-top: 20px;
	padding: 18px;
	border: 1px solid var(--qil-border);
	border-radius: 10px;
	background: var(--qil-surface);
}

.qil-contact-card span,
.qil-contact-card strong {
	display: block;
}

.qil-contact-card span {
	margin-bottom: 3px;
	color: var(--qil-muted);
	font-size: 10px;
}

.qil-contact-card strong {
	color: var(--qil-navy);
	font-size: 18px;
	font-weight: 820;
}

.qil-contact-card a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 42px;
	padding: 0 18px;
	border-radius: 7px;
	background: #06c755;
	color: #fff !important;
	font-size: 12px;
	font-weight: 800;
}

.qil-contact-card a:hover {
	background: #05b84e;
}


/* Footer */

.qi-legal-page #qi-footer-v3 {
	margin-top: 0;
}


/* Tablet */

@media screen and (max-width: 849px) {

	.qil-shell {
		width: min(calc(100% - 36px), 760px);
	}

	.qil-summary-grid {
		grid-template-columns: 1fr 1fr;
	}

	.qil-summary-grid > div {
		border-bottom: 1px solid var(--qil-border);
	}

	.qil-summary-grid > div:nth-child(2) {
		border-right: 0;
	}

	.qil-summary-grid > div:nth-child(3),
	.qil-summary-grid > div:nth-child(4) {
		border-bottom: 0;
	}

	.qil-layout {
		grid-template-columns: 1fr;
	}

	.qil-toc {
		position: static;
	}

	.qil-toc-inner {
		display: flex;
		gap: 6px;
		overflow-x: auto;
		padding: 8px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.qil-toc-inner::-webkit-scrollbar {
		display: none;
	}

	.qil-toc strong {
		display: none;
	}

	.qil-toc a {
		flex: 0 0 auto;
		white-space: nowrap;
	}

}


/* Mobile */

@media screen and (max-width: 549px) {

	.qil-shell {
		width: calc(100% - 32px);
	}

	.qil-hero {
		padding: 47px 0 40px;
	}

	.qil-hero h1 {
		font-size: 35px;
	}

	.qil-lead {
		font-size: 14px;
		line-height: 1.85;
	}

	.qil-summary-grid {
		grid-template-columns: 1fr 1fr;
	}

	.qil-summary-grid > div,
	.qil-summary-grid > div:first-child,
	.qil-summary-grid > div:last-child {
		padding: 16px 14px;
	}

	.qil-summary-grid > div:nth-child(odd) {
		border-right: 1px solid var(--qil-border);
	}

	.qil-summary-grid > div:nth-child(even) {
		border-right: 0;
	}

	.qil-body {
		padding: 28px 0 42px;
	}

	.qil-layout {
		gap: 14px;
	}

	.qil-content {
		padding: 22px 19px;
		border-radius: 12px;
	}

	.qil-section {
		grid-template-columns: 1fr;
		gap: 6px;
		padding: 27px 0;
	}

	.qil-number {
		padding-top: 0;
	}

	.qil-section h2 {
		margin-bottom: 13px;
		font-size: 22px;
	}

	.qil-section p,
	.qil-section li {
		font-size: 13px;
	}

	.qil-contact-card {
		display: block;
	}

	.qil-contact-card a {
		width: 100%;
		margin-top: 14px;
	}

}
