﻿/* CCB Elecciones — estilos propios del rediseño 2026 (portados de CodeIgniter).
   Requiere Bootstrap 5.3 y Bootstrap Icons. Edite aquí los colores institucionales. */

/* Fuentes locales (copiar los .woff a Content/fonts, ver LEEME.md). Sin ellos se usa la fuente del sistema. */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/inter-400.woff') format('woff'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/inter-500.woff') format('woff'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/inter-600.woff') format('woff'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/inter-700.woff') format('woff'); }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/nunito-700.woff') format('woff'); }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/nunito-800.woff') format('woff'); }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 900; font-display: swap; src: url('../fonts/nunito-900.woff') format('woff'); }

/* ===== origen: head.php ===== */
		body {
			font-family: 'Inter', sans-serif;
			background-color: #f4f6f8;
			color: #1e293b;
		}

		/* Header Institucional CCB */
		.main-header-ccb {
			background-color: #ffffff;
			border-bottom: 1px solid #e2e8f0;
			border-top: 5px solid #A7000F; /* Barra institucional marcada */
			box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
			position: relative;
			z-index: 100;
		}

		/* Incremento del tamaño del logo */
		.header-logo-ccb {
			height: auto;
			max-height: 93px;
			width: auto;
			object-fit: contain;
			display: block;
		}

		/* Badge Proceso Electoral */
		.bg-danger-subtle {
			background-color: #fef2f2 !important;
		}

		footer {
			background-color: #1e293b;
			color: #cbd5e1;
		}

		@media (max-width: 576px) {
			.header-logo-ccb {
				max-height: 65px;
			}
		}
	

/* ===== origen: header1.php ===== */
	/* Estilos para el título central del Header */
	.header-title-container {
		text-transform: uppercase;
		line-height: 1.15;
		font-family: 'Nunito', system-ui, -apple-system, sans-serif; /* Tipografía suave y redondeada */
	}

	/* Título superior "PORTAL DEL" (Incrementado a 1.05rem) */
	.header-title-sub {
		font-size: 1.05rem;
		font-weight: 800;
		letter-spacing: 2px;
		color: #334155;
	}

	/* Título principal "PROCESO ELECTORAL" (Incrementado a 2.0rem) */
	.header-title-main {
		font-size: 2.0rem;
		font-weight: 800;
		color: #A7000F;
		letter-spacing: 0.5px;
	}

	.header-title-desc {
		font-size: 0.875rem;
		font-weight: 700;
		color: #475569;
		text-transform: none;
	}

	.header-title-period {
		font-size: 0.875rem;
		font-weight: 700;
		color: #475569;
		text-transform: none;
	}

	/* Ajuste responsive para pantallas pequeñas */
	@media (max-width: 768px) {
		.header-title-main {
			font-size: 1.45rem;
		}
		.header-title-sub {
			font-size: 0.875rem;
		}
		.header-title-desc,
		.header-title-period {
			font-size: 0.75rem;
		}
	}

/* ===== origen: index_view.php ===== */
	/* Paleta de Colores Institucionales CCB */
	:root {
		--ccb-rojo-principal: #A7000F;
		--ccb-rojo-hover: #EF2B2D;
		--ccb-rojo-oscuro: #7A000A;
		--ccb-bg-pagina: #F4F6F8;
		--ccb-border: #E2E8F0;
		--ccb-texto: #1E293B;
	}

	body {
		background-color: var(--ccb-bg-pagina);
		color: var(--ccb-texto);
	}

	/* Panel Lateral Fijo (Sidebar) */
	.sidebar-ccb {
		background: linear-gradient(180deg, var(--ccb-rojo-principal) 0%, var(--ccb-rojo-oscuro) 100%);
		color: #ffffff;
		border-radius: 18px;
		padding: 2.5rem 2rem;
		box-shadow: 0 10px 30px rgba(167, 0, 15, 0.2);
	}

	.badge-ccb-light {
		background-color: rgba(255, 255, 255, 0.15);
		color: #ffffff;
		border: 1px solid rgba(255, 255, 255, 0.25);
		font-weight: 600;
		letter-spacing: 0.5px;
	}

	.btn-ccb-accent {
		background-color: #ffffff;
		color: var(--ccb-rojo-principal);
		font-weight: 700;
		border: none;
		transition: all 0.25s ease;
	}

	.btn-ccb-accent:hover {
		background-color: #F8FAFC;
		color: var(--ccb-rojo-oscuro);
		transform: translateY(-2px);
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
	}

	/* Tarjetas Dashboard */
	.card-dashboard {
		background: #ffffff;
		border: 1px solid var(--ccb-border);
		border-radius: 14px;
		transition: all 0.25s ease;
		text-decoration: none !important;
		display: flex;
		align-items: center;
		padding: 1.5rem;
	}

	.card-dashboard:hover {
		border-color: var(--ccb-rojo-principal);
		transform: translateY(-3px);
		box-shadow: 0 8px 20px rgba(167, 0, 15, 0.08);
	}

	.icon-dash-box {
		width: 52px;
		height: 52px;
		background-color: #FEF2F2;
		color: var(--ccb-rojo-principal);
		border-radius: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.5rem;
		flex-shrink: 0;
		transition: all 0.25s ease;
	}

	.card-dashboard:hover .icon-dash-box {
		background-color: var(--ccb-rojo-principal);
		color: #ffffff;
	}

    .banner-comunicado {
		border-radius: 16px;
		overflow: hidden;
		box-shadow: 0 6px 20px rgba(0,0,0,0.06);
		border: 1px solid #E2E8F0;
		transition: transform 0.25s ease, box-shadow 0.25s ease;
	}

	/* Acordeón Personalizado para Texto Legal */
	.accordion-ccb .accordion-item {
		border: 1px solid var(--ccb-border);
		border-radius: 12px !important;
		overflow: hidden;
		background: #ffffff;
	}

	.accordion-ccb .accordion-button {
		font-weight: 600;
		color: var(--ccb-rojo-principal);
		background-color: #ffffff;
		box-shadow: none;
	}

	.accordion-ccb .accordion-button:not(.collapsed) {
		background-color: #FEF2F2;
		color: var(--ccb-rojo-principal);
	}

	.accordion-ccb .accordion-button::after {
		filter: brightness(0) saturate(100%) invert(11%) sepia(94%) saturate(4641%) hue-rotate(346deg) brightness(88%) contrast(106%);
	}

/* ===== origen: junta_view.php ===== */
	/* Formulario de Búsqueda Normalizado */
	.search-box-ccb {
		background: #ffffff;
		border: 2px solid var(--ccb-border, #E2E8F0);
		border-radius: 12px;
		padding: 0.6rem 1rem;
		min-height: 48px;
		transition: all 0.25s ease;
	}

	.search-box-ccb:focus-within {
		border-color: #A7000F;
		box-shadow: 0 0 0 0.25rem rgba(167, 0, 15, 0.12);
	}

	.input-search-ccb {
		border: none !important;
		outline: none !important;
		box-shadow: none !important;
		font-size: 0.95rem;
		color: #1E293B;
		background: transparent !important;
		padding: 0 !important;
		margin: 0 !important;
		height: auto !important;
		line-height: 1.4;
	}

	/* Requisitos - Lista Institucional */
	.list-requirements li {
		position: relative;
		padding-left: 1.75rem;
		margin-bottom: 0.85rem;
		line-height: 1.5;
		font-size: 0.925rem;
		color: #475569;
	}

	.list-requirements li::before {
		content: "\F26A";
		font-family: "bootstrap-icons";
		position: absolute;
		left: 0;
		top: 0.1rem;
		color: #A7000F;
		font-size: 1rem;
	}

	/* Tarjetas de Acceso Rápido */
	.card-action-link {
		background: #ffffff;
		border: 1px solid #E2E8F0;
		border-radius: 12px;
		padding: 1.25rem 1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		text-decoration: none !important;
		color: #1E293B;
		transition: all 0.25s ease;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.card-action-link:hover {
		border-color: #A7000F;
		transform: translateY(-2px);
		box-shadow: 0 6px 18px rgba(167, 0, 15, 0.08);
		color: #A7000F;
	}

	/* Aislamiento y Normalización de la Respuesta AJAX */
	.respuesta-wrapper {
		clear: both !important;
		display: block !important;
		width: 100% !important;
		margin-bottom: 1rem;
	}

	.respuesta, .respuesta * {
		float: none !important;
		position: static !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.respuesta {
		display: block !important;
		width: 100% !important;
		clear: both !important;
	}

/* ===== Añadidos del sitio .NET ===== */
/* Reemplaza el style="background-color:#A7000F;border:none" en línea que usaba CodeIgniter. */
.btn-ccb-principal,
.btn-ccb-principal:hover,
.btn-ccb-principal:focus,
.btn-ccb-principal:active {
	background-color: #A7000F;
	border: none;
	color: #fff;
}
.btn-ccb-principal:hover { background-color: #7A000A; }

/* Panel sticky del formulario de /junta (antes style="top:2rem;z-index:10"). */
.panel-sticky-ccb { top: 2rem; z-index: 10; }

/* Lista de enlaces rápidos de /junta. */
.card-action-link .texto-enlace { font-size: 0.95rem; }

.footer-logo-ccb { max-height: 50px; }

/* ===== /descarga (censo electoral) ===== */
.table-censo { border-radius: 12px; overflow: hidden; }
.table-censo thead th {
	background-color: #f1f5f9; color: #475569; font-size: 0.8rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: 0.05em; padding: 0.85rem 1rem; border-bottom: 2px solid #e2e8f0;
}
.table-censo tbody td { padding: 0.85rem 1rem; font-size: 0.875rem; color: #334155; vertical-align: middle; border-bottom: 1px solid #f1f5f9; }
.table-censo tbody tr:hover { background-color: #f8fafc; }
.table-censo .col-matricula { width: 140px; }
.table-censo .col-nit { width: 160px; }

.badge-matricula {
	font-size: 0.95rem; font-weight: 600; padding: 0.4rem 0.65rem;
	color: #1e293b; background-color: #f1f5f9; border: 1px solid #cbd5e1;
}

.novelty-item { border-left: 4px solid #A7000F !important; }
/* Texto de las novedades: gris un poco más oscuro (igual que la versión Laravel). */
.novelty-item .text-secondary { color: #575751 !important; }
