/* Estilos base para Términos y Condiciones (aislados)
	 Minimalista, accesible y fácil de mantener. */

:root {
	--tc-bg: #ffffff;
	--tc-fg: #222222;
	--tc-fg-muted: #666666;
	--tc-border: #eaeaea;
	--tc-accent: #0ea5e9; /* sky-500 */
	--tc-note-bg: #fff9db;
	--tc-note-border: #ffe58f;
	--tc-radius: 12px;
	--tc-maxw: 800px; /* parecido a A4 en pantalla */
	--tc-shadow: 0 6px 24px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.04);
}

.tc-wrapper, .tc-container { box-sizing: border-box; }

.tc-container {
	max-width: var(--tc-maxw);
	margin: 2rem auto;
	padding: 1.25rem; /* fijo para evitar reflow por clamp */
	line-height: 1.75;
	color: var(--tc-fg);
	background: var(--tc-bg);
	border: 1px solid var(--tc-border);
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow);
}

.tc-header {
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--tc-border);
	padding-bottom: .5rem;
}

.tc-title {
	margin: 0 0 .25rem 0;
	font-size: 1.875rem; /* 30px fijo */
	letter-spacing: .2px;
}

.tc-updated {
	margin: 0;
	color: var(--tc-fg-muted);
	font-size: .9rem;
}

.tc-article h2 {
	margin-top: 1.5rem;
	font-size: 1.25rem; /* 20px fijo */
	font-weight: 600;
}

.tc-article h3 {
	margin-top: 1rem;
	font-size: 1.125rem; /* 18px fijo */
	font-weight: 600;
}

.tc-article ul { padding-left: 1.2rem; }
.tc-article li { margin: .25rem 0; }

.tc-note {
	background: var(--tc-note-bg);
	border: 1px solid var(--tc-note-border);
	padding: .75rem;
	border-radius: .5rem;
}

/* Cláusulas */
.tc-clause { padding: .5rem 0; }
.tc-clause + .tc-clause { border-top: 1px dashed var(--tc-border); }
.tc-clause h3 { position: relative; }
.tc-clause h3::after {
	content: '';
	display: block;
	width: 28px;
	height: 2px;
	background: var(--tc-accent);
	margin: .35rem 0 .25rem;
	border-radius: 1px;
}

.tc-details { margin-top: 1rem; }
.tc-details summary { cursor: pointer; font-weight: 600; }

/* Enlaces dentro del contenido (si los hubiera) */
.tc-article a { color: var(--tc-accent); text-decoration: none; }
.tc-article a:hover { text-decoration: underline; }

@media (max-width: 768px) {
	.tc-container { padding: 1rem; }
}

/* Estilos de impresión para parecer una hoja A4 */
@media print {
	:root {
		/* Forzar colores sobrios en impresión */
		--tc-fg: #000000;
		--tc-fg-muted: #333333;
		--tc-border: #cccccc;
	}
	html, body { height: auto; }
	body { background: #ffffff; }
	.tc-container {
		max-width: 210mm; /* A4 ancho */
		padding: 16mm;    /* margen interno similar a documento */
		margin: 0 auto;
		border: none;
		border-radius: 0;
		box-shadow: none;
		page-break-inside: avoid;
	}
	.tc-clause { page-break-inside: avoid; }
	/* Márgenes de impresión del navegador */
	@page {
		size: A4;
		margin: 12mm;
	}
}

