/**
 * Catálogos CPT — navegación por año (Guidelines v3)
 * Tablet/móvil (≤1024px): scroll horizontal tipo Gaceta
 * Desktop (≥1025px): sidebar vertical
 */

/* ── Shell: sidebar + contenido ── */
.ngz-catalog-shell.ngz-lotaip,
.ngz-page--lotaip .ngz-lotaip {
	display: grid;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
	margin-top: 0.5rem;
}

.ngz-catalog-shell.ngz-gaceta-tabs {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.ngz-catalog-shell__main {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
}

/* Área principal del catálogo (lista): sin caja blanca, sobre fondo gris del sitio */
.ngz-lotaip__content.ngz-catalog-shell__main,
.ngz-catalog-shell__main .ngz-gaceta-tabs__panels,
.ngz-catalog-shell__main .ngz-gaceta-tabs__panel {
	background: transparent;
	border: none;
	box-shadow: none;
}

.ngz-catalog-shell__main .ngz-gaceta-tabs__panel-body,
.ngz-catalog-shell__main .ngz-lotaip__panel {
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
}

.ngz-catalog-shell__main .ngz-lotaip__content-head,
.ngz-catalog-shell__main .ngz-gaceta-tabs__panel-head {
	margin-bottom: 0;
	padding: 0;
}

.ngz-catalog-shell__main .ngz-gaceta-search,
.ngz-catalog-shell__main .ngz-lotaip__search {
	margin-bottom: 0;
}

.ngz-catalog-shell__main .ngz-documentos__items {
	gap: 0.625rem;
}

.ngz-page--lotaip .ngz-catalog-shell,
.ngz-page--rendicion .ngz-catalog-shell,
.ngz-page--actas .ngz-catalog-shell,
.ngz-page--gaceta .ngz-catalog-shell,
.ngz-page--convocatorias .ngz-catalog-shell {
	margin-top: 0.25rem;
}

/* ── Sidebar desktop ── */
.ngz-lotaip__sidebar {
	position: sticky;
	top: calc(var(--ngz-header-offset, 88px) + 1rem);
	max-height: calc(100vh - var(--ngz-header-offset, 88px) - 2rem);
	overflow: auto;
}

.ngz-lotaip__sidebar-inner {
	padding: 1rem;
	border-radius: var(--ngz-radius-lg);
	border: 1px solid var(--ngz-borde);
	background: var(--ngz-blanco);
	box-shadow: var(--ngz-shadow-card);
}

.ngz-catalog-year-nav__title,
.ngz-lotaip__sidebar-title {
	margin: 0 0 0.75rem;
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ngz-verde);
}

.ngz-lotaip__nav,
.ngz-catalog-year-nav {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

/* ── Desktop: Gaceta → sidebar vertical ── */
@media (min-width: 1025px) {
	.ngz-catalog-shell.ngz-gaceta-tabs {
		display: grid;
		grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
		gap: 2rem;
		align-items: start;
	}

	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-gaceta-tabs__nav-wrap {
		grid-column: 1;
		grid-row: 1;
		position: sticky;
		top: calc(var(--ngz-header-offset, 88px) + 1rem);
		margin-bottom: 0;
		border-bottom: none;
		overflow: visible;
		padding: 1rem;
		border-radius: var(--ngz-radius-lg);
		border: 1px solid var(--ngz-borde);
		background: var(--ngz-blanco);
		box-shadow: var(--ngz-shadow-card);
	}

	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-gaceta-tabs__nav {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0.35rem;
		padding: 0;
		min-width: 0;
	}

	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-gaceta-tabs__tab {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-width: 0;
		padding: 0.65rem 0.75rem;
		margin-bottom: 0;
		border: none;
		border-radius: var(--ngz-radius-sm);
		background: transparent;
		box-shadow: none;
	}

	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-gaceta-tabs__tab:hover {
		background: var(--ngz-verde-p);
		color: var(--ngz-verde);
	}

	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-gaceta-tabs__tab.is-active {
		background: var(--ngz-verde);
		color: var(--ngz-blanco);
		box-shadow: none;
	}

	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-gaceta-tabs__tab.is-active .ngz-gaceta-tabs__tab-label,
	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-gaceta-tabs__tab.is-active .ngz-gaceta-tabs__tab-count {
		color: var(--ngz-blanco);
	}

	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-gaceta-tabs__tab-count {
		font-size: 0.6875rem;
		padding: 0.1rem 0.45rem;
		border-radius: var(--ngz-radius-pill);
		background: var(--ngz-verde-p);
		color: var(--ngz-verde);
	}

	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-gaceta-tabs__tab.is-active .ngz-gaceta-tabs__tab-count {
		background: rgba(255, 255, 255, 0.2);
		color: var(--ngz-blanco);
	}

	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-catalog-shell__main {
		grid-column: 2;
		grid-row: 1;
		width: 100%;
		min-width: 0;
	}

	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-gaceta-search {
		margin-bottom: 0;
	}

	.ngz-lotaip__month-nav-wrap {
		display: none;
	}

	.ngz-catalog-year-only-mobile {
		display: none !important;
	}
}

/* ── Tablet/móvil: scroll horizontal ── */
@media (max-width: 1024px) {
	.ngz-catalog-shell.ngz-lotaip,
	.ngz-page--lotaip .ngz-lotaip {
		grid-template-columns: 1fr;
	}

	.ngz-lotaip__sidebar {
		position: static;
		max-height: none;
		overflow: visible;
	}

	.ngz-lotaip__sidebar-inner,
	.ngz-catalog-shell.ngz-gaceta-tabs .ngz-gaceta-tabs__nav-wrap {
		padding: 0;
		border: none;
		background: transparent;
		box-shadow: none;
		border-radius: 0;
	}

	.ngz-catalog-year-nav__title,
	.ngz-lotaip__sidebar-title {
		margin: 0 0 0.625rem;
		font-size: 0.75rem;
	}

	.ngz-catalog-year-nav-wrap {
		position: relative;
		margin-bottom: 1.25rem;
		border-bottom: 2px solid var(--ngz-borde);
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.ngz-catalog-year-nav-wrap::-webkit-scrollbar {
		height: 6px;
	}

	.ngz-catalog-year-nav-wrap::-webkit-scrollbar-thumb {
		background: rgba(45, 122, 58, 0.35);
		border-radius: 999px;
	}

	.ngz-catalog-year-nav {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0.375rem;
		min-width: min-content;
		padding: 0 0 0.75rem;
	}

	/* Pestaña horizontal compartida */
	.ngz-catalog-year-nav .ngz-gaceta-tabs__tab,
	.ngz-catalog-year-nav .ngz-lotaip__year-link,
	.ngz-catalog-year-nav .ngz-lotaip__year-toggle {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.125rem;
		flex-shrink: 0;
		min-width: 4.75rem;
		padding: 0.625rem 1rem;
		margin-bottom: -2px;
		border: 1px solid var(--ngz-borde);
		border-radius: 0.875rem 0.875rem 0 0;
		border-bottom: none;
		background: var(--ngz-gris-f);
		color: var(--ngz-gris-t);
		font-family: var(--ngz-font-sans);
		font-size: 0.9375rem;
		font-weight: 600;
		text-decoration: none;
		cursor: pointer;
		transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	}

	.ngz-catalog-year-nav .ngz-gaceta-tabs__tab:hover,
	.ngz-catalog-year-nav .ngz-lotaip__year-link:hover,
	.ngz-catalog-year-nav .ngz-lotaip__year-toggle:hover {
		background: var(--ngz-verde-p);
		color: var(--ngz-verde);
		border-color: rgba(45, 122, 58, 0.25);
	}

	.ngz-catalog-year-nav .ngz-gaceta-tabs__tab.is-active,
	.ngz-catalog-year-nav .ngz-lotaip__year-link.is-active,
	.ngz-catalog-year-nav .ngz-lotaip__year.is-open > .ngz-lotaip__year-toggle {
		background: var(--ngz-blanco);
		color: var(--ngz-verde);
		border-color: var(--ngz-borde);
		border-bottom: 2px solid var(--ngz-blanco);
		font-weight: 700;
		box-shadow: inset 0 3px 0 var(--ngz-verde);
	}

	.ngz-catalog-year-nav .ngz-gaceta-tabs__tab-label,
	.ngz-catalog-year-nav .ngz-lotaip__year-label {
		font-weight: 700;
		line-height: 1.2;
	}

	.ngz-catalog-year-nav .ngz-gaceta-tabs__tab-count,
	.ngz-catalog-year-nav .ngz-lotaip__year-count,
	.ngz-catalog-year-nav .ngz-lotaip__year-badge {
		font-size: 0.6875rem;
		font-weight: 600;
		padding: 0.1rem 0.45rem;
		border-radius: var(--ngz-radius-pill);
		background: var(--ngz-verde-p);
		color: var(--ngz-verde);
	}

	.ngz-catalog-year-nav .ngz-gaceta-tabs__tab.is-active .ngz-gaceta-tabs__tab-count,
	.ngz-catalog-year-nav .ngz-lotaip__year-link.is-active .ngz-lotaip__year-count {
		background: rgba(45, 122, 58, 0.15);
		color: var(--ngz-verde);
	}

	.ngz-catalog-year-nav .ngz-lotaip__year-link.is-active .ngz-lotaip__year-badge {
		background: rgba(45, 122, 58, 0.15);
		color: var(--ngz-verde);
	}

	.ngz-catalog-year-nav .ngz-lotaip__year-link.is-empty:not(.is-active) {
		opacity: 0.72;
	}

	.ngz-catalog-year-nav .ngz-lotaip__year {
		flex: 0 0 auto;
	}

	/* LOTAIP: ocultar acordeón de meses en sidebar móvil */
	.ngz-lotaip__sidebar .ngz-lotaip__months {
		display: none !important;
	}

	.ngz-catalog-year-only-desktop {
		display: none !important;
	}

	/* Meses LOTAIP: segunda fila horizontal */
	.ngz-catalog-month-nav-wrap {
		position: relative;
		margin-bottom: 1rem;
		border-bottom: 2px solid var(--ngz-borde);
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.ngz-catalog-month-nav-wrap::-webkit-scrollbar {
		height: 6px;
	}

	.ngz-catalog-month-nav-wrap::-webkit-scrollbar-thumb {
		background: rgba(45, 122, 58, 0.35);
		border-radius: 999px;
	}

	.ngz-catalog-month-nav {
		display: flex;
		flex-wrap: nowrap;
		gap: 0.375rem;
		min-width: min-content;
		padding: 0 0 0.75rem;
	}

	.ngz-catalog-month-nav .ngz-lotaip__month-link {
		flex-shrink: 0;
		padding: 0.5rem 0.875rem;
		border: 1px solid var(--ngz-borde);
		border-radius: var(--ngz-radius-pill);
		background: var(--ngz-gris-f);
		font-size: 0.8125rem;
		white-space: nowrap;
	}

	.ngz-catalog-month-nav .ngz-lotaip__month-link.is-active {
		background: var(--ngz-verde);
		border-color: var(--ngz-verde);
		color: var(--ngz-blanco);
	}

	.ngz-catalog-month-nav .ngz-lotaip__month-link.is-active .ngz-lotaip__month-count {
		background: rgba(255, 255, 255, 0.2);
		color: var(--ngz-blanco);
	}
}

@media (max-width: 640px) {
	.ngz-catalog-year-nav .ngz-gaceta-tabs__tab,
	.ngz-catalog-year-nav .ngz-lotaip__year-link,
	.ngz-catalog-year-nav .ngz-lotaip__year-toggle {
		min-width: 4.25rem;
		padding: 0.5rem 0.75rem;
	}
}
