/* ==========================================================================
   Kamala — páginas de texto (legales) y preguntas frecuentes. Sin boceto:
   título fino con línea, como contacto, y una columna de lectura cómoda.
   ========================================================================== */

.text-page {
	width: min(1478px, 100%);
	margin-inline: auto;
	padding: clamp(28px, 4.2vw, 62px) clamp(20px, 5.6vw, 83px) clamp(48px, 6vw, 96px);
}

.text-page__title {
	padding-bottom: clamp(10px, 1.1vw, 16px);
	border-bottom: 1px solid var(--muted);
	font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);
	font-weight: 200;
	letter-spacing: 0.02em;
	line-height: 1.15;
	text-transform: uppercase;
	text-wrap: balance;
}

.text-page__body {
	max-width: 760px;
	margin-top: clamp(24px, 3.2vw, 46px);
}

/* Texto corrido ------------------------------------------------------------- */

.prose {
	font-size: 1rem;
	line-height: 1.75;
	overflow-wrap: break-word;
}

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

.prose p,
.prose ul,
.prose ol {
	margin: 0 0 1.1em;
}

.prose ul,
.prose ol {
	padding-left: 1.3em;
}

.prose li + li {
	margin-top: 0.35em;
}

.prose :is(h2, h3, h4, h5) {
	margin: 2.2em 0 0.9em;
	font-size: var(--fs-small);
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.prose strong {
	font-weight: 500;
}

.prose a {
	text-underline-offset: 0.3em;
}

.prose table {
	width: 100%;
	margin: 0 0 1.4em;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.prose :is(th, td) {
	padding: 10px 12px 10px 0;
	border-bottom: 1px solid var(--line);
	text-align: left;
	vertical-align: top;
}

/* Preguntas frecuentes ------------------------------------------------------ */

.faq-group + .faq-group {
	margin-top: clamp(32px, 4vw, 56px);
}

.faq-group__title {
	margin-bottom: 14px;
	font-size: var(--fs-label);
	font-weight: 400;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
}

.faq {
	border-top: 1px solid var(--line);
}

.faq:last-of-type {
	border-bottom: 1px solid var(--line);
}

.faq__question {
	position: relative;
	display: block;
	padding: 18px 44px 18px 0;
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}

.faq__question::-webkit-details-marker {
	display: none;
}

/* El "+" que pasa a "−" al abrir. */
.faq__question::before,
.faq__question::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 4px;
	width: 16px;
	height: 1px;
	background: currentColor;
	transition: transform var(--speed, 0.2s) ease;
}

.faq__question::after {
	transform: rotate(90deg);
}

.faq[open] > .faq__question::after {
	transform: rotate(0deg);
}

.faq__question:focus-visible {
	outline: 1px solid var(--ink);
	outline-offset: 2px;
}

.faq__answer {
	padding: 0 44px 22px 0;
	color: var(--muted);
}

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

.faq-more {
	margin: clamp(28px, 3.4vw, 46px) 0 0;
}

.faq-more a {
	margin-left: 6px;
	text-underline-offset: 0.3em;
}
