/**
 * Duplicata Component - CSS - V2
 * Estilos para o formulário e duplicata gerada
 * 
 * @package     Duplicata
 * @author      Dr. Denis Siqueira
 * @copyright   Copyright (C) 2026. All rights reserved.
 */


.form-control::placeholder {
    color: #E0E0E0 !important;
}

/* Classes para impressão */
.impresso {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #000000;
}

.impressoCopy {
	font-family: 'Courier New', Courier, monospace;
	font-size: 16px;
	font-weight: bold;
	color: #000000;
}

.borda {
	border-right: 1px solid #000000;
	border-top: 1px solid #000000;
	border-left: 1px solid #000000;
	border-bottom: 1px solid #000000;
}

/* =========================================
   Reset de Estilos para Isolamento do Layout 
   (Anula Bootstrap e Template Joomla)
   ========================================= */
.duplicata-container {
	all: initial;
	/* Reseta herança */
	font-family: Arial, sans-serif;
	background-color: #fff;
	display: block;
	width: 100%;
	box-sizing: content-box !important;
	/* Volta para box model padrão antigo */
}

/* Anula estilos de tabela do Bootstrap */
.duplicata-container table {
	border-collapse: separate !important;
	/* Bootstrap usa collapse */
	border-spacing: 2px !important;
	/* Original tem cellspacing="2" */
	width: auto !important;
	max-width: none !important;
	background-color: transparent !important;
	margin: 0 auto !important;
	/* Centraliza */
	box-sizing: content-box !important;
}

.duplicata-container table[cellspacing="0"] {
	border-spacing: 0 !important;
}

.duplicata-container td {
	padding: 0 !important;
	/* Original tem cellpadding="0" */
	border: none !important;
	vertical-align: middle !important;
	background-color: transparent !important;
	line-height: normal !important;
	box-sizing: content-box !important;
}

/* Anula estilos de imagem responsiva do Bootstrap */
.duplicata-container img {
	max-width: none !important;
	vertical-align: bottom !important;
	/* Remove espaço extra embaixo de imagens */
	box-sizing: content-box !important;
	display: inline-block !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Estilos para checkboxes de salvar dados */
.save-data-container {
	background-color: #f0f8ff;
	border: 1px solid #b8daff;
	border-radius: 4px;
	padding: 10px 15px;
	margin-bottom: 15px;
	margin-left: 28px;
}

.save-data-checkbox-wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
}

.save-data-checkbox-wrapper label {
	margin: 0;
	cursor: pointer;
	font-weight: normal;
}

.save-data-checkbox {
	cursor: pointer;
	margin-left: -2.5rem !important;
}

/* Header customizado para cards */
.bg-deep-blue {
	background-color: #003366 !important;
}

/* Ajustes para impressão */
@media print {

	/* Ocultar TUDO na página por padrão */
	body * {
		visibility: hidden;
	}

	/* Mostrar apenas o container da duplicata e seus filhos */
	.duplicata-container,
	.duplicata-container * {
		visibility: visible;
	}

	/* Posicionar o container no topo absoluto para ignorar o layout do site */
	.duplicata-container {
		position: absolute;
		left: 0;
		top: 0;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Ocultar botões e elementos UI explicitamente */
	.no-print,
	.save-data-container,
	button,
	.btn,
	.component-header,
	header,
	footer,
	#header,
	#footer,
	.joomla-alert,
	#system-message-container,
	.toolbar {
		display: none !important;
	}

	/* Garantir que imagens sejam impressas */
	img {
		max-width: 100% !important;
		page-break-inside: avoid;
	}

	/* Forçar página em modo paisagem */
	@page {
		size: A4 landscape;
		margin: 10mm;
	}

	/* Ajustar tamanhos de fonte para impressão */
	.impresso {
		font-size: 11px;
		/* Levemente menor para caber */
	}

	.impressoCopy {
		font-size: 14px;
	}
}

/* Informational Density - Compact inputs */
.form-control-sm {
	height: calc(1.5em + 0.5rem + 2px);
	padding: 0.25rem 0.5rem;
	font-size: 0.875rem;
	line-height: 1.5;
	border-radius: 0.2rem;
}

/* Tabular Grid for Duplicatas */
.duplicata-table-header {
	background-color: #f8f9fa;
	border-bottom: 2px solid #dee2e6;
	padding: 8px 0;
	margin-bottom: 0;
	font-weight: bold;
	color: #495057;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.duplicata-table-row {
	border-bottom: 1px solid #e9ecef;
	padding: 10px 0;
	transition: background-color 0.2s;
}

.duplicata-table-row:hover {
	background-color: #fdfdfe;
}

.duplicata-table-row .row-number {
	font-size: 0.9rem;
	color: #6c757d;
	font-weight: 600;
}

.duplicata-table-row .btn-remove-row {
	border-radius: 50%;
	width: 28px;
	height: 28px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-weight: bold;
	opacity: 0.6;
	transition: all 0.2s;
}

.duplicata-table-row:hover .btn-remove-row {
	opacity: 1;
}

/* Specific alignments for the table-like grid */
.col-num {
	width: 5%;
	flex: 0 0 5%;
	max-width: 5%;
}

.col-data {
	width: 18%;
	flex: 0 0 18%;
	max-width: 18%;
}

.col-val {
	width: 18%;
	flex: 0 0 18%;
	max-width: 18%;
}

.col-doc {
	width: 18%;
	flex: 0 0 18%;
	max-width: 18%;
}

.col-actions {
	width: 5%;
	flex: 0 0 5%;
	max-width: 5%;
	text-align: right;
}

/* Custom shadows for a premium feel */
.card {
	border: none !important;
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
	transition: box-shadow 0.3s ease-in-out;
}

.card:hover {
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.card-header {
	border-bottom: none !important;
	font-weight: 600;
}

/* Responsividade - Apenas para o formulário */
@media (max-width: 991.98px) {
	.duplicata-table-header {
		display: none !important;
	}

	.duplicata-table-row {
		border: 1px solid #dee2e6;
		margin-bottom: 15px;
		margin-left: 15px;
		margin-right: 15px;
		border-radius: 8px;
		padding: 15px;
	}

	.col-num,
	.col-data,
	.col-val,
	.col-doc,
	.col-actions {
		width: 100% !important;
		flex: 0 0 100% !important;
		max-width: 100% !important;
		text-align: left !important;
		margin-bottom: 10px;
	}

	.col-actions {
		text-align: right !important;
		margin-bottom: 0;
	}
}

/* Modern Border Box for PDF view */
.dup-box {
	border: 1px solid #000 !important;
	border-radius: 10px !important;
	padding: 2px !important;
	margin-bottom: 5px !important;
	background: transparent !important;
	position: relative !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

.dup-box>table {
	width: 100% !important;
	margin: 0 !important;
}