/* ============================================================
   politica-reembolsos.css — Política de soporte y reembolsos
   Los colores y tipografías de marca (--brand-*) se reutilizan
   desde style.css. Estilos limitados a esta plantilla.
   ============================================================ */

/* ── Base y tipografía ─────────────────────────────────────── */
#lg-policy {
	--policy-line: #eadfe3;
	font-family: var(--brand-font-body,'Poppins',sans-serif);
	color: var(--brand-text,#1a0a1e);
	background: #fff;
	line-height: 1.8;
}

#lg-policy *, #lg-policy *::before, #lg-policy *::after {
	box-sizing: border-box;
}

#lg-policy .lp-container {
	width: min(1120px,calc(100% - 48px));
	margin-inline: auto;
}

#lg-policy h1, #lg-policy h2, #lg-policy h3 {
	font-family: var(--brand-font-title,'League Spartan',sans-serif);
	color: var(--brand-text,#1a0a1e);
	line-height: 1.12;
}

/* ── Cabecera ── */
#lg-policy .lp-hero {
	padding: 72px 0 56px;
	background: linear-gradient(145deg,var(--brand-crema-claro,#f8f3e8),#f9edf2);
	border-bottom: 1px solid var(--policy-line);
}

#lg-policy .lp-eyebrow {
	color: var(--brand-fucsia,#9f3969);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
}

#lg-policy h1 {
	max-width: 860px;
	margin: 22px 0;
	font-size: clamp(38px,5vw,64px);
	font-weight: 700;
	letter-spacing: -.025em;
}

#lg-policy h1 span {
	color: var(--brand-fucsia,#9f3969);
}

#lg-policy .lp-intro {
	max-width: 660px;
	font-size: 17px;
	margin: 0 0 24px;
}

#lg-policy .lp-date {
	font-size: 12px;
	color: #685963;
	margin: 0;
}

/* ── Resumen de atención ── */
#lg-policy .lp-summary {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 20px;
	margin-top: 32px;
}

#lg-policy .lp-summary article {
	border: 1px solid var(--policy-line);
	border-radius: 18px;
	padding: 24px;
	background: #fff;
}

#lg-policy .lp-summary b {
	display: block;
	font-family: var(--brand-font-title,'League Spartan',sans-serif);
	font-size: 29px;
	color: var(--brand-fucsia,#9f3969);
	line-height: 1.2;
	margin-bottom: 8px;
}

#lg-policy .lp-summary p {
	margin: 0;
	font-size: 13px;
}

/* ── Contenido e índice lateral ── */
#lg-policy .lp-layout {
	display: grid;
	grid-template-columns: 240px minmax(0,1fr);
	gap: 72px;
	padding-block: 64px;
	align-items: start;
}

#lg-policy .lp-sidebar {
	position: sticky;
	top: 110px;
}

#lg-policy .lp-sidebar h2 {
	font-size: 20px;
	margin: 0 0 20px;
}

#lg-policy .lp-sidebar nav {
	display: grid;
	gap: 4px;
}

/* ── Enlaces y accesibilidad ── */
#lg-policy a {
	color: var(--brand-fucsia,#9f3969);
	text-underline-offset: 4px;
	overflow-wrap: anywhere;
}

#lg-policy .lp-sidebar nav a {
	display: block;
	padding: 8px 0;
	font-size: 13px;
	text-decoration: none;
	border-bottom: 1px solid var(--policy-line);
}

#lg-policy a:hover {
	text-decoration: underline;
}

#lg-policy a:focus-visible {
	outline: 3px solid var(--brand-fucsia,#9f3969);
	outline-offset: 5px;
	border-radius: 3px;
}

/* ── Secciones de la política ── */
#lg-policy .lp-section {
	scroll-margin-top: 120px;
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--policy-line);
}

#lg-policy .lp-section h2 {
	font-size: 29px;
	margin: 0 0 20px;
}

#lg-policy .lp-section p {
	margin: 0 0 16px;
	font-size: 15px;
}

#lg-policy .lp-section p:last-child {
	margin-bottom: 0;
}

#lg-policy .lp-number {
	display: block;
	color: var(--brand-fucsia,#9f3969);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	margin-bottom: 10px;
}

/* ── Contacto y botón ── */
#lg-policy .lp-contact {
	padding: 26px;
	border-radius: 18px;
	background: var(--brand-crema-claro,#f8f3e8);
	margin-top: 28px;
}

#lg-policy .lp-contact h3 {
	margin: 0 0 12px;
	font-size: 23px;
}

#lg-policy .lp-contact p {
	font-size: 13px;
	margin: 0 0 16px;
}

#lg-policy .lp-button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 16px;
	border-radius: 30px;
	color: #fff;
	background: var(--brand-fucsia,#9f3969);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

#lg-policy .lp-button:hover {
	background: #812b55;
	text-decoration: none;
}

#lg-policy .lp-contact .lp-email {
	display: block;
	margin-top: 16px;
	font-size: 12px;
}

/* ── Cierre ── */
#lg-policy .lp-closing {
	padding: 28px;
	border-left: 3px solid var(--brand-fucsia,#9f3969);
	background: #fbf6f8;
	border-radius: 0 14px 14px 0;
}

#lg-policy .lp-closing h2 {
	margin: 0 0 12px;
	font-size: 25px;
}

#lg-policy .lp-closing p {
	margin: 0;
	font-size: 14px;
}

/* ── Adaptación a tabletas ── */
@media(max-width:800px) {
	#lg-policy .lp-layout {
		grid-template-columns: 1fr;
		gap: 36px;
		padding-block: 36px;
	}

	#lg-policy .lp-sidebar {
		position: static;
	}

	#lg-policy .lp-sidebar nav {
		grid-template-columns: repeat(2,minmax(0,1fr));
		gap: 6px 18px;
	}

	#lg-policy .lp-contact {
		margin-top: 24px;
	}

	#lg-policy .lp-hero {
		padding: 44px 0 36px;
	}

}

/* ── Adaptación a móviles ── */
@media(max-width:520px) {
	#lg-policy .lp-container {
		width: calc(100% - 32px);
	}

	#lg-policy .lp-summary {
		grid-template-columns: 1fr;
		gap: 12px;
		margin-top: 24px;
	}

	#lg-policy .lp-summary article {
		padding: 20px;
	}

	#lg-policy .lp-intro {
		font-size: 15px;
	}

	#lg-policy .lp-section h2 {
		font-size: 26px;
	}

	#lg-policy .lp-sidebar nav {
		grid-template-columns: 1fr;
	}

}

/* ── Impresión ── */
@media print {
	#lg-policy .lp-sidebar {
		display: none;
	}

	#lg-policy .lp-layout {
		display: block;
		padding-block: 20px;
	}

	#lg-policy .lp-hero {
		padding: 20px 0;
	}

	#lg-policy .lp-section {
		break-inside: avoid;
	}

}

/* ── Lectura de los textos de la política ── */
#lg-policy .lp-intro,
#lg-policy .lp-section p {
	text-align: justify;
	hyphens: auto;
}
