/**
 * Estilos Públicos do Portal de Emendas Parlamentares
 * Rio Bonito - RJ
 */

:root {
	--emendas-primary-color: #1e3a8a; /* Azul Marinho Municipal */
	--emendas-primary-hover: #1e40af;
	--emendas-primary-light: #eff6ff;
	--emendas-accent-color: #10b981; /* Verde Botão Download */
	--emendas-accent-hover: #059669;
	--emendas-bg-color: #f8fafc;
	--emendas-card-bg: #ffffff;
	--emendas-border-color: #e2e8f0;
	--emendas-text-main: #1e293b;
	--emendas-text-muted: #64748b;
	
	--emendas-font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--emendas-font-title: 'Outfit', sans-serif;
	
	--emendas-shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
	--emendas-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.05), 0 2px 4px -1px rgba(0,0,0,0.03);
	--emendas-shadow-lg: 0 10px 15px -3px rgba(30, 41, 59, 0.08);
	--emendas-radius-sm: 6px;
	--emendas-radius-md: 10px;
	--emendas-radius-lg: 16px;
	--emendas-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* BLINDAGEM DO CONTAINER CONTRA ESTILOS DE TEMAS */
.emendas-public-portal-wrapper {
	font-family: var(--emendas-font-family) !important;
	color: var(--emendas-text-main) !important;
	background-color: var(--emendas-bg-color) !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 20px !important;
	border-radius: var(--emendas-radius-lg) !important;
	box-shadow: var(--emendas-shadow-md) !important;
	border: 1px solid var(--emendas-border-color) !important;
}

.emendas-public-portal-wrapper * {
	box-sizing: border-box !important;
}

/* BARRA DE FILTROS SUPERIOR */
.emendas-filters-bar {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 12px !important;
	margin-bottom: 25px !important;
	background: #ffffff !important;
	padding: 16px !important;
	border-radius: var(--emendas-radius-md) !important;
	border: 1px solid var(--emendas-border-color) !important;
	box-shadow: var(--emendas-shadow-sm) !important;
}

.emendas-filter-item {
	display: flex !important;
}

.emendas-limit-wrapper {
	width: 80px !important;
}

.emendas-cat-wrapper {
	flex: 1 !important;
	min-width: 200px !important;
}

.emendas-search-wrapper {
	flex: 1.5 !important;
	min-width: 250px !important;
}

/* Campos Inputs do Filtro */
.emendas-public-portal-wrapper .emendas-select {
	width: 100% !important;
	padding: 10px 12px !important;
	border: 1.5px solid var(--emendas-border-color) !important;
	border-radius: var(--emendas-radius-sm) !important;
	font-size: 14px !important;
	color: var(--emendas-text-main) !important;
	background-color: #ffffff !important;
	outline: none !important;
	box-shadow: none !important;
	height: 42px !important;
	line-height: normal !important;
	cursor: pointer !important;
}

.emendas-public-portal-wrapper .emendas-select:focus {
	border-color: var(--emendas-primary-color) !important;
}

/* Caixa de Busca com Ícone */
.emendas-search-input-box {
	position: relative !important;
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
}

.emendas-search-input-box .dashicons-search {
	position: absolute !important;
	left: 12px !important;
	color: var(--emendas-text-muted) !important;
	font-size: 18px !important;
	width: 18px !important;
	height: 18px !important;
}

.emendas-search-input-box input[type="text"] {
	width: 100% !important;
	padding: 10px 12px 10px 38px !important;
	border: 1.5px solid var(--emendas-border-color) !important;
	border-radius: var(--emendas-radius-sm) !important;
	font-size: 14px !important;
	color: var(--emendas-text-main) !important;
	background-color: #ffffff !important;
	outline: none !important;
	box-shadow: none !important;
	height: 42px !important;
	line-height: normal !important;
	margin: 0 !important;
}

.emendas-search-input-box input[type="text"]:focus {
	border-color: var(--emendas-primary-color) !important;
	box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.08) !important;
}

/* TABELA PRINCIPAL */
.emendas-table-container {
	background: #ffffff !important;
	border-radius: var(--emendas-radius-md) !important;
	border: 1px solid var(--emendas-border-color) !important;
	box-shadow: var(--emendas-shadow-sm) !important;
	overflow: hidden !important;
	margin-bottom: 25px !important;
}

.emendas-table-responsive {
	width: 100% !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
}

.emendas-public-table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 0 !important;
	font-size: 14.5px !important;
	text-align: left !important;
}

.emendas-public-table th {
	background-color: #f1f5f9 !important;
	color: var(--emendas-primary-color) !important;
	font-weight: 700 !important;
	padding: 16px 20px !important;
	font-size: 13px !important;
	letter-spacing: 0.5px !important;
	border-bottom: 2px solid var(--emendas-border-color) !important;
	user-select: none !important;
}

.emendas-public-table th.sortable {
	cursor: pointer !important;
	transition: var(--emendas-transition) !important;
}

.emendas-public-table th.sortable:hover {
	background-color: #e2e8f0 !important;
}

.emendas-public-table th.sortable .dashicons {
	font-size: 14px !important;
	width: 14px !important;
	height: 14px !important;
	vertical-align: middle !important;
	margin-left: 4px !important;
	color: var(--emendas-text-muted) !important;
}

.emendas-public-table th.active {
	color: var(--emendas-primary-hover) !important;
}

.emendas-public-table th.active .dashicons {
	color: var(--emendas-primary-color) !important;
}

.emendas-public-table td {
	padding: 16px 20px !important;
	border-bottom: 1px solid var(--emendas-border-color) !important;
	vertical-align: middle !important;
	color: var(--emendas-text-main) !important;
}

/* Efeito Hover nas linhas principais */
.emenda-row-main {
	cursor: pointer !important;
	transition: var(--emendas-transition) !important;
}

.emenda-row-main:hover {
	background-color: #f8fafc !important;
}

.emenda-row-main.is-open {
	background-color: var(--emendas-primary-light) !important;
}

/* Coluna de Títulos (com ícone e metadados) */
.emenda-title-container {
	display: flex !important;
	align-items: center !important;
	gap: 15px !important;
}

.emenda-zip-icon-wrapper {
	background-color: #f1f5f9 !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: var(--emendas-radius-sm) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var(--emendas-text-muted) !important;
	border: 1px solid var(--emendas-border-color) !important;
	transition: var(--emendas-transition) !important;
}

.emenda-row-main:hover .emenda-zip-icon-wrapper {
	background-color: var(--emendas-primary-light) !important;
	color: var(--emendas-primary-color) !important;
	border-color: #bfdbfe !important;
}

.emenda-zip-icon-wrapper .zip-icon {
	font-size: 24px !important;
	width: 24px !important;
	height: 24px !important;
}

.emenda-title-meta-wrapper {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.emenda-title-text {
	font-weight: 700 !important;
	color: var(--emendas-text-main) !important;
	font-size: 15px !important;
	line-height: 1.3 !important;
}

.emenda-meta-small {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 12px !important;
	color: var(--emendas-text-muted) !important;
}

.emenda-meta-small .dashicons {
	font-size: 13px !important;
	width: 13px !important;
	height: 13px !important;
	vertical-align: middle !important;
}

.emenda-meta-small .meta-divider {
	color: #cbd5e1 !important;
}

/* Categorias */
.emenda-categories-wrapper {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
}

.emenda-category-tag {
	font-size: 11px !important;
	font-weight: 600 !important;
	color: var(--emendas-primary-color) !important;
	background-color: var(--emendas-primary-light) !important;
	padding: 4px 8px !important;
	border-radius: 4px !important;
	white-space: nowrap !important;
}

/* Botão Download (Verde Premium) */
.emenda-btn-download {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	background-color: var(--emendas-accent-color) !important;
	color: #ffffff !important;
	padding: 8px 16px !important;
	border-radius: var(--emendas-radius-sm) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	transition: var(--emendas-transition) !important;
	border: none !important;
	box-shadow: 0 2px 4px rgba(16, 185, 129, 0.1) !important;
	height: 34px !important;
}

.emenda-btn-download:hover {
	background-color: var(--emendas-accent-hover) !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 8px rgba(16, 185, 129, 0.2) !important;
}

.emenda-btn-download .dashicons {
	font-size: 14px !important;
	width: 14px !important;
	height: 14px !important;
}

.emenda-no-files {
	font-size: 12.5px !important;
	color: var(--emendas-text-muted) !important;
	font-style: italic !important;
}

/* SUB-TABELA EXPANSIVA */
.emenda-row-details td {
	padding: 0 !important;
	background-color: #f8fafc !important;
	border-bottom: 1px solid var(--emendas-border-color) !important;
}

.emenda-details-inner {
	padding: 24px !important;
	border-top: 1px inset var(--emendas-border-color) !important;
}

.emenda-details-grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 24px !important;
}

@media (min-width: 768px) {
	.emenda-details-grid {
		grid-template-columns: 1.2fr 1fr !important;
	}
}

.emenda-details-card {
	background: #ffffff !important;
	border: 1px solid var(--emendas-border-color) !important;
	border-radius: var(--emendas-radius-md) !important;
	padding: 16px 20px !important;
	box-shadow: var(--emendas-shadow-sm) !important;
}

.emenda-details-card h5 {
	font-family: var(--emendas-font-title) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--emendas-primary-color) !important;
	margin: 0 0 14px 0 !important;
	border-bottom: 1.5px solid var(--emendas-border-color) !important;
	padding-bottom: 8px !important;
}

/* Sub-tabela Técnica */
.emenda-details-subtable {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 0 !important;
}

.emenda-details-subtable th,
.emenda-details-subtable td {
	padding: 8px 0 !important;
	border: none !important;
	font-size: 13.5px !important;
	background: none !important;
}

.emenda-details-subtable th {
	font-weight: 600 !important;
	color: var(--emendas-text-muted) !important;
	width: 45% !important;
}

.emenda-details-subtable td {
	color: var(--emendas-text-main) !important;
	font-weight: 600 !important;
}

/* Links adicionais */
.emenda-links-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.emenda-link-row-item {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 10px 14px !important;
	background-color: var(--emendas-primary-light) !important;
	border-radius: var(--emendas-radius-sm) !important;
	border: 1px solid #e2e8f0 !important;
	transition: var(--emendas-transition) !important;
	gap: 15px !important;
}

.emenda-link-row-item:hover {
	border-color: #bfdbfe !important;
	background-color: #f0f6ff !important;
}

.emenda-link-info {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex: 1 !important;
	min-width: 0 !important;
}

.emenda-link-info .link-icon {
	color: var(--emendas-primary-color) !important;
	font-size: 16px !important;
	width: 16px !important;
	height: 16px !important;
	display: inline-block !important;
}

.emenda-link-name {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--emendas-text-main) !important;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
	overflow: hidden !important;
}

.emenda-btn-acessar-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	background-color: var(--emendas-primary-color) !important;
	color: #ffffff !important;
	padding: 6px 14px !important;
	border-radius: 4px !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	font-size: 12.5px !important;
	transition: var(--emendas-transition) !important;
	white-space: nowrap !important;
	box-shadow: 0 1px 2px rgba(30, 58, 138, 0.1) !important;
	height: 28px !important;
}

.emenda-btn-acessar-link:hover {
	background-color: var(--emendas-primary-hover) !important;
	color: #ffffff !important;
	transform: translateY(-0.5px) !important;
	box-shadow: 0 2px 4px rgba(30, 58, 138, 0.15) !important;
}

.emenda-btn-acessar-link .external-icon {
	font-size: 11px !important;
	width: 11px !important;
	height: 11px !important;
}

.emenda-no-links-text {
	font-size: 13px !important;
	color: var(--emendas-text-muted) !important;
	font-style: italic !important;
	margin: 0 !important;
}

/* Erros ou Falta de Resultados */
.emendas-no-results-row {
	text-align: center !important;
	padding: 40px 20px !important;
	color: var(--emendas-text-muted) !important;
}

.emendas-no-results-row .dashicons {
	font-size: 36px !important;
	width: 36px !important;
	height: 36px !important;
	margin-bottom: 10px !important;
	display: inline-block !important;
}

.emendas-no-results-row p {
	margin: 0 !important;
	font-size: 14.5px !important;
}

/* PAGINAÇÃO */
.emendas-pagination-wrapper {
	display: flex !important;
	justify-content: center !important;
	margin-top: 15px !important;
}

.emendas-pagination {
	display: flex !important;
	gap: 6px !important;
}

.emendas-pagination .page-numbers {
	width: 38px !important;
	height: 38px !important;
	border: 1.5px solid var(--emendas-border-color) !important;
	border-radius: var(--emendas-radius-sm) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	color: var(--emendas-text-main) !important;
	font-weight: 600 !important;
	transition: var(--emendas-transition) !important;
	background-color: #ffffff !important;
}

.emendas-pagination .page-numbers:hover {
	background-color: var(--emendas-primary-light) !important;
	border-color: var(--emendas-primary-color) !important;
	color: var(--emendas-primary-color) !important;
}

.emendas-pagination .page-numbers.current {
	background-color: var(--emendas-primary-color) !important;
	border-color: var(--emendas-primary-color) !important;
	color: #ffffff !important;
	cursor: default !important;
}

.emendas-pagination .page-numbers .dashicons {
	font-size: 16px !important;
	width: 16px !important;
	height: 16px !important;
}

/* ==========================================
   MELHORIAS DE RESPONSIVIDADE MOBILE
   ========================================== */
@media (max-width: 991px) {
	.emendas-filters-bar {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	
	.emendas-filter-item {
		width: 100% !important;
	}
	
	.emendas-limit-wrapper {
		width: 100% !important;
	}
}

@media (max-width: 768px) {
	.emendas-public-portal-wrapper {
		padding: 10px !important;
	}
	
	.emendas-table-container {
		border: none !important;
		box-shadow: none !important;
		background: transparent !important;
	}
	
	/* Desestruturar tabela em cards lineares */
	.emendas-public-table, 
	.emendas-public-table thead, 
	.emendas-public-table tbody, 
	.emendas-public-table tr, 
	.emendas-public-table th, 
	.emendas-public-table td {
		display: block !important;
		width: 100% !important;
	}
	
	.emendas-public-table thead {
		display: none !important; /* Esconde cabeçalho em table */
	}
	
	.emendas-public-table tbody tr.emenda-row-main {
		background: #ffffff !important;
		border: 1px solid var(--emendas-border-color) !important;
		border-radius: var(--emendas-radius-md) !important;
		box-shadow: var(--emendas-shadow-sm) !important;
		margin-bottom: 16px !important;
		padding: 16px !important;
	}
	
	.emendas-public-table tbody tr.emenda-row-main td {
		padding: 0 !important;
		border: none !important;
		margin-bottom: 12px !important;
	}
	
	.emendas-public-table tbody tr.emenda-row-main td:last-child {
		margin-bottom: 0 !important;
	}
	
	/* Estilo das colunas transformadas */
	.emendas-public-table td.col-titulo {
		order: 1 !important;
	}
	
	.emendas-public-table td.col-data {
		order: 2 !important;
		font-size: 13px !important;
		color: var(--emendas-text-muted) !important;
	}
	
	.emendas-public-table td.col-data::before {
		content: "Publicado em: " !important;
		font-weight: 600 !important;
	}
	
	.emendas-public-table td.col-categorias {
		order: 3 !important;
	}
	
	.emendas-public-table td.col-download {
		order: 4 !important;
		border-top: 1px solid var(--emendas-border-color) !important;
		padding-top: 12px !important;
		margin-top: 4px !important;
	}
	
	.emenda-btn-download {
		width: 100% !important;
		height: 38px !important;
	}
	
	/* Sub-Tabela Expansiva no Mobile */
	.emendas-public-table tbody tr.emenda-row-details {
		margin-top: -12px !important;
		margin-bottom: 16px !important;
		border: 1px solid var(--emendas-border-color) !important;
		border-top: none !important;
		border-radius: 0 0 var(--emendas-radius-md) var(--emendas-radius-md) !important;
		box-shadow: var(--emendas-shadow-sm) !important;
		background: #f8fafc !important;
	}
	
	.emendas-public-table tbody tr.emenda-row-main.is-open {
		border-radius: var(--emendas-radius-md) var(--emendas-radius-md) 0 0 !important;
		margin-bottom: 0 !important;
	}
	
	.emenda-details-inner {
		padding: 16px !important;
	}
	
	.emenda-details-subtable th {
		width: 50% !important;
	}
}
