/* Evitar scroll horizontal causado polos elementos a todo ancho (100vw) */
html, body { overflow-x: hidden; max-width: 100%; }

/* ===== Tipografía oficial do Concello: Geomanist (titulares) ===== */
@font-face { font-family: 'Geomanist'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('/assets/media/fonts/geomanist/geomanist-light-webfont.woff2') format('woff2'),
       url('/assets/media/fonts/geomanist/geomanist-light-webfont.woff') format('woff'); }
@font-face { font-family: 'Geomanist'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('/assets/media/fonts/geomanist/geomanist-regular-webfont.woff2') format('woff2'),
       url('/assets/media/fonts/geomanist/geomanist-regular-webfont.woff') format('woff'); }
@font-face { font-family: 'Geomanist'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('/assets/media/fonts/geomanist/geomanist-medium-webfont.woff2') format('woff2'),
       url('/assets/media/fonts/geomanist/geomanist-medium-webfont.woff') format('woff'); }
@font-face { font-family: 'Geomanist'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('/assets/media/fonts/geomanist/geomanist-bold-webfont.woff2') format('woff2'),
       url('/assets/media/fonts/geomanist/geomanist-bold-webfont.woff') format('woff'); }

/* ===== Cor corporativa (substitúe o violeta primary de Metronic) ===== */
:root {
	--bs-primary: #3257A0;
	--bs-primary-rgb: 50, 87, 160;
	--bs-primary-active: #2a4a89;
	--kt-primary: #3257A0;
	--kt-primary-active: #2a4a89;
	--kt-primary-light: #e8edf6;
	--kt-primary-inverse: #ffffff;
}
.btn.btn-primary {
	--bs-btn-bg: #3257A0;
	--bs-btn-border-color: #3257A0;
	--bs-btn-hover-bg: #2a4a89;
	--bs-btn-hover-border-color: #2a4a89;
	--bs-btn-active-bg: #2a4a89;
	--bs-btn-active-border-color: #2a4a89;
	--bs-btn-disabled-bg: #3257A0;
	--bs-btn-disabled-border-color: #3257A0;
}
.text-primary { color: #3257A0 !important; }
.bg-primary { background-color: #3257A0 !important; }
.text-hover-primary:hover { color: #3257A0 !important; }
.link-primary { color: #3257A0 !important; }

.app-header{
	background-color:#3257A0 !important;
}

@media (min-width: 992px) {
	/* Todo o menú aliñado á dereita */
	#kt_app_header_wrapper { flex-grow: 0 !important; align-items: center !important; }
	#kt_app_header_menu_wrapper { margin-left: auto; align-items: center !important; }

	/* Centrado vertical do menú (ao retirar a clase drawer de Metronic) */
	#kt_app_header_menu_wrapper .app-header-menu { display: flex !important; align-items: center !important; }
	#kt_app_header_menu_wrapper .app-header-menu > .menu {
		align-items: center !important;
		height: auto !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	/* Itens: icona á esquerda + texto á dereita, en fila */
	#kt_app_header_menu_wrapper .menu-item { align-items: center !important; }
	#kt_app_header_menu_wrapper .menu-item .menu-link.menu-topos {
		flex-direction: row !important;
		align-items: center !important;
		align-self: center !important;
		gap: .5rem;
		width: auto !important;
		height: 38px !important;
		min-height: 0 !important;
		padding: 0 .9rem !important;
		border-radius: .475rem !important;
		transition: background-color .15s ease;
	}
	#kt_app_header_menu_wrapper .menu-link.menu-topos .menu-icon {
		width: auto !important;
		margin: 0 !important;
	}
	#kt_app_header_menu_wrapper .menu-link.menu-topos .menu-icon i,
	#kt_app_header_menu_wrapper .menu-link.menu-topos .menu-title {
		color: #fff !important;
	}

	/* Hover translúcido + estado activo */
	#kt_app_header_menu_wrapper .menu-item .menu-link.menu-topos:hover,
	#kt_app_header_menu_wrapper .menu-item.here > .menu-link.menu-topos,
	#kt_app_header_menu_wrapper .menu-item.show > .menu-link.menu-topos {
		background-color: rgba(255,255,255,.15) !important;
		background-image: none !important;
	}
	/* Manter texto/icona en branco tamén no estado activo/hover */
	#kt_app_header_menu_wrapper .menu-item .menu-link.menu-topos:hover .menu-title,
	#kt_app_header_menu_wrapper .menu-item .menu-link.menu-topos:hover .menu-icon i,
	#kt_app_header_menu_wrapper .menu-item.here > .menu-link.menu-topos .menu-title,
	#kt_app_header_menu_wrapper .menu-item.here > .menu-link.menu-topos .menu-icon i {
		color: #fff !important;
	}
}

/* ===== Cabeceira (escritorio): ancho total, padding 2rem, máis baixa ===== */
@media (min-width: 992px) {
	body { --bs-app-header-height: 90px; }
	#kt_app_header, #kt_app_header_container { height: 90px !important; min-height: 90px !important; }
	#kt_app_header .app-container {
		max-width: 100% !important;
		padding-left: 2rem !important;
		padding-right: 2rem !important;
	}
	/* Iconas do menú máis pequenas */
	#kt_app_header_menu_wrapper .menu-link.menu-topos .menu-icon i { font-size: 1.4rem !important; }
}

/* ===== Footer ===== */
.tp-footer {
	background-color: #3257A0 !important;
	display: block !important;
	position: relative;
	width: 100vw;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 0;
}
.tp-footer .tp-footer-inner {
	text-align: center;
	color: #fff;
	padding: 1rem 1.5rem;
	font-size: .9rem;
}
.tp-footer .tp-footer-inner a { color: #fff; }

.app-navbar-item .border-dashed{
	background-color:#fff !important;
}
.table:not(.table-bordered).table-row-dashed tr {
  border-bottom-width: 2px !important;
}

/* Filas de topónimos clicables */
.table tbody tr.tp-row-link:hover { background-color: rgba(50,87,160,.06); }

/* Paxinador: páxina activa en azul corporativo (non violeta) */
.pagination .page-item.active .page-link {
	background-color: #3257A0 !important;
	border-color: #3257A0 !important;
	color: #fff !important;
}

/* =========================================================
   Mellóras de deseño (revisión 2026-06-23)
   ========================================================= */

/* Cor: eliminar o morado residual de Metronic (enlaces, badges, foco) */
:root {
	--bs-link-color: #3257A0;
	--bs-link-color-rgb: 50, 87, 160;
	--bs-link-hover-color: #26447e;
	--kt-text-primary: #3257A0;
	--kt-primary-light: #eaf0fb;
}
a { color: #3257A0; }
a:hover { color: #26447e; }
.link-primary, .text-primary, .text-active-primary.active { color: #3257A0 !important; }
.badge.badge-light-primary { background-color: #eaf0fb !important; color: #3257A0 !important; }

/* Tipografía: base máis lexible (web pública) + display serif nos títulos */
body { font-size: 14.5px; }
h1, h2, .page-heading, .app-content h1, .card-title h1 {
	font-family: 'Geomanist', 'Helvetica Neue', Arial, sans-serif;
	letter-spacing: -.01em;
}
.table td, .table th { font-size: 14px; }
.table tbody td { padding-top: .8rem; padding-bottom: .8rem; }
.table thead th { color: #3257A0 !important; font-weight: 600; }

/* Foco corporativo nos campos */
.form-control:focus, .form-select:focus {
	border-color: #3257A0;
	box-shadow: 0 0 0 .2rem rgba(50, 87, 160, .15);
}

/* Botón destructivo (Eliminar) diferenciado en vermello suave */
.btn.btn-light-danger { color: #b42318 !important; }
.btn.btn-light-danger:hover { color: #fff !important; }

/* Controis e clusters de Leaflet en paleta corporativa */
.leaflet-bar a { color: #3257A0; }

/* ===== Cabeceira en móbil: logo centrado arriba + menú en fila debaixo ===== */
@media (max-width: 991.98px) {
	#kt_app_header { height: auto !important; min-height: 0 !important; }
	#kt_app_header_container {
		flex-direction: column !important;
		align-items: center !important;
		height: auto !important;
		max-width: 100% !important;
		padding: .6rem 0 0 !important;
		gap: .4rem;
	}
	/* Logo centrado (co seu propio padding lateral) */
	#kt_app_header_container > .d-flex.align-items-center.flex-grow-1 {
		flex-grow: 0 !important;
		justify-content: center;
		width: 100%;
		min-width: 0;
		margin: 0 !important;
		padding: 0 1rem !important;
	}
	#kt_app_header_container img { max-width: 78vw; height: auto; }
	/* Banda de menú a todo ancho (filete + leve escurecido), padding interno L/R */
	#kt_app_header_wrapper {
		width: 100%;
		flex-grow: 0 !important;
		justify-content: center !important;
		margin: .35rem 0 0 !important;
		padding: .4rem 1rem .35rem !important;
		border-top: 1px solid rgba(255, 255, 255, .22);
		background-color: rgba(0, 0, 0, .12);
	}
	#kt_app_header_menu_wrapper { width: auto; }
	.app-header-menu { width: auto; }
	.app-header-menu .menu {
		flex-direction: row !important;
		flex-wrap: wrap;
		justify-content: center;
		gap: .15rem;
		margin: 0 !important;
		padding: 0 !important;
		font-size: .92rem;
	}
	.app-header-menu .menu-item { margin: 0 !important; }
	.menu-topos {
		flex-direction: row !important;
		align-items: center;
		gap: .35rem;
		padding: .3rem .55rem !important;
		border-radius: .475rem;
	}
	.menu-topos .menu-icon { width: auto; margin: 0; }
	.menu-topos .menu-icon i, .menu-topos .menu-title { color: #fff !important; }
	.menu-topos .menu-icon i { font-size: 1.15rem !important; }
	.app-header .menu-item .menu-topos:hover,
	.app-header .menu-item.here > .menu-topos {
		background-color: rgba(255, 255, 255, .18) !important; background-image: none !important;
	}
	.menu-arrow { display: none !important; }
}
