/* ==========================================================================
   Documento de texto longo (Política de Privacidade)
   ========================================================================== */

.page-hero--doc {
	padding-block: clamp(2.5rem, 6vw, 4rem);
}

.page-hero--doc h1 {
	font-size: clamp(2rem, 5vw, 3.1rem);
}

.doc {
	background: var(--white);
	padding-block: var(--section-y);
}

.doc-wrap {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

/* índice */
.doc-index {
	padding: 1.4rem 1.5rem;
	background: var(--paper);
	border: 1px solid var(--line-light);
	border-radius: var(--radius-l);
}

.doc-index h2 {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--ink-3);
	margin-bottom: 1rem;
}

.doc-index ol {
	counter-reset: doc;
	display: grid;
	gap: .1rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.doc-index li {
	counter-increment: doc;
}

.doc-index a {
	display: flex;
	gap: .6rem;
	padding: .45rem .55rem;
	border-radius: 8px;
	font-size: .92rem;
	line-height: 1.4;
	color: var(--ink-2);
	transition: background-color .18s var(--ease), color .18s var(--ease);
}

.doc-index a::before {
	content: counter(doc) ".";
	color: var(--blue-600);
	font-weight: 700;
	flex: none;
}

.doc-index a:hover {
	background: var(--white);
	color: var(--ink);
}

/* corpo */
.doc-body {
	max-width: 44rem;
}

.doc-lead {
	font-size: clamp(1.05rem, 1.8vw, 1.18rem);
	line-height: 1.6;
	color: var(--ink);
	padding-bottom: 1.75rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid var(--line-light);
}

.doc-body h2 {
	font-size: clamp(1.2rem, 2.4vw, 1.42rem);
	margin: 2.5rem 0 .9rem;
	scroll-margin-top: 92px;
}

.doc-body h2:first-of-type {
	margin-top: 0;
}

.doc-body p {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--ink-2);
	margin-bottom: 1rem;
}

.doc-body strong {
	color: var(--ink);
}

.doc-body a:not(.btn) {
	color: var(--blue-600);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.doc-list {
	display: grid;
	gap: .6rem;
	margin: 0 0 1.25rem;
	padding: 0;
}

.doc-list li {
	position: relative;
	padding-left: 1.5rem;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--ink-2);
}

.doc-list li::before {
	content: "";
	position: absolute;
	left: .25rem;
	top: .68em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--blue-500);
}

.doc-note {
	display: flex;
	align-items: flex-start;
	gap: .85rem;
	margin: 1.5rem 0 !important;
	padding: 1.15rem 1.3rem;
	background: var(--paper);
	border: 1px solid var(--line-light);
	border-radius: var(--radius);
	font-size: .95rem !important;
	line-height: 1.6;
}

.doc-note svg {
	width: 19px;
	height: 19px;
	flex: none;
	margin-top: .2rem;
	color: var(--blue-600);
}

.doc-contacts {
	display: grid;
	gap: .65rem;
	margin: 1.5rem 0;
}

.doc-contacts a {
	display: flex;
	align-items: center;
	gap: .85rem;
	padding: .85rem 1rem;
	background: var(--paper);
	border: 1px solid var(--line-light);
	border-radius: var(--radius);
	text-decoration: none !important;
	transition: border-color .2s var(--ease), transform .2s var(--ease);
}

.doc-contacts a:hover {
	border-color: rgba(22, 142, 207, .4);
	transform: translateX(3px);
}

.doc-contacts .ico {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	flex: none;
	border-radius: 10px;
	background: rgba(22, 142, 207, .1);
	color: var(--blue-600);
}

.doc-contacts .ico svg {
	width: 18px;
	height: 18px;
}

.doc-contacts .label {
	display: block;
	font-family: var(--font-display);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--ink-3);
}

.doc-contacts .value {
	display: block;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: .98rem;
	color: var(--ink);
	overflow-wrap: break-word;
}

.doc-contacts a > span:last-child {
	min-width: 0;
}

.doc-back {
	margin-top: 2.5rem !important;
	padding-top: 2rem;
	border-top: 1px solid var(--line-light);
}

.doc-back .btn svg {
	transition: transform var(--dur) var(--ease);
}

.doc-back .btn:hover svg {
	transform: translateX(-3px);
}

@media (min-width: 900px) {
	.doc-wrap {
		grid-template-columns: 17rem minmax(0, 1fr);
	}

	.doc-index {
		position: sticky;
		top: 96px;
	}
}
