/**
 * IECV - Cronograma mensal (front-end).
 *
 * Reproduz o layout aprovado pelo cliente: cartão arredondado, título centrado,
 * cabeçalho em ardósia escura, linhas zebradas, dia em negrito, horário em
 * cinza e nome do palestrante em verde com ícone de microfone.
 *
 * IMPORTANTE: é este arquivo que define a aparência, não o prompt. A IA nunca
 * emite style/script (o sanitizador remove) — ela só marca a estrutura com as
 * classes iecv-cronograma__*, que são exatamente as permitidas em
 * IECV_IA_Provedor::classes_permitidas(). Para mudar o visual, mexa aqui.
 *
 * @package IECV_Plugin_Administrador
 */

.iecv-cronograma-bloco,
.iecv-cronograma-historico {
	--iecv-cronograma-cor: #2c6ea8;
	--iecv-cronograma-suave: rgba(44, 110, 168, 0.1);
	--iecv-cronograma-realce: rgba(44, 110, 168, 0.04);
	--iecv-cronograma-cabecalho: #2c3e50;
	--iecv-cronograma-cabecalho-texto: #ffffff;
	--iecv-cronograma-destaque: #16a085;
	--iecv-cronograma-texto: #2b3440;
	--iecv-cronograma-texto-suave: #6b7480;
	--iecv-cronograma-borda: #e9eef4;
	--iecv-cronograma-tracejado: #d9dfe6;
	--iecv-cronograma-zebra: #f8f9fa;
	--iecv-cronograma-fundo: #ffffff;
	--iecv-cronograma-rodape-fundo: #f7fafc;
	--iecv-cronograma-rodape-texto: #7c8a99;
	--iecv-cronograma-raio: 14px;
	--iecv-cronograma-largura: 860px;
	--iecv-cronograma-espaco-x: 1.25rem;
	--iecv-cronograma-espaco-y: 0.9rem;

	box-sizing: border-box;
	width: 100%;
	max-width: var(--iecv-cronograma-largura);
	margin: 0 auto 1.75rem;
}

.iecv-cronograma-bloco *,
.iecv-cronograma-bloco *::before,
.iecv-cronograma-bloco *::after,
.iecv-cronograma-historico *,
.iecv-cronograma-historico *::before,
.iecv-cronograma-historico *::after {
	box-sizing: border-box;
}

/* Alinhamento do bloco -------------------------------------------------- */

.iecv-cronograma-bloco--centro,
.iecv-cronograma-historico--centro {
	margin-left: auto;
	margin-right: auto;
}

.iecv-cronograma-bloco--esquerda,
.iecv-cronograma-historico--esquerda {
	margin-left: 0;
	margin-right: auto;
}

.iecv-cronograma-bloco--direita,
.iecv-cronograma-historico--direita {
	margin-left: auto;
	margin-right: 0;
}

/* Cabeçalho opcional do bloco ------------------------------------------- */

.iecv-cronograma-bloco__cabecalho {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 0.85rem;
}

.iecv-cronograma-bloco__titulo {
	margin: 0;
	color: var(--iecv-cronograma-texto);
	font-size: 1.35rem;
	line-height: 1.3;
}

.iecv-cronograma-bloco__competencia {
	color: var(--iecv-cronograma-cor);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Cartão gerado pela IA -------------------------------------------------- */

.iecv-cronograma-bloco .iecv-cronograma {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	background: var(--iecv-cronograma-fundo);
	border: 1px solid var(--iecv-cronograma-borda);
	border-radius: var(--iecv-cronograma-raio);
	box-shadow: 0 12px 34px rgba(21, 46, 74, 0.09);
}

.iecv-cronograma-bloco .iecv-cronograma__titulo {
	margin: 0;
	padding: 1.1rem var(--iecv-cronograma-espaco-x);
	border-bottom: 1px solid var(--iecv-cronograma-borda);
	color: var(--iecv-cronograma-texto);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
}

/* Reset defensivo contra estilos de tabela do tema / Elementor ---------- */

.iecv-cronograma-bloco .iecv-cronograma__tabela {
	width: 100%;
	min-width: 520px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 0.98rem;
	line-height: 1.45;
}

.iecv-cronograma-bloco .iecv-cronograma__tabela th,
.iecv-cronograma-bloco .iecv-cronograma__tabela td {
	border: 0;
	background: transparent;
	vertical-align: top;
	text-align: left;
	padding: var(--iecv-cronograma-espaco-y) var(--iecv-cronograma-espaco-x);
	color: var(--iecv-cronograma-texto);
	overflow-wrap: break-word;
}

/* Cabeçalho da tabela ---------------------------------------------------- */

.iecv-cronograma-bloco .iecv-cronograma__tabela thead th {
	padding-top: 1.15rem;
	padding-bottom: 1.15rem;
	background: var(--iecv-cronograma-cabecalho);
	color: var(--iecv-cronograma-cabecalho-texto);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	vertical-align: middle;
	white-space: nowrap;
}

/* Corpo ------------------------------------------------------------------ */

.iecv-cronograma-bloco .iecv-cronograma__tabela tbody tr + tr > th,
.iecv-cronograma-bloco .iecv-cronograma__tabela tbody tr + tr > td {
	border-top: 1px solid var(--iecv-cronograma-borda);
}

/* Zebrado: alterna o fundo das linhas de dados. */
.iecv-cronograma-bloco .iecv-cronograma__tabela tbody tr:nth-child(even) > td {
	background: var(--iecv-cronograma-zebra);
}

/* Depois do zebrado, para o hover vencer no empate de especificidade. */
.iecv-cronograma-bloco .iecv-cronograma__tabela tbody tr:hover > td {
	background: var(--iecv-cronograma-realce);
}

/* Colunas de dia e horário ------------------------------------------------ */

.iecv-cronograma-bloco .iecv-cronograma__dia {
	color: var(--iecv-cronograma-texto);
	font-weight: 700;
	white-space: nowrap;
}

.iecv-cronograma-bloco .iecv-cronograma__hora {
	color: var(--iecv-cronograma-texto-suave);
	white-space: nowrap;
}

/* Blocos de tema + palestrante -------------------------------------------- */

.iecv-cronograma-bloco .iecv-cronograma__evento + .iecv-cronograma__evento {
	margin-top: 0.95rem;
	padding-top: 0.95rem;
	border-top: 1px dashed var(--iecv-cronograma-tracejado);
}

.iecv-cronograma-bloco .iecv-cronograma__tema {
	margin: 0;
	color: var(--iecv-cronograma-texto);
	font-size: 0.98rem;
	line-height: 1.5;
}

.iecv-cronograma-bloco .iecv-cronograma__palestrante {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0.4rem 0 0;
	color: var(--iecv-cronograma-destaque);
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.4;
}

/**
 * Ícone de microfone antes do nome.
 *
 * A IA nunca emite SVG (não está na allowlist do sanitizador), então o ícone é
 * desenhado aqui. Usa background-image em vez de mask para não depender de
 * suporte a máscara CSS — a cor cinza já vem embutida no SVG.
 */
.iecv-cronograma-bloco .iecv-cronograma__palestrante::before {
	content: "";
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23909aa5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z'/%3E%3Cpath d='M19 10v2a7 7 0 0 1-14 0v-2'/%3E%3Cpath d='M12 19v4M8 23h8'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Linha de agrupamento (semana, bloco de eventos...) --------------------- */

.iecv-cronograma-bloco .iecv-cronograma__grupo > th {
	background: var(--iecv-cronograma-suave);
	color: var(--iecv-cronograma-cor);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
}

.iecv-cronograma-bloco .iecv-cronograma__grupo:hover > th {
	background: var(--iecv-cronograma-suave);
}

/* Linha destacada -------------------------------------------------------- */

.iecv-cronograma-bloco .iecv-cronograma__destaque > td {
	background: var(--iecv-cronograma-realce);
	font-weight: 600;
	box-shadow: inset 3px 0 0 var(--iecv-cronograma-cor);
}

/* Nota e listas ---------------------------------------------------------- */

.iecv-cronograma-bloco .iecv-cronograma__nota {
	margin: 0;
	padding: var(--iecv-cronograma-espaco-y) var(--iecv-cronograma-espaco-x);
	background: var(--iecv-cronograma-rodape-fundo);
	border-top: 1px solid var(--iecv-cronograma-borda);
	color: var(--iecv-cronograma-rodape-texto);
	font-size: 0.86rem;
	line-height: 1.55;
}

.iecv-cronograma-bloco .iecv-cronograma__lista {
	margin: 0;
	padding: var(--iecv-cronograma-espaco-y) var(--iecv-cronograma-espaco-x) var(--iecv-cronograma-espaco-y) 2.4rem;
	background: var(--iecv-cronograma-rodape-fundo);
	border-top: 1px solid var(--iecv-cronograma-borda);
	color: var(--iecv-cronograma-rodape-texto);
	font-size: 0.88rem;
	list-style: disc;
}

.iecv-cronograma-bloco .iecv-cronograma__item {
	margin: 0.2rem 0;
	line-height: 1.55;
}

.iecv-cronograma-bloco .iecv-cronograma a {
	color: var(--iecv-cronograma-cor);
	text-decoration: underline;
}

/* Histórico -------------------------------------------------------------- */

.iecv-cronograma-historico__titulo {
	margin: 0 0 0.85rem;
	color: var(--iecv-cronograma-texto);
	font-size: 1.1rem;
	line-height: 1.3;
}

.iecv-cronograma-historico__lista {
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--iecv-cronograma-fundo);
	border: 1px solid var(--iecv-cronograma-borda);
	border-radius: var(--iecv-cronograma-raio);
	overflow: hidden;
	box-shadow: 0 12px 34px rgba(21, 46, 74, 0.07);
}

.iecv-cronograma-historico__item + .iecv-cronograma-historico__item {
	border-top: 1px solid var(--iecv-cronograma-borda);
}

.iecv-cronograma-historico__link {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 1rem;
	align-items: baseline;
	padding: 0.85rem var(--iecv-cronograma-espaco-x);
	color: var(--iecv-cronograma-texto);
	text-decoration: none;
	transition: background 0.15s ease;
}

.iecv-cronograma-historico__link:hover,
.iecv-cronograma-historico__link:focus {
	background: var(--iecv-cronograma-realce);
	color: var(--iecv-cronograma-cor);
}

.iecv-cronograma-historico__mes {
	flex: 0 0 auto;
	min-width: 9rem;
	color: var(--iecv-cronograma-cor);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.iecv-cronograma-historico__rotulo {
	flex: 1 1 12rem;
	font-size: 0.96rem;
}

/* Responsivo -------------------------------------------------------------- */

@media (max-width: 600px) {
	.iecv-cronograma-bloco,
	.iecv-cronograma-historico {
		--iecv-cronograma-espaco-x: 0.9rem;
		--iecv-cronograma-espaco-y: 0.75rem;
	}

	.iecv-cronograma-bloco__titulo {
		font-size: 1.15rem;
	}

	.iecv-cronograma-bloco .iecv-cronograma__tabela {
		font-size: 0.9rem;
	}

	.iecv-cronograma-bloco .iecv-cronograma__tabela thead th {
		padding-top: 0.9rem;
		padding-bottom: 0.9rem;
		font-size: 0.85rem;
	}

	.iecv-cronograma-bloco .iecv-cronograma__tema {
		font-size: 0.92rem;
	}

	.iecv-cronograma-bloco .iecv-cronograma__palestrante {
		font-size: 0.86rem;
	}

	.iecv-cronograma-historico__mes {
		min-width: 0;
		flex-basis: 100%;
	}
}

/* Impressão --------------------------------------------------------------- */

@media print {
	.iecv-cronograma-bloco .iecv-cronograma {
		overflow: visible;
		box-shadow: none;
	}

	.iecv-cronograma-bloco .iecv-cronograma__tabela {
		min-width: 0;
	}

	.iecv-cronograma-bloco .iecv-cronograma__tabela thead th {
		background: #eef1f4 !important;
		color: #22303d !important;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	.iecv-cronograma-bloco .iecv-cronograma__tabela tbody tr:nth-child(even) > td {
		background: transparent;
	}

	.iecv-cronograma-bloco .iecv-cronograma__palestrante {
		color: #1d5f52 !important;
	}
}
