#contrato-cliente
{
}

#contrato-cliente *
{
	font-size: 10pt;
	line-height: 11pt;
}

#contrato-cliente .reverso *
{
	font-size: 10pt;
	line-height: 11pt;
}

#contrato-cliente .reverso > p
{
	margin-bottom: 3pt;
	text-align: justify;
}

#contrato-cliente h3
{
	font-size: 14pt;
	text-align: center;
}

#contrato-cliente #logo
{
	height: 7em;
}

#contrato-cliente #logo img
{
	max-height: 100%;
	max-width: 100%;
}

#contrato-cliente #noContrato *
{
	font-size: 12pt;
}

#contrato-cliente #noContrato > *
{
	display: inline-block;
	vertical-align: bottom;
}

#contrato-cliente #noContrato
{
	padding: 1em 0;
}

#contrato-cliente #noContrato span
{
	margin-right: 1em;
}

#contrato-cliente div.slogan
{
	text-align: center;
}

#contrato-cliente div.slogan blockquote
{
	border: none;
	border-top: 1px #EEE solid;
	border-bottom: 1px #EEE solid;
	font-size: 13pt;
	font-family: "cursive";
	font-style: italic;
}

#contrato-cliente .grilla
{
	text-align: center;
	width: 100%;
}

#contrato-cliente .grilla ul
{
	list-style: none;
}

#contrato-cliente .grilla ul li
{
	display: inline-block;
	text-align: left;
	vertical-align: bottom;
}

#contrato-cliente .grilla ul li:nth-child(odd)
{
	width: 20%;
}

#contrato-cliente .grilla ul li:nth-child(even)
{
	border-bottom: 1px solid #777;
	width: 25%;
}

#contrato-cliente .grilla ul li:nth-child(2)
{
	margin-right: 8%;
}

#contrato-cliente #anotaciones
{
	border-collapse: separate;
	border-spacing: 10pt;
	margin-bottom: 60px; /* Espacio para las firmas */
}

#contrato-cliente #anotaciones td
{
	border: 1px solid #AAA;
	padding: 8pt 8pt; /* Reducir padding */
	vertical-align: top;
	max-height: 200px; /* Limitar altura máxima */
	overflow: hidden;
}

#contrato-cliente #anotaciones ul, #contrato-cliente #anotaciones p
{
	margin: 0;
	padding: 0;
	text-align: left;
}

#contrato-cliente #anotaciones ul
{
	padding-left: 12pt;
}

#contrato-cliente #firmas
{
	list-style: none;
	padding-top: 2em;
	text-align: center;
}

#contrato-cliente #firmas li
{
	display: inline-block;
	text-align: center;
	width: 32%;
}

#contrato-cliente #firmas li span
{
	border-top: 1px solid #AAA;
	display: inline-block;
	width: 80%;
}

#contrato-cliente p.observaciones
{
	border-bottom: 1px solid #333;
	margin: 0 .5em;
	/*padding-top: .5em;*/
	padding: 0px;
	text-align: left;
}

#contrato-cliente #DatosEmpresa > div
{
	display: inline-block;
	vertical-align: top;
}

#contrato-cliente #DatosEmpresa div.info
{
	font-size: 12px;
}

#contrato-cliente div#cedula img
{
	max-height: 7em;
}

.underline{
	text-decoration: underline;
}

.uppercase{
	text-transform: uppercase;
}

#contrato-cliente .page{
	height: 730pt;
	margin: 0px;
	border: 1px solid #FFFFFF;
	overflow: hidden;
	page-break-after: always;
	position: relative;
}

/* Ajustes para evitar superposición */
#contrato-cliente .page.reverso {
	page-break-before: always;
	clear: both;
	margin-top: 50px;
	position: relative;
	z-index: 1;
}

/* Asegurar que las firmas estén dentro de la primera página */
#contrato-cliente .page:first-child #firmas {
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
	margin: 0;
	padding: 0;
}

/* Separador visible en pantalla */
@media screen {
	div[style*="page-break-before"] {
		height: 30px;
		background: linear-gradient(90deg, #ddd 0%, #fff 50%, #ddd 100%);
		margin: 20px 0;
		position: relative;
	}
	
	div[style*="page-break-before"]:before {
		content: "--- PÁGINA 2 ---";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background: white;
		padding: 0 10px;
		font-size: 12px;
		color: #666;
	}
}

/* Estilos para lista de productos en dos columnas - pantalla */
#contrato-cliente .contrato-dinamico div[style*="display: flex"] {
	display: flex !important;
	gap: 20px;
	margin: 10px 0;
}

#contrato-cliente .contrato-dinamico div[style*="flex: 1"] {
	flex: 1;
}

#contrato-cliente .contrato-dinamico div[style*="display: flex"] ul {
	margin: 0;
	padding-left: 20px;
	list-style-type: disc;
}

#contrato-cliente .contrato-dinamico div[style*="display: flex"] li {
	margin-bottom: 4px;
	font-size: 10pt;
	line-height: 12pt;
}

/* Mejoras para impresión */
@media print {
	#contrato-cliente .page {
		height: 100vh;
		min-height: 100vh;
		max-height: 100vh;
		page-break-after: always;
		page-break-inside: avoid;
		overflow: hidden;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}
	
	#contrato-cliente .page.reverso {
		page-break-before: always;
		margin-top: 0;
	}
	
	/* Asegurar que las firmas estén al final de la primera página */
	#contrato-cliente .page:first-child {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	
	#contrato-cliente .page:first-child #firmas {
		position: static;
		margin-top: auto;
		margin-bottom: 20px;
	}
	
	/* Ajustar el contenido para que quepa en una página */
	#contrato-cliente #anotaciones {
		margin-bottom: 20px;
	}
	
	#contrato-cliente #anotaciones td {
		padding: 6pt;
		font-size: 9pt;
		line-height: 10pt;
	}
	
	#contrato-cliente .grilla {
		margin-bottom: 15px;
	}
	
	/* Estilos para lista de productos en dos columnas */
	#contrato-cliente div[style*="display: flex"] ul {
		margin: 0;
		padding-left: 15px;
	}
	
	#contrato-cliente div[style*="display: flex"] li {
		margin-bottom: 2px;
		font-size: 9pt;
		line-height: 11pt;
	}
	
	/* Forzar separación entre páginas */
	div[style*="page-break-before"] {
		height: 0;
		margin: 0;
		padding: 0;
		border: none;
		page-break-before: always !important;
	}
}