/* Ciccariello Mega Menú de Categorías — estilo Telsoft */

.ccm-megamenu {
	position: relative;
	z-index: 990;
	font-family: inherit;
}

.ccm-bar__list {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ccm-item {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
}

.ccm-item__link {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 10px;
	min-height: 52px;
	color: #fff !important;
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: 0.3px;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	transition: filter 0.15s ease;
}

.ccm-item__link:hover,
.ccm-item.ccm-open > .ccm-item__link {
	filter: brightness(1.12);
}


.ccm-item__chevron {
	flex: 0 0 auto;
	transition: transform 0.2s ease;
}

.ccm-item.ccm-open .ccm-item__chevron {
	transform: rotate(180deg);
}

/* Color de respaldo; el color real de cada ítem se configura en el panel de administración */
.ccm-item__link { background: #2c386e; }

/* ---------- Panel (mega menú) ---------- */

.ccm-panel {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #fff;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
	border-top: 1px solid #e5e7eb;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
	padding: 28px 36px 34px;
	max-height: calc(100vh - 220px);
	overflow-y: auto;
}

.ccm-item.ccm-open > .ccm-panel {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Las subcategorías se llenan en vertical: primera columna de arriba a abajo, luego la siguiente */
.ccm-panel__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 4;
	column-gap: 32px;
}

.ccm-panel__cell {
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	margin: 0 0 18px;
}

.ccm-panel__link {
	display: block;
	color: #111827 !important;
	font-size: 13.5px;
	font-weight: 500;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.45;
	transition: color 0.12s ease;
}

.ccm-panel__link:hover {
	color: #384786 !important;
}

/* ---------- Encabezado de página de categoría (estilo Telsoft) ---------- */

.ccm-catheader {
	padding: 26px 36px 24px;
	background: transparent;
}

.ccm-catheader__title {
	margin: 0 0 10px;
	color: #0d102a;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.2;
}

.ccm-breadcrumb {
	margin: 0 0 12px;
	color: #6b7280;
	font-size: 15px;
}

.ccm-breadcrumb a {
	color: #6b7280 !important;
	text-decoration: none;
}

.ccm-breadcrumb a:hover {
	color: #384786 !important;
	text-decoration: underline;
}

.ccm-breadcrumb__sep {
	margin: 0 7px;
}

@media (max-width: 992px) {
	.ccm-catheader {
		padding: 18px 18px 16px;
	}
	.ccm-catheader__title {
		font-size: 26px;
	}
}

/* ---------- Tablet ---------- */

@media (max-width: 1200px) {
	.ccm-item__link {
		font-size: 12px;
		padding: 9px 6px;
	}
	.ccm-panel__grid {
		columns: 3;
	}
}

/* ---------- Móvil: lista vertical con acordeón ---------- */

@media (max-width: 992px) {
	.ccm-bar__list {
		flex-direction: column;
	}

	.ccm-item {
		flex: none;
	}

	.ccm-item__link {
		justify-content: space-between;
		white-space: normal;
		padding: 13px 18px;
	}

	.ccm-panel {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: none;
		box-shadow: none;
		border-top: none;
		padding: 14px 18px 18px;
		max-height: none;
		background: #f3f4f8;
	}

	.ccm-item.ccm-open > .ccm-panel {
		display: block;
	}

	.ccm-panel__grid {
		columns: 1;
	}

	.ccm-panel__cell {
		margin-bottom: 10px;
	}
}
