/* ==========================================================================
   GIT Masivo — Portal híbrido (borrador)
   Barra de colaboradores, accesos rápidos, barra móvil, soporte, legibilidad
   ========================================================================== */

/* ---------- 1) Barra superior de colaboradores ---------- */
.gitm-staffbar {
	background: #0b2545;
	color: #fff;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.gitm-staffbar-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 46px;
}
.gitm-staffbar-label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .3px;
	opacity: .85;
	white-space: nowrap;
}
.gitm-staffbar-label i { margin-right: 6px; }
.gitm-staffbar-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 6px;
}
.gitm-staffbar-links li { margin: 0; }
.gitm-staffbar-links a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	background: rgba(255, 255, 255, .08);
	transition: background .2s ease, color .2s ease;
}
.gitm-staffbar-links a:hover,
.gitm-staffbar-links a:focus {
	background: #fff;
	color: #0b2545;
}
.gitm-staffbar-links a:focus-visible { outline: 3px solid #f1c40f; outline-offset: 2px; }

/* ---------- 2) Accesos rápidos (Home) ---------- */
.gitm-quick-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 8px;
}
.gitm-quick-note {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 26px;
	padding: 16px 20px;
	border-radius: 12px;
	background: #eef4fb;
	border-left: 5px solid #0056b3;
	color: #0b2545;
}
.gitm-quick-note > i { font-size: 26px; color: #0056b3; }
.gitm-quick-note p { margin: 0; font-size: 16px; line-height: 1.5; }
.gitm-quick-note a { color: #0056b3; font-weight: 700; }
.gitm-quick-card {
	--q: #0056b3;
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 104px;
	padding: 20px 22px;
	background: #fff;
	border: 1px solid #e5e9ec;
	border-top: 5px solid var(--q);
	border-radius: 14px;
	box-shadow: 0 6px 18px rgba(11, 37, 69, .08);
	text-decoration: none;
	color: #0b2545;
	transition: transform .2s ease, box-shadow .2s ease;
}
.gitm-quick-card:hover,
.gitm-quick-card:focus {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(11, 37, 69, .16);
	color: #0b2545;
}
.gitm-quick-card:focus-visible { outline: 3px solid #f1c40f; outline-offset: 3px; }
.gitm-q-blue { --q: #0056b3; }
.gitm-q-navy { --q: #0b2545; }
.gitm-q-green { --q: #1e9e5a; }
.gitm-q-red { --q: #c0392b; }
.gitm-quick-icon {
	flex: 0 0 56px;
	height: 56px;
	border-radius: 14px;
	background: var(--q);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
}
/* Ícono real de la AppSIGIT: se recorta el margen blanco de la imagen para que el
   cuadro azul marino llene el mismo recuadro redondeado de 56 px. */
.gitm-quick-icon-img { position: relative; overflow: hidden; background: transparent; box-shadow: 0 3px 8px rgba(11, 37, 69, .25); }
.gitm-quick-icon-img img { position: absolute; top: -7px; left: -7px; width: 71px; height: 71px; max-width: none; }
/* Versión vertical para la barra lateral */
.gitm-quick-side {
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	min-height: 0;
	padding: 18px 18px 20px;
}
.gitm-quick-side .gitm-quick-arrow { display: none; }
/* En columna, "flex: 0 0 56px" estiraba el alto y colapsaba el ancho: se fijan ambos. */
.gitm-quick-side .gitm-quick-icon {
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	min-width: 56px;
}
.gitm-quick-side .gitm-quick-icon-img img { display: block; }
.gitm-quick-side .gitm-quick-text { width: 100%; }
.gitm-quick-side .gitm-quick-text strong { font-size: 17px; }
.gitm-quick-side .gitm-quick-text small { font-size: 14px; }
.widget-area .gitm-quick-card { text-decoration: none; }
.gitm-quick-text { display: flex; flex-direction: column; min-width: 0; }
.gitm-quick-text strong { font-size: 18px; line-height: 1.2; font-weight: 700; }
.gitm-quick-text small { font-size: 14px; line-height: 1.35; color: #4a5a6a; margin-top: 4px; }
.gitm-quick-arrow { margin-left: auto; font-size: 28px; color: var(--q); }

.gitm-quick-subtitle {
	margin: 34px 0 12px;
	font-size: 17px;
	font-weight: 700;
	color: #0b2545;
}
.gitm-chip-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.gitm-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 10px 18px;
	border: 1px solid #cfd8e0;
	border-radius: 999px;
	background: #f8f9fa;
	color: #0b2545;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease;
}
.gitm-chip i { color: #0056b3; }
.gitm-chip:hover, .gitm-chip:focus { background: #fff; border-color: #0056b3; color: #0056b3; }
.gitm-chip:focus-visible { outline: 3px solid #f1c40f; outline-offset: 2px; }

/* ---------- 2b) Nuestros Procesos (Home) ---------- */
.gitm-procesos { scroll-margin-top: 90px; }
.gitm-proc-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin-top: 8px;
}
.gitm-proc-card {
	scroll-margin-top: 90px;
	display: flex;
	flex-direction: column;
	padding: 24px 22px;
	background: #fff;
	border: 1px solid #e5e9ec;
	border-radius: 14px;
	box-shadow: 0 6px 18px rgba(11, 37, 69, .07);
}
.gitm-proc-card:target { border-color: #0056b3; box-shadow: 0 0 0 3px rgba(0, 86, 179, .25); }
.gitm-proc-icon {
	width: 52px; height: 52px; margin-bottom: 14px;
	border-radius: 14px; background: #0056b3; color: #fff;
	display: flex; align-items: center; justify-content: center; font-size: 24px;
}
.gitm-proc-card:nth-child(4n+2) .gitm-proc-icon { background: #0b2545; }
.gitm-proc-card:nth-child(4n+3) .gitm-proc-icon { background: #1e9e5a; }
.gitm-proc-card:nth-child(4n+4) .gitm-proc-icon { background: #c0392b; }
.gitm-proc-card h3 { margin: 0 0 10px; font-size: 18px; line-height: 1.25; color: #0b2545; }
.gitm-proc-card p { margin: 0 0 16px; font-size: 15px; line-height: 1.6; color: #3d4b59; }
.gitm-proc-link {
	margin-top: auto; font-weight: 700; font-size: 15px; color: #0056b3; text-decoration: none;
}
.gitm-proc-link:hover, .gitm-proc-link:focus { text-decoration: underline; }
@media (max-width: 1100px) { .gitm-proc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .gitm-proc-grid { grid-template-columns: 1fr; } }

/* ---------- 2c) Página de proceso ---------- */
.gitm-process-page {
	--pc: #0056b3;
	display: flex;
	align-items: flex-start;
	gap: 26px;
	margin-top: 8px;
}
.gitm-process-icon {
	flex: 0 0 76px;
	height: 76px;
	border-radius: 20px;
	background: var(--pc);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	box-shadow: 0 8px 20px rgba(11, 37, 69, .18);
}
.gitm-process-objective {
	margin: 0;
	font-size: 20px;
	line-height: 1.7;
	color: #1c2a38;
	max-width: 760px;
}
@media (max-width: 600px) {
	.gitm-process-page { flex-direction: column; gap: 16px; }
	.gitm-process-objective { font-size: 18px; }
}

/* ---------- 3) Banner de comunicaciones internas ---------- */
.gitm-internal-banner {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 22px 26px;
	border-radius: 14px;
	background: linear-gradient(100deg, #0b2545 0%, #0056b3 100%);
	color: #fff;
	text-decoration: none;
	box-shadow: 0 10px 26px rgba(11, 37, 69, .22);
}
.gitm-internal-banner:hover, .gitm-internal-banner:focus { color: #fff; filter: brightness(1.08); }
.gitm-internal-icon {
	flex: 0 0 56px; height: 56px; border-radius: 50%;
	background: rgba(255, 255, 255, .14);
	display: flex; align-items: center; justify-content: center; font-size: 26px;
}
.gitm-internal-text { display: flex; flex-direction: column; }
.gitm-internal-text strong { font-size: 20px; }
.gitm-internal-text small { font-size: 15px; opacity: .9; margin-top: 3px; }
.gitm-internal-cta {
	margin-left: auto; white-space: nowrap; font-weight: 700; font-size: 15px;
	padding: 10px 18px; border-radius: 999px; background: #fff; color: #0b2545;
}

/* ---------- 4) Franja de soporte previa al footer ---------- */
.gitm-supportstrip { background: #f1f5f9; border-top: 1px solid #e0e6ec; }
.gitm-supportstrip-inner {
	max-width: 1100px; margin: 0 auto; padding: 22px 24px;
	display: flex; flex-wrap: wrap; gap: 20px 40px; justify-content: space-between;
}
.gitm-support-item { display: flex; align-items: center; gap: 14px; }
.gitm-support-item > i {
	flex: 0 0 44px; height: 44px; border-radius: 50%; background: #0056b3; color: #fff;
	display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.gitm-support-item div { display: flex; flex-direction: column; font-size: 14px; color: #2c3e50; }
.gitm-support-item strong { font-size: 15px; color: #0b2545; }
.gitm-support-item a { color: #0056b3; font-weight: 600; }

/* ---------- 5) Barra inferior móvil ---------- */
.gitm-mobilebar { display: none; }

/* ---------- 6) Legibilidad de documentos y enlaces PDF ---------- */
.entry-content a[href$=".pdf"]::after,
.gitm-card-btn[href$=".pdf"]::after {
	content: "PDF";
	display: inline-block;
	margin-left: 8px;
	padding: 1px 6px;
	border-radius: 4px;
	background: #c0392b;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .5px;
	vertical-align: middle;
}
.entry-content { line-height: 1.75; }
.entry-content p, .entry-content li { font-size: 17px; }
.entry-content a { text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* ---------- 7) Responsive / mobile-first ---------- */
@media (max-width: 1024px) {
	.gitm-quick-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
	/* Franja superior también en móvil: título arriba y 3 botones en una fila */
	.gitm-staffbar-inner {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		padding: 10px 12px 12px;
		min-height: 0;
	}
	.gitm-staffbar-label { display: block; text-align: center; font-size: 13px; opacity: .95; white-space: normal; }
	.gitm-staffbar-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
	.gitm-staffbar-links a {
		width: 100%; box-sizing: border-box; justify-content: center;
		flex-direction: column; gap: 3px; text-align: center;
		min-height: 54px; padding: 8px 4px; border-radius: 12px;
		font-size: 13px; line-height: 1.15; background: rgba(255, 255, 255, .12);
	}
	.gitm-staffbar-links a i { font-size: 20px; }

	/* Botón "Menú" legible (antes blanco sobre fondo claro) */
	.main-navigation .menu-toggle,
	.main-navigation .menu-toggle .mobile-menu,
	.main-navigation .menu-toggle .gp-icon,
	.main-navigation .menu-toggle:hover,
	.main-navigation .menu-toggle:focus {
		color: #0b2545 !important;
		opacity: 1 !important;
	}
	.main-navigation .menu-toggle {
		font-weight: 700 !important;
		min-height: 48px;
	}
	.main-navigation .menu-toggle .gp-icon svg { fill: #0b2545 !important; }

	.gitm-mobilebar {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 9999;
		background: #0b2545;
		border-top: 3px solid #0056b3;
		box-shadow: 0 -6px 18px rgba(0, 0, 0, .25);
		padding-bottom: env(safe-area-inset-bottom);
	}
	.gitm-mobilebar a {
		display: flex; flex-direction: column; align-items: center; justify-content: center;
		gap: 4px; min-height: 64px; padding: 8px 4px;
		color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; line-height: 1.1; text-align: center;
	}
	.gitm-mobilebar a i { font-size: 24px; }
	.gitm-mobilebar a:active, .gitm-mobilebar a:focus { background: #0056b3; color: #fff; }
	body { padding-bottom: 72px; }

	.gitm-quick-grid { grid-template-columns: 1fr; gap: 14px; }
	.gitm-quick-card { min-height: 96px; }
	.gitm-quick-text strong { font-size: 19px; }
	.gitm-quick-text small { font-size: 15px; }
	.gitm-internal-banner { flex-wrap: wrap; }
	.gitm-internal-cta { margin-left: 0; }
	.gitm-supportstrip-inner { flex-direction: column; }
}

/* Alto contraste bajo el sol: refuerzo de bordes y textos */
@media (prefers-contrast: more) {
	.gitm-quick-card { border-color: #0b2545; }
	.gitm-quick-text small { color: #1c2a38; }
	.gitm-chip { border-color: #0b2545; }
}
/* ---------- Compactación vertical (menos espacio entre líneas y bloques) ---------- */
.entry-content { line-height: 1.5; }
.entry-content p, .entry-content li { font-size: 16px; }
.entry-content p { margin-bottom: .8em; }
.gitm-section { margin: 30px 0 !important; }
.gitm-section-title { margin-bottom: 4px !important; line-height: 1.2 !important; }
.gitm-section-subtitle { margin: 0 auto 22px !important; line-height: 1.45 !important; max-width: 760px; }
.gitm-hero-text h1 { margin-bottom: 12px !important; }
.gitm-hero-text p { line-height: 1.5 !important; margin-bottom: 18px !important; }
.gitm-card { padding: 20px 20px !important; }
.gitm-card p { line-height: 1.45 !important; margin-bottom: 12px !important; }
.gitm-contact-grid { gap: 16px !important; }
.gitm-contact-card { padding: 20px 18px !important; }
.gitm-contact-icon { margin-bottom: 10px !important; }
.gitm-contact-card h4 { margin-bottom: 6px !important; }
.gitm-contact-card p { line-height: 1.45 !important; margin-bottom: .5em; }
.gitm-contact-card p:last-child { margin-bottom: 0; }
.gitm-transparencia { padding: 32px 28px !important; }
.gitm-transparencia-grid { gap: 18px !important; margin-top: 8px !important; }
.gitm-transparencia-col { padding: 16px 18px !important; }
.gitm-transparencia-col h4 { margin-bottom: 8px !important; }
.gitm-transparencia-col ul li { margin-bottom: 5px !important; }
.gitm-transparencia-col ul li a { line-height: 1.4; }
.gitm-legacy { margin-top: 30px !important; padding-top: 26px !important; }
.gitm-ethics-card { padding: 24px 22px !important; margin-bottom: 20px !important; }
.gitm-quick-card { min-height: 88px; padding: 16px 20px; }
.gitm-quick-note { margin-top: 18px; padding: 12px 16px; }
.gitm-supportstrip-inner { padding-top: 14px; padding-bottom: 14px; }
.site-info .footer-bar { padding: 32px 32px 14px !important; }
@media (max-width: 768px) {
	.gitm-section { margin: 24px 0 !important; }
	.gitm-quick-card { min-height: 80px; }
	.gitm-transparencia { padding: 24px 14px !important; }
}

/* Home: Quejas y reclamos (PQRSF) */
.gitm-pqrsf-box{background:#f8f9fa;border:1px solid #dfe5ec;border-left:6px solid #c0392b;border-radius:18px;padding:28px;box-shadow:0 6px 20px rgba(11,37,69,.06)}
.gitm-pqrsf .gitm-section-subtitle a{color:#0056b3!important;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.gitm-pqrsf-cta{text-align:center;margin:0 0 32px!important}
.gitm-pqrsf-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:999px;background:#0b2545;color:#fff!important;font-weight:700;font-size:16px;text-decoration:none!important;transition:background .2s ease}
.gitm-pqrsf-btn:hover,.gitm-pqrsf-btn:focus{background:#0056b3}
.gitm-pqrsf-btn:focus-visible{outline:3px solid #f1c40f;outline-offset:2px}
@media (max-width:768px){.gitm-pqrsf-box{padding:20px 16px}.gitm-pqrsf-btn{width:100%;justify-content:center;box-sizing:border-box}}

/* Pie de página: redes sociales */
.site-info .gitm-social{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}
.site-info .gitm-social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;transition:background .25s ease,transform .25s ease}
.site-info .gitm-social a:hover,.site-info .gitm-social a:focus-visible{background:#2ecc71;color:#0b2545;transform:translateY(-2px)}
.site-info .gitm-social a:focus-visible{outline:3px solid #fff;outline-offset:2px}
.site-info .gitm-social .fa{font-size:20px;line-height:1}
.site-info .gitm-social svg{width:18px;height:18px;fill:currentColor}
@media (max-width:768px){.site-info .gitm-social{width:100%}}
@media (prefers-reduced-motion: reduce) {
	.gitm-quick-card, .gitm-staffbar-links a { transition: none; }
	.gitm-quick-card:hover { transform: none; }
}
